Skip to contentSkip to conversation

imx: graphics packages update to 6.2.4.p1.2

PATCH New Gary Bisson 2 participants 8 messages Jun 12, 2018 – Jun 17, 2018 Arm i.MX and Layerscape

lore
Share & tools
lore
#0 lore raw

cover imx: graphics packages update to 6.2.4.p1.2

Hi all,

This series bumps the version of the i.MX graphics packages.

This version is the first one that applies to both 32-bit and 64-bit i.MX processors so aarch64 support was added.

As explained in the second commit, i.MX8 platforms only have Wayland as possible graphical back-end (no more fb or x11) so a new variable was created to hide those options. Not sure if it is the most elegant option but it does the job for now.

And yes, g2d is only available for 32-bit platforms right now.

Let me know if you have any question/remark.

Regards,
Gary

Gary Bisson (4):
imx-gpu-viv: bump to version 6.2.4.p1.2
imx-gpu-viv: enable package for 64-bit i.MX processors
imx-gpu-g2d: bump to version 6.2.4.p1.2
kernel-module-imx-gpu-viv: bump to version 6.2.4.p1.2

 package/freescale-imx/Config.in                        |  7 ++++++-
 package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash     |  2 +-
 package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk       |  2 +-
 package/freescale-imx/imx-gpu-viv/Config.in            | 10 +++++++++-
 package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash     |  3 ++-
 package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk       |  6 +++++-
 .../kernel-module-imx-gpu-viv.hash                     |  2 +-
 .../kernel-module-imx-gpu-viv.mk                       |  2 +-
 8 files changed, 26 insertions(+), 8 deletions(-)
Signature · 1 line
2.17.1
#1 lore raw

PATCH 1/4 imx-gpu-viv: bump to version 6.2.4.p1.2

No changelog was provided by NXP but we can assume it's the latest and therefore the greatest.

What is known, is that that same version worked both ARM and ARM64. The support for the latter will be added in a follow-up patch.

This package has been tested with X11, Framebuffer and Wayland back-ends:

 # cd /usr/share/examples/viv_samples/vdk/
 # ./tutorial7
 # gmem_info
 ... display memory use per PID ...
---
 package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash | 2 +-
 package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash +1 -1
index 894bc90dae..3b54eec099 100644
@@ -1 +1 @@
-sha256	4f93a4412c93ca5959aa2437bfed2ecbaf983b5b272be5977f76a967de5db150  imx-gpu-viv-6.2.2.p0-aarch32.bin
+sha256	dddadd164bede4793409ccfb636324dd73862c33458db66a5860f126bada25dc  imx-gpu-viv-6.2.4.p1.2-aarch32.bin
package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk +1 -1
index a339c22978..35ff9d457c 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-IMX_GPU_VIV_VERSION = 6.2.2.p0-aarch32
+IMX_GPU_VIV_VERSION = 6.2.4.p1.2-aarch32
 IMX_GPU_VIV_SITE = $(FREESCALE_IMX_SITE)
 IMX_GPU_VIV_SOURCE = imx-gpu-viv-$(IMX_GPU_VIV_VERSION).bin
 
Signature · 1 line
2.17.1
#2 lore raw

PATCH 2/4 imx-gpu-viv: enable package for 64-bit i.MX processors

In reply to Gary Bisson

Basically enabling the package for aarch64. One difference with 32-bit i.MX platforms resides in the fact that Wayland is the only back-end supported. Therefore X11 and Framebuffer options are masked.

This was tested on i.MX8MQ Nitrogen8M platform (with weston-imx):

 # cd /usr/share/examples/viv_samples/vdk/
 # ./tutorial7
---
 package/freescale-imx/Config.in                    |  7 ++++++-
 package/freescale-imx/imx-gpu-viv/Config.in        | 10 +++++++++-
 package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash |  1 +
 package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk   |  4 ++++
 4 files changed, 20 insertions(+), 2 deletions(-)
package/freescale-imx/Config.in +6 -1
index 97aeb15764..b42cd2bfd7 100644
@@ -69,7 +69,12 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
 	bool
 	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
 		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
-		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
+		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
+
+config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU_WAYLAND_ONLY
+	bool
+	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
 
 source "package/freescale-imx/imx-alsa-plugins/Config.in"
 source "package/freescale-imx/imx-codec/Config.in"
package/freescale-imx/imx-gpu-viv/Config.in +9 -1
index 4e753a41f3..ea645890e6 100644
@@ -2,10 +2,14 @@ comment "imx-gpu-viv needs a glibc toolchain with armhf enabled"
 	depends on BR2_arm
 	depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF
 
+comment "imx-gpu-viv needs a glibc toolchain"
+	depends on BR2_aarch64
+	depends on !BR2_TOOLCHAIN_USES_GLIBC
+
 config BR2_PACKAGE_IMX_GPU_VIV
 	bool "imx-gpu-viv"
 	# Pre-built binaries only available for ARM EABIhf
-	depends on BR2_ARM_EABIHF
+	depends on (BR2_arm && BR2_ARM_EABIHF) || BR2_aarch64
 	# Library binaries are linked against libc.so.6
 	depends on BR2_TOOLCHAIN_USES_GLIBC
 	select BR2_PACKAGE_HAS_LIBEGL
@@ -31,6 +35,8 @@ choice
 	  direct framebuffer access, one for X11 rendering.
 	  Choose here which version to install.
 
+if !BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU_WAYLAND_ONLY
+
 config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11
 	bool "X11"
 	depends on BR2_PACKAGE_XORG7
@@ -44,6 +50,8 @@ comment "X11 backend needs Xorg package"
 config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB
 	bool "Framebuffer"
 
+endif
+
 config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
 	bool "Wayland"
 	# libdrm needed by gbm_viv.so
package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash +1 -0
index 3b54eec099..2cbc36a185 100644
@@ -1 +1,2 @@
 sha256	dddadd164bede4793409ccfb636324dd73862c33458db66a5860f126bada25dc  imx-gpu-viv-6.2.4.p1.2-aarch32.bin
+sha256	27ed3f58681cef18f87ea20946cc89b2cef4848006064303d20583e6ed7aeec7  imx-gpu-viv-6.2.4.p1.2-aarch64.bin
package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk +4 -0
index 35ff9d457c..511e3b3b6c 100644
@@ -4,7 +4,11 @@
 #
 ################################################################################
 
+ifeq ($(BR2_aarch64),y)
+IMX_GPU_VIV_VERSION = 6.2.4.p1.2-aarch64
+else
 IMX_GPU_VIV_VERSION = 6.2.4.p1.2-aarch32
+endif
 IMX_GPU_VIV_SITE = $(FREESCALE_IMX_SITE)
 IMX_GPU_VIV_SOURCE = imx-gpu-viv-$(IMX_GPU_VIV_VERSION).bin
 
Signature · 1 line
2.17.1
#3 lore raw

PATCH 2/4 imx-gpu-viv: enable package for 64-bit i.MX processors

Hello,

package/freescale-imx/Config.in config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU · line 75

Quoted 13 lines · Gary Bisson
package/freescale-imx/Config.in +4 -1
index 97aeb15764..b42cd2bfd7 100644
@@ -69,7 +69,12 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
 	bool
 	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
 		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
-		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
+		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
+
+config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU_WAYLAND_ONLY

I don't really like the semantic of <something>_ONLY options, and it generally felt a bit unneeded. So I've used BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M directly in the imx-gpu-viv package. I've applied after changing this. Please double check that I didn't introduce any problem:

https://git.buildroot.org/buildroot/commit/?id=84afda9ca6dad5fd828ba94fa60df52c81cc7814

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#4 lore raw

PATCH 2/4 imx-gpu-viv: enable package for 64-bit i.MX processors

Hi Thomas, All,

Quoted 24 lines · Thomas Petazzoni

Hello,

package/freescale-imx/Config.in config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU · line 75

Quoted 13 lines · Gary Bisson
package/freescale-imx/Config.in +4 -1
index 97aeb15764..b42cd2bfd7 100644
@@ -69,7 +69,12 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
 	bool
 	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
 		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
-		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
+		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
+
+config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU_WAYLAND_ONLY

I don't really like the semantic of <something>_ONLY options, and it generally felt a bit unneeded. So I've used BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M directly in the imx-gpu-viv package. I've applied after changing this. Please double check that I didn't introduce any problem:

Quoted 1 line

https://git.buildroot.org/buildroot/commit/?id=84afda9ca6dad5fd828ba94fa60df52c81cc7814

Thanks, I understand that this naming wasn't great and your option seems to work just fine (after a quick menuconfig testing).

The reason I wanted to have a config for that is because iMX8M is the first CPU to be supported but basically all the next iMX8x processors will be the same (iMX8QXP, iMX8QM). But we'll see how to them later, no worries.

Thanks,
Gary

#5 lore raw

PATCH 3/4 imx-gpu-g2d: bump to version 6.2.4.p1.2

In reply to Gary Bisson

Same as imx-gpu-viv, no changelog was provided by NXP.

Tested with the following commands:

 # /usr/share/examples/g2d_samples/g2d_multiblit_test
 # /usr/share/examples/g2d_samples/g2d_overlay_test
 # /usr/share/examples/g2d_samples/g2d_test
 # gst-launch-1.0 videotestsrc ! imxg2dvideosink
---
 package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash | 2 +-
 package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash +1 -1
index 299ec703f5..3bcbc558e2 100644
@@ -1 +1 @@
-sha256	070a95aa9942bd67e8ba4012962df74143bffb9998301ac097dab5e1437000d8  imx-gpu-g2d-6.2.2.p0.bin
+sha256	5f2d2171d5cd57f37ab07184fc908a0f6ecb2a97f023f04c2f9f3b3d7fec8481  imx-gpu-g2d-6.2.4.p1.2.bin
package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk +1 -1
index aafd70dc9d..015ab628b6 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-IMX_GPU_G2D_VERSION = 6.2.2.p0
+IMX_GPU_G2D_VERSION = 6.2.4.p1.2
 IMX_GPU_G2D_SITE = $(FREESCALE_IMX_SITE)
 IMX_GPU_G2D_SOURCE = imx-gpu-g2d-$(IMX_GPU_G2D_VERSION).bin
 IMX_GPU_G2D_DEPENDENCIES = imx-gpu-viv
Signature · 1 line
2.17.1
#6 lore raw

PATCH 4/4 kernel-module-imx-gpu-viv: bump to version 6.2.4.p1.2

In reply to Gary Bisson

This package has been tested with the following commands:

 # modprobe galcore
 # cd /usr/share/examples/viv_samples/vdk/
 # ./tutorial7
---
 .../kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash    | 2 +-
 .../kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash +1 -1
index c6204aff0e..3ed7ca2dd9 100644
@@ -1,2 +1,2 @@
 # locally computed
-sha256	35db597ae0dd8e9e80511e5e9d882a01e4c178b83ffc192c8dd6a1a35859aa13  kernel-module-imx-gpu-viv-3b9e057f29853fd29364aa666328a92b807007d7.tar.gz
+sha256	ad910b7d36dc433bbbe85808d278312e9199635aaa5d00097b70ffab11bde9e6  kernel-module-imx-gpu-viv-86354002bea77acd9ce1812712e9d8485b377ec8.tar.gz
package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk +1 -1
index 2e6744c4f9..c76a5ee386 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-KERNEL_MODULE_IMX_GPU_VIV_VERSION = 3b9e057f29853fd29364aa666328a92b807007d7
+KERNEL_MODULE_IMX_GPU_VIV_VERSION = 86354002bea77acd9ce1812712e9d8485b377ec8
 KERNEL_MODULE_IMX_GPU_VIV_SITE = \
 	$(call github,Freescale,kernel-module-imx-gpu-viv,$(KERNEL_MODULE_IMX_GPU_VIV_VERSION))
 KERNEL_MODULE_IMX_GPU_VIV_LICENSE = GPL-2.0
Signature · 1 line
2.17.1
#7 lore raw

cover imx: graphics packages update to 6.2.4.p1.2

In reply to Gary Bisson

Hello,

Quoted 5 lines · Gary Bisson

Gary Bisson (4):
imx-gpu-viv: bump to version 6.2.4.p1.2
imx-gpu-viv: enable package for 64-bit i.MX processors
imx-gpu-g2d: bump to version 6.2.4.p1.2
kernel-module-imx-gpu-viv: bump to version 6.2.4.p1.2

I've applied the series, with some changes on the second patch. I'll try to that patch for the details.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com