Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e20f9c64 authored by Eric Anholt's avatar Eric Anholt
Browse files

drm/i915: Clean up leftover bits from hws move to ring structure.



Fixes /debug/dri/0/i915_gem_interrupt output for status page.

Signed-off-by: default avatarEric Anholt <eric@anholt.net>
parent 95534263
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ static int i915_gem_seqno_info(struct seq_file *m, void *data)
	struct drm_device *dev = node->minor->dev;
	drm_i915_private_t *dev_priv = dev->dev_private;

	if (dev_priv->hw_status_page != NULL) {
	if (dev_priv->render_ring.status_page.page_addr != NULL) {
		seq_printf(m, "Current sequence: %d\n",
			   i915_get_gem_seqno(dev,  &dev_priv->render_ring));
	} else {
@@ -196,7 +196,7 @@ static int i915_interrupt_info(struct seq_file *m, void *data)
	}
	seq_printf(m, "Interrupts received: %d\n",
		   atomic_read(&dev_priv->irq_received));
	if (dev_priv->hw_status_page != NULL) {
	if (dev_priv->render_ring.status_page.page_addr != NULL) {
		seq_printf(m, "Current sequence:    %d\n",
			   i915_get_gem_seqno(dev,  &dev_priv->render_ring));
	} else {
@@ -252,7 +252,7 @@ static int i915_hws_info(struct seq_file *m, void *data)
	int i;
	volatile u32 *hws;

	hws = (volatile u32 *)dev_priv->hw_status_page;
	hws = (volatile u32 *)dev_priv->render_ring.status_page.page_addr;
	if (hws == NULL)
		return 0;

+3 −4
Original line number Diff line number Diff line
@@ -84,7 +84,6 @@ static void i915_free_hws(struct drm_device *dev)

	if (dev_priv->render_ring.status_page.gfx_addr) {
		dev_priv->render_ring.status_page.gfx_addr = 0;
		dev_priv->status_gfx_addr = 0;
		drm_core_ioremapfree(&dev_priv->hws_map, dev);
	}

@@ -828,7 +827,7 @@ static int i915_set_status_page(struct drm_device *dev, void *data,
	drm_core_ioremap_wc(&dev_priv->hws_map, dev);
	if (dev_priv->hws_map.handle == NULL) {
		i915_dma_cleanup(dev);
		dev_priv->status_gfx_addr = 0;
		ring->status_page.gfx_addr = 0;
		DRM_ERROR("can not ioremap virtual address for"
				" G33 hw status page\n");
		return -ENOMEM;
@@ -838,9 +837,9 @@ static int i915_set_status_page(struct drm_device *dev, void *data,
	I915_WRITE(HWS_PGA, ring->status_page.gfx_addr);

	DRM_DEBUG_DRIVER("load hws HWS_PGA with gfx mem 0x%x\n",
			dev_priv->status_gfx_addr);
			 ring->status_page.gfx_addr);
	DRM_DEBUG_DRIVER("load hws at %p\n",
			dev_priv->hw_status_page);
			 ring->status_page.page_addr);
	return 0;
}

+0 −3
Original line number Diff line number Diff line
@@ -238,14 +238,11 @@ typedef struct drm_i915_private {
	struct intel_ring_buffer bsd_ring;

	drm_dma_handle_t *status_page_dmah;
	void *hw_status_page;
	void *seqno_page;
	dma_addr_t dma_status_page;
	uint32_t counter;
	unsigned int status_gfx_addr;
	unsigned int seqno_gfx_addr;
	drm_local_map_t hws_map;
	struct drm_gem_object *hws_obj;
	struct drm_gem_object *seqno_obj;
	struct drm_gem_object *pwrctx;