From: Horia Geanta <horia.gea...@nxp.com>

dpseci objects < 4.0 are not coherent-- in spite of the fact
that the MC reports them to be coherent in certain versions.
Add a special case to set the no shareability flag for dpseci
objects < 4.0.

Signed-off-by: Horia Geanta <horia.gea...@nxp.com>
(Stuart: reworded commit message, updated comment in patch)
Signed-off-by: Stuart Yoder <stuart.yo...@nxp.com>
---
 drivers/staging/fsl-mc/bus/dprc-driver.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/staging/fsl-mc/bus/dprc-driver.c 
b/drivers/staging/fsl-mc/bus/dprc-driver.c
index 53c6e98..7fc4717 100644
--- a/drivers/staging/fsl-mc/bus/dprc-driver.c
+++ b/drivers/staging/fsl-mc/bus/dprc-driver.c
@@ -312,6 +312,15 @@ int dprc_scan_objects(struct fsl_mc_device *mc_bus_dev,
                                continue;
                        }
 
+                       /*
+                        * add a quirk for all versions of dpsec < 4.0...none
+                        * are coherent regardless of what the MC reports.
+                        */
+                       if ((strcmp(obj_desc->type, "dpseci") == 0) &&
+                           (obj_desc->ver_major < 4))
+                               obj_desc->flags |=
+                                       DPRC_OBJ_FLAG_NO_MEM_SHAREABILITY;
+
                        irq_count += obj_desc->irq_count;
                        dev_dbg(&mc_bus_dev->dev,
                                "Discovered object: type %s, id %d\n",
-- 
1.7.9.5

Reply via email to