Hi Sergei, > Subject: Re: [PATCH net-next 04/13] ravb: Add ptp_cfg_active to struct > ravb_hw_info > > On 26.08.2021 13:34, 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. Do you agree GAC register(gPTP active in Config) bit in AVB-DMAC mode register(CCC) present only in R-Car Gen3? [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 > > [...] > > > Regards, > > Biju > > [...] > > MBR, Sergey