spi: intel: Fix device private data and PR_NUM for Broxton controllers
authorMauro Lima <mauro.lima@eclypsium.com>
Wed, 1 Feb 2023 20:54:54 +0000 (17:54 -0300)
committerMark Brown <broonie@kernel.org>
Thu, 2 Feb 2023 11:42:29 +0000 (11:42 +0000)
Some private data fields have to change from bxt_info to cnl_info.
Here is the list of Device IDs with the respective documentation taken for
validation:
    0xa0a4 - Intel® 500 Series Chipset Family On-Package PCH
    0x02a4 - Intel® 400 Series Chipset Family On-Package PCH
    0x06a4 - Intel® 400 Series Chipset Family Platform Controller Hub
    0x34a4 - Intel® 495 Chipset Family On-Package
    0xa3a4 - Intel® B460 and H410 Chipset

According to documentation Broxton controller type has five PR registers.

Signed-off-by: Mauro Lima <mauro.lima@eclypsium.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Link: https://lore.kernel.org/r/20230201205455.550308-2-mauro.lima@eclypsium.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-intel-pci.c
drivers/spi/spi-intel.c

index f0d532ea40e82df79d258d6d2b5b25f9c8b7e41b..10fa3a7fa4f5d84ad2dd3a689020e460c39344c7 100644 (file)
@@ -60,12 +60,12 @@ static int intel_spi_pci_probe(struct pci_dev *pdev,
 }
 
 static const struct pci_device_id intel_spi_pci_ids[] = {
-       { PCI_VDEVICE(INTEL, 0x02a4), (unsigned long)&bxt_info },
-       { PCI_VDEVICE(INTEL, 0x06a4), (unsigned long)&bxt_info },
+       { PCI_VDEVICE(INTEL, 0x02a4), (unsigned long)&cnl_info },
+       { PCI_VDEVICE(INTEL, 0x06a4), (unsigned long)&cnl_info },
        { PCI_VDEVICE(INTEL, 0x18e0), (unsigned long)&bxt_info },
        { PCI_VDEVICE(INTEL, 0x19e0), (unsigned long)&bxt_info },
        { PCI_VDEVICE(INTEL, 0x1bca), (unsigned long)&bxt_info },
-       { PCI_VDEVICE(INTEL, 0x34a4), (unsigned long)&bxt_info },
+       { PCI_VDEVICE(INTEL, 0x34a4), (unsigned long)&cnl_info },
        { PCI_VDEVICE(INTEL, 0x38a4), (unsigned long)&bxt_info },
        { PCI_VDEVICE(INTEL, 0x43a4), (unsigned long)&cnl_info },
        { PCI_VDEVICE(INTEL, 0x4b24), (unsigned long)&bxt_info },
@@ -75,11 +75,11 @@ static const struct pci_device_id intel_spi_pci_ids[] = {
        { PCI_VDEVICE(INTEL, 0x7a24), (unsigned long)&cnl_info },
        { PCI_VDEVICE(INTEL, 0x7aa4), (unsigned long)&cnl_info },
        { PCI_VDEVICE(INTEL, 0x7e23), (unsigned long)&cnl_info },
-       { PCI_VDEVICE(INTEL, 0xa0a4), (unsigned long)&bxt_info },
+       { PCI_VDEVICE(INTEL, 0xa0a4), (unsigned long)&cnl_info },
        { PCI_VDEVICE(INTEL, 0xa1a4), (unsigned long)&bxt_info },
        { PCI_VDEVICE(INTEL, 0xa224), (unsigned long)&bxt_info },
        { PCI_VDEVICE(INTEL, 0xa324), (unsigned long)&cnl_info },
-       { PCI_VDEVICE(INTEL, 0xa3a4), (unsigned long)&bxt_info },
+       { PCI_VDEVICE(INTEL, 0xa3a4), (unsigned long)&cnl_info },
        { },
 };
 MODULE_DEVICE_TABLE(pci, intel_spi_pci_ids);
index f619212b0d5c377f706d14052a4224dd11f4198c..1052fb4b7973ef1bdd26a902ed4d42a070abb497 100644 (file)
 #define BXT_PR                         0x84
 #define BXT_SSFSTS_CTL                 0xa0
 #define BXT_FREG_NUM                   12
-#define BXT_PR_NUM                     6
+#define BXT_PR_NUM                     5
 
 #define CNL_PR                         0x84
 #define CNL_FREG_NUM                   6