[igt-dev] [i-g-t V6 50/81] tests/kms_getfb: Document each subtest for testplan
Modem, Bhanuprakash
bhanuprakash.modem at intel.com
Mon Aug 14 07:38:20 UTC 2023
Hi Karthik,
On Mon-14-08-2023 12:49 pm, Karthik B S wrote:
>
> On 8/14/2023 12:35 PM, Modem, Bhanuprakash wrote:
>> Hi Karthik,
>>
>> On Mon-14-08-2023 10:21 am, Karthik B S wrote:
>>>
>>> On 8/12/2023 12:16 AM, Bhanuprakash Modem wrote:
>>>> Add documentation for all kms tests which is used by IGT testplan
>>>> documentation.
>>>>
>>>> V2: - Fix functionality
>>>>
>>>> Cc: Karthik B S <karthik.b.s at intel.com>
>>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
>>>> ---
>>>> tests/kms_getfb.c | 90
>>>> +++++++++++++++++++++++++++++++++++++++++++++++
>>>> 1 file changed, 90 insertions(+)
>>>>
>>>> diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c
>>>> index afcf07fe8..1caa46e23 100644
>>>> --- a/tests/kms_getfb.c
>>>> +++ b/tests/kms_getfb.c
>>>> @@ -27,6 +27,11 @@
>>>> *
>>>> */
>>>> +/**
>>>> + * TEST: kms getfb
>>>> + * Category: Display
>>>> + * Description: Tests GETFB and GETFB2 ioctls.
>>>> + */
>>>> #include "igt.h"
>>>> #include <unistd.h>
>>>> #include <stdlib.h>
>>>> @@ -169,6 +174,22 @@ static uint32_t get_any_prop_id(int fd)
>>>> return 0;
>>>> }
>>>> +/**
>>>> + * SUBTEST: getfb-handle-%s
>>>> + * Description: Tests error handling %arg[1]
>>>> + * Driver requirement: any
>>>> + * Functionality: kms_gem_interop
>>>> + * Mega feature: General Display Features
>>>> + * Run type: FULL
>>>> + * Test category: functionality test
>>>> + *
>>>> + * arg[1]:
>>>> + *
>>>> + * @closed: when passing a handle that has been closed.
>>>> + * @not-fb: when passing an invalid handle.
>>>> + * @valid: when passing an valid handle.
>>>> + * @zero: for a zero'd input.
>>>> + */
>>>> static void test_handle_input(int fd)
>>>> {
>>>> struct drm_mode_fb_cmd2 add = {};
>>>> @@ -224,6 +245,30 @@ static void test_handle_input(int fd)
>>>> gem_close(fd, add.handles[0]);
>>>> }
>>>> +/**
>>>> + * SUBTEST: getfb-reject-ccs
>>>> + * Description: Tests error handling while requesting CCS buffers
>>>> it should
>>>> + * refuse because getfb supports returning a single
>>>> buffer handle.
>>>> + * Driver requirement: any
>>>> + * Functionality: ccs, kms_gem_interop, tiling
>>>
>>> Hi,
>>>
>>> Do we need 'tiling' here?
>>
>> I think we need a tiling support to us the CCS modifiers. Hence added
>> it here.
>
> But I can only see 'DRM_FORMAT_MOD_LINEAR' in the test. What am I
> missing here?
Please check
igt_subtest("getfb2-accept-ccs") --> get_ccs_fb()
https://cgit.freedesktop.org/drm/igt-gpu-tools/tree/tests/kms_getfb.c#n349
- Bhanu
>
> Thanks,
> Karthik.B.S
>>
>> - Bhanu
>>
>>>
>>> Thanks,
>>> Karthik.B.S
>>>> + * Mega feature: General Display Features
>>>> + * Run type: FULL
>>>> + * Test category: functionality test
>>>> + *
>>>> + * SUBTEST: getfb-%s-different-handles
>>>> + * Description: Tests error handling while requesting for two
>>>> different handles
>>>> + * from %arg[1].
>>>> + * Driver requirement: any
>>>> + * Functionality: kms_gem_interop
>>>> + * Mega feature: General Display Features
>>>> + * Run type: FULL
>>>> + * Test category: functionality test
>>>> + *
>>>> + * arg[1]:
>>>> + *
>>>> + * @addfb: same fd
>>>> + * @repeated: different fd
>>>> + */
>>>> static void test_duplicate_handles(int fd)
>>>> {
>>>> struct drm_mode_fb_cmd2 add = {};
>>>> @@ -289,6 +334,37 @@ static void test_duplicate_handles(int fd)
>>>> }
>>>> }
>>>> +/**
>>>> + * SUBTEST: getfb2-accept-ccs
>>>> + * Description: Tests outputs are correct when retrieving a CCS
>>>> framebuffer.
>>>> + * Driver requirement: any
>>>> + * Functionality: ccs, kms_gem_interop, tiling
>>>> + * Mega feature: General Display Features
>>>> + * Run type: FULL
>>>> + * Test category: functionality test
>>>> + *
>>>> + * SUBTEST: getfb2-into-addfb2
>>>> + * Description: Output check by passing the output of GETFB2 into
>>>> ADDFB2.
>>>> + * Driver requirement: any
>>>> + * Functionality: kms_gem_interop
>>>> + * Mega feature: General Display Features
>>>> + * Run type: FULL
>>>> + * Test category: functionality test
>>>> + *
>>>> + * SUBTEST: getfb2-handle-%s
>>>> + * Description: Tests error handling %arg[1].
>>>> + * Driver requirement: any
>>>> + * Functionality: kms_gem_interop
>>>> + * Mega feature: General Display Features
>>>> + * Run type: FULL
>>>> + * Test category: functionality test
>>>> + *
>>>> + * arg[1]:
>>>> + *
>>>> + * @closed: when passing a handle that has been
>>>> closed
>>>> + * @not-fb: when passing an invalid handle
>>>> + * @zero: for a zero'd input
>>>> + */
>>>> static void test_getfb2(int fd)
>>>> {
>>>> struct drm_mode_fb_cmd2 add_basic = {};
>>>> @@ -397,6 +473,20 @@ static void test_getfb2(int fd)
>>>> }
>>>> }
>>>> +/**
>>>> + * SUBTEST: %s-handle-protection
>>>> + * Description: Make sure %arg[1] return handles if caller is
>>>> non-root or non-master.
>>>> + * Driver requirement: any
>>>> + * Functionality: kms_gem_interop
>>>> + * Mega feature: General Display Features
>>>> + * Run type: FULL
>>>> + * Test category: functionality test
>>>> + *
>>>> + * arg[1]:
>>>> + *
>>>> + * @getfb: GETFB ioctl
>>>> + * @getfb2: GETFB2 ioctl
>>>> + */
>>>> static void test_handle_protection(void) {
>>>> int non_master_fd;
>>>> struct drm_mode_fb_cmd2 non_master_add = {};
More information about the igt-dev
mailing list