[Openchrome-devel] K8M800 artifacts, trac #145, trac #164
Thomas Hellström
thomas
Sun Mar 16 04:35:22 PDT 2008
Benno Schulenberg wrote:
> Hello Thomas,
>
> In trac tickets #145 and #164 two people seemingly independently
> found kernel commit a0a6dd0b221260be1e3da725e6b49797e5fa7429
> (DRM commit 6c04185857694b2293046b7ea1d4515404a740c3) to be the
> cause for screen corruptions they see on K8M800 and VN800 chips.
>
> http://www.openchrome.org/trac/ticket/145
> http://www.openchrome.org/trac/ticket/164
>
> Andrey Melentyev wrote:
>
>> Here's the commitdiff:
>> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a0a6dd0b221260be1e3da725e6b49797e5fa7429
>>
>
> (So, Xavier, it appears you were right in your suspicion that it was
> a kernel change that causes this. :)
>
> Is there anything in the diff that leaps at you, Thomas? Or should
> the reporters file a bug against DRM so you can look at it later?
>
> The following two statements seem strange to me:
>
> (void) *paused_at;
>
> ptr = ((volatile char *)paused_at - dev_priv->dma_ptr) + ...
>
> What are they supposed to do?
>
> Benno
>
Hi, Benno.
The
(void) *paused_at
thingy is to read back a dword from AGP, to make sure the
write-combining buffers on the processors are flushed before handing the
AGP data over to the device.
The ptr assignment is where the AGP command reader is supposed to stop
if it stops after the previous command submission.
Anyway, I have a K8M800 here, and I have just pushed a fix to drm that
seems to cure the AGP DMA problems I was seeing. Could you check back
with the openChrome-users?
Regards,
/Thomas
More information about the Openchrome-devel
mailing list