r300.c (1614f8b17b8cc3ad143541d41569623d30dbc9ec) r300.c (4c7886791264f03428d5424befb1b96f08fc90f4)
1/*
2 * Copyright 2008 Advanced Micro Devices, Inc.
3 * Copyright 2008 Red Hat Inc.
4 * Copyright 2009 Jerome Glisse.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation

--- 123 unchanged lines hidden (view full) ---

132 DRM_INFO("PCIE GART of %uM enabled (table at 0x%08X).\n",
133 (unsigned)(rdev->mc.gtt_size >> 20), table_addr);
134 rdev->gart.ready = true;
135 return 0;
136}
137
138void rv370_pcie_gart_disable(struct radeon_device *rdev)
139{
1/*
2 * Copyright 2008 Advanced Micro Devices, Inc.
3 * Copyright 2008 Red Hat Inc.
4 * Copyright 2009 Jerome Glisse.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation

--- 123 unchanged lines hidden (view full) ---

132 DRM_INFO("PCIE GART of %uM enabled (table at 0x%08X).\n",
133 (unsigned)(rdev->mc.gtt_size >> 20), table_addr);
134 rdev->gart.ready = true;
135 return 0;
136}
137
138void rv370_pcie_gart_disable(struct radeon_device *rdev)
139{
140 uint32_t tmp;
140 u32 tmp;
141 int r;
141
142 tmp = RREG32_PCIE(RADEON_PCIE_TX_GART_CNTL);
143 tmp |= RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_DISCARD;
144 WREG32_PCIE(RADEON_PCIE_TX_GART_CNTL, tmp & ~RADEON_PCIE_TX_GART_EN);
145 if (rdev->gart.table.vram.robj) {
142
143 tmp = RREG32_PCIE(RADEON_PCIE_TX_GART_CNTL);
144 tmp |= RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_DISCARD;
145 WREG32_PCIE(RADEON_PCIE_TX_GART_CNTL, tmp & ~RADEON_PCIE_TX_GART_EN);
146 if (rdev->gart.table.vram.robj) {
146 radeon_object_kunmap(rdev->gart.table.vram.robj);
147 radeon_object_unpin(rdev->gart.table.vram.robj);
147 r = radeon_bo_reserve(rdev->gart.table.vram.robj, false);
148 if (likely(r == 0)) {
149 radeon_bo_kunmap(rdev->gart.table.vram.robj);
150 radeon_bo_unpin(rdev->gart.table.vram.robj);
151 radeon_bo_unreserve(rdev->gart.table.vram.robj);
152 }
148 }
149}
150
151void rv370_pcie_gart_fini(struct radeon_device *rdev)
152{
153 rv370_pcie_gart_disable(rdev);
154 radeon_gart_table_vram_free(rdev);
155 radeon_gart_fini(rdev);

--- 1109 unchanged lines hidden (view full) ---

1265 r100_ib_fini(rdev);
1266 radeon_gem_fini(rdev);
1267 if (rdev->flags & RADEON_IS_PCIE)
1268 rv370_pcie_gart_fini(rdev);
1269 if (rdev->flags & RADEON_IS_PCI)
1270 r100_pci_gart_fini(rdev);
1271 radeon_irq_kms_fini(rdev);
1272 radeon_fence_driver_fini(rdev);
153 }
154}
155
156void rv370_pcie_gart_fini(struct radeon_device *rdev)
157{
158 rv370_pcie_gart_disable(rdev);
159 radeon_gart_table_vram_free(rdev);
160 radeon_gart_fini(rdev);

--- 1109 unchanged lines hidden (view full) ---

1270 r100_ib_fini(rdev);
1271 radeon_gem_fini(rdev);
1272 if (rdev->flags & RADEON_IS_PCIE)
1273 rv370_pcie_gart_fini(rdev);
1274 if (rdev->flags & RADEON_IS_PCI)
1275 r100_pci_gart_fini(rdev);
1276 radeon_irq_kms_fini(rdev);
1277 radeon_fence_driver_fini(rdev);
1273 radeon_object_fini(rdev);
1278 radeon_bo_fini(rdev);
1274 radeon_atombios_fini(rdev);
1275 kfree(rdev->bios);
1276 rdev->bios = NULL;
1277}
1278
1279int r300_init(struct radeon_device *rdev)
1280{
1281 int r;

--- 41 unchanged lines hidden (view full) ---

1323 /* Fence driver */
1324 r = radeon_fence_driver_init(rdev);
1325 if (r)
1326 return r;
1327 r = radeon_irq_kms_init(rdev);
1328 if (r)
1329 return r;
1330 /* Memory manager */
1279 radeon_atombios_fini(rdev);
1280 kfree(rdev->bios);
1281 rdev->bios = NULL;
1282}
1283
1284int r300_init(struct radeon_device *rdev)
1285{
1286 int r;

--- 41 unchanged lines hidden (view full) ---

1328 /* Fence driver */
1329 r = radeon_fence_driver_init(rdev);
1330 if (r)
1331 return r;
1332 r = radeon_irq_kms_init(rdev);
1333 if (r)
1334 return r;
1335 /* Memory manager */
1331 r = radeon_object_init(rdev);
1336 r = radeon_bo_init(rdev);
1332 if (r)
1333 return r;
1334 if (rdev->flags & RADEON_IS_PCIE) {
1335 r = rv370_pcie_gart_init(rdev);
1336 if (r)
1337 return r;
1338 }
1339 if (rdev->flags & RADEON_IS_PCI) {

--- 23 unchanged lines hidden ---
1337 if (r)
1338 return r;
1339 if (rdev->flags & RADEON_IS_PCIE) {
1340 r = rv370_pcie_gart_init(rdev);
1341 if (r)
1342 return r;
1343 }
1344 if (rdev->flags & RADEON_IS_PCI) {

--- 23 unchanged lines hidden ---