Problem initializing Evergreen adapter on ppc64 machine

Lucas Kannebley Tavares lucaskt at linux.vnet.ibm.com
Fri Oct 19 10:22:56 PDT 2012


While initializing an evergreen adapter on a ppc64 machine (64bit 
kernel, big endian) I am getting PCI recovery errors (EEH = AER + IOMMU 
faults). I'm investigating exactly why those happen, but I get them 
while I'm running evergreen_irq_set on evergreen.c.

Since these kinds of errors are only detected by the kernel during a 
readl call, I tried instrumenting the offending code with calls to:
RREG32(CRTC_STATUS_FRAME_COUNT + EVERGREEN_CRTC0_REGISTER_OFFSET)
But those seem to interfere with the normal flow of adapter configuration.

What call could I use that would be innocuous? Perhaps a thermal sensor 
read?



The crash seems to be happening around the time it starts configuring 
the CRTC registers on evergreen.c:evergreen_irq_set. (Though again, I've 
had instrumenting issues and that might not be the case).
...
	WREG32(GRBM_INT_CNTL, grbm_int_cntl);

	WREG32(INT_MASK + EVERGREEN_CRTC0_REGISTER_OFFSET, crtc1);
	WREG32(INT_MASK + EVERGREEN_CRTC1_REGISTER_OFFSET, crtc2);
...

Any other suggestions on how to be sure of this? Also, what would 
already be initialized (registered interrupts) by the time it makes this 
call? Any suggestions on what else could be causing this?



The system also tries to initialize the intel_hda module upon boot. I 
take it it's due to the embedded audio adapter for HDMI, I've taken the 
driver down for now (removed it from initrds and blacklisted it for 
modprobe). But I wonder how much could fails on the audio initialization 
interfere with the graphics part on the radeon driver. Does anyone have 
any estimates on this?



Whew, too many questions together :)

Thanks for any help, guys!

-- 
Lucas Kannebley Tavares
Software Engineer
IBM Linux Technology Center



More information about the xorg-devel mailing list