summaryrefslogtreecommitdiffstats
path: root/drivers/cdx/controller/cdx_controller.c
diff options
context:
space:
mode:
authorNipun Gupta <nipun.gupta@amd.com>2023-09-15 10:24:21 +0530
committerAlex Williamson <alex.williamson@redhat.com>2023-09-28 12:12:07 -0600
commita941b784b15ff65e1a3b6a259c6d6cf7fa0bb3c3 (patch)
tree10bcc48828fc5741e1cbce64efe13916ab971288 /drivers/cdx/controller/cdx_controller.c
parenta1e16a38968806b5fc855e17bc124d752a6b7fc8 (diff)
downloadlinux-a941b784b15ff65e1a3b6a259c6d6cf7fa0bb3c3.tar.gz
linux-a941b784b15ff65e1a3b6a259c6d6cf7fa0bb3c3.tar.bz2
linux-a941b784b15ff65e1a3b6a259c6d6cf7fa0bb3c3.zip
cdx: add support for bus mastering
Introduce cdx_set_master() and cdx_clear_master() APIs to support enable and disable of bus mastering. Drivers need to use these APIs to enable/disable DMAs from the CDX devices. Signed-off-by: Nipun Gupta <nipun.gupta@amd.com> Reviewed-by: Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com> Link: https://lore.kernel.org/r/20230915045423.31630-1-nipun.gupta@amd.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/cdx/controller/cdx_controller.c')
-rw-r--r--drivers/cdx/controller/cdx_controller.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/cdx/controller/cdx_controller.c b/drivers/cdx/controller/cdx_controller.c
index bb4ae7970e21..7828dac8edb1 100644
--- a/drivers/cdx/controller/cdx_controller.c
+++ b/drivers/cdx/controller/cdx_controller.c
@@ -56,6 +56,10 @@ static int cdx_configure_device(struct cdx_controller *cdx,
case CDX_DEV_RESET_CONF:
ret = cdx_mcdi_reset_device(cdx->priv, bus_num, dev_num);
break;
+ case CDX_DEV_BUS_MASTER_CONF:
+ ret = cdx_mcdi_bus_master_enable(cdx->priv, bus_num, dev_num,
+ dev_config->bus_master_enable);
+ break;
default:
ret = -EINVAL;
}