* [PATCH 0/1] net: wireless: wcn36xx: Add support for pronto-v3 @ 2023-03-11 15:06 Sireesh Kodali 2023-03-11 15:06 ` [PATCH 1/1] net: wireless: ath: wcn36xx: add " Sireesh Kodali 0 siblings, 1 reply; 8+ messages in thread From: Sireesh Kodali @ 2023-03-11 15:06 UTC (permalink / raw) To: loic.poulain, wcn36xx, linux-wireless, netdev, ~postmarketos/upstreaming, linux-kernel Cc: Sireesh Kodali Hi, Pronto-v3 is a WiFi remoteproc found on MSM8953 and other Qualcomm platforms. Support for booting the remoteproc has already been merged, however, due to a slight change in the register map between v2 and v3, the wcn36xx driver does not work on pronot-v3. This patch updates the register definitions to make wcn36xx work on pronto-v3 as well. Regards, Sireesh Kodali Vladimir Lypak (1): net: wireless: ath: wcn36xx: add support for pronto-v3 drivers/net/wireless/ath/wcn36xx/dxe.c | 23 +++++++++++----------- drivers/net/wireless/ath/wcn36xx/dxe.h | 4 ++-- drivers/net/wireless/ath/wcn36xx/main.c | 1 + drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 1 + 4 files changed, 16 insertions(+), 13 deletions(-) -- 2.39.2 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/1] net: wireless: ath: wcn36xx: add support for pronto-v3 2023-03-11 15:06 [PATCH 0/1] net: wireless: wcn36xx: Add support for pronto-v3 Sireesh Kodali @ 2023-03-11 15:06 ` Sireesh Kodali 2023-03-13 5:52 ` Kalle Valo ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Sireesh Kodali @ 2023-03-11 15:06 UTC (permalink / raw) To: loic.poulain, wcn36xx, linux-wireless, netdev, ~postmarketos/upstreaming, linux-kernel Cc: Vladimir Lypak, Sireesh Kodali, Kalle Valo, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni From: Vladimir Lypak <vladimir.lypak@gmail.com> Pronto v3 has a different DXE address than prior Pronto versions. This patch changes the macro to return the correct register address based on the pronto version. Signed-off-by: Vladimir Lypak <vladimir.lypak@gmail.com> Signed-off-by: Sireesh Kodali <sireeshkodali1@gmail.com> --- drivers/net/wireless/ath/wcn36xx/dxe.c | 23 +++++++++++----------- drivers/net/wireless/ath/wcn36xx/dxe.h | 4 ++-- drivers/net/wireless/ath/wcn36xx/main.c | 1 + drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 1 + 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.c b/drivers/net/wireless/ath/wcn36xx/dxe.c index 4e9e13941c8f..9013f056eecb 100644 --- a/drivers/net/wireless/ath/wcn36xx/dxe.c +++ b/drivers/net/wireless/ath/wcn36xx/dxe.c @@ -112,8 +112,8 @@ int wcn36xx_dxe_alloc_ctl_blks(struct wcn36xx *wcn) wcn->dxe_rx_l_ch.desc_num = WCN36XX_DXE_CH_DESC_NUMB_RX_L; wcn->dxe_rx_h_ch.desc_num = WCN36XX_DXE_CH_DESC_NUMB_RX_H; - wcn->dxe_tx_l_ch.dxe_wq = WCN36XX_DXE_WQ_TX_L; - wcn->dxe_tx_h_ch.dxe_wq = WCN36XX_DXE_WQ_TX_H; + wcn->dxe_tx_l_ch.dxe_wq = WCN36XX_DXE_WQ_TX_L(wcn); + wcn->dxe_tx_h_ch.dxe_wq = WCN36XX_DXE_WQ_TX_H(wcn); wcn->dxe_tx_l_ch.ctrl_bd = WCN36XX_DXE_CTRL_TX_L_BD; wcn->dxe_tx_h_ch.ctrl_bd = WCN36XX_DXE_CTRL_TX_H_BD; @@ -165,8 +165,9 @@ void wcn36xx_dxe_free_ctl_blks(struct wcn36xx *wcn) wcn36xx_dxe_free_ctl_block(&wcn->dxe_rx_h_ch); } -static int wcn36xx_dxe_init_descs(struct device *dev, struct wcn36xx_dxe_ch *wcn_ch) +static int wcn36xx_dxe_init_descs(struct wcn36xx *wcn, struct wcn36xx_dxe_ch *wcn_ch) { + struct device *dev = wcn->dev; struct wcn36xx_dxe_desc *cur_dxe = NULL; struct wcn36xx_dxe_desc *prev_dxe = NULL; struct wcn36xx_dxe_ctl *cur_ctl = NULL; @@ -190,11 +191,11 @@ static int wcn36xx_dxe_init_descs(struct device *dev, struct wcn36xx_dxe_ch *wcn switch (wcn_ch->ch_type) { case WCN36XX_DXE_CH_TX_L: cur_dxe->ctrl = WCN36XX_DXE_CTRL_TX_L; - cur_dxe->dst_addr_l = WCN36XX_DXE_WQ_TX_L; + cur_dxe->dst_addr_l = WCN36XX_DXE_WQ_TX_L(wcn); break; case WCN36XX_DXE_CH_TX_H: cur_dxe->ctrl = WCN36XX_DXE_CTRL_TX_H; - cur_dxe->dst_addr_l = WCN36XX_DXE_WQ_TX_H; + cur_dxe->dst_addr_l = WCN36XX_DXE_WQ_TX_H(wcn); break; case WCN36XX_DXE_CH_RX_L: cur_dxe->ctrl = WCN36XX_DXE_CTRL_RX_L; @@ -914,7 +915,7 @@ int wcn36xx_dxe_init(struct wcn36xx *wcn) /***************************************/ /* Init descriptors for TX LOW channel */ /***************************************/ - ret = wcn36xx_dxe_init_descs(wcn->dev, &wcn->dxe_tx_l_ch); + ret = wcn36xx_dxe_init_descs(wcn, &wcn->dxe_tx_l_ch); if (ret) { dev_err(wcn->dev, "Error allocating descriptor\n"); return ret; @@ -928,14 +929,14 @@ int wcn36xx_dxe_init(struct wcn36xx *wcn) /* Program DMA destination addr for TX LOW */ wcn36xx_dxe_write_register(wcn, WCN36XX_DXE_CH_DEST_ADDR_TX_L, - WCN36XX_DXE_WQ_TX_L); + WCN36XX_DXE_WQ_TX_L(wcn)); wcn36xx_dxe_read_register(wcn, WCN36XX_DXE_REG_CH_EN, ®_data); /***************************************/ /* Init descriptors for TX HIGH channel */ /***************************************/ - ret = wcn36xx_dxe_init_descs(wcn->dev, &wcn->dxe_tx_h_ch); + ret = wcn36xx_dxe_init_descs(wcn, &wcn->dxe_tx_h_ch); if (ret) { dev_err(wcn->dev, "Error allocating descriptor\n"); goto out_err_txh_ch; @@ -950,14 +951,14 @@ int wcn36xx_dxe_init(struct wcn36xx *wcn) /* Program DMA destination addr for TX HIGH */ wcn36xx_dxe_write_register(wcn, WCN36XX_DXE_CH_DEST_ADDR_TX_H, - WCN36XX_DXE_WQ_TX_H); + WCN36XX_DXE_WQ_TX_H(wcn)); wcn36xx_dxe_read_register(wcn, WCN36XX_DXE_REG_CH_EN, ®_data); /***************************************/ /* Init descriptors for RX LOW channel */ /***************************************/ - ret = wcn36xx_dxe_init_descs(wcn->dev, &wcn->dxe_rx_l_ch); + ret = wcn36xx_dxe_init_descs(wcn, &wcn->dxe_rx_l_ch); if (ret) { dev_err(wcn->dev, "Error allocating descriptor\n"); goto out_err_rxl_ch; @@ -988,7 +989,7 @@ int wcn36xx_dxe_init(struct wcn36xx *wcn) /***************************************/ /* Init descriptors for RX HIGH channel */ /***************************************/ - ret = wcn36xx_dxe_init_descs(wcn->dev, &wcn->dxe_rx_h_ch); + ret = wcn36xx_dxe_init_descs(wcn, &wcn->dxe_rx_h_ch); if (ret) { dev_err(wcn->dev, "Error allocating descriptor\n"); goto out_err_rxh_ch; diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.h b/drivers/net/wireless/ath/wcn36xx/dxe.h index 26a31edf52e9..dd8c684a3ba7 100644 --- a/drivers/net/wireless/ath/wcn36xx/dxe.h +++ b/drivers/net/wireless/ath/wcn36xx/dxe.h @@ -135,8 +135,8 @@ H2H_TEST_RX_TX = DMA2 WCN36xx_DXE_CTRL_ENDIANNESS) /* TODO This must calculated properly but not hardcoded */ -#define WCN36XX_DXE_WQ_TX_L 0x17 -#define WCN36XX_DXE_WQ_TX_H 0x17 +#define WCN36XX_DXE_WQ_TX_L(wcn) ((wcn)->is_pronto_v3 ? 0x6 : 0x17) +#define WCN36XX_DXE_WQ_TX_H(wcn) ((wcn)->is_pronto_v3 ? 0x6 : 0x17) #define WCN36XX_DXE_WQ_RX_L 0xB #define WCN36XX_DXE_WQ_RX_H 0x4 diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c index 3b79cc1c7c5b..8dbd115a393c 100644 --- a/drivers/net/wireless/ath/wcn36xx/main.c +++ b/drivers/net/wireless/ath/wcn36xx/main.c @@ -1508,6 +1508,7 @@ static int wcn36xx_platform_get_resources(struct wcn36xx *wcn, } wcn->is_pronto = !!of_device_is_compatible(mmio_node, "qcom,pronto"); + wcn->is_pronto_v3 = !!of_device_is_compatible(mmio_node, "qcom,pronto-v3-pil"); /* Map the CCU memory */ index = of_property_match_string(mmio_node, "reg-names", "ccu"); diff --git a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h index 9aa08b636d08..ff4a8e5d7209 100644 --- a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h +++ b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h @@ -217,6 +217,7 @@ struct wcn36xx { u8 fw_major; u32 fw_feat_caps[WCN36XX_HAL_CAPS_SIZE]; bool is_pronto; + bool is_pronto_v3; /* extra byte for the NULL termination */ u8 crm_version[WCN36XX_HAL_VERSION_LENGTH + 1]; -- 2.39.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/1] net: wireless: ath: wcn36xx: add support for pronto-v3 2023-03-11 15:06 ` [PATCH 1/1] net: wireless: ath: wcn36xx: add " Sireesh Kodali @ 2023-03-13 5:52 ` Kalle Valo 2023-03-14 3:55 ` Sireesh Kodali 2023-03-14 8:49 ` Loic Poulain 2023-03-15 10:15 ` Kalle Valo 2 siblings, 1 reply; 8+ messages in thread From: Kalle Valo @ 2023-03-13 5:52 UTC (permalink / raw) To: Sireesh Kodali Cc: loic.poulain, wcn36xx, linux-wireless, netdev, ~postmarketos/upstreaming, linux-kernel, Vladimir Lypak, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni Sireesh Kodali <sireeshkodali1@gmail.com> writes: > From: Vladimir Lypak <vladimir.lypak@gmail.com> > > Pronto v3 has a different DXE address than prior Pronto versions. This > patch changes the macro to return the correct register address based on > the pronto version. > > Signed-off-by: Vladimir Lypak <vladimir.lypak@gmail.com> > Signed-off-by: Sireesh Kodali <sireeshkodali1@gmail.com> > --- > drivers/net/wireless/ath/wcn36xx/dxe.c | 23 +++++++++++----------- > drivers/net/wireless/ath/wcn36xx/dxe.h | 4 ++-- > drivers/net/wireless/ath/wcn36xx/main.c | 1 + > drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 1 + > 4 files changed, 16 insertions(+), 13 deletions(-) The title should be: wifi: wcn36xx: add support for pronto-v3 I can fix that, no need to resend because of this. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/1] net: wireless: ath: wcn36xx: add support for pronto-v3 2023-03-13 5:52 ` Kalle Valo @ 2023-03-14 3:55 ` Sireesh Kodali 0 siblings, 0 replies; 8+ messages in thread From: Sireesh Kodali @ 2023-03-14 3:55 UTC (permalink / raw) To: Kalle Valo Cc: loic.poulain, wcn36xx, linux-wireless, netdev, ~postmarketos/upstreaming, linux-kernel, Vladimir Lypak, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni On Mon Mar 13, 2023 at 11:22 AM IST, Kalle Valo wrote: > Sireesh Kodali <sireeshkodali1@gmail.com> writes: > > > From: Vladimir Lypak <vladimir.lypak@gmail.com> > > > > Pronto v3 has a different DXE address than prior Pronto versions. This > > patch changes the macro to return the correct register address based on > > the pronto version. > > > > Signed-off-by: Vladimir Lypak <vladimir.lypak@gmail.com> > > Signed-off-by: Sireesh Kodali <sireeshkodali1@gmail.com> > > --- > > drivers/net/wireless/ath/wcn36xx/dxe.c | 23 +++++++++++----------- > > drivers/net/wireless/ath/wcn36xx/dxe.h | 4 ++-- > > drivers/net/wireless/ath/wcn36xx/main.c | 1 + > > drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 1 + > > 4 files changed, 16 insertions(+), 13 deletions(-) > > The title should be: > > wifi: wcn36xx: add support for pronto-v3 > > I can fix that, no need to resend because of this. > > -- > https://patchwork.kernel.org/project/linux-wireless/list/ > > https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches Thank you, I'll keep this in mind when submitting future patches ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/1] net: wireless: ath: wcn36xx: add support for pronto-v3 2023-03-11 15:06 ` [PATCH 1/1] net: wireless: ath: wcn36xx: add " Sireesh Kodali 2023-03-13 5:52 ` Kalle Valo @ 2023-03-14 8:49 ` Loic Poulain 2023-03-14 18:04 ` Sireesh Kodali 2023-03-15 10:15 ` Kalle Valo 2 siblings, 1 reply; 8+ messages in thread From: Loic Poulain @ 2023-03-14 8:49 UTC (permalink / raw) To: Sireesh Kodali Cc: wcn36xx, linux-wireless, netdev, ~postmarketos/upstreaming, linux-kernel, Vladimir Lypak, Kalle Valo, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni On Sat, 11 Mar 2023 at 16:07, Sireesh Kodali <sireeshkodali1@gmail.com> wrote: > > From: Vladimir Lypak <vladimir.lypak@gmail.com> > > Pronto v3 has a different DXE address than prior Pronto versions. This > patch changes the macro to return the correct register address based on > the pronto version. > > Signed-off-by: Vladimir Lypak <vladimir.lypak@gmail.com> > Signed-off-by: Sireesh Kodali <sireeshkodali1@gmail.com> Acked-by: Loic Poulain <loic.poulain@linaro.org> Could you also submit a change for the new 'qcom,pronto-v3-pil' compatible in the related devicetree documentation ? (bindings/remoteproc/qcom,wcnss-pil.txt) ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/1] net: wireless: ath: wcn36xx: add support for pronto-v3 2023-03-14 8:49 ` Loic Poulain @ 2023-03-14 18:04 ` Sireesh Kodali 2023-03-14 18:42 ` Loic Poulain 0 siblings, 1 reply; 8+ messages in thread From: Sireesh Kodali @ 2023-03-14 18:04 UTC (permalink / raw) To: Loic Poulain Cc: wcn36xx, linux-wireless, netdev, ~postmarketos/upstreaming, linux-kernel, Vladimir Lypak, Kalle Valo, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni On Tue Mar 14, 2023 at 2:19 PM IST, Loic Poulain wrote: > On Sat, 11 Mar 2023 at 16:07, Sireesh Kodali <sireeshkodali1@gmail.com> wrote: > > > > From: Vladimir Lypak <vladimir.lypak@gmail.com> > > > > Pronto v3 has a different DXE address than prior Pronto versions. This > > patch changes the macro to return the correct register address based on > > the pronto version. > > > > Signed-off-by: Vladimir Lypak <vladimir.lypak@gmail.com> > > Signed-off-by: Sireesh Kodali <sireeshkodali1@gmail.com> > > Acked-by: Loic Poulain <loic.poulain@linaro.org> > > Could you also submit a change for the new 'qcom,pronto-v3-pil' > compatible in the related devicetree documentation ? > (bindings/remoteproc/qcom,wcnss-pil.txt) The changes to the device tree were only recently merged LKML link: https://lkml.org/lkml/2022/9/30/1502 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/1] net: wireless: ath: wcn36xx: add support for pronto-v3 2023-03-14 18:04 ` Sireesh Kodali @ 2023-03-14 18:42 ` Loic Poulain 0 siblings, 0 replies; 8+ messages in thread From: Loic Poulain @ 2023-03-14 18:42 UTC (permalink / raw) To: Sireesh Kodali Cc: wcn36xx, linux-wireless, netdev, ~postmarketos/upstreaming, linux-kernel, Vladimir Lypak, Kalle Valo, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni On Tue, 14 Mar 2023 at 19:04, Sireesh Kodali <sireeshkodali1@gmail.com> wrote: > > On Tue Mar 14, 2023 at 2:19 PM IST, Loic Poulain wrote: > > On Sat, 11 Mar 2023 at 16:07, Sireesh Kodali <sireeshkodali1@gmail.com> wrote: > > > > > > From: Vladimir Lypak <vladimir.lypak@gmail.com> > > > > > > Pronto v3 has a different DXE address than prior Pronto versions. This > > > patch changes the macro to return the correct register address based on > > > the pronto version. > > > > > > Signed-off-by: Vladimir Lypak <vladimir.lypak@gmail.com> > > > Signed-off-by: Sireesh Kodali <sireeshkodali1@gmail.com> > > > > Acked-by: Loic Poulain <loic.poulain@linaro.org> > > > > Could you also submit a change for the new 'qcom,pronto-v3-pil' > > compatible in the related devicetree documentation ? > > (bindings/remoteproc/qcom,wcnss-pil.txt) > > The changes to the device tree were only recently merged > LKML link: https://lkml.org/lkml/2022/9/30/1502 Perfect, thanks. Loic ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/1] net: wireless: ath: wcn36xx: add support for pronto-v3 2023-03-11 15:06 ` [PATCH 1/1] net: wireless: ath: wcn36xx: add " Sireesh Kodali 2023-03-13 5:52 ` Kalle Valo 2023-03-14 8:49 ` Loic Poulain @ 2023-03-15 10:15 ` Kalle Valo 2 siblings, 0 replies; 8+ messages in thread From: Kalle Valo @ 2023-03-15 10:15 UTC (permalink / raw) To: Sireesh Kodali Cc: loic.poulain, wcn36xx, linux-wireless, netdev, ~postmarketos/upstreaming, linux-kernel, Vladimir Lypak, Sireesh Kodali, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni Sireesh Kodali <sireeshkodali1@gmail.com> wrote: > Pronto v3 has a different DXE address than prior Pronto versions. This > patch changes the macro to return the correct register address based on > the pronto version. > > Signed-off-by: Vladimir Lypak <vladimir.lypak@gmail.com> > Signed-off-by: Sireesh Kodali <sireeshkodali1@gmail.com> > Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Patch applied to ath-next branch of ath.git, thanks. f94557154d9f wifi: wcn36xx: add support for pronto-v3 -- https://patchwork.kernel.org/project/linux-wireless/patch/20230311150647.22935-2-sireeshkodali1@gmail.com/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-03-15 10:16 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-03-11 15:06 [PATCH 0/1] net: wireless: wcn36xx: Add support for pronto-v3 Sireesh Kodali 2023-03-11 15:06 ` [PATCH 1/1] net: wireless: ath: wcn36xx: add " Sireesh Kodali 2023-03-13 5:52 ` Kalle Valo 2023-03-14 3:55 ` Sireesh Kodali 2023-03-14 8:49 ` Loic Poulain 2023-03-14 18:04 ` Sireesh Kodali 2023-03-14 18:42 ` Loic Poulain 2023-03-15 10:15 ` Kalle Valo
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.