meta-raspberrypi: subtree update:3a1fec22c0..4b89f63699

Aaron Shaw (1):
      linux-firmware-rpidistro: Added firmware for BCM43456

Khem Raj (3):
      mesa-gl: Enable swrast dri backend for rpi/userland
      userland: Fix weston build with userland graphics
      libglu: Fix build with userland graphics

Tobias Off (1):
      linux-firmware-rpidistro: Missing link to firmware causes wifi not working on raspberrypi zero w

Trevor Woerner (1):
      userland: fix invalid packageconfig

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I06d2fbef19f827ffcbb485c60935b9a8c373e1c4
diff --git a/meta-raspberrypi/recipes-graphics/mesa/libglu_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/libglu_%.bbappend
new file mode 100644
index 0000000..56ff421
--- /dev/null
+++ b/meta-raspberrypi/recipes-graphics/mesa/libglu_%.bbappend
@@ -0,0 +1,3 @@
+# 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/mesa-gl_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
index 08ec1c5..84cd479 100644
--- a/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ b/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
@@ -1,6 +1,8 @@
 PACKAGECONFIG_append_rpi = " gbm"
 PROVIDES_append_rpi = " virtual/libgbm"
 
+DRIDRIVERS_append_rpi = ",swrast"
+
 do_install_append_rpi() {
     rm -rf ${D}${includedir}/KHR/khrplatform.h
 }
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0024-userland-Sync-needed-defines-for-weston-build.patch b/meta-raspberrypi/recipes-graphics/userland/files/0024-userland-Sync-needed-defines-for-weston-build.patch
new file mode 100644
index 0000000..ec74cc2
--- /dev/null
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0024-userland-Sync-needed-defines-for-weston-build.patch
@@ -0,0 +1,38 @@
+From 4a3e515d3ea7ff0fc4063b9677b056af4ee7a3f6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Dec 2020 14:28:01 -0800
+Subject: [PATCH] userland: Sync needed defines for weston build
+
+eglext.h from userland is not sufficient to compile latest weston,
+therefore import needed defines and typedefs from latest mesa
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ interface/khronos/include/EGL/eglext.h | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/interface/khronos/include/EGL/eglext.h b/interface/khronos/include/EGL/eglext.h
+index 6842bf9..7118e92 100755
+--- a/interface/khronos/include/EGL/eglext.h
++++ b/interface/khronos/include/EGL/eglext.h
+@@ -225,6 +225,20 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL) (EGLDisplay dpy, st
+ 
+ #endif
+ 
++typedef void* EGLSyncKHR;
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
++typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
++#ifndef EGL_ANDROID_native_fence_sync
++#define EGL_ANDROID_native_fence_sync 1
++#define EGL_SYNC_NATIVE_FENCE_ANDROID     0x3144
++#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID  0x3145
++#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
++#define EGL_NO_NATIVE_FENCE_FD_ANDROID    -1
++typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
++#endif
++#endif /* EGL_ANDROID_native_fence_sync */
+ 
+ #ifdef __cplusplus
+ }
diff --git a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
index 32aa4a5..6dfc8a3 100644
--- a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
+++ b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
@@ -44,6 +44,7 @@
     file://0021-cmake-Disable-format-overflow-warning-as-error.patch \
     file://0022-all-host_applications-remove-non-existent-projects.patch \
     file://0023-hello_pi-optionally-build-wayland-specific-app.patch \
+    file://0024-userland-Sync-needed-defines-for-weston-build.patch \
 "
 
 SRC_URI_remove_toolchain-clang = "file://0021-cmake-Disable-format-overflow-warning-as-error.patch"
@@ -54,10 +55,8 @@
 
 ASNEEDED = ""
 
-ALLAPPS = "${@bb.utils.contains('PACKAGECONFIG', 'allapps', '-DALL_APPS=true', '', d)}"
 EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' \
                  -DVMCS_INSTALL_PREFIX=${exec_prefix} \
-                 ${ALLAPPS} \
 "
 
 EXTRA_OECMAKE_append_aarch64 = " -DARM64=ON "
@@ -66,6 +65,7 @@
 PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
 
 PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=${STAGING_BINDIR_NATIVE}/wayland-scanner,,wayland-native wayland"
+PACKAGECONFIG[allapps] = "-DALL_APPS=true,,,"
 
 CFLAGS_append = " -fPIC"
 
diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
index 99afde8..671dfa2 100644
--- a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
+++ b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
@@ -8,6 +8,7 @@
 # In maintained upstream linux-firmware:
 # * brcmfmac43430-sdio falls under LICENCE.cypress
 # * brcmfmac43455-sdio falls under LICENCE.broadcom_bcm43xx
+# * brcmfmac43456-sdio falls under LICENCE.broadcom_bcm43xx
 #
 # It is likely[^1] that both of these should be under LICENCE.cypress.
 # Further, at this time the text of LICENCE.broadcom_bcm43xx is the same
@@ -35,8 +36,8 @@
 
 SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree"
 
-SRCREV = "98e815735e2c805d65994ccc608f399595b74438"
-PV = "20190114-1+rpt8"
+SRCREV = "b66ab26cebff689d0d3257f56912b9bb03c20567"
+PV = "20190114-1+rpt10"
 
 S = "${WORKDIR}/git"
 
@@ -56,7 +57,7 @@
     # Replace outdated linux-firmware files with updated ones from
     # raspbian firmware-nonfree. Raspbian adds blobs and nvram
     # definitions that are also necessary so copy those too.
-    for fw in brcmfmac43430-sdio brcmfmac43455-sdio ; do
+    for fw in brcmfmac43430-sdio brcmfmac43455-sdio brcmfmac43456-sdio ; do
         install -m 0644 brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
     done
     # add compat links. Fixes errors like
@@ -64,22 +65,27 @@
     ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
     ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
     ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
+    ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
 }
 
 PACKAGES = "\
     ${PN}-broadcom-license \
     ${PN}-bcm43430 \
     ${PN}-bcm43455 \
+    ${PN}-bcm43456 \
 "
 
 LICENSE_${PN}-bcm43430 = "Firmware-broadcom_bcm43xx-rpidistro"
 LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx-rpidistro"
+LICENSE_${PN}-bcm43456 = "Firmware-broadcom_bcm43xx-rpidistro"
 LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx-rpidistro"
 FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx-rpidistro"
 FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430*"
 FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455*"
+FILES_${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*"
 RDEPENDS_${PN}-bcm43430 += "${PN}-broadcom-license"
 RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
+RDEPENDS_${PN}-bcm43456 += "${PN}-broadcom-license"
 RCONFLICTS_${PN}-bcm43430 = "\
     linux-firmware-bcm43430 \
     linux-firmware-raspbian-bcm43430 \
@@ -96,6 +102,14 @@
     linux-firmware-bcm43455 \
     linux-firmware-raspbian-bcm43455 \
 "
+RCONFLICTS_${PN}-bcm43456 = "\
+    linux-firmware-bcm43456 \
+    linux-firmware-raspbian-bcm43456 \
+"
+RREPLACES_${PN}-bcm43456 = "\
+    linux-firmware-bcm43456 \
+    linux-firmware-raspbian-bcm43456 \
+"
 
 # Firmware files are generally not run on the CPU, so they can be
 # allarch despite being architecture specific