1. Pass one more parameter (current drmModeConnector) when call "run_test()". Use it to retrieve proper connector_type. 2. SIGSEGV fault would happen due to "igt_output" did not store properly in "data->output". Main funciton already pass "igt_output" pointer into "run_test()" function. Use this pointer instead of "data->output" to get display mode. Fixes: a1772be7dede ("tests/kms_dp_dsc: Bug fix for DP on Pipe A") Signed-off-by: Lee Shawn C <shawn.c.lee@xxxxxxxxx> --- tests/kms_dp_dsc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c index ea7c9f4f72ce..e434384da369 100644 --- a/tests/kms_dp_dsc.c +++ b/tests/kms_dp_dsc.c @@ -224,11 +224,11 @@ static void update_display(data_t *data, enum dsc_test_type test_type) } static void run_test(data_t *data, igt_output_t *output, - enum dsc_test_type test_type) + drmModeConnector *connector, enum dsc_test_type test_type) { enum pipe pipe; - data->mode = igt_output_get_mode(data->output); + data->mode = igt_output_get_mode(output); igt_create_pattern_fb(data->drm_fd, data->mode->hdisplay, data->mode->vdisplay, DRM_FORMAT_XRGB8888, @@ -239,7 +239,7 @@ static void run_test(data_t *data, igt_output_t *output, if (is_i915_device(data->drm_fd)) { uint32_t devid = intel_get_drm_devid(data->drm_fd); - if (data->connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort && + if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort && data->pipe == PIPE_A && IS_GEN11(devid)) { igt_debug("DSC not supported on Pipe A on external DP in Gen11 platforms\n"); continue; @@ -304,7 +304,7 @@ igt_main continue; } test_conn_cnt++; - run_test(&data, output, test_basic_dsc_enable); + run_test(&data, output, connector, test_basic_dsc_enable); } igt_skip_on(test_conn_cnt == 0); } -- 2.17.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx