Skip to content

Commit 63e9a83

Browse files
author
CKI KWF Bot
committed
Merge: platform/x86/intel/pmc: Fix Arrow Lake U/H NPU PCI ID
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/7284 JIRA: https://issues.redhat.com/browse/RHEL-23894 commit f2eae58 Author: Todd Brandt <todd.e.brandt@intel.com> Date: Tue May 20 03:45:55 2025 -0700 platform/x86/intel/pmc: Fix Arrow Lake U/H NPU PCI ID The ARL requires that the GMA and NPU devices both be in D3Hot in order for PC10 and S0iX to be achieved in S2idle. The original ARL-H/U addition to the intel_pmc_core driver attempted to do this by switching them to D3 in the init and resume calls of the intel_pmc_core driver. The problem is the ARL-H/U have a different NPU device and thus are not being properly set and thus S0iX does not work properly in ARL-H/U. This patch creates a new ARL-H specific device id that is correct and also adds the D3 fixup to the suspend callback. This way if the PCI devies drop from D3 to D0 after resume they can be corrected for the next suspend. Thus there is no dropout in S0iX. Fixes: bd82090 ("platform/x86/intel/pmc: Add Arrow Lake U/H support to intel_pmc_core driver") Signed-off-by: Todd Brandt <todd.e.brandt@intel.com> Link: https://lore.kernel.org/r/a61f78be45c13f39e122dcc684b636f4b21e79a0.1747737446.git.todd.e.brandt@intel.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: David Arcari <darcari@redhat.com> Approved-by: Steve Best <sbest@redhat.com> Approved-by: Lenny Szubowicz <lszubowi@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2 parents d8db9e1 + 6970935 commit 63e9a83

File tree

1 file changed

+2
-1
lines changed
  • drivers/platform/x86/intel/pmc

1 file changed

+2
-1
lines changed

drivers/platform/x86/intel/pmc/arl.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,7 @@ static struct pmc_info arl_pmc_info_list[] = {
681681

682682
#define ARL_NPU_PCI_DEV 0xad1d
683683
#define ARL_GNA_PCI_DEV 0xae4c
684+
#define ARL_H_NPU_PCI_DEV 0x7d1d
684685
#define ARL_H_GNA_PCI_DEV 0x774c
685686
/*
686687
* Set power state of select devices that do not have drivers to D3
@@ -694,7 +695,7 @@ static void arl_d3_fixup(void)
694695

695696
static void arl_h_d3_fixup(void)
696697
{
697-
pmc_core_set_device_d3(ARL_NPU_PCI_DEV);
698+
pmc_core_set_device_d3(ARL_H_NPU_PCI_DEV);
698699
pmc_core_set_device_d3(ARL_H_GNA_PCI_DEV);
699700
}
700701

0 commit comments

Comments
 (0)