On Mon, Sep 02, 2024 at 08:00:58AM +0000, David Lin wrote: > > From: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > > Sent: Monday, September 2, 2024 3:46 PM > > To: David Lin <yu-hao.lin@xxxxxxx> > > Cc: Francesco Dolcini <francesco@xxxxxxxxxx>; Calvin Owens > > <calvin@xxxxxxxxxx>; Brian Norris <briannorris@xxxxxxxxxxxx>; Kalle Valo > > <kvalo@xxxxxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx; > > linux-kernel@xxxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx > > Subject: Re: [EXT] [RFC PATCH 0/4] mwifiex: add support for 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 Mon, Sep 02, 2024 at 06:54:07AM +0000, David Lin wrote: > > > > From: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > > > > Sent: Monday, September 2, 2024 2:41 PM > > > > To: David Lin <yu-hao.lin@xxxxxxx> > > > > Cc: Francesco Dolcini <francesco@xxxxxxxxxx>; Calvin Owens > > > > <calvin@xxxxxxxxxx>; Brian Norris <briannorris@xxxxxxxxxxxx>; Kalle > > > > Valo <kvalo@xxxxxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx; > > > > linux-kernel@xxxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx > > > > Subject: Re: [EXT] [RFC PATCH 0/4] mwifiex: add support for 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 Mon, Sep 02, 2024 at 02:24:53AM +0000, David Lin wrote: > > > > > > From: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > > > > > > Sent: Monday, August 26, 2024 3:27 PM > > > > > > To: Francesco Dolcini <francesco@xxxxxxxxxx> > > > > > > Cc: Calvin Owens <calvin@xxxxxxxxxx>; Brian Norris > > > > > > <briannorris@xxxxxxxxxxxx>; Kalle Valo <kvalo@xxxxxxxxxx>; David > > > > > > Lin <yu-hao.lin@xxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx; > > > > > > linux-kernel@xxxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx; Sascha > > > > > > Hauer <s.hauer@xxxxxxxxxxxxxx> > > > > > > Subject: [EXT] [RFC PATCH 0/4] mwifiex: add support for 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 > > > > > > > > > > > > > > > > > > This series adds support for the iw61x chips to the mwifiex driver. > > > > > > There are a few things to address, hence the RFC status. See the > > > > > > commit messages for details. The series is based on > > wireless-next/main. > > > > > > > > > > > > I am sending this now since people requested it here [1], but as > > > > > > it's out now feel free to leave your comments to the issues > > > > > > mentioned (or others I haven't mentioned ;) > > > > > > > > > > > > [1] > > > > > > https://lo/ > > > > > > > > > > > > re.kern%2F&data=05%7C02%7Cyu-hao.lin%40nxp.com%7C6125c51da3704fe10 > > > > a5 > > > > > > > > > > > > a08dccb1a24ef%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6386 > > > > 08560 > > > > > > > > > > > > 383160951%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV > > > > 2luMz > > > > > > > > > > > > IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=jfQ6FQimPpwr > > > > nwUo > > > > > > OCEhmpSadtrb15ymGiif%2B1UCdG0%3D&reserved=0 > > > > > > > > > > > > el.org%2Fall%2F20240809094533.1660-1-yu-hao.lin%40nxp.com%2F&data=05 > > > > > > > > > > > > %7C02%7Cyu-hao.lin%40nxp.com%7C184ab4fed58647150f8508dcc5a0789a%7 > > > > > > > > > > > > C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C638602540229716119% > > > > > > > > > > > > 7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJB > > > > > > > > > > > > TiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=cACBHxaQvcOqu6ri > > > > > > BoAlZDONRlGQ4j5DcglEV9T%2BpYU%3D&reserved=0 > > > > > > > > > > > > Sascha > > > > > > > > > > > > > > > > > > Sascha Hauer (4): > > > > > > wifi: mwifiex: release firmware at remove time > > > > > > wifi: mwifiex: handle VDLL > > > > > > wifi: mwifiex: wait longer for SDIO card status > > > > > > mwifiex: add iw61x support > > > > > > > > > > > > drivers/net/wireless/marvell/mwifiex/cmdevt.c | 86 > > > > +++++++++++++++++++ > > > > > > drivers/net/wireless/marvell/mwifiex/fw.h | 16 ++++ > > > > > > drivers/net/wireless/marvell/mwifiex/main.c | 9 +- > > > > > > drivers/net/wireless/marvell/mwifiex/main.h | 4 + > > > > > > drivers/net/wireless/marvell/mwifiex/sdio.c | 81 > > ++++++++++++++++- > > > > > > drivers/net/wireless/marvell/mwifiex/sdio.h | 3 + > > > > > > .../net/wireless/marvell/mwifiex/sta_event.c | 4 > > > > > > + .../net/wireless/marvell/mwifiex/uap_event.c | 4 + > > > > > > include/linux/mmc/sdio_ids.h | 3 + > > > > > > 9 files changed, 205 insertions(+), 5 deletions(-) > > > > > > > > > > > > -- > > > > > > 2.39.2 > > > > > > > > > > I think you ported VDLL related code from nxpwifi and you also > > > > > traced our private/downstream MXM driver. > > > > > > > > I ported it from this repository: > > > > > > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi > > > > > > thub.co%2F&data=05%7C02%7Cyu-hao.lin%40nxp.com%7C9f55bf357ece47645 > > 0b > > > > > > 708dccb234dae%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6386 > > 08599 > > > > > > 700151625%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV > > 2luMz > > > > > > IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=OLf3OfFX7R% > > 2BT3V > > > > gWtcsqlls%2FI3ceY8r3bewwYy8bAes%3D&reserved=0 > > > > > > m%2Fnxp-imx%2Fmwifiex-iw612.git&data=05%7C02%7Cyu-hao.lin%40nxp.co > > > > > > m%7C6125c51da3704fe10a5a08dccb1a24ef%7C686ea1d3bc2b4c6fa92cd99c5 > > > > > > c301635%7C0%7C0%7C638608560383172495%7CUnknown%7CTWFpbGZsb3d > > > > > > 8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3 > > > > > > D%7C0%7C%7C%7C&sdata=5TgI0r4u2I9Pi1FATJx32Ubn7ufmbYsBR1XkpQLAIyQ > > > > %3D&reserved=0 > > > > > > > > Is that the one you are referring to as MXM driver? > > > > > > > > > > Yes. > > > > > > > > If this is the case, I think you should know nxpwifi already > > > > > cleaned up the porting VDLL code from MXM driver. > > > > > I check your patch quickly. You ported the new SDIO data type > > > > > (MWIFIEX_TYPE_VDLL) from nxpwifi, but you did not port the code to > > > > > support this new data type from nxpwifi. In other word, you did > > > > > not test your patch before submission (same as some of your patches). > > > > > > > > I did test it. It works with the iw61x as well as older chips. There > > > > are likely details I haven't tested, but it generally works. If > > > > there are details I should test additionally please let me know. > > > > > > > > > > > > > > Another thing is that this new SDIO data type should be handled > > > > > carefully with other existed SDIO data type. > > > > > > > > > > Nxpwifi only supports new SDIO mode, so the modification to > > > > > support NXPWIFI_TYPE_VDLL can be clean and simple. If you want to > > > > > port the code to Mwifiex, there is no one-to-one modification of the > > code. > > > > > > > > > > Another important thing is that you should consider if your > > > > > modifications will affect existed devices or not. > > > > > You need to check if you should check firmware version or chip > > > > > type before adding some code. > > > > > > > > The VDLL code I added for the iw61x only reacts to the > > > > EVENT_VDLL_IND event. So as long as a firmware doesn't send such an > > > > event nothing is changed with this patch, and I haven't seen an older chip > > sending a VDLL event. > > > > > > > > > > How about IW61x? As I mentioned before, if you test IW61x on DFS > > > channel, command timeout will happen. Without correct VDLL porting, > > > you will encounter command timeout in some other test cases. But > > > testing on DFS channel will be easier to reproduce the issue. > > > > The VDLL support in the downstream driver supports a case when a VDLL > > event comes in while a command is being sent. I catched this with this > > test: > > > > if (adapter->cmd_sent) { > > mwifiex_dbg(adapter, MSG, "%s: adapter is busy\n", > > __func__); > > return -EBUSY; > > } > > > > The downstream driver defers handling of the VDLL event to the main process > > in this case. I haven't implemented this case in my patch because I wasn't able > > to trigger it, but is this the case you are referring to? > > > > Not only this code segment. In fact, you did not add VDLL data patch support to sdio.c. > If you try to add the code and do test, you will know what is missing in your code. Could you point me to the code you mean? Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |