Subject: RE: pull-request: wireless-next-2023-04-21

From: Ping-Ke Shih <[email-masked]>
Date: Tue, 25 Apr 2023 02:41:46 +0000

> -----Original Message-----
> From: Jakub Kicinski <[email-masked]>
> Sent: Friday, April 21, 2023 10:54 PM
> To: Kalle Valo <[email-masked]>
> Cc: [email-masked]; [email-masked]
> Subject: Re: pull-request: wireless-next-2023-04-21
> 
> On Fri, 21 Apr 2023 10:47:26 +0000 (UTC) Kalle Valo wrote:
> >  .../net/wireless/realtek/rtw89/rtw8851b_table.c    | 14824 +++++++++++++++++++
> >  .../net/wireless/realtek/rtw89/rtw8851b_table.h    |    21 +
> 
> We should load these like FW, see the proposal outlined in
> https://lore.kernel.org/all/[email-masked]/
> for example. Would that not work?
> 

That would work, and I think struct fields addr and val should be __le32.
And, I have some draft ideas to handle some situations we will face:

1. upgrading to newer driver without built-in tables will break user space
   if people don't download table file from linux-firmware.git.
   Maybe, we can keep the built-in tables and support loading from files
   for couple years at least.

2. c code can do changes along with these tables, so driver should do some
   compatibility things for register version. 

3. The file contains not only simple registers tables but also TX power tables
   and power tracking tables. These tables are multiple dimensions, and
   dimensions can be changed due to more channels are supported, for example.
   To be backward compatible, we need to add conversion function from
   v1, v2 ... to current.

I will think further to make this change smooth. 

Ping-Ke