diff options
author | Hersen Wu <hersenxs.wu@amd.com> | 2023-03-17 10:47:45 -0400 |
---|---|---|
committer | Kamil Konieczny <kamil.konieczny@linux.intel.com> | 2023-03-22 09:19:25 +0100 |
commit | c0cc1de7b2f4041ca68960362aa55f881d416bac (patch) | |
tree | 5b48be944232032307805f0adf09990455c81f51 | |
parent | 00f276b27c63ec8a6158e0859d036635a7511ab3 (diff) |
tests/amdgpu/amd_dp_dsc: fix test crash signal sigsegv
array size of data.output is 6. when n_outputs is greater than 6,
test will crash. valid combinations of pipe and output are available
for pipes with display->pipes[i].enable = true. macro for_each_pipe
should be used for loop.
Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
Reviewed-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
-rw-r--r-- | tests/amdgpu/amd_dp_dsc.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c index b3f3cafb9..e782ce84a 100644 --- a/tests/amdgpu/amd_dp_dsc.c +++ b/tests/amdgpu/amd_dp_dsc.c @@ -110,7 +110,7 @@ static void test_dsc_enable(data_t *data) test_init(data); igt_enable_connectors(data->fd); - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { /* Setup the output */ output = data->output[i]; if (!output || !igt_output_is_connected(output)) @@ -248,7 +248,7 @@ static void test_dsc_slice_dimensions_change(data_t *data) test_init(data); igt_enable_connectors(data->fd); - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { /* Setup the output */ output = data->output[i]; if (!output || !igt_output_is_connected(output)) @@ -341,7 +341,7 @@ static void test_dsc_link_settings(data_t *data) test_init(data); /* Setup all outputs */ - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { output = data->output[i]; if (!output || !igt_output_is_connected(output)) continue; @@ -358,7 +358,7 @@ static void test_dsc_link_settings(data_t *data) igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, 0); /* Collect reference CRCs */ - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { output = data->output[i]; if (!output || !igt_output_is_connected(output)) continue; @@ -369,7 +369,7 @@ static void test_dsc_link_settings(data_t *data) for (lc = 0; lc < ARRAY_SIZE(lane_count_vals); lc++) { for (lr = 0; lr < ARRAY_SIZE(link_rate_vals); lr++) { /* Write new link_settings */ - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { output = data->output[i]; if (!output || !igt_output_is_connected(output)) continue; @@ -387,7 +387,7 @@ static void test_dsc_link_settings(data_t *data) /* Trigger commit after writing new link settings */ igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL); - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { output = data->output[i]; if (!output || !igt_output_is_connected(output)) continue; @@ -416,7 +416,7 @@ static void test_dsc_link_settings(data_t *data) } /* Cleanup all fbs */ - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { output = data->output[i]; if (!output || !igt_output_is_connected(output)) continue; @@ -439,7 +439,7 @@ static void test_dsc_bpc(data_t *data) test_init(data); /* Find max supported bpc */ - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { output = data->output[i]; if (!output || !igt_output_is_connected(output)) continue; @@ -451,7 +451,7 @@ static void test_dsc_bpc(data_t *data) for (bpc = 0; bpc < ARRAY_SIZE(bpc_vals); bpc++) { igt_info("Testing bpc = %d\n", bpc_vals[bpc]); - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { output = data->output[i]; if (!output || !igt_output_is_connected(output)) continue; @@ -474,7 +474,7 @@ static void test_dsc_bpc(data_t *data) igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, 0); - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { output = data->output[i]; if (!output || !igt_output_is_connected(output)) continue; @@ -501,7 +501,7 @@ static void test_dsc_bpc(data_t *data) } /* Cleanup all fbs */ - for (i = 0; i < display->n_outputs; i++) { + for_each_pipe(&data->display, i) { output = data->output[i]; if (!output || !igt_output_is_connected(output)) continue; |