* Re: [PATCH v11] PCI: Add device-specific reset for Qualcomm devices
[not found] <20260626055023.197470-1-jtornosm@redhat.com>
@ 2026-08-10 9:57 ` kernel test robot
2026-08-10 10:11 ` Jose Ignacio Tornos Martinez
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2026-08-10 9:57 UTC (permalink / raw)
To: Jose Ignacio Tornos Martinez, bhelgaas, alex, mani
Cc: llvm, oe-kbuild-all, jjohnson, linux-pci, linux-wireless, ath11k,
ath12k, mhi, linux-kernel, Jose Ignacio Tornos Martinez
Hi Jose,
kernel test robot noticed the following build warnings:
[auto build test WARNING on pci/next]
[also build test WARNING on pci/for-linus linus/master v7.2-rc6 next-20260807]
[cannot apply to linux-review/Jose-Ignacio-Tornos-Martinez/Add-device-specific-reset-for-Qualcomm-devices/20260804-001013]
[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/Jose-Ignacio-Tornos-Martinez/PCI-Add-device-specific-reset-for-Qualcomm-devices/20260810-131417
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/20260626055023.197470-1-jtornosm%40redhat.com
patch subject: [PATCH v11] PCI: Add device-specific reset for Qualcomm devices
config: loongarch-defconfig (https://download.01.org/0day-ci/archive/20260810/202608101710.4bALXXJf-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 12df34b8469b8095359de8c249cb1b2753fadeea)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260810/202608101710.4bALXXJf-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/202608101710.4bALXXJf-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/pci/quirks.c:4278:11: warning: result of comparison of constant 18446744073709551615 with expression of type 'u32' (aka 'unsigned int') is always true [-Wtautological-constant-out-of-range-compare]
4278 | if (val != PCI_ERROR_RESPONSE) {
| ~~~ ^ ~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +4278 drivers/pci/quirks.c
4234
4235 /*
4236 * Qualcomm WiFi device-specific reset using SoC global reset via BAR0
4237 * registers.
4238 */
4239 static int reset_qualcomm_wifi(struct pci_dev *pdev, bool probe)
4240 {
4241 bool link_recovered = false;
4242 unsigned long timeout;
4243 void __iomem *bar;
4244 u32 val;
4245 u16 cmd;
4246
4247 if (probe)
4248 return 0;
4249
4250 if (pdev->current_state != PCI_D0)
4251 return -EINVAL;
4252
4253 pci_read_config_word(pdev, PCI_COMMAND, &cmd);
4254 pci_write_config_word(pdev, PCI_COMMAND, cmd | PCI_COMMAND_MEMORY);
4255
4256 bar = pci_iomap(pdev, 0, 0);
4257 if (!bar) {
4258 pci_write_config_word(pdev, PCI_COMMAND, cmd);
4259 return -ENODEV;
4260 }
4261
4262 val = ioread32(bar + QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET);
4263 val |= QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET_V;
4264 iowrite32(val, bar + QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET);
4265 ioread32(bar + QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET);
4266
4267 msleep(10);
4268
4269 val &= ~QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET_V;
4270 iowrite32(val, bar + QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET);
4271 ioread32(bar + QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET);
4272
4273 msleep(10);
4274
4275 timeout = jiffies + msecs_to_jiffies(5000);
4276 while (time_before(jiffies, timeout)) {
4277 val = ioread32(bar + QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET);
> 4278 if (val != PCI_ERROR_RESPONSE) {
4279 link_recovered = true;
4280 break;
4281 }
4282 msleep(20);
4283 }
4284
4285 if (!link_recovered) {
4286 pci_err(pdev, "PCIe link failed to recover after reset\n");
4287 goto out_restore;
4288 }
4289
4290 /* After SOC_GLOBAL_RESET, MHISTATUS may still have SYSERR bit set
4291 * and thus need to set MHICTRL_RESET to clear SYSERR.
4292 */
4293 iowrite32(QUALCOMM_WIFI_MHICTRL_RESET_MASK, bar + QUALCOMM_WIFI_MHICTRL);
4294 ioread32(bar + QUALCOMM_WIFI_MHICTRL);
4295
4296 msleep(10);
4297
4298 out_restore:
4299 pci_iounmap(pdev, bar);
4300 pci_write_config_word(pdev, PCI_COMMAND, cmd);
4301
4302 return link_recovered ? 0 : -ETIMEDOUT;
4303 }
4304
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v11] PCI: Add device-specific reset for Qualcomm devices
2026-08-10 9:57 ` [PATCH v11] PCI: Add device-specific reset for Qualcomm devices kernel test robot
@ 2026-08-10 10:11 ` Jose Ignacio Tornos Martinez
0 siblings, 0 replies; 2+ messages in thread
From: Jose Ignacio Tornos Martinez @ 2026-08-10 10:11 UTC (permalink / raw)
To: lkp
Cc: alex, ath11k, ath12k, bhelgaas, jjohnson, jtornosm, linux-kernel,
linux-pci, linux-wireless, llvm, mani, mhi, oe-kbuild-all
Please, use the latest version (v13):
https://lore.kernel.org/all/20260721081301.205374-1-jtornosm@redhat.com/
That and more things are fixed there.
Thanks
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-10 10:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260626055023.197470-1-jtornosm@redhat.com>
2026-08-10 9:57 ` [PATCH v11] PCI: Add device-specific reset for Qualcomm devices kernel test robot
2026-08-10 10:11 ` Jose Ignacio Tornos Martinez
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox