[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAKmqyKNzojeRtYUZyfVDBhAz5gNfRendSWduYJV_+gYiz8QAMg@mail.gmail.com>
Date: Thu, 19 Aug 2021 18:16:00 +1000
From: Alistair Francis <alistair23@...il.com>
To: Sam Ravnborg <sam@...nborg.org>
Cc: Marek Vasut <marex@...x.de>, Fabio Estevam <festevam@...il.com>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <kernel@...gutronix.de>,
dl-linux-imx <linux-imx@....com>, b.zolnierkie@...sung.com,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Alistair Francis <alistair@...stair23.me>
Subject: Re: Revert "video: fbdev: mxsfb: Remove driver"
On Thu, Aug 19, 2021 at 4:31 AM Sam Ravnborg <sam@...nborg.org> wrote:
>
> Hi Alistair,
>
> > prctl(PR_CAPBSET_READ, 0x30 /* CAP_??? */) = -1 EINVAL (Invalid argument)
> > prctl(PR_CAPBSET_READ, 0x2c /* CAP_??? */) = -1 EINVAL (Invalid argument)
> > prctl(PR_CAPBSET_READ, 0x2a /* CAP_??? */) = -1 EINVAL (Invalid argument)
> > prctl(PR_CAPBSET_READ, 0x29 /* CAP_??? */) = -1 EINVAL (Invalid argument)
> > ioctl(5, FBIOPUT_VSCREENINFO, 0x4ce8e0) = -1 EINVAL (Invalid argument)
> >
> > I'm guessing it's related to FBIOPUT_VSCREENINFO then, is that
> > something that could be added to the DRM emulation?
>
> Just to try to verify this could you try to return early
> in the switch where we have FBIOPUT_VSCREENINFO?
>
> In fbmem.c in do_fb_ioctl() just add a printk("something\n") and
> return 0 in the FBIOPUT_VSCREENINFO case.
Yep, this diff changes the working screen with the fbdev driver to not working:
diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c
index 1c855145711b..0f781914eca0 100644
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
@@ -1099,18 +1099,8 @@ static long do_fb_ioctl(struct fb_info *info,
unsigned int cmd,
ret = copy_to_user(argp, &var, sizeof(var)) ? -EFAULT : 0;
break;
case FBIOPUT_VSCREENINFO:
- if (copy_from_user(&var, argp, sizeof(var)))
- return -EFAULT;
- console_lock();
- lock_fb_info(info);
- ret = fb_set_var(info, &var);
- if (!ret)
- fbcon_update_vcs(info, var.activate & FB_ACTIVATE_ALL);
- unlock_fb_info(info);
- console_unlock();
- if (!ret && copy_to_user(argp, &var, sizeof(var)))
- ret = -EFAULT;
- break;
+ printk("FBIOPUT_VSCREENINFO Returning early");
+ return -EINVAL;
case FBIOGET_FSCREENINFO:
lock_fb_info(info);
memcpy(&fix, &info->fix, sizeof(fix));
So FBIOPUT_VSCREENINFO is the issue (or at least one of them).
Alistair
>
> The printk is just so something pops up in the logging.
>
> If this makes you going then we need to look at how to add this to the
> emulation or some other way to deal with this.
>
> Sam
Powered by blists - more mailing lists