diff options
author | Dave Airlie <airlied@linux.ie> | 2005-09-11 08:51:23 +0000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2005-09-11 08:51:23 +0000 |
commit | 5565a00916122bb131ce89a2ca8f7f81ddc9387c (patch) | |
tree | fd1b06f4a2b4d7f56130e8308789ec7368f70e92 /shared-core/r128_cce.c | |
parent | 29326c1a8990ffb512a891d8deecf4cd4046915c (diff) |
Add GART in FB support for ati pcigart, and PCIE support for r300
Diffstat (limited to 'shared-core/r128_cce.c')
-rw-r--r-- | shared-core/r128_cce.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/shared-core/r128_cce.c b/shared-core/r128_cce.c index 33553670..cb84fa84 100644 --- a/shared-core/r128_cce.c +++ b/shared-core/r128_cce.c @@ -558,14 +558,16 @@ static int r128_do_init_cce(drm_device_t * dev, drm_r128_init_t * init) #if __OS_HAS_AGP if (dev_priv->is_pci) { #endif - if (!drm_ati_pcigart_init(dev, &dev_priv->phys_pci_gart, - &dev_priv->bus_pci_gart, 0)) { + dev_priv->gart_info.gart_table_location = DRM_ATI_GART_MAIN; + dev_priv->gart_info.addr = dev_priv->gart_info.bus_addr = 0; + dev_priv->gart_info.is_pcie = 0; + if (!drm_ati_pcigart_init(dev, &dev_priv->gart_info)) { DRM_ERROR("failed to init PCI GART!\n"); dev->dev_private = (void *)dev_priv; r128_do_cleanup_cce(dev); return DRM_ERR(ENOMEM); } - R128_WRITE(R128_PCI_GART_PAGE, dev_priv->bus_pci_gart); + R128_WRITE(R128_PCI_GART_PAGE, dev_priv->gart_info.bus_addr); #if __OS_HAS_AGP } #endif @@ -606,10 +608,9 @@ int r128_do_cleanup_cce(drm_device_t * dev) } else #endif { - if (!drm_ati_pcigart_cleanup(dev, - dev_priv->phys_pci_gart, - dev_priv->bus_pci_gart)) - DRM_ERROR("failed to cleanup PCI GART!\n"); + if (dev_priv->gart_info.bus_addr) + if (!drm_ati_pcigart_cleanup(dev, &dev_priv->gart_info)) + DRM_ERROR("failed to cleanup PCI GART!\n"); } drm_free(dev->dev_private, sizeof(drm_r128_private_t), |