[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220114112113.63661251@xps13>
Date: Fri, 14 Jan 2022 11:21:13 +0100
From: Miquel Raynal <miquel.raynal@...tlin.com>
To: Alexander Aring <alex.aring@...il.com>
Cc: Stefan Schmidt <stefan@...enfreihafen.org>,
linux-wpan - ML <linux-wpan@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
"open list:NETWORKING [GENERAL]" <netdev@...r.kernel.org>,
Michael Hennerich <michael.hennerich@...log.com>,
Harry Morris <h.morris@...coda.com>,
Varka Bhadram <varkabhadram@...il.com>,
Xue Liu <liuxuenetmail@...il.com>, Alan Ott <alan@...nal11.us>,
David Girault <david.girault@...vo.com>,
Romuald Despres <romuald.despres@...vo.com>,
Frederic Blain <frederic.blain@...vo.com>,
Nicolas Schodet <nico@...fr.eu.org>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
"linux-wireless@...r.kernel.org Wireless"
<linux-wireless@...r.kernel.org>
Subject: Re: [wpan-next v2 08/27] net: ieee802154: Drop symbol duration
settings when the core does it already
Hi Alexander,
alex.aring@...il.com wrote on Thu, 13 Jan 2022 18:34:00 -0500:
> Hi,
>
> On Thu, 13 Jan 2022 at 06:16, Miquel Raynal <miquel.raynal@...tlin.com> wrote:
> >
> > Hi Alexander,
> >
> > alex.aring@...il.com wrote on Wed, 12 Jan 2022 17:26:14 -0500:
> >
> > > Hi,
> > >
> > > On Wed, 12 Jan 2022 at 12:33, Miquel Raynal <miquel.raynal@...tlin.com> 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@...tlin.com>
> > > > ---
> > > > 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.
>
> I think those are from the transceiver datasheets (which are free to
> access). Can you not simply merge them or is there a conflict?
Actually I misread the driver, it supports several kind of chips with
different channel settings and this disturbed me. I downloaded the
datasheet and figured that the number after the protocol is the bit
rate. This helped me to make the connection with what I already know,
so both atusb and atrf86230 drivers have been converted too.
Thanks,
Miquèl
Powered by blists - more mailing lists