From c492dbbc420549a71cce8b0a8aea48c4a2c0e774 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Tue, 10 Nov 2009 00:06:38 +0100 Subject: Add interrupt-driven waitqueue for better GPU synchronisation Signed-off-by: Thomas White --- drivers/mfd/glamo/glamo-drm-private.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'drivers/mfd/glamo/glamo-drm-private.h') diff --git a/drivers/mfd/glamo/glamo-drm-private.h b/drivers/mfd/glamo/glamo-drm-private.h index 7b6ae21f6d1..02ae7e9fd2e 100644 --- a/drivers/mfd/glamo/glamo-drm-private.h +++ b/drivers/mfd/glamo/glamo-drm-private.h @@ -31,6 +31,8 @@ #include #include #include +#include +#include #include "glamo-core.h" @@ -66,6 +68,10 @@ struct glamodrm_handle { struct resource *lcd_regs; char __iomem *lcd_base; + /* 2D engine registers */ + struct resource *twod_regs; + char __iomem *twod_base; + ssize_t vram_size; /* Memory management */ @@ -89,6 +95,16 @@ struct glamodrm_handle { u_int16_t saved_vrtren; u_int16_t saved_vdspst; u_int16_t saved_vdspen; + + /* Fencing */ + atomic_t curr_seq; /* The last used stamp number */ + struct list_head fence_list; /* List of active fences */ + rwlock_t fence_list_lock; /* Lock to protect fence_list */ + wait_queue_head_t fence_queue; /* Waitqueue */ + struct tasklet_struct fence_tl; /* Tasklet for fence IRQ */ + + /* A scratch block */ + struct drm_mm_node *scratch; }; -- cgit v1.2.3