linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ping-Ke Shih <pkshih@realtek.com>
To: Bitterblue Smith <rtl8821cerfe2@gmail.com>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: RE: [PATCH 18/20] wifi: rtw88: Add rtw8821a.{c,h}
Date: Fri, 13 Sep 2024 01:50:22 +0000	[thread overview]
Message-ID: <f583e9470ca84234ad2e00f3a0371664@realtek.com> (raw)
In-Reply-To: <bebaa40a-1c7a-4b1e-99cd-7c7aac7c76f4@gmail.com>

> >
> > #define REG_3WIRE_SWA 0xc00
> > #define REG_3WIRE_SWB 0xe00
> >
> > (0xc00 page for path A, 0xe00 page for path B)
> >
> 
> Previously, you called 0xe00 REG_HSSI_WRITE_B. Are both names correct?
> (I'm not sure why I put 0xc00 and 0xe00 on the list if you already gave
> them a name.)

In fact, there is no _formal_ names for PHY registers, so I gave names by
abbreviation name from RTL code. Previously I may reference to vendor
drivers instead. Just choose one you like. 

> >> 0xe90
> >
> > #define REG_PREDISTB 0xe90
> >
> 
> I put 0xe90 on the list by mistake. We already have a name for it
> in the official driver:
> 
> ./include/Hal8812PhyReg.h:66:#define rB_LSSIWrite_Jaguar                        0xe90 /* RF write addr */
> 
> I translated that as REG_LSSI_WRITE_B. Is REG_PREDISTB also a valid
> name? Do we need both names?

For the use case of 0xe90 in rtw8812a_iqk_tx_fill():

   rtw_write32_mask(rtwdev, 0xc90, BIT(7), 0x1);

"RF write addr" seems not reasonable. I suggest to define both for this case. 


> Some of these names are very different from their counterparts
> from page C. In your previous email you said:
> 
> > I think we can reuse existing definitions:
> >
> > rtw8723x.h:#define REG_OFDM_0_XA_TX_IQ_IMBALANCE        0x0c80
> > rtw8703b.h:#define REG_OFDM0_A_TX_AFE 0x0c84
> > rtw8723x.h:#define REG_OFDM_0_XB_TX_IQ_IMBALANCE        0x0c88
> >
> > #define REG_TSSI_TRK_SW 0xc8c
> >
> > rtw8821a.h:#define REG_TXAGCIDX                         0xc94
> 
> Can we reuse these definitions?

Yes. You can reuse existing first. For non-existing definition, use the names
I gave in this thread. 

Basically we can have two ways to have names. One is from vendor drivers, and
the other is from abbreviation name of RTL code, which bit name instead of
whole register name is given. Also I'm not very familiar with the functionality,
so I did just paste reasonable names for undefined magic numbers.

> >>>> +
> >>>> +const struct rtw_chip_info rtw8812a_hw_spec = {
> >>>
> >>> Is it possible moving 8812a to individual file?
> >>> Since you have rtw8812au.c and rtw8821au.c.
> >>>
> >>
> >> I think it is possible. But most of the code is common to both chips.
> >> Only the IQ calibration could be moved.
> >
> > Yep, depend on how much IQK code echo chip has.
> >
> 
> The IQ calibration for RTL8812AU is about 700 lines.

rtw8812au  -----> (a) rtw8812a 
                        |
                        v
                  (b) rtw8821a_common  (hard to give a name)
                        ^
                        |
rtw8821au  -----> (c) rtw8821a

Put all common code to (b). IQK code in (a) or (c). 

I feel you have thought above picture already. What are problems we will encounter?
Many export symbols? If so, how about below?

rtw8812au  -----> (1) rtw8812a 
    +---------+
              +-> (2) rtw8821a_common  (hard to give a name)
    +---------+
rtw8821au  -----> (3) rtw8821a

Put rtw8812a_hw_spec and rtw8821a_hw_spec in (2). Only IQK code in (1) and (3)
respectively, and export IQK entry only. Does it work?



  reply	other threads:[~2024-09-13  1:50 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-11 20:53 [PATCH 00/20] wifi: rtw88: Add support for RTL8821AU and RTL8812AU Bitterblue Smith
2024-08-11 20:54 ` [PATCH 01/20] wifi: rtw88: Add some definitions for RTL8821AU/RTL8812AU Bitterblue Smith
2024-08-15  6:34   ` Ping-Ke Shih
2024-08-11 20:54 ` [PATCH 02/20] wifi: rtw88: Dump the HW features only for some chips Bitterblue Smith
2024-08-15  6:10   ` Ping-Ke Shih
2024-08-19 17:51     ` Bitterblue Smith
2024-08-11 20:55 ` [PATCH 03/20] wifi: rtw88: Allow different C2H RA report sizes Bitterblue Smith
2024-08-15  6:14   ` Ping-Ke Shih
2024-08-19 17:52     ` Bitterblue Smith
2024-08-20  1:10       ` Ping-Ke Shih
2024-08-20 21:44         ` Bitterblue Smith
2024-08-21  0:31           ` Ping-Ke Shih
2024-08-21 11:13             ` Bitterblue Smith
2024-08-22  0:33               ` Ping-Ke Shih
2024-08-22  6:58                 ` Kalle Valo
2024-08-22 14:04                   ` Bitterblue Smith
2024-08-11 20:55 ` [PATCH 04/20] wifi: rtw88: Extend the init table parsing for RTL8812AU Bitterblue Smith
2024-08-15  6:27   ` Ping-Ke Shih
2024-08-11 20:57 ` [PATCH 05/20] wifi: rtw88: Allow rtw_chip_info.ltecoex_addr to be NULL Bitterblue Smith
2024-08-15  6:33   ` Ping-Ke Shih
2024-08-19 17:53     ` Bitterblue Smith
2024-08-20  1:15       ` Ping-Ke Shih
2024-08-11 20:57 ` [PATCH 06/20] wifi: rtw88: Let each driver control the power on/off process Bitterblue Smith
2024-08-11 20:59 ` [PATCH 07/20] wifi: rtw88: Enable data rate fallback for older chips Bitterblue Smith
2024-08-15  6:46   ` Ping-Ke Shih
2024-08-11 21:00 ` [PATCH 08/20] wifi: rtw88: Make txagc_remnant_ofdm an array Bitterblue Smith
2024-08-15  6:50   ` Ping-Ke Shih
2024-08-11 21:00 ` [PATCH 09/20] wifi: rtw88: Support TX page sizes bigger than 128 Bitterblue Smith
2024-08-15  6:52   ` Ping-Ke Shih
2024-08-11 21:01 ` [PATCH 10/20] wifi: rtw88: Move pwr_track_tbl to struct rtw_rfe_def Bitterblue Smith
2024-08-15  7:00   ` Ping-Ke Shih
2024-08-11 21:02 ` [PATCH 11/20] wifi: rtw88: usb: Set pkt_info.ls for the reserved page Bitterblue Smith
2024-08-15  7:07   ` Ping-Ke Shih
2024-08-11 21:02 ` [PATCH 12/20] wifi: rtw88: Detect beacon loss with chips other than 8822c Bitterblue Smith
2024-08-15  7:16   ` Ping-Ke Shih
2024-08-11 21:03 ` [PATCH 13/20] wifi: rtw88: coex: Support chips without a scoreboard Bitterblue Smith
2024-08-15  7:19   ` Ping-Ke Shih
2024-08-11 21:04 ` [PATCH 14/20] wifi: rtw88: 8821a: Regularly ask for BT info updates Bitterblue Smith
2024-08-15  7:26   ` Ping-Ke Shih
2024-08-11 21:05 ` [PATCH 15/20] wifi: rtw88: 8812a: Mitigate beacon loss Bitterblue Smith
2024-08-15  7:31   ` Ping-Ke Shih
2024-08-11 21:06 ` [PATCH 16/20] wifi: rtw88: Add rtw8812a_table.{c,h} Bitterblue Smith
2024-08-15  7:53   ` Ping-Ke Shih
2024-08-16  1:19   ` Ping-Ke Shih
2024-08-11 21:06 ` [PATCH 17/20] wifi: rtw88: Add rtw8821a_table.{c,h} Bitterblue Smith
2024-08-15  7:55   ` Ping-Ke Shih
2024-08-11 21:07 ` [PATCH 18/20] wifi: rtw88: Add rtw8821a.{c,h} Bitterblue Smith
2024-08-16  6:06   ` Ping-Ke Shih
2024-08-27 17:52     ` Bitterblue Smith
2024-09-10  2:30       ` Ping-Ke Shih
2024-09-12 15:59         ` Bitterblue Smith
2024-09-13  1:50           ` Ping-Ke Shih [this message]
2024-09-21 22:47             ` Bitterblue Smith
2024-09-23  5:47               ` Ping-Ke Shih
2024-09-23  5:58                 ` Ping-Ke Shih
2024-09-24 21:19                 ` Bitterblue Smith
2024-09-25  1:25                   ` Ping-Ke Shih
2024-09-25 11:28                     ` Bitterblue Smith
2024-09-26  2:27                       ` Ping-Ke Shih
2024-09-26 16:41                         ` Bitterblue Smith
2024-08-11 21:08 ` [PATCH 19/20] wifi: rtw88: Add rtw8821au.c and rtw8812au.c Bitterblue Smith
2024-08-15  7:58   ` Ping-Ke Shih
2024-08-11 21:11 ` [PATCH 20/20] wifi: rtw88: Enable the new RTL8821AU/RTL8812AU drivers Bitterblue Smith
2024-08-15  8:01   ` Ping-Ke Shih

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f583e9470ca84234ad2e00f3a0371664@realtek.com \
    --to=pkshih@realtek.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=rtl8821cerfe2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).