diff options
Diffstat (limited to 'target/linux/layerscape/patches-4.4/7153-staging-fsl-mc-Added-MSI-support-to-the-MC-bus-drive.patch')
-rw-r--r-- | target/linux/layerscape/patches-4.4/7153-staging-fsl-mc-Added-MSI-support-to-the-MC-bus-drive.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-4.4/7153-staging-fsl-mc-Added-MSI-support-to-the-MC-bus-drive.patch b/target/linux/layerscape/patches-4.4/7153-staging-fsl-mc-Added-MSI-support-to-the-MC-bus-drive.patch new file mode 100644 index 0000000000..cbc6c5e650 --- /dev/null +++ b/target/linux/layerscape/patches-4.4/7153-staging-fsl-mc-Added-MSI-support-to-the-MC-bus-drive.patch @@ -0,0 +1,59 @@ +From f588a135d9260f2e7fe29b0bb0b5294fc9c99f6c Mon Sep 17 00:00:00 2001 +From: "J. German Rivera" <German.Rivera@freescale.com> +Date: Wed, 6 Jan 2016 16:03:29 -0600 +Subject: [PATCH 153/226] staging: fsl-mc: Added MSI support to the MC bus + driver + +Initialize/Cleanup ITS-MSI support for the MC bus driver at driver +init/exit time. Associate an MSI domain with each DPAA2 child device. + +Signed-off-by: J. German Rivera <German.Rivera@freescale.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/staging/fsl-mc/bus/mc-bus.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +--- a/drivers/staging/fsl-mc/bus/mc-bus.c ++++ b/drivers/staging/fsl-mc/bus/mc-bus.c +@@ -16,6 +16,8 @@ + #include <linux/ioport.h> + #include <linux/slab.h> + #include <linux/limits.h> ++#include <linux/bitops.h> ++#include <linux/msi.h> + #include "../include/dpmng.h" + #include "../include/mc-sys.h" + #include "dprc-cmd.h" +@@ -472,6 +474,8 @@ int fsl_mc_device_add(struct dprc_obj_de + mc_dev->icid = parent_mc_dev->icid; + mc_dev->dma_mask = FSL_MC_DEFAULT_DMA_MASK; + mc_dev->dev.dma_mask = &mc_dev->dma_mask; ++ dev_set_msi_domain(&mc_dev->dev, ++ dev_get_msi_domain(&parent_mc_dev->dev)); + } + + /* +@@ -833,8 +837,15 @@ static int __init fsl_mc_bus_driver_init + if (error < 0) + goto error_cleanup_dprc_driver; + ++ error = its_fsl_mc_msi_init(); ++ if (error < 0) ++ goto error_cleanup_mc_allocator; ++ + return 0; + ++error_cleanup_mc_allocator: ++ fsl_mc_allocator_driver_exit(); ++ + error_cleanup_dprc_driver: + dprc_driver_exit(); + +@@ -856,6 +867,7 @@ static void __exit fsl_mc_bus_driver_exi + if (WARN_ON(!mc_dev_cache)) + return; + ++ its_fsl_mc_msi_cleanup(); + fsl_mc_allocator_driver_exit(); + dprc_driver_exit(); + platform_driver_unregister(&fsl_mc_bus_driver); |