http://bugzilla.kernel.org/show_bug.cgi?id=10258
Summary: Radeon Suspend/Resume problem
Product: Drivers
Version: 2.5
KernelVersion: 2.6.25-rc3
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Video(DRI)
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]
Hi,
when trying Suspend-To-RAM and Suspend-To-Disk with Linux (2.6.25-rc3),
I encountered that suspend/resume works fine except when activating
DRM/DRI for my Radeon 9200 SE (RV280).
I traced the code up to the point where I'm missing appropriate hardware
information/experience. Please point me in the right direction.
As you can see in the debug trace below, on resume the microcode is
loaded. Unfortunately, radeon_do_wait_for_idle() and
radeon_do_wait_for_fifo() return -EBUSY. On the first ioctl(),
radeon_do_wait_for_idle() correctly checks the fifo but breaks because
of RBBM_STATUS flagging "BUSY" (bit 31). On the next calls, already
radeon_do_wait_for_fifo() has a problem because the fifo is filling up
(RBBM_STATUS bits 6-0). This goes infinitely because userspace does it
like this. At some point the available fifo slots are down to 0 and stay
there.
I think we need some further reinitialization of the just switched on
device, but I don't know which one.
Mar 2 14:45:37 atari kernel: agpgart: Putting AGP V3 device at
0000:00:00.0 into 8x mode
Mar 2 14:45:37 atari kernel: agpgart: Putting AGP V3 device at
0000:01:00.0 into 8x mode
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] pid=3123, cmd=0x80206433,
nr=0x33, dev 0xe200, auth=1
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] pid=3123, cmd=0x6458,
nr=0x58, dev 0xe200, auth=1
Mar 2 14:45:37 atari kernel: [drm:radeon_do_resume_cp] Starting
radeon_do_resume_cp()
Mar 2 14:45:37 atari kernel: [drm:radeon_cp_load_microcode]
Mar 2 14:45:37 atari kernel: [drm] Loading R200 Microcode
Mar 2 14:45:37 atari kernel: [drm:radeon_do_engine_reset]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_cp_reset]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_resume_cp]
radeon_do_resume_cp() complete
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] pid=3123, cmd=0x6441,
nr=0x41, dev 0xe200, auth=1
Mar 2 14:45:37 atari kernel: [drm:radeon_cp_start]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_cp_start]
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] pid=3123, cmd=0x6444,
nr=0x44, dev 0xe200, auth=1
Mar 2 14:45:37 atari kernel: [drm:radeon_cp_idle]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_cp_idle]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_wait_for_idle] *ERROR* failed!
Mar 2 14:45:37 atari kernel: radeon_status:
Mar 2 14:45:37 atari kernel: RBBM_STATUS = 0x80116140
Mar 2 14:45:37 atari kernel: CP_RB_RTPR = 0x0000000c
Mar 2 14:45:37 atari kernel: CP_RB_WTPR = 0x0000000c
Mar 2 14:45:37 atari kernel: AIC_CNTL = 0x00000000
Mar 2 14:45:37 atari kernel: AIC_STAT = 0x00000004
Mar 2 14:45:37 atari kernel: AIC_PT_BASE = 0x00000000
Mar 2 14:45:37 atari kernel: TLB_ADDR = 0x00000000
Mar 2 14:45:37 atari kernel: TLB_DATA = 0x00000000
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] ret = fffffff0
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] pid=3123, cmd=0x6444,
nr=0x44, dev 0xe200, auth=1
Mar 2 14:45:37 atari kernel: [drm:radeon_cp_idle]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_cp_idle]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_wait_for_fifo] *ERROR* failed!
Mar 2 14:45:37 atari kernel: timeout reached: 10000 usec
Mar 2 14:45:37 atari kernel: radeon_status:
Mar 2 14:45:37 atari kernel: RBBM_STATUS = 0x8011613b
Mar 2 14:45:37 atari kernel: CP_RB_RTPR = 0x00000012
Mar 2 14:45:37 atari kernel: CP_RB_WTPR = 0x00000012
Mar 2 14:45:37 atari kernel: AIC_CNTL = 0x00000000
Mar 2 14:45:37 atari kernel: AIC_STAT = 0x00000004
Mar 2 14:45:37 atari kernel: AIC_PT_BASE = 0x00000000
Mar 2 14:45:37 atari kernel: TLB_ADDR = 0x00000000
Mar 2 14:45:37 atari kernel: TLB_DATA = 0x00000000
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] ret = fffffff0
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] pid=3123, cmd=0x6444,
nr=0x44, dev 0xe200, auth=1
Mar 2 14:45:37 atari kernel: [drm:radeon_cp_idle]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_cp_idle]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_wait_for_fifo] *ERROR* failed!
Mar 2 14:45:37 atari kernel: timeout reached: 10000 usec
Mar 2 14:45:37 atari kernel: radeon_status:
Mar 2 14:45:37 atari kernel: RBBM_STATUS = 0x80116135
Mar 2 14:45:37 atari kernel: CP_RB_RTPR = 0x00000018
Mar 2 14:45:37 atari kernel: CP_RB_WTPR = 0x00000018
Mar 2 14:45:37 atari kernel: AIC_CNTL = 0x00000000
Mar 2 14:45:37 atari kernel: AIC_STAT = 0x00000004
Mar 2 14:45:37 atari kernel: AIC_PT_BASE = 0x00000000
Mar 2 14:45:37 atari kernel: TLB_ADDR = 0x00000000
Mar 2 14:45:37 atari kernel: TLB_DATA = 0x00000000
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] ret = fffffff0
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] pid=3123, cmd=0x6444,
nr=0x44, dev 0xe200, auth=1
Mar 2 14:45:37 atari kernel: [drm:radeon_cp_idle]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_cp_idle]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_wait_for_fifo] *ERROR* failed!
Mar 2 14:45:37 atari kernel: timeout reached: 10000 usec
Mar 2 14:45:37 atari kernel: radeon_status:
Mar 2 14:45:37 atari kernel: RBBM_STATUS = 0x8011612f
Mar 2 14:45:37 atari kernel: CP_RB_RTPR = 0x0000001e
Mar 2 14:45:37 atari kernel: CP_RB_WTPR = 0x0000001e
Mar 2 14:45:37 atari kernel: AIC_CNTL = 0x00000000
Mar 2 14:45:37 atari kernel: AIC_STAT = 0x00000004
Mar 2 14:45:37 atari kernel: AIC_PT_BASE = 0x00000000
Mar 2 14:45:37 atari kernel: TLB_ADDR = 0x00000000
Mar 2 14:45:37 atari kernel: TLB_DATA = 0x00000000
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] ret = fffffff0
Mar 2 14:45:37 atari kernel: [drm:drm_ioctl] pid=3123, cmd=0x6444,
nr=0x44, dev 0xe200, auth=1
Mar 2 14:45:37 atari kernel: [drm:radeon_cp_idle]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_cp_idle]
Mar 2 14:45:37 atari kernel: [drm:radeon_do_wait_for_fifo] *ERROR* failed!
Mar 2 14:45:37 atari kernel: timeout reached: 10000 usec
Thanks in advance,
Roland
--
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel