Hi Alexander, alex.aring@xxxxxxxxx wrote on Wed, 12 Jan 2022 17:26:14 -0500: > Hi, > > On Wed, 12 Jan 2022 at 12:33, Miquel Raynal <miquel.raynal@xxxxxxxxxxx> 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 <miquel.raynal@xxxxxxxxxxx> > > --- > > 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