diff options
Diffstat (limited to 'target/linux/layerscape/patches-4.4/7148-staging-fsl-mc-Changed-DPRC-built-in-portal-s-mc_io-.patch')
-rw-r--r-- | target/linux/layerscape/patches-4.4/7148-staging-fsl-mc-Changed-DPRC-built-in-portal-s-mc_io-.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-4.4/7148-staging-fsl-mc-Changed-DPRC-built-in-portal-s-mc_io-.patch b/target/linux/layerscape/patches-4.4/7148-staging-fsl-mc-Changed-DPRC-built-in-portal-s-mc_io-.patch new file mode 100644 index 0000000000..17dcb75897 --- /dev/null +++ b/target/linux/layerscape/patches-4.4/7148-staging-fsl-mc-Changed-DPRC-built-in-portal-s-mc_io-.patch @@ -0,0 +1,44 @@ +From 0f2a65dea2024b7898e3c0b42e0a7864d6538567 Mon Sep 17 00:00:00 2001 +From: "J. German Rivera" <German.Rivera@freescale.com> +Date: Wed, 6 Jan 2016 16:03:24 -0600 +Subject: [PATCH 148/226] staging: fsl-mc: Changed DPRC built-in portal's + mc_io to be atomic + +The DPRC built-in portal's mc_io is used to send commands to the MC +to program MSIs for MC objects. This is done by the +fsl_mc_msi_write_msg() callback, which is invoked by the generic MSI +layer with interrupts disabled. As a result, the mc_io used in +fsl_mc_msi_write_msg needs to be an atomic mc_io. + +Signed-off-by: J. German Rivera <German.Rivera@freescale.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/staging/fsl-mc/bus/dprc-driver.c | 4 +++- + drivers/staging/fsl-mc/bus/mc-bus.c | 3 ++- + 2 files changed, 5 insertions(+), 2 deletions(-) + +--- a/drivers/staging/fsl-mc/bus/dprc-driver.c ++++ b/drivers/staging/fsl-mc/bus/dprc-driver.c +@@ -396,7 +396,9 @@ static int dprc_probe(struct fsl_mc_devi + error = fsl_create_mc_io(&mc_dev->dev, + mc_dev->regions[0].start, + region_size, +- NULL, 0, &mc_dev->mc_io); ++ NULL, ++ FSL_MC_IO_ATOMIC_CONTEXT_PORTAL, ++ &mc_dev->mc_io); + if (error < 0) + return error; + } +--- a/drivers/staging/fsl-mc/bus/mc-bus.c ++++ b/drivers/staging/fsl-mc/bus/mc-bus.c +@@ -702,7 +702,8 @@ static int fsl_mc_bus_probe(struct platf + mc_portal_phys_addr = res.start; + mc_portal_size = resource_size(&res); + error = fsl_create_mc_io(&pdev->dev, mc_portal_phys_addr, +- mc_portal_size, NULL, 0, &mc_io); ++ mc_portal_size, NULL, ++ FSL_MC_IO_ATOMIC_CONTEXT_PORTAL, &mc_io); + if (error < 0) + return error; + |