[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+icZUX+A38a0Zye7mt3hv0=XQ5Utsp3X_p3kvs6y6z=uAD04g@mail.gmail.com>
Date: Thu, 22 Aug 2013 13:22:37 +0200
From: Sedat Dilek <sedat.dilek@...il.com>
To: Sedat Dilek <sedat.dilek@...il.com>,
Chris Wilson <chris@...is-wilson.co.uk>,
linux-next <linux-next@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
intel-gfx <intel-gfx@...ts.freedesktop.org>,
Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Daniel Vetter <daniel.vetter@...ll.ch>
Subject: Re: linux-next: Tree for Aug 21 [ screen corruption in graphical mode ]
On Thu, Aug 22, 2013 at 1:13 PM, Sedat Dilek <sedat.dilek@...il.com> wrote:
> On Thu, Aug 22, 2013 at 9:24 AM, Daniel Vetter <daniel@...ll.ch> wrote:
>> On Thu, Aug 22, 2013 at 08:32:47AM +0200, Sedat Dilek wrote:
>>> It's independent of the applied patch.
>>> My problem goes away with SNA but still exists with UXA.
>>>
>>> As said in my previous analysis... switching back to Ubuntu's graphics
>>> did not show the symptoms, too.
>>>
>>> It's interesting to see, it is a problem of the intel-ddx.
>>
>> Nope, it's just that uxa and sna have completely different buffer object
>> usage patterns. Not the first time only one of them hits an issue ...
>>
>>> Anyway, SNA seems here to be approx. 20% faster in gtkperf-0.40, so I
>>> will use it.
>>>
>>> I am open and willing to test any patches you will provide.
>>> Please, let me know.
>>
>> Found a new bugger, please test the below patch.
>>
>> Thanks, Daniel
>> ---
>> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
>> index ef92c69..e0bff07 100644
>> --- a/drivers/gpu/drm/i915/i915_gem.c
>> +++ b/drivers/gpu/drm/i915/i915_gem.c
>> @@ -2616,6 +2616,9 @@ int i915_vma_unbind(struct i915_vma *vma)
>> drm_i915_private_t *dev_priv = obj->base.dev->dev_private;
>> int ret;
>>
>> + /* For now we only ever use 1 vma per object */
>> + WARN_ON(!list_is_singular(&obj->vma_list));
>> +
>> if (list_empty(&vma->vma_link))
>> return 0;
>>
>> @@ -2661,7 +2664,9 @@ int i915_vma_unbind(struct i915_vma *vma)
>> drm_mm_remove_node(&vma->node);
>>
>> destroy:
>> - i915_gem_vma_destroy(vma);
>> + /* Keep the vma as a placeholder in the execbuffer reservation lists */
>> + if (!list_empty(&vma->exec_list))
>> + i915_gem_vma_destroy(vma);
>>
>> /* Since the unbound list is global, only move to that list if
>> * no more VMAs exist.
>> @@ -4171,10 +4176,6 @@ void i915_gem_vma_destroy(struct i915_vma *vma)
>> WARN_ON(vma->node.allocated);
>> list_del(&vma->vma_link);
>>
>> - /* Keep the vma as a placeholder in the execbuffer reservation lists */
>> - if (!list_empty(&vma->exec_list))
>> - return;
>> -
>> kfree(vma);
>> }
>>
>
> dmesg (a lot of traces) and kernel-config attached.
>
> UXA causes still screen corruption.
>
> $ egrep -i 'uxa|sna|accelmethod' /var/log/Xorg.0.log
> [ 118.951] (**) intel(0): Option "AccelMethod" "uxa"
> [ 118.960] (II) UXA(0): Driver registered support for the following
> operations:
>
> - Sedat -
>
> Is "drm/i915: More vma fixups around unbind/destroy" the nearly same fix?
>
> [1] https://patchwork.kernel.org/patch/2848146/
With above [1] I see no traces.
- Sedat -
View attachment "dmesg_3.11.0-rc6-next20130821-1-iniza-small_uxa_with-danvet-patch-2.txt" of type "text/plain" (176654 bytes)
Powered by blists - more mailing lists