tree:   git://anongit.freedesktop.org/tegra/linux.git drm/tegra/for-next
head:   b9136bd01841a63b7706db69e1da8843c8622a9f
commit: c8d8568a8dbb4dc455ceaca7b95108d85b3d4798 [27/35] gpu: host1x: Use not 
explicitly sized types
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout c8d8568a8dbb4dc455ceaca7b95108d85b3d4798
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

   In file included from arch/arm64/include/asm/bug.h:37:0,
                    from include/linux/bug.h:5,
                    from arch/arm64/include/asm/ptrace.h:86,
                    from arch/arm64/include/asm/fpsimd.h:19,
                    from arch/arm64/include/asm/cpufeature.h:14,
                    from arch/arm64/include/asm/processor.h:42,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:13,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/dma-mapping.h:7,
                    from drivers/gpu/host1x/job.c:19:
   drivers/gpu/host1x/job.c: In function 'host1x_job_add_gather':
>> drivers/gpu/host1x/job.c:103:33: error: 'struct host1x_job' has no member 
>> named 'num_cmdbufs'
     WARN_ON(job->num_gathers >= job->num_cmdbufs);
                                    ^
   include/asm-generic/bug.h:112:25: note: in definition of macro 'WARN_ON'
     int __ret_warn_on = !!(condition);    \
                            ^~~~~~~~~

vim +103 drivers/gpu/host1x/job.c

  > 19  #include <linux/dma-mapping.h>
    20  #include <linux/err.h>
    21  #include <linux/host1x.h>
    22  #include <linux/kref.h>
    23  #include <linux/module.h>
    24  #include <linux/scatterlist.h>
    25  #include <linux/slab.h>
    26  #include <linux/vmalloc.h>
    27  #include <trace/events/host1x.h>
    28  
    29  #include "channel.h"
    30  #include "dev.h"
    31  #include "job.h"
    32  #include "syncpt.h"
    33  
    34  #define HOST1X_WAIT_SYNCPT_OFFSET 0x8
    35  
    36  struct host1x_job *host1x_job_alloc(struct host1x_channel *ch,
    37                                      u32 num_cmdbufs, u32 num_relocs)
    38  {
    39          struct host1x_job *job = NULL;
    40          unsigned int num_unpins = num_cmdbufs + num_relocs;
    41          u64 total;
    42          void *mem;
    43  
    44          /* Check that we're not going to overflow */
    45          total = sizeof(struct host1x_job) +
    46                  (u64)num_relocs * sizeof(struct host1x_reloc) +
    47                  (u64)num_unpins * sizeof(struct host1x_job_unpin_data) +
    48                  (u64)num_cmdbufs * sizeof(struct host1x_job_gather) +
    49                  (u64)num_unpins * sizeof(dma_addr_t) +
    50                  (u64)num_unpins * sizeof(u32 *);
    51          if (total > ULONG_MAX)
    52                  return NULL;
    53  
    54          mem = job = kzalloc(total, GFP_KERNEL);
    55          if (!job)
    56                  return NULL;
    57  
    58          kref_init(&job->ref);
    59          job->channel = ch;
    60  
    61          /* Redistribute memory to the structs  */
    62          mem += sizeof(struct host1x_job);
    63          job->relocs = num_relocs ? mem : NULL;
    64          mem += num_relocs * sizeof(struct host1x_reloc);
    65          job->unpins = num_unpins ? mem : NULL;
    66          mem += num_unpins * sizeof(struct host1x_job_unpin_data);
    67          job->gathers = num_cmdbufs ? mem : NULL;
    68          mem += num_cmdbufs * sizeof(struct host1x_job_gather);
    69          job->addr_phys = num_unpins ? mem : NULL;
    70  
    71          job->reloc_addr_phys = job->addr_phys;
    72          job->gather_addr_phys = &job->addr_phys[num_relocs];
    73  
    74          return job;
    75  }
    76  EXPORT_SYMBOL(host1x_job_alloc);
    77  
    78  struct host1x_job *host1x_job_get(struct host1x_job *job)
    79  {
    80          kref_get(&job->ref);
    81          return job;
    82  }
    83  EXPORT_SYMBOL(host1x_job_get);
    84  
    85  static void job_free(struct kref *ref)
    86  {
    87          struct host1x_job *job = container_of(ref, struct host1x_job, 
ref);
    88  
    89          kfree(job);
    90  }
    91  
    92  void host1x_job_put(struct host1x_job *job)
    93  {
    94          kref_put(&job->ref, job_free);
    95  }
    96  EXPORT_SYMBOL(host1x_job_put);
    97  
    98  void host1x_job_add_gather(struct host1x_job *job, struct host1x_bo *bo,
    99                             unsigned int words, unsigned int offset)
   100  {
   101          struct host1x_job_gather *gather = 
&job->gathers[job->num_gathers];
   102  
 > 103          WARN_ON(job->num_gathers >= job->num_cmdbufs);
   104  
   105          gather->words = words;
   106          gather->bo = bo;
   107          gather->offset = offset;
   108  
   109          job->num_gathers++;
   110  }
   111  EXPORT_SYMBOL(host1x_job_add_gather);
   112  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to