summaryrefslogtreecommitdiff
path: root/drivers/media/platform/vsp1/vsp1_pipe.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_pipe.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_pipe.h')
-rw-r--r--drivers/media/platform/vsp1/vsp1_pipe.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_pipe.h b/drivers/media/platform/vsp1/vsp1_pipe.h
index d20d997b1fda..af4cd23d399b 100644
--- a/drivers/media/platform/vsp1/vsp1_pipe.h
+++ b/drivers/media/platform/vsp1/vsp1_pipe.h
@@ -77,6 +77,8 @@ enum vsp1_pipeline_state {
* @uds_input: entity at the input of the UDS, if the UDS is present
* @entities: list of entities in the pipeline
* @dl: display list associated with the pipeline
+ * @div_size: The maximum allowed partition size for the pipeline
+ * @partitions: The number of partitions used to process one frame
*/
struct vsp1_pipeline {
struct media_pipeline pipe;
@@ -104,6 +106,9 @@ struct vsp1_pipeline {
struct list_head entities;
struct vsp1_dl_list *dl;
+
+ unsigned int div_size;
+ unsigned int partitions;
};
void vsp1_pipeline_reset(struct vsp1_pipeline *pipe);