From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
To: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Cc: Ping-Ke Shih <pkshih@realtek.com>, Luka Gejak <luka.gejak@linux.dev>
Subject: [PATCH rtw-next v2 1/3] wifi: rtw88: Pass the physical map to the read_efuse chip op
Date: Tue, 20 Oct 2026 23:50:34 +0300 [thread overview]
Message-ID: <8e47daa4-538d-4e0a-84f9-fd4e91613ff8@gmail.com> (raw)
rtw8723b_read_efuse() will need to read a byte from the physical efuse
map, so pass the map to the read_efuse chip op.
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
---
v2:
- Patch is new in v2.
---
drivers/net/wireless/realtek/rtw88/efuse.c | 2 +-
drivers/net/wireless/realtek/rtw88/main.h | 2 +-
drivers/net/wireless/realtek/rtw88/rtw8703b.c | 4 ++--
drivers/net/wireless/realtek/rtw88/rtw8723b.c | 4 ++--
drivers/net/wireless/realtek/rtw88/rtw8723x.c | 2 +-
drivers/net/wireless/realtek/rtw88/rtw8723x.h | 7 ++++---
drivers/net/wireless/realtek/rtw88/rtw8814a.c | 2 +-
drivers/net/wireless/realtek/rtw88/rtw8821c.c | 2 +-
drivers/net/wireless/realtek/rtw88/rtw8822b.c | 2 +-
drivers/net/wireless/realtek/rtw88/rtw8822c.c | 2 +-
drivers/net/wireless/realtek/rtw88/rtw88xxa.c | 2 +-
drivers/net/wireless/realtek/rtw88/rtw88xxa.h | 2 +-
12 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtw88/efuse.c b/drivers/net/wireless/realtek/rtw88/efuse.c
index b85075cd68d0..15c57203545b 100644
--- a/drivers/net/wireless/realtek/rtw88/efuse.c
+++ b/drivers/net/wireless/realtek/rtw88/efuse.c
@@ -173,7 +173,7 @@ int rtw_parse_efuse_map(struct rtw_dev *rtwdev)
goto out_free;
}
- ret = chip->ops->read_efuse(rtwdev, log_map);
+ ret = chip->ops->read_efuse(rtwdev, log_map, phy_map);
if (ret) {
rtw_err(rtwdev, "failed to read efuse map\n");
goto out_free;
diff --git a/drivers/net/wireless/realtek/rtw88/main.h b/drivers/net/wireless/realtek/rtw88/main.h
index d59f6e323adf..6ecbeb4ffe4b 100644
--- a/drivers/net/wireless/realtek/rtw88/main.h
+++ b/drivers/net/wireless/realtek/rtw88/main.h
@@ -868,7 +868,7 @@ struct rtw_chip_ops {
int (*mac_postinit)(struct rtw_dev *rtwdev);
int (*dump_fw_crash)(struct rtw_dev *rtwdev);
void (*shutdown)(struct rtw_dev *rtwdev);
- int (*read_efuse)(struct rtw_dev *rtwdev, u8 *map);
+ int (*read_efuse)(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map);
void (*phy_set_param)(struct rtw_dev *rtwdev);
void (*set_channel)(struct rtw_dev *rtwdev, u8 channel,
u8 bandwidth, u8 primary_chan_idx);
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8703b.c b/drivers/net/wireless/realtek/rtw88/rtw8703b.c
index 25456f0367b2..8ad30a37096d 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8703b.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8703b.c
@@ -563,12 +563,12 @@ static void try_mac_from_devicetree(struct rtw_dev *rtwdev)
}
}
-static int rtw8703b_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
+static int rtw8703b_read_efuse(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map)
{
struct rtw_efuse *efuse = &rtwdev->efuse;
int ret;
- ret = rtw8723x_read_efuse(rtwdev, log_map);
+ ret = rtw8723x_read_efuse(rtwdev, log_map, phy_map);
if (ret != 0)
return ret;
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723b.c b/drivers/net/wireless/realtek/rtw88/rtw8723b.c
index 8bb9c03d769c..0179f09140ef 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8723b.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8723b.c
@@ -2349,12 +2349,12 @@ static void rtw8723b_fill_txdesc_checksum(struct rtw_dev *rtwdev,
fill_txdesc_checksum_common(txdesc, 16);
}
-static int rtw8723b_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
+static int rtw8723b_read_efuse(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map)
{
struct rtw_efuse *efuse = &rtwdev->efuse;
int ret;
- ret = rtw8723x_read_efuse(rtwdev, log_map);
+ ret = rtw8723x_read_efuse(rtwdev, log_map, phy_map);
if (ret)
return ret;
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723x.c b/drivers/net/wireless/realtek/rtw88/rtw8723x.c
index 97e6f6a62c0d..5dd306cb058e 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8723x.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8723x.c
@@ -250,7 +250,7 @@ static const u8 rtw8723x_txpwr_idx_table[] = {
0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x02
};
-static int __rtw8723x_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
+static int __rtw8723x_read_efuse(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map)
{
struct rtw_efuse *efuse = &rtwdev->efuse;
u8 *pwr = (u8 *)efuse->txpwr_idx_table;
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723x.h b/drivers/net/wireless/realtek/rtw88/rtw8723x.h
index e07b6ca99b3d..a8d42ea9a4f1 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8723x.h
+++ b/drivers/net/wireless/realtek/rtw88/rtw8723x.h
@@ -135,7 +135,7 @@ struct rtw8723x_common {
/* common functions */
void (*lck)(struct rtw_dev *rtwdev);
- int (*read_efuse)(struct rtw_dev *rtwdev, u8 *log_map);
+ int (*read_efuse)(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map);
int (*mac_init)(struct rtw_dev *rtwdev);
int (*mac_postinit)(struct rtw_dev *rtwdev);
void (*cfg_ldo25)(struct rtw_dev *rtwdev, bool enable);
@@ -434,9 +434,10 @@ static inline void rtw8723x_lck(struct rtw_dev *rtwdev)
rtw8723x_common.lck(rtwdev);
}
-static inline int rtw8723x_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
+static inline
+int rtw8723x_read_efuse(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map)
{
- return rtw8723x_common.read_efuse(rtwdev, log_map);
+ return rtw8723x_common.read_efuse(rtwdev, log_map, phy_map);
}
static inline int rtw8723x_mac_init(struct rtw_dev *rtwdev)
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8814a.c b/drivers/net/wireless/realtek/rtw88/rtw8814a.c
index fa02aa299b5e..b6916d3dc6d3 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8814a.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8814a.c
@@ -126,7 +126,7 @@ static void rtw8814a_init_hwcap(struct rtw_dev *rtwdev)
efuse->hw_cap.ant_num, efuse->hw_cap.nss);
}
-static int rtw8814a_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
+static int rtw8814a_read_efuse(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map)
{
struct rtw_efuse *efuse = &rtwdev->efuse;
struct rtw8814a_efuse *map;
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821c.c b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
index ee689fa3d87f..83ac6b732e80 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
@@ -45,7 +45,7 @@ enum rtw8821ce_rf_set {
SWITCH_TO_BT,
};
-static int rtw8821c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
+static int rtw8821c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map)
{
struct rtw_hal *hal = &rtwdev->hal;
struct rtw_efuse *efuse = &rtwdev->efuse;
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822b.c b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
index a56c8befa077..8ecf047a7ee2 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8822b.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
@@ -38,7 +38,7 @@ static void rtw8822bs_efuse_parsing(struct rtw_efuse *efuse,
ether_addr_copy(efuse->addr, map->s.mac_addr);
}
-static int rtw8822b_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
+static int rtw8822b_read_efuse(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map)
{
struct rtw_efuse *efuse = &rtwdev->efuse;
struct rtw8822b_efuse *map;
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822c.c b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
index 32d9709f2c24..09315d23e2c4 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
@@ -41,7 +41,7 @@ static void rtw8822cs_efuse_parsing(struct rtw_efuse *efuse,
ether_addr_copy(efuse->addr, map->s.mac_addr);
}
-static int rtw8822c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
+static int rtw8822c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map)
{
struct rtw_efuse *efuse = &rtwdev->efuse;
struct rtw8822c_efuse *map;
diff --git a/drivers/net/wireless/realtek/rtw88/rtw88xxa.c b/drivers/net/wireless/realtek/rtw88/rtw88xxa.c
index c298fa0fb2a6..5ffa29d18168 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw88xxa.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw88xxa.c
@@ -197,7 +197,7 @@ static void rtw88xxa_read_usb_type(struct rtw_dev *rtwdev)
efuse->hw_cap.ant_num, efuse->hw_cap.nss);
}
-int rtw88xxa_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
+int rtw88xxa_read_efuse(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map)
{
const struct rtw_chip_info *chip = rtwdev->chip;
struct rtw_efuse *efuse = &rtwdev->efuse;
diff --git a/drivers/net/wireless/realtek/rtw88/rtw88xxa.h b/drivers/net/wireless/realtek/rtw88/rtw88xxa.h
index d9c8db58909c..6597ca0dfc5d 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw88xxa.h
+++ b/drivers/net/wireless/realtek/rtw88/rtw88xxa.h
@@ -140,7 +140,7 @@ struct rtw_jaguar_phy_status_rpt {
#define RF18_BW_MASK (BIT(11) | BIT(10))
void rtw88xxa_efuse_grant(struct rtw_dev *rtwdev, bool on);
-int rtw88xxa_read_efuse(struct rtw_dev *rtwdev, u8 *log_map);
+int rtw88xxa_read_efuse(struct rtw_dev *rtwdev, u8 *log_map, u8 *phy_map);
void rtw88xxa_power_off(struct rtw_dev *rtwdev,
const struct rtw_pwr_seq_cmd *const *enter_lps_flow);
int rtw88xxa_power_on(struct rtw_dev *rtwdev);
--
2.55.0
next reply other threads:[~2026-10-20 20:50 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-20 20:50 Bitterblue Smith [this message]
2026-10-20 20:51 ` [PATCH rtw-next v2 2/3] wifi: rtw88: 8723b: Read the package type from efuse Bitterblue Smith
2026-10-21 3:42 ` Ping-Ke Shih
2026-10-21 4:41 ` Luka Gejak
2026-10-20 20:53 ` [PATCH rtw-next v2 3/3] wifi: rtw88: 8723b: Read the chip variant " Bitterblue Smith
2026-10-21 3:45 ` Ping-Ke Shih
2026-10-21 4:42 ` Luka Gejak
2026-10-21 3:39 ` [PATCH rtw-next v2 1/3] wifi: rtw88: Pass the physical map to the read_efuse chip op Ping-Ke Shih
2026-10-21 4:41 ` Luka Gejak
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=8e47daa4-538d-4e0a-84f9-fd4e91613ff8@gmail.com \
--to=rtl8821cerfe2@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=luka.gejak@linux.dev \
--cc=pkshih@realtek.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