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 <l...@intel.com>

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 <bske...@redhat.com>
:::::: CC: Ben Skeggs <bske...@redhat.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to