On Thu, May 3, 2018 at 3:32 PM, Mathieu Poirier <[email protected]> wrote: > On 1 May 2018 at 07:13, Rob Herring <[email protected]> wrote: >> On Tue, May 01, 2018 at 10:10:40AM +0100, Suzuki K Poulose wrote: >>> We are about to add the support for ETR builtin scatter-gather mode >>> for dealing with large amount of trace buffers. However, on some of >>> the platforms, using the ETR SG mode can lock up the system due to >>> the way the ETR is connected to the memory subsystem. >>> >>> In SG mode, the ETR performs READ from the scatter-gather table to >>> fetch the next page and regular WRITE of trace data. If the READ >>> operation doesn't complete(due to the memory subsystem issues, >>> which we have seen on a couple of platforms) the trace WRITE >>> cannot proceed leading to issues. So, we by default do not >>> use the SG mode, unless it is known to be safe on the platform. >>> We define a DT property for the TMC node to specify whether we >>> have a proper SG mode. >>> >>> Cc: Mathieu Poirier <[email protected]> >>> Cc: Mike Leach <[email protected]> >>> Cc: Mark Rutland <[email protected]> >>> Cc: John Horley <[email protected]> >>> Cc: Robert Walker <[email protected]> >>> Cc: [email protected] >>> Cc: [email protected] >>> Cc: Rob Herring <[email protected]> >>> Signed-off-by: Suzuki K Poulose <[email protected]> >>> --- >>> Documentation/devicetree/bindings/arm/coresight.txt | 3 +++ >>> drivers/hwtracing/coresight/coresight-tmc.c | 8 +++++++- >>> 2 files changed, 10 insertions(+), 1 deletion(-) >>> >>> diff --git a/Documentation/devicetree/bindings/arm/coresight.txt >>> b/Documentation/devicetree/bindings/arm/coresight.txt >>> index cdd84d0..7c0c8f0 100644 >>> --- a/Documentation/devicetree/bindings/arm/coresight.txt >>> +++ b/Documentation/devicetree/bindings/arm/coresight.txt >>> @@ -88,6 +88,9 @@ its hardware characteristcs. >>> * arm,buffer-size: size of contiguous buffer space for TMC ETR >>> (embedded trace router) >>> >>> + * scatter-gather: boolean. Indicates that the TMC-ETR can safely >>> + use the SG mode on this system. >>> + >> >> Needs a vendor prefix. >> > > Thinking further on this, do we need to make it device specific as > well - something like "arm,etr-scatter-gather"? That way we don't > have to redefine "scatter-gather" for other ARM devices if they happen > to need the same property but for different reasons.
No. If we had a bunch of cases, then we'd probably want to have just 'scatter-gather'. BTW, if SG had already been supported, then I'd say this is a quirk and we should invert this property. Otherwise, you'd be disabling once enabled SG and require working platforms to update their dtb. Of course, I shouldn't really let the state of an OS driver influence the DT binding. Rob

