From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 4D2D3C25B0D for ; Sat, 6 Aug 2022 19:56:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232893AbiHFTz7 (ORCPT ); Sat, 6 Aug 2022 15:55:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232289AbiHFTz5 (ORCPT ); Sat, 6 Aug 2022 15:55:57 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BD32B6410 for ; Sat, 6 Aug 2022 12:55:55 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPtm-0004Tu-9y; Sat, 06 Aug 2022 21:55:50 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 01/13] staging: r8188eu: Hal_MappingOutPipe should return an int Date: Sat, 6 Aug 2022 21:55:28 +0200 Message-Id: <20220806195540.777390-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Update the Hal_MappingOutPipe function to return 0 for success or -EXNIO if the caller requested more than the number of available endpoints. This error code is also used by usb_find_common_endpoints if a requested endpoint was not found. Unlike a boolean return value, a negative error code can be returned to external functions that call the r8188eu driver, e.g. to the caller of our probe function. HalUsbSetQueuePipeMapping8188EUsb passes the return value of Hal_MappingOutPipe on to its caller. We have to change its return type from bool to int as well. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/hal_com.c | 8 +++----- drivers/staging/r8188eu/hal/usb_halinit.c | 2 +- drivers/staging/r8188eu/include/hal_com.h | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/hal/hal_com.c b/drivers/staging/r8188e= u/hal/hal_com.c index 6a1cdc67335b..d24e0e5924eb 100644 --- a/drivers/staging/r8188eu/hal/hal_com.c +++ b/drivers/staging/r8188eu/hal/hal_com.c @@ -225,11 +225,10 @@ static void three_out_pipe(struct adapter *adapter, b= ool wifi_cfg) } } =20 -bool Hal_MappingOutPipe(struct adapter *adapter, u8 numoutpipe) +int Hal_MappingOutPipe(struct adapter *adapter, u8 numoutpipe) { struct registry_priv *pregistrypriv =3D &adapter->registrypriv; bool wifi_cfg =3D pregistrypriv->wifi_spec; - bool result =3D true; =20 switch (numoutpipe) { case 2: @@ -242,10 +241,9 @@ bool Hal_MappingOutPipe(struct adapter *adapter, u8 nu= moutpipe) one_out_pipe(adapter); break; default: - result =3D false; - break; + return -ENXIO; } - return result; + return 0; } =20 /* diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 8b36fb56076e..ba068e6fd9fb 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -35,7 +35,7 @@ static void _ConfigNormalChipOutEP_8188E(struct adapter *= adapt, u8 NumOutPipe) } } =20 -static bool HalUsbSetQueuePipeMapping8188EUsb(struct adapter *adapt, u8 Nu= mOutPipe) +static int HalUsbSetQueuePipeMapping8188EUsb(struct adapter *adapt, u8 Num= OutPipe) { =20 _ConfigNormalChipOutEP_8188E(adapt, NumOutPipe); diff --git a/drivers/staging/r8188eu/include/hal_com.h b/drivers/staging/r8= 188eu/include/hal_com.h index d7e333f6ce39..3dfb61e64ee0 100644 --- a/drivers/staging/r8188eu/include/hal_com.h +++ b/drivers/staging/r8188eu/include/hal_com.h @@ -143,7 +143,7 @@ u8 MRateToHwRate(u8 rate); =20 void HalSetBrateCfg(struct adapter *Adapter, u8 *mBratesOS, u16 *pBrateCfg= ); =20 -bool Hal_MappingOutPipe(struct adapter *pAdapter, u8 NumOutPipe); +int Hal_MappingOutPipe(struct adapter *pAdapter, u8 NumOutPipe); =20 s32 c2h_evt_read(struct adapter *adapter, u8 *buf); =20 --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 63A73C3F6B0 for ; Sat, 6 Aug 2022 19:56:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233016AbiHFT4B (ORCPT ); Sat, 6 Aug 2022 15:56:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37820 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232426AbiHFTz5 (ORCPT ); Sat, 6 Aug 2022 15:55:57 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1CF96437 for ; Sat, 6 Aug 2022 12:55:56 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPtn-0004Tu-6C; Sat, 06 Aug 2022 21:55:51 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 02/13] staging: r8188eu: process HalUsbSetQueuePipeMapping8188EUsb's return value Date: Sat, 6 Aug 2022 21:55:29 +0200 Message-Id: <20220806195540.777390-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" At the moment, HalUsbSetQueuePipeMapping8188EUsb returns an error status to rtl8188eu_interface_configure, where this status is discarded. Pass the error status from rtl8188eu_interface_configure to rtw_usb_if1_init and handle it there. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 4 ++-- drivers/staging/r8188eu/include/hal_intf.h | 2 +- drivers/staging/r8188eu/os_dep/usb_intf.c | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index ba068e6fd9fb..839841f90d29 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -42,11 +42,11 @@ static int HalUsbSetQueuePipeMapping8188EUsb(struct ada= pter *adapt, u8 NumOutPip return Hal_MappingOutPipe(adapt, NumOutPipe); } =20 -void rtl8188eu_interface_configure(struct adapter *adapt) +int rtl8188eu_interface_configure(struct adapter *adapt) { struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapt); =20 - HalUsbSetQueuePipeMapping8188EUsb(adapt, pdvobjpriv->RtNumOutPipes); + return HalUsbSetQueuePipeMapping8188EUsb(adapt, pdvobjpriv->RtNumOutPipes= ); } =20 u32 rtl8188eu_InitPowerOn(struct adapter *adapt) diff --git a/drivers/staging/r8188eu/include/hal_intf.h b/drivers/staging/r= 8188eu/include/hal_intf.h index 3ed5b7e031cd..fd8e792958ce 100644 --- a/drivers/staging/r8188eu/include/hal_intf.h +++ b/drivers/staging/r8188eu/include/hal_intf.h @@ -10,7 +10,7 @@ =20 typedef s32 (*c2h_id_filter)(u8 id); =20 -void rtl8188eu_interface_configure(struct adapter *adapt); +int rtl8188eu_interface_configure(struct adapter *adapt); int ReadAdapterInfo8188EU(struct adapter *Adapter); void rtl8188eu_init_default_value(struct adapter *adapt); void rtl8188e_SetHalODMVar(struct adapter *Adapter, void *pValue1, bool bS= et); diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8= 188eu/os_dep/usb_intf.c index db91f72dd40f..2b330104a55d 100644 --- a/drivers/staging/r8188eu/os_dep/usb_intf.c +++ b/drivers/staging/r8188eu/os_dep/usb_intf.c @@ -330,7 +330,9 @@ static int rtw_usb_if1_init(struct dvobj_priv *dvobj, s= truct usb_interface *pusb rtl8188e_read_chip_version(padapter); =20 /* step usb endpoint mapping */ - rtl8188eu_interface_configure(padapter); + ret =3D rtl8188eu_interface_configure(padapter); + if (ret) + goto handle_dualmac; =20 /* step read efuse/eeprom data and get mac_addr */ ret =3D ReadAdapterInfo8188EU(padapter); --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 7466EC19F2D for ; Sat, 6 Aug 2022 19:56:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233194AbiHFT4P (ORCPT ); Sat, 6 Aug 2022 15:56:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37928 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232995AbiHFT4B (ORCPT ); Sat, 6 Aug 2022 15:56:01 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E21516583 for ; Sat, 6 Aug 2022 12:56:00 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPto-0004Tu-1F; Sat, 06 Aug 2022 21:55:52 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 03/13] staging: r8188eu: merge two small functions Date: Sat, 6 Aug 2022 21:55:30 +0200 Message-Id: <20220806195540.777390-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" All that rtl8188eu_interface_configure does is call HalUsbSetQueuePipeMapping8188EUsb. We can merge the two functions. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 839841f90d29..ed0faf4fd51d 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -35,18 +35,12 @@ static void _ConfigNormalChipOutEP_8188E(struct adapter= *adapt, u8 NumOutPipe) } } =20 -static int HalUsbSetQueuePipeMapping8188EUsb(struct adapter *adapt, u8 Num= OutPipe) -{ - - _ConfigNormalChipOutEP_8188E(adapt, NumOutPipe); - return Hal_MappingOutPipe(adapt, NumOutPipe); -} - int rtl8188eu_interface_configure(struct adapter *adapt) { struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapt); =20 - return HalUsbSetQueuePipeMapping8188EUsb(adapt, pdvobjpriv->RtNumOutPipes= ); + _ConfigNormalChipOutEP_8188E(adapt, pdvobjpriv->RtNumOutPipes); + return Hal_MappingOutPipe(adapt, pdvobjpriv->RtNumOutPipes); } =20 u32 rtl8188eu_InitPowerOn(struct adapter *adapt) --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 3B493C25B06 for ; Sat, 6 Aug 2022 19:56:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233183AbiHFT4G (ORCPT ); Sat, 6 Aug 2022 15:56:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232931AbiHFT4A (ORCPT ); Sat, 6 Aug 2022 15:56:00 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 92C4763EB for ; Sat, 6 Aug 2022 12:55:58 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPto-0004Tu-Qp; Sat, 06 Aug 2022 21:55:53 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 04/13] staging: r8188eu: move endpoint init functions to usb_halinit.c Date: Sat, 6 Aug 2022 21:55:31 +0200 Message-Id: <20220806195540.777390-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Move the Hal_MappingOutPipe function and the functions one_/two_/three_out_pipe from hal_com.c to usb_halinit.c. After this move, all the functions that rtl8188eu_interface_configure calls are in one file and we can continue to summarize and merge them. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/hal_com.c | 108 ---------------------- drivers/staging/r8188eu/hal/usb_halinit.c | 108 ++++++++++++++++++++++ drivers/staging/r8188eu/include/hal_com.h | 2 - 3 files changed, 108 insertions(+), 110 deletions(-) diff --git a/drivers/staging/r8188eu/hal/hal_com.c b/drivers/staging/r8188e= u/hal/hal_com.c index d24e0e5924eb..8416a65ba47b 100644 --- a/drivers/staging/r8188eu/hal/hal_com.c +++ b/drivers/staging/r8188eu/hal/hal_com.c @@ -138,114 +138,6 @@ void HalSetBrateCfg(struct adapter *adapt, u8 *brates= , u16 *rate_cfg) } } =20 -static void one_out_pipe(struct adapter *adapter) -{ - struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapter); - - pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ - pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ - pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[0];/* BE */ - pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[0];/* BK */ - - pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ - pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ - pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ - pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ -} - -static void two_out_pipe(struct adapter *adapter, bool wifi_cfg) -{ - struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapter); - - if (wifi_cfg) { /* WMM */ - /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ - /* 0, 1, 0, 1, 0, 0, 0, 0, 0}; */ - /* 0:H, 1:L */ - - pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[1];/* VO */ - pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ - pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ - pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[0];/* BK */ - - pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ - pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ - pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ - pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ - - } else {/* typical setting */ - /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ - /* 1, 1, 0, 0, 0, 0, 0, 0, 0}; */ - /* 0:H, 1:L */ - - pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ - pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ - pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ - pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[1];/* BK */ - - pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ - pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ - pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ - pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ - } -} - -static void three_out_pipe(struct adapter *adapter, bool wifi_cfg) -{ - struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapter); - - if (wifi_cfg) {/* for WMM */ - /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ - /* 1, 2, 1, 0, 0, 0, 0, 0, 0}; */ - /* 0:H, 1:N, 2:L */ - - pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ - pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ - pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ - pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[1];/* BK */ - - pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ - pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ - pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ - pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ - - } else {/* typical setting */ - /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ - /* 2, 2, 1, 0, 0, 0, 0, 0, 0}; */ - /* 0:H, 1:N, 2:L */ - - pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ - pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ - pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ - pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[2];/* BK */ - - pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ - pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ - pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ - pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ - } -} - -int Hal_MappingOutPipe(struct adapter *adapter, u8 numoutpipe) -{ - struct registry_priv *pregistrypriv =3D &adapter->registrypriv; - bool wifi_cfg =3D pregistrypriv->wifi_spec; - - switch (numoutpipe) { - case 2: - two_out_pipe(adapter, wifi_cfg); - break; - case 3: - three_out_pipe(adapter, wifi_cfg); - break; - case 1: - one_out_pipe(adapter); - break; - default: - return -ENXIO; - } - return 0; -} - /* * C2H event format: * Field TRIGGER CONTENT CMD_SEQ CMD_LEN CMD_ID diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index ed0faf4fd51d..8be93c44c903 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -35,6 +35,114 @@ static void _ConfigNormalChipOutEP_8188E(struct adapter= *adapt, u8 NumOutPipe) } } =20 +static void one_out_pipe(struct adapter *adapter) +{ + struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapter); + + pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ + pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ + pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[0];/* BE */ + pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[0];/* BK */ + + pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ + pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ + pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ + pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ +} + +static void two_out_pipe(struct adapter *adapter, bool wifi_cfg) +{ + struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapter); + + if (wifi_cfg) { /* WMM */ + /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ + /* 0, 1, 0, 1, 0, 0, 0, 0, 0}; */ + /* 0:H, 1:L */ + + pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[1];/* VO */ + pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ + pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ + pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[0];/* BK */ + + pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ + pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ + pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ + pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ + + } else {/* typical setting */ + /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ + /* 1, 1, 0, 0, 0, 0, 0, 0, 0}; */ + /* 0:H, 1:L */ + + pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ + pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ + pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ + pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[1];/* BK */ + + pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ + pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ + pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ + pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ + } +} + +static void three_out_pipe(struct adapter *adapter, bool wifi_cfg) +{ + struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapter); + + if (wifi_cfg) {/* for WMM */ + /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ + /* 1, 2, 1, 0, 0, 0, 0, 0, 0}; */ + /* 0:H, 1:N, 2:L */ + + pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ + pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ + pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ + pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[1];/* BK */ + + pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ + pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ + pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ + pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ + + } else {/* typical setting */ + /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ + /* 2, 2, 1, 0, 0, 0, 0, 0, 0}; */ + /* 0:H, 1:N, 2:L */ + + pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ + pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ + pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ + pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[2];/* BK */ + + pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ + pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ + pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ + pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ + } +} + +static int Hal_MappingOutPipe(struct adapter *adapter, u8 numoutpipe) +{ + struct registry_priv *pregistrypriv =3D &adapter->registrypriv; + bool wifi_cfg =3D pregistrypriv->wifi_spec; + + switch (numoutpipe) { + case 2: + two_out_pipe(adapter, wifi_cfg); + break; + case 3: + three_out_pipe(adapter, wifi_cfg); + break; + case 1: + one_out_pipe(adapter); + break; + default: + return -ENXIO; + } + return 0; +} + int rtl8188eu_interface_configure(struct adapter *adapt) { struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapt); diff --git a/drivers/staging/r8188eu/include/hal_com.h b/drivers/staging/r8= 188eu/include/hal_com.h index 3dfb61e64ee0..e8007295cd79 100644 --- a/drivers/staging/r8188eu/include/hal_com.h +++ b/drivers/staging/r8188eu/include/hal_com.h @@ -143,8 +143,6 @@ u8 MRateToHwRate(u8 rate); =20 void HalSetBrateCfg(struct adapter *Adapter, u8 *mBratesOS, u16 *pBrateCfg= ); =20 -int Hal_MappingOutPipe(struct adapter *pAdapter, u8 NumOutPipe); - s32 c2h_evt_read(struct adapter *adapter, u8 *buf); =20 #endif /* __HAL_COMMON_H__ */ --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 5E0F2C19F2D for ; Sat, 6 Aug 2022 19:56:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232530AbiHFT4L (ORCPT ); Sat, 6 Aug 2022 15:56:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37888 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232932AbiHFT4A (ORCPT ); Sat, 6 Aug 2022 15:56:00 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7850A6437 for ; Sat, 6 Aug 2022 12:55:59 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPtp-0004Tu-Rb; Sat, 06 Aug 2022 21:55:53 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 05/13] staging: r8188eu: summarize endpoint-related settings Date: Sat, 6 Aug 2022 21:55:32 +0200 Message-Id: <20220806195540.777390-6-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" rtl8188eu_interface_configure calls _ConfigNormalChipOutEP_8188E and Hal_MappingOutPipe. Both of these functions make some settings based on the number of out endpoints on the 8188eu chip. We can merge both of them into rtl8188eu_interface_configure and summarize the common code. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 55 +++++++---------------- 1 file changed, 17 insertions(+), 38 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 8be93c44c903..603108a5d794 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -13,28 +13,6 @@ #include "../include/usb_osintf.h" #include "../include/HalPwrSeqCmd.h" =20 -static void _ConfigNormalChipOutEP_8188E(struct adapter *adapt, u8 NumOutP= ipe) -{ - struct hal_data_8188e *haldata =3D &adapt->haldata; - - switch (NumOutPipe) { - case 3: - haldata->OutEpQueueSel =3D TX_SELE_HQ | TX_SELE_LQ | TX_SELE_NQ; - haldata->OutEpNumber =3D 3; - break; - case 2: - haldata->OutEpQueueSel =3D TX_SELE_HQ | TX_SELE_NQ; - haldata->OutEpNumber =3D 2; - break; - case 1: - haldata->OutEpQueueSel =3D TX_SELE_HQ; - haldata->OutEpNumber =3D 1; - break; - default: - break; - } -} - static void one_out_pipe(struct adapter *adapter) { struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapter); @@ -122,33 +100,34 @@ static void three_out_pipe(struct adapter *adapter, b= ool wifi_cfg) } } =20 -static int Hal_MappingOutPipe(struct adapter *adapter, u8 numoutpipe) +int rtl8188eu_interface_configure(struct adapter *adapt) { - struct registry_priv *pregistrypriv =3D &adapter->registrypriv; + struct registry_priv *pregistrypriv =3D &adapt->registrypriv; + struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapt); + struct hal_data_8188e *haldata =3D &adapt->haldata; bool wifi_cfg =3D pregistrypriv->wifi_spec; =20 - switch (numoutpipe) { - case 2: - two_out_pipe(adapter, wifi_cfg); - break; + switch (pdvobjpriv->RtNumOutPipes) { case 3: - three_out_pipe(adapter, wifi_cfg); + haldata->OutEpQueueSel =3D TX_SELE_HQ | TX_SELE_LQ | TX_SELE_NQ; + haldata->OutEpNumber =3D 3; + three_out_pipe(adapt, wifi_cfg); + break; + case 2: + haldata->OutEpQueueSel =3D TX_SELE_HQ | TX_SELE_NQ; + haldata->OutEpNumber =3D 2; + two_out_pipe(adapt, wifi_cfg); break; case 1: - one_out_pipe(adapter); + haldata->OutEpQueueSel =3D TX_SELE_HQ; + haldata->OutEpNumber =3D 1; + one_out_pipe(adapt); break; default: return -ENXIO; } - return 0; -} =20 -int rtl8188eu_interface_configure(struct adapter *adapt) -{ - struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapt); - - _ConfigNormalChipOutEP_8188E(adapt, pdvobjpriv->RtNumOutPipes); - return Hal_MappingOutPipe(adapt, pdvobjpriv->RtNumOutPipes); + return 0; } =20 u32 rtl8188eu_InitPowerOn(struct adapter *adapt) --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 C880EC19F2D for ; Sat, 6 Aug 2022 19:56:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233681AbiHFT4d (ORCPT ); Sat, 6 Aug 2022 15:56:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37956 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233064AbiHFT4C (ORCPT ); Sat, 6 Aug 2022 15:56:02 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D0A6165F8 for ; Sat, 6 Aug 2022 12:56:01 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPtq-0004Tu-QA; Sat, 06 Aug 2022 21:55:54 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 06/13] staging: r8188eu: remove OutEpNumber Date: Sat, 6 Aug 2022 21:55:33 +0200 Message-Id: <20220806195540.777390-7-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Remove the OutEpNumber component of struct hal_data_8188e. RtNumOutPipes in struct dvobj_priv stores the same info. Update the only place where OutEpNumber is read. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 7 ++----- drivers/staging/r8188eu/include/rtl8188e_hal.h | 1 - 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 603108a5d794..664028c14141 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -110,17 +110,14 @@ int rtl8188eu_interface_configure(struct adapter *ada= pt) switch (pdvobjpriv->RtNumOutPipes) { case 3: haldata->OutEpQueueSel =3D TX_SELE_HQ | TX_SELE_LQ | TX_SELE_NQ; - haldata->OutEpNumber =3D 3; three_out_pipe(adapt, wifi_cfg); break; case 2: haldata->OutEpQueueSel =3D TX_SELE_HQ | TX_SELE_NQ; - haldata->OutEpNumber =3D 2; two_out_pipe(adapt, wifi_cfg); break; case 1: haldata->OutEpQueueSel =3D TX_SELE_HQ; - haldata->OutEpNumber =3D 1; one_out_pipe(adapt); break; default: @@ -358,9 +355,9 @@ static void _InitNormalChipThreeOutEpPriority(struct ad= apter *Adapter) =20 static void _InitQueuePriority(struct adapter *Adapter) { - struct hal_data_8188e *haldata =3D &Adapter->haldata; + struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(Adapter); =20 - switch (haldata->OutEpNumber) { + switch (pdvobjpriv->RtNumOutPipes) { case 1: _InitNormalChipOneOutEpPriority(Adapter); break; diff --git a/drivers/staging/r8188eu/include/rtl8188e_hal.h b/drivers/stagi= ng/r8188eu/include/rtl8188e_hal.h index fdc187f4deaa..ff0a4ce19dde 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_hal.h +++ b/drivers/staging/r8188eu/include/rtl8188e_hal.h @@ -150,7 +150,6 @@ struct hal_data_8188e { u8 TRxAntDivType; =20 u8 OutEpQueueSel; - u8 OutEpNumber; =20 struct P2P_PS_Offload_t p2p_ps_offload; =20 --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 4B105C19F2D for ; Sat, 6 Aug 2022 19:56:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229456AbiHFT4X (ORCPT ); Sat, 6 Aug 2022 15:56:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233038AbiHFT4C (ORCPT ); Sat, 6 Aug 2022 15:56:02 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9915965B3 for ; Sat, 6 Aug 2022 12:56:01 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPtr-0004Tu-KV; Sat, 06 Aug 2022 21:55:55 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 07/13] staging: r8188eu: remove comments about endpoint mapping Date: Sat, 6 Aug 2022 21:55:34 +0200 Message-Id: <20220806195540.777390-8-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Remove the comments in two_out_pipe and three_out_pipe that show the mappings. They simply repeat the settings in the code and provide no additional information. Keep the info which RtOutPipe is high, normal or low. Without the removed comments, it'll be easier to summarize and reorganize the code. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 24 ++++++----------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 664028c14141..e561c92f1dc9 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -32,11 +32,9 @@ static void two_out_pipe(struct adapter *adapter, bool w= ifi_cfg) { struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapter); =20 - if (wifi_cfg) { /* WMM */ - /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ - /* 0, 1, 0, 1, 0, 0, 0, 0, 0}; */ - /* 0:H, 1:L */ + /* 0:H, 1:L */ =20 + if (wifi_cfg) { pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[1];/* VO */ pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ @@ -47,11 +45,7 @@ static void two_out_pipe(struct adapter *adapter, bool w= ifi_cfg) pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ =20 - } else {/* typical setting */ - /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ - /* 1, 1, 0, 0, 0, 0, 0, 0, 0}; */ - /* 0:H, 1:L */ - + } else { pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ @@ -68,11 +62,9 @@ static void three_out_pipe(struct adapter *adapter, bool= wifi_cfg) { struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapter); =20 - if (wifi_cfg) {/* for WMM */ - /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ - /* 1, 2, 1, 0, 0, 0, 0, 0, 0}; */ - /* 0:H, 1:N, 2:L */ + /* 0:H, 1:N, 2:L */ =20 + if (wifi_cfg) { pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ @@ -83,11 +75,7 @@ static void three_out_pipe(struct adapter *adapter, bool= wifi_cfg) pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ =20 - } else {/* typical setting */ - /* BK, BE, VI, VO, BCN, CMD, MGT, HIGH, HCCA */ - /* 2, 2, 1, 0, 0, 0, 0, 0, 0}; */ - /* 0:H, 1:N, 2:L */ - + } else { pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 9E12EC19F2D for ; Sat, 6 Aug 2022 19:56:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233877AbiHFT43 (ORCPT ); Sat, 6 Aug 2022 15:56:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38004 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233100AbiHFT4E (ORCPT ); Sat, 6 Aug 2022 15:56:04 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E4E8CA1AB for ; Sat, 6 Aug 2022 12:56:01 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPts-0004Tu-Es; Sat, 06 Aug 2022 21:55:56 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 08/13] staging: r8188eu: summarize common Queue2Pipe settings Date: Sat, 6 Aug 2022 21:55:35 +0200 Message-Id: <20220806195540.777390-9-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Regardless of the number of endpoints, queues 4 to 7 are mapped to pipe 0. Move these mappings to rtl8188eu_interface_configure to make the code simpler. It's ok to make these settings even if we exit with error later. In this case, the driver will not be loaded and pdvobjpriv->Queue2Pipe[] will be freed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 32 ++++------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index e561c92f1dc9..431661be95e0 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -21,11 +21,6 @@ static void one_out_pipe(struct adapter *adapter) pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[0];/* BE */ pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[0];/* BK */ - - pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ - pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ - pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ - pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ } =20 static void two_out_pipe(struct adapter *adapter, bool wifi_cfg) @@ -39,22 +34,11 @@ static void two_out_pipe(struct adapter *adapter, bool = wifi_cfg) pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[0];/* BK */ - - pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ - pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ - pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ - pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ - } else { pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[1];/* BK */ - - pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ - pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ - pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ - pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ } } =20 @@ -69,22 +53,11 @@ static void three_out_pipe(struct adapter *adapter, boo= l wifi_cfg) pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[1];/* BK */ - - pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ - pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ - pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ - pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ - } else { pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[2];/* BK */ - - pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ - pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ - pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ - pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ } } =20 @@ -95,6 +68,11 @@ int rtl8188eu_interface_configure(struct adapter *adapt) struct hal_data_8188e *haldata =3D &adapt->haldata; bool wifi_cfg =3D pregistrypriv->wifi_spec; =20 + pdvobjpriv->Queue2Pipe[4] =3D pdvobjpriv->RtOutPipe[0];/* BCN */ + pdvobjpriv->Queue2Pipe[5] =3D pdvobjpriv->RtOutPipe[0];/* MGT */ + pdvobjpriv->Queue2Pipe[6] =3D pdvobjpriv->RtOutPipe[0];/* HIGH */ + pdvobjpriv->Queue2Pipe[7] =3D pdvobjpriv->RtOutPipe[0];/* TXCMD */ + switch (pdvobjpriv->RtNumOutPipes) { case 3: haldata->OutEpQueueSel =3D TX_SELE_HQ | TX_SELE_LQ | TX_SELE_NQ; --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 7A81AC19F2D for ; Sat, 6 Aug 2022 19:56:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234013AbiHFT4k (ORCPT ); Sat, 6 Aug 2022 15:56:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38190 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233366AbiHFT4I (ORCPT ); Sat, 6 Aug 2022 15:56:08 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A8FBFCE39 for ; Sat, 6 Aug 2022 12:56:05 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPtt-0004Tu-Ai; Sat, 06 Aug 2022 21:55:57 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 09/13] staging: r8188eu: simplify three_out_pipe Date: Sat, 6 Aug 2022 21:55:36 +0200 Message-Id: <20220806195540.777390-10-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Only one of the mappings in three_out_pipe depends on the wifi_cfg flag. Simplify the code accordingly. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 431661be95e0..044e608bf6e2 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -48,17 +48,12 @@ static void three_out_pipe(struct adapter *adapter, boo= l wifi_cfg) =20 /* 0:H, 1:N, 2:L */ =20 - if (wifi_cfg) { - pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ - pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ - pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ - pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[1];/* BK */ - } else { - pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ - pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ - pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ - pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[2];/* BK */ - } + pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ + pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[1];/* VI */ + pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[2];/* BE */ + + pdvobjpriv->Queue2Pipe[3] =3D wifi_cfg ? + pdvobjpriv->RtOutPipe[1] : pdvobjpriv->RtOutPipe[2];/* BK */ } =20 int rtl8188eu_interface_configure(struct adapter *adapt) --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 10D04C19F2D for ; Sat, 6 Aug 2022 19:56:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232571AbiHFT4h (ORCPT ); Sat, 6 Aug 2022 15:56:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38110 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233200AbiHFT4G (ORCPT ); Sat, 6 Aug 2022 15:56:06 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6625CBC3C for ; Sat, 6 Aug 2022 12:56:03 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPtu-0004Tu-53; Sat, 06 Aug 2022 21:55:58 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 10/13] staging: r8188eu: simplify two_out_pipe Date: Sat, 6 Aug 2022 21:55:37 +0200 Message-Id: <20220806195540.777390-11-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Simplify the two_out_pipe function. Move common settings out of the if clause. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 044e608bf6e2..f3314bed9285 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -29,15 +29,14 @@ static void two_out_pipe(struct adapter *adapter, bool = wifi_cfg) =20 /* 0:H, 1:L */ =20 + pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ + pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ + if (wifi_cfg) { pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[1];/* VO */ - pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ - pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[0];/* BK */ } else { pdvobjpriv->Queue2Pipe[0] =3D pdvobjpriv->RtOutPipe[0];/* VO */ - pdvobjpriv->Queue2Pipe[1] =3D pdvobjpriv->RtOutPipe[0];/* VI */ - pdvobjpriv->Queue2Pipe[2] =3D pdvobjpriv->RtOutPipe[1];/* BE */ pdvobjpriv->Queue2Pipe[3] =3D pdvobjpriv->RtOutPipe[1];/* BK */ } } --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 6C555C19F2D for ; Sat, 6 Aug 2022 19:56:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234032AbiHFT4m (ORCPT ); Sat, 6 Aug 2022 15:56:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38434 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233591AbiHFT4N (ORCPT ); Sat, 6 Aug 2022 15:56:13 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3640DBF6A for ; Sat, 6 Aug 2022 12:56:06 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPtu-0004Tu-Vs; Sat, 06 Aug 2022 21:55:59 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 11/13] staging: r8188eu: remove _InitNormalChipOneOutEpPriority Date: Sat, 6 Aug 2022 21:55:38 +0200 Message-Id: <20220806195540.777390-12-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" When _InitNormalChipOneOutEpPriority is called, pdvobjpriv->RtNumOutPipes and haldata->OutEpQueueSel have already been initialized. _InitNormalChipOneOutEpPriority is called only if pdvobjpriv->RtNumOutPipes =3D=3D 1. In this case, haldata->OutEpQueueSel is always TX_SELE_HQ. We can then simplify _InitNormalChipOneOutEpPriority to a single _InitNormalChipRegPriority call, i.e. we can remove _InitNormalChipOneOutEpPriority and call _InitNormalChipRegPriority directly. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 25 ++--------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index f3314bed9285..a89db93840f3 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -225,28 +225,6 @@ static void _InitNormalChipRegPriority(struct adapter = *Adapter, u16 beQ, rtw_write16(Adapter, REG_TRXDMA_CTRL, value16); } =20 -static void _InitNormalChipOneOutEpPriority(struct adapter *Adapter) -{ - struct hal_data_8188e *haldata =3D &Adapter->haldata; - - u16 value =3D 0; - switch (haldata->OutEpQueueSel) { - case TX_SELE_HQ: - value =3D QUEUE_HIGH; - break; - case TX_SELE_LQ: - value =3D QUEUE_LOW; - break; - case TX_SELE_NQ: - value =3D QUEUE_NORMAL; - break; - default: - break; - } - _InitNormalChipRegPriority(Adapter, value, value, value, value, - value, value); -} - static void _InitNormalChipTwoOutEpPriority(struct adapter *Adapter) { struct hal_data_8188e *haldata =3D &Adapter->haldata; @@ -319,7 +297,8 @@ static void _InitQueuePriority(struct adapter *Adapter) =20 switch (pdvobjpriv->RtNumOutPipes) { case 1: - _InitNormalChipOneOutEpPriority(Adapter); + _InitNormalChipRegPriority(Adapter, QUEUE_HIGH, QUEUE_HIGH, QUEUE_HIGH, + QUEUE_HIGH, QUEUE_HIGH, QUEUE_HIGH); break; case 2: _InitNormalChipTwoOutEpPriority(Adapter); --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 95B68C19F2D for ; Sat, 6 Aug 2022 19:56:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232120AbiHFT4v (ORCPT ); Sat, 6 Aug 2022 15:56:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38154 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233259AbiHFT4S (ORCPT ); Sat, 6 Aug 2022 15:56:18 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 658BEE0B0 for ; Sat, 6 Aug 2022 12:56:09 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPtv-0004Tu-RY; Sat, 06 Aug 2022 21:55:59 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 12/13] staging: r8188eu: we always use HQ and NQ for two endpoints Date: Sat, 6 Aug 2022 21:55:39 +0200 Message-Id: <20220806195540.777390-13-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" When _InitNormalChipTwoOutEpPriority is called, pdvobjpriv->RtNumOutPipes and haldata->OutEpQueueSel have already been initialized. _InitNormalChipTwoOutEpPriority is called only if pdvobjpriv->RtNumOutPipes =3D=3D 2. In this case, haldata->OutEpQueueSel is always TX_SELE_HQ | TX_SELE_NQ. Remove the switch-case statement and set valueHi and valueLow directly. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index a89db93840f3..fc4d25b835d3 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -227,28 +227,10 @@ static void _InitNormalChipRegPriority(struct adapter= *Adapter, u16 beQ, =20 static void _InitNormalChipTwoOutEpPriority(struct adapter *Adapter) { - struct hal_data_8188e *haldata =3D &Adapter->haldata; struct registry_priv *pregistrypriv =3D &Adapter->registrypriv; u16 beQ, bkQ, viQ, voQ, mgtQ, hiQ; - u16 valueHi =3D 0; - u16 valueLow =3D 0; - - switch (haldata->OutEpQueueSel) { - case (TX_SELE_HQ | TX_SELE_LQ): - valueHi =3D QUEUE_HIGH; - valueLow =3D QUEUE_LOW; - break; - case (TX_SELE_NQ | TX_SELE_LQ): - valueHi =3D QUEUE_NORMAL; - valueLow =3D QUEUE_LOW; - break; - case (TX_SELE_HQ | TX_SELE_NQ): - valueHi =3D QUEUE_HIGH; - valueLow =3D QUEUE_NORMAL; - break; - default: - break; - } + u16 valueHi =3D QUEUE_HIGH; + u16 valueLow =3D QUEUE_NORMAL; =20 if (!pregistrypriv->wifi_spec) { beQ =3D valueLow; --=20 2.30.2 From nobody Sat Apr 11 19:55:06 2026 Return-Path: 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 F1E86C19F2D for ; Sat, 6 Aug 2022 19:56:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234054AbiHFT4r (ORCPT ); Sat, 6 Aug 2022 15:56:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38468 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233670AbiHFT4O (ORCPT ); Sat, 6 Aug 2022 15:56:14 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 19E97261E for ; Sat, 6 Aug 2022 12:56:07 -0700 (PDT) Received: from dslb-188-097-043-167.188.097.pools.vodafone-ip.de ([188.97.43.167] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oKPtw-0004Tu-NG; Sat, 06 Aug 2022 21:56:00 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 13/13] staging: r8188eu: simplify _InitNormalChipTwoOutEpPriority Date: Sat, 6 Aug 2022 21:55:40 +0200 Message-Id: <20220806195540.777390-14-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220806195540.777390-1-martin@kaiser.cx> References: <20220806195540.777390-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Simplify the _InitNormalChipTwoOutEpPriority function, now that we have only one configuration for the queues. Remove the variables which are constant. Keep only those settings that depend on wifi_spec. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_halinit.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index fc4d25b835d3..e1d56370a471 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -228,26 +228,17 @@ static void _InitNormalChipRegPriority(struct adapter= *Adapter, u16 beQ, static void _InitNormalChipTwoOutEpPriority(struct adapter *Adapter) { struct registry_priv *pregistrypriv =3D &Adapter->registrypriv; - u16 beQ, bkQ, viQ, voQ, mgtQ, hiQ; - u16 valueHi =3D QUEUE_HIGH; - u16 valueLow =3D QUEUE_NORMAL; + u16 bkQ, voQ; =20 if (!pregistrypriv->wifi_spec) { - beQ =3D valueLow; - bkQ =3D valueLow; - viQ =3D valueHi; - voQ =3D valueHi; - mgtQ =3D valueHi; - hiQ =3D valueHi; + bkQ =3D QUEUE_NORMAL; + voQ =3D QUEUE_HIGH; } else {/* for WMM ,CONFIG_OUT_EP_WIFI_MODE */ - beQ =3D valueLow; - bkQ =3D valueHi; - viQ =3D valueHi; - voQ =3D valueLow; - mgtQ =3D valueHi; - hiQ =3D valueHi; + bkQ =3D QUEUE_HIGH; + voQ =3D QUEUE_NORMAL; } - _InitNormalChipRegPriority(Adapter, beQ, bkQ, viQ, voQ, mgtQ, hiQ); + _InitNormalChipRegPriority(Adapter, QUEUE_NORMAL, bkQ, QUEUE_HIGH, + voQ, QUEUE_HIGH, QUEUE_HIGH); } =20 static void _InitNormalChipThreeOutEpPriority(struct adapter *Adapter) --=20 2.30.2