Patch "Watchdog: sp5100_tco: Enable Family 17h+ CPUs" has been added to the 5.17-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    Watchdog: sp5100_tco: Enable Family 17h+ CPUs

to the 5.17-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     watchdog-sp5100_tco-enable-family-17h-cpus.patch
and it can be found in the queue-5.17 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From 826270373f17fd8ebd10753ca0a5fd2ceb1dc38e Mon Sep 17 00:00:00 2001
From: Terry Bowman <terry.bowman@xxxxxxx>
Date: Wed, 2 Feb 2022 09:35:25 -0600
Subject: Watchdog: sp5100_tco: Enable Family 17h+ CPUs

From: Terry Bowman <terry.bowman@xxxxxxx>

commit 826270373f17fd8ebd10753ca0a5fd2ceb1dc38e upstream.

The driver currently uses a CPU family match of 17h to determine
EFCH_PM_DECODEEN_WDT_TMREN register support. This family check will not
support future AMD CPUs and instead will require driver updates to add
support.

Remove the family 17h family check and add a check for SMBus PCI
revision ID 0x51 or greater. The MMIO access method has been available
since at least SMBus controllers using PCI revision 0x51. This revision
check will support family 17h and future AMD processors including EFCH
functionality without requiring driver changes.

Co-developed-by: Robert Richter <rrichter@xxxxxxx>
Signed-off-by: Robert Richter <rrichter@xxxxxxx>
Signed-off-by: Terry Bowman <terry.bowman@xxxxxxx>
Tested-by: Jean Delvare <jdelvare@xxxxxxx>
Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20220202153525.1693378-5-terry.bowman@xxxxxxx
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxxxxxxxxxxx>
Cc: Mario Limonciello <Mario.Limonciello@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 drivers/watchdog/sp5100_tco.c |   16 ++++------------
 drivers/watchdog/sp5100_tco.h |    1 +
 2 files changed, 5 insertions(+), 12 deletions(-)

--- a/drivers/watchdog/sp5100_tco.c
+++ b/drivers/watchdog/sp5100_tco.c
@@ -87,6 +87,10 @@ static enum tco_reg_layout tco_reg_layou
 	    dev->revision < 0x40) {
 		return sp5100;
 	} else if (dev->vendor == PCI_VENDOR_ID_AMD &&
+	    sp5100_tco_pci->device == PCI_DEVICE_ID_AMD_KERNCZ_SMBUS &&
+	    sp5100_tco_pci->revision >= AMD_ZEN_SMBUS_PCI_REV) {
+		return efch_mmio;
+	} else if (dev->vendor == PCI_VENDOR_ID_AMD &&
 	    ((dev->device == PCI_DEVICE_ID_AMD_HUDSON2_SMBUS &&
 	     dev->revision >= 0x41) ||
 	    (dev->device == PCI_DEVICE_ID_AMD_KERNCZ_SMBUS &&
@@ -459,18 +463,6 @@ static int sp5100_tco_setupdevice(struct
 		break;
 	case efch:
 		dev_name = SB800_DEVNAME;
-		/*
-		 * On Family 17h devices, the EFCH_PM_DECODEEN_WDT_TMREN bit of
-		 * EFCH_PM_DECODEEN not only enables the EFCH_PM_WDT_ADDR memory
-		 * region, it also enables the watchdog itself.
-		 */
-		if (boot_cpu_data.x86 == 0x17) {
-			val = sp5100_tco_read_pm_reg8(EFCH_PM_DECODEEN);
-			if (!(val & EFCH_PM_DECODEEN_WDT_TMREN)) {
-				sp5100_tco_update_pm_reg8(EFCH_PM_DECODEEN, 0xff,
-							  EFCH_PM_DECODEEN_WDT_TMREN);
-			}
-		}
 		val = sp5100_tco_read_pm_reg8(EFCH_PM_DECODEEN);
 		if (val & EFCH_PM_DECODEEN_WDT_TMREN)
 			mmio_addr = EFCH_PM_WDT_ADDR;
--- a/drivers/watchdog/sp5100_tco.h
+++ b/drivers/watchdog/sp5100_tco.h
@@ -89,3 +89,4 @@
 #define EFCH_PM_ACPI_MMIO_PM_ADDR	(EFCH_PM_ACPI_MMIO_ADDR +	\
 					 EFCH_PM_ACPI_MMIO_PM_OFFSET)
 #define EFCH_PM_ACPI_MMIO_PM_SIZE	8
+#define AMD_ZEN_SMBUS_PCI_REV		0x51


Patches currently in stable-queue which might be from terry.bowman@xxxxxxx are

queue-5.17/watchdog-sp5100_tco-add-initialization-using-efch-mmio.patch
queue-5.17/i2c-piix4-add-efch-mmio-support-to-region-request-and-release.patch
queue-5.17/i2c-piix4-move-smbus-port-selection-into-function.patch
queue-5.17/i2c-piix4-add-efch-mmio-support-to-smbus-base-address-detect.patch
queue-5.17/i2c-piix4-move-port-i-o-region-request-release-code-into-functions.patch
queue-5.17/i2c-piix4-replace-hardcoded-memory-map-size-with-a-define.patch
queue-5.17/kernel-resource-introduce-request_mem_region_muxed.patch
queue-5.17/i2c-piix4-enable-efch-mmio-for-family-17h.patch
queue-5.17/watchdog-sp5100_tco-enable-family-17h-cpus.patch
queue-5.17/watchdog-sp5100_tco-move-timer-initialization-into-function.patch
queue-5.17/i2c-piix4-add-efch-mmio-support-for-smbus-port-select.patch
queue-5.17/watchdog-sp5100_tco-refactor-mmio-base-address-initialization.patch
queue-5.17/i2c-piix4-move-smbus-controller-base-address-detect-into-function.patch



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux