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