All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga
@ 2018-07-25 15:01 Gary Bisson
  2018-07-25 15:01 ` [Buildroot] [PATCH 1/8] firmware-imx: bump to version 7.5 Gary Bisson
                   ` (8 more replies)
  0 siblings, 9 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-25 15:01 UTC (permalink / raw)
  To: buildroot

Hi,

This series updates the i.MX multimedia packages to be in line with the
NXP 4.9.88-2.0.0_ga release [1].

The main benefit of this release is that it works for both 32-bit
i.MX6/7 processors as well as 64-bit i.MX8MQ.

That means that new packages had to be added to support the i.MX8MQ VPU
IP (from Hantro).

In Yocto, the imx-vpu package for the Chips&Media VPU present on i.MX6
wasn't renamed. But packages such as imx-vpuwrap now depend on
virtual/imxvpu which can either be provided by imx-vpu (Chips&Media) or
imx-vpu-hantro (Hantro) [2][3].

As I thought it'd be confusing to have a virtual imxvpu virtual package
with an imx-vpu provider, I renamed imx-vpu to imx-vpu-cnm and added an
imx-vpu virtual package.

Each patch for this imx-vpu change modifies several packages (those
depending on it) so that it doesn't break the build in case someone
bisects the tree.

Finally, I've verified those packages on both i.MX6Q and i.MX8MQ. But in
the case of i.MX8MQ, the VPU testing was limited to the package unit
tests since the open-source imx plugin doesn't support Hantro VPU (yet).
Note that I don't plan on integrating NXP plugin since it implies
changing all the standard plugins to be "NXP-compliant" [4].

Let me know if you are ok with this approach. As usual, comments are
welcome.

Regards,
Gary

[1] https://community.nxp.com/docs/DOC-340805
[2] https://github.com/Freescale/meta-freescale/blob/master/recipes-bsp/imx-vpu/imx-vpu_5.4.38.bb#L11
[3] https://github.com/Freescale/meta-freescale/blob/master/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.6.0.bb#L9
[4] https://github.com/Freescale/meta-freescale/tree/master/recipes-multimedia/gstreamer

Gary Bisson (8):
  firmware-imx: bump to version 7.5
  imx-vpu: rename package to imx-vpu-cnm
  imx-vpu-cnm: bump version to 5.4.38
  imx-vpu-hantro: new package
  imx-vpu: new virtual package
  imx-vpuwrap: bump version to 4.3.5
  imx-codec: bump version to 4.3.5
  imx-parser: bump version to 4.3.5

 package/freescale-imx/Config.in               |  5 ++-
 .../firmware-imx/firmware-imx.hash            |  2 +-
 .../firmware-imx/firmware-imx.mk              |  2 +-
 .../freescale-imx/imx-codec/imx-codec.hash    |  3 +-
 package/freescale-imx/imx-codec/imx-codec.mk  |  4 +-
 .../freescale-imx/imx-parser/imx-parser.hash  |  3 +-
 .../freescale-imx/imx-parser/imx-parser.mk    |  2 +-
 package/freescale-imx/imx-vpu-cnm/Config.in   | 25 +++++++++++
 .../imx-vpu-cnm/imx-vpu-cnm.hash              |  3 ++
 .../freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk  | 39 ++++++++++++++++
 ...on.h-header-inclusion-to-be-standard.patch | 44 +++++++++++++++++++
 .../freescale-imx/imx-vpu-hantro/Config.in    | 23 ++++++++++
 .../imx-vpu-hantro/imx-vpu-hantro.hash        |  2 +
 .../imx-vpu-hantro/imx-vpu-hantro.mk          | 42 ++++++++++++++++++
 package/freescale-imx/imx-vpu/Config.in       | 21 +++------
 package/freescale-imx/imx-vpu/imx-vpu.hash    |  2 -
 package/freescale-imx/imx-vpu/imx-vpu.mk      | 34 +-------------
 package/freescale-imx/imx-vpuwrap/Config.in   | 11 +++--
 .../imx-vpuwrap/imx-vpuwrap.hash              |  3 +-
 .../freescale-imx/imx-vpuwrap/imx-vpuwrap.mk  |  2 +-
 package/gstreamer/gst-fsl-plugins/Config.in   |  2 +-
 .../gst-fsl-plugins/gst-fsl-plugins.mk        |  2 +-
 package/libimxvpuapi/Config.in                |  7 ++-
 23 files changed, 210 insertions(+), 73 deletions(-)
 create mode 100644 package/freescale-imx/imx-vpu-cnm/Config.in
 create mode 100644 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash
 create mode 100644 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk
 create mode 100644 package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
 create mode 100644 package/freescale-imx/imx-vpu-hantro/Config.in
 create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
 create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk
 delete mode 100644 package/freescale-imx/imx-vpu/imx-vpu.hash

-- 
2.18.0

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 1/8] firmware-imx: bump to version 7.5
  2018-07-25 15:01 [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Gary Bisson
@ 2018-07-25 15:01 ` Gary Bisson
  2018-07-28 21:53   ` Arnout Vandecappelle
  2018-07-25 15:01 ` [Buildroot] [PATCH 2/8] imx-vpu: rename package to imx-vpu-cnm Gary Bisson
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 22+ messages in thread
From: Gary Bisson @ 2018-07-25 15:01 UTC (permalink / raw)
  To: buildroot

This new package includes new binaries for i.MX8QXP.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
 package/freescale-imx/firmware-imx/firmware-imx.hash | 2 +-
 package/freescale-imx/firmware-imx/firmware-imx.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/freescale-imx/firmware-imx/firmware-imx.hash b/package/freescale-imx/firmware-imx/firmware-imx.hash
index dd0e13a7cf..c4930bb67d 100644
--- a/package/freescale-imx/firmware-imx/firmware-imx.hash
+++ b/package/freescale-imx/firmware-imx/firmware-imx.hash
@@ -1,4 +1,4 @@
 # Locally calculated
-sha256 8a8ec439d014e928f42c49bab1c382914ec5b4f1041df28e5d687eb194bd07ab  firmware-imx-7.4.bin
+sha256 a8f099bdf786b2da1e8b43094950c033ccdbf93f1b8a93caffb912e1500cd735  firmware-imx-7.5.bin
 sha256 faf01d10e484879247963eb97d96622a980232e22a35e487dfe53b13708b686a  EULA
 sha256 0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a  COPYING
diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk
index b9756fc2bf..0a503d7a66 100644
--- a/package/freescale-imx/firmware-imx/firmware-imx.mk
+++ b/package/freescale-imx/firmware-imx/firmware-imx.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-FIRMWARE_IMX_VERSION = 7.4
+FIRMWARE_IMX_VERSION = 7.5
 FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE)
 FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin
 
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/8] imx-vpu: rename package to imx-vpu-cnm
  2018-07-25 15:01 [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Gary Bisson
  2018-07-25 15:01 ` [Buildroot] [PATCH 1/8] firmware-imx: bump to version 7.5 Gary Bisson
@ 2018-07-25 15:01 ` Gary Bisson
  2018-07-25 16:26   ` Baruch Siach
  2018-07-25 15:01 ` [Buildroot] [PATCH 3/8] imx-vpu-cnm: bump version to 5.4.38 Gary Bisson
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 22+ messages in thread
From: Gary Bisson @ 2018-07-25 15:01 UTC (permalink / raw)
  To: buildroot

So far the i.MX processors have been using a Chips&Media CODA VPU.
But the latest generation of processors (starting with i.MX8MQ) uses
VPU cores from Hantro which is provided as imx-vpu-hantro package.

NXP chose in Yocto to keep the imx-vpu naming for Chips&Media package
and created a virtual "imxvpu" package that can either be provided by
imx-vpu or imx-vpu-hantro.

Since this naming can be confusing (IMO), renaming the imx-vpu package
to imx-vpu-cnm and then create a virtual imx-vpu one should be clearer.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
 package/freescale-imx/Config.in               |  2 +-
 package/freescale-imx/imx-codec/imx-codec.mk  |  2 +-
 .../{imx-vpu => imx-vpu-cnm}/Config.in        | 12 +++---
 .../imx-vpu-cnm.hash}                         |  0
 .../freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk  | 39 +++++++++++++++++++
 package/freescale-imx/imx-vpu/imx-vpu.mk      | 39 -------------------
 package/freescale-imx/imx-vpuwrap/Config.in   |  2 +-
 .../freescale-imx/imx-vpuwrap/imx-vpuwrap.mk  |  2 +-
 package/libimxvpuapi/Config.in                |  2 +-
 package/libimxvpuapi/libimxvpuapi.mk          |  2 +-
 10 files changed, 51 insertions(+), 51 deletions(-)
 rename package/freescale-imx/{imx-vpu => imx-vpu-cnm}/Config.in (54%)
 rename package/freescale-imx/{imx-vpu/imx-vpu.hash => imx-vpu-cnm/imx-vpu-cnm.hash} (100%)
 create mode 100644 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk
 delete mode 100644 package/freescale-imx/imx-vpu/imx-vpu.mk

diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index 30e71b825f..5e0c7ff291 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -79,7 +79,7 @@ source "package/freescale-imx/imx-lib/Config.in"
 source "package/freescale-imx/imx-m4fwloader/Config.in"
 source "package/freescale-imx/imx-parser/Config.in"
 source "package/freescale-imx/imx-uuc/Config.in"
-source "package/freescale-imx/imx-vpu/Config.in"
+source "package/freescale-imx/imx-vpu-cnm/Config.in"
 source "package/freescale-imx/imx-vpuwrap/Config.in"
 source "package/freescale-imx/firmware-imx/Config.in"
 if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53)
diff --git a/package/freescale-imx/imx-codec/imx-codec.mk b/package/freescale-imx/imx-codec/imx-codec.mk
index 784c1fa4a9..7b8a5bd4d5 100644
--- a/package/freescale-imx/imx-codec/imx-codec.mk
+++ b/package/freescale-imx/imx-codec/imx-codec.mk
@@ -21,7 +21,7 @@ ifeq ($(BR2_ARM_EABIHF),y)
 IMX_CODEC_CONF_OPTS += --enable-fhw
 endif
 
-ifeq ($(BR2_PACKAGE_IMX_VPU),y)
+ifeq ($(BR2_PACKAGE_IMX_VPU_CNM),y)
 IMX_CODEC_CONF_OPTS += --enable-vpu
 endif
 
diff --git a/package/freescale-imx/imx-vpu/Config.in b/package/freescale-imx/imx-vpu-cnm/Config.in
similarity index 54%
rename from package/freescale-imx/imx-vpu/Config.in
rename to package/freescale-imx/imx-vpu-cnm/Config.in
index 779717f5ed..1d8b1cb397 100644
--- a/package/freescale-imx/imx-vpu/Config.in
+++ b/package/freescale-imx/imx-vpu-cnm/Config.in
@@ -1,17 +1,17 @@
-comment "imx-vpu needs an i.MX platform with VPU support"
+comment "imx-vpu-cnm needs an i.MX platform with VPU support"
 	depends on BR2_arm
 	depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
 
-config BR2_PACKAGE_IMX_VPU
-	bool "imx-vpu"
+config BR2_PACKAGE_IMX_VPU_CNM
+	bool "imx-vpu-cnm"
 	depends on BR2_arm # Only relevant for i.MX
 	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
 	select BR2_PACKAGE_FIRMWARE_IMX
 	help
 	  Library of userspace helpers specific for the Freescale i.MX
-	  platform. It wraps the kernel interfaces for the i.MX platform
-	  Video Processing Unit (VPU) driver. It requires a kernel that
-	  includes the i.MX specific headers to be built.
+	  platform integrating a Chips&Media CODA Video Processing Unit
+	  (VPU). It requires a kernel that includes the i.MX specific
+	  headers to be built.
 
 	  This library is provided by Freescale as-is and doesn't have
 	  an upstream.
diff --git a/package/freescale-imx/imx-vpu/imx-vpu.hash b/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash
similarity index 100%
rename from package/freescale-imx/imx-vpu/imx-vpu.hash
rename to package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash
diff --git a/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk b/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk
new file mode 100644
index 0000000000..a6cca08e9c
--- /dev/null
+++ b/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk
@@ -0,0 +1,39 @@
+################################################################################
+#
+# imx-vpu-cnm
+#
+################################################################################
+
+IMX_VPU_CNM_VERSION = 5.4.37
+IMX_VPU_CNM_SITE = $(FREESCALE_IMX_SITE)
+IMX_VPU_CNM_SOURCE = imx-vpu-$(IMX_VPU_CNM_VERSION).bin
+
+IMX_VPU_CNM_INSTALL_STAGING = YES
+
+IMX_VPU_CNM_MAKE_ENV = \
+	$(TARGET_MAKE_ENV) \
+	$(TARGET_CONFIGURE_OPTS) \
+	CROSS_COMPILE="$(TARGET_CROSS)" \
+	PLATFORM=$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM)
+
+IMX_VPU_CNM_LICENSE = NXP Semiconductor Software License Agreement
+IMX_VPU_CNM_LICENSE_FILES = EULA COPYING
+IMX_VPU_CNM_REDISTRIBUTE = NO
+
+define IMX_VPU_CNM_EXTRACT_CMDS
+	$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_CNM_DL_DIR)/$(IMX_VPU_CNM_SOURCE))
+endef
+
+define IMX_VPU_CNM_BUILD_CMDS
+	$(IMX_VPU_CNM_MAKE_ENV) $(MAKE1) -C $(@D)
+endef
+
+define IMX_VPU_CNM_INSTALL_STAGING_CMDS
+	$(IMX_VPU_CNM_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(STAGING_DIR) install
+endef
+
+define IMX_VPU_CNM_INSTALL_TARGET_CMDS
+	$(IMX_VPU_CNM_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))
diff --git a/package/freescale-imx/imx-vpu/imx-vpu.mk b/package/freescale-imx/imx-vpu/imx-vpu.mk
deleted file mode 100644
index 2bcfe53eba..0000000000
--- a/package/freescale-imx/imx-vpu/imx-vpu.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-################################################################################
-#
-# imx-vpu
-#
-################################################################################
-
-IMX_VPU_VERSION = 5.4.37
-IMX_VPU_SITE = $(FREESCALE_IMX_SITE)
-IMX_VPU_SOURCE = imx-vpu-$(IMX_VPU_VERSION).bin
-
-IMX_VPU_INSTALL_STAGING = YES
-
-IMX_VPU_MAKE_ENV = \
-	$(TARGET_MAKE_ENV) \
-	$(TARGET_CONFIGURE_OPTS) \
-	CROSS_COMPILE="$(TARGET_CROSS)" \
-	PLATFORM=$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM)
-
-IMX_VPU_LICENSE = NXP Semiconductor Software License Agreement
-IMX_VPU_LICENSE_FILES = EULA COPYING
-IMX_VPU_REDISTRIBUTE = NO
-
-define IMX_VPU_EXTRACT_CMDS
-	$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_DL_DIR)/$(IMX_VPU_SOURCE))
-endef
-
-define IMX_VPU_BUILD_CMDS
-	$(IMX_VPU_MAKE_ENV) $(MAKE1) -C $(@D)
-endef
-
-define IMX_VPU_INSTALL_STAGING_CMDS
-	$(IMX_VPU_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(STAGING_DIR) install
-endef
-
-define IMX_VPU_INSTALL_TARGET_CMDS
-	$(IMX_VPU_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(TARGET_DIR) install
-endef
-
-$(eval $(generic-package))
diff --git a/package/freescale-imx/imx-vpuwrap/Config.in b/package/freescale-imx/imx-vpuwrap/Config.in
index bdfa147867..85eb16004d 100644
--- a/package/freescale-imx/imx-vpuwrap/Config.in
+++ b/package/freescale-imx/imx-vpuwrap/Config.in
@@ -11,7 +11,7 @@ config BR2_PACKAGE_IMX_VPUWRAP
 	depends on BR2_LINUX_KERNEL
 	depends on BR2_arm # Only relevant for i.MX
 	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
-	select BR2_PACKAGE_IMX_VPU
+	select BR2_PACKAGE_IMX_VPU_CNM
 	help
 	  Wrapper library for the vpu library, giving it a different
 	  API.
diff --git a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk
index edba87279f..0b60868e9a 100644
--- a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk
+++ b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk
@@ -7,7 +7,7 @@
 IMX_VPUWRAP_VERSION = 1.0.68
 IMX_VPUWRAP_SITE = $(FREESCALE_IMX_SITE)
 IMX_VPUWRAP_SOURCE = imx-vpuwrap-$(IMX_VPUWRAP_VERSION).bin
-IMX_VPUWRAP_DEPENDENCIES = imx-vpu
+IMX_VPUWRAP_DEPENDENCIES = imx-vpu-cnm
 IMX_VPUWRAP_INSTALL_STAGING = YES
 
 IMX_VPUWRAP_LICENSE = NXP Semiconductor Software License Agreement
diff --git a/package/libimxvpuapi/Config.in b/package/libimxvpuapi/Config.in
index 8b8b839ce8..3d25b3b751 100644
--- a/package/libimxvpuapi/Config.in
+++ b/package/libimxvpuapi/Config.in
@@ -6,7 +6,7 @@ config BR2_PACKAGE_LIBIMXVPUAPI
 	bool "libimxvpuapi"
 	depends on BR2_arm # Only relevant for i.MX
 	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
-	select BR2_PACKAGE_IMX_VPU
+	select BR2_PACKAGE_IMX_VPU_CNM
 	help
 	  This library provides an API for using the iMX6 VPU video
 	  engine. It is an alternative to Freescale's VPU
diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk
index bcabbf3877..27189ff044 100644
--- a/package/libimxvpuapi/libimxvpuapi.mk
+++ b/package/libimxvpuapi/libimxvpuapi.mk
@@ -8,7 +8,7 @@ LIBIMXVPUAPI_VERSION = 0.10.3
 LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION))
 LIBIMXVPUAPI_LICENSE = LGPL-2.1+
 LIBIMXVPUAPI_LICENSE_FILES = LICENSE
-LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu
+LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu-cnm
 LIBIMXVPUAPI_INSTALL_STAGING = YES
 
 $(eval $(waf-package))
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 3/8] imx-vpu-cnm: bump version to 5.4.38
  2018-07-25 15:01 [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Gary Bisson
  2018-07-25 15:01 ` [Buildroot] [PATCH 1/8] firmware-imx: bump to version 7.5 Gary Bisson
  2018-07-25 15:01 ` [Buildroot] [PATCH 2/8] imx-vpu: rename package to imx-vpu-cnm Gary Bisson
@ 2018-07-25 15:01 ` Gary Bisson
  2018-07-25 15:01 ` [Buildroot] [PATCH 4/8] imx-vpu-hantro: new package Gary Bisson
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-25 15:01 UTC (permalink / raw)
  To: buildroot

No changelog provided by NXP.
Added COPYING hash value to track license changes.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash | 3 ++-
 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash b/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash
index 0ac0f3d0c2..822286dceb 100644
--- a/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash
+++ b/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash
@@ -1,2 +1,3 @@
 # Locally computed
-sha256	ee265e88d17c7369bd9cb917e7cce035b8c7ee2ba4491645fdab9f382f54beb0  imx-vpu-5.4.37.bin
+sha256  34bed0ddf6c797f444bddfa5d5495adc751ff268b6431d8beb48129c89c9e47f  imx-vpu-5.4.38.bin
+sha256  78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa  COPYING
diff --git a/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk b/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk
index a6cca08e9c..d29eb0ed2c 100644
--- a/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk
+++ b/package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-IMX_VPU_CNM_VERSION = 5.4.37
+IMX_VPU_CNM_VERSION = 5.4.38
 IMX_VPU_CNM_SITE = $(FREESCALE_IMX_SITE)
 IMX_VPU_CNM_SOURCE = imx-vpu-$(IMX_VPU_CNM_VERSION).bin
 
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 4/8] imx-vpu-hantro: new package
  2018-07-25 15:01 [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Gary Bisson
                   ` (2 preceding siblings ...)
  2018-07-25 15:01 ` [Buildroot] [PATCH 3/8] imx-vpu-cnm: bump version to 5.4.38 Gary Bisson
@ 2018-07-25 15:01 ` Gary Bisson
  2018-07-25 16:29   ` Baruch Siach
  2018-07-26  9:41   ` Arnout Vandecappelle
  2018-07-25 15:01 ` [Buildroot] [PATCH 5/8] imx-vpu: new virtual package Gary Bisson
                   ` (4 subsequent siblings)
  8 siblings, 2 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-25 15:01 UTC (permalink / raw)
  To: buildroot

This package provides the user-space libraries needed to use the Hantro
VPU present in processors such as the i.MX8MQ.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
 package/freescale-imx/Config.in               |  4 +-
 ...on.h-header-inclusion-to-be-standard.patch | 44 +++++++++++++++++++
 .../freescale-imx/imx-vpu-hantro/Config.in    | 15 +++++++
 .../imx-vpu-hantro/imx-vpu-hantro.hash        |  2 +
 .../imx-vpu-hantro/imx-vpu-hantro.mk          | 42 ++++++++++++++++++
 5 files changed, 106 insertions(+), 1 deletion(-)
 create mode 100644 package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
 create mode 100644 package/freescale-imx/imx-vpu-hantro/Config.in
 create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
 create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk

diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index 5e0c7ff291..9b47958ff3 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -63,7 +63,8 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
 	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS || \
 		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || \
 		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 || \
-		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
+		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
+		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
 
 config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
 	bool
@@ -80,6 +81,7 @@ source "package/freescale-imx/imx-m4fwloader/Config.in"
 source "package/freescale-imx/imx-parser/Config.in"
 source "package/freescale-imx/imx-uuc/Config.in"
 source "package/freescale-imx/imx-vpu-cnm/Config.in"
+source "package/freescale-imx/imx-vpu-hantro/Config.in"
 source "package/freescale-imx/imx-vpuwrap/Config.in"
 source "package/freescale-imx/firmware-imx/Config.in"
 if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53)
diff --git a/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
new file mode 100644
index 0000000000..951ead9824
--- /dev/null
+++ b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
@@ -0,0 +1,44 @@
+From 872c82e7cbb9a0a0e761e8ac70fc28e19a55b4c3 Mon Sep 17 00:00:00 2001
+From: Gary Bisson <gary.bisson@boundarydevices.com>
+Date: Thu, 12 Jul 2018 11:38:28 +0200
+Subject: [PATCH] Fix ion.h header inclusion to be standard
+
+NXP "solution" was to manually copy the header to include/linux.
+Let's point the Makefile to the proper (mainline) location instead:
+https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h
+
+Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
+---
+ Makefile                                  | 2 ++
+ decoder_sw/software/linux/dwl/dwl_linux.c | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index b74e23a..a5ce22b 100755
+--- a/Makefile
++++ b/Makefile
+@@ -11,6 +11,8 @@ INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/so
+ INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc
+ #INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver
+ INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
++# ION header location
++INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi
+ 
+ CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \
+            -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \
+diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c
+index 8183660..ed37d86 100644
+--- a/decoder_sw/software/linux/dwl/dwl_linux.c
++++ b/decoder_sw/software/linux/dwl/dwl_linux.c
+@@ -41,7 +41,7 @@
+ #include "dwl.h"
+ #include <linux/hantrodec.h>
+ #ifdef USE_ION
+-#include <linux/ion.h>
++#include <ion.h>
+ #ifdef ANDROID
+ #include <linux/mxc_ion.h>
+ #endif
+-- 
+2.18.0
+
diff --git a/package/freescale-imx/imx-vpu-hantro/Config.in b/package/freescale-imx/imx-vpu-hantro/Config.in
new file mode 100644
index 0000000000..5a1255164e
--- /dev/null
+++ b/package/freescale-imx/imx-vpu-hantro/Config.in
@@ -0,0 +1,15 @@
+comment "imx-vpu-hantro needs an i.MX platform with VPU support"
+	depends on BR2_aarch64
+	depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+
+config BR2_PACKAGE_IMX_VPU_HANTRO
+	bool "imx-vpu-hantro"
+	depends on BR2_aarch64 # Only relevant for i.MX8
+	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+	help
+	  Library of userspace helpers specific for the NXP i.MX CPUs
+	  integrating a Hantro Video Processing Unit (VPU). It requires
+	  a kernel that includes the i.MX specific headers to be built.
+
+	  This library is provided by Freescale as-is and doesn't have
+	  an upstream.
diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
new file mode 100644
index 0000000000..3b1a545b3f
--- /dev/null
+++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
@@ -0,0 +1,2 @@
+sha256  cbc648e41f005aad209f74c9e5dd346138dca12efeb7b27e471de7474c4da302  imx-vpu-hantro-1.6.0.bin
+sha256  0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a  COPYING
diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk
new file mode 100644
index 0000000000..57ce411e63
--- /dev/null
+++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk
@@ -0,0 +1,42 @@
+################################################################################
+#
+# imx-vpu-hantro
+#
+################################################################################
+
+IMX_VPU_HANTRO_VERSION = 1.6.0
+IMX_VPU_HANTRO_SITE = $(FREESCALE_IMX_SITE)
+IMX_VPU_HANTRO_SOURCE = imx-vpu-hantro-$(IMX_VPU_HANTRO_VERSION).bin
+
+IMX_VPU_HANTRO_INSTALL_STAGING = YES
+
+IMX_VPU_HANTRO_MAKE_ENV = \
+	$(TARGET_MAKE_ENV) \
+	$(TARGET_CONFIGURE_OPTS) \
+	CROSS_COMPILE="$(TARGET_CROSS)" \
+	SDKTARGETSYSROOT=$(STAGING_DIR) \
+	LINUX_KERNEL_ROOT=$(LINUX_DIR)
+
+IMX_VPU_HANTRO_LICENSE = NXP Semiconductor Software License Agreement
+IMX_VPU_HANTRO_LICENSE_FILES = EULA COPYING
+IMX_VPU_HANTRO_REDISTRIBUTE = NO
+
+define IMX_VPU_HANTRO_EXTRACT_CMDS
+	$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_HANTRO_DL_DIR)/$(IMX_VPU_HANTRO_SOURCE))
+endef
+
+define IMX_VPU_HANTRO_BUILD_CMDS
+	$(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D)
+endef
+
+define IMX_VPU_HANTRO_INSTALL_STAGING_CMDS
+	$(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \
+		DEST_DIR=$(STAGING_DIR) libdir=/usr/lib install
+endef
+
+define IMX_VPU_HANTRO_INSTALL_TARGET_CMDS
+	$(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \
+		DEST_DIR=$(TARGET_DIR) libdir=/usr/lib install
+endef
+
+$(eval $(generic-package))
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 5/8] imx-vpu: new virtual package
  2018-07-25 15:01 [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Gary Bisson
                   ` (3 preceding siblings ...)
  2018-07-25 15:01 ` [Buildroot] [PATCH 4/8] imx-vpu-hantro: new package Gary Bisson
@ 2018-07-25 15:01 ` Gary Bisson
  2018-07-25 15:01 ` [Buildroot] [PATCH 6/8] imx-vpuwrap: bump version to 4.3.5 Gary Bisson
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-25 15:01 UTC (permalink / raw)
  To: buildroot

Since it can be provided by either imx-vpu-cnm or imx-vpu-hantro.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
 package/freescale-imx/Config.in                      | 1 +
 package/freescale-imx/imx-codec/imx-codec.mk         | 2 +-
 package/freescale-imx/imx-vpu-cnm/Config.in          | 8 ++++++++
 package/freescale-imx/imx-vpu-hantro/Config.in       | 8 ++++++++
 package/freescale-imx/imx-vpu/Config.in              | 6 ++++++
 package/freescale-imx/imx-vpu/imx-vpu.mk             | 7 +++++++
 package/freescale-imx/imx-vpuwrap/Config.in          | 7 +++----
 package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk     | 2 +-
 package/gstreamer/gst-fsl-plugins/Config.in          | 2 +-
 package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk | 2 +-
 package/libimxvpuapi/Config.in                       | 7 +++----
 package/libimxvpuapi/libimxvpuapi.mk                 | 2 +-
 12 files changed, 41 insertions(+), 13 deletions(-)
 create mode 100644 package/freescale-imx/imx-vpu/Config.in
 create mode 100644 package/freescale-imx/imx-vpu/imx-vpu.mk

diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index 9b47958ff3..bcddf647ef 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -80,6 +80,7 @@ source "package/freescale-imx/imx-lib/Config.in"
 source "package/freescale-imx/imx-m4fwloader/Config.in"
 source "package/freescale-imx/imx-parser/Config.in"
 source "package/freescale-imx/imx-uuc/Config.in"
+source "package/freescale-imx/imx-vpu/Config.in"
 source "package/freescale-imx/imx-vpu-cnm/Config.in"
 source "package/freescale-imx/imx-vpu-hantro/Config.in"
 source "package/freescale-imx/imx-vpuwrap/Config.in"
diff --git a/package/freescale-imx/imx-codec/imx-codec.mk b/package/freescale-imx/imx-codec/imx-codec.mk
index 7b8a5bd4d5..7f738d8129 100644
--- a/package/freescale-imx/imx-codec/imx-codec.mk
+++ b/package/freescale-imx/imx-codec/imx-codec.mk
@@ -21,7 +21,7 @@ ifeq ($(BR2_ARM_EABIHF),y)
 IMX_CODEC_CONF_OPTS += --enable-fhw
 endif
 
-ifeq ($(BR2_PACKAGE_IMX_VPU_CNM),y)
+ifeq ($(BR2_PACKAGE_HAS_IMX_VPU),y)
 IMX_CODEC_CONF_OPTS += --enable-vpu
 endif
 
diff --git a/package/freescale-imx/imx-vpu-cnm/Config.in b/package/freescale-imx/imx-vpu-cnm/Config.in
index 1d8b1cb397..b93c01815c 100644
--- a/package/freescale-imx/imx-vpu-cnm/Config.in
+++ b/package/freescale-imx/imx-vpu-cnm/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_IMX_VPU_CNM
 	depends on BR2_arm # Only relevant for i.MX
 	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
 	select BR2_PACKAGE_FIRMWARE_IMX
+	select BR2_PACKAGE_HAS_IMX_VPU
 	help
 	  Library of userspace helpers specific for the Freescale i.MX
 	  platform integrating a Chips&Media CODA Video Processing Unit
@@ -15,3 +16,10 @@ config BR2_PACKAGE_IMX_VPU_CNM
 
 	  This library is provided by Freescale as-is and doesn't have
 	  an upstream.
+
+if BR2_PACKAGE_IMX_VPU_CNM
+
+config BR2_PACKAGE_PROVIDES_IMX_VPU
+	default "imx-vpu-cnm"
+
+endif
diff --git a/package/freescale-imx/imx-vpu-hantro/Config.in b/package/freescale-imx/imx-vpu-hantro/Config.in
index 5a1255164e..c6208c7ba1 100644
--- a/package/freescale-imx/imx-vpu-hantro/Config.in
+++ b/package/freescale-imx/imx-vpu-hantro/Config.in
@@ -6,6 +6,7 @@ config BR2_PACKAGE_IMX_VPU_HANTRO
 	bool "imx-vpu-hantro"
 	depends on BR2_aarch64 # Only relevant for i.MX8
 	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+	select BR2_PACKAGE_HAS_IMX_VPU
 	help
 	  Library of userspace helpers specific for the NXP i.MX CPUs
 	  integrating a Hantro Video Processing Unit (VPU). It requires
@@ -13,3 +14,10 @@ config BR2_PACKAGE_IMX_VPU_HANTRO
 
 	  This library is provided by Freescale as-is and doesn't have
 	  an upstream.
+
+if BR2_PACKAGE_IMX_VPU_HANTRO
+
+config BR2_PACKAGE_PROVIDES_IMX_VPU
+	default "imx-vpu-hantro"
+
+endif
diff --git a/package/freescale-imx/imx-vpu/Config.in b/package/freescale-imx/imx-vpu/Config.in
new file mode 100644
index 0000000000..caefe9db8c
--- /dev/null
+++ b/package/freescale-imx/imx-vpu/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HAS_IMX_VPU
+	bool
+
+config BR2_PACKAGE_PROVIDES_IMX_VPU
+	depends on BR2_PACKAGE_HAS_IMX_VPU
+	string
diff --git a/package/freescale-imx/imx-vpu/imx-vpu.mk b/package/freescale-imx/imx-vpu/imx-vpu.mk
new file mode 100644
index 0000000000..6e44ad1fce
--- /dev/null
+++ b/package/freescale-imx/imx-vpu/imx-vpu.mk
@@ -0,0 +1,7 @@
+################################################################################
+#
+# imx-vpu
+#
+################################################################################
+
+$(eval $(virtual-package))
diff --git a/package/freescale-imx/imx-vpuwrap/Config.in b/package/freescale-imx/imx-vpuwrap/Config.in
index 85eb16004d..87303cca9d 100644
--- a/package/freescale-imx/imx-vpuwrap/Config.in
+++ b/package/freescale-imx/imx-vpuwrap/Config.in
@@ -2,16 +2,15 @@ comment "imx-vpuwrap needs an imx-specific Linux kernel to be built"
 	depends on BR2_arm
 	depends on !BR2_LINUX_KERNEL
 
-comment "imx-vpuwrap needs an i.MX platform with VPU support"
+comment "imx-vpuwrap needs an i.MX VPU backend provider"
 	depends on BR2_arm
-	depends on BR2_LINUX_KERNEL && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+	depends on BR2_LINUX_KERNEL && !BR2_PACKAGE_HAS_IMX_VPU
 
 config BR2_PACKAGE_IMX_VPUWRAP
 	bool "imx-vpuwrap"
 	depends on BR2_LINUX_KERNEL
 	depends on BR2_arm # Only relevant for i.MX
-	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
-	select BR2_PACKAGE_IMX_VPU_CNM
+	depends on BR2_PACKAGE_HAS_IMX_VPU
 	help
 	  Wrapper library for the vpu library, giving it a different
 	  API.
diff --git a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk
index 0b60868e9a..edba87279f 100644
--- a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk
+++ b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk
@@ -7,7 +7,7 @@
 IMX_VPUWRAP_VERSION = 1.0.68
 IMX_VPUWRAP_SITE = $(FREESCALE_IMX_SITE)
 IMX_VPUWRAP_SOURCE = imx-vpuwrap-$(IMX_VPUWRAP_VERSION).bin
-IMX_VPUWRAP_DEPENDENCIES = imx-vpu-cnm
+IMX_VPUWRAP_DEPENDENCIES = imx-vpu
 IMX_VPUWRAP_INSTALL_STAGING = YES
 
 IMX_VPUWRAP_LICENSE = NXP Semiconductor Software License Agreement
diff --git a/package/gstreamer/gst-fsl-plugins/Config.in b/package/gstreamer/gst-fsl-plugins/Config.in
index a2ff11ec3e..86226c31fb 100644
--- a/package/gstreamer/gst-fsl-plugins/Config.in
+++ b/package/gstreamer/gst-fsl-plugins/Config.in
@@ -11,7 +11,7 @@ config BR2_PACKAGE_GST_FSL_PLUGINS
 	depends on BR2_arm # Only relevant for i.MX
 	depends on BR2_TOOLCHAIN_USES_GLIBC # imx-codec
 	select BR2_PACKAGE_GST_PLUGINS_BASE
-	select BR2_PACKAGE_IMX_VPUWRAP if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+	select BR2_PACKAGE_IMX_VPUWRAP if BR2_PACKAGE_HAS_IMX_VPU
 	select BR2_PACKAGE_IMX_LIB
 	select BR2_PACKAGE_IMX_PARSER
 	select BR2_PACKAGE_IMX_CODEC
diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk
index 547d253e88..45a629ba39 100644
--- a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk
+++ b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk
@@ -18,7 +18,7 @@ GST_FSL_PLUGINS_AUTORECONF = YES
 GST_FSL_PLUGINS_DEPENDENCIES += host-pkgconf gstreamer gst-plugins-base \
 	imx-lib imx-parser imx-codec
 
-ifeq ($(BR2_PACKAGE_FREESCALE_IMX_HAS_VPU),y)
+ifeq ($(BR2_PACKAGE_HAS_IMX_VPU),y)
 GST_FSL_PLUGINS_DEPENDENCIES += imx-vpuwrap
 endif
 
diff --git a/package/libimxvpuapi/Config.in b/package/libimxvpuapi/Config.in
index 3d25b3b751..479377743d 100644
--- a/package/libimxvpuapi/Config.in
+++ b/package/libimxvpuapi/Config.in
@@ -1,12 +1,11 @@
-comment "libimxvpuapi needs an i.MX platform with VPU support"
+comment "libimxvpuapi needs an i.MX VPU backend provider"
 	depends on BR2_arm
-	depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+	depends on !BR2_PACKAGE_HAS_IMX_VPU
 
 config BR2_PACKAGE_LIBIMXVPUAPI
 	bool "libimxvpuapi"
 	depends on BR2_arm # Only relevant for i.MX
-	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
-	select BR2_PACKAGE_IMX_VPU_CNM
+	depends on BR2_PACKAGE_HAS_IMX_VPU
 	help
 	  This library provides an API for using the iMX6 VPU video
 	  engine. It is an alternative to Freescale's VPU
diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk
index 27189ff044..bcabbf3877 100644
--- a/package/libimxvpuapi/libimxvpuapi.mk
+++ b/package/libimxvpuapi/libimxvpuapi.mk
@@ -8,7 +8,7 @@ LIBIMXVPUAPI_VERSION = 0.10.3
 LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION))
 LIBIMXVPUAPI_LICENSE = LGPL-2.1+
 LIBIMXVPUAPI_LICENSE_FILES = LICENSE
-LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu-cnm
+LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu
 LIBIMXVPUAPI_INSTALL_STAGING = YES
 
 $(eval $(waf-package))
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 6/8] imx-vpuwrap: bump version to 4.3.5
  2018-07-25 15:01 [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Gary Bisson
                   ` (4 preceding siblings ...)
  2018-07-25 15:01 ` [Buildroot] [PATCH 5/8] imx-vpu: new virtual package Gary Bisson
@ 2018-07-25 15:01 ` Gary Bisson
  2018-07-25 15:01 ` [Buildroot] [PATCH 7/8] imx-codec: " Gary Bisson
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-25 15:01 UTC (permalink / raw)
  To: buildroot

No changelog provided for 4.3.5 but it can now builds against the
following VPU backeds:
- Chips&Media
- Hantro
- Amphion (not supported in BR yet)

Changes in 4.3.2:
- Add vpu_wrapper_test
- Add gst_dump tools
- Add gl sink
- Enable RMVB/VC1/DIVX3
- Add webp support

Changes in 4.3.4:
- set hasColorDesc and fullRange in VPU_DecGetInitialInfo.
- Fix H264 failure due to too many MBI buffers.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
 package/freescale-imx/imx-vpuwrap/Config.in        | 4 ++--
 package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash | 3 ++-
 package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk   | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/package/freescale-imx/imx-vpuwrap/Config.in b/package/freescale-imx/imx-vpuwrap/Config.in
index 87303cca9d..54050bf7af 100644
--- a/package/freescale-imx/imx-vpuwrap/Config.in
+++ b/package/freescale-imx/imx-vpuwrap/Config.in
@@ -1,5 +1,5 @@
 comment "imx-vpuwrap needs an imx-specific Linux kernel to be built"
-	depends on BR2_arm
+	depends on BR2_arm || BR2_aarch64
 	depends on !BR2_LINUX_KERNEL
 
 comment "imx-vpuwrap needs an i.MX VPU backend provider"
@@ -9,7 +9,7 @@ comment "imx-vpuwrap needs an i.MX VPU backend provider"
 config BR2_PACKAGE_IMX_VPUWRAP
 	bool "imx-vpuwrap"
 	depends on BR2_LINUX_KERNEL
-	depends on BR2_arm # Only relevant for i.MX
+	depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
 	depends on BR2_PACKAGE_HAS_IMX_VPU
 	help
 	  Wrapper library for the vpu library, giving it a different
diff --git a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash
index 2999984d2c..28c73c002c 100644
--- a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash
+++ b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash
@@ -1,2 +1,3 @@
 # locally computed
-sha256	282e7f8766ce385d8752bd29f04ddeff709ece0846be97547cf982183bbe241e  imx-vpuwrap-1.0.68.bin
+sha256  5c08b4b7c771404c998779f0e27a75564b57958d463e2df152c910d76cca9e44  imx-vpuwrap-4.3.5.bin
+sha256  78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa  COPYING
diff --git a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk
index edba87279f..e456f67cfd 100644
--- a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk
+++ b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-IMX_VPUWRAP_VERSION = 1.0.68
+IMX_VPUWRAP_VERSION = 4.3.5
 IMX_VPUWRAP_SITE = $(FREESCALE_IMX_SITE)
 IMX_VPUWRAP_SOURCE = imx-vpuwrap-$(IMX_VPUWRAP_VERSION).bin
 IMX_VPUWRAP_DEPENDENCIES = imx-vpu
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 7/8] imx-codec: bump version to 4.3.5
  2018-07-25 15:01 [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Gary Bisson
                   ` (5 preceding siblings ...)
  2018-07-25 15:01 ` [Buildroot] [PATCH 6/8] imx-vpuwrap: bump version to 4.3.5 Gary Bisson
@ 2018-07-25 15:01 ` Gary Bisson
  2018-07-25 15:01 ` [Buildroot] [PATCH 8/8] imx-parser: " Gary Bisson
  2018-07-26  9:26 ` [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Arnout Vandecappelle
  8 siblings, 0 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-25 15:01 UTC (permalink / raw)
  To: buildroot

No changelog provided by NXP for v4.3.5.

Added COPYING hash to track license change.

Changelog for v4.3.4
1. Add INSANE_SKIP for file-rdeps to fix QA Issue
2. Update mp3_enc version to 02.03.01
3. Fix crash in lib_mp3_enc_arm12_elinux.so
This crash error is caused by division by zero
in noOfElements_mp3e() function When encoding 0
size file by using unit test
so before performing a division operation, need to
check whether divisor is zero or not to fix it.

Changelog for v4.3.2
1. Upgrade EULA to v20
2. Add i.MX8 support
3. Bugfix/Optimization
   - Remove video codec in imx-codec package.
   - Fix logically dead code issue for aac_dec.
   - Fix wrong sizeof argument for flac_dec.
   - Cancel unused code in nb_amr/wb_amr/flac_dec/bsac_dec.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
 package/freescale-imx/imx-codec/imx-codec.hash | 3 ++-
 package/freescale-imx/imx-codec/imx-codec.mk   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/freescale-imx/imx-codec/imx-codec.hash b/package/freescale-imx/imx-codec/imx-codec.hash
index 53d8f71c39..9d99ee0101 100644
--- a/package/freescale-imx/imx-codec/imx-codec.hash
+++ b/package/freescale-imx/imx-codec/imx-codec.hash
@@ -1,2 +1,3 @@
 # locally computed
-sha256	20d3f9b4187fcd9e7007c94558a00bab1191513eee74b6f0d8c7b43f874e06ed  imx-codec-4.2.1.bin
+sha256  6bb54f91c3ca18567e14d95d3858022dc9be00dc86e9edfdb544d1240a3b2b04  imx-codec-4.3.5.bin
+sha256  78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa  COPYING
diff --git a/package/freescale-imx/imx-codec/imx-codec.mk b/package/freescale-imx/imx-codec/imx-codec.mk
index 7f738d8129..a3276027fb 100644
--- a/package/freescale-imx/imx-codec/imx-codec.mk
+++ b/package/freescale-imx/imx-codec/imx-codec.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-IMX_CODEC_VERSION = 4.2.1
+IMX_CODEC_VERSION = 4.3.5
 IMX_CODEC_SITE = $(FREESCALE_IMX_SITE)
 IMX_CODEC_SOURCE = imx-codec-$(IMX_CODEC_VERSION).bin
 IMX_CODEC_INSTALL_STAGING = YES
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 8/8] imx-parser: bump version to 4.3.5
  2018-07-25 15:01 [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Gary Bisson
                   ` (6 preceding siblings ...)
  2018-07-25 15:01 ` [Buildroot] [PATCH 7/8] imx-codec: " Gary Bisson
@ 2018-07-25 15:01 ` Gary Bisson
  2018-07-26  9:26 ` [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Arnout Vandecappelle
  8 siblings, 0 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-25 15:01 UTC (permalink / raw)
  To: buildroot

Added COPYING hash to track license changes.

No changelog provided by NXP for v4.3.5.

Changelog for v4.3.4:
- Fix crash issue when parse index list.
- Add mett atom in mp4 parser.
- MP4 PARSER 06.13.00 add interface PARSER_API_GET_TEXT_TRACK_MIME
to get mime type from mett atom.
- Add protection for contentDescriptionObject in case the size is not
correct and larger than qwSize.

Changelog for v4.3.2:
- Fix creating parser error
When the variable value is negetive, if(bytesToRead) will return true,
modify this condition to if(bytesToRead > 0).
- FLAC PARSER 03.00.07
Check read actual length in case of parser reach eos.
- MP4 PARSER 06.12.11
Fix crash issue when parse id3 metadata.
- MPG2 PARSER 04.05.16
Fix parser return wrong frame size after fastforward.
- ASFPARSER_01.00.55
Update for HEVC tag and audio AC3 support.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
 package/freescale-imx/imx-parser/imx-parser.hash | 3 ++-
 package/freescale-imx/imx-parser/imx-parser.mk   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/freescale-imx/imx-parser/imx-parser.hash b/package/freescale-imx/imx-parser/imx-parser.hash
index 3266f48110..708e9b8386 100644
--- a/package/freescale-imx/imx-parser/imx-parser.hash
+++ b/package/freescale-imx/imx-parser/imx-parser.hash
@@ -1,2 +1,3 @@
 # locally computed
-sha256	36d3ae7285f3a83a87abf680b8a52b3c07df869d2443de844fb5f0ff528ca862  imx-parser-4.2.1.bin
+sha256  9cd8c49a0bb1050afcfbcc7a677a348443fda4ecacb621cc6e38897619e27c67  imx-parser-4.3.5.bin
+sha256  78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa  COPYING
diff --git a/package/freescale-imx/imx-parser/imx-parser.mk b/package/freescale-imx/imx-parser/imx-parser.mk
index 11536e5024..fc4376f04b 100644
--- a/package/freescale-imx/imx-parser/imx-parser.mk
+++ b/package/freescale-imx/imx-parser/imx-parser.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-IMX_PARSER_VERSION = 4.2.1
+IMX_PARSER_VERSION = 4.3.5
 IMX_PARSER_SITE = $(FREESCALE_IMX_SITE)
 IMX_PARSER_SOURCE = imx-parser-$(IMX_PARSER_VERSION).bin
 IMX_PARSER_INSTALL_STAGING = YES
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/8] imx-vpu: rename package to imx-vpu-cnm
  2018-07-25 15:01 ` [Buildroot] [PATCH 2/8] imx-vpu: rename package to imx-vpu-cnm Gary Bisson
@ 2018-07-25 16:26   ` Baruch Siach
  2018-07-26  6:45     ` Gary Bisson
  0 siblings, 1 reply; 22+ messages in thread
From: Baruch Siach @ 2018-07-25 16:26 UTC (permalink / raw)
  To: buildroot

Hi Gary,

On Wed, Jul 25, 2018 at 05:01:43PM +0200, Gary Bisson wrote:
> So far the i.MX processors have been using a Chips&Media CODA VPU.
> But the latest generation of processors (starting with i.MX8MQ) uses
> VPU cores from Hantro which is provided as imx-vpu-hantro package.
> 
> NXP chose in Yocto to keep the imx-vpu naming for Chips&Media package
> and created a virtual "imxvpu" package that can either be provided by
> imx-vpu or imx-vpu-hantro.
> 
> Since this naming can be confusing (IMO), renaming the imx-vpu package
> to imx-vpu-cnm and then create a virtual imx-vpu one should be clearer.

What about Config.in.legacy?

[..]

> -config BR2_PACKAGE_IMX_VPU
> -	bool "imx-vpu"
> +config BR2_PACKAGE_IMX_VPU_CNM
> +	bool "imx-vpu-cnm"
>  	depends on BR2_arm # Only relevant for i.MX
>  	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
>  	select BR2_PACKAGE_FIRMWARE_IMX
>  	help
>  	  Library of userspace helpers specific for the Freescale i.MX
> -	  platform. It wraps the kernel interfaces for the i.MX platform
> -	  Video Processing Unit (VPU) driver. It requires a kernel that
> -	  includes the i.MX specific headers to be built.
> +	  platform integrating a Chips&Media CODA Video Processing Unit
> +	  (VPU). It requires a kernel that includes the i.MX specific
> +	  headers to be built.

I think it is worth mentioning here which i.MX variants have this VPU. 
Otherwise the user has no easy way to know which package supports a specific 
SoC.

>  	  This library is provided by Freescale as-is and doesn't have
>  	  an upstream.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 4/8] imx-vpu-hantro: new package
  2018-07-25 15:01 ` [Buildroot] [PATCH 4/8] imx-vpu-hantro: new package Gary Bisson
@ 2018-07-25 16:29   ` Baruch Siach
  2018-07-26  6:45     ` Gary Bisson
  2018-07-26  9:41   ` Arnout Vandecappelle
  1 sibling, 1 reply; 22+ messages in thread
From: Baruch Siach @ 2018-07-25 16:29 UTC (permalink / raw)
  To: buildroot

Hi Gary,

On Wed, Jul 25, 2018 at 05:01:45PM +0200, Gary Bisson wrote:
> +config BR2_PACKAGE_IMX_VPU_HANTRO
> +	bool "imx-vpu-hantro"
> +	depends on BR2_aarch64 # Only relevant for i.MX8
> +	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> +	help
> +	  Library of userspace helpers specific for the NXP i.MX CPUs
> +	  integrating a Hantro Video Processing Unit (VPU). It requires
> +	  a kernel that includes the i.MX specific headers to be built.

Here also, a mention of i.MX8 would be nice, IMO.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/8] imx-vpu: rename package to imx-vpu-cnm
  2018-07-25 16:26   ` Baruch Siach
@ 2018-07-26  6:45     ` Gary Bisson
  0 siblings, 0 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-26  6:45 UTC (permalink / raw)
  To: buildroot

Hi Baruch,

On Wed, Jul 25, 2018 at 07:26:58PM +0300, Baruch Siach wrote:
> Hi Gary,
> 
> On Wed, Jul 25, 2018 at 05:01:43PM +0200, Gary Bisson wrote:
> > So far the i.MX processors have been using a Chips&Media CODA VPU.
> > But the latest generation of processors (starting with i.MX8MQ) uses
> > VPU cores from Hantro which is provided as imx-vpu-hantro package.
> > 
> > NXP chose in Yocto to keep the imx-vpu naming for Chips&Media package
> > and created a virtual "imxvpu" package that can either be provided by
> > imx-vpu or imx-vpu-hantro.
> > 
> > Since this naming can be confusing (IMO), renaming the imx-vpu package
> > to imx-vpu-cnm and then create a virtual imx-vpu one should be clearer.
> 
> What about Config.in.legacy?

Yep, good catch, I always forget about this.

> [..]
> 
> > -config BR2_PACKAGE_IMX_VPU
> > -	bool "imx-vpu"
> > +config BR2_PACKAGE_IMX_VPU_CNM
> > +	bool "imx-vpu-cnm"
> >  	depends on BR2_arm # Only relevant for i.MX
> >  	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> >  	select BR2_PACKAGE_FIRMWARE_IMX
> >  	help
> >  	  Library of userspace helpers specific for the Freescale i.MX
> > -	  platform. It wraps the kernel interfaces for the i.MX platform
> > -	  Video Processing Unit (VPU) driver. It requires a kernel that
> > -	  includes the i.MX specific headers to be built.
> > +	  platform integrating a Chips&Media CODA Video Processing Unit
> > +	  (VPU). It requires a kernel that includes the i.MX specific
> > +	  headers to be built.
> 
> I think it is worth mentioning here which i.MX variants have this VPU. 
> Otherwise the user has no easy way to know which package supports a specific 
> SoC.

That makes sense, will be fixed in V2.

Thanks,
Gary

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 4/8] imx-vpu-hantro: new package
  2018-07-25 16:29   ` Baruch Siach
@ 2018-07-26  6:45     ` Gary Bisson
  0 siblings, 0 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-26  6:45 UTC (permalink / raw)
  To: buildroot

Hi Baruch,

On Wed, Jul 25, 2018 at 07:29:12PM +0300, Baruch Siach wrote:
> Hi Gary,
> 
> On Wed, Jul 25, 2018 at 05:01:45PM +0200, Gary Bisson wrote:
> > +config BR2_PACKAGE_IMX_VPU_HANTRO
> > +	bool "imx-vpu-hantro"
> > +	depends on BR2_aarch64 # Only relevant for i.MX8
> > +	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> > +	help
> > +	  Library of userspace helpers specific for the NXP i.MX CPUs
> > +	  integrating a Hantro Video Processing Unit (VPU). It requires
> > +	  a kernel that includes the i.MX specific headers to be built.
> 
> Here also, a mention of i.MX8 would be nice, IMO.

Yes that would be clearer indeed, will be fixed in V2.

Thanks,
Gary

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga
  2018-07-25 15:01 [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Gary Bisson
                   ` (7 preceding siblings ...)
  2018-07-25 15:01 ` [Buildroot] [PATCH 8/8] imx-parser: " Gary Bisson
@ 2018-07-26  9:26 ` Arnout Vandecappelle
  2018-07-26  9:45   ` Thomas Petazzoni
  8 siblings, 1 reply; 22+ messages in thread
From: Arnout Vandecappelle @ 2018-07-26  9:26 UTC (permalink / raw)
  To: buildroot



On 25-07-18 17:01, Gary Bisson wrote:
> Hi,
> 
> This series updates the i.MX multimedia packages to be in line with the
> NXP 4.9.88-2.0.0_ga release [1].
> 
> The main benefit of this release is that it works for both 32-bit
> i.MX6/7 processors as well as 64-bit i.MX8MQ.
> 
> That means that new packages had to be added to support the i.MX8MQ VPU
> IP (from Hantro).
> 
> In Yocto, the imx-vpu package for the Chips&Media VPU present on i.MX6
> wasn't renamed. But packages such as imx-vpuwrap now depend on
> virtual/imxvpu which can either be provided by imx-vpu (Chips&Media) or
> imx-vpu-hantro (Hantro) [2][3].
> 
> As I thought it'd be confusing to have a virtual imxvpu virtual package
> with an imx-vpu provider, I renamed imx-vpu to imx-vpu-cnm and added an
> imx-vpu virtual package.

 I'm sorry for all the work that you did, but I don't really agree that this is
a good idea. The upstream package really is called imx-vpu, so we prefer to keep
that name. We changed the name for openssl because there really was no other
way, but I do prefer to avoid that.

 So I think it's just a matter of finding a better name for the virtual package.
What about imx-vpu-provider?


> Each patch for this imx-vpu change modifies several packages (those
> depending on it) so that it doesn't break the build in case someone
> bisects the tree.
> 
> Finally, I've verified those packages on both i.MX6Q and i.MX8MQ. But in
> the case of i.MX8MQ, the VPU testing was limited to the package unit
> tests since the open-source imx plugin doesn't support Hantro VPU (yet).
> Note that I don't plan on integrating NXP plugin since it implies
> changing all the standard plugins to be "NXP-compliant" [4].

 Hm, I thought that NXP had understood open source, but apparently there is
still a ways to go...

 Regards,
 Arnout

> 
> Let me know if you are ok with this approach. As usual, comments are
> welcome.
> 
> Regards,
> Gary
> 
> [1] https://community.nxp.com/docs/DOC-340805
> [2] https://github.com/Freescale/meta-freescale/blob/master/recipes-bsp/imx-vpu/imx-vpu_5.4.38.bb#L11
> [3] https://github.com/Freescale/meta-freescale/blob/master/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.6.0.bb#L9
> [4] https://github.com/Freescale/meta-freescale/tree/master/recipes-multimedia/gstreamer
> 
> Gary Bisson (8):
>   firmware-imx: bump to version 7.5
>   imx-vpu: rename package to imx-vpu-cnm
>   imx-vpu-cnm: bump version to 5.4.38
>   imx-vpu-hantro: new package
>   imx-vpu: new virtual package
>   imx-vpuwrap: bump version to 4.3.5
>   imx-codec: bump version to 4.3.5
>   imx-parser: bump version to 4.3.5
> 
>  package/freescale-imx/Config.in               |  5 ++-
>  .../firmware-imx/firmware-imx.hash            |  2 +-
>  .../firmware-imx/firmware-imx.mk              |  2 +-
>  .../freescale-imx/imx-codec/imx-codec.hash    |  3 +-
>  package/freescale-imx/imx-codec/imx-codec.mk  |  4 +-
>  .../freescale-imx/imx-parser/imx-parser.hash  |  3 +-
>  .../freescale-imx/imx-parser/imx-parser.mk    |  2 +-
>  package/freescale-imx/imx-vpu-cnm/Config.in   | 25 +++++++++++
>  .../imx-vpu-cnm/imx-vpu-cnm.hash              |  3 ++
>  .../freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk  | 39 ++++++++++++++++
>  ...on.h-header-inclusion-to-be-standard.patch | 44 +++++++++++++++++++
>  .../freescale-imx/imx-vpu-hantro/Config.in    | 23 ++++++++++
>  .../imx-vpu-hantro/imx-vpu-hantro.hash        |  2 +
>  .../imx-vpu-hantro/imx-vpu-hantro.mk          | 42 ++++++++++++++++++
>  package/freescale-imx/imx-vpu/Config.in       | 21 +++------
>  package/freescale-imx/imx-vpu/imx-vpu.hash    |  2 -
>  package/freescale-imx/imx-vpu/imx-vpu.mk      | 34 +-------------
>  package/freescale-imx/imx-vpuwrap/Config.in   | 11 +++--
>  .../imx-vpuwrap/imx-vpuwrap.hash              |  3 +-
>  .../freescale-imx/imx-vpuwrap/imx-vpuwrap.mk  |  2 +-
>  package/gstreamer/gst-fsl-plugins/Config.in   |  2 +-
>  .../gst-fsl-plugins/gst-fsl-plugins.mk        |  2 +-
>  package/libimxvpuapi/Config.in                |  7 ++-
>  23 files changed, 210 insertions(+), 73 deletions(-)
>  create mode 100644 package/freescale-imx/imx-vpu-cnm/Config.in
>  create mode 100644 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash
>  create mode 100644 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk
>  create mode 100644 package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
>  create mode 100644 package/freescale-imx/imx-vpu-hantro/Config.in
>  create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
>  create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk
>  delete mode 100644 package/freescale-imx/imx-vpu/imx-vpu.hash
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 4/8] imx-vpu-hantro: new package
  2018-07-25 15:01 ` [Buildroot] [PATCH 4/8] imx-vpu-hantro: new package Gary Bisson
  2018-07-25 16:29   ` Baruch Siach
@ 2018-07-26  9:41   ` Arnout Vandecappelle
  2018-07-26 10:02     ` Gary Bisson
  1 sibling, 1 reply; 22+ messages in thread
From: Arnout Vandecappelle @ 2018-07-26  9:41 UTC (permalink / raw)
  To: buildroot



On 25-07-18 17:01, Gary Bisson wrote:
> This package provides the user-space libraries needed to use the Hantro
> VPU present in processors such as the i.MX8MQ.
> 
> Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
> ---
>  package/freescale-imx/Config.in               |  4 +-
>  ...on.h-header-inclusion-to-be-standard.patch | 44 +++++++++++++++++++
>  .../freescale-imx/imx-vpu-hantro/Config.in    | 15 +++++++
>  .../imx-vpu-hantro/imx-vpu-hantro.hash        |  2 +
>  .../imx-vpu-hantro/imx-vpu-hantro.mk          | 42 ++++++++++++++++++
>  5 files changed, 106 insertions(+), 1 deletion(-)
>  create mode 100644 package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
>  create mode 100644 package/freescale-imx/imx-vpu-hantro/Config.in
>  create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
>  create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk
> 
> diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
> index 5e0c7ff291..9b47958ff3 100644
> --- a/package/freescale-imx/Config.in
> +++ b/package/freescale-imx/Config.in
> @@ -63,7 +63,8 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
>  	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS || \
>  		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || \
>  		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 || \
> -		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
> +		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
> +		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M

 Wouldn't it make more sense to make a new _HAS_VPU_HANTRO option? You're later
changing some 'depends' options to depending on the provider instead of
depending on the VPU, so that makes sense.

>  
>  config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
>  	bool
> @@ -80,6 +81,7 @@ source "package/freescale-imx/imx-m4fwloader/Config.in"
>  source "package/freescale-imx/imx-parser/Config.in"
>  source "package/freescale-imx/imx-uuc/Config.in"
>  source "package/freescale-imx/imx-vpu-cnm/Config.in"
> +source "package/freescale-imx/imx-vpu-hantro/Config.in"
>  source "package/freescale-imx/imx-vpuwrap/Config.in"
>  source "package/freescale-imx/firmware-imx/Config.in"
>  if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53)
> diff --git a/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
> new file mode 100644
> index 0000000000..951ead9824
> --- /dev/null
> +++ b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
> @@ -0,0 +1,44 @@
> +From 872c82e7cbb9a0a0e761e8ac70fc28e19a55b4c3 Mon Sep 17 00:00:00 2001
> +From: Gary Bisson <gary.bisson@boundarydevices.com>
> +Date: Thu, 12 Jul 2018 11:38:28 +0200
> +Subject: [PATCH] Fix ion.h header inclusion to be standard
> +
> +NXP "solution" was to manually copy the header to include/linux.
> +Let's point the Makefile to the proper (mainline) location instead:
> +https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h
> +
> +Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>

 Is it now possible to upstream things to codeaurora? Did you do that?

> +---
> + Makefile                                  | 2 ++
> + decoder_sw/software/linux/dwl/dwl_linux.c | 2 +-
> + 2 files changed, 3 insertions(+), 1 deletion(-)
> +
> +diff --git a/Makefile b/Makefile
> +index b74e23a..a5ce22b 100755
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -11,6 +11,8 @@ INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/so
> + INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc
> + #INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver
> + INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
> ++# ION header location
> ++INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi
> + 
> + CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \
> +            -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \
> +diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c
> +index 8183660..ed37d86 100644
> +--- a/decoder_sw/software/linux/dwl/dwl_linux.c
> ++++ b/decoder_sw/software/linux/dwl/dwl_linux.c
> +@@ -41,7 +41,7 @@
> + #include "dwl.h"
> + #include <linux/hantrodec.h>
> + #ifdef USE_ION
> +-#include <linux/ion.h>
> ++#include <ion.h>
> + #ifdef ANDROID
> + #include <linux/mxc_ion.h>
> + #endif
> +-- 
> +2.18.0
> +
> diff --git a/package/freescale-imx/imx-vpu-hantro/Config.in b/package/freescale-imx/imx-vpu-hantro/Config.in
> new file mode 100644
> index 0000000000..5a1255164e
> --- /dev/null
> +++ b/package/freescale-imx/imx-vpu-hantro/Config.in
> @@ -0,0 +1,15 @@
> +comment "imx-vpu-hantro needs an i.MX platform with VPU support"
> +	depends on BR2_aarch64
> +	depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> +
> +config BR2_PACKAGE_IMX_VPU_HANTRO
> +	bool "imx-vpu-hantro"
> +	depends on BR2_aarch64 # Only relevant for i.MX8

 If you make a new BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO, this becomes
unnecessary. Actually the dependency on BR2_arm in imx-vpu is also redundant now
IMO.

> +	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> +	help
> +	  Library of userspace helpers specific for the NXP i.MX CPUs
> +	  integrating a Hantro Video Processing Unit (VPU). It requires
> +	  a kernel that includes the i.MX specific headers to be built.

 You copied this from imx-vpu, but it is wrong there... Look at commit
0ac0982fb7e936c48c0925b272eb18e0195e1c47 which removed the Linux dependency but
failed to update the help text...

 So, you need to add a dependency on BR2_LINUX_KERNEL and the corresponding comment.


 Regards,
 Arnout

> +
> +	  This library is provided by Freescale as-is and doesn't have
> +	  an upstream.
> diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
> new file mode 100644
> index 0000000000..3b1a545b3f
> --- /dev/null
> +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
> @@ -0,0 +1,2 @@
> +sha256  cbc648e41f005aad209f74c9e5dd346138dca12efeb7b27e471de7474c4da302  imx-vpu-hantro-1.6.0.bin
> +sha256  0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a  COPYING
> diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk
> new file mode 100644
> index 0000000000..57ce411e63
> --- /dev/null
> +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk
> @@ -0,0 +1,42 @@
> +################################################################################
> +#
> +# imx-vpu-hantro
> +#
> +################################################################################
> +
> +IMX_VPU_HANTRO_VERSION = 1.6.0
> +IMX_VPU_HANTRO_SITE = $(FREESCALE_IMX_SITE)
> +IMX_VPU_HANTRO_SOURCE = imx-vpu-hantro-$(IMX_VPU_HANTRO_VERSION).bin
> +
> +IMX_VPU_HANTRO_INSTALL_STAGING = YES
> +
> +IMX_VPU_HANTRO_MAKE_ENV = \
> +	$(TARGET_MAKE_ENV) \
> +	$(TARGET_CONFIGURE_OPTS) \
> +	CROSS_COMPILE="$(TARGET_CROSS)" \
> +	SDKTARGETSYSROOT=$(STAGING_DIR) \
> +	LINUX_KERNEL_ROOT=$(LINUX_DIR)
> +
> +IMX_VPU_HANTRO_LICENSE = NXP Semiconductor Software License Agreement
> +IMX_VPU_HANTRO_LICENSE_FILES = EULA COPYING
> +IMX_VPU_HANTRO_REDISTRIBUTE = NO
> +
> +define IMX_VPU_HANTRO_EXTRACT_CMDS
> +	$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_HANTRO_DL_DIR)/$(IMX_VPU_HANTRO_SOURCE))
> +endef
> +
> +define IMX_VPU_HANTRO_BUILD_CMDS
> +	$(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D)
> +endef
> +
> +define IMX_VPU_HANTRO_INSTALL_STAGING_CMDS
> +	$(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \
> +		DEST_DIR=$(STAGING_DIR) libdir=/usr/lib install
> +endef
> +
> +define IMX_VPU_HANTRO_INSTALL_TARGET_CMDS
> +	$(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \
> +		DEST_DIR=$(TARGET_DIR) libdir=/usr/lib install
> +endef
> +
> +$(eval $(generic-package))
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga
  2018-07-26  9:26 ` [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Arnout Vandecappelle
@ 2018-07-26  9:45   ` Thomas Petazzoni
  2018-07-26  9:58     ` Gary Bisson
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Petazzoni @ 2018-07-26  9:45 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 26 Jul 2018 11:26:51 +0200, Arnout Vandecappelle wrote:

>  I'm sorry for all the work that you did, but I don't really agree that this is
> a good idea. The upstream package really is called imx-vpu, so we prefer to keep
> that name. We changed the name for openssl because there really was no other
> way, but I do prefer to avoid that.
> 
>  So I think it's just a matter of finding a better name for the virtual package.
> What about imx-vpu-provider?

I have not reviewed the patch series carefully enough yet, but a
question is: do we need a virtual package at all?

I guess the imx-vpu API is not going to be used by gazillions of
packages. If I read PATCH 5/8 correctly, it's in fact only used by two
packages, right ?

Can't we simply have those two packages do:

ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
use the new imx-vpu package
else
use the old imx-vpu package
endif

And ditto in their Config.in ?

Virtual packages are great when there is really an arbitrary number of
providers and/or an arbitrary number of users.

OpenSSL for examples has only two providers, but it has a very large
number of users. Ditto jpeg. MySQL does not have a lot of users, but it
might potentially have.

Also, the i.MX VPU stuff is highly platform-specific, it provides a
very specialized API, it's very unlikely that we will see gazillions of
packages depending on the i.MX VPU API.

Best regards,

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga
  2018-07-26  9:45   ` Thomas Petazzoni
@ 2018-07-26  9:58     ` Gary Bisson
  2018-07-28  8:08       ` Arnout Vandecappelle
  0 siblings, 1 reply; 22+ messages in thread
From: Gary Bisson @ 2018-07-26  9:58 UTC (permalink / raw)
  To: buildroot

Hi,

On Thu, Jul 26, 2018 at 11:45:21AM +0200, Thomas Petazzoni wrote:
> Hello,
> 
> On Thu, 26 Jul 2018 11:26:51 +0200, Arnout Vandecappelle wrote:
> 
> >  I'm sorry for all the work that you did, but I don't really agree that this is
> > a good idea. The upstream package really is called imx-vpu, so we prefer to keep
> > that name. We changed the name for openssl because there really was no other
> > way, but I do prefer to avoid that.
> > 
> >  So I think it's just a matter of finding a better name for the virtual package.
> > What about imx-vpu-provider?
> 
> I have not reviewed the patch series carefully enough yet, but a
> question is: do we need a virtual package at all?

Up to you, I'm ok either way, just thought it'd be cleaner this way.

> I guess the imx-vpu API is not going to be used by gazillions of
> packages. If I read PATCH 5/8 correctly, it's in fact only used by two
> packages, right ?

Yes, libimxvpuapi and imx-vpuwrap are the only 2 users of imx-vpu right
now.

> Can't we simply have those two packages do:
> 
> ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
> use the new imx-vpu package
> else
> use the old imx-vpu package
> endif
> 
> And ditto in their Config.in ?

Ok.

> Virtual packages are great when there is really an arbitrary number of
> providers and/or an arbitrary number of users.
> 
> OpenSSL for examples has only two providers, but it has a very large
> number of users. Ditto jpeg. MySQL does not have a lot of users, but it
> might potentially have.
> 
> Also, the i.MX VPU stuff is highly platform-specific, it provides a
> very specialized API, it's very unlikely that we will see gazillions of
> packages depending on the i.MX VPU API.

Ok, I'll make a v3 like this then.

Regards,
Gary

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 4/8] imx-vpu-hantro: new package
  2018-07-26  9:41   ` Arnout Vandecappelle
@ 2018-07-26 10:02     ` Gary Bisson
  0 siblings, 0 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-26 10:02 UTC (permalink / raw)
  To: buildroot

Hi Arnout,

On Thu, Jul 26, 2018 at 11:41:44AM +0200, Arnout Vandecappelle wrote:
> 
> 
> On 25-07-18 17:01, Gary Bisson wrote:
> > This package provides the user-space libraries needed to use the Hantro
> > VPU present in processors such as the i.MX8MQ.
> > 
> > Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
> > ---
> >  package/freescale-imx/Config.in               |  4 +-
> >  ...on.h-header-inclusion-to-be-standard.patch | 44 +++++++++++++++++++
> >  .../freescale-imx/imx-vpu-hantro/Config.in    | 15 +++++++
> >  .../imx-vpu-hantro/imx-vpu-hantro.hash        |  2 +
> >  .../imx-vpu-hantro/imx-vpu-hantro.mk          | 42 ++++++++++++++++++
> >  5 files changed, 106 insertions(+), 1 deletion(-)
> >  create mode 100644 package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
> >  create mode 100644 package/freescale-imx/imx-vpu-hantro/Config.in
> >  create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
> >  create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk
> > 
> > diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
> > index 5e0c7ff291..9b47958ff3 100644
> > --- a/package/freescale-imx/Config.in
> > +++ b/package/freescale-imx/Config.in
> > @@ -63,7 +63,8 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> >  	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS || \
> >  		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || \
> >  		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 || \
> > -		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
> > +		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
> > +		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
> 
>  Wouldn't it make more sense to make a new _HAS_VPU_HANTRO option? You're later
> changing some 'depends' options to depending on the provider instead of
> depending on the VPU, so that makes sense.

Yes we could, I just didn't do it as first as I recall someone not being
fond of the FREESCALE_IMX_HAS_XXX options.

But if we remove the virtual package as Thomas suggested that would be
best indeed.

> >  config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
> >  	bool
> > @@ -80,6 +81,7 @@ source "package/freescale-imx/imx-m4fwloader/Config.in"
> >  source "package/freescale-imx/imx-parser/Config.in"
> >  source "package/freescale-imx/imx-uuc/Config.in"
> >  source "package/freescale-imx/imx-vpu-cnm/Config.in"
> > +source "package/freescale-imx/imx-vpu-hantro/Config.in"
> >  source "package/freescale-imx/imx-vpuwrap/Config.in"
> >  source "package/freescale-imx/firmware-imx/Config.in"
> >  if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53)
> > diff --git a/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
> > new file mode 100644
> > index 0000000000..951ead9824
> > --- /dev/null
> > +++ b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
> > @@ -0,0 +1,44 @@
> > +From 872c82e7cbb9a0a0e761e8ac70fc28e19a55b4c3 Mon Sep 17 00:00:00 2001
> > +From: Gary Bisson <gary.bisson@boundarydevices.com>
> > +Date: Thu, 12 Jul 2018 11:38:28 +0200
> > +Subject: [PATCH] Fix ion.h header inclusion to be standard
> > +
> > +NXP "solution" was to manually copy the header to include/linux.
> > +Let's point the Makefile to the proper (mainline) location instead:
> > +https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h
> > +
> > +Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
> 
>  Is it now possible to upstream things to codeaurora? Did you do that?

Not that I know of. I've tried sending emails to the owner of the repo +
main contributor but never received an answer.

The best approach is to have that patch in the meta-freescale BSP, then
NXP will look at it (it is the case here).

> > +---
> > + Makefile                                  | 2 ++
> > + decoder_sw/software/linux/dwl/dwl_linux.c | 2 +-
> > + 2 files changed, 3 insertions(+), 1 deletion(-)
> > +
> > +diff --git a/Makefile b/Makefile
> > +index b74e23a..a5ce22b 100755
> > +--- a/Makefile
> > ++++ b/Makefile
> > +@@ -11,6 +11,8 @@ INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/so
> > + INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc
> > + #INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver
> > + INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
> > ++# ION header location
> > ++INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi
> > + 
> > + CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \
> > +            -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \
> > +diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c
> > +index 8183660..ed37d86 100644
> > +--- a/decoder_sw/software/linux/dwl/dwl_linux.c
> > ++++ b/decoder_sw/software/linux/dwl/dwl_linux.c
> > +@@ -41,7 +41,7 @@
> > + #include "dwl.h"
> > + #include <linux/hantrodec.h>
> > + #ifdef USE_ION
> > +-#include <linux/ion.h>
> > ++#include <ion.h>
> > + #ifdef ANDROID
> > + #include <linux/mxc_ion.h>
> > + #endif
> > +-- 
> > +2.18.0
> > +
> > diff --git a/package/freescale-imx/imx-vpu-hantro/Config.in b/package/freescale-imx/imx-vpu-hantro/Config.in
> > new file mode 100644
> > index 0000000000..5a1255164e
> > --- /dev/null
> > +++ b/package/freescale-imx/imx-vpu-hantro/Config.in
> > @@ -0,0 +1,15 @@
> > +comment "imx-vpu-hantro needs an i.MX platform with VPU support"
> > +	depends on BR2_aarch64
> > +	depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> > +
> > +config BR2_PACKAGE_IMX_VPU_HANTRO
> > +	bool "imx-vpu-hantro"
> > +	depends on BR2_aarch64 # Only relevant for i.MX8
> 
>  If you make a new BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO, this becomes
> unnecessary. Actually the dependency on BR2_arm in imx-vpu is also redundant now
> IMO.

True.

> > +	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> > +	help
> > +	  Library of userspace helpers specific for the NXP i.MX CPUs
> > +	  integrating a Hantro Video Processing Unit (VPU). It requires
> > +	  a kernel that includes the i.MX specific headers to be built.
> 
>  You copied this from imx-vpu, but it is wrong there... Look at commit
> 0ac0982fb7e936c48c0925b272eb18e0195e1c47 which removed the Linux dependency but
> failed to update the help text...

Yep, will update help text for imx-vpu. Here it is required.

>  So, you need to add a dependency on BR2_LINUX_KERNEL and the corresponding comment.

Yes.

Thanks,
Gary

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga
  2018-07-26  9:58     ` Gary Bisson
@ 2018-07-28  8:08       ` Arnout Vandecappelle
  0 siblings, 0 replies; 22+ messages in thread
From: Arnout Vandecappelle @ 2018-07-28  8:08 UTC (permalink / raw)
  To: buildroot



On 26-07-18 11:58, Gary Bisson wrote:
> Hi,
> 
> On Thu, Jul 26, 2018 at 11:45:21AM +0200, Thomas Petazzoni wrote:
>> Hello,
>>
>> On Thu, 26 Jul 2018 11:26:51 +0200, Arnout Vandecappelle wrote:
>>
>>>  I'm sorry for all the work that you did, but I don't really agree that this is
>>> a good idea. The upstream package really is called imx-vpu, so we prefer to keep
>>> that name. We changed the name for openssl because there really was no other
>>> way, but I do prefer to avoid that.
>>>
>>>  So I think it's just a matter of finding a better name for the virtual package.
>>> What about imx-vpu-provider?
>>
>> I have not reviewed the patch series carefully enough yet, but a
>> question is: do we need a virtual package at all?
> 
> Up to you, I'm ok either way, just thought it'd be cleaner this way.

 If you don't use the virtual package infra, the code just gets a little more
difficult to understand, so I really don't see a reason NOT to use the virtual
package infra. Yes, a virtual package is a little more verbose than "manually"
handling it, but it's a pattern that is understandable. The only disadvantage
that I see is that you have to find a name for it :-)

 That said, since there are only two users, doing it manually isn't that bad
either. So if you've already done the work, please stick to it and don't keep
running around in circles...

 Regards,
 Arnout

> 
>> I guess the imx-vpu API is not going to be used by gazillions of
>> packages. If I read PATCH 5/8 correctly, it's in fact only used by two
>> packages, right ?
> 
> Yes, libimxvpuapi and imx-vpuwrap are the only 2 users of imx-vpu right
> now.
> 
>> Can't we simply have those two packages do:
>>
>> ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
>> use the new imx-vpu package
>> else
>> use the old imx-vpu package
>> endif
>>
>> And ditto in their Config.in ?
> 
> Ok.
> 
>> Virtual packages are great when there is really an arbitrary number of
>> providers and/or an arbitrary number of users.
>>
>> OpenSSL for examples has only two providers, but it has a very large
>> number of users. Ditto jpeg. MySQL does not have a lot of users, but it
>> might potentially have.
>>
>> Also, the i.MX VPU stuff is highly platform-specific, it provides a
>> very specialized API, it's very unlikely that we will see gazillions of
>> packages depending on the i.MX VPU API.
> 
> Ok, I'll make a v3 like this then.
> 
> Regards,
> Gary
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 1/8] firmware-imx: bump to version 7.5
  2018-07-25 15:01 ` [Buildroot] [PATCH 1/8] firmware-imx: bump to version 7.5 Gary Bisson
@ 2018-07-28 21:53   ` Arnout Vandecappelle
  2018-07-29 13:08     ` Thomas Petazzoni
  0 siblings, 1 reply; 22+ messages in thread
From: Arnout Vandecappelle @ 2018-07-28 21:53 UTC (permalink / raw)
  To: buildroot



On 25-07-18 17:01, Gary Bisson wrote:
> This new package includes new binaries for i.MX8QXP.
> 
> Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>

 I've applied this patch to master, the rest is changes requested.

 Regards,
 Arnout

> ---
>  package/freescale-imx/firmware-imx/firmware-imx.hash | 2 +-
>  package/freescale-imx/firmware-imx/firmware-imx.mk   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/package/freescale-imx/firmware-imx/firmware-imx.hash b/package/freescale-imx/firmware-imx/firmware-imx.hash
> index dd0e13a7cf..c4930bb67d 100644
> --- a/package/freescale-imx/firmware-imx/firmware-imx.hash
> +++ b/package/freescale-imx/firmware-imx/firmware-imx.hash
> @@ -1,4 +1,4 @@
>  # Locally calculated
> -sha256 8a8ec439d014e928f42c49bab1c382914ec5b4f1041df28e5d687eb194bd07ab  firmware-imx-7.4.bin
> +sha256 a8f099bdf786b2da1e8b43094950c033ccdbf93f1b8a93caffb912e1500cd735  firmware-imx-7.5.bin
>  sha256 faf01d10e484879247963eb97d96622a980232e22a35e487dfe53b13708b686a  EULA
>  sha256 0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a  COPYING
> diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk
> index b9756fc2bf..0a503d7a66 100644
> --- a/package/freescale-imx/firmware-imx/firmware-imx.mk
> +++ b/package/freescale-imx/firmware-imx/firmware-imx.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -FIRMWARE_IMX_VERSION = 7.4
> +FIRMWARE_IMX_VERSION = 7.5
>  FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE)
>  FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin
>  
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 1/8] firmware-imx: bump to version 7.5
  2018-07-28 21:53   ` Arnout Vandecappelle
@ 2018-07-29 13:08     ` Thomas Petazzoni
  2018-07-30  8:59       ` Gary Bisson
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Petazzoni @ 2018-07-29 13:08 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 28 Jul 2018 23:53:44 +0200, Arnout Vandecappelle wrote:
> On 25-07-18 17:01, Gary Bisson wrote:
> > This new package includes new binaries for i.MX8QXP.
> > 
> > Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>  
> 
>  I've applied this patch to master, the rest is changes requested.

I don't know if we have been clear enough with Gary about what changes
we want. Do we want to stay with a virtual package ? If so, what should
be the name of the virtual package vs. the name of the package for the
"old" i.MX VPUs ?

On my side, while I agree that imx-vpu-cnm violates the rule of "we
name packages like their upstream name", I believe this is a violation
that is acceptable because the naming chosen by Gary is the one that is
the easiest to understand and the most obvious: imx-vpu is the virtual
package, imx-vpu-hantro and imx-vpu-cnm are the providers.

Best regards,

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 1/8] firmware-imx: bump to version 7.5
  2018-07-29 13:08     ` Thomas Petazzoni
@ 2018-07-30  8:59       ` Gary Bisson
  0 siblings, 0 replies; 22+ messages in thread
From: Gary Bisson @ 2018-07-30  8:59 UTC (permalink / raw)
  To: buildroot

Hi Thomas, Arnout,

On Sun, Jul 29, 2018 at 03:08:25PM +0200, Thomas Petazzoni wrote:
> Hello,
> 
> On Sat, 28 Jul 2018 23:53:44 +0200, Arnout Vandecappelle wrote:
> > On 25-07-18 17:01, Gary Bisson wrote:
> > > This new package includes new binaries for i.MX8QXP.
> > > 
> > > Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>  
> > 
> >  I've applied this patch to master, the rest is changes requested.
> 
> I don't know if we have been clear enough with Gary about what changes
> we want. Do we want to stay with a virtual package ?

That's a good question. But I plan on offering the alternative series
without the virtual package, maybe that will help making the decision.
It shouldn't be too hard to do.

The way I see it using a virtual package is cleaner and is more
future-proof (I wouldn't be surprised another imx-vpu-xxx package shows
up in a near future).

However it also makes it "harder" to select imx-vpuwrap/libimxvpuapi
since it depends on imx-vpu, the provider package isn't automatically
selected as it used to.

> If so, what should
> be the name of the virtual package vs. the name of the package for the
> "old" i.MX VPUs ?
> 
> On my side, while I agree that imx-vpu-cnm violates the rule of "we
> name packages like their upstream name", I believe this is a violation
> that is acceptable because the naming chosen by Gary is the one that is
> the easiest to understand and the most obvious: imx-vpu is the virtual
> package, imx-vpu-hantro and imx-vpu-cnm are the providers.

Glad to hear someone agrees with that naming which really makes more
sense to me than what is done by NXP.

Regards,
Gary

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2018-07-30  8:59 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-25 15:01 [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Gary Bisson
2018-07-25 15:01 ` [Buildroot] [PATCH 1/8] firmware-imx: bump to version 7.5 Gary Bisson
2018-07-28 21:53   ` Arnout Vandecappelle
2018-07-29 13:08     ` Thomas Petazzoni
2018-07-30  8:59       ` Gary Bisson
2018-07-25 15:01 ` [Buildroot] [PATCH 2/8] imx-vpu: rename package to imx-vpu-cnm Gary Bisson
2018-07-25 16:26   ` Baruch Siach
2018-07-26  6:45     ` Gary Bisson
2018-07-25 15:01 ` [Buildroot] [PATCH 3/8] imx-vpu-cnm: bump version to 5.4.38 Gary Bisson
2018-07-25 15:01 ` [Buildroot] [PATCH 4/8] imx-vpu-hantro: new package Gary Bisson
2018-07-25 16:29   ` Baruch Siach
2018-07-26  6:45     ` Gary Bisson
2018-07-26  9:41   ` Arnout Vandecappelle
2018-07-26 10:02     ` Gary Bisson
2018-07-25 15:01 ` [Buildroot] [PATCH 5/8] imx-vpu: new virtual package Gary Bisson
2018-07-25 15:01 ` [Buildroot] [PATCH 6/8] imx-vpuwrap: bump version to 4.3.5 Gary Bisson
2018-07-25 15:01 ` [Buildroot] [PATCH 7/8] imx-codec: " Gary Bisson
2018-07-25 15:01 ` [Buildroot] [PATCH 8/8] imx-parser: " Gary Bisson
2018-07-26  9:26 ` [Buildroot] [PATCH 0/8] imx: update multimedia packages to 4.9.88_2.0.0_ga Arnout Vandecappelle
2018-07-26  9:45   ` Thomas Petazzoni
2018-07-26  9:58     ` Gary Bisson
2018-07-28  8:08       ` Arnout Vandecappelle

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.