[PATCH 05/18] fbdev: initialize yoffset of varinfo
David Herrmann
dh.herrmann at gmail.com
Fri Jun 21 02:27:29 PDT 2013
Hi
On Fri, Jun 21, 2013 at 10:49 AM, mchalain [marc.chalain at gmail.com]
<marc.chalain at gmail.com> wrote:
> From: mchalain <marc.chalain at gmail.com>
>
> it initializes varinfo.yoffset. varinfo.yoffset has to
> point on the beginning of the video memory.
> The card uses this value to push on the screen a part of
> the video memory when this one is larger than the screen.
>
> ---
> weston/src/compositor-fbdev.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/weston/src/compositor-fbdev.c b/weston/src/compositor-fbdev.c
> index adfb67a..d2aee9b 100644
> --- a/weston/src/compositor-fbdev.c
> +++ b/weston/src/compositor-fbdev.c
> @@ -368,6 +368,11 @@ fbdev_query_screen_info(struct fbdev_output *output, int fd,
> return -1;
> }
>
> + if (varinfo.yoffset != 0) {
> + varinfo.yoffset = 0;
> + if (ioctl(fd, FBIOPAN_DISPLAY, &varinfo) < 0)
> + return -1;
> + }
Why do you need this? It's unnecessary. We call FBIOPUT_VSCREENINFO
after fbdev_query_screen_info(), anyway. Furthermore, not all drivers
support panning even though the yoffset may be non-zero (you need
FBIOPUT_VSCREENINFO then).
I think you can just drop this here but keep the yoffset=0 below.
> return 1;
> }
>
> @@ -404,6 +409,7 @@ fbdev_set_screen_info(struct fbdev_output *output, int fd,
> varinfo.blue.length = 8;
> varinfo.blue.msb_right = 0;
>
> + varinfo.yoffset = 0;
Yep, this is definitely needed.
Regards
David
> /* Set the device's screen information. */
> if (ioctl(fd, FBIOPUT_VSCREENINFO, &varinfo) < 0) {
> return -1;
> --
> 1.7.9.5
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list