Hi Thierry,

[auto build test WARNING on linuxtv-media/master]
[also build test WARNING on v4.13-rc2 next-20170726]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Thierry-Escande/v4l2-Add-support-for-go2001-PCI-codec-driver/20170727-033126
base:   git://linuxtv.org/media_tree.git master
config: i386-allyesconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   drivers/media/pci/go2001/go2001_driver.c: In function 'go2001_buf_init':
>> drivers/media/pci/go2001/go2001_driver.c:274:32: warning: format '%zu' 
>> expects argument of type 'size_t', but argument 6 has type 'long unsigned 
>> int' [-Wformat=]
       go2001_err(gdev, "Plane address/size not aligned %d/%zu\n",
                                   ^~~~~~~~

vim +274 drivers/media/pci/go2001/go2001_driver.c

   240  
   241  static int go2001_buf_init(struct vb2_buffer *vb)
   242  {
   243          struct go2001_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue);
   244          struct go2001_dev *gdev = ctx->gdev;
   245          struct device *dev = &gdev->pdev->dev;
   246          struct go2001_buffer *gbuf = vb_to_go2001_buf(vb);
   247          struct go2001_dma_desc *dma_desc;
   248          struct go2001_mmap_list_entry *mmap_list;
   249          enum dma_data_direction dir;
   250          struct scatterlist *sg;
   251          struct sg_table *sgt;
   252          u64 dma_addr;
   253          u32 dma_len;
   254          int plane, sgi;
   255          int ret;
   256  
   257          go2001_trace(gdev);
   258  
   259          if (WARN_ON(gbuf->mapped))
   260                  return -EINVAL;
   261  
   262          dir = V4L2_TYPE_IS_OUTPUT(vb->vb2_queue->type) ?
   263                DMA_TO_DEVICE :
   264                DMA_FROM_DEVICE;
   265  
   266          for (plane = 0; plane < vb->num_planes; ++plane) {
   267                  dma_desc = &gbuf->dma_desc[plane];
   268                  WARN_ON(!IS_ALIGNED(dma_desc->map_addr, 16));
   269  
   270                  sgt = vb2_dma_sg_plane_desc(vb, plane);
   271  
   272                  if (!IS_ALIGNED(sgt->sgl->offset, 8) ||
   273                      !IS_ALIGNED(vb2_plane_size(vb, plane), 8)) {
 > 274                          go2001_err(gdev, "Plane address/size not 
 > aligned %d/%zu\n",
   275                                     sgt->sgl->offset, vb2_plane_size(vb, 
plane));
   276  
   277                          ret = -EINVAL;
   278                          goto err;
   279                  }
   280  
   281                  dma_desc->num_entries = sgt->nents;
   282                  dma_desc->list_size = dma_desc->num_entries *
   283                                        sizeof(struct 
go2001_mmap_list_entry);
   284                  dma_desc->mmap_list = dma_alloc_coherent(dev,
   285                                                           
dma_desc->list_size,
   286                                                           
&dma_desc->dma_addr,
   287                                                           GFP_KERNEL);
   288                  if (!dma_desc->mmap_list) {
   289                          go2001_err(gdev, "Failed allocating HW memory 
map\n");
   290  
   291                          ret = -ENOMEM;
   292                          goto err;
   293                  }
   294  
   295                  go2001_dbg(gdev, 3, "Plane %d: mmap list size: %zu\n", 
plane,
   296                             dma_desc->list_size);
   297  
   298                  mmap_list = dma_desc->mmap_list;
   299                  for_each_sg(sgt->sgl, sg, dma_desc->num_entries, sgi) {
   300                          dma_addr = sg_dma_address(sg);
   301                          dma_len = sg_dma_len(sg);
   302  
   303                          mmap_list[sgi].dma_addr = cpu_to_le64(dma_addr);
   304                          mmap_list[sgi].size = cpu_to_le32(dma_len);
   305  
   306                          go2001_dbg(gdev, 4, "Chunk %d: 0x%08llx, size 
%d\n",
   307                                     sgi, dma_addr, dma_len);
   308                  }
   309          }
   310  
   311          ret = go2001_map_buffer(ctx, gbuf);
   312          if (ret) {
   313                  go2001_err(ctx->gdev, "Failed mapping buffer in HW\n");
   314                  goto err;
   315          }
   316  
   317          return 0;
   318  
   319  err:
   320          for (; plane > 0; --plane) {
   321                  dma_desc = &gbuf->dma_desc[plane - 1];
   322                  dma_free_coherent(dev, dma_desc->list_size, 
dma_desc->mmap_list,
   323                                    dma_desc->dma_addr);
   324                  memset(dma_desc, 0, sizeof(struct go2001_dma_desc));
   325          }
   326  
   327          return ret;
   328  }
   329  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to