meta-raspberrypi: subtree update:cc6074c660..0e9c32c816

Andrzej Bednarski (1):
      docs: Correct minor spelling issues

Khem Raj (6):
      linux-raspberrypi: Update to 5.4.59
      raspberrypi-firmware: Upgrade to 20200819
      xserver-xorg: Depend on userland when vc4graphics is disabled
      libsdl2: Add userland dependency when not using vc4graphics
      linux-raspberrypi_5.4.bb: Build ashmem and binder drivers
      README: Mention Yoe distro in supported distro list

Luis Alfredo da Silva (1):
      Revert "mesa: querying dma_buf modifiers for specific formats"

Martin Jansa (5):
      linux-raspberrypi-5.4: backport a fix for perf build with -fno-common from gcc-10
      rpi-gpio: add -fcommon temporarily
      linux-raspberrypi-5.4: revert 1 commit from upstream to fix lttng-modules build
      raspberrypi-{firmware,tools}: set downloadfilename
      Revert "linux-raspberrypi-5.4: revert 1 commit from upstream to fix lttng-modules build"

Pierre-Jean Texier (2):
      raspberrypi-firmware: update to current HEAD
      linux-raspberrypi: bump to Linux version 5.4.64

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I5acc97c6612dd01922b1577537e555220f3b77e6
diff --git a/meta-raspberrypi/README.md b/meta-raspberrypi/README.md
index 898426d..e69b0ef 100644
--- a/meta-raspberrypi/README.md
+++ b/meta-raspberrypi/README.md
@@ -28,7 +28,7 @@
 OpenEmbedded/Yocto distributions and layer stacks, such as:
 
 * Distro-less (only with OE-Core).
-* Angstrom.
+* Yoe Disto (Video and Camera Products).
 * Yocto/Poky (main focus of testing).
 
 ## Dependencies
diff --git a/meta-raspberrypi/docs/extra-build-config.md b/meta-raspberrypi/docs/extra-build-config.md
index b881322..8460184 100644
--- a/meta-raspberrypi/docs/extra-build-config.md
+++ b/meta-raspberrypi/docs/extra-build-config.md
@@ -1,6 +1,6 @@
 # Optional build configuration
 
-There are a set of ways in which a user can influence different paramenters of
+There are a set of ways in which a user can influence different parameters of
 the build. We list here the ones that are closely related to this BSP or
 specific to it. For the rest please check:
 <http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html>
@@ -37,7 +37,7 @@
 
 ## Add purchased license codecs
 
-To add you own licenses use variables `KEY_DECODE_MPG2` and `KEY_DECODE_WVC1` in
+To add your own licenses use variables `KEY_DECODE_MPG2` and `KEY_DECODE_WVC1` in
 local.conf. Example:
 
     KEY_DECODE_MPG2 = "12345678"
@@ -77,7 +77,7 @@
 ## Set overclocking options
 
 The Raspberry Pi can be overclocked. As of now overclocking up to the "Turbo
-Mode" is officially supported by the raspbery and does not void warranty. Check
+Mode" is officially supported by the Raspberry Pi and does not void warranty. Check
 the config.txt for a detailed description of options and modes. The following
 variables are supported in local.conf: `ARM_FREQ`, `GPU_FREQ`, `CORE_FREQ`,
 `SDRAM_FREQ` and `OVER_VOLTAGE`.
@@ -249,7 +249,7 @@
 RaspberryPi 0, 1, 2 and CM will have UART console enabled by default.
 
 RaspberryPi 0 WiFi and 3 does not have the UART enabled by default because this
-needs a fixed core frequency and enable_uart wil set it to the minimum. Certain
+needs a fixed core frequency and enable_uart will set it to the minimum. Certain
 operations - 60fps h264 decode, high quality deinterlace - which aren't
 performed on the ARM may be affected, and we wouldn't want to do that to users
 who don't want to use the serial port. Users who want serial console support on
diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
index 3919c9f..3b54d18 100644
--- a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
+++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
@@ -1,10 +1,9 @@
-RPIFW_DATE ?= "20200812"
-SRCREV ?= "18aa72c5e05677b8a8af835bd60409e3253817aa"
-RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
+RPIFW_DATE ?= "20200911"
+SRCREV ?= "a490197f0672d948860b2b807884ae65eabc4d4f"
+RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-firmware-${SRCREV}.tar.gz"
 RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
 
 SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[md5sum] = "285453979ec7730f9547445056d58e44"
-SRC_URI[sha256sum] = "9e946f96aff5791150703ea3510f26724e80048ba7c2985e28fbba6a2e1406d2"
+SRC_URI[sha256sum] = "be06015688f415fa1b87850d51a4188a766f2a618001f70e7c69b07cbdf9d6ab"
 
 PV = "${RPIFW_DATE}"
diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc
index 0d4c627..1588264 100644
--- a/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc
+++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc
@@ -1,5 +1,5 @@
 SRCREV ?= "b0c869bc929587a7e1d20a98e2dc828a24ca396a"
-RPITOOLS_SRC_URI ?= "https://github.com/raspberrypi/tools/archive/${SRCREV}.tar.gz"
+RPITOOLS_SRC_URI ?= "https://github.com/raspberrypi/tools/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-tools-${SRCREV}.tar.gz"
 RPITOOLS_S ?= "${WORKDIR}/tools-${SRCREV}"
 
 SRC_URI = "${RPITOOLS_SRC_URI}"
diff --git a/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.7.0.bb b/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.7.0.bb
index fcce88f..8b13d53 100644
--- a/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.7.0.bb
+++ b/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.7.0.bb
@@ -12,3 +12,7 @@
 SRC_URI[sha256sum] = "7424bc6c205466764f30f666c18187a0824077daf20b295c42f08aea2cb87d3f"
 
 COMPATIBLE_MACHINE = "^rpi$"
+
+# ignore issues with -fno-common from gcc-10 until it's fixed in upstream:
+# https://sourceforge.net/p/raspberry-gpio-python/tickets/187/
+CFLAGS += "-fcommon"
diff --git a/meta-raspberrypi/recipes-graphics/libsdl2/libsdl2_%.bbappend b/meta-raspberrypi/recipes-graphics/libsdl2/libsdl2_%.bbappend
new file mode 100644
index 0000000..cb9c24e
--- /dev/null
+++ b/meta-raspberrypi/recipes-graphics/libsdl2/libsdl2_%.bbappend
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where
+# we explicitly delete KHR/khrplatform.h since its already coming from userland package
+DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}"
diff --git a/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch b/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch
deleted file mode 100644
index 0bda014..0000000
--- a/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-mesa: querying dma_buf_modifiers for specific formats
-
-mesa wl_drm protocol is the backend for wayland server side which requires
-the dmabuf modifiers for some DRM formats on specific devices like RPI. 
-Currently there is no support of giving any dmabuf modifiers on wl_drm protocol.
-This dma_buf modifiers allows EGL implementations to add extra attributes
-to drm_fourcc format.
-
-Upstream-Status: Pending 
-
-Signed-off-by: Balaji Velmurugan <balaji.velmurugan@ltts.com>
-
---- a/src/gallium/state_trackers/dri/dri2.c
-+++ b/src/gallium/state_trackers/dri/dri2.c
-@@ -1366,14 +1366,28 @@ dri2_from_planar(__DRIimage *image, int
-    return img;
- }
- 
-+static boolean
-+dri2_query_dma_buf_modifiers(__DRIscreen *_screen, int fourcc, int max,
-+                             uint64_t *modifiers, unsigned int *external_only,
-+                             int *count);
- static __DRIimage *
- dri2_from_fds(__DRIscreen *screen, int width, int height, int fourcc,
-               int *fds, int num_fds, int *strides, int *offsets,
-               void *loaderPrivate)
- {
-+   uint64_t modifier= DRM_FORMAT_MOD_INVALID;
-+   unsigned int external_only= 0;
-+   int count= 0;
-+   boolean result;
-+   result= dri2_query_dma_buf_modifiers( screen, fourcc, 1, &modifier, &external_only, &count);
-+   return dri2_create_image_from_fd(screen, width, height, fourcc,
-+                                   modifier, fds, num_fds,
-+                                   strides, offsets, NULL, loaderPrivate);
-+   #if 0
-    return dri2_create_image_from_fd(screen, width, height, fourcc,
-                                    DRM_FORMAT_MOD_INVALID, fds, num_fds,
-                                    strides, offsets, NULL, loaderPrivate);
-+   #endif
- }
- 
- static boolean
diff --git a/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
index d3435e7..eaa46f2 100644
--- a/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
+++ b/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
@@ -1,10 +1,6 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
 # DRI3 note:
 # With oe-core commit 8509e2e1a87578882b71948ccef3b50ccf1228b3 dri3 is set
 # as default. To state out clearly that Raspi needs dri3 and to avoid surprises
 # in case oe-core changes this default, we set dri3 explicitly.
-
-SRC_URI_append_rpi = " file://0001-dri2-query-dma-buf-modifiers.patch "
-
 PACKAGECONFIG_append_rpi = " gallium vc4 v3d kmsro ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}"
 DRIDRIVERS_class-target_rpi = ""
diff --git a/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
index fba1632..9574fa5 100644
--- a/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ b/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -1 +1,5 @@
 OPENGL_PKGCONFIGS_rpi = "dri glx ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
+
+# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where
+# we explicitly delete KHR/khrplatform.h since its already coming from userland package
+DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}"
diff --git a/meta-raspberrypi/recipes-kernel/linux/files/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch b/meta-raspberrypi/recipes-kernel/linux/files/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch
new file mode 100644
index 0000000..0d86947
--- /dev/null
+++ b/meta-raspberrypi/recipes-kernel/linux/files/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch
@@ -0,0 +1,68 @@
+From 168200b6d6ea0cb5765943ec5da5b8149701f36a Mon Sep 17 00:00:00 2001
+From: Leo Yan <leo.yan@linaro.org>
+Date: Tue, 5 May 2020 21:36:42 +0800
+Subject: [PATCH] perf cs-etm: Move definition of 'traceid_list' global
+ variable from header file
+
+The variable 'traceid_list' is defined in the header file cs-etm.h,
+if multiple C files include cs-etm.h the compiler might complaint for
+multiple definition of 'traceid_list'.
+
+To fix multiple definition error, move the definition of 'traceid_list'
+into cs-etm.c.
+
+Upstream-Status: Backport [v5.8-rc1]
+
+Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata")
+Reported-by: Thomas Backlund <tmb@mageia.org>
+Signed-off-by: Leo Yan <leo.yan@linaro.org>
+Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
+Reviewed-by: Mike Leach <mike.leach@linaro.org>
+Tested-by: Mike Leach <mike.leach@linaro.org>
+Tested-by: Thomas Backlund <tmb@mageia.org>
+Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
+Cc: Jiri Olsa <jolsa@redhat.com>
+Cc: Mark Rutland <mark.rutland@arm.com>
+Cc: Namhyung Kim <namhyung@kernel.org>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
+Cc: Tor Jeremiassen <tor@ti.com>
+Cc: linux-arm-kernel@lists.infradead.org
+Link: http://lore.kernel.org/lkml/20200505133642.4756-1-leo.yan@linaro.org
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/perf/util/cs-etm.c | 3 +++
+ tools/perf/util/cs-etm.h | 3 ---
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
+index 3c802fde4954..c283223fb31f 100644
+--- a/tools/perf/util/cs-etm.c
++++ b/tools/perf/util/cs-etm.c
+@@ -94,6 +94,9 @@ struct cs_etm_queue {
+ 	struct cs_etm_traceid_queue **traceid_queues;
+ };
+ 
++/* RB tree for quick conversion between traceID and metadata pointers */
++static struct intlist *traceid_list;
++
+ static int cs_etm__update_queues(struct cs_etm_auxtrace *etm);
+ static int cs_etm__process_queues(struct cs_etm_auxtrace *etm);
+ static int cs_etm__process_timeless_queues(struct cs_etm_auxtrace *etm,
+diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h
+index 650ecc2a6349..4ad925d6d799 100644
+--- a/tools/perf/util/cs-etm.h
++++ b/tools/perf/util/cs-etm.h
+@@ -114,9 +114,6 @@ enum cs_etm_isa {
+ 	CS_ETM_ISA_T32,
+ };
+ 
+-/* RB tree for quick conversion between traceID and metadata pointers */
+-struct intlist *traceid_list;
+-
+ struct cs_etm_queue;
+ 
+ struct cs_etm_packet {
+-- 
+2.25.1
+
diff --git a/meta-raspberrypi/recipes-kernel/linux/files/android-drivers.cfg b/meta-raspberrypi/recipes-kernel/linux/files/android-drivers.cfg
new file mode 100644
index 0000000..f74ac0e
--- /dev/null
+++ b/meta-raspberrypi/recipes-kernel/linux/files/android-drivers.cfg
@@ -0,0 +1,8 @@
+CONFIG_ANDROID=y
+
+#CONFIG_ANDROID_BINDERFS is not set
+CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_ANDROID_BINDER_DEVICES="binder"
+
+CONFIG_ASHMEM=y
+
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb
index 7fea9dd..594694c 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb
@@ -1,11 +1,13 @@
-LINUX_VERSION ?= "5.4.58"
+LINUX_VERSION ?= "5.4.64"
 LINUX_RPI_BRANCH ?= "rpi-5.4.y"
 
-SRCREV = "4592a094787fa6a2ac1e95e96abfe4d7124dbb3a"
+SRCREV = "65caf603f3b1c43f4c92939f7fbb7149e054f486"
 
 require linux-raspberrypi_5.4.inc
 
 SRC_URI += "file://0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch \
             file://0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch \
+            file://0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch \
             file://powersave.cfg \
+            file://android-drivers.cfg \
            "