[PATCH 3/3] drm/virtio: use the fence for every plane update
Dan Carpenter
dan.carpenter at oracle.com
Wed May 11 13:37:47 UTC 2022
Hi Dongwon,
url: https://github.com/intel-lab-lkp/linux/commits/Dongwon-Kim/drm-virtio-release-ops-for-virtgpu-fence-release/20220511-081226
base: git://anongit.freedesktop.org/drm/drm drm-next
config: parisc-randconfig-m031-20220509 (https://download.01.org/0day-ci/archive/20220511/202205112132.FqtvzLWA-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 11.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
smatch warnings:
drivers/gpu/drm/virtio/virtgpu_plane.c:158 virtio_gpu_resource_flush() error: uninitialized symbol 'objs'.
vim +/objs +158 drivers/gpu/drm/virtio/virtgpu_plane.c
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 132 static void virtio_gpu_resource_flush(struct drm_plane *plane,
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 133 uint32_t x, uint32_t y,
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 134 uint32_t width, uint32_t height)
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 135 {
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 136 struct drm_device *dev = plane->dev;
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 137 struct virtio_gpu_device *vgdev = dev->dev_private;
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 138 struct virtio_gpu_framebuffer *vgfb;
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 139 struct virtio_gpu_object *bo;
47558b189c1d34 Dongwon Kim 2022-05-10 140 struct virtio_gpu_object_array *objs;
47558b189c1d34 Dongwon Kim 2022-05-10 141 struct virtio_gpu_fence *fence;
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 142
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 143 vgfb = to_virtio_gpu_framebuffer(plane->state->fb);
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 144 bo = gem_to_virtio_gpu_obj(vgfb->base.obj[0]);
5c7787de5069b5 Dongwon Kim 2022-05-10 145 fence = virtio_gpu_fence_alloc(vgdev, vgdev->fence_drv.context, 0);
47558b189c1d34 Dongwon Kim 2022-05-10 146
47558b189c1d34 Dongwon Kim 2022-05-10 147 if (fence) {
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 148 objs = virtio_gpu_array_alloc(1);
47558b189c1d34 Dongwon Kim 2022-05-10 149 if (!objs) {
47558b189c1d34 Dongwon Kim 2022-05-10 150 kfree(fence);
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 151 return;
47558b189c1d34 Dongwon Kim 2022-05-10 152 }
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 153 virtio_gpu_array_add_obj(objs, vgfb->base.obj[0]);
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 154 virtio_gpu_array_lock_resv(objs);
47558b189c1d34 Dongwon Kim 2022-05-10 155 }
"objs" not set on else path
47558b189c1d34 Dongwon Kim 2022-05-10 156
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 157 virtio_gpu_cmd_resource_flush(vgdev, bo->hw_res_handle, x, y,
47558b189c1d34 Dongwon Kim 2022-05-10 @158 width, height, objs, fence);
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 159 virtio_gpu_notify(vgdev);
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 160
47558b189c1d34 Dongwon Kim 2022-05-10 161 if (fence) {
47558b189c1d34 Dongwon Kim 2022-05-10 162 dma_fence_wait_timeout(&fence->f, true,
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 163 msecs_to_jiffies(50));
47558b189c1d34 Dongwon Kim 2022-05-10 164 dma_fence_put(&fence->f);
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 165 }
5c68ab9276aae4 Vivek Kasireddy 2021-06-10 166 }
--
0-DAY CI Kernel Test Service
https://01.org/lkp
More information about the dri-devel
mailing list