[PATCH v5] drm/test: add a test suite for GEM objects backed by shmem

Marco Pagani marpagan at redhat.com
Thu Feb 22 15:32:09 UTC 2024



On 2024-02-18 16:49, Guenter Roeck wrote:
> Hi,
> 
> On Thu, Nov 30, 2023 at 06:14:16PM +0100, Marco Pagani wrote:
>> This patch introduces an initial KUnit test suite for GEM objects
>> backed by shmem buffers.
>>
>> Suggested-by: Javier Martinez Canillas <javierm at redhat.com>
>> Signed-off-by: Marco Pagani <marpagan at redhat.com>
> 
> When running this in qemu, I get lots of warnings backtraces in the drm
> core.
> 
> WARNING: CPU: 0 PID: 1341 at drivers/gpu/drm/drm_gem_shmem_helper.c:327
> WARNING: CPU: 0 PID: 1341 at drivers/gpu/drm/drm_gem_shmem_helper.c:173
> WARNING: CPU: 0 PID: 1341 at drivers/gpu/drm/drm_gem_shmem_helper.c:385
> WARNING: CPU: 0 PID: 1341 at drivers/gpu/drm/drm_gem_shmem_helper.c:211
> WARNING: CPU: 0 PID: 1345 at kernel/dma/mapping.c:194
> WARNING: CPU: 0 PID: 1347 at drivers/gpu/drm/drm_gem_shmem_helper.c:429
> WARNING: CPU: 0 PID: 1349 at drivers/gpu/drm/drm_gem_shmem_helper.c:445 
> 
> It looks like dma_resv_assert_held() asserts each time it is executed.
> The backtrace in kernel/dma/mapping.c is triggered by
> 	if (WARN_ON_ONCE(!dev->dma_mask))
> 		return 0;
> in __dma_map_sg_attrs().
> 
> Is this a possible problem in the test code, or can it be caused by
> some limitations or bugs in the qemu emulation ? If so, do you have any
> thoughts or ideas what those limitations / bugs might be ? 

Hi Guenter,

Thanks for reporting this issue. As you correctly noted, the warnings appear to
be caused by the dma_mask in the mock device being uninitialized. I'll send a
patch to fix it soon.

Marco



More information about the dri-devel mailing list