From: Zhenyu W. <zhe...@in...> - 2008-01-31 06:52:23
|
[PATCH] i915: change offset for bread crumb read Use non-reserved offset in hw status page for bread crumb instead of current dw offset 5. On i8xx and i915, valid range starts from dword offset 10h. On i965, it's from 20h. Signed-off-by: Zhenyu Wang <zhe...@in...> --- shared-core/i915_dma.c | 2 +- shared-core/i915_drv.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/shared-core/i915_dma.c b/shared-core/i915_dma.c index 2f34437..2f51c83 100644 --- a/shared-core/i915_dma.c +++ b/shared-core/i915_dma.c @@ -430,7 +430,7 @@ void i915_emit_breadcrumb(struct drm_device *dev) BEGIN_LP_RING(4); OUT_RING(CMD_STORE_DWORD_IDX); - OUT_RING(20); + OUT_RING(BREADCRUMB_OFFSET << 2); OUT_RING(dev_priv->counter); OUT_RING(0); ADVANCE_LP_RING(); diff --git a/shared-core/i915_drv.h b/shared-core/i915_drv.h index 85b5109..1ef5e15 100644 --- a/shared-core/i915_drv.h +++ b/shared-core/i915_drv.h @@ -709,8 +709,9 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); #define BREADCRUMB_BITS 31 #define BREADCRUMB_MASK ((1U << BREADCRUMB_BITS) - 1) +#define BREADCRUMB_OFFSET 0x20 -#define READ_BREADCRUMB(dev_priv) (((volatile u32*)(dev_priv->hw_status_page))[5]) +#define READ_BREADCRUMB(dev_priv) (((volatile u32*)(dev_priv->hw_status_page))[BREADCRUMB_OFFSET]) #define READ_HWSP(dev_priv, reg) (((volatile u32*)(dev_priv->hw_status_page))[reg]) #define BLC_PWM_CTL 0x61254 -- 1.5.3.7 |