[git pull] drm merge for 3.9-rc1
Alex Deucher
alexdeucher at gmail.com
Tue Mar 5 07:48:48 PST 2013
On Tue, Mar 5, 2013 at 10:21 AM, Josh Boyer <jwboyer at gmail.com> wrote:
> On Thu, Feb 28, 2013 at 1:59 PM, Josh Boyer <jwboyer at gmail.com> wrote:
>> On Thu, Feb 28, 2013 at 10:15 AM, Josh Boyer <jwboyer at gmail.com> wrote:
>>> On Thu, Feb 28, 2013 at 10:09 AM, Alex Deucher <alexdeucher at gmail.com> wrote:
>>>> On Thu, Feb 28, 2013 at 8:44 AM, Josh Boyer <jwboyer at gmail.com> wrote:
>>>>> On Thu, Feb 28, 2013 at 8:38 AM, Alex Deucher <alexdeucher at gmail.com> wrote:
>>>>>>>>>> ca57802e521de54341efc8a56f70571f79ffac72 is the first bad commit
>>>>>>>>>
>>>>>>>>> So I don't think that's actually the cause of the problem. Or at least
>>>>>>>>> not that alone. I reverted it on top of Linus' latest tree and I still
>>>>>>>>> get the lockups.
>>>>>>>>
>>>>>>>> Actually, git bisect does seem to have gotten it correct. Once I
>>>>>>>> actually tested the revert of just that on top of Linus' tree (commit
>>>>>>>> d895cb1af1), things seem to be working much better. I've rebooted a
>>>>>>>> dozen times without a lockup. The most I've seen it take on a kernel
>>>>>>>> with that commit included is 3 reboots, so that's definitely at least an
>>>>>>>> improvement.
>>>>>>>
>>>>>>> I give up. GPU issues are not my thing. 2 reboots after I sent that it
>>>>>>> gave me pretty rainbow static again. So it might have been an
>>>>>>> improvement, but revert it is not a solution.
>>>>>>>
>>>>>>> Looking at there rest of the commits, the whole GPU rework might be
>>>>>>> suspect, but I clearly have no clue.
>>>>>>
>>>>>> GPUs are tricky beasts :)
>>>>>
>>>>> Understatement ;).
>>>>>
>>>>>> ca57802e521de54341efc8a56f70571f79ffac72 mostly likely wasn't the
>>>>>> problem anyway since it only affects 6xx/7xx and your card is handled
>>>>>> by the evergreen code. I'll put together some patches to help narrow
>>>>>> down the problem.
>>>>>
>>>>> Yeah, that's the biggest problem I have, not knowing which functions are
>>>>> actually being executed for this card. It looks like a combination of
>>>>> stuff in evergreen.c and ni.c, but I have no idea.
>>>>>
>>>>> Patches would be great. If nothing else, I'm really good at building
>>>>> kernels and rebooting by now.
>>>>
>>>> Two possible fixes attached. The first attempts a full reset of all
>>>> blocks if the MC (memory controller) is hung. That may work better
>>>> than just resetting the MC. The second just disables MC reset. I'm
>>>> not sure we can reliably tell if it's busy due to display requests
>>>> hitting the MC periodically which would lead to needlessly resetting
>>>> it possibly leading to failures like you are seeing.
>>>
>>> OK. I'll test them individually. It will probably take a bit because
>>> I'll want to do numerous reboots if things seem "fixed" with one or the
>>> other.
>>>
>>> I'll let you know how things go.
>>
>> I applied each individually on top of Linus' tree as of this morning
>> (commit 2a7d2b96d5) built, installed, and tested.
>>
>> 0001-drm-radeon-XXX-try-a-full-reset-if-the-MC-is-busy.patch failed in
>> two reboots.
>>
>> 0001-drm-radeon-XXX-skip-MC-reset-as-it-s-probably-not-hu.patch has gone
>> 21 reboots without a hang/rainbow static. You'll understand if I'm
>> hesitant to declare success, but resetting the MC does indeed appear to
>> be the issue. I'll keep rebooting for a while to make sure.
>
> OK, I'm still running on the kernel with that patch and things still
> work. The only other "issue" I'm seeing at the moment is my dmesg is
> full of:
>
> [349316.595749] radeon 0000:01:00.0: MC busy: 0x00000409, clearing.
> [349436.654946] radeon 0000:01:00.0: MC busy: 0x00000409, clearing.
> [349436.655997] radeon 0000:01:00.0: MC busy: 0x00000409, clearing.
> [349496.698441] radeon 0000:01:00.0: MC busy: 0x00000409, clearing.
> [349556.726767] radeon 0000:01:00.0: MC busy: 0x00000409, clearing.
> [349556.727797] radeon 0000:01:00.0: MC busy: 0x00000409, clearing.
>
I'll make those debug only when the patch goes upstream.
> So hopefully your patch is on the way into Linus' tree at some point
> soon.
It'll be in my next -fixes pull.
Alex
More information about the dri-devel
mailing list