Strobe magic 0xB03F register to flush PCI-e GART table.

The original XGI kernel driver strobed 0xB03F each time a page was
allocated to back a GART page.  When the driver was converted to use
the DRM SG interface, this code was lost.  Returning it fixes a long
standing issue where the X-server would work fine the first time, but
acceleration commands would be ignored on the second X-server
invocation.
main
Ian Romanick 2007-08-13 16:21:20 -07:00
parent 20a0e5e429
commit 15f841bd52
1 changed files with 5 additions and 1 deletions

View File

@ -103,7 +103,11 @@ static int xgi_pcie_lut_init(struct xgi_info * info)
DRM_WRITE8(info->mmio_map, 0xB00C, temp & ~0x02);
/* Set GART base address to HW */
dwWriteReg(info->mmio_map, 0xB034, info->lut_handle->busaddr);
DRM_WRITE32(info->mmio_map, 0xB034, info->lut_handle->busaddr);
/* Flush GART table. */
DRM_WRITE8(info->mmio_map, 0xB03F, 0x40);
DRM_WRITE8(info->mmio_map, 0xB03F, 0x00);
return 0;
}