Re: [PATCH] media: allegro-dvt: Moving the current driver to subdirectory

From: Yassine Ouaissa
Date: Thu Dec 05 2024 - 03:12:07 EST


Hi Michael,
On 04.12.2024 17:27, Michael Tretter wrote:
Hi Yassine,

On Wed, 04 Dec 2024 14:44:31 +0000, Yassine Ouaissa wrote:
On 02.12.2024 11:55, Michael Tretter wrote:
> On Mon, 02 Dec 2024 11:26:38 +0100, Yassine Ouaissa wrote:
> What kind of conflicts do you encounter or expect? It's kind of
> surprising that your driver would conflict with anything in the existing
> driver.

The current "NOT allegro" driver support only the ZynqMP (ex : ZCU106/ZCU104 ).
And the upcoming driver, has support for many platforms.

What are the supported platforms of the new driver? Does your driver
support ZynqMP, too?

The upcoming driver is not using the ZynqMP, it can be used by other
clients including Xilinx.
If there are enough similarities between the encoders, I'd happily
replace parts of the current driver with functionality of the upcoming
driver or reuse the infrastructure of the new driver.


For now, we do have only the decoder (stateful). the encoder is "in
progress". We prefer to have a separate driver core for each platform.

> I'd like to see how you plan to integrate your driver, what it looks
> like and what conflicts with the existing driver actually occur. Without
> that information I don't see the point in moving the driver to a
> sub-directory.

The upcoming driver is not using the parsing, conversion inside of the
driver. Actually the new Gen of ALLEGRO IP does that.

Sorry, I don't understand what you mean by parsing and conversion. Do
you mean the mailbox messages or the NAL units?

Can you point me to some repository with your upcoming driver? I'd
really like to know what's coming up to have an informed discussion how
to structure the directory.

Michael


Yassine
> >
> > Signed-off-by: Yassine Ouaissa <yassine.ouaissa@xxxxxxxxxxxxxx>
> > ---
> > MAINTAINERS | 2 +-
> > drivers/media/platform/allegro-dvt/Kconfig | 4 ++--
> > drivers/media/platform/allegro-dvt/Makefile | 8 ++------
> > drivers/media/platform/allegro-dvt/zynqmp/Makefile | 6 ++++++
> > .../media/platform/allegro-dvt/{ => zynqmp}/nal-h264.c | 0
> > .../media/platform/allegro-dvt/{ => zynqmp}/nal-h264.h | 0
> > .../media/platform/allegro-dvt/{ => zynqmp}/nal-hevc.c | 0
> > .../media/platform/allegro-dvt/{ => zynqmp}/nal-hevc.h | 0
> > .../media/platform/allegro-dvt/{ => zynqmp}/nal-rbsp.c | 0
> > .../media/platform/allegro-dvt/{ => zynqmp}/nal-rbsp.h | 0
> > .../{allegro-core.c => zynqmp/zynqmp-allegro-core.c} | 2 +-
> > .../{allegro-mail.c => zynqmp/zynqmp-allegro-mail.c} | 2 +-
> > .../{allegro-mail.h => zynqmp/zynqmp-allegro-mail.h} | 0
> > 13 files changed, 13 insertions(+), 11 deletions(-)
> > create mode 100644 drivers/media/platform/allegro-dvt/zynqmp/Makefile
> > rename drivers/media/platform/allegro-dvt/{ => zynqmp}/nal-h264.c (100%)
> > rename drivers/media/platform/allegro-dvt/{ => zynqmp}/nal-h264.h (100%)
> > rename drivers/media/platform/allegro-dvt/{ => zynqmp}/nal-hevc.c (100%)
> > rename drivers/media/platform/allegro-dvt/{ => zynqmp}/nal-hevc.h (100%)
> > rename drivers/media/platform/allegro-dvt/{ => zynqmp}/nal-rbsp.c (100%)
> > rename drivers/media/platform/allegro-dvt/{ => zynqmp}/nal-rbsp.h (100%)
> > rename drivers/media/platform/allegro-dvt/{allegro-core.c => zynqmp/zynqmp-allegro-core.c} (99%)
> > rename drivers/media/platform/allegro-dvt/{allegro-mail.c => zynqmp/zynqmp-allegro-mail.c} (99%)
> > rename drivers/media/platform/allegro-dvt/{allegro-mail.h => zynqmp/zynqmp-allegro-mail.h} (100%)
> >
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 7292e4a1ddb8..d79efe6f8992 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -795,7 +795,7 @@ R: Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>
> > L: linux-media@xxxxxxxxxxxxxxx
> > S: Maintained
> > F: Documentation/devicetree/bindings/media/allegro,al5e.yaml
> > -F: drivers/media/platform/allegro-dvt/
> > +F: drivers/media/platform/allegro-dvt/zynqmp
> >
> > ALLIED VISION ALVIUM CAMERA DRIVER
> > M: Tommaso Merciai <tomm.merciai@xxxxxxxxx>
> > diff --git a/drivers/media/platform/allegro-dvt/Kconfig b/drivers/media/platform/allegro-dvt/Kconfig
> > index 2182e1277568..9bc7e99788b8 100644
> > --- a/drivers/media/platform/allegro-dvt/Kconfig
> > +++ b/drivers/media/platform/allegro-dvt/Kconfig
> > @@ -2,8 +2,8 @@
> >
> > comment "Allegro DVT media platform drivers"
> >
> > -config VIDEO_ALLEGRO_DVT
> > - tristate "Allegro DVT Video IP Core"
> > +config VIDEO_ZYNQMP_ALLEGRO_DVT
> > + tristate "Allegro DVT Video IP Core for ZynqMP"
> > depends on V4L_MEM2MEM_DRIVERS
> > depends on VIDEO_DEV
> > depends on ARCH_ZYNQMP || COMPILE_TEST
> > diff --git a/drivers/media/platform/allegro-dvt/Makefile b/drivers/media/platform/allegro-dvt/Makefile
> > index 66108a303774..04727c5f7ef4 100644
> > --- a/drivers/media/platform/allegro-dvt/Makefile
> > +++ b/drivers/media/platform/allegro-dvt/Makefile
> > @@ -1,6 +1,2 @@
> > -# SPDX-License-Identifier: GPL-2.0
> > -
> > -allegro-objs := allegro-core.o allegro-mail.o
> > -allegro-objs += nal-rbsp.o nal-h264.o nal-hevc.o
> > -
> > -obj-$(CONFIG_VIDEO_ALLEGRO_DVT) += allegro.o
> > +# SPDX-License-Identifier: GPL-2.0-only
> > +obj-y += zynqmp/
> > diff --git a/drivers/media/platform/allegro-dvt/zynqmp/Makefile b/drivers/media/platform/allegro-dvt/zynqmp/Makefile
> > new file mode 100644
> > index 000000000000..a8ddb9cf93a8
> > --- /dev/null
> > +++ b/drivers/media/platform/allegro-dvt/zynqmp/Makefile
> > @@ -0,0 +1,6 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +
> > +zynqmp-allegro-objs := zynqmp-allegro-core.o zynqmp-allegro-mail.o
> > +zynqmp-allegro-objs += nal-rbsp.o nal-h264.o nal-hevc.o
> > +
> > +obj-$(CONFIG_VIDEO_ZYNQMP_ALLEGRO_DVT) += zynqmp-allegro.o
> > diff --git a/drivers/media/platform/allegro-dvt/nal-h264.c b/drivers/media/platform/allegro-dvt/zynqmp/nal-h264.c
> > similarity index 100%
> > rename from drivers/media/platform/allegro-dvt/nal-h264.c
> > rename to drivers/media/platform/allegro-dvt/zynqmp/nal-h264.c
> > diff --git a/drivers/media/platform/allegro-dvt/nal-h264.h b/drivers/media/platform/allegro-dvt/zynqmp/nal-h264.h
> > similarity index 100%
> > rename from drivers/media/platform/allegro-dvt/nal-h264.h
> > rename to drivers/media/platform/allegro-dvt/zynqmp/nal-h264.h
> > diff --git a/drivers/media/platform/allegro-dvt/nal-hevc.c b/drivers/media/platform/allegro-dvt/zynqmp/nal-hevc.c
> > similarity index 100%
> > rename from drivers/media/platform/allegro-dvt/nal-hevc.c
> > rename to drivers/media/platform/allegro-dvt/zynqmp/nal-hevc.c
> > diff --git a/drivers/media/platform/allegro-dvt/nal-hevc.h b/drivers/media/platform/allegro-dvt/zynqmp/nal-hevc.h
> > similarity index 100%
> > rename from drivers/media/platform/allegro-dvt/nal-hevc.h
> > rename to drivers/media/platform/allegro-dvt/zynqmp/nal-hevc.h
> > diff --git a/drivers/media/platform/allegro-dvt/nal-rbsp.c b/drivers/media/platform/allegro-dvt/zynqmp/nal-rbsp.c
> > similarity index 100%
> > rename from drivers/media/platform/allegro-dvt/nal-rbsp.c
> > rename to drivers/media/platform/allegro-dvt/zynqmp/nal-rbsp.c
> > diff --git a/drivers/media/platform/allegro-dvt/nal-rbsp.h b/drivers/media/platform/allegro-dvt/zynqmp/nal-rbsp.h
> > similarity index 100%
> > rename from drivers/media/platform/allegro-dvt/nal-rbsp.h
> > rename to drivers/media/platform/allegro-dvt/zynqmp/nal-rbsp.h
> > diff --git a/drivers/media/platform/allegro-dvt/allegro-core.c b/drivers/media/platform/allegro-dvt/zynqmp/zynqmp-allegro-core.c
> > similarity index 99%
> > rename from drivers/media/platform/allegro-dvt/allegro-core.c
> > rename to drivers/media/platform/allegro-dvt/zynqmp/zynqmp-allegro-core.c
> > index e491399afcc9..8895d7755987 100644
> > --- a/drivers/media/platform/allegro-dvt/allegro-core.c
> > +++ b/drivers/media/platform/allegro-dvt/zynqmp/zynqmp-allegro-core.c
> > @@ -31,7 +31,7 @@
> > #include <media/videobuf2-dma-contig.h>
> > #include <media/videobuf2-v4l2.h>
> >
> > -#include "allegro-mail.h"
> > +#include "zynqmp-allegro-mail.h"
> > #include "nal-h264.h"
> > #include "nal-hevc.h"
> >
> > diff --git a/drivers/media/platform/allegro-dvt/allegro-mail.c b/drivers/media/platform/allegro-dvt/zynqmp/zynqmp-allegro-mail.c
> > similarity index 99%
> > rename from drivers/media/platform/allegro-dvt/allegro-mail.c
> > rename to drivers/media/platform/allegro-dvt/zynqmp/zynqmp-allegro-mail.c
> > index aadc947a77ae..88a98f9e5d00 100644
> > --- a/drivers/media/platform/allegro-dvt/allegro-mail.c
> > +++ b/drivers/media/platform/allegro-dvt/zynqmp/zynqmp-allegro-mail.c
> > @@ -12,7 +12,7 @@
> > #include <linux/string.h>
> > #include <linux/videodev2.h>
> >
> > -#include "allegro-mail.h"
> > +#include "zynqmp-allegro-mail.h"
> >
> > const char *msg_type_name(enum mcu_msg_type type)
> > {
> > diff --git a/drivers/media/platform/allegro-dvt/allegro-mail.h b/drivers/media/platform/allegro-dvt/zynqmp/zynqmp-allegro-mail.h
> > similarity index 100%
> > rename from drivers/media/platform/allegro-dvt/allegro-mail.h
> > rename to drivers/media/platform/allegro-dvt/zynqmp/zynqmp-allegro-mail.h
> > --
> > 2.30.2
> >
> >