summaryrefslogtreecommitdiff
path: root/drivers/media/platform/vsp1/vsp1_entity.h
diff options
context:
space:
mode:
authorKieran Bingham <kieran+renesas@bingham.xyz>2016-07-12 16:06:34 +0300
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2016-09-19 21:00:03 +0300
commitdf32c924518716160d43defc444199e894859c08 (patch)
treee05bf995c9068949136f6537b8cecd80af95a9dc /drivers/media/platform/vsp1/vsp1_entity.h
parent76e48896c0b7b25a65740f03c6c5d3f35a02fd74 (diff)
downloadlinux-df32c924518716160d43defc444199e894859c08.tar.xz
[media] v4l: vsp1: Determine partition requirements for scaled images
The partition algorithm needs to determine the capabilities of each entity in the pipeline to identify the correct maximum partition width. Extend the vsp1 entity operations to provide a max_width operation and use this call to calculate the number of partitions that will be processed by the algorithm. Gen 2 hardware does not require multiple partitioning, and as such will always return a single partition. Signed-off-by: Kieran Bingham <kieran+renesas@bingham.xyz> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/platform/vsp1/vsp1_entity.h')
-rw-r--r--drivers/media/platform/vsp1/vsp1_entity.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_entity.h b/drivers/media/platform/vsp1/vsp1_entity.h
index 0e3e394c44cd..90a4d95c0a50 100644
--- a/drivers/media/platform/vsp1/vsp1_entity.h
+++ b/drivers/media/platform/vsp1/vsp1_entity.h
@@ -77,11 +77,14 @@ struct vsp1_route {
* @destroy: Destroy the entity.
* @configure: Setup the hardware based on the entity state (pipeline, formats,
* selection rectangles, ...)
+ * @max_width: Return the max supported width of data that the entity can
+ * process in a single operation.
*/
struct vsp1_entity_operations {
void (*destroy)(struct vsp1_entity *);
void (*configure)(struct vsp1_entity *, struct vsp1_pipeline *,
struct vsp1_dl_list *, enum vsp1_entity_params);
+ unsigned int (*max_width)(struct vsp1_entity *, struct vsp1_pipeline *);
};
struct vsp1_entity {