From 2873e578dceeff88b25c4334929a9f766b5a5e7a Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Thu, 8 Oct 2015 17:33:27 +0100 Subject: [PATCH] dragon-nx-32: example (hopefully correct) of a GFIOC_WAITVB --- Kernel/platform-dragon-nx32/devtty.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Kernel/platform-dragon-nx32/devtty.c b/Kernel/platform-dragon-nx32/devtty.c index d56f2483..ebb528ef 100644 --- a/Kernel/platform-dragon-nx32/devtty.c +++ b/Kernel/platform-dragon-nx32/devtty.c @@ -284,7 +284,7 @@ static struct display display[4] = { 0xFF, 0xFF, /* For now */ FMT_MONO_WB, HW_UNACCEL, - GFX_TEXT|GFX_MAPPABLE, + GFX_TEXT|GFX_MAPPABLE|GFX_VBLANK, 0, GFX_DRAW|GFX_READ|GFX_WRITE, }, @@ -295,7 +295,7 @@ static struct display display[4] = { 0xFF, 0xFF, /* For now */ FMT_MONO_WB, HW_UNACCEL, - GFX_TEXT|GFX_MAPPABLE, + GFX_TEXT|GFX_MAPPABLE|GFX_VBLANK, 0, GFX_DRAW|GFX_READ|GFX_WRITE, }, @@ -307,7 +307,7 @@ static struct display display[4] = { 0xFF, 0xFF, /* For now */ FMT_COLOUR4, HW_UNACCEL, - GFX_MAPPABLE, + GFX_MAPPABLE|GFX_VBLANK, 0, GFX_DRAW|GFX_READ|GFX_WRITE, }, @@ -318,7 +318,7 @@ static struct display display[4] = { 0xFF, 0xFF, /* For now */ FMT_COLOUR4, HW_UNACCEL, - GFX_MAPPABLE, + GFX_MAPPABLE|GFX_VBLANK, 0, GFX_DRAW|GFX_READ|GFX_WRITE, }, @@ -420,6 +420,12 @@ int gfx_ioctl(uint8_t minor, uarg_t arg, char *ptr) // sam_v[(b & 4)?5:4] = 0; return 0; } + case GFXIOC_WAITVB: + /* Our system clock is our vblank, use the standard timeout + to pause for one clock */ + udata.u_ptab->p_timeout = 2; + psleep(NULL); + return 0; case GFXIOC_DRAW: case GFXIOC_READ: case GFXIOC_WRITE: -- 2.34.1