]> Git Repo - linux.git/blobdiff - drivers/platform/x86/intel_pmc_core.c
net: dsa: sja1105: Implement state machine for TAS with PTP clock source
[linux.git] / drivers / platform / x86 / intel_pmc_core.c
index c510d0d724759c77c81bda4319f138c60e80c875..94a008efb09b8a5614f4cd40fc20d50fc2d8ae40 100644 (file)
@@ -806,12 +806,12 @@ static inline void pmc_core_dbgfs_unregister(struct pmc_dev *pmcdev)
 #endif /* CONFIG_DEBUG_FS */
 
 static const struct x86_cpu_id intel_pmc_core_ids[] = {
-       INTEL_CPU_FAM6(SKYLAKE_MOBILE, spt_reg_map),
-       INTEL_CPU_FAM6(SKYLAKE_DESKTOP, spt_reg_map),
-       INTEL_CPU_FAM6(KABYLAKE_MOBILE, spt_reg_map),
-       INTEL_CPU_FAM6(KABYLAKE_DESKTOP, spt_reg_map),
-       INTEL_CPU_FAM6(CANNONLAKE_MOBILE, cnp_reg_map),
-       INTEL_CPU_FAM6(ICELAKE_MOBILE, icl_reg_map),
+       INTEL_CPU_FAM6(SKYLAKE_L, spt_reg_map),
+       INTEL_CPU_FAM6(SKYLAKE, spt_reg_map),
+       INTEL_CPU_FAM6(KABYLAKE_L, spt_reg_map),
+       INTEL_CPU_FAM6(KABYLAKE, spt_reg_map),
+       INTEL_CPU_FAM6(CANNONLAKE_L, cnp_reg_map),
+       INTEL_CPU_FAM6(ICELAKE_L, icl_reg_map),
        INTEL_CPU_FAM6(ICELAKE_NNPI, icl_reg_map),
        {}
 };
@@ -878,10 +878,14 @@ static int pmc_core_probe(struct platform_device *pdev)
        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))
+       if (lpit_read_residency_count_address(&slp_s0_addr)) {
                pmcdev->base_addr = PMC_BASE_ADDR_DEFAULT;
-       else
+
+               if (page_is_ram(PHYS_PFN(pmcdev->base_addr)))
+                       return -ENODEV;
+       } else {
                pmcdev->base_addr = slp_s0_addr - pmcdev->map->slp_s0_offset;
+       }
 
        pmcdev->regbase = ioremap(pmcdev->base_addr,
                                  pmcdev->map->regmap_length);
This page took 0.029006 seconds and 4 git commands to generate.