|
@@ -1145,7 +1145,6 @@ static int dce4_crtc_do_set_base(struct drm_crtc *crtc,
|
|
|
struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
|
|
|
struct drm_device *dev = crtc->dev;
|
|
|
struct radeon_device *rdev = dev->dev_private;
|
|
|
- struct radeon_framebuffer *radeon_fb;
|
|
|
struct drm_framebuffer *target_fb;
|
|
|
struct drm_gem_object *obj;
|
|
|
struct radeon_bo *rbo;
|
|
@@ -1164,19 +1163,15 @@ static int dce4_crtc_do_set_base(struct drm_crtc *crtc,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
- if (atomic) {
|
|
|
- radeon_fb = to_radeon_framebuffer(fb);
|
|
|
+ if (atomic)
|
|
|
target_fb = fb;
|
|
|
- }
|
|
|
- else {
|
|
|
- radeon_fb = to_radeon_framebuffer(crtc->primary->fb);
|
|
|
+ else
|
|
|
target_fb = crtc->primary->fb;
|
|
|
- }
|
|
|
|
|
|
/* If atomic, assume fb object is pinned & idle & fenced and
|
|
|
* just update base pointers
|
|
|
*/
|
|
|
- obj = radeon_fb->base.obj[0];
|
|
|
+ obj = target_fb->obj[0];
|
|
|
rbo = gem_to_radeon_bo(obj);
|
|
|
r = radeon_bo_reserve(rbo, false);
|
|
|
if (unlikely(r != 0))
|
|
@@ -1441,8 +1436,7 @@ static int dce4_crtc_do_set_base(struct drm_crtc *crtc,
|
|
|
WREG32(EVERGREEN_MASTER_UPDATE_MODE + radeon_crtc->crtc_offset, 0);
|
|
|
|
|
|
if (!atomic && fb && fb != crtc->primary->fb) {
|
|
|
- radeon_fb = to_radeon_framebuffer(fb);
|
|
|
- rbo = gem_to_radeon_bo(radeon_fb->base.obj[0]);
|
|
|
+ rbo = gem_to_radeon_bo(fb->obj[0]);
|
|
|
r = radeon_bo_reserve(rbo, false);
|
|
|
if (unlikely(r != 0))
|
|
|
return r;
|
|
@@ -1463,7 +1457,6 @@ static int avivo_crtc_do_set_base(struct drm_crtc *crtc,
|
|
|
struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
|
|
|
struct drm_device *dev = crtc->dev;
|
|
|
struct radeon_device *rdev = dev->dev_private;
|
|
|
- struct radeon_framebuffer *radeon_fb;
|
|
|
struct drm_gem_object *obj;
|
|
|
struct radeon_bo *rbo;
|
|
|
struct drm_framebuffer *target_fb;
|
|
@@ -1481,16 +1474,12 @@ static int avivo_crtc_do_set_base(struct drm_crtc *crtc,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
- if (atomic) {
|
|
|
- radeon_fb = to_radeon_framebuffer(fb);
|
|
|
+ if (atomic)
|
|
|
target_fb = fb;
|
|
|
- }
|
|
|
- else {
|
|
|
- radeon_fb = to_radeon_framebuffer(crtc->primary->fb);
|
|
|
+ else
|
|
|
target_fb = crtc->primary->fb;
|
|
|
- }
|
|
|
|
|
|
- obj = radeon_fb->base.obj[0];
|
|
|
+ obj = target_fb->obj[0];
|
|
|
rbo = gem_to_radeon_bo(obj);
|
|
|
r = radeon_bo_reserve(rbo, false);
|
|
|
if (unlikely(r != 0))
|
|
@@ -1641,8 +1630,7 @@ static int avivo_crtc_do_set_base(struct drm_crtc *crtc,
|
|
|
WREG32(AVIVO_D1MODE_MASTER_UPDATE_MODE + radeon_crtc->crtc_offset, 3);
|
|
|
|
|
|
if (!atomic && fb && fb != crtc->primary->fb) {
|
|
|
- radeon_fb = to_radeon_framebuffer(fb);
|
|
|
- rbo = gem_to_radeon_bo(radeon_fb->base.obj[0]);
|
|
|
+ rbo = gem_to_radeon_bo(fb->obj[0]);
|
|
|
r = radeon_bo_reserve(rbo, false);
|
|
|
if (unlikely(r != 0))
|
|
|
return r;
|
|
@@ -2149,11 +2137,9 @@ static void atombios_crtc_disable(struct drm_crtc *crtc)
|
|
|
atombios_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
|
|
|
if (crtc->primary->fb) {
|
|
|
int r;
|
|
|
- struct radeon_framebuffer *radeon_fb;
|
|
|
struct radeon_bo *rbo;
|
|
|
|
|
|
- radeon_fb = to_radeon_framebuffer(crtc->primary->fb);
|
|
|
- rbo = gem_to_radeon_bo(radeon_fb->base.obj[0]);
|
|
|
+ rbo = gem_to_radeon_bo(crtc->primary->fb->obj[0]);
|
|
|
r = radeon_bo_reserve(rbo, false);
|
|
|
if (unlikely(r))
|
|
|
DRM_ERROR("failed to reserve rbo before unpin\n");
|