aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/Kconfig1
-rw-r--r--drivers/gpu/drm/drm_edid.c2
-rw-r--r--drivers/gpu/drm/radeon/Kconfig1
-rw-r--r--drivers/gpu/drm/radeon/radeon.h1
-rw-r--r--drivers/gpu/drm/radeon/radeon_display.c5
-rw-r--r--drivers/gpu/drm/radeon/radeon_object.c6
-rw-r--r--drivers/gpu/drm/radeon/radeon_ttm.c2
7 files changed, 13 insertions, 5 deletions
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 2583ddfcc33e..88910e5a2c77 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -60,6 +60,7 @@ config DRM_RADEON
60 select FW_LOADER 60 select FW_LOADER
61 select DRM_KMS_HELPER 61 select DRM_KMS_HELPER
62 select DRM_TTM 62 select DRM_TTM
63 select POWER_SUPPLY
63 help 64 help
64 Choose this option if you have an ATI Radeon graphics card. There 65 Choose this option if you have an ATI Radeon graphics card. There
65 are both PCI and AGP versions. You don't need to choose this to 66 are both PCI and AGP versions. You don't need to choose this to
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index dfd4f3677f3b..f569ae88ab38 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -587,7 +587,7 @@ static struct drm_display_mode drm_dmt_modes[] = {
587 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, 587 1856, 2160, 0, 1200, 1201, 1204, 1250, 0,
588 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, 588 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) },
589 /* 1600x1200@75Hz */ 589 /* 1600x1200@75Hz */
590 { DRM_MODE("1600x1200", DRM_MODE_TYPE_DRIVER, 2025000, 1600, 1664, 590 { DRM_MODE("1600x1200", DRM_MODE_TYPE_DRIVER, 202500, 1600, 1664,
591 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, 591 1856, 2160, 0, 1200, 1201, 1204, 1250, 0,
592 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, 592 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) },
593 /* 1600x1200@85Hz */ 593 /* 1600x1200@85Hz */
diff --git a/drivers/gpu/drm/radeon/Kconfig b/drivers/gpu/drm/radeon/Kconfig
index 80c5b3ea28b4..1c02d23f6fcc 100644
--- a/drivers/gpu/drm/radeon/Kconfig
+++ b/drivers/gpu/drm/radeon/Kconfig
@@ -1,7 +1,6 @@
1config DRM_RADEON_KMS 1config DRM_RADEON_KMS
2 bool "Enable modesetting on radeon by default - NEW DRIVER" 2 bool "Enable modesetting on radeon by default - NEW DRIVER"
3 depends on DRM_RADEON 3 depends on DRM_RADEON
4 depends on POWER_SUPPLY
5 help 4 help
6 Choose this option if you want kernel modesetting enabled by default. 5 Choose this option if you want kernel modesetting enabled by default.
7 6
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 5c9ce2beaca3..66a37fb75839 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -261,6 +261,7 @@ struct radeon_bo_list {
261 unsigned rdomain; 261 unsigned rdomain;
262 unsigned wdomain; 262 unsigned wdomain;
263 u32 tiling_flags; 263 u32 tiling_flags;
264 bool reserved;
264}; 265};
265 266
266/* 267/*
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index da85cad1152b..1006549d1570 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -983,8 +983,11 @@ void radeon_update_display_priority(struct radeon_device *rdev)
983 /* set display priority to high for r3xx, rv515 chips 983 /* set display priority to high for r3xx, rv515 chips
984 * this avoids flickering due to underflow to the 984 * this avoids flickering due to underflow to the
985 * display controllers during heavy acceleration. 985 * display controllers during heavy acceleration.
986 * Don't force high on rs4xx igp chips as it seems to
987 * affect the sound card. See kernel bug 15982.
986 */ 988 */
987 if (ASIC_IS_R300(rdev) || (rdev->family == CHIP_RV515)) 989 if ((ASIC_IS_R300(rdev) || (rdev->family == CHIP_RV515)) &&
990 !(rdev->flags & RADEON_IS_IGP))
988 rdev->disp_priority = 2; 991 rdev->disp_priority = 2;
989 else 992 else
990 rdev->disp_priority = 0; 993 rdev->disp_priority = 0;
diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c
index a8d18bcae7db..d5b9373ce06c 100644
--- a/drivers/gpu/drm/radeon/radeon_object.c
+++ b/drivers/gpu/drm/radeon/radeon_object.c
@@ -301,6 +301,7 @@ int radeon_bo_list_reserve(struct list_head *head)
301 r = radeon_bo_reserve(lobj->bo, false); 301 r = radeon_bo_reserve(lobj->bo, false);
302 if (unlikely(r != 0)) 302 if (unlikely(r != 0))
303 return r; 303 return r;
304 lobj->reserved = true;
304 } 305 }
305 return 0; 306 return 0;
306} 307}
@@ -311,7 +312,7 @@ void radeon_bo_list_unreserve(struct list_head *head)
311 312
312 list_for_each_entry(lobj, head, list) { 313 list_for_each_entry(lobj, head, list) {
313 /* only unreserve object we successfully reserved */ 314 /* only unreserve object we successfully reserved */
314 if (radeon_bo_is_reserved(lobj->bo)) 315 if (lobj->reserved && radeon_bo_is_reserved(lobj->bo))
315 radeon_bo_unreserve(lobj->bo); 316 radeon_bo_unreserve(lobj->bo);
316 } 317 }
317} 318}
@@ -322,6 +323,9 @@ int radeon_bo_list_validate(struct list_head *head)
322 struct radeon_bo *bo; 323 struct radeon_bo *bo;
323 int r; 324 int r;
324 325
326 list_for_each_entry(lobj, head, list) {
327 lobj->reserved = false;
328 }
325 r = radeon_bo_list_reserve(head); 329 r = radeon_bo_list_reserve(head);
326 if (unlikely(r != 0)) { 330 if (unlikely(r != 0)) {
327 return r; 331 return r;
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index 3aa3a65800ab..e9918d88f5b0 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -451,7 +451,7 @@ static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_
451 /* RADEON_IS_AGP is set only if AGP is active */ 451 /* RADEON_IS_AGP is set only if AGP is active */
452 mem->bus.offset = mem->mm_node->start << PAGE_SHIFT; 452 mem->bus.offset = mem->mm_node->start << PAGE_SHIFT;
453 mem->bus.base = rdev->mc.agp_base; 453 mem->bus.base = rdev->mc.agp_base;
454 mem->bus.is_iomem = true; 454 mem->bus.is_iomem = !rdev->ddev->agp->cant_use_aperture;
455 } 455 }
456#endif 456#endif
457 break; 457 break;