On 31.03.2016 19:00, Julian Margetson wrote:
On 3/31/2016 2:50 AM, Michel Dänzer wrote:
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. > > [ 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.
[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.
Thanks
The patch solved the problem . Tested-by: Julian Margetson runaway@candw.ms
Thanks, patch submitted for inclusion.
I would indeed like to see the kernel side fix for the the acceleration problem. (Been hoping for it for almost 3 years now) http://marc.info/?l=dri-devel&m=137881893518240&w=2 I also have Northern Islands cards and acceleration with these does work with my other powerpc board, an e500v2 . It also requires the patch in the linked post by Hans Verkuil for Radeon NI and SI cards to work .
Is Hans' patch enough for SI or not? Anyway, somebody should split Hans' patch up between ttm and radeon, clean up the latter (use PRIx64 or a phys_addr_t specific format sequence instead of %llx, apply the same fix in radeon_doorbell_init) and submit them as properly Git formatted patches.