* [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs
2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
@ 2017-11-16 12:45 ` Maarten Lankhorst
2017-11-18 0:14 ` Lyude Paul
2017-11-16 12:45 ` [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once Maarten Lankhorst
` (7 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 12:45 UTC (permalink / raw)
To: intel-gfx
igt_output_from_connector should be used for disconnected outputs
too, this is useful for chamelium testing, where disconnected outputs
may reappear.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
lib/igt_kms.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 239f4f17d22e..fe0ef2bd6f38 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1884,9 +1884,13 @@ igt_output_t *igt_output_from_connector(igt_display_t *display,
drmModeConnector *connector)
{
igt_output_t *output, *found = NULL;
+ int i;
+
+ for (i = 0; i < display->n_outputs; i++) {
+ output = &display->outputs[i];
- for_each_connected_output(display, output) {
- if (output->config.connector->connector_id ==
+ if (output->config.connector &&
+ output->config.connector->connector_id ==
connector->connector_id) {
found = output;
break;
--
2.15.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs
2017-11-16 12:45 ` [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs Maarten Lankhorst
@ 2017-11-18 0:14 ` Lyude Paul
0 siblings, 0 replies; 15+ messages in thread
From: Lyude Paul @ 2017-11-18 0:14 UTC (permalink / raw)
To: Maarten Lankhorst, intel-gfx
Reviewed-by: Lyude Paul <lyude@redhat.com>
On Thu, 2017-11-16 at 13:45 +0100, Maarten Lankhorst wrote:
> igt_output_from_connector should be used for disconnected outputs
> too, this is useful for chamelium testing, where disconnected outputs
> may reappear.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> lib/igt_kms.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 239f4f17d22e..fe0ef2bd6f38 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1884,9 +1884,13 @@ igt_output_t *igt_output_from_connector(igt_display_t
> *display,
> drmModeConnector *connector)
> {
> igt_output_t *output, *found = NULL;
> + int i;
> +
> + for (i = 0; i < display->n_outputs; i++) {
> + output = &display->outputs[i];
>
> - for_each_connected_output(display, output) {
> - if (output->config.connector->connector_id ==
> + if (output->config.connector &&
> + output->config.connector->connector_id ==
> connector->connector_id) {
> found = output;
> break;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once
2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
2017-11-16 12:45 ` [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs Maarten Lankhorst
@ 2017-11-16 12:45 ` Maarten Lankhorst
2017-11-18 0:05 ` Lyude Paul
2017-11-16 12:45 ` [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium Maarten Lankhorst
` (6 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 12:45 UTC (permalink / raw)
To: intel-gfx
Instead of first calling kmstest_unset_all_crtcs, and calling
igt_display_init for each test, use igt_display_reset to reset
igt_display between tests, and use atomic commit to disable all
unused crtcs in enable_output().
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
tests/chamelium.c | 45 ++++++++++++---------------------------------
1 file changed, 12 insertions(+), 33 deletions(-)
diff --git a/tests/chamelium.c b/tests/chamelium.c
index d4a185e76873..8855a8300049 100644
--- a/tests/chamelium.c
+++ b/tests/chamelium.c
@@ -33,6 +33,7 @@
typedef struct {
struct chamelium *chamelium;
struct chamelium_port **ports;
+ igt_display_t display;
int port_count;
int drm_fd;
@@ -409,9 +410,9 @@ test_suspend_resume_edid_change(data_t *data, struct chamelium_port *port,
static igt_output_t *
prepare_output(data_t *data,
- igt_display_t *display,
struct chamelium_port *port)
{
+ igt_display_t *display = &data->display;
igt_output_t *output;
drmModeRes *res;
drmModeConnector *connector =
@@ -420,7 +421,6 @@ prepare_output(data_t *data,
bool found = false;
igt_assert(res = drmModeGetResources(data->drm_fd));
- kmstest_unset_all_crtcs(data->drm_fd, res);
/* The chamelium's default EDID has a lot of resolutions, way more then
* we need to test
@@ -430,11 +430,9 @@ prepare_output(data_t *data,
chamelium_plug(data->chamelium, port);
wait_for_connector(data, port, DRM_MODE_CONNECTED);
- igt_display_init(display, data->drm_fd);
- output = igt_output_from_connector(display, connector);
+ igt_display_reset(display);
- igt_assert(kmstest_probe_connector_config(
- data->drm_fd, connector->connector_id, ~0, &output->config));
+ output = igt_output_from_connector(display, connector);
for_each_pipe(display, pipe) {
if (!igt_pipe_connector_valid(pipe, output))
@@ -477,7 +475,7 @@ enable_output(data_t *data,
igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM, NULL, 0);
- igt_display_commit(display);
+ igt_display_commit2(display, COMMIT_ATOMIC);
if (chamelium_port_get_type(port) == DRM_MODE_CONNECTOR_VGA)
usleep(250000);
@@ -485,25 +483,10 @@ enable_output(data_t *data,
drmModeFreeConnector(connector);
}
-static void
-disable_output(data_t *data,
- struct chamelium_port *port,
- igt_output_t *output)
-{
- igt_display_t *display = output->display;
- igt_plane_t *primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
- igt_assert(primary);
-
- /* Disable the display */
- igt_plane_set_fb(primary, NULL);
- igt_display_commit(display);
-}
-
static void
test_display_crc(data_t *data, struct chamelium_port *port, int count,
bool fast)
{
- igt_display_t display;
igt_output_t *output;
igt_plane_t *primary;
igt_crc_t *crc;
@@ -517,7 +500,7 @@ test_display_crc(data_t *data, struct chamelium_port *port, int count,
reset_state(data, port);
- output = prepare_output(data, &display, port);
+ output = prepare_output(data, port);
connector = chamelium_port_get_connector(data->chamelium, port, false);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_assert(primary);
@@ -561,18 +544,15 @@ test_display_crc(data_t *data, struct chamelium_port *port, int count,
free(expected_crc);
free(crc);
- disable_output(data, port, output);
igt_remove_fb(data->drm_fd, &fb);
}
drmModeFreeConnector(connector);
- igt_display_fini(&display);
}
static void
test_display_frame_dump(data_t *data, struct chamelium_port *port)
{
- igt_display_t display;
igt_output_t *output;
igt_plane_t *primary;
struct igt_fb fb;
@@ -583,7 +563,7 @@ test_display_frame_dump(data_t *data, struct chamelium_port *port)
reset_state(data, port);
- output = prepare_output(data, &display, port);
+ output = prepare_output(data, port);
connector = chamelium_port_get_connector(data->chamelium, port, false);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_assert(primary);
@@ -608,18 +588,15 @@ test_display_frame_dump(data_t *data, struct chamelium_port *port)
chamelium_destroy_frame_dump(frame);
}
- disable_output(data, port, output);
igt_remove_fb(data->drm_fd, &fb);
}
drmModeFreeConnector(connector);
- igt_display_fini(&display);
}
static void
test_analog_frame_dump(data_t *data, struct chamelium_port *port)
{
- igt_display_t display;
igt_output_t *output;
igt_plane_t *primary;
struct igt_fb fb;
@@ -631,7 +608,7 @@ test_analog_frame_dump(data_t *data, struct chamelium_port *port)
reset_state(data, port);
- output = prepare_output(data, &display, port);
+ output = prepare_output(data, port);
connector = chamelium_port_get_connector(data->chamelium, port, false);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_assert(primary);
@@ -666,12 +643,10 @@ test_analog_frame_dump(data_t *data, struct chamelium_port *port)
chamelium_destroy_frame_dump(frame);
- disable_output(data, port, output);
igt_remove_fb(data->drm_fd, &fb);
}
drmModeFreeConnector(connector);
- igt_display_fini(&display);
}
static void
@@ -773,6 +748,9 @@ igt_main
/* So fbcon doesn't try to reprobe things itself */
kmstest_set_vt_graphics_mode();
+
+ igt_display_init(&data.display, data.drm_fd);
+ igt_require(data.display.is_atomic);
}
igt_subtest_group {
@@ -952,6 +930,7 @@ igt_main
}
igt_fixture {
+ igt_display_fini(&data.display);
close(data.drm_fd);
}
}
--
2.15.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once
2017-11-16 12:45 ` [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once Maarten Lankhorst
@ 2017-11-18 0:05 ` Lyude Paul
0 siblings, 0 replies; 15+ messages in thread
From: Lyude Paul @ 2017-11-18 0:05 UTC (permalink / raw)
To: Maarten Lankhorst, intel-gfx
Reviewed-by: Lyude Paul <lyude@redhat.com>
On Thu, 2017-11-16 at 13:45 +0100, Maarten Lankhorst wrote:
> Instead of first calling kmstest_unset_all_crtcs, and calling
> igt_display_init for each test, use igt_display_reset to reset
> igt_display between tests, and use atomic commit to disable all
> unused crtcs in enable_output().
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> tests/chamelium.c | 45 ++++++++++++---------------------------------
> 1 file changed, 12 insertions(+), 33 deletions(-)
>
> diff --git a/tests/chamelium.c b/tests/chamelium.c
> index d4a185e76873..8855a8300049 100644
> --- a/tests/chamelium.c
> +++ b/tests/chamelium.c
> @@ -33,6 +33,7 @@
> typedef struct {
> struct chamelium *chamelium;
> struct chamelium_port **ports;
> + igt_display_t display;
> int port_count;
>
> int drm_fd;
> @@ -409,9 +410,9 @@ test_suspend_resume_edid_change(data_t *data, struct
> chamelium_port *port,
>
> static igt_output_t *
> prepare_output(data_t *data,
> - igt_display_t *display,
> struct chamelium_port *port)
> {
> + igt_display_t *display = &data->display;
> igt_output_t *output;
> drmModeRes *res;
> drmModeConnector *connector =
> @@ -420,7 +421,6 @@ prepare_output(data_t *data,
> bool found = false;
>
> igt_assert(res = drmModeGetResources(data->drm_fd));
> - kmstest_unset_all_crtcs(data->drm_fd, res);
>
> /* The chamelium's default EDID has a lot of resolutions, way more
> then
> * we need to test
> @@ -430,11 +430,9 @@ prepare_output(data_t *data,
> chamelium_plug(data->chamelium, port);
> wait_for_connector(data, port, DRM_MODE_CONNECTED);
>
> - igt_display_init(display, data->drm_fd);
> - output = igt_output_from_connector(display, connector);
> + igt_display_reset(display);
>
> - igt_assert(kmstest_probe_connector_config(
> - data->drm_fd, connector->connector_id, ~0, &output-
> >config));
> + output = igt_output_from_connector(display, connector);
>
> for_each_pipe(display, pipe) {
> if (!igt_pipe_connector_valid(pipe, output))
> @@ -477,7 +475,7 @@ enable_output(data_t *data,
> igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT,
> NULL, 0);
> igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM, NULL,
> 0);
>
> - igt_display_commit(display);
> + igt_display_commit2(display, COMMIT_ATOMIC);
>
> if (chamelium_port_get_type(port) == DRM_MODE_CONNECTOR_VGA)
> usleep(250000);
> @@ -485,25 +483,10 @@ enable_output(data_t *data,
> drmModeFreeConnector(connector);
> }
>
> -static void
> -disable_output(data_t *data,
> - struct chamelium_port *port,
> - igt_output_t *output)
> -{
> - igt_display_t *display = output->display;
> - igt_plane_t *primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> - igt_assert(primary);
> -
> - /* Disable the display */
> - igt_plane_set_fb(primary, NULL);
> - igt_display_commit(display);
> -}
> -
> static void
> test_display_crc(data_t *data, struct chamelium_port *port, int count,
> bool fast)
> {
> - igt_display_t display;
> igt_output_t *output;
> igt_plane_t *primary;
> igt_crc_t *crc;
> @@ -517,7 +500,7 @@ test_display_crc(data_t *data, struct chamelium_port
> *port, int count,
>
> reset_state(data, port);
>
> - output = prepare_output(data, &display, port);
> + output = prepare_output(data, port);
> connector = chamelium_port_get_connector(data->chamelium, port,
> false);
> primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> igt_assert(primary);
> @@ -561,18 +544,15 @@ test_display_crc(data_t *data, struct chamelium_port
> *port, int count,
> free(expected_crc);
> free(crc);
>
> - disable_output(data, port, output);
> igt_remove_fb(data->drm_fd, &fb);
> }
>
> drmModeFreeConnector(connector);
> - igt_display_fini(&display);
> }
>
> static void
> test_display_frame_dump(data_t *data, struct chamelium_port *port)
> {
> - igt_display_t display;
> igt_output_t *output;
> igt_plane_t *primary;
> struct igt_fb fb;
> @@ -583,7 +563,7 @@ test_display_frame_dump(data_t *data, struct
> chamelium_port *port)
>
> reset_state(data, port);
>
> - output = prepare_output(data, &display, port);
> + output = prepare_output(data, port);
> connector = chamelium_port_get_connector(data->chamelium, port,
> false);
> primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> igt_assert(primary);
> @@ -608,18 +588,15 @@ test_display_frame_dump(data_t *data, struct
> chamelium_port *port)
> chamelium_destroy_frame_dump(frame);
> }
>
> - disable_output(data, port, output);
> igt_remove_fb(data->drm_fd, &fb);
> }
>
> drmModeFreeConnector(connector);
> - igt_display_fini(&display);
> }
>
> static void
> test_analog_frame_dump(data_t *data, struct chamelium_port *port)
> {
> - igt_display_t display;
> igt_output_t *output;
> igt_plane_t *primary;
> struct igt_fb fb;
> @@ -631,7 +608,7 @@ test_analog_frame_dump(data_t *data, struct
> chamelium_port *port)
>
> reset_state(data, port);
>
> - output = prepare_output(data, &display, port);
> + output = prepare_output(data, port);
> connector = chamelium_port_get_connector(data->chamelium, port,
> false);
> primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> igt_assert(primary);
> @@ -666,12 +643,10 @@ test_analog_frame_dump(data_t *data, struct
> chamelium_port *port)
>
> chamelium_destroy_frame_dump(frame);
>
> - disable_output(data, port, output);
> igt_remove_fb(data->drm_fd, &fb);
> }
>
> drmModeFreeConnector(connector);
> - igt_display_fini(&display);
> }
>
> static void
> @@ -773,6 +748,9 @@ igt_main
>
> /* So fbcon doesn't try to reprobe things itself */
> kmstest_set_vt_graphics_mode();
> +
> + igt_display_init(&data.display, data.drm_fd);
> + igt_require(data.display.is_atomic);
> }
>
> igt_subtest_group {
> @@ -952,6 +930,7 @@ igt_main
> }
>
> igt_fixture {
> + igt_display_fini(&data.display);
> close(data.drm_fd);
> }
> }
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium.
2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
2017-11-16 12:45 ` [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs Maarten Lankhorst
2017-11-16 12:45 ` [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once Maarten Lankhorst
@ 2017-11-16 12:45 ` Maarten Lankhorst
2017-11-18 0:42 ` Lyude Paul
2017-11-16 13:44 ` ✗ Fi.CI.BAT: failure for series starting with [1/4] lib/igt_kms: Add igt_display_reset function Patchwork
` (5 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 12:45 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
tests/Makefile.am | 6 +++---
tests/intel-ci/fast-feedback.testlist | 18 +++++++++---------
tests/{chamelium.c => kms_chamelium.c} | 0
tests/meson.build | 2 +-
4 files changed, 13 insertions(+), 13 deletions(-)
rename tests/{chamelium.c => kms_chamelium.c} (100%)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 89a970153992..db360523dad6 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -16,7 +16,7 @@ endif
if HAVE_CHAMELIUM
TESTS_progs += \
- chamelium \
+ kms_chamelium \
$(NULL)
endif
@@ -153,8 +153,8 @@ vc4_wait_bo_LDADD = $(LDADD) $(DRM_VC4_LIBS)
vc4_wait_seqno_CFLAGS = $(AM_CFLAGS) $(DRM_VC4_CFLAGS)
vc4_wait_seqno_LDADD = $(LDADD) $(DRM_VC4_LIBS)
-chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
-chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
+kms_chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
+kms_chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
audio_CFLAGS = $(AM_CFLAGS) $(ALSA_CFLAGS)
audio_LDADD = $(LDADD) $(ALSA_LIBS)
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index bf8c1e663801..f74da743ce88 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,14 +1,5 @@
# Keep alphabetically sorted by default
-igt@chamelium@dp-hpd-fast
-igt@chamelium@dp-edid-read
-igt@chamelium@dp-crc-fast
-igt@chamelium@hdmi-hpd-fast
-igt@chamelium@hdmi-edid-read
-igt@chamelium@hdmi-crc-fast
-igt@chamelium@vga-hpd-fast
-igt@chamelium@vga-edid-read
-igt@chamelium@common-hpd-after-suspend
igt@core_auth@basic-auth
igt@core_prop_blob@basic
igt@debugfs_test@read_all_entries
@@ -208,6 +199,15 @@ igt@kms_addfb_basic@unused-pitches
igt@kms_busy@basic-flip-a
igt@kms_busy@basic-flip-b
igt@kms_busy@basic-flip-c
+igt@kms_chamelium@dp-hpd-fast
+igt@kms_chamelium@dp-edid-read
+igt@kms_chamelium@dp-crc-fast
+igt@kms_chamelium@hdmi-hpd-fast
+igt@kms_chamelium@hdmi-edid-read
+igt@kms_chamelium@hdmi-crc-fast
+igt@kms_chamelium@vga-hpd-fast
+igt@kms_chamelium@vga-edid-read
+igt@kms_chamelium@common-hpd-after-suspend
igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
igt@kms_cursor_legacy@basic-flip-after-cursor-atomic
diff --git a/tests/chamelium.c b/tests/kms_chamelium.c
similarity index 100%
rename from tests/chamelium.c
rename to tests/kms_chamelium.c
diff --git a/tests/meson.build b/tests/meson.build
index c3d5372f78ac..20ff79dcb15f 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -251,7 +251,7 @@ endif
if chamelium.found()
test_progs += [
- 'chamelium',
+ 'kms_chamelium',
]
test_deps += chamelium
endif
--
2.15.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium.
2017-11-16 12:45 ` [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium Maarten Lankhorst
@ 2017-11-18 0:42 ` Lyude Paul
2017-11-21 14:13 ` Maarten Lankhorst
0 siblings, 1 reply; 15+ messages in thread
From: Lyude Paul @ 2017-11-18 0:42 UTC (permalink / raw)
To: Maarten Lankhorst, intel-gfx
Reviewed-by: Lyude Paul <lyude@redhat.com>
On Thu, 2017-11-16 at 13:45 +0100, Maarten Lankhorst wrote:
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> tests/Makefile.am | 6 +++---
> tests/intel-ci/fast-feedback.testlist | 18 +++++++++---------
> tests/{chamelium.c => kms_chamelium.c} | 0
> tests/meson.build | 2 +-
> 4 files changed, 13 insertions(+), 13 deletions(-)
> rename tests/{chamelium.c => kms_chamelium.c} (100%)
>
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 89a970153992..db360523dad6 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -16,7 +16,7 @@ endif
>
> if HAVE_CHAMELIUM
> TESTS_progs += \
> - chamelium \
> + kms_chamelium \
> $(NULL)
> endif
>
> @@ -153,8 +153,8 @@ vc4_wait_bo_LDADD = $(LDADD) $(DRM_VC4_LIBS)
> vc4_wait_seqno_CFLAGS = $(AM_CFLAGS) $(DRM_VC4_CFLAGS)
> vc4_wait_seqno_LDADD = $(LDADD) $(DRM_VC4_LIBS)
>
> -chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
> -chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
> +kms_chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
> +kms_chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
>
> audio_CFLAGS = $(AM_CFLAGS) $(ALSA_CFLAGS)
> audio_LDADD = $(LDADD) $(ALSA_LIBS)
> diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-
> feedback.testlist
> index bf8c1e663801..f74da743ce88 100644
> --- a/tests/intel-ci/fast-feedback.testlist
> +++ b/tests/intel-ci/fast-feedback.testlist
> @@ -1,14 +1,5 @@
> # Keep alphabetically sorted by default
>
> -igt@chamelium@dp-hpd-fast
> -igt@chamelium@dp-edid-read
> -igt@chamelium@dp-crc-fast
> -igt@chamelium@hdmi-hpd-fast
> -igt@chamelium@hdmi-edid-read
> -igt@chamelium@hdmi-crc-fast
> -igt@chamelium@vga-hpd-fast
> -igt@chamelium@vga-edid-read
> -igt@chamelium@common-hpd-after-suspend
> igt@core_auth@basic-auth
> igt@core_prop_blob@basic
> igt@debugfs_test@read_all_entries
> @@ -208,6 +199,15 @@ igt@kms_addfb_basic@unused-pitches
> igt@kms_busy@basic-flip-a
> igt@kms_busy@basic-flip-b
> igt@kms_busy@basic-flip-c
> +igt@kms_chamelium@dp-hpd-fast
> +igt@kms_chamelium@dp-edid-read
> +igt@kms_chamelium@dp-crc-fast
> +igt@kms_chamelium@hdmi-hpd-fast
> +igt@kms_chamelium@hdmi-edid-read
> +igt@kms_chamelium@hdmi-crc-fast
> +igt@kms_chamelium@vga-hpd-fast
> +igt@kms_chamelium@vga-edid-read
> +igt@kms_chamelium@common-hpd-after-suspend
> igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
> igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
> igt@kms_cursor_legacy@basic-flip-after-cursor-atomic
> diff --git a/tests/chamelium.c b/tests/kms_chamelium.c
> similarity index 100%
> rename from tests/chamelium.c
> rename to tests/kms_chamelium.c
> diff --git a/tests/meson.build b/tests/meson.build
> index c3d5372f78ac..20ff79dcb15f 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -251,7 +251,7 @@ endif
>
> if chamelium.found()
> test_progs += [
> - 'chamelium',
> + 'kms_chamelium',
> ]
> test_deps += chamelium
> endif
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium.
2017-11-18 0:42 ` Lyude Paul
@ 2017-11-21 14:13 ` Maarten Lankhorst
0 siblings, 0 replies; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-21 14:13 UTC (permalink / raw)
To: Lyude Paul, intel-gfx
Op 18-11-17 om 01:42 schreef Lyude Paul:
> Reviewed-by: Lyude Paul <lyude@redhat.com>
>
> On Thu, 2017-11-16 at 13:45 +0100, Maarten Lankhorst wrote:
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> ---
>> tests/Makefile.am | 6 +++---
>> tests/intel-ci/fast-feedback.testlist | 18 +++++++++---------
>> tests/{chamelium.c => kms_chamelium.c} | 0
>> tests/meson.build | 2 +-
>> 4 files changed, 13 insertions(+), 13 deletions(-)
>> rename tests/{chamelium.c => kms_chamelium.c} (100%)
>>
>> diff --git a/tests/Makefile.am b/tests/Makefile.am
>> index 89a970153992..db360523dad6 100644
>> --- a/tests/Makefile.am
>> +++ b/tests/Makefile.am
>> @@ -16,7 +16,7 @@ endif
>>
>> if HAVE_CHAMELIUM
>> TESTS_progs += \
>> - chamelium \
>> + kms_chamelium \
>> $(NULL)
>> endif
>>
>> @@ -153,8 +153,8 @@ vc4_wait_bo_LDADD = $(LDADD) $(DRM_VC4_LIBS)
>> vc4_wait_seqno_CFLAGS = $(AM_CFLAGS) $(DRM_VC4_CFLAGS)
>> vc4_wait_seqno_LDADD = $(LDADD) $(DRM_VC4_LIBS)
>>
>> -chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
>> -chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
>> +kms_chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
>> +kms_chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
>>
>> audio_CFLAGS = $(AM_CFLAGS) $(ALSA_CFLAGS)
>> audio_LDADD = $(LDADD) $(ALSA_LIBS)
>> diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-
>> feedback.testlist
>> index bf8c1e663801..f74da743ce88 100644
>> --- a/tests/intel-ci/fast-feedback.testlist
>> +++ b/tests/intel-ci/fast-feedback.testlist
>> @@ -1,14 +1,5 @@
>> # Keep alphabetically sorted by default
>>
>> -igt@chamelium@dp-hpd-fast
>> -igt@chamelium@dp-edid-read
>> -igt@chamelium@dp-crc-fast
>> -igt@chamelium@hdmi-hpd-fast
>> -igt@chamelium@hdmi-edid-read
>> -igt@chamelium@hdmi-crc-fast
>> -igt@chamelium@vga-hpd-fast
>> -igt@chamelium@vga-edid-read
>> -igt@chamelium@common-hpd-after-suspend
>> igt@core_auth@basic-auth
>> igt@core_prop_blob@basic
>> igt@debugfs_test@read_all_entries
>> @@ -208,6 +199,15 @@ igt@kms_addfb_basic@unused-pitches
>> igt@kms_busy@basic-flip-a
>> igt@kms_busy@basic-flip-b
>> igt@kms_busy@basic-flip-c
>> +igt@kms_chamelium@dp-hpd-fast
>> +igt@kms_chamelium@dp-edid-read
>> +igt@kms_chamelium@dp-crc-fast
>> +igt@kms_chamelium@hdmi-hpd-fast
>> +igt@kms_chamelium@hdmi-edid-read
>> +igt@kms_chamelium@hdmi-crc-fast
>> +igt@kms_chamelium@vga-hpd-fast
>> +igt@kms_chamelium@vga-edid-read
>> +igt@kms_chamelium@common-hpd-after-suspend
>> igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
>> igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
>> igt@kms_cursor_legacy@basic-flip-after-cursor-atomic
>> diff --git a/tests/chamelium.c b/tests/kms_chamelium.c
>> similarity index 100%
>> rename from tests/chamelium.c
>> rename to tests/kms_chamelium.c
>> diff --git a/tests/meson.build b/tests/meson.build
>> index c3d5372f78ac..20ff79dcb15f 100644
>> --- a/tests/meson.build
>> +++ b/tests/meson.build
>> @@ -251,7 +251,7 @@ endif
>>
>> if chamelium.found()
>> test_progs += [
>> - 'chamelium',
>> + 'kms_chamelium',
>> ]
>> test_deps += chamelium
>> endif
Pushed, thanks for review. :)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* ✗ Fi.CI.BAT: failure for series starting with [1/4] lib/igt_kms: Add igt_display_reset function.
2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
` (2 preceding siblings ...)
2017-11-16 12:45 ` [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium Maarten Lankhorst
@ 2017-11-16 13:44 ` Patchwork
2017-11-16 16:07 ` [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v2 Maarten Lankhorst
` (4 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2017-11-16 13:44 UTC (permalink / raw)
To: Maarten Lankhorst; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/4] lib/igt_kms: Add igt_display_reset function.
URL : https://patchwork.freedesktop.org/series/33934/
State : failure
== Summary ==
IGT patchset tested on top of latest successful build
88d6550795fad3974d77e4db2f563c5e2e8872e1 Revert "tests/kms_flip: Make flip-vs-panning-vs-hang change DSPSURF"
with latest DRM-Tip kernel build CI_DRM_3353
1fc4fe8ac97e drm-tip: 2017y-11m-16d-12h-57m-10s UTC integration manifest
Testlist changes:
+igt@kms_chamelium@common-hpd-after-hibernate
+igt@kms_chamelium@common-hpd-after-suspend
+igt@kms_chamelium@dp-crc-fast
+igt@kms_chamelium@dp-crc-multiple
+igt@kms_chamelium@dp-crc-single
+igt@kms_chamelium@dp-edid-change-during-hibernate
+igt@kms_chamelium@dp-edid-change-during-suspend
+igt@kms_chamelium@dp-edid-read
+igt@kms_chamelium@dp-frame-dump
+igt@kms_chamelium@dp-hpd
+igt@kms_chamelium@dp-hpd-after-hibernate
+igt@kms_chamelium@dp-hpd-after-suspend
+igt@kms_chamelium@dp-hpd-fast
+igt@kms_chamelium@dp-hpd-storm
+igt@kms_chamelium@dp-hpd-storm-disable
+igt@kms_chamelium@hdmi-crc-fast
+igt@kms_chamelium@hdmi-crc-multiple
+igt@kms_chamelium@hdmi-crc-single
+igt@kms_chamelium@hdmi-edid-change-during-hibernate
+igt@kms_chamelium@hdmi-edid-change-during-suspend
+igt@kms_chamelium@hdmi-edid-read
+igt@kms_chamelium@hdmi-frame-dump
+igt@kms_chamelium@hdmi-hpd
+igt@kms_chamelium@hdmi-hpd-after-hibernate
+igt@kms_chamelium@hdmi-hpd-after-suspend
+igt@kms_chamelium@hdmi-hpd-fast
+igt@kms_chamelium@hdmi-hpd-storm
+igt@kms_chamelium@hdmi-hpd-storm-disable
+igt@kms_chamelium@vga-edid-read
+igt@kms_chamelium@vga-frame-dump
+igt@kms_chamelium@vga-hpd
+igt@kms_chamelium@vga-hpd-after-hibernate
+igt@kms_chamelium@vga-hpd-after-suspend
+igt@kms_chamelium@vga-hpd-fast
+igt@kms_chamelium@vga-hpd-without-ddc
-igt@chamelium@common-hpd-after-hibernate
-igt@chamelium@common-hpd-after-suspend
-igt@chamelium@dp-crc-fast
-igt@chamelium@dp-crc-multiple
-igt@chamelium@dp-crc-single
-igt@chamelium@dp-edid-change-during-hibernate
-igt@chamelium@dp-edid-change-during-suspend
-igt@chamelium@dp-edid-read
-igt@chamelium@dp-frame-dump
-igt@chamelium@dp-hpd
-igt@chamelium@dp-hpd-after-hibernate
-igt@chamelium@dp-hpd-after-suspend
-igt@chamelium@dp-hpd-fast
-igt@chamelium@dp-hpd-storm
-igt@chamelium@dp-hpd-storm-disable
-igt@chamelium@hdmi-crc-fast
-igt@chamelium@hdmi-crc-multiple
-igt@chamelium@hdmi-crc-single
-igt@chamelium@hdmi-edid-change-during-hibernate
-igt@chamelium@hdmi-edid-change-during-suspend
-igt@chamelium@hdmi-edid-read
-igt@chamelium@hdmi-frame-dump
-igt@chamelium@hdmi-hpd
-igt@chamelium@hdmi-hpd-after-hibernate
-igt@chamelium@hdmi-hpd-after-suspend
-igt@chamelium@hdmi-hpd-fast
-igt@chamelium@hdmi-hpd-storm
-igt@chamelium@hdmi-hpd-storm-disable
-igt@chamelium@vga-edid-read
-igt@chamelium@vga-frame-dump
-igt@chamelium@vga-hpd
-igt@chamelium@vga-hpd-after-hibernate
-igt@chamelium@vga-hpd-after-suspend
-igt@chamelium@vga-hpd-fast
-igt@chamelium@vga-hpd-without-ddc
Test debugfs_test:
Subgroup read_all_entries:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
Test kms_busy:
Subgroup basic-flip-a:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
pass -> FAIL (fi-ilk-650)
pass -> FAIL (fi-snb-2520m)
pass -> FAIL (fi-snb-2600)
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-byt-j1900)
pass -> FAIL (fi-byt-n2820)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6700k)
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-bxt-j4205)
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
pass -> FAIL (fi-glk-1)
Subgroup basic-flip-b:
pass -> FAIL (fi-bwr-2160) fdo#103182
pass -> FAIL (fi-elk-e7500)
pass -> FAIL (fi-ilk-650)
pass -> FAIL (fi-snb-2520m)
pass -> FAIL (fi-snb-2600)
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-byt-j1900)
pass -> FAIL (fi-byt-n2820)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6700k)
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi) fdo#102403
pass -> FAIL (fi-bxt-j4205)
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
pass -> FAIL (fi-glk-1)
Subgroup basic-flip-c:
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-bsw-n3050)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6700k) fdo#103097 +2
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-bxt-j4205) fdo#102035 +5
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
Test kms_cursor_legacy:
Subgroup basic-busy-flip-before-cursor-legacy:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
Subgroup basic-flip-after-cursor-legacy:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
Subgroup basic-flip-after-cursor-varying-size:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
Subgroup basic-flip-before-cursor-legacy:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
Subgroup basic-flip-before-cursor-varying-size:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
Test kms_force_connector_basic:
Subgroup force-connector-state:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
pass -> FAIL (fi-snb-2520m)
pass -> FAIL (fi-snb-2600)
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-byt-j1900)
Test kms_pipe_crc_basic:
Subgroup hang-read-crc-pipe-a:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
pass -> FAIL (fi-ilk-650)
pass -> FAIL (fi-snb-2520m)
pass -> FAIL (fi-snb-2600)
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-byt-j1900)
pass -> FAIL (fi-byt-n2820)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6700k)
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-bxt-j4205)
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
pass -> FAIL (fi-glk-1)
Subgroup hang-read-crc-pipe-b:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
pass -> FAIL (fi-ilk-650)
pass -> FAIL (fi-snb-2520m)
pass -> FAIL (fi-snb-2600)
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-byt-j1900)
pass -> FAIL (fi-byt-n2820)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6700k) fdo#103191 +4
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-bxt-j4205)
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
pass -> FAIL (fi-glk-1)
Subgroup hang-read-crc-pipe-c:
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-bsw-n3050)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-bxt-j4205)
pass -> FAIL (fi-kbl-7500u) fdo#103163 +1
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
pass -> FAIL (fi-glk-1)
Subgroup nonblocking-crc-pipe-a:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
pass -> FAIL (fi-ilk-650)
pass -> FAIL (fi-snb-2520m)
pass -> FAIL (fi-snb-2600)
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-byt-j1900)
pass -> FAIL (fi-byt-n2820)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6700k)
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-bxt-j4205)
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
pass -> FAIL (fi-glk-1)
Subgroup nonblocking-crc-pipe-a-frame-sequence:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
pass -> FAIL (fi-ilk-650)
pass -> FAIL (fi-snb-2520m)
pass -> FAIL (fi-snb-2600)
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-byt-j1900)
pass -> FAIL (fi-byt-n2820)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6700k) fdo#103546 +1
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-bxt-j4205)
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u) fdo#103165 +1
pass -> FAIL (fi-kbl-r)
pass -> FAIL (fi-glk-1)
Subgroup nonblocking-crc-pipe-b:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
pass -> FAIL (fi-ilk-650)
pass -> FAIL (fi-snb-2520m)
pass -> FAIL (fi-snb-2600)
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-byt-j1900)
pass -> FAIL (fi-byt-n2820)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
Subgroup nonblocking-crc-pipe-b-frame-sequence:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
pass -> FAIL (fi-ilk-650)
pass -> FAIL (fi-snb-2520m)
pass -> FAIL (fi-snb-2600)
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-byt-j1900) fdo#102657
pass -> FAIL (fi-byt-n2820)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6700k)
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-bxt-j4205)
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
pass -> FAIL (fi-glk-1)
Subgroup nonblocking-crc-pipe-c:
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-bsw-n3050)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-bxt-j4205)
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
pass -> FAIL (fi-glk-1)
Subgroup nonblocking-crc-pipe-c-frame-sequence:
pass -> FAIL (fi-ivb-3520m)
pass -> FAIL (fi-ivb-3770)
pass -> FAIL (fi-hsw-4770)
pass -> FAIL (fi-hsw-4770r)
pass -> FAIL (fi-bdw-5557u)
pass -> FAIL (fi-bsw-n3050)
pass -> FAIL (fi-skl-6260u)
pass -> FAIL (fi-skl-6600u)
pass -> FAIL (fi-skl-6700hq)
pass -> FAIL (fi-skl-6700k)
pass -> FAIL (fi-skl-6770hq)
pass -> FAIL (fi-skl-gvtdvm)
pass -> FAIL (fi-bxt-dsi)
pass -> FAIL (fi-bxt-j4205)
pass -> FAIL (fi-kbl-7500u)
pass -> FAIL (fi-kbl-7560u)
pass -> FAIL (fi-kbl-7567u)
pass -> FAIL (fi-kbl-r)
pass -> FAIL (fi-glk-1)
Subgroup read-crc-pipe-a:
pass -> FAIL (fi-bwr-2160)
pass -> FAIL (fi-elk-e7500)
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_509/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread* [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v2.
2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
` (3 preceding siblings ...)
2017-11-16 13:44 ` ✗ Fi.CI.BAT: failure for series starting with [1/4] lib/igt_kms: Add igt_display_reset function Patchwork
@ 2017-11-16 16:07 ` Maarten Lankhorst
2017-11-16 18:42 ` [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v3 Maarten Lankhorst
2017-11-16 16:23 ` ✗ Fi.CI.BAT: failure for series starting with lib/igt_kms: Add igt_display_reset function, v2. (rev2) Patchwork
` (3 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 16:07 UTC (permalink / raw)
To: intel-gfx
A lot of code duplicates this, but it should be handled in the core.
Add it and use it after igt_display_init(), the tests have to be
converted one by one.
Changes since v1:
- Merely reset rotation to HW value.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
lib/igt_kms.c | 164 +++++++++++++++++++++++++++++++++++++---------------------
lib/igt_kms.h | 1 +
2 files changed, 106 insertions(+), 59 deletions(-)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 1d26b8ddbf43..d51aba50e3d1 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1549,29 +1549,14 @@ static void igt_output_refresh(igt_output_t *output)
-1);
}
- if (output->config.connector) {
+ if (output->config.connector)
igt_atomic_fill_connector_props(display, output,
IGT_NUM_CONNECTOR_PROPS, igt_connector_prop_names);
- if (output->props[IGT_CONNECTOR_BROADCAST_RGB])
- igt_output_set_prop_value(output,
- IGT_CONNECTOR_BROADCAST_RGB,
- BROADCAST_RGB_FULL);
- }
-
LOG(display, "%s: Selecting pipe %s\n", output->name,
kmstest_pipe_name(output->pending_pipe));
}
-static bool
-get_plane_property(int drm_fd, uint32_t plane_id, const char *name,
- uint32_t *prop_id /* out */, uint64_t *value /* out */,
- drmModePropertyPtr *prop /* out */)
-{
- return kmstest_get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
- name, prop_id, value, prop);
-}
-
static int
igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
{
@@ -1582,15 +1567,6 @@ igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
DRM_MODE_OBJECT_PLANE, prop_id, value);
}
-static bool
-get_crtc_property(int drm_fd, uint32_t crtc_id, const char *name,
- uint32_t *prop_id /* out */, uint64_t *value /* out */,
- drmModePropertyPtr *prop /* out */)
-{
- return kmstest_get_property(drm_fd, crtc_id, DRM_MODE_OBJECT_CRTC,
- name, prop_id, value, prop);
-}
-
/*
* Walk a plane's property list to determine its type. If we don't
* find a type property, then the kernel doesn't support universal
@@ -1601,14 +1577,112 @@ static int get_drm_plane_type(int drm_fd, uint32_t plane_id)
uint64_t value;
bool has_prop;
- has_prop = get_plane_property(drm_fd, plane_id, "type",
- NULL /* prop_id */, &value, NULL);
+ has_prop = kmstest_get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
+ "type", NULL, &value, NULL);
if (has_prop)
return (int)value;
return DRM_PLANE_TYPE_OVERLAY;
}
+static void igt_plane_reset(igt_plane_t *plane)
+{
+ /* Reset src coordinates. */
+ igt_plane_set_prop_value(plane, IGT_PLANE_SRC_X, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_SRC_Y, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_SRC_W, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_SRC_H, 0);
+
+ /* Reset crtc coordinates. */
+ igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_X, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_Y, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_W, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_H, 0);
+
+ /* Reset binding to fb and crtc. */
+ igt_plane_set_prop_value(plane, IGT_PLANE_FB_ID, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_ID, 0);
+
+ /* Use default rotation */
+ if (igt_plane_has_prop(plane, IGT_PLANE_ROTATION)) {
+ plane->values[IGT_PLANE_ROTATION] =
+ igt_plane_get_prop_value(plane, IGT_PLANE_ROTATION);
+ igt_plane_clear_prop_changed(plane, IGT_PLANE_ROTATION);
+ }
+
+ igt_plane_clear_prop_changed(plane, IGT_PLANE_IN_FENCE_FD);
+ plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
+}
+
+static void igt_pipe_reset(igt_pipe_t *pipe)
+{
+ igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
+ igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
+ igt_pipe_obj_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
+
+ pipe->out_fence_fd = -1;
+}
+
+static void igt_output_reset(igt_output_t *output)
+{
+ output->pending_pipe = PIPE_NONE;
+ output->use_override_mode = false;
+ memset(&output->override_mode, 0, sizeof(output->override_mode));
+
+ igt_output_set_prop_value(output, IGT_CONNECTOR_CRTC_ID, 0);
+
+ if (igt_output_has_prop(output, IGT_CONNECTOR_BROADCAST_RGB))
+ igt_output_set_prop_value(output, IGT_CONNECTOR_BROADCAST_RGB,
+ BROADCAST_RGB_FULL);
+}
+
+/**
+ * igt_display_reset:
+ * @display: a pointer to an #igt_display_t structure
+ *
+ * Reset basic pipes, connectors and planes on @display back to default values.
+ * In particular, the following properties will be reset:
+ *
+ * For outputs:
+ * - %IGT_CONNECTOR_CRTC_ID
+ * - %IGT_CONNECTOR_BROADCAST_RGB (if applicable)
+ * - igt_output_override_mode() to default.
+ *
+ * For pipes:
+ * - %IGT_CRTC_MODE_ID (leaked)
+ * - %IGT_CRTC_ACTIVE
+ * - %IGT_CRTC_OUT_FENCE_PTR
+ *
+ * For planes:
+ * - %IGT_PLANE_SRC_*
+ * - %IGT_PLANE_CRTC_*
+ * - %IGT_PLANE_FB_ID
+ * - %IGT_PLANE_CRTC_ID
+ * - %IGT_PLANE_ROTATION
+ * - %IGT_PLANE_IN_FENCE_FD
+ */
+void igt_display_reset(igt_display_t *display)
+{
+ enum pipe pipe;
+ int i;
+
+ for_each_pipe(display, pipe) {
+ igt_pipe_t *pipe_obj = &display->pipes[pipe];
+ igt_plane_t *plane;
+
+ for_each_plane_on_pipe(display, pipe, plane)
+ igt_plane_reset(plane);
+
+ igt_pipe_reset(pipe_obj);
+ }
+
+ for (i = 0; i < display->n_outputs; i++) {
+ igt_output_t *output = &display->outputs[i];
+
+ igt_output_reset(output);
+ }
+}
+
/**
* igt_display_init:
* @display: a pointer to an #igt_display_t structure
@@ -1648,7 +1722,7 @@ void igt_display_init(igt_display_t *display, int drm_fd)
plane_resources = drmModeGetPlaneResources(display->drm_fd);
igt_assert(plane_resources);
- for (i = 0; i < display->n_pipes; i++) {
+ for_each_pipe(display, i) {
igt_pipe_t *pipe = &display->pipes[i];
igt_plane_t *plane;
int p = 1;
@@ -1661,19 +1735,9 @@ void igt_display_init(igt_display_t *display, int drm_fd)
pipe->plane_cursor = -1;
pipe->plane_primary = -1;
pipe->planes = NULL;
- pipe->out_fence_fd = -1;
igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
- /* Force modeset disable on first commit */
- igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
- igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_ACTIVE);
-
- get_crtc_property(display->drm_fd, pipe->crtc_id,
- "background_color", NULL,
- &pipe->values[IGT_CRTC_BACKGROUND],
- NULL);
-
/* count number of valid planes */
for (j = 0; j < plane_resources->count_planes; j++) {
drmModePlane *drm_plane;
@@ -1730,24 +1794,6 @@ void igt_display_init(igt_display_t *display, int drm_fd)
plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
igt_fill_plane_props(display, plane, IGT_NUM_PLANE_PROPS, igt_plane_prop_names);
-
- get_plane_property(display->drm_fd, drm_plane->plane_id,
- "rotation",
- &plane->props[IGT_PLANE_ROTATION],
- &plane->values[IGT_PLANE_ROTATION],
- NULL);
-
- /* Clear any residual framebuffer info on first commit. */
- igt_plane_set_prop_changed(plane, IGT_PLANE_FB_ID);
- igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_ID);
-
- /*
- * CRTC_X/Y are not changed in igt_plane_set_fb, so
- * force them to be sanitized in case they contain
- * garbage.
- */
- igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_X);
- igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_Y);
}
/*
@@ -1782,18 +1828,18 @@ void igt_display_init(igt_display_t *display, int drm_fd)
* a pipe is set with igt_output_set_pipe().
*/
output->force_reprobe = true;
- output->pending_pipe = PIPE_NONE;
output->id = resources->connectors[i];
output->display = display;
igt_output_refresh(output);
-
- igt_output_set_prop_changed(output, IGT_CONNECTOR_CRTC_ID);
}
drmModeFreePlaneResources(plane_resources);
drmModeFreeResources(resources);
+ /* Set reasonable default values for every object in the display. */
+ igt_display_reset(display);
+
LOG_UNINDENT(display);
}
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index acc82913e0b7..e1883bf1b8a3 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -353,6 +353,7 @@ struct igt_display {
void igt_display_init(igt_display_t *display, int drm_fd);
void igt_display_fini(igt_display_t *display);
+void igt_display_reset(igt_display_t *display);
int igt_display_commit2(igt_display_t *display, enum igt_commit_style s);
int igt_display_commit(igt_display_t *display);
int igt_display_try_commit_atomic(igt_display_t *display, uint32_t flags, void *user_data);
--
2.15.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v3.
2017-11-16 16:07 ` [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v2 Maarten Lankhorst
@ 2017-11-16 18:42 ` Maarten Lankhorst
0 siblings, 0 replies; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 18:42 UTC (permalink / raw)
To: intel-gfx
A lot of code duplicates this, but it should be handled in the core.
Add it and use it after igt_display_init(), the tests have to be
converted one by one.
Changes since v1:
- Merely reset rotation to HW value.
Changes since v2:
- Compile.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
lib/igt_kms.c | 164 +++++++++++++++++++++++++++++++++++++---------------------
lib/igt_kms.h | 1 +
2 files changed, 106 insertions(+), 59 deletions(-)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 1d26b8ddbf43..becd77ce19aa 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1549,29 +1549,14 @@ static void igt_output_refresh(igt_output_t *output)
-1);
}
- if (output->config.connector) {
+ if (output->config.connector)
igt_atomic_fill_connector_props(display, output,
IGT_NUM_CONNECTOR_PROPS, igt_connector_prop_names);
- if (output->props[IGT_CONNECTOR_BROADCAST_RGB])
- igt_output_set_prop_value(output,
- IGT_CONNECTOR_BROADCAST_RGB,
- BROADCAST_RGB_FULL);
- }
-
LOG(display, "%s: Selecting pipe %s\n", output->name,
kmstest_pipe_name(output->pending_pipe));
}
-static bool
-get_plane_property(int drm_fd, uint32_t plane_id, const char *name,
- uint32_t *prop_id /* out */, uint64_t *value /* out */,
- drmModePropertyPtr *prop /* out */)
-{
- return kmstest_get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
- name, prop_id, value, prop);
-}
-
static int
igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
{
@@ -1582,15 +1567,6 @@ igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
DRM_MODE_OBJECT_PLANE, prop_id, value);
}
-static bool
-get_crtc_property(int drm_fd, uint32_t crtc_id, const char *name,
- uint32_t *prop_id /* out */, uint64_t *value /* out */,
- drmModePropertyPtr *prop /* out */)
-{
- return kmstest_get_property(drm_fd, crtc_id, DRM_MODE_OBJECT_CRTC,
- name, prop_id, value, prop);
-}
-
/*
* Walk a plane's property list to determine its type. If we don't
* find a type property, then the kernel doesn't support universal
@@ -1601,14 +1577,112 @@ static int get_drm_plane_type(int drm_fd, uint32_t plane_id)
uint64_t value;
bool has_prop;
- has_prop = get_plane_property(drm_fd, plane_id, "type",
- NULL /* prop_id */, &value, NULL);
+ has_prop = kmstest_get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
+ "type", NULL, &value, NULL);
if (has_prop)
return (int)value;
return DRM_PLANE_TYPE_OVERLAY;
}
+static void igt_plane_reset(igt_plane_t *plane)
+{
+ /* Reset src coordinates. */
+ igt_plane_set_prop_value(plane, IGT_PLANE_SRC_X, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_SRC_Y, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_SRC_W, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_SRC_H, 0);
+
+ /* Reset crtc coordinates. */
+ igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_X, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_Y, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_W, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_H, 0);
+
+ /* Reset binding to fb and crtc. */
+ igt_plane_set_prop_value(plane, IGT_PLANE_FB_ID, 0);
+ igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_ID, 0);
+
+ /* Use default rotation */
+ if (igt_plane_has_prop(plane, IGT_PLANE_ROTATION)) {
+ plane->values[IGT_PLANE_ROTATION] =
+ igt_plane_get_prop(plane, IGT_PLANE_ROTATION);
+ igt_plane_clear_prop_changed(plane, IGT_PLANE_ROTATION);
+ }
+
+ igt_plane_clear_prop_changed(plane, IGT_PLANE_IN_FENCE_FD);
+ plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
+}
+
+static void igt_pipe_reset(igt_pipe_t *pipe)
+{
+ igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
+ igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
+ igt_pipe_obj_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
+
+ pipe->out_fence_fd = -1;
+}
+
+static void igt_output_reset(igt_output_t *output)
+{
+ output->pending_pipe = PIPE_NONE;
+ output->use_override_mode = false;
+ memset(&output->override_mode, 0, sizeof(output->override_mode));
+
+ igt_output_set_prop_value(output, IGT_CONNECTOR_CRTC_ID, 0);
+
+ if (igt_output_has_prop(output, IGT_CONNECTOR_BROADCAST_RGB))
+ igt_output_set_prop_value(output, IGT_CONNECTOR_BROADCAST_RGB,
+ BROADCAST_RGB_FULL);
+}
+
+/**
+ * igt_display_reset:
+ * @display: a pointer to an #igt_display_t structure
+ *
+ * Reset basic pipes, connectors and planes on @display back to default values.
+ * In particular, the following properties will be reset:
+ *
+ * For outputs:
+ * - %IGT_CONNECTOR_CRTC_ID
+ * - %IGT_CONNECTOR_BROADCAST_RGB (if applicable)
+ * - igt_output_override_mode() to default.
+ *
+ * For pipes:
+ * - %IGT_CRTC_MODE_ID (leaked)
+ * - %IGT_CRTC_ACTIVE
+ * - %IGT_CRTC_OUT_FENCE_PTR
+ *
+ * For planes:
+ * - %IGT_PLANE_SRC_*
+ * - %IGT_PLANE_CRTC_*
+ * - %IGT_PLANE_FB_ID
+ * - %IGT_PLANE_CRTC_ID
+ * - %IGT_PLANE_ROTATION
+ * - %IGT_PLANE_IN_FENCE_FD
+ */
+void igt_display_reset(igt_display_t *display)
+{
+ enum pipe pipe;
+ int i;
+
+ for_each_pipe(display, pipe) {
+ igt_pipe_t *pipe_obj = &display->pipes[pipe];
+ igt_plane_t *plane;
+
+ for_each_plane_on_pipe(display, pipe, plane)
+ igt_plane_reset(plane);
+
+ igt_pipe_reset(pipe_obj);
+ }
+
+ for (i = 0; i < display->n_outputs; i++) {
+ igt_output_t *output = &display->outputs[i];
+
+ igt_output_reset(output);
+ }
+}
+
/**
* igt_display_init:
* @display: a pointer to an #igt_display_t structure
@@ -1648,7 +1722,7 @@ void igt_display_init(igt_display_t *display, int drm_fd)
plane_resources = drmModeGetPlaneResources(display->drm_fd);
igt_assert(plane_resources);
- for (i = 0; i < display->n_pipes; i++) {
+ for_each_pipe(display, i) {
igt_pipe_t *pipe = &display->pipes[i];
igt_plane_t *plane;
int p = 1;
@@ -1661,19 +1735,9 @@ void igt_display_init(igt_display_t *display, int drm_fd)
pipe->plane_cursor = -1;
pipe->plane_primary = -1;
pipe->planes = NULL;
- pipe->out_fence_fd = -1;
igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
- /* Force modeset disable on first commit */
- igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
- igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_ACTIVE);
-
- get_crtc_property(display->drm_fd, pipe->crtc_id,
- "background_color", NULL,
- &pipe->values[IGT_CRTC_BACKGROUND],
- NULL);
-
/* count number of valid planes */
for (j = 0; j < plane_resources->count_planes; j++) {
drmModePlane *drm_plane;
@@ -1730,24 +1794,6 @@ void igt_display_init(igt_display_t *display, int drm_fd)
plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
igt_fill_plane_props(display, plane, IGT_NUM_PLANE_PROPS, igt_plane_prop_names);
-
- get_plane_property(display->drm_fd, drm_plane->plane_id,
- "rotation",
- &plane->props[IGT_PLANE_ROTATION],
- &plane->values[IGT_PLANE_ROTATION],
- NULL);
-
- /* Clear any residual framebuffer info on first commit. */
- igt_plane_set_prop_changed(plane, IGT_PLANE_FB_ID);
- igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_ID);
-
- /*
- * CRTC_X/Y are not changed in igt_plane_set_fb, so
- * force them to be sanitized in case they contain
- * garbage.
- */
- igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_X);
- igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_Y);
}
/*
@@ -1782,18 +1828,18 @@ void igt_display_init(igt_display_t *display, int drm_fd)
* a pipe is set with igt_output_set_pipe().
*/
output->force_reprobe = true;
- output->pending_pipe = PIPE_NONE;
output->id = resources->connectors[i];
output->display = display;
igt_output_refresh(output);
-
- igt_output_set_prop_changed(output, IGT_CONNECTOR_CRTC_ID);
}
drmModeFreePlaneResources(plane_resources);
drmModeFreeResources(resources);
+ /* Set reasonable default values for every object in the display. */
+ igt_display_reset(display);
+
LOG_UNINDENT(display);
}
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index acc82913e0b7..e1883bf1b8a3 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -353,6 +353,7 @@ struct igt_display {
void igt_display_init(igt_display_t *display, int drm_fd);
void igt_display_fini(igt_display_t *display);
+void igt_display_reset(igt_display_t *display);
int igt_display_commit2(igt_display_t *display, enum igt_commit_style s);
int igt_display_commit(igt_display_t *display);
int igt_display_try_commit_atomic(igt_display_t *display, uint32_t flags, void *user_data);
--
2.15.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread
* ✗ Fi.CI.BAT: failure for series starting with lib/igt_kms: Add igt_display_reset function, v2. (rev2)
2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
` (4 preceding siblings ...)
2017-11-16 16:07 ` [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v2 Maarten Lankhorst
@ 2017-11-16 16:23 ` Patchwork
2017-11-16 19:03 ` ✓ Fi.CI.BAT: success for series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3) Patchwork
` (2 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2017-11-16 16:23 UTC (permalink / raw)
To: Maarten Lankhorst; +Cc: intel-gfx
== Series Details ==
Series: series starting with lib/igt_kms: Add igt_display_reset function, v2. (rev2)
URL : https://patchwork.freedesktop.org/series/33934/
State : failure
== Summary ==
IGT patchset build failed on latest successful build
936b97165308e179880fc0f218192881953f2544 lib: Dump /sys/kernel/debug/suspend_stats after suspend failure
make all-recursive
Making all in lib
make all-recursive
Making all in .
CC igt_kms.lo
igt_kms.c: In function ‘igt_plane_reset’:
igt_kms.c:1609:4: error: implicit declaration of function ‘igt_plane_get_prop_value’ [-Werror=implicit-function-declaration]
igt_plane_get_prop_value(plane, IGT_PLANE_ROTATION);
^~~~~~~~~~~~~~~~~~~~~~~~
igt_kms.c:1609:4: warning: nested extern declaration of ‘igt_plane_get_prop_value’ [-Wnested-externs]
cc1: some warnings being treated as errors
Makefile:738: recipe for target 'igt_kms.lo' failed
make[4]: *** [igt_kms.lo] Error 1
Makefile:761: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
Makefile:580: recipe for target 'all' failed
make[2]: *** [all] Error 2
Makefile:533: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
Makefile:465: recipe for target 'all' failed
make: *** [all] Error 2
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread* ✓ Fi.CI.BAT: success for series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3)
2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
` (5 preceding siblings ...)
2017-11-16 16:23 ` ✗ Fi.CI.BAT: failure for series starting with lib/igt_kms: Add igt_display_reset function, v2. (rev2) Patchwork
@ 2017-11-16 19:03 ` Patchwork
2017-11-16 19:41 ` ✓ Fi.CI.IGT: " Patchwork
2017-11-18 0:00 ` [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Lyude Paul
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2017-11-16 19:03 UTC (permalink / raw)
To: Maarten Lankhorst; +Cc: intel-gfx
== Series Details ==
Series: series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3)
URL : https://patchwork.freedesktop.org/series/33934/
State : success
== Summary ==
IGT patchset tested on top of latest successful build
936b97165308e179880fc0f218192881953f2544 lib: Dump /sys/kernel/debug/suspend_stats after suspend failure
with latest DRM-Tip kernel build CI_DRM_3354
3878ad19ccd4 drm-tip: 2017y-11m-16d-15h-48m-14s UTC integration manifest
Testlist changes:
+igt@kms_chamelium@common-hpd-after-hibernate
+igt@kms_chamelium@common-hpd-after-suspend
+igt@kms_chamelium@dp-crc-fast
+igt@kms_chamelium@dp-crc-multiple
+igt@kms_chamelium@dp-crc-single
+igt@kms_chamelium@dp-edid-change-during-hibernate
+igt@kms_chamelium@dp-edid-change-during-suspend
+igt@kms_chamelium@dp-edid-read
+igt@kms_chamelium@dp-frame-dump
+igt@kms_chamelium@dp-hpd
+igt@kms_chamelium@dp-hpd-after-hibernate
+igt@kms_chamelium@dp-hpd-after-suspend
+igt@kms_chamelium@dp-hpd-fast
+igt@kms_chamelium@dp-hpd-storm
+igt@kms_chamelium@dp-hpd-storm-disable
+igt@kms_chamelium@hdmi-crc-fast
+igt@kms_chamelium@hdmi-crc-multiple
+igt@kms_chamelium@hdmi-crc-single
+igt@kms_chamelium@hdmi-edid-change-during-hibernate
+igt@kms_chamelium@hdmi-edid-change-during-suspend
+igt@kms_chamelium@hdmi-edid-read
+igt@kms_chamelium@hdmi-frame-dump
+igt@kms_chamelium@hdmi-hpd
+igt@kms_chamelium@hdmi-hpd-after-hibernate
+igt@kms_chamelium@hdmi-hpd-after-suspend
+igt@kms_chamelium@hdmi-hpd-fast
+igt@kms_chamelium@hdmi-hpd-storm
+igt@kms_chamelium@hdmi-hpd-storm-disable
+igt@kms_chamelium@vga-edid-read
+igt@kms_chamelium@vga-frame-dump
+igt@kms_chamelium@vga-hpd
+igt@kms_chamelium@vga-hpd-after-hibernate
+igt@kms_chamelium@vga-hpd-after-suspend
+igt@kms_chamelium@vga-hpd-fast
+igt@kms_chamelium@vga-hpd-without-ddc
-igt@chamelium@common-hpd-after-hibernate
-igt@chamelium@common-hpd-after-suspend
-igt@chamelium@dp-crc-fast
-igt@chamelium@dp-crc-multiple
-igt@chamelium@dp-crc-single
-igt@chamelium@dp-edid-change-during-hibernate
-igt@chamelium@dp-edid-change-during-suspend
-igt@chamelium@dp-edid-read
-igt@chamelium@dp-frame-dump
-igt@chamelium@dp-hpd
-igt@chamelium@dp-hpd-after-hibernate
-igt@chamelium@dp-hpd-after-suspend
-igt@chamelium@dp-hpd-fast
-igt@chamelium@dp-hpd-storm
-igt@chamelium@dp-hpd-storm-disable
-igt@chamelium@hdmi-crc-fast
-igt@chamelium@hdmi-crc-multiple
-igt@chamelium@hdmi-crc-single
-igt@chamelium@hdmi-edid-change-during-hibernate
-igt@chamelium@hdmi-edid-change-during-suspend
-igt@chamelium@hdmi-edid-read
-igt@chamelium@hdmi-frame-dump
-igt@chamelium@hdmi-hpd
-igt@chamelium@hdmi-hpd-after-hibernate
-igt@chamelium@hdmi-hpd-after-suspend
-igt@chamelium@hdmi-hpd-fast
-igt@chamelium@hdmi-hpd-storm
-igt@chamelium@hdmi-hpd-storm-disable
-igt@chamelium@vga-edid-read
-igt@chamelium@vga-frame-dump
-igt@chamelium@vga-hpd
-igt@chamelium@vga-hpd-after-hibernate
-igt@chamelium@vga-hpd-after-suspend
-igt@chamelium@vga-hpd-fast
-igt@chamelium@vga-hpd-without-ddc
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-b:
pass -> INCOMPLETE (fi-snb-2520m) fdo#103713
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s
fi-bdw-gvtdvm total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:456s
fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:381s
fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:541s
fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:279s
fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:517s
fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:519s
fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:505s
fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:490s
fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:435s
fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:265s
fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:545s
fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:434s
fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:441s
fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:429s
fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:477s
fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:463s
fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:484s
fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:529s
fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:475s
fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:536s
fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:572s
fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:460s
fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:546s
fi-skl-6700hq total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:563s
fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:527s
fi-skl-6770hq total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:496s
fi-skl-gvtdvm total:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:458s
fi-snb-2520m total:246 pass:212 dwarn:0 dfail:0 fail:0 skip:33
fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:425s
Blacklisted hosts:
fi-cfl-s2 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:478s
fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:567s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_512/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread* ✓ Fi.CI.IGT: success for series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3)
2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
` (6 preceding siblings ...)
2017-11-16 19:03 ` ✓ Fi.CI.BAT: success for series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3) Patchwork
@ 2017-11-16 19:41 ` Patchwork
2017-11-18 0:00 ` [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Lyude Paul
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2017-11-16 19:41 UTC (permalink / raw)
To: Maarten Lankhorst; +Cc: intel-gfx
== Series Details ==
Series: series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3)
URL : https://patchwork.freedesktop.org/series/33934/
State : success
== Summary ==
Test kms_frontbuffer_tracking:
Subgroup fbc-1p-offscren-pri-shrfb-draw-render:
pass -> FAIL (shard-snb) fdo#101623
Subgroup fbc-1p-primscrn-indfb-pgflip-blt:
skip -> PASS (shard-hsw)
Test drv_module_reload:
Subgroup basic-reload-inject:
pass -> DMESG-WARN (shard-snb) fdo#102707 +1
Subgroup basic-reload:
pass -> DMESG-WARN (shard-snb) fdo#102848
Test kms_plane_multiple:
Subgroup atomic-pipe-c-tiling-x:
skip -> PASS (shard-hsw)
Test kms_flip:
Subgroup dpms-vs-vblank-race:
fail -> PASS (shard-hsw) fdo#103060
fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623
fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707
fdo#102848 https://bugs.freedesktop.org/show_bug.cgi?id=102848
fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
shard-hsw total:2584 pass:1472 dwarn:2 dfail:1 fail:10 skip:1099 time:9449s
shard-snb total:2584 pass:1257 dwarn:3 dfail:1 fail:12 skip:1311 time:7912s
Blacklisted hosts:
shard-apl total:2584 pass:1616 dwarn:5 dfail:1 fail:26 skip:936 time:13244s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_512/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function.
2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
` (7 preceding siblings ...)
2017-11-16 19:41 ` ✓ Fi.CI.IGT: " Patchwork
@ 2017-11-18 0:00 ` Lyude Paul
8 siblings, 0 replies; 15+ messages in thread
From: Lyude Paul @ 2017-11-18 0:00 UTC (permalink / raw)
To: Maarten Lankhorst, intel-gfx
Reviewed-by: Lyude Paul <lyude@redhat.com>
On Thu, 2017-11-16 at 13:45 +0100, Maarten Lankhorst wrote:
> A lot of code duplicates this, but it should be handled in the core.
> Add it and use it after igt_display_init(), the tests have to be
> converted one by one.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> lib/igt_kms.c | 162 +++++++++++++++++++++++++++++++++++++----------------
> -----
> lib/igt_kms.h | 1 +
> 2 files changed, 104 insertions(+), 59 deletions(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 1d26b8ddbf43..239f4f17d22e 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1549,29 +1549,14 @@ static void igt_output_refresh(igt_output_t *output)
> -1);
> }
>
> - if (output->config.connector) {
> + if (output->config.connector)
> igt_atomic_fill_connector_props(display, output,
> IGT_NUM_CONNECTOR_PROPS, igt_connector_prop_names);
>
> - if (output->props[IGT_CONNECTOR_BROADCAST_RGB])
> - igt_output_set_prop_value(output,
> - IGT_CONNECTOR_BROADCAST_R
> GB,
> - BROADCAST_RGB_FULL);
> - }
> -
> LOG(display, "%s: Selecting pipe %s\n", output->name,
> kmstest_pipe_name(output->pending_pipe));
> }
>
> -static bool
> -get_plane_property(int drm_fd, uint32_t plane_id, const char *name,
> - uint32_t *prop_id /* out */, uint64_t *value /* out */,
> - drmModePropertyPtr *prop /* out */)
> -{
> - return kmstest_get_property(drm_fd, plane_id,
> DRM_MODE_OBJECT_PLANE,
> - name, prop_id, value, prop);
> -}
> -
> static int
> igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t
> value)
> {
> @@ -1582,15 +1567,6 @@ igt_plane_set_property(igt_plane_t *plane, uint32_t
> prop_id, uint64_t value)
> DRM_MODE_OBJECT_PLANE, prop_id, value);
> }
>
> -static bool
> -get_crtc_property(int drm_fd, uint32_t crtc_id, const char *name,
> - uint32_t *prop_id /* out */, uint64_t *value /* out */,
> - drmModePropertyPtr *prop /* out */)
> -{
> - return kmstest_get_property(drm_fd, crtc_id, DRM_MODE_OBJECT_CRTC,
> - name, prop_id, value, prop);
> -}
> -
> /*
> * Walk a plane's property list to determine its type. If we don't
> * find a type property, then the kernel doesn't support universal
> @@ -1601,14 +1577,110 @@ static int get_drm_plane_type(int drm_fd, uint32_t
> plane_id)
> uint64_t value;
> bool has_prop;
>
> - has_prop = get_plane_property(drm_fd, plane_id, "type",
> - NULL /* prop_id */, &value, NULL);
> + has_prop = kmstest_get_property(drm_fd, plane_id,
> DRM_MODE_OBJECT_PLANE,
> + "type", NULL, &value, NULL);
> if (has_prop)
> return (int)value;
>
> return DRM_PLANE_TYPE_OVERLAY;
> }
>
> +static void igt_plane_reset(igt_plane_t *plane)
> +{
> + /* Reset src coordinates. */
> + igt_plane_set_prop_value(plane, IGT_PLANE_SRC_X, 0);
> + igt_plane_set_prop_value(plane, IGT_PLANE_SRC_Y, 0);
> + igt_plane_set_prop_value(plane, IGT_PLANE_SRC_W, 0);
> + igt_plane_set_prop_value(plane, IGT_PLANE_SRC_H, 0);
> +
> + /* Reset crtc coordinates. */
> + igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_X, 0);
> + igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_Y, 0);
> + igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_W, 0);
> + igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_H, 0);
> +
> + /* Reset binding to fb and crtc. */
> + igt_plane_set_prop_value(plane, IGT_PLANE_FB_ID, 0);
> + igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_ID, 0);
> +
> + /* Use default rotation */
> + if (igt_plane_has_prop(plane, IGT_PLANE_ROTATION))
> + igt_plane_set_prop_value(plane, IGT_PLANE_ROTATION,
> + IGT_ROTATION_0);
> +
> + igt_plane_clear_prop_changed(plane, IGT_PLANE_IN_FENCE_FD);
> + plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
> +}
> +
> +static void igt_pipe_reset(igt_pipe_t *pipe)
> +{
> + igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
> + igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
> + igt_pipe_obj_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
> +
> + pipe->out_fence_fd = -1;
> +}
> +
> +static void igt_output_reset(igt_output_t *output)
> +{
> + output->pending_pipe = PIPE_NONE;
> + output->use_override_mode = false;
> + memset(&output->override_mode, 0, sizeof(output->override_mode));
> +
> + igt_output_set_prop_value(output, IGT_CONNECTOR_CRTC_ID, 0);
> +
> + if (igt_output_has_prop(output, IGT_CONNECTOR_BROADCAST_RGB))
> + igt_output_set_prop_value(output,
> IGT_CONNECTOR_BROADCAST_RGB,
> + BROADCAST_RGB_FULL);
> +}
> +
> +/**
> + * igt_display_reset:
> + * @display: a pointer to an #igt_display_t structure
> + *
> + * Reset basic pipes, connectors and planes on @display back to default
> values.
> + * In particular, the following properties will be reset:
> + *
> + * For outputs:
> + * - %IGT_CONNECTOR_CRTC_ID
> + * - %IGT_CONNECTOR_BROADCAST_RGB (if applicable)
> + * - igt_output_override_mode() to default.
> + *
> + * For pipes:
> + * - %IGT_CRTC_MODE_ID (leaked)
> + * - %IGT_CRTC_ACTIVE
> + * - %IGT_CRTC_OUT_FENCE_PTR
> + *
> + * For planes:
> + * - %IGT_PLANE_SRC_*
> + * - %IGT_PLANE_CRTC_*
> + * - %IGT_PLANE_FB_ID
> + * - %IGT_PLANE_CRTC_ID
> + * - %IGT_PLANE_ROTATION
> + * - %IGT_PLANE_IN_FENCE_FD
> + */
> +void igt_display_reset(igt_display_t *display)
> +{
> + enum pipe pipe;
> + int i;
> +
> + for_each_pipe(display, pipe) {
> + igt_pipe_t *pipe_obj = &display->pipes[pipe];
> + igt_plane_t *plane;
> +
> + for_each_plane_on_pipe(display, pipe, plane)
> + igt_plane_reset(plane);
> +
> + igt_pipe_reset(pipe_obj);
> + }
> +
> + for (i = 0; i < display->n_outputs; i++) {
> + igt_output_t *output = &display->outputs[i];
> +
> + igt_output_reset(output);
> + }
> +}
> +
> /**
> * igt_display_init:
> * @display: a pointer to an #igt_display_t structure
> @@ -1648,7 +1720,7 @@ void igt_display_init(igt_display_t *display, int
> drm_fd)
> plane_resources = drmModeGetPlaneResources(display->drm_fd);
> igt_assert(plane_resources);
>
> - for (i = 0; i < display->n_pipes; i++) {
> + for_each_pipe(display, i) {
> igt_pipe_t *pipe = &display->pipes[i];
> igt_plane_t *plane;
> int p = 1;
> @@ -1661,19 +1733,9 @@ void igt_display_init(igt_display_t *display, int
> drm_fd)
> pipe->plane_cursor = -1;
> pipe->plane_primary = -1;
> pipe->planes = NULL;
> - pipe->out_fence_fd = -1;
>
> igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS,
> igt_crtc_prop_names);
>
> - /* Force modeset disable on first commit */
> - igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
> - igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_ACTIVE);
> -
> - get_crtc_property(display->drm_fd, pipe->crtc_id,
> - "background_color", NULL,
> - &pipe->values[IGT_CRTC_BACKGROUND],
> - NULL);
> -
> /* count number of valid planes */
> for (j = 0; j < plane_resources->count_planes; j++) {
> drmModePlane *drm_plane;
> @@ -1730,24 +1792,6 @@ void igt_display_init(igt_display_t *display, int
> drm_fd)
> plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
>
> igt_fill_plane_props(display, plane,
> IGT_NUM_PLANE_PROPS, igt_plane_prop_names);
> -
> - get_plane_property(display->drm_fd, drm_plane-
> >plane_id,
> - "rotation",
> - &plane-
> >props[IGT_PLANE_ROTATION],
> - &plane-
> >values[IGT_PLANE_ROTATION],
> - NULL);
> -
> - /* Clear any residual framebuffer info on first
> commit. */
> - igt_plane_set_prop_changed(plane, IGT_PLANE_FB_ID);
> - igt_plane_set_prop_changed(plane,
> IGT_PLANE_CRTC_ID);
> -
> - /*
> - * CRTC_X/Y are not changed in igt_plane_set_fb, so
> - * force them to be sanitized in case they contain
> - * garbage.
> - */
> - igt_plane_set_prop_changed(plane,
> IGT_PLANE_CRTC_X);
> - igt_plane_set_prop_changed(plane,
> IGT_PLANE_CRTC_Y);
> }
>
> /*
> @@ -1782,18 +1826,18 @@ void igt_display_init(igt_display_t *display, int
> drm_fd)
> * a pipe is set with igt_output_set_pipe().
> */
> output->force_reprobe = true;
> - output->pending_pipe = PIPE_NONE;
> output->id = resources->connectors[i];
> output->display = display;
>
> igt_output_refresh(output);
> -
> - igt_output_set_prop_changed(output, IGT_CONNECTOR_CRTC_ID);
> }
>
> drmModeFreePlaneResources(plane_resources);
> drmModeFreeResources(resources);
>
> + /* Set reasonable default values for every object in the display.
> */
> + igt_display_reset(display);
> +
> LOG_UNINDENT(display);
> }
>
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index acc82913e0b7..e1883bf1b8a3 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -353,6 +353,7 @@ struct igt_display {
>
> void igt_display_init(igt_display_t *display, int drm_fd);
> void igt_display_fini(igt_display_t *display);
> +void igt_display_reset(igt_display_t *display);
> int igt_display_commit2(igt_display_t *display, enum igt_commit_style s);
> int igt_display_commit(igt_display_t *display);
> int igt_display_try_commit_atomic(igt_display_t *display, uint32_t flags,
> void *user_data);
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread