Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Dannenberg via buildroot <buildroot@buildroot.org>
To: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH v9 10/11] package/ti-rogue-um: new package
Date: Mon, 26 Jun 2023 21:02:17 -0500	[thread overview]
Message-ID: <20230627020217.nenw7uyet73tj2la@dasso> (raw)
In-Reply-To: <20230625101507.GK24952@scaer>

Hi Yann,
thanks for your detailed/thoughtful feedback on this patch, and others.
Comments inlined...

On Sun, Jun 25, 2023 at 12:15:07PM +0200, Yann E. MORIN wrote:
> François, All,
> 
> On 2023-06-25 07:37 +0200, François Perrad spake thusly:
> > Le ven. 23 juin 2023 à 16:59, Andreas Dannenberg < [1]dannenberg@ti.com> a écrit :
> >   On Fri, Jun 23, 2023 at 09:30:39AM +0200, François Perrad wrote:
> >   > Le jeu. 22 juin 2023 à 18:07, Andreas Dannenberg via buildroot <
> >   > [2]buildroot@buildroot.org> a écrit :
> [--SNIP--]
> 
> > diff --git a/package/ti-rogue-um/0001-all-drop-the-init-script.patch b/package/ti-rogue-um/0001-all-drop-the-init-script.patch
> > new file mode 100644
> > index 0000000000..4f3dd1cbb1
> > --- /dev/null
> > +++ b/package/ti-rogue-um/0001-all-drop-the-init-script.patch
> > @@ -0,0 +1,832 @@ 
> > +From 99e0da8a1c08818c59680f726e11a84b26daf29f Mon Sep 17 00:00:00 2001
> > +From: Randolph Sapp <rs@ti.com>
> > +Date: Thu, 25 May 2023 18:59:26 -0500
> > +Subject: [PATCH] all: drop the init script
> > +
> > +Nobody should be using this anymore. It's sysVinit and it's just a fancy
> > +wrapper around modprobe anyway. We'll be dropping it from our build
> > +tools soon.
> 
> OK, makes sense. But this is a big patch, and it adds some noise. I'd
> suggest just adding:
> 
>     # Usually frowned upon, but much much smaller than a patch to remove
>     # them; anyway, upstream is going to get rid of them in a future
>     # release.
>     define TI_IMG_ROGUE_UMLIBS_CLEANUP
>         $(Q)rm -rf $(@D)/targetfs/*/wayland/release/etc/init.d/
>     endef
>     TI_IMG_ROGUE_UMLIBS_POST_EXTRACT_HOOKS += TI_IMG_ROGUE_UMLIBS_CLEANUP

Yeah I thought about this too, but just adding the patch resulting from
'git revert' seemed the easiest. Will make it smaller in next rev.

> > diff --git a/package/Config.in b/package/Config.in
> > index 96ef0d72de..0bff1135aa 100644
> > --- a/package/Config.in
> > +++ b/package/Config.in
> > @@ -614,6 +614,7 @@  endmenu
> >  	source "package/targetcli-fb/Config.in"
> >  	source "package/ti-gfx/Config.in"
> >  	source "package/ti-rogue-km/Config.in"
> > +	source "package/ti-rogue-um/Config.in"
> 
> We prefer that the package name in Buildroot matches the upstream
> package name, i.e. ti-img-rogue-umlibs here.
> 
> I missed that in the driver package, which should be named as upstream,
> i.e. ti-img-rogue-driver, rather than ti-rogue-km.

This was modeled after the existing sgx package (also based on IMG
stuff), see package/ti-sgx-* so I just followed that naming scheme for
consistency sake so I'd rather leave it alone unless you/others feel
strongly about it (I'm not a Buildroot guy so I'm definitely willing to
change my ways here ;)

> [--SNIP--]
> >   > > +config BR2_PACKAGE_TI_ROGUE_UM
> >   > > +       bool "ti-rogue-um"
> >   > > +       depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
> >   > > +       depends on BR2_PACKAGE_HAS_UDEV
> >   > > +       # pre-built binaries
> >   > > +       depends on BR2_TOOLCHAIN_USES_GLIBC
> >   > > +       depends on BR2_aarch64
> 
> If we go as I suggested in the review of a previous patch, then we could
> hide away that package for SoC that have no userland lis. Indeed, I can
> see in the source tree that we only have:
> 
>     $ tree -d -L 1 targetfs/
>     targetfs/
>     ├── am62_linux
>     ├── j721e_linux
>     ├── j721s2_linux
>     └── j784s4_linux
> 
> So the am62ax, am64x, and am65x, that are referenced in the other
> patches, do not have user libs here, so the package should not be
> selected for those SoCs.
> 
> i.e.:
> 
>     config BR2_PACKAGE_TI_IMG_ROGUE_UMLIBS_SOC_SUPPORTS
>         bool
>         default y if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
>         default y if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_J721E
>         default y if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_J721S2
>         default y if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_J784S4
> 
>     config BR2_PACKAGE_TI_IMG_ROGUE_UMLIBS
>         bool "ti-img-rogue-umlibs"
>         depends on BR2_PACKAGE_TI_IMG_ROGUE_UMLIBS_SOC_SUPPORTS
> 
> Of course, this raises the issue that BR2_TARGET_TI_K3_IMAGE_GEN_SOC_*
> are no longer specific to ti-k3-image-gen, but are shared with a few
> packages.

Yeah agreed this can be made a lot more "intelligent" but my approach
was more along the lines of a "lean and mean" (but clean) minimum viable
product, so I put more responsibility onto the user to select the right
things, which usually during board port happens by creating your own
config based on an existing config as a known-good starting point. From
my experience, anways. But then of course things could always be
improved with follow-on commits.

The concern with making things dependent on BR2_TARGET_TI_K3_IMAGE_GEN_*
is that this package will actually go away in certain cases, as more/all
of this is being absorbed into upstream U-Boot over time.

> In which case it may make sense to have those moved to a common
> Config.in, like is done for the freescale-imx stuff.

I do think there's real need to bring in the SoC variant concept into the
configs, as there are many device-specific features well beyond GFX that
should be enabled/supported in future such as AI accelerators, PRU
real-time cores, other MCU cores w/ remote firmware capability etc. Let
me look at the imx stuff, that seems like really worth exploring. But
back to my previous point I'd rather limit additional work on this
_initial_ AM6x enablement series if at all possible....

> I.e. add a new BR2_PACKAGE_TI_AM6XX option, and the SoC selection can be
> moved there, with all common options, and packages (ti-k3-image-gen,
> ti-core-secdev-k3, etc...) can all depend on that option; packages in
> package/ can be made to appear in a "TI AM6xx" sub-menu, and packages in
> boot/ can just depend on it too.
> 
> >   > > +       select BR2_PACKAGE_LIBDRM
> >   > > +       select BR2_PACKAGE_HAS_LIBEGL
> >   > > +       select BR2_PACKAGE_HAS_LIBGBM
> >   > > +       select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
> >   > > +       select BR2_PACKAGE_HAS_LIBGLES
> >   > > +       select BR2_PACKAGE_HAS_POWERVR
> >   > > +       select BR2_PACKAGE_LIBFFI
> > BR2_PACKAGE_LIBFFI is useless (already selected by the package wayland).
> > François.
> 
> It would have been OK to select it here if a library from
> ti-img-rogue-umlibs had a direct dependency to libffi, which is not the
> case, so selecting here is indeed not appropriate.

Understood, thanks for confirming.

I ran out of time today to digest all of the feedback on the series but
should be able to spend more quality time on this over the next day or two.

Thanks, Andreas

--
Andreas Dannenberg
Texas Instruments Inc




> 
> Regards,
> Yann E. MORIN.
> 
> -- 
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2023-06-27  2:02 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-22 16:02 [Buildroot] [PATCH v9 00/11] add support for TI's AM64x and AM62x boards Andreas Dannenberg via buildroot
2023-06-22 16:02 ` [Buildroot] [PATCH v9 01/11] boot/ti-k3-r5-loader: allow for full build source customization Andreas Dannenberg via buildroot
2023-06-24 21:23   ` Yann E. MORIN
2023-06-25 13:21     ` Arnout Vandecappelle via buildroot
2023-06-25 13:35       ` Yann E. MORIN
2023-06-26 19:44   ` Julien Olivain
2023-06-26 19:53   ` Julien Olivain
2023-06-22 16:02 ` [Buildroot] [PATCH v9 02/11] boot/ti-k3-image-gen: new package Andreas Dannenberg via buildroot
2023-06-24 22:28   ` Yann E. MORIN
2023-08-08 23:38   ` Bryce Johnson
2023-08-15  7:15     ` Andreas Dannenberg via buildroot
2023-08-15 22:54       ` Bryce Johnson
2023-06-22 16:02 ` [Buildroot] [PATCH v9 03/11] boot/uboot: add support for building the TI K3 DM into U-Boot Andreas Dannenberg via buildroot
2023-06-25  7:02   ` Yann E. MORIN
2023-06-25  7:08     ` Yann E. MORIN
2023-06-22 16:02 ` [Buildroot] [PATCH v9 04/11] board/ti/am64x_sk: add new board Andreas Dannenberg via buildroot
2023-06-25  5:41   ` François Perrad
2023-06-25 13:43   ` Yann E. MORIN
2023-06-22 16:02 ` [Buildroot] [PATCH v9 05/11] board/ti/am62x_sk: " Andreas Dannenberg via buildroot
2023-06-25  5:42   ` François Perrad
2023-08-15  7:21     ` Andreas Dannenberg via buildroot
2023-06-22 16:02 ` [Buildroot] [PATCH v9 06/11] board/ti/am62x_sk|am64x_sk: switch to TI SDK v8.6 sources Andreas Dannenberg via buildroot
2023-06-25 13:54   ` Yann E. MORIN
2023-06-25 14:33     ` Arnout Vandecappelle via buildroot
2023-06-25 15:22       ` Peter Korsgaard
2023-06-25 18:59         ` Arnout Vandecappelle via buildroot
2023-06-25 19:14           ` Peter Korsgaard
2023-06-25 19:36       ` Yann E. MORIN
2023-06-22 16:02 ` [Buildroot] [PATCH v9 07/11] package/ti-core-secdev-k3: new package Andreas Dannenberg via buildroot
2023-06-23  3:48   ` Patrick Oppenlander
2023-06-23 14:53     ` Andreas Dannenberg via buildroot
2023-06-24  0:32       ` Patrick Oppenlander
2023-06-24  1:11         ` Andreas Dannenberg via buildroot
2023-06-24  4:09           ` Patrick Oppenlander
2023-06-25  7:55       ` Yann E. MORIN
2023-06-25 13:26         ` Arnout Vandecappelle via buildroot
2023-06-22 16:02 ` [Buildroot] [PATCH v9 08/11] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants Andreas Dannenberg via buildroot
2023-06-22 16:02 ` [Buildroot] [PATCH v9 09/11] package/ti-rogue-km: new package Andreas Dannenberg via buildroot
2023-06-25  8:59   ` Yann E. MORIN
2023-08-18 17:30     ` Bryce Johnson
2023-06-22 16:02 ` [Buildroot] [PATCH v9 10/11] package/ti-rogue-um: " Andreas Dannenberg via buildroot
2023-06-23  7:30   ` François Perrad
2023-06-23 14:59     ` Andreas Dannenberg via buildroot
2023-06-25  5:37       ` François Perrad
2023-06-25 10:15         ` Yann E. MORIN
2023-06-27  2:02           ` Andreas Dannenberg via buildroot [this message]
2023-08-22 15:15           ` Thomas Petazzoni via buildroot
2023-06-27 22:48       ` Andreas Dannenberg via buildroot
2023-08-22 10:40     ` Thomas Petazzoni via buildroot
2023-06-22 16:02 ` [Buildroot] [PATCH v9 11/11] configs/am62x_sk_defconfig: enable IMG Rogue graphics driver Andreas Dannenberg via buildroot
2023-06-23  4:02 ` [Buildroot] [PATCH v9 00/11] add support for TI's AM64x and AM62x boards Patrick Oppenlander
2023-06-23 15:04   ` Andreas Dannenberg via buildroot
2023-08-22 10:14 ` Thomas Petazzoni via buildroot
2023-08-22 18:05   ` Thomas Petazzoni via buildroot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230627020217.nenw7uyet73tj2la@dasso \
    --to=buildroot@buildroot.org \
    --cc=dannenberg@ti.com \
    --cc=yann.morin.1998@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox