[igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_lowres: Search for modes of the connector being tested
José Roberto de Souza
jose.souza at intel.com
Sat Mar 30 01:03:26 UTC 2019
get_lowres_mode() was looking for the desired mode over all
connectors what could cause commit to fail due incompatibility.
Cc: Mika Kahola <mika.kahola at intel.com>
Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
---
tests/kms_plane_lowres.c | 48 +++++++++-------------------------------
1 file changed, 11 insertions(+), 37 deletions(-)
diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index b27e5e61..f7739b11 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -43,9 +43,8 @@ typedef struct {
} data_t;
static drmModeModeInfo
-get_lowres_mode(int drmfd, drmModeModeInfo *mode_default)
+get_lowres_mode(int drmfd, igt_output_t *output, drmModeModeInfo *mode_default)
{
- drmModeRes *mode_resources = drmModeGetResources(drmfd);
drmModeModeInfo mode;
drmModeModeInfo std_1024_mode = {
.clock = 65000,
@@ -64,43 +63,18 @@ get_lowres_mode(int drmfd, drmModeModeInfo *mode_default)
.type = 0x40,
.name = "Custom 1024x768",
};
- bool found;
- int limit = mode_default->vdisplay-SIZE;
- int i, j;
-
- if (!mode_resources) {
- igt_warn("drmModeGetResources failed: %s\n", strerror(errno));
- return std_1024_mode;
- }
-
- found = false;
- for (i = 0; i < mode_resources->count_connectors; i++) {
- drmModeConnector *connector;
-
- connector = drmModeGetConnectorCurrent(drmfd,
- mode_resources->connectors[i]);
- if (!connector) {
- igt_warn("could not get connector %i: %s\n",
- mode_resources->connectors[i], strerror(errno));
- continue;
+ bool found = false;
+ int limit = mode_default->vdisplay - SIZE;
+ int j;
+
+ for (j = 0; j < output->config.connector->count_modes; j++) {
+ mode = output->config.connector->modes[j];
+ if (mode.vdisplay < limit) {
+ found = true;
+ break;
}
-
- if (!connector->count_modes)
- continue;
-
- for (j = 0; j < connector->count_modes; j++) {
- mode = connector->modes[j];
- if (mode.vdisplay < limit) {
- found = true;
- break;
- }
- }
-
- drmModeFreeConnector(connector);
}
- drmModeFreeResources(mode_resources);
-
if (!found)
return std_1024_mode;
@@ -217,7 +191,7 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
mode1 = test_setup(data, pipe, modifier, output);
- mode_lowres = get_lowres_mode(data->drm_fd, mode1);
+ mode_lowres = get_lowres_mode(data->drm_fd, output, mode1);
ret = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
igt_skip_on(ret != 0);
--
2.21.0
More information about the igt-dev
mailing list