diff --git a/shared-core/i915_drv.h b/shared-core/i915_drv.h index d08fdf4..cbb6449 100644 --- a/shared-core/i915_drv.h +++ b/shared-core/i915_drv.h @@ -147,6 +147,9 @@ typedef struct drm_i915_private { drm_i915_vbl_swap_t vbl_swaps; unsigned int swaps_pending; + spinlock_t vbl_count_lock; + atomic_t *vbl_count; + /* Register state */ u8 saveLBB; u32 saveDSPACNTR; @@ -471,7 +474,12 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); #define I915REG_INSTPM 0x020c0 #define PIPEADSL 0x70000 +#define PIPEASLC 0x70004 +//#define SLC_INCLUSIVE (1UL<<31) +//#define SLC_END_SHIFT 16 +//#define SLC_MASK 0x1fff #define PIPEBDSL 0x71000 +#define PIPEBSLC 0x71004 #define I915REG_PIPEASTAT 0x70024 #define I915REG_PIPEBSTAT 0x71024 @@ -506,8 +514,11 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); #define PIPE_PIXEL_MASK 0x00ffffff #define PIPE_PIXEL_SHIFT 0 +//#define I915_DLC_ENABLE (1UL<<24) #define I915_VBLANK_INTERRUPT_ENABLE (1UL<<17) +//#define I915_VSYNC_CLEAR (1UL<<9) #define I915_VBLANK_CLEAR (1UL<<1) +//#define I915_DLC_CLEAR (1UL<<8) #define SRX_INDEX 0x3c4 #define SRX_DATA 0x3c5 @@ -796,9 +807,8 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); #define VTOTAL_MASK 0x00001fff #define VTOTAL_SHIFT 16 #define VACTIVE_MASK 0x00000fff -#define VBLANK_END_MASK 0x00001fff #define VBLANK_END_SHIFT 16 -#define VBLANK_START_MASK 0x00001fff +#define VBLANK_MASK 0x00001fff #define PP_STATUS 0x61200 # define PP_ON (1 << 31) @@ -1098,7 +1108,6 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); #define PIPEBGCMAXRED 0x71010 #define PIPEBGCMAXGREEN 0x71014 #define PIPEBGCMAXBLUE 0x71018 -#define PIPEBSTAT 0x71024 #define PIPEBFRAMEHIGH 0x71040 #define PIPEBFRAMEPIXEL 0x71044