From: Ping-Ke Shih <pkshih@realtek.com>
To: Bitterblue Smith <rtl8821cerfe2@gmail.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Cc: Larry Finger <Larry.Finger@lwfinger.net>,
Stefan Lippers-Hollmann <s.l-h@gmx.de>,
Christian Hewitt <chewitt@libreelec.tv>
Subject: RE: [PATCH v5 03/11] wifi: rtlwifi: Add rtl8192du/hw.{c,h}
Date: Fri, 10 May 2024 03:04:41 +0000 [thread overview]
Message-ID: <31f28650173d40cf85fb57f87949eef7@realtek.com> (raw)
In-Reply-To: <d5d52f8d-585d-43a6-a5e6-076f24ba8410@gmail.com>
Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> These contain mostly hardware init/deinit routines for RTL8192DU.
>
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
[...]
> ---
> .../wireless/realtek/rtlwifi/rtl8192du/hw.c | 1232 +++++++++++++++++
> .../wireless/realtek/rtlwifi/rtl8192du/hw.h | 24 +
> 2 files changed, 1256 insertions(+)
> create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
> create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.h
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
> b/drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
> new file mode 100644
> index 000000000000..14a3e4685dee
> --- /dev/null
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
> @@ -0,0 +1,1232 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/* Copyright(c) 2009-2012 Realtek Corporation.*/
Please change year to 2024 across this patchset.
> +
> +#include "../wifi.h"
> +#include "../efuse.h"
> +#include "../base.h"
> +#include "../regd.h"
> +#include "../cam.h"
> +#include "../ps.h"
> +#include "../pci.h"
> +#include "../usb.h"
> +#include "../rtl8192d/reg.h"
> +#include "../rtl8192d/def.h"
> +#include "../rtl8192d/dm_common.h"
> +#include "../rtl8192d/fw_common.h"
> +#include "../rtl8192d/hw_common.h"
> +#include "../rtl8192d/phy_common.h"
> +#include "phy.h"
> +#include "dm.h"
> +#include "fw.h"
> +#include "led.h"
> +#include "hw.h"
> +#include "trx.h"
> +
> +static void _rtl92de_set_bcn_ctrl_reg(struct ieee80211_hw *hw,
> + u8 set_bits, u8 clear_bits)
Here is 8192du, so prefix should not 8192de. Also rtl92d_linked_set_reg() should
be used in common file, so we should use rtl92du_linked_set_reg() instead.
Please apply this rule across patchset.
> +{
> + struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw));
> + struct rtl_priv *rtlpriv = rtl_priv(hw);
> +
> + rtlusb->reg_bcn_ctrl_val |= set_bits;
> + rtlusb->reg_bcn_ctrl_val &= ~clear_bits;
> + rtl_write_byte(rtlpriv, REG_BCN_CTRL, (u8)rtlusb->reg_bcn_ctrl_val);
> +}
> +
[...]
> +
> +void rtl92du_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> +{
> + struct rtl_priv *rtlpriv = rtl_priv(hw);
> + struct rtl_mac *mac = rtl_mac(rtlpriv);
> +
> + switch (variable) {
> + case HW_VAR_AC_PARAM: {
> + rtl92d_dm_init_edca_turbo(hw);
> + break;
> + }
No need parenthesis for this single statement.
[...]
> +
> +static bool _rtl92de_llt_table_init(struct ieee80211_hw *hw, u8 txpktbuf_bndy)
> +{
> + struct rtl_priv *rtlpriv = rtl_priv(hw);
> + unsigned short i;
> + bool status;
> + u8 maxpage;
> +
> + if (rtlpriv->rtlhal.macphymode == SINGLEMAC_SINGLEPHY)
> + maxpage = 255;
> + else
> + maxpage = 127;
> +
> + for (i = 0; i < (txpktbuf_bndy - 1); i++) {
> + status = rtl92de_llt_write(hw, i, i + 1);
> + if (!status)
> + return status;
> + }
> +
> + /* end of list */
> + status = rtl92de_llt_write(hw, txpktbuf_bndy - 1, 0xFF);
> + if (!status)
> + return status;
> +
> + /* Make the other pages as ring buffer */
> + /* This ring buffer is used as beacon buffer if we */
> + /* config this MAC as two MAC transfer. */
> + /* Otherwise used as local loopback buffer. */
Be single one block comment.
"... loopback buffer. " contains two trailing spaces.
[...]
> +
> +int rtl92du_hw_init(struct ieee80211_hw *hw)
> +{
> + struct rtl_usb_priv *usb_priv = rtl_usbpriv(hw);
> + struct rtl_usb *rtlusb = rtl_usbdev(usb_priv);
> + struct rtl_priv *rtlpriv = rtl_priv(hw);
> + struct rtl_ps_ctl *ppsc = rtl_psc(rtlpriv);
> + struct rtl_hal *rtlhal = rtl_hal(rtlpriv);
> + struct rtl_mac *mac = rtl_mac(rtlpriv);
> + struct rtl_phy *rtlphy = &rtlpriv->phy;
> + u8 val8, txpktbuf_bndy;
> + unsigned long flags;
> + int err, i;
> + u32 val32;
> + u16 val16;
> +
> + /* As this function can take a very long time
> + * and can be called with irqs disabled, reenable the irqs
> + * to let the other devices continue being serviced.
> + *
> + * It is safe doing so since our own interrupts will only be enabled
> + * in a subsequent step.
> + */
> + local_save_flags(flags);
> + local_irq_enable();
I think you just copy and paste this chunk. I wonder if USB has the same behavior?
Driver force to enable IRQ is weird to me. Please check I this is really called
with irq disabled? If not, we can remove them.
[...]
> + local_irq_disable();
> + local_irq_restore(flags);
> +
> + return err;
> +}
> +
next prev parent reply other threads:[~2024-05-10 3:05 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-08 10:46 [PATCH v5 00/11] wifi: rtlwifi: Add new rtl8192du driver Bitterblue Smith
2024-05-08 10:47 ` [PATCH v5 01/11] wifi: rtlwifi: Add rtl8192du/table.{c,h} Bitterblue Smith
2024-05-10 1:54 ` Ping-Ke Shih
2024-05-08 10:48 ` [PATCH v5 02/11] wifi: rtlwifi: Add new members to struct rtl_priv for RTL8192DU Bitterblue Smith
2024-05-10 2:14 ` Ping-Ke Shih
2024-05-08 10:48 ` [PATCH v5 03/11] wifi: rtlwifi: Add rtl8192du/hw.{c,h} Bitterblue Smith
2024-05-10 3:04 ` Ping-Ke Shih [this message]
2024-05-12 14:34 ` Bitterblue Smith
2024-05-13 6:29 ` Ping-Ke Shih
2024-05-08 10:49 ` [PATCH v5 04/11] wifi: rtlwifi: Add rtl8192du/phy.{c,h} Bitterblue Smith
2024-05-10 3:43 ` Ping-Ke Shih
2024-05-08 10:50 ` [PATCH v5 05/11] wifi: rtlwifi: Add rtl8192du/trx.{c,h} Bitterblue Smith
2024-05-08 10:51 ` [PATCH v5 06/11] wifi: rtlwifi: Add rtl8192du/rf.{c,h} Bitterblue Smith
2024-05-08 10:52 ` [PATCH v5 07/11] wifi: rtlwifi: Add rtl8192du/fw.{c,h} and rtl8192du/led.{c,h} Bitterblue Smith
2024-05-08 10:53 ` [PATCH v5 08/11] wifi: rtlwifi: Add rtl8192du/dm.{c,h} Bitterblue Smith
2024-05-10 3:51 ` Ping-Ke Shih
2024-05-08 10:53 ` [PATCH v5 09/11] wifi: rtlwifi: Constify rtl_hal_cfg.{ops,usb_interface_cfg} and rtl_priv.cfg Bitterblue Smith
2024-05-08 10:54 ` [PATCH v5 10/11] wifi: rtlwifi: Add rtl8192du/sw.{c,h} Bitterblue Smith
2024-05-10 5:52 ` Ping-Ke Shih
2024-05-08 10:55 ` [PATCH v5 11/11] wifi: rtlwifi: Enable the new rtl8192du driver Bitterblue Smith
2024-05-10 5:46 ` kernel test robot
2024-05-10 5:57 ` Ping-Ke Shih
2024-05-10 4:00 ` [PATCH v5 00/11] wifi: rtlwifi: Add " Stefan Lippers-Hollmann
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=31f28650173d40cf85fb57f87949eef7@realtek.com \
--to=pkshih@realtek.com \
--cc=Larry.Finger@lwfinger.net \
--cc=chewitt@libreelec.tv \
--cc=linux-wireless@vger.kernel.org \
--cc=rtl8821cerfe2@gmail.com \
--cc=s.l-h@gmx.de \
/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