diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/dce_v8_0.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c index 584abe834a3c..28102bb1704d 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | |||
@@ -2363,6 +2363,8 @@ static int dce_v8_0_cursor_move_locked(struct drm_crtc *crtc, | |||
2363 | 2363 | ||
2364 | WREG32(mmCUR_POSITION + amdgpu_crtc->crtc_offset, (x << 16) | y); | 2364 | WREG32(mmCUR_POSITION + amdgpu_crtc->crtc_offset, (x << 16) | y); |
2365 | WREG32(mmCUR_HOT_SPOT + amdgpu_crtc->crtc_offset, (xorigin << 16) | yorigin); | 2365 | WREG32(mmCUR_HOT_SPOT + amdgpu_crtc->crtc_offset, (xorigin << 16) | yorigin); |
2366 | WREG32(mmCUR_SIZE + amdgpu_crtc->crtc_offset, | ||
2367 | ((amdgpu_crtc->cursor_width - 1) << 16) | (amdgpu_crtc->cursor_height - 1)); | ||
2366 | 2368 | ||
2367 | return 0; | 2369 | return 0; |
2368 | } | 2370 | } |
@@ -2388,7 +2390,6 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc, | |||
2388 | int32_t hot_y) | 2390 | int32_t hot_y) |
2389 | { | 2391 | { |
2390 | struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); | 2392 | struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); |
2391 | struct amdgpu_device *adev = crtc->dev->dev_private; | ||
2392 | struct drm_gem_object *obj; | 2393 | struct drm_gem_object *obj; |
2393 | struct amdgpu_bo *aobj; | 2394 | struct amdgpu_bo *aobj; |
2394 | int ret; | 2395 | int ret; |
@@ -2429,7 +2430,9 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc, | |||
2429 | 2430 | ||
2430 | dce_v8_0_lock_cursor(crtc, true); | 2431 | dce_v8_0_lock_cursor(crtc, true); |
2431 | 2432 | ||
2432 | if (hot_x != amdgpu_crtc->cursor_hot_x || | 2433 | if (width != amdgpu_crtc->cursor_width || |
2434 | height != amdgpu_crtc->cursor_height || | ||
2435 | hot_x != amdgpu_crtc->cursor_hot_x || | ||
2433 | hot_y != amdgpu_crtc->cursor_hot_y) { | 2436 | hot_y != amdgpu_crtc->cursor_hot_y) { |
2434 | int x, y; | 2437 | int x, y; |
2435 | 2438 | ||
@@ -2438,16 +2441,10 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc, | |||
2438 | 2441 | ||
2439 | dce_v8_0_cursor_move_locked(crtc, x, y); | 2442 | dce_v8_0_cursor_move_locked(crtc, x, y); |
2440 | 2443 | ||
2441 | amdgpu_crtc->cursor_hot_x = hot_x; | ||
2442 | amdgpu_crtc->cursor_hot_y = hot_y; | ||
2443 | } | ||
2444 | |||
2445 | if (width != amdgpu_crtc->cursor_width || | ||
2446 | height != amdgpu_crtc->cursor_height) { | ||
2447 | WREG32(mmCUR_SIZE + amdgpu_crtc->crtc_offset, | ||
2448 | (width - 1) << 16 | (height - 1)); | ||
2449 | amdgpu_crtc->cursor_width = width; | 2444 | amdgpu_crtc->cursor_width = width; |
2450 | amdgpu_crtc->cursor_height = height; | 2445 | amdgpu_crtc->cursor_height = height; |
2446 | amdgpu_crtc->cursor_hot_x = hot_x; | ||
2447 | amdgpu_crtc->cursor_hot_y = hot_y; | ||
2451 | } | 2448 | } |
2452 | 2449 | ||
2453 | dce_v8_0_show_cursor(crtc); | 2450 | dce_v8_0_show_cursor(crtc); |
@@ -2471,7 +2468,6 @@ unpin: | |||
2471 | static void dce_v8_0_cursor_reset(struct drm_crtc *crtc) | 2468 | static void dce_v8_0_cursor_reset(struct drm_crtc *crtc) |
2472 | { | 2469 | { |
2473 | struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); | 2470 | struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); |
2474 | struct amdgpu_device *adev = crtc->dev->dev_private; | ||
2475 | 2471 | ||
2476 | if (amdgpu_crtc->cursor_bo) { | 2472 | if (amdgpu_crtc->cursor_bo) { |
2477 | dce_v8_0_lock_cursor(crtc, true); | 2473 | dce_v8_0_lock_cursor(crtc, true); |
@@ -2479,10 +2475,6 @@ static void dce_v8_0_cursor_reset(struct drm_crtc *crtc) | |||
2479 | dce_v8_0_cursor_move_locked(crtc, amdgpu_crtc->cursor_x, | 2475 | dce_v8_0_cursor_move_locked(crtc, amdgpu_crtc->cursor_x, |
2480 | amdgpu_crtc->cursor_y); | 2476 | amdgpu_crtc->cursor_y); |
2481 | 2477 | ||
2482 | WREG32(mmCUR_SIZE + amdgpu_crtc->crtc_offset, | ||
2483 | (amdgpu_crtc->cursor_width - 1) << 16 | | ||
2484 | (amdgpu_crtc->cursor_height - 1)); | ||
2485 | |||
2486 | dce_v8_0_show_cursor(crtc); | 2478 | dce_v8_0_show_cursor(crtc); |
2487 | 2479 | ||
2488 | dce_v8_0_lock_cursor(crtc, false); | 2480 | dce_v8_0_lock_cursor(crtc, false); |