Re: [PATCH v4 1/1] dmaengine: switchtec-dma: Introduce Switchtec DMA engine PCI driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Kelvin,

kernel test robot noticed the following build warnings:

[auto build test WARNING on vkoul-dmaengine/next]
[also build test WARNING on linus/master v6.3 next-20230421]
[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/Kelvin-Cao/dmaengine-switchtec-dma-Introduce-Switchtec-DMA-engine-PCI-driver/20230424-065123
base:   https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next
patch link:    https://lore.kernel.org/r/20230423213717.318655-2-kelvin.cao%40microchip.com
patch subject: [PATCH v4 1/1] dmaengine: switchtec-dma: Introduce Switchtec DMA engine PCI driver
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20230424/202304240915.MYWRJpvn-lkp@xxxxxxxxx/config)
compiler: aarch64-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/bd3b335b60238af4f01bd6c28a96873988330557
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Kelvin-Cao/dmaengine-switchtec-dma-Introduce-Switchtec-DMA-engine-PCI-driver/20230424-065123
        git checkout bd3b335b60238af4f01bd6c28a96873988330557
        # 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=arm64 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/dma/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202304240915.MYWRJpvn-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

   drivers/dma/switchtec_dma.c: In function 'switchtec_dma_create':
>> drivers/dma/switchtec_dma.c:1410:13: warning: variable 'i' set but not used [-Wunused-but-set-variable]
    1410 |         int i;
         |             ^


vim +/i +1410 drivers/dma/switchtec_dma.c

  1400	
  1401	static int switchtec_dma_create(struct pci_dev *pdev)
  1402	{
  1403		struct switchtec_dma_dev *swdma_dev;
  1404		struct dma_device *dma;
  1405		struct dma_chan *chan;
  1406		int chan_cnt;
  1407		int nr_vecs;
  1408		int irq;
  1409		int rc;
> 1410		int i;
  1411	
  1412		/*
  1413		 * Create the switchtec dma device
  1414		 */
  1415		swdma_dev = kzalloc(sizeof(*swdma_dev), GFP_KERNEL);
  1416		if (!swdma_dev)
  1417			return -ENOMEM;
  1418	
  1419		swdma_dev->bar = ioremap(pci_resource_start(pdev, 0),
  1420					 pci_resource_len(pdev, 0));
  1421	
  1422		pci_info(pdev, "Switchtec PSX/PFX DMA EP\n");
  1423	
  1424		RCU_INIT_POINTER(swdma_dev->pdev, pdev);
  1425	
  1426		nr_vecs = pci_msix_vec_count(pdev);
  1427		rc = pci_alloc_irq_vectors(pdev, nr_vecs, nr_vecs, PCI_IRQ_MSIX);
  1428		if (rc < 0)
  1429			goto err_exit;
  1430	
  1431		tasklet_init(&swdma_dev->chan_status_task,
  1432			     switchtec_dma_chan_status_task,
  1433			     (unsigned long)swdma_dev);
  1434	
  1435		irq = readw(swdma_dev->bar + SWITCHTEC_REG_CHAN_STS_VEC);
  1436		pci_dbg(pdev, "Channel pause irq vector %d\n", irq);
  1437	
  1438		irq = pci_irq_vector(pdev, irq);
  1439		if (irq < 0) {
  1440			rc = irq;
  1441			goto err_exit;
  1442		}
  1443	
  1444		rc = request_irq(irq, switchtec_dma_chan_status_isr, 0,
  1445				 KBUILD_MODNAME, swdma_dev);
  1446		if (rc)
  1447			goto err_exit;
  1448	
  1449		swdma_dev->chan_status_irq = irq;
  1450	
  1451		chan_cnt = readl(swdma_dev->bar + SWITCHTEC_REG_CHAN_CNT);
  1452		if (!chan_cnt) {
  1453			pci_err(pdev, "No channel configured.\n");
  1454			rc = -ENXIO;
  1455			goto err_exit;
  1456		}
  1457	
  1458		chan_cnt = switchtec_dma_chans_enumerate(swdma_dev, chan_cnt);
  1459		if (chan_cnt < 0) {
  1460			pci_err(pdev, "Failed to enumerate dma channels: %d\n",
  1461				chan_cnt);
  1462			rc = -ENXIO;
  1463			goto err_exit;
  1464		}
  1465	
  1466		swdma_dev->chan_cnt = chan_cnt;
  1467	
  1468		dma = &swdma_dev->dma_dev;
  1469		dma->copy_align = DMAENGINE_ALIGN_1_BYTE;
  1470		dma_cap_set(DMA_MEMCPY, dma->cap_mask);
  1471		dma_cap_set(DMA_PRIVATE, dma->cap_mask);
  1472		dma->dev = get_device(&pdev->dev);
  1473	
  1474		dma->device_alloc_chan_resources = switchtec_dma_alloc_chan_resources;
  1475		dma->device_free_chan_resources = switchtec_dma_free_chan_resources;
  1476		dma->device_prep_dma_memcpy = switchtec_dma_prep_memcpy;
  1477		dma->device_prep_dma_imm_data = switchtec_dma_prep_wimm_data;
  1478		dma->device_issue_pending = switchtec_dma_issue_pending;
  1479		dma->device_tx_status = switchtec_dma_tx_status;
  1480		dma->device_pause = switchtec_dma_pause;
  1481		dma->device_resume = switchtec_dma_resume;
  1482		dma->device_terminate_all = switchtec_dma_terminate_all;
  1483		dma->device_synchronize = switchtec_dma_synchronize;
  1484		dma->device_release = switchtec_dma_release;
  1485	
  1486		rc = dma_async_device_register(dma);
  1487		if (rc) {
  1488			pci_err(pdev, "Failed to register dma device: %d\n", rc);
  1489			goto err_chans_release_exit;
  1490		}
  1491	
  1492		pci_info(pdev, "Channel count: %d\n", chan_cnt);
  1493	
  1494		i = 0;
  1495		list_for_each_entry(chan, &dma->channels, device_node)
  1496			pci_info(pdev, "%s\n", dma_chan_name(chan));
  1497	
  1498		pci_set_drvdata(pdev, swdma_dev);
  1499	
  1500		return 0;
  1501	
  1502	err_chans_release_exit:
  1503		switchtec_dma_chans_release(swdma_dev);
  1504	
  1505	err_exit:
  1506		if (swdma_dev->chan_status_irq)
  1507			free_irq(swdma_dev->chan_status_irq, swdma_dev);
  1508	
  1509		iounmap(swdma_dev->bar);
  1510		kfree(swdma_dev);
  1511		return rc;
  1512	}
  1513	

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



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux