[media] media: Print information on failed link validation

The Media controller doesn't tell much to the user in cases such as pipeline
startup failure. The link validation is the most common media graph (or in
V4L2's case, format) related reason for the failure. In more complex
pipelines the reason may not always be obvious to the user, so point them to
look at the right direction.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Sakari Ailus 2014-10-28 20:35:04 -03:00 committed by Mauro Carvalho Chehab
parent f491dbe049
commit fab9d30b7b
1 changed files with 11 additions and 1 deletions

View File

@ -279,8 +279,14 @@ __must_check int media_entity_pipeline_start(struct media_entity *entity,
continue; continue;
ret = entity->ops->link_validate(link); ret = entity->ops->link_validate(link);
if (ret < 0 && ret != -ENOIOCTLCMD) if (ret < 0 && ret != -ENOIOCTLCMD) {
dev_dbg(entity->parent->dev,
"link validation failed for \"%s\":%u -> \"%s\":%u, error %d\n",
entity->name, link->source->index,
link->sink->entity->name,
link->sink->index, ret);
goto error; goto error;
}
} }
/* Either no links or validated links are fine. */ /* Either no links or validated links are fine. */
@ -288,6 +294,10 @@ __must_check int media_entity_pipeline_start(struct media_entity *entity,
if (!bitmap_full(active, entity->num_pads)) { if (!bitmap_full(active, entity->num_pads)) {
ret = -EPIPE; ret = -EPIPE;
dev_dbg(entity->parent->dev,
"\"%s\":%u must be connected by an enabled link\n",
entity->name,
find_first_zero_bit(active, entity->num_pads));
goto error; goto error;
} }
} }