Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 345279
b: refs/heads/master
c: 231f42a
h: refs/heads/master
i:
  345277: fde4f29
  345275: b32783f
  345271: f168911
  345263: 0ea9434
  345247: 7921171
  345215: 3baeb37
v: v3
  • Loading branch information
Daniel Vetter committed Nov 11, 2012
1 parent d70a33b commit 461a9b4
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 29 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3e37394802c1f2b0000da0a096455d2a3900df48
refs/heads/master: 231f42a48f744c9a4f53752948fad2d793638937
28 changes: 14 additions & 14 deletions trunk/drivers/gpu/drm/i915/i915_dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -451,16 +451,16 @@ static void i915_emit_breadcrumb(struct drm_device *dev)
drm_i915_private_t *dev_priv = dev->dev_private;
struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv;

dev_priv->counter++;
if (dev_priv->counter > 0x7FFFFFFFUL)
dev_priv->counter = 0;
dev_priv->dri1.counter++;
if (dev_priv->dri1.counter > 0x7FFFFFFFUL)
dev_priv->dri1.counter = 0;
if (master_priv->sarea_priv)
master_priv->sarea_priv->last_enqueue = dev_priv->counter;
master_priv->sarea_priv->last_enqueue = dev_priv->dri1.counter;

if (BEGIN_LP_RING(4) == 0) {
OUT_RING(MI_STORE_DWORD_INDEX);
OUT_RING(I915_BREADCRUMB_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
OUT_RING(dev_priv->counter);
OUT_RING(dev_priv->dri1.counter);
OUT_RING(0);
ADVANCE_LP_RING();
}
Expand Down Expand Up @@ -602,12 +602,12 @@ static int i915_dispatch_flip(struct drm_device * dev)

ADVANCE_LP_RING();

master_priv->sarea_priv->last_enqueue = dev_priv->counter++;
master_priv->sarea_priv->last_enqueue = dev_priv->dri1.counter++;

if (BEGIN_LP_RING(4) == 0) {
OUT_RING(MI_STORE_DWORD_INDEX);
OUT_RING(I915_BREADCRUMB_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
OUT_RING(dev_priv->counter);
OUT_RING(dev_priv->dri1.counter);
OUT_RING(0);
ADVANCE_LP_RING();
}
Expand Down Expand Up @@ -775,21 +775,21 @@ static int i915_emit_irq(struct drm_device * dev)

DRM_DEBUG_DRIVER("\n");

dev_priv->counter++;
if (dev_priv->counter > 0x7FFFFFFFUL)
dev_priv->counter = 1;
dev_priv->dri1.counter++;
if (dev_priv->dri1.counter > 0x7FFFFFFFUL)
dev_priv->dri1.counter = 1;
if (master_priv->sarea_priv)
master_priv->sarea_priv->last_enqueue = dev_priv->counter;
master_priv->sarea_priv->last_enqueue = dev_priv->dri1.counter;

if (BEGIN_LP_RING(4) == 0) {
OUT_RING(MI_STORE_DWORD_INDEX);
OUT_RING(I915_BREADCRUMB_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
OUT_RING(dev_priv->counter);
OUT_RING(dev_priv->dri1.counter);
OUT_RING(MI_USER_INTERRUPT);
ADVANCE_LP_RING();
}

return dev_priv->counter;
return dev_priv->dri1.counter;
}

static int i915_wait_irq(struct drm_device * dev, int irq_nr)
Expand Down Expand Up @@ -820,7 +820,7 @@ static int i915_wait_irq(struct drm_device * dev, int irq_nr)

if (ret == -EBUSY) {
DRM_ERROR("EBUSY -- rec: %d emitted: %d\n",
READ_BREADCRUMB(dev_priv), (int)dev_priv->counter);
READ_BREADCRUMB(dev_priv), (int)dev_priv->dri1.counter);
}

return ret;
Expand Down
31 changes: 17 additions & 14 deletions trunk/drivers/gpu/drm/i915/i915_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -586,6 +586,19 @@ struct intel_ilk_power_mgmt {
struct drm_i915_gem_object *renderctx;
};

struct i915_dri1_state {
unsigned allow_batchbuffer : 1;
u32 __iomem *gfx_hws_cpu_addr;

unsigned int cpp;
int back_offset;
int front_offset;
int current_page;
int page_flipping;

uint32_t counter;
};

typedef struct drm_i915_private {
struct drm_device *dev;

Expand Down Expand Up @@ -620,7 +633,6 @@ typedef struct drm_i915_private {
uint32_t next_seqno;

drm_dma_handle_t *status_page_dmah;
uint32_t counter;
struct resource mch_res;

atomic_t irq_received;
Expand Down Expand Up @@ -827,19 +839,6 @@ typedef struct drm_i915_private {
u32 object_count;
} mm;

/* Old dri1 support infrastructure, beware the dragons ya fools entering
* here! */
struct {
unsigned allow_batchbuffer : 1;
u32 __iomem *gfx_hws_cpu_addr;

unsigned int cpp;
int back_offset;
int front_offset;
int current_page;
int page_flipping;
} dri1;

/* Kernel Modesetting */

struct sdvo_device_mapping sdvo_mappings[2];
Expand Down Expand Up @@ -893,6 +892,10 @@ typedef struct drm_i915_private {
uint32_t hw_context_size;

struct i915_suspend_saved_registers regfile;

/* Old dri1 support infrastructure, beware the dragons ya fools entering
* here! */
struct i915_dri1_state dri1;
} drm_i915_private_t;

/* Iterate over initialised rings */
Expand Down

0 comments on commit 461a9b4

Please sign in to comment.