drm/amd/display: DCN401 cusor code update
authorSridevi Arvindekar <sarvinde@amd.com>
Mon, 27 May 2024 15:26:58 +0000 (11:26 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Jun 2024 20:17:15 +0000 (16:17 -0400)
Scaling and rotation changes for cursor.

Reviewed-by: Ariel Bernstein <eric.bernstein@amd.com>
Reviewed-by: Nevenko Stupar <nevenko.stupar@amd.com>
Acked-by: Zaeem Mohamed <zaeem.mohamed@amd.com>
Signed-off-by: Sridevi Arvindekar <sarvinde@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c

index b9541d5ab601a7fca3244009a537d3b12974d5c5..0b00fdf1297a17421db85e3c2ff4b643683f9c96 100644 (file)
@@ -1124,14 +1124,10 @@ void dcn401_set_cursor_position(struct pipe_ctx *pipe_ctx)
         * pipe to make sure each pipe enabling cursor on its part of the
         * screen.
         */
-
-       if (param.rotation == ROTATION_ANGLE_90 || param.rotation == ROTATION_ANGLE_270) {
-       } else {
-               x_pos = pipe_ctx->stream->dst.x + x_pos * pipe_ctx->stream->dst.width /
-                       pipe_ctx->stream->src.width;
-               y_pos = pipe_ctx->stream->dst.y + y_pos * pipe_ctx->stream->dst.height /
-                       pipe_ctx->stream->src.height;
-       }
+       x_pos = pipe_ctx->stream->dst.x + x_pos * pipe_ctx->stream->dst.width /
+               pipe_ctx->stream->src.width;
+       y_pos = pipe_ctx->stream->dst.y + y_pos * pipe_ctx->stream->dst.height /
+               pipe_ctx->stream->src.height;
 
        /**
         * If the cursor's source viewport is clipped then we need to
@@ -1297,18 +1293,10 @@ void dcn401_set_cursor_position(struct pipe_ctx *pipe_ctx)
                                                pos_cpy.x = temp_x + recout_width;
                                        }
                                }
-                       } else {
                        }
+
                }
 
-               /**
-                * Display groups that are 1xnY, have pos_cpy.y > recout.height
-                * Calculation:
-                *   delta_from_bottom = recout.y + recout.height - pos_cpy.y
-                *   pos_cpy.y_new = recout.y + delta_from_bottom
-                * Simplify it as:
-                *   pos_cpy.y = recout.y * 2 + recout.height - pos_cpy.y
-                */
        }
 
        hubp->funcs->set_cursor_position(hubp, &pos_cpy, &param);