On 30.03.2016 19:36, Julian Margetson wrote:
On 3/29/2016 11:49 PM, Michel Dänzer wrote:
On 29.03.2016 18:55, Julian Margetson wrote:
On 3/28/2016 11:15 PM, Michel Dänzer wrote:
On 29.03.2016 08:47, Julian Margetson wrote:
Seeing the following when booting kernel 4.6-rc1 on Acube Sam460ex Canyonlands board. This loops for a few times then the kernel boots. No problem with the 4.6-rc1 with an A-eon Tabor Freescale e500v2 board.
Regards
Julian
[ 2.197839] ------------[ cut here ]------------ [ 2.197850] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/drm_irq.c:1368 drm_vblank_off+0x2c/0x1e0
That's
if (WARN_ON(pipe >= dev->num_crtcs))
My best guess is that drm_vblank_off is called before drm_vblank_init, so dev->num_crtcs is still 0.
Please provide the full dmesg output corresponding to the problem.
Attached
[...]
[drm] radeon: irq initialized. [drm:r600_ring_test] *ERROR* radeon: ring 0 test failed (scratch(0x850C)=0xCAFEDEAD) radeon 0001:81:00.0: disabling GPU acceleration
Okay, so the problem is that acceleration fails to initialize, in which case the driver calls drm_vblank_cleanup.
I can see two basic options for a solution: Either don't call radeon_irq_kms_fini/drm_vblank_cleanup if acceleration fails to initialize, or check if acceleration is enabled before calling drm_vblank_on/off. Any preferences?
Thanks
No preferences .
Does the attached patch fix the problem?
I would be interested in a fix for the acceleration problem if possible .
Beware that while the kernel side of this might be relatively easy to fix, making the userspace radeonsi driver work on big endian hosts would likely require substantial effort.