On 8/26/21 1:52 PM, Biju Das wrote: [...] >>>>>>> There are some H/W differences for the gPTP feature between R-Car >>>>>>> Gen3, R-Car Gen2, and RZ/G2L as below. >>>>>>> >>>>>>> 1) On R-Car Gen3, gPTP support is active in config mode. >>>>>>> 2) On R-Car Gen2, gPTP support is not active in config mode. >>>>>>> 3) RZ/G2L does not support the gPTP feature. >>>>>>> >>>>>>> Add a ptp_cfg_active hw feature bit to struct ravb_hw_info for >>>>>>> supporting gPTP active in config mode for R-Car Gen3. >>>>>> >>>>>> Wait, we've just done this ion the previous patch! >>>>>> >>>>>>> This patch also removes enum ravb_chip_id, chip_id from both >>>>>>> struct ravb_hw_info and struct ravb_private, as it is unused. >>>>>>> >>>>>>> Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> >>>>>>> Reviewed-by: Lad Prabhakar >>>>>>> <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> >>>>>>> --- >>>>>>> drivers/net/ethernet/renesas/ravb.h | 8 +------- >>>>>>> drivers/net/ethernet/renesas/ravb_main.c | 12 +++++------- >>>>>>> 2 files changed, 6 insertions(+), 14 deletions(-) >>>>>>> >>>>>>> diff --git a/drivers/net/ethernet/renesas/ravb.h >>>>>>> b/drivers/net/ethernet/renesas/ravb.h >>>>>>> index 9ecf1a8c3ca8..209e030935aa 100644 >>>>>>> --- a/drivers/net/ethernet/renesas/ravb.h >>>>>>> +++ b/drivers/net/ethernet/renesas/ravb.h >>>>>>> @@ -979,17 +979,11 @@ struct ravb_ptp { >>>>>>> struct ravb_ptp_perout perout[N_PER_OUT]; }; >>>>>>> >>>>>>> -enum ravb_chip_id { >>>>>>> - RCAR_GEN2, >>>>>>> - RCAR_GEN3, >>>>>>> -}; >>>>>>> - >>>>>>> struct ravb_hw_info { >>>>>>> const char (*gstrings_stats)[ETH_GSTRING_LEN]; >>>>>>> size_t gstrings_size; >>>>>>> netdev_features_t net_hw_features; >>>>>>> netdev_features_t net_features; >>>>>>> - enum ravb_chip_id chip_id; >>>>>>> int stats_len; >>>>>>> size_t max_rx_len; >>>>>> >>>>>> I would put the above in a spearte patch... >>>> >>>> Separate. :-) >>>> >>>>>>> unsigned aligned_tx: 1; >>>>>>> @@ -999,6 +993,7 @@ struct ravb_hw_info { >>>>>>> unsigned tx_counters:1; /* E-MAC has TX counters */ >>>>>>> unsigned multi_irqs:1; /* AVB-DMAC and E-MAC has >>>> multiple >>>>>> irqs */ >>>>>>> unsigned no_ptp_cfg_active:1; /* AVB-DMAC does not support >>>> gPTP >>>>>> active in config mode */ >>>>>>> + unsigned ptp_cfg_active:1; /* AVB-DMAC has gPTP support >> active in >>>>>> config mode */ >>>>>> >>>>>> Huh? >>>>>> >>>>>>> }; >>>>>>> >>>>>>> struct ravb_private { >>>>>> [...] >>>>>>> @@ -2216,7 +2213,7 @@ static int ravb_probe(struct platform_device >>>>>> *pdev) >>>>>>> INIT_LIST_HEAD(&priv->ts_skb_list); >>>>>>> >>>>>>> /* Initialise PTP Clock driver */ >>>>>>> - if (info->chip_id != RCAR_GEN2) >>>>>>> + if (info->ptp_cfg_active) >>>>>>> ravb_ptp_init(ndev, pdev); >>>>>> >>>>>> What's that? Didn't you touch this lie in patch #3? >>>>>> >>>>>> This seems lie a NAK bait... :-( >>>>> >>>>> Please refer the original patch[1] which introduced gPTP support >>>>> active >>>> in config mode. >>>>> I am sure this will clear all your doubts. >>>> >>>> It hasn't. Why do we need 2 bit fields (1 "positive" and 1 >>>> "negative") for the same feature is beyond me. >>> >>> The reason is mentioned in commit description, Do you agree 1, 2 and 3 >> mutually exclusive? >>> >>> 1) On R-Car Gen3, gPTP support is active in config mode. >>> 2) On R-Car Gen2, gPTP support is not active in config mode. >>> 3) RZ/G2L does not support the gPTP feature. >> >> No, (1) includes (2). > > patch[1] is for supporting gPTP support active in config mode. Yes. > Do you agree GAC register(gPTP active in Config) bit in AVB-DMAC mode register(CCC) present only in R-Car Gen3? Yes. But you feature naming is totally misguiding, nevertheless... > [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/net/ethernet/renesas/ravb_main.c?h=next-20210825&id=f5d7837f96e53a8c9b6c49e1bc95cf0ae88b99e8 > > Regards, > Biju [...] MBR, Sergey