All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: JB Tsai <jb.tsai@mediatek.com>, nbd@nbd.name, lorenzo@kernel.org
Cc: oe-kbuild-all@lists.linux.dev, linux-wireless@vger.kernel.org,
	linux-mediatek@lists.infradead.org, Sean.Wang@mediatek.com,
	Quan.Zhou@mediatek.com, Ryder.Lee@mediatek.com,
	Leon.Yen@mediatek.com, litien.chang@mediatek.com,
	jeff.hsu@mediatek.com, jb.tsai@mediatek.com
Subject: Re: [PATCH] wifi: mt76: mt7925: Add flag to control if need DMA re-init
Date: Fri, 7 Aug 2026 05:11:40 +0800	[thread overview]
Message-ID: <202608070519.XrTS2LxW-lkp@intel.com> (raw)
In-Reply-To: <20260706024306.47806-1-jb.tsai@mediatek.com>

Hi JB,

kernel test robot noticed the following build errors:

[auto build test ERROR on wireless/main]
[also build test ERROR on linus/master v7.2-rc6]
[cannot apply to wireless-next/main next-20260806]
[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/JB-Tsai/wifi-mt76-mt7925-Add-flag-to-control-if-need-DMA-re-init/20260807-004748
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git main
patch link:    https://lore.kernel.org/r/20260706024306.47806-1-jb.tsai%40mediatek.com
patch subject: [PATCH] wifi: mt76: mt7925: Add flag to control if need DMA re-init
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20260807/202608070519.XrTS2LxW-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260807/202608070519.XrTS2LxW-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608070519.XrTS2LxW-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/net/wireless/mediatek/mt76/mt7925/pci.c: In function 'mt7925_pci_probe':
>> drivers/net/wireless/mediatek/mt76/mt7925/pci.c:434:13: error: implicit declaration of function 'is_mt7928'; did you mean 'is_mt7922'? [-Wimplicit-function-declaration]
     434 |         if (is_mt7928(&dev->mt76))
         |             ^~~~~~~~~
         |             is_mt7922


vim +434 drivers/net/wireless/mediatek/mt76/mt7925/pci.c

   300	
   301	static const struct mt792x_irq_map mt7927_irq_map = {
   302		.host_irq_enable = MT_WFDMA0_HOST_INT_ENA,
   303		.tx = {
   304			.all_complete_mask = MT_INT_TX_DONE_ALL,
   305			.mcu_complete_mask = MT_INT_TX_DONE_MCU,
   306		},
   307		.rx = {
   308			.data_complete_mask = MT7927_RX_DONE_INT_ENA4,
   309			.wm_complete_mask = MT7927_RX_DONE_INT_ENA6,
   310			.wm2_complete_mask = MT7927_RX_DONE_INT_ENA7,
   311		},
   312	};
   313	static int mt7925_pci_probe(struct pci_dev *pdev,
   314				    const struct pci_device_id *id)
   315	{
   316		static const struct mt76_driver_ops drv_ops = {
   317			/* txwi_size = txd size + txp size */
   318			.txwi_size = MT_TXD_SIZE + sizeof(struct mt76_connac_hw_txp),
   319			.drv_flags = MT_DRV_TXWI_NO_FREE | MT_DRV_HW_MGMT_TXQ |
   320				     MT_DRV_AMSDU_OFFLOAD,
   321			.survey_flags = SURVEY_INFO_TIME_TX |
   322					SURVEY_INFO_TIME_RX |
   323					SURVEY_INFO_TIME_BSS_RX,
   324			.token_size = MT7925_TOKEN_SIZE,
   325			.tx_prepare_skb = mt7925e_tx_prepare_skb,
   326			.tx_complete_skb = mt76_connac_tx_complete_skb,
   327			.rx_check = mt7925_rx_check,
   328			.rx_skb = mt7925_queue_rx_skb,
   329			.rx_poll_complete = mt792x_rx_poll_complete,
   330			.sta_add = mt7925_mac_sta_add,
   331			.sta_event = mt7925_mac_sta_event,
   332			.sta_remove = mt7925_mac_sta_remove,
   333			.update_survey = mt792x_update_channel,
   334		};
   335		static const struct mt792x_hif_ops mt7925_pcie_ops = {
   336			.init_reset = mt7925e_init_reset,
   337			.reset = mt7925e_mac_reset,
   338			.mcu_init = mt7925e_mcu_init,
   339			.drv_own = mt792xe_mcu_drv_pmctrl,
   340			.fw_own = mt792xe_mcu_fw_pmctrl,
   341		};
   342		static const struct mt792x_irq_map irq_map = {
   343			.host_irq_enable = MT_WFDMA0_HOST_INT_ENA,
   344			.tx = {
   345				.all_complete_mask = MT_INT_TX_DONE_ALL,
   346				.mcu_complete_mask = MT_INT_TX_DONE_MCU,
   347			},
   348			.rx = {
   349				.data_complete_mask = HOST_RX_DONE_INT_ENA2,
   350				.wm_complete_mask = HOST_RX_DONE_INT_ENA0,
   351			},
   352		};
   353		struct ieee80211_ops *ops;
   354		struct mt76_bus_ops *bus_ops;
   355		struct mt792x_dev *dev;
   356		struct mt76_dev *mdev;
   357		bool is_mt7927_hw;
   358		u8 features;
   359		int ret;
   360		u16 cmd;
   361	
   362		ret = pcim_enable_device(pdev);
   363		if (ret)
   364			return ret;
   365	
   366		ret = pcim_iomap_regions(pdev, BIT(0), pci_name(pdev));
   367		if (ret)
   368			return ret;
   369	
   370		pci_read_config_word(pdev, PCI_COMMAND, &cmd);
   371		if (!(cmd & PCI_COMMAND_MEMORY)) {
   372			cmd |= PCI_COMMAND_MEMORY;
   373			pci_write_config_word(pdev, PCI_COMMAND, cmd);
   374		}
   375		pci_set_master(pdev);
   376	
   377		ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
   378		if (ret < 0)
   379			return ret;
   380	
   381		ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
   382		if (ret)
   383			goto err_free_pci_vec;
   384	
   385		is_mt7927_hw = (pdev->device == 0x6639 || pdev->device == 0x7927 ||
   386				pdev->device == 0x0738);
   387	
   388		/* MT7927: ASPM L1 causes unreliable WFDMA register access */
   389		if (mt7925_disable_aspm || is_mt7927_hw)
   390			mt76_pci_disable_aspm(pdev);
   391	
   392		ops = mt792x_get_mac80211_ops(&pdev->dev, &mt7925_ops,
   393					      (void *)id->driver_data, &features);
   394		if (!ops) {
   395			ret = -ENOMEM;
   396			goto err_free_pci_vec;
   397		}
   398	
   399		mdev = mt76_alloc_device(&pdev->dev, sizeof(*dev), ops, &drv_ops);
   400		if (!mdev) {
   401			ret = -ENOMEM;
   402			goto err_free_pci_vec;
   403		}
   404	
   405		pci_set_drvdata(pdev, mdev);
   406	
   407		dev = container_of(mdev, struct mt792x_dev, mt76);
   408		dev->fw_features = features;
   409		dev->hif_ops = &mt7925_pcie_ops;
   410		dev->irq_map = is_mt7927_hw ? &mt7927_irq_map : &irq_map;
   411		mt76_mmio_init(&dev->mt76, pcim_iomap_table(pdev)[0]);
   412		tasklet_init(&mdev->irq_tasklet, mt792x_irq_tasklet, (unsigned long)dev);
   413	
   414		dev->phy.dev = dev;
   415		dev->phy.mt76 = &dev->mt76.phy;
   416		dev->mt76.phy.priv = &dev->phy;
   417		dev->bus_ops = dev->mt76.bus;
   418		bus_ops = devm_kmemdup(dev->mt76.dev, dev->bus_ops, sizeof(*bus_ops),
   419				       GFP_KERNEL);
   420		if (!bus_ops) {
   421			ret = -ENOMEM;
   422			goto err_free_dev;
   423		}
   424	
   425		bus_ops->rr = mt7925_rr;
   426		bus_ops->wr = mt7925_wr;
   427		bus_ops->rmw = mt7925_rmw;
   428		dev->mt76.bus = bus_ops;
   429	
   430		if (!mt7925_disable_aspm && mt76_pci_aspm_supported(pdev))
   431			dev->aspm_supported = true;
   432	
   433		/* MT7935 does not need wpdma reinit */
 > 434		if (is_mt7928(&dev->mt76))
   435			dev->skip_wpdma_reinit = true;
   436	
   437		ret = __mt792x_mcu_fw_pmctrl(dev);
   438		if (ret)
   439			goto err_free_dev;
   440	
   441		ret = __mt792xe_mcu_drv_pmctrl(dev);
   442		if (ret)
   443			goto err_free_dev;
   444	
   445		mdev->rev = (mt76_rr(dev, MT_HW_CHIPID) << 16) |
   446			    (mt76_rr(dev, MT_HW_REV) & 0xff);
   447	
   448		dev_info(mdev->dev, "ASIC revision: %04x\n", mdev->rev);
   449	
   450		if (is_mt7927_hw && mt76_chip(mdev) != 0x7927) {
   451			dev_info(mdev->dev,
   452				 "MT7927 raw CHIPID=0x%04x, forcing chip=0x7927\n",
   453				 mt76_chip(mdev));
   454			mdev->rev = (0x7927 << 16) | (mdev->rev & 0xff);
   455		}
   456	
   457		mt76_rmw_field(dev, MT_HW_EMI_CTL, MT_HW_EMI_CTL_SLPPROT_EN, 1);
   458	
   459		ret = mt792x_wfsys_reset(dev);
   460		if (ret)
   461			goto err_free_dev;
   462	
   463		mt76_wr(dev, irq_map.host_irq_enable, 0);
   464	
   465		mt76_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff);
   466	
   467		ret = devm_request_irq(mdev->dev, pdev->irq, mt792x_irq_handler,
   468				       IRQF_SHARED, KBUILD_MODNAME, dev);
   469		if (ret)
   470			goto err_free_dev;
   471	
   472		if (is_mt7927(&dev->mt76))
   473			ret = mt7927_dma_init(dev);
   474		else if (is_mt7925(&dev->mt76))
   475			ret = mt7925_dma_init(dev);
   476		else
   477			ret = -EINVAL;
   478	
   479		if (ret)
   480			goto err_free_irq;
   481	
   482		ret = mt7925_register_device(dev);
   483		if (ret)
   484			goto err_free_dma;
   485	
   486		return 0;
   487	
   488	err_free_dma:
   489		mt792x_dma_cleanup(dev);
   490	err_free_irq:
   491		devm_free_irq(&pdev->dev, pdev->irq, dev);
   492	err_free_dev:
   493		mt76_free_device(&dev->mt76);
   494	err_free_pci_vec:
   495		pci_free_irq_vectors(pdev);
   496	
   497		return ret;
   498	}
   499	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

      reply	other threads:[~2026-08-06 21:11 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-06  2:43 [PATCH] wifi: mt76: mt7925: Add flag to control if need DMA re-init JB Tsai
2026-08-06 21:11 ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202608070519.XrTS2LxW-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Leon.Yen@mediatek.com \
    --cc=Quan.Zhou@mediatek.com \
    --cc=Ryder.Lee@mediatek.com \
    --cc=Sean.Wang@mediatek.com \
    --cc=jb.tsai@mediatek.com \
    --cc=jeff.hsu@mediatek.com \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=litien.chang@mediatek.com \
    --cc=lorenzo@kernel.org \
    --cc=nbd@nbd.name \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is 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.