* [PATCH] wifi: mt76: mt7915: add dev->hif2 support for mt7916 WED device
@ 2023-02-22 6:29 Sujuan Chen
2023-02-22 8:38 ` kernel test robot
0 siblings, 1 reply; 2+ messages in thread
From: Sujuan Chen @ 2023-02-22 6:29 UTC (permalink / raw)
To: Felix Fietkau
Cc: linux-wireless, Bo Jiao, Ryder Lee, Evelyn Tsai, linux-mediatek,
Sujuan Chen
Enable two PCIe interfaces (dev->hif2) support for mt7916 when WED is enabled.
Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com>
---
drivers/net/wireless/mediatek/mt76/mt7915/dma.c | 10 ++++++++--
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 3 ++-
drivers/net/wireless/mediatek/mt76/mt7915/mmio.c | 10 +++++-----
3 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/dma.c b/drivers/net/wireless/mediatek/mt76/mt7915/dma.c
index abe17dac9996..43a5456d4b97 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/dma.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/dma.c
@@ -87,8 +87,14 @@ static void mt7915_dma_config(struct mt7915_dev *dev)
MT7916_RXQ_BAND0);
RXQ_CONFIG(MT_RXQ_MCU_WA, WFDMA0, MT_INT_WED_RX_DONE_WA_MT7916,
MT7916_RXQ_MCU_WA);
- RXQ_CONFIG(MT_RXQ_BAND1, WFDMA0, MT_INT_WED_RX_DONE_BAND1_MT7916,
- MT7916_RXQ_BAND1);
+ if (dev->hif2)
+ RXQ_CONFIG(MT_RXQ_BAND1, WFDMA0,
+ MT_INT_RX_DONE_BAND1_MT7916,
+ MT7916_RXQ_BAND1);
+ else
+ RXQ_CONFIG(MT_RXQ_BAND1, WFDMA0,
+ MT_INT_WED_RX_DONE_BAND1_MT7916,
+ MT7916_RXQ_BAND1);
RXQ_CONFIG(MT_RXQ_MAIN_WA, WFDMA0, MT_INT_WED_RX_DONE_WA_MAIN_MT7916,
MT7916_RXQ_MCU_WA_MAIN);
TXQ_CONFIG(0, WFDMA0, MT_INT_WED_TX_DONE_BAND0,
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
index 5545a8bdf1d0..cd440aaa969e 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
@@ -2370,7 +2370,8 @@ int mt7915_mcu_init_firmware(struct mt7915_dev *dev)
if (ret)
return ret;
- if (mtk_wed_device_active(&dev->mt76.mmio.wed) && is_mt7915(&dev->mt76))
+ if (mtk_wed_device_active(&dev->mt76.mmio.wed) &&
+ is_mt7915(&dev->mt76) || !mtk_wed_get_rx_capa(&dev->mt76.mmio.wed))
mt7915_mcu_wa_cmd(dev, MCU_WA_PARAM_CMD(CAPABILITY), 0, 0, 0);
ret = mt7915_mcu_set_mwds(dev, 1);
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c b/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
index 225a19604d3e..6f0c0e2ae045 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
@@ -989,13 +989,13 @@ irqreturn_t mt7915_irq_handler(int irq, void *dev_instance)
struct mt7915_dev *dev = dev_instance;
struct mtk_wed_device *wed = &dev->mt76.mmio.wed;
- if (mtk_wed_device_active(wed)) {
+ if (mtk_wed_device_active(wed))
mtk_wed_device_irq_set_mask(wed, 0);
- } else {
+ else
mt76_wr(dev, MT_INT_MASK_CSR, 0);
- if (dev->hif2)
- mt76_wr(dev, MT_INT1_MASK_CSR, 0);
- }
+
+ if (dev->hif2)
+ mt76_wr(dev, MT_INT1_MASK_CSR, 0);
if (!test_bit(MT76_STATE_INITIALIZED, &dev->mphy.state))
return IRQ_NONE;
--
2.18.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] wifi: mt76: mt7915: add dev->hif2 support for mt7916 WED device
2023-02-22 6:29 [PATCH] wifi: mt76: mt7915: add dev->hif2 support for mt7916 WED device Sujuan Chen
@ 2023-02-22 8:38 ` kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2023-02-22 8:38 UTC (permalink / raw)
To: Sujuan Chen, Felix Fietkau
Cc: oe-kbuild-all, linux-wireless, Bo Jiao, Ryder Lee, Evelyn Tsai,
linux-mediatek, Sujuan Chen
Hi Sujuan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on wireless-next/main]
[also build test WARNING on wireless/main linus/master v6.2 next-20230222]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Sujuan-Chen/wifi-mt76-mt7915-add-dev-hif2-support-for-mt7916-WED-device/20230222-143114
base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main
patch link: https://lore.kernel.org/r/5dcd2b1b74b7c46ba4245f96eaf3a4e2f84b37e7.1677039727.git.ryder.lee%40mediatek.com
patch subject: [PATCH] wifi: mt76: mt7915: add dev->hif2 support for mt7916 WED device
config: ia64-allyesconfig (https://download.01.org/0day-ci/archive/20230222/202302221620.bpkNoy9N-lkp@intel.com/config)
compiler: ia64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/b87d9f0ad8413128e108128b7f95e2b90db406cc
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Sujuan-Chen/wifi-mt76-mt7915-add-dev-hif2-support-for-mt7916-WED-device/20230222-143114
git checkout b87d9f0ad8413128e108128b7f95e2b90db406cc
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/net/wireless/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202302221620.bpkNoy9N-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c: In function 'mt7915_mcu_init_firmware':
>> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:2373:56: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
2373 | if (mtk_wed_device_active(&dev->mt76.mmio.wed) &&
vim +2373 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2340
2341 int mt7915_mcu_init_firmware(struct mt7915_dev *dev)
2342 {
2343 int ret;
2344
2345 /* force firmware operation mode into normal state,
2346 * which should be set before firmware download stage.
2347 */
2348 mt76_wr(dev, MT_SWDEF_MODE, MT_SWDEF_NORMAL_MODE);
2349
2350 ret = mt7915_driver_own(dev, 0);
2351 if (ret)
2352 return ret;
2353 /* set driver own for band1 when two hif exist */
2354 if (dev->hif2) {
2355 ret = mt7915_driver_own(dev, 1);
2356 if (ret)
2357 return ret;
2358 }
2359
2360 ret = mt7915_load_firmware(dev);
2361 if (ret)
2362 return ret;
2363
2364 set_bit(MT76_STATE_MCU_RUNNING, &dev->mphy.state);
2365 ret = mt7915_mcu_fw_log_2_host(dev, MCU_FW_LOG_WM, 0);
2366 if (ret)
2367 return ret;
2368
2369 ret = mt7915_mcu_fw_log_2_host(dev, MCU_FW_LOG_WA, 0);
2370 if (ret)
2371 return ret;
2372
> 2373 if (mtk_wed_device_active(&dev->mt76.mmio.wed) &&
2374 is_mt7915(&dev->mt76) || !mtk_wed_get_rx_capa(&dev->mt76.mmio.wed))
2375 mt7915_mcu_wa_cmd(dev, MCU_WA_PARAM_CMD(CAPABILITY), 0, 0, 0);
2376
2377 ret = mt7915_mcu_set_mwds(dev, 1);
2378 if (ret)
2379 return ret;
2380
2381 ret = mt7915_mcu_set_muru_ctrl(dev, MURU_SET_PLATFORM_TYPE,
2382 MURU_PLATFORM_TYPE_PERF_LEVEL_2);
2383 if (ret)
2384 return ret;
2385
2386 ret = mt7915_mcu_init_rx_airtime(dev);
2387 if (ret)
2388 return ret;
2389
2390 return mt7915_mcu_set_red(dev, mtk_wed_device_active(&dev->mt76.mmio.wed));
2391 }
2392
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-02-22 8:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-22 6:29 [PATCH] wifi: mt76: mt7915: add dev->hif2 support for mt7916 WED device Sujuan Chen
2023-02-22 8:38 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).