[Intel-gfx] [PATCH 13/14] drm/i915: don't set up gem ring functions on gen5 for !kms
Ben Widawsky
ben at bwidawsk.net
Fri Apr 13 03:05:14 CEST 2012
On Wed, 11 Apr 2012 22:12:58 +0200
Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> We already disallow initialition of gem in this case in the
> corresponding ioctl, so don't bother setting up the gem support ring
> functions in the legacy dri render ring init.
>
> Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/i915/intel_ringbuffer.c | 24 ++++++++++--------------
> 1 files changed, 10 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 111981a..108bfd6 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -1336,21 +1336,17 @@ int intel_render_ring_init_dri(struct drm_device *dev, u64 start, u32 size)
> if (INTEL_INFO(dev)->gen >= 6) {
> /* non-kms not supported on gen6+ */
> return -ENODEV;
> - } else if (IS_GEN5(dev)) {
> - ring->add_request = pc_render_add_request;
> - ring->flush = render_ring_flush;
> - ring->get_seqno = pc_render_get_seqno;
> - ring->irq_get = gen5_ring_get_irq;
> - ring->irq_put = gen5_ring_put_irq;
> - ring->irq_enable_mask = GT_USER_INTERRUPT | GT_PIPE_NOTIFY;
> - } else {
> - ring->add_request = i9xx_add_request;
> - ring->flush = render_ring_flush;
> - ring->get_seqno = ring_get_seqno;
> - ring->irq_get = i9xx_ring_get_irq;
> - ring->irq_put = i9xx_ring_put_irq;
> - ring->irq_enable_mask = I915_USER_INTERRUPT;
> }
> +
> + /* Note: gem is not supported on gen5/ilk without kms (the corresponding
> + * gem_init ioctl returns with -ENODEV). Hence we do not need to set up
> + * the special gen5 functions. */
Can we make the check >= 5 above? I think doing so would remove the need
for this comment.
> + ring->add_request = i9xx_add_request;
> + ring->flush = render_ring_flush;
> + ring->get_seqno = ring_get_seqno;
> + ring->irq_get = i9xx_ring_get_irq;
> + ring->irq_put = i9xx_ring_put_irq;
> + ring->irq_enable_mask = I915_USER_INTERRUPT;
> ring->write_tail = ring_write_tail;
> if (INTEL_INFO(dev)->gen >= 4)
> ring->dispatch_execbuffer = i965_dispatch_execbuffer;
More information about the Intel-gfx
mailing list