Re: i915 crash

From: Allan Jude <allanjude_at_freebsd.org>
Date: Tue, 20 Jan 2015 02:55:27 -0500
Very sorry, I didn't see your reply until Adrian's reply brought this
thread back to the top of my email stack.

On 2015-01-07 13:23, Konstantin Belousov wrote:
> On Wed, Jan 07, 2015 at 01:01:23AM -0500, Allan Jude wrote:
>> I grabbed the latest i915.8.patch from kib_at_'s website and compiled it
>> against r276774 (today)
>>
>> Machine is a Lenovo T530, booted UEFI, with the nvidia GPU disabled.
>>
>> CPU: Intel(R) Core(TM) i5-3320M CPU _at_ 2.60GHz (2594.16-MHz K8-class CPU)
>>
>> It is an Ivy-bridge CPU/GPU
>>
>> I installed xorg and kde, and when I try to start KDE, it loads, and
>> gets so far as showing the FreeBSD wallpaper, then panics:
>>

> 
> Is this reproducable ?

Yes, every time I try to start KDE it panics. Verified 3 times in a row.

> 
> Try the following patch on top of i915.8.

This patch fixes the panic. I can run KDE and enjoy all the graphical
goodness.

Thank you

> 
> commit 9af6c652745f551e2b6ce5218e350a5e47999feb
> Author: Konstantin Belousov <kib_at_freebsd.org>
> Date:   Wed Jan 7 20:21:46 2015 +0200
> 
>     Properly move object into gtt domain when needed.
> 
> diff --git a/sys/dev/drm2/i915/i915_gem.c b/sys/dev/drm2/i915/i915_gem.c
> index 0f72d08..58cbb59 100644
> --- a/sys/dev/drm2/i915/i915_gem.c
> +++ b/sys/dev/drm2/i915/i915_gem.c
> _at__at_ -1251,7 +1251,7 _at__at_ i915_gem_shmem_pread(struct drm_device *dev,
>  		 * optimizes for the case when the gpu will dirty the data
>  		 * anyway again before the next pread happens. */
>  		needs_clflush = !cpu_cache_is_coherent(dev, obj->cache_level);
> -		ret = i915_gem_object_wait_rendering(obj);
> +		ret = i915_gem_object_set_to_gtt_domain(obj, false);
>  		if (ret)
>  			return ret;
>  	}
> _at__at_ -1579,7 +1579,7 _at__at_ i915_gem_shmem_pwrite(struct drm_device *dev,
>  		 * optimizes for the case when the gpu will use the data
>  		 * right away and we therefore have to clflush anyway. */
>  		needs_clflush_after = cpu_write_needs_clflush(obj);
> -		ret = i915_gem_object_wait_rendering(obj);
> +		ret = i915_gem_object_set_to_gtt_domain(obj, true);
>  		if (ret)
>  			return ret;
>  	}
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
> 


-- 
Allan Jude


Received on Tue Jan 20 2015 - 06:55:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:55 UTC