• Daniel Vetter's avatar
    drm/i915: rework legacy GFX HWS handling · 316d3884
    Daniel Vetter authored
    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: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    316d3884
i915_dma.c 49.9 KB