summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.h
diff options
context:
space:
mode:
authorDaniel Vetter2012-04-26 23:28:15 +0200
committerDaniel Vetter2012-05-03 11:18:30 +0200
commit316d388450be37fedcf4b37cf211b2bdc7826bb8 (patch)
tree612fe444f92726f615abc03e7d0aaca587a3cbc3 /drivers/gpu/drm/i915/i915_drv.h
parentdrm/i915: kill pointless clearing of dev_priv->hws_map (diff)
downloadkernel-qcow2-linux-316d388450be37fedcf4b37cf211b2bdc7826bb8.tar.gz
kernel-qcow2-linux-316d388450be37fedcf4b37cf211b2bdc7826bb8.tar.xz
kernel-qcow2-linux-316d388450be37fedcf4b37cf211b2bdc7826bb8.zip
drm/i915: rework legacy GFX HWS handling
To get the fun stuff out of the way, the legacy hws is allocated by userspace when the gpu needs a gfx hws. And there's no reference-counting going on, so userspace can simply screw everyone over. At least it's not as horrible as i810, where the ringbuffer is allocated by userspace ... We can't fix this disaster, but we can at least tidy up the code a bit to make things clearer: - Drop the drm ioremap indirection. - Add a new new read_legacy_status_page to paper over the differences between the legacy gfx hws and the physical hws shared with the new ringbuffer code. - Add a pointer in dev_priv->dri1 for the cpu addresses - that one is an iomem remapping as opposed to all other hw status pages. This is just prep work to make sparse happy. Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 7d48ae3d7678..1f2510931019 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -369,7 +369,6 @@ typedef struct drm_i915_private {
drm_dma_handle_t *status_page_dmah;
uint32_t counter;
- drm_local_map_t hws_map;
struct drm_i915_gem_object *pwrctx;
struct drm_i915_gem_object *renderctx;
@@ -743,6 +742,7 @@ typedef struct drm_i915_private {
* here! */
struct {
unsigned allow_batchbuffer : 1;
+ u32 __iomem *gfx_hws_cpu_addr;
} dri1;
/* Kernel Modesetting */