Search Linux Wireless

Re: [EXT] Re: [PATCH v2 00/43] wifi: nxpwifi: create nxpwifi to support iw61x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 08/26 at 02:56 +0000, David Lin wrote:
> > From: Calvin Owens <calvin@xxxxxxxxxx>
> > Sent: Monday, August 26, 2024 10:50 AM
> > To: David Lin <yu-hao.lin@xxxxxxx>
> > Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx;
> > linux-kernel@xxxxxxxxxxxxxxx; kvalo@xxxxxxxxxx; johannes@xxxxxxxxxxxxxxxx;
> > briannorris@xxxxxxxxxxxx; francesco@xxxxxxxxxx; Pete Hsieh
> > <tsung-hsien.hsieh@xxxxxxx>; kernel@xxxxxxxxxxxxxx
> > Subject: Re: [EXT] Re: [PATCH v2 00/43] wifi: nxpwifi: create nxpwifi to support
> > iw61x
> > 
> > Caution: This is an external email. Please take care when clicking links or
> > opening attachments. When in doubt, report the message using the 'Report
> > this email' button
> > 
> > 
> > On Monday 08/26 at 02:33 +0000, David Lin wrote:
> > > > From: Calvin Owens <calvin@xxxxxxxxxx>
> > > > Sent: Monday, August 26, 2024 4:38 AM
> > > > To: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
> > > > Cc: David Lin <yu-hao.lin@xxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx;
> > > > linux-kernel@xxxxxxxxxxxxxxx; kvalo@xxxxxxxxxx;
> > > > johannes@xxxxxxxxxxxxxxxx; briannorris@xxxxxxxxxxxx;
> > > > francesco@xxxxxxxxxx; Pete Hsieh <tsung-hsien.hsieh@xxxxxxx>;
> > > > kernel@xxxxxxxxxxxxxx; calvin@xxxxxxxxxx
> > > > Subject: [EXT] Re: [PATCH v2 00/43] wifi: nxpwifi: create nxpwifi to
> > > > support iw61x
> > > >
> > > > Caution: This is an external email. Please take care when clicking
> > > > links or opening attachments. When in doubt, report the message
> > > > using the 'Report this email' button
> > > >
> > > >
> > > > On Thursday 08/22 at 14:56 +0200, Sascha Hauer wrote:
> > > > > On Fri, Aug 09, 2024 at 05:44:50PM +0800, David Lin wrote:
> > > > > > This series adds support for IW61x which is a new family of
> > > > > > 2.4/5 GHz dual-band 1x1 Wi-Fi 6, Bluetooth/Bluetooth Low Energy
> > > > > > 5.2 and
> > > > > > 15.4 tri-radio single chip by NXP. These devices support
> > > > > > 20/40/80MHz single spatial stream in both STA and AP mode.
> > > > > > Communication to the IW61x is done via SDIO interface
> > > > > >
> > > > > > This driver is a derivative of existing Mwifiex [1] and based on
> > > > > > similar full-MAC architecture [2]. It has been tested with
> > > > > > i.MX8M Mini evaluation kits in both AP and STA mode.
> > > > > >
> > > > > > All code passes sparse and checkpatch
> > > > > >
> > > > > > Data sheet (require registration):
> > > > > > https://ww/
> > > > > > w.nxp.com%2Fproducts%2Fwireless-connectivity%2Fwi-fi-plus-blueto
> > > > > > oth-
> > > > > >
> > > >
> > &data=05%7C02%7Cyu-hao.lin%40nxp.com%7Cff25728795724a618a5208dcc5
> > > > 45c
> > > > > >
> > > >
> > 5fd%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63860215067862
> > > > 3224%
> > > > > >
> > > >
> > 7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJB
> > > > TiI6
> > > > > >
> > > >
> > Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=U0Cej8ysBD%2Fg1Sa4Ia
> > > > Ph63Ot
> > > > > > iTcemadiCfMINYM%2BRL4%3D&reserved=0
> > > > > > plus-802-15-4/2-4-5-ghz-dual-band-1x1-wi-fi-6-802-11ax-plus-blue
> > > > > > toot
> > > > > > h-5-
> > > > > > 4-plus-802-15-4-tri-radio-solution:IW612
> > > > > >
> > > > > > Known gaps to be addressed in the following patches,
> > > > > >   - Enable 11ax capabilities. This initial patch support up to 11ac.
> > > > > >   - Support DFS channel. This initial patch doesn't support DFS channel
> > in
> > > > > >     both AP/STA mode.
> > > > > >
> > > > > > This patch is presented as a request for comment with the
> > > > > > intention of being made into a patch after initial feedbacks are
> > > > > > addressed
> > > > > >
> > > > > > [1] We had considered adding IW61x to mwifiex driver, however due to
> > > > > >     FW architecture, host command interface and supported features
> > are
> > > > > >     significantly different, we have to create the new nxpwifi driver.
> > > > > >     Subsequent NXP chipsets will be added and sustained in this
> > > > > > new
> > > > driver.
> > > > >
> > > > > I added IW61x support to the mwifiex driver and besides the VDLL
> > > > > handling which must be added I didn't notice any differences.
> > > > > There might be other differences, but I doubt that these can't be
> > > > > integrated into the mwifiex driver.
> > > >
> > > > Hi Sascha,
> > > >
> > > > I'd also love to see this patchset, if you're able to share it. I
> > > > can test on an
> > > > IW612 if that's helpful at all.
> > > >
> > > > > Honestly I don't think adding a new driver is a good ideai, given
> > > > > how big wifi drivers are and how limited the review bandwidth is.
> > > > >
> > > > > What we'll end up with is that we'll receive the same patches for
> > > > > both drivers, or worse, only for one driver while the other stays
> > unpatched.
> > > >
> > > > I have some concrete experience with "in-tree driver forks" like this:
> > > > a pair of SCSI drivers named mpt2sas and mpt3sas.
> > > >
> > > > The latter was created as a near copy of the former:
> > > >
> > > >
> > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi
> > > >
> > t.kernel%2F&data=05%7C02%7Cyu-hao.lin%40nxp.com%7C582c3c0573b74f83
> > 42
> > > >
> > 3408dcc579bc4a%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C638
> > 60237
> > > >
> > 3871805816%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoi
> > V2luM
> > > >
> > zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=bLjsRTRsR%2
> > BTtA
> > > > jUIVDY396ZF%2BIkwwUFhAubTCin3IVk%3D&reserved=0
> > >
> > > .org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git%2Fco
> > m
> > > >
> > mit%2F%3Fid%3Df92363d12359&data=05%7C02%7Cyu-hao.lin%40nxp.com%7
> > > >
> > Cff25728795724a618a5208dcc545c5fd%7C686ea1d3bc2b4c6fa92cd99c5c3016
> > > >
> > 35%7C0%7C0%7C638602150678637352%7CUnknown%7CTWFpbGZsb3d8eyJW
> > > >
> > IjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0
> > > >
> > %7C%7C%7C&sdata=mzrLLqJNee7vIdV47j8xVSU%2FByjh%2FnNKnRsx1nw3yNo
> > > > %3D&reserved=0
> > > >
> > > > The result was *exactly* what you forsee happening here: both
> > > > drivers were constantly missing fixes from the other, and they were
> > > > just subtly different enough that it wasn't simple to "port" patches
> > > > from one to the other. It was a frustrating experience for everybody
> > > > involved. I think their git histories prove your point, I'd
> > > > encourage everyone with a horse in this race to take a look at them.
> > > >
> > > > It took three years to finally unify them:
> > > >
> > > >
> > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi
> > > >
> > t.kernel%2F&data=05%7C02%7Cyu-hao.lin%40nxp.com%7C582c3c0573b74f83
> > 42
> > > >
> > 3408dcc579bc4a%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C638
> > 60237
> > > >
> > 3871815005%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoi
> > V2luM
> > > >
> > zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=RfY6N6WWXI
> > n0gZP
> > > > SBoRySz5eeU8WkFH2HvFHLVNgu3Q%3D&reserved=0
> > >
> > > .org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git%2Fco
> > m
> > > >
> > mit%2F%3Fid%3Dc84b06a48c4d&data=05%7C02%7Cyu-hao.lin%40nxp.com%7
> > > >
> > Cff25728795724a618a5208dcc545c5fd%7C686ea1d3bc2b4c6fa92cd99c5c3016
> > > >
> > 35%7C0%7C0%7C638602150678649431%7CUnknown%7CTWFpbGZsb3d8eyJW
> > > >
> > IjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0
> > > >
> > %7C%7C%7C&sdata=UGjDfngO1POWuydIfmOL%2BR%2BqJ1BoDQW6NboQUV
> > > > q2Xh8%3D&reserved=0
> > > >
> > > > I doubt anyone would disagree that wifi drivers are much more
> > > > complex than SCSI drivers. It would be strictly *worse* here, and
> > > > the path to unifying them strictly longer.
> > > >
> > > > Thanks,
> > > > Calvin
> > > >
> > >
> > > I think Nxpwifi will support NXP new WiFi chips and Mwifiex will support
> > existed NXP WiFi chips.
> > 
> > Hi David,
> > 
> > I understand that. I don't think that really changes anything: there will still be
> > many future patches which need to be applied to both, because the bug being
> > fixed existed before the fork. As the forked driver diverges, that will only
> > become more difficult and error prone.
> > 
> > Thanks,
> > Calvin
> > 
> 
> Nxpwifi is not only a fork from Mwifiex. Especially after we modified Nxpwifi
> based on the comments from Johannes.

I understand you've done real work here. But at the same time, nearly
1/3rd of the changeset against the original driver is renaming things:

    {0}[calvin ~/linux/drivers/net/wireless/nxp/nxpwifi] tar cf ~/nxpwifi-v2.tar .
    {0}[calvin ~/linux/drivers/net/wireless/nxp/nxpwifi] cd ../../marvell/mwifiex
    {0}[calvin ~/linux/drivers/net/wireless/marvell/mwifiex] tar xf ~/nxpwifi-v2.tar
    {0}[calvin ~/linux/drivers/net/wireless/marvell/mwifiex] git add *
    {0}[calvin ~/linux/drivers/net/wireless/marvell/mwifiex] git diff --cached --shortstat
     42 files changed, 13878 insertions(+), 14274 deletions(-)
    {0}[calvin ~/linux/drivers/net/wireless/marvell/mwifiex] sed -i 's/nxpwifi/mwifiex/g' *
    {0}[calvin ~/linux/drivers/net/wireless/marvell/mwifiex] sed -i 's/NXPWIFI/MWIFIEX/g' *
    {0}[calvin ~/linux/drivers/net/wireless/marvell/mwifiex] git add *
    {0}[calvin ~/linux/drivers/net/wireless/marvell/mwifiex] git diff --cached --shortstat
     42 files changed, 9940 insertions(+), 10336 deletions(-)
    {0}[calvin ~/linux/drivers/net/wireless/marvell/mwifiex] cat * | wc -l
    45591

I'd consider that a fork. For those following at home, I pushed a branch
to github with nxpwifi v2 applied as a single patchbomb to mwifiex, with
the renames backed out:

    https://github.com/jcalvinowens/linux/tree/work/nxpwifi-on-mwifiex-no-renames

For my own selfish part, I agree with Sascha: I'd prefer to see that
changeset as patches against the existing driver, because I know from
experience that having a community built around one driver will enable
me to deliver better results for my users, and will make it easier for
me to contribute when I find bugs to fix.

But this is just one random opinion, I'm not who you need to convince :)

Thanks,
Calvin

> I think the real bugs fixes of Mwifiex will become less frequently.
> We can monitor these patches and apply them from Mwifiex to Nxpwifi.
>
> If we fix issues of Nxpwifi which is also related to Mwifiex, we will
> submit patches back to Mwifiex.
>
> Thanks,
> David 
> 




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux