forked from libretro/Lakka-LibreELEC
Fix build for Generic v5 (#1867)
* libva-utils: fix sha256 * linux: delete obsolete patches * ppsspp: set USE_SYSTEM_FFMPEG=OFF by default * show_config: update to match upstream * Fix build Generic build error ``` .../Lakka-LibreELEC/build.Lakka-Generic.x86_64-5.0-devel/toolchain/share/grub/bootx64.efi: No such file or directory ``` * Move STORAGE_SIZE default to match upstream
This commit is contained in:
config
packages
debug/libva-utils
lakka/libretro_cores/ppsspp
linux/patches/default
linux-121-rtw88-linux-next-6-2.patchlinux-122-rtw88-USB-fixes.patchlinux-122-rtw88-USB-fixes2.patchlinux-122-rtw88-fix-rcu-lock.patchlinux-122-rtw88-sdio-pre-patches-from-next-6-3.patchlinux-122-rtw88-sdio-rfc-v1.patch
tools/syslinux
scripts
@ -33,6 +33,7 @@ show_config() {
|
||||
config_message+="\n - GOLD (Google Linker) Support:\t ${GOLD_SUPPORT}"
|
||||
config_message+="\n - MOLD (Modern Linker) Support:\t ${MOLD_SUPPORT}"
|
||||
config_message+="\n - Default Linker:\t\t\t ${DEFAULT_LINKER}"
|
||||
config_message+="\n - Accelerated arm libc functions:\t ${ARM_MEM_SUPPORT}"
|
||||
config_message+="\n - LLVM support:\t\t\t ${LLVM_SUPPORT}"
|
||||
config_message+="\n - DEBUG:\t\t\t\t ${DEBUG:-no}"
|
||||
config_message+="\n - CFLAGS:\t\t\t\t ${TARGET_CFLAGS}"
|
||||
@ -62,6 +63,17 @@ show_config() {
|
||||
config_message+="\n - Include firmware:\t\t\t ${config_firmware}"
|
||||
done
|
||||
|
||||
# Image Filsystem
|
||||
|
||||
config_message+="\n\n Image Filesystems:"
|
||||
config_message+="\n ${dashes}${dashes}"
|
||||
config_message+="\n - Flash Size (MiB): \t\t\t ${SYSTEM_SIZE}"
|
||||
config_message+="\n - Storage Size (MiB): \t\t\t ${STORAGE_SIZE}"
|
||||
config_message+="\n - SquashFS Compression Method: \t ${SQUASHFS_COMPRESSION}"
|
||||
if [ -n "${SQUASHFS_COMPRESSION_OPTION}" ]; then
|
||||
config_message+="\n - SquashFS Compression Options: \t ${SQUASHFS_COMPRESSION_OPTION}"
|
||||
fi
|
||||
|
||||
# Misc. Filesystems
|
||||
|
||||
config_message+="\n\n Misc. Filesystems:"
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PKG_NAME="libva-utils"
|
||||
PKG_VERSION="2.18.1"
|
||||
PKG_SHA256="79da4a683dc4b10639edd7ad4c9434789ef208f5361f87aca9bc986a4ebcb155"
|
||||
PKG_SHA256="724a54524d9156967d3508f294ce5c45d94cb8f7326537c24ee7fcf59e70de91"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/01org/libva-utils"
|
||||
PKG_URL="https://github.com/intel/libva-utils/archive/${PKG_VERSION}.tar.gz"
|
||||
|
@ -11,15 +11,12 @@ PKG_LR_UPDATE_TAG="yes"
|
||||
PKG_CMAKE_OPTS_TARGET="-DLIBRETRO=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DUSE_FFMPEG=ON \
|
||||
-DUSE_SYSTEM_FFMPEG=ON \
|
||||
-DUSE_SYSTEM_FFMPEG=OFF \
|
||||
-DUSE_SYSTEM_LIBZIP=ON \
|
||||
-DUSE_SYSTEM_LIBPNG=ON \
|
||||
-DUSE_SYSTEM_ZSTD=ON \
|
||||
-DUSE_DISCORD=OFF \
|
||||
-DUSE_MINIUPNPC=OFF"
|
||||
if [ "${PROJECT}" = "L4T" -a "${DEVICE}" = "Switch" ]; then
|
||||
PKG_CMAKE_OPTS_TARGET=${PKG_CMAKE_OPTS_TARGET//-DUSE_SYSTEM_FFMPEG=ON/-DUSE_SYSTEM_FFMPEG=OFF}
|
||||
fi
|
||||
|
||||
if [ "${OPENGL_SUPPORT}" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGL}"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,231 +0,0 @@
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Neo Jou <neojou@gmail.com>, Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Ping-Ke Shih <pkshih@realtek.com>,
|
||||
Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
|
||||
kernel@pengutronix.de, Alexander Hochbaum <alex@appudo.com>,
|
||||
Da Xue <da@libre.computer>, Po-Hao Huang <phhuang@realtek.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH v2 0/3] wifi: rtw88: USB fixes
|
||||
Date: Fri, 10 Feb 2023 12:16:29 +0100
|
||||
Message-Id: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.30.2
|
||||
MIME-Version: 1.0
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de);
|
||||
SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
This series addresses issues for the recently added RTW88 USB support
|
||||
reported by Andreas Henriksson and also our customer.
|
||||
|
||||
The hardware can't handle urbs that have a size of multiple of the
|
||||
bulkout_size (usually 512 bytes). The symptom is that the hardware
|
||||
stalls completely. The issue can be reproduced by sending a suitably
|
||||
sized ping packet from the device:
|
||||
|
||||
ping -s 394 <somehost>
|
||||
|
||||
(It's 394 bytes here on a RTL8822CU and RTL8821CU, the actual size may
|
||||
differ on other chips, it was 402 bytes on a RTL8723DU)
|
||||
|
||||
Other than that qsel was not set correctly. The sympton here is that
|
||||
only one of multiple bulk endpoints was used to send data.
|
||||
|
||||
Changes since v1:
|
||||
- Use URB_ZERO_PACKET to let the USB host controller handle it automatically
|
||||
rather than working around the issue.
|
||||
|
||||
Sascha Hauer (3):
|
||||
wifi: rtw88: usb: Set qsel correctly
|
||||
wifi: rtw88: usb: send Zero length packets if necessary
|
||||
wifi: rtw88: usb: drop now unnecessary URB size check
|
||||
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 18 +++---------------
|
||||
1 file changed, 3 insertions(+), 15 deletions(-)
|
||||
Reported-by: Andreas Henriksson <andreas@fatal.se>
|
||||
Tested-by: Andreas Henriksson <andreas@fatal.se>
|
||||
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Neo Jou <neojou@gmail.com>, Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Ping-Ke Shih <pkshih@realtek.com>,
|
||||
Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
|
||||
kernel@pengutronix.de, Alexander Hochbaum <alex@appudo.com>,
|
||||
Da Xue <da@libre.computer>, Po-Hao Huang <phhuang@realtek.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH v2 1/3] wifi: rtw88: usb: Set qsel correctly
|
||||
Date: Fri, 10 Feb 2023 12:16:30 +0100
|
||||
Message-Id: <20230210111632.1985205-2-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.30.2
|
||||
In-Reply-To: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
References: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
MIME-Version: 1.0
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de);
|
||||
SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
We have to extract qsel from the skb before doing skb_push() on it,
|
||||
otherwise qsel will always be 0.
|
||||
|
||||
Fixes: a82dfd33d1237 ("wifi: rtw88: Add common USB chip support")
|
||||
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
index 4ef38279b64c9..d9e995544e405 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
@@ -471,9 +471,9 @@ static int rtw_usb_tx_write(struct rtw_dev *rtwdev,
|
||||
u8 *pkt_desc;
|
||||
int ep;
|
||||
|
||||
+ pkt_info->qsel = rtw_usb_tx_queue_mapping_to_qsel(skb);
|
||||
pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz);
|
||||
memset(pkt_desc, 0, chip->tx_pkt_desc_sz);
|
||||
- pkt_info->qsel = rtw_usb_tx_queue_mapping_to_qsel(skb);
|
||||
ep = qsel_to_ep(rtwusb, pkt_info->qsel);
|
||||
rtw_tx_fill_tx_desc(pkt_info, skb);
|
||||
rtw_tx_fill_txdesc_checksum(rtwdev, pkt_info, skb->data);
|
||||
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Neo Jou <neojou@gmail.com>, Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Ping-Ke Shih <pkshih@realtek.com>,
|
||||
Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
|
||||
kernel@pengutronix.de, Alexander Hochbaum <alex@appudo.com>,
|
||||
Da Xue <da@libre.computer>, Po-Hao Huang <phhuang@realtek.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH v2 2/3] wifi: rtw88: usb: send Zero length packets if
|
||||
necessary
|
||||
Date: Fri, 10 Feb 2023 12:16:31 +0100
|
||||
Message-Id: <20230210111632.1985205-3-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.30.2
|
||||
In-Reply-To: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
References: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
MIME-Version: 1.0
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de);
|
||||
SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
Zero length packets are necessary when sending URBs with size
|
||||
multiple of bulkout_size, otherwise the hardware just stalls.
|
||||
|
||||
Fixes: a82dfd33d1237 ("wifi: rtw88: Add common USB chip support")
|
||||
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
index d9e995544e405..1a09c9288198a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
@@ -271,6 +271,7 @@ static int rtw_usb_write_port(struct rtw_dev *rtwdev, u8 qsel, struct sk_buff *s
|
||||
return -ENOMEM;
|
||||
|
||||
usb_fill_bulk_urb(urb, usbd, pipe, skb->data, skb->len, cb, context);
|
||||
+ urb->transfer_flags |= URB_ZERO_PACKET;
|
||||
ret = usb_submit_urb(urb, GFP_ATOMIC);
|
||||
|
||||
usb_free_urb(urb);
|
||||
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Neo Jou <neojou@gmail.com>, Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Ping-Ke Shih <pkshih@realtek.com>,
|
||||
Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
|
||||
kernel@pengutronix.de, Alexander Hochbaum <alex@appudo.com>,
|
||||
Da Xue <da@libre.computer>, Po-Hao Huang <phhuang@realtek.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH v2 3/3] wifi: rtw88: usb: drop now unnecessary URB size check
|
||||
Date: Fri, 10 Feb 2023 12:16:32 +0100
|
||||
Message-Id: <20230210111632.1985205-4-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.30.2
|
||||
In-Reply-To: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
References: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
MIME-Version: 1.0
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de);
|
||||
SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
Now that we send URBs with the URB_ZERO_PACKET flag set we no longer
|
||||
need to make sure that the URB sizes are not multiple of the
|
||||
bulkout_size. Drop the check.
|
||||
|
||||
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 15 +--------------
|
||||
1 file changed, 1 insertion(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
index 1a09c9288198a..2a8336b1847a5 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
@@ -414,24 +414,11 @@ static int rtw_usb_write_data_rsvd_page(struct rtw_dev *rtwdev, u8 *buf,
|
||||
u32 size)
|
||||
{
|
||||
const struct rtw_chip_info *chip = rtwdev->chip;
|
||||
- struct rtw_usb *rtwusb;
|
||||
struct rtw_tx_pkt_info pkt_info = {0};
|
||||
- u32 len, desclen;
|
||||
-
|
||||
- rtwusb = rtw_get_usb_priv(rtwdev);
|
||||
|
||||
pkt_info.tx_pkt_size = size;
|
||||
pkt_info.qsel = TX_DESC_QSEL_BEACON;
|
||||
-
|
||||
- desclen = chip->tx_pkt_desc_sz;
|
||||
- len = desclen + size;
|
||||
- if (len % rtwusb->bulkout_size == 0) {
|
||||
- len += RTW_USB_PACKET_OFFSET_SZ;
|
||||
- pkt_info.offset = desclen + RTW_USB_PACKET_OFFSET_SZ;
|
||||
- pkt_info.pkt_offset = 1;
|
||||
- } else {
|
||||
- pkt_info.offset = desclen;
|
||||
- }
|
||||
+ pkt_info.offset = chip->tx_pkt_desc_sz;
|
||||
|
||||
return rtw_usb_write_data(rtwdev, &pkt_info, buf);
|
||||
}
|
@ -1,277 +0,0 @@
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless <linux-wireless@vger.kernel.org>
|
||||
Cc: Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Larry Finger <Larry.Finger@lwfinger.net>,
|
||||
Pkshih <pkshih@realtek.com>, Tim K <tpkuester@gmail.com>,
|
||||
"Alex G ." <mr.nuke.me@gmail.com>,
|
||||
Nick Morrow <morrownr@gmail.com>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
ValdikSS <iam@valdikss.org.ru>, kernel@pengutronix.de,
|
||||
stable@vger.kernel.org, Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH 0/2] RTW88 USB bug fixes
|
||||
Date: Fri, 31 Mar 2023 14:10:52 +0200
|
||||
Message-Id: <20230331121054.112758-1-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.39.2
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
This series fixes two bugs in the RTW88 USB driver I was reported from
|
||||
several people and that I also encountered myself.
|
||||
|
||||
The first one resulted in "timed out to flush queue 3" messages from the
|
||||
driver and sometimes a complete stall of the TX queues.
|
||||
|
||||
The second one is specific to the RTW8821CU chipset. Here 2GHz networks
|
||||
were hardly seen and impossible to connect to. This goes down to
|
||||
misinterpreting the rfe_option field in the efuse.
|
||||
|
||||
Sascha Hauer (2):
|
||||
wifi: rtw88: usb: fix priority queue to endpoint mapping
|
||||
wifi: rtw88: rtw8821c: Fix rfe_option field width
|
||||
|
||||
drivers/net/wireless/realtek/rtw88/rtw8821c.c | 3 +-
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 70 +++++++++++++------
|
||||
2 files changed, 48 insertions(+), 25 deletions(-)
|
||||
|
||||
--
|
||||
2.39.2
|
||||
|
||||
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless <linux-wireless@vger.kernel.org>
|
||||
Cc: Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Larry Finger <Larry.Finger@lwfinger.net>,
|
||||
Pkshih <pkshih@realtek.com>, Tim K <tpkuester@gmail.com>,
|
||||
"Alex G ." <mr.nuke.me@gmail.com>,
|
||||
Nick Morrow <morrownr@gmail.com>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
ValdikSS <iam@valdikss.org.ru>, kernel@pengutronix.de,
|
||||
stable@vger.kernel.org, Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH 1/2] wifi: rtw88: usb: fix priority queue to endpoint mapping
|
||||
Date: Fri, 31 Mar 2023 14:10:53 +0200
|
||||
Message-Id: <20230331121054.112758-2-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.39.2
|
||||
In-Reply-To: <20230331121054.112758-1-s.hauer@pengutronix.de>
|
||||
References: <20230331121054.112758-1-s.hauer@pengutronix.de>
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
The RTW88 chipsets have four different priority queues in hardware. For
|
||||
the USB type chipsets the packets destined for a specific priority queue
|
||||
must be sent through the endpoint corresponding to the queue. This was
|
||||
not fully understood when porting from the RTW88 USB out of tree driver
|
||||
and thus violated.
|
||||
|
||||
This patch implements the qsel to endpoint mapping as in
|
||||
get_usb_bulkout_id_88xx() in the downstream driver.
|
||||
|
||||
Without this the driver often issues "timed out to flush queue 3"
|
||||
warnings and often TX stalls completely.
|
||||
|
||||
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 70 ++++++++++++++++--------
|
||||
1 file changed, 47 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
index 2a8336b1847a5..a10d6fef4ffaf 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
@@ -118,6 +118,22 @@ static void rtw_usb_write32(struct rtw_dev *rtwdev, u32 addr, u32 val)
|
||||
rtw_usb_write(rtwdev, addr, val, 4);
|
||||
}
|
||||
|
||||
+static int dma_mapping_to_ep(enum rtw_dma_mapping dma_mapping)
|
||||
+{
|
||||
+ switch (dma_mapping) {
|
||||
+ case RTW_DMA_MAPPING_HIGH:
|
||||
+ return 0;
|
||||
+ case RTW_DMA_MAPPING_NORMAL:
|
||||
+ return 1;
|
||||
+ case RTW_DMA_MAPPING_LOW:
|
||||
+ return 2;
|
||||
+ case RTW_DMA_MAPPING_EXTRA:
|
||||
+ return 3;
|
||||
+ default:
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static int rtw_usb_parse(struct rtw_dev *rtwdev,
|
||||
struct usb_interface *interface)
|
||||
{
|
||||
@@ -129,6 +145,8 @@ static int rtw_usb_parse(struct rtw_dev *rtwdev,
|
||||
int num_out_pipes = 0;
|
||||
int i;
|
||||
u8 num;
|
||||
+ const struct rtw_chip_info *chip = rtwdev->chip;
|
||||
+ const struct rtw_rqpn *rqpn;
|
||||
|
||||
for (i = 0; i < interface_desc->bNumEndpoints; i++) {
|
||||
endpoint = &host_interface->endpoint[i].desc;
|
||||
@@ -183,31 +201,34 @@ static int rtw_usb_parse(struct rtw_dev *rtwdev,
|
||||
|
||||
rtwdev->hci.bulkout_num = num_out_pipes;
|
||||
|
||||
- switch (num_out_pipes) {
|
||||
- case 4:
|
||||
- case 3:
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID0] = 2;
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID1] = 2;
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID2] = 2;
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID3] = 2;
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID4] = 1;
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID5] = 1;
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID6] = 0;
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID7] = 0;
|
||||
- break;
|
||||
- case 2:
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID0] = 1;
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID1] = 1;
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID2] = 1;
|
||||
- rtwusb->qsel_to_ep[TX_DESC_QSEL_TID3] = 1;
|
||||
- break;
|
||||
- case 1:
|
||||
- break;
|
||||
- default:
|
||||
- rtw_err(rtwdev, "failed to get out_pipes(%d)\n", num_out_pipes);
|
||||
+ if (num_out_pipes < 1 || num_out_pipes > 4) {
|
||||
+ rtw_err(rtwdev, "invalid number of endpoints %d\n", num_out_pipes);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
+ rqpn = &chip->rqpn_table[num_out_pipes];
|
||||
+
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID0] = dma_mapping_to_ep(rqpn->dma_map_be);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID1] = dma_mapping_to_ep(rqpn->dma_map_bk);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID2] = dma_mapping_to_ep(rqpn->dma_map_bk);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID3] = dma_mapping_to_ep(rqpn->dma_map_be);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID4] = dma_mapping_to_ep(rqpn->dma_map_vi);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID5] = dma_mapping_to_ep(rqpn->dma_map_vi);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID6] = dma_mapping_to_ep(rqpn->dma_map_vo);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID7] = dma_mapping_to_ep(rqpn->dma_map_vo);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID8] = -EINVAL;
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID9] = -EINVAL;
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID10] = -EINVAL;
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID11] = -EINVAL;
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID12] = -EINVAL;
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID13] = -EINVAL;
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID14] = -EINVAL;
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_TID15] = -EINVAL;
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_BEACON] = dma_mapping_to_ep(rqpn->dma_map_hi);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_HIGH] = dma_mapping_to_ep(rqpn->dma_map_hi);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_MGMT] = dma_mapping_to_ep(rqpn->dma_map_mg);
|
||||
+ rtwusb->qsel_to_ep[TX_DESC_QSEL_H2C] = dma_mapping_to_ep(rqpn->dma_map_hi);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -250,7 +271,7 @@ static void rtw_usb_write_port_tx_complete(struct urb *urb)
|
||||
static int qsel_to_ep(struct rtw_usb *rtwusb, unsigned int qsel)
|
||||
{
|
||||
if (qsel >= ARRAY_SIZE(rtwusb->qsel_to_ep))
|
||||
- return 0;
|
||||
+ return -EINVAL;
|
||||
|
||||
return rtwusb->qsel_to_ep[qsel];
|
||||
}
|
||||
@@ -265,6 +286,9 @@ static int rtw_usb_write_port(struct rtw_dev *rtwdev, u8 qsel, struct sk_buff *s
|
||||
int ret;
|
||||
int ep = qsel_to_ep(rtwusb, qsel);
|
||||
|
||||
+ if (ep < 0)
|
||||
+ return ep;
|
||||
+
|
||||
pipe = usb_sndbulkpipe(usbd, rtwusb->out_ep[ep]);
|
||||
urb = usb_alloc_urb(0, GFP_ATOMIC);
|
||||
if (!urb)
|
||||
--
|
||||
2.39.2
|
||||
|
||||
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless <linux-wireless@vger.kernel.org>
|
||||
Cc: Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Larry Finger <Larry.Finger@lwfinger.net>,
|
||||
Pkshih <pkshih@realtek.com>, Tim K <tpkuester@gmail.com>,
|
||||
"Alex G ." <mr.nuke.me@gmail.com>,
|
||||
Nick Morrow <morrownr@gmail.com>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
ValdikSS <iam@valdikss.org.ru>, kernel@pengutronix.de,
|
||||
stable@vger.kernel.org, Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH 2/2] wifi: rtw88: rtw8821c: Fix rfe_option field width
|
||||
Date: Fri, 31 Mar 2023 14:10:54 +0200
|
||||
Message-Id: <20230331121054.112758-3-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.39.2
|
||||
In-Reply-To: <20230331121054.112758-1-s.hauer@pengutronix.de>
|
||||
References: <20230331121054.112758-1-s.hauer@pengutronix.de>
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
On my RTW8821CU chipset rfe_option reads as 0x22. Looking at the
|
||||
downstream driver suggests that the field width of rfe_option is 5 bit,
|
||||
so rfe_option should be masked with 0x1f.
|
||||
|
||||
Without this the rfe_option comparisons with 2 further down the
|
||||
driver evaluate as false when they should really evaluate as true.
|
||||
The effect is that 2G channels do not work.
|
||||
|
||||
rfe_option is also used as an array index into rtw8821c_rfe_defs[].
|
||||
rtw8821c_rfe_defs[34] (0x22) was added as part of adding USB support,
|
||||
likely because rfe_option reads as 0x22. As this now becomes 0x2,
|
||||
rtw8821c_rfe_defs[34] is no longer used and can be removed.
|
||||
|
||||
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/rtw8821c.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821c.c b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
||||
index 17f800f6efbd0..67efa58dd78ee 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
||||
@@ -47,7 +47,7 @@ static int rtw8821c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
|
||||
|
||||
map = (struct rtw8821c_efuse *)log_map;
|
||||
|
||||
- efuse->rfe_option = map->rfe_option;
|
||||
+ efuse->rfe_option = map->rfe_option & 0x1f;
|
||||
efuse->rf_board_option = map->rf_board_option;
|
||||
efuse->crystal_cap = map->xtal_k;
|
||||
efuse->pa_type_2g = map->pa_type;
|
||||
@@ -1537,7 +1537,6 @@ static const struct rtw_rfe_def rtw8821c_rfe_defs[] = {
|
||||
[2] = RTW_DEF_RFE_EXT(8821c, 0, 0, 2),
|
||||
[4] = RTW_DEF_RFE_EXT(8821c, 0, 0, 2),
|
||||
[6] = RTW_DEF_RFE(8821c, 0, 0),
|
||||
- [34] = RTW_DEF_RFE(8821c, 0, 0),
|
||||
};
|
||||
|
||||
static struct rtw_hw_reg rtw8821c_dig[] = {
|
||||
--
|
||||
2.39.2
|
||||
|
||||
|
@ -1,303 +0,0 @@
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: tony0620emma@gmail.com, kvalo@kernel.org, pkshih@realtek.com,
|
||||
s.hauer@pengutronix.de, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Subject: [PATCH v3 0/3] wifi: rtw88: Three locking fixes for existing code
|
||||
Date: Sun, 8 Jan 2023 22:13:21 +0100
|
||||
Message-Id: <20230108211324.442823-1-martin.blumenstingl@googlemail.com>
|
||||
X-Mailer: git-send-email 2.39.0
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
This series consists of three patches which are fixing existing
|
||||
behavior (meaning: it either affects PCIe or USB or both) in the rtw88
|
||||
driver.
|
||||
We previously had discussed patches for these locking issues while
|
||||
working on SDIO support, but the problem never ocurred while testing
|
||||
USB cards. It turns out that these are still needed and I think that
|
||||
they also fix the same problems for USB users (it's not clear how often
|
||||
it happens there though) - and possibly even PCIe card users.
|
||||
|
||||
The issue fixed by the second and third patches have been spotted by a
|
||||
user who tested rtw88 SDIO support. Everything is working fine for him
|
||||
but there are warnings [1] and [2] in the kernel log stating "Voluntary
|
||||
context switch within RCU read-side critical section!".
|
||||
|
||||
The solution in the third and fourth patch was actually suggested by
|
||||
Ping-Ke in [3]. Thanks again!
|
||||
|
||||
These fixes are indepdent of my other series adding SDIO support to the
|
||||
rtw88 driver, meaning they can be added to the wireless driver tree on
|
||||
top of Linux 6.2-rc1 or linux-next.
|
||||
|
||||
|
||||
Changes since v1 at [4]:
|
||||
- Keep the u8 bitfields in patch 1 but split the res2 field into res2_1
|
||||
and res2_2 as suggested by Ping-Ke
|
||||
- Added Ping-Ke's reviewed-by to patches 2-4 - thank you!
|
||||
- Added a paragraph in the cover-letter to avoid confusion whether
|
||||
these patches depend on the rtw88 SDIO support series
|
||||
|
||||
Changes since v2 at [5]:
|
||||
- Added Ping-Ke's Reviewed-by and Sascha's Tested-by (thanks to both of
|
||||
you!)
|
||||
- Dropped patch 1/4 "rtw88: Add packed attribute to the eFuse structs"
|
||||
This requires more discussion. I'll send a separate patch for this.
|
||||
- Updated cover letter title so it's clear that this is independent of
|
||||
SDIO support code
|
||||
|
||||
|
||||
[0] https://lore.kernel.org/linux-wireless/695c976e02ed44a2b2345a3ceb226fc4@realtek.com/
|
||||
[1] https://github.com/LibreELEC/LibreELEC.tv/pull/7301#issuecomment-1366421445
|
||||
[2] https://github.com/LibreELEC/LibreELEC.tv/pull/7301#issuecomment-1366610249
|
||||
[3] https://lore.kernel.org/lkml/e0aa1ba4336ab130712e1fcb425e6fd0adca4145.camel@realtek.com/
|
||||
[4] https://lore.kernel.org/linux-wireless/20221228133547.633797-1-martin.blumenstingl@googlemail.com/
|
||||
[5] https://lore.kernel.org/linux-wireless/20221229124845.1155429-1-martin.blumenstingl@googlemail.com/
|
||||
|
||||
|
||||
Martin Blumenstingl (3):
|
||||
wifi: rtw88: Move register access from rtw_bf_assoc() outside the RCU
|
||||
wifi: rtw88: Use rtw_iterate_vifs() for rtw_vif_watch_dog_iter()
|
||||
wifi: rtw88: Use non-atomic sta iterator in rtw_ra_mask_info_update()
|
||||
|
||||
drivers/net/wireless/realtek/rtw88/bf.c | 13 +++++++------
|
||||
drivers/net/wireless/realtek/rtw88/mac80211.c | 4 +++-
|
||||
drivers/net/wireless/realtek/rtw88/main.c | 6 ++++--
|
||||
3 files changed, 14 insertions(+), 9 deletions(-)
|
||||
|
||||
--
|
||||
2.39.0
|
||||
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: tony0620emma@gmail.com, kvalo@kernel.org, pkshih@realtek.com,
|
||||
s.hauer@pengutronix.de, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Subject: [PATCH v3 1/3] wifi: rtw88: Move register access from rtw_bf_assoc() outside the RCU
|
||||
Date: Sun, 8 Jan 2023 22:13:22 +0100
|
||||
Message-Id: <20230108211324.442823-2-martin.blumenstingl@googlemail.com>
|
||||
X-Mailer: git-send-email 2.39.0
|
||||
In-Reply-To: <20230108211324.442823-1-martin.blumenstingl@googlemail.com>
|
||||
References: <20230108211324.442823-1-martin.blumenstingl@googlemail.com>
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
USB and (upcoming) SDIO support may sleep in the read/write handlers.
|
||||
Shrink the RCU critical section so it only cover the call to
|
||||
ieee80211_find_sta() and finding the ic_vht_cap/vht_cap based on the
|
||||
found station. This moves the chip's BFEE configuration outside the
|
||||
rcu_read_lock section and thus prevent "scheduling while atomic" or
|
||||
"Voluntary context switch within RCU read-side critical section!"
|
||||
warnings when accessing the registers using an SDIO card (which is
|
||||
where this issue has been spotted in the real world - but it also
|
||||
affects USB cards).
|
||||
|
||||
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
v1 -> v2:
|
||||
- Added Ping-Ke's Reviewed-by (thank you!)
|
||||
|
||||
v2 -> v3:
|
||||
- Added Sascha's Tested-by (thank you!)
|
||||
- added "wifi" prefix to the subject and reworded the title accordingly
|
||||
|
||||
|
||||
drivers/net/wireless/realtek/rtw88/bf.c | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/bf.c b/drivers/net/wireless/realtek/rtw88/bf.c
|
||||
index 038a30b170ef..c827c4a2814b 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/bf.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/bf.c
|
||||
@@ -49,19 +49,23 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
|
||||
|
||||
sta = ieee80211_find_sta(vif, bssid);
|
||||
if (!sta) {
|
||||
+ rcu_read_unlock();
|
||||
+
|
||||
rtw_warn(rtwdev, "failed to find station entry for bss %pM\n",
|
||||
bssid);
|
||||
- goto out_unlock;
|
||||
+ return;
|
||||
}
|
||||
|
||||
ic_vht_cap = &hw->wiphy->bands[NL80211_BAND_5GHZ]->vht_cap;
|
||||
vht_cap = &sta->deflink.vht_cap;
|
||||
|
||||
+ rcu_read_unlock();
|
||||
+
|
||||
if ((ic_vht_cap->cap & IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE) &&
|
||||
(vht_cap->cap & IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE)) {
|
||||
if (bfinfo->bfer_mu_cnt >= chip->bfer_mu_max_num) {
|
||||
rtw_dbg(rtwdev, RTW_DBG_BF, "mu bfer number over limit\n");
|
||||
- goto out_unlock;
|
||||
+ return;
|
||||
}
|
||||
|
||||
ether_addr_copy(bfee->mac_addr, bssid);
|
||||
@@ -75,7 +79,7 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
|
||||
(vht_cap->cap & IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE)) {
|
||||
if (bfinfo->bfer_su_cnt >= chip->bfer_su_max_num) {
|
||||
rtw_dbg(rtwdev, RTW_DBG_BF, "su bfer number over limit\n");
|
||||
- goto out_unlock;
|
||||
+ return;
|
||||
}
|
||||
|
||||
sound_dim = vht_cap->cap &
|
||||
@@ -98,9 +102,6 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
|
||||
|
||||
rtw_chip_config_bfee(rtwdev, rtwvif, bfee, true);
|
||||
}
|
||||
-
|
||||
-out_unlock:
|
||||
- rcu_read_unlock();
|
||||
}
|
||||
|
||||
void rtw_bf_init_bfer_entry_mu(struct rtw_dev *rtwdev,
|
||||
--
|
||||
2.39.0
|
||||
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: tony0620emma@gmail.com, kvalo@kernel.org, pkshih@realtek.com,
|
||||
s.hauer@pengutronix.de, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Subject: [PATCH v3 2/3] wifi: rtw88: Use rtw_iterate_vifs() for rtw_vif_watch_dog_iter()
|
||||
Date: Sun, 8 Jan 2023 22:13:23 +0100
|
||||
Message-Id: <20230108211324.442823-3-martin.blumenstingl@googlemail.com>
|
||||
X-Mailer: git-send-email 2.39.0
|
||||
In-Reply-To: <20230108211324.442823-1-martin.blumenstingl@googlemail.com>
|
||||
References: <20230108211324.442823-1-martin.blumenstingl@googlemail.com>
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
USB and (upcoming) SDIO support may sleep in the read/write handlers.
|
||||
Make rtw_watch_dog_work() use rtw_iterate_vifs() to prevent "scheduling
|
||||
while atomic" or "Voluntary context switch within RCU read-side
|
||||
critical section!" warnings when accessing the registers using an SDIO
|
||||
card (which is where this issue has been spotted in the real world but
|
||||
it also affects USB cards).
|
||||
|
||||
Fixes: 78d5bf925f30 ("wifi: rtw88: iterate over vif/sta list non-atomically")
|
||||
Suggested-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
v1 -> v2:
|
||||
- no change
|
||||
|
||||
v2 -> v3:
|
||||
- Added Ping-Ke's Reviewed-by (thank you!)
|
||||
- Added Sascha's Tested-by (thank you!)
|
||||
- added "wifi" prefix to the subject and reworded the title accordingly
|
||||
|
||||
|
||||
drivers/net/wireless/realtek/rtw88/main.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
|
||||
index 888427cf3bdf..b2e78737bd5d 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/main.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/main.c
|
||||
@@ -241,8 +241,10 @@ static void rtw_watch_dog_work(struct work_struct *work)
|
||||
rtw_phy_dynamic_mechanism(rtwdev);
|
||||
|
||||
data.rtwdev = rtwdev;
|
||||
- /* use atomic version to avoid taking local->iflist_mtx mutex */
|
||||
- rtw_iterate_vifs_atomic(rtwdev, rtw_vif_watch_dog_iter, &data);
|
||||
+ /* rtw_iterate_vifs internally uses an atomic iterator which is needed
|
||||
+ * to avoid taking local->iflist_mtx mutex
|
||||
+ */
|
||||
+ rtw_iterate_vifs(rtwdev, rtw_vif_watch_dog_iter, &data);
|
||||
|
||||
/* fw supports only one station associated to enter lps, if there are
|
||||
* more than two stations associated to the AP, then we can not enter
|
||||
--
|
||||
2.39.0
|
||||
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: tony0620emma@gmail.com, kvalo@kernel.org, pkshih@realtek.com,
|
||||
s.hauer@pengutronix.de, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Subject: [PATCH v3 3/3] wifi: rtw88: Use non-atomic sta iterator in rtw_ra_mask_info_update()
|
||||
Date: Sun, 8 Jan 2023 22:13:24 +0100
|
||||
Message-Id: <20230108211324.442823-4-martin.blumenstingl@googlemail.com>
|
||||
X-Mailer: git-send-email 2.39.0
|
||||
In-Reply-To: <20230108211324.442823-1-martin.blumenstingl@googlemail.com>
|
||||
References: <20230108211324.442823-1-martin.blumenstingl@googlemail.com>
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
USB and (upcoming) SDIO support may sleep in the read/write handlers.
|
||||
Use non-atomic rtw_iterate_stas() in rtw_ra_mask_info_update() because
|
||||
the iterator function rtw_ra_mask_info_update_iter() needs to read and
|
||||
write registers from within rtw_update_sta_info(). Using the non-atomic
|
||||
iterator ensures that we can sleep during USB and SDIO register reads
|
||||
and writes. This fixes "scheduling while atomic" or "Voluntary context
|
||||
switch within RCU read-side critical section!" warnings as seen by SDIO
|
||||
card users (but it also affects USB cards).
|
||||
|
||||
Fixes: 78d5bf925f30 ("wifi: rtw88: iterate over vif/sta list non-atomically")
|
||||
Suggested-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
v1 -> v2:
|
||||
- Added Ping-Ke's Reviewed-by (thank you!)
|
||||
|
||||
v2 -> v3:
|
||||
- Added Sascha's Tested-by (thank you!)
|
||||
- added "wifi" prefix to the subject and reworded the title accordingly
|
||||
|
||||
|
||||
drivers/net/wireless/realtek/rtw88/mac80211.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/mac80211.c b/drivers/net/wireless/realtek/rtw88/mac80211.c
|
||||
index 776a9a9884b5..3b92ac611d3f 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/mac80211.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/mac80211.c
|
||||
@@ -737,7 +737,7 @@ static void rtw_ra_mask_info_update(struct rtw_dev *rtwdev,
|
||||
br_data.rtwdev = rtwdev;
|
||||
br_data.vif = vif;
|
||||
br_data.mask = mask;
|
||||
- rtw_iterate_stas_atomic(rtwdev, rtw_ra_mask_info_update_iter, &br_data);
|
||||
+ rtw_iterate_stas(rtwdev, rtw_ra_mask_info_update_iter, &br_data);
|
||||
}
|
||||
|
||||
static int rtw_ops_set_bitrate_mask(struct ieee80211_hw *hw,
|
||||
@@ -746,7 +746,9 @@ static int rtw_ops_set_bitrate_mask(struct ieee80211_hw *hw,
|
||||
{
|
||||
struct rtw_dev *rtwdev = hw->priv;
|
||||
|
||||
+ mutex_lock(&rtwdev->mutex);
|
||||
rtw_ra_mask_info_update(rtwdev, vif, mask);
|
||||
+ mutex_unlock(&rtwdev->mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.39.0
|
||||
|
@ -1,784 +0,0 @@
|
||||
From mboxrd@z Thu Jan 1 00:00:00 1970
|
||||
Return-Path: <linux-wireless-owner@vger.kernel.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
|
||||
aws-us-west-2-korg-lkml-1.web.codeaurora.org
|
||||
Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
|
||||
by smtp.lore.kernel.org (Postfix) with ESMTP id 00655C4708D
|
||||
for <linux-wireless@archiver.kernel.org>; Tue, 27 Dec 2022 23:30:41 +0000 (UTC)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S231630AbiL0Xaj (ORCPT
|
||||
<rfc822;linux-wireless@archiver.kernel.org>);
|
||||
Tue, 27 Dec 2022 18:30:39 -0500
|
||||
Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56954 "EHLO
|
||||
lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S229583AbiL0Xai (ORCPT
|
||||
<rfc822;linux-wireless@vger.kernel.org>);
|
||||
Tue, 27 Dec 2022 18:30:38 -0500
|
||||
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533])
|
||||
by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C5A52B1D;
|
||||
Tue, 27 Dec 2022 15:30:36 -0800 (PST)
|
||||
Received: by mail-ed1-x533.google.com with SMTP id m21so20870944edc.3;
|
||||
Tue, 27 Dec 2022 15:30:36 -0800 (PST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=googlemail.com; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
|
||||
:to:from:from:to:cc:subject:date:message-id:reply-to;
|
||||
bh=gNI4glAP8RCHIX0Vc1rrjcz+Kvrw2hTC3GBQO91dTzE=;
|
||||
b=PgAZ5aZt60CG6sLLPDEVEddXtgBvZGHfbo1q7Kaoz+jVwewez6JV0OjWtiLxgYp3go
|
||||
ZB/sbiE+D/1GRwsm29iOS73d+TJblGHu+/6dMjl7e/jSdgsbZ/tGayRqj4SlrwUkN/FZ
|
||||
20AzPMvBQCXMRBBOu0pmzBPTV+LKLIwmHCYIzCZ9Byq6xzVZc808I0LoDRtTCmanS219
|
||||
exX6w96YxESVe38a7SieSwm7goZ0V3nfc3KZvT99EgrQY61Oj4Pn8V5Xk4wj0DchHoqf
|
||||
QTAZxF1fH6HQJ3toICNcXwmpSgvjPw8fM9I8ujGwxoGCvJsV8013XlMduN9sXK9gJDN9
|
||||
Z4tA==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
|
||||
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
|
||||
:reply-to;
|
||||
bh=gNI4glAP8RCHIX0Vc1rrjcz+Kvrw2hTC3GBQO91dTzE=;
|
||||
b=VOrEV6O+1RjGwO4f3/HGUDBv0qC4KE3TjMviH2gG1xZGiEZCmSnchLvIhWt5ZwTfND
|
||||
IHdpgpN26/moSnH+rCHmt4agaoJGwgToAtyT2oUPypkDvq4olhr+47B0+jGEVAY3Dbz6
|
||||
8H4bsFwv2VZdHwHANy9JYD2AzD7DKdGN9w/oFPIl42yJr7Usy//7ODNmTyHh2ZMKfm74
|
||||
529x9FoIdFhSwwd/ltQvbT+EvcNxg6UPFyDKUMkUtKCcjdpI0rMjxuj1+NSmzuD8BO9y
|
||||
ERvux4ECYoFKuc3wE62owLURxv0CaE5yliHrDIH/k/LjIcNNvvKtJtGofXZ0LDfkyKE7
|
||||
KnXA==
|
||||
X-Gm-Message-State: AFqh2kpjcIzhUbpNiXXevs7B73TYFp9mtSj6UueOZdTehN46SwzQ9EqQ
|
||||
wtIoxxp6N3frBG/ufdcyxHAng6jnWVA=
|
||||
X-Google-Smtp-Source: AMrXdXtHXTSThumsWgqSjQD28Ytz9upkuh0X8wck3S2bYI+sMZUeOkNp1Rj+Gpe9CHiPCzeYET7Dhg==
|
||||
X-Received: by 2002:a50:ec19:0:b0:46c:fabe:837b with SMTP id g25-20020a50ec19000000b0046cfabe837bmr19326490edr.41.1672183834861;
|
||||
Tue, 27 Dec 2022 15:30:34 -0800 (PST)
|
||||
Received: from localhost.localdomain (dynamic-2a01-0c23-c4cf-d900-0000-0000-0000-0e63.c23.pool.telefonica.de. [2a01:c23:c4cf:d900::e63])
|
||||
by smtp.googlemail.com with ESMTPSA id r7-20020aa7c147000000b0046cbcc86bdesm6489978edp.7.2022.12.27.15.30.33
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 27 Dec 2022 15:30:34 -0800 (PST)
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>,
|
||||
Ulf Hansson <ulf.hansson@linaro.org>,
|
||||
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
|
||||
linux-mmc@vger.kernel.org, Chris Morgan <macroalpha82@gmail.com>,
|
||||
Nitin Gupta <nitin.gupta981@gmail.com>,
|
||||
Neo Jou <neojou@gmail.com>, Pkshih <pkshih@realtek.com>,
|
||||
Jernej Skrabec <jernej.skrabec@gmail.com>,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Subject: [RFC PATCH v1 00/19] rtw88: Add SDIO support
|
||||
Date: Wed, 28 Dec 2022 00:30:01 +0100
|
||||
Message-Id: <20221227233020.284266-1-martin.blumenstingl@googlemail.com>
|
||||
X-Mailer: git-send-email 2.39.0
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
Recently the rtw88 driver has gained locking support for the "slow" bus
|
||||
types (USB, SDIO) as part of USB support. Thanks to everyone who helped
|
||||
make this happen!
|
||||
|
||||
Based on the USB work (especially the locking part and various
|
||||
bugfixes) this series adds support for SDIO based cards. It's the
|
||||
result of a collaboration between Jernej and myself. Neither of us has
|
||||
access to the rtw88 datasheets. All of our work is based on studying
|
||||
the RTL8822BS and RTL8822CS vendor drivers and trial and error.
|
||||
|
||||
Jernej and myself have tested this with RTL8822BS and RTL8822CS cards.
|
||||
Other users have confirmed that RTL8821CS support is working as well.
|
||||
RTL8723DS may also work (we tried our best to handle rtw_chip_wcpu_11n
|
||||
where needed) but has not been tested at this point.
|
||||
|
||||
Jernej's results with a RTL8822BS:
|
||||
- Main functionality works
|
||||
- Had a case where no traffic got across the link until he issued a
|
||||
scan
|
||||
|
||||
My results with a RTL8822CS:
|
||||
- 2.4GHz and 5GHz bands are both working
|
||||
- TX throughput on a 5GHz network is between 50 Mbit/s and 90 Mbit/s
|
||||
- RX throughput on a 5GHz network is at 19 Mbit/s
|
||||
- Sometimes there are frequent reconnects (once every 1-5 minutes)
|
||||
after the link has been up for a long time (multiple hours). Today
|
||||
I was unable to reproduce this though (I only had reconnect in 8
|
||||
hours).
|
||||
|
||||
Why is this an RFC?
|
||||
- It needs a through review especially by the rtw88 maintainers
|
||||
- It's not clear to me how the "mmc: sdio" patch will be merged (will
|
||||
Ulf take this or can we merge it thorugh the rtw88/linux wireless
|
||||
driver tree?)
|
||||
- Any comments / debugging hints on the reconnect / no traffic issues
|
||||
(see above) are welcome
|
||||
- My understanding is that there's a discussion about the rtw88 Kconfig
|
||||
symbols. We're adding four new ones within this series. It's not
|
||||
clear to me what the conclusion is on this topic though.
|
||||
- As with most patches: testing is very welcome. If things are working
|
||||
fine then a Tested-by is appreciated (with some details about the
|
||||
card, throughput, ...). If something doesn't work for you: please
|
||||
still report back so we can investigate that problem!
|
||||
|
||||
|
||||
|
||||
Jernej Skrabec (2):
|
||||
rtw88: ps: Increase LEAVE_LPS_TRY_CNT for SDIO based chipsets
|
||||
rtw88: Add support for the SDIO based RTL8822BS chipset
|
||||
|
||||
Martin Blumenstingl (17):
|
||||
rtw88: mac: Use existing interface mask macros in rtw_pwr_seq_parser()
|
||||
rtw88: pci: Change type of rtw_hw_queue_mapping() and ac_to_hwq to
|
||||
enum
|
||||
rtw88: pci: Change queue datatype from u8 to enum rtw_tx_queue_type
|
||||
rtw88: Move enum rtw_tx_queue_type mapping code to tx.{c,h}
|
||||
mmc: sdio: add Realtek SDIO vendor ID and various wifi device IDs
|
||||
rtw88: rtw8821c: Add support for parsing the RTL8821CS (SDIO) efuse
|
||||
rtw88: rtw8822b: Add support for parsing the RTL8822BS (SDIO) efuse
|
||||
rtw88: rtw8822c: Add support for parsing the RTL8822CS (SDIO) efuse
|
||||
rtw88: hci: Add an optional power_switch() callback to rtw_hci_ops
|
||||
rtw88: mac: Add support for the SDIO HCI in rtw_pwr_seq_parser()
|
||||
rtw88: mac: Add support for the SDIO HCI in the TX/page table setup
|
||||
rtw88: sdio: Add HCI implementation for SDIO based chipsets
|
||||
rtw88: mac: Add support for SDIO specifics in the power on sequence
|
||||
rtw88: main: Add the rpwm_addr and cpwm_addr for SDIO based chipsets
|
||||
rtw88: main: Reserve 8 bytes of extra TX headroom for SDIO based cards
|
||||
rtw88: Add support for the SDIO based RTL8822CS chipset
|
||||
rtw88: Add support for the SDIO based RTL8821CS chipset
|
||||
|
||||
drivers/net/wireless/realtek/rtw88/Kconfig | 36 +
|
||||
drivers/net/wireless/realtek/rtw88/Makefile | 12 +
|
||||
drivers/net/wireless/realtek/rtw88/debug.h | 1 +
|
||||
drivers/net/wireless/realtek/rtw88/hci.h | 8 +
|
||||
drivers/net/wireless/realtek/rtw88/mac.c | 62 +-
|
||||
drivers/net/wireless/realtek/rtw88/mac.h | 1 -
|
||||
drivers/net/wireless/realtek/rtw88/main.c | 9 +-
|
||||
drivers/net/wireless/realtek/rtw88/pci.c | 50 +-
|
||||
drivers/net/wireless/realtek/rtw88/ps.h | 2 +-
|
||||
drivers/net/wireless/realtek/rtw88/reg.h | 10 +
|
||||
drivers/net/wireless/realtek/rtw88/rtw8821c.c | 9 +
|
||||
drivers/net/wireless/realtek/rtw88/rtw8821c.h | 6 +
|
||||
.../net/wireless/realtek/rtw88/rtw8821cs.c | 34 +
|
||||
drivers/net/wireless/realtek/rtw88/rtw8822b.c | 10 +
|
||||
drivers/net/wireless/realtek/rtw88/rtw8822b.h | 6 +
|
||||
.../net/wireless/realtek/rtw88/rtw8822bs.c | 34 +
|
||||
drivers/net/wireless/realtek/rtw88/rtw8822c.c | 9 +
|
||||
drivers/net/wireless/realtek/rtw88/rtw8822c.h | 6 +
|
||||
.../net/wireless/realtek/rtw88/rtw8822cs.c | 34 +
|
||||
drivers/net/wireless/realtek/rtw88/sdio.c | 1242 +++++++++++++++++
|
||||
drivers/net/wireless/realtek/rtw88/sdio.h | 175 +++
|
||||
drivers/net/wireless/realtek/rtw88/tx.c | 41 +
|
||||
drivers/net/wireless/realtek/rtw88/tx.h | 3 +
|
||||
include/linux/mmc/sdio_ids.h | 9 +
|
||||
24 files changed, 1763 insertions(+), 46 deletions(-)
|
||||
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8821cs.c
|
||||
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822bs.c
|
||||
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822cs.c
|
||||
create mode 100644 drivers/net/wireless/realtek/rtw88/sdio.c
|
||||
create mode 100644 drivers/net/wireless/realtek/rtw88/sdio.h
|
||||
|
||||
--
|
||||
2.39.0
|
||||
|
||||
|
||||
From mboxrd@z Thu Jan 1 00:00:00 1970
|
||||
Return-Path: <linux-wireless-owner@vger.kernel.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
|
||||
aws-us-west-2-korg-lkml-1.web.codeaurora.org
|
||||
Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
|
||||
by smtp.lore.kernel.org (Postfix) with ESMTP id 558E6C4708D
|
||||
for <linux-wireless@archiver.kernel.org>; Tue, 27 Dec 2022 23:30:45 +0000 (UTC)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S229583AbiL0Xam (ORCPT
|
||||
<rfc822;linux-wireless@archiver.kernel.org>);
|
||||
Tue, 27 Dec 2022 18:30:42 -0500
|
||||
Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56968 "EHLO
|
||||
lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S231736AbiL0Xaj (ORCPT
|
||||
<rfc822;linux-wireless@vger.kernel.org>);
|
||||
Tue, 27 Dec 2022 18:30:39 -0500
|
||||
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533])
|
||||
by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CF060B1D;
|
||||
Tue, 27 Dec 2022 15:30:38 -0800 (PST)
|
||||
Received: by mail-ed1-x533.google.com with SMTP id m21so20871091edc.3;
|
||||
Tue, 27 Dec 2022 15:30:38 -0800 (PST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=googlemail.com; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
|
||||
:message-id:reply-to;
|
||||
bh=QgYIIlUvjlkzoxTeBuZUOBlSUY/sYjLMbmvA+ggqjk4=;
|
||||
b=f8Q1fmpjOhzEzXHLPY1LdK57FaUha8exOzkLcZooLGGFKyh2mqirDEHC+lPYFj8jyo
|
||||
SKnx/gUtLtgjouRtJ+hoK5JiIrDhns3umKoqi9vMl46y9NHIPWMWTcxTmC0IAq6Xxe9+
|
||||
AEZOtIsYqUPhA4+t1KuArfIY5wpJyjAqzd90dXmJAzmSfsbwYhcOGtMBs9ro+hgxYT8n
|
||||
QTkSawKFC8jApbFf50mY5WTKBGwhnmk5wweKAEJhL67FxeS/igD3pz0SQnxpR7BW2Xql
|
||||
EWVXA6jCutyT2rRrXCnw/foPbG5r2Y4gGw4eEGpkcPLBumD5JU+M+lpzuRQTDqpXIRR9
|
||||
ngIg==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
|
||||
:subject:date:message-id:reply-to;
|
||||
bh=QgYIIlUvjlkzoxTeBuZUOBlSUY/sYjLMbmvA+ggqjk4=;
|
||||
b=z+81AYuSuJ7vmZn71AEZ0wD03rwVlSmGI/Ip+1g+QjtrWxmC5Wm6ARONowlxgttll3
|
||||
vT/Msad7/FO6QChqRrT+ys8Ut4EObVjGmt7qc9pXZrvqbD6LREhGZDxcHiR1KDC3jv26
|
||||
ZcPd5J3htqLqGHsAVpf9A58KSeei+4nhw8glWNxnRcU0e/Br8Xx2pti1malSVqDbHbXm
|
||||
OD+YUwoVLFxLraedRepp9o/GHL/Ik1od6cs2c+wlloetGC6ywXIH9PuncOUk+l147aVO
|
||||
wk4s356CVEQX3c3Qizp6aIc3XEi2vSNYFeYIlQ7IsEvoGJMHJUd5Yo5gKQWftlOjRN9h
|
||||
u3KA==
|
||||
X-Gm-Message-State: AFqh2krWqyUE1w/J7eUaY4dFUBAHCdD35rY/dm3eJ/23SGdhUpFDKGnP
|
||||
xIO3r5XcIav26avEuk43FdE1TN4Ed7k=
|
||||
X-Google-Smtp-Source: AMrXdXtYznvIwhA5xcrLA4jT1xTMSU2g3QGo4kymjSxBSJ4mdDphNO4Ov1B2Tad9ek0tC3WBKJRpCA==
|
||||
X-Received: by 2002:a05:6402:550e:b0:45c:835b:ac64 with SMTP id fi14-20020a056402550e00b0045c835bac64mr19668822edb.31.1672183838243;
|
||||
Tue, 27 Dec 2022 15:30:38 -0800 (PST)
|
||||
Received: from localhost.localdomain (dynamic-2a01-0c23-c4cf-d900-0000-0000-0000-0e63.c23.pool.telefonica.de. [2a01:c23:c4cf:d900::e63])
|
||||
by smtp.googlemail.com with ESMTPSA id r7-20020aa7c147000000b0046cbcc86bdesm6489978edp.7.2022.12.27.15.30.37
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 27 Dec 2022 15:30:37 -0800 (PST)
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>,
|
||||
Ulf Hansson <ulf.hansson@linaro.org>,
|
||||
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
|
||||
linux-mmc@vger.kernel.org, Chris Morgan <macroalpha82@gmail.com>,
|
||||
Nitin Gupta <nitin.gupta981@gmail.com>,
|
||||
Neo Jou <neojou@gmail.com>, Pkshih <pkshih@realtek.com>,
|
||||
Jernej Skrabec <jernej.skrabec@gmail.com>,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Subject: [RFC PATCH v1 03/19] rtw88: pci: Change queue datatype from u8 to enum rtw_tx_queue_type
|
||||
Date: Wed, 28 Dec 2022 00:30:04 +0100
|
||||
Message-Id: <20221227233020.284266-4-martin.blumenstingl@googlemail.com>
|
||||
X-Mailer: git-send-email 2.39.0
|
||||
In-Reply-To: <20221227233020.284266-1-martin.blumenstingl@googlemail.com>
|
||||
References: <20221227233020.284266-1-martin.blumenstingl@googlemail.com>
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
This makes it easier to understand which values are allowed for the
|
||||
"queue" variable.
|
||||
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/pci.c | 17 ++++++++++-------
|
||||
1 file changed, 10 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c
|
||||
index 45ce7e624c03..5492107fc85b 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/pci.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/pci.c
|
||||
@@ -30,7 +30,8 @@ static u32 rtw_pci_tx_queue_idx_addr[] = {
|
||||
[RTW_TX_QUEUE_H2C] = RTK_PCI_TXBD_IDX_H2CQ,
|
||||
};
|
||||
|
||||
-static u8 rtw_pci_get_tx_qsel(struct sk_buff *skb, u8 queue)
|
||||
+static u8 rtw_pci_get_tx_qsel(struct sk_buff *skb,
|
||||
+ enum rtw_tx_queue_type queue)
|
||||
{
|
||||
switch (queue) {
|
||||
case RTW_TX_QUEUE_BCN:
|
||||
@@ -542,7 +543,7 @@ static int rtw_pci_setup(struct rtw_dev *rtwdev)
|
||||
static void rtw_pci_dma_release(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci)
|
||||
{
|
||||
struct rtw_pci_tx_ring *tx_ring;
|
||||
- u8 queue;
|
||||
+ enum rtw_tx_queue_type queue;
|
||||
|
||||
rtw_pci_reset_trx_ring(rtwdev);
|
||||
for (queue = 0; queue < RTK_MAX_TX_QUEUE_NUM; queue++) {
|
||||
@@ -608,8 +609,8 @@ static void rtw_pci_deep_ps_enter(struct rtw_dev *rtwdev)
|
||||
{
|
||||
struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
|
||||
struct rtw_pci_tx_ring *tx_ring;
|
||||
+ enum rtw_tx_queue_type queue;
|
||||
bool tx_empty = true;
|
||||
- u8 queue;
|
||||
|
||||
if (rtw_fw_feature_check(&rtwdev->fw, FW_FEATURE_TX_WAKE))
|
||||
goto enter_deep_ps;
|
||||
@@ -803,7 +804,8 @@ static void rtw_pci_flush_queues(struct rtw_dev *rtwdev, u32 queues, bool drop)
|
||||
__rtw_pci_flush_queues(rtwdev, pci_queues, drop);
|
||||
}
|
||||
|
||||
-static void rtw_pci_tx_kick_off_queue(struct rtw_dev *rtwdev, u8 queue)
|
||||
+static void rtw_pci_tx_kick_off_queue(struct rtw_dev *rtwdev,
|
||||
+ enum rtw_tx_queue_type queue)
|
||||
{
|
||||
struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
|
||||
struct rtw_pci_tx_ring *ring;
|
||||
@@ -822,7 +824,7 @@ static void rtw_pci_tx_kick_off_queue(struct rtw_dev *rtwdev, u8 queue)
|
||||
static void rtw_pci_tx_kick_off(struct rtw_dev *rtwdev)
|
||||
{
|
||||
struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
|
||||
- u8 queue;
|
||||
+ enum rtw_tx_queue_type queue;
|
||||
|
||||
for (queue = 0; queue < RTK_MAX_TX_QUEUE_NUM; queue++)
|
||||
if (test_and_clear_bit(queue, rtwpci->tx_queued))
|
||||
@@ -831,7 +833,8 @@ static void rtw_pci_tx_kick_off(struct rtw_dev *rtwdev)
|
||||
|
||||
static int rtw_pci_tx_write_data(struct rtw_dev *rtwdev,
|
||||
struct rtw_tx_pkt_info *pkt_info,
|
||||
- struct sk_buff *skb, u8 queue)
|
||||
+ struct sk_buff *skb,
|
||||
+ enum rtw_tx_queue_type queue)
|
||||
{
|
||||
struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
|
||||
const struct rtw_chip_info *chip = rtwdev->chip;
|
||||
@@ -949,9 +952,9 @@ static int rtw_pci_tx_write(struct rtw_dev *rtwdev,
|
||||
struct rtw_tx_pkt_info *pkt_info,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
+ enum rtw_tx_queue_type queue = rtw_hw_queue_mapping(skb);
|
||||
struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
|
||||
struct rtw_pci_tx_ring *ring;
|
||||
- u8 queue = rtw_hw_queue_mapping(skb);
|
||||
int ret;
|
||||
|
||||
ret = rtw_pci_tx_write_data(rtwdev, pkt_info, skb, queue);
|
||||
--
|
||||
2.39.0
|
||||
|
||||
|
||||
From mboxrd@z Thu Jan 1 00:00:00 1970
|
||||
Return-Path: <linux-wireless-owner@vger.kernel.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
|
||||
aws-us-west-2-korg-lkml-1.web.codeaurora.org
|
||||
Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
|
||||
by smtp.lore.kernel.org (Postfix) with ESMTP id E9CD6C4332F
|
||||
for <linux-wireless@archiver.kernel.org>; Tue, 27 Dec 2022 23:30:47 +0000 (UTC)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S232147AbiL0Xao (ORCPT
|
||||
<rfc822;linux-wireless@archiver.kernel.org>);
|
||||
Tue, 27 Dec 2022 18:30:44 -0500
|
||||
Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56970 "EHLO
|
||||
lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S231771AbiL0Xal (ORCPT
|
||||
<rfc822;linux-wireless@vger.kernel.org>);
|
||||
Tue, 27 Dec 2022 18:30:41 -0500
|
||||
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529])
|
||||
by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D661FB30;
|
||||
Tue, 27 Dec 2022 15:30:37 -0800 (PST)
|
||||
Received: by mail-ed1-x529.google.com with SMTP id i9so20869954edj.4;
|
||||
Tue, 27 Dec 2022 15:30:37 -0800 (PST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=googlemail.com; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
|
||||
:message-id:reply-to;
|
||||
bh=h1onIReQ5ODXVSyv0b1/9HLSWm0hUVA7Xk38y7M8c2U=;
|
||||
b=Df8qMwCuW8cm4WyFWmo2vn9IeBhUpQbbxzTpBts52ctPvyR66nbu95qWp0nuVkXbWT
|
||||
8DyaeshDFmzvg48x2tAxGuhtJVxRNkOUGXewKplLtkyIqlTYqhF5uGRCHpSIrhBvAQYc
|
||||
RRpwYhZWwGMfUK1yiyUq3/x6iPJaIk/OX3e9hdbsdhgTGwOTgoCBJPvEzJvg8VPhVcPt
|
||||
5AV6gzEeN4izFixPg2s6xkJFAkFrW0iEhFF6A9wHuADDb66qsSHKrCPuf38UX+u5ukH0
|
||||
7LA7Vp7KcN/07WaXqq9rJnVs9jcJ2nkq8i7OOSgREVy3JxxCP/I1QNbiI7Y8/0dHsUo8
|
||||
v+vw==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
|
||||
:subject:date:message-id:reply-to;
|
||||
bh=h1onIReQ5ODXVSyv0b1/9HLSWm0hUVA7Xk38y7M8c2U=;
|
||||
b=kSHgaspvNBV12/4toCVG0DQ3mgBqfhlGQAEXuyTD5OlgCf+evf7MiIer7SBNJE7ijJ
|
||||
4fEp7Uvb6pbzCSCrT8dkROtykvYF49capmceMXWGNx8sYezu26fUrrAeGBGmGmT4V042
|
||||
6rHnWlSE8MqjdT4C6OnBxW4PKk3AqzaIpKOY+qHUpgUnBRKF4LQKDctB7cle7IALqtiu
|
||||
4+xWSG2kMSfTmx35pNIgcCqFihAwq+htzyDcPU+UdxsTBP4IW/YT4/aOeVCzqADnRtTA
|
||||
tCb1u1V9eVNWw+9fSaDIudbt4vOkcvyIkZE79wd+Oam4KNiaNEue/eMzJ8NkKg3QwnHN
|
||||
b0yg==
|
||||
X-Gm-Message-State: AFqh2kp2eoYCRpyfxL0Ip3d0y0PQ33ppwyAwgR3bTpN2MwkKDECNhRtz
|
||||
ObHug8L2k6/Yvsg/cYn/vsClevkl+1U=
|
||||
X-Google-Smtp-Source: AMrXdXuC3Lrm0vqhcWSxgt9v2Dlw0EC+6jU6Yug/OR3FfYch83uV5zHH3+QRNBOfBNMFCGHdpUGU0g==
|
||||
X-Received: by 2002:a05:6402:5145:b0:462:7b85:33aa with SMTP id n5-20020a056402514500b004627b8533aamr19561385edd.2.1672183835963;
|
||||
Tue, 27 Dec 2022 15:30:35 -0800 (PST)
|
||||
Received: from localhost.localdomain (dynamic-2a01-0c23-c4cf-d900-0000-0000-0000-0e63.c23.pool.telefonica.de. [2a01:c23:c4cf:d900::e63])
|
||||
by smtp.googlemail.com with ESMTPSA id r7-20020aa7c147000000b0046cbcc86bdesm6489978edp.7.2022.12.27.15.30.34
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 27 Dec 2022 15:30:35 -0800 (PST)
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>,
|
||||
Ulf Hansson <ulf.hansson@linaro.org>,
|
||||
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
|
||||
linux-mmc@vger.kernel.org, Chris Morgan <macroalpha82@gmail.com>,
|
||||
Nitin Gupta <nitin.gupta981@gmail.com>,
|
||||
Neo Jou <neojou@gmail.com>, Pkshih <pkshih@realtek.com>,
|
||||
Jernej Skrabec <jernej.skrabec@gmail.com>,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Subject: [RFC PATCH v1 01/19] rtw88: mac: Use existing interface mask macros in rtw_pwr_seq_parser()
|
||||
Date: Wed, 28 Dec 2022 00:30:02 +0100
|
||||
Message-Id: <20221227233020.284266-2-martin.blumenstingl@googlemail.com>
|
||||
X-Mailer: git-send-email 2.39.0
|
||||
In-Reply-To: <20221227233020.284266-1-martin.blumenstingl@googlemail.com>
|
||||
References: <20221227233020.284266-1-martin.blumenstingl@googlemail.com>
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
Replace the magic numbers for the intf_mask with their existing
|
||||
RTW_PWR_INTF_PCI_MSK and RTW_PWR_INTF_USB_MSK macros to make the code
|
||||
easier to understand.
|
||||
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/mac.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
index 98777f294945..4e5c194aac29 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
@@ -217,10 +217,10 @@ static int rtw_pwr_seq_parser(struct rtw_dev *rtwdev,
|
||||
cut_mask = cut_version_to_mask(cut);
|
||||
switch (rtw_hci_type(rtwdev)) {
|
||||
case RTW_HCI_TYPE_PCIE:
|
||||
- intf_mask = BIT(2);
|
||||
+ intf_mask = RTW_PWR_INTF_PCI_MSK;
|
||||
break;
|
||||
case RTW_HCI_TYPE_USB:
|
||||
- intf_mask = BIT(1);
|
||||
+ intf_mask = RTW_PWR_INTF_USB_MSK;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
--
|
||||
2.39.0
|
||||
|
||||
|
||||
From mboxrd@z Thu Jan 1 00:00:00 1970
|
||||
Return-Path: <linux-wireless-owner@vger.kernel.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
|
||||
aws-us-west-2-korg-lkml-1.web.codeaurora.org
|
||||
Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
|
||||
by smtp.lore.kernel.org (Postfix) with ESMTP id DFE7FC4332F
|
||||
for <linux-wireless@archiver.kernel.org>; Tue, 27 Dec 2022 23:30:50 +0000 (UTC)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S232384AbiL0Xar (ORCPT
|
||||
<rfc822;linux-wireless@archiver.kernel.org>);
|
||||
Tue, 27 Dec 2022 18:30:47 -0500
|
||||
Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56974 "EHLO
|
||||
lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S231809AbiL0Xal (ORCPT
|
||||
<rfc822;linux-wireless@vger.kernel.org>);
|
||||
Tue, 27 Dec 2022 18:30:41 -0500
|
||||
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529])
|
||||
by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 174F4640A;
|
||||
Tue, 27 Dec 2022 15:30:39 -0800 (PST)
|
||||
Received: by mail-ed1-x529.google.com with SMTP id i15so20927597edf.2;
|
||||
Tue, 27 Dec 2022 15:30:39 -0800 (PST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=googlemail.com; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
|
||||
:message-id:reply-to;
|
||||
bh=On9zqZfBSd6xwFAzv2KqvU5VwSXHqqET7/qhE6YwsIw=;
|
||||
b=SNTmAxZHbI4rGrDL7WSqhXiMSYLuok7XiLn5jsUBjNZsBWfLGdEDvkwzYn9kEt+ExM
|
||||
yM01zDvSzvFF7btI3VKgLCuKWyCjzSN+oxtbnnNtANe7++q877ohJS16q7qtb+peoLGT
|
||||
379THwFkmXqEVK9LNWbZlaOwXWM9iWHwyXFNrN1L+LS62ez69W/wfVm9DP60TQxDcDMH
|
||||
Q0KGjBV8EPo9dceholSgOX+RCkfC+K6D8rq7TOSrGFZrR73jNZaxK+dgq8e2H3dtwDCX
|
||||
CRnRHBY8N6ymfOg0ZMvNjLoSF96sgPeplR8IkhyS5/ADf7al6pndKCfylPoELyjwhWSI
|
||||
iE5A==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
|
||||
:subject:date:message-id:reply-to;
|
||||
bh=On9zqZfBSd6xwFAzv2KqvU5VwSXHqqET7/qhE6YwsIw=;
|
||||
b=K3W+chiaRArHiKSV1lOoCmnCOznquzW+yTX7DxyPfSIN97SIOQ1y2ON66NPUVvF6U+
|
||||
+p+v1q9alH56ll9haMyhzLHslPLL0lQqfkAsBvXhXu4VPphbgPML8kRGF/Uf4/ESmlNo
|
||||
UK9fIMdKWPNrOG/PXJbSVmdC1KlsF0rgYr8tsfwM8a3aFtlbk8l1qMRy76e6CY+QjhVR
|
||||
xZvnFFYcIkSjC/q1Ie5tPQSSAF6KE484lmlxIAVJgiODnDbjWt5zMYQfynctbLZHrGpK
|
||||
KW1NAuIYfYK1e5Z0N3m6QP31F/CG+Az5H7/fgGvrf1rtyyfvMzhpDpJb9TuapU7hAmcq
|
||||
ojuw==
|
||||
X-Gm-Message-State: AFqh2kqpzSyCyb18SioF6HlD7/0GVialvYtc/ue5762f5olQy8mkLmab
|
||||
3izNhsS8hHtpUW4UlzKqJyauiA8S13Y=
|
||||
X-Google-Smtp-Source: AMrXdXuwosdtKiTC3mmRWDVuPEeTdqyk/vj73kPIT20gET9jjxQKc5Hyp65eea/c0ByvQPRSemJWOA==
|
||||
X-Received: by 2002:a05:6402:754:b0:485:9d0f:6193 with SMTP id p20-20020a056402075400b004859d0f6193mr5697630edy.38.1672183837463;
|
||||
Tue, 27 Dec 2022 15:30:37 -0800 (PST)
|
||||
Received: from localhost.localdomain (dynamic-2a01-0c23-c4cf-d900-0000-0000-0000-0e63.c23.pool.telefonica.de. [2a01:c23:c4cf:d900::e63])
|
||||
by smtp.googlemail.com with ESMTPSA id r7-20020aa7c147000000b0046cbcc86bdesm6489978edp.7.2022.12.27.15.30.36
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 27 Dec 2022 15:30:36 -0800 (PST)
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>,
|
||||
Ulf Hansson <ulf.hansson@linaro.org>,
|
||||
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
|
||||
linux-mmc@vger.kernel.org, Chris Morgan <macroalpha82@gmail.com>,
|
||||
Nitin Gupta <nitin.gupta981@gmail.com>,
|
||||
Neo Jou <neojou@gmail.com>, Pkshih <pkshih@realtek.com>,
|
||||
Jernej Skrabec <jernej.skrabec@gmail.com>,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Subject: [RFC PATCH v1 02/19] rtw88: pci: Change type of rtw_hw_queue_mapping() and ac_to_hwq to enum
|
||||
Date: Wed, 28 Dec 2022 00:30:03 +0100
|
||||
Message-Id: <20221227233020.284266-3-martin.blumenstingl@googlemail.com>
|
||||
X-Mailer: git-send-email 2.39.0
|
||||
In-Reply-To: <20221227233020.284266-1-martin.blumenstingl@googlemail.com>
|
||||
References: <20221227233020.284266-1-martin.blumenstingl@googlemail.com>
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
rtw_hw_queue_mapping() and ac_to_hwq[] hold values of type enum
|
||||
rtw_tx_queue_type. Change their types to reflect this to make it easier
|
||||
to understand this part of the code.
|
||||
|
||||
While here, also change the array to be static const as it is not
|
||||
supposed to be modified at runtime.
|
||||
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/pci.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c
|
||||
index 0975d27240e4..45ce7e624c03 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/pci.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/pci.c
|
||||
@@ -669,7 +669,7 @@ static void rtw_pci_deep_ps(struct rtw_dev *rtwdev, bool enter)
|
||||
spin_unlock_bh(&rtwpci->irq_lock);
|
||||
}
|
||||
|
||||
-static u8 ac_to_hwq[] = {
|
||||
+static const enum rtw_tx_queue_type ac_to_hwq[] = {
|
||||
[IEEE80211_AC_VO] = RTW_TX_QUEUE_VO,
|
||||
[IEEE80211_AC_VI] = RTW_TX_QUEUE_VI,
|
||||
[IEEE80211_AC_BE] = RTW_TX_QUEUE_BE,
|
||||
@@ -678,12 +678,12 @@ static u8 ac_to_hwq[] = {
|
||||
|
||||
static_assert(ARRAY_SIZE(ac_to_hwq) == IEEE80211_NUM_ACS);
|
||||
|
||||
-static u8 rtw_hw_queue_mapping(struct sk_buff *skb)
|
||||
+static enum rtw_tx_queue_type rtw_hw_queue_mapping(struct sk_buff *skb)
|
||||
{
|
||||
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
|
||||
__le16 fc = hdr->frame_control;
|
||||
u8 q_mapping = skb_get_queue_mapping(skb);
|
||||
- u8 queue;
|
||||
+ enum rtw_tx_queue_type queue;
|
||||
|
||||
if (unlikely(ieee80211_is_beacon(fc)))
|
||||
queue = RTW_TX_QUEUE_BCN;
|
||||
--
|
||||
2.39.0
|
||||
|
||||
|
||||
From mboxrd@z Thu Jan 1 00:00:00 1970
|
||||
Return-Path: <linux-wireless-owner@vger.kernel.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
|
||||
aws-us-west-2-korg-lkml-1.web.codeaurora.org
|
||||
Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
|
||||
by smtp.lore.kernel.org (Postfix) with ESMTP id 2C430C4708D
|
||||
for <linux-wireless@archiver.kernel.org>; Tue, 27 Dec 2022 23:31:01 +0000 (UTC)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S231809AbiL0Xa5 (ORCPT
|
||||
<rfc822;linux-wireless@archiver.kernel.org>);
|
||||
Tue, 27 Dec 2022 18:30:57 -0500
|
||||
Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57126 "EHLO
|
||||
lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S232081AbiL0Xan (ORCPT
|
||||
<rfc822;linux-wireless@vger.kernel.org>);
|
||||
Tue, 27 Dec 2022 18:30:43 -0500
|
||||
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a])
|
||||
by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D6C4DDEBA;
|
||||
Tue, 27 Dec 2022 15:30:40 -0800 (PST)
|
||||
Received: by mail-ed1-x52a.google.com with SMTP id u18so19465924eda.9;
|
||||
Tue, 27 Dec 2022 15:30:40 -0800 (PST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=googlemail.com; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
|
||||
:message-id:reply-to;
|
||||
bh=dm4pitK4ZNMJZL5DH9iTHJHi+FnWxGRFQtHIaCaoNGo=;
|
||||
b=YWwi7CzLyKrwEdFyuUxmvizsWkIpPn2Rka2qKD03A3ewM59kw2KvC5v6EpON1xlSSq
|
||||
UOaqKeBlhGa/2dVFREhtyFZmlTdOSWMO1pbXfH8y5NntpGghgcjPjDvN8RC0ny8CJtUE
|
||||
oRcmdiMR1EXhw5f3m69RFo89af3ku7UJalnnCn2j9AaUyzDoDNRkmj7sz9Qm0sbaRxxa
|
||||
9Q4FSp2zIY2u6nwYxeV8CJuLjEjRaExTmMOd4hhCcfo6iBgouRLa6Rk4o1zSjDh3VLkA
|
||||
PvqMl7qUCM5cvszlAUsHnWBFyyvBjergKkMhdQ1kidb6MaVWZNdfjMw6lNcFGCDqjsVz
|
||||
PLeQ==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
|
||||
:subject:date:message-id:reply-to;
|
||||
bh=dm4pitK4ZNMJZL5DH9iTHJHi+FnWxGRFQtHIaCaoNGo=;
|
||||
b=Sboh7uBIxISXXw6Qr5GGuWT/hc4Se5cb0ygTkz6fb0lRu22OLh+kwktWEv16Kap8cW
|
||||
7SQrpuPEQozdieKBmNN5vAlwtRWdba0fN9mNf2zrdMncYgOywN+BJHuK/zeA3GB8QpwL
|
||||
YUuvfY12buRTXWwa2Y+AXn6s4qglulcwSKsKi015xjsfgJvmP+Uh2NGr301HC/4iyke6
|
||||
ge7BBUKsFQTiS+inqAeECr+hOQJKW2M2OxdZgWxq5jY18IPVZ7JM+n+pkADooXdqorPT
|
||||
oDz4UIlAxvpQNsFtQ4VOMXLFgAgoV2z7YVDvpfusxDwSY+YkriJXjudSH2xjZc+Rk8ux
|
||||
THQg==
|
||||
X-Gm-Message-State: AFqh2krTLZPec1BeaePGH+yIM/xE7h7osKZ03oi5Uiwu7MZpW7C0abFJ
|
||||
+dQ5oQLo4ccuSrHwaLUavao8oJNV+4Y=
|
||||
X-Google-Smtp-Source: AMrXdXsS9hX335Fkht6+2053XGKLxjVMk10eknNraAxGKhiL8aCk1KR+3rgtmHKYD77nKNtWUI+8iA==
|
||||
X-Received: by 2002:a05:6402:501f:b0:46c:a763:5889 with SMTP id p31-20020a056402501f00b0046ca7635889mr29038360eda.25.1672183839073;
|
||||
Tue, 27 Dec 2022 15:30:39 -0800 (PST)
|
||||
Received: from localhost.localdomain (dynamic-2a01-0c23-c4cf-d900-0000-0000-0000-0e63.c23.pool.telefonica.de. [2a01:c23:c4cf:d900::e63])
|
||||
by smtp.googlemail.com with ESMTPSA id r7-20020aa7c147000000b0046cbcc86bdesm6489978edp.7.2022.12.27.15.30.38
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 27 Dec 2022 15:30:38 -0800 (PST)
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>,
|
||||
Ulf Hansson <ulf.hansson@linaro.org>,
|
||||
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
|
||||
linux-mmc@vger.kernel.org, Chris Morgan <macroalpha82@gmail.com>,
|
||||
Nitin Gupta <nitin.gupta981@gmail.com>,
|
||||
Neo Jou <neojou@gmail.com>, Pkshih <pkshih@realtek.com>,
|
||||
Jernej Skrabec <jernej.skrabec@gmail.com>,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Subject: [RFC PATCH v1 04/19] rtw88: Move enum rtw_tx_queue_type mapping code to tx.{c,h}
|
||||
Date: Wed, 28 Dec 2022 00:30:05 +0100
|
||||
Message-Id: <20221227233020.284266-5-martin.blumenstingl@googlemail.com>
|
||||
X-Mailer: git-send-email 2.39.0
|
||||
In-Reply-To: <20221227233020.284266-1-martin.blumenstingl@googlemail.com>
|
||||
References: <20221227233020.284266-1-martin.blumenstingl@googlemail.com>
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
This code is not specific to the PCIe bus type but can be re-used by USB
|
||||
and SDIO bus types. Move it to tx.{c,h} to avoid code-duplication in the
|
||||
future. While here, add checking of the ac argument in
|
||||
rtw_tx_ac_to_hwq() so we're not accessing entries beyond the end of the
|
||||
array.
|
||||
|
||||
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/pci.c | 35 ++------------------
|
||||
drivers/net/wireless/realtek/rtw88/tx.c | 41 ++++++++++++++++++++++++
|
||||
drivers/net/wireless/realtek/rtw88/tx.h | 3 ++
|
||||
3 files changed, 46 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c
|
||||
index 5492107fc85b..b4bd831c9845 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/pci.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/pci.c
|
||||
@@ -670,37 +670,6 @@ static void rtw_pci_deep_ps(struct rtw_dev *rtwdev, bool enter)
|
||||
spin_unlock_bh(&rtwpci->irq_lock);
|
||||
}
|
||||
|
||||
-static const enum rtw_tx_queue_type ac_to_hwq[] = {
|
||||
- [IEEE80211_AC_VO] = RTW_TX_QUEUE_VO,
|
||||
- [IEEE80211_AC_VI] = RTW_TX_QUEUE_VI,
|
||||
- [IEEE80211_AC_BE] = RTW_TX_QUEUE_BE,
|
||||
- [IEEE80211_AC_BK] = RTW_TX_QUEUE_BK,
|
||||
-};
|
||||
-
|
||||
-static_assert(ARRAY_SIZE(ac_to_hwq) == IEEE80211_NUM_ACS);
|
||||
-
|
||||
-static enum rtw_tx_queue_type rtw_hw_queue_mapping(struct sk_buff *skb)
|
||||
-{
|
||||
- struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
|
||||
- __le16 fc = hdr->frame_control;
|
||||
- u8 q_mapping = skb_get_queue_mapping(skb);
|
||||
- enum rtw_tx_queue_type queue;
|
||||
-
|
||||
- if (unlikely(ieee80211_is_beacon(fc)))
|
||||
- queue = RTW_TX_QUEUE_BCN;
|
||||
- else if (unlikely(ieee80211_is_mgmt(fc) || ieee80211_is_ctl(fc)))
|
||||
- queue = RTW_TX_QUEUE_MGMT;
|
||||
- else if (is_broadcast_ether_addr(hdr->addr1) ||
|
||||
- is_multicast_ether_addr(hdr->addr1))
|
||||
- queue = RTW_TX_QUEUE_HI0;
|
||||
- else if (WARN_ON_ONCE(q_mapping >= ARRAY_SIZE(ac_to_hwq)))
|
||||
- queue = ac_to_hwq[IEEE80211_AC_BE];
|
||||
- else
|
||||
- queue = ac_to_hwq[q_mapping];
|
||||
-
|
||||
- return queue;
|
||||
-}
|
||||
-
|
||||
static void rtw_pci_release_rsvd_page(struct rtw_pci *rtwpci,
|
||||
struct rtw_pci_tx_ring *ring)
|
||||
{
|
||||
@@ -798,7 +767,7 @@ static void rtw_pci_flush_queues(struct rtw_dev *rtwdev, u32 queues, bool drop)
|
||||
} else {
|
||||
for (i = 0; i < rtwdev->hw->queues; i++)
|
||||
if (queues & BIT(i))
|
||||
- pci_queues |= BIT(ac_to_hwq[i]);
|
||||
+ pci_queues |= BIT(rtw_tx_ac_to_hwq(i));
|
||||
}
|
||||
|
||||
__rtw_pci_flush_queues(rtwdev, pci_queues, drop);
|
||||
@@ -952,7 +921,7 @@ static int rtw_pci_tx_write(struct rtw_dev *rtwdev,
|
||||
struct rtw_tx_pkt_info *pkt_info,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
- enum rtw_tx_queue_type queue = rtw_hw_queue_mapping(skb);
|
||||
+ enum rtw_tx_queue_type queue = rtw_tx_queue_mapping(skb);
|
||||
struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
|
||||
struct rtw_pci_tx_ring *ring;
|
||||
int ret;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/tx.c b/drivers/net/wireless/realtek/rtw88/tx.c
|
||||
index ab39245e9c2f..bb5c7492c98b 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/tx.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/tx.c
|
||||
@@ -682,3 +682,44 @@ void rtw_txq_cleanup(struct rtw_dev *rtwdev, struct ieee80211_txq *txq)
|
||||
list_del_init(&rtwtxq->list);
|
||||
spin_unlock_bh(&rtwdev->txq_lock);
|
||||
}
|
||||
+
|
||||
+static const enum rtw_tx_queue_type ac_to_hwq[] = {
|
||||
+ [IEEE80211_AC_VO] = RTW_TX_QUEUE_VO,
|
||||
+ [IEEE80211_AC_VI] = RTW_TX_QUEUE_VI,
|
||||
+ [IEEE80211_AC_BE] = RTW_TX_QUEUE_BE,
|
||||
+ [IEEE80211_AC_BK] = RTW_TX_QUEUE_BK,
|
||||
+};
|
||||
+
|
||||
+static_assert(ARRAY_SIZE(ac_to_hwq) == IEEE80211_NUM_ACS);
|
||||
+
|
||||
+enum rtw_tx_queue_type rtw_tx_ac_to_hwq(enum ieee80211_ac_numbers ac)
|
||||
+{
|
||||
+ if (WARN_ON(unlikely(ac >= IEEE80211_NUM_ACS)))
|
||||
+ return RTW_TX_QUEUE_BE;
|
||||
+
|
||||
+ return ac_to_hwq[ac];
|
||||
+}
|
||||
+EXPORT_SYMBOL(rtw_tx_ac_to_hwq);
|
||||
+
|
||||
+enum rtw_tx_queue_type rtw_tx_queue_mapping(struct sk_buff *skb)
|
||||
+{
|
||||
+ struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
|
||||
+ __le16 fc = hdr->frame_control;
|
||||
+ u8 q_mapping = skb_get_queue_mapping(skb);
|
||||
+ enum rtw_tx_queue_type queue;
|
||||
+
|
||||
+ if (unlikely(ieee80211_is_beacon(fc)))
|
||||
+ queue = RTW_TX_QUEUE_BCN;
|
||||
+ else if (unlikely(ieee80211_is_mgmt(fc) || ieee80211_is_ctl(fc)))
|
||||
+ queue = RTW_TX_QUEUE_MGMT;
|
||||
+ else if (is_broadcast_ether_addr(hdr->addr1) ||
|
||||
+ is_multicast_ether_addr(hdr->addr1))
|
||||
+ queue = RTW_TX_QUEUE_HI0;
|
||||
+ else if (WARN_ON_ONCE(q_mapping >= ARRAY_SIZE(ac_to_hwq)))
|
||||
+ queue = ac_to_hwq[IEEE80211_AC_BE];
|
||||
+ else
|
||||
+ queue = ac_to_hwq[q_mapping];
|
||||
+
|
||||
+ return queue;
|
||||
+}
|
||||
+EXPORT_SYMBOL(rtw_tx_queue_mapping);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/tx.h b/drivers/net/wireless/realtek/rtw88/tx.h
|
||||
index a2f3ac326041..197d5868c8ad 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/tx.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/tx.h
|
||||
@@ -131,6 +131,9 @@ rtw_tx_write_data_h2c_get(struct rtw_dev *rtwdev,
|
||||
struct rtw_tx_pkt_info *pkt_info,
|
||||
u8 *buf, u32 size);
|
||||
|
||||
+enum rtw_tx_queue_type rtw_tx_ac_to_hwq(enum ieee80211_ac_numbers ac);
|
||||
+enum rtw_tx_queue_type rtw_tx_queue_mapping(struct sk_buff *skb);
|
||||
+
|
||||
static inline
|
||||
void fill_txdesc_checksum_common(u8 *txdesc, size_t words)
|
||||
{
|
||||
--
|
||||
2.39.0
|
File diff suppressed because it is too large
Load Diff
@ -59,6 +59,10 @@ makeinstall_host() {
|
||||
mkdir -p ${TOOLCHAIN}/share/syslinux
|
||||
cp bios/mbr/mbr.bin ${TOOLCHAIN}/share/syslinux
|
||||
cp bios/mbr/gptmbr.bin ${TOOLCHAIN}/share/syslinux
|
||||
if [ "${ARCH}" = "x86_64" ]; then
|
||||
cp efi64/efi/syslinux.efi ${TOOLCHAIN}/share/syslinux/bootx64.efi
|
||||
cp efi64/com32/elflink/ldlinux/ldlinux.e64 ${TOOLCHAIN}/share/syslinux
|
||||
fi
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
@ -70,4 +74,8 @@ makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/share/syslinux
|
||||
cp bios/mbr/mbr.bin ${INSTALL}/usr/share/syslinux
|
||||
cp bios/mbr/gptmbr.bin ${INSTALL}/usr/share/syslinux
|
||||
if [ "${ARCH}" = "x86_64" ]; then
|
||||
cp efi64/efi/syslinux.efi ${INSTALL}/usr/share/syslinux/bootx64.efi
|
||||
cp efi64/com32/elflink/ldlinux/ldlinux.e64 ${INSTALL}/usr/share/syslinux
|
||||
fi
|
||||
}
|
||||
|
@ -53,6 +53,7 @@ function do_mkimage() {
|
||||
EXTRA_CMDLINE="${EXTRA_CMDLINE}" \
|
||||
SYSTEM_SIZE="${SYSTEM_SIZE}" \
|
||||
SYSTEM_PART_START="${SYSTEM_PART_START}" \
|
||||
STORAGE_SIZE="${STORAGE_SIZE:-32}" \
|
||||
OVA_SIZE="${OVA_SIZE}" \
|
||||
SKIP_VIRTUAL_APPLIANCE="${SKIP_VIRTUAL_APPLIANCE}" \
|
||||
LAKKA_DEVBUILD="${LAKKA_DEVBUILD:-no}" \
|
||||
|
@ -18,8 +18,6 @@ if [ -z "${SYSTEM_SIZE}" -o -z "${SYSTEM_PART_START}" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
STORAGE_SIZE=32 # STORAGE_SIZE must be >= 32 !
|
||||
|
||||
DISK_START_PADDING=$(( (${SYSTEM_PART_START} + 2048 - 1) / 2048 ))
|
||||
DISK_GPT_PADDING=1
|
||||
DISK_SIZE=$(( ${DISK_START_PADDING} + ${SYSTEM_SIZE} + ${STORAGE_SIZE} + ${DISK_GPT_PADDING} ))
|
||||
@ -264,8 +262,9 @@ EOF
|
||||
# EFI only for x86_64
|
||||
if [ "${ARCH}" = "x86_64" ]; then
|
||||
mmd EFI EFI/BOOT >"${SAVE_ERROR}" 2>&1 || show_error
|
||||
mcopy "${TOOLCHAIN}/share/syslinux/bootx64.efi" ::/EFI/BOOT >"${SAVE_ERROR}" 2>&1 || show_error
|
||||
mcopy "${TOOLCHAIN}/share/syslinux/ldlinux.e64" ::/EFI/BOOT >"${SAVE_ERROR}" 2>&1 || show_error
|
||||
mcopy "${TOOLCHAIN}/share/grub/bootia32.efi" ::/EFI/BOOT >"${SAVE_ERROR}" 2>&1 || show_error
|
||||
mcopy "${TOOLCHAIN}/share/grub/bootx64.efi" ::/EFI/BOOT >"${SAVE_ERROR}" 2>&1 || show_error
|
||||
mcopy "${LE_TMP}/grub.cfg" ::/EFI/BOOT >"${SAVE_ERROR}" 2>&1 || show_error
|
||||
fi
|
||||
|
||||
|
Reference in New Issue
Block a user