lkml.org 
[lkml]   [2019]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] dts: arm64: add CoreSight trace support for hi3660
From
Date
Hi,

On 04/03/2019 17:18, Mathieu Poirier wrote:
> On Sat, 2 Mar 2019 at 06:00, Leo Yan <leo.yan@linaro.org> wrote:
>>
>> On Sat, Mar 02, 2019 at 09:45:22AM +0000, Shiwanglai wrote:
>>
>> [...]
>>
>>>> + /* Top internals */
>>>> + funnel@ec031000 {
>>>> + compatible = "arm,coresight-funnel", "arm,primecell";
>>>> + reg = <0 0xec031000 0 0x1000>;
>>>> + clocks = <&crg_ctrl HI3660_PCLK>;
>>>> + clock-names = "apb_pclk";
>>>> +
>>>> + out-ports {
>>>> + port {
>>>> + top_funnel_out: endpoint {
>>>> + remote-endpoint =
>>>> + <&top_etf_in>;
>>>> + };
>>>> + };
>>>> + };
>>>> +
>>>> + in-ports {
>>>> + #address-cells = <1>;
>>>> + #size-cells = <0>;
>>>> +
>>>> + port@0 {
>>>> + reg = <0>;
>>>> + top_funnel_in0: endpoint {
>>>> + remote-endpoint =
>>>> + <&cluster0_etf_out>;
>>>> + };
>>>> + };
>>>> +
>>>> + port@1 {
>>>> + reg = <0>;
>>>
>>> Here should s/<0>/<1>; otherwise DTC will complain warning for mismatching between 'port@1' and 'reg = <0>'.
>>
>>> -- if reg set to 1, then there's no data output from cluster 1 to top.
>>
>> Thanks for the info, Wanglai. Now I see why write as it is.
>>
>> I can confirm if directly use your patch with perf with mainline
>> kernel I can capture CoreSight trace data successfully on Hikey960
>> board.
>>
>> But since this DT binding will introduce DTC warning, I personally
>> think we can improve for this with below method:
>>
>> We can create a funnel node named "funnel_combo", and we don't need to
>> specify register address range for it; and cluster 0 and cluster 1 will
>> output to "funnel_combo" and "funnel_combo" will output to the top
>> funnel. Thus the DT binding will write as below.
>>
>> To support for a funnel without any register address range (we have
>> support replicator like this mode), we also need to extend the driver
>> drivers/hwtracing/coresight/coresight-funnel.c.
>>
>> Mathieu, Mike, Suzuki, could you help confirm this is the right
>> direction we should move forward to?
>
> Leo, thanks for testing this out. Shiwanglai, please add Suzuki and
> myself to future revision of this set - this will help you getting a
> timely response for your work.
>
> As Leo pointed out we already have support for replicators that don't
> have a register map and the same thing should be done in this case.
> But contrary to what was done for replicators, I think we should keep
> the drivers in the same file as Russell did here[1]. That way we can
> keep all things funnel at the same place and reduce the amount of
> kernel configuration options.

I back that. I have already merged the static and programmable replicators
into one and this should be out here soon. So, I back the single driver
approach for funnels.

Cheers
Suzuki


>
> Regards,
> Mathieu
>
> [1]. https://elixir.bootlin.com/linux/latest/source/drivers/tty/serial/amba-pl011.c#L2819
>
>>

\
 
 \ /
  Last update: 2019-03-04 18:30    [W:0.070 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site