Lines Matching defs:rdev
162 static int radeon_agp_head_acquire(struct radeon_device *rdev)
164 struct drm_device *dev = rdev->ddev;
167 if (!rdev->agp)
169 if (rdev->agp->acquired)
171 rdev->agp->bridge = agp_backend_acquire(pdev);
172 if (!rdev->agp->bridge)
174 rdev->agp->acquired = 1;
178 static int radeon_agp_head_release(struct radeon_device *rdev)
180 if (!rdev->agp || !rdev->agp->acquired)
182 agp_backend_release(rdev->agp->bridge);
183 rdev->agp->acquired = 0;
187 static int radeon_agp_head_enable(struct radeon_device *rdev, struct radeon_agp_mode mode)
189 if (!rdev->agp || !rdev->agp->acquired)
192 rdev->agp->mode = mode.mode;
193 agp_enable(rdev->agp->bridge, mode.mode);
194 rdev->agp->enabled = 1;
198 static int radeon_agp_head_info(struct radeon_device *rdev, struct radeon_agp_info *info)
202 if (!rdev->agp || !rdev->agp->acquired)
205 kern = &rdev->agp->agp_info;
220 int radeon_agp_init(struct radeon_device *rdev)
232 ret = radeon_agp_head_acquire(rdev);
238 ret = radeon_agp_head_info(rdev, &info);
240 radeon_agp_head_release(rdev);
245 if (rdev->agp->agp_info.aper_size < 32) {
246 radeon_agp_head_release(rdev);
247 dev_warn(rdev->dev, "AGP aperture too small (%zuM) "
249 rdev->agp->agp_info.aper_size);
257 if (rdev->family <= CHIP_RV350)
279 rdev->pdev->vendor == p->chip_vendor &&
280 rdev->pdev->device == p->chip_device &&
281 rdev->pdev->subsystem_vendor == p->subsys_vendor &&
282 rdev->pdev->subsystem_device == p->subsys_device) {
330 ret = radeon_agp_head_enable(rdev, mode);
333 radeon_agp_head_release(rdev);
337 rdev->mc.agp_base = rdev->agp->agp_info.aper_base;
338 rdev->mc.gtt_size = rdev->agp->agp_info.aper_size << 20;
339 rdev->mc.gtt_start = rdev->mc.agp_base;
340 rdev->mc.gtt_end = rdev->mc.gtt_start + rdev->mc.gtt_size - 1;
341 dev_info(rdev->dev, "GTT: %lluM 0x%08llX - 0x%08llX\n",
342 rdev->mc.gtt_size >> 20, rdev->mc.gtt_start, rdev->mc.gtt_end);
345 if (rdev->family < CHIP_R200) {
354 void radeon_agp_resume(struct radeon_device *rdev)
358 if (rdev->flags & RADEON_IS_AGP) {
359 r = radeon_agp_init(rdev);
361 dev_warn(rdev->dev, "radeon AGP reinit failed\n");
366 void radeon_agp_fini(struct radeon_device *rdev)
369 if (rdev->agp && rdev->agp->acquired) {
370 radeon_agp_head_release(rdev);
375 void radeon_agp_suspend(struct radeon_device *rdev)
377 radeon_agp_fini(rdev);