Message ID | 20240227125520.3153140-2-Shyam-sundar.S-k@amd.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | platform/x86/amd/pmf: Updates to amd-pmf driver | expand |
Hi, On 2/27/24 4:55 AM, Shyam Sundar S K wrote: > For family 1AH, certain PMF features have been enhanced - leading to a > newer APMF (AMD PMF) spec (BIOS and PMF driver interface) called v2. > > This information would be fed into the if_version field of the > verify_interface method of the APMF call from the BIOS. > > Use this information to store the version number to differentiate > between v1 or v2 and also store the information into the PMF private > data structure, as this information would be required for further code > branching to support the latest silicon. > > Co-developed-by: Patil Rajesh Reddy <Patil.Reddy@amd.com> > Signed-off-by: Patil Rajesh Reddy <Patil.Reddy@amd.com> > Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> > --- Looks good to me. Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> > drivers/platform/x86/amd/pmf/acpi.c | 6 ++++-- > drivers/platform/x86/amd/pmf/pmf.h | 1 + > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/platform/x86/amd/pmf/acpi.c b/drivers/platform/x86/amd/pmf/acpi.c > index f2eb07ef855a..1f287a147c57 100644 > --- a/drivers/platform/x86/amd/pmf/acpi.c > +++ b/drivers/platform/x86/amd/pmf/acpi.c > @@ -218,8 +218,10 @@ static int apmf_if_verify_interface(struct amd_pmf_dev *pdev) > return err; > > pdev->supported_func = output.supported_functions; > - dev_dbg(pdev->dev, "supported functions:0x%x notifications:0x%x\n", > - output.supported_functions, output.notification_mask); > + dev_dbg(pdev->dev, "supported functions:0x%x notifications:0x%x version:%u\n", > + output.supported_functions, output.notification_mask, output.version); > + > + pdev->pmf_if_version = output.version; > > return 0; > } > diff --git a/drivers/platform/x86/amd/pmf/pmf.h b/drivers/platform/x86/amd/pmf/pmf.h > index 66cae1cca73c..e51ac981af73 100644 > --- a/drivers/platform/x86/amd/pmf/pmf.h > +++ b/drivers/platform/x86/amd/pmf/pmf.h > @@ -231,6 +231,7 @@ struct amd_pmf_dev { > u64 policy_addr; > void *policy_base; > bool smart_pc_enabled; > + u16 pmf_if_version; > }; > > struct apmf_sps_prop_granular {
diff --git a/drivers/platform/x86/amd/pmf/acpi.c b/drivers/platform/x86/amd/pmf/acpi.c index f2eb07ef855a..1f287a147c57 100644 --- a/drivers/platform/x86/amd/pmf/acpi.c +++ b/drivers/platform/x86/amd/pmf/acpi.c @@ -218,8 +218,10 @@ static int apmf_if_verify_interface(struct amd_pmf_dev *pdev) return err; pdev->supported_func = output.supported_functions; - dev_dbg(pdev->dev, "supported functions:0x%x notifications:0x%x\n", - output.supported_functions, output.notification_mask); + dev_dbg(pdev->dev, "supported functions:0x%x notifications:0x%x version:%u\n", + output.supported_functions, output.notification_mask, output.version); + + pdev->pmf_if_version = output.version; return 0; } diff --git a/drivers/platform/x86/amd/pmf/pmf.h b/drivers/platform/x86/amd/pmf/pmf.h index 66cae1cca73c..e51ac981af73 100644 --- a/drivers/platform/x86/amd/pmf/pmf.h +++ b/drivers/platform/x86/amd/pmf/pmf.h @@ -231,6 +231,7 @@ struct amd_pmf_dev { u64 policy_addr; void *policy_base; bool smart_pc_enabled; + u16 pmf_if_version; }; struct apmf_sps_prop_granular {