You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
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;
|
|
|