lib/igt_kms: Unify pipe name helpers

And add api doc while at it.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Daniel Vetter 2014-08-12 11:00:37 +02:00
parent fb38cf260b
commit dd8fba44cd
11 changed files with 80 additions and 62 deletions

View File

@ -294,7 +294,7 @@ static bool igt_pipe_crc_do_start(igt_pipe_crc_t *pipe_crc)
{ {
char buf[64]; char buf[64];
sprintf(buf, "pipe %c %s", pipe_name(pipe_crc->pipe), sprintf(buf, "pipe %s %s", kmstest_pipe_name(pipe_crc->pipe),
pipe_crc_source_name(pipe_crc->source)); pipe_crc_source_name(pipe_crc->source));
errno = 0; errno = 0;
write(pipe_crc->ctl_fd, buf, strlen(buf)); write(pipe_crc->ctl_fd, buf, strlen(buf));
@ -308,7 +308,7 @@ static void igt_pipe_crc_pipe_off(int fd, enum pipe pipe)
{ {
char buf[32]; char buf[32];
sprintf(buf, "pipe %c none", pipe_name(pipe)); sprintf(buf, "pipe %s none", kmstest_pipe_name(pipe));
write(fd, buf, strlen(buf)); write(fd, buf, strlen(buf));
} }
@ -379,7 +379,7 @@ igt_pipe_crc_new(enum pipe pipe, enum intel_pipe_crc_source source)
pipe_crc->ctl_fd = igt_debugfs_open("i915_display_crc_ctl", O_WRONLY); pipe_crc->ctl_fd = igt_debugfs_open("i915_display_crc_ctl", O_WRONLY);
igt_assert(pipe_crc->ctl_fd != -1); igt_assert(pipe_crc->ctl_fd != -1);
sprintf(buf, "i915_pipe_%c_crc", pipe_name(pipe)); sprintf(buf, "i915_pipe_%s_crc", kmstest_pipe_name(pipe));
pipe_crc->crc_fd = igt_debugfs_open(buf, O_RDONLY); pipe_crc->crc_fd = igt_debugfs_open(buf, O_RDONLY);
igt_assert(pipe_crc->crc_fd != -1); igt_assert(pipe_crc->crc_fd != -1);
@ -445,7 +445,7 @@ void igt_pipe_crc_stop(igt_pipe_crc_t *pipe_crc)
{ {
char buf[32]; char buf[32];
sprintf(buf, "pipe %c none", pipe_name(pipe_crc->pipe)); sprintf(buf, "pipe %s none", kmstest_pipe_name(pipe_crc->pipe));
write(pipe_crc->ctl_fd, buf, strlen(buf)); write(pipe_crc->ctl_fd, buf, strlen(buf));
} }

View File

@ -70,7 +70,14 @@
* Note that this library's header pulls in the [i-g-t framebuffer](intel-gpu-tools-i-g-t-framebuffer.html) * Note that this library's header pulls in the [i-g-t framebuffer](intel-gpu-tools-i-g-t-framebuffer.html)
* library as a dependency. * library as a dependency.
*/ */
const char *kmstest_pipe_str(int pipe)
/**
* kmstest_pipe_name:
* @pipe: display pipe
*
* Returns: String represnting @pipe, e.g. "A".
*/
const char *kmstest_pipe_name(enum pipe pipe)
{ {
const char *str[] = { "A", "B", "C" }; const char *str[] = { "A", "B", "C" };
@ -586,8 +593,8 @@ static void igt_output_refresh(igt_output_t *output)
c->connector_type_id); c->connector_type_id);
} }
LOG(display, "%s: Selecting pipe %c\n", output->name, LOG(display, "%s: Selecting pipe %s\n", output->name,
pipe_name(output->config.pipe)); kmstest_pipe_name(output->config.pipe));
display->pipes_in_use |= 1 << output->config.pipe; display->pipes_in_use |= 1 << output->config.pipe;
} }
@ -902,9 +909,9 @@ static void igt_display_refresh(igt_display_t *display)
igt_assert_f(a->pending_crtc_idx_mask != igt_assert_f(a->pending_crtc_idx_mask !=
b->pending_crtc_idx_mask, b->pending_crtc_idx_mask,
"%s and %s are both trying to use pipe %c\n", "%s and %s are both trying to use pipe %s\n",
igt_output_name(a), igt_output_name(b), igt_output_name(a), igt_output_name(b),
pipe_name(ffs(a->pending_crtc_idx_mask) - 1)); kmstest_pipe_name(ffs(a->pending_crtc_idx_mask) - 1));
} }
} }
@ -1018,9 +1025,9 @@ static int igt_drm_plane_commit(igt_plane_t *plane,
if (plane->fb_changed && fb_id == 0) { if (plane->fb_changed && fb_id == 0) {
LOG(display, LOG(display,
"%s: SetPlane pipe %c, plane %d, disabling\n", "%s: SetPlane pipe %s, plane %d, disabling\n",
igt_output_name(output), igt_output_name(output),
pipe_name(output->config.pipe), kmstest_pipe_name(output->config.pipe),
plane->index); plane->index);
ret = drmModeSetPlane(display->drm_fd, ret = drmModeSetPlane(display->drm_fd,
@ -1038,9 +1045,9 @@ static int igt_drm_plane_commit(igt_plane_t *plane,
CHECK_RETURN(ret, fail_on_error); CHECK_RETURN(ret, fail_on_error);
} else if (plane->fb_changed || plane->position_changed) { } else if (plane->fb_changed || plane->position_changed) {
LOG(display, LOG(display,
"%s: SetPlane %c.%d, fb %u, position (%d, %d)\n", "%s: SetPlane %s.%d, fb %u, position (%d, %d)\n",
igt_output_name(output), igt_output_name(output),
pipe_name(output->config.pipe), kmstest_pipe_name(output->config.pipe),
plane->index, plane->index,
fb_id, fb_id,
plane->crtc_x, plane->crtc_y); plane->crtc_x, plane->crtc_y);
@ -1092,9 +1099,9 @@ static int igt_cursor_commit_legacy(igt_plane_t *cursor,
if (gem_handle) { if (gem_handle) {
LOG(display, LOG(display,
"%s: SetCursor pipe %c, fb %u %dx%d\n", "%s: SetCursor pipe %s, fb %u %dx%d\n",
igt_output_name(output), igt_output_name(output),
pipe_name(output->config.pipe), kmstest_pipe_name(output->config.pipe),
gem_handle, gem_handle,
cursor->fb->width, cursor->fb->height); cursor->fb->width, cursor->fb->height);
@ -1104,9 +1111,9 @@ static int igt_cursor_commit_legacy(igt_plane_t *cursor,
cursor->fb->height); cursor->fb->height);
} else { } else {
LOG(display, LOG(display,
"%s: SetCursor pipe %c, disabling\n", "%s: SetCursor pipe %s, disabling\n",
igt_output_name(output), igt_output_name(output),
pipe_name(output->config.pipe)); kmstest_pipe_name(output->config.pipe));
ret = drmModeSetCursor(display->drm_fd, crtc_id, ret = drmModeSetCursor(display->drm_fd, crtc_id,
0, 0, 0); 0, 0, 0);
@ -1122,9 +1129,9 @@ static int igt_cursor_commit_legacy(igt_plane_t *cursor,
int y = cursor->crtc_y; int y = cursor->crtc_y;
LOG(display, LOG(display,
"%s: MoveCursor pipe %c, (%d, %d)\n", "%s: MoveCursor pipe %s, (%d, %d)\n",
igt_output_name(output), igt_output_name(output),
pipe_name(output->config.pipe), kmstest_pipe_name(output->config.pipe),
x, y); x, y);
ret = drmModeMoveCursor(display->drm_fd, crtc_id, x, y); ret = drmModeMoveCursor(display->drm_fd, crtc_id, x, y);
@ -1168,10 +1175,10 @@ static int igt_primary_plane_commit_legacy(igt_plane_t *primary,
if (fb_id) { if (fb_id) {
LOG(display, LOG(display,
"%s: SetCrtc pipe %c, fb %u, panning (%d, %d), " "%s: SetCrtc pipe %s, fb %u, panning (%d, %d), "
"mode %dx%d\n", "mode %dx%d\n",
igt_output_name(output), igt_output_name(output),
pipe_name(output->config.pipe), kmstest_pipe_name(output->config.pipe),
fb_id, fb_id,
primary->pan_x, primary->pan_y, primary->pan_x, primary->pan_y,
mode->hdisplay, mode->vdisplay); mode->hdisplay, mode->vdisplay);
@ -1185,9 +1192,9 @@ static int igt_primary_plane_commit_legacy(igt_plane_t *primary,
mode); mode);
} else { } else {
LOG(display, LOG(display,
"%s: SetCrtc pipe %c, disabling\n", "%s: SetCrtc pipe %s, disabling\n",
igt_output_name(output), igt_output_name(output),
pipe_name(output->config.pipe)); kmstest_pipe_name(output->config.pipe));
ret = drmModeSetCrtc(display->drm_fd, ret = drmModeSetCrtc(display->drm_fd,
crtc_id, crtc_id,
@ -1391,8 +1398,8 @@ void igt_output_set_pipe(igt_output_t *output, enum pipe pipe)
LOG(display, "%s: set_pipe(any)\n", igt_output_name(output)); LOG(display, "%s: set_pipe(any)\n", igt_output_name(output));
output->pending_crtc_idx_mask = -1UL; output->pending_crtc_idx_mask = -1UL;
} else { } else {
LOG(display, "%s: set_pipe(%c)\n", igt_output_name(output), LOG(display, "%s: set_pipe(%s)\n", igt_output_name(output),
pipe_name(pipe)); kmstest_pipe_name(pipe));
output->pending_crtc_idx_mask = 1 << pipe; output->pending_crtc_idx_mask = 1 << pipe;
} }
} }
@ -1410,7 +1417,7 @@ void igt_plane_set_fb(igt_plane_t *plane, struct igt_fb *fb)
igt_pipe_t *pipe = plane->pipe; igt_pipe_t *pipe = plane->pipe;
igt_display_t *display = pipe->display; igt_display_t *display = pipe->display;
LOG(display, "%c.%d: plane_set_fb(%d)\n", pipe_name(pipe->pipe), LOG(display, "%s.%d: plane_set_fb(%d)\n", kmstest_pipe_name(pipe->pipe),
plane->index, fb ? fb->fb_id : 0); plane->index, fb ? fb->fb_id : 0);
plane->fb = fb; plane->fb = fb;
@ -1423,8 +1430,8 @@ void igt_plane_set_position(igt_plane_t *plane, int x, int y)
igt_pipe_t *pipe = plane->pipe; igt_pipe_t *pipe = plane->pipe;
igt_display_t *display = pipe->display; igt_display_t *display = pipe->display;
LOG(display, "%c.%d: plane_set_position(%d,%d)\n", LOG(display, "%s.%d: plane_set_position(%d,%d)\n",
pipe_name(pipe->pipe), plane->index, x, y); kmstest_pipe_name(pipe->pipe), plane->index, x, y);
plane->crtc_x = x; plane->crtc_x = x;
plane->crtc_y = y; plane->crtc_y = y;
@ -1437,7 +1444,8 @@ void igt_plane_set_panning(igt_plane_t *plane, int x, int y)
igt_pipe_t *pipe = plane->pipe; igt_pipe_t *pipe = plane->pipe;
igt_display_t *display = pipe->display; igt_display_t *display = pipe->display;
LOG(display, "%c.%d: plane_set_panning(%d,%d)\n", pipe_name(pipe->pipe), LOG(display, "%s.%d: plane_set_panning(%d,%d)\n",
kmstest_pipe_name(pipe->pipe),
plane->index, x, y); plane->index, x, y);
plane->pan_x = x; plane->pan_x = x;
@ -1467,7 +1475,8 @@ void igt_plane_set_rotation(igt_plane_t *plane, igt_rotation_t rotation)
igt_pipe_t *pipe = plane->pipe; igt_pipe_t *pipe = plane->pipe;
igt_display_t *display = pipe->display; igt_display_t *display = pipe->display;
LOG(display, "%c.%d: plane_set_rotation(%s)\n", pipe_name(pipe->pipe), LOG(display, "%s.%d: plane_set_rotation(%s)\n",
kmstest_pipe_name(pipe->pipe),
plane->index, rotation_name(rotation)); plane->index, rotation_name(rotation));
plane->rotation = rotation; plane->rotation = rotation;

View File

@ -40,7 +40,7 @@ enum pipe {
PIPE_C, PIPE_C,
I915_MAX_PIPES I915_MAX_PIPES
}; };
#define pipe_name(p) ((p) + 'A') const char *kmstest_pipe_name(enum pipe pipe);
/* We namespace this enum to not conflict with the Android i915_drm.h */ /* We namespace this enum to not conflict with the Android i915_drm.h */
enum igt_plane { enum igt_plane {
@ -138,7 +138,6 @@ void kmstest_free_connector_config(struct kmstest_connector_config *config);
void kmstest_dump_mode(drmModeModeInfo *mode); void kmstest_dump_mode(drmModeModeInfo *mode);
int kmstest_get_pipe_from_crtc_id(int fd, int crtc_id); int kmstest_get_pipe_from_crtc_id(int fd, int crtc_id);
const char *kmstest_pipe_str(int pipe);
const char *kmstest_encoder_type_str(int type); const char *kmstest_encoder_type_str(int type);
const char *kmstest_connector_status_str(int type); const char *kmstest_connector_status_str(int type);
const char *kmstest_connector_type_str(int type); const char *kmstest_connector_type_str(int type);

View File

@ -311,14 +311,16 @@ static void run_test(data_t *data, void (*testfunc)(data_t *), int cursor_w, int
valid_tests++; valid_tests++;
igt_info("Beginning %s on pipe %c, connector %s\n", igt_info("Beginning %s on pipe %s, connector %s\n",
igt_subtest_name(), pipe_name(data->pipe), igt_subtest_name(),
kmstest_pipe_name(data->pipe),
igt_output_name(output)); igt_output_name(output));
testfunc(data); testfunc(data);
igt_info("\n%s on pipe %c, connector %s: PASSED\n\n", igt_info("\n%s on pipe %s, connector %s: PASSED\n\n",
igt_subtest_name(), pipe_name(data->pipe), igt_subtest_name(),
kmstest_pipe_name(data->pipe),
igt_output_name(output)); igt_output_name(output));
/* cleanup what prepare_crtc() has done */ /* cleanup what prepare_crtc() has done */

View File

@ -458,13 +458,15 @@ static void run_test(data_t *data, enum test_mode mode)
if (!prepare_crtc(data)) if (!prepare_crtc(data))
continue; continue;
igt_info("Beginning %s on pipe %c, connector %s\n", igt_info("Beginning %s on pipe %s, connector %s\n",
igt_subtest_name(), pipe_name(data->pipe), igt_subtest_name(),
kmstest_pipe_name(data->pipe),
igt_output_name(data->output)); igt_output_name(data->output));
if (!prepare_test(data, mode)) { if (!prepare_test(data, mode)) {
igt_info("%s on pipe %c, connector %s: SKIPPED\n", igt_info("%s on pipe %s, connector %s: SKIPPED\n",
igt_subtest_name(), pipe_name(data->pipe), igt_subtest_name(),
kmstest_pipe_name(data->pipe),
igt_output_name(data->output)); igt_output_name(data->output));
continue; continue;
} }
@ -473,8 +475,9 @@ static void run_test(data_t *data, enum test_mode mode)
test_crc(data, mode); test_crc(data, mode);
igt_info("%s on pipe %c, connector %s: PASSED\n", igt_info("%s on pipe %s, connector %s: PASSED\n",
igt_subtest_name(), pipe_name(data->pipe), igt_subtest_name(),
kmstest_pipe_name(data->pipe),
igt_output_name(data->output)); igt_output_name(data->output));
finish_crtc(data, mode); finish_crtc(data, mode);

View File

@ -212,9 +212,9 @@ static void test_read_crc(data_t *data, int pipe, unsigned flags)
for_each_connected_output(display, output) { for_each_connected_output(display, output) {
igt_info("%s: Testing connector %s using pipe %c\n", igt_info("%s: Testing connector %s using pipe %s\n",
igt_subtest_name(), igt_output_name(output), igt_subtest_name(), igt_output_name(output),
pipe_name(pipe)); kmstest_pipe_name(pipe));
valid_connectors += test_read_crc_for_output(data, pipe, output, flags); valid_connectors += test_read_crc_for_output(data, pipe, output, flags);
} }

View File

@ -159,8 +159,8 @@ test_plane_position_with_output(data_t *data,
drmModeModeInfo *mode; drmModeModeInfo *mode;
igt_crc_t crc; igt_crc_t crc;
igt_info("Testing connector %s using pipe %c plane %d\n", igt_info("Testing connector %s using pipe %s plane %d\n",
igt_output_name(output), pipe_name(pipe), plane); igt_output_name(output), kmstest_pipe_name(pipe), plane);
test_init(data, pipe); test_init(data, pipe);
@ -284,7 +284,8 @@ test_plane_panning_with_output(data_t *data,
drmModeModeInfo *mode; drmModeModeInfo *mode;
igt_crc_t crc; igt_crc_t crc;
igt_info("Testing connector %s using pipe %c plane %d\n", igt_output_name(output), pipe_name(pipe), plane); igt_info("Testing connector %s using pipe %s plane %d\n",
igt_output_name(output), kmstest_pipe_name(pipe), plane);
test_init(data, pipe); test_init(data, pipe);
@ -341,21 +342,21 @@ test_plane_panning(data_t *data, enum pipe pipe, enum igt_plane plane,
static void static void
run_tests_for_pipe_plane(data_t *data, enum pipe pipe, enum igt_plane plane) run_tests_for_pipe_plane(data_t *data, enum pipe pipe, enum igt_plane plane)
{ {
igt_subtest_f("plane-position-covered-pipe-%c-plane-%d", igt_subtest_f("plane-position-covered-pipe-%s-plane-%d",
pipe_name(pipe), plane) kmstest_pipe_name(pipe), plane)
test_plane_position(data, pipe, plane, test_plane_position(data, pipe, plane,
TEST_POSITION_FULLY_COVERED); TEST_POSITION_FULLY_COVERED);
igt_subtest_f("plane-position-hole-pipe-%c-plane-%d", igt_subtest_f("plane-position-hole-pipe-%s-plane-%d",
pipe_name(pipe), plane) kmstest_pipe_name(pipe), plane)
test_plane_position(data, pipe, plane, 0); test_plane_position(data, pipe, plane, 0);
igt_subtest_f("plane-panning-top-left-pipe-%c-plane-%d", igt_subtest_f("plane-panning-top-left-pipe-%s-plane-%d",
pipe_name(pipe), plane) kmstest_pipe_name(pipe), plane)
test_plane_panning(data, pipe, plane, TEST_PANNING_TOP_LEFT); test_plane_panning(data, pipe, plane, TEST_PANNING_TOP_LEFT);
igt_subtest_f("plane-panning-bottom-right-pipe-%c-plane-%d", igt_subtest_f("plane-panning-bottom-right-pipe-%s-plane-%d",
pipe_name(pipe), plane) kmstest_pipe_name(pipe), plane)
test_plane_panning(data, pipe, plane, test_plane_panning(data, pipe, plane,
TEST_PANNING_BOTTOM_RIGHT); TEST_PANNING_BOTTOM_RIGHT);

View File

@ -140,7 +140,7 @@ connector_set_mode(data_t *data, drmModeModeInfo *mode, uint32_t fb_id)
int ret; int ret;
#if 0 #if 0
fprintf(stdout, "Using pipe %c, %dx%d\n", pipe_name(config->pipe), fprintf(stdout, "Using pipe %s, %dx%d\n", kmstest_pipe_name(config->pipe),
mode->hdisplay, mode->vdisplay); mode->hdisplay, mode->vdisplay);
#endif #endif

View File

@ -114,7 +114,7 @@ static int test_format(const char *test_name,
mode->name, mode->vrefresh, igt_format_str(format)); mode->name, mode->vrefresh, igt_format_str(format));
igt_assert(ret > 0); igt_assert(ret > 0);
ret = asprintf(&cconf_str, "pipe %s, encoder %s, connector %s", ret = asprintf(&cconf_str, "pipe %s, encoder %s, connector %s",
kmstest_pipe_str(cconf->pipe), kmstest_pipe_name(cconf->pipe),
kmstest_encoder_type_str(cconf->encoder->encoder_type), kmstest_encoder_type_str(cconf->encoder->encoder_type),
kmstest_connector_type_str(cconf->connector->connector_type)); kmstest_connector_type_str(cconf->connector->connector_type));
igt_assert(ret > 0); igt_assert(ret > 0);

View File

@ -246,7 +246,7 @@ static void get_crtc_config_str(struct crtc_config *crtc, char *buf,
pos = snprintf(buf, buf_size, pos = snprintf(buf, buf_size,
"CRTC[%d] [Pipe %s] Mode: %s@%dHz Connectors: ", "CRTC[%d] [Pipe %s] Mode: %s@%dHz Connectors: ",
crtc->crtc_id, kmstest_pipe_str(crtc->pipe_id), crtc->crtc_id, kmstest_pipe_name(crtc->pipe_id),
crtc->mode.name, crtc->mode.vrefresh); crtc->mode.name, crtc->mode.vrefresh);
if (pos > buf_size) if (pos > buf_size)
return; return;

View File

@ -135,7 +135,8 @@ functional_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
igt_assert(data->display.has_universal_planes); igt_assert(data->display.has_universal_planes);
igt_skip_on(pipe >= display->n_pipes); igt_skip_on(pipe >= display->n_pipes);
igt_info("Testing connector %s using pipe %c\n", igt_output_name(output), pipe_name(pipe)); igt_info("Testing connector %s using pipe %s\n", igt_output_name(output),
kmstest_pipe_name(pipe));
functional_test_init(&test, output, pipe); functional_test_init(&test, output, pipe);
@ -534,15 +535,18 @@ run_tests_for_pipe(data_t *data, enum pipe pipe)
{ {
igt_output_t *output; igt_output_t *output;
igt_subtest_f("universal-plane-pipe-%c-functional", pipe_name(pipe)) igt_subtest_f("universal-plane-pipe-%s-functional",
kmstest_pipe_name(pipe))
for_each_connected_output(&data->display, output) for_each_connected_output(&data->display, output)
functional_test_pipe(data, pipe, output); functional_test_pipe(data, pipe, output);
igt_subtest_f("universal-plane-pipe-%c-sanity", pipe_name(pipe)) igt_subtest_f("universal-plane-pipe-%s-sanity",
kmstest_pipe_name(pipe))
for_each_connected_output(&data->display, output) for_each_connected_output(&data->display, output)
sanity_test_pipe(data, pipe, output); sanity_test_pipe(data, pipe, output);
igt_subtest_f("disable-primary-vs-flip-pipe-%c", pipe_name(pipe)) igt_subtest_f("disable-primary-vs-flip-pipe-%s",
kmstest_pipe_name(pipe))
for_each_connected_output(&data->display, output) for_each_connected_output(&data->display, output)
pageflip_test_pipe(data, pipe, output); pageflip_test_pipe(data, pipe, output);
} }