All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH rtw-next v2 1/3] wifi: rtw88: Pass the physical map to the read_efuse chip op
@ 2026-10-20 20:50 Bitterblue Smith
  2026-10-20 20:51 ` [PATCH rtw-next v2 2/3] wifi: rtw88: 8723b: Read the package type from efuse Bitterblue Smith
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Bitterblue Smith @ 2026-10-20 20:50 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org; +Cc: Ping-Ke Shih, Luka Gejak

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


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-10-21  4:42 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-20 20:50 [PATCH rtw-next v2 1/3] wifi: rtw88: Pass the physical map to the read_efuse chip op Bitterblue Smith
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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.