Skip to contentSkip to conversation

staging: fsl-mc: add quirk handling for dpseci objects < 4.0

PATCH In review Stuart Yoder 2 participants 3 messages Apr 11, 2016 – Apr 20, 2016 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 11/14 staging: fsl-mc: add quirk handling for dpseci objects < 4.0

From: Horia Geanta <[email protected]>

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.

(Stuart: reworded commit message, updated comment in patch)

---
 drivers/staging/fsl-mc/bus/dprc-driver.c |    9 +++++++++
 1 file changed, 9 insertions(+)
drivers/staging/fsl-mc/bus/dprc-driver.c +9 -0
index 53c6e98..7fc4717 100644
@@ -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",
Signature · 1 line
1.7.9.5
#1 lore raw
Quoted 10 lines · Stuart Yoder

From: Horia Geanta <[email protected]>

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.

(Stuart: reworded commit message, updated comment in patch)

Do we really need this?
First upstream dpsec driver will be for dpsec >= v4.0.

Thanks,
Horia

Quoted 25 lines
---
 drivers/staging/fsl-mc/bus/dprc-driver.c |    9 +++++++++
 1 file changed, 9 insertions(+)
drivers/staging/fsl-mc/bus/dprc-driver.c +9 -0
index 53c6e98..7fc4717 100644
@@ -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",
#2 lore raw
Quoted 18 lines

-----Original Message-----
From: Horia Ioan Geanta Neag
Sent: Wednesday, April 20, 2016 6:42 AM
To: Stuart Yoder <[email protected]>; Jose Rivera <[email protected]>
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; Yang-Leo Li <[email protected]>
Subject: Re: [PATCH 11/14] staging: fsl-mc: add quirk handling for dpseci objects < 4.0

Quoted 7 lines · Stuart Yoder

From: Horia Geanta <[email protected]>

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.

Quoted 6 lines
Quoted 3 lines

(Stuart: reworded commit message, updated comment in patch)

Do we really need this?
First upstream dpsec driver will be for dpsec >= v4.0.

This has nothing to do with the dpsec driver, it's just trying to be complete with potential MC firmware versions that might be encountered. There is supported MC firmware (and example non-upstream Linux drivers) in customer hands with dpsec < 4.0, and we are handling that case even if encountering it is not likely (e.g. what if someone develops their own driver?).

So let's keep this quirk for now.

Stuart