All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denys Dmytriyenko <denis@denix.org>
To: Andrew Davis <afd@ti.com>
Cc: Darren Etheridge <detheridge@ti.com>,
	meta-ti@lists.yoctoproject.org, reatmon@ti.com
Subject: Re: [meta-ti][dunfell][PATCH v2] ti-graphics: gpu enable and move all platforms to ddk 1.15
Date: Fri, 25 Mar 2022 17:38:49 -0400	[thread overview]
Message-ID: <20220325213849.GI23554@denix.org> (raw)
In-Reply-To: <9c974b1d-0501-51a8-26ab-b88c617fab5c@ti.com>

On Fri, Mar 25, 2022 at 04:21:38PM -0500, Andrew Davis wrote:
> On 3/25/22 3:10 PM, Denys Dmytriyenko wrote:
> >On Wed, Mar 23, 2022 at 02:37:07PM -0500, Darren Etheridge wrote:
> >>Enable the GPU for am62xx and j721s2 and use IMG DDK 1.15
> >>
> >>Migrate Imagination DDK 1.13 to DDK 1.15 for J721e
> >
> >Overall looks good, please see inline below.
> >
> >
> >>Signed-off-by: Darren Etheridge <detheridge@ti.com>
> >>---
> >>
> >>No changes in the content of the patch, however I regenerated it with the
> >>similarity threshold reduced as requested by Denys.
> >>
> >>  conf/machine/am62xx-evm.conf                  |  2 ++
> >>  conf/machine/j721s2-evm.conf                  |  2 ++
> >>  ...bb => ti-img-rogue-driver_1.15.6133109.bb} | 20 +++++++++++--------
> >>  ...bb => ti-img-rogue-umlibs_1.15.6133109.bb} | 13 ++++++------
> >>  4 files changed, 23 insertions(+), 14 deletions(-)
> >>  rename recipes-bsp/powervr-drivers/{ti-img-rogue-driver_1.13.5776728.bb => ti-img-rogue-driver_1.15.6133109.bb} (48%)
> >>  rename recipes-graphics/libgles/{ti-img-rogue-umlibs_1.13.5776728.bb => ti-img-rogue-umlibs_1.15.6133109.bb} (84%)
> >>
> >>diff --git a/conf/machine/am62xx-evm.conf b/conf/machine/am62xx-evm.conf
> >>index 600abb58..086e40e4 100644
> >>--- a/conf/machine/am62xx-evm.conf
> >>+++ b/conf/machine/am62xx-evm.conf
> >>@@ -4,6 +4,8 @@
> >>  require conf/machine/include/am62xx.inc
> >>+MACHINE_FEATURES += "gpu"
> >>+
> >>  KERNEL_DEVICETREE = " \
> >>      ti/k3-am625-sk.dtb \
> >>      ti/k3-am625-sk-lpmdemo.dtb \
> >>diff --git a/conf/machine/j721s2-evm.conf b/conf/machine/j721s2-evm.conf
> >>index 82fd33da..e5ed0b73 100644
> >>--- a/conf/machine/j721s2-evm.conf
> >>+++ b/conf/machine/j721s2-evm.conf
> >>@@ -4,6 +4,8 @@
> >>  require conf/machine/include/j7.inc
> >>+MACHINE_FEATURES += "gpu"
> >>+
> >>  SERIAL_CONSOLES = "115200;ttyS10"
> >>  SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
> >>  TFA_K3_USART = "0x8"
> >>diff --git a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
> >>similarity index 48%
> >>rename from recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb
> >>rename to recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
> >>index a05de0f2..fbff6c51 100644
> >>--- a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb
> >>+++ b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
> >>@@ -7,17 +7,17 @@ inherit module features_check
> >>  REQUIRED_MACHINE_FEATURES = "gpu"
> >>-MACHINE_KERNEL_PR_append = "b"
> >>+MACHINE_KERNEL_PR_append = "a"
> >>  PR = "${MACHINE_KERNEL_PR}"
> >>  PACKAGE_ARCH = "${MACHINE_ARCH}"
> >>-COMPATIBLE_MACHINE = "j7"
> >>+COMPATIBLE_MACHINE = "j7-evm|j721s2-evm|am62xx"
> >>  DEPENDS = "virtual/kernel"
> >>  PROVIDES = "virtual/gpudriver"
> >>-BRANCH = "1.13-5776728/linux-k5.10"
> >>+BRANCH = "linuxws/dunfell/k5.10/${PV}"
> >>  SRC_URI = " \
> >>      git://git.ti.com/graphics/ti-img-rogue-driver.git;branch=${BRANCH} \
> >>@@ -26,15 +26,19 @@ SRC_URI = " \
> >>  S = "${WORKDIR}/git"
> >>-SRCREV = "35a25875ae8738f82c7cabc6b077ef992b0cca84"
> >>+SRCREV = "ee0674adccac16f5b2f7cb8d5d05948706080cb5"
> >>-PVR_SOC = "j721e_linux"
> >
> >I was actually thinking of keeping PVR_SOC variable and moving it to
> >corresponding machine configs.
> >
> 
> 
> PVR_SOC is a bit of a legacy name, especially since PVR is now IMG.

PVR or PowerVR name is still used as an overall umbrella for all of 
Imagination's graphics, vision and AI chips, including SGX and Rogue/RGX:
https://en.wikipedia.org/wiki/PowerVR


> Thinking on this, the mapping between SoC family and the internal names
> like "RGX_BVNC" and "TARGET_PRODUCT" are specific to the version of this
> driver. For instance in the next DDK I may want the target name to
> go from "am62_linux" to "axb_128_linux", I would have to
> change things here (update the SRCREV) AND in the machine config.

1. I totally agree that "axb_128_linux" makes more sense than "am62_linux".
2. Changes like that happen very rarely.
3. You can call it PVR_MODEL or PVR_PRODUCT if you want, instead of PVR_SOC.


> Mapping here feels like the right spot to me. I'd even argue the same
> for OPTEEMACHINE and the like, should go in the optee.bbappends with the
> rest of our platform specific recipe fixups, etc.

The number of overrides in the recipe will keep on growing, as each new 
platform will need to add own config. That's the whole point of the machine 
configuration file to have those defined centrally.

The goal is to have a recipe as machine-agnostic and clean, as possible. Do 
not overwhelm it with tons of conditionals like that - any machine-specific 
configuration should be set in the machine config file.


> >>-PVR_BVNC = "22.104.208.318"
> >>+TARGET_PRODUCT_j7-evm = "j721e_linux"
> >>+TARGET_PRODUCT_j721s2-evm = "j721s2_linux"
> 
> 
> The driver depends on the SoC, not the EVM. s/j721s2-evm/j721s2
> I know you cant do that in dunfell but if my other series gets into
> main it should be fixed there, where we have a SOC_FAMILY for these
> SoCs.
> 
> Andrew
> 
> 
> >>+TARGET_PRODUCT_am62xx = "am62_linux"
> >
> >E.g. instead of these 3 overrides in the recipe, those 3 machines will be
> >setting their respective PVR_SOC variables, which is more descriptive than
> >TARGET_PRODUCT.
> >
> >Similar to how machine configs already set KERNEL_DEVICETREE, UBOOT_MACHINE,
> >TFA_PLATFORM or OPTEEMACHINE.
> >
> >I know SGX been using TARGET_PRODUCT historically, but outside of the recipe
> >it won't make much sense.
> >
> >But it may be too disruptive for Dunfell at this point. I can do such change
> >in master when porting this patch over on top of Andrew's changes.
> >
> >
> >>+TARGET_BVNC_j7-evm = "22.104.208.318"
> >>+TARGET_BVNC_j721s2-evm = "36.53.104.796"
> >>+TARGET_BVNC_am62xx = "33.15.11.3"
> >>  PVR_BUILD = "release"
> >>  PVR_WS = "wayland"
> >>-EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" RGX_BVNC=${PVR_BVNC} BUILD=${PVR_BUILD} PVR_BUILD_DIR=${PVR_SOC} WINDOW_SYSTEM=${PVR_WS}'
> >>+EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" RGX_BVNC=${TARGET_BVNC} BUILD=${PVR_BUILD} PVR_BUILD_DIR=${TARGET_PRODUCT} WINDOW_SYSTEM=${PVR_WS}'
> >>  do_install() {
> >>-    make -C ${STAGING_KERNEL_DIR} M=${B}/binary_${PVR_SOC}_${PVR_WS}_${PVR_BUILD}/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
> >>+    make -C ${STAGING_KERNEL_DIR} M=${B}/binary_${TARGET_PRODUCT}_${PVR_WS}_${PVR_BUILD}/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
> >>  }
> >>diff --git a/recipes-graphics/libgles/ti-img-rogue-umlibs_1.13.5776728.bb b/recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bb
> >>similarity index 84%
> >>rename from recipes-graphics/libgles/ti-img-rogue-umlibs_1.13.5776728.bb
> >>rename to recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bb
> >>index 5194015e..e00dce99 100644
> >>--- a/recipes-graphics/libgles/ti-img-rogue-umlibs_1.13.5776728.bb
> >>+++ b/recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bb
> >>@@ -8,17 +8,18 @@ inherit features_check
> >>  REQUIRED_MACHINE_FEATURES = "gpu"
> >>  PACKAGE_ARCH = "${MACHINE_ARCH}"
> >>-COMPATIBLE_MACHINE = "j7"
> >>+COMPATIBLE_MACHINE = "j7-evm|j721s2-evm|am62xx"
> >>-PR = "r3"
> >>+PR = "r1"
> >>  BRANCH = "linuxws/dunfell/k5.10/${PV}"
> >>  SRC_URI = "git://git.ti.com/graphics/ti-img-rogue-umlibs.git;branch=${BRANCH}"
> >>+SRCREV = "47c3ffc44f2881397d45c8a2b5dfa7d6c58b79fb"
> >>-SRCREV = "5ef38353c38d921a65ea6df75c7b6ce710b66034"
> >>-
> >>-PVR_SOC ?= "j721e_linux"
> >>+TARGET_PRODUCT_j7-evm = "j721e_linux"
> >>+TARGET_PRODUCT_j721s2-evm = "j721s2_linux"
> >>+TARGET_PRODUCT_am62xx = "am62_linux"
> >
> >Same here.
> >
> >
> >>  PVR_BUILD ?= "release"
> >>  PVR_WS = "wayland"
> >>@@ -50,7 +51,7 @@ RRECOMMENDS_${PN} += "ti-img-rogue-driver"
> >>  S = "${WORKDIR}/git"
> >>  do_install () {
> >>-    oe_runmake install DESTDIR=${D} TARGET_PRODUCT=${PVR_SOC} BUILD=${PVR_BUILD} WINDOW_SYSTEM=${PVR_WS}
> >>+    oe_runmake install DESTDIR=${D} TARGET_PRODUCT=${TARGET_PRODUCT} BUILD=${PVR_BUILD} WINDOW_SYSTEM=${PVR_WS}
> >>      chown -R root:root ${D}
> >>  }
> >>-- 
> >>2.17.1
> >>
> 

-- 
Regards,
Denys Dmytriyenko <denis@denix.org>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186  6D76 4209 0272 9A92 C964


  reply	other threads:[~2022-03-25 21:38 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-23 19:37 [meta-ti][dunfell][PATCH v2] ti-graphics: gpu enable and move all platforms to ddk 1.15 Darren Etheridge
2022-03-25 20:10 ` Denys Dmytriyenko
2022-03-25 21:21   ` Andrew Davis
2022-03-25 21:38     ` Denys Dmytriyenko [this message]
2022-03-25 21:54       ` Andrew Davis
2022-03-25 22:06         ` Denys Dmytriyenko
2022-03-25 22:30           ` Andrew Davis
     [not found]           ` <16DFC054FC61A9B3.21339@lists.yoctoproject.org>
2022-03-25 22:36             ` Andrew Davis
2022-03-29  5:28               ` Denys Dmytriyenko
2022-03-29 21:48               ` Etheridge, Darren
2022-03-29 23:26                 ` Denys Dmytriyenko
2022-03-30 12:40                   ` Ryan Eatmon
2022-03-29  5:21         ` Denys Dmytriyenko
2022-04-30 18:02 ` Denys Dmytriyenko
     [not found] ` <16EABE932EA7F3D7.11702@lists.yoctoproject.org>
2022-05-02  2:57   ` Denys Dmytriyenko
2022-05-02  2:58   ` Denys Dmytriyenko

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=20220325213849.GI23554@denix.org \
    --to=denis@denix.org \
    --cc=afd@ti.com \
    --cc=detheridge@ti.com \
    --cc=meta-ti@lists.yoctoproject.org \
    --cc=reatmon@ti.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.