On Thu, May 3, 2018 at 3:32 PM, Mathieu Poirier <mathieu.poir...@linaro.org> wrote: > On 1 May 2018 at 07:13, Rob Herring <r...@kernel.org> 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 <matheiu.poir...@linaro.org> >>> Cc: Mike Leach <mike.le...@linaro.org> >>> Cc: Mark Rutland <mark.rutl...@arm.com> >>> Cc: John Horley <john.hor...@arm.com> >>> Cc: Robert Walker <robert.wal...@arm.com> >>> Cc: devicet...@vger.kernel.org >>> Cc: frowand.l...@gmail.com >>> Cc: Rob Herring <r...@kernel.org> >>> Signed-off-by: Suzuki K Poulose <suzuki.poul...@arm.com> >>> --- >>> 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