<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi,<br><br>I am using kernel 3.12.6-gentoo, Mesa 10.0.1 and once every two calls to clBuildProgram, the GPU goes to reset after 10 seconds.<br>This also happens on Debian unstable with Mesa 9.2. First hello_world works, the next one hangs, third works, and so on.<br><br>Despite this hang on this particular OpenCL call, every thing is just fine. I tried to comment out DMA flushing code in r600/r600_hw_context.c, but this issue does not look the one that what was discovered on R600 HW.<br><br>After the hang, opencl_examples/hello_world returns the correct value (when the machine does not hang completely which happens sometimes). Same behaviour for get-global-id test program.<br><br>Here is my config & logs:<br>lscpi:<br>01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cayman PRO [Radeon HD 6950]<br><br>dmesg:<br>[  826.250105] radeon 0000:01:00.0: GPU lockup CP stall for more than 10000msec<br>[  826.250110] radeon 0000:01:00.0: GPU lockup (waiting for 0x00000000000037bc last fence id 0x00000000000037ba)<br>[  826.250118] [drm] Disabling audio 0 support<br>[  826.257466] radeon 0000:01:00.0: Saved 111 dwords of commands on ring 0.<br>[  826.257496] radeon 0000:01:00.0: GPU softreset: 0x00000008<br>[  826.257498] radeon 0000:01:00.0:   GRBM_STATUS               = 0xB0001828<br>[  826.257500] radeon 0000:01:00.0:   GRBM_STATUS_SE0           = 0x00000003<br>[  826.257502] radeon 0000:01:00.0:   GRBM_STATUS_SE1           = 0x00000003<br>[  826.257504] radeon 0000:01:00.0:   SRBM_STATUS               = 0x200000C0<br>[  826.257526] radeon 0000:01:00.0:   SRBM_STATUS2              = 0x00000000<br>[  826.257528] radeon 0000:01:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000<br>[  826.257529] radeon 0000:01:00.0:   R_008678_CP_STALLED_STAT2 = 0x40000000<br>[  826.257531] radeon 0000:01:00.0:   R_00867C_CP_BUSY_STAT     = 0x00010006<br>[  826.257533] radeon 0000:01:00.0:   R_008680_CP_STAT          = 0x80228647<br>[  826.257535] radeon 0000:01:00.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57<br>[  826.257537] radeon 0000:01:00.0:   R_00D834_DMA_STATUS_REG   = 0x44C83D57<br>[  826.257539] radeon 0000:01:00.0:   VM_CONTEXT0_PROTECTION_FAULT_ADDR   0x00000000<br>[  826.257541] radeon 0000:01:00.0:   VM_CONTEXT0_PROTECTION_FAULT_STATUS 0x00000000<br>[  826.257542] radeon 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x00000000<br>[  826.257544] radeon 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x00000000<br>[  826.264350] radeon 0000:01:00.0: GRBM_SOFT_RESET=0x00004001<br>[  826.264403] radeon 0000:01:00.0: SRBM_SOFT_RESET=0x00000100<br>[  826.265558] radeon 0000:01:00.0:   GRBM_STATUS               = 0x00001828<br>[  826.265560] radeon 0000:01:00.0:   GRBM_STATUS_SE0           = 0x00000003<br>[  826.265561] radeon 0000:01:00.0:   GRBM_STATUS_SE1           = 0x00000003<br>[  826.265563] radeon 0000:01:00.0:   SRBM_STATUS               = 0x200000C0<br>[  826.265585] radeon 0000:01:00.0:   SRBM_STATUS2              = 0x00000000<br>[  826.265587] radeon 0000:01:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000<br>[  826.265589] radeon 0000:01:00.0:   R_008678_CP_STALLED_STAT2 = 0x00000000<br>[  826.265590] radeon 0000:01:00.0:   R_00867C_CP_BUSY_STAT     = 0x00000000<br>[  826.265592] radeon 0000:01:00.0:   R_008680_CP_STAT          = 0x00000000<br>[  826.265594] radeon 0000:01:00.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57<br>[  826.265596] radeon 0000:01:00.0:   R_00D834_DMA_STATUS_REG   = 0x44C83D57<br>[  826.265623] radeon 0000:01:00.0: GPU reset succeeded, trying to resume<br>[  826.283559] [drm] PCIE gen 2 link speeds already enabled<br>[  826.285981] [drm] PCIE GART of 1024M enabled (table at 0x0000000000273000).<br>[  826.286049] radeon 0000:01:00.0: WB enabled<br>[  826.286051] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0xffff8800cbaa3c00<br>......<br><br><br>On hello_world.c program hangs every two calls at line:<br> error = clBuildProgram(program,<br>                          1, /* Number of devices */<br>                          &device_id,<br>                          NULL, /* options */<br>                          NULL, /* callback function when compile is complete */<br>                          NULL); /* user data for callback */<br><br><br>Thanks for your help,<br>Regards<br>                                     </div></body>
</html>