Subject: Re: [wpan-next v2 08/27] net: ieee802154: Drop symbol duration settings when the core does it already

From: Miquel Raynal <[email-masked]>
Date: Thu, 13 Jan 2022 12:16:45 +0100

Hi Alexander,

[email-masked] wrote on Wed, 12 Jan 2022 17:26:14 -0500:

> Hi,
> 
> On Wed, 12 Jan 2022 at 12:33, Miquel Raynal <[email-masked]> wrote:
> >
> > The core now knows how to set the symbol duration in a few cases, when
> > drivers correctly advertise the protocols used on each channel. For
> > these drivers, there is no more need to bother with symbol duration, so
> > just drop the duplicated code.
> >
> > Signed-off-by: Miquel Raynal <[email-masked]>
> > ---
> >  drivers/net/ieee802154/ca8210.c | 1 -
> >  drivers/net/ieee802154/mcr20a.c | 2 --
> >  2 files changed, 3 deletions(-)
> >
> > diff --git a/drivers/net/ieee802154/ca8210.c b/drivers/net/ieee802154/ca8210.c
> > index 82b2a173bdbd..d3a9e4fe05f4 100644
> > --- a/drivers/net/ieee802154/ca8210.c
> > +++ b/drivers/net/ieee802154/ca8210.c
> > @@ -2977,7 +2977,6 @@ static void ca8210_hw_setup(struct ieee802154_hw *ca8210_hw)
> >         ca8210_hw->phy->cca.mode = NL802154_CCA_ENERGY_CARRIER;
> >         ca8210_hw->phy->cca.opt = NL802154_CCA_OPT_ENERGY_CARRIER_AND;
> >         ca8210_hw->phy->cca_ed_level = -9800;
> > -       ca8210_hw->phy->symbol_duration = 16 * 1000;
> >         ca8210_hw->phy->lifs_period = 40;
> >         ca8210_hw->phy->sifs_period = 12;
> >         ca8210_hw->flags =
> > diff --git a/drivers/net/ieee802154/mcr20a.c b/drivers/net/ieee802154/mcr20a.c
> > index 8aa87e9bf92e..da2ab19cb5ee 100644
> > --- a/drivers/net/ieee802154/mcr20a.c
> > +++ b/drivers/net/ieee802154/mcr20a.c
> > @@ -975,7 +975,6 @@ static void mcr20a_hw_setup(struct mcr20a_local *lp)
> >
> >         dev_dbg(printdev(lp), "%s\n", __func__);
> >
> > -       phy->symbol_duration = 16 * 1000;
> >         phy->lifs_period = 40;
> >         phy->sifs_period = 12;
> >
> > @@ -1010,7 +1009,6 @@ static void mcr20a_hw_setup(struct mcr20a_local *lp)
> >         phy->current_page = 0;
> >         /* MCR20A default reset value */
> >         phy->current_channel = 20;
> > -       phy->symbol_duration = 16 * 1000;
> >         phy->supported.tx_powers = mcr20a_powers;
> >         phy->supported.tx_powers_size = ARRAY_SIZE(mcr20a_powers);
> >         phy->cca_ed_level = phy->supported.cca_ed_levels[75];  
> 
> What's about the atrf86230 driver?

I couldn't find reliable information about what this meant:

	/* SUB:0 and BPSK:0 -> BPSK-20 */
	/* SUB:1 and BPSK:0 -> BPSK-40 */
	/* SUB:0 and BPSK:1 -> OQPSK-100/200/400 */
	/* SUB:1 and BPSK:1 -> OQPSK-250/500/1000 */

None of these comments match the spec so I don't know what to put
there. If you know what these protocols are, I will immediately
provide this information into the driver and ensure the core handles
these durations properly before dropping the symbol_durations settings
from the code.

Thanks,
Miquèl