summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/vsp1/vsp1_uif.c
diff options
context:
space:
mode:
authorKieran Bingham <kieran.bingham+renesas@ideasonboard.com>2018-05-18 16:42:01 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-05-25 19:03:16 -0400
commit46ce3639a579c29dc3166a9a66522f72f11f560c (patch)
tree13bb07c31eb5edde959931cf7ef23d5b2f6bd5bc /drivers/media/platform/vsp1/vsp1_uif.c
parent2d9445db0ee9d8695ab3dadb614829b70e43b61f (diff)
downloadlinux-46ce3639a579c29dc3166a9a66522f72f11f560c.tar.bz2
media: vsp1: Refactor display list configure operations
The entities provide a single .configure operation which configures the object into the target display list, based on the vsp1_entity_params selection. Split the configure function into three parts, '.configure_stream()', '.configure_frame()', and '.configure_partition()' to facilitate splitting the configuration of each parameter class into separate display list bodies. [laurent.pinchart+renesas@ideasonboard.com: Blank line reformatting, remote unneeded local variable initialization] Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/platform/vsp1/vsp1_uif.c')
-rw-r--r--drivers/media/platform/vsp1/vsp1_uif.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_uif.c b/drivers/media/platform/vsp1/vsp1_uif.c
index c219165b15b9..c526e484b326 100644
--- a/drivers/media/platform/vsp1/vsp1_uif.c
+++ b/drivers/media/platform/vsp1/vsp1_uif.c
@@ -189,23 +189,15 @@ static const struct v4l2_subdev_ops uif_ops = {
* VSP1 Entity Operations
*/
-static void uif_configure(struct vsp1_entity *entity,
- struct vsp1_pipeline *pipe,
- struct vsp1_dl_list *dl,
- enum vsp1_entity_params params)
+static void uif_configure_stream(struct vsp1_entity *entity,
+ struct vsp1_pipeline *pipe,
+ struct vsp1_dl_list *dl)
{
struct vsp1_uif *uif = to_uif(&entity->subdev);
const struct v4l2_rect *crop;
unsigned int left;
unsigned int width;
- /*
- * Per-partition configuration isn't needed as the DISCOM is used in
- * display pipelines only.
- */
- if (params != VSP1_ENTITY_PARAMS_INIT)
- return;
-
vsp1_uif_write(uif, dl, VI6_UIF_DISCOM_DOCMPMR,
VI6_UIF_DISCOM_DOCMPMR_SEL(9));
@@ -231,7 +223,7 @@ static void uif_configure(struct vsp1_entity *entity,
}
static const struct vsp1_entity_operations uif_entity_ops = {
- .configure = uif_configure,
+ .configure_stream = uif_configure_stream,
};
/* -----------------------------------------------------------------------------