Alper Nebi Yasak has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/80365?usp=email )
Change subject: mb/qemu/fw_cfg: Support using DMA to select fw_cfg file ......................................................................
mb/qemu/fw_cfg: Support using DMA to select fw_cfg file
Commit 8dc95ddbd4a935 ("emulation/qemu-i440fx: use fw_cfg_dma for fw_cfg_read") adds DMA support to interface with the QEMU firmware configuration device, and uses it to read from the "file"s exposed by the device. However, the file selection step still uses port-based IO.
Use DMA for fw_cfg file selection when possible, as a step towards porting this driver to other architectures.
Change-Id: I46f9915e6df04d371c7084815f16034c7e9879d4 Signed-off-by: Alper Nebi Yasak alpernebiyasak@gmail.com --- M src/mainboard/emulation/qemu-i440fx/fw_cfg.c 1 file changed, 4 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/65/80365/1
diff --git a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c b/src/mainboard/emulation/qemu-i440fx/fw_cfg.c index 5c23988..3a1def3 100644 --- a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c +++ b/src/mainboard/emulation/qemu-i440fx/fw_cfg.c @@ -44,7 +44,10 @@
static void fw_cfg_select(uint16_t entry) { - outw(entry, FW_CFG_PORT_CTL); + if (fw_ver & FW_CFG_VERSION_DMA) + fw_cfg_dma(FW_CFG_DMA_CTL_SELECT | entry << 16, NULL, 0); + else + outw(entry, FW_CFG_PORT_CTL); }
static void fw_cfg_read(void *dst, int dstlen)