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

Reply via email to