Message ID | 20240221211204.515159-2-david.e.box@linux.intel.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | [1/3] platform/x86/intel/vsec: Remove nuisance message | expand |
On 2/21/24 1:12 PM, David E. Box wrote: > A recent PMC firmware change in Lunar Lake caused the pmc_core driver to > fail to probe. This is due to a change in the GUID for PMC telemetry > coming from the SSRAM device. We are told the current update may change > again before a final release so we can't upstream a fix just yet. In the > meantime, remove SSRAM support for Lunar Lake so the driver can load and > provide some basic functionality. I would remove usage of "We" and just comment that that the value is expected to change again. So disable the support till it is finalized. > > Fixes: 3748dfdae2a6 ("platform/x86/intel/pmc: Add Lunar Lake M support to intel_pmc_core driver") > Signed-off-by: David E. Box <david.e.box@linux.intel.com> > --- Change looks fine to me. Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> > drivers/platform/x86/intel/pmc/lnl.c | 38 +++------------------------- > 1 file changed, 4 insertions(+), 34 deletions(-) > > diff --git a/drivers/platform/x86/intel/pmc/lnl.c b/drivers/platform/x86/intel/pmc/lnl.c > index abad17cdd3d7..068d72504683 100644 > --- a/drivers/platform/x86/intel/pmc/lnl.c > +++ b/drivers/platform/x86/intel/pmc/lnl.c > @@ -13,21 +13,6 @@ > > #include "core.h" > > -#define SOCM_LPM_REQ_GUID 0x11594920 > - > -#define PMC_DEVID_SOCM 0xa87f > - > -static const u8 LNL_LPM_REG_INDEX[] = {0, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20}; > - > -static struct pmc_info lnl_pmc_info_list[] = { > - { > - .guid = SOCM_LPM_REQ_GUID, > - .devid = PMC_DEVID_SOCM, > - .map = &lnl_socm_reg_map, > - }, > - {} > -}; > - > const struct pmc_bit_map lnl_ltr_show_map[] = { > {"SOUTHPORT_A", CNP_PMC_LTR_SPA}, > {"SOUTHPORT_B", CNP_PMC_LTR_SPB}, > @@ -490,7 +475,6 @@ const struct pmc_reg_map lnl_socm_reg_map = { > .lpm_sts = lnl_lpm_maps, > .lpm_status_offset = MTL_LPM_STATUS_OFFSET, > .lpm_live_status_offset = MTL_LPM_LIVE_STATUS_OFFSET, > - .lpm_reg_index = LNL_LPM_REG_INDEX, > }; > > #define LNL_NPU_PCI_DEV 0x643e > @@ -517,33 +501,19 @@ static int lnl_resume(struct pmc_dev *pmcdev) > int lnl_core_init(struct pmc_dev *pmcdev) > { > int ret; > - int func = 2; > - bool ssram_init = true; > struct pmc *pmc = pmcdev->pmcs[PMC_IDX_SOC]; > > lnl_d3_fixup(); > > pmcdev->suspend = cnl_suspend; > pmcdev->resume = lnl_resume; > - pmcdev->regmap_list = lnl_pmc_info_list; > - ret = pmc_core_ssram_init(pmcdev, func); > > - /* If regbase not assigned, set map and discover using legacy method */ > - if (ret) { > - ssram_init = false; > - pmc->map = &lnl_socm_reg_map; > - ret = get_primary_reg_base(pmc); > - if (ret) > - return ret; > - } > + pmc->map = &lnl_socm_reg_map; > + ret = get_primary_reg_base(pmc); > + if (ret) > + return ret; > > pmc_core_get_low_power_modes(pmcdev); > > - if (ssram_init) { > - ret = pmc_core_ssram_get_lpm_reqs(pmcdev); > - if (ret) > - return ret; > - } > - > return 0; > }
On Wed, 21 Feb 2024, David E. Box wrote: > A recent PMC firmware change in Lunar Lake caused the pmc_core driver to > fail to probe. This is due to a change in the GUID for PMC telemetry > coming from the SSRAM device. We are told the current update may change > again before a final release so we can't upstream a fix just yet. In the > meantime, remove SSRAM support for Lunar Lake so the driver can load and > provide some basic functionality. > > Fixes: 3748dfdae2a6 ("platform/x86/intel/pmc: Add Lunar Lake M support to intel_pmc_core driver") > Signed-off-by: David E. Box <david.e.box@linux.intel.com> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
diff --git a/drivers/platform/x86/intel/pmc/lnl.c b/drivers/platform/x86/intel/pmc/lnl.c index abad17cdd3d7..068d72504683 100644 --- a/drivers/platform/x86/intel/pmc/lnl.c +++ b/drivers/platform/x86/intel/pmc/lnl.c @@ -13,21 +13,6 @@ #include "core.h" -#define SOCM_LPM_REQ_GUID 0x11594920 - -#define PMC_DEVID_SOCM 0xa87f - -static const u8 LNL_LPM_REG_INDEX[] = {0, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20}; - -static struct pmc_info lnl_pmc_info_list[] = { - { - .guid = SOCM_LPM_REQ_GUID, - .devid = PMC_DEVID_SOCM, - .map = &lnl_socm_reg_map, - }, - {} -}; - const struct pmc_bit_map lnl_ltr_show_map[] = { {"SOUTHPORT_A", CNP_PMC_LTR_SPA}, {"SOUTHPORT_B", CNP_PMC_LTR_SPB}, @@ -490,7 +475,6 @@ const struct pmc_reg_map lnl_socm_reg_map = { .lpm_sts = lnl_lpm_maps, .lpm_status_offset = MTL_LPM_STATUS_OFFSET, .lpm_live_status_offset = MTL_LPM_LIVE_STATUS_OFFSET, - .lpm_reg_index = LNL_LPM_REG_INDEX, }; #define LNL_NPU_PCI_DEV 0x643e @@ -517,33 +501,19 @@ static int lnl_resume(struct pmc_dev *pmcdev) int lnl_core_init(struct pmc_dev *pmcdev) { int ret; - int func = 2; - bool ssram_init = true; struct pmc *pmc = pmcdev->pmcs[PMC_IDX_SOC]; lnl_d3_fixup(); pmcdev->suspend = cnl_suspend; pmcdev->resume = lnl_resume; - pmcdev->regmap_list = lnl_pmc_info_list; - ret = pmc_core_ssram_init(pmcdev, func); - /* If regbase not assigned, set map and discover using legacy method */ - if (ret) { - ssram_init = false; - pmc->map = &lnl_socm_reg_map; - ret = get_primary_reg_base(pmc); - if (ret) - return ret; - } + pmc->map = &lnl_socm_reg_map; + ret = get_primary_reg_base(pmc); + if (ret) + return ret; pmc_core_get_low_power_modes(pmcdev); - if (ssram_init) { - ret = pmc_core_ssram_get_lpm_reqs(pmcdev); - if (ret) - return ret; - } - return 0; }
A recent PMC firmware change in Lunar Lake caused the pmc_core driver to fail to probe. This is due to a change in the GUID for PMC telemetry coming from the SSRAM device. We are told the current update may change again before a final release so we can't upstream a fix just yet. In the meantime, remove SSRAM support for Lunar Lake so the driver can load and provide some basic functionality. Fixes: 3748dfdae2a6 ("platform/x86/intel/pmc: Add Lunar Lake M support to intel_pmc_core driver") Signed-off-by: David E. Box <david.e.box@linux.intel.com> --- drivers/platform/x86/intel/pmc/lnl.c | 38 +++------------------------- 1 file changed, 4 insertions(+), 34 deletions(-)