tree: git://anongit.freedesktop.org/drm/drm-tip drm-tip head: f39035176cb854c6d620af7614a60a485ee26818 commit: ad11f45fae37631b0482ebf6543bdd013d3f9336 [6/10] Merge remote-tracking branch 'drm-misc/drm-misc-next' into drm-tip config: mips-allyesconfig (attached as .config) compiler: mips-linux-gcc (GCC) 9.3.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 git checkout ad11f45fae37631b0482ebf6543bdd013d3f9336 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/nouveau/dispnv50/sor907d.c:29: >> drivers/gpu/drm/nouveau/nouveau_bo.h:142:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 142 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:146:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 146 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:149:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 149 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:152:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 152 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:156:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 156 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:159:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 159 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:163:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 163 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ -- In file included from drivers/gpu/drm/nouveau/nouveau_bo.c:37: >> drivers/gpu/drm/nouveau/nouveau_bo.h:142:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 142 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:146:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 146 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:149:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 149 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:152:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 152 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:156:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 156 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:159:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 159 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:163:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 163 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c: In function 'nouveau_bo_move_init': >> drivers/gpu/drm/nouveau/nouveau_bo.c:750:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 750 | { "COPY", 4, 0xc5b5, nve0_bo_move_copy, nve0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:750:25: note: (near initialization for '_methods[0].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:751:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 751 | { "GRCE", 0, 0xc5b5, nve0_bo_move_copy, nvc0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:751:25: note: (near initialization for '_methods[1].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:752:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 752 | { "COPY", 4, 0xc3b5, nve0_bo_move_copy, nve0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:752:25: note: (near initialization for '_methods[2].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:753:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 753 | { "GRCE", 0, 0xc3b5, nve0_bo_move_copy, nvc0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:753:25: note: (near initialization for '_methods[3].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:754:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 754 | { "COPY", 4, 0xc1b5, nve0_bo_move_copy, nve0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:754:25: note: (near initialization for '_methods[4].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:755:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 755 | { "GRCE", 0, 0xc1b5, nve0_bo_move_copy, nvc0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:755:25: note: (near initialization for '_methods[5].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:756:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 756 | { "COPY", 4, 0xc0b5, nve0_bo_move_copy, nve0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:756:25: note: (near initialization for '_methods[6].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:757:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 757 | { "GRCE", 0, 0xc0b5, nve0_bo_move_copy, nvc0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:757:25: note: (near initialization for '_methods[7].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:758:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 758 | { "COPY", 4, 0xb0b5, nve0_bo_move_copy, nve0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:758:25: note: (near initialization for '_methods[8].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:759:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 759 | { "GRCE", 0, 0xb0b5, nve0_bo_move_copy, nvc0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:759:25: note: (near initialization for '_methods[9].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:760:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 760 | { "COPY", 4, 0xa0b5, nve0_bo_move_copy, nve0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:760:25: note: (near initialization for '_methods[10].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:761:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 761 | { "GRCE", 0, 0xa0b5, nve0_bo_move_copy, nvc0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:761:25: note: (near initialization for '_methods[11].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:762:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 762 | { "COPY1", 5, 0x90b8, nvc0_bo_move_copy, nvc0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:762:25: note: (near initialization for '_methods[12].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:763:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 763 | { "COPY0", 4, 0x90b5, nvc0_bo_move_copy, nvc0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:763:25: note: (near initialization for '_methods[13].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:764:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 764 | { "COPY", 0, 0x85b5, nva3_bo_move_copy, nv50_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:764:25: note: (near initialization for '_methods[14].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:765:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 765 | { "CRYPT", 0, 0x74c1, nv84_bo_move_exec, nv50_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:765:25: note: (near initialization for '_methods[15].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:766:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 766 | { "M2MF", 0, 0x9039, nvc0_bo_move_m2mf, nvc0_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:766:25: note: (near initialization for '_methods[16].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:767:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 767 | { "M2MF", 0, 0x5039, nv50_bo_move_m2mf, nv50_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:767:25: note: (near initialization for '_methods[17].exec') drivers/gpu/drm/nouveau/nouveau_bo.c:768:25: error: initialization of 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_resource *, struct ttm_resource *)' from incompatible pointer type 'int (*)(struct nouveau_channel *, struct ttm_buffer_object *, struct ttm_mem_reg *, struct ttm_mem_reg *)' [-Werror=incompatible-pointer-types] 768 | { "M2MF", 0, 0x0039, nv04_bo_move_m2mf, nv04_bo_move_init }, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.c:768:25: note: (near initialization for '_methods[18].exec') cc1: some warnings being treated as errors -- In file included from drivers/gpu/drm/nouveau/nouveau_bo0039.c:29: >> drivers/gpu/drm/nouveau/nouveau_bo.h:142:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 142 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:146:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 146 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:149:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 149 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:152:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 152 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:156:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 156 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:159:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 159 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:163:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 163 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ >> drivers/gpu/drm/nouveau/nouveau_bo0039.c:39:46: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 39 | struct nouveau_channel *chan, struct ttm_mem_reg *reg) | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo0039.c: In function 'nouveau_bo_mem_ctxdma': >> drivers/gpu/drm/nouveau/nouveau_bo0039.c:41:9: error: dereferencing pointer to incomplete type 'struct ttm_mem_reg' 41 | if (reg->mem_type == TTM_PL_TT) | ^~ drivers/gpu/drm/nouveau/nouveau_bo0039.c: At top level: drivers/gpu/drm/nouveau/nouveau_bo0039.c:48:12: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 48 | struct ttm_mem_reg *old_reg, struct ttm_mem_reg *new_reg) | ^~~~~~~~~~~ >> drivers/gpu/drm/nouveau/nouveau_bo0039.c:47:1: error: conflicting types for 'nv04_bo_move_m2mf' 47 | nv04_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo, | ^~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/nouveau/nouveau_bo0039.c:29: drivers/gpu/drm/nouveau/nouveau_bo.h:141:5: note: previous declaration of 'nv04_bo_move_m2mf' was here 141 | int nv04_bo_move_m2mf(struct nouveau_channel *, struct ttm_buffer_object *, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo0039.c: In function 'nv04_bo_move_m2mf': >> drivers/gpu/drm/nouveau/nouveau_bo0039.c:51:51: error: passing argument 3 of 'nouveau_bo_mem_ctxdma' from incompatible pointer type [-Werror=incompatible-pointer-types] 51 | u32 src_ctxdma = nouveau_bo_mem_ctxdma(bo, chan, old_reg); | ^~~~~~~ | | | struct ttm_mem_reg * drivers/gpu/drm/nouveau/nouveau_bo0039.c:39:59: note: expected 'struct ttm_mem_reg *' but argument is of type 'struct ttm_mem_reg *' 39 | struct nouveau_channel *chan, struct ttm_mem_reg *reg) | ~~~~~~~~~~~~~~~~~~~~^~~ drivers/gpu/drm/nouveau/nouveau_bo0039.c:52:26: error: dereferencing pointer to incomplete type 'struct ttm_mem_reg' 52 | u32 src_offset = old_reg->start << PAGE_SHIFT; | ^~ drivers/gpu/drm/nouveau/nouveau_bo0039.c:53:51: error: passing argument 3 of 'nouveau_bo_mem_ctxdma' from incompatible pointer type [-Werror=incompatible-pointer-types] 53 | u32 dst_ctxdma = nouveau_bo_mem_ctxdma(bo, chan, new_reg); | ^~~~~~~ | | | struct ttm_mem_reg * drivers/gpu/drm/nouveau/nouveau_bo0039.c:39:59: note: expected 'struct ttm_mem_reg *' but argument is of type 'struct ttm_mem_reg *' 39 | struct nouveau_channel *chan, struct ttm_mem_reg *reg) | ~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors -- In file included from drivers/gpu/drm/nouveau/nouveau_bo5039.c:29: >> drivers/gpu/drm/nouveau/nouveau_bo.h:142:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 142 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:146:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 146 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:149:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 149 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:152:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 152 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:156:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 156 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:159:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 159 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:163:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 163 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ >> drivers/gpu/drm/nouveau/nouveau_bo5039.c:40:12: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 40 | struct ttm_mem_reg *old_reg, struct ttm_mem_reg *new_reg) | ^~~~~~~~~~~ >> drivers/gpu/drm/nouveau/nouveau_bo5039.c:39:1: error: conflicting types for 'nv50_bo_move_m2mf' 39 | nv50_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo, | ^~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/nouveau/nouveau_bo5039.c:29: drivers/gpu/drm/nouveau/nouveau_bo.h:145:5: note: previous declaration of 'nv50_bo_move_m2mf' was here 145 | int nv50_bo_move_m2mf(struct nouveau_channel *, struct ttm_buffer_object *, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo5039.c: In function 'nv50_bo_move_m2mf': >> drivers/gpu/drm/nouveau/nouveau_bo5039.c:42:40: error: passing argument 1 of 'nouveau_mem' from incompatible pointer type [-Werror=incompatible-pointer-types] 42 | struct nouveau_mem *mem = nouveau_mem(old_reg); | ^~~~~~~ | | | struct ttm_mem_reg * In file included from drivers/gpu/drm/nouveau/nouveau_bo5039.c:32: drivers/gpu/drm/nouveau/nouveau_mem.h:10:34: note: expected 'struct ttm_resource *' but argument is of type 'struct ttm_mem_reg *' 10 | nouveau_mem(struct ttm_resource *reg) | ~~~~~~~~~~~~~~~~~~~~~^~~ >> drivers/gpu/drm/nouveau/nouveau_bo5039.c:44:23: error: dereferencing pointer to incomplete type 'struct ttm_mem_reg' 44 | u64 length = (new_reg->num_pages << PAGE_SHIFT); | ^~ drivers/gpu/drm/nouveau/nouveau_bo5039.c:48:32: error: passing argument 1 of 'nouveau_mem' from incompatible pointer type [-Werror=incompatible-pointer-types] 48 | int dst_tiled = !!nouveau_mem(new_reg)->kind; | ^~~~~~~ | | | struct ttm_mem_reg * In file included from drivers/gpu/drm/nouveau/nouveau_bo5039.c:32: drivers/gpu/drm/nouveau/nouveau_mem.h:10:34: note: expected 'struct ttm_resource *' but argument is of type 'struct ttm_mem_reg *' 10 | nouveau_mem(struct ttm_resource *reg) | ~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors -- In file included from drivers/gpu/drm/nouveau/nouveau_bo74c1.c:29: >> drivers/gpu/drm/nouveau/nouveau_bo.h:142:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 142 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:146:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 146 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:149:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 149 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:152:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 152 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:156:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 156 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:159:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 159 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo.h:163:16: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 163 | struct ttm_mem_reg *, struct ttm_mem_reg *); | ^~~~~~~~~~~ >> drivers/gpu/drm/nouveau/nouveau_bo74c1.c:37:12: warning: 'struct ttm_mem_reg' declared inside parameter list will not be visible outside of this definition or declaration 37 | struct ttm_mem_reg *old_reg, struct ttm_mem_reg *new_reg) | ^~~~~~~~~~~ >> drivers/gpu/drm/nouveau/nouveau_bo74c1.c:36:1: error: conflicting types for 'nv84_bo_move_exec' 36 | nv84_bo_move_exec(struct nouveau_channel *chan, struct ttm_buffer_object *bo, | ^~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/nouveau/nouveau_bo74c1.c:29: drivers/gpu/drm/nouveau/nouveau_bo.h:148:5: note: previous declaration of 'nv84_bo_move_exec' was here 148 | int nv84_bo_move_exec(struct nouveau_channel *, struct ttm_buffer_object *, | ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/nouveau/nouveau_bo74c1.c: In function 'nv84_bo_move_exec': >> drivers/gpu/drm/nouveau/nouveau_bo74c1.c:39:40: error: passing argument 1 of 'nouveau_mem' from incompatible pointer type [-Werror=incompatible-pointer-types] 39 | struct nouveau_mem *mem = nouveau_mem(old_reg); | ^~~~~~~ | | | struct ttm_mem_reg * In file included from drivers/gpu/drm/nouveau/nouveau_bo74c1.c:31: drivers/gpu/drm/nouveau/nouveau_mem.h:10:34: note: expected 'struct ttm_resource *' but argument is of type 'struct ttm_mem_reg *' 10 | nouveau_mem(struct ttm_resource *reg) | ~~~~~~~~~~~~~~~~~~~~~^~~ In file included from drivers/gpu/drm/nouveau/nouveau_chan.h:6, from drivers/gpu/drm/nouveau/nouveau_dma.h:31, from drivers/gpu/drm/nouveau/nouveau_bo74c1.c:30: >> drivers/gpu/drm/nouveau/nouveau_bo74c1.c:47:41: error: dereferencing pointer to incomplete type 'struct ttm_mem_reg' 47 | PUSH_NVSQ(push, NV74C1, 0x0304, new_reg->num_pages << PAGE_SHIFT, | ^~ drivers/gpu/drm/nouveau/include/nvif/push.h:84:12: note: in definition of macro 'PUSH_DATA__' 84 | u32 _d = (d); \ | ^ drivers/gpu/drm/nouveau/include/nvif/push.h:128:2: note: in expansion of macro 'PUSH_DATA_' 128 | PUSH_##f(X, (p), X##mA, 1, o, (dA), ds, ""); \ | ^~~~~ drivers/gpu/drm/nouveau/include/nvif/push.h:132:2: note: in expansion of macro 'PUSH_1' 132 | PUSH_1(X, DATA_, 1, ds, (c)+(n), o, (p), s, X##mA, (dA), ##a); \ | ^~~~~~ drivers/gpu/drm/nouveau/include/nvif/push.h:137:2: note: in expansion of macro 'PUSH_2' 137 | PUSH_2(X, DATA_, 1, ds, (c)+(n), o, (p), s, X##mA, (dA), ##a); \ | ^~~~~~ drivers/gpu/drm/nouveau/include/nvif/push.h:142:2: note: in expansion of macro 'PUSH_3' 142 | PUSH_3(X, DATA_, 1, ds, (c)+(n), o, (p), s, X##mA, (dA), ##a); \ | ^~~~~~ drivers/gpu/drm/nouveau/include/nvif/push.h:147:2: note: in expansion of macro 'PUSH_4' 147 | PUSH_4(X, DATA_, 1, ds, (c)+(n), o, (p), s, X##mA, (dA), ##a); \ | ^~~~~~ drivers/gpu/drm/nouveau/include/nvif/push.h:152:2: note: in expansion of macro 'PUSH_5' 152 | PUSH_5(X, DATA_, 1, ds, (c)+(n), o, (p), s, X##mA, (dA), ##a); \ | ^~~~~~ drivers/gpu/drm/nouveau/include/nvif/push.h:197:2: note: in expansion of macro 'PUSH_6' 197 | PUSH_6(X, DATA_, 1, 1, 0, o, (p), s, X##mF, (dF), \ | ^~~~~~ drivers/gpu/drm/nouveau/include/nvif/push.h:252:73: note: in expansion of macro 'PUSH_6D' 252 | #define PUSH_(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,IMPL,...) IMPL | ^~~~ drivers/gpu/drm/nouveau/include/nvif/push.h:272:25: note: in expansion of macro 'PUSH' 272 | #define PUSH_NVSQ(A...) PUSH(MTHD, ##A) | ^~~~ drivers/gpu/drm/nouveau/nouveau_bo74c1.c:47:2: note: in expansion of macro 'PUSH_NVSQ' 47 | PUSH_NVSQ(push, NV74C1, 0x0304, new_reg->num_pages << PAGE_SHIFT, | ^~~~~~~~~ cc1: some warnings being treated as errors .. vim +750 drivers/gpu/drm/nouveau/nouveau_bo.c 6ee738610f41b5 Ben Skeggs 2009-12-11 737 d1b167e168bdac Ben Skeggs 2012-05-04 738 void 49981046e3dc2f Ben Skeggs 2012-08-06 739 nouveau_bo_move_init(struct nouveau_drm *drm) d1b167e168bdac Ben Skeggs 2012-05-04 740 { 72ecb0a6ce89dd James Jones 2019-12-16 741 static const struct _method_table { d1b167e168bdac Ben Skeggs 2012-05-04 742 const char *name; 1a46098e910b96 Ben Skeggs 2012-05-04 743 int engine; 315a8b2edf5171 Ben Skeggs 2015-08-20 744 s32 oclass; d1b167e168bdac Ben Skeggs 2012-05-04 745 int (*exec)(struct nouveau_channel *, d1b167e168bdac Ben Skeggs 2012-05-04 746 struct ttm_buffer_object *, 2966141ad2dda2 Dave Airlie 2020-08-04 747 struct ttm_resource *, struct ttm_resource *); d1b167e168bdac Ben Skeggs 2012-05-04 748 int (*init)(struct nouveau_channel *, u32 handle); d1b167e168bdac Ben Skeggs 2012-05-04 749 } _methods[] = { c36322d23d5d84 Ben Skeggs 2018-12-11 @750 { "COPY", 4, 0xc5b5, nve0_bo_move_copy, nve0_bo_move_init }, c36322d23d5d84 Ben Skeggs 2018-12-11 751 { "GRCE", 0, 0xc5b5, nve0_bo_move_copy, nvc0_bo_move_init }, 6e1f34e33c17f6 Ben Skeggs 2018-05-08 752 { "COPY", 4, 0xc3b5, nve0_bo_move_copy, nve0_bo_move_init }, 6e1f34e33c17f6 Ben Skeggs 2018-05-08 753 { "GRCE", 0, 0xc3b5, nve0_bo_move_copy, nvc0_bo_move_init }, 146cfe2476ce37 Ben Skeggs 2016-07-09 754 { "COPY", 4, 0xc1b5, nve0_bo_move_copy, nve0_bo_move_init }, 146cfe2476ce37 Ben Skeggs 2016-07-09 755 { "GRCE", 0, 0xc1b5, nve0_bo_move_copy, nvc0_bo_move_init }, 8e7e1586c58a5e Ben Skeggs 2016-07-09 756 { "COPY", 4, 0xc0b5, nve0_bo_move_copy, nve0_bo_move_init }, 8e7e1586c58a5e Ben Skeggs 2016-07-09 757 { "GRCE", 0, 0xc0b5, nve0_bo_move_copy, nvc0_bo_move_init }, 990b4547042a94 Ben Skeggs 2015-04-14 758 { "COPY", 4, 0xb0b5, nve0_bo_move_copy, nve0_bo_move_init }, 990b4547042a94 Ben Skeggs 2015-04-14 759 { "GRCE", 0, 0xb0b5, nve0_bo_move_copy, nvc0_bo_move_init }, 00fc6f6f731efb Ben Skeggs 2013-07-09 760 { "COPY", 4, 0xa0b5, nve0_bo_move_copy, nve0_bo_move_init }, 49981046e3dc2f Ben Skeggs 2012-08-06 761 { "GRCE", 0, 0xa0b5, nve0_bo_move_copy, nvc0_bo_move_init }, 1a46098e910b96 Ben Skeggs 2012-05-04 762 { "COPY1", 5, 0x90b8, nvc0_bo_move_copy, nvc0_bo_move_init }, 1a46098e910b96 Ben Skeggs 2012-05-04 763 { "COPY0", 4, 0x90b5, nvc0_bo_move_copy, nvc0_bo_move_init }, 1a46098e910b96 Ben Skeggs 2012-05-04 764 { "COPY", 0, 0x85b5, nva3_bo_move_copy, nv50_bo_move_init }, 1a46098e910b96 Ben Skeggs 2012-05-04 765 { "CRYPT", 0, 0x74c1, nv84_bo_move_exec, nv50_bo_move_init }, 1a46098e910b96 Ben Skeggs 2012-05-04 766 { "M2MF", 0, 0x9039, nvc0_bo_move_m2mf, nvc0_bo_move_init }, 1a46098e910b96 Ben Skeggs 2012-05-04 767 { "M2MF", 0, 0x5039, nv50_bo_move_m2mf, nv50_bo_move_init }, 1a46098e910b96 Ben Skeggs 2012-05-04 768 { "M2MF", 0, 0x0039, nv04_bo_move_m2mf, nv04_bo_move_init }, 5490e5dfb9e9d6 Ben Skeggs 2012-05-04 769 {}, 72ecb0a6ce89dd James Jones 2019-12-16 770 }; 72ecb0a6ce89dd James Jones 2019-12-16 771 const struct _method_table *mthd = _methods; d1b167e168bdac Ben Skeggs 2012-05-04 772 const char *name = "CPU"; d1b167e168bdac Ben Skeggs 2012-05-04 773 int ret; d1b167e168bdac Ben Skeggs 2012-05-04 774 d1b167e168bdac Ben Skeggs 2012-05-04 775 do { 49981046e3dc2f Ben Skeggs 2012-08-06 776 struct nouveau_channel *chan; ebb945a94bba2c Ben Skeggs 2012-07-20 777 00fc6f6f731efb Ben Skeggs 2013-07-09 778 if (mthd->engine) 49981046e3dc2f Ben Skeggs 2012-08-06 779 chan = drm->cechan; 49981046e3dc2f Ben Skeggs 2012-08-06 780 else 49981046e3dc2f Ben Skeggs 2012-08-06 781 chan = drm->channel; 49981046e3dc2f Ben Skeggs 2012-08-06 782 if (chan == NULL) 49981046e3dc2f Ben Skeggs 2012-08-06 783 continue; 49981046e3dc2f Ben Skeggs 2012-08-06 784 9ac596a4e875e2 Ben Skeggs 2020-03-30 785 ret = nvif_object_ctor(&chan->user, "ttmBoMove", 0ad72863ea426d Ben Skeggs 2014-08-10 786 mthd->oclass | (mthd->engine << 16), 0ad72863ea426d Ben Skeggs 2014-08-10 787 mthd->oclass, NULL, 0, 0ad72863ea426d Ben Skeggs 2014-08-10 788 &drm->ttm.copy); d1b167e168bdac Ben Skeggs 2012-05-04 789 if (ret == 0) { 0ad72863ea426d Ben Skeggs 2014-08-10 790 ret = mthd->init(chan, drm->ttm.copy.handle); ebb945a94bba2c Ben Skeggs 2012-07-20 791 if (ret) { 9ac596a4e875e2 Ben Skeggs 2020-03-30 792 nvif_object_dtor(&drm->ttm.copy); ebb945a94bba2c Ben Skeggs 2012-07-20 793 continue; ebb945a94bba2c Ben Skeggs 2012-07-20 794 } ebb945a94bba2c Ben Skeggs 2012-07-20 795 ebb945a94bba2c Ben Skeggs 2012-07-20 796 drm->ttm.move = mthd->exec; 1bb3f6a252c92c Ben Skeggs 2013-07-08 797 drm->ttm.chan = chan; d1b167e168bdac Ben Skeggs 2012-05-04 798 name = mthd->name; d1b167e168bdac Ben Skeggs 2012-05-04 799 break; d1b167e168bdac Ben Skeggs 2012-05-04 800 } d1b167e168bdac Ben Skeggs 2012-05-04 801 } while ((++mthd)->exec); d1b167e168bdac Ben Skeggs 2012-05-04 802 ebb945a94bba2c Ben Skeggs 2012-07-20 803 NV_INFO(drm, "MM: using %s for buffer copies\n", name); d1b167e168bdac Ben Skeggs 2012-05-04 804 } d1b167e168bdac Ben Skeggs 2012-05-04 805 :::::: The code at line 750 was first introduced by commit :::::: c36322d23d5d84cbe03c93beaa5dd6c705d48122 drm/nouveau/ce/tu104: initial support :::::: TO: Ben Skeggs <bskeggs@xxxxxxxxxx> :::::: CC: Ben Skeggs <bskeggs@xxxxxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip
_______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx