summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHersen Wu <hersenxs.wu@amd.com>2023-03-17 10:47:45 -0400
committerKamil Konieczny <kamil.konieczny@linux.intel.com>2023-03-22 09:19:25 +0100
commitc0cc1de7b2f4041ca68960362aa55f881d416bac (patch)
tree5b48be944232032307805f0adf09990455c81f51
parent00f276b27c63ec8a6158e0859d036635a7511ab3 (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.c22
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;