When using double buffering and switching between the buffers it's nice to wait for the VSync.
returns 0xFFFFFFFF - EPERM (operation not permitted).
In the kernel sc3_fb.c driver there's a function to handle the VSync but it never gets called:
Code
- static int s3c_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) {
- struct s3c_fb_win *win = info->par;
- struct s3c_fb *sfb = win->parent;
- int ret;
- u32 crtc;
- switch (cmd) {
- case FBIO_WAITFORVSYNC:
- if (get_user(crtc, (u32 __user *)arg)) {
- ret = -EFAULT;
- break;
- }
- ret = s3c_fb_wait_for_vsync(sfb, crtc);
- break;
- default:
- ret = -ENOTTY;
- }
- return ret;
- }
In assembly debugging ioctl is calling "svc 0x00000000" what is returning 0xFFFFFFF2 (EFAULT - bad address).
Thanks for help.