[PATCH v5 79/80] drm/omapdrm: Remove struct drm_fb_helper from struct omap_fbdev.
Tomi Valkeinen
tomi.valkeinen at ideasonboard.com
Thu Oct 3 13:11:59 UTC 2024
Hi,
On 27/09/2024 17:46, Thomas Zimmermann wrote:
> Hi
>
> Am 26.09.24 um 15:07 schrieb Tomi Valkeinen:
>> Hi,
>>
>> On 24/09/2024 10:13, Thomas Zimmermann wrote:
>>> Store instances of drm_fb_helper and struct omap_fbdev separately.
>>> This will allow omapdrm to use the common fbdev client, which allocates
>>> its own instance of struct drm_fb_helper.
>>>
>>> There is at most one instance of each per DRM device, so both can be
>>> referenced directly from the omap and DRM device structures. A later
>>> patchset might rework the common fbdev client to allow for storing
>>> both, drm_fb_helper and omap_fbdev, together in the same place.
>>>
>>> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
>>> Cc: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
>>> Acked-by: Javier Martinez Canillas <javierm at redhat.com>
>>> ---
>>> drivers/gpu/drm/omapdrm/omap_drv.h | 3 ++
>>> drivers/gpu/drm/omapdrm/omap_fbdev.c | 42 +++++++++++++++-------------
>>> 2 files changed, 26 insertions(+), 19 deletions(-)
>>
>> The ywrap seems to be broken, but it's broken without this series too.
>> With some quick hacks I managed to get the omapdrm's panning function
>> called, and it works the same way with or without this series.
>>
>> Tested on DRA76 EVM.
>>
>> Reviewed-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
>>
>> For reference, in case someone is interested fixing omapdrm's ywrap code:
>>
>> - get_fb() doesn't work. I don't understand the point of the function.
>> It compares fbi->fix.id and MODULE_NAME, and the "fbi->fix.id" has
>> changed along the years so the check no longer works. Afaik, the whole
>> function is not needed, and we can just use fbi->par.
>>
>> - omap_fbdev_pan_display() doesn't seem to get called when the console
>> scrolls. I can get it called with an userspace app that does some y
>> panning. Maybe FBINFO_HWACCEL_YWRAP is not supported anymore?
>
> If ywrap doesn't work and no one complained, can we remove it? The rest
> of the code is equivalent to drm_fbdev_dma.c, so we could remove omap's
> implementation entirely.
Personally I'm fine with dropping it, but I have to say the console
scrolling looked reaaaally slow without it. I'll try to find the time to
at least figure out when it broke. Maybe it was a recent thing, and thus
no one has complained.
Tomi
More information about the Nouveau
mailing list