Bug 11412

Summary: Unichrome - Invalid / Unimplemented DMA HEADER command
Product: DRI Reporter: Gabriel Mansi <gabriel.mansi>
Component: DRM/otherAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: medium    
Version: DRI git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Gabriel Mansi 2007-06-28 14:20:53 UTC
The unichrome DRI driver is sending unaligned data which confuses the DRM kernel module.

This is what the dri driver is flushing (via_ioctl.c:854):
viaFlushDmaLocked: unaligned value for vmesa->dmaLow: 7dc
0000:   430983f1  44390363  00000000  ffbf0505
0010:   430f0484  44390363  00000000  ffbf0505

dmesg shows this message:
[drm:via_verify_command_stream] *ERROR* Invalid / Unimplemented DMA HEADER command. 0x430983f1

Tested on KM400 and CX700 mesa 6.5.1 and 6.5.2

How to reproduce:
Playing gltron, It will abort after about 30 seconds.
Comment 1 Gabriel Mansi 2007-07-02 12:31:39 UTC
I found the problem inside the function viaRasterPrimitive, there is a call to viaCheckDma to ensure that the command buffer will not be wrapped, but that check is failing because it is only ensuring 1024 bytes when it should ensure about three times that value.
Setting it to 3072 will cause the buffer to be flushed more frequently because it has 4096 bytes.
Comment 2 Martin Peres 2019-10-14 13:20:07 UTC
Hi,

Freedesktop's Bugzilla instance is EOLed and open bugs are about to be migrated to http://gitlab.freedesktop.org.

To avoid migrating out of date bugs, I am now closing all the bugs that did not see any activity in the past year. If the issue is still happening, please create a new bug in the relevant project at https://gitlab.freedesktop.org/drm (use misc by default).

Sorry about the noise!

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.