Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

[PATCH] fix radeon_cp_init_ring_buffer()

I've seen similar failure on alpha.

Obviously, someone forgot to convert sg->handle stuff for
PCI gart case.

Signed-off-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Ivan Kokshaysky and committed by
Linus Torvalds
b0917bd9 4bcde03d

+6 -5
+6 -5
drivers/char/drm/radeon_cp.c
··· 1133 1133 ring_start = (dev_priv->cp_ring->offset 1134 1134 - dev->agp->base 1135 1135 + dev_priv->gart_vm_start); 1136 - } else 1136 + } else 1137 1137 #endif 1138 1138 ring_start = (dev_priv->cp_ring->offset 1139 - - dev->sg->handle 1139 + - (unsigned long)dev->sg->virtual 1140 1140 + dev_priv->gart_vm_start); 1141 1141 1142 1142 RADEON_WRITE( RADEON_CP_RB_BASE, ring_start ); ··· 1164 1164 drm_sg_mem_t *entry = dev->sg; 1165 1165 unsigned long tmp_ofs, page_ofs; 1166 1166 1167 - tmp_ofs = dev_priv->ring_rptr->offset - dev->sg->handle; 1167 + tmp_ofs = dev_priv->ring_rptr->offset - 1168 + (unsigned long)dev->sg->virtual; 1168 1169 page_ofs = tmp_ofs >> PAGE_SHIFT; 1169 1170 1170 1171 RADEON_WRITE( RADEON_CP_RB_RPTR_ADDR, ··· 1492 1491 else 1493 1492 #endif 1494 1493 dev_priv->gart_buffers_offset = (dev->agp_buffer_map->offset 1495 - - dev->sg->handle 1496 - + dev_priv->gart_vm_start); 1494 + - (unsigned long)dev->sg->virtual 1495 + + dev_priv->gart_vm_start); 1497 1496 1498 1497 DRM_DEBUG( "dev_priv->gart_size %d\n", 1499 1498 dev_priv->gart_size );