Re: [RFC PATCH] net: macb: Apply RXUBR workaround only to versions with errata
From: Claudiu.Beznea
Date: Thu Nov 29 2018 - 05:00:29 EST
On 28.11.2018 23:09, Brandon Streiff wrote:
> On 11/23/2018 3:59 AM, Harini Katakam wrote:
>> +/* Errata mask bits */
>> +#define MACB_ERRATA_RXLOCKUP 0x00000001
>> +
>> /* LSO settings */
>> #define MACB_LSO_UFO_ENABLE 0x01
>> #define MACB_LSO_TSO_ENABLE 0x02
>> @@ -1085,6 +1088,7 @@ struct macb_config {
>> struct clk **rx_clk);
>> int (*init)(struct platform_device *pdev);
>> int jumbo_max_len;
>> + u32 errata;
>> };
>>
>> struct tsu_incr {
>> @@ -1214,6 +1218,8 @@ struct macb {
>>
>> int rx_bd_rd_prefetch;
>> int tx_bd_rd_prefetch;
>> +
>> + u32 errata;
>> };
>
> Hi Harini,
>
> Could this be made into simpler by instead adding a caps bit, named
> (perhaps) MACB_CAPS_BUGGY_RXUBR or MACB_CAPS_NEEDS_RXUBR_RESETS or
> something?
>
> That would save needing to add a new u32 field into the macb_config and
> macb structs (both of which already have this caps field).
>
I avoid duplicating these fields from struct macb_config to struct macb I
would start to move macb_config part of struct macb as a const * member
(see [1]).
[1]
https://github.com/linux4sam/linux-at91/commit/8c588136189148d79c4078c55da2242a2ba2b8d3#diff-921c839dba439fd502a24aed0845dc9d