summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorRafal Ostrowski <rostrows@amd.com>2025-08-05 15:53:37 +0300
committerAlex Deucher <alexander.deucher@amd.com>2025-08-18 23:57:29 +0300
commit421507ad489b90fe81ae3c5fef60f6cd98093eb3 (patch)
treee0f72f769942b2632b55d09841a03cebaba00fbf /drivers/gpu
parentde0f5be79182c6ac53133d750cc965fe9621f57b (diff)
downloadlinux-421507ad489b90fe81ae3c5fef60f6cd98093eb3.tar.xz
drm/amd/display: Align LSDMA commands fields
[WHY] DC LSDMA functions had to remember to extract 1 from several fields to be compliant with DMUB LSDMA commands interface. Now this logic is moved to DMUB. [HOW] Moved extraction by 1 in several fields of LSDMA commands to DMUB. Changed DC to not do it. Reviewed-by: Alvin Lee <alvin.lee2@amd.com> Signed-off-by: Rafal Ostrowski <rostrows@amd.com> Signed-off-by: Alex Hung <alex.hung@amd.com> Tested-by: Dan Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
index 55b362196612..53a088ebddef 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
+++ b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
@@ -2066,16 +2066,16 @@ bool dmub_lsdma_send_linear_sub_window_copy_command(
lsdma_data->u.linear_sub_window_copy_data.src_hi = copy_data.src_hi;
lsdma_data->u.linear_sub_window_copy_data.src_x = copy_data.src_x;
lsdma_data->u.linear_sub_window_copy_data.src_y = copy_data.src_y;
- lsdma_data->u.linear_sub_window_copy_data.src_pitch = copy_data.src_pitch - 1;
- lsdma_data->u.linear_sub_window_copy_data.src_slice_pitch = copy_data.src_slice_pitch - 1;
+ lsdma_data->u.linear_sub_window_copy_data.src_pitch = copy_data.src_pitch;
+ lsdma_data->u.linear_sub_window_copy_data.src_slice_pitch = copy_data.src_slice_pitch;
lsdma_data->u.linear_sub_window_copy_data.dst_lo = copy_data.dst_lo;
lsdma_data->u.linear_sub_window_copy_data.dst_hi = copy_data.dst_hi;
lsdma_data->u.linear_sub_window_copy_data.dst_x = copy_data.dst_x;
lsdma_data->u.linear_sub_window_copy_data.dst_y = copy_data.dst_y;
- lsdma_data->u.linear_sub_window_copy_data.dst_pitch = copy_data.dst_pitch - 1;
- lsdma_data->u.linear_sub_window_copy_data.dst_slice_pitch = copy_data.dst_slice_pitch - 1;
- lsdma_data->u.linear_sub_window_copy_data.rect_x = copy_data.rect_x - 1;
- lsdma_data->u.linear_sub_window_copy_data.rect_y = copy_data.rect_y - 1;
+ lsdma_data->u.linear_sub_window_copy_data.dst_pitch = copy_data.dst_pitch;
+ lsdma_data->u.linear_sub_window_copy_data.dst_slice_pitch = copy_data.dst_slice_pitch;
+ lsdma_data->u.linear_sub_window_copy_data.rect_x = copy_data.rect_x;
+ lsdma_data->u.linear_sub_window_copy_data.rect_y = copy_data.rect_y;
lsdma_data->u.linear_sub_window_copy_data.src_cache_policy = copy_data.src_cache_policy;
lsdma_data->u.linear_sub_window_copy_data.dst_cache_policy = copy_data.dst_cache_policy;
@@ -2112,20 +2112,20 @@ bool dmub_lsdma_send_tiled_to_tiled_copy_command(
lsdma_data->u.tiled_copy_data.src_y = params.src_y;
lsdma_data->u.tiled_copy_data.dst_x = params.dst_x;
lsdma_data->u.tiled_copy_data.dst_y = params.dst_y;
- lsdma_data->u.tiled_copy_data.src_width = params.src_width - 1; // LSDMA controller expects width -1
- lsdma_data->u.tiled_copy_data.dst_width = params.dst_width - 1; // LSDMA controller expects width -1
+ lsdma_data->u.tiled_copy_data.src_width = params.src_width;
+ lsdma_data->u.tiled_copy_data.dst_width = params.dst_width;
lsdma_data->u.tiled_copy_data.src_swizzle_mode = params.swizzle_mode;
lsdma_data->u.tiled_copy_data.dst_swizzle_mode = params.swizzle_mode;
lsdma_data->u.tiled_copy_data.src_element_size = params.element_size;
lsdma_data->u.tiled_copy_data.dst_element_size = params.element_size;
- lsdma_data->u.tiled_copy_data.rect_x = params.rect_x - 1;
- lsdma_data->u.tiled_copy_data.rect_y = params.rect_y - 1;
+ lsdma_data->u.tiled_copy_data.rect_x = params.rect_x;
+ lsdma_data->u.tiled_copy_data.rect_y = params.rect_y;
lsdma_data->u.tiled_copy_data.dcc = params.dcc;
lsdma_data->u.tiled_copy_data.tmz = params.tmz;
lsdma_data->u.tiled_copy_data.read_compress = params.read_compress;
lsdma_data->u.tiled_copy_data.write_compress = params.write_compress;
- lsdma_data->u.tiled_copy_data.src_height = params.src_height - 1; // LSDMA controller expects height -1
- lsdma_data->u.tiled_copy_data.dst_height = params.dst_height - 1; // LSDMA controller expects height -1
+ lsdma_data->u.tiled_copy_data.src_height = params.src_height;
+ lsdma_data->u.tiled_copy_data.dst_height = params.dst_height;
lsdma_data->u.tiled_copy_data.data_format = params.data_format;
lsdma_data->u.tiled_copy_data.max_com = params.max_com;
lsdma_data->u.tiled_copy_data.max_uncom = params.max_uncom;