linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Watchdog: sp5100_tco: Replace watchdog cd6h/cd7h port I/O accesses with MMIO accesses
@ 2021-11-03 16:15 Terry Bowman
  2021-11-03 16:15 ` [PATCH v2 1/4] Watchdog: sp5100_tco: Move timer initialization into function Terry Bowman
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Terry Bowman @ 2021-11-03 16:15 UTC (permalink / raw)
  To: linux-watchdog
  Cc: terry.bowman, rrichter, linux-kernel, wim, linux,
	ssg.sos.patches, sudheesh.mavila

Use MMIO instead of cd6h/cd7h port I/O during EFCH watchdog initialization.
EFCH cd6h/cd7h PIO can be disabled and the recommended workaround is to use
MMIO. As a result MMIO will be used for EFCH SMBus controller address
discovery and starting the EFCH watchdog timer.

Update EFCH detection to support future AMD processors. This will support
new AMD processors without requiring driver modifications.

Patch details:

The first patch refactors watchdog timer initialization into a separate
function. This is needed for future patches. New functional changes are
not added.

The second patch splits out existing memory reservation and address
mapping into new functions. New functional changes are not added.

The third patch introduces EFCH initialization using MMIO. This is
required because cd6h/cd7h port I/O can be disabled on recent AMD hardware.

The fourth patch adds SMBus controller PCI ID check to enable EFCH MMIO
initialization. This eliminates the need for driver updates to support
future processors supporting the same EFCH functionality.

Testing:
Tested on AMD Fam17h and Fam19h processors using:
cat  >> /dev/watchdog

Terry Bowman (4):
  Watchdog: sp5100_tco: Move timer initialization into function
  Watchdog: sp5100_tco: Refactor MMIO base address initialization
  Watchdog: sp5100_tco: Add EFCH SMBus controller initialization using
    MMIO
  Watchdog: sp5100_tco: Enable Family 17h+ CPUs

 drivers/watchdog/sp5100_tco.c | 360 +++++++++++++++++++++++-----------
 drivers/watchdog/sp5100_tco.h |   6 +
 2 files changed, 251 insertions(+), 115 deletions(-)

Co-developed-by: Robert Richter <rrichter@amd.com>
Signed-off-by: Robert Richter <rrichter@amd.com>
Signed-off-by: Terry Bowman <terry.bowman@amd.com>
To: linux-watchdog@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Wim Van Sebroeck <wim@linux-watchdog.org>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Robert Richter <rrichter@amd.com>

Changes in V2:
   - Refactor into 4 patch series
   - Move MMIO reservation and mapping into helper functions
   - Combine mmio_addr and alternate mmio_addr base address discovery
   - Replace efch_use_mmio() with efch_mmio layout type
-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-01-10  9:23 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-03 16:15 [PATCH v2 0/4] Watchdog: sp5100_tco: Replace watchdog cd6h/cd7h port I/O accesses with MMIO accesses Terry Bowman
2021-11-03 16:15 ` [PATCH v2 1/4] Watchdog: sp5100_tco: Move timer initialization into function Terry Bowman
2021-11-03 16:15 ` [PATCH v2 2/4] Watchdog: sp5100_tco: Refactor MMIO base address initialization Terry Bowman
2021-11-03 16:15 ` [PATCH v2 3/4] Watchdog: sp5100_tco: Add EFCH SMBus controller initialization using MMIO Terry Bowman
2022-01-06 18:07   ` Guenter Roeck
2022-01-06 18:18   ` Guenter Roeck
2022-01-06 19:07     ` Terry Bowman
2022-01-07 11:05       ` Robert Richter
2022-01-07 17:12         ` Guenter Roeck
2022-01-10  9:22           ` Robert Richter
2021-11-03 16:15 ` [PATCH v2 4/4] Watchdog: sp5100_tco: Enable Family 17h+ CPUs Terry Bowman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).