Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: amd64 system crash with radeondrm enabled after update
On Fri May 14 2010 13:41:10 Sverre Froyen wrote:
> On Fri May 14 2010 13:02:59 David Young wrote:
> > On Fri, May 14, 2010 at 12:24:17PM -0600, Sverre Froyen wrote:
...
> > > db{0}> bt
> > > bus_space_write_4() at netbsd:bus_space_write_4+0x3
> > > r600_do_init_cp() at netbsd:r600_do_init_cp+0x5ee
> >
> > What line is that? In gdb, 'l *(r600_do_init_cp+0x5ee)'.
>
> (gdb) l *(r600_do_init_cp+0x5ee)
> 0xffffffff805a80c3 is in r600_do_init_cp
> (/usr/src/sys/external/bsd/drm/dist/shared-core/r600_cp.c:2068).
> 2063 else
> 2064 r600_cp_load_microcode(dev_priv);
> 2065
> 2066 r600_cp_init_ring_buffer(dev, dev_priv);
> 2067
> 2068 dev_priv->last_buf = 0;
> 2069
> 2070 r600_do_engine_reset(dev);
> 2071 r600_test_writeback(dev_priv);
> 2072
Sprinkling some printfs, I find that the problem is in line
SET_RING_HEAD(dev_priv, 0);
in the function r600_cp_init_ring_buffer (no idea why the trace did not include
that function).
SET_RING_HEAD is defined in radeon_drv.h as
#define SET_RING_HEAD(dev_priv,val) DRM_WRITE32( (dev_priv)->ring_rptr,
0, (val) )
and DRM_WRITE32 is defined in /usr/src/sys/external/bsd/drm/dist/bsd-
core/drmP.h as
#define DRM_WRITE32(map, offset, val) \
bus_space_write_4((map)->bst, (map)->bsh, (offset), (val))
Does any of this code need updating after the bus_space_tag_t change? See
http://mail-index.netbsd.org/source-changes/2010/04/28/msg009341.html
Regards,
Sverre
Home |
Main Index |
Thread Index |
Old Index