Thread (78 messages) 78 messages, 8 authors, 2024-04-19

Re: [PATCH v2 08/43] drm/fbdev: Add fbdev-shmem

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2024-04-17 07:30:48
Also in: dri-devel

Hi Thomas,

On Tue, Apr 16, 2024 at 2:07 PM Thomas Zimmermann [off-list ref] wrote:
Am 16.04.24 um 13:25 schrieb Javier Martinez Canillas:
quoted
Thomas Zimmermann [off-list ref] writes:
Do I understand correctly that info->fix.smem_start doesn't have to be set
because that's only used for I/O memory?
It's the start of the framebuffer memory in physical memory. Setting
smem_start only makes sense if the framebuffer is physically continuous,
which isn't the case here.
Nothing really needs fix.smem_start, it's mainly for informative use.
However, if smem_start is not page-aligned, userspace does need to
know the start offset inside the page (see below).
quoted
This also made me think why info->fix.smem_len is really needed. Can't we
make the fbdev core to only look at that if info->screen_size is not set ?
The fbdev core doesn't use smem_len AFAICT. But smem_len is part of the
fbdev UAPI, so I set it. I assume that programs use it to go to the end
of the framebuffer memory.
On fbdev drivers also exporting MMIO to userspace, /dev/fbX contains
two parts: first the frame buffer, followed by the MMIO registers.
Both parts are an integral number of pages, based on fix.smem_{start,len}
resp. fix.mmio_{start,len}.

Old XFree86 used the MMIO part to implement hardware acceleration
when running on top of fbdev.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help