summaryrefslogtreecommitdiff
path: root/drivers/media/platform/renesas/vsp1/vsp1_entity.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2023-11-14 01:53:07 +0300
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2024-06-20 01:36:48 +0300
commit41be7fcc5d632402382a7c2a77ac84baf24d47cc (patch)
treef303093018300b0b698fd6fe718db7371ce543e5 /drivers/media/platform/renesas/vsp1/vsp1_entity.h
parent2d7e5d80f120b7b075c037df463cca6d6a20fe8a (diff)
downloadlinux-41be7fcc5d632402382a7c2a77ac84baf24d47cc.tar.xz
media: renesas: vsp1: Replace vsp1_partition_window with v4l2_rect
The vsp1_partition_window structure is used to store the horizontal size of a partition window. This is all that is currently needed, as all partitions span the whole image vertically. The horizontal window size is retrieved in the .configure_partition() handler from the vsp1_partition_window structure, and the vertical window size from the subdev state. Accessing the subdev state in the .configure_partition() handler is problematic in the context of moving to the V4L2 subdev active state API, as .configure_partition() is called in non-interruptable context, and the state lock can't be taken. To avoid this, start by storing the vertical size in the window, replacing the custom vsp1_partition_window structure with a v4l2_rect. Retrieving the vertical size from the window in .configure_partition() will be done in a subsequent change. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
Diffstat (limited to 'drivers/media/platform/renesas/vsp1/vsp1_entity.h')
-rw-r--r--drivers/media/platform/renesas/vsp1/vsp1_entity.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/platform/renesas/vsp1/vsp1_entity.h b/drivers/media/platform/renesas/vsp1/vsp1_entity.h
index 7b86b2fef3e5..f67f60677644 100644
--- a/drivers/media/platform/renesas/vsp1/vsp1_entity.h
+++ b/drivers/media/platform/renesas/vsp1/vsp1_entity.h
@@ -19,7 +19,6 @@ struct vsp1_dl_body;
struct vsp1_dl_list;
struct vsp1_pipeline;
struct vsp1_partition;
-struct vsp1_partition_window;
enum vsp1_entity_type {
VSP1_ENTITY_BRS,
@@ -91,7 +90,7 @@ struct vsp1_entity_operations {
unsigned int (*max_width)(struct vsp1_entity *, struct vsp1_pipeline *);
void (*partition)(struct vsp1_entity *, struct vsp1_pipeline *,
struct vsp1_partition *, unsigned int,
- struct vsp1_partition_window *);
+ struct v4l2_rect *);
};
struct vsp1_entity {