[PATCH 2/2] drm/radeon/kms/blit: workaround for a possible hardware bug
ihadzic at research.bell-labs.com
Wed Feb 1 11:07:56 PST 2012
On Wed, 1 Feb 2012, Michel [ISO-8859-1] Dänzer wrote:
> On Mit, 2012-02-01 at 11:42 -0500, Ilija Hadzic wrote:
>> If a blit copy operation specifies a rectangle whose one dimension
>> is 16384 (max allowed by these chips), the chip will silently
>> drop all commands.
> What exactly does 'silently drop all commands' mean?
It means that when I look at the transactions on the bus (using the PCIe
analyzer instrument), I see that the GPU pulls the stuff from the ring
(read transactions come from GPU and completions come from the host), but
I see no posted writes in the upstream that correspond to GPU writing to
> Did you notice the following in i2f():
> fraction = (input & 0x3fff) << 10; /* cheat and only
> handle numbers below 2^^15 */
> I suspect that should say 2^14, as 16384 == 0x4000, which results in 0
> for the above assignment.
Thanks for pointing this out. This could be the possible root cause. I'll
see if i2f can be easily extended to support up to 2^15 range (I am not
good at doing floating point representation in my head, so I need to write
out things on paper to make sure, first). If yes, I'll fix i2f. If not,
the existing patch will still be the reasonable fix.
More information about the dri-devel