platform/x86: intel_pmc_core: Handle CFL regmap properly
authorRajneesh Bhardwaj <rajneesh.bhardwaj@linux.intel.com>
Fri, 1 Feb 2019 07:32:25 +0000 (13:02 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 May 2019 05:22:58 +0000 (07:22 +0200)
commit e50af8332785355de3cb40d9f5e8c45dbfc86f53 upstream.

Only Coffeelake should use Cannonlake regmap other than Cannonlake
platform. This allows Coffeelake special handling only when there is no
matching PCI device and default reg map selected as per CPUID is for
Sunrisepoint PCH. This change is needed to enable support for newer SoCs
such as Icelake.

Cc: "David E. Box" <david.e.box@intel.com>
Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Fixes: 661405bd817b ("platform/x86: intel_pmc_core: Special case for Coffeelake")
Acked-by: "David E. Box" <david.e.box@linux.intel.com>
Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/platform/x86/intel_pmc_core.c

index af6f7aece2e7917bcc3196dad42c8a42cbd393ae..e88e183914af19bbe1027f49e861ccc7d23465c3 100644 (file)
@@ -802,7 +802,7 @@ static int __init pmc_core_probe(void)
         * Sunrisepoint PCH regmap can't be used. Use Cannonlake PCH regmap
         * in this case.
         */
-       if (!pci_dev_present(pmc_pci_ids))
+       if (pmcdev->map == &spt_reg_map && !pci_dev_present(pmc_pci_ids))
                pmcdev->map = &cnp_reg_map;
 
        if (lpit_read_residency_count_address(&slp_s0_addr))