From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF64910E0A4 for ; Wed, 26 Apr 2023 10:55:04 +0000 (UTC) Message-ID: <0a1ef69f-bc41-8d59-03a8-3de56fac31c3@intel.com> Date: Wed, 26 Apr 2023 16:24:31 +0530 Content-Language: en-US To: "Sharma, Swati2" , References: <20230425064953.2121947-1-bhanuprakash.modem@intel.com> <20230425064953.2121947-39-bhanuprakash.modem@intel.com> From: "Modem, Bhanuprakash" In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit MIME-Version: 1.0 Subject: Re: [igt-dev] [i-g-t V2 38/40] tests/kms_rotation_crc: Add XE support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: Hi Swati, On Wed-26-04-2023 01:18 pm, Sharma, Swati2 wrote: > On 25-Apr-23 12:19 PM, Bhanuprakash Modem wrote: >> Add XE driver support for kms tests. >> >> Signed-off-by: Bhanuprakash Modem >> --- >>   tests/kms_rotation_crc.c | 25 +++++++++++++++++-------- >>   1 file changed, 17 insertions(+), 8 deletions(-) >> >> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c >> index 295aed762..23c18c242 100644 >> --- a/tests/kms_rotation_crc.c >> +++ b/tests/kms_rotation_crc.c >> @@ -459,7 +459,7 @@ static bool test_format(data_t *data, >>       if (!igt_fb_supported_format(format)) >>           return false; >> -    if (!is_i915_device(data->gfx_fd) || >> +    if (!is_intel_device(data->gfx_fd) || >>           data->extended) >>           return true; >> @@ -545,14 +545,14 @@ static void test_plane_rotation(data_t *data, >> int plane_type, bool test_bad_form >>           igt_require(igt_plane_has_prop(plane, IGT_PLANE_ROTATION)); >>           igt_require(igt_plane_has_rotation(plane, data->rotation)); >>           /* CHV can't rotate and reflect simultaneously */ >> -        igt_require(!is_i915_device(data->gfx_fd) || >> +        igt_require(!is_intel_device(data->gfx_fd) || >>                   !IS_CHERRYVIEW(data->devid) || >>                   data->rotation != (IGT_ROTATION_180 | IGT_REFLECT_X)); >>           prepare_crtc(data, output, pipe, plane, true); >>           for (i = 0; i < num_rectangle_types; i++) { >> -            /* Unsupported on i915 */ >> +            /* Unsupported on intel */ >>               if (plane_type == DRM_PLANE_TYPE_CURSOR && >>                   i != square) >>                   continue; >> @@ -560,9 +560,8 @@ static void test_plane_rotation(data_t *data, int >> plane_type, bool test_bad_form >>               /* Only support partial covering primary plane on gen9+ */ >>               if (is_amdgpu_device(data->gfx_fd) || >>                   (plane_type == DRM_PLANE_TYPE_PRIMARY && >> -                 is_i915_device(data->gfx_fd) && >> -                 intel_display_ver( >> -                     intel_get_drm_devid(data->gfx_fd)) < 9)) { >> +                 is_intel_device(data->gfx_fd) && >> +                 intel_display_ver(data->devid) < 9)) { >>                   if (i != rectangle) >>                       continue; >>                   else >> @@ -592,7 +591,7 @@ static void test_plane_rotation(data_t *data, int >> plane_type, bool test_bad_form >>                            data->override_fmt, test_bad_format); >>               } >>           } >> -        if (is_i915_device(data->gfx_fd)) { >> +        if (is_intel_device(data->gfx_fd)) { >>               igt_pipe_crc_stop(data->pipe_crc); >>           } >>       } >> @@ -841,6 +840,10 @@ static void test_multi_plane_rotation(data_t >> *data, enum pipe pipe) >>           igt_pipe_crc_start(data->pipe_crc); >>           for (i = 0; i < ARRAY_SIZE(planeconfigs); i++) { >> +            if (is_xe_device(data->gfx_fd) && >> +                planeconfigs[i].modifier != DRM_FORMAT_MOD_LINEAR) >> +                continue; >> + >>               p[0].fbinfo = &planeconfigs[i]; >>               pointlocation(data, p, mode, 0); >> @@ -1137,7 +1140,7 @@ igt_main_args("", long_opts, help_str, >> opt_handler, &data) >>       igt_fixture { >>           data.gfx_fd = drm_open_driver_master(DRIVER_ANY); >> -        if (is_i915_device(data.gfx_fd)) { >> +        if (is_intel_device(data.gfx_fd)) { >>               data.devid = intel_get_drm_devid(data.gfx_fd); >>               gen = intel_display_ver(data.devid); >>           } >> @@ -1193,6 +1196,8 @@ igt_main_args("", long_opts, help_str, >> opt_handler, &data) >>       igt_describe("Checking unsupported tiling for gen9+ with 90 >> degree of rotation"); >>       igt_subtest_f("bad-tiling") { >> +        igt_require_i915(data.gfx_fd); > bad-tiling test should be applicable for xe too. > anything apart from LINEAR is negative test for xe. Will fix this in next rev. >>           data.rotation = IGT_ROTATION_90; >>           data.override_modifier = I915_FORMAT_MOD_X_TILED; >>           test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY, true); >> @@ -1201,6 +1206,9 @@ igt_main_args("", long_opts, help_str, >> opt_handler, &data) >>       igt_describe("Tiling and Rotation test for gen 10+ for primary >> plane"); >>       for (reflect_x = reflect_x_subtests; reflect_x->modifier; >> reflect_x++) { >> +        igt_fixture >> +            igt_require_i915(data.gfx_fd); > > Should we add LINEAR format tests with different rot in reflect_x_subtests, > so that we can cover xe with linear+rot combinations and continue this test > if (xe) && format != LINEAR only. This is already covered under *-rotation-* tests. - Bhanu > >> + >>           igt_subtest_f("primary-%s-reflect-x-%s", >>                     modifier_test_str(reflect_x->modifier), >>                     rot_test_str(reflect_x->rot)) { >> @@ -1260,6 +1268,7 @@ igt_main_args("", long_opts, help_str, >> opt_handler, &data) >>           enum pipe pipe; >>           igt_output_t *output; >> +        igt_require_i915(data.gfx_fd); > Please write a comment why only i915 and not xe. >>           igt_display_require_output(&data.display); >>           for_each_pipe_with_valid_output(&data.display, pipe, output) { >