Subject: Re: [RFC PATCH 6/9] net: dsa: hellcreek: Add debugging mechanisms

From: Kurt Kanzenbach <[email-masked]>
Date: Tue, 23 Jun 2020 08:07:03 +0200

On Mon Jun 22 2020, Andrew Lunn wrote:
> On Mon, Jun 22, 2020 at 02:32:28PM +0200, Kurt Kanzenbach wrote:
>> On Fri Jun 19 2020, Andrew Lunn wrote:
>> >> > Are trace registers counters?
>> >> 
>> >> No. The trace registers provide bits for error conditions and if packets
>> >> have been dropped e.g. because of full queues or FCS errors, and so on.
>> >
>> > Is there some documentation somewhere? A better understanding of what
>> > they can do might help figure out the correct API.
>> 
>> No, not that I'm aware of.
>> 
>> Actually there are a few more debugging mechanisms and features which
>> should be exposed somehow. Here's the list:
>> 
>>  * Trace registers for the error conditions. This feature needs to be
>>    configured for which ports should be traced
>>  * Memory registers for indicating how many free page and meta pointers
>>    are available (read-only)
>>  * Limit registers for configuring:
>>    * Maximum memory limit per port
>>    * Reserved memory for critical traffic
>>    * Background traffic rate
>>    * Maximum queue depth
>>  * Re-prioritization of packets based on the ether type (not mac address)
>>  * Packet logging (-> retrieval of packet time stamps) based on port, traffic class and direction
>>  * Queue tracking
>> 
>> What API would be useful for these mechanisms?
>
> Hi Kurt
>
> You should take a look at devlink. Many of these fit devlink
> resources. Use that where it fits. But you might end up with an out of
> tree debugfs patch for your own debugging work. We have something
> similar of mv88e6xxx.

I see. Maybe I'll keep the debug stuff out of tree for now and will come
back to it later.

Thanks,
Kurt