media: renesas: vsp1: Store RPF partition configuration per RPF instance
[ Upstream commit a213bc09b1025c771ee722ee341af1d84375db8a ]
The vsp1_partition structure stores the RPF partition configuration in a
single field for all RPF instances, while each RPF can have its own
configuration. Fix it by storing the configuration separately for each
RPF instance.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Fixes: ab45e85851
("media: v4l: vsp1: Allow entities to participate in the partition algorithm")
Reviewed-by: Jacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
71732853dc
Коммит
d6f55120ee
|
@ -73,7 +73,7 @@ struct vsp1_partition_window {
|
|||
* @wpf: The WPF partition window configuration
|
||||
*/
|
||||
struct vsp1_partition {
|
||||
struct vsp1_partition_window rpf;
|
||||
struct vsp1_partition_window rpf[VSP1_MAX_RPF];
|
||||
struct vsp1_partition_window uds_sink;
|
||||
struct vsp1_partition_window uds_source;
|
||||
struct vsp1_partition_window sru;
|
||||
|
|
|
@ -271,8 +271,8 @@ static void rpf_configure_partition(struct vsp1_entity *entity,
|
|||
* 'width' need to be adjusted.
|
||||
*/
|
||||
if (pipe->partitions > 1) {
|
||||
crop.width = pipe->partition->rpf.width;
|
||||
crop.left += pipe->partition->rpf.left;
|
||||
crop.width = pipe->partition->rpf[rpf->entity.index].width;
|
||||
crop.left += pipe->partition->rpf[rpf->entity.index].left;
|
||||
}
|
||||
|
||||
if (pipe->interlaced) {
|
||||
|
@ -327,7 +327,9 @@ static void rpf_partition(struct vsp1_entity *entity,
|
|||
unsigned int partition_idx,
|
||||
struct vsp1_partition_window *window)
|
||||
{
|
||||
partition->rpf = *window;
|
||||
struct vsp1_rwpf *rpf = to_rwpf(&entity->subdev);
|
||||
|
||||
partition->rpf[rpf->entity.index] = *window;
|
||||
}
|
||||
|
||||
static const struct vsp1_entity_operations rpf_entity_ops = {
|
||||
|
|
Загрузка…
Ссылка в новой задаче