2020-02-04 19:39:54

by Ezequiel Garcia

[permalink] [raw]
Subject: [PATCH for v5.6] hantro: Fix broken media controller links

The driver currently creates a broken topology,
with a source-to-source link and a sink-to-sink
link instead of two source-to-sink links.

Reported-by: Nicolas Dufresne <[email protected]>
Cc: <[email protected]> # for v5.3 and up
Signed-off-by: Ezequiel Garcia <[email protected]>
---
drivers/staging/media/hantro/hantro_drv.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
index 448493a08805..840b96bee082 100644
--- a/drivers/staging/media/hantro/hantro_drv.c
+++ b/drivers/staging/media/hantro/hantro_drv.c
@@ -556,13 +556,13 @@ static int hantro_attach_func(struct hantro_dev *vpu,
goto err_rel_entity1;

/* Connect the three entities */
- ret = media_create_pad_link(&func->vdev.entity, 0, &func->proc, 1,
+ ret = media_create_pad_link(&func->vdev.entity, 0, &func->proc, 0,
MEDIA_LNK_FL_IMMUTABLE |
MEDIA_LNK_FL_ENABLED);
if (ret)
goto err_rel_entity2;

- ret = media_create_pad_link(&func->proc, 0, &func->sink, 0,
+ ret = media_create_pad_link(&func->proc, 1, &func->sink, 0,
MEDIA_LNK_FL_IMMUTABLE |
MEDIA_LNK_FL_ENABLED);
if (ret)
--
2.25.0


2020-02-04 20:00:09

by Nicolas Dufresne

[permalink] [raw]
Subject: Re: [PATCH for v5.6] hantro: Fix broken media controller links

Le mardi 04 février 2020 à 16:38 -0300, Ezequiel Garcia a écrit :
> The driver currently creates a broken topology,
> with a source-to-source link and a sink-to-sink
> link instead of two source-to-sink links.
>
> Reported-by: Nicolas Dufresne <[email protected]>
> Cc: <[email protected]> # for v5.3 and up
> Signed-off-by: Ezequiel Garcia <[email protected]>

Tested-by: Nicolas Dufresne <[email protected]>

> ---
> drivers/staging/media/hantro/hantro_drv.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/media/hantro/hantro_drv.c
> b/drivers/staging/media/hantro/hantro_drv.c
> index 448493a08805..840b96bee082 100644
> --- a/drivers/staging/media/hantro/hantro_drv.c
> +++ b/drivers/staging/media/hantro/hantro_drv.c
> @@ -556,13 +556,13 @@ static int hantro_attach_func(struct hantro_dev *vpu,
> goto err_rel_entity1;
>
> /* Connect the three entities */
> - ret = media_create_pad_link(&func->vdev.entity, 0, &func->proc, 1,
> + ret = media_create_pad_link(&func->vdev.entity, 0, &func->proc, 0,

As for the m2m comment, some local define to name the pad index would make this
readable.

> MEDIA_LNK_FL_IMMUTABLE |
> MEDIA_LNK_FL_ENABLED);
> if (ret)
> goto err_rel_entity2;
>
> - ret = media_create_pad_link(&func->proc, 0, &func->sink, 0,
> + ret = media_create_pad_link(&func->proc, 1, &func->sink, 0,
> MEDIA_LNK_FL_IMMUTABLE |
> MEDIA_LNK_FL_ENABLED);
> if (ret)