* [igt-dev] [PATCH i-g-t v2 0/5] Add a new test for Sub-viewport
@ 2023-11-03 18:22 Aurabindo Pillai
2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 1/5] lib/amdgpu: Remove unused struct Aurabindo Pillai
` (6 more replies)
0 siblings, 7 replies; 14+ messages in thread
From: Aurabindo Pillai @ 2023-11-03 18:22 UTC (permalink / raw)
To: igt-dev; +Cc: hersenxs.wu
Changes in v2
=================
* Removed an unused struct definition
* Fixes style issues reported by checkpatch.pl
* Added SPDX license identifier to the new test
* Fixed #include order for system includes
---
Aurabindo Pillai (5):
lib/amdgpu: Remove unused struct
llib/amd: Update function documentation
lib/amd: improve readablity for MALL capability check
lib/amd: Add check for SubVP feature status
test/amdgpu: Add test for Sub-viewport
lib/igt_amd.c | 44 ++++++++--
lib/igt_amd.h | 1 +
tests/amdgpu/amd_subvp.c | 180 +++++++++++++++++++++++++++++++++++++++
tests/amdgpu/meson.build | 1 +
4 files changed, 217 insertions(+), 9 deletions(-)
create mode 100644 tests/amdgpu/amd_subvp.c
--
2.39.2
^ permalink raw reply [flat|nested] 14+ messages in thread* [igt-dev] [PATCH i-g-t v2 1/5] lib/amdgpu: Remove unused struct 2023-11-03 18:22 [igt-dev] [PATCH i-g-t v2 0/5] Add a new test for Sub-viewport Aurabindo Pillai @ 2023-11-03 18:22 ` Aurabindo Pillai 2023-11-08 6:38 ` Alex Hung 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 2/5] llib/amd: Update function documentation Aurabindo Pillai ` (5 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Aurabindo Pillai @ 2023-11-03 18:22 UTC (permalink / raw) To: igt-dev; +Cc: hersenxs.wu dim2d has no references within AMDGPU tests, so remove it Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> --- lib/igt_amd.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/igt_amd.c b/lib/igt_amd.c index 84c6d7545..f0fbe97ef 100644 --- a/lib/igt_amd.c +++ b/lib/igt_amd.c @@ -45,11 +45,6 @@ #define Y6 64 #define Y7 128 -struct dim2d -{ - int w; - int h; -}; uint32_t igt_amd_create_bo(int fd, uint64_t size) { -- 2.39.2 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 1/5] lib/amdgpu: Remove unused struct 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 1/5] lib/amdgpu: Remove unused struct Aurabindo Pillai @ 2023-11-08 6:38 ` Alex Hung 0 siblings, 0 replies; 14+ messages in thread From: Alex Hung @ 2023-11-08 6:38 UTC (permalink / raw) To: Aurabindo Pillai, igt-dev; +Cc: hersenxs.wu Reviewed-by: Alex Hung <alex.hung@amd.com> On 2023-11-03 12:22, Aurabindo Pillai wrote: > dim2d has no references within AMDGPU tests, so remove it > > Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> > --- > lib/igt_amd.c | 5 ----- > 1 file changed, 5 deletions(-) > > diff --git a/lib/igt_amd.c b/lib/igt_amd.c > index 84c6d7545..f0fbe97ef 100644 > --- a/lib/igt_amd.c > +++ b/lib/igt_amd.c > @@ -45,11 +45,6 @@ > #define Y6 64 > #define Y7 128 > > -struct dim2d > -{ > - int w; > - int h; > -}; > > uint32_t igt_amd_create_bo(int fd, uint64_t size) > { ^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v2 2/5] llib/amd: Update function documentation 2023-11-03 18:22 [igt-dev] [PATCH i-g-t v2 0/5] Add a new test for Sub-viewport Aurabindo Pillai 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 1/5] lib/amdgpu: Remove unused struct Aurabindo Pillai @ 2023-11-03 18:22 ` Aurabindo Pillai 2023-11-08 6:38 ` Alex Hung 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 3/5] lib/amd: improve readablity for MALL capability check Aurabindo Pillai ` (4 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Aurabindo Pillai @ 2023-11-03 18:22 UTC (permalink / raw) To: igt-dev; +Cc: hersenxs.wu The existing documetation incorrectly specifies the return value. Update the doc entry for functions that check MALL status Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> --- lib/igt_amd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/igt_amd.c b/lib/igt_amd.c index f0fbe97ef..8c736b3e2 100644 --- a/lib/igt_amd.c +++ b/lib/igt_amd.c @@ -1178,8 +1178,8 @@ static bool get_dm_capabilities(int drm_fd, char *buf, size_t size) * @brief check if AMDGPU mall_capable interface entry exist and defined * * @param drm_fd DRM file descriptor - * @return true if dm capabilities interface exists and MALL is supported - * @return false if capabilities could not be read. + * @param supported will be set to true if hardware supports MALL + * @param enabled will be set to true if MALL is currently in use */ void igt_amd_get_mall_status(int drm_fd, bool *supported, bool *enabled) { -- 2.39.2 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/5] llib/amd: Update function documentation 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 2/5] llib/amd: Update function documentation Aurabindo Pillai @ 2023-11-08 6:38 ` Alex Hung 0 siblings, 0 replies; 14+ messages in thread From: Alex Hung @ 2023-11-08 6:38 UTC (permalink / raw) To: Aurabindo Pillai, igt-dev; +Cc: hersenxs.wu Reviewed-by: Alex Hung <alex.hung@amd.com> On 2023-11-03 12:22, Aurabindo Pillai wrote: > The existing documetation incorrectly specifies the return value. > Update the doc entry for functions that check MALL status > > Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> > --- > lib/igt_amd.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/igt_amd.c b/lib/igt_amd.c > index f0fbe97ef..8c736b3e2 100644 > --- a/lib/igt_amd.c > +++ b/lib/igt_amd.c > @@ -1178,8 +1178,8 @@ static bool get_dm_capabilities(int drm_fd, char *buf, size_t size) > * @brief check if AMDGPU mall_capable interface entry exist and defined > * > * @param drm_fd DRM file descriptor > - * @return true if dm capabilities interface exists and MALL is supported > - * @return false if capabilities could not be read. > + * @param supported will be set to true if hardware supports MALL > + * @param enabled will be set to true if MALL is currently in use > */ > void igt_amd_get_mall_status(int drm_fd, bool *supported, bool *enabled) > { ^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v2 3/5] lib/amd: improve readablity for MALL capability check 2023-11-03 18:22 [igt-dev] [PATCH i-g-t v2 0/5] Add a new test for Sub-viewport Aurabindo Pillai 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 1/5] lib/amdgpu: Remove unused struct Aurabindo Pillai 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 2/5] llib/amd: Update function documentation Aurabindo Pillai @ 2023-11-03 18:22 ` Aurabindo Pillai 2023-11-08 6:39 ` Alex Hung 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 4/5] lib/amd: Add check for SubVP feature status Aurabindo Pillai ` (3 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Aurabindo Pillai @ 2023-11-03 18:22 UTC (permalink / raw) To: igt-dev; +Cc: hersenxs.wu Move the hard coded string out of the function and define an identifier for checking MALL supported/enabled status Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> --- lib/igt_amd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/igt_amd.c b/lib/igt_amd.c index 8c736b3e2..177a1094d 100644 --- a/lib/igt_amd.c +++ b/lib/igt_amd.c @@ -45,6 +45,8 @@ #define Y6 64 #define Y7 128 +#define mall_supported "mall supported: yes" +#define mall_enabled "mall supported: yes, enabled: yes" uint32_t igt_amd_create_bo(int fd, uint64_t size) { @@ -1192,11 +1194,11 @@ void igt_amd_get_mall_status(int drm_fd, bool *supported, bool *enabled) if (!get_dm_capabilities(drm_fd, buf, 1024)) return; - mall_loc = strstr(buf, "mall supported: yes"); + mall_loc = strstr(buf, mall_supported); if (mall_loc) *supported = true; - mall_loc = strstr(buf, "enabled: yes"); + mall_loc = strstr(buf, mall_enabled); if (mall_loc && *supported) *enabled = true; } -- 2.39.2 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 3/5] lib/amd: improve readablity for MALL capability check 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 3/5] lib/amd: improve readablity for MALL capability check Aurabindo Pillai @ 2023-11-08 6:39 ` Alex Hung 0 siblings, 0 replies; 14+ messages in thread From: Alex Hung @ 2023-11-08 6:39 UTC (permalink / raw) To: Aurabindo Pillai, igt-dev; +Cc: hersenxs.wu Reviewed-by: Alex Hung <alex.hung@amd.com> On 2023-11-03 12:22, Aurabindo Pillai wrote: > Move the hard coded string out of the function and define > an identifier for checking MALL supported/enabled status > > Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> > --- > lib/igt_amd.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/lib/igt_amd.c b/lib/igt_amd.c > index 8c736b3e2..177a1094d 100644 > --- a/lib/igt_amd.c > +++ b/lib/igt_amd.c > @@ -45,6 +45,8 @@ > #define Y6 64 > #define Y7 128 > > +#define mall_supported "mall supported: yes" > +#define mall_enabled "mall supported: yes, enabled: yes" > > uint32_t igt_amd_create_bo(int fd, uint64_t size) > { > @@ -1192,11 +1194,11 @@ void igt_amd_get_mall_status(int drm_fd, bool *supported, bool *enabled) > if (!get_dm_capabilities(drm_fd, buf, 1024)) > return; > > - mall_loc = strstr(buf, "mall supported: yes"); > + mall_loc = strstr(buf, mall_supported); > if (mall_loc) > *supported = true; > > - mall_loc = strstr(buf, "enabled: yes"); > + mall_loc = strstr(buf, mall_enabled); > if (mall_loc && *supported) > *enabled = true; > } ^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v2 4/5] lib/amd: Add check for SubVP feature status 2023-11-03 18:22 [igt-dev] [PATCH i-g-t v2 0/5] Add a new test for Sub-viewport Aurabindo Pillai ` (2 preceding siblings ...) 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 3/5] lib/amd: improve readablity for MALL capability check Aurabindo Pillai @ 2023-11-03 18:22 ` Aurabindo Pillai 2023-11-08 6:40 ` Alex Hung 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 5/5] test/amdgpu: Add test for Sub-viewport Aurabindo Pillai ` (2 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Aurabindo Pillai @ 2023-11-03 18:22 UTC (permalink / raw) To: igt-dev; +Cc: hersenxs.wu Add an API to check whether Subviewport feature is supported and enabled Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> --- lib/igt_amd.c | 29 +++++++++++++++++++++++++++++ lib/igt_amd.h | 1 + 2 files changed, 30 insertions(+) diff --git a/lib/igt_amd.c b/lib/igt_amd.c index 177a1094d..247a42f37 100644 --- a/lib/igt_amd.c +++ b/lib/igt_amd.c @@ -45,6 +45,8 @@ #define Y6 64 #define Y7 128 +#define subvp_supported "sub-viewport supported: yes" +#define subvp_enabled "sub-viewport supported: yes, enabled: yes" #define mall_supported "mall supported: yes" #define mall_enabled "mall supported: yes, enabled: yes" @@ -1203,6 +1205,33 @@ void igt_amd_get_mall_status(int drm_fd, bool *supported, bool *enabled) *enabled = true; } +/** + * @brief check if AMDGPU sub-viewport support exists + * + * @param drm_fd DRM file descriptor + * @param supported set to true if harwdare supports subviewport + * @param enabled set tot true if subviewport is currently in use + */ +void igt_amd_get_subvp_status(int drm_fd, bool *supported, bool *enabled) +{ + char buf[1024]; + char *subvp_loc; + + *supported = false; + *enabled = false; + + if (!get_dm_capabilities(drm_fd, buf, 1024)) + return; + + subvp_loc = strstr(buf, subvp_supported); + if (subvp_loc) + *supported = true; + + subvp_loc = strstr(buf, subvp_enabled); + if (subvp_loc && *supported) + *enabled = true; +} + /** * @brief check if AMDGPU DM visual confirm debugfs interface entry exist and defined * diff --git a/lib/igt_amd.h b/lib/igt_amd.h index de992ac4f..1e66348ad 100644 --- a/lib/igt_amd.h +++ b/lib/igt_amd.h @@ -200,5 +200,6 @@ int igt_amd_get_visual_confirm(int drm_fd); bool igt_amd_set_visual_confirm(int drm_fd, enum amdgpu_debug_visual_confirm option); void igt_amd_get_mall_status(int drm_fd, bool *supported, bool *enabled); +void igt_amd_get_subvp_status(int drm_fd, bool *supported, bool *enabled); bool igt_amd_output_has_odm_combine_segments(int drm_fd, char *connector_name); #endif /* IGT_AMD_H */ -- 2.39.2 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 4/5] lib/amd: Add check for SubVP feature status 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 4/5] lib/amd: Add check for SubVP feature status Aurabindo Pillai @ 2023-11-08 6:40 ` Alex Hung 0 siblings, 0 replies; 14+ messages in thread From: Alex Hung @ 2023-11-08 6:40 UTC (permalink / raw) To: Aurabindo Pillai, igt-dev; +Cc: hersenxs.wu Reviewed-by: Alex Hung <alex.hung@amd.com> On 2023-11-03 12:22, Aurabindo Pillai wrote: > Add an API to check whether Subviewport feature is supported and enabled > > Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> > --- > lib/igt_amd.c | 29 +++++++++++++++++++++++++++++ > lib/igt_amd.h | 1 + > 2 files changed, 30 insertions(+) > > diff --git a/lib/igt_amd.c b/lib/igt_amd.c > index 177a1094d..247a42f37 100644 > --- a/lib/igt_amd.c > +++ b/lib/igt_amd.c > @@ -45,6 +45,8 @@ > #define Y6 64 > #define Y7 128 > > +#define subvp_supported "sub-viewport supported: yes" > +#define subvp_enabled "sub-viewport supported: yes, enabled: yes" > #define mall_supported "mall supported: yes" > #define mall_enabled "mall supported: yes, enabled: yes" > > @@ -1203,6 +1205,33 @@ void igt_amd_get_mall_status(int drm_fd, bool *supported, bool *enabled) > *enabled = true; > } > > +/** > + * @brief check if AMDGPU sub-viewport support exists > + * > + * @param drm_fd DRM file descriptor > + * @param supported set to true if harwdare supports subviewport > + * @param enabled set tot true if subviewport is currently in use > + */ > +void igt_amd_get_subvp_status(int drm_fd, bool *supported, bool *enabled) > +{ > + char buf[1024]; > + char *subvp_loc; > + > + *supported = false; > + *enabled = false; > + > + if (!get_dm_capabilities(drm_fd, buf, 1024)) > + return; > + > + subvp_loc = strstr(buf, subvp_supported); > + if (subvp_loc) > + *supported = true; > + > + subvp_loc = strstr(buf, subvp_enabled); > + if (subvp_loc && *supported) > + *enabled = true; > +} > + > /** > * @brief check if AMDGPU DM visual confirm debugfs interface entry exist and defined > * > diff --git a/lib/igt_amd.h b/lib/igt_amd.h > index de992ac4f..1e66348ad 100644 > --- a/lib/igt_amd.h > +++ b/lib/igt_amd.h > @@ -200,5 +200,6 @@ int igt_amd_get_visual_confirm(int drm_fd); > bool igt_amd_set_visual_confirm(int drm_fd, enum amdgpu_debug_visual_confirm option); > > void igt_amd_get_mall_status(int drm_fd, bool *supported, bool *enabled); > +void igt_amd_get_subvp_status(int drm_fd, bool *supported, bool *enabled); > bool igt_amd_output_has_odm_combine_segments(int drm_fd, char *connector_name); > #endif /* IGT_AMD_H */ ^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v2 5/5] test/amdgpu: Add test for Sub-viewport 2023-11-03 18:22 [igt-dev] [PATCH i-g-t v2 0/5] Add a new test for Sub-viewport Aurabindo Pillai ` (3 preceding siblings ...) 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 4/5] lib/amd: Add check for SubVP feature status Aurabindo Pillai @ 2023-11-03 18:22 ` Aurabindo Pillai 2023-11-03 18:25 ` Aurabindo Pillai 2023-11-08 6:41 ` Alex Hung 2023-11-03 19:31 ` [igt-dev] ✗ Fi.CI.BAT: failure for Add a new " Patchwork 2023-11-06 20:00 ` [igt-dev] [PATCH i-g-t v2 0/5] " Aurabindo Pillai 6 siblings, 2 replies; 14+ messages in thread From: Aurabindo Pillai @ 2023-11-03 18:22 UTC (permalink / raw) To: igt-dev; +Cc: hersenxs.wu Sub-viewport is a power saving feature found on DCN32/DCN321 and newer dGPUs. Add a test that commit a high resolution test pattern on multiple displays and checks whether Sub-viewport feature is engaged. Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> --- tests/amdgpu/amd_subvp.c | 180 +++++++++++++++++++++++++++++++++++++++ tests/amdgpu/meson.build | 1 + 2 files changed, 181 insertions(+) create mode 100644 tests/amdgpu/amd_subvp.c diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c new file mode 100644 index 000000000..aa959441b --- /dev/null +++ b/tests/amdgpu/amd_subvp.c @@ -0,0 +1,180 @@ +// SPDX-License-Identifier: MIT +/* + * Copyright 2023 Advanced Micro Devices, Inc. + */ + +#include <fcntl.h> + +#include "igt.h" +#include "igt_amd.h" +#include "igt_core.h" + +IGT_TEST_DESCRIPTION("Test enabling sub-viewport feature"); + +/* Common test data. */ +struct data { + igt_display_t display; + igt_plane_t *primary[IGT_MAX_PIPES]; + igt_output_t *output[IGT_MAX_PIPES]; + igt_pipe_t *pipe[IGT_MAX_PIPES]; + igt_pipe_crc_t *pipe_crc[IGT_MAX_PIPES]; + drmModeModeInfo mode[IGT_MAX_PIPES]; + enum pipe pipe_id[IGT_MAX_PIPES]; + int fd; +}; + +struct line_check { + int found; + const char *substr; +}; + +static const drmModeModeInfo test_mode[] = { + { 533250, + 3840, 3888, 3920, 4000, 0, + 2160, 2214, 2219, 2222, 0, + 60, + DRM_MODE_FLAG_NHSYNC, + 0x48, + "4k60\0", + }, /* from LG Ultra HD, product_id = 5B09, serial_number = 1010101 */ +}; + +/* Forces a mode for a connector. */ +static void force_output_mode(struct data *d, igt_output_t *output, + const drmModeModeInfo *mode) +{ + /* This allows us to create a virtual sink. */ + if (!igt_output_is_connected(output)) { + kmstest_force_edid(d->fd, output->config.connector, + igt_kms_get_4k_edid()); + + kmstest_force_connector(d->fd, output->config.connector, + FORCE_CONNECTOR_DIGITAL); + } + + igt_output_override_mode(output, mode); +} + +/* Common test setup. */ +static void test_init(struct data *data) +{ + igt_display_t *display = &data->display; + int i, n; + bool subvp_capable = false; + bool subvp_en = false; + + for_each_pipe(display, i) { + data->pipe_id[i] = PIPE_A + i; + data->pipe[i] = &data->display.pipes[data->pipe_id[i]]; + data->primary[i] = igt_pipe_get_plane_type(data->pipe[i], + DRM_PLANE_TYPE_PRIMARY); + data->pipe_crc[i] = igt_pipe_crc_new(data->fd, + data->pipe_id[i], + IGT_PIPE_CRC_SOURCE_AUTO); + } + + for (i = 0, n = 0; i < display->n_outputs && n < display->n_pipes; ++i) { + igt_output_t *output = &display->outputs[i]; + + data->output[n] = output; + /* Only allow physically connected displays for the tests. */ + if (!igt_output_is_connected(output)) + continue; + /* SubVP is only enabled on DP */ + if (output->config.connector->connector_type != + DRM_MODE_CONNECTOR_DisplayPort) + continue; + + igt_assert(kmstest_get_connector_default_mode( + data->fd, output->config.connector, &data->mode[n])); + + force_output_mode(data, data->output[n], &test_mode[0]); + + n += 1; + } + + igt_require_f(n >= 2, "Requires at least two connected display\n"); + + igt_amd_get_subvp_status(data->fd, &subvp_capable, &subvp_en); + igt_require_f(subvp_capable, "Requires hardware that supports Sub-viewport\n"); + + igt_display_reset(display); +} + +/* Common test cleanup. */ +static void test_fini(struct data *data) +{ + igt_display_t *display = &data->display; + int i; + + for_each_pipe(display, i) { + igt_pipe_crc_free(data->pipe_crc[i]); + } + + igt_display_reset(display); + igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, 0); +} + +static void test_subvp(struct data *data) +{ + igt_display_t *display = &data->display; + igt_fb_t rfb; + bool subvp_supp, subvp_en; + igt_output_t *output; + int i; + + test_init(data); + igt_enable_connectors(data->fd); + + for_each_pipe(&data->display, i) { + /* Setup the output */ + output = data->output[i]; + if (!output || !igt_output_is_connected(output)) + continue; + + igt_create_pattern_fb(data->fd, + test_mode[0].hdisplay, + test_mode[0].vdisplay, + DRM_FORMAT_XRGB8888, + 0, + &rfb); + + igt_output_set_pipe(output, data->pipe_id[i]); + igt_plane_set_fb(data->primary[i], &rfb); + igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, 0); + } + + + igt_amd_get_subvp_status(data->fd, &subvp_supp, &subvp_en); + igt_fail_on_f(!(subvp_supp && subvp_en), "SUBVP did not get enabled\n"); + + igt_remove_fb(data->fd, &rfb); + test_fini(data); +} + +igt_main +{ + struct data data; + + igt_skip_on_simulation(); + + memset(&data, 0, sizeof(data)); + + igt_fixture + { + data.fd = drm_open_driver_master(DRIVER_AMDGPU); + igt_display_require(&data.display, data.fd); + igt_display_require_output(&data.display); + igt_require(data.display.is_atomic); + + kmstest_set_vt_graphics_mode(); + } + + igt_describe("Tests whether system enables sub-viewport when a specific mode is committed"); + igt_subtest("dual-4k60") test_subvp(&data); + + igt_fixture + { + igt_display_fini(&data.display); + } +} diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build index f52fc3645..efd911fab 100644 --- a/tests/amdgpu/meson.build +++ b/tests/amdgpu/meson.build @@ -36,6 +36,7 @@ if libdrm_amdgpu.found() 'amd_vrr_range', 'amd_mall', 'amd_odm', + 'amd_subvp', ] if libdrm_amdgpu.version().version_compare('> 2.4.97') amdgpu_progs +=[ 'amd_syncobj', ] -- 2.39.2 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 5/5] test/amdgpu: Add test for Sub-viewport 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 5/5] test/amdgpu: Add test for Sub-viewport Aurabindo Pillai @ 2023-11-03 18:25 ` Aurabindo Pillai 2023-11-08 6:41 ` Alex Hung 1 sibling, 0 replies; 14+ messages in thread From: Aurabindo Pillai @ 2023-11-03 18:25 UTC (permalink / raw) To: igt-dev; +Cc: hersenxs.wu On 2023-11-03 14:22, Aurabindo Pillai wrote: > Sub-viewport is a power saving feature found on DCN32/DCN321 > and newer dGPUs. > > Add a test that commit a high resolution test pattern on multiple > displays and checks whether Sub-viewport feature is engaged. > > Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> > --- > tests/amdgpu/amd_subvp.c | 180 +++++++++++++++++++++++++++++++++++++++ > tests/amdgpu/meson.build | 1 + > 2 files changed, 181 insertions(+) > create mode 100644 tests/amdgpu/amd_subvp.c > > diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c > new file mode 100644 > index 000000000..aa959441b > --- /dev/null > +++ b/tests/amdgpu/amd_subvp.c > @@ -0,0 +1,180 @@ > +// SPDX-License-Identifier: MIT > +/* > + * Copyright 2023 Advanced Micro Devices, Inc. > + */ > + > +#include <fcntl.h> > + > +#include "igt.h" > +#include "igt_amd.h" > +#include "igt_core.h" > + > +IGT_TEST_DESCRIPTION("Test enabling sub-viewport feature"); > + > +/* Common test data. */ > +struct data { > + igt_display_t display; > + igt_plane_t *primary[IGT_MAX_PIPES]; > + igt_output_t *output[IGT_MAX_PIPES]; > + igt_pipe_t *pipe[IGT_MAX_PIPES]; > + igt_pipe_crc_t *pipe_crc[IGT_MAX_PIPES]; > + drmModeModeInfo mode[IGT_MAX_PIPES]; > + enum pipe pipe_id[IGT_MAX_PIPES]; > + int fd; > +}; > + > +struct line_check { > + int found; > + const char *substr; > +}; > + > +static const drmModeModeInfo test_mode[] = { > + { 533250, > + 3840, 3888, 3920, 4000, 0, > + 2160, 2214, 2219, 2222, 0, > + 60, > + DRM_MODE_FLAG_NHSYNC, > + 0x48, > + "4k60\0", > + }, /* from LG Ultra HD, product_id = 5B09, serial_number = 1010101 */ > +}; > + > +/* Forces a mode for a connector. */ > +static void force_output_mode(struct data *d, igt_output_t *output, > + const drmModeModeInfo *mode) > +{ > + /* This allows us to create a virtual sink. */ > + if (!igt_output_is_connected(output)) { > + kmstest_force_edid(d->fd, output->config.connector, > + igt_kms_get_4k_edid()); > + > + kmstest_force_connector(d->fd, output->config.connector, > + FORCE_CONNECTOR_DIGITAL); > + } > + > + igt_output_override_mode(output, mode); > +} > + > +/* Common test setup. */ > +static void test_init(struct data *data) > +{ > + igt_display_t *display = &data->display; > + int i, n; > + bool subvp_capable = false; > + bool subvp_en = false; > + > + for_each_pipe(display, i) { > + data->pipe_id[i] = PIPE_A + i; > + data->pipe[i] = &data->display.pipes[data->pipe_id[i]]; > + data->primary[i] = igt_pipe_get_plane_type(data->pipe[i], > + DRM_PLANE_TYPE_PRIMARY); > + data->pipe_crc[i] = igt_pipe_crc_new(data->fd, > + data->pipe_id[i], > + IGT_PIPE_CRC_SOURCE_AUTO); Sorry, will fix this before merging. > + } > + > + for (i = 0, n = 0; i < display->n_outputs && n < display->n_pipes; ++i) { > + igt_output_t *output = &display->outputs[i]; > + > + data->output[n] = output; > + /* Only allow physically connected displays for the tests. */ > + if (!igt_output_is_connected(output)) > + continue; > + /* SubVP is only enabled on DP */ > + if (output->config.connector->connector_type != > + DRM_MODE_CONNECTOR_DisplayPort) > + continue; > + > + igt_assert(kmstest_get_connector_default_mode( > + data->fd, output->config.connector, &data->mode[n])); > + > + force_output_mode(data, data->output[n], &test_mode[0]); > + > + n += 1; > + } > + > + igt_require_f(n >= 2, "Requires at least two connected display\n"); > + > + igt_amd_get_subvp_status(data->fd, &subvp_capable, &subvp_en); > + igt_require_f(subvp_capable, "Requires hardware that supports Sub-viewport\n"); > + > + igt_display_reset(display); > +} > + > +/* Common test cleanup. */ > +static void test_fini(struct data *data) > +{ > + igt_display_t *display = &data->display; > + int i; > + > + for_each_pipe(display, i) { > + igt_pipe_crc_free(data->pipe_crc[i]); > + } > + > + igt_display_reset(display); > + igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, 0); > +} > + > +static void test_subvp(struct data *data) > +{ > + igt_display_t *display = &data->display; > + igt_fb_t rfb; > + bool subvp_supp, subvp_en; > + igt_output_t *output; > + int i; > + > + test_init(data); > + igt_enable_connectors(data->fd); > + > + for_each_pipe(&data->display, i) { > + /* Setup the output */ > + output = data->output[i]; > + if (!output || !igt_output_is_connected(output)) > + continue; > + > + igt_create_pattern_fb(data->fd, > + test_mode[0].hdisplay, > + test_mode[0].vdisplay, > + DRM_FORMAT_XRGB8888, > + 0, > + &rfb); > + > + igt_output_set_pipe(output, data->pipe_id[i]); > + igt_plane_set_fb(data->primary[i], &rfb); > + igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, 0); > + } > + > + > + igt_amd_get_subvp_status(data->fd, &subvp_supp, &subvp_en); > + igt_fail_on_f(!(subvp_supp && subvp_en), "SUBVP did not get enabled\n"); > + > + igt_remove_fb(data->fd, &rfb); > + test_fini(data); > +} > + > +igt_main > +{ > + struct data data; > + > + igt_skip_on_simulation(); > + > + memset(&data, 0, sizeof(data)); > + > + igt_fixture > + { > + data.fd = drm_open_driver_master(DRIVER_AMDGPU); > + igt_display_require(&data.display, data.fd); > + igt_display_require_output(&data.display); > + igt_require(data.display.is_atomic); > + > + kmstest_set_vt_graphics_mode(); > + } > + > + igt_describe("Tests whether system enables sub-viewport when a specific mode is committed"); > + igt_subtest("dual-4k60") test_subvp(&data); > + > + igt_fixture > + { > + igt_display_fini(&data.display); > + } > +} > diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build > index f52fc3645..efd911fab 100644 > --- a/tests/amdgpu/meson.build > +++ b/tests/amdgpu/meson.build > @@ -36,6 +36,7 @@ if libdrm_amdgpu.found() > 'amd_vrr_range', > 'amd_mall', > 'amd_odm', > + 'amd_subvp', > ] > if libdrm_amdgpu.version().version_compare('> 2.4.97') > amdgpu_progs +=[ 'amd_syncobj', ] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 5/5] test/amdgpu: Add test for Sub-viewport 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 5/5] test/amdgpu: Add test for Sub-viewport Aurabindo Pillai 2023-11-03 18:25 ` Aurabindo Pillai @ 2023-11-08 6:41 ` Alex Hung 1 sibling, 0 replies; 14+ messages in thread From: Alex Hung @ 2023-11-08 6:41 UTC (permalink / raw) To: Aurabindo Pillai, igt-dev; +Cc: hersenxs.wu Reviewed-by: Alex Hung <alex.hung@amd.com> On 2023-11-03 12:22, Aurabindo Pillai wrote: > Sub-viewport is a power saving feature found on DCN32/DCN321 > and newer dGPUs. > > Add a test that commit a high resolution test pattern on multiple > displays and checks whether Sub-viewport feature is engaged. > > Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> > --- > tests/amdgpu/amd_subvp.c | 180 +++++++++++++++++++++++++++++++++++++++ > tests/amdgpu/meson.build | 1 + > 2 files changed, 181 insertions(+) > create mode 100644 tests/amdgpu/amd_subvp.c > > diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c > new file mode 100644 > index 000000000..aa959441b > --- /dev/null > +++ b/tests/amdgpu/amd_subvp.c > @@ -0,0 +1,180 @@ > +// SPDX-License-Identifier: MIT > +/* > + * Copyright 2023 Advanced Micro Devices, Inc. > + */ > + > +#include <fcntl.h> > + > +#include "igt.h" > +#include "igt_amd.h" > +#include "igt_core.h" > + > +IGT_TEST_DESCRIPTION("Test enabling sub-viewport feature"); > + > +/* Common test data. */ > +struct data { > + igt_display_t display; > + igt_plane_t *primary[IGT_MAX_PIPES]; > + igt_output_t *output[IGT_MAX_PIPES]; > + igt_pipe_t *pipe[IGT_MAX_PIPES]; > + igt_pipe_crc_t *pipe_crc[IGT_MAX_PIPES]; > + drmModeModeInfo mode[IGT_MAX_PIPES]; > + enum pipe pipe_id[IGT_MAX_PIPES]; > + int fd; > +}; > + > +struct line_check { > + int found; > + const char *substr; > +}; > + > +static const drmModeModeInfo test_mode[] = { > + { 533250, > + 3840, 3888, 3920, 4000, 0, > + 2160, 2214, 2219, 2222, 0, > + 60, > + DRM_MODE_FLAG_NHSYNC, > + 0x48, > + "4k60\0", > + }, /* from LG Ultra HD, product_id = 5B09, serial_number = 1010101 */ > +}; > + > +/* Forces a mode for a connector. */ > +static void force_output_mode(struct data *d, igt_output_t *output, > + const drmModeModeInfo *mode) > +{ > + /* This allows us to create a virtual sink. */ > + if (!igt_output_is_connected(output)) { > + kmstest_force_edid(d->fd, output->config.connector, > + igt_kms_get_4k_edid()); > + > + kmstest_force_connector(d->fd, output->config.connector, > + FORCE_CONNECTOR_DIGITAL); > + } > + > + igt_output_override_mode(output, mode); > +} > + > +/* Common test setup. */ > +static void test_init(struct data *data) > +{ > + igt_display_t *display = &data->display; > + int i, n; > + bool subvp_capable = false; > + bool subvp_en = false; > + > + for_each_pipe(display, i) { > + data->pipe_id[i] = PIPE_A + i; > + data->pipe[i] = &data->display.pipes[data->pipe_id[i]]; > + data->primary[i] = igt_pipe_get_plane_type(data->pipe[i], > + DRM_PLANE_TYPE_PRIMARY); > + data->pipe_crc[i] = igt_pipe_crc_new(data->fd, > + data->pipe_id[i], > + IGT_PIPE_CRC_SOURCE_AUTO); > + } > + > + for (i = 0, n = 0; i < display->n_outputs && n < display->n_pipes; ++i) { > + igt_output_t *output = &display->outputs[i]; > + > + data->output[n] = output; > + /* Only allow physically connected displays for the tests. */ > + if (!igt_output_is_connected(output)) > + continue; > + /* SubVP is only enabled on DP */ > + if (output->config.connector->connector_type != > + DRM_MODE_CONNECTOR_DisplayPort) > + continue; > + > + igt_assert(kmstest_get_connector_default_mode( > + data->fd, output->config.connector, &data->mode[n])); > + > + force_output_mode(data, data->output[n], &test_mode[0]); > + > + n += 1; > + } > + > + igt_require_f(n >= 2, "Requires at least two connected display\n"); > + > + igt_amd_get_subvp_status(data->fd, &subvp_capable, &subvp_en); > + igt_require_f(subvp_capable, "Requires hardware that supports Sub-viewport\n"); > + > + igt_display_reset(display); > +} > + > +/* Common test cleanup. */ > +static void test_fini(struct data *data) > +{ > + igt_display_t *display = &data->display; > + int i; > + > + for_each_pipe(display, i) { > + igt_pipe_crc_free(data->pipe_crc[i]); > + } > + > + igt_display_reset(display); > + igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, 0); > +} > + > +static void test_subvp(struct data *data) > +{ > + igt_display_t *display = &data->display; > + igt_fb_t rfb; > + bool subvp_supp, subvp_en; > + igt_output_t *output; > + int i; > + > + test_init(data); > + igt_enable_connectors(data->fd); > + > + for_each_pipe(&data->display, i) { > + /* Setup the output */ > + output = data->output[i]; > + if (!output || !igt_output_is_connected(output)) > + continue; > + > + igt_create_pattern_fb(data->fd, > + test_mode[0].hdisplay, > + test_mode[0].vdisplay, > + DRM_FORMAT_XRGB8888, > + 0, > + &rfb); > + > + igt_output_set_pipe(output, data->pipe_id[i]); > + igt_plane_set_fb(data->primary[i], &rfb); > + igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, 0); > + } > + > + > + igt_amd_get_subvp_status(data->fd, &subvp_supp, &subvp_en); > + igt_fail_on_f(!(subvp_supp && subvp_en), "SUBVP did not get enabled\n"); > + > + igt_remove_fb(data->fd, &rfb); > + test_fini(data); > +} > + > +igt_main > +{ > + struct data data; > + > + igt_skip_on_simulation(); > + > + memset(&data, 0, sizeof(data)); > + > + igt_fixture > + { > + data.fd = drm_open_driver_master(DRIVER_AMDGPU); > + igt_display_require(&data.display, data.fd); > + igt_display_require_output(&data.display); > + igt_require(data.display.is_atomic); > + > + kmstest_set_vt_graphics_mode(); > + } > + > + igt_describe("Tests whether system enables sub-viewport when a specific mode is committed"); > + igt_subtest("dual-4k60") test_subvp(&data); > + > + igt_fixture > + { > + igt_display_fini(&data.display); > + } > +} > diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build > index f52fc3645..efd911fab 100644 > --- a/tests/amdgpu/meson.build > +++ b/tests/amdgpu/meson.build > @@ -36,6 +36,7 @@ if libdrm_amdgpu.found() > 'amd_vrr_range', > 'amd_mall', > 'amd_odm', > + 'amd_subvp', > ] > if libdrm_amdgpu.version().version_compare('> 2.4.97') > amdgpu_progs +=[ 'amd_syncobj', ] ^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for Add a new test for Sub-viewport 2023-11-03 18:22 [igt-dev] [PATCH i-g-t v2 0/5] Add a new test for Sub-viewport Aurabindo Pillai ` (4 preceding siblings ...) 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 5/5] test/amdgpu: Add test for Sub-viewport Aurabindo Pillai @ 2023-11-03 19:31 ` Patchwork 2023-11-06 20:00 ` [igt-dev] [PATCH i-g-t v2 0/5] " Aurabindo Pillai 6 siblings, 0 replies; 14+ messages in thread From: Patchwork @ 2023-11-03 19:31 UTC (permalink / raw) To: Aurabindo Pillai; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 10820 bytes --] == Series Details == Series: Add a new test for Sub-viewport URL : https://patchwork.freedesktop.org/series/125969/ State : failure == Summary == CI Bug Log - changes from CI_DRM_13835 -> IGTPW_10116 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_10116 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_10116, please notify your bug team (lgci.bug.filing@intel.com) to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/index.html Participating hosts (36 -> 33) ------------------------------ Additional (1): bat-dg2-9 Missing (4): bat-mtlp-8 bat-kbl-2 bat-jsl-1 fi-snb-2520m Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_10116: ### IGT changes ### #### Possible regressions #### * igt@i915_selftest@live@gtt: - fi-hsw-4770: NOTRUN -> [INCOMPLETE][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/fi-hsw-4770/igt@i915_selftest@live@gtt.html Known issues ------------ Here are the changes found in IGTPW_10116 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_suspend@basic-s0@lmem0: - bat-dg2-9: NOTRUN -> [INCOMPLETE][2] ([i915#9275]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@gem_exec_suspend@basic-s0@lmem0.html * igt@gem_lmem_swapping@verify-random: - fi-hsw-4770: NOTRUN -> [SKIP][3] ([fdo#109271]) +3 other tests skip [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/fi-hsw-4770/igt@gem_lmem_swapping@verify-random.html * igt@gem_mmap@basic: - bat-dg2-9: NOTRUN -> [SKIP][4] ([i915#4083]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@gem_mmap@basic.html * igt@gem_mmap_gtt@basic: - bat-dg2-9: NOTRUN -> [SKIP][5] ([i915#4077]) +2 other tests skip [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@gem_mmap_gtt@basic.html * igt@gem_render_tiled_blits@basic: - bat-dg2-9: NOTRUN -> [SKIP][6] ([i915#4079]) +1 other test skip [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@gem_render_tiled_blits@basic.html * igt@i915_pm_rps@basic-api: - bat-dg2-9: NOTRUN -> [SKIP][7] ([i915#6621]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@i915_pm_rps@basic-api.html * igt@i915_selftest@live@hangcheck: - fi-skl-guc: [PASS][8] -> [DMESG-FAIL][9] ([i915#9549]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13835/fi-skl-guc/igt@i915_selftest@live@hangcheck.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/fi-skl-guc/igt@i915_selftest@live@hangcheck.html * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy: - bat-dg2-9: NOTRUN -> [SKIP][10] ([i915#5190]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html * igt@kms_addfb_basic@basic-y-tiled-legacy: - bat-dg2-9: NOTRUN -> [SKIP][11] ([i915#4215] / [i915#5190]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html * igt@kms_addfb_basic@framebuffer-vs-set-tiling: - bat-dg2-9: NOTRUN -> [SKIP][12] ([i915#4212]) +6 other tests skip [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html * igt@kms_addfb_basic@tile-pitch-mismatch: - bat-dg2-9: NOTRUN -> [SKIP][13] ([i915#4212] / [i915#5608]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@kms_addfb_basic@tile-pitch-mismatch.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - bat-dg2-9: NOTRUN -> [SKIP][14] ([i915#4103] / [i915#4213] / [i915#5608]) +1 other test skip [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_force_connector_basic@force-load-detect: - bat-dg2-9: NOTRUN -> [SKIP][15] ([fdo#109285]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_force_connector_basic@prune-stale-modes: - bat-dg2-9: NOTRUN -> [SKIP][16] ([i915#5274]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@kms_force_connector_basic@prune-stale-modes.html * igt@kms_psr@sprite_plane_onoff: - bat-dg2-9: NOTRUN -> [SKIP][17] ([i915#1072]) +3 other tests skip [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@kms_psr@sprite_plane_onoff.html * igt@kms_setmode@basic-clone-single-crtc: - bat-dg2-9: NOTRUN -> [SKIP][18] ([i915#3555] / [i915#4098]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@kms_setmode@basic-clone-single-crtc.html * igt@prime_vgem@basic-fence-flip: - bat-dg2-9: NOTRUN -> [SKIP][19] ([i915#3708]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@prime_vgem@basic-fence-flip.html * igt@prime_vgem@basic-fence-mmap: - bat-dg2-9: NOTRUN -> [SKIP][20] ([i915#3708] / [i915#4077]) +1 other test skip [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@prime_vgem@basic-fence-mmap.html * igt@prime_vgem@basic-write: - bat-dg2-9: NOTRUN -> [SKIP][21] ([i915#3291] / [i915#3708]) +2 other tests skip [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-dg2-9/igt@prime_vgem@basic-write.html #### Possible fixes #### * igt@i915_selftest@live@gt_heartbeat: - fi-apl-guc: [DMESG-FAIL][22] ([i915#5334]) -> [PASS][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13835/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html * igt@kms_hdmi_inject@inject-audio: - fi-kbl-guc: [FAIL][24] ([IGT#3]) -> [PASS][25] [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13835/fi-kbl-guc/igt@kms_hdmi_inject@inject-audio.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/fi-kbl-guc/igt@kms_hdmi_inject@inject-audio.html * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-b-dp-5: - bat-adlp-11: [DMESG-FAIL][26] ([i915#6868]) -> [PASS][27] [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13835/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-b-dp-5.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-b-dp-5.html * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-c-dp-5: - bat-adlp-11: [FAIL][28] ([i915#9047]) -> [PASS][29] [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13835/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-c-dp-5.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-c-dp-5.html * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-dp-5: - bat-adlp-11: [ABORT][30] ([i915#8668]) -> [PASS][31] [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13835/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-dp-5.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-dp-5.html * igt@vgem_basic@unload: - fi-hsw-4770: [INCOMPLETE][32] -> [PASS][33] [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13835/fi-hsw-4770/igt@vgem_basic@unload.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/fi-hsw-4770/igt@vgem_basic@unload.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#3]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/3 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#5608]: https://gitlab.freedesktop.org/drm/intel/issues/5608 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6868]: https://gitlab.freedesktop.org/drm/intel/issues/6868 [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668 [i915#9047]: https://gitlab.freedesktop.org/drm/intel/issues/9047 [i915#9275]: https://gitlab.freedesktop.org/drm/intel/issues/9275 [i915#9549]: https://gitlab.freedesktop.org/drm/intel/issues/9549 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7573 -> IGTPW_10116 CI-20190529: 20190529 CI_DRM_13835: ca1fcd4faf444fc6d8b3cf88a17e2eb7765c1299 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_10116: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/index.html IGT_7573: 69485d223b256208614e9949a4a7e84bde52d5f5 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Testlist changes ---------------- -igt@xe_mmap@cpu-caching -igt@xe_pat@pat-index-all -igt@xe_pat@pat-index-xe2 -igt@xe_pat@pat-index-xehpc -igt@xe_pat@pat-index-xelp -igt@xe_pat@pat-index-xelpg -igt@xe_pat@userptr-coh-none == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10116/index.html [-- Attachment #2: Type: text/html, Size: 12396 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 0/5] Add a new test for Sub-viewport 2023-11-03 18:22 [igt-dev] [PATCH i-g-t v2 0/5] Add a new test for Sub-viewport Aurabindo Pillai ` (5 preceding siblings ...) 2023-11-03 19:31 ` [igt-dev] ✗ Fi.CI.BAT: failure for Add a new " Patchwork @ 2023-11-06 20:00 ` Aurabindo Pillai 6 siblings, 0 replies; 14+ messages in thread From: Aurabindo Pillai @ 2023-11-06 20:00 UTC (permalink / raw) To: igt-dev, kamil.konieczny; +Cc: hersenxs.wu On 2023-11-03 14:22, Aurabindo Pillai wrote: > Changes in v2 > ================= > > * Removed an unused struct definition > * Fixes style issues reported by checkpatch.pl > * Added SPDX license identifier to the new test > * Fixed #include order for system includes > > --- > > Aurabindo Pillai (5): > lib/amdgpu: Remove unused struct > llib/amd: Update function documentation > lib/amd: improve readablity for MALL capability check > lib/amd: Add check for SubVP feature status > test/amdgpu: Add test for Sub-viewport > > lib/igt_amd.c | 44 ++++++++-- > lib/igt_amd.h | 1 + > tests/amdgpu/amd_subvp.c | 180 +++++++++++++++++++++++++++++++++++++++ > tests/amdgpu/meson.build | 1 + > 4 files changed, 217 insertions(+), 9 deletions(-) > create mode 100644 tests/amdgpu/amd_subvp.c > Hi Kamil, Any other concerns? ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-11-08 6:41 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-11-03 18:22 [igt-dev] [PATCH i-g-t v2 0/5] Add a new test for Sub-viewport Aurabindo Pillai 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 1/5] lib/amdgpu: Remove unused struct Aurabindo Pillai 2023-11-08 6:38 ` Alex Hung 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 2/5] llib/amd: Update function documentation Aurabindo Pillai 2023-11-08 6:38 ` Alex Hung 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 3/5] lib/amd: improve readablity for MALL capability check Aurabindo Pillai 2023-11-08 6:39 ` Alex Hung 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 4/5] lib/amd: Add check for SubVP feature status Aurabindo Pillai 2023-11-08 6:40 ` Alex Hung 2023-11-03 18:22 ` [igt-dev] [PATCH i-g-t v2 5/5] test/amdgpu: Add test for Sub-viewport Aurabindo Pillai 2023-11-03 18:25 ` Aurabindo Pillai 2023-11-08 6:41 ` Alex Hung 2023-11-03 19:31 ` [igt-dev] ✗ Fi.CI.BAT: failure for Add a new " Patchwork 2023-11-06 20:00 ` [igt-dev] [PATCH i-g-t v2 0/5] " Aurabindo Pillai
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox