Richard Purdie wrote:
> On Sun, 2009-01-11 at 09:04 +1000, Dave Airlie wrote:
>> Does the attached patch work?
> 
> If its fixed to compile, it fixes the problem. I don't know if your
> making this against some other tree or it was just a typo so I've
> attached the fixed version that worked for me below.

Richard's fixed patch fixes a similar hang here with 2.6.29-rc1,
Xserver 1.5.3 and intel 2.6.0 as soon as I start a GLX program.

Thanks.
Brice


> [PATCH] drm/i915: setup sarea properly in master_priv
> 
> If we are running DRI1 userspace, we really need to set the sarea up
> properly.
> 
> Signed-off-by: Richard Purdie <rpur...@linux.intel.com>
> 
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index 62a4bf7..868f574 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -177,6 +177,14 @@ static int i915_initialize(struct drm_device * dev, 
> drm_i915_init_t * init)
>       drm_i915_private_t *dev_priv = dev->dev_private;
>       struct drm_i915_master_private *master_priv = 
> dev->primary->master->driver_priv;
>  
> +     master_priv->sarea = drm_getsarea(dev);
> +     if (master_priv->sarea) {
> +             master_priv->sarea_priv = (drm_i915_sarea_t *)
> +                     ((u8 *)master_priv->sarea->handle + 
> init->sarea_priv_offset);
> +     } else {
> +             DRM_DEBUG("sarea not found assuming DRI2 userspace\n");
> +     }
> +
>       if (init->ring_size != 0) {
>               if (dev_priv->ring.ring_obj != NULL) {
>                       i915_dma_cleanup(dev);

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to