2016-04-11 16:50:33

by Stuart Yoder

[permalink] [raw]
Subject: [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.

Signed-off-by: Horia Geanta <[email protected]>
(Stuart: reworded commit message, updated comment in patch)
Signed-off-by: Stuart Yoder <[email protected]>
---
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


2016-04-20 12:15:19

by Horia Geanta

[permalink] [raw]
Subject: Re: [PATCH 11/14] staging: fsl-mc: add quirk handling for dpseci objects < 4.0

On 4/11/2016 7:50 PM, Stuart Yoder wrote:
> 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.
>
> Signed-off-by: Horia Geanta <[email protected]>
> (Stuart: reworded commit message, updated comment in patch)
> Signed-off-by: Stuart Yoder <[email protected]>

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

Thanks,
Horia

> ---
> 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",
>

2016-04-20 15:28:14

by Stuart Yoder

[permalink] [raw]
Subject: RE: [PATCH 11/14] staging: fsl-mc: add quirk handling for dpseci objects < 4.0



> -----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
>
> On 4/11/2016 7:50 PM, Stuart Yoder wrote:
> > 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.
> >
> > Signed-off-by: Horia Geanta <[email protected]>
> > (Stuart: reworded commit message, updated comment in patch)
> > Signed-off-by: Stuart Yoder <[email protected]>
>
> 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