Two rtlwifi drivers?

Pkshih pkshih at realtek.com
Mon Oct 16 02:41:38 UTC 2017



> -----Original Message-----
> From: Greg Kroah-Hartman [mailto:gregkh at linuxfoundation.org]
> Sent: Thursday, October 12, 2017 6:35 PM
> To: Kalle Valo
> Cc: Larry Finger; Dan Carpenter; Pkshih; 莊彥宣; Johannes Berg; Souptick Joarder;
> devel at driverdev.osuosl.org; linux-wireless at vger.kernel.org; kernel-janitors at vger.kernel.org
> Subject: Re: Two rtlwifi drivers?
> 
> On Thu, Oct 12, 2017 at 11:38:06AM +0300, Kalle Valo wrote:
> > > So what to do?  Any ideas?  What makes your life easier?  You can just
> > > ignore the staging tree, as it should not affect your portion of the
> > > kernel at all, right?
> >
> > Yes, I automatically ignore anything staging related. But the problem is
> > that we now have two drivers with the same name and people don't always
> > remember to prefix the patch with "staging: ". So on a bad day I might
> > accidentally apply a patch which was meant for your tree. Of course I
> > immediately revert it as soon as I, or someone else, catches that but
> > annoying still.
> 
> It doesn't bother me if you apply staging patches, I can handle the
> merge issues :)
> 
> > I think we have two options here:
> >
> > 1) We set a deadline (like 12 months or something) for the
> >    drivers/staging/rtlwifi and after that you refuse to take any patches
> >    for it. Hopefully this makes it clear for everyone that this fork is
> >    just temporary. I think Larry is trying to do this, which is great.
> 
> Fine with me, if Larry is ok with it.
> 
> > 2) We move the whole rtlwifi driver to staging. A very bad option but
> >    still better than forking the drivers.
> 
> Ick, I don't want that to have to happen, that would not be good for the
> users of other devices that the "real" rtlwifi driver supports.
> 

Hi Larry, Kalle and Gerg,

This is Realtek engineer, PK. I appreciate your support to submit, review 
and merge patch. Since I'm a Linux newbie, I'll describe the situation of 
rtlwifi and need your suggestions.


1) New modules in rtlwifi
   We add two modules named phydm and halmac, when adding rtl8822be in 
   staging. The phydm is BB/RF related module containing the parameters
   and APIs of BB/RF, and a dynamic mechanism to adapt to different
   field environment. The halmac consists of MAC APIs.
   The two modules are used by many OSs, so '#ifdef', CamelCase and
   so on are existing in original files. Hence, we convert them to Linux 
   form by script, but it's not perfect. Do you have suggestion to deal
   with this problem?


2) The rtlwifi in staging
   In staging, the module phydm v13 contains bugs, so I want to upgrade
   to v21 (Realtek internal version number). This upgrade contains a
   big patch that the difference between v13 and v21, and there are 
   40+ patches to support this upgrade. I have three options, and
   I want to know which one is prefer.

2.1) apply 40+ patches to both staging and wireless tree, and apply
     the big patch to staging only. After reviewing, we move the module
     to wireless tree.

2.2) apply 40+ patches to wireless tree, and apply a single bigger 
     patch containing 40+ patches and the big patch to staging. I think
     this can be seen as a new driver in staging. After reviewing, 
     we move the module to wireless tree.

2.3) don't apply anything to staging. Just apply 40+ patches and add
     phydm v21 to wireless.


3) Coming drivers -- rtl8723de and rtl8821ce
   We're developing the two drivers, and rtl8723de and rtl8821ce will
   be ready on 2017Q4 and 2018Q1 respectively. The drivers are based on
   rtl8822be that in staging now, so the line of code will be fewer.
   The new files will be a new IC folder and IC supported files of 
   three modules that btcoexist, phydm and halmac. Could I submit
   them to wirless tree when they're ready?


4) As Kalle mentioned, rtlwifi contains many magic numbers, and I 
   plan to fix them after rtl8723de and rtl8821ce. Because the drivers
   are developing, the changes will make us hard to integrate. However,
   I don't have plan to process the magic numbers in the module phydm,
   because the most of BB/RF registers contain many functions. And
   it doesn't have a register name but a bit field name instead.
   Our BB team guys say the use of enumeration or defined name will
   be unreadable, and the name is meaningless for most people.


Many Linux users ask Larry about the new drivers, and Realtek will
provide drivers and try to submit them by myself. I hope the Linux
users can yield the drivers as soon as I can. On the way, I'll 
attend netdev workshop in Korea, so we can meet there if you attend too.


PK



More information about the devel mailing list