From 8395c5513a6fd133d47a92f88f92ebeacf8183e5 Mon Sep 17 00:00:00 2001 From: Paul Barker Date: Tue, 12 Jan 2021 11:38:20 +0000 Subject: linux-raspberrypi: Tidy patches & config fragments Move all patches and config fragments into the linux-raspberrypi subdirectory to remove confusion and warnings seen for non-4.19 kernel versions: WARNING: .../bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb: Unable to get checksum for linux-raspberrypi SRC_URI entry 0001-mconf-menuconfig.patch: file could not be found WARNING: .../bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb: Unable to get checksum for linux-raspberrypi SRC_URI entry 0001-mconf-menuconfig.patch: file could not be found Bug-AGL: SPEC-3760 Cc: Jan-Simon Moeller Signed-off-by: Paul Barker Change-Id: Iccb9efcd8240f28437e3494bd008dc9aca649c4e Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25887 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller --- .../linux/files/0001-mconf-menuconfig.patch | 48 --------------------- .../files/0002-Disable-DMA-in-sdhci-driver.patch | 25 ----------- .../files/0003-Fix-PCIe-in-dom0-for-RPi4.patch | 31 -------------- .../recipes-kernel/linux/files/xen-be.cfg | 50 ---------------------- .../linux-raspberrypi/0001-mconf-menuconfig.patch | 48 +++++++++++++++++++++ .../0002-Disable-DMA-in-sdhci-driver.patch | 25 +++++++++++ .../0003-Fix-PCIe-in-dom0-for-RPi4.patch | 31 ++++++++++++++ .../linux/linux-raspberrypi/xen-be.cfg | 50 ++++++++++++++++++++++ .../linux/linux-raspberrypi_4.19.bbappend | 3 -- 9 files changed, 154 insertions(+), 157 deletions(-) delete mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-mconf-menuconfig.patch delete mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Disable-DMA-in-sdhci-driver.patch delete mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch delete mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/xen-be.cfg create mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch create mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0002-Disable-DMA-in-sdhci-driver.patch create mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0003-Fix-PCIe-in-dom0-for-RPi4.patch create mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/xen-be.cfg diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-mconf-menuconfig.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-mconf-menuconfig.patch deleted file mode 100644 index 3dc71ff22..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-mconf-menuconfig.patch +++ /dev/null @@ -1,48 +0,0 @@ -From bebd63730a433ba62549a80114a9851328aa8897 Mon Sep 17 00:00:00 2001 -From: Bruce Ashfield -Date: Mon, 2 Jul 2018 23:10:28 -0400 -Subject: [PATCH] menuconfig,mconf-cfg: Allow specification of ncurses location - -In some cross build environments such as the Yocto Project build -environment it provides an ncurses library that is compiled -differently than the host's version. This causes display corruption -problems when the host's curses includes are used instead of the -includes from the provided compiler are overridden. There is a second -case where there is no curses libraries at all on the host system and -menuconfig will just fail entirely. - -The solution is simply to allow an override variable in -check-lxdialog.sh for environments such as the Yocto Project. Adding -a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing -compiling and linking against the right headers and libraries. - -Signed-off-by: Jason Wessel -cc: Michal Marek -cc: linux-kbuild@vger.kernel.org -Signed-off-by: Bruce Ashfield ---- - scripts/kconfig/mconf-cfg.sh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh -index c812872d7f9d..42d20819025c 100755 ---- a/scripts/kconfig/mconf-cfg.sh -+++ b/scripts/kconfig/mconf-cfg.sh -@@ -4,6 +4,14 @@ - PKG="ncursesw" - PKG2="ncurses" - -+if [ "$CROSS_CURSES_LIB" != "" ]; then -+ echo libs=\'$CROSS_CURSES_LIB\' -+ if [ x"$CROSS_CURSES_INC" != x ]; then -+ echo cflags=\'$CROSS_CURSES_INC\' -+ fi -+ exit 0 -+fi -+ - if [ -n "$(command -v pkg-config)" ]; then - if pkg-config --exists $PKG; then - echo cflags=\"$(pkg-config --cflags $PKG)\" --- -2.17.1 - diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Disable-DMA-in-sdhci-driver.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Disable-DMA-in-sdhci-driver.patch deleted file mode 100644 index 04a8733f2..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Disable-DMA-in-sdhci-driver.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 758bc9b917469bc4e527dc3aae821c91cbc3d426 Mon Sep 17 00:00:00 2001 -From: Stewart Hildebrand -Date: Thu, 18 Jul 2019 00:01:27 -0400 -Subject: [PATCH 2/4] Disable DMA in sdhci driver - ---- - drivers/mmc/host/sdhci-iproc.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c -index 983cddce9..150f7bfc8 100644 ---- a/drivers/mmc/host/sdhci-iproc.c -+++ b/drivers/mmc/host/sdhci-iproc.c -@@ -252,6 +252,8 @@ static const struct sdhci_iproc_data bcm2835_data = { - - static const struct sdhci_pltfm_data sdhci_bcm2838_pltfm_data = { - .ops = &sdhci_iproc_32only_ops, -+ .quirks = SDHCI_QUIRK_BROKEN_DMA | -+ SDHCI_QUIRK_BROKEN_ADMA, - }; - - static const struct sdhci_iproc_data bcm2838_data = { --- -2.17.1 - diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch deleted file mode 100644 index 835f36da3..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 77765c2a47ce43911b8fe7b09f037c9bc13008ca Mon Sep 17 00:00:00 2001 -From: Jeff Kubascik -Date: Tue, 30 Jul 2019 08:49:56 -0400 -Subject: [PATCH 3/4] Fix PCIe in dom0 for RPi4 - -There is an issue where the Broadcom PCIe driver and Xen swiotlb layer -invoke each other's dma alloc function recursively until the stack blows -up. The cause appears to be due to arch_setup_dma_ops being called -more than once for the device, possibly through of_dma_configure, and -screwing up the dma_ops pointers. This patch adds a check to make sure -that the xen_dma_ops are applied only once for a device. ---- - arch/arm64/mm/dma-mapping.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c -index d3a5bb16f..243a3b9be 100644 ---- a/arch/arm64/mm/dma-mapping.c -+++ b/arch/arm64/mm/dma-mapping.c -@@ -895,7 +895,7 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, - __iommu_setup_dma_ops(dev, dma_base, size, iommu); - - #ifdef CONFIG_XEN -- if (xen_initial_domain()) { -+ if (!dev->archdata.dev_dma_ops && xen_initial_domain()) { - dev->archdata.dev_dma_ops = dev->dma_ops; - dev->dma_ops = xen_dma_ops; - } --- -2.17.1 - diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/xen-be.cfg b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/xen-be.cfg deleted file mode 100644 index 36f390187..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/xen-be.cfg +++ /dev/null @@ -1,50 +0,0 @@ -# global stuff - these enable us to allow some -# of the not so generic stuff below for xen -CONFIG_PARAVIRT=y -CONFIG_NET=y -CONFIG_NET_CORE=y -CONFIG_NETDEVICES=y -CONFIG_BLOCK=y -CONFIG_WATCHDOG=y -CONFIG_TARGET_CORE=y -CONFIG_SCSI=y -CONFIG_FB=y -CONFIG_INPUT_MISC=y -CONFIG_MEMORY_HOTPLUG=y -CONFIG_TTY=y -# Technically not required but otherwise produces -# pretty useless systems starting from allnoconfig -# You want TCP/IP and ELF binaries right? -CONFIG_INET=y -CONFIG_BINFMT_ELF=y -# generic config -CONFIG_XEN=y -CONFIG_XEN_DOM0=y -# backend drivers -CONFIG_XEN_BACKEND=y -CONFIG_XEN_BLKDEV_BACKEND=m -CONFIG_XEN_NETDEV_BACKEND=m -CONFIG_HVC_XEN=y -CONFIG_XEN_WDT=m -CONFIG_XEN_SCSI_BACKEND=m -# frontend drivers -CONFIG_XEN_FBDEV_FRONTEND=m -CONFIG_HVC_XEN_FRONTEND=y -CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m -CONFIG_XEN_SCSI_FRONTEND=m -# others -CONFIG_XEN_BALLOON=y -CONFIG_XEN_SCRUB_PAGES=y -CONFIG_XEN_DEV_EVTCHN=m -CONFIG_XEN_BLKDEV_FRONTEND=m -CONFIG_XEN_NETDEV_FRONTEND=m -CONFIG_XENFS=m -CONFIG_XEN_COMPAT_XENFS=y -CONFIG_XEN_SYS_HYPERVISOR=y -CONFIG_XEN_XENBUS_FRONTEND=y -CONFIG_XEN_GNTDEV=m -CONFIG_XEN_GRANT_DEV_ALLOC=m -CONFIG_SWIOTLB_XEN=y -CONFIG_XEN_PRIVCMD=m -CONFIG_DEBUG_INFO=y -CONFIG_FRAME_POINTER=y diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch new file mode 100644 index 000000000..3dc71ff22 --- /dev/null +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch @@ -0,0 +1,48 @@ +From bebd63730a433ba62549a80114a9851328aa8897 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield +Date: Mon, 2 Jul 2018 23:10:28 -0400 +Subject: [PATCH] menuconfig,mconf-cfg: Allow specification of ncurses location + +In some cross build environments such as the Yocto Project build +environment it provides an ncurses library that is compiled +differently than the host's version. This causes display corruption +problems when the host's curses includes are used instead of the +includes from the provided compiler are overridden. There is a second +case where there is no curses libraries at all on the host system and +menuconfig will just fail entirely. + +The solution is simply to allow an override variable in +check-lxdialog.sh for environments such as the Yocto Project. Adding +a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing +compiling and linking against the right headers and libraries. + +Signed-off-by: Jason Wessel +cc: Michal Marek +cc: linux-kbuild@vger.kernel.org +Signed-off-by: Bruce Ashfield +--- + scripts/kconfig/mconf-cfg.sh | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh +index c812872d7f9d..42d20819025c 100755 +--- a/scripts/kconfig/mconf-cfg.sh ++++ b/scripts/kconfig/mconf-cfg.sh +@@ -4,6 +4,14 @@ + PKG="ncursesw" + PKG2="ncurses" + ++if [ "$CROSS_CURSES_LIB" != "" ]; then ++ echo libs=\'$CROSS_CURSES_LIB\' ++ if [ x"$CROSS_CURSES_INC" != x ]; then ++ echo cflags=\'$CROSS_CURSES_INC\' ++ fi ++ exit 0 ++fi ++ + if [ -n "$(command -v pkg-config)" ]; then + if pkg-config --exists $PKG; then + echo cflags=\"$(pkg-config --cflags $PKG)\" +-- +2.17.1 + diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0002-Disable-DMA-in-sdhci-driver.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0002-Disable-DMA-in-sdhci-driver.patch new file mode 100644 index 000000000..04a8733f2 --- /dev/null +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0002-Disable-DMA-in-sdhci-driver.patch @@ -0,0 +1,25 @@ +From 758bc9b917469bc4e527dc3aae821c91cbc3d426 Mon Sep 17 00:00:00 2001 +From: Stewart Hildebrand +Date: Thu, 18 Jul 2019 00:01:27 -0400 +Subject: [PATCH 2/4] Disable DMA in sdhci driver + +--- + drivers/mmc/host/sdhci-iproc.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c +index 983cddce9..150f7bfc8 100644 +--- a/drivers/mmc/host/sdhci-iproc.c ++++ b/drivers/mmc/host/sdhci-iproc.c +@@ -252,6 +252,8 @@ static const struct sdhci_iproc_data bcm2835_data = { + + static const struct sdhci_pltfm_data sdhci_bcm2838_pltfm_data = { + .ops = &sdhci_iproc_32only_ops, ++ .quirks = SDHCI_QUIRK_BROKEN_DMA | ++ SDHCI_QUIRK_BROKEN_ADMA, + }; + + static const struct sdhci_iproc_data bcm2838_data = { +-- +2.17.1 + diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0003-Fix-PCIe-in-dom0-for-RPi4.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0003-Fix-PCIe-in-dom0-for-RPi4.patch new file mode 100644 index 000000000..835f36da3 --- /dev/null +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0003-Fix-PCIe-in-dom0-for-RPi4.patch @@ -0,0 +1,31 @@ +From 77765c2a47ce43911b8fe7b09f037c9bc13008ca Mon Sep 17 00:00:00 2001 +From: Jeff Kubascik +Date: Tue, 30 Jul 2019 08:49:56 -0400 +Subject: [PATCH 3/4] Fix PCIe in dom0 for RPi4 + +There is an issue where the Broadcom PCIe driver and Xen swiotlb layer +invoke each other's dma alloc function recursively until the stack blows +up. The cause appears to be due to arch_setup_dma_ops being called +more than once for the device, possibly through of_dma_configure, and +screwing up the dma_ops pointers. This patch adds a check to make sure +that the xen_dma_ops are applied only once for a device. +--- + arch/arm64/mm/dma-mapping.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c +index d3a5bb16f..243a3b9be 100644 +--- a/arch/arm64/mm/dma-mapping.c ++++ b/arch/arm64/mm/dma-mapping.c +@@ -895,7 +895,7 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, + __iommu_setup_dma_ops(dev, dma_base, size, iommu); + + #ifdef CONFIG_XEN +- if (xen_initial_domain()) { ++ if (!dev->archdata.dev_dma_ops && xen_initial_domain()) { + dev->archdata.dev_dma_ops = dev->dma_ops; + dev->dma_ops = xen_dma_ops; + } +-- +2.17.1 + diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/xen-be.cfg b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/xen-be.cfg new file mode 100644 index 000000000..36f390187 --- /dev/null +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/xen-be.cfg @@ -0,0 +1,50 @@ +# global stuff - these enable us to allow some +# of the not so generic stuff below for xen +CONFIG_PARAVIRT=y +CONFIG_NET=y +CONFIG_NET_CORE=y +CONFIG_NETDEVICES=y +CONFIG_BLOCK=y +CONFIG_WATCHDOG=y +CONFIG_TARGET_CORE=y +CONFIG_SCSI=y +CONFIG_FB=y +CONFIG_INPUT_MISC=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_TTY=y +# Technically not required but otherwise produces +# pretty useless systems starting from allnoconfig +# You want TCP/IP and ELF binaries right? +CONFIG_INET=y +CONFIG_BINFMT_ELF=y +# generic config +CONFIG_XEN=y +CONFIG_XEN_DOM0=y +# backend drivers +CONFIG_XEN_BACKEND=y +CONFIG_XEN_BLKDEV_BACKEND=m +CONFIG_XEN_NETDEV_BACKEND=m +CONFIG_HVC_XEN=y +CONFIG_XEN_WDT=m +CONFIG_XEN_SCSI_BACKEND=m +# frontend drivers +CONFIG_XEN_FBDEV_FRONTEND=m +CONFIG_HVC_XEN_FRONTEND=y +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m +CONFIG_XEN_SCSI_FRONTEND=m +# others +CONFIG_XEN_BALLOON=y +CONFIG_XEN_SCRUB_PAGES=y +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_BLKDEV_FRONTEND=m +CONFIG_XEN_NETDEV_FRONTEND=m +CONFIG_XENFS=m +CONFIG_XEN_COMPAT_XENFS=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XEN_XENBUS_FRONTEND=y +CONFIG_XEN_GNTDEV=m +CONFIG_XEN_GRANT_DEV_ALLOC=m +CONFIG_SWIOTLB_XEN=y +CONFIG_XEN_PRIVCMD=m +CONFIG_DEBUG_INFO=y +CONFIG_FRAME_POINTER=y diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend index 7f17f0c3f..2d100cb43 100644 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend @@ -2,9 +2,6 @@ require recipes-kernel/linux/linux-agl-4.19.inc ENABLE_UART_raspberrypi4 = "1" -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" - - # For Xen SRC_URI_append =" \ -- cgit 1.2.3-korg