From: Ping-Ke Shih <pkshih@realtek.com>
To: Andrey Skvortsov <andrej.skvortzov@gmail.com>,
Kalle Valo <kvalo@kernel.org>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Bitterblue Smith <rtl8821cerfe2@gmail.com>,
Fiona Klute <fiona.klute@gmx.de>
Subject: RE: [PATCH v2 1/2] wifi: rtw88: introduce callback to override phy parameters from tables
Date: Thu, 10 Jul 2025 04:46:39 +0000 [thread overview]
Message-ID: <7862f0bc08014a80be76f5513c1b6cd8@realtek.com> (raw)
In-Reply-To: <20250709223159.2787192-2-andrej.skvortzov@gmail.com>
Andrey Skvortsov <andrej.skvortzov@gmail.com> wrote:
> tables with register values for phy parameters initialization are
> copied from vendor driver usually. Sometimes these parameters has to
> be modified. When table will be regenerated, manual modifications to
> it may be lost. To avoid regressions in this case new callback
> mac_postinit is introduced, that is called after parameters from table
> are set.
>
> Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
> ---
> drivers/net/wireless/realtek/rtw88/mac.c | 11 +++++++++++
> drivers/net/wireless/realtek/rtw88/mac.h | 1 +
> drivers/net/wireless/realtek/rtw88/main.c | 6 ++++++
> drivers/net/wireless/realtek/rtw88/main.h | 1 +
> 4 files changed, 19 insertions(+)
>
> diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c
> index 011b81c82f3ba..e05d06678050d 100644
> --- a/drivers/net/wireless/realtek/rtw88/mac.c
> +++ b/drivers/net/wireless/realtek/rtw88/mac.c
> @@ -1409,3 +1409,14 @@ int rtw_mac_init(struct rtw_dev *rtwdev)
>
> return 0;
> }
> +
> +int rtw_mac_postinit(struct rtw_dev *rtwdev)
> +{
> + const struct rtw_chip_info *chip = rtwdev->chip;
> + int ret = 0;
This initializer is not necessary. See [1]
[1] http://wifibot.sipsolutions.net/results/980760/14150387/build_clang/stderr
> +
> + if (chip->ops->mac_postinit)
> + ret = chip->ops->mac_postinit(rtwdev);
> +
> + return 0;
> +}
> diff --git a/drivers/net/wireless/realtek/rtw88/mac.h b/drivers/net/wireless/realtek/rtw88/mac.h
> index e92b1483728d5..b73af90ee1d7f 100644
> --- a/drivers/net/wireless/realtek/rtw88/mac.h
> +++ b/drivers/net/wireless/realtek/rtw88/mac.h
> @@ -38,6 +38,7 @@ void rtw_write_firmware_page(struct rtw_dev *rtwdev, u32 page,
> const u8 *data, u32 size);
> int rtw_download_firmware(struct rtw_dev *rtwdev, struct rtw_fw_state *fw);
> int rtw_mac_init(struct rtw_dev *rtwdev);
> +int rtw_mac_postinit(struct rtw_dev *rtwdev);
> void rtw_mac_flush_queues(struct rtw_dev *rtwdev, u32 queues, bool drop);
> int rtw_set_trx_fifo_info(struct rtw_dev *rtwdev);
> int rtw_ddma_to_fw_fifo(struct rtw_dev *rtwdev, u32 ocp_src, u32 size);
> diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
> index 97756bdf57b27..b706c5a21a6c5 100644
> --- a/drivers/net/wireless/realtek/rtw88/main.c
> +++ b/drivers/net/wireless/realtek/rtw88/main.c
> @@ -1412,6 +1412,12 @@ int rtw_power_on(struct rtw_dev *rtwdev)
>
> chip->ops->phy_set_param(rtwdev);
>
> + ret = rtw_mac_postinit(rtwdev);
> + if (ret) {
> + rtw_err(rtwdev, "failed to configure mac in postinit\n");
> + goto err_off;
> + }
> +
> ret = rtw_hci_start(rtwdev);
> if (ret) {
> rtw_err(rtwdev, "failed to start hci\n");
> diff --git a/drivers/net/wireless/realtek/rtw88/main.h b/drivers/net/wireless/realtek/rtw88/main.h
> index b42538cce3598..43ed6d6b42919 100644
> --- a/drivers/net/wireless/realtek/rtw88/main.h
> +++ b/drivers/net/wireless/realtek/rtw88/main.h
> @@ -858,6 +858,7 @@ struct rtw_chip_ops {
> int (*power_on)(struct rtw_dev *rtwdev);
> void (*power_off)(struct rtw_dev *rtwdev);
> int (*mac_init)(struct rtw_dev *rtwdev);
> + 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);
> --
> 2.47.2
next prev parent reply other threads:[~2025-07-10 4:46 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-09 22:31 [PATCH v2 0/2] wifi: rtw88: enable TX reports for the management queue Andrey Skvortsov
2025-07-09 22:31 ` [PATCH v2 1/2] wifi: rtw88: introduce callback to override phy parameters from tables Andrey Skvortsov
2025-07-10 4:46 ` Ping-Ke Shih [this message]
2025-07-10 23:17 ` kernel test robot
2025-07-09 22:31 ` [PATCH v2 2/2] wifi: rtw88: enable TX reports for the management queue Andrey Skvortsov
2025-07-10 4:50 ` 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=7862f0bc08014a80be76f5513c1b6cd8@realtek.com \
--to=pkshih@realtek.com \
--cc=andrej.skvortzov@gmail.com \
--cc=fiona.klute@gmx.de \
--cc=kvalo@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--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 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.