diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/Kconfig | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/drm_edid.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/Kconfig | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_display.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_object.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_ttm.c | 2 |
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 @@ | |||
1 | config DRM_RADEON_KMS | 1 | config 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; |