[PATCH] drm/fbdev-dma: fix getting smem_start

Thomas Zimmermann tzimmermann at suse.de
Tue Jun 11 09:29:58 UTC 2024


Hi

Am 11.06.24 um 10:23 schrieb Peng Fan:
>> Subject: Re: [PATCH] drm/fbdev-dma: fix getting smem_start
>>
>> Hi
>>
>> Am 11.06.24 um 03:00 schrieb Peng Fan:
>>>> Subject: Re: [PATCH] drm/fbdev-dma: fix getting smem_start
>>>>
>>>> Hi
>>>>
>>>> Am 04.06.24 um 10:03 schrieb Peng Fan (OSS):
>>>>> From: Peng Fan <peng.fan at nxp.com>
>>>>>
>>>>> If 'info->screen_buffer' locates in vmalloc address space,
>>>>> virt_to_page will not be able to get correct results. With
>>>>> CONFIG_DEBUG_VM and CONFIG_DEBUG_VIRTUAL enabled on ARM64,
>>>> there is dump below:
>>>>
>>>> Which graphics driver triggers this bug?
>>> It is NXP i.MX95 DPU driver which is still in NXP downstream repo.
>> Which DRM memory manager does that driver use?
> DRM_GEM_DMA_DRIVER_OPS

So fbdev-dma would be correct. But with the gem-dma allocator, wouldn't 
you allocate from one of these dma_alloc_() calls at [1] ? How does the 
drivers end up with vmalloc'd fbdev memory? Specifically in the light of 
the docs at [2].

[1] 
https://elixir.bootlin.com/linux/v6.9/source/drivers/gpu/drm/drm_gem_dma_helper.c#L146
[2] 
https://elixir.bootlin.com/linux/v6.9/source/Documentation/core-api/dma-api-howto.rst#L124

Best regards
Thomas

>
>> I'm asking because if the driver allocates BOs via vmalloc(), should it really
>> use fbdev-dma?
> We use it for fbdev emulation. If drm_kms_helper.fbdev_emulation is 0,
> fbdev emulation could be disabled.
>
> Thanks
> Peng
>> Best regards
>> Thomas
>>
>>> Thanks,
>>> Peng.
>> --
>> --
>> Thomas Zimmermann
>> Graphics Driver Developer
>> SUSE Software Solutions Germany GmbH
>> Frankenstrasse 146, 90461 Nuernberg, Germany
>> GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman HRB
>> 36809 (AG Nuernberg)

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)



More information about the dri-devel mailing list