[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