[PATCH 2/2] drm/radeon/kms/blit: workaround for a possible hardware bug
Ilija Hadzic
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
host memory.
> 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.
-- Ilija
More information about the dri-devel
mailing list