Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/51075 )
Change subject: soc/amd/common/block/acpimmio: Add fch_disable_legacy_dma_io ......................................................................
soc/amd/common/block/acpimmio: Add fch_disable_legacy_dma_io
Add a method to disable decoding the legacy DMA IO ports.
Signed-off-by: Raul E Rangel rrangel@chromium.org Signed-off-by: Felix Held felix-coreboot@felixheld.de Change-Id: I979445cfa8317334e62e9ebf12256ece9f8058bf Reviewed-on: https://review.coreboot.org/c/coreboot/+/51075 Reviewed-by: Angel Pons th3fanbus@gmail.com Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/soc/amd/common/block/acpimmio/mmio_util.c M src/soc/amd/common/block/include/amdblocks/acpimmio.h 2 files changed, 9 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Raul Rangel: Looks good to me, approved Angel Pons: Looks good to me, but someone else must approve
diff --git a/src/soc/amd/common/block/acpimmio/mmio_util.c b/src/soc/amd/common/block/acpimmio/mmio_util.c index 3a86aaf..cfe8779 100644 --- a/src/soc/amd/common/block/acpimmio/mmio_util.c +++ b/src/soc/amd/common/block/acpimmio/mmio_util.c @@ -69,6 +69,12 @@ pm_write32(PM_DECODE_EN, pm_read32(PM_DECODE_EN) | LEGACY_IO_EN); }
+void fch_disable_legacy_dma_io(void) +{ + pm_write32(PM_DECODE_EN, pm_read32(PM_DECODE_EN) & + ~(LEGACY_DMA_IO_EN | LEGACY_DMA_IO_80_EN)); +} + void fch_io_enable_legacy_io(void) { pm_io_write32(PM_DECODE_EN, pm_io_read32(PM_DECODE_EN) | LEGACY_IO_EN); diff --git a/src/soc/amd/common/block/include/amdblocks/acpimmio.h b/src/soc/amd/common/block/include/amdblocks/acpimmio.h index a9a6986..7891bfd 100644 --- a/src/soc/amd/common/block/include/amdblocks/acpimmio.h +++ b/src/soc/amd/common/block/include/amdblocks/acpimmio.h @@ -22,6 +22,8 @@ #define HPET_EN (1 << 6) /* decode HPET MMIO at 0xfed00000 */ #define FCH_IOAPIC_EN (1 << 5) #define SMBUS_ASF_IO_EN (1 << 4) +#define LEGACY_DMA_IO_80_EN (1 << 3) /* pass 0x80-0x83 to legacy DMA IO range */ +#define LEGACY_DMA_IO_EN (1 << 2) #define CF9_IO_EN (1 << 1) #define LEGACY_IO_EN (1 << 0) #define PM_RST_STATUS 0xc0 @@ -78,6 +80,7 @@ void enable_acpimmio_decode_pm04(void); void fch_enable_cf9_io(void); void fch_enable_legacy_io(void); +void fch_disable_legacy_dma_io(void); void fch_io_enable_legacy_io(void); void fch_enable_ioapic_decode(void); void fch_configure_hpet(void);