[PATCH v7 3/6] drm/sched: Convert the GPU scheduler to variable number of run-queues

kernel test robot lkp at intel.com
Thu Oct 26 06:33:20 UTC 2023


Hi Matthew,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 201c8a7bd1f3f415920a2df4b8a8817e973f42fe]

url:    https://github.com/intel-lab-lkp/linux/commits/Matthew-Brost/drm-sched-Add-drm_sched_wqueue_-helpers/20231026-121313
base:   201c8a7bd1f3f415920a2df4b8a8817e973f42fe
patch link:    https://lore.kernel.org/r/20231026041236.1273694-4-matthew.brost%40intel.com
patch subject: [PATCH v7 3/6] drm/sched: Convert the GPU scheduler to variable number of run-queues
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20231026/202310261439.3rbAtEoB-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231026/202310261439.3rbAtEoB-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310261439.3rbAtEoB-lkp@intel.com/

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/etnaviv/etnaviv_sched.c: In function 'etnaviv_sched_init':
>> drivers/gpu/drm/etnaviv/etnaviv_sched.c:138:30: warning: passing argument 3 of 'drm_sched_init' makes pointer from integer without a cast [-Wint-conversion]
     138 |                              DRM_SCHED_PRIORITY_COUNT, NULL,
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~
         |                              |
         |                              int
   In file included from drivers/gpu/drm/etnaviv/etnaviv_drv.h:20,
                    from drivers/gpu/drm/etnaviv/etnaviv_sched.c:8:
   include/drm/gpu_scheduler.h:530:45: note: expected 'struct workqueue_struct *' but argument is of type 'int'
     530 |                    struct workqueue_struct *submit_wq,
         |                    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
   In file included from include/uapi/linux/posix_types.h:5,
                    from include/uapi/linux/types.h:14,
                    from include/linux/types.h:6,
                    from include/linux/kasan-checks.h:5,
                    from include/asm-generic/rwonce.h:26,
                    from ./arch/m68k/include/generated/asm/rwonce.h:1,
                    from include/linux/compiler.h:246,
                    from include/linux/build_bug.h:5,
                    from include/linux/init.h:5,
                    from include/linux/moduleparam.h:5,
                    from drivers/gpu/drm/etnaviv/etnaviv_sched.c:6:
>> include/linux/stddef.h:8:14: warning: passing argument 4 of 'drm_sched_init' makes integer from pointer without a cast [-Wint-conversion]
       8 | #define NULL ((void *)0)
         |              ^~~~~~~~~~~
         |              |
         |              void *
   drivers/gpu/drm/etnaviv/etnaviv_sched.c:138:56: note: in expansion of macro 'NULL'
     138 |                              DRM_SCHED_PRIORITY_COUNT, NULL,
         |                                                        ^~~~
   include/drm/gpu_scheduler.h:531:24: note: expected 'u32' {aka 'unsigned int'} but argument is of type 'void *'
     531 |                    u32 num_rqs, uint32_t hw_submission, unsigned hang_limit,
         |                    ~~~~^~~~~~~
--
   drivers/gpu/drm/lima/lima_sched.c: In function 'lima_sched_pipe_init':
>> drivers/gpu/drm/lima/lima_sched.c:492:31: warning: passing argument 3 of 'drm_sched_init' makes pointer from integer without a cast [-Wint-conversion]
     492 |                               DRM_SCHED_PRIORITY_COUNT, NULL, 1,
         |                               ^~~~~~~~~~~~~~~~~~~~~~~~
         |                               |
         |                               int
   In file included from drivers/gpu/drm/lima/lima_sched.h:7,
                    from drivers/gpu/drm/lima/lima_device.h:12,
                    from drivers/gpu/drm/lima/lima_ctx.h:10,
                    from drivers/gpu/drm/lima/lima_drv.h:9,
                    from drivers/gpu/drm/lima/lima_sched.c:11:
   include/drm/gpu_scheduler.h:530:45: note: expected 'struct workqueue_struct *' but argument is of type 'int'
     530 |                    struct workqueue_struct *submit_wq,
         |                    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
   In file included from include/uapi/linux/posix_types.h:5,
                    from include/uapi/linux/types.h:14,
                    from include/linux/types.h:6,
                    from include/linux/io.h:9,
                    from include/linux/iosys-map.h:10,
                    from drivers/gpu/drm/lima/lima_sched.c:4:
>> include/linux/stddef.h:8:14: warning: passing argument 4 of 'drm_sched_init' makes integer from pointer without a cast [-Wint-conversion]
       8 | #define NULL ((void *)0)
         |              ^~~~~~~~~~~
         |              |
         |              void *
   drivers/gpu/drm/lima/lima_sched.c:492:57: note: in expansion of macro 'NULL'
     492 |                               DRM_SCHED_PRIORITY_COUNT, NULL, 1,
         |                                                         ^~~~
   include/drm/gpu_scheduler.h:531:24: note: expected 'u32' {aka 'unsigned int'} but argument is of type 'void *'
     531 |                    u32 num_rqs, uint32_t hw_submission, unsigned hang_limit,
         |                    ~~~~^~~~~~~
--
   drivers/gpu/drm/v3d/v3d_sched.c: In function 'v3d_sched_init':
>> drivers/gpu/drm/v3d/v3d_sched.c:391:50: warning: passing argument 3 of 'drm_sched_init' makes pointer from integer without a cast [-Wint-conversion]
     391 |                              &v3d_bin_sched_ops, DRM_SCHED_PRIORITY_COUNT, NULL,
         |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
         |                                                  |
         |                                                  int
   In file included from drivers/gpu/drm/v3d/v3d_drv.h:12,
                    from drivers/gpu/drm/v3d/v3d_sched.c:23:
   include/drm/gpu_scheduler.h:530:45: note: expected 'struct workqueue_struct *' but argument is of type 'int'
     530 |                    struct workqueue_struct *submit_wq,
         |                    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
   In file included from include/uapi/linux/posix_types.h:5,
                    from include/uapi/linux/types.h:14,
                    from include/linux/types.h:6,
                    from include/linux/kasan-checks.h:5,
                    from include/asm-generic/rwonce.h:26,
                    from ./arch/m68k/include/generated/asm/rwonce.h:1,
                    from include/linux/compiler.h:246,
                    from include/linux/err.h:5,
                    from include/linux/kthread.h:5,
                    from drivers/gpu/drm/v3d/v3d_sched.c:21:
>> include/linux/stddef.h:8:14: warning: passing argument 4 of 'drm_sched_init' makes integer from pointer without a cast [-Wint-conversion]
       8 | #define NULL ((void *)0)
         |              ^~~~~~~~~~~
         |              |
         |              void *
   drivers/gpu/drm/v3d/v3d_sched.c:391:76: note: in expansion of macro 'NULL'
     391 |                              &v3d_bin_sched_ops, DRM_SCHED_PRIORITY_COUNT, NULL,
         |                                                                            ^~~~
   include/drm/gpu_scheduler.h:531:24: note: expected 'u32' {aka 'unsigned int'} but argument is of type 'void *'
     531 |                    u32 num_rqs, uint32_t hw_submission, unsigned hang_limit,
         |                    ~~~~^~~~~~~
   drivers/gpu/drm/v3d/v3d_sched.c:399:53: warning: passing argument 3 of 'drm_sched_init' makes pointer from integer without a cast [-Wint-conversion]
     399 |                              &v3d_render_sched_ops, DRM_SCHED_PRIORITY_COUNT,
         |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~
         |                                                     |
         |                                                     int
   include/drm/gpu_scheduler.h:530:45: note: expected 'struct workqueue_struct *' but argument is of type 'int'
     530 |                    struct workqueue_struct *submit_wq,
         |                    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
>> include/linux/stddef.h:8:14: warning: passing argument 4 of 'drm_sched_init' makes integer from pointer without a cast [-Wint-conversion]
       8 | #define NULL ((void *)0)
         |              ^~~~~~~~~~~
         |              |
         |              void *
   drivers/gpu/drm/v3d/v3d_sched.c:400:30: note: in expansion of macro 'NULL'
     400 |                              NULL, hw_jobs_limit, job_hang_limit,
         |                              ^~~~
   include/drm/gpu_scheduler.h:531:24: note: expected 'u32' {aka 'unsigned int'} but argument is of type 'void *'
     531 |                    u32 num_rqs, uint32_t hw_submission, unsigned hang_limit,
         |                    ~~~~^~~~~~~
   drivers/gpu/drm/v3d/v3d_sched.c:407:50: warning: passing argument 3 of 'drm_sched_init' makes pointer from integer without a cast [-Wint-conversion]
     407 |                              &v3d_tfu_sched_ops, DRM_SCHED_PRIORITY_COUNT, NULL,
         |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
         |                                                  |
         |                                                  int
   include/drm/gpu_scheduler.h:530:45: note: expected 'struct workqueue_struct *' but argument is of type 'int'
     530 |                    struct workqueue_struct *submit_wq,
         |                    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
>> include/linux/stddef.h:8:14: warning: passing argument 4 of 'drm_sched_init' makes integer from pointer without a cast [-Wint-conversion]
       8 | #define NULL ((void *)0)
         |              ^~~~~~~~~~~
         |              |
         |              void *
   drivers/gpu/drm/v3d/v3d_sched.c:407:76: note: in expansion of macro 'NULL'
     407 |                              &v3d_tfu_sched_ops, DRM_SCHED_PRIORITY_COUNT, NULL,
         |                                                                            ^~~~
   include/drm/gpu_scheduler.h:531:24: note: expected 'u32' {aka 'unsigned int'} but argument is of type 'void *'
     531 |                    u32 num_rqs, uint32_t hw_submission, unsigned hang_limit,
         |                    ~~~~^~~~~~~
   drivers/gpu/drm/v3d/v3d_sched.c:417:38: warning: passing argument 3 of 'drm_sched_init' makes pointer from integer without a cast [-Wint-conversion]
     417 |                                      DRM_SCHED_PRIORITY_COUNT, NULL,
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~~
         |                                      |
         |                                      int
   include/drm/gpu_scheduler.h:530:45: note: expected 'struct workqueue_struct *' but argument is of type 'int'
     530 |                    struct workqueue_struct *submit_wq,
         |                    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
>> include/linux/stddef.h:8:14: warning: passing argument 4 of 'drm_sched_init' makes integer from pointer without a cast [-Wint-conversion]
       8 | #define NULL ((void *)0)
         |              ^~~~~~~~~~~
         |              |
         |              void *
   drivers/gpu/drm/v3d/v3d_sched.c:417:64: note: in expansion of macro 'NULL'
     417 |                                      DRM_SCHED_PRIORITY_COUNT, NULL,
         |                                                                ^~~~
   include/drm/gpu_scheduler.h:531:24: note: expected 'u32' {aka 'unsigned int'} but argument is of type 'void *'
     531 |                    u32 num_rqs, uint32_t hw_submission, unsigned hang_limit,
         |                    ~~~~^~~~~~~
   drivers/gpu/drm/v3d/v3d_sched.c:426:38: warning: passing argument 3 of 'drm_sched_init' makes pointer from integer without a cast [-Wint-conversion]
     426 |                                      DRM_SCHED_PRIORITY_COUNT, NULL,
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~~
         |                                      |
         |                                      int
   include/drm/gpu_scheduler.h:530:45: note: expected 'struct workqueue_struct *' but argument is of type 'int'
     530 |                    struct workqueue_struct *submit_wq,
         |                    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
>> include/linux/stddef.h:8:14: warning: passing argument 4 of 'drm_sched_init' makes integer from pointer without a cast [-Wint-conversion]
       8 | #define NULL ((void *)0)
         |              ^~~~~~~~~~~
         |              |
         |              void *
   drivers/gpu/drm/v3d/v3d_sched.c:426:64: note: in expansion of macro 'NULL'
     426 |                                      DRM_SCHED_PRIORITY_COUNT, NULL,
         |                                                                ^~~~
   include/drm/gpu_scheduler.h:531:24: note: expected 'u32' {aka 'unsigned int'} but argument is of type 'void *'
     531 |                    u32 num_rqs, uint32_t hw_submission, unsigned hang_limit,
         |                    ~~~~^~~~~~~


vim +/drm_sched_init +138 drivers/gpu/drm/etnaviv/etnaviv_sched.c

   132	
   133	int etnaviv_sched_init(struct etnaviv_gpu *gpu)
   134	{
   135		int ret;
   136	
   137		ret = drm_sched_init(&gpu->sched, &etnaviv_sched_ops,
 > 138				     DRM_SCHED_PRIORITY_COUNT, NULL,
   139				     etnaviv_hw_jobs_limit, etnaviv_job_hang_limit,
   140				     msecs_to_jiffies(500), NULL, NULL,
   141				     dev_name(gpu->dev), gpu->dev);
   142		if (ret)
   143			return ret;
   144	
   145		return 0;
   146	}
   147	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


More information about the dri-devel mailing list