struct regulator *reg_lcd;
bool wait4vsync;
struct completion vsync_complete;
- ktime_t vsync_nf_timestamp;
struct completion flip_complete;
int cur_blank;
int restore_blank;
writel(CTRL1_VSYNC_EDGE_IRQ_EN,
host->base + LCDC_CTRL1 + REG_CLR);
host->wait4vsync = 0;
- host->vsync_nf_timestamp = ktime_get();
complete(&host->vsync_complete);
}
switch (cmd) {
case MXCFB_WAIT_FOR_VSYNC:
- {
- long long timestamp;
- struct mxsfb_info *host = to_imxfb_host(fb_info);
- ret = mxsfb_wait_for_vsync(fb_info);
- timestamp = ktime_to_ns(host->vsync_nf_timestamp);
- if ((ret == 0) && copy_to_user((void *)arg,
- ×tamp, sizeof(timestamp))) {
- ret = -EFAULT;
- }
- }
+ ret = mxsfb_wait_for_vsync(fb_info);
break;
default:
break;