diff --git a/include/kernel-version.mk b/include/kernel-version.mk index cdea64a0c..dee3f7f80 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.9 = .207 -LINUX_VERSION-4.14 = .160 -LINUX_VERSION-4.19 = .91 +LINUX_VERSION-4.9 = .208 +LINUX_VERSION-4.14 = .162 +LINUX_VERSION-4.19 = .93 -LINUX_KERNEL_HASH-4.9.207 = ca86637e7b5bec65eeb7da695824e0e8aca5ba52eb742885f0b7241977400124 -LINUX_KERNEL_HASH-4.14.160 = c60326bad1bcdede514ca8a0bb96843fa7578ef00829cced6218b888b2efa92c -LINUX_KERNEL_HASH-4.19.91 = f403c3dee12ded0af1889c78871abf7a531a978ba423f1ca772de702a92c3447 +LINUX_KERNEL_HASH-4.9.208 = b7ad1c9841d671d026c55a4c91c77205f8b488ca5f980f838591c68662e0525a +LINUX_KERNEL_HASH-4.14.162 = f65170224cd4359ce8b2793b492bd8127abdd0b91350484e001bce13f0c98b4b +LINUX_KERNEL_HASH-4.19.93 = 2af5d23f82a8bf69a6e4d8407579293b7beeebd3054dc464d48bdb5d2d7f5834 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/package/firmware/am33x-cm3/Makefile b/package/firmware/am33x-cm3/Makefile deleted file mode 100644 index e3923581b..000000000 --- a/package/firmware/am33x-cm3/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# -# Copyright (C) 2014 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=am33x-cm3 -PKG_VERSION:=20130304 -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=http://arago-project.org/git/projects/am33x-cm3.git -PKG_SOURCE_VERSION:=32cf44e25b5828b87af6dceebc3a49fed5d858ac -PKG_MIRROR_HASH:=71d4029eed4ef58a1e0beb299d5c876bf0b9a790ecac52aacf1d510f5841d959 - -PKG_MAINTAINER:=Imre Kaloz - -PKG_FLAGS:=nonshared - -include $(INCLUDE_DIR)/package.mk - -define Package/am33x-cm3 - SECTION:=firmware - CATEGORY:=Firmware - URL:=http://arago-project.org/git/projects/?p=am33x-cm3.git - TITLE:=TI AM335x PM firmware - DEPENDS:=@TARGET_omap -endef - -define Build/Compile - $(MAKE) CROSS_COMPILE=$(TARGET_CROSS) -C $(PKG_BUILD_DIR) -endef - -define Package/am33x-cm3/install - $(INSTALL_DIR) $(1)/lib/firmware - $(CP) $(PKG_BUILD_DIR)/bin/am335x-pm-firmware.bin $(1)/lib/firmware -endef - -$(eval $(call BuildPackage,am33x-cm3)) diff --git a/package/firmware/brcmfmac-board-rpi/Makefile b/package/firmware/brcmfmac-board-rpi/Makefile deleted file mode 100644 index e622280ba..000000000 --- a/package/firmware/brcmfmac-board-rpi/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=brcmfmac-board-rpi -PKG_VERSION:=2018-03-12 -PKG_RELEASE:=86e88fbf0345da49555d0ec34c80b4fbae7d0cd3 -PKG_FLAGS:=nonshared - -include $(INCLUDE_DIR)/package.mk - -BRCMFMAC434XX_SDIO_URL:=@GITHUB/RPi-Distro/firmware-nonfree/$(PKG_RELEASE)/brcm/ -BRCMFMAC43455_SDIO_FILE:=brcmfmac43455-sdio-$(PKG_RELEASE) - -define Download/brcmfmac43455_sdio_clm_blob - FILE:=$(BRCMFMAC43455_SDIO_FILE).clm_blob - URL:=$(BRCMFMAC434XX_SDIO_URL) - URL_FILE:=brcmfmac43455-sdio.clm_blob - HASH:=8e2250518bc789e53109728c3c0a6124bc3801a75a1cb4966125753cf1f0252e -endef -$(eval $(call Download,brcmfmac43455_sdio_clm_blob)) - -define Package/brcmfmac-board-rpi/Default - SECTION:=firmware - CATEGORY:=Firmware - URL:=https://github.com/RPi-Distro/firmware-nonfree/ - DEPENDS:=@TARGET_brcm2708 - PKGARCH:=all -endef - -define Package/brcmfmac-firmware-43455-clm_blob - $(call Package/brcmfmac-board-rpi/Default) - TITLE:=BCM43455 RPi SDIO Localisation Blob -endef - -define Package/brcmfmac-firmware-43455-clm_blob/description - Localisation blob for the Broadcom BCM43455 on RPi boards. -endef - -define Build/Prepare - rm -rf $(PKG_BUILD_DIR) - mkdir -p $(PKG_BUILD_DIR) - cp $(DL_DIR)/$(BRCMFMAC43455_SDIO_FILE).clm_blob $(PKG_BUILD_DIR)/brcmfmac43455-sdio.clm_blob -endef - -define Build/Compile - true -endef - -define Package/brcmfmac-firmware-43455-clm_blob/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm/ - $(INSTALL_DATA) $(PKG_BUILD_DIR)/brcmfmac43455-sdio.clm_blob $(1)/lib/firmware/brcm/ -endef - -$(eval $(call BuildPackage,brcmfmac-firmware-43455-clm_blob)) diff --git a/package/firmware/cypress-firmware/Makefile b/package/firmware/cypress-firmware/Makefile new file mode 100644 index 000000000..40aab06c9 --- /dev/null +++ b/package/firmware/cypress-firmware/Makefile @@ -0,0 +1,239 @@ +# +# Copyright (C) 2019 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +UNPACK_CMD=unzip -q -p $(DL_DIR)/$(PKG_SOURCE) $(PKG_SOURCE_UNZIP) | gzip -dc | $(HOST_TAR) -C $(1) $(TAR_OPTIONS) + +PKG_NAME:=cypress-firmware +PKG_VERSION:=v4.14.77-2019_1031 + +PKG_SOURCE_UNZIP:=cypress-firmware-$(PKG_VERSION).tar.gz +PKG_SOURCE:=cypress-fmac-$(PKG_VERSION).zip +PKG_SOURCE_URL:=https://community.cypress.com/servlet/JiveServlet/download/17441-2-50210/ +PKG_HASH:=bc2eec0d144a88e3105a06cac8039a7f13becde67dfe2a86793ba66f6a2510e0 + +PKG_MAINTAINER:=Álvaro Fernández Rojas + +include $(INCLUDE_DIR)/package.mk + +define Package/cypress-firmware-default + SECTION:=firmware + CATEGORY:=Firmware + URL:=https://community.cypress.com/community/linux +endef + +define Build/Compile + true +endef + +# Cypress 43340 SDIO Firmware +define Package/cypress-firmware-43340-sdio + $(Package/cypress-firmware-default) + TITLE:=CYW43340 FullMac SDIO firmware +endef + +define Package/cypress-firmware-43340-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac43340-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac43340-sdio.bin +endef + +$(eval $(call BuildPackage,cypress-firmware-43340-sdio)) + +# Cypress 43362 SDIO Firmware +define Package/cypress-firmware-43362-sdio + $(Package/cypress-firmware-default) + TITLE:=CYW43362 FullMac SDIO firmware +endef + +define Package/cypress-firmware-43362-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac43362-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac43362-sdio.bin +endef + +$(eval $(call BuildPackage,cypress-firmware-43362-sdio)) + +# Cypress 4339 SDIO Firmware +define Package/cypress-firmware-4339-sdio + $(Package/cypress-firmware-default) + TITLE:=CYW4339 FullMac SDIO firmware +endef + +define Package/cypress-firmware-4339-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4339-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac4339-sdio.bin +endef + +$(eval $(call BuildPackage,cypress-firmware-4339-sdio)) + +# Cypress 43430 SDIO Firmware +define Package/cypress-firmware-43430-sdio + $(Package/cypress-firmware-default) + TITLE:=CYW43430 FullMac SDIO firmware +endef + +define Package/cypress-firmware-43430-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac43430-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac43430-sdio.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac43430-sdio.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-43430-sdio)) + +# Cypress 43455 SDIO Firmware +define Package/cypress-firmware-43455-sdio + $(Package/cypress-firmware-default) + TITLE:=CYW43455 FullMac SDIO firmware +endef + +define Package/cypress-firmware-43455-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac43455-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac43455-sdio.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac43455-sdio.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-43455-sdio)) + +# Cypress 4354 SDIO Firmware +define Package/cypress-firmware-4354-sdio + $(Package/cypress-firmware-default) + TITLE:=CYW4354 FullMac SDIO firmware +endef + +define Package/cypress-firmware-4354-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4354-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac4354-sdio.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4354-sdio.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac4354-sdio.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-4354-sdio)) + +# Cypress 4356 PCIe Firmware +define Package/cypress-firmware-4356-pcie + $(Package/cypress-firmware-default) + TITLE:=CYW4356 FullMac PCIe firmware +endef + +define Package/cypress-firmware-4356-pcie/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4356-pcie.bin \ + $(1)/lib/firmware/brcm/brcmfmac4356-pcie.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4356-pcie.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac4356-pcie.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-4356-pcie)) + +# Cypress 4356 SDIO Firmware +define Package/cypress-firmware-4356-sdio + $(Package/cypress-firmware-default) + TITLE:=CYW4356 FullMac SDIO firmware +endef + +define Package/cypress-firmware-4356-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4356-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac4356-sdio.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4356-sdio.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac4356-sdio.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-4356-sdio)) + +# Cypress 4359 PCIe Firmware +define Package/cypress-firmware-4359-pcie + $(Package/cypress-firmware-default) + TITLE:=CYW4359 FullMac PCIe firmware +endef + +define Package/cypress-firmware-4359-pcie/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4359-pcie.bin \ + $(1)/lib/firmware/brcm/brcmfmac4359-pcie.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4359-pcie.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac4359-pcie.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-4359-pcie)) + +# Cypress 4359 SDIO Firmware +define Package/cypress-firmware-4359-sdio + $(Package/cypress-firmware-default) + TITLE:=CYW4359 FullMac SDIO firmware +endef + +define Package/cypress-firmware-4359-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4359-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac4359-sdio.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4359-sdio.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac4359-sdio.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-4359-sdio)) + +# Cypress 4373 SDIO Firmware +define Package/cypress-firmware-4373-sdio + $(Package/cypress-firmware-default) + TITLE:=CYW4373 FullMac SDIO firmware +endef + +define Package/cypress-firmware-4373-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4373-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac4373-sdio.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4373-sdio.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac4373-sdio.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-4373-sdio)) + +# Cypress 4373 USB Firmware +define Package/cypress-firmware-4373-usb + $(Package/cypress-firmware-default) + TITLE:=CYW4373 FullMac USB firmware +endef + +define Package/cypress-firmware-4373-usb/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4373-usb.bin \ + $(1)/lib/firmware/brcm/brcmfmac4373-usb.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac4373.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac4373.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-4373-usb)) diff --git a/package/firmware/cypress-nvram/Makefile b/package/firmware/cypress-nvram/Makefile new file mode 100644 index 000000000..418a2b0d7 --- /dev/null +++ b/package/firmware/cypress-nvram/Makefile @@ -0,0 +1,95 @@ +# +# Copyright (C) 2019 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=cypress-nvram +PKG_SOURCE_DATE:=2019-09-03 +PKG_SOURCE_VERSION:=e7b78df22f2a0c5f56abb7b5880661611de35e5f +PKG_MIRROR_HASH:=1cb20a749696852be0a512d51961365dd9c031362af0af1a2b9f5a3fb894885f +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/openwrt/cypress-nvram.git + +PKG_MAINTAINER:=Álvaro Fernández Rojas + +include $(INCLUDE_DIR)/package.mk + +define Package/cypress-nvram-default + SECTION:=firmware + CATEGORY:=Firmware + URL:=https://community.cypress.com/community/linux +endef + +define Build/Compile + true +endef + +# Cypress 43430 SDIO Raspberry Pi 3B NVRAM +define Package/cypress-nvram-43430-sdio-rpi-3b + $(Package/cypress-nvram-default) + TITLE:=CYW43430 NVRAM for Raspberry Pi 3B + DEPENDS:=@TARGET_brcm2708 +endef + +define Package/cypress-nvram-43430-sdio-rpi-3b/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \ + $(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt +endef + +$(eval $(call BuildPackage,cypress-nvram-43430-sdio-rpi-3b)) + +# Cypress 43430 SDIO Raspberry Pi Zero W NVRAM +define Package/cypress-nvram-43430-sdio-rpi-zero-w + $(Package/cypress-nvram-default) + TITLE:=CYW43430 NVRAM for Raspberry Pi Zero W + DEPENDS:=@TARGET_brcm2708 +endef + +define Package/cypress-nvram-43430-sdio-rpi-zero-w/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt \ + $(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt +endef + +$(eval $(call BuildPackage,cypress-nvram-43430-sdio-rpi-zero-w)) + +# Cypress 43455 SDIO Raspberry Pi 3B+ NVRAM +define Package/cypress-nvram-43455-sdio-rpi-3b-plus + $(Package/cypress-nvram-default) + TITLE:=CYW43455 NVRAM for Raspberry Pi 3B+ + DEPENDS:=@TARGET_brcm2708 +endef + +define Package/cypress-nvram-43455-sdio-rpi-3b-plus/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \ + $(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt +endef + +$(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-3b-plus)) + +# Cypress 43455 SDIO Raspberry Pi 4B NVRAM +define Package/cypress-nvram-43455-sdio-rpi-4b + $(Package/cypress-nvram-default) + TITLE:=CYW43455 NVRAM for Raspberry Pi 4B + DEPENDS:=@TARGET_brcm2708 +endef + +define Package/cypress-nvram-43455-sdio-rpi-4b/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \ + $(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt +endef + +$(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-4b)) diff --git a/package/firmware/intel-microcode/Makefile b/package/firmware/intel-microcode/Makefile index 07db9b1f9..de501622d 100644 --- a/package/firmware/intel-microcode/Makefile +++ b/package/firmware/intel-microcode/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=intel-microcode -PKG_VERSION:=20180807a +PKG_VERSION:=20190918 PKG_RELEASE:=1 PKG_SOURCE:=intel-microcode_3.$(PKG_VERSION).$(PKG_RELEASE).tar.xz PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/non-free/i/intel-microcode/ -PKG_HASH:=1a7cb96d5c6a4abac2936236223d9bea79d7442dc1cfe9b712ff8e35374f0f9f +PKG_HASH:=b7ecb5dd30d71e9b3c2ab184693a876171392e0d80d138c3560c662e5f2a2247 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-3.$(PKG_VERSION).$(PKG_RELEASE) PKG_BUILD_DEPENDS:=iucode-tool/host diff --git a/package/firmware/layerscape/fman-ucode/Makefile b/package/firmware/layerscape/fman-ucode/Makefile index f211f83de..9561fbc0b 100644 --- a/package/firmware/layerscape/fman-ucode/Makefile +++ b/package/firmware/layerscape/fman-ucode/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fman-ucode -PKG_VERSION:=lsdk-1806 +PKG_VERSION:=lsdk-1903 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/NXP/qoriq-fm-ucode.git PKG_SOURCE_VERSION:=c275e91392e2adab1ed22f3867b8269ca3c54014 -PKG_MIRROR_HASH:=4e8914340c4a08941898900500f3239762af933ff359bebcf988a10ac30b2bec +PKG_MIRROR_HASH:=a630f1a86e4a67a0e390312291702560e3f64dd74fe6ccb8f3be4584d00c7f80 include $(INCLUDE_DIR)/package.mk diff --git a/package/firmware/layerscape/ls-dpl/Makefile b/package/firmware/layerscape/ls-dpl/Makefile index c9c96400f..8d2ab965c 100644 --- a/package/firmware/layerscape/ls-dpl/Makefile +++ b/package/firmware/layerscape/ls-dpl/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ls-dpl -PKG_VERSION:=lsdk-1806 +PKG_VERSION:=lsdk-1903 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/mc-utils -PKG_SOURCE_VERSION:=de3c46f16732f5e050851277b91e82d63818ca58 -PKG_MIRROR_HASH:=b19bba34abbb83a204ac925a18425463e508c812c43a59eafc89347fc09d5f0a +PKG_SOURCE_VERSION:=eeb8972a3d4137c87a54c2795452b17f254a68c7 +PKG_MIRROR_HASH:=e96e72793fb9fea1d4f5112d318059ea4c836d65c02852d207407edf13fc92af include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/kernel.mk diff --git a/package/firmware/layerscape/ls-mc/Makefile b/package/firmware/layerscape/ls-mc/Makefile index bfb624e53..657b3b33b 100644 --- a/package/firmware/layerscape/ls-mc/Makefile +++ b/package/firmware/layerscape/ls-mc/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ls-mc -PKG_VERSION:=lsdk-1806 +PKG_VERSION:=lsdk-1903 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/NXP/qoriq-mc-binary.git -PKG_SOURCE_VERSION:=9c1d73016b47f8654d48f0ccff776e5e4588d822 -PKG_MIRROR_HASH:=b50e98d7de3c1754fc1d5aed2cb5a10c5d3535bc609407fafbab8ecce09661fa +PKG_SOURCE_VERSION:=bd64d1824681b009fd83b0a3699e45b117b72695 +PKG_MIRROR_HASH:=17ecfd780b8d884b3843d2b8fbcaf29410fdacdc03ab3fe81ae7ade994d7fc0a include $(INCLUDE_DIR)/package.mk @@ -23,7 +23,7 @@ define Package/layerscape-mc-ls1088ardb CATEGORY:=Firmware TITLE:=NXP LS1088ARDB MC firmware DEPENDS:=@TARGET_layerscape - CONFIG:=ls1088a/mc_10.8.0_ls1088a_20180515.itb + CONFIG:=ls1088a/mc_10.14.3_ls1088a.itb endef define Package/layerscape-mc-ls2088ardb @@ -31,7 +31,7 @@ define Package/layerscape-mc-ls2088ardb CATEGORY:=Firmware TITLE:=NXP LS2088ARDB MC firmware DEPENDS:=@TARGET_layerscape - CONFIG:=ls2088a/mc_10.8.0_ls2088a_20180515.itb + CONFIG:=ls2088a/mc_10.14.3_ls2088a.itb endef define Build/Compile diff --git a/package/firmware/layerscape/ls-ppa/Makefile b/package/firmware/layerscape/ls-ppa/Makefile deleted file mode 100644 index 159f5ef6d..000000000 --- a/package/firmware/layerscape/ls-ppa/Makefile +++ /dev/null @@ -1,84 +0,0 @@ -# -# Copyright 2017 NXP -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=ls-ppa -PKG_VERSION:=lsdk-1806 -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/yangbolu1991/ppa-binary.git -PKG_SOURCE_VERSION:=73ce533bed868717b891e5dbf881428f56f11b4e -PKG_MIRROR_HASH:=d917a692197e8c3c3db6de1f8a4bc0e52dca5fc6fa84a02d68d79072cd6cbc3f - -include $(INCLUDE_DIR)/package.mk - -define Package/layerscape-ppa/Config - define Package/layerscape-ppa-$(1) - SECTION:=firmware - CATEGORY:=Firmware - TITLE:=$(2) - DEPENDS:=@TARGET_layerscape - CONFIG:=$(3) - endef -endef - -define Package/layerscape-ppa/ls1012ardb - TITLE:=NXP LS1012ARDB PPA binary - CONFIG:=ppa-ls1012a.itb -endef - -define Package/layerscape-ppa/ls1012afrwy - TITLE:=NXP LS1012AFRWY PPA binary - CONFIG:=ppa-ls1012a.itb -endef - -define Package/layerscape-ppa/ls1043ardb - TITLE:=NXP LS1043ARDB PPA binary - CONFIG:=ppa-ls1043a.itb -endef - -define Package/layerscape-ppa/ls1046ardb - TITLE:=NXP LS1046ARDB PPA binary - CONFIG:=ppa-ls1046a.itb -endef - -define Package/layerscape-ppa/ls1088ardb - TITLE:=NXP LS1088ARDB PPA binary - CONFIG:=ppa-ls1088a.itb -endef - -define Package/layerscape-ppa/ls2088ardb - TITLE:=NXP LS2088ARDB PPA binary - CONFIG:=ppa-ls2088a.itb -endef - -define Build/Compile -endef - -define Package/layerscape-ppa/Install - define Package/layerscape-ppa-$(1)/install - $(INSTALL_DIR) $(STAGING_DIR_IMAGE) - $(CP) $(PKG_BUILD_DIR)/$(CONFIG) $(STAGING_DIR_IMAGE)/$(1)-ppa.itb - endef -endef - -PPAS := \ - ls1012ardb \ - ls1012afrwy \ - ls1043ardb \ - ls1046ardb \ - ls1088ardb \ - ls2088ardb - -$(foreach ppa,$(PPAS), \ - $(eval $(Package/layerscape-ppa/$(ppa))) \ - $(eval $(call Package/layerscape-ppa/Config,$(ppa),$(TITLE),$(CONFIG))) \ - $(eval $(call Package/layerscape-ppa/Install,$(ppa))) \ - $(eval $(call BuildPackage,layerscape-ppa-$(ppa))) \ -) diff --git a/package/firmware/layerscape/ls-rcw/Makefile b/package/firmware/layerscape/ls-rcw/Makefile index 9de68b1cc..5bcbff5bc 100644 --- a/package/firmware/layerscape/ls-rcw/Makefile +++ b/package/firmware/layerscape/ls-rcw/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ls-rcw -PKG_VERSION:=lsdk-1806 +PKG_VERSION:=lsdk-1903 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/rcw -PKG_SOURCE_VERSION:=1f43bef4b4475d8e81c9b3b8c5bdd6c1ce8cfa6c -PKG_MIRROR_HASH:=a3b455bcc1f070c8e51f520e32b62cec5b05d772d7ae4a876d88fd5f278a7b1c +PKG_SOURCE_VERSION:=f1377876cc06a87ec8afa8a3412ca7c8455861f2 +PKG_MIRROR_HASH:=a9c97755809994a668ee5f0e535cef9f344fc5523c4299ac76f26c63976c80bc include $(INCLUDE_DIR)/package.mk @@ -30,12 +30,12 @@ endef define Package/layerscape-rcw/ls1012ardb TITLE:=NXP LS1012ARDB RCW binary - CONFIG:=ls1012ardb/R_SPNH_3508/rcw_1000_default.bin.swapped + CONFIG:=ls1012ardb/R_SPNH_3508/rcw_1000_default.bin endef define Package/layerscape-rcw/ls1012afrwy TITLE:=NXP LS1012AFRWY RCW binary - CONFIG:=ls1012afrwy/N_SSNP_3305/rcw_1000_default.bin.swapped + CONFIG:=ls1012afrwy/N_SSNP_3305/rcw_1000_default.bin endef define Package/layerscape-rcw/ls1043ardb @@ -43,9 +43,19 @@ define Package/layerscape-rcw/ls1043ardb CONFIG:=ls1043ardb/RR_FQPP_1455/rcw_1600.bin endef +define Package/layerscape-rcw/ls1043ardb-sdboot + TITLE:=NXP LS1043ARDB SD card boot RCW binary + CONFIG:=ls1043ardb/RR_FQPP_1455/rcw_1600_sdboot.bin +endef + define Package/layerscape-rcw/ls1046ardb TITLE:=NXP LS1046ARDB RCW binary - CONFIG:=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin.swapped + CONFIG:=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin +endef + +define Package/layerscape-rcw/ls1046ardb-sdboot + TITLE:=NXP LS1046ARDB SD card boot RCW binary + CONFIG:=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_sdboot.bin endef define Package/layerscape-rcw/ls1088ardb @@ -79,7 +89,9 @@ RCWS := \ ls1012ardb \ ls1012afrwy \ ls1043ardb \ + ls1043ardb-sdboot \ ls1046ardb \ + ls1046ardb-sdboot \ ls1088ardb \ ls1088ardb-sdboot \ ls2088ardb \ diff --git a/package/firmware/layerscape/ppfe-firmware/Makefile b/package/firmware/layerscape/ppfe-firmware/Makefile index 3909b0630..662fa2373 100644 --- a/package/firmware/layerscape/ppfe-firmware/Makefile +++ b/package/firmware/layerscape/ppfe-firmware/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ppfe -PKG_VERSION:=lsdk-1806 +PKG_VERSION:=lsdk-1903 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/NXP/qoriq-engine-pfe-bin.git -PKG_SOURCE_VERSION:=50c825b9300c5e36548fb5dcbef538b650fc1913 -PKG_MIRROR_HASH:=7627ce260ac4b320f3a7e8ad81db1c3ec2266332762dd1e4313480f7a678fd43 +PKG_SOURCE_VERSION:=58aa0cac630528ed91fe5639700d6b571c0c07b5 +PKG_MIRROR_HASH:=1234a86e879f2eecd3ac4852bb39e4189b03bb659bec228a1d1ccae5ac0229e6 include $(INCLUDE_DIR)/package.mk diff --git a/package/firmware/wireless-regdb/Makefile b/package/firmware/wireless-regdb/Makefile index d06da2c70..26f470af4 100644 --- a/package/firmware/wireless-regdb/Makefile +++ b/package/firmware/wireless-regdb/Makefile @@ -1,26 +1,26 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wireless-regdb +PKG_VERSION:=2019.06.03 -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git -PKG_SOURCE_DATE:=2017-10-20 -PKG_SOURCE_VERSION:=4343d359ed5e7404de8803a74df186457b26ab79 -PKG_MIRROR_HASH:=5f5b669f32ae36cb65b1d99efbbbfd42c2983cda32f6448346e3e54ffaba3889 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/ +PKG_HASH:=cd917ed86b63ce8d93947979f1f18948f03a4ac0ad89ec25227b36ac00dc54bf PKG_MAINTAINER:=Felix Fietkau include $(INCLUDE_DIR)/package.mk define Package/wireless-regdb + PKGARCH:=all SECTION:=firmware CATEGORY:=Firmware - URL:=$(patsubst pub/scm,cgit,$(PKG_SOURCE_URL)) + URL:=https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git/ TITLE:=Wireless Regulatory Database endef define Build/Compile - python $(PKG_BUILD_DIR)/db2fw.py $(PKG_BUILD_DIR)/regulatory.db $(PKG_BUILD_DIR)/db.txt + $(STAGING_DIR_HOST)/bin/$(PYTHON) $(PKG_BUILD_DIR)/db2fw.py $(PKG_BUILD_DIR)/regulatory.db $(PKG_BUILD_DIR)/db.txt endef define Package/wireless-regdb/install diff --git a/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch b/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch new file mode 100644 index 000000000..81f50f5dc --- /dev/null +++ b/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch @@ -0,0 +1,58 @@ +From 651e39dee8605995b736b6056c6f7dc5c5a9c948 Mon Sep 17 00:00:00 2001 +From: Johannes Berg +Date: Thu, 22 Aug 2019 21:46:27 +0200 +Subject: [PATCH] regdb: fix compatibility with python2 + +Various changes in the commit mentioned below broke +compatibility with python2. Restore it in a way that +makes it worth with both versions. + +Fixes: f3c4969c2485 ("wireless-regdb: make scripts compatible with Python 3") +Signed-off-by: Johannes Berg +Signed-off-by: Seth Forshee +--- + db2bin.py | 2 +- + db2fw.py | 2 +- + dbparse.py | 3 +-- + 3 files changed, 3 insertions(+), 4 deletions(-) + +--- a/db2bin.py ++++ b/db2bin.py +@@ -118,7 +118,7 @@ reg_country_ptr.set() + for alpha2 in countrynames: + coll = countries[alpha2] + # struct regdb_file_reg_country +- output.write(struct.pack('>BBxBI', alpha2[0], alpha2[1], coll.dfs_region, reg_rules_collections[coll.permissions])) ++ output.write(struct.pack('>2sxBI', alpha2, coll.dfs_region, reg_rules_collections[coll.permissions])) + + + if len(sys.argv) > 3: +--- a/db2fw.py ++++ b/db2fw.py +@@ -85,7 +85,7 @@ countrynames = list(countries) + countrynames.sort() + for alpha2 in countrynames: + coll = countries[alpha2] +- output.write(struct.pack('>BB', alpha2[0], alpha2[1])) ++ output.write(struct.pack('>2s', alpha2)) + country_ptrs[alpha2] = PTR(output) + output.write(b'\x00' * 4) + +--- a/dbparse.py ++++ b/dbparse.py +@@ -1,6 +1,5 @@ + #!/usr/bin/env python + +-from builtins import bytes + from functools import total_ordering + import sys, math + from math import ceil, log +@@ -359,7 +358,7 @@ class DBParser(object): + for cname in cnames: + if len(cname) != 2: + self._warn("country '%s' not alpha2" % cname) +- cname = bytes(cname, 'ascii') ++ cname = cname.encode('ascii') + if not cname in self._countries: + self._countries[cname] = Country(dfs_region, comments=self._comments) + self._current_countries[cname] = self._countries[cname] diff --git a/package/firmware/wireless-regdb/patches/100-regdb-write-firmware-file-format-version-code-20.patch b/package/firmware/wireless-regdb/patches/100-regdb-write-firmware-file-format-version-code-20.patch deleted file mode 100644 index 0c5c63fc5..000000000 --- a/package/firmware/wireless-regdb/patches/100-regdb-write-firmware-file-format-version-code-20.patch +++ /dev/null @@ -1,251 +0,0 @@ -From: Johannes Berg -Date: Mon, 9 Oct 2017 11:50:57 +0200 -Subject: [PATCH] regdb: write firmware file format (version code 20) - -TODO: clean up the Makefile stuff ... - -Signed-off-by: Johannes Berg ---- - create mode 100755 db2fw.py - ---- a/Makefile -+++ b/Makefile -@@ -1,7 +1,5 @@ - # Install prefix - PREFIX ?= /usr --CRDA_PATH ?= $(PREFIX)/lib/crda --CRDA_KEY_PATH ?= $(CRDA_PATH)/pubkeys - - MANDIR ?= $(PREFIX)/share/man/ - -@@ -30,39 +28,47 @@ REGDB_AUTHOR ?= $(shell if [ -f $(DISTRO - fi) - - REGDB_PRIVKEY ?= ~/.wireless-regdb-$(REGDB_AUTHOR).key.priv.pem --REGDB_PUBKEY ?= $(REGDB_AUTHOR).key.pub.pem -- --REGDB_UPSTREAM_PUBKEY ?= sforshee.key.pub.pem -+REGDB_PUBCERT ?= $(REGDB_AUTHOR).x509.pem - - REGDB_CHANGED = $(shell $(SHA1SUM) -c --status sha1sum.txt >/dev/null 2>&1; \ - if [ $$? -ne 0 ]; then \ -- echo maintainer-clean $(REGDB_PUBKEY); \ -+ echo maintainer-clean $(REGDB_PUBCERT); \ - fi) - - .PHONY: all clean mrproper install maintainer-clean install-distro-key - --all: $(REGDB_CHANGED) regulatory.bin sha1sum.txt -+all: $(REGDB_CHANGED) regulatory.db.p7s sha1sum.txt - - clean: - @rm -f *.pyc *.gz - - maintainer-clean: clean -- @rm -f regulatory.bin -+ @rm -f regulatory.db regulatory.db.p7s - - mrproper: clean maintainer-clean -- @echo Removed public key, regulatory.bin and compresed man pages -- @rm -f $(REGDB_PUBKEY) .custom -+ @echo Removed public key, regulatory.db* and compressed man pages -+ @rm -f $(REGDB_PUBCERT) .custom - --regulatory.bin: db.txt $(REGDB_PRIVKEY) $(REGDB_PUBKEY) -- @echo Generating $@ digitally signed by $(REGDB_AUTHOR)... -- ./db2bin.py regulatory.bin db.txt $(REGDB_PRIVKEY) -+regulatory.db: db.txt db2fw.py -+ @echo "Generating $@" -+ ./db2fw.py regulatory.db db.txt -+ -+regulatory.db.p7s: regulatory.db $(REGDB_PRIVKEY) $(REGDB_PUBCERT) -+ @echo "Signing regulatory.db (by $(REGDB_AUTHOR))..." -+ @openssl smime -sign \ -+ -signer $(REGDB_PUBCERT) \ -+ -inkey $(REGDB_PRIVKEY) \ -+ -in $< -nosmimecap -binary \ -+ -outform DER -out $@ - - sha1sum.txt: db.txt - sha1sum $< > $@ - --$(REGDB_PUBKEY): $(REGDB_PRIVKEY) -- @echo "Generating public key for $(REGDB_AUTHOR)..." -- openssl rsa -in $(REGDB_PRIVKEY) -out $(REGDB_PUBKEY) -pubout -outform PEM -+$(REGDB_PUBCERT): $(REGDB_PRIVKEY) -+ @echo "Generating certificate for $(REGDB_AUTHOR)..." -+ @openssl req -config regulatory.openssl.conf \ -+ -key $(REGDB_PRIVKEY) -days 36500 -utf8 -nodes -batch \ -+ -x509 -outform PEM -out $(REGDB_PUBCERT) - @echo $(REGDB_PUBKEY) > .custom - - -@@ -97,16 +103,7 @@ install-distro-key: maintainer-clean $(D - # make maintainer-clean - # make - # sudo make install --install: regulatory.bin.5.gz -- install -m 755 -d $(DESTDIR)/$(CRDA_PATH) -- install -m 755 -d $(DESTDIR)/$(CRDA_KEY_PATH) -- if [ -f .custom ]; then \ -- install -m 644 -t $(DESTDIR)/$(CRDA_KEY_PATH)/ $(shell cat .custom); \ -- fi -- install -m 644 -t $(DESTDIR)/$(CRDA_KEY_PATH)/ $(REGDB_UPSTREAM_PUBKEY) -- install -m 644 -t $(DESTDIR)/$(CRDA_PATH)/ regulatory.bin -+install: regulatory.db.5.gz -+ install -m 644 -t $(DESTDIR)/$(CRDA_PATH)/ regulatory.db - install -m 755 -d $(DESTDIR)/$(MANDIR)/man5/ -- install -m 644 -t $(DESTDIR)/$(MANDIR)/man5/ regulatory.bin.5.gz -- --uninstall: -- rm -rf $(DESTDIR)/$(CRDA_PATH)/ -+ install -m 644 -t $(DESTDIR)/$(MANDIR)/man5/ regulatory.db.5.gz ---- a/README -+++ b/README -@@ -18,8 +18,8 @@ python module is used by the web viewer - implemented as a MoinMoin macro (and used on http://wireless.kernel.org) - to allow viewing the database for verification. - --The dbparse module is also used by db2bin.py, the `compiler', which --compiles and signs the binary database. -+The dbparse module is also used by db2bin.py and db2fw.py, the `compilers' -+that compile the database to its binary formats. - - For more information, please see the CRDA git repository: - ---- /dev/null -+++ b/db2fw.py -@@ -0,0 +1,133 @@ -+#!/usr/bin/env python -+ -+from cStringIO import StringIO -+import struct -+import hashlib -+from dbparse import DBParser -+import sys -+ -+MAGIC = 0x52474442 -+VERSION = 20 -+ -+if len(sys.argv) < 3: -+ print 'Usage: %s output-file input-file' % sys.argv[0] -+ sys.exit(2) -+ -+def create_rules(countries): -+ result = {} -+ for c in countries.itervalues(): -+ for rule in c.permissions: -+ result[rule] = 1 -+ return result.keys() -+ -+def create_collections(countries): -+ result = {} -+ for c in countries.itervalues(): -+ result[(c.permissions, c.dfs_region)] = 1 -+ return result.keys() -+ -+ -+def be32(output, val): -+ output.write(struct.pack('>I', val)) -+def be16(output, val): -+ output.write(struct.pack('>H', val)) -+ -+class PTR(object): -+ def __init__(self, output): -+ self._output = output -+ self._pos = output.tell() -+ be16(output, 0) -+ self._written = False -+ -+ def set(self, val=None): -+ if val is None: -+ val = self._output.tell() -+ assert val & 3 == 0 -+ self._offset = val -+ pos = self._output.tell() -+ self._output.seek(self._pos) -+ be16(self._output, val >> 2) -+ self._output.seek(pos) -+ self._written = True -+ -+ def get(self): -+ return self._offset -+ -+ @property -+ def written(self): -+ return self._written -+ -+p = DBParser() -+countries = p.parse(file(sys.argv[2])) -+rules = create_rules(countries) -+rules.sort(cmp=lambda x, y: cmp(x.freqband, y.freqband)) -+collections = create_collections(countries) -+collections.sort(cmp=lambda x, y: cmp(x[0][0].freqband, y[0][0].freqband)) -+ -+output = StringIO() -+ -+# struct regdb_file_header -+be32(output, MAGIC) -+be32(output, VERSION) -+ -+country_ptrs = {} -+countrynames = countries.keys() -+countrynames.sort() -+for alpha2 in countrynames: -+ coll = countries[alpha2] -+ output.write(struct.pack('>cc', str(alpha2[0]), str(alpha2[1]))) -+ country_ptrs[alpha2] = PTR(output) -+output.write('\x00' * 4) -+ -+reg_rules = {} -+flags = 0 -+for reg_rule in rules: -+ freq_range, power_rule = reg_rule.freqband, reg_rule.power -+ reg_rules[reg_rule] = output.tell() -+ assert power_rule.max_ant_gain == 0 -+ flags = 0 -+ # convert to new rule flags -+ assert reg_rule.flags & ~0x899 == 0 -+ if reg_rule.flags & 1<<0: -+ flags |= 1<<0 -+ if reg_rule.flags & 1<<3: -+ flags |= 1<<1 -+ if reg_rule.flags & 1<<4: -+ flags |= 1<<2 -+ if reg_rule.flags & 1<<7: -+ flags |= 1<<3 -+ if reg_rule.flags & 1<<11: -+ flags |= 1<<4 -+ rule_len = 16 -+ cac_timeout = 0 # TODO -+ if not (flags & 1<<2): -+ cac_timeout = 0 -+ if cac_timeout: -+ rule_len += 2 -+ output.write(struct.pack('>BBHIII', rule_len, flags, power_rule.max_eirp * 100, -+ freq_range.start * 1000, freq_range.end * 1000, freq_range.maxbw * 1000, -+ )) -+ if cac_timeout: -+ output.write(struct.pack('>H', cac_timeout)) -+ while rule_len % 4: -+ output.write('\0') -+ rule_len += 1 -+ -+for coll in collections: -+ for alpha2 in countrynames: -+ if (countries[alpha2].permissions, countries[alpha2].dfs_region) == coll: -+ assert not country_ptrs[alpha2].written -+ country_ptrs[alpha2].set() -+ slen = 3 -+ output.write(struct.pack('>BBBx', slen, len(list(coll[0])), coll[1])) -+ coll = list(coll[0]) -+ for regrule in coll: -+ be16(output, reg_rules[regrule] >> 2) -+ if len(coll) % 2: -+ be16(output, 0) -+ -+for alpha2 in countrynames: -+ assert country_ptrs[alpha2].written -+ -+outfile = open(sys.argv[1], 'w') -+outfile.write(output.getvalue()) diff --git a/package/firmware/wireless-regdb/patches/500-world-regd-5GHz.patch b/package/firmware/wireless-regdb/patches/500-world-regd-5GHz.patch index 9baba808b..ae38f9353 100644 --- a/package/firmware/wireless-regdb/patches/500-world-regd-5GHz.patch +++ b/package/firmware/wireless-regdb/patches/500-world-regd-5GHz.patch @@ -5,7 +5,7 @@ Signed-off-by: Felix Fietkau --- --- a/db.txt +++ b/db.txt -@@ -6,7 +6,7 @@ country 00: +@@ -16,7 +16,7 @@ country 00: # Channel 14. Only JP enables this and for 802.11b only (2474 - 2494 @ 20), (20), NO-IR, NO-OFDM # Channel 36 - 48 diff --git a/package/firmware/wireless-regdb/patches/600-custom-fix-txpower-and-dfs.patch b/package/firmware/wireless-regdb/patches/600-custom-fix-txpower-and-dfs.patch deleted file mode 100644 index b1c912444..000000000 --- a/package/firmware/wireless-regdb/patches/600-custom-fix-txpower-and-dfs.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7eb6313910023f1be6015a8cd9e1b380ae01af64 Mon Sep 17 00:00:00 2001 -From: Chen Minqiang -Date: Sun, 7 Jan 2018 14:38:36 +0800 -Subject: [PATCH] custom fix txpower and dfs - ---- - db.txt | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/db.txt b/db.txt -index 75dc0a3..24989ad 100644 ---- a/db.txt -+++ b/db.txt -@@ -277,9 +277,9 @@ country CL: DFS-JP - (5735 - 5835 @ 80), (20) - - country CN: DFS-FCC -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (23), AUTO-BW -- (5250 - 5330 @ 80), (23), DFS, AUTO-BW -+ (2402 - 2482 @ 40), (30) -+ (5170 - 5250 @ 80), (30), AUTO-BW -+ (5250 - 5330 @ 80), (30), AUTO-BW - (5735 - 5835 @ 80), (30) - # 60 GHz band channels 1,4: 28dBm, channels 2,3: 44dBm - # ref: http://www.miit.gov.cn/n11293472/n11505629/n11506593/n11960250/n11960606/n11960700/n12330791.files/n12330790.pdf -@@ -1238,9 +1238,9 @@ country UG: DFS-FCC - country US: DFS-FCC - (2402 - 2472 @ 40), (30) - # 5.15 ~ 5.25 GHz: 30 dBm for master mode, 23 dBm for clients -- (5170 - 5250 @ 80), (23), AUTO-BW -- (5250 - 5330 @ 80), (23), DFS, AUTO-BW -- (5490 - 5730 @ 160), (23), DFS -+ (5170 - 5250 @ 80), (30), AUTO-BW -+ (5250 - 5330 @ 80), (30), AUTO-BW -+ (5490 - 5730 @ 160), (30) - (5735 - 5835 @ 80), (30) - # 60g band - # reference: http://cfr.regstoday.com/47cfr15.aspx#47_CFR_15p255 --- -2.7.4 - diff --git a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch index b49d73b1f..a3d4ef285 100644 --- a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch @@ -129,6 +129,15 @@ struct ip_auth_hdr { --- a/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h +@@ -104,7 +104,7 @@ struct ipv6_destopt_hao { + __u8 type; + __u8 length; + struct in6_addr addr; +-} __attribute__((packed)); ++} __attribute__((packed, aligned(2))); + + /* + * IPv6 fixed header @@ -131,7 +131,7 @@ struct ipv6hdr { struct in6_addr saddr; @@ -316,7 +325,7 @@ for (p = *head; p; p = p->next) { --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -465,7 +465,7 @@ static struct neighbour *ipv4_neigh_look +@@ -466,7 +466,7 @@ static struct neighbour *ipv4_neigh_look else if (skb) pkey = &ip_hdr(skb)->daddr; diff --git a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch index 17ee82fe7..a3a9dcad9 100644 --- a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch @@ -316,7 +316,7 @@ for (p = *head; p; p = p->next) { --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -465,7 +465,7 @@ static struct neighbour *ipv4_neigh_look +@@ -466,7 +466,7 @@ static struct neighbour *ipv4_neigh_look else if (skb) pkey = &ip_hdr(skb)->daddr; diff --git a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch index 7784801c8..dba7df5f3 100644 --- a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch @@ -316,7 +316,7 @@ list_for_each_entry(p, head, list) { --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -448,7 +448,7 @@ static struct neighbour *ipv4_neigh_look +@@ -449,7 +449,7 @@ static struct neighbour *ipv4_neigh_look else if (skb) pkey = &ip_hdr(skb)->daddr; @@ -327,7 +327,7 @@ return neigh_create(&arp_tbl, pkey, dev); --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c -@@ -444,48 +444,53 @@ static void tcp_options_write(__be32 *pt +@@ -447,48 +447,53 @@ static void tcp_options_write(__be32 *pt u16 options = opts->options; /* mungable copy */ if (unlikely(OPTION_MD5 & options)) { @@ -404,7 +404,7 @@ } if (unlikely(opts->num_sack_blocks)) { -@@ -493,16 +498,17 @@ static void tcp_options_write(__be32 *pt +@@ -496,16 +501,17 @@ static void tcp_options_write(__be32 *pt tp->duplicate_sack : tp->selective_acks; int this_sack; @@ -428,7 +428,7 @@ } tp->rx_opt.dsack = 0; -@@ -515,13 +521,14 @@ static void tcp_options_write(__be32 *pt +@@ -518,13 +524,14 @@ static void tcp_options_write(__be32 *pt if (foc->exp) { len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len; diff --git a/target/linux/brcm2708/bcm2708/config-4.19 b/target/linux/brcm2708/bcm2708/config-4.19 index f657944a7..b09afa21e 100644 --- a/target/linux/brcm2708/bcm2708/config-4.19 +++ b/target/linux/brcm2708/bcm2708/config-4.19 @@ -74,6 +74,7 @@ CONFIG_BUILD_BIN2C=y # CONFIG_CACHE_L2X0 is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_MMIO=y +# CONFIG_CLK_RASPBERRYPI is not set CONFIG_CLONE_BACKWARDS=y CONFIG_CMA=y CONFIG_CMA_ALIGNMENT=8 diff --git a/target/linux/brcm2708/bcm2709/config-4.19 b/target/linux/brcm2708/bcm2709/config-4.19 index 06357d97f..c51fa3b83 100644 --- a/target/linux/brcm2708/bcm2709/config-4.19 +++ b/target/linux/brcm2708/bcm2709/config-4.19 @@ -39,7 +39,7 @@ CONFIG_ARM=y CONFIG_ARM_AMBA=y CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y -CONFIG_ARM_BCM2835_CPUFREQ=y +# CONFIG_ARM_BCM2835_CPUFREQ is not set CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARM_GIC=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -48,6 +48,7 @@ CONFIG_ARM_L1_CACHE_SHIFT_6=y CONFIG_ARM_LPAE=y CONFIG_ARM_PATCH_IDIV=y CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_ARM_RASPBERRYPI_CPUFREQ=y # CONFIG_ARM_SCMI_PROTOCOL is not set # CONFIG_ARM_SP805_WATCHDOG is not set CONFIG_ARM_THUMB=y @@ -91,6 +92,7 @@ CONFIG_BUILD_BIN2C=y # CONFIG_CACHE_L2X0 is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_MMIO=y +CONFIG_CLK_RASPBERRYPI=y CONFIG_CLONE_BACKWARDS=y CONFIG_CMA=y CONFIG_CMA_ALIGNMENT=8 @@ -105,7 +107,8 @@ CONFIG_CMA_SIZE_SEL_MBYTES=y CONFIG_COMMON_CLK=y CONFIG_CONFIGFS_FS=y CONFIG_CONSOLE_TRANSLATIONS=y -# CONFIG_CPUFREQ_DT is not set +CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT_PLATDEV=y CONFIG_CPU_32v6K=y CONFIG_CPU_32v7=y CONFIG_CPU_ABRT_EV7=y @@ -390,7 +393,6 @@ CONFIG_PCI_DOMAINS=y CONFIG_PCI_DOMAINS_GENERIC=y CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y -# CONFIG_PCI_V3_SEMI is not set CONFIG_PERF_USE_VMALLOC=y CONFIG_PGTABLE_LEVELS=3 CONFIG_PHYLIB=y @@ -403,6 +405,7 @@ CONFIG_PM_CLK=y CONFIG_PM_GENERIC_DOMAINS=y CONFIG_PM_GENERIC_DOMAINS_OF=y CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_OPP=y CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y CONFIG_POWER_SUPPLY=y diff --git a/target/linux/brcm2708/bcm2710/config-4.19 b/target/linux/brcm2708/bcm2710/config-4.19 index 6a33308f3..22698986a 100644 --- a/target/linux/brcm2708/bcm2710/config-4.19 +++ b/target/linux/brcm2708/bcm2710/config-4.19 @@ -102,13 +102,14 @@ CONFIG_ARM_AMBA=y CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y -CONFIG_ARM_BCM2835_CPUFREQ=y +# CONFIG_ARM_BCM2835_CPUFREQ is not set CONFIG_ARM_GIC=y CONFIG_ARM_GIC_V2M=y CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC_V3_ITS=y CONFIG_ARM_GIC_V3_ITS_PCI=y CONFIG_ARM_PSCI_FW=y +CONFIG_ARM_RASPBERRYPI_CPUFREQ=y # CONFIG_ARM_SCMI_PROTOCOL is not set # CONFIG_ARM_SP805_WATCHDOG is not set CONFIG_ARM_TIMER_SP804=y @@ -144,6 +145,7 @@ CONFIG_CAVIUM_ERRATUM_23154=y CONFIG_CAVIUM_ERRATUM_27456=y CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_MMIO=y +CONFIG_CLK_RASPBERRYPI=y CONFIG_CLONE_BACKWARDS=y CONFIG_CMA=y CONFIG_CMA_ALIGNMENT=8 @@ -159,7 +161,8 @@ CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_XGENE=y CONFIG_CONFIGFS_FS=y CONFIG_CONSOLE_TRANSLATIONS=y -# CONFIG_CPUFREQ_DT is not set +CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT_PLATDEV=y # CONFIG_CPU_BIG_ENDIAN is not set CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y @@ -249,6 +252,7 @@ CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_CPU_VULNERABILITIES=y CONFIG_GENERIC_CSUM=y CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_GENERIC_IDLE_POLL_SETUP=y @@ -453,6 +457,7 @@ CONFIG_PM_CLK=y CONFIG_PM_GENERIC_DOMAINS=y CONFIG_PM_GENERIC_DOMAINS_OF=y CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_OPP=y CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y CONFIG_POWER_RESET=y diff --git a/target/linux/brcm2708/bcm2711/config-4.19 b/target/linux/brcm2708/bcm2711/config-4.19 index 3c7d005fb..9d4671de8 100644 --- a/target/linux/brcm2708/bcm2711/config-4.19 +++ b/target/linux/brcm2708/bcm2711/config-4.19 @@ -102,13 +102,14 @@ CONFIG_ARM_AMBA=y CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y -CONFIG_ARM_BCM2835_CPUFREQ=y +# CONFIG_ARM_BCM2835_CPUFREQ is not set CONFIG_ARM_GIC=y CONFIG_ARM_GIC_V2M=y CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC_V3_ITS=y CONFIG_ARM_GIC_V3_ITS_PCI=y CONFIG_ARM_PSCI_FW=y +CONFIG_ARM_RASPBERRYPI_CPUFREQ=y # CONFIG_ARM_SCMI_PROTOCOL is not set # CONFIG_ARM_SP805_WATCHDOG is not set CONFIG_ARM_TIMER_SP804=y @@ -148,6 +149,7 @@ CONFIG_CAVIUM_ERRATUM_23154=y CONFIG_CAVIUM_ERRATUM_27456=y CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_MMIO=y +CONFIG_CLK_RASPBERRYPI=y CONFIG_CLONE_BACKWARDS=y CONFIG_CMA=y CONFIG_CMA_ALIGNMENT=8 @@ -163,7 +165,8 @@ CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_XGENE=y CONFIG_CONFIGFS_FS=y CONFIG_CONSOLE_TRANSLATIONS=y -# CONFIG_CPUFREQ_DT is not set +CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT_PLATDEV=y # CONFIG_CPU_BIG_ENDIAN is not set CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y @@ -253,6 +256,7 @@ CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_CPU_VULNERABILITIES=y CONFIG_GENERIC_CSUM=y CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_GENERIC_IDLE_POLL_SETUP=y @@ -461,6 +465,7 @@ CONFIG_PM_CLK=y CONFIG_PM_GENERIC_DOMAINS=y CONFIG_PM_GENERIC_DOMAINS_OF=y CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_OPP=y CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y CONFIG_POWER_RESET=y diff --git a/target/linux/brcm2708/image/Makefile b/target/linux/brcm2708/image/Makefile index e5b8c8aa0..421a89263 100644 --- a/target/linux/brcm2708/image/Makefile +++ b/target/linux/brcm2708/image/Makefile @@ -16,11 +16,6 @@ define Build/Compile endef ### Image scripts ### -define Build/kernel-img - perl $(LINUX_DIR)/scripts/mkknlimg $@ $@.tmp - mv $@.tmp $@ -endef - define Build/boot-common rm -f $@.boot mkfs.fat -C $@.boot $(FAT32_BLOCKS) @@ -63,7 +58,7 @@ endef ### Devices ### define Device/Default DEVICE_VENDOR := Raspberry Pi - KERNEL := kernel-bin | kernel-img + KERNEL := kernel-bin KERNEL_IMG := kernel.img IMAGES := factory.img.gz sysupgrade.img.gz IMAGE/sysupgrade.img.gz := boot-common | boot-2708 | sdcard-img | gzip | append-metadata diff --git a/target/linux/brcm2708/patches-4.19/950-0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch b/target/linux/brcm2708/patches-4.19/950-0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch index acaec7093..38ef7b310 100644 --- a/target/linux/brcm2708/patches-4.19/950-0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch +++ b/target/linux/brcm2708/patches-4.19/950-0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch @@ -1,7 +1,7 @@ From 2096cda971fed28cbc822d8c7d489bf85af22f34 Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 001/806] arm: partially revert +Subject: [PATCH] arm: partially revert 702b94bff3c50542a6e4ab9a4f4cef093262fe65 * Re-expose some dmi APIs for use in VCSM diff --git a/target/linux/brcm2708/patches-4.19/950-0002-smsx95xx-fix-crimes-against-truesize.patch b/target/linux/brcm2708/patches-4.19/950-0002-smsx95xx-fix-crimes-against-truesize.patch index b06fe3d0d..248601cb7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0002-smsx95xx-fix-crimes-against-truesize.patch +++ b/target/linux/brcm2708/patches-4.19/950-0002-smsx95xx-fix-crimes-against-truesize.patch @@ -1,7 +1,7 @@ From 26bb49317b44d0927ed7b4be1d72aa11853a01f7 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 002/806] smsx95xx: fix crimes against truesize +Subject: [PATCH] smsx95xx: fix crimes against truesize smsc95xx is adjusting truesize when it shouldn't, and following a recent patch from Eric this is now triggering warnings. diff --git a/target/linux/brcm2708/patches-4.19/950-0003-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch b/target/linux/brcm2708/patches-4.19/950-0003-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch index 862d898cb..7b165cb90 100644 --- a/target/linux/brcm2708/patches-4.19/950-0003-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0003-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch @@ -1,7 +1,7 @@ From ac6edc14a931f10413d4586c2d0d1f2ddc1a416a Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 003/806] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 diff --git a/target/linux/brcm2708/patches-4.19/950-0004-Allow-mac-address-to-be-set-in-smsc95xx.patch b/target/linux/brcm2708/patches-4.19/950-0004-Allow-mac-address-to-be-set-in-smsc95xx.patch index 7c8a10946..4ada23716 100644 --- a/target/linux/brcm2708/patches-4.19/950-0004-Allow-mac-address-to-be-set-in-smsc95xx.patch +++ b/target/linux/brcm2708/patches-4.19/950-0004-Allow-mac-address-to-be-set-in-smsc95xx.patch @@ -1,7 +1,7 @@ From fa1451d655f59916aec1c1e4fb17f19a78005066 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 004/806] Allow mac address to be set in smsc95xx +Subject: [PATCH] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- diff --git a/target/linux/brcm2708/patches-4.19/950-0005-Protect-__release_resource-against-resources-without.patch b/target/linux/brcm2708/patches-4.19/950-0005-Protect-__release_resource-against-resources-without.patch index 38fc5d8a4..96ab329c9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0005-Protect-__release_resource-against-resources-without.patch +++ b/target/linux/brcm2708/patches-4.19/950-0005-Protect-__release_resource-against-resources-without.patch @@ -1,7 +1,7 @@ From 6209e42d384cfe873123b411a9bd170de027d4b5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 005/806] Protect __release_resource against resources without +Subject: [PATCH] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. diff --git a/target/linux/brcm2708/patches-4.19/950-0006-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch b/target/linux/brcm2708/patches-4.19/950-0006-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch index 8dd46f250..1331c1337 100644 --- a/target/linux/brcm2708/patches-4.19/950-0006-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch +++ b/target/linux/brcm2708/patches-4.19/950-0006-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch @@ -1,7 +1,7 @@ From 5e9082be2fca137fe13b8af15aa0b9d178cd99c1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 006/806] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the diff --git a/target/linux/brcm2708/patches-4.19/950-0007-irq-bcm2836-Avoid-Invalid-trigger-warning.patch b/target/linux/brcm2708/patches-4.19/950-0007-irq-bcm2836-Avoid-Invalid-trigger-warning.patch index bf78731b1..8d1feee2b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0007-irq-bcm2836-Avoid-Invalid-trigger-warning.patch +++ b/target/linux/brcm2708/patches-4.19/950-0007-irq-bcm2836-Avoid-Invalid-trigger-warning.patch @@ -1,7 +1,7 @@ From b8a56e2dbae7dbcc0537b03f8a99eb5ba638876b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 007/806] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. diff --git a/target/linux/brcm2708/patches-4.19/950-0008-irqchip-bcm2835-Add-FIQ-support.patch b/target/linux/brcm2708/patches-4.19/950-0008-irqchip-bcm2835-Add-FIQ-support.patch index f1cc3c86c..ea2b54075 100644 --- a/target/linux/brcm2708/patches-4.19/950-0008-irqchip-bcm2835-Add-FIQ-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0008-irqchip-bcm2835-Add-FIQ-support.patch @@ -1,7 +1,7 @@ From 9334b65d3020bca44aa2695b84eda865ecc340e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 008/806] irqchip: bcm2835: Add FIQ support +Subject: [PATCH] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0009-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch b/target/linux/brcm2708/patches-4.19/950-0009-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch index f701116af..56dd9429f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0009-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0009-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch @@ -1,7 +1,7 @@ From a2416a2926904e3a07bdb10b9cf3c7871e87583c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 009/806] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0011-spi-bcm2835-Support-pin-groups-other-than-7-11.patch b/target/linux/brcm2708/patches-4.19/950-0010-spi-bcm2835-Support-pin-groups-other-than-7-11.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0011-spi-bcm2835-Support-pin-groups-other-than-7-11.patch rename to target/linux/brcm2708/patches-4.19/950-0010-spi-bcm2835-Support-pin-groups-other-than-7-11.patch index db658bcf2..051799988 100644 --- a/target/linux/brcm2708/patches-4.19/950-0011-spi-bcm2835-Support-pin-groups-other-than-7-11.patch +++ b/target/linux/brcm2708/patches-4.19/950-0010-spi-bcm2835-Support-pin-groups-other-than-7-11.patch @@ -1,7 +1,7 @@ From 61ca6adb1fc93622bb85acc18b6ce4f620c8c690 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 011/806] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH] spi-bcm2835: Support pin groups other than 7-11 The spi-bcm2835 driver automatically uses GPIO chip-selects due to some unreliability of the native ones. In doing so it chooses the diff --git a/target/linux/brcm2708/patches-4.19/950-0010-spidev-Add-spidev-compatible-string-to-silence-warni.patch b/target/linux/brcm2708/patches-4.19/950-0010-spidev-Add-spidev-compatible-string-to-silence-warni.patch deleted file mode 100644 index 4575bdfc4..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0010-spidev-Add-spidev-compatible-string-to-silence-warni.patch +++ /dev/null @@ -1,21 +0,0 @@ -From e21d0b86f4a9c2c1f61e183e5dfcc1cf37058ca1 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 010/806] spidev: Add "spidev" compatible string to silence - warning - -See: https://github.com/raspberrypi/linux/issues/1054 ---- - drivers/spi/spidev.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/spi/spidev.c -+++ b/drivers/spi/spidev.c -@@ -670,6 +670,7 @@ static const struct of_device_id spidev_ - { .compatible = "ge,achc" }, - { .compatible = "semtech,sx1301" }, - { .compatible = "siliconlabs,si3210" }, -+ { .compatible = "spidev" }, - {}, - }; - MODULE_DEVICE_TABLE(of, spidev_dt_ids); diff --git a/target/linux/brcm2708/patches-4.19/950-0012-spi-bcm2835-Disable-forced-software-CS.patch b/target/linux/brcm2708/patches-4.19/950-0011-spi-bcm2835-Disable-forced-software-CS.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0012-spi-bcm2835-Disable-forced-software-CS.patch rename to target/linux/brcm2708/patches-4.19/950-0011-spi-bcm2835-Disable-forced-software-CS.patch index 1df35981f..30a65ff35 100644 --- a/target/linux/brcm2708/patches-4.19/950-0012-spi-bcm2835-Disable-forced-software-CS.patch +++ b/target/linux/brcm2708/patches-4.19/950-0011-spi-bcm2835-Disable-forced-software-CS.patch @@ -1,7 +1,7 @@ From 2610aceda837370048f86b4af27852463c3b5a47 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 012/806] spi-bcm2835: Disable forced software CS +Subject: [PATCH] spi-bcm2835: Disable forced software CS Select software CS in bcm2708_common.dtsi, and disable the automatic conversion in the driver to allow hardware CS to be re-enabled with an diff --git a/target/linux/brcm2708/patches-4.19/950-0013-spi-bcm2835-Remove-unused-code.patch b/target/linux/brcm2708/patches-4.19/950-0012-spi-bcm2835-Remove-unused-code.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0013-spi-bcm2835-Remove-unused-code.patch rename to target/linux/brcm2708/patches-4.19/950-0012-spi-bcm2835-Remove-unused-code.patch index db4bb4952..41d6c8d36 100644 --- a/target/linux/brcm2708/patches-4.19/950-0013-spi-bcm2835-Remove-unused-code.patch +++ b/target/linux/brcm2708/patches-4.19/950-0012-spi-bcm2835-Remove-unused-code.patch @@ -1,7 +1,7 @@ From 80dc41f5617db0dbe3e17a399603a50b91997c5b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 013/806] spi-bcm2835: Remove unused code +Subject: [PATCH] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 --------------------------------------- diff --git a/target/linux/brcm2708/patches-4.19/950-0014-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch b/target/linux/brcm2708/patches-4.19/950-0013-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0014-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch rename to target/linux/brcm2708/patches-4.19/950-0013-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch index b43e7a045..05bc4a0f4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0014-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch +++ b/target/linux/brcm2708/patches-4.19/950-0013-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch @@ -1,7 +1,7 @@ From 10d11b6b5410b9d31845efd23147fd08477a5151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 014/806] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/target/linux/brcm2708/patches-4.19/950-0015-firmware-Updated-mailbox-header.patch b/target/linux/brcm2708/patches-4.19/950-0014-firmware-Updated-mailbox-header.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0015-firmware-Updated-mailbox-header.patch rename to target/linux/brcm2708/patches-4.19/950-0014-firmware-Updated-mailbox-header.patch index d6921a6e8..1eca3a926 100644 --- a/target/linux/brcm2708/patches-4.19/950-0015-firmware-Updated-mailbox-header.patch +++ b/target/linux/brcm2708/patches-4.19/950-0014-firmware-Updated-mailbox-header.patch @@ -1,7 +1,7 @@ From e00fde59167c31cf376c74b333b58f011b244dfa Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 015/806] firmware: Updated mailbox header +Subject: [PATCH] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 5 +++++ diff --git a/target/linux/brcm2708/patches-4.19/950-0016-rtc-Add-SPI-alias-for-pcf2123-driver.patch b/target/linux/brcm2708/patches-4.19/950-0015-rtc-Add-SPI-alias-for-pcf2123-driver.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0016-rtc-Add-SPI-alias-for-pcf2123-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0015-rtc-Add-SPI-alias-for-pcf2123-driver.patch index 29119dd67..a08cd1345 100644 --- a/target/linux/brcm2708/patches-4.19/950-0016-rtc-Add-SPI-alias-for-pcf2123-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0015-rtc-Add-SPI-alias-for-pcf2123-driver.patch @@ -1,7 +1,7 @@ From 3c8282fa8f1a50bf5ff5b83e83d97b37433bbdd9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 016/806] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. diff --git a/target/linux/brcm2708/patches-4.19/950-0017-watchdog-bcm2835-Support-setting-reboot-partition.patch b/target/linux/brcm2708/patches-4.19/950-0016-watchdog-bcm2835-Support-setting-reboot-partition.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0017-watchdog-bcm2835-Support-setting-reboot-partition.patch rename to target/linux/brcm2708/patches-4.19/950-0016-watchdog-bcm2835-Support-setting-reboot-partition.patch index 6db688188..ce3bf6191 100644 --- a/target/linux/brcm2708/patches-4.19/950-0017-watchdog-bcm2835-Support-setting-reboot-partition.patch +++ b/target/linux/brcm2708/patches-4.19/950-0016-watchdog-bcm2835-Support-setting-reboot-partition.patch @@ -1,7 +1,7 @@ From 8018869c6c8590018c1cd272475eda0dbf72a7ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 017/806] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0018-reboot-Use-power-off-rather-than-busy-spinning-when-.patch b/target/linux/brcm2708/patches-4.19/950-0017-reboot-Use-power-off-rather-than-busy-spinning-when-.patch similarity index 86% rename from target/linux/brcm2708/patches-4.19/950-0018-reboot-Use-power-off-rather-than-busy-spinning-when-.patch rename to target/linux/brcm2708/patches-4.19/950-0017-reboot-Use-power-off-rather-than-busy-spinning-when-.patch index 62a8b13f1..dc83b7f8e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0018-reboot-Use-power-off-rather-than-busy-spinning-when-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0017-reboot-Use-power-off-rather-than-busy-spinning-when-.patch @@ -1,7 +1,7 @@ From c296f60b7a5b3c4f82aa0768030ebf64ab64792b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 018/806] reboot: Use power off rather than busy spinning when +Subject: [PATCH] reboot: Use power off rather than busy spinning when halt is requested --- diff --git a/target/linux/brcm2708/patches-4.19/950-0019-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch b/target/linux/brcm2708/patches-4.19/950-0018-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0019-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch rename to target/linux/brcm2708/patches-4.19/950-0018-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch index e33e4ee51..e1f695015 100644 --- a/target/linux/brcm2708/patches-4.19/950-0019-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch +++ b/target/linux/brcm2708/patches-4.19/950-0018-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch @@ -1,7 +1,7 @@ From f54671cb165da1c13d33777cd59329a464f9863b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 019/806] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + diff --git a/target/linux/brcm2708/patches-4.19/950-0020-Register-the-clocks-early-during-the-boot-process-so.patch b/target/linux/brcm2708/patches-4.19/950-0019-Register-the-clocks-early-during-the-boot-process-so.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0020-Register-the-clocks-early-during-the-boot-process-so.patch rename to target/linux/brcm2708/patches-4.19/950-0019-Register-the-clocks-early-during-the-boot-process-so.patch index f77e14fc0..6665d4d11 100644 --- a/target/linux/brcm2708/patches-4.19/950-0020-Register-the-clocks-early-during-the-boot-process-so.patch +++ b/target/linux/brcm2708/patches-4.19/950-0019-Register-the-clocks-early-during-the-boot-process-so.patch @@ -1,7 +1,7 @@ From 05caac5f388bf0b821d4a75e480a74ae40fc8478 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 020/806] Register the clocks early during the boot process, so +Subject: [PATCH] Register the clocks early during the boot process, so that special/critical clocks can get enabled early on in the boot process avoiding the risk of disabling a clock, pll_divider or pll when a claiming driver fails to install propperly - maybe it needs to defer. diff --git a/target/linux/brcm2708/patches-4.19/950-0021-bcm2835-rng-Avoid-initialising-if-already-enabled.patch b/target/linux/brcm2708/patches-4.19/950-0020-bcm2835-rng-Avoid-initialising-if-already-enabled.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0021-bcm2835-rng-Avoid-initialising-if-already-enabled.patch rename to target/linux/brcm2708/patches-4.19/950-0020-bcm2835-rng-Avoid-initialising-if-already-enabled.patch index 4b33ad22b..30ab0504a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0021-bcm2835-rng-Avoid-initialising-if-already-enabled.patch +++ b/target/linux/brcm2708/patches-4.19/950-0020-bcm2835-rng-Avoid-initialising-if-already-enabled.patch @@ -1,7 +1,7 @@ From d5df60f32f3c3b2f7f6d758ac08de6acb9fd947f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 021/806] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- diff --git a/target/linux/brcm2708/patches-4.19/950-0022-kbuild-Ignore-dtco-targets-when-filtering-symbols.patch b/target/linux/brcm2708/patches-4.19/950-0021-kbuild-Ignore-dtco-targets-when-filtering-symbols.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0022-kbuild-Ignore-dtco-targets-when-filtering-symbols.patch rename to target/linux/brcm2708/patches-4.19/950-0021-kbuild-Ignore-dtco-targets-when-filtering-symbols.patch index c968717e3..6d5d7d4d8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0022-kbuild-Ignore-dtco-targets-when-filtering-symbols.patch +++ b/target/linux/brcm2708/patches-4.19/950-0021-kbuild-Ignore-dtco-targets-when-filtering-symbols.patch @@ -1,7 +1,7 @@ From 3437db6e19e29ff9b6d2eef9a5ee703f04ca1d41 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 022/806] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- diff --git a/target/linux/brcm2708/patches-4.19/950-0023-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch b/target/linux/brcm2708/patches-4.19/950-0022-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0023-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch rename to target/linux/brcm2708/patches-4.19/950-0022-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch index 83451a995..e4a1d7f66 100644 --- a/target/linux/brcm2708/patches-4.19/950-0023-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch +++ b/target/linux/brcm2708/patches-4.19/950-0022-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch @@ -1,7 +1,7 @@ From f1f199b682e258674137105f49d033cb81612ab7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 023/806] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH] clk-bcm2835: Mark used PLLs and dividers CRITICAL The VPU configures and relies on several PLLs and dividers. Mark all enabled dividers and their PLLs as CRITICAL to prevent the kernel from diff --git a/target/linux/brcm2708/patches-4.19/950-0024-clk-bcm2835-Add-claim-clocks-property.patch b/target/linux/brcm2708/patches-4.19/950-0023-clk-bcm2835-Add-claim-clocks-property.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0024-clk-bcm2835-Add-claim-clocks-property.patch rename to target/linux/brcm2708/patches-4.19/950-0023-clk-bcm2835-Add-claim-clocks-property.patch index 9b58d0046..63f1f9f74 100644 --- a/target/linux/brcm2708/patches-4.19/950-0024-clk-bcm2835-Add-claim-clocks-property.patch +++ b/target/linux/brcm2708/patches-4.19/950-0023-clk-bcm2835-Add-claim-clocks-property.patch @@ -1,7 +1,7 @@ From 787234827719aa1d44b079969419d91b665a491d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 024/806] clk-bcm2835: Add claim-clocks property +Subject: [PATCH] clk-bcm2835: Add claim-clocks property The claim-clocks property can be used to prevent PLLs and dividers from being marked as critical. It contains a vector of clock IDs, diff --git a/target/linux/brcm2708/patches-4.19/950-0025-clk-bcm2835-Read-max-core-clock-from-firmware.patch b/target/linux/brcm2708/patches-4.19/950-0024-clk-bcm2835-Read-max-core-clock-from-firmware.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0025-clk-bcm2835-Read-max-core-clock-from-firmware.patch rename to target/linux/brcm2708/patches-4.19/950-0024-clk-bcm2835-Read-max-core-clock-from-firmware.patch index 5a38d8c6c..2838360a0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0025-clk-bcm2835-Read-max-core-clock-from-firmware.patch +++ b/target/linux/brcm2708/patches-4.19/950-0024-clk-bcm2835-Read-max-core-clock-from-firmware.patch @@ -1,7 +1,7 @@ From f8e7e4a65b3f99452db67cfb7e21afc80b8af7f2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 025/806] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH] clk-bcm2835: Read max core clock from firmware The VPU is responsible for managing the core clock, usually under direction from the bcm2835-cpufreq driver but not via the clk-bcm2835 diff --git a/target/linux/brcm2708/patches-4.19/950-0026-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch b/target/linux/brcm2708/patches-4.19/950-0025-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0026-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch rename to target/linux/brcm2708/patches-4.19/950-0025-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch index 327546edd..2df0d37b8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0026-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch +++ b/target/linux/brcm2708/patches-4.19/950-0025-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch @@ -1,7 +1,7 @@ From 6272fd1e55945522b156a28c1f605b69ae6e05b7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 026/806] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi diff --git a/target/linux/brcm2708/patches-4.19/950-0027-sound-Demote-deferral-errors-to-INFO-level.patch b/target/linux/brcm2708/patches-4.19/950-0026-sound-Demote-deferral-errors-to-INFO-level.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0027-sound-Demote-deferral-errors-to-INFO-level.patch rename to target/linux/brcm2708/patches-4.19/950-0026-sound-Demote-deferral-errors-to-INFO-level.patch index 3a78d7196..fcb401c09 100644 --- a/target/linux/brcm2708/patches-4.19/950-0027-sound-Demote-deferral-errors-to-INFO-level.patch +++ b/target/linux/brcm2708/patches-4.19/950-0026-sound-Demote-deferral-errors-to-INFO-level.patch @@ -1,7 +1,7 @@ From fd613a5d5dc7f023d7d983aee9d854fd3a41d669 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 027/806] sound: Demote deferral errors to INFO level +Subject: [PATCH] sound: Demote deferral errors to INFO level At present there is no mechanism to specify driver load order, which can lead to deferrals and repeated retries until successful. diff --git a/target/linux/brcm2708/patches-4.19/950-0028-Update-vfpmodule.c.patch b/target/linux/brcm2708/patches-4.19/950-0027-Update-vfpmodule.c.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0028-Update-vfpmodule.c.patch rename to target/linux/brcm2708/patches-4.19/950-0027-Update-vfpmodule.c.patch index f589cf4b1..7fd602471 100644 --- a/target/linux/brcm2708/patches-4.19/950-0028-Update-vfpmodule.c.patch +++ b/target/linux/brcm2708/patches-4.19/950-0027-Update-vfpmodule.c.patch @@ -1,7 +1,7 @@ From 0eb679e4b41dab1e421415917feae44d00e1687f Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 028/806] Update vfpmodule.c +Subject: [PATCH] Update vfpmodule.c Christopher Alexander Tobias Schulze - May 2, 2015, 11:57 a.m. This patch fixes a problem with VFP state save and restore related diff --git a/target/linux/brcm2708/patches-4.19/950-0029-i2c-bcm2835-Add-debug-support.patch b/target/linux/brcm2708/patches-4.19/950-0028-i2c-bcm2835-Add-debug-support.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0029-i2c-bcm2835-Add-debug-support.patch rename to target/linux/brcm2708/patches-4.19/950-0028-i2c-bcm2835-Add-debug-support.patch index 4f7e2238d..d6372ec7c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0029-i2c-bcm2835-Add-debug-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0028-i2c-bcm2835-Add-debug-support.patch @@ -1,7 +1,7 @@ From b6494e2070983020d56f82d9d0be74d11b001823 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 1 Nov 2016 15:15:41 +0100 -Subject: [PATCH 029/806] i2c: bcm2835: Add debug support +Subject: [PATCH] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch b/target/linux/brcm2708/patches-4.19/950-0029-mm-Remove-the-PFN-busy-warning.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch rename to target/linux/brcm2708/patches-4.19/950-0029-mm-Remove-the-PFN-busy-warning.patch index f08379057..76a53fea0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch +++ b/target/linux/brcm2708/patches-4.19/950-0029-mm-Remove-the-PFN-busy-warning.patch @@ -1,7 +1,7 @@ From a8a5ad555b7168ce90263395dc5f26b99af9bf4e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 030/806] mm: Remove the PFN busy warning +Subject: [PATCH] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams diff --git a/target/linux/brcm2708/patches-4.19/950-0031-ASoC-Add-prompt-for-ICS43432-codec.patch b/target/linux/brcm2708/patches-4.19/950-0030-ASoC-Add-prompt-for-ICS43432-codec.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0031-ASoC-Add-prompt-for-ICS43432-codec.patch rename to target/linux/brcm2708/patches-4.19/950-0030-ASoC-Add-prompt-for-ICS43432-codec.patch index 88148a68a..9007aba3f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0031-ASoC-Add-prompt-for-ICS43432-codec.patch +++ b/target/linux/brcm2708/patches-4.19/950-0030-ASoC-Add-prompt-for-ICS43432-codec.patch @@ -1,7 +1,7 @@ From e4cd2b482eadc7f7901ba6c0df3080f792c4d655 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 031/806] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH] ASoC: Add prompt for ICS43432 codec Without a prompt string, a config setting can't be included in a defconfig. Give CONFIG_SND_SOC_ICS43432 a prompt so that Pi soundcards diff --git a/target/linux/brcm2708/patches-4.19/950-0032-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch b/target/linux/brcm2708/patches-4.19/950-0031-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0032-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch rename to target/linux/brcm2708/patches-4.19/950-0031-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch index 010eff83a..0881053ab 100644 --- a/target/linux/brcm2708/patches-4.19/950-0032-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch +++ b/target/linux/brcm2708/patches-4.19/950-0031-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch @@ -1,7 +1,7 @@ From f1905bc5137db49ef155f835d52d68cb86c4c9a9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Jan 2018 16:52:45 +0000 -Subject: [PATCH 032/806] irqchip: irq-bcm2836: Remove regmap and syscon use +Subject: [PATCH] irqchip: irq-bcm2836: Remove regmap and syscon use The syscon node defines a register range that duplicates that used by the local_intc node on bcm2836/7. Since irq-bcm2835 and irq-bcm2836 are diff --git a/target/linux/brcm2708/patches-4.19/950-0033-lan78xx-Enable-LEDs-and-auto-negotiation.patch b/target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch similarity index 84% rename from target/linux/brcm2708/patches-4.19/950-0033-lan78xx-Enable-LEDs-and-auto-negotiation.patch rename to target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch index 48939f848..e635ca6d3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0033-lan78xx-Enable-LEDs-and-auto-negotiation.patch +++ b/target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch @@ -1,7 +1,7 @@ From 645eb2cf211c04496c9f5daca23ab16ce796b0df Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 15:04:29 +0100 -Subject: [PATCH 033/806] lan78xx: Enable LEDs and auto-negotiation +Subject: [PATCH] lan78xx: Enable LEDs and auto-negotiation For applications of the LAN78xx that don't have valid programmed EEPROMs or OTPs, enabling both LEDs and auto-negotiation by default @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2475,6 +2475,11 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2476,6 +2476,11 @@ static int lan78xx_reset(struct lan78xx_ int ret = 0; unsigned long timeout; u8 sig; @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell ret = lan78xx_read_reg(dev, HW_CFG, &buf); buf |= HW_CFG_LRST_; -@@ -2528,6 +2533,9 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2529,6 +2534,9 @@ static int lan78xx_reset(struct lan78xx_ ret = lan78xx_read_reg(dev, HW_CFG, &buf); buf |= HW_CFG_MEF_; @@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell ret = lan78xx_write_reg(dev, HW_CFG, buf); ret = lan78xx_read_reg(dev, USB_CFG0, &buf); -@@ -2583,6 +2591,9 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2584,6 +2592,9 @@ static int lan78xx_reset(struct lan78xx_ buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_; } } diff --git a/target/linux/brcm2708/patches-4.19/950-0034-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch b/target/linux/brcm2708/patches-4.19/950-0033-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0034-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch rename to target/linux/brcm2708/patches-4.19/950-0033-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch index 61ab7095f..1d6fdacfa 100644 --- a/target/linux/brcm2708/patches-4.19/950-0034-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch +++ b/target/linux/brcm2708/patches-4.19/950-0033-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch @@ -1,7 +1,7 @@ From c048d8c7b1ae0d56d9ee1bca2be8cc9da5a43bba Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 034/806] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause diff --git a/target/linux/brcm2708/patches-4.19/950-0035-amba_pl011-Round-input-clock-up.patch b/target/linux/brcm2708/patches-4.19/950-0034-amba_pl011-Round-input-clock-up.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0035-amba_pl011-Round-input-clock-up.patch rename to target/linux/brcm2708/patches-4.19/950-0034-amba_pl011-Round-input-clock-up.patch index d5e9f3174..876835103 100644 --- a/target/linux/brcm2708/patches-4.19/950-0035-amba_pl011-Round-input-clock-up.patch +++ b/target/linux/brcm2708/patches-4.19/950-0034-amba_pl011-Round-input-clock-up.patch @@ -1,7 +1,7 @@ From 610cb34f3d7c5fdffb0db82538731714a2df1d13 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 035/806] amba_pl011: Round input clock up +Subject: [PATCH] amba_pl011: Round input clock up The UART clock is initialised to be as close to the requested frequency as possible without exceeding it. Now that there is a diff --git a/target/linux/brcm2708/patches-4.19/950-0036-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch b/target/linux/brcm2708/patches-4.19/950-0035-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0036-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch rename to target/linux/brcm2708/patches-4.19/950-0035-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch index eef29187a..30ac2a883 100644 --- a/target/linux/brcm2708/patches-4.19/950-0036-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch +++ b/target/linux/brcm2708/patches-4.19/950-0035-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch @@ -1,7 +1,7 @@ From 76627df3e5f0513118dac20710766f97fc5ca32d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 036/806] amba_pl011: Insert mb() for correct FIFO handling +Subject: [PATCH] amba_pl011: Insert mb() for correct FIFO handling The pl011 register accessor functions use the _relaxed versions of the standard readl() and writel() functions, meaning that there are no diff --git a/target/linux/brcm2708/patches-4.19/950-0037-amba_pl011-Add-cts-event-workaround-DT-property.patch b/target/linux/brcm2708/patches-4.19/950-0036-amba_pl011-Add-cts-event-workaround-DT-property.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0037-amba_pl011-Add-cts-event-workaround-DT-property.patch rename to target/linux/brcm2708/patches-4.19/950-0036-amba_pl011-Add-cts-event-workaround-DT-property.patch index e5a3c39b3..d7514a552 100644 --- a/target/linux/brcm2708/patches-4.19/950-0037-amba_pl011-Add-cts-event-workaround-DT-property.patch +++ b/target/linux/brcm2708/patches-4.19/950-0036-amba_pl011-Add-cts-event-workaround-DT-property.patch @@ -1,7 +1,7 @@ From 17a4507175ca6018ea40e91c9d753bc39f043d99 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 037/806] amba_pl011: Add cts-event-workaround DT property +Subject: [PATCH] amba_pl011: Add cts-event-workaround DT property The BCM2835 PL011 implementation seems to have a bug that can lead to a transmission lockup if CTS changes frequently. A workaround was added to diff --git a/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch b/target/linux/brcm2708/patches-4.19/950-0037-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch rename to target/linux/brcm2708/patches-4.19/950-0037-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch index 307e82ede..26c08cd1a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch +++ b/target/linux/brcm2708/patches-4.19/950-0037-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch @@ -1,7 +1,7 @@ From 491316e4e140152fb6c66fa99716450bb13ea49a Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 038/806] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes diff --git a/target/linux/brcm2708/patches-4.19/950-0039-Main-bcm2708-bcm2709-linux-port.patch b/target/linux/brcm2708/patches-4.19/950-0038-Main-bcm2708-bcm2709-linux-port.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0039-Main-bcm2708-bcm2709-linux-port.patch rename to target/linux/brcm2708/patches-4.19/950-0038-Main-bcm2708-bcm2709-linux-port.patch index 4f14c4c18..a553d5a85 100644 --- a/target/linux/brcm2708/patches-4.19/950-0039-Main-bcm2708-bcm2709-linux-port.patch +++ b/target/linux/brcm2708/patches-4.19/950-0038-Main-bcm2708-bcm2709-linux-port.patch @@ -1,7 +1,7 @@ From b37c8c275b90b3730ad99b0e96ae5e36895b26e8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 039/806] Main bcm2708/bcm2709 linux port +Subject: [PATCH] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0040-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-4.19/950-0039-Add-dwc_otg-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0040-Add-dwc_otg-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0039-Add-dwc_otg-driver.patch index fe8f9fb66..346a57505 100644 --- a/target/linux/brcm2708/patches-4.19/950-0040-Add-dwc_otg-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0039-Add-dwc_otg-driver.patch @@ -1,7 +1,7 @@ From e30ea17381a5381b1d764da094a56d5cb0c9d636 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 040/806] Add dwc_otg driver +Subject: [PATCH] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0041-bcm2708-framebuffer-driver.patch b/target/linux/brcm2708/patches-4.19/950-0040-bcm2708-framebuffer-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0041-bcm2708-framebuffer-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0040-bcm2708-framebuffer-driver.patch index 7135ff3fc..f77b3fd8e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0041-bcm2708-framebuffer-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0040-bcm2708-framebuffer-driver.patch @@ -1,7 +1,7 @@ From 7be9aaefa159fe6e59064e2a90195a63cc88352a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 041/806] bcm2708 framebuffer driver +Subject: [PATCH] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0042-Speed-up-console-framebuffer-imageblit-function.patch b/target/linux/brcm2708/patches-4.19/950-0041-Speed-up-console-framebuffer-imageblit-function.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0042-Speed-up-console-framebuffer-imageblit-function.patch rename to target/linux/brcm2708/patches-4.19/950-0041-Speed-up-console-framebuffer-imageblit-function.patch index b404ee536..17d613772 100644 --- a/target/linux/brcm2708/patches-4.19/950-0042-Speed-up-console-framebuffer-imageblit-function.patch +++ b/target/linux/brcm2708/patches-4.19/950-0041-Speed-up-console-framebuffer-imageblit-function.patch @@ -1,7 +1,7 @@ From f4489532d7a73ded68e1b8a815a71b0fe25e9e21 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 042/806] Speed up console framebuffer imageblit function +Subject: [PATCH] Speed up console framebuffer imageblit function Especially on platforms with a slower CPU but a relatively high framebuffer fill bandwidth, like current ARM devices, the existing diff --git a/target/linux/brcm2708/patches-4.19/950-0043-dmaengine-Add-support-for-BCM2708.patch b/target/linux/brcm2708/patches-4.19/950-0042-dmaengine-Add-support-for-BCM2708.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0043-dmaengine-Add-support-for-BCM2708.patch rename to target/linux/brcm2708/patches-4.19/950-0042-dmaengine-Add-support-for-BCM2708.patch index c7c1b98b6..46bcb45e0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0043-dmaengine-Add-support-for-BCM2708.patch +++ b/target/linux/brcm2708/patches-4.19/950-0042-dmaengine-Add-support-for-BCM2708.patch @@ -1,7 +1,7 @@ From 9405d98a5b9ad11e9be2dc1247de3e26896a00d9 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 043/806] dmaengine: Add support for BCM2708 +Subject: [PATCH] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch b/target/linux/brcm2708/patches-4.19/950-0043-MMC-added-alternative-MMC-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0043-MMC-added-alternative-MMC-driver.patch index 25f587b2d..b154d6ee7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0043-MMC-added-alternative-MMC-driver.patch @@ -1,7 +1,7 @@ From 74f3233f6ed4298983348b2ba5a500f955703953 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 044/806] MMC: added alternative MMC driver +Subject: [PATCH] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -125,7 +125,7 @@ Signed-off-by: Phil Elwell static inline int mmc_blk_part_switch(struct mmc_card *card, unsigned int part_type); -@@ -2913,6 +2920,7 @@ static int mmc_blk_probe(struct mmc_card +@@ -2876,6 +2883,7 @@ static int mmc_blk_probe(struct mmc_card { struct mmc_blk_data *md, *part_md; char cap_str[10]; @@ -133,7 +133,7 @@ Signed-off-by: Phil Elwell /* * Check that the card supports the command class(es) we need. -@@ -2920,7 +2928,16 @@ static int mmc_blk_probe(struct mmc_card +@@ -2883,7 +2891,16 @@ static int mmc_blk_probe(struct mmc_card if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -151,7 +151,7 @@ Signed-off-by: Phil Elwell card->complete_wq = alloc_workqueue("mmc_complete", WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); -@@ -2935,9 +2952,14 @@ static int mmc_blk_probe(struct mmc_card +@@ -2898,9 +2915,14 @@ static int mmc_blk_probe(struct mmc_card string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, cap_str, sizeof(cap_str)); diff --git a/target/linux/brcm2708/patches-4.19/950-0045-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch b/target/linux/brcm2708/patches-4.19/950-0044-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0045-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch rename to target/linux/brcm2708/patches-4.19/950-0044-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch index 4ede44e79..b3b73b807 100644 --- a/target/linux/brcm2708/patches-4.19/950-0045-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch +++ b/target/linux/brcm2708/patches-4.19/950-0044-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch @@ -1,7 +1,7 @@ From 5fcaebde5b5cd58630ea70bbfe0c62f8229469c5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 045/806] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. diff --git a/target/linux/brcm2708/patches-4.19/950-0046-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch b/target/linux/brcm2708/patches-4.19/950-0045-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0046-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch rename to target/linux/brcm2708/patches-4.19/950-0045-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch index a696f57f7..17663b294 100644 --- a/target/linux/brcm2708/patches-4.19/950-0046-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch +++ b/target/linux/brcm2708/patches-4.19/950-0045-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch @@ -1,7 +1,7 @@ From cfdf39199781b73840dfdfb7d1281b398c1334cf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 046/806] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/target/linux/brcm2708/patches-4.19/950-0047-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch b/target/linux/brcm2708/patches-4.19/950-0046-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0047-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch rename to target/linux/brcm2708/patches-4.19/950-0046-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch index 5ae45368a..1916ac694 100644 --- a/target/linux/brcm2708/patches-4.19/950-0047-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch +++ b/target/linux/brcm2708/patches-4.19/950-0046-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch @@ -1,7 +1,7 @@ From 6f27d1904c3f46e00388b1603ceed359387349d2 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 047/806] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0048-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch b/target/linux/brcm2708/patches-4.19/950-0047-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0048-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch rename to target/linux/brcm2708/patches-4.19/950-0047-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch index 1760012e3..6afffd2a1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0048-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch +++ b/target/linux/brcm2708/patches-4.19/950-0047-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch @@ -1,7 +1,7 @@ From cff179ff275e8f7849384ad2876c9a3237eeac79 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 048/806] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren diff --git a/target/linux/brcm2708/patches-4.19/950-0049-Add-SMI-driver.patch b/target/linux/brcm2708/patches-4.19/950-0048-Add-SMI-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0049-Add-SMI-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0048-Add-SMI-driver.patch index 73f0b7026..a947f2765 100644 --- a/target/linux/brcm2708/patches-4.19/950-0049-Add-SMI-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0048-Add-SMI-driver.patch @@ -1,7 +1,7 @@ From 9c81a1d5224e50e6ec45b8d0c97026a5dc800853 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 049/806] Add SMI driver +Subject: [PATCH] Add SMI driver Signed-off-by: Luke Wren --- diff --git a/target/linux/brcm2708/patches-4.19/950-0050-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch b/target/linux/brcm2708/patches-4.19/950-0049-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0050-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch rename to target/linux/brcm2708/patches-4.19/950-0049-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch index a1c327459..c7cb1e6d8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0050-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch +++ b/target/linux/brcm2708/patches-4.19/950-0049-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch @@ -1,7 +1,7 @@ From f7cccb2e66f0187f69a432536f227b32a458f94b Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 050/806] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. diff --git a/target/linux/brcm2708/patches-4.19/950-0051-Add-SMI-NAND-driver.patch b/target/linux/brcm2708/patches-4.19/950-0050-Add-SMI-NAND-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0051-Add-SMI-NAND-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0050-Add-SMI-NAND-driver.patch index ddcc19d0d..8688431a1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0051-Add-SMI-NAND-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0050-Add-SMI-NAND-driver.patch @@ -1,7 +1,7 @@ From 06d1fce502f478f7e554c591a68cd42cc861e976 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 051/806] Add SMI NAND driver +Subject: [PATCH] Add SMI NAND driver Signed-off-by: Luke Wren --- diff --git a/target/linux/brcm2708/patches-4.19/950-0052-Add-cpufreq-driver.patch b/target/linux/brcm2708/patches-4.19/950-0051-Add-cpufreq-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0052-Add-cpufreq-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0051-Add-cpufreq-driver.patch index cac3399e6..b9cf14453 100644 --- a/target/linux/brcm2708/patches-4.19/950-0052-Add-cpufreq-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0051-Add-cpufreq-driver.patch @@ -1,7 +1,7 @@ From 0a248af6e18d7f1ad57fffa7f588bc8a5851832e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 052/806] Add cpufreq driver +Subject: [PATCH] Add cpufreq driver Signed-off-by: popcornmix diff --git a/target/linux/brcm2708/patches-4.19/950-0053-Add-Chris-Boot-s-i2c-driver.patch b/target/linux/brcm2708/patches-4.19/950-0052-Add-Chris-Boot-s-i2c-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0053-Add-Chris-Boot-s-i2c-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0052-Add-Chris-Boot-s-i2c-driver.patch index cec00dc33..cf26302f7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0053-Add-Chris-Boot-s-i2c-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0052-Add-Chris-Boot-s-i2c-driver.patch @@ -1,7 +1,7 @@ From 1f72dfe2738305c57605a8192176117e1641779c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 053/806] Add Chris Boot's i2c driver +Subject: [PATCH] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0054-char-broadcom-Add-vcio-module.patch b/target/linux/brcm2708/patches-4.19/950-0053-char-broadcom-Add-vcio-module.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0054-char-broadcom-Add-vcio-module.patch rename to target/linux/brcm2708/patches-4.19/950-0053-char-broadcom-Add-vcio-module.patch index 6489100d6..e55c04ac2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0054-char-broadcom-Add-vcio-module.patch +++ b/target/linux/brcm2708/patches-4.19/950-0053-char-broadcom-Add-vcio-module.patch @@ -1,7 +1,7 @@ From 6e169c17c0de4503264186d90aa51639924c6e9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 054/806] char: broadcom: Add vcio module +Subject: [PATCH] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0055-firmware-bcm2835-Support-ARCH_BCM270x.patch b/target/linux/brcm2708/patches-4.19/950-0054-firmware-bcm2835-Support-ARCH_BCM270x.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0055-firmware-bcm2835-Support-ARCH_BCM270x.patch rename to target/linux/brcm2708/patches-4.19/950-0054-firmware-bcm2835-Support-ARCH_BCM270x.patch index a47be248a..2851cebfb 100644 --- a/target/linux/brcm2708/patches-4.19/950-0055-firmware-bcm2835-Support-ARCH_BCM270x.patch +++ b/target/linux/brcm2708/patches-4.19/950-0054-firmware-bcm2835-Support-ARCH_BCM270x.patch @@ -1,7 +1,7 @@ From 6f190ee10a1d3276450e6190bb6d75a03040dcef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 055/806] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0056-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch b/target/linux/brcm2708/patches-4.19/950-0055-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0056-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch rename to target/linux/brcm2708/patches-4.19/950-0055-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch index 6aba53ffd..e6bb9fa38 100644 --- a/target/linux/brcm2708/patches-4.19/950-0056-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0055-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch @@ -1,7 +1,7 @@ From 28951ab97e67b20640b183364d2396e91e8a6148 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 056/806] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to diff --git a/target/linux/brcm2708/patches-4.19/950-0057-BCM2708-Add-core-Device-Tree-support.patch b/target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0057-BCM2708-Add-core-Device-Tree-support.patch rename to target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch index f2ad9710f..72b9cfc13 100644 --- a/target/linux/brcm2708/patches-4.19/950-0057-BCM2708-Add-core-Device-Tree-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch @@ -1,7 +1,7 @@ From d04105f6d48f160f4b7ab874ed7f878c2b84b466 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 057/806] BCM2708: Add core Device Tree support +Subject: [PATCH] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0058-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch b/target/linux/brcm2708/patches-4.19/950-0057-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0058-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch rename to target/linux/brcm2708/patches-4.19/950-0057-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch index 6eb9b54ed..b3839f6ad 100644 --- a/target/linux/brcm2708/patches-4.19/950-0058-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch +++ b/target/linux/brcm2708/patches-4.19/950-0057-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch @@ -1,7 +1,7 @@ From 7181db1685aa67e127f80fe9607270d3c87aa3b9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 058/806] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support diff --git a/target/linux/brcm2708/patches-4.19/950-0059-fbdev-add-FBIOCOPYAREA-ioctl.patch b/target/linux/brcm2708/patches-4.19/950-0058-fbdev-add-FBIOCOPYAREA-ioctl.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0059-fbdev-add-FBIOCOPYAREA-ioctl.patch rename to target/linux/brcm2708/patches-4.19/950-0058-fbdev-add-FBIOCOPYAREA-ioctl.patch index 5a3f91042..16c15d59f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0059-fbdev-add-FBIOCOPYAREA-ioctl.patch +++ b/target/linux/brcm2708/patches-4.19/950-0058-fbdev-add-FBIOCOPYAREA-ioctl.patch @@ -1,7 +1,7 @@ From 5269119dadfc6874aec51fed4468c73f1b0187a2 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 059/806] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 diff --git a/target/linux/brcm2708/patches-4.19/950-0060-Added-Device-IDs-for-August-DVB-T-205.patch b/target/linux/brcm2708/patches-4.19/950-0059-Added-Device-IDs-for-August-DVB-T-205.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0060-Added-Device-IDs-for-August-DVB-T-205.patch rename to target/linux/brcm2708/patches-4.19/950-0059-Added-Device-IDs-for-August-DVB-T-205.patch index ec8489a10..409b28941 100644 --- a/target/linux/brcm2708/patches-4.19/950-0060-Added-Device-IDs-for-August-DVB-T-205.patch +++ b/target/linux/brcm2708/patches-4.19/950-0059-Added-Device-IDs-for-August-DVB-T-205.patch @@ -1,7 +1,7 @@ From 298368d476283829d222cb974491ac313605ed69 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:54:08 +0100 -Subject: [PATCH 060/806] Added Device IDs for August DVB-T 205 +Subject: [PATCH] Added Device IDs for August DVB-T 205 --- drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++ diff --git a/target/linux/brcm2708/patches-4.19/950-0061-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch b/target/linux/brcm2708/patches-4.19/950-0060-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0061-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch rename to target/linux/brcm2708/patches-4.19/950-0060-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch index fdea2ab19..6f7b31e4d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0061-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch +++ b/target/linux/brcm2708/patches-4.19/950-0060-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch @@ -1,7 +1,7 @@ From 8137201823bd2ed1b3951220f29fdc9555c3c6de Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 061/806] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH] rpi-ft5406: Add touchscreen driver for pi LCD display Fix driver detection failure Check that the buffer response is non-zero meaning the touchscreen was detected diff --git a/target/linux/brcm2708/patches-4.19/950-0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch b/target/linux/brcm2708/patches-4.19/950-0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch rename to target/linux/brcm2708/patches-4.19/950-0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch index 4335ff956..430059cdd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch +++ b/target/linux/brcm2708/patches-4.19/950-0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch @@ -1,7 +1,7 @@ From e4d81adf1f2c84b229901cddb403d00010524b28 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 062/806] Improve __copy_to_user and __copy_from_user +Subject: [PATCH] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use diff --git a/target/linux/brcm2708/patches-4.19/950-0063-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0062-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0063-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch rename to target/linux/brcm2708/patches-4.19/950-0062-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch index 60f4066d5..027815695 100644 --- a/target/linux/brcm2708/patches-4.19/950-0063-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0062-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch @@ -1,7 +1,7 @@ From 84cd61bdf5fe5ecf70ad88e60e07879cbde2d4a6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 063/806] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH] gpio-poweroff: Allow it to work on Raspberry Pi The Raspberry Pi firmware manages the power-down and reboot process. To do this it installs a pm_power_off handler, causing diff --git a/target/linux/brcm2708/patches-4.19/950-0064-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch b/target/linux/brcm2708/patches-4.19/950-0063-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0064-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0063-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch index 1a8ab6c44..a6d04a90b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0064-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0063-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch @@ -1,7 +1,7 @@ From 0d63b8a00c925eb02093e9ed4866c4a0d9209a00 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 064/806] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + diff --git a/target/linux/brcm2708/patches-4.19/950-0065-ASoC-pcm512x-implement-set_tdm_slot-interface.patch b/target/linux/brcm2708/patches-4.19/950-0064-ASoC-pcm512x-implement-set_tdm_slot-interface.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0065-ASoC-pcm512x-implement-set_tdm_slot-interface.patch rename to target/linux/brcm2708/patches-4.19/950-0064-ASoC-pcm512x-implement-set_tdm_slot-interface.patch index 36284a6b9..e656c05a5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0065-ASoC-pcm512x-implement-set_tdm_slot-interface.patch +++ b/target/linux/brcm2708/patches-4.19/950-0064-ASoC-pcm512x-implement-set_tdm_slot-interface.patch @@ -1,7 +1,7 @@ From 5fd7bb26ef791a7da1c0573b980ab4fe6b9c2641 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 22 Feb 2018 11:55:06 +0100 -Subject: [PATCH 065/806] ASoC: pcm512x: implement set_tdm_slot interface +Subject: [PATCH] ASoC: pcm512x: implement set_tdm_slot interface PCM512x can accept data padded with additional BCLK cycles but the driver currently lacks an interface to configure this. diff --git a/target/linux/brcm2708/patches-4.19/950-0066-ASoC-Add-support-for-Rpi-DAC.patch b/target/linux/brcm2708/patches-4.19/950-0065-ASoC-Add-support-for-Rpi-DAC.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0066-ASoC-Add-support-for-Rpi-DAC.patch rename to target/linux/brcm2708/patches-4.19/950-0065-ASoC-Add-support-for-Rpi-DAC.patch index fcabe55f8..6eab0b594 100644 --- a/target/linux/brcm2708/patches-4.19/950-0066-ASoC-Add-support-for-Rpi-DAC.patch +++ b/target/linux/brcm2708/patches-4.19/950-0065-ASoC-Add-support-for-Rpi-DAC.patch @@ -1,7 +1,7 @@ From 13ddc845b271d7cc79bcbdd288f95c03ea927b89 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 066/806] ASoC: Add support for Rpi-DAC +Subject: [PATCH] ASoC: Add support for Rpi-DAC --- sound/soc/codecs/Kconfig | 5 +++ diff --git a/target/linux/brcm2708/patches-4.19/950-0067-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0066-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0067-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch rename to target/linux/brcm2708/patches-4.19/950-0066-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch index 88aa00384..eb21558df 100644 --- a/target/linux/brcm2708/patches-4.19/950-0067-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0066-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch @@ -1,7 +1,7 @@ From 76c252645ad542bd35ce52230635f36e3c0f730d Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 067/806] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control diff --git a/target/linux/brcm2708/patches-4.19/950-0068-Added-support-for-HiFiBerry-DAC.patch b/target/linux/brcm2708/patches-4.19/950-0067-Added-support-for-HiFiBerry-DAC.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0068-Added-support-for-HiFiBerry-DAC.patch rename to target/linux/brcm2708/patches-4.19/950-0067-Added-support-for-HiFiBerry-DAC.patch index f54ea259a..a335e2dcb 100644 --- a/target/linux/brcm2708/patches-4.19/950-0068-Added-support-for-HiFiBerry-DAC.patch +++ b/target/linux/brcm2708/patches-4.19/950-0067-Added-support-for-HiFiBerry-DAC.patch @@ -1,7 +1,7 @@ From 86d09076abd36ad87477c21f7b33c90cb696e196 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 068/806] Added support for HiFiBerry DAC+ +Subject: [PATCH] Added support for HiFiBerry DAC+ The driver is based on the HiFiBerry DAC driver. However HiFiBerry DAC+ uses a different codec chip (PCM5122), therefore a new driver is necessary. diff --git a/target/linux/brcm2708/patches-4.19/950-0069-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch b/target/linux/brcm2708/patches-4.19/950-0068-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0069-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch rename to target/linux/brcm2708/patches-4.19/950-0068-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch index 22dbd89a8..edb170320 100644 --- a/target/linux/brcm2708/patches-4.19/950-0069-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch +++ b/target/linux/brcm2708/patches-4.19/950-0068-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch @@ -1,7 +1,7 @@ From a1344150b31e3b9592f76df8f453a15565a8390a Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 069/806] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH] Added driver for HiFiBerry Amp amplifier add-on board The driver contains a low-level hardware driver for the TAS5713 and the drivers for the Raspberry Pi I2S subsystem. diff --git a/target/linux/brcm2708/patches-4.19/950-0070-Add-driver-for-rpi-proto.patch b/target/linux/brcm2708/patches-4.19/950-0069-Add-driver-for-rpi-proto.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0070-Add-driver-for-rpi-proto.patch rename to target/linux/brcm2708/patches-4.19/950-0069-Add-driver-for-rpi-proto.patch index 0741db969..0cfe2583b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0070-Add-driver-for-rpi-proto.patch +++ b/target/linux/brcm2708/patches-4.19/950-0069-Add-driver-for-rpi-proto.patch @@ -1,7 +1,7 @@ From bf4dee727fc7c72e250784e8e3e681f9d11bbdc1 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 070/806] Add driver for rpi-proto +Subject: [PATCH] Add driver for rpi-proto Forward port of 3.10.x driver from https://github.com/koalo We are using a custom board and would like to use rpi 3.18.x diff --git a/target/linux/brcm2708/patches-4.19/950-0071-Add-Support-for-JustBoom-Audio-boards.patch b/target/linux/brcm2708/patches-4.19/950-0070-Add-Support-for-JustBoom-Audio-boards.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0071-Add-Support-for-JustBoom-Audio-boards.patch rename to target/linux/brcm2708/patches-4.19/950-0070-Add-Support-for-JustBoom-Audio-boards.patch index b34d195c5..68957f35d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0071-Add-Support-for-JustBoom-Audio-boards.patch +++ b/target/linux/brcm2708/patches-4.19/950-0070-Add-Support-for-JustBoom-Audio-boards.patch @@ -1,7 +1,7 @@ From 0435c03e212129e384cd49b19fca7a55dbf1ec50 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 071/806] Add Support for JustBoom Audio boards +Subject: [PATCH] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change diff --git a/target/linux/brcm2708/patches-4.19/950-0072-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch b/target/linux/brcm2708/patches-4.19/950-0071-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0072-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch rename to target/linux/brcm2708/patches-4.19/950-0071-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch index 68118a175..b4a67473d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0072-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch +++ b/target/linux/brcm2708/patches-4.19/950-0071-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch @@ -1,7 +1,7 @@ From 3f06b2f7c04d263a3bb0569e6f2c341549c21154 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 072/806] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH] New AudioInjector.net Pi soundcard with low jitter audio in and out. Contains the sound/soc/bcm ALSA machine driver and necessary alterations to the Kconfig and Makefile. diff --git a/target/linux/brcm2708/patches-4.19/950-0073-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch b/target/linux/brcm2708/patches-4.19/950-0072-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0073-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch rename to target/linux/brcm2708/patches-4.19/950-0072-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch index ecca12417..1316727f4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0073-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch +++ b/target/linux/brcm2708/patches-4.19/950-0072-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch @@ -1,7 +1,7 @@ From 13efe81b4ab9321290d6973e90d00b7caf37b47f Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 073/806] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- diff --git a/target/linux/brcm2708/patches-4.19/950-0074-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch b/target/linux/brcm2708/patches-4.19/950-0073-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0074-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch rename to target/linux/brcm2708/patches-4.19/950-0073-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch index fdd54193d..de7204943 100644 --- a/target/linux/brcm2708/patches-4.19/950-0074-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch +++ b/target/linux/brcm2708/patches-4.19/950-0073-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch @@ -1,7 +1,7 @@ From 234b6a3cfd5bc1fb341c01f8ac773956f5af42cd Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 074/806] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. diff --git a/target/linux/brcm2708/patches-4.19/950-0075-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch b/target/linux/brcm2708/patches-4.19/950-0074-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0075-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch rename to target/linux/brcm2708/patches-4.19/950-0074-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch index 0a6228e68..fa1d34670 100644 --- a/target/linux/brcm2708/patches-4.19/950-0075-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch +++ b/target/linux/brcm2708/patches-4.19/950-0074-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch @@ -1,7 +1,7 @@ From 4c4b1a565322382b927927d6066735c7cd1ea188 Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 075/806] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH] Allo Piano DAC boards: Initial 2 channel (stereo) support (#1645) Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards, diff --git a/target/linux/brcm2708/patches-4.19/950-0076-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch b/target/linux/brcm2708/patches-4.19/950-0075-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0076-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch rename to target/linux/brcm2708/patches-4.19/950-0075-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch index c940d4dc4..0c7e218fc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0076-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch +++ b/target/linux/brcm2708/patches-4.19/950-0075-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch @@ -1,7 +1,7 @@ From 7603d4cf7fb47afc19641b518250ee52852470f6 Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 076/806] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH] Add support for Allo Piano DAC 2.1 plus add-on board for Raspberry Pi. The Piano DAC 2.1 has support for 4 channels with subwoofer. diff --git a/target/linux/brcm2708/patches-4.19/950-0077-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch b/target/linux/brcm2708/patches-4.19/950-0076-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0077-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch rename to target/linux/brcm2708/patches-4.19/950-0076-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch index f2a5997c3..9b0750f24 100644 --- a/target/linux/brcm2708/patches-4.19/950-0077-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch +++ b/target/linux/brcm2708/patches-4.19/950-0076-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch @@ -1,7 +1,7 @@ From 77dce745cd500cbe65e4cbb613c27c23e26f5bbb Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 077/806] Add support for Allo Boss DAC add-on board for +Subject: [PATCH] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K diff --git a/target/linux/brcm2708/patches-4.19/950-0078-Support-for-Blokas-Labs-pisound-board.patch b/target/linux/brcm2708/patches-4.19/950-0077-Support-for-Blokas-Labs-pisound-board.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0078-Support-for-Blokas-Labs-pisound-board.patch rename to target/linux/brcm2708/patches-4.19/950-0077-Support-for-Blokas-Labs-pisound-board.patch index c996ea395..5e9e34b73 100644 --- a/target/linux/brcm2708/patches-4.19/950-0078-Support-for-Blokas-Labs-pisound-board.patch +++ b/target/linux/brcm2708/patches-4.19/950-0077-Support-for-Blokas-Labs-pisound-board.patch @@ -1,7 +1,7 @@ From 85ef9efcc598bff1d783620e23c09aed873e7aee Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 078/806] Support for Blokas Labs pisound board +Subject: [PATCH] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) diff --git a/target/linux/brcm2708/patches-4.19/950-0079-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch b/target/linux/brcm2708/patches-4.19/950-0078-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0079-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch rename to target/linux/brcm2708/patches-4.19/950-0078-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch index 2ee7690e7..363fd90df 100644 --- a/target/linux/brcm2708/patches-4.19/950-0079-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch +++ b/target/linux/brcm2708/patches-4.19/950-0078-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch @@ -1,7 +1,7 @@ From 2c3e4f06b7e7d34a03e747367c26805fbf89a4ac Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 079/806] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH] ASoC: Add driver for Cirrus Logic Audio Card Note: due to problems with deferred probing of regulators the following softdep should be added to a modprobe.d file diff --git a/target/linux/brcm2708/patches-4.19/950-0080-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch b/target/linux/brcm2708/patches-4.19/950-0079-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0080-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch rename to target/linux/brcm2708/patches-4.19/950-0079-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch index 1eb9e539e..046fe436b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0080-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch +++ b/target/linux/brcm2708/patches-4.19/950-0079-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch @@ -1,7 +1,7 @@ From 858a3bbbf274ffcecca558f66aaab146c11fdfe9 Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 080/806] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw diff --git a/target/linux/brcm2708/patches-4.19/950-0081-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch b/target/linux/brcm2708/patches-4.19/950-0080-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0081-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch rename to target/linux/brcm2708/patches-4.19/950-0080-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch index 3f913d919..4d5c4a747 100644 --- a/target/linux/brcm2708/patches-4.19/950-0081-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch +++ b/target/linux/brcm2708/patches-4.19/950-0080-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch @@ -1,7 +1,7 @@ From 8ed265197d7a8f9c1a328d262bfe91050716ad76 Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 081/806] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH] Add support for Fe-Pi audio sound card. (#1867) Fe-Pi Audio Sound Card is based on NXP SGTL5000 codec. Mechanical specification of the board is the same the Raspberry Pi Zero. diff --git a/target/linux/brcm2708/patches-4.19/950-0082-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch b/target/linux/brcm2708/patches-4.19/950-0081-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0082-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch rename to target/linux/brcm2708/patches-4.19/950-0081-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch index f6bc9e2a2..36784e9b4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0082-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch +++ b/target/linux/brcm2708/patches-4.19/950-0081-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch @@ -1,7 +1,7 @@ From 846864bceccdafbed86c1b1766500861547b0da9 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 082/806] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH] Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset diff --git a/target/linux/brcm2708/patches-4.19/950-0083-Driver-support-for-Google-voiceHAT-soundcard.patch b/target/linux/brcm2708/patches-4.19/950-0082-Driver-support-for-Google-voiceHAT-soundcard.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0083-Driver-support-for-Google-voiceHAT-soundcard.patch rename to target/linux/brcm2708/patches-4.19/950-0082-Driver-support-for-Google-voiceHAT-soundcard.patch index 23abeca91..a9605818c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0083-Driver-support-for-Google-voiceHAT-soundcard.patch +++ b/target/linux/brcm2708/patches-4.19/950-0082-Driver-support-for-Google-voiceHAT-soundcard.patch @@ -1,7 +1,7 @@ From ae0077658c007643020b88e233150cf1eca6cea8 Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 083/806] Driver support for Google voiceHAT soundcard. +Subject: [PATCH] Driver support for Google voiceHAT soundcard. ASoC: googlevoicehat-codec: Use correct device when grabbing GPIO diff --git a/target/linux/brcm2708/patches-4.19/950-0084-Driver-and-overlay-for-Allo-Katana-DAC.patch b/target/linux/brcm2708/patches-4.19/950-0083-Driver-and-overlay-for-Allo-Katana-DAC.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0084-Driver-and-overlay-for-Allo-Katana-DAC.patch rename to target/linux/brcm2708/patches-4.19/950-0083-Driver-and-overlay-for-Allo-Katana-DAC.patch index 7a12e7e4d..d742e6d98 100644 --- a/target/linux/brcm2708/patches-4.19/950-0084-Driver-and-overlay-for-Allo-Katana-DAC.patch +++ b/target/linux/brcm2708/patches-4.19/950-0083-Driver-and-overlay-for-Allo-Katana-DAC.patch @@ -1,7 +1,7 @@ From e37c55733587a312181a12a8f15b8f35497c828e Mon Sep 17 00:00:00 2001 From: allocom Date: Thu, 19 Apr 2018 12:12:26 +0530 -Subject: [PATCH 084/806] Driver and overlay for Allo Katana DAC +Subject: [PATCH] Driver and overlay for Allo Katana DAC Allo Katana DAC: Updated default values diff --git a/target/linux/brcm2708/patches-4.19/950-0086-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch b/target/linux/brcm2708/patches-4.19/950-0084-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0086-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch rename to target/linux/brcm2708/patches-4.19/950-0084-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch index a60978290..ea2c91164 100644 --- a/target/linux/brcm2708/patches-4.19/950-0086-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch +++ b/target/linux/brcm2708/patches-4.19/950-0084-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch @@ -1,7 +1,7 @@ From 8cf85a58066800ed638b4e4fca6f704275e0f588 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Wed, 27 Jun 2018 15:59:12 +0100 -Subject: [PATCH 086/806] ASoC: Add generic RPI driver for simple soundcards. +Subject: [PATCH] ASoC: Add generic RPI driver for simple soundcards. The RPI simple sound card driver provides a generic ALSA SOC card driver supporting a variety of Pi HAT soundcards. The intention is to avoid diff --git a/target/linux/brcm2708/patches-4.19/950-0087-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch b/target/linux/brcm2708/patches-4.19/950-0085-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0087-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch rename to target/linux/brcm2708/patches-4.19/950-0085-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch index 6b0ffe038..db8af937b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0087-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch +++ b/target/linux/brcm2708/patches-4.19/950-0085-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch @@ -1,7 +1,7 @@ From 42dfc383b7d7100350c357b0381a2800b5bf3c27 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Sep 2018 17:00:36 +0100 -Subject: [PATCH 087/806] ASoC: Add Kconfig and Makefile for sound/soc/bcm +Subject: [PATCH] ASoC: Add Kconfig and Makefile for sound/soc/bcm Signed-off-by: popcornmix --- diff --git a/target/linux/brcm2708/patches-4.19/950-0085-ASoC-wm8804-MCLK-configuration-options-32-bit.patch b/target/linux/brcm2708/patches-4.19/950-0085-ASoC-wm8804-MCLK-configuration-options-32-bit.patch deleted file mode 100644 index 5eca1abe8..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0085-ASoC-wm8804-MCLK-configuration-options-32-bit.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f77d4bf8ea9217d57be6982a6fdfa9f5f9c9b927 Mon Sep 17 00:00:00 2001 -From: Daniel Matuschek -Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 085/806] ASoC: wm8804: MCLK configuration options, 32-bit - -WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample -rates. At 192kHz only 128xfs is supported. The existing driver selects -128xfs automatically for some lower samples rates. By using an -additional mclk_div divider, it is now possible to control the -behaviour. This allows using 256xfs PLL frequency on all sample rates up -to 96kHz. It should allow lower jitter and better signal quality. The -behavior has to be controlled by the sound card driver, because some -sample frequency share the same setting. e.g. 192kHz and 96kHz use -24.576MHz master clock. The only difference is the MCLK divider. - -This also added support for 32bit data. - -Signed-off-by: Daniel Matuschek ---- - sound/soc/codecs/wm8804.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/sound/soc/codecs/wm8804.c -+++ b/sound/soc/codecs/wm8804.c -@@ -550,6 +550,7 @@ static const struct snd_soc_component_dr - .use_pmdown_time = 1, - .endianness = 1, - .non_legacy_dai_naming = 1, -+ .idle_bias_on = true, - }; - - const struct regmap_config wm8804_regmap_config = { diff --git a/target/linux/brcm2708/patches-4.19/950-0088-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch b/target/linux/brcm2708/patches-4.19/950-0086-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0088-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0086-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch index 0a8d1de94..1ba0b774b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0088-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0086-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch @@ -1,7 +1,7 @@ From 6af5a0adda5b782ad2e134b405ca168895c89b0c Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Sat, 21 Jul 2018 20:07:46 +0100 -Subject: [PATCH 088/806] ASoC: Create a generic Pi Hat WM8804 driver +Subject: [PATCH] ASoC: Create a generic Pi Hat WM8804 driver Reduce the amount of duplicated code by creating a generic driver for Pi Hat digi cards using the WM8804 codec. diff --git a/target/linux/brcm2708/patches-4.19/950-0089-rpi_display-add-backlight-driver-and-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0087-rpi_display-add-backlight-driver-and-overlay.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0089-rpi_display-add-backlight-driver-and-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0087-rpi_display-add-backlight-driver-and-overlay.patch index f790af77b..f3c06f4ff 100644 --- a/target/linux/brcm2708/patches-4.19/950-0089-rpi_display-add-backlight-driver-and-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0087-rpi_display-add-backlight-driver-and-overlay.patch @@ -1,7 +1,7 @@ From 5dcbf6d1aa6e33987082e9c8ac64e74f7b6bad58 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 089/806] rpi_display: add backlight driver and overlay +Subject: [PATCH] rpi_display: add backlight driver and overlay Add a mailbox-driven backlight controller for the Raspberry Pi DSI touchscreen display. Requires updated GPU firmware to recognise the diff --git a/target/linux/brcm2708/patches-4.19/950-0090-bcm2835-virtgpio-Virtual-GPIO-driver.patch b/target/linux/brcm2708/patches-4.19/950-0088-bcm2835-virtgpio-Virtual-GPIO-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0090-bcm2835-virtgpio-Virtual-GPIO-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0088-bcm2835-virtgpio-Virtual-GPIO-driver.patch index af8d21953..6259fdc10 100644 --- a/target/linux/brcm2708/patches-4.19/950-0090-bcm2835-virtgpio-Virtual-GPIO-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0088-bcm2835-virtgpio-Virtual-GPIO-driver.patch @@ -1,7 +1,7 @@ From 0f05af4c96c0272bb431ace33dd284a891e4fe41 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 090/806] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. diff --git a/target/linux/brcm2708/patches-4.19/950-0092-OF-DT-Overlay-configfs-interface.patch b/target/linux/brcm2708/patches-4.19/950-0089-OF-DT-Overlay-configfs-interface.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0092-OF-DT-Overlay-configfs-interface.patch rename to target/linux/brcm2708/patches-4.19/950-0089-OF-DT-Overlay-configfs-interface.patch index 722626961..e3caf880e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0092-OF-DT-Overlay-configfs-interface.patch +++ b/target/linux/brcm2708/patches-4.19/950-0089-OF-DT-Overlay-configfs-interface.patch @@ -1,7 +1,7 @@ From dc0f4681729e9bfe506ab8b15852363cb59bdaf5 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 092/806] OF: DT-Overlay configfs interface +Subject: [PATCH] OF: DT-Overlay configfs interface This is a port of Pantelis Antoniou's v3 port that makes use of the new upstreamed configfs support for binary attributes. diff --git a/target/linux/brcm2708/patches-4.19/950-0095-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch b/target/linux/brcm2708/patches-4.19/950-0090-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0095-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch rename to target/linux/brcm2708/patches-4.19/950-0090-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch index 597c90a18..756fd3a50 100644 --- a/target/linux/brcm2708/patches-4.19/950-0095-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch +++ b/target/linux/brcm2708/patches-4.19/950-0090-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch @@ -1,7 +1,7 @@ From b81157e1b8640fe332eb5edd3f62ef3de1c786a3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 095/806] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH] hci_h5: Don't send conf_req when ACTIVE Without this patch, a modem and kernel can continuously bombard each other with conf_req and conf_rsp messages, in a demented game of tag. diff --git a/target/linux/brcm2708/patches-4.19/950-0097-Add-arm64-configuration-and-device-tree-differences..patch b/target/linux/brcm2708/patches-4.19/950-0091-Add-arm64-configuration-and-device-tree-differences..patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0097-Add-arm64-configuration-and-device-tree-differences..patch rename to target/linux/brcm2708/patches-4.19/950-0091-Add-arm64-configuration-and-device-tree-differences..patch index 695f9a5d2..4e4985663 100644 --- a/target/linux/brcm2708/patches-4.19/950-0097-Add-arm64-configuration-and-device-tree-differences..patch +++ b/target/linux/brcm2708/patches-4.19/950-0091-Add-arm64-configuration-and-device-tree-differences..patch @@ -1,7 +1,7 @@ From 9731e002f651c0b386137105c8d91d198b73b721 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 097/806] Add arm64 configuration and device tree differences. +Subject: [PATCH] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. diff --git a/target/linux/brcm2708/patches-4.19/950-0098-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch b/target/linux/brcm2708/patches-4.19/950-0092-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0098-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch rename to target/linux/brcm2708/patches-4.19/950-0092-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch index f370f694e..85b8edb15 100644 --- a/target/linux/brcm2708/patches-4.19/950-0098-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch +++ b/target/linux/brcm2708/patches-4.19/950-0092-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch @@ -1,7 +1,7 @@ From 1ab2bc7fb6de19bcf4da83f4f0f384d93db48711 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 098/806] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 In ARM64, the FIQ mechanism used by this driver is not current implemented. As a workaround, reqular IRQ is used instead diff --git a/target/linux/brcm2708/patches-4.19/950-0099-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch b/target/linux/brcm2708/patches-4.19/950-0093-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0099-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch rename to target/linux/brcm2708/patches-4.19/950-0093-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch index 60d80e99e..235a72fe2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0099-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch +++ b/target/linux/brcm2708/patches-4.19/950-0093-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch @@ -1,7 +1,7 @@ From 3a9f3c695a95d3c34a360e9a95bccce37806c952 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 099/806] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH] ARM64: Round-Robin dispatch IRQs between CPUs. IRQ-CPU mapping is round robined on ARM64 to increase concurrency and allow multiple interrupts to be serviced diff --git a/target/linux/brcm2708/patches-4.19/950-0100-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch b/target/linux/brcm2708/patches-4.19/950-0094-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0100-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch rename to target/linux/brcm2708/patches-4.19/950-0094-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch index 912ab3fc0..53506d147 100644 --- a/target/linux/brcm2708/patches-4.19/950-0100-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch +++ b/target/linux/brcm2708/patches-4.19/950-0094-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch @@ -1,7 +1,7 @@ From 61f4a666499f781e6441dab84993a635c43ddb58 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 100/806] ARM64: Force hardware emulation of deprecated +Subject: [PATCH] ARM64: Force hardware emulation of deprecated instructions. --- diff --git a/target/linux/brcm2708/patches-4.19/950-0101-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch b/target/linux/brcm2708/patches-4.19/950-0095-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0101-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch rename to target/linux/brcm2708/patches-4.19/950-0095-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch index c69287d05..bd7a3a04e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0101-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch +++ b/target/linux/brcm2708/patches-4.19/950-0095-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch @@ -1,7 +1,7 @@ From 8333b8d6ed55d08e410afb7c9036f8a8e9186e69 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 101/806] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. diff --git a/target/linux/brcm2708/patches-4.19/950-0102-cache-export-clean-and-invalidate.patch b/target/linux/brcm2708/patches-4.19/950-0096-cache-export-clean-and-invalidate.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0102-cache-export-clean-and-invalidate.patch rename to target/linux/brcm2708/patches-4.19/950-0096-cache-export-clean-and-invalidate.patch index 1b368ce6a..dad88e172 100644 --- a/target/linux/brcm2708/patches-4.19/950-0102-cache-export-clean-and-invalidate.patch +++ b/target/linux/brcm2708/patches-4.19/950-0096-cache-export-clean-and-invalidate.patch @@ -1,7 +1,7 @@ From a7ca69081e7d0e1c5d84352c219b454a7977a2a4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 102/806] cache: export clean and invalidate +Subject: [PATCH] cache: export clean and invalidate --- arch/arm/mm/cache-v6.S | 4 ++-- diff --git a/target/linux/brcm2708/patches-4.19/950-0103-AXI-performance-monitor-driver-2222.patch b/target/linux/brcm2708/patches-4.19/950-0097-AXI-performance-monitor-driver-2222.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0103-AXI-performance-monitor-driver-2222.patch rename to target/linux/brcm2708/patches-4.19/950-0097-AXI-performance-monitor-driver-2222.patch index e39279679..02de46bdc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0103-AXI-performance-monitor-driver-2222.patch +++ b/target/linux/brcm2708/patches-4.19/950-0097-AXI-performance-monitor-driver-2222.patch @@ -1,7 +1,7 @@ From b683c668fef086a8c723d55e88364405047d2196 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 14 Nov 2017 15:13:15 +0000 -Subject: [PATCH 103/806] AXI performance monitor driver (#2222) +Subject: [PATCH] AXI performance monitor driver (#2222) Uses the debugfs I/F to provide access to the AXI bus performance monitors. diff --git a/target/linux/brcm2708/patches-4.19/950-0104-mcp2515-Use-DT-supplied-interrupt-flags.patch b/target/linux/brcm2708/patches-4.19/950-0098-mcp2515-Use-DT-supplied-interrupt-flags.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0104-mcp2515-Use-DT-supplied-interrupt-flags.patch rename to target/linux/brcm2708/patches-4.19/950-0098-mcp2515-Use-DT-supplied-interrupt-flags.patch index 5a7dc4f93..13f97962f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0104-mcp2515-Use-DT-supplied-interrupt-flags.patch +++ b/target/linux/brcm2708/patches-4.19/950-0098-mcp2515-Use-DT-supplied-interrupt-flags.patch @@ -1,7 +1,7 @@ From 612a3f0adcf98854dcbe8228551b941b76c6af2c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Nov 2017 11:03:22 +0000 -Subject: [PATCH 104/806] mcp2515: Use DT-supplied interrupt flags +Subject: [PATCH] mcp2515: Use DT-supplied interrupt flags The MCP2515 datasheet clearly describes a level-triggered interrupt pin. Therefore the receiving interrupt controller must also be diff --git a/target/linux/brcm2708/patches-4.19/950-0105-Tidy-up-of-the-ft5406-driver-to-use-DT-2189.patch b/target/linux/brcm2708/patches-4.19/950-0099-Tidy-up-of-the-ft5406-driver-to-use-DT-2189.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0105-Tidy-up-of-the-ft5406-driver-to-use-DT-2189.patch rename to target/linux/brcm2708/patches-4.19/950-0099-Tidy-up-of-the-ft5406-driver-to-use-DT-2189.patch index fce6b864e..1709d4d95 100644 --- a/target/linux/brcm2708/patches-4.19/950-0105-Tidy-up-of-the-ft5406-driver-to-use-DT-2189.patch +++ b/target/linux/brcm2708/patches-4.19/950-0099-Tidy-up-of-the-ft5406-driver-to-use-DT-2189.patch @@ -1,7 +1,7 @@ From 67acc12c996ef55038206de9e4220e69bf8dd517 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 16 Nov 2017 15:56:17 +0000 -Subject: [PATCH 105/806] Tidy up of the ft5406 driver to use DT (#2189) +Subject: [PATCH] Tidy up of the ft5406 driver to use DT (#2189) Driver was using a fixed resolution, this commit adds touchscreen size, and coordinate flip and swap diff --git a/target/linux/brcm2708/patches-4.19/950-0107-ARM-bcm2835-Set-Serial-number-and-Revision.patch b/target/linux/brcm2708/patches-4.19/950-0100-ARM-bcm2835-Set-Serial-number-and-Revision.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0107-ARM-bcm2835-Set-Serial-number-and-Revision.patch rename to target/linux/brcm2708/patches-4.19/950-0100-ARM-bcm2835-Set-Serial-number-and-Revision.patch index 2ea61494c..b0e4152fc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0107-ARM-bcm2835-Set-Serial-number-and-Revision.patch +++ b/target/linux/brcm2708/patches-4.19/950-0100-ARM-bcm2835-Set-Serial-number-and-Revision.patch @@ -1,7 +1,7 @@ From 6eb5a426229447a1045507fb63afdb11ddc5eda4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 107/806] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0108-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch b/target/linux/brcm2708/patches-4.19/950-0101-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0108-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch rename to target/linux/brcm2708/patches-4.19/950-0101-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch index 0ec0751a0..545be8004 100644 --- a/target/linux/brcm2708/patches-4.19/950-0108-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch +++ b/target/linux/brcm2708/patches-4.19/950-0101-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch @@ -1,7 +1,7 @@ From ffa437377a6121234cd85d3bd2a8d8c43f0bedd5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Dec 2017 09:18:32 +0000 -Subject: [PATCH 108/806] ARM: Activate FIQs to avoid __irq_startup warnings +Subject: [PATCH] ARM: Activate FIQs to avoid __irq_startup warnings There is a new test in __irq_startup that the IRQ is activated, which hasn't been the case for FIQs since they bypass some of the usual setup. diff --git a/target/linux/brcm2708/patches-4.19/950-0109-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch b/target/linux/brcm2708/patches-4.19/950-0102-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0109-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch rename to target/linux/brcm2708/patches-4.19/950-0102-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch index 5557b9d85..3e60981b8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0109-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch +++ b/target/linux/brcm2708/patches-4.19/950-0102-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch @@ -1,7 +1,7 @@ From f12549c9f3aed64fae5fe2ebbc2e8568a78829a2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 22 Jan 2018 17:26:38 +0000 -Subject: [PATCH 109/806] serial: 8250: bcm2835aux - suppress EPROBE_DEFER +Subject: [PATCH] serial: 8250: bcm2835aux - suppress EPROBE_DEFER Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0110-raspberrypi-firmware-Export-the-general-transaction-.patch b/target/linux/brcm2708/patches-4.19/950-0103-raspberrypi-firmware-Export-the-general-transaction-.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0110-raspberrypi-firmware-Export-the-general-transaction-.patch rename to target/linux/brcm2708/patches-4.19/950-0103-raspberrypi-firmware-Export-the-general-transaction-.patch index 945ba536e..8f574a322 100644 --- a/target/linux/brcm2708/patches-4.19/950-0110-raspberrypi-firmware-Export-the-general-transaction-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0103-raspberrypi-firmware-Export-the-general-transaction-.patch @@ -1,7 +1,7 @@ From 79d09be78f74e3c81ff25f1f78fb17a2f112e3cd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 110/806] raspberrypi-firmware: Export the general transaction +Subject: [PATCH] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. diff --git a/target/linux/brcm2708/patches-4.19/950-0111-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch b/target/linux/brcm2708/patches-4.19/950-0104-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0111-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch rename to target/linux/brcm2708/patches-4.19/950-0104-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch index 14d4ac980..b4db1d7c6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0111-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch +++ b/target/linux/brcm2708/patches-4.19/950-0104-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch @@ -1,7 +1,7 @@ From 3ddc9f2dc424c085ca646e92b40d156bb5318295 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 111/806] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt diff --git a/target/linux/brcm2708/patches-4.19/950-0112-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch b/target/linux/brcm2708/patches-4.19/950-0105-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0112-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch rename to target/linux/brcm2708/patches-4.19/950-0105-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch index 70b8aa22d..a61a137cb 100644 --- a/target/linux/brcm2708/patches-4.19/950-0112-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch +++ b/target/linux/brcm2708/patches-4.19/950-0105-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch @@ -1,7 +1,7 @@ From 15920eb72774682674a1e318146c1c009fd69e91 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 112/806] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. diff --git a/target/linux/brcm2708/patches-4.19/950-0106-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/brcm2708/patches-4.19/950-0106-cgroup-Disable-cgroup-memory-by-default.patch deleted file mode 100644 index 9650b6040..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0106-cgroup-Disable-cgroup-memory-by-default.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 7ae6ba03434344f90403936ae79bfd7ba005b49c Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Mon, 27 Nov 2017 17:14:54 +0000 -Subject: [PATCH 106/806] cgroup: Disable cgroup "memory" by default - -Some Raspberry Pis have limited RAM and most users won't use the -cgroup memory support so it is disabled by default. Enable with: - - cgroup_enable=memory - -See: https://github.com/raspberrypi/linux/issues/1950 - -Signed-off-by: Phil Elwell ---- - kernel/cgroup/cgroup.c | 30 ++++++++++++++++++++++++++++++ - 1 file changed, 30 insertions(+) - ---- a/kernel/cgroup/cgroup.c -+++ b/kernel/cgroup/cgroup.c -@@ -5334,6 +5334,8 @@ int __init cgroup_init_early(void) - } - - static u16 cgroup_disable_mask __initdata; -+static u16 cgroup_enable_mask __initdata; -+static int __init cgroup_disable(char *str); - - /** - * cgroup_init - cgroup initialization -@@ -5374,6 +5376,12 @@ int __init cgroup_init(void) - - mutex_unlock(&cgroup_mutex); - -+ /* Apply an implicit disable... */ -+ cgroup_disable("memory"); -+ -+ /* ...knowing that an explicit enable will override it. */ -+ cgroup_disable_mask &= ~cgroup_enable_mask; -+ - for_each_subsys(ss, ssid) { - if (ss->early_init) { - struct cgroup_subsys_state *css = -@@ -5765,6 +5773,28 @@ static int __init cgroup_disable(char *s - } - __setup("cgroup_disable=", cgroup_disable); - -+static int __init cgroup_enable(char *str) -+{ -+ struct cgroup_subsys *ss; -+ char *token; -+ int i; -+ -+ while ((token = strsep(&str, ",")) != NULL) { -+ if (!*token) -+ continue; -+ -+ for_each_subsys(ss, i) { -+ if (strcmp(token, ss->name) && -+ strcmp(token, ss->legacy_name)) -+ continue; -+ -+ cgroup_enable_mask |= 1 << i; -+ } -+ } -+ return 1; -+} -+__setup("cgroup_enable=", cgroup_enable); -+ - /** - * css_tryget_online_from_dir - get corresponding css from a cgroup dentry - * @dentry: directory dentry of interest diff --git a/target/linux/brcm2708/patches-4.19/950-0113-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch b/target/linux/brcm2708/patches-4.19/950-0106-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0113-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch rename to target/linux/brcm2708/patches-4.19/950-0106-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch index 32e966c29..be69fe72c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0113-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch +++ b/target/linux/brcm2708/patches-4.19/950-0106-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch @@ -1,7 +1,7 @@ From 90094103eaa17e147e30d910eb3ebdad663271be Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 113/806] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was diff --git a/target/linux/brcm2708/patches-4.19/950-0114-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch b/target/linux/brcm2708/patches-4.19/950-0107-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0114-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch rename to target/linux/brcm2708/patches-4.19/950-0107-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch index 1074decad..c916ebfa9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0114-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch +++ b/target/linux/brcm2708/patches-4.19/950-0107-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch @@ -1,7 +1,7 @@ From 562e0c66203a4f679c6adf6c0df91f7233df53b1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 114/806] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH] drm/vc4: Fix sending of page flip completion events in FKMS mode. In the rewrite of vc4_crtc.c for fkms, I dropped the part of the diff --git a/target/linux/brcm2708/patches-4.19/950-0115-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch b/target/linux/brcm2708/patches-4.19/950-0108-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0115-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch rename to target/linux/brcm2708/patches-4.19/950-0108-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch index 82bcbb396..2a52b0f98 100644 --- a/target/linux/brcm2708/patches-4.19/950-0115-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch +++ b/target/linux/brcm2708/patches-4.19/950-0108-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch @@ -1,7 +1,7 @@ From c95479213d28d9866e617a54b0435c974874ce9d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 6 Jul 2017 11:45:48 -0700 -Subject: [PATCH 115/806] drm/vc4: Add support for setting DPMS in firmwarekms. +Subject: [PATCH] drm/vc4: Add support for setting DPMS in firmwarekms. This ensures that the screen goes blank during DPMS (screensaver), including the cursor. Planes don't necessarily get disabled during diff --git a/target/linux/brcm2708/patches-4.19/950-0116-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch b/target/linux/brcm2708/patches-4.19/950-0109-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0116-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch rename to target/linux/brcm2708/patches-4.19/950-0109-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch index af931a64d..94a180f06 100644 --- a/target/linux/brcm2708/patches-4.19/950-0116-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch +++ b/target/linux/brcm2708/patches-4.19/950-0109-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch @@ -1,7 +1,7 @@ From 94db315153c83753aded66cf3ea1de2b95d37628 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 7 Jun 2017 14:39:49 -0700 -Subject: [PATCH 116/806] drm/vc4: Add FB modifier support to firmwarekms. +Subject: [PATCH] drm/vc4: Add FB modifier support to firmwarekms. Signed-off-by: Eric Anholt (cherry picked from commit 11752d73488e08aaeb65fe8289a9c016acde26c2) diff --git a/target/linux/brcm2708/patches-4.19/950-0117-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch b/target/linux/brcm2708/patches-4.19/950-0110-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0117-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch rename to target/linux/brcm2708/patches-4.19/950-0110-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch index 9bc4a2441..fbccc12e8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0117-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch +++ b/target/linux/brcm2708/patches-4.19/950-0110-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch @@ -1,7 +1,7 @@ From 10d8194f8415a69d3ea049450e86e14572591a71 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 30 Jan 2018 14:21:02 -0800 -Subject: [PATCH 117/806] drm/vc4: Add missing enable/disable vblank handlers +Subject: [PATCH] drm/vc4: Add missing enable/disable vblank handlers in fkms. Fixes hang at boot in 4.14. diff --git a/target/linux/brcm2708/patches-4.19/950-0118-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch b/target/linux/brcm2708/patches-4.19/950-0111-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0118-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch rename to target/linux/brcm2708/patches-4.19/950-0111-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch index 8594c6c9c..764edb66f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0118-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0111-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch @@ -1,7 +1,7 @@ From 5ef3d566615961b75f85868b028193bb54727140 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 118/806] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH] vc4_fkms: Apply firmware overscan offset to hardware cursor --- diff --git a/target/linux/brcm2708/patches-4.19/950-0119-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch b/target/linux/brcm2708/patches-4.19/950-0112-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0119-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch rename to target/linux/brcm2708/patches-4.19/950-0112-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch index fcfbccc4c..43b200db1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0119-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch +++ b/target/linux/brcm2708/patches-4.19/950-0112-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch @@ -1,7 +1,7 @@ From 36e1081459121883f9881a579c809c7b87895146 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 5 Feb 2018 18:01:02 +0000 -Subject: [PATCH 119/806] drm/vc4: Fix warning about vblank interrupts before +Subject: [PATCH] drm/vc4: Fix warning about vblank interrupts before DRM core is ready. The SMICS interrupt fires continuously, but since it's 1/100 the rate diff --git a/target/linux/brcm2708/patches-4.19/950-0120-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch b/target/linux/brcm2708/patches-4.19/950-0113-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0120-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch rename to target/linux/brcm2708/patches-4.19/950-0113-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch index 681016960..0b9398fda 100644 --- a/target/linux/brcm2708/patches-4.19/950-0120-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch +++ b/target/linux/brcm2708/patches-4.19/950-0113-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch @@ -1,7 +1,7 @@ From a87af130d6feadfea3146a78c58408a8be9a0635 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 5 Feb 2018 18:02:30 +0000 -Subject: [PATCH 120/806] drm/vc4: Skip SET_CURSOR_INFO when the cursor +Subject: [PATCH] drm/vc4: Skip SET_CURSOR_INFO when the cursor contents didn't change. Signed-off-by: Eric Anholt diff --git a/target/linux/brcm2708/patches-4.19/950-0121-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch b/target/linux/brcm2708/patches-4.19/950-0114-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0121-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch rename to target/linux/brcm2708/patches-4.19/950-0114-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch index c6e5abde8..cf3b87653 100644 --- a/target/linux/brcm2708/patches-4.19/950-0121-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0114-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch @@ -1,7 +1,7 @@ From 9326eeda8a0ec622c94b063fe2aaee642a932cfa Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 5 Feb 2018 18:22:03 +0000 -Subject: [PATCH 121/806] drm/vc4: Remove duplicate primary/cursor fields from +Subject: [PATCH] drm/vc4: Remove duplicate primary/cursor fields from FKMS driver. The CRTC has those fields and we can just use them. diff --git a/target/linux/brcm2708/patches-4.19/950-0122-vc4_firmware_kms-fix-build.patch b/target/linux/brcm2708/patches-4.19/950-0115-vc4_firmware_kms-fix-build.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0122-vc4_firmware_kms-fix-build.patch rename to target/linux/brcm2708/patches-4.19/950-0115-vc4_firmware_kms-fix-build.patch index 43dc0c2d3..65fc0978a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0122-vc4_firmware_kms-fix-build.patch +++ b/target/linux/brcm2708/patches-4.19/950-0115-vc4_firmware_kms-fix-build.patch @@ -1,7 +1,7 @@ From 8b9843afd665a52df07cc804d6fcb624b22cd85e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 17 Jun 2018 13:22:07 +0100 -Subject: [PATCH 122/806] vc4_firmware_kms: fix build +Subject: [PATCH] vc4_firmware_kms: fix build --- drivers/gpu/drm/vc4/vc4_firmware_kms.c | 6 ++++-- diff --git a/target/linux/brcm2708/patches-4.19/950-0123-hack-cache-Fix-linker-error.patch b/target/linux/brcm2708/patches-4.19/950-0116-hack-cache-Fix-linker-error.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0123-hack-cache-Fix-linker-error.patch rename to target/linux/brcm2708/patches-4.19/950-0116-hack-cache-Fix-linker-error.patch index bd9c838ef..ed4e65f11 100644 --- a/target/linux/brcm2708/patches-4.19/950-0123-hack-cache-Fix-linker-error.patch +++ b/target/linux/brcm2708/patches-4.19/950-0116-hack-cache-Fix-linker-error.patch @@ -1,7 +1,7 @@ From 7e26ec509af7279406042ecb776f173c487ffddc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 20 Feb 2018 20:53:46 +0000 -Subject: [PATCH 123/806] hack: cache: Fix linker error +Subject: [PATCH] hack: cache: Fix linker error --- arch/arm/mm/cache-v7.S | 2 ++ diff --git a/target/linux/brcm2708/patches-4.19/950-0124-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch b/target/linux/brcm2708/patches-4.19/950-0117-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0124-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch rename to target/linux/brcm2708/patches-4.19/950-0117-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch index 873f0d9bd..6103e82d8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0124-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch +++ b/target/linux/brcm2708/patches-4.19/950-0117-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch @@ -1,7 +1,7 @@ From b7e22249959b8111e3d8fe7a78afa6a7b0420350 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 20 Feb 2018 10:07:27 +0000 -Subject: [PATCH 124/806] i2c-gpio: Also set bus numbers from reg property +Subject: [PATCH] i2c-gpio: Also set bus numbers from reg property I2C busses can be assigned specific bus numbers using aliases in Device Tree - string properties where the name is the alias and the diff --git a/target/linux/brcm2708/patches-4.19/950-0125-sound-bcm-Fix-memset-dereference-warning.patch b/target/linux/brcm2708/patches-4.19/950-0118-sound-bcm-Fix-memset-dereference-warning.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0125-sound-bcm-Fix-memset-dereference-warning.patch rename to target/linux/brcm2708/patches-4.19/950-0118-sound-bcm-Fix-memset-dereference-warning.patch index d80333530..9c5e9138a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0125-sound-bcm-Fix-memset-dereference-warning.patch +++ b/target/linux/brcm2708/patches-4.19/950-0118-sound-bcm-Fix-memset-dereference-warning.patch @@ -1,7 +1,7 @@ From b6258886ad6bd69b3d51b9c79ea6ada0e01b2db9 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Sun, 4 Mar 2018 17:20:25 -0700 -Subject: [PATCH 125/806] sound: bcm: Fix memset dereference warning +Subject: [PATCH] sound: bcm: Fix memset dereference warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0126-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch b/target/linux/brcm2708/patches-4.19/950-0119-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch similarity index 88% rename from target/linux/brcm2708/patches-4.19/950-0126-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch rename to target/linux/brcm2708/patches-4.19/950-0119-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch index 9a9df8276..1b734b56a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0126-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0119-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch @@ -1,7 +1,7 @@ From 8e3577ac67382beda74437cb6f6bff5dbdb83fc9 Mon Sep 17 00:00:00 2001 From: hdoverobinson Date: Tue, 13 Mar 2018 06:58:39 -0400 -Subject: [PATCH 126/806] added capture_clear option to pps-gpio via dtoverlay +Subject: [PATCH] added capture_clear option to pps-gpio via dtoverlay (#2433) --- diff --git a/target/linux/brcm2708/patches-4.19/950-0127-lan78xx-Read-initial-EEE-status-from-DT.patch b/target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0127-lan78xx-Read-initial-EEE-status-from-DT.patch rename to target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch index 2b9670e2c..01dc3554f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0127-lan78xx-Read-initial-EEE-status-from-DT.patch +++ b/target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch @@ -1,7 +1,7 @@ From 26c3806ff17c6a7ed61ba127af36271390e86c89 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 9 Mar 2018 12:01:00 +0000 -Subject: [PATCH 127/806] lan78xx: Read initial EEE status from DT +Subject: [PATCH] lan78xx: Read initial EEE status from DT Add two new DT properties: * microchip,eee-enabled - a boolean to enable EEE @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2657,6 +2657,22 @@ static int lan78xx_open(struct net_devic +@@ -2658,6 +2658,22 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); diff --git a/target/linux/brcm2708/patches-4.19/950-0128-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch b/target/linux/brcm2708/patches-4.19/950-0121-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0128-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch rename to target/linux/brcm2708/patches-4.19/950-0121-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch index 360657fa1..4851e066a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0128-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch +++ b/target/linux/brcm2708/patches-4.19/950-0121-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch @@ -1,7 +1,7 @@ From 119f98cc4c860085809584b7504ca61bac70586e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 128/806] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- diff --git a/target/linux/brcm2708/patches-4.19/950-0129-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch b/target/linux/brcm2708/patches-4.19/950-0122-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0129-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch rename to target/linux/brcm2708/patches-4.19/950-0122-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch index c28ce4081..17867c330 100644 --- a/target/linux/brcm2708/patches-4.19/950-0129-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch +++ b/target/linux/brcm2708/patches-4.19/950-0122-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch @@ -1,7 +1,7 @@ From 1929780cf2cc997f990085bd878112b28f4175c9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Apr 2018 14:42:27 +0100 -Subject: [PATCH 129/806] gpiolib: Don't prevent IRQ usage of output GPIOs +Subject: [PATCH] gpiolib: Don't prevent IRQ usage of output GPIOs Upstream Linux deems using output GPIOs to generate IRQs as a bogus use case, even though the BCM2835 GPIO controller is capable of doing diff --git a/target/linux/brcm2708/patches-4.19/950-0130-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch b/target/linux/brcm2708/patches-4.19/950-0123-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0130-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch rename to target/linux/brcm2708/patches-4.19/950-0123-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch index f38cdce1b..60e7294c0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0130-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch +++ b/target/linux/brcm2708/patches-4.19/950-0123-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch @@ -1,7 +1,7 @@ From 3e060982d93902bcca8503df4e33d6cd1e41e21b Mon Sep 17 00:00:00 2001 From: Nick Bulleid Date: Thu, 10 May 2018 21:57:02 +0100 -Subject: [PATCH 130/806] Add ability to export gpio used by gpio-poweroff +Subject: [PATCH] Add ability to export gpio used by gpio-poweroff Signed-off-by: Nick Bulleid diff --git a/target/linux/brcm2708/patches-4.19/950-0131-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch b/target/linux/brcm2708/patches-4.19/950-0124-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0131-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch rename to target/linux/brcm2708/patches-4.19/950-0124-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch index ffe679fcf..8539d8442 100644 --- a/target/linux/brcm2708/patches-4.19/950-0131-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch +++ b/target/linux/brcm2708/patches-4.19/950-0124-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch @@ -1,7 +1,7 @@ From 68aaa2f653c83f8fda6032153566b4f895dff524 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 12 May 2018 21:35:43 +0100 -Subject: [PATCH 131/806] firmware/raspberrypi: Notify firmware of a reboot +Subject: [PATCH] firmware/raspberrypi: Notify firmware of a reboot Register for reboot notifications, sending RPI_FIRMWARE_NOTIFY_REBOOT over the mailbox interface on reception. diff --git a/target/linux/brcm2708/patches-4.19/950-0132-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch b/target/linux/brcm2708/patches-4.19/950-0125-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0132-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch rename to target/linux/brcm2708/patches-4.19/950-0125-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch index 16145fed3..281f273e8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0132-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch +++ b/target/linux/brcm2708/patches-4.19/950-0125-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch @@ -1,7 +1,7 @@ From 3166f055a568c4fe127b70b81a878ab59070a6f5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 14 Jun 2018 11:21:04 +0100 -Subject: [PATCH 132/806] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time +Subject: [PATCH] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time ad83c7cb2f37 ("irqchip/irq-bcm2836: Add support for DT interrupt polarity") changed the way that the BCM2836/7 local interrupts are mapped; instead diff --git a/target/linux/brcm2708/patches-4.19/950-0133-of-configfs-Use-of_overlay_fdt_apply-API-call.patch b/target/linux/brcm2708/patches-4.19/950-0126-of-configfs-Use-of_overlay_fdt_apply-API-call.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0133-of-configfs-Use-of_overlay_fdt_apply-API-call.patch rename to target/linux/brcm2708/patches-4.19/950-0126-of-configfs-Use-of_overlay_fdt_apply-API-call.patch index 7dbf51cb0..d3e91be8d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0133-of-configfs-Use-of_overlay_fdt_apply-API-call.patch +++ b/target/linux/brcm2708/patches-4.19/950-0126-of-configfs-Use-of_overlay_fdt_apply-API-call.patch @@ -1,7 +1,7 @@ From fe78e259c356ef883528c5ec3527c714a5966c0c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 14 Jun 2018 15:07:26 +0100 -Subject: [PATCH 133/806] of: configfs: Use of_overlay_fdt_apply API call +Subject: [PATCH] of: configfs: Use of_overlay_fdt_apply API call The published API to the dynamic overlay application mechanism now takes a Flattened Device Tree blob as input so that it can manage the diff --git a/target/linux/brcm2708/patches-4.19/950-0134-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch b/target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0134-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch rename to target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch index b33c4f437..ef1bbaac6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0134-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch +++ b/target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch @@ -1,7 +1,7 @@ From 59555269e09f06ae0ded9007c4aa02fa55ce71ca Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Jun 2018 15:21:10 +0100 -Subject: [PATCH 134/806] net: lan78xx: Disable TCP Segmentation Offload (TSO) +Subject: [PATCH] net: lan78xx: Disable TCP Segmentation Offload (TSO) TSO seems to be having issues when packets are dropped and the remote end uses Selective Acknowledge (SACK) to denote that @@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); -@@ -3011,8 +3020,14 @@ static int lan78xx_bind(struct lan78xx_n +@@ -3012,8 +3021,14 @@ static int lan78xx_bind(struct lan78xx_n if (DEFAULT_RX_CSUM_ENABLE) dev->net->features |= NETIF_F_RXCSUM; diff --git a/target/linux/brcm2708/patches-4.19/950-0136-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch b/target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0136-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch rename to target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch index 0d9f8b656..9b5e492c9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0136-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch +++ b/target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch @@ -1,7 +1,7 @@ From 75ec78040e02200dfc2ad4e35c289086334fbee2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 5 Apr 2018 14:46:11 +0100 -Subject: [PATCH 136/806] lan78xx: Move enabling of EEE into PHY init code +Subject: [PATCH] lan78xx: Move enabling of EEE into PHY init code Enable EEE mode as soon as possible after connecting to the PHY, and before phy_start. This avoids a second link negotiation, which speeds @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2189,6 +2189,22 @@ static int lan78xx_phy_init(struct lan78 +@@ -2190,6 +2190,22 @@ static int lan78xx_phy_init(struct lan78 mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); @@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell if (phydev->mdio.dev.of_node) { u32 reg; int len; -@@ -2666,22 +2682,6 @@ static int lan78xx_open(struct net_devic +@@ -2667,22 +2683,6 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); diff --git a/target/linux/brcm2708/patches-4.19/950-0137-staging-vc04_services-Derive-g_cache_line_size.patch b/target/linux/brcm2708/patches-4.19/950-0129-staging-vc04_services-Derive-g_cache_line_size.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0137-staging-vc04_services-Derive-g_cache_line_size.patch rename to target/linux/brcm2708/patches-4.19/950-0129-staging-vc04_services-Derive-g_cache_line_size.patch index c611322b8..f7bc93fdb 100644 --- a/target/linux/brcm2708/patches-4.19/950-0137-staging-vc04_services-Derive-g_cache_line_size.patch +++ b/target/linux/brcm2708/patches-4.19/950-0129-staging-vc04_services-Derive-g_cache_line_size.patch @@ -1,7 +1,7 @@ From 6bc13b1a867a5fd769f2be713ce9c9d863534bff Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Aug 2018 10:40:40 +0100 -Subject: [PATCH 137/806] staging/vc04_services: Derive g_cache_line_size +Subject: [PATCH] staging/vc04_services: Derive g_cache_line_size The ARM coprocessor registers include dcache line size, but there is no function to expose this value. Rather than create a new one, use the diff --git a/target/linux/brcm2708/patches-4.19/950-0138-Add-rpi-poe-fan-driver.patch b/target/linux/brcm2708/patches-4.19/950-0130-Add-rpi-poe-fan-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0138-Add-rpi-poe-fan-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0130-Add-rpi-poe-fan-driver.patch index c007b2538..b39330640 100644 --- a/target/linux/brcm2708/patches-4.19/950-0138-Add-rpi-poe-fan-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0130-Add-rpi-poe-fan-driver.patch @@ -1,7 +1,7 @@ From e6528f67b96f52ea77d95a59e75d8270bb53aade Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 9 Jul 2018 12:54:25 +0100 -Subject: [PATCH 138/806] Add rpi-poe-fan driver +Subject: [PATCH] Add rpi-poe-fan driver Signed-off-by: Serge Schneider diff --git a/target/linux/brcm2708/patches-4.19/950-0139-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch b/target/linux/brcm2708/patches-4.19/950-0131-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0139-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch rename to target/linux/brcm2708/patches-4.19/950-0131-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch index 7125b19e6..d67c9381e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0139-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0131-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch @@ -1,7 +1,7 @@ From a54bad2a438d7c67b1e012cf31fd2a112bc90e2a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 17 Sep 2018 17:31:18 +0100 -Subject: [PATCH 139/806] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 +Subject: [PATCH] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with MEDIA_SUBDRV_AUTOSELECT --- diff --git a/target/linux/brcm2708/patches-4.19/950-0141-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch b/target/linux/brcm2708/patches-4.19/950-0132-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0141-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch rename to target/linux/brcm2708/patches-4.19/950-0132-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch index dd128a161..e6836b506 100644 --- a/target/linux/brcm2708/patches-4.19/950-0141-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch +++ b/target/linux/brcm2708/patches-4.19/950-0132-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch @@ -1,7 +1,7 @@ From 75fdebcf15e8023b9640d9fc2e3ed227e5563968 Mon Sep 17 00:00:00 2001 From: detule Date: Tue, 2 Oct 2018 04:10:08 -0400 -Subject: [PATCH 141/806] vchiq_2835_arm: Implement a DMA pool for small bulk +Subject: [PATCH] vchiq_2835_arm: Implement a DMA pool for small bulk transfers (#2699) During a bulk transfer we request a DMA allocation to hold the diff --git a/target/linux/brcm2708/patches-4.19/950-0142-BCM2708_DT-Use-upstreamed-GPIO-expander-driver.patch b/target/linux/brcm2708/patches-4.19/950-0133-BCM2708_DT-Use-upstreamed-GPIO-expander-driver.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0142-BCM2708_DT-Use-upstreamed-GPIO-expander-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0133-BCM2708_DT-Use-upstreamed-GPIO-expander-driver.patch index cc2fa3b79..3fcd3d934 100644 --- a/target/linux/brcm2708/patches-4.19/950-0142-BCM2708_DT-Use-upstreamed-GPIO-expander-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0133-BCM2708_DT-Use-upstreamed-GPIO-expander-driver.patch @@ -1,7 +1,7 @@ From b44b364b2762579776addb7371f71b77fce62eb8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 Oct 2018 12:20:36 +0100 -Subject: [PATCH 142/806] BCM2708_DT: Use upstreamed GPIO expander driver +Subject: [PATCH] BCM2708_DT: Use upstreamed GPIO expander driver The upstreamed driver for the GPIO expander has a different compatible string. Change the relevant Device Tree files to match. diff --git a/target/linux/brcm2708/patches-4.19/950-0143-overlays-Fix-a-few-dtc-warnings.patch b/target/linux/brcm2708/patches-4.19/950-0134-overlays-Fix-a-few-dtc-warnings.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0143-overlays-Fix-a-few-dtc-warnings.patch rename to target/linux/brcm2708/patches-4.19/950-0134-overlays-Fix-a-few-dtc-warnings.patch index 5ed3a8fe3..b4c4f5aab 100644 --- a/target/linux/brcm2708/patches-4.19/950-0143-overlays-Fix-a-few-dtc-warnings.patch +++ b/target/linux/brcm2708/patches-4.19/950-0134-overlays-Fix-a-few-dtc-warnings.patch @@ -1,7 +1,7 @@ From 13abcbfdc76f1a40c36367fe28b76e29742b2d05 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 Oct 2018 17:16:28 +0100 -Subject: [PATCH 143/806] overlays: Fix a few dtc warnings +Subject: [PATCH] overlays: Fix a few dtc warnings Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0144-bcm2708-rpi-Disable-txp-interrupt-unless-using-vc4-k.patch b/target/linux/brcm2708/patches-4.19/950-0135-bcm2708-rpi-Disable-txp-interrupt-unless-using-vc4-k.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0144-bcm2708-rpi-Disable-txp-interrupt-unless-using-vc4-k.patch rename to target/linux/brcm2708/patches-4.19/950-0135-bcm2708-rpi-Disable-txp-interrupt-unless-using-vc4-k.patch index e4cead3b1..40a665252 100644 --- a/target/linux/brcm2708/patches-4.19/950-0144-bcm2708-rpi-Disable-txp-interrupt-unless-using-vc4-k.patch +++ b/target/linux/brcm2708/patches-4.19/950-0135-bcm2708-rpi-Disable-txp-interrupt-unless-using-vc4-k.patch @@ -1,7 +1,7 @@ From 44b80e04ec619a2e28ff150c3e09123399002d6d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Oct 2018 16:32:52 +0100 -Subject: [PATCH 144/806] bcm2708-rpi: Disable txp interrupt unless using +Subject: [PATCH] bcm2708-rpi: Disable txp interrupt unless using vc4-kms-v3d overlay Signed-off-by: popcornmix diff --git a/target/linux/brcm2708/patches-4.19/950-0146-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch b/target/linux/brcm2708/patches-4.19/950-0136-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0146-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch rename to target/linux/brcm2708/patches-4.19/950-0136-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch index 33ef6af08..ea9846d09 100644 --- a/target/linux/brcm2708/patches-4.19/950-0146-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0136-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch @@ -1,7 +1,7 @@ From e7056be388c7bbc6f0211f587643ff795ce30814 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 6 Oct 2018 16:46:18 +0200 -Subject: [PATCH 146/806] hwmon: raspberrypi: Prevent voltage low warnings from +Subject: [PATCH] hwmon: raspberrypi: Prevent voltage low warnings from filling log Although the correct fix for low voltage warnings is to diff --git a/target/linux/brcm2708/patches-4.19/950-0147-firmware-raspberrypi-Add-backward-compatible-get_thr.patch b/target/linux/brcm2708/patches-4.19/950-0137-firmware-raspberrypi-Add-backward-compatible-get_thr.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0147-firmware-raspberrypi-Add-backward-compatible-get_thr.patch rename to target/linux/brcm2708/patches-4.19/950-0137-firmware-raspberrypi-Add-backward-compatible-get_thr.patch index 1a74f9c1f..24803abb2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0147-firmware-raspberrypi-Add-backward-compatible-get_thr.patch +++ b/target/linux/brcm2708/patches-4.19/950-0137-firmware-raspberrypi-Add-backward-compatible-get_thr.patch @@ -1,7 +1,7 @@ From 4c26452ecee989e1f43a80654a0d5cd8ce64e49e Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 13 Oct 2018 13:31:21 +0200 -Subject: [PATCH 147/806] firmware: raspberrypi: Add backward compatible +Subject: [PATCH] firmware: raspberrypi: Add backward compatible get_throttled Avoid a hard userspace ABI change by adding a compatible get_throttled diff --git a/target/linux/brcm2708/patches-4.19/950-0149-sc16is7xx-Don-t-spin-if-no-data-received.patch b/target/linux/brcm2708/patches-4.19/950-0138-sc16is7xx-Don-t-spin-if-no-data-received.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0149-sc16is7xx-Don-t-spin-if-no-data-received.patch rename to target/linux/brcm2708/patches-4.19/950-0138-sc16is7xx-Don-t-spin-if-no-data-received.patch index cfbc59e61..6f2288173 100644 --- a/target/linux/brcm2708/patches-4.19/950-0149-sc16is7xx-Don-t-spin-if-no-data-received.patch +++ b/target/linux/brcm2708/patches-4.19/950-0138-sc16is7xx-Don-t-spin-if-no-data-received.patch @@ -1,7 +1,7 @@ From 3f8c7542e12f23f6be2cd7206fbf808409db2848 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 6 Nov 2018 12:57:48 +0000 -Subject: [PATCH 149/806] sc16is7xx: Don't spin if no data received +Subject: [PATCH] sc16is7xx: Don't spin if no data received See: https://github.com/raspberrypi/linux/issues/2676 diff --git a/target/linux/brcm2708/patches-4.19/950-0155-Add-device-tree-overlay-for-HD44780.patch b/target/linux/brcm2708/patches-4.19/950-0139-Add-device-tree-overlay-for-HD44780.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0155-Add-device-tree-overlay-for-HD44780.patch rename to target/linux/brcm2708/patches-4.19/950-0139-Add-device-tree-overlay-for-HD44780.patch index 5d5fd9282..f48b8eab9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0155-Add-device-tree-overlay-for-HD44780.patch +++ b/target/linux/brcm2708/patches-4.19/950-0139-Add-device-tree-overlay-for-HD44780.patch @@ -1,7 +1,7 @@ From b5ec75dab38af2429278df48121642cb5605e318 Mon Sep 17 00:00:00 2001 From: Jasper Boomer Date: Sun, 24 Jun 2018 12:20:27 -0400 -Subject: [PATCH 155/806] Add device tree overlay for HD44780 +Subject: [PATCH] Add device tree overlay for HD44780 --- arch/arm/boot/dts/overlays/Makefile | 1 + diff --git a/target/linux/brcm2708/patches-4.19/950-0140-bcm2835-interpolate-audio-delay.patch b/target/linux/brcm2708/patches-4.19/950-0140-bcm2835-interpolate-audio-delay.patch deleted file mode 100644 index 5a54adda1..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0140-bcm2835-interpolate-audio-delay.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 652b0ec2ab2d2e2af7bb4f7d62a4020a20720677 Mon Sep 17 00:00:00 2001 -From: wm4 -Date: Wed, 13 Jan 2016 19:44:47 +0100 -Subject: [PATCH 140/806] bcm2835: interpolate audio delay - -It appears the GPU only sends us a message all 10ms to update -the playback progress. Other than this, the playback position -(what SNDRV_PCM_IOCTL_DELAY will return) is not updated at all. -Userspace will see jitter up to 10ms in the audio position. - -Make this a bit nicer for userspace by interpolating the -position using the CPU clock. - -I'm not sure if setting snd_pcm_runtime.delay is the right -approach for this. Or if there is maybe an already existing -mechanism for position interpolation in the ALSA core. - -I only set SNDRV_PCM_INFO_BATCH because this appears to remove -at least one situation snd_pcm_runtime.delay is used, so I have -to worry less in which place I have to update this field, or -how it interacts with the rest of ALSA. - -In the future, it might be nice to use VC_AUDIO_MSG_TYPE_LATENCY. -One problem is that it requires sending a videocore message, and -waiting for a reply, which could make the implementation much -harder due to locking and synchronization requirements. ---- - .../vc04_services/bcm2835-audio/bcm2835-pcm.c | 12 +++++++++++- - .../staging/vc04_services/bcm2835-audio/bcm2835.h | 1 + - 2 files changed, 12 insertions(+), 1 deletion(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c -@@ -11,7 +11,7 @@ - /* hardware definition */ - static const struct snd_pcm_hardware snd_bcm2835_playback_hw = { - .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | -- SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), -+ SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_BATCH), - .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, - .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000, - .rate_min = 8000, -@@ -81,6 +81,8 @@ void bcm2835_playback_fifo(struct bcm283 - alsa_stream->pos %= alsa_stream->buffer_size; - } - -+ alsa_stream->interpolate_start = ktime_get_ns(); -+ - if (alsa_stream->substream) { - if (new_period) - snd_pcm_period_elapsed(alsa_stream->substream); -@@ -306,6 +308,7 @@ static int snd_bcm2835_pcm_prepare(struc - alsa_stream->buffer_size = snd_pcm_lib_buffer_bytes(substream); - alsa_stream->period_size = snd_pcm_lib_period_bytes(substream); - alsa_stream->pos = 0; -+ alsa_stream->interpolate_start = ktime_get_ns(); - - audio_debug("buffer_size=%d, period_size=%d pos=%d frame_bits=%d\n", - alsa_stream->buffer_size, alsa_stream->period_size, -@@ -397,12 +400,19 @@ snd_bcm2835_pcm_pointer(struct snd_pcm_s - { - struct snd_pcm_runtime *runtime = substream->runtime; - struct bcm2835_alsa_stream *alsa_stream = runtime->private_data; -+ u64 now = ktime_get_ns(); - - audio_debug("pcm_pointer... (%d) hwptr=%d appl=%d pos=%d\n", 0, - frames_to_bytes(runtime, runtime->status->hw_ptr), - frames_to_bytes(runtime, runtime->control->appl_ptr), - alsa_stream->pos); - -+ /* Give userspace better delay reporting by interpolating between GPU -+ * notifications, assuming audio speed is close enough to the clock -+ * used for ktime */ -+ if (alsa_stream->interpolate_start && alsa_stream->interpolate_start < now) -+ runtime->delay = -(int)div_u64((now - alsa_stream->interpolate_start) * runtime->rate, 1000000000); -+ - return snd_pcm_indirect_playback_pointer(substream, - &alsa_stream->pcm_indirect, - alsa_stream->pos); ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h -@@ -133,6 +133,7 @@ struct bcm2835_alsa_stream { - unsigned int pos; - unsigned int buffer_size; - unsigned int period_size; -+ u64 interpolate_start; - - atomic_t retrieved; - struct bcm2835_audio_instance *instance; diff --git a/target/linux/brcm2708/patches-4.19/950-0157-overlays-Add-addr-parameter-to-i2c-rtc-gpio.patch b/target/linux/brcm2708/patches-4.19/950-0140-overlays-Add-addr-parameter-to-i2c-rtc-gpio.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0157-overlays-Add-addr-parameter-to-i2c-rtc-gpio.patch rename to target/linux/brcm2708/patches-4.19/950-0140-overlays-Add-addr-parameter-to-i2c-rtc-gpio.patch index 8d8742e25..ef8e1eaaa 100644 --- a/target/linux/brcm2708/patches-4.19/950-0157-overlays-Add-addr-parameter-to-i2c-rtc-gpio.patch +++ b/target/linux/brcm2708/patches-4.19/950-0140-overlays-Add-addr-parameter-to-i2c-rtc-gpio.patch @@ -1,7 +1,7 @@ From 20dbf906033167e7c4296eee07437d52627d8ccf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 9 Jul 2018 21:11:32 +0100 -Subject: [PATCH 157/806] overlays: Add addr parameter to i2c-rtc (& -gpio) +Subject: [PATCH] overlays: Add addr parameter to i2c-rtc (& -gpio) See: https://github.com/raspberrypi/linux/issues/2611 diff --git a/target/linux/brcm2708/patches-4.19/950-0158-ARM-BCM270X-Add-the-18-bit-DPI-pinmux-to-the-RPI-DTs.patch b/target/linux/brcm2708/patches-4.19/950-0141-ARM-BCM270X-Add-the-18-bit-DPI-pinmux-to-the-RPI-DTs.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0158-ARM-BCM270X-Add-the-18-bit-DPI-pinmux-to-the-RPI-DTs.patch rename to target/linux/brcm2708/patches-4.19/950-0141-ARM-BCM270X-Add-the-18-bit-DPI-pinmux-to-the-RPI-DTs.patch index 7875a374b..7e5286eaa 100644 --- a/target/linux/brcm2708/patches-4.19/950-0158-ARM-BCM270X-Add-the-18-bit-DPI-pinmux-to-the-RPI-DTs.patch +++ b/target/linux/brcm2708/patches-4.19/950-0141-ARM-BCM270X-Add-the-18-bit-DPI-pinmux-to-the-RPI-DTs.patch @@ -1,7 +1,7 @@ From 8a9c6862c6010b4500cb08c62ac4aea6897cf485 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 9 Mar 2018 14:24:05 -0800 -Subject: [PATCH 158/806] ARM: BCM270X: Add the 18-bit DPI pinmux to the RPI +Subject: [PATCH] ARM: BCM270X: Add the 18-bit DPI pinmux to the RPI DTs. This doesn't do anything by default, but trying to put the node in an diff --git a/target/linux/brcm2708/patches-4.19/950-0159-overlays-Add-an-overlay-for-the-Adafruit-Kippah-with.patch b/target/linux/brcm2708/patches-4.19/950-0142-overlays-Add-an-overlay-for-the-Adafruit-Kippah-with.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0159-overlays-Add-an-overlay-for-the-Adafruit-Kippah-with.patch rename to target/linux/brcm2708/patches-4.19/950-0142-overlays-Add-an-overlay-for-the-Adafruit-Kippah-with.patch index 775a69ee7..56d9d9aca 100644 --- a/target/linux/brcm2708/patches-4.19/950-0159-overlays-Add-an-overlay-for-the-Adafruit-Kippah-with.patch +++ b/target/linux/brcm2708/patches-4.19/950-0142-overlays-Add-an-overlay-for-the-Adafruit-Kippah-with.patch @@ -1,7 +1,7 @@ From 467e9cb87261c27b6c70ec714ae3cb58b48d0f6b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 9 Mar 2018 13:20:21 -0800 -Subject: [PATCH 159/806] overlays: Add an overlay for the Adafruit Kippah with +Subject: [PATCH] overlays: Add an overlay for the Adafruit Kippah with their 7" panel Signed-off-by: Eric Anholt diff --git a/target/linux/brcm2708/patches-4.19/950-0160-overlays-Remove-stale-notes-about-vc4-s-CMA-alignmen.patch b/target/linux/brcm2708/patches-4.19/950-0143-overlays-Remove-stale-notes-about-vc4-s-CMA-alignmen.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0160-overlays-Remove-stale-notes-about-vc4-s-CMA-alignmen.patch rename to target/linux/brcm2708/patches-4.19/950-0143-overlays-Remove-stale-notes-about-vc4-s-CMA-alignmen.patch index 6a97f4dec..cd188a717 100644 --- a/target/linux/brcm2708/patches-4.19/950-0160-overlays-Remove-stale-notes-about-vc4-s-CMA-alignmen.patch +++ b/target/linux/brcm2708/patches-4.19/950-0143-overlays-Remove-stale-notes-about-vc4-s-CMA-alignmen.patch @@ -1,7 +1,7 @@ From a90677b7610230ed88bd1866684e05ac2a0321f6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 9 Mar 2018 13:26:33 -0800 -Subject: [PATCH 160/806] overlays: Remove stale notes about vc4's CMA +Subject: [PATCH] overlays: Remove stale notes about vc4's CMA alignment in the README. We haven't needed alignment since diff --git a/target/linux/brcm2708/patches-4.19/950-0161-spi-Make-GPIO-CSs-honour-the-SPI_NO_CS-flag.patch b/target/linux/brcm2708/patches-4.19/950-0144-spi-Make-GPIO-CSs-honour-the-SPI_NO_CS-flag.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0161-spi-Make-GPIO-CSs-honour-the-SPI_NO_CS-flag.patch rename to target/linux/brcm2708/patches-4.19/950-0144-spi-Make-GPIO-CSs-honour-the-SPI_NO_CS-flag.patch index 05b255dc8..727624086 100644 --- a/target/linux/brcm2708/patches-4.19/950-0161-spi-Make-GPIO-CSs-honour-the-SPI_NO_CS-flag.patch +++ b/target/linux/brcm2708/patches-4.19/950-0144-spi-Make-GPIO-CSs-honour-the-SPI_NO_CS-flag.patch @@ -1,7 +1,7 @@ From d7aa9d52b7f9b2d600f9b2479767c24d438a2c68 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Jul 2018 14:23:47 +0100 -Subject: [PATCH 161/806] spi: Make GPIO CSs honour the SPI_NO_CS flag +Subject: [PATCH] spi: Make GPIO CSs honour the SPI_NO_CS flag The SPI configuration state includes an SPI_NO_CS flag that disables all CS line manipulation, for applications that want to manage their diff --git a/target/linux/brcm2708/patches-4.19/950-0162-devicetree-add-RPi-CM3-dts-to-arm64-mimic-the-RPi-3B.patch b/target/linux/brcm2708/patches-4.19/950-0145-devicetree-add-RPi-CM3-dts-to-arm64-mimic-the-RPi-3B.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0162-devicetree-add-RPi-CM3-dts-to-arm64-mimic-the-RPi-3B.patch rename to target/linux/brcm2708/patches-4.19/950-0145-devicetree-add-RPi-CM3-dts-to-arm64-mimic-the-RPi-3B.patch index 2ab50965b..567052f0f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0162-devicetree-add-RPi-CM3-dts-to-arm64-mimic-the-RPi-3B.patch +++ b/target/linux/brcm2708/patches-4.19/950-0145-devicetree-add-RPi-CM3-dts-to-arm64-mimic-the-RPi-3B.patch @@ -1,7 +1,7 @@ From 120cbbc17c917790fe523ee67a32e877e5592b93 Mon Sep 17 00:00:00 2001 From: Steve Pavao Date: Fri, 10 Aug 2018 17:09:50 -0400 -Subject: [PATCH 162/806] devicetree: add RPi CM3 dts to arm64; mimic the RPi +Subject: [PATCH] devicetree: add RPi CM3 dts to arm64; mimic the RPi 3B arm64 dts implementation, by referring to the actual dts file in the arm directory diff --git a/target/linux/brcm2708/patches-4.19/950-0163-Add-support-for-audioinjector.net-ultra-soundcard.-2.patch b/target/linux/brcm2708/patches-4.19/950-0146-Add-support-for-audioinjector.net-ultra-soundcard.-2.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0163-Add-support-for-audioinjector.net-ultra-soundcard.-2.patch rename to target/linux/brcm2708/patches-4.19/950-0146-Add-support-for-audioinjector.net-ultra-soundcard.-2.patch index 8e5f84efd..583b2c8b5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0163-Add-support-for-audioinjector.net-ultra-soundcard.-2.patch +++ b/target/linux/brcm2708/patches-4.19/950-0146-Add-support-for-audioinjector.net-ultra-soundcard.-2.patch @@ -1,7 +1,7 @@ From e2516e3a7d2244f74c3267be8bdc143448c278be Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 28 Aug 2018 18:42:13 +1000 -Subject: [PATCH 163/806] Add support for audioinjector.net ultra soundcard. +Subject: [PATCH] Add support for audioinjector.net ultra soundcard. (#2664) Uses the simple-audio-card ALSA machine driver. Sets up the machine diff --git a/target/linux/brcm2708/patches-4.19/950-0164-ASoC-cs4265-Add-a-S-PDIF-enable-switch.patch b/target/linux/brcm2708/patches-4.19/950-0147-ASoC-cs4265-Add-a-S-PDIF-enable-switch.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0164-ASoC-cs4265-Add-a-S-PDIF-enable-switch.patch rename to target/linux/brcm2708/patches-4.19/950-0147-ASoC-cs4265-Add-a-S-PDIF-enable-switch.patch index b8c17b83f..642bd2b39 100644 --- a/target/linux/brcm2708/patches-4.19/950-0164-ASoC-cs4265-Add-a-S-PDIF-enable-switch.patch +++ b/target/linux/brcm2708/patches-4.19/950-0147-ASoC-cs4265-Add-a-S-PDIF-enable-switch.patch @@ -1,7 +1,7 @@ From 92d32a3a11bc8c290370ba37bf792996ce3da8bc Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Thu, 30 Aug 2018 09:38:02 +1000 -Subject: [PATCH 164/806] ASoC: cs4265: Add a S/PDIF enable switch +Subject: [PATCH] ASoC: cs4265: Add a S/PDIF enable switch commit f853d6b3ba345297974d877d8ed0f4a91eaca739 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0165-ASoC-cs4265-Add-native-32bit-I2S-transport.patch b/target/linux/brcm2708/patches-4.19/950-0148-ASoC-cs4265-Add-native-32bit-I2S-transport.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0165-ASoC-cs4265-Add-native-32bit-I2S-transport.patch rename to target/linux/brcm2708/patches-4.19/950-0148-ASoC-cs4265-Add-native-32bit-I2S-transport.patch index 8e32928cf..cedc79284 100644 --- a/target/linux/brcm2708/patches-4.19/950-0165-ASoC-cs4265-Add-native-32bit-I2S-transport.patch +++ b/target/linux/brcm2708/patches-4.19/950-0148-ASoC-cs4265-Add-native-32bit-I2S-transport.patch @@ -1,7 +1,7 @@ From 8b81eec1fab393a4f0df4a77788aaaccb39e55dd Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Thu, 30 Aug 2018 09:38:01 +1000 -Subject: [PATCH 165/806] ASoC: cs4265: Add native 32bit I2S transport +Subject: [PATCH] ASoC: cs4265: Add native 32bit I2S transport commit be47e75eb1419ffc1d9c26230963fd5fa3055097 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0167-BCM270X_DT-Add-gpio-fan-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0149-BCM270X_DT-Add-gpio-fan-overlay.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0167-BCM270X_DT-Add-gpio-fan-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0149-BCM270X_DT-Add-gpio-fan-overlay.patch index f0cd000a2..f25249038 100644 --- a/target/linux/brcm2708/patches-4.19/950-0167-BCM270X_DT-Add-gpio-fan-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0149-BCM270X_DT-Add-gpio-fan-overlay.patch @@ -1,7 +1,7 @@ From 9762b3a015886c42941f535e688ffac1f56e35aa Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 18 Sep 2018 11:08:07 +0100 -Subject: [PATCH 167/806] BCM270X_DT: Add gpio-fan overlay +Subject: [PATCH] BCM270X_DT: Add gpio-fan overlay Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0168-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch b/target/linux/brcm2708/patches-4.19/950-0150-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0168-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch rename to target/linux/brcm2708/patches-4.19/950-0150-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch index 693afc181..52bd49af5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0168-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch +++ b/target/linux/brcm2708/patches-4.19/950-0150-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch @@ -1,7 +1,7 @@ From 08e33d99152acc5e35fd94f9b443f38baaac93e1 Mon Sep 17 00:00:00 2001 From: Hanno Zulla Date: Thu, 23 Aug 2018 17:03:38 +0200 -Subject: [PATCH 168/806] HID: hid-bigbenff: driver for BigBen Interactive +Subject: [PATCH] HID: hid-bigbenff: driver for BigBen Interactive PS3OFMINIPAD gamepad commit 256a90ed9e46b270bbc4e15ef05216ff049c3721 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0170-ASoC-cs4265-Add-a-MIC-pre.-route-2696.patch b/target/linux/brcm2708/patches-4.19/950-0151-ASoC-cs4265-Add-a-MIC-pre.-route-2696.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0170-ASoC-cs4265-Add-a-MIC-pre.-route-2696.patch rename to target/linux/brcm2708/patches-4.19/950-0151-ASoC-cs4265-Add-a-MIC-pre.-route-2696.patch index 9f67d8a1f..8e35113fd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0170-ASoC-cs4265-Add-a-MIC-pre.-route-2696.patch +++ b/target/linux/brcm2708/patches-4.19/950-0151-ASoC-cs4265-Add-a-MIC-pre.-route-2696.patch @@ -1,7 +1,7 @@ From f78b69873eb4839dd836b4a681ccce90aa8188f1 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Fri, 28 Sep 2018 15:13:28 +1000 -Subject: [PATCH 170/806] ASoC: cs4265: Add a MIC pre. route (#2696) +Subject: [PATCH] ASoC: cs4265: Add a MIC pre. route (#2696) Commit b0ef5011b981ece1fde8063243a56d3038b87adb upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0171-Update-gpio-fan-overlay.dts-2711.patch b/target/linux/brcm2708/patches-4.19/950-0152-Update-gpio-fan-overlay.dts-2711.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0171-Update-gpio-fan-overlay.dts-2711.patch rename to target/linux/brcm2708/patches-4.19/950-0152-Update-gpio-fan-overlay.dts-2711.patch index b95b2b92d..c8f375942 100644 --- a/target/linux/brcm2708/patches-4.19/950-0171-Update-gpio-fan-overlay.dts-2711.patch +++ b/target/linux/brcm2708/patches-4.19/950-0152-Update-gpio-fan-overlay.dts-2711.patch @@ -1,7 +1,7 @@ From 4a2be174938ac115beac4f07fa8b7ee33406cde8 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 11 Oct 2018 12:17:20 +0300 -Subject: [PATCH 171/806] Update gpio-fan-overlay.dts (#2711) +Subject: [PATCH] Update gpio-fan-overlay.dts (#2711) Add references, links, clear details, some typo correction. --- diff --git a/target/linux/brcm2708/patches-4.19/950-0172-drivers-thermal-step_wise-add-support-for-hysteresis.patch b/target/linux/brcm2708/patches-4.19/950-0153-drivers-thermal-step_wise-add-support-for-hysteresis.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0172-drivers-thermal-step_wise-add-support-for-hysteresis.patch rename to target/linux/brcm2708/patches-4.19/950-0153-drivers-thermal-step_wise-add-support-for-hysteresis.patch index 3043559c0..af447c170 100644 --- a/target/linux/brcm2708/patches-4.19/950-0172-drivers-thermal-step_wise-add-support-for-hysteresis.patch +++ b/target/linux/brcm2708/patches-4.19/950-0153-drivers-thermal-step_wise-add-support-for-hysteresis.patch @@ -1,7 +1,7 @@ From 05a13bbd7fbb76b4f690042173749a55d85de831 Mon Sep 17 00:00:00 2001 From: Ram Chandrasekar Date: Mon, 7 May 2018 11:54:08 -0600 -Subject: [PATCH 172/806] drivers: thermal: step_wise: add support for +Subject: [PATCH] drivers: thermal: step_wise: add support for hysteresis From: Ram Chandrasekar diff --git a/target/linux/brcm2708/patches-4.19/950-0173-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch b/target/linux/brcm2708/patches-4.19/950-0154-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0173-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch rename to target/linux/brcm2708/patches-4.19/950-0154-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch index 8a07a46d2..8547b4fdd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0173-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch +++ b/target/linux/brcm2708/patches-4.19/950-0154-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch @@ -1,7 +1,7 @@ From c7c358c1ac991887b6d2c9193139f9f35a36e985 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Tue, 2 Oct 2018 11:14:15 +0100 -Subject: [PATCH 173/806] drivers: thermal: step_wise: avoid throttling at +Subject: [PATCH] drivers: thermal: step_wise: avoid throttling at hysteresis temperature after dropping below it Signed-off-by: Serge Schneider diff --git a/target/linux/brcm2708/patches-4.19/950-0174-hwmon-adjust-rpi-poe-fan-overlay-trip-points.patch b/target/linux/brcm2708/patches-4.19/950-0155-hwmon-adjust-rpi-poe-fan-overlay-trip-points.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0174-hwmon-adjust-rpi-poe-fan-overlay-trip-points.patch rename to target/linux/brcm2708/patches-4.19/950-0155-hwmon-adjust-rpi-poe-fan-overlay-trip-points.patch index 37331d3aa..ae35e8b7d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0174-hwmon-adjust-rpi-poe-fan-overlay-trip-points.patch +++ b/target/linux/brcm2708/patches-4.19/950-0155-hwmon-adjust-rpi-poe-fan-overlay-trip-points.patch @@ -1,7 +1,7 @@ From 018b90a28a06e351dc67db043e9889eeed33120c Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Wed, 26 Sep 2018 19:44:59 +0100 -Subject: [PATCH 174/806] hwmon: adjust rpi-poe-fan overlay trip points +Subject: [PATCH] hwmon: adjust rpi-poe-fan overlay trip points Signed-off-by: Serge Schneider --- diff --git a/target/linux/brcm2708/patches-4.19/950-0175-overlays-add-overrides-for-PoE-HAT-fan-control.patch b/target/linux/brcm2708/patches-4.19/950-0156-overlays-add-overrides-for-PoE-HAT-fan-control.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0175-overlays-add-overrides-for-PoE-HAT-fan-control.patch rename to target/linux/brcm2708/patches-4.19/950-0156-overlays-add-overrides-for-PoE-HAT-fan-control.patch index e795df16f..0ea76db50 100644 --- a/target/linux/brcm2708/patches-4.19/950-0175-overlays-add-overrides-for-PoE-HAT-fan-control.patch +++ b/target/linux/brcm2708/patches-4.19/950-0156-overlays-add-overrides-for-PoE-HAT-fan-control.patch @@ -1,7 +1,7 @@ From a6593a1bc8708f73c424c05c64d49d3868e1bdd5 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Tue, 2 Oct 2018 17:13:48 +0100 -Subject: [PATCH 175/806] overlays: add overrides for PoE HAT fan control +Subject: [PATCH] overlays: add overrides for PoE HAT fan control Signed-off-by: Serge Schneider --- diff --git a/target/linux/brcm2708/patches-4.19/950-0176-overlays-Add-gpio-no-bank0-irq-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0157-overlays-Add-gpio-no-bank0-irq-overlay.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0176-overlays-Add-gpio-no-bank0-irq-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0157-overlays-Add-gpio-no-bank0-irq-overlay.patch index 06026de96..7a93d2fd2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0176-overlays-Add-gpio-no-bank0-irq-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0157-overlays-Add-gpio-no-bank0-irq-overlay.patch @@ -1,7 +1,7 @@ From afe88750090d60d94b365250968e116ec88448c1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 18 Jul 2018 17:25:00 +0100 -Subject: [PATCH 176/806] overlays: Add gpio-no-bank0-irq overlay +Subject: [PATCH] overlays: Add gpio-no-bank0-irq overlay See: https://github.com/raspberrypi/linux/issues/2590 diff --git a/target/linux/brcm2708/patches-4.19/950-0177-Add-hy28b-2017-model-device-tree-overlay-2721.patch b/target/linux/brcm2708/patches-4.19/950-0158-Add-hy28b-2017-model-device-tree-overlay-2721.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0177-Add-hy28b-2017-model-device-tree-overlay-2721.patch rename to target/linux/brcm2708/patches-4.19/950-0158-Add-hy28b-2017-model-device-tree-overlay-2721.patch index a5914a5a7..2c0493777 100644 --- a/target/linux/brcm2708/patches-4.19/950-0177-Add-hy28b-2017-model-device-tree-overlay-2721.patch +++ b/target/linux/brcm2708/patches-4.19/950-0158-Add-hy28b-2017-model-device-tree-overlay-2721.patch @@ -1,7 +1,7 @@ From a64595c1bc19752dca712c6cd90692a2a0e7397b Mon Sep 17 00:00:00 2001 From: Hans-Wilhelm Warlo <5417271+hanswilw@users.noreply.github.com> Date: Tue, 16 Oct 2018 18:20:48 +0200 -Subject: [PATCH 177/806] Add hy28b 2017 model device tree overlay (#2721) +Subject: [PATCH] Add hy28b 2017 model device tree overlay (#2721) The 2017 version of the hy28b display requires a different initialisation sequence. diff --git a/target/linux/brcm2708/patches-4.19/950-0179-mmc-bcm2835-sdhost-Recover-from-MMC_SEND_EXT_CSD.patch b/target/linux/brcm2708/patches-4.19/950-0159-mmc-bcm2835-sdhost-Recover-from-MMC_SEND_EXT_CSD.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0179-mmc-bcm2835-sdhost-Recover-from-MMC_SEND_EXT_CSD.patch rename to target/linux/brcm2708/patches-4.19/950-0159-mmc-bcm2835-sdhost-Recover-from-MMC_SEND_EXT_CSD.patch index 1b1f6da04..c6a9e355c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0179-mmc-bcm2835-sdhost-Recover-from-MMC_SEND_EXT_CSD.patch +++ b/target/linux/brcm2708/patches-4.19/950-0159-mmc-bcm2835-sdhost-Recover-from-MMC_SEND_EXT_CSD.patch @@ -1,7 +1,7 @@ From 5010dba0e3f6f2c9d623e265276d9b6993fa96b0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 Oct 2018 17:29:51 +0100 -Subject: [PATCH 179/806] mmc/bcm2835-sdhost: Recover from MMC_SEND_EXT_CSD +Subject: [PATCH] mmc/bcm2835-sdhost: Recover from MMC_SEND_EXT_CSD If the user issues an "mmc extcsd read", the SD controller receives what it thinks is a SEND_IF_COND command with an unexpected data block. diff --git a/target/linux/brcm2708/patches-4.19/950-0180-overlays-pi3-disable-bt-Clear-out-bt_pins-node.patch b/target/linux/brcm2708/patches-4.19/950-0160-overlays-pi3-disable-bt-Clear-out-bt_pins-node.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0180-overlays-pi3-disable-bt-Clear-out-bt_pins-node.patch rename to target/linux/brcm2708/patches-4.19/950-0160-overlays-pi3-disable-bt-Clear-out-bt_pins-node.patch index 73e69c69c..c7c4fa86d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0180-overlays-pi3-disable-bt-Clear-out-bt_pins-node.patch +++ b/target/linux/brcm2708/patches-4.19/950-0160-overlays-pi3-disable-bt-Clear-out-bt_pins-node.patch @@ -1,7 +1,7 @@ From c0c9a631e7ca58cc31aafb14920c559552d3b810 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 29 Oct 2018 10:38:31 +0000 -Subject: [PATCH 180/806] overlays: pi3-disable-bt: Clear out bt_pins node +Subject: [PATCH] overlays: pi3-disable-bt: Clear out bt_pins node The pi3-disable-bt overlay does not (and cannot) delete the bt_pins node, but emptying its properties (including brcm,pins) is a way of diff --git a/target/linux/brcm2708/patches-4.19/950-0181-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch b/target/linux/brcm2708/patches-4.19/950-0161-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0181-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch rename to target/linux/brcm2708/patches-4.19/950-0161-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch index 3809a7a9c..b9a4f52e5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0181-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch +++ b/target/linux/brcm2708/patches-4.19/950-0161-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch @@ -1,7 +1,7 @@ From 0557d41d861b8c214b3472749482efdc71363dbb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 29 Oct 2018 14:45:45 +0000 -Subject: [PATCH 181/806] Revert "rtc: pcf8523: properly handle oscillator stop +Subject: [PATCH] Revert "rtc: pcf8523: properly handle oscillator stop bit" This reverts commit ede44c908d44b166a5b6bd7caacd105c2ff5a70f. diff --git a/target/linux/brcm2708/patches-4.19/950-0183-overlays-uart0-return-GPIOs-14-and-15-to-inputs.patch b/target/linux/brcm2708/patches-4.19/950-0162-overlays-uart0-return-GPIOs-14-and-15-to-inputs.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0183-overlays-uart0-return-GPIOs-14-and-15-to-inputs.patch rename to target/linux/brcm2708/patches-4.19/950-0162-overlays-uart0-return-GPIOs-14-and-15-to-inputs.patch index 5519a0693..6e81c149d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0183-overlays-uart0-return-GPIOs-14-and-15-to-inputs.patch +++ b/target/linux/brcm2708/patches-4.19/950-0162-overlays-uart0-return-GPIOs-14-and-15-to-inputs.patch @@ -1,7 +1,7 @@ From 627f981e148bb9f7dc01df97fa20fe6124f417f7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 7 Nov 2018 17:43:10 +0000 -Subject: [PATCH 183/806] overlays: uart0 - return GPIOs 14 and 15 to inputs +Subject: [PATCH] overlays: uart0 - return GPIOs 14 and 15 to inputs In the event that alternate pins are used (only useful on Compute Modules), return the standard pins to inputs to avoid double-mapping diff --git a/target/linux/brcm2708/patches-4.19/950-0184-mmc-bcm2835-sdhost-Fix-warnings-on-arm64.patch b/target/linux/brcm2708/patches-4.19/950-0163-mmc-bcm2835-sdhost-Fix-warnings-on-arm64.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0184-mmc-bcm2835-sdhost-Fix-warnings-on-arm64.patch rename to target/linux/brcm2708/patches-4.19/950-0163-mmc-bcm2835-sdhost-Fix-warnings-on-arm64.patch index 8964a5905..12e128973 100644 --- a/target/linux/brcm2708/patches-4.19/950-0184-mmc-bcm2835-sdhost-Fix-warnings-on-arm64.patch +++ b/target/linux/brcm2708/patches-4.19/950-0163-mmc-bcm2835-sdhost-Fix-warnings-on-arm64.patch @@ -1,7 +1,7 @@ From c961f0534bdf659108eaf3352989683411767611 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 12 Nov 2018 22:54:40 +0000 -Subject: [PATCH 184/806] mmc: bcm2835-sdhost: Fix warnings on arm64 +Subject: [PATCH] mmc: bcm2835-sdhost: Fix warnings on arm64 Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0185-Fix-warning-in-bcm2835-smi-nand.patch b/target/linux/brcm2708/patches-4.19/950-0164-Fix-warning-in-bcm2835-smi-nand.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0185-Fix-warning-in-bcm2835-smi-nand.patch rename to target/linux/brcm2708/patches-4.19/950-0164-Fix-warning-in-bcm2835-smi-nand.patch index 65eef5e44..ca363a134 100644 --- a/target/linux/brcm2708/patches-4.19/950-0185-Fix-warning-in-bcm2835-smi-nand.patch +++ b/target/linux/brcm2708/patches-4.19/950-0164-Fix-warning-in-bcm2835-smi-nand.patch @@ -1,7 +1,7 @@ From 2f4524681c940887bc1e7d98b960719c731c85df Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 12 Nov 2018 22:56:35 +0000 -Subject: [PATCH 185/806] Fix warning in bcm2835-smi-nand +Subject: [PATCH] Fix warning in bcm2835-smi-nand Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0186-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch b/target/linux/brcm2708/patches-4.19/950-0165-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0186-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch rename to target/linux/brcm2708/patches-4.19/950-0165-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch index 2ae108d07..00e852d7f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0186-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch +++ b/target/linux/brcm2708/patches-4.19/950-0165-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch @@ -1,7 +1,7 @@ From 5796bf25ff928fef204c7f53572f0fc5b8f79d45 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:55:37 +0000 -Subject: [PATCH 186/806] media: ov5647: Add set_fmt and get_fmt calls. +Subject: [PATCH] media: ov5647: Add set_fmt and get_fmt calls. There's no way to query the subdevice for the supported resolutions. diff --git a/target/linux/brcm2708/patches-4.19/950-0187-media-Documentation-DT-add-device-tree-for-PWDN-cont.patch b/target/linux/brcm2708/patches-4.19/950-0166-media-Documentation-DT-add-device-tree-for-PWDN-cont.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0187-media-Documentation-DT-add-device-tree-for-PWDN-cont.patch rename to target/linux/brcm2708/patches-4.19/950-0166-media-Documentation-DT-add-device-tree-for-PWDN-cont.patch index 09fc61157..42dc7e1bc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0187-media-Documentation-DT-add-device-tree-for-PWDN-cont.patch +++ b/target/linux/brcm2708/patches-4.19/950-0166-media-Documentation-DT-add-device-tree-for-PWDN-cont.patch @@ -1,7 +1,7 @@ From 1c643cbdcfaa7e8b4a52bb8555cce60b48d822a2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:55:59 +0000 -Subject: [PATCH 187/806] [media] Documentation: DT: add device tree for PWDN +Subject: [PATCH] Documentation: DT: add device tree for PWDN control Add optional GPIO pwdn to connect to the PWDN line on the sensor. diff --git a/target/linux/brcm2708/patches-4.19/950-0188-media-ov5647-Add-support-for-PWDN-GPIO.patch b/target/linux/brcm2708/patches-4.19/950-0167-media-ov5647-Add-support-for-PWDN-GPIO.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0188-media-ov5647-Add-support-for-PWDN-GPIO.patch rename to target/linux/brcm2708/patches-4.19/950-0167-media-ov5647-Add-support-for-PWDN-GPIO.patch index e758221d0..80a5d900d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0188-media-ov5647-Add-support-for-PWDN-GPIO.patch +++ b/target/linux/brcm2708/patches-4.19/950-0167-media-ov5647-Add-support-for-PWDN-GPIO.patch @@ -1,7 +1,7 @@ From f41fdda9ca98e675d7467cc352c678bbcdca2df1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:56:33 +0000 -Subject: [PATCH 188/806] media: ov5647: Add support for PWDN GPIO. +Subject: [PATCH] media: ov5647: Add support for PWDN GPIO. Add support for an optional GPIO connected to PWDN on the sensor. diff --git a/target/linux/brcm2708/patches-4.19/950-0189-media-ov5647-Add-support-for-non-continuous-clock-mo.patch b/target/linux/brcm2708/patches-4.19/950-0168-media-ov5647-Add-support-for-non-continuous-clock-mo.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0189-media-ov5647-Add-support-for-non-continuous-clock-mo.patch rename to target/linux/brcm2708/patches-4.19/950-0168-media-ov5647-Add-support-for-non-continuous-clock-mo.patch index 082a16144..edbc12081 100644 --- a/target/linux/brcm2708/patches-4.19/950-0189-media-ov5647-Add-support-for-non-continuous-clock-mo.patch +++ b/target/linux/brcm2708/patches-4.19/950-0168-media-ov5647-Add-support-for-non-continuous-clock-mo.patch @@ -1,7 +1,7 @@ From 79bbd278272416aa61c29bda88e79f8f6dd35903 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:56:47 +0000 -Subject: [PATCH 189/806] media: ov5647: Add support for non-continuous clock +Subject: [PATCH] media: ov5647: Add support for non-continuous clock mode The driver was only supporting continuous clock mode diff --git a/target/linux/brcm2708/patches-4.19/950-0190-media-tc358743-Increase-FIFO-level-to-374.patch b/target/linux/brcm2708/patches-4.19/950-0169-media-tc358743-Increase-FIFO-level-to-374.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0190-media-tc358743-Increase-FIFO-level-to-374.patch rename to target/linux/brcm2708/patches-4.19/950-0169-media-tc358743-Increase-FIFO-level-to-374.patch index d7438ef49..937ac1a65 100644 --- a/target/linux/brcm2708/patches-4.19/950-0190-media-tc358743-Increase-FIFO-level-to-374.patch +++ b/target/linux/brcm2708/patches-4.19/950-0169-media-tc358743-Increase-FIFO-level-to-374.patch @@ -1,7 +1,7 @@ From 4f1be827b5873b2aaa9003a2d38ba6b941ceb66d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:56:59 +0000 -Subject: [PATCH 190/806] media: tc358743: Increase FIFO level to 374. +Subject: [PATCH] media: tc358743: Increase FIFO level to 374. The existing fixed value of 16 worked for UYVY 720P60 over 2 lanes at 594MHz, or UYVY 1080P60 over 4 lanes. (RGB888 diff --git a/target/linux/brcm2708/patches-4.19/950-0191-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch b/target/linux/brcm2708/patches-4.19/950-0170-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0191-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch rename to target/linux/brcm2708/patches-4.19/950-0170-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch index 999ad5f41..26d36ea43 100644 --- a/target/linux/brcm2708/patches-4.19/950-0191-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch +++ b/target/linux/brcm2708/patches-4.19/950-0170-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch @@ -1,7 +1,7 @@ From f0a4354bf8d99532577a21bb99da792fe2691626 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Thu, 21 Sep 2017 17:30:24 +0200 -Subject: [PATCH 191/806] media: tc358743: fix connected/active CSI-2 lane +Subject: [PATCH] media: tc358743: fix connected/active CSI-2 lane reporting g_mbus_config was supposed to indicate all supported lane numbers, not diff --git a/target/linux/brcm2708/patches-4.19/950-0192-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch b/target/linux/brcm2708/patches-4.19/950-0171-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0192-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch rename to target/linux/brcm2708/patches-4.19/950-0171-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch index 451be8ec5..89d389c9c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0192-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch +++ b/target/linux/brcm2708/patches-4.19/950-0171-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch @@ -1,7 +1,7 @@ From 745b0fc9c914437695c6098daecd311b2cd88204 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:21 +0000 -Subject: [PATCH 192/806] media: tc358743: Add support for 972Mbit/s link freq. +Subject: [PATCH] media: tc358743: Add support for 972Mbit/s link freq. Adds register setups for running the CSI lanes at 972Mbit/s, which allows 1080P50 UYVY down 2 lanes. diff --git a/target/linux/brcm2708/patches-4.19/950-0193-media-tc358743-Check-I2C-succeeded-during-probe.patch b/target/linux/brcm2708/patches-4.19/950-0172-media-tc358743-Check-I2C-succeeded-during-probe.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0193-media-tc358743-Check-I2C-succeeded-during-probe.patch rename to target/linux/brcm2708/patches-4.19/950-0172-media-tc358743-Check-I2C-succeeded-during-probe.patch index 4df51feb6..6cb1134b9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0193-media-tc358743-Check-I2C-succeeded-during-probe.patch +++ b/target/linux/brcm2708/patches-4.19/950-0172-media-tc358743-Check-I2C-succeeded-during-probe.patch @@ -1,7 +1,7 @@ From 6e089b7c2526037b0eaf9ecaed4d38957f33c19c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:34 +0000 -Subject: [PATCH 193/806] media: tc358743: Check I2C succeeded during probe. +Subject: [PATCH] media: tc358743: Check I2C succeeded during probe. The probe for the TC358743 reads the CHIPID register from the device and compares it to the expected value of 0. diff --git a/target/linux/brcm2708/patches-4.19/950-0194-media-adv7180-Default-to-the-first-valid-input.patch b/target/linux/brcm2708/patches-4.19/950-0173-media-adv7180-Default-to-the-first-valid-input.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0194-media-adv7180-Default-to-the-first-valid-input.patch rename to target/linux/brcm2708/patches-4.19/950-0173-media-adv7180-Default-to-the-first-valid-input.patch index 332fc77e8..65108f971 100644 --- a/target/linux/brcm2708/patches-4.19/950-0194-media-adv7180-Default-to-the-first-valid-input.patch +++ b/target/linux/brcm2708/patches-4.19/950-0173-media-adv7180-Default-to-the-first-valid-input.patch @@ -1,7 +1,7 @@ From 1d6cba1999607bc911ee8d16323914058b06e8d8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:46 +0000 -Subject: [PATCH 194/806] media: adv7180: Default to the first valid input +Subject: [PATCH] media: adv7180: Default to the first valid input The hardware default is differential CVBS on AIN1 & 2, which isn't very useful. diff --git a/target/linux/brcm2708/patches-4.19/950-0195-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch b/target/linux/brcm2708/patches-4.19/950-0174-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0195-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch rename to target/linux/brcm2708/patches-4.19/950-0174-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch index 563eb7ab1..0dcd6771d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0195-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch +++ b/target/linux/brcm2708/patches-4.19/950-0174-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch @@ -1,7 +1,7 @@ From b8a3ce970a70543aadd4b49a102b5cdaf2a62ed7 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:56 +0000 -Subject: [PATCH 195/806] media: adv7180: Add YPrPb support for ADV7282M +Subject: [PATCH] media: adv7180: Add YPrPb support for ADV7282M The ADV7282M can support YPbPr on AIN1-3, but this was not selectable from the driver. Add it to the list of diff --git a/target/linux/brcm2708/patches-4.19/950-0196-media-videodev2-Add-helper-defines-for-printing-FOUR.patch b/target/linux/brcm2708/patches-4.19/950-0175-media-videodev2-Add-helper-defines-for-printing-FOUR.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0196-media-videodev2-Add-helper-defines-for-printing-FOUR.patch rename to target/linux/brcm2708/patches-4.19/950-0175-media-videodev2-Add-helper-defines-for-printing-FOUR.patch index 2ff08e755..5f394a9bd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0196-media-videodev2-Add-helper-defines-for-printing-FOUR.patch +++ b/target/linux/brcm2708/patches-4.19/950-0175-media-videodev2-Add-helper-defines-for-printing-FOUR.patch @@ -1,7 +1,7 @@ From a7b5d64ec5cb63b6cf5f3eb8fd3bfa22f86d36c4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:58:08 +0000 -Subject: [PATCH 196/806] media: videodev2: Add helper defines for printing +Subject: [PATCH] media: videodev2: Add helper defines for printing FOURCCs New helper defines that allow printing of a FOURCC using diff --git a/target/linux/brcm2708/patches-4.19/950-0197-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch b/target/linux/brcm2708/patches-4.19/950-0176-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0197-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch rename to target/linux/brcm2708/patches-4.19/950-0176-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch index 63d3b3dce..77fdd348d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0197-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0176-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch @@ -1,7 +1,7 @@ From 8299df54f2016290eed7a2bece3885aad36d13e2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:59:06 +0000 -Subject: [PATCH 197/806] dt-bindings: Document BCM283x CSI2/CCP2 receiver +Subject: [PATCH] dt-bindings: Document BCM283x CSI2/CCP2 receiver Document the DT bindings for the CSI2/CCP2 receiver peripheral (known as Unicam) on BCM283x SoCs. diff --git a/target/linux/brcm2708/patches-4.19/950-0198-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch b/target/linux/brcm2708/patches-4.19/950-0177-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0198-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch rename to target/linux/brcm2708/patches-4.19/950-0177-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch index 31ede702b..7c857c463 100644 --- a/target/linux/brcm2708/patches-4.19/950-0198-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch +++ b/target/linux/brcm2708/patches-4.19/950-0177-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch @@ -1,7 +1,7 @@ From 7b7027a39b981e3d72a5876274e857615d5149e1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:59:22 +0000 -Subject: [PATCH 198/806] media: bcm2835-unicam: Driver for CCP2/CSI2 camera +Subject: [PATCH] media: bcm2835-unicam: Driver for CCP2/CSI2 camera interface Add driver for the Unicam camera receiver block on diff --git a/target/linux/brcm2708/patches-4.19/950-0201-media-adv7180-Nasty-hack-to-allow-input-selection.patch b/target/linux/brcm2708/patches-4.19/950-0178-media-adv7180-Nasty-hack-to-allow-input-selection.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0201-media-adv7180-Nasty-hack-to-allow-input-selection.patch rename to target/linux/brcm2708/patches-4.19/950-0178-media-adv7180-Nasty-hack-to-allow-input-selection.patch index 1f039f1f8..b48db8b0d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0201-media-adv7180-Nasty-hack-to-allow-input-selection.patch +++ b/target/linux/brcm2708/patches-4.19/950-0178-media-adv7180-Nasty-hack-to-allow-input-selection.patch @@ -1,7 +1,7 @@ From 34c4ee6f5d7143f6c8be604715f9b52b7540e38d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 15:00:04 +0000 -Subject: [PATCH 201/806] media: adv7180: Nasty hack to allow input selection. +Subject: [PATCH] media: adv7180: Nasty hack to allow input selection. Whilst the adv7180 driver support s_routing, nothing else does, and there is a missing lump of framework code to diff --git a/target/linux/brcm2708/patches-4.19/950-0202-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch b/target/linux/brcm2708/patches-4.19/950-0179-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0202-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch rename to target/linux/brcm2708/patches-4.19/950-0179-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch index d0e8915a3..551a60ce9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0202-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch +++ b/target/linux/brcm2708/patches-4.19/950-0179-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch @@ -1,7 +1,7 @@ From 32282fb05466e5d5767b598e60136ef584847dc4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 15:00:20 +0000 -Subject: [PATCH 202/806] BCM283x DT: Add CSI nodes to the device tree. +Subject: [PATCH] BCM283x DT: Add CSI nodes to the device tree. Adds CSI nodes to all the upstream device tree configs diff --git a/target/linux/brcm2708/patches-4.19/950-0203-BCM270X_DT-Add-CSI-defines-for-all-the-downstream-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0180-BCM270X_DT-Add-CSI-defines-for-all-the-downstream-Pi.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0203-BCM270X_DT-Add-CSI-defines-for-all-the-downstream-Pi.patch rename to target/linux/brcm2708/patches-4.19/950-0180-BCM270X_DT-Add-CSI-defines-for-all-the-downstream-Pi.patch index 585fdc61a..a78a9f315 100644 --- a/target/linux/brcm2708/patches-4.19/950-0203-BCM270X_DT-Add-CSI-defines-for-all-the-downstream-Pi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0180-BCM270X_DT-Add-CSI-defines-for-all-the-downstream-Pi.patch @@ -1,7 +1,7 @@ From 831423a9f14d46f69c78136d37c2ab0cdaa5bdb1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 15:00:45 +0000 -Subject: [PATCH 203/806] BCM270X_DT: Add CSI defines for all the downstream Pi +Subject: [PATCH] BCM270X_DT: Add CSI defines for all the downstream Pi platforms Adds the CSI device includes for the bcm27xx platform DTS files diff --git a/target/linux/brcm2708/patches-4.19/950-0204-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch b/target/linux/brcm2708/patches-4.19/950-0181-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0204-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch rename to target/linux/brcm2708/patches-4.19/950-0181-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch index a39a7cee0..a5f0c76dd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0204-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch +++ b/target/linux/brcm2708/patches-4.19/950-0181-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch @@ -1,7 +1,7 @@ From c3ea5332de058ee7b9139133f2f8103b6dff2478 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 15:01:59 +0000 -Subject: [PATCH 204/806] arm: dt: Add DT overlays for ADV7282M, OV5647, and +Subject: [PATCH] arm: dt: Add DT overlays for ADV7282M, OV5647, and TC358743 DT overlays to setup the above devices via i2c_arm and csi1. diff --git a/target/linux/brcm2708/patches-4.19/950-0205-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch b/target/linux/brcm2708/patches-4.19/950-0182-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0205-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch rename to target/linux/brcm2708/patches-4.19/950-0182-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch index c52a54758..9348af835 100644 --- a/target/linux/brcm2708/patches-4.19/950-0205-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch +++ b/target/linux/brcm2708/patches-4.19/950-0182-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch @@ -1,7 +1,7 @@ From 8ea13a43a77dfb45c836de2d6c747f630dd75275 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 15:02:18 +0000 -Subject: [PATCH 205/806] dtoverlays: Add support for ADV7280-M, ADV7281-M and +Subject: [PATCH] dtoverlays: Add support for ADV7280-M, ADV7281-M and ADV7281-MA chips. The driver that supports the ADV7282-M also supports the ADV7280-M, diff --git a/target/linux/brcm2708/patches-4.19/950-0207-vcsm-Fix-an-NULL-dereference-in-the-import_dmabuf-er.patch b/target/linux/brcm2708/patches-4.19/950-0183-vcsm-Fix-an-NULL-dereference-in-the-import_dmabuf-er.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0207-vcsm-Fix-an-NULL-dereference-in-the-import_dmabuf-er.patch rename to target/linux/brcm2708/patches-4.19/950-0183-vcsm-Fix-an-NULL-dereference-in-the-import_dmabuf-er.patch index 900b53ffc..8a71d944e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0207-vcsm-Fix-an-NULL-dereference-in-the-import_dmabuf-er.patch +++ b/target/linux/brcm2708/patches-4.19/950-0183-vcsm-Fix-an-NULL-dereference-in-the-import_dmabuf-er.patch @@ -1,7 +1,7 @@ From 654ca15f2234ce3677ed7c9eef5de588285b529a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 14 Nov 2018 11:54:46 +0000 -Subject: [PATCH 207/806] vcsm: Fix an NULL dereference in the import_dmabuf +Subject: [PATCH] vcsm: Fix an NULL dereference in the import_dmabuf error path resource was dereferenced even though it was NULL. diff --git a/target/linux/brcm2708/patches-4.19/950-0208-Update-README-2750.patch b/target/linux/brcm2708/patches-4.19/950-0184-Update-README-2750.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0208-Update-README-2750.patch rename to target/linux/brcm2708/patches-4.19/950-0184-Update-README-2750.patch index e9d767740..cc9af044e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0208-Update-README-2750.patch +++ b/target/linux/brcm2708/patches-4.19/950-0184-Update-README-2750.patch @@ -1,7 +1,7 @@ From 5b4c913a00ac41766ba70104749aa1533a370996 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 13 Nov 2018 16:51:21 +0000 -Subject: [PATCH 208/806] Update README (#2750) +Subject: [PATCH] Update README (#2750) Small update to the DT blob docs to include the axiperf option. diff --git a/target/linux/brcm2708/patches-4.19/950-0209-overlays-Remove-superfluous-address-size-cells.patch b/target/linux/brcm2708/patches-4.19/950-0185-overlays-Remove-superfluous-address-size-cells.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0209-overlays-Remove-superfluous-address-size-cells.patch rename to target/linux/brcm2708/patches-4.19/950-0185-overlays-Remove-superfluous-address-size-cells.patch index 594cef583..1a660d608 100644 --- a/target/linux/brcm2708/patches-4.19/950-0209-overlays-Remove-superfluous-address-size-cells.patch +++ b/target/linux/brcm2708/patches-4.19/950-0185-overlays-Remove-superfluous-address-size-cells.patch @@ -1,7 +1,7 @@ From 1648c72369a617b27193534f28fd86a1bdabd7b3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 14 Nov 2018 09:53:25 +0000 -Subject: [PATCH 209/806] overlays: Remove superfluous #address/size-cells +Subject: [PATCH] overlays: Remove superfluous #address/size-cells Newer versions of dtc warn about unnecessary usage of #address-cells and #size-cells, so remove them. diff --git a/target/linux/brcm2708/patches-4.19/950-0211-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch b/target/linux/brcm2708/patches-4.19/950-0186-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0211-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch rename to target/linux/brcm2708/patches-4.19/950-0186-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch index c662d3fbd..f73d9c961 100644 --- a/target/linux/brcm2708/patches-4.19/950-0211-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch +++ b/target/linux/brcm2708/patches-4.19/950-0186-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch @@ -1,7 +1,7 @@ From 31b533207610f0f703cfdcba3baf404d000f1363 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 18 Nov 2018 15:24:16 +0100 -Subject: [PATCH 211/806] rpi-wm8804-soundcard: drop PWRDN register writes +Subject: [PATCH] rpi-wm8804-soundcard: drop PWRDN register writes Since kernel 4.0 the PWRDN register bits are under DAPM control from the wm8804 driver. diff --git a/target/linux/brcm2708/patches-4.19/950-0212-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch b/target/linux/brcm2708/patches-4.19/950-0187-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0212-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch rename to target/linux/brcm2708/patches-4.19/950-0187-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch index 6f4d3a919..7edd25f9e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0212-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch +++ b/target/linux/brcm2708/patches-4.19/950-0187-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch @@ -1,7 +1,7 @@ From f6b133a056e8fde7f4707e2874e204c7d5d671a2 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 18 Nov 2018 15:32:28 +0100 -Subject: [PATCH 212/806] rpi-wm8804-soundcard: configure wm8804 clocks only on +Subject: [PATCH] rpi-wm8804-soundcard: configure wm8804 clocks only on rate change This should avoid clicks when stopping and immediately afterwards diff --git a/target/linux/brcm2708/patches-4.19/950-0213-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch b/target/linux/brcm2708/patches-4.19/950-0188-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0213-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch rename to target/linux/brcm2708/patches-4.19/950-0188-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch index c7c3dc1c3..cb89142df 100644 --- a/target/linux/brcm2708/patches-4.19/950-0213-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch +++ b/target/linux/brcm2708/patches-4.19/950-0188-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch @@ -1,7 +1,7 @@ From 83b839b8b3a599336c2d48ab22ed919a77666476 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 26 Nov 2018 17:02:15 +0000 -Subject: [PATCH 213/806] dtoverlays: Add i2c on 0&1 option to TC358743, +Subject: [PATCH] dtoverlays: Add i2c on 0&1 option to TC358743, ADV7282 and OV5647 Adds the option of configuring i2c0 to be on GPIOs 0&1 as diff --git a/target/linux/brcm2708/patches-4.19/950-0214-overlays-Update-upstream-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0189-overlays-Update-upstream-overlay.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0214-overlays-Update-upstream-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0189-overlays-Update-upstream-overlay.patch index 1b0a805dd..f7749ed55 100644 --- a/target/linux/brcm2708/patches-4.19/950-0214-overlays-Update-upstream-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0189-overlays-Update-upstream-overlay.patch @@ -1,7 +1,7 @@ From e62fed2c6b825e4b9d688dab7b7603fc95bb49cb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Nov 2018 20:15:16 +0000 -Subject: [PATCH 214/806] overlays: Update upstream overlay +Subject: [PATCH] overlays: Update upstream overlay The vc4-kms-v3d overlay gained an extra fragment enabling the txp node, so rebuild the upstream overlay to match. diff --git a/target/linux/brcm2708/patches-4.19/950-0215-BCM2708_DT-update-firmware-node-binding.patch b/target/linux/brcm2708/patches-4.19/950-0190-BCM2708_DT-update-firmware-node-binding.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0215-BCM2708_DT-update-firmware-node-binding.patch rename to target/linux/brcm2708/patches-4.19/950-0190-BCM2708_DT-update-firmware-node-binding.patch index 781032c48..b55e89f49 100644 --- a/target/linux/brcm2708/patches-4.19/950-0215-BCM2708_DT-update-firmware-node-binding.patch +++ b/target/linux/brcm2708/patches-4.19/950-0190-BCM2708_DT-update-firmware-node-binding.patch @@ -1,7 +1,7 @@ From e07c078b68e1776fa10818a1586c23a98a21ebdd Mon Sep 17 00:00:00 2001 From: Nicolas Saenz Julienne Date: Wed, 28 Nov 2018 10:36:01 +0100 -Subject: [PATCH 215/806] BCM2708_DT: update firmware node binding +Subject: [PATCH] BCM2708_DT: update firmware node binding The upstreamed version of the firmware node has been updated to present it as a "simple-bus". We need to get this in order to accomodate other diff --git a/target/linux/brcm2708/patches-4.19/950-0216-BCM2710_DT-fix-gpio-expander-bindings.patch b/target/linux/brcm2708/patches-4.19/950-0191-BCM2710_DT-fix-gpio-expander-bindings.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0216-BCM2710_DT-fix-gpio-expander-bindings.patch rename to target/linux/brcm2708/patches-4.19/950-0191-BCM2710_DT-fix-gpio-expander-bindings.patch index 3ca334009..53d055893 100644 --- a/target/linux/brcm2708/patches-4.19/950-0216-BCM2710_DT-fix-gpio-expander-bindings.patch +++ b/target/linux/brcm2708/patches-4.19/950-0191-BCM2710_DT-fix-gpio-expander-bindings.patch @@ -1,7 +1,7 @@ From d5a4fa7ba39e4f9e41271023e1be417204b8a2b7 Mon Sep 17 00:00:00 2001 From: Nicolas Saenz Julienne Date: Tue, 27 Nov 2018 16:59:10 +0100 -Subject: [PATCH 216/806] BCM2710_DT: fix gpio expander bindings +Subject: [PATCH] BCM2710_DT: fix gpio expander bindings The upstreamed driver for the GPIO expander expects to be a children of the "firmware" node. diff --git a/target/linux/brcm2708/patches-4.19/950-0217-ARM-dts-bcm283x-The-lan7515-PHY-node-has-moved.patch b/target/linux/brcm2708/patches-4.19/950-0192-ARM-dts-bcm283x-The-lan7515-PHY-node-has-moved.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0217-ARM-dts-bcm283x-The-lan7515-PHY-node-has-moved.patch rename to target/linux/brcm2708/patches-4.19/950-0192-ARM-dts-bcm283x-The-lan7515-PHY-node-has-moved.patch index 4f7f451c4..63f391143 100644 --- a/target/linux/brcm2708/patches-4.19/950-0217-ARM-dts-bcm283x-The-lan7515-PHY-node-has-moved.patch +++ b/target/linux/brcm2708/patches-4.19/950-0192-ARM-dts-bcm283x-The-lan7515-PHY-node-has-moved.patch @@ -1,7 +1,7 @@ From eb6864f9dc059e86d057822b493feb8b4a9684ba Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Nov 2018 16:33:31 +0000 -Subject: [PATCH 217/806] ARM: dts: bcm283x: The lan7515 PHY node has moved +Subject: [PATCH] ARM: dts: bcm283x: The lan7515 PHY node has moved The DT node describing the LAN7800s PHY has now moved inside an "mdio" node. Update the DT declarations accordingly. diff --git a/target/linux/brcm2708/patches-4.19/950-0218-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch b/target/linux/brcm2708/patches-4.19/950-0193-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0218-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch rename to target/linux/brcm2708/patches-4.19/950-0193-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch index ab6c83db8..c67acaa50 100644 --- a/target/linux/brcm2708/patches-4.19/950-0218-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch +++ b/target/linux/brcm2708/patches-4.19/950-0193-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch @@ -1,7 +1,7 @@ From a3c59bad71de2b3c09a25fd6ce5e3632c33c4bba Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Nov 2018 19:46:58 +0000 -Subject: [PATCH 218/806] net: lan78xx: Support auto-downshift to 100Mb/s +Subject: [PATCH] net: lan78xx: Support auto-downshift to 100Mb/s Ethernet cables with faulty or missing pairs (specifically pairs C and D) allow auto-negotiation to 1000Mbs, but do not support the successful diff --git a/target/linux/brcm2708/patches-4.19/950-0219-dt-bindings-Document-microchip-downshift-after.patch b/target/linux/brcm2708/patches-4.19/950-0194-dt-bindings-Document-microchip-downshift-after.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0219-dt-bindings-Document-microchip-downshift-after.patch rename to target/linux/brcm2708/patches-4.19/950-0194-dt-bindings-Document-microchip-downshift-after.patch index 2096f389d..f9c1daa21 100644 --- a/target/linux/brcm2708/patches-4.19/950-0219-dt-bindings-Document-microchip-downshift-after.patch +++ b/target/linux/brcm2708/patches-4.19/950-0194-dt-bindings-Document-microchip-downshift-after.patch @@ -1,7 +1,7 @@ From 1654bdce95bd9a99e237b75fdcc0081b232c46b5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 28 Nov 2018 15:51:41 +0000 -Subject: [PATCH 219/806] dt-bindings: Document microchip,downshift-after +Subject: [PATCH] dt-bindings: Document microchip,downshift-after Document the optional downshift-after property of the lan78xx's PHY. diff --git a/target/linux/brcm2708/patches-4.19/950-0220-ARM-dts-bcm283x-Set-downshift-after-for-Pi-3B.patch b/target/linux/brcm2708/patches-4.19/950-0195-ARM-dts-bcm283x-Set-downshift-after-for-Pi-3B.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0220-ARM-dts-bcm283x-Set-downshift-after-for-Pi-3B.patch rename to target/linux/brcm2708/patches-4.19/950-0195-ARM-dts-bcm283x-Set-downshift-after-for-Pi-3B.patch index c5d7d6cd9..b0613d2ad 100644 --- a/target/linux/brcm2708/patches-4.19/950-0220-ARM-dts-bcm283x-Set-downshift-after-for-Pi-3B.patch +++ b/target/linux/brcm2708/patches-4.19/950-0195-ARM-dts-bcm283x-Set-downshift-after-for-Pi-3B.patch @@ -1,7 +1,7 @@ From 036c72ed4475afb757af568d40db0973a5dafcc8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Nov 2018 16:55:14 +0000 -Subject: [PATCH 220/806] ARM: dts: bcm283x: Set downshift-after for Pi 3B+ +Subject: [PATCH] ARM: dts: bcm283x: Set downshift-after for Pi 3B+ Enable the auto-downshift feature on Raspberry Pi 3B+ so that a link can eventually be established using a cable with pairs C and/or D diff --git a/target/linux/brcm2708/patches-4.19/950-0221-BCM270X_DT-Add-new-Ethernet-DT-parameters.patch b/target/linux/brcm2708/patches-4.19/950-0196-BCM270X_DT-Add-new-Ethernet-DT-parameters.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0221-BCM270X_DT-Add-new-Ethernet-DT-parameters.patch rename to target/linux/brcm2708/patches-4.19/950-0196-BCM270X_DT-Add-new-Ethernet-DT-parameters.patch index b4b2d28ce..340f60dd8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0221-BCM270X_DT-Add-new-Ethernet-DT-parameters.patch +++ b/target/linux/brcm2708/patches-4.19/950-0196-BCM270X_DT-Add-new-Ethernet-DT-parameters.patch @@ -1,7 +1,7 @@ From 18867d71460b80385146e8d91a23cfb1729858f8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Nov 2018 16:56:50 +0000 -Subject: [PATCH 221/806] BCM270X_DT: Add new Ethernet DT parameters +Subject: [PATCH] BCM270X_DT: Add new Ethernet DT parameters Add "eth_downshift_after" DT parameter to allow the delay before the downshift to be specified. The default is 2 auto-negotiation cycles, diff --git a/target/linux/brcm2708/patches-4.19/950-0222-BCM270X_DT-Mark-eth_downshift_after-as-an-integer.patch b/target/linux/brcm2708/patches-4.19/950-0197-BCM270X_DT-Mark-eth_downshift_after-as-an-integer.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0222-BCM270X_DT-Mark-eth_downshift_after-as-an-integer.patch rename to target/linux/brcm2708/patches-4.19/950-0197-BCM270X_DT-Mark-eth_downshift_after-as-an-integer.patch index 248959735..8faa68c19 100644 --- a/target/linux/brcm2708/patches-4.19/950-0222-BCM270X_DT-Mark-eth_downshift_after-as-an-integer.patch +++ b/target/linux/brcm2708/patches-4.19/950-0197-BCM270X_DT-Mark-eth_downshift_after-as-an-integer.patch @@ -1,7 +1,7 @@ From 3cc51f4d633b33f732a52d1ec2b041a28b55c7d5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 29 Nov 2018 16:00:22 +0000 -Subject: [PATCH 222/806] BCM270X_DT: Mark eth_downshift_after as an integer +Subject: [PATCH] BCM270X_DT: Mark eth_downshift_after as an integer Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0223-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch b/target/linux/brcm2708/patches-4.19/950-0198-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0223-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch rename to target/linux/brcm2708/patches-4.19/950-0198-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch index 56230e14e..51c7732be 100644 --- a/target/linux/brcm2708/patches-4.19/950-0223-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch +++ b/target/linux/brcm2708/patches-4.19/950-0198-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch @@ -1,7 +1,7 @@ From f36b3119d83e03c9d0c684b8712b66a979c48124 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 16 Jul 2018 14:40:13 +0100 -Subject: [PATCH 223/806] dwc-otg: FIQ: Fix "bad mode in data abort handler" +Subject: [PATCH] dwc-otg: FIQ: Fix "bad mode in data abort handler" Create a semi-static mapping for the USB registers early in the boot process, before additional kernel threads are started, so all threads diff --git a/target/linux/brcm2708/patches-4.19/950-0224-lirc-rpi-Remove-in-favour-of-gpio-ir.patch b/target/linux/brcm2708/patches-4.19/950-0199-lirc-rpi-Remove-in-favour-of-gpio-ir.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0224-lirc-rpi-Remove-in-favour-of-gpio-ir.patch rename to target/linux/brcm2708/patches-4.19/950-0199-lirc-rpi-Remove-in-favour-of-gpio-ir.patch index 75a6d004a..0c6e62799 100644 --- a/target/linux/brcm2708/patches-4.19/950-0224-lirc-rpi-Remove-in-favour-of-gpio-ir.patch +++ b/target/linux/brcm2708/patches-4.19/950-0199-lirc-rpi-Remove-in-favour-of-gpio-ir.patch @@ -1,7 +1,7 @@ From 28b591dadb504861cdc535d5705aa4c8c3d3420f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 30 Nov 2018 18:55:23 +0000 -Subject: [PATCH 224/806] lirc-rpi: Remove in favour of gpio-ir +Subject: [PATCH] lirc-rpi: Remove in favour of gpio-ir --- arch/arm/boot/dts/overlays/Makefile | 1 - diff --git a/target/linux/brcm2708/patches-4.19/950-0225-media-bcm2835-unicam-Pass-through-the-colorspace-on-.patch b/target/linux/brcm2708/patches-4.19/950-0200-media-bcm2835-unicam-Pass-through-the-colorspace-on-.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0225-media-bcm2835-unicam-Pass-through-the-colorspace-on-.patch rename to target/linux/brcm2708/patches-4.19/950-0200-media-bcm2835-unicam-Pass-through-the-colorspace-on-.patch index f5c982715..8d9848a7e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0225-media-bcm2835-unicam-Pass-through-the-colorspace-on-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0200-media-bcm2835-unicam-Pass-through-the-colorspace-on-.patch @@ -1,7 +1,7 @@ From f1ab5c7dc1328f0baad2a437a80c792f725c455f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 22 Nov 2018 17:28:02 +0000 -Subject: [PATCH 225/806] media: bcm2835-unicam: Pass through the colorspace on +Subject: [PATCH] media: bcm2835-unicam: Pass through the colorspace on try_fmt The current colorspace was always returned from try_fmt for no diff --git a/target/linux/brcm2708/patches-4.19/950-0226-media-tc358743-Return-an-appropriate-colorspace-from.patch b/target/linux/brcm2708/patches-4.19/950-0201-media-tc358743-Return-an-appropriate-colorspace-from.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0226-media-tc358743-Return-an-appropriate-colorspace-from.patch rename to target/linux/brcm2708/patches-4.19/950-0201-media-tc358743-Return-an-appropriate-colorspace-from.patch index f193d79f6..28ee4e7f4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0226-media-tc358743-Return-an-appropriate-colorspace-from.patch +++ b/target/linux/brcm2708/patches-4.19/950-0201-media-tc358743-Return-an-appropriate-colorspace-from.patch @@ -1,7 +1,7 @@ From c7a3697a4d4c2199f05ab3cd321138d464ca62db Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 22 Nov 2018 17:31:06 +0000 -Subject: [PATCH 226/806] media: tc358743: Return an appropriate colorspace +Subject: [PATCH] media: tc358743: Return an appropriate colorspace from tc358743_set_fmt When calling tc358743_set_fmt, the code was calling tc358743_get_fmt diff --git a/target/linux/brcm2708/patches-4.19/950-0227-staging-bcm2835-camera-fix-module-autoloading.patch b/target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-fix-module-autoloading.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0227-staging-bcm2835-camera-fix-module-autoloading.patch rename to target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-fix-module-autoloading.patch index 85dd3fede..161949da1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0227-staging-bcm2835-camera-fix-module-autoloading.patch +++ b/target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-fix-module-autoloading.patch @@ -1,7 +1,7 @@ From 8b6e9f2a951b38becf5b8a1e99ba1993f7751aac Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 20 Oct 2018 19:26:18 +0200 -Subject: [PATCH 227/806] staging: bcm2835-camera: fix module autoloading +Subject: [PATCH] staging: bcm2835-camera: fix module autoloading In order to make the module bcm2835-camera load automatically, we need to add a module alias. diff --git a/target/linux/brcm2708/patches-4.19/950-0228-staging-bcm2835-camera-Move-module-info-to-the-end.patch b/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0228-staging-bcm2835-camera-Move-module-info-to-the-end.patch rename to target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch index b4d1969ed..19c59f607 100644 --- a/target/linux/brcm2708/patches-4.19/950-0228-staging-bcm2835-camera-Move-module-info-to-the-end.patch +++ b/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch @@ -1,7 +1,7 @@ From 3e8dfb23cfab3003ff83f4d32568ae4e38536572 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 20 Oct 2018 19:31:00 +0200 -Subject: [PATCH 228/806] staging: bcm2835-camera: Move module info to the end +Subject: [PATCH] staging: bcm2835-camera: Move module info to the end In order to have this more consistent between the vc04 services move the module information to the end of the file. diff --git a/target/linux/brcm2708/patches-4.19/950-0229-staging-vchiq_arm-Fix-platform-device-unregistration.patch b/target/linux/brcm2708/patches-4.19/950-0204-staging-vchiq_arm-Fix-platform-device-unregistration.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0229-staging-vchiq_arm-Fix-platform-device-unregistration.patch rename to target/linux/brcm2708/patches-4.19/950-0204-staging-vchiq_arm-Fix-platform-device-unregistration.patch index 69bd52046..b32699d09 100644 --- a/target/linux/brcm2708/patches-4.19/950-0229-staging-vchiq_arm-Fix-platform-device-unregistration.patch +++ b/target/linux/brcm2708/patches-4.19/950-0204-staging-vchiq_arm-Fix-platform-device-unregistration.patch @@ -1,7 +1,7 @@ From 1ada615db1b97faec9c4625ccfd2cc35d54d850a Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 13 Oct 2018 20:51:23 +0200 -Subject: [PATCH 229/806] staging: vchiq_arm: Fix platform device +Subject: [PATCH] staging: vchiq_arm: Fix platform device unregistration In error case platform_device_register_data would return an ERR_PTR diff --git a/target/linux/brcm2708/patches-4.19/950-0230-staging-vchiq_arm-Fix-camera-device-registration.patch b/target/linux/brcm2708/patches-4.19/950-0205-staging-vchiq_arm-Fix-camera-device-registration.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0230-staging-vchiq_arm-Fix-camera-device-registration.patch rename to target/linux/brcm2708/patches-4.19/950-0205-staging-vchiq_arm-Fix-camera-device-registration.patch index cb7edc4b1..9cf02e9ab 100644 --- a/target/linux/brcm2708/patches-4.19/950-0230-staging-vchiq_arm-Fix-camera-device-registration.patch +++ b/target/linux/brcm2708/patches-4.19/950-0205-staging-vchiq_arm-Fix-camera-device-registration.patch @@ -1,7 +1,7 @@ From 58ed78a70c3c3ef1ae99aefdd2c28ac81f66df85 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Mon, 22 Oct 2018 15:16:51 +0200 -Subject: [PATCH 230/806] staging: vchiq_arm: Fix camera device registration +Subject: [PATCH] staging: vchiq_arm: Fix camera device registration Since the camera driver isn't probed via DT, we need to properly setup DMA. diff --git a/target/linux/brcm2708/patches-4.19/950-0235-staging-bcm2835-camera-Provide-more-specific-probe-e.patch b/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0235-staging-bcm2835-camera-Provide-more-specific-probe-e.patch rename to target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch index 678dcc52f..a56836685 100644 --- a/target/linux/brcm2708/patches-4.19/950-0235-staging-bcm2835-camera-Provide-more-specific-probe-e.patch +++ b/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch @@ -1,7 +1,7 @@ From 94a174095f29c77574548eea17aacaed5c540757 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sun, 21 Oct 2018 18:40:07 +0200 -Subject: [PATCH 235/806] staging: bcm2835-camera: Provide more specific probe +Subject: [PATCH] staging: bcm2835-camera: Provide more specific probe error messages Currently there is only a catch-all info message which print the diff --git a/target/linux/brcm2708/patches-4.19/950-0236-staging-bcm2835-camera-Add-hint-about-possible-fault.patch b/target/linux/brcm2708/patches-4.19/950-0207-staging-bcm2835-camera-Add-hint-about-possible-fault.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0236-staging-bcm2835-camera-Add-hint-about-possible-fault.patch rename to target/linux/brcm2708/patches-4.19/950-0207-staging-bcm2835-camera-Add-hint-about-possible-fault.patch index 939fe99a0..38409de01 100644 --- a/target/linux/brcm2708/patches-4.19/950-0236-staging-bcm2835-camera-Add-hint-about-possible-fault.patch +++ b/target/linux/brcm2708/patches-4.19/950-0207-staging-bcm2835-camera-Add-hint-about-possible-fault.patch @@ -1,7 +1,7 @@ From 17eaf7c6e8dfcd76b4ed28587b07892e2a5a4ff5 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sun, 21 Oct 2018 19:08:29 +0200 -Subject: [PATCH 236/806] staging: bcm2835-camera: Add hint about possible +Subject: [PATCH] staging: bcm2835-camera: Add hint about possible faulty GPU mem config As per default the GPU memory config of the Raspberry Pi isn't sufficient diff --git a/target/linux/brcm2708/patches-4.19/950-0237-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch b/target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0237-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch rename to target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch index bd313cc9f..96236f36d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0237-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch +++ b/target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch @@ -1,7 +1,7 @@ From b0ebcf556b543b0b509ad071584ca6b41076a2da Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Mon, 22 Oct 2018 11:09:18 +0200 -Subject: [PATCH 237/806] staging: bcm2835: Don't probe if no camera is +Subject: [PATCH] staging: bcm2835: Don't probe if no camera is detected It is a waste of resources to load the camera driver in case there isn't diff --git a/target/linux/brcm2708/patches-4.19/950-0238-staging-vchiq_arm-Improve-error-handling-on-loading-.patch b/target/linux/brcm2708/patches-4.19/950-0209-staging-vchiq_arm-Improve-error-handling-on-loading-.patch similarity index 74% rename from target/linux/brcm2708/patches-4.19/950-0238-staging-vchiq_arm-Improve-error-handling-on-loading-.patch rename to target/linux/brcm2708/patches-4.19/950-0209-staging-vchiq_arm-Improve-error-handling-on-loading-.patch index 574e550bf..087e3e502 100644 --- a/target/linux/brcm2708/patches-4.19/950-0238-staging-vchiq_arm-Improve-error-handling-on-loading-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0209-staging-vchiq_arm-Improve-error-handling-on-loading-.patch @@ -1,7 +1,7 @@ From 73979b06255c3b7b536a53d09ea095aec8ed37aa Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 3 Dec 2018 12:50:38 +0000 -Subject: [PATCH 238/806] staging: vchiq_arm: Improve error handling on loading +Subject: [PATCH] staging: vchiq_arm: Improve error handling on loading drivers The handling of loading platform drivers requires checking IS_ERR @@ -16,28 +16,22 @@ Signed-off-by: Dave Stevenson --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -@@ -3655,7 +3655,11 @@ static int vchiq_probe(struct platform_d +@@ -3654,6 +3654,8 @@ static int vchiq_probe(struct platform_d MAJOR(vchiq_devid), MINOR(vchiq_devid)); bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera"); + if (IS_ERR(bcm2835_camera)) + bcm2835_camera = NULL; - bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio"); -+ if (IS_ERR(bcm2835_audio)) -+ bcm2835_audio = NULL; return 0; -@@ -3672,10 +3676,10 @@ failed_platform_init: +@@ -3670,8 +3672,9 @@ failed_platform_init: static int vchiq_remove(struct platform_device *pdev) { -- if (!IS_ERR(bcm2835_audio)) -- platform_device_unregister(bcm2835_audio); - if (!IS_ERR(bcm2835_camera)) - platform_device_unregister(bcm2835_camera); + platform_device_unregister(bcm2835_codec); -+ platform_device_unregister(bcm2835_audio); + platform_device_unregister(bcm2835_camera); + platform_device_unregister(vcsm_cma); vchiq_debugfs_deinit(); diff --git a/target/linux/brcm2708/patches-4.19/950-0210-Revert-ASoC-wm8804-MCLK-configuration-options-32-bit.patch b/target/linux/brcm2708/patches-4.19/950-0210-Revert-ASoC-wm8804-MCLK-configuration-options-32-bit.patch deleted file mode 100644 index 545d4d1c1..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0210-Revert-ASoC-wm8804-MCLK-configuration-options-32-bit.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7c62d38653565e900504f821586e1b1d47f25594 Mon Sep 17 00:00:00 2001 -From: Matthias Reichl -Date: Sun, 18 Nov 2018 13:21:26 +0100 -Subject: [PATCH 210/806] Revert "ASoC: wm8804: MCLK configuration options, - 32-bit" - -This reverts commit 3b12dcf797f5a4635aecd7f5c090dc507b124ffd. - -Despite the commit message being wrong idle_bias changes -were already reverted in the 4.14 tree. - -So drop the commit to bring the wm8804 driver back in line with -the rpi-4.14.y and upstream linux trees. - -Signed-off-by: Matthias Reichl ---- - sound/soc/codecs/wm8804.c | 1 - - 1 file changed, 1 deletion(-) - ---- a/sound/soc/codecs/wm8804.c -+++ b/sound/soc/codecs/wm8804.c -@@ -550,7 +550,6 @@ static const struct snd_soc_component_dr - .use_pmdown_time = 1, - .endianness = 1, - .non_legacy_dai_naming = 1, -- .idle_bias_on = true, - }; - - const struct regmap_config wm8804_regmap_config = { diff --git a/target/linux/brcm2708/patches-4.19/950-0239-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch b/target/linux/brcm2708/patches-4.19/950-0210-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0239-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch rename to target/linux/brcm2708/patches-4.19/950-0210-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch index 9bc9da01f..9d2ae1bb3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0239-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch +++ b/target/linux/brcm2708/patches-4.19/950-0210-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch @@ -1,7 +1,7 @@ From 522f1499310d389e663a4e8dd0ccbb916b768766 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 14 Feb 2018 17:04:26 +0000 -Subject: [PATCH 239/806] staging: bcm2835-camera: Do not bulk receive from +Subject: [PATCH] staging: bcm2835-camera: Do not bulk receive from service thread vchi_bulk_queue_receive will queue up to a default of 4 diff --git a/target/linux/brcm2708/patches-4.19/950-0240-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch b/target/linux/brcm2708/patches-4.19/950-0211-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0240-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch rename to target/linux/brcm2708/patches-4.19/950-0211-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch index b70a20e8f..12afc4a1f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0240-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0211-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch @@ -1,7 +1,7 @@ From bf5bbfec3cb99c469eb59f2b19411146c47feb73 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 14:21:04 +0000 -Subject: [PATCH 240/806] staging: bcm2835-camera: Ensure H264 header bytes get +Subject: [PATCH] staging: bcm2835-camera: Ensure H264 header bytes get a sensible timestamp H264 header come from VC with 0 timestamps, which means they get a diff --git a/target/linux/brcm2708/patches-4.19/950-0241-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch b/target/linux/brcm2708/patches-4.19/950-0212-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0241-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch rename to target/linux/brcm2708/patches-4.19/950-0212-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch index 4342338c2..96116cb8d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0241-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch +++ b/target/linux/brcm2708/patches-4.19/950-0212-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch @@ -1,7 +1,7 @@ From 6c70a89ac19b1ead96be68002affcd1821014d52 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 13 Feb 2017 13:11:41 +0000 -Subject: [PATCH 241/806] staging: bcm2835-camera: Correctly denote key frames +Subject: [PATCH] staging: bcm2835-camera: Correctly denote key frames in encoded data Forward MMAL key frame flags to the V4L2 buffers. diff --git a/target/linux/brcm2708/patches-4.19/950-0242-staging-bcm2835-camera-Return-early-on-errors.patch b/target/linux/brcm2708/patches-4.19/950-0213-staging-bcm2835-camera-Return-early-on-errors.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0242-staging-bcm2835-camera-Return-early-on-errors.patch rename to target/linux/brcm2708/patches-4.19/950-0213-staging-bcm2835-camera-Return-early-on-errors.patch index 2fd821b2c..616cacefa 100644 --- a/target/linux/brcm2708/patches-4.19/950-0242-staging-bcm2835-camera-Return-early-on-errors.patch +++ b/target/linux/brcm2708/patches-4.19/950-0213-staging-bcm2835-camera-Return-early-on-errors.patch @@ -1,7 +1,7 @@ From 3cb19cb6b4d6dc86582abef6200c0fc663ae3f2a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 Mar 2017 17:27:56 +0000 -Subject: [PATCH 242/806] staging: bcm2835-camera: Return early on errors +Subject: [PATCH] staging: bcm2835-camera: Return early on errors Fix several instances where it is easier to return early on error conditions than handle it as an else diff --git a/target/linux/brcm2708/patches-4.19/950-0243-staging-bcm2835-camera-Remove-dead-email-addresses.patch b/target/linux/brcm2708/patches-4.19/950-0214-staging-bcm2835-camera-Remove-dead-email-addresses.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0243-staging-bcm2835-camera-Remove-dead-email-addresses.patch rename to target/linux/brcm2708/patches-4.19/950-0214-staging-bcm2835-camera-Remove-dead-email-addresses.patch index da9f4b33d..2041ebbd7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0243-staging-bcm2835-camera-Remove-dead-email-addresses.patch +++ b/target/linux/brcm2708/patches-4.19/950-0214-staging-bcm2835-camera-Remove-dead-email-addresses.patch @@ -1,7 +1,7 @@ From b1d4e377b4a8c73396d50c45106f3d3a710b11f5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 Mar 2017 17:35:38 +0000 -Subject: [PATCH 243/806] staging: bcm2835-camera: Remove dead email addresses +Subject: [PATCH] staging: bcm2835-camera: Remove dead email addresses None of the listed author email addresses were valid. Keep list of authors and the companies they represented. diff --git a/target/linux/brcm2708/patches-4.19/950-0244-staging-bcm2835-camera-Fix-comment-style-violations.patch b/target/linux/brcm2708/patches-4.19/950-0215-staging-bcm2835-camera-Fix-comment-style-violations.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0244-staging-bcm2835-camera-Fix-comment-style-violations.patch rename to target/linux/brcm2708/patches-4.19/950-0215-staging-bcm2835-camera-Fix-comment-style-violations.patch index 023871ca6..4788eebc6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0244-staging-bcm2835-camera-Fix-comment-style-violations.patch +++ b/target/linux/brcm2708/patches-4.19/950-0215-staging-bcm2835-camera-Fix-comment-style-violations.patch @@ -1,7 +1,7 @@ From 4fb0df1b29feafacc244ca512b152dd3b96c224c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Feb 2018 13:49:32 +0000 -Subject: [PATCH 244/806] staging: bcm2835-camera: Fix comment style +Subject: [PATCH] staging: bcm2835-camera: Fix comment style violations. Fix comment style violations in the header files. diff --git a/target/linux/brcm2708/patches-4.19/950-0245-staging-bcm2835-camera-Fix-spacing-around-operators.patch b/target/linux/brcm2708/patches-4.19/950-0216-staging-bcm2835-camera-Fix-spacing-around-operators.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0245-staging-bcm2835-camera-Fix-spacing-around-operators.patch rename to target/linux/brcm2708/patches-4.19/950-0216-staging-bcm2835-camera-Fix-spacing-around-operators.patch index 0fb8fc34f..38bcbbd2d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0245-staging-bcm2835-camera-Fix-spacing-around-operators.patch +++ b/target/linux/brcm2708/patches-4.19/950-0216-staging-bcm2835-camera-Fix-spacing-around-operators.patch @@ -1,7 +1,7 @@ From 54fde7601287891754bef85efbbc9b5648d043f4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Feb 2018 14:13:03 +0000 -Subject: [PATCH 245/806] staging: bcm2835-camera: Fix spacing around operators +Subject: [PATCH] staging: bcm2835-camera: Fix spacing around operators Fix checkpatch warnings over spaces around operators. Many were around operations that can be replaced with the diff --git a/target/linux/brcm2708/patches-4.19/950-0246-staging-bcm2835-camera-Reduce-length-of-enum-names.patch b/target/linux/brcm2708/patches-4.19/950-0217-staging-bcm2835-camera-Reduce-length-of-enum-names.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0246-staging-bcm2835-camera-Reduce-length-of-enum-names.patch rename to target/linux/brcm2708/patches-4.19/950-0217-staging-bcm2835-camera-Reduce-length-of-enum-names.patch index f6fa4ae3d..e6d587534 100644 --- a/target/linux/brcm2708/patches-4.19/950-0246-staging-bcm2835-camera-Reduce-length-of-enum-names.patch +++ b/target/linux/brcm2708/patches-4.19/950-0217-staging-bcm2835-camera-Reduce-length-of-enum-names.patch @@ -1,7 +1,7 @@ From 75aca02c1449e3a97ec32de9974ad410f5d34463 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Feb 2018 15:23:35 +0000 -Subject: [PATCH 246/806] staging: bcm2835-camera: Reduce length of enum names +Subject: [PATCH] staging: bcm2835-camera: Reduce length of enum names We have numerous lines over 80 chars, or oddly split. Many of these are due to using long enum names such as diff --git a/target/linux/brcm2708/patches-4.19/950-0247-staging-bcm2835-camera-Fix-multiple-line-dereference.patch b/target/linux/brcm2708/patches-4.19/950-0218-staging-bcm2835-camera-Fix-multiple-line-dereference.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0247-staging-bcm2835-camera-Fix-multiple-line-dereference.patch rename to target/linux/brcm2708/patches-4.19/950-0218-staging-bcm2835-camera-Fix-multiple-line-dereference.patch index dd0e05029..779751009 100644 --- a/target/linux/brcm2708/patches-4.19/950-0247-staging-bcm2835-camera-Fix-multiple-line-dereference.patch +++ b/target/linux/brcm2708/patches-4.19/950-0218-staging-bcm2835-camera-Fix-multiple-line-dereference.patch @@ -1,7 +1,7 @@ From 2730c4538b6edbe1e9d4071a8a64aa62f655eeaa Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Feb 2018 15:28:07 +0000 -Subject: [PATCH 247/806] staging: bcm2835-camera: Fix multiple line +Subject: [PATCH] staging: bcm2835-camera: Fix multiple line dereference errors Fix checkpatch errors "Avoid multiple line dereference" diff --git a/target/linux/brcm2708/patches-4.19/950-0248-staging-bcm2835-camera-Fix-brace-style-issues.patch b/target/linux/brcm2708/patches-4.19/950-0219-staging-bcm2835-camera-Fix-brace-style-issues.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0248-staging-bcm2835-camera-Fix-brace-style-issues.patch rename to target/linux/brcm2708/patches-4.19/950-0219-staging-bcm2835-camera-Fix-brace-style-issues.patch index 93a104139..6aa8e9311 100644 --- a/target/linux/brcm2708/patches-4.19/950-0248-staging-bcm2835-camera-Fix-brace-style-issues.patch +++ b/target/linux/brcm2708/patches-4.19/950-0219-staging-bcm2835-camera-Fix-brace-style-issues.patch @@ -1,7 +1,7 @@ From a023ee926b7e923058203e82edc5405c1e82842c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Feb 2018 15:37:11 +0000 -Subject: [PATCH 248/806] staging: bcm2835-camera: Fix brace style issues. +Subject: [PATCH] staging: bcm2835-camera: Fix brace style issues. Fix mismatched or missing brace issues flagged by checkpatch. diff --git a/target/linux/brcm2708/patches-4.19/950-0249-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch b/target/linux/brcm2708/patches-4.19/950-0220-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0249-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch rename to target/linux/brcm2708/patches-4.19/950-0220-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch index 6cef86b4d..2780112b3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0249-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch +++ b/target/linux/brcm2708/patches-4.19/950-0220-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch @@ -1,7 +1,7 @@ From 6974c0c97b821c30af9f6f4ff9b4b6989cb5a573 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Feb 2018 15:39:26 +0000 -Subject: [PATCH 249/806] staging: bcm2835-camera: Fix missing lines between +Subject: [PATCH] staging: bcm2835-camera: Fix missing lines between items Fix checkpatch errors for missing blank lines after variable diff --git a/target/linux/brcm2708/patches-4.19/950-0250-staging-bcm2835-camera-Fix-logical-continuation-spli.patch b/target/linux/brcm2708/patches-4.19/950-0221-staging-bcm2835-camera-Fix-logical-continuation-spli.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0250-staging-bcm2835-camera-Fix-logical-continuation-spli.patch rename to target/linux/brcm2708/patches-4.19/950-0221-staging-bcm2835-camera-Fix-logical-continuation-spli.patch index 88770c555..8d6b7a931 100644 --- a/target/linux/brcm2708/patches-4.19/950-0250-staging-bcm2835-camera-Fix-logical-continuation-spli.patch +++ b/target/linux/brcm2708/patches-4.19/950-0221-staging-bcm2835-camera-Fix-logical-continuation-spli.patch @@ -1,7 +1,7 @@ From 5056b62708ac730f36114e1d792d0cc878b43561 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Feb 2018 15:48:54 +0000 -Subject: [PATCH 250/806] staging: bcm2835-camera: Fix logical continuation +Subject: [PATCH] staging: bcm2835-camera: Fix logical continuation splits Fix checkpatch errors for "Logical continuations should be diff --git a/target/linux/brcm2708/patches-4.19/950-0251-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch b/target/linux/brcm2708/patches-4.19/950-0222-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0251-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch rename to target/linux/brcm2708/patches-4.19/950-0222-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch index 2cbf11064..85c7f1ea3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0251-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch +++ b/target/linux/brcm2708/patches-4.19/950-0222-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch @@ -1,7 +1,7 @@ From 4ed895c5c9f55f565d5ecc19e799e109673db44f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Feb 2018 15:53:59 +0000 -Subject: [PATCH 251/806] staging: bcm2835-camera: Fix open parenthesis +Subject: [PATCH] staging: bcm2835-camera: Fix open parenthesis alignment Fix checkpatch "Alignment should match open parenthesis" diff --git a/target/linux/brcm2708/patches-4.19/950-0252-staging-bcm2835-camera-Set-sequence-number-correctly.patch b/target/linux/brcm2708/patches-4.19/950-0223-staging-bcm2835-camera-Set-sequence-number-correctly.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0252-staging-bcm2835-camera-Set-sequence-number-correctly.patch rename to target/linux/brcm2708/patches-4.19/950-0223-staging-bcm2835-camera-Set-sequence-number-correctly.patch index 7bffc3cd6..dbfa67cfe 100644 --- a/target/linux/brcm2708/patches-4.19/950-0252-staging-bcm2835-camera-Set-sequence-number-correctly.patch +++ b/target/linux/brcm2708/patches-4.19/950-0223-staging-bcm2835-camera-Set-sequence-number-correctly.patch @@ -1,7 +1,7 @@ From ba37d62e7bbdf42c2fa9ac3655354992da199a4b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 21 Jun 2018 17:02:14 +0100 -Subject: [PATCH 252/806] staging: bcm2835-camera: Set sequence number +Subject: [PATCH] staging: bcm2835-camera: Set sequence number correctly Set the sequence number in vb2_v4l2_buffer mainly so the diff --git a/target/linux/brcm2708/patches-4.19/950-0253-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch b/target/linux/brcm2708/patches-4.19/950-0224-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0253-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch rename to target/linux/brcm2708/patches-4.19/950-0224-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch index 90433b732..802ff8b33 100644 --- a/target/linux/brcm2708/patches-4.19/950-0253-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch +++ b/target/linux/brcm2708/patches-4.19/950-0224-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch @@ -1,7 +1,7 @@ From 0d0b7a58ab065f72ffa55fbc7ab5436628694919 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 24 Jul 2018 12:08:29 +0100 -Subject: [PATCH 253/806] staging: bcm2835-camera: Ensure timestamps never go +Subject: [PATCH] staging: bcm2835-camera: Ensure timestamps never go backwards. There is an awkward situation with H264 header bytes. Currently diff --git a/target/linux/brcm2708/patches-4.19/950-0254-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch b/target/linux/brcm2708/patches-4.19/950-0225-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0254-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch rename to target/linux/brcm2708/patches-4.19/950-0225-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch index 1a83c3d12..11e6f1fb1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0254-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch +++ b/target/linux/brcm2708/patches-4.19/950-0225-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch @@ -1,7 +1,7 @@ From f658f48d662c5ecd84af235f47cc48636b9a55e2 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Thu, 27 Sep 2018 17:50:39 -0700 -Subject: [PATCH 254/806] staging: bcm2835-camera: Avoid unneeded internal +Subject: [PATCH] staging: bcm2835-camera: Avoid unneeded internal declaration warning Clang warns: diff --git a/target/linux/brcm2708/patches-4.19/950-0255-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch b/target/linux/brcm2708/patches-4.19/950-0226-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0255-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch rename to target/linux/brcm2708/patches-4.19/950-0226-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch index 7af89b14c..0feb27356 100644 --- a/target/linux/brcm2708/patches-4.19/950-0255-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch +++ b/target/linux/brcm2708/patches-4.19/950-0226-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch @@ -1,7 +1,7 @@ From c37e8c9137e4858ed86e211f3fddbb9d9af08532 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 16:21:06 +0100 -Subject: [PATCH 255/806] staging: bcm2835-camera: Add multiple inclusion +Subject: [PATCH] staging: bcm2835-camera: Add multiple inclusion protection to headers mmal-common.h and mmal-msg.h didn't have the normal diff --git a/target/linux/brcm2708/patches-4.19/950-0256-staging-bcm2835-camera-Unify-header-inclusion-define.patch b/target/linux/brcm2708/patches-4.19/950-0227-staging-bcm2835-camera-Unify-header-inclusion-define.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0256-staging-bcm2835-camera-Unify-header-inclusion-define.patch rename to target/linux/brcm2708/patches-4.19/950-0227-staging-bcm2835-camera-Unify-header-inclusion-define.patch index a21829568..56d62f5d4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0256-staging-bcm2835-camera-Unify-header-inclusion-define.patch +++ b/target/linux/brcm2708/patches-4.19/950-0227-staging-bcm2835-camera-Unify-header-inclusion-define.patch @@ -1,7 +1,7 @@ From 925b969a16a2e3503803c47a87f093f88d1b2060 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 3 Dec 2018 13:15:20 +0000 -Subject: [PATCH 256/806] staging: bcm2835-camera: Unify header inclusion +Subject: [PATCH] staging: bcm2835-camera: Unify header inclusion defines Most of the headers use ifndef FOO_H, whilst mmal-parameters.h diff --git a/target/linux/brcm2708/patches-4.19/950-0258-staging-bcm2835-camera-Fix-alignment-should-match-op.patch b/target/linux/brcm2708/patches-4.19/950-0228-staging-bcm2835-camera-Fix-alignment-should-match-op.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0258-staging-bcm2835-camera-Fix-alignment-should-match-op.patch rename to target/linux/brcm2708/patches-4.19/950-0228-staging-bcm2835-camera-Fix-alignment-should-match-op.patch index 440970898..53fb95d79 100644 --- a/target/linux/brcm2708/patches-4.19/950-0258-staging-bcm2835-camera-Fix-alignment-should-match-op.patch +++ b/target/linux/brcm2708/patches-4.19/950-0228-staging-bcm2835-camera-Fix-alignment-should-match-op.patch @@ -1,7 +1,7 @@ From 11129d36669a3efee5dd0d49f969f11c42764f9d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 15:55:42 +0000 -Subject: [PATCH 258/806] staging: bcm2835-camera: Fix alignment should match +Subject: [PATCH] staging: bcm2835-camera: Fix alignment should match open parenthesis Fix up checkpatch "Alignment should match open parenthesis" errors diff --git a/target/linux/brcm2708/patches-4.19/950-0259-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch b/target/linux/brcm2708/patches-4.19/950-0229-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0259-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch rename to target/linux/brcm2708/patches-4.19/950-0229-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch index c9f9e043a..34bbe82a5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0259-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch +++ b/target/linux/brcm2708/patches-4.19/950-0229-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch @@ -1,7 +1,7 @@ From d1f9d21346c642fadb2676077b050106afaf7579 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 15:58:14 +0000 -Subject: [PATCH 259/806] staging: bcm2835-camera: Fix multiple assignments +Subject: [PATCH] staging: bcm2835-camera: Fix multiple assignments should be avoided Clear checkpatch complaints of "multiple assignments should be avoided" diff --git a/target/linux/brcm2708/patches-4.19/950-0260-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch b/target/linux/brcm2708/patches-4.19/950-0230-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0260-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch rename to target/linux/brcm2708/patches-4.19/950-0230-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch index c49789034..254664b0b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0260-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch +++ b/target/linux/brcm2708/patches-4.19/950-0230-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch @@ -1,7 +1,7 @@ From be10ef41af683e175521f80b49b99d7ddeac2f2c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 16:08:41 +0000 -Subject: [PATCH 260/806] staging: bcm2835-camera: Fix up all formatting in +Subject: [PATCH] staging: bcm2835-camera: Fix up all formatting in mmal-paramters.h Fixes up all checkpatch errors in mmal-parameters.h diff --git a/target/linux/brcm2708/patches-4.19/950-0261-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch b/target/linux/brcm2708/patches-4.19/950-0231-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0261-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch rename to target/linux/brcm2708/patches-4.19/950-0231-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch index ca4f0470b..2d3b5408a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0261-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch +++ b/target/linux/brcm2708/patches-4.19/950-0231-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch @@ -1,7 +1,7 @@ From 316725374b7c221f5d43b31ee9cbe738d3df4709 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 28 Sep 2018 10:17:11 +0100 -Subject: [PATCH 261/806] staging: bcm2835-camera: Use enums for max value in +Subject: [PATCH] staging: bcm2835-camera: Use enums for max value in controls Controls of type MMAL_CONTROL_TYPE_STD_MENU call v4l2_ctrl_new_std_menu diff --git a/target/linux/brcm2708/patches-4.19/950-0231-staging-vchiq_arm-Register-a-platform-device-for-the.patch b/target/linux/brcm2708/patches-4.19/950-0231-staging-vchiq_arm-Register-a-platform-device-for-the.patch deleted file mode 100644 index 511dee0b5..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0231-staging-vchiq_arm-Register-a-platform-device-for-the.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0ca486925a32b7c95752ff250afdd59bcf6c8574 Mon Sep 17 00:00:00 2001 -From: Stefan Wahren -Date: Sat, 20 Oct 2018 20:25:41 +0200 -Subject: [PATCH 231/806] staging: vchiq_arm: Register a platform device for - the audio driver - -Signed-off-by: Stefan Wahren ---- - drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -@@ -170,6 +170,7 @@ static struct class *vchiq_class; - static struct device *vchiq_dev; - static DEFINE_SPINLOCK(msg_queue_spinlock); - static struct platform_device *bcm2835_camera; -+static struct platform_device *bcm2835_audio; - - static const char *const ioctl_names[] = { - "CONNECT", -@@ -3654,6 +3655,7 @@ static int vchiq_probe(struct platform_d - MAJOR(vchiq_devid), MINOR(vchiq_devid)); - - bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera"); -+ bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio"); - - return 0; - -@@ -3670,6 +3672,8 @@ failed_platform_init: - - static int vchiq_remove(struct platform_device *pdev) - { -+ if (!IS_ERR(bcm2835_audio)) -+ platform_device_unregister(bcm2835_audio); - if (!IS_ERR(bcm2835_camera)) - platform_device_unregister(bcm2835_camera); - vchiq_debugfs_deinit(); diff --git a/target/linux/brcm2708/patches-4.19/950-0232-staging-bcm2835-audio-Enable-compile-test.patch b/target/linux/brcm2708/patches-4.19/950-0232-staging-bcm2835-audio-Enable-compile-test.patch deleted file mode 100644 index c85e6bbe1..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0232-staging-bcm2835-audio-Enable-compile-test.patch +++ /dev/null @@ -1,22 +0,0 @@ -From d08cc93a489df7707afaaa693afd2e7a153c85a3 Mon Sep 17 00:00:00 2001 -From: Stefan Wahren -Date: Sat, 13 Oct 2018 20:19:13 +0200 -Subject: [PATCH 232/806] staging: bcm2835-audio: Enable compile test - -Enable the compilation test for bcm2835-audio. - -Signed-off-by: Stefan Wahren ---- - drivers/staging/vc04_services/bcm2835-audio/Kconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/Kconfig -+++ b/drivers/staging/vc04_services/bcm2835-audio/Kconfig -@@ -1,6 +1,6 @@ - config SND_BCM2835 - tristate "BCM2835 Audio" -- depends on ARCH_BCM2835 && SND -+ depends on (ARCH_BCM2835 || COMPILE_TEST) && SND - select SND_PCM - select BCM2835_VCHIQ - help diff --git a/target/linux/brcm2708/patches-4.19/950-0262-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch b/target/linux/brcm2708/patches-4.19/950-0232-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0262-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch rename to target/linux/brcm2708/patches-4.19/950-0232-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch index 21cbfca0a..02723056c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0262-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch +++ b/target/linux/brcm2708/patches-4.19/950-0232-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch @@ -1,7 +1,7 @@ From f07147faddeb0e99bfe181af78fcda9ea7f06c3d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 8 Oct 2018 18:26:15 +0100 -Subject: [PATCH 262/806] staging: bcm2835-camera: Correct +Subject: [PATCH] staging: bcm2835-camera: Correct V4L2_CID_COLORFX_CBCR behaviour With V4L2_CID_COLORFX_CBCR calling ctrl_set_colfx it was incorrectly diff --git a/target/linux/brcm2708/patches-4.19/950-0233-staging-bcm2835-audio-use-module_platform_driver-mac.patch b/target/linux/brcm2708/patches-4.19/950-0233-staging-bcm2835-audio-use-module_platform_driver-mac.patch deleted file mode 100644 index 5920a012d..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0233-staging-bcm2835-audio-use-module_platform_driver-mac.patch +++ /dev/null @@ -1,43 +0,0 @@ -From f1aada1b4c974fa756e299c15b62c76e478e652e Mon Sep 17 00:00:00 2001 -From: Stefan Wahren -Date: Thu, 18 Oct 2018 19:47:29 +0200 -Subject: [PATCH 233/806] staging: bcm2835-audio: use module_platform_driver() - macro - -There is not much value behind this boilerplate, so use -module_platform_driver() instead. - -Signed-off-by: Stefan Wahren ---- - .../vc04_services/bcm2835-audio/bcm2835.c | 20 +------------------ - 1 file changed, 1 insertion(+), 19 deletions(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -@@ -470,25 +470,7 @@ static struct platform_driver bcm2835_al - .of_match_table = snd_bcm2835_of_match_table, - }, - }; -- --static int bcm2835_alsa_device_init(void) --{ -- int retval; -- -- retval = platform_driver_register(&bcm2835_alsa0_driver); -- if (retval) -- pr_err("Error registering bcm2835_audio driver %d .\n", retval); -- -- return retval; --} -- --static void bcm2835_alsa_device_exit(void) --{ -- platform_driver_unregister(&bcm2835_alsa0_driver); --} -- --late_initcall(bcm2835_alsa_device_init); --module_exit(bcm2835_alsa_device_exit); -+module_platform_driver(bcm2835_alsa0_driver); - - MODULE_AUTHOR("Dom Cobley"); - MODULE_DESCRIPTION("Alsa driver for BCM2835 chip"); diff --git a/target/linux/brcm2708/patches-4.19/950-0263-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch b/target/linux/brcm2708/patches-4.19/950-0233-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0263-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch rename to target/linux/brcm2708/patches-4.19/950-0233-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch index 7645cffac..920249e6b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0263-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch +++ b/target/linux/brcm2708/patches-4.19/950-0233-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch @@ -1,7 +1,7 @@ From 37ede4f6a1771b09dea6e8b2fc4d2c5f085a33f3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 28 Sep 2018 10:22:26 +0100 -Subject: [PATCH 263/806] staging: bcm2835-camera: Remove/amend some obsolete +Subject: [PATCH] staging: bcm2835-camera: Remove/amend some obsolete comments Remove a todo which has been done. diff --git a/target/linux/brcm2708/patches-4.19/950-0234-staging-bcm2835-audio-Drop-DT-dependency.patch b/target/linux/brcm2708/patches-4.19/950-0234-staging-bcm2835-audio-Drop-DT-dependency.patch deleted file mode 100644 index 62b4282ef..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0234-staging-bcm2835-audio-Drop-DT-dependency.patch +++ /dev/null @@ -1,116 +0,0 @@ -From ba833c9b912d2ca6fe23d700c4bd6f61742d5e04 Mon Sep 17 00:00:00 2001 -From: Stefan Wahren -Date: Thu, 18 Oct 2018 19:54:01 +0200 -Subject: [PATCH 234/806] staging: bcm2835-audio: Drop DT dependency - -Just like the bcm2835-video make this a platform driver which is probed -by vchiq. In order to change the number of channels use a module -parameter instead, but use the maximum as default. - -Signed-off-by: Stefan Wahren ---- - .../vc04_services/bcm2835-audio/bcm2835.c | 41 +++++++++---------- - 1 file changed, 19 insertions(+), 22 deletions(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -@@ -4,15 +4,17 @@ - #include - - #include -+#include -+#include - #include - #include --#include - - #include "bcm2835.h" - - static bool enable_hdmi; - static bool enable_headphones; - static bool enable_compat_alsa = true; -+static int num_channels = MAX_SUBSTREAMS; - - module_param(enable_hdmi, bool, 0444); - MODULE_PARM_DESC(enable_hdmi, "Enables HDMI virtual audio device"); -@@ -21,6 +23,8 @@ MODULE_PARM_DESC(enable_headphones, "Ena - module_param(enable_compat_alsa, bool, 0444); - MODULE_PARM_DESC(enable_compat_alsa, - "Enables ALSA compatibility virtual audio device"); -+module_param(num_channels, int, 0644); -+MODULE_PARM_DESC(num_channels, "Number of audio channels (default: 8)"); - - static void snd_devm_unregister_child(struct device *dev, void *res) - { -@@ -407,31 +411,30 @@ static int snd_add_child_devices(struct - return 0; - } - --static int snd_bcm2835_alsa_probe_dt(struct platform_device *pdev) -+static int snd_bcm2835_alsa_probe(struct platform_device *pdev) - { - struct device *dev = &pdev->dev; -- u32 numchans; - int err; - -- err = of_property_read_u32(dev->of_node, "brcm,pwm-channels", -- &numchans); -- if (err) { -- dev_err(dev, "Failed to get DT property 'brcm,pwm-channels'"); -- return err; -+ if (num_channels <= 0 || num_channels > MAX_SUBSTREAMS) { -+ num_channels = MAX_SUBSTREAMS; -+ dev_warn(dev, "Illegal num_channels value, will use %u\n", -+ num_channels); - } - -- if (numchans == 0 || numchans > MAX_SUBSTREAMS) { -- numchans = MAX_SUBSTREAMS; -- dev_warn(dev, -- "Illegal 'brcm,pwm-channels' value, will use %u\n", -- numchans); -+ dev->coherent_dma_mask = DMA_BIT_MASK(32); -+ dev->dma_mask = &dev->coherent_dma_mask; -+ err = of_dma_configure(dev, NULL, true); -+ if (err) { -+ dev_err(dev, "Unable to setup DMA: %d\n", err); -+ return err; - } - - err = bcm2835_devm_add_vchi_ctx(dev); - if (err) - return err; - -- err = snd_add_child_devices(dev, numchans); -+ err = snd_add_child_devices(dev, num_channels); - if (err) - return err; - -@@ -453,21 +456,14 @@ static int snd_bcm2835_alsa_resume(struc - - #endif - --static const struct of_device_id snd_bcm2835_of_match_table[] = { -- { .compatible = "brcm,bcm2835-audio",}, -- {}, --}; --MODULE_DEVICE_TABLE(of, snd_bcm2835_of_match_table); -- - static struct platform_driver bcm2835_alsa0_driver = { -- .probe = snd_bcm2835_alsa_probe_dt, -+ .probe = snd_bcm2835_alsa_probe, - #ifdef CONFIG_PM - .suspend = snd_bcm2835_alsa_suspend, - .resume = snd_bcm2835_alsa_resume, - #endif - .driver = { - .name = "bcm2835_audio", -- .of_match_table = snd_bcm2835_of_match_table, - }, - }; - module_platform_driver(bcm2835_alsa0_driver); -@@ -475,3 +471,4 @@ module_platform_driver(bcm2835_alsa0_dri - MODULE_AUTHOR("Dom Cobley"); - MODULE_DESCRIPTION("Alsa driver for BCM2835 chip"); - MODULE_LICENSE("GPL"); -+MODULE_ALIAS("platform:bcm2835_audio"); diff --git a/target/linux/brcm2708/patches-4.19/950-0264-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch b/target/linux/brcm2708/patches-4.19/950-0234-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0264-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch rename to target/linux/brcm2708/patches-4.19/950-0234-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch index bbf5d36c2..1cd23da28 100644 --- a/target/linux/brcm2708/patches-4.19/950-0264-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch +++ b/target/linux/brcm2708/patches-4.19/950-0234-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch @@ -1,7 +1,7 @@ From e7723c6bcf31a440b8762e9e22497ff3fbbb7056 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 16:30:37 +0100 -Subject: [PATCH 264/806] staging: vc04_services: Split vchiq-mmal into a +Subject: [PATCH] staging: vc04_services: Split vchiq-mmal into a module In preparation for adding a video codec V4L2 module which also diff --git a/target/linux/brcm2708/patches-4.19/950-0265-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch b/target/linux/brcm2708/patches-4.19/950-0235-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0265-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch rename to target/linux/brcm2708/patches-4.19/950-0235-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch index ce0b68284..7e4100f96 100644 --- a/target/linux/brcm2708/patches-4.19/950-0265-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch +++ b/target/linux/brcm2708/patches-4.19/950-0235-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch @@ -1,7 +1,7 @@ From f94642597f63c71b2ccffddd4f447190c131af56 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 16:51:13 +0100 -Subject: [PATCH 265/806] staging: mmal-vchiq: Allocate and free components as +Subject: [PATCH] staging: mmal-vchiq: Allocate and free components as required The existing code assumed that there would only ever be 4 components, diff --git a/target/linux/brcm2708/patches-4.19/950-0266-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch b/target/linux/brcm2708/patches-4.19/950-0236-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0266-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch rename to target/linux/brcm2708/patches-4.19/950-0236-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch index 6d2f7fd56..401b8bfa0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0266-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch +++ b/target/linux/brcm2708/patches-4.19/950-0236-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch @@ -1,7 +1,7 @@ From 3789c3b08b56f471878c493fd80a2eee776b527c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 16:20:46 +0000 -Subject: [PATCH 266/806] staging: mmal-vchiq: Avoid use of bool in structures +Subject: [PATCH] staging: mmal-vchiq: Avoid use of bool in structures Fixes up a checkpatch error "Avoid using bool structure members because of possible alignment issues". diff --git a/target/linux/brcm2708/patches-4.19/950-0267-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch b/target/linux/brcm2708/patches-4.19/950-0237-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0267-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch rename to target/linux/brcm2708/patches-4.19/950-0237-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch index b9d1699c7..dd6554142 100644 --- a/target/linux/brcm2708/patches-4.19/950-0267-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch +++ b/target/linux/brcm2708/patches-4.19/950-0237-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch @@ -1,7 +1,7 @@ From 301a6a16ec8a8b1a7b89c0cc6df30e79a460214a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 16:57:09 +0100 -Subject: [PATCH 267/806] staging: mmal-vchiq: Make timeout a defined parameter +Subject: [PATCH] staging: mmal-vchiq: Make timeout a defined parameter The timeout period for VPU communications is a useful thing to extend when debugging. diff --git a/target/linux/brcm2708/patches-4.19/950-0268-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch b/target/linux/brcm2708/patches-4.19/950-0238-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0268-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch rename to target/linux/brcm2708/patches-4.19/950-0238-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch index b3c8c2ad0..468f03698 100644 --- a/target/linux/brcm2708/patches-4.19/950-0268-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch +++ b/target/linux/brcm2708/patches-4.19/950-0238-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch @@ -1,7 +1,7 @@ From 862ee4fbd8c6b984f920b88908e33951e51134ca Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 17:33:37 +0100 -Subject: [PATCH 268/806] staging: mmal-vchiq: Make a mmal_buf struct for +Subject: [PATCH] staging: mmal-vchiq: Make a mmal_buf struct for passing parameters The callback from vchi_mmal to the client was growing lots of extra diff --git a/target/linux/brcm2708/patches-4.19/950-0269-staging-mmal-vchiq-Add-support-for-event-callbacks.patch b/target/linux/brcm2708/patches-4.19/950-0239-staging-mmal-vchiq-Add-support-for-event-callbacks.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0269-staging-mmal-vchiq-Add-support-for-event-callbacks.patch rename to target/linux/brcm2708/patches-4.19/950-0239-staging-mmal-vchiq-Add-support-for-event-callbacks.patch index 00b85e438..b79bdb841 100644 --- a/target/linux/brcm2708/patches-4.19/950-0269-staging-mmal-vchiq-Add-support-for-event-callbacks.patch +++ b/target/linux/brcm2708/patches-4.19/950-0239-staging-mmal-vchiq-Add-support-for-event-callbacks.patch @@ -1,7 +1,7 @@ From adab474d1f91594d6d96d44054586ba36d7f26d4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 18:15:38 +0100 -Subject: [PATCH 269/806] staging: mmal-vchiq: Add support for event callbacks. +Subject: [PATCH] staging: mmal-vchiq: Add support for event callbacks. (Preparation for the codec driver). The codec uses the event mechanism to report things such as diff --git a/target/linux/brcm2708/patches-4.19/950-0270-staging-vc04_services-Support-sending-data-to-MMAL-p.patch b/target/linux/brcm2708/patches-4.19/950-0240-staging-vc04_services-Support-sending-data-to-MMAL-p.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0270-staging-vc04_services-Support-sending-data-to-MMAL-p.patch rename to target/linux/brcm2708/patches-4.19/950-0240-staging-vc04_services-Support-sending-data-to-MMAL-p.patch index b414b3228..9688bc868 100644 --- a/target/linux/brcm2708/patches-4.19/950-0270-staging-vc04_services-Support-sending-data-to-MMAL-p.patch +++ b/target/linux/brcm2708/patches-4.19/950-0240-staging-vc04_services-Support-sending-data-to-MMAL-p.patch @@ -1,7 +1,7 @@ From 483bef9dcddc4bcb9f4e250d91b31361a919b7ed Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 18:26:02 +0100 -Subject: [PATCH 270/806] staging: vc04_services: Support sending data to MMAL +Subject: [PATCH] staging: vc04_services: Support sending data to MMAL ports Add the ability to send data to ports. This only supports diff --git a/target/linux/brcm2708/patches-4.19/950-0271-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch b/target/linux/brcm2708/patches-4.19/950-0241-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0271-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch rename to target/linux/brcm2708/patches-4.19/950-0241-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch index 31301e4ad..6c5474364 100644 --- a/target/linux/brcm2708/patches-4.19/950-0271-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch +++ b/target/linux/brcm2708/patches-4.19/950-0241-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch @@ -1,7 +1,7 @@ From 2a5a03926a8c6ae7375355de00814234e4e303ed Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Sep 2018 16:57:40 +0100 -Subject: [PATCH 271/806] staging: vc04_services: Fixup vchiq-mmal include +Subject: [PATCH] staging: vc04_services: Fixup vchiq-mmal include ordering There were dependencies on including the headers in the correct diff --git a/target/linux/brcm2708/patches-4.19/950-0272-staging-vc04_services-Add-new-vc-sm-cma-driver.patch b/target/linux/brcm2708/patches-4.19/950-0242-staging-vc04_services-Add-new-vc-sm-cma-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0272-staging-vc04_services-Add-new-vc-sm-cma-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0242-staging-vc04_services-Add-new-vc-sm-cma-driver.patch index 749fb9714..9e9af47a3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0272-staging-vc04_services-Add-new-vc-sm-cma-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0242-staging-vc04_services-Add-new-vc-sm-cma-driver.patch @@ -1,7 +1,7 @@ From 2994fdc0a9d48be68d6e403bc8ddadecfc8d8796 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Sep 2018 10:27:11 +0100 -Subject: [PATCH 272/806] staging: vc04_services: Add new vc-sm-cma driver +Subject: [PATCH] staging: vc04_services: Add new vc-sm-cma driver This new driver allows contiguous memory blocks to be imported into the VideoCore VPU memory map, and manages the lifetime of diff --git a/target/linux/brcm2708/patches-4.19/950-0273-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch b/target/linux/brcm2708/patches-4.19/950-0243-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0273-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch rename to target/linux/brcm2708/patches-4.19/950-0243-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch index 7356e611f..4f16e0bfd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0273-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch +++ b/target/linux/brcm2708/patches-4.19/950-0243-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch @@ -1,7 +1,7 @@ From 9eb40722f3ef0d338ed97667a7391f3d74812332 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 30 Oct 2018 11:42:48 +0000 -Subject: [PATCH 273/806] staging: vc-sm-cma: Fixup driver for older VCHI APIs +Subject: [PATCH] staging: vc-sm-cma: Fixup driver for older VCHI APIs Original patch was based off staging which included some cleanups of the VCHI APIs. Those aren't present here, so switch back to diff --git a/target/linux/brcm2708/patches-4.19/950-0274-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch b/target/linux/brcm2708/patches-4.19/950-0244-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0274-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch rename to target/linux/brcm2708/patches-4.19/950-0244-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch index 22ca1de65..8c69f65cc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0274-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0244-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch @@ -1,7 +1,7 @@ From bcb0dccc1f02ed3dd01834ca0e35c4043df8988e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Sep 2018 16:07:55 +0100 -Subject: [PATCH 274/806] staging: vc04_services: Use vc-sm-cma to support zero +Subject: [PATCH] staging: vc04_services: Use vc-sm-cma to support zero copy With the vc-sm-cma driver we can support zero copy of buffers between diff --git a/target/linux/brcm2708/patches-4.19/950-0275-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch b/target/linux/brcm2708/patches-4.19/950-0245-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0275-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch rename to target/linux/brcm2708/patches-4.19/950-0245-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch index 5ef425ca9..fbaa3c2d4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0275-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch +++ b/target/linux/brcm2708/patches-4.19/950-0245-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch @@ -1,7 +1,7 @@ From 0b2a62596d0e6efe17bb87a3a5ebd91cee60c64b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 17:57:45 +0000 -Subject: [PATCH 275/806] media: videobuf2: Allow exporting of a struct dmabuf +Subject: [PATCH] media: videobuf2: Allow exporting of a struct dmabuf videobuf2 only allowed exporting a dmabuf as a file descriptor, but there are instances where having the struct dma_buf is diff --git a/target/linux/brcm2708/patches-4.19/950-0276-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch b/target/linux/brcm2708/patches-4.19/950-0246-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0276-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0246-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch index 192e7d9db..0a6552b7f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0276-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0246-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch @@ -1,7 +1,7 @@ From 2758fab4321519446fe5444769b6257dd18e794b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Sep 2018 14:53:49 +0100 -Subject: [PATCH 276/806] staging: vc04_services: Add a V4L2 M2M codec driver +Subject: [PATCH] staging: vc04_services: Add a V4L2 M2M codec driver This adds a V4L2 memory to memory device that wraps the MMAL video decode and video_encode components for H264 and MJPEG encode diff --git a/target/linux/brcm2708/patches-4.19/950-0277-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch b/target/linux/brcm2708/patches-4.19/950-0247-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch similarity index 72% rename from target/linux/brcm2708/patches-4.19/950-0277-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch rename to target/linux/brcm2708/patches-4.19/950-0247-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch index 2325697c8..51cc4a463 100644 --- a/target/linux/brcm2708/patches-4.19/950-0277-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch +++ b/target/linux/brcm2708/patches-4.19/950-0247-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch @@ -1,7 +1,7 @@ From b28dac3003b4c756b72201bb1d83647e33e2f4f1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Oct 2018 15:14:16 +0100 -Subject: [PATCH 277/806] staging: vchiq_arm: Register bcm2835-codec as a +Subject: [PATCH] staging: vchiq_arm: Register bcm2835-codec as a platform driver Following the same pattern as bcm2835-camera and bcm2835-audio, @@ -14,18 +14,18 @@ Signed-off-by: Dave Stevenson --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -@@ -171,6 +171,7 @@ static struct device *vchiq_dev; +@@ -170,6 +170,7 @@ static struct class *vchiq_class; + static struct device *vchiq_dev; static DEFINE_SPINLOCK(msg_queue_spinlock); static struct platform_device *bcm2835_camera; - static struct platform_device *bcm2835_audio; +static struct platform_device *bcm2835_codec; static const char *const ioctl_names[] = { "CONNECT", -@@ -3660,6 +3661,9 @@ static int vchiq_probe(struct platform_d - bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio"); - if (IS_ERR(bcm2835_audio)) - bcm2835_audio = NULL; +@@ -3656,6 +3657,9 @@ static int vchiq_probe(struct platform_d + bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera"); + if (IS_ERR(bcm2835_camera)) + bcm2835_camera = NULL; + bcm2835_codec = vchiq_register_child(pdev, "bcm2835-codec"); + if (IS_ERR(bcm2835_codec)) + bcm2835_codec = NULL; diff --git a/target/linux/brcm2708/patches-4.19/950-0278-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch b/target/linux/brcm2708/patches-4.19/950-0248-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch similarity index 81% rename from target/linux/brcm2708/patches-4.19/950-0278-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch rename to target/linux/brcm2708/patches-4.19/950-0248-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch index a34e5d7f1..6bfa52dfe 100644 --- a/target/linux/brcm2708/patches-4.19/950-0278-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch +++ b/target/linux/brcm2708/patches-4.19/950-0248-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch @@ -1,7 +1,7 @@ From 69c5c6d62b457ee88e55c4090dc09c0441b059f2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Oct 2018 15:19:40 +0100 -Subject: [PATCH 278/806] staging: vchiq_arm: Register vcsm-cma as a platform +Subject: [PATCH] staging: vchiq_arm: Register vcsm-cma as a platform driver Following the same pattern as bcm2835-camera and bcm2835-audio, @@ -14,15 +14,15 @@ Signed-off-by: Dave Stevenson --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -@@ -172,6 +172,7 @@ static DEFINE_SPINLOCK(msg_queue_spinloc +@@ -171,6 +171,7 @@ static struct device *vchiq_dev; + static DEFINE_SPINLOCK(msg_queue_spinlock); static struct platform_device *bcm2835_camera; - static struct platform_device *bcm2835_audio; static struct platform_device *bcm2835_codec; +static struct platform_device *vcsm_cma; static const char *const ioctl_names[] = { "CONNECT", -@@ -3655,6 +3656,9 @@ static int vchiq_probe(struct platform_d +@@ -3654,6 +3655,9 @@ static int vchiq_probe(struct platform_d VCHIQ_VERSION, VCHIQ_VERSION_MIN, MAJOR(vchiq_devid), MINOR(vchiq_devid)); diff --git a/target/linux/brcm2708/patches-4.19/950-0281-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch b/target/linux/brcm2708/patches-4.19/950-0249-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0281-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch rename to target/linux/brcm2708/patches-4.19/950-0249-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch index c4ef974a8..9659b1095 100644 --- a/target/linux/brcm2708/patches-4.19/950-0281-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch +++ b/target/linux/brcm2708/patches-4.19/950-0249-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch @@ -1,7 +1,7 @@ From 69e42b6209062b9cd3fc9aea8fb53ed703509e51 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 30 Nov 2018 16:00:54 +0000 -Subject: [PATCH 281/806] staging: bcm2835-camera: Fix stride on RGB3/BGR3 +Subject: [PATCH] staging: bcm2835-camera: Fix stride on RGB3/BGR3 formats RGB3/BGR3 end up being 3 bytes per pixel, which meant that diff --git a/target/linux/brcm2708/patches-4.19/950-0283-tpm-Make-SECURITYFS-a-weak-dependency.patch b/target/linux/brcm2708/patches-4.19/950-0250-tpm-Make-SECURITYFS-a-weak-dependency.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0283-tpm-Make-SECURITYFS-a-weak-dependency.patch rename to target/linux/brcm2708/patches-4.19/950-0250-tpm-Make-SECURITYFS-a-weak-dependency.patch index 03dca9883..7e86b0984 100644 --- a/target/linux/brcm2708/patches-4.19/950-0283-tpm-Make-SECURITYFS-a-weak-dependency.patch +++ b/target/linux/brcm2708/patches-4.19/950-0250-tpm-Make-SECURITYFS-a-weak-dependency.patch @@ -1,7 +1,7 @@ From 38e82adecd1b7ae790a827c29e954d35a2bbee98 Mon Sep 17 00:00:00 2001 From: Peter Huewe Date: Mon, 3 Sep 2018 21:51:51 +0200 -Subject: [PATCH 283/806] tpm: Make SECURITYFS a weak dependency +Subject: [PATCH] tpm: Make SECURITYFS a weak dependency commit 2f7d8dbb11287cbe9da6380ca14ed5d38c9ed91f upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0285-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch b/target/linux/brcm2708/patches-4.19/950-0251-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0285-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch rename to target/linux/brcm2708/patches-4.19/950-0251-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch index 586745552..16539aa30 100644 --- a/target/linux/brcm2708/patches-4.19/950-0285-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch +++ b/target/linux/brcm2708/patches-4.19/950-0251-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch @@ -1,7 +1,7 @@ From 82298c670f768f392f48526fe7c8a93682e83998 Mon Sep 17 00:00:00 2001 From: Peter Huewe Date: Thu, 14 Jun 2018 22:51:24 +0200 -Subject: [PATCH 285/806] Add overlay for SLB9760 Iridium /LetsTrust TPM +Subject: [PATCH] Add overlay for SLB9760 Iridium /LetsTrust TPM Device Tree overlay for the Infineon SLB9670 Trusted Platform Module add-on boards, which can be used as a secure key storage and hwrng. diff --git a/target/linux/brcm2708/patches-4.19/950-0288-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch b/target/linux/brcm2708/patches-4.19/950-0252-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0288-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch rename to target/linux/brcm2708/patches-4.19/950-0252-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch index c54b5af7a..e33553625 100644 --- a/target/linux/brcm2708/patches-4.19/950-0288-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch +++ b/target/linux/brcm2708/patches-4.19/950-0252-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch @@ -1,7 +1,7 @@ From e740bd2cc3fcd632fcd6c8881b1fc671bcde5914 Mon Sep 17 00:00:00 2001 From: dev-3Dlab <45081440+dev-3Dlab@users.noreply.github.com> Date: Wed, 5 Dec 2018 10:59:11 +0100 -Subject: [PATCH 288/806] ASoC: add driver for 3Dlab Nano soundcard (#2758) +Subject: [PATCH] ASoC: add driver for 3Dlab Nano soundcard (#2758) Signed-off-by: GT --- diff --git a/target/linux/brcm2708/patches-4.19/950-0289-overlays-Update-README-with-removal-of-lirc-rpi.patch b/target/linux/brcm2708/patches-4.19/950-0253-overlays-Update-README-with-removal-of-lirc-rpi.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0289-overlays-Update-README-with-removal-of-lirc-rpi.patch rename to target/linux/brcm2708/patches-4.19/950-0253-overlays-Update-README-with-removal-of-lirc-rpi.patch index 9886c85ac..02162129b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0289-overlays-Update-README-with-removal-of-lirc-rpi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0253-overlays-Update-README-with-removal-of-lirc-rpi.patch @@ -1,7 +1,7 @@ From f2c24ce7e03d059fa9f674d8ebf6286e8f0c38b6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 5 Dec 2018 11:56:40 +0000 -Subject: [PATCH 289/806] overlays: Update README with removal of lirc-rpi +Subject: [PATCH] overlays: Update README with removal of lirc-rpi Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0290-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch b/target/linux/brcm2708/patches-4.19/950-0254-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0290-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch rename to target/linux/brcm2708/patches-4.19/950-0254-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch index b781c9eb3..40260a657 100644 --- a/target/linux/brcm2708/patches-4.19/950-0290-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch +++ b/target/linux/brcm2708/patches-4.19/950-0254-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch @@ -1,7 +1,7 @@ From 81f6d4e84fd127cf0b31c9822a2beb9b298aa7bb Mon Sep 17 00:00:00 2001 From: 6by9 <6by9@users.noreply.github.com> Date: Tue, 11 Dec 2018 15:18:02 +0000 -Subject: [PATCH 290/806] staging: bcm2835-camera: Check the error for +Subject: [PATCH] staging: bcm2835-camera: Check the error for REPEAT_SEQ_HEADER (#2782) When handling for V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER was added diff --git a/target/linux/brcm2708/patches-4.19/950-0291-gpio-ir-change-default-pull-configuration-to-up.patch b/target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0291-gpio-ir-change-default-pull-configuration-to-up.patch rename to target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch index d68ea95e5..40bfc0144 100644 --- a/target/linux/brcm2708/patches-4.19/950-0291-gpio-ir-change-default-pull-configuration-to-up.patch +++ b/target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch @@ -1,7 +1,7 @@ From d1cf5fb57ee5ee4512a93614d67d15af9c8070b2 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 9 Jan 2019 14:51:01 +0100 -Subject: [PATCH 291/806] gpio-ir: change default pull configuration to up +Subject: [PATCH] gpio-ir: change default pull configuration to up IR receivers like the TSOP series from Vishay and compatible ones have active-low open collector outputs with an internal pull up of diff --git a/target/linux/brcm2708/patches-4.19/950-0292-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch b/target/linux/brcm2708/patches-4.19/950-0256-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0292-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch rename to target/linux/brcm2708/patches-4.19/950-0256-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch index 36e57e825..a41e46b1e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0292-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch +++ b/target/linux/brcm2708/patches-4.19/950-0256-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch @@ -1,7 +1,7 @@ From dfd66230d2d538e7f290436d2952124d6eadeb3d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 10 Jan 2019 17:58:06 +0000 -Subject: [PATCH 292/806] firmware: raspberrypi: Report the fw variant during +Subject: [PATCH] firmware: raspberrypi: Report the fw variant during probe The driver already reported the firmware build date during probe. diff --git a/target/linux/brcm2708/patches-4.19/950-0293-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch b/target/linux/brcm2708/patches-4.19/950-0257-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0293-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch rename to target/linux/brcm2708/patches-4.19/950-0257-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch index 90fa066e3..84d8a8965 100644 --- a/target/linux/brcm2708/patches-4.19/950-0293-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch +++ b/target/linux/brcm2708/patches-4.19/950-0257-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch @@ -1,7 +1,7 @@ From 9abde0ff52268580501b3120629f3c92f0e5d589 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 10 Jan 2019 18:48:54 +0000 -Subject: [PATCH 293/806] firmware: raspberrypi: Report the fw git hash during +Subject: [PATCH] firmware: raspberrypi: Report the fw git hash during probe The firmware can now report the git hash from which it was built diff --git a/target/linux/brcm2708/patches-4.19/950-0294-arm64-dts-broadcom-Enable-fixups-for-overlays.patch b/target/linux/brcm2708/patches-4.19/950-0258-arm64-dts-broadcom-Enable-fixups-for-overlays.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0294-arm64-dts-broadcom-Enable-fixups-for-overlays.patch rename to target/linux/brcm2708/patches-4.19/950-0258-arm64-dts-broadcom-Enable-fixups-for-overlays.patch index 44c3429c8..96d2ad469 100644 --- a/target/linux/brcm2708/patches-4.19/950-0294-arm64-dts-broadcom-Enable-fixups-for-overlays.patch +++ b/target/linux/brcm2708/patches-4.19/950-0258-arm64-dts-broadcom-Enable-fixups-for-overlays.patch @@ -1,7 +1,7 @@ From bb8f38337d08dc1ac78ab251aa0b515eea45a79e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Jan 2019 09:56:41 +0000 -Subject: [PATCH 294/806] arm64: dts: broadcom: Enable fixups for overlays +Subject: [PATCH] arm64: dts: broadcom: Enable fixups for overlays See: https://github.com/raspberrypi/linux/pull/2733 diff --git a/target/linux/brcm2708/patches-4.19/950-0296-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch b/target/linux/brcm2708/patches-4.19/950-0259-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0296-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch rename to target/linux/brcm2708/patches-4.19/950-0259-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch index 7e7dcd028..09ff03e81 100644 --- a/target/linux/brcm2708/patches-4.19/950-0296-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch +++ b/target/linux/brcm2708/patches-4.19/950-0259-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch @@ -1,7 +1,7 @@ From 1d26e4d72f2d0563cc6455e682a5d4c491de178c Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Sun, 9 Dec 2018 16:46:00 -0500 -Subject: [PATCH 296/806] dtoverlays: fe-pi-audio: fix sgtl5000 compatible +Subject: [PATCH] dtoverlays: fe-pi-audio: fix sgtl5000 compatible string The compatible string was set to "fepi,sgtl5000", which worked for some diff --git a/target/linux/brcm2708/patches-4.19/950-0297-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch b/target/linux/brcm2708/patches-4.19/950-0260-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch similarity index 87% rename from target/linux/brcm2708/patches-4.19/950-0297-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch rename to target/linux/brcm2708/patches-4.19/950-0260-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch index 1c1f5e6e7..37f1cb53f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0297-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch +++ b/target/linux/brcm2708/patches-4.19/950-0260-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch @@ -1,7 +1,7 @@ From e5111d81c8efc17d8d585510980d3fe49c998741 Mon Sep 17 00:00:00 2001 From: Ezekiel Bethel Date: Wed, 12 Dec 2018 19:11:13 +0000 -Subject: [PATCH 297/806] bcm2835_smi: re-add dereference to fix DMA transfers +Subject: [PATCH] bcm2835_smi: re-add dereference to fix DMA transfers --- drivers/misc/bcm2835_smi.c | 2 +- diff --git a/target/linux/brcm2708/patches-4.19/950-0298-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch b/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0298-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch rename to target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch index bff441c5e..b552cc0b9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0298-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch +++ b/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch @@ -1,7 +1,7 @@ From 020ee4d0d438b830ee40da8d9d3414de156a11e7 Mon Sep 17 00:00:00 2001 From: Joshua Emele Date: Wed, 7 Nov 2018 16:07:40 -0800 -Subject: [PATCH 298/806] lan78xx: Debounce link events to minimize poll storm +Subject: [PATCH] lan78xx: Debounce link events to minimize poll storm The bInterval is set to 4 (i.e. 8 microframes => 1ms) and the only bit that the driver pays attention to is "link was reset". If there's a @@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); -@@ -3824,7 +3829,12 @@ static int lan78xx_probe(struct usb_inte +@@ -3825,7 +3830,12 @@ static int lan78xx_probe(struct usb_inte dev->pipe_intr = usb_rcvintpipe(dev->udev, dev->ep_intr->desc.bEndpointAddress & USB_ENDPOINT_NUMBER_MASK); diff --git a/target/linux/brcm2708/patches-4.19/950-0299-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch b/target/linux/brcm2708/patches-4.19/950-0262-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0299-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch rename to target/linux/brcm2708/patches-4.19/950-0262-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch index 400e38cba..1ab87d5a5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0299-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch +++ b/target/linux/brcm2708/patches-4.19/950-0262-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch @@ -1,7 +1,7 @@ From 5705594ae56861cb63e7a3de1854e29ad1e830fd Mon Sep 17 00:00:00 2001 From: b-ak Date: Thu, 3 Jan 2019 00:01:08 +0530 -Subject: [PATCH 299/806] ASoC: Add support for AudioSense-Pi add-on soundcard +Subject: [PATCH] ASoC: Add support for AudioSense-Pi add-on soundcard AudioSense-Pi is a RPi HAT based on a TI's TLV320AIC32x4 stereo codec diff --git a/target/linux/brcm2708/patches-4.19/950-0300-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0263-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0300-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch rename to target/linux/brcm2708/patches-4.19/950-0263-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch index 4f64bd207..1e85d9f23 100644 --- a/target/linux/brcm2708/patches-4.19/950-0300-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0263-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch @@ -1,7 +1,7 @@ From 0d2a0f4f4c00c958fb6e7a2673adbe51c2a932f2 Mon Sep 17 00:00:00 2001 From: b-ak Date: Thu, 3 Jan 2019 00:29:14 +0530 -Subject: [PATCH 300/806] BCM270X: Adding device tree support for AudioSense-Pi +Subject: [PATCH] BCM270X: Adding device tree support for AudioSense-Pi add-on soundcard Device tree overlay for AudioSense-Pi card. diff --git a/target/linux/brcm2708/patches-4.19/950-0303-overlays-sdio-Add-enhanced-1-bit-support.patch b/target/linux/brcm2708/patches-4.19/950-0264-overlays-sdio-Add-enhanced-1-bit-support.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0303-overlays-sdio-Add-enhanced-1-bit-support.patch rename to target/linux/brcm2708/patches-4.19/950-0264-overlays-sdio-Add-enhanced-1-bit-support.patch index 35ebd5905..42a9f112e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0303-overlays-sdio-Add-enhanced-1-bit-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0264-overlays-sdio-Add-enhanced-1-bit-support.patch @@ -1,7 +1,7 @@ From 788109b357ddb30a95be72ce46dc22e2335131af Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 10 Jan 2019 15:27:56 +0000 -Subject: [PATCH 303/806] overlays: sdio: Add enhanced 1-bit support +Subject: [PATCH] overlays: sdio: Add enhanced 1-bit support "dtoverlay=sdio,bus_width=1,gpios_22_25" is equivalent to the sdio-1bit overlay, which is now deprecated. diff --git a/target/linux/brcm2708/patches-4.19/950-0304-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch b/target/linux/brcm2708/patches-4.19/950-0265-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0304-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch rename to target/linux/brcm2708/patches-4.19/950-0265-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch index c80a2133e..fd5f88ff0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0304-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch +++ b/target/linux/brcm2708/patches-4.19/950-0265-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch @@ -1,7 +1,7 @@ From 6e56da00afdf11416045213552514d10bab845cc Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 16 Jan 2019 10:17:52 +0000 -Subject: [PATCH 304/806] dwc_otg: fix bug with port_addr assignment for +Subject: [PATCH] dwc_otg: fix bug with port_addr assignment for single-TT hubs See https://github.com/raspberrypi/linux/issues/2734 diff --git a/target/linux/brcm2708/patches-4.19/950-0306-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch b/target/linux/brcm2708/patches-4.19/950-0266-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0306-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch rename to target/linux/brcm2708/patches-4.19/950-0266-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch index f06f4cd96..9cd839e04 100644 --- a/target/linux/brcm2708/patches-4.19/950-0306-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch +++ b/target/linux/brcm2708/patches-4.19/950-0266-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch @@ -1,7 +1,7 @@ From dde0ec6b9fd5755de3a8962489cde9c0ce5e5005 Mon Sep 17 00:00:00 2001 From: HiFiBerry Date: Mon, 8 Oct 2018 18:10:12 +0200 -Subject: [PATCH 306/806] Added driver for the HiFiBerry DAC+ ADC (#2694) +Subject: [PATCH] Added driver for the HiFiBerry DAC+ ADC (#2694) Signed-off-by: Daniel Matuschek --- diff --git a/target/linux/brcm2708/patches-4.19/950-0307-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch b/target/linux/brcm2708/patches-4.19/950-0267-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0307-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch rename to target/linux/brcm2708/patches-4.19/950-0267-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch index a7f526a03..8136e3ffa 100644 --- a/target/linux/brcm2708/patches-4.19/950-0307-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch +++ b/target/linux/brcm2708/patches-4.19/950-0267-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch @@ -1,7 +1,7 @@ From 20a5b38305df30e25b4429e0e34e35235dd57228 Mon Sep 17 00:00:00 2001 From: Fabrice Gasnier Date: Mon, 1 Oct 2018 15:23:57 +0200 -Subject: [PATCH 307/806] pwm: Send a uevent on the pwmchip device upon channel +Subject: [PATCH] pwm: Send a uevent on the pwmchip device upon channel sysfs (un)export MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/target/linux/brcm2708/patches-4.19/950-0308-overlays-Add-ssd1306-overlay-for-OLED-display.patch b/target/linux/brcm2708/patches-4.19/950-0268-overlays-Add-ssd1306-overlay-for-OLED-display.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0308-overlays-Add-ssd1306-overlay-for-OLED-display.patch rename to target/linux/brcm2708/patches-4.19/950-0268-overlays-Add-ssd1306-overlay-for-OLED-display.patch index 703d3feb1..967cc7644 100644 --- a/target/linux/brcm2708/patches-4.19/950-0308-overlays-Add-ssd1306-overlay-for-OLED-display.patch +++ b/target/linux/brcm2708/patches-4.19/950-0268-overlays-Add-ssd1306-overlay-for-OLED-display.patch @@ -1,7 +1,7 @@ From d8eac0d3e4f6c6f9e5f789c8e2288699b2afebcb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 21 Jan 2019 21:17:27 +0000 -Subject: [PATCH 308/806] overlays: Add ssd1306 overlay for OLED display +Subject: [PATCH] overlays: Add ssd1306 overlay for OLED display See: https://github.com/raspberrypi/firmware/issues/1098 diff --git a/target/linux/brcm2708/patches-4.19/950-0309-overlays-mcp23017-Support-the-MCP23008.patch b/target/linux/brcm2708/patches-4.19/950-0269-overlays-mcp23017-Support-the-MCP23008.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0309-overlays-mcp23017-Support-the-MCP23008.patch rename to target/linux/brcm2708/patches-4.19/950-0269-overlays-mcp23017-Support-the-MCP23008.patch index 94fc8ad55..44f295a89 100644 --- a/target/linux/brcm2708/patches-4.19/950-0309-overlays-mcp23017-Support-the-MCP23008.patch +++ b/target/linux/brcm2708/patches-4.19/950-0269-overlays-mcp23017-Support-the-MCP23008.patch @@ -1,7 +1,7 @@ From c85a1ccbc6b1cab51a5fe5b916bcaf40bcd9096c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 21 Jan 2019 12:19:57 +0000 -Subject: [PATCH 309/806] overlays: mcp23017: Support the MCP23008 +Subject: [PATCH] overlays: mcp23017: Support the MCP23008 Add an 'mcp23008' parameter to enable support for the MCP23008 device. diff --git a/target/linux/brcm2708/patches-4.19/950-0310-overlays-Add-mcp342x-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0270-overlays-Add-mcp342x-overlay.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0310-overlays-Add-mcp342x-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0270-overlays-Add-mcp342x-overlay.patch index 3e4a4108c..d104c65cc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0310-overlays-Add-mcp342x-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0270-overlays-Add-mcp342x-overlay.patch @@ -1,7 +1,7 @@ From b71f1fd962c66ba3fa46483f193cc2263146c5bf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 21 Jan 2019 12:23:55 +0000 -Subject: [PATCH 310/806] overlays: Add mcp342x overlay +Subject: [PATCH] overlays: Add mcp342x overlay Support the MCP342x family of ADCs from Microchip. diff --git a/target/linux/brcm2708/patches-4.19/950-0311-char-vcio-Add-compat-ioctl-handling.patch b/target/linux/brcm2708/patches-4.19/950-0271-char-vcio-Add-compat-ioctl-handling.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0311-char-vcio-Add-compat-ioctl-handling.patch rename to target/linux/brcm2708/patches-4.19/950-0271-char-vcio-Add-compat-ioctl-handling.patch index 3f49bfed8..a9b55722e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0311-char-vcio-Add-compat-ioctl-handling.patch +++ b/target/linux/brcm2708/patches-4.19/950-0271-char-vcio-Add-compat-ioctl-handling.patch @@ -1,7 +1,7 @@ From 70194b474d22974cd46356e5b3d3b0582abd02da Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 13:56:30 +0000 -Subject: [PATCH 311/806] char: vcio: Add compat ioctl handling +Subject: [PATCH] char: vcio: Add compat ioctl handling There was no compat ioctl handler, so 32 bit userspace on a 64 bit kernel failed as IOCTL_MBOX_PROPERTY used the size diff --git a/target/linux/brcm2708/patches-4.19/950-0312-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch b/target/linux/brcm2708/patches-4.19/950-0272-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0312-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch rename to target/linux/brcm2708/patches-4.19/950-0272-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch index 2aadb3472..0ec06ca24 100644 --- a/target/linux/brcm2708/patches-4.19/950-0312-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch +++ b/target/linux/brcm2708/patches-4.19/950-0272-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch @@ -1,7 +1,7 @@ From 6880e5c73b75be683299debf391eba4f521cc20f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 14:03:28 +0000 -Subject: [PATCH 312/806] char: vcio: Fail probe if rpi_firmware is not found. +Subject: [PATCH] char: vcio: Fail probe if rpi_firmware is not found. Device Tree is now the only supported config mechanism, therefore uncomment the block of code that fails the probe if the diff --git a/target/linux/brcm2708/patches-4.19/950-0313-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch b/target/linux/brcm2708/patches-4.19/950-0273-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0313-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch rename to target/linux/brcm2708/patches-4.19/950-0273-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch index 02a5c62d8..2e20c64b8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0313-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch +++ b/target/linux/brcm2708/patches-4.19/950-0273-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch @@ -1,7 +1,7 @@ From 18511b66fee5967ed5631e7cbe2c263f07e956f9 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 22 Jan 2019 12:04:09 +0000 -Subject: [PATCH 313/806] staging: mmal-vchiq: Fix client_component for 64 bit +Subject: [PATCH] staging: mmal-vchiq: Fix client_component for 64 bit kernel The MMAL client_component field is used with the event diff --git a/target/linux/brcm2708/patches-4.19/950-0314-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch b/target/linux/brcm2708/patches-4.19/950-0274-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0314-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch rename to target/linux/brcm2708/patches-4.19/950-0274-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch index fadb14936..c4e78a1e2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0314-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch +++ b/target/linux/brcm2708/patches-4.19/950-0274-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch @@ -1,7 +1,7 @@ From 6b3fde1207785584dbd1fdf65110cf60bd29b409 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Jan 2019 15:35:24 +0000 -Subject: [PATCH 314/806] staging: bcm2835-camera: Add sanity checks for +Subject: [PATCH] staging: bcm2835-camera: Add sanity checks for queue_setup/CREATE_BUFS Fixes a v4l2-compliance failure when passed a buffer that is diff --git a/target/linux/brcm2708/patches-4.19/950-0315-staging-bcm2835-camera-Set-the-field-value-within-ea.patch b/target/linux/brcm2708/patches-4.19/950-0275-staging-bcm2835-camera-Set-the-field-value-within-ea.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0315-staging-bcm2835-camera-Set-the-field-value-within-ea.patch rename to target/linux/brcm2708/patches-4.19/950-0275-staging-bcm2835-camera-Set-the-field-value-within-ea.patch index 46cbbba5e..e562e1cff 100644 --- a/target/linux/brcm2708/patches-4.19/950-0315-staging-bcm2835-camera-Set-the-field-value-within-ea.patch +++ b/target/linux/brcm2708/patches-4.19/950-0275-staging-bcm2835-camera-Set-the-field-value-within-ea.patch @@ -1,7 +1,7 @@ From 7f67e8ed8ae17ddca0748975de0c0efad6a5e6bb Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Jan 2019 16:32:33 +0000 -Subject: [PATCH 315/806] staging: bcm2835-camera: Set the field value within +Subject: [PATCH] staging: bcm2835-camera: Set the field value within each buffer Fixes a v4l2-compliance failure diff --git a/target/linux/brcm2708/patches-4.19/950-0316-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch b/target/linux/brcm2708/patches-4.19/950-0276-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0316-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch rename to target/linux/brcm2708/patches-4.19/950-0276-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch index 866512859..b0beb6d5c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0316-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch +++ b/target/linux/brcm2708/patches-4.19/950-0276-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch @@ -1,7 +1,7 @@ From 966ff2b4c758eb8c8c04f26422cd183e6aa8eda5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 23 Jan 2019 18:25:50 +0000 -Subject: [PATCH 316/806] char: vc_mem: Fix up compat ioctls for 64bit kernel +Subject: [PATCH] char: vc_mem: Fix up compat ioctls for 64bit kernel compat_ioctl wasn't defined, so 32bit user/64bit kernel always failed. diff --git a/target/linux/brcm2708/patches-4.19/950-0317-char-vc_mem-Fix-all-coding-style-issues.patch b/target/linux/brcm2708/patches-4.19/950-0277-char-vc_mem-Fix-all-coding-style-issues.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0317-char-vc_mem-Fix-all-coding-style-issues.patch rename to target/linux/brcm2708/patches-4.19/950-0277-char-vc_mem-Fix-all-coding-style-issues.patch index 815900409..e0b6adf2a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0317-char-vc_mem-Fix-all-coding-style-issues.patch +++ b/target/linux/brcm2708/patches-4.19/950-0277-char-vc_mem-Fix-all-coding-style-issues.patch @@ -1,7 +1,7 @@ From 8d64f178c3568d212f3ddf05ea1ad7f103beeb86 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 23 Jan 2019 18:37:29 +0000 -Subject: [PATCH 317/806] char: vc_mem: Fix all coding style issues. +Subject: [PATCH] char: vc_mem: Fix all coding style issues. Cleans up all checkpatch errors in vc_mem.c and vc_mem.h No functional change to the code. diff --git a/target/linux/brcm2708/patches-4.19/950-0318-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch b/target/linux/brcm2708/patches-4.19/950-0278-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0318-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch rename to target/linux/brcm2708/patches-4.19/950-0278-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch index bb7c5b017..ee4fbbda2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0318-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch +++ b/target/linux/brcm2708/patches-4.19/950-0278-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch @@ -1,7 +1,7 @@ From 83a7175c91133a3e7a746693847b447bf6297094 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 15:09:28 +0000 -Subject: [PATCH 318/806] clk: clk-bcm2835: Use %zd when printing size_t +Subject: [PATCH] clk: clk-bcm2835: Use %zd when printing size_t The debug text for how many clocks have been registered uses "%d" with a size_t. Correct it to "%zd". diff --git a/target/linux/brcm2708/patches-4.19/950-0319-mfd-Add-rpi_sense_core-of-compatible-string.patch b/target/linux/brcm2708/patches-4.19/950-0279-mfd-Add-rpi_sense_core-of-compatible-string.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0319-mfd-Add-rpi_sense_core-of-compatible-string.patch rename to target/linux/brcm2708/patches-4.19/950-0279-mfd-Add-rpi_sense_core-of-compatible-string.patch index 8d51d63ee..0647b0532 100644 --- a/target/linux/brcm2708/patches-4.19/950-0319-mfd-Add-rpi_sense_core-of-compatible-string.patch +++ b/target/linux/brcm2708/patches-4.19/950-0279-mfd-Add-rpi_sense_core-of-compatible-string.patch @@ -1,7 +1,7 @@ From 3e1371cc80a8153885cf87b06053ab2a2f1a1e66 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Tue, 29 Jan 2019 12:05:49 +0000 -Subject: [PATCH 319/806] mfd: Add rpi_sense_core of compatible string +Subject: [PATCH] mfd: Add rpi_sense_core of compatible string --- drivers/mfd/rpisense-core.c | 8 ++++++++ diff --git a/target/linux/brcm2708/patches-4.19/950-0320-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch b/target/linux/brcm2708/patches-4.19/950-0280-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0320-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch rename to target/linux/brcm2708/patches-4.19/950-0280-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch index 14116258d..cadf49ebc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0320-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch +++ b/target/linux/brcm2708/patches-4.19/950-0280-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch @@ -1,7 +1,7 @@ From 32e0a9e2549c43d9abc03427ba6f3b7b8c2e1407 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 28 Jan 2019 14:40:16 +0000 -Subject: [PATCH 320/806] gpu: vc4_firmware_kms: Fix up 64 bit compile +Subject: [PATCH] gpu: vc4_firmware_kms: Fix up 64 bit compile warnings. Resolve two build warnings with regard using incorrectly diff --git a/target/linux/brcm2708/patches-4.19/950-0321-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch b/target/linux/brcm2708/patches-4.19/950-0281-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0321-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch rename to target/linux/brcm2708/patches-4.19/950-0281-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch index de03d141d..d014697a3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0321-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch +++ b/target/linux/brcm2708/patches-4.19/950-0281-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch @@ -1,7 +1,7 @@ From 61ce13e4ab846aa035037217c5eec6aff229e539 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 28 Jan 2019 14:42:34 +0000 -Subject: [PATCH 321/806] input: rpi-ft5406: Clear build warning on 64 bit +Subject: [PATCH] input: rpi-ft5406: Clear build warning on 64 bit builds. Resolve 64 bit build warning over using %x with a dma_addr_t. diff --git a/target/linux/brcm2708/patches-4.19/950-0322-dtoverlays-Correct-DT-handling-camera-GPIOs.patch b/target/linux/brcm2708/patches-4.19/950-0282-dtoverlays-Correct-DT-handling-camera-GPIOs.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0322-dtoverlays-Correct-DT-handling-camera-GPIOs.patch rename to target/linux/brcm2708/patches-4.19/950-0282-dtoverlays-Correct-DT-handling-camera-GPIOs.patch index 3b8ccffa2..9d6471052 100644 --- a/target/linux/brcm2708/patches-4.19/950-0322-dtoverlays-Correct-DT-handling-camera-GPIOs.patch +++ b/target/linux/brcm2708/patches-4.19/950-0282-dtoverlays-Correct-DT-handling-camera-GPIOs.patch @@ -1,7 +1,7 @@ From 5c0dfdba54fdaeb813d8535283aa8f75080e1055 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 18 Sep 2018 10:47:38 +0100 -Subject: [PATCH 322/806] dtoverlays: Correct DT handling camera GPIOs +Subject: [PATCH] dtoverlays: Correct DT handling camera GPIOs The firmware has support for updating overrides with the correct GPIO settings for the camera GPIOs, but the wrong device tree diff --git a/target/linux/brcm2708/patches-4.19/950-0282-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch b/target/linux/brcm2708/patches-4.19/950-0282-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch deleted file mode 100644 index b8bb7e23c..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0282-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch +++ /dev/null @@ -1,76 +0,0 @@ -From cf6f8129b6af78116e00b1d781e0bcc8c4b73890 Mon Sep 17 00:00:00 2001 -From: John Sheu -Date: Thu, 15 Oct 2015 18:05:25 +0900 -Subject: [PATCH 282/806] media: vb2: Allow reqbufs(0) with "in use" MMAP - buffers - -Videobuf2 presently does not allow VIDIOC_REQBUFS to destroy outstanding -buffers if the queue is of type V4L2_MEMORY_MMAP, and if the buffers are -considered "in use". This is different behavior than for other memory -types and prevents us from deallocating buffers in following two cases: - -1) There are outstanding mmap()ed views on the buffer. However even if - we put the buffer in reqbufs(0), there will be remaining references, - due to vma .open/close() adjusting vb2 buffer refcount appropriately. - This means that the buffer will be in fact freed only when the last - mmap()ed view is unmapped. - -2) Buffer has been exported as a DMABUF. Refcount of the vb2 buffer - is managed properly by VB2 DMABUF ops, i.e. incremented on DMABUF - get and decremented on DMABUF release. This means that the buffer - will be alive until all importers release it. - -Considering both cases above, there does not seem to be any need to -prevent reqbufs(0) operation, because buffer lifetime is already -properly managed by both mmap() and DMABUF code paths. Let's remove it -and allow userspace freeing the queue (and potentially allocating a new -one) even though old buffers might be still in processing. - -Signed-off-by: John Sheu -Reviewed-by: Pawel Osciak -Reviewed-by: Tomasz Figa -Signed-off-by: Tomasz Figa ---- - .../media/common/videobuf2/videobuf2-core.c | 23 ------------------- - 1 file changed, 23 deletions(-) - ---- a/drivers/media/common/videobuf2/videobuf2-core.c -+++ b/drivers/media/common/videobuf2/videobuf2-core.c -@@ -554,20 +554,6 @@ bool vb2_buffer_in_use(struct vb2_queue - } - EXPORT_SYMBOL(vb2_buffer_in_use); - --/* -- * __buffers_in_use() - return true if any buffers on the queue are in use and -- * the queue cannot be freed (by the means of REQBUFS(0)) call -- */ --static bool __buffers_in_use(struct vb2_queue *q) --{ -- unsigned int buffer; -- for (buffer = 0; buffer < q->num_buffers; ++buffer) { -- if (vb2_buffer_in_use(q, q->bufs[buffer])) -- return true; -- } -- return false; --} -- - void vb2_core_querybuf(struct vb2_queue *q, unsigned int index, void *pb) - { - call_void_bufop(q, fill_user_buffer, q->bufs[index], pb); -@@ -679,16 +665,7 @@ int vb2_core_reqbufs(struct vb2_queue *q - - if (*count == 0 || q->num_buffers != 0 || - (q->memory != VB2_MEMORY_UNKNOWN && q->memory != memory)) { -- /* -- * We already have buffers allocated, so first check if they -- * are not in use and can be freed. -- */ - mutex_lock(&q->mmap_lock); -- if (q->memory == VB2_MEMORY_MMAP && __buffers_in_use(q)) { -- mutex_unlock(&q->mmap_lock); -- dprintk(1, "memory in use, cannot free\n"); -- return -EBUSY; -- } - - /* - * Call queue_cancel to clean up any buffers in the PREPARED or diff --git a/target/linux/brcm2708/patches-4.19/950-0323-media-ov5647-Use-gpiod_set_value_cansleep.patch b/target/linux/brcm2708/patches-4.19/950-0283-media-ov5647-Use-gpiod_set_value_cansleep.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0323-media-ov5647-Use-gpiod_set_value_cansleep.patch rename to target/linux/brcm2708/patches-4.19/950-0283-media-ov5647-Use-gpiod_set_value_cansleep.patch index 84c09bb37..e88afb055 100644 --- a/target/linux/brcm2708/patches-4.19/950-0323-media-ov5647-Use-gpiod_set_value_cansleep.patch +++ b/target/linux/brcm2708/patches-4.19/950-0283-media-ov5647-Use-gpiod_set_value_cansleep.patch @@ -1,7 +1,7 @@ From 3be30ee1b3aafd7c6cc45bcea77f25c9613732f4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 18 Sep 2018 11:08:51 +0100 -Subject: [PATCH 323/806] media: ov5647: Use gpiod_set_value_cansleep +Subject: [PATCH] media: ov5647: Use gpiod_set_value_cansleep All calls to the gpio library are in contexts that can sleep, therefore there is no issue with having those GPIOs controlled diff --git a/target/linux/brcm2708/patches-4.19/950-0324-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch b/target/linux/brcm2708/patches-4.19/950-0284-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0324-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch rename to target/linux/brcm2708/patches-4.19/950-0284-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch index f7488593e..0946b7703 100644 --- a/target/linux/brcm2708/patches-4.19/950-0324-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch +++ b/target/linux/brcm2708/patches-4.19/950-0284-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch @@ -1,7 +1,7 @@ From bf1805e0c8c4fc05e2a13b0a03b510ff4e523418 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 29 Jan 2019 15:56:10 +0000 -Subject: [PATCH 324/806] media:bcm2835-unicam: Power on subdev on +Subject: [PATCH] media:bcm2835-unicam: Power on subdev on open/release, not streaming The driver was powering on the source subdevice as part of STREAMON, diff --git a/target/linux/brcm2708/patches-4.19/950-0325-audioinjector-octo-revert-to-dummy-supplies.patch b/target/linux/brcm2708/patches-4.19/950-0285-audioinjector-octo-revert-to-dummy-supplies.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0325-audioinjector-octo-revert-to-dummy-supplies.patch rename to target/linux/brcm2708/patches-4.19/950-0285-audioinjector-octo-revert-to-dummy-supplies.patch index 8b8842fd2..760a7bfdc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0325-audioinjector-octo-revert-to-dummy-supplies.patch +++ b/target/linux/brcm2708/patches-4.19/950-0285-audioinjector-octo-revert-to-dummy-supplies.patch @@ -1,7 +1,7 @@ From 0e69aceab4e7615cf631a8c7bdb25093cbba240a Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 29 Jan 2019 14:56:03 +1100 -Subject: [PATCH 325/806] audioinjector-octo: revert to dummy supplies +Subject: [PATCH] audioinjector-octo: revert to dummy supplies The Audio Injector Octo has had a lot of reports of not coming up on power cycles. By reverting to dummy supplies, the card comes up reliably. --- diff --git a/target/linux/brcm2708/patches-4.19/950-0286-Revert-staging-vchiq_arm-Register-a-platform-device-.patch b/target/linux/brcm2708/patches-4.19/950-0286-Revert-staging-vchiq_arm-Register-a-platform-device-.patch deleted file mode 100644 index fe7f0d98b..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0286-Revert-staging-vchiq_arm-Register-a-platform-device-.patch +++ /dev/null @@ -1,48 +0,0 @@ -From d679d6ff3fd138f55b8bbeaf7750c3c980944295 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Tue, 4 Dec 2018 19:40:12 +0000 -Subject: [PATCH 286/806] Revert "staging: vchiq_arm: Register a platform - device for the audio driver" - -This reverts commit ab59590ed562b89db51fe46cee5db96b9bc5abd8. - -Issues have been observed in LibreElec as this was unconditionally -loading the audio driver instead of having the DT parameter to -enable it. - -Includes a partial revert of 2147700eb7a1b9e55e0684f0749114ce35d61571 -which fixed up the error handling. - -Signed-off-by: Dave Stevenson ---- - .../staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 5 ----- - 1 file changed, 5 deletions(-) - ---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -@@ -170,7 +170,6 @@ static struct class *vchiq_class; - static struct device *vchiq_dev; - static DEFINE_SPINLOCK(msg_queue_spinlock); - static struct platform_device *bcm2835_camera; --static struct platform_device *bcm2835_audio; - static struct platform_device *bcm2835_codec; - static struct platform_device *vcsm_cma; - -@@ -3662,9 +3661,6 @@ static int vchiq_probe(struct platform_d - bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera"); - if (IS_ERR(bcm2835_camera)) - bcm2835_camera = NULL; -- bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio"); -- if (IS_ERR(bcm2835_audio)) -- bcm2835_audio = NULL; - bcm2835_codec = vchiq_register_child(pdev, "bcm2835-codec"); - if (IS_ERR(bcm2835_codec)) - bcm2835_codec = NULL; -@@ -3685,7 +3681,6 @@ failed_platform_init: - static int vchiq_remove(struct platform_device *pdev) - { - platform_device_unregister(bcm2835_codec); -- platform_device_unregister(bcm2835_audio); - platform_device_unregister(bcm2835_camera); - platform_device_unregister(vcsm_cma); - vchiq_debugfs_deinit(); diff --git a/target/linux/brcm2708/patches-4.19/950-0326-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch b/target/linux/brcm2708/patches-4.19/950-0286-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0326-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch rename to target/linux/brcm2708/patches-4.19/950-0286-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch index 62d37c5e8..c1e5bb355 100644 --- a/target/linux/brcm2708/patches-4.19/950-0326-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch +++ b/target/linux/brcm2708/patches-4.19/950-0286-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch @@ -1,7 +1,7 @@ From 8c420772ef0f15ebbc3f13ebcc340d34bbdfad71 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 16:20:38 +0000 -Subject: [PATCH 326/806] staging: bcm2835-camera: Correct ctrl +Subject: [PATCH] staging: bcm2835-camera: Correct ctrl min/max/step/def to 64bit The V4L2 control API was expanded to take 64 bit values in commit diff --git a/target/linux/brcm2708/patches-4.19/950-0287-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch b/target/linux/brcm2708/patches-4.19/950-0287-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch deleted file mode 100644 index d7e7ac71d..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0287-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 28e06d43dd44a45d307848bed588fc65d7c79d83 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Tue, 4 Dec 2018 20:41:19 +0000 -Subject: [PATCH 287/806] Revert "staging: bcm2835-audio: Drop DT dependency" - -This reverts commit 933bc853bb764e476b0b0f633588f46d20f1f76a. - -Signed-off-by: Dave Stevenson ---- - .../vc04_services/bcm2835-audio/bcm2835.c | 41 ++++++++++--------- - 1 file changed, 22 insertions(+), 19 deletions(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -@@ -4,17 +4,15 @@ - #include - - #include --#include --#include - #include - #include -+#include - - #include "bcm2835.h" - - static bool enable_hdmi; - static bool enable_headphones; - static bool enable_compat_alsa = true; --static int num_channels = MAX_SUBSTREAMS; - - module_param(enable_hdmi, bool, 0444); - MODULE_PARM_DESC(enable_hdmi, "Enables HDMI virtual audio device"); -@@ -23,8 +21,6 @@ MODULE_PARM_DESC(enable_headphones, "Ena - module_param(enable_compat_alsa, bool, 0444); - MODULE_PARM_DESC(enable_compat_alsa, - "Enables ALSA compatibility virtual audio device"); --module_param(num_channels, int, 0644); --MODULE_PARM_DESC(num_channels, "Number of audio channels (default: 8)"); - - static void snd_devm_unregister_child(struct device *dev, void *res) - { -@@ -411,30 +407,31 @@ static int snd_add_child_devices(struct - return 0; - } - --static int snd_bcm2835_alsa_probe(struct platform_device *pdev) -+static int snd_bcm2835_alsa_probe_dt(struct platform_device *pdev) - { - struct device *dev = &pdev->dev; -+ u32 numchans; - int err; - -- if (num_channels <= 0 || num_channels > MAX_SUBSTREAMS) { -- num_channels = MAX_SUBSTREAMS; -- dev_warn(dev, "Illegal num_channels value, will use %u\n", -- num_channels); -- } -- -- dev->coherent_dma_mask = DMA_BIT_MASK(32); -- dev->dma_mask = &dev->coherent_dma_mask; -- err = of_dma_configure(dev, NULL, true); -+ err = of_property_read_u32(dev->of_node, "brcm,pwm-channels", -+ &numchans); - if (err) { -- dev_err(dev, "Unable to setup DMA: %d\n", err); -+ dev_err(dev, "Failed to get DT property 'brcm,pwm-channels'"); - return err; - } - -+ if (numchans == 0 || numchans > MAX_SUBSTREAMS) { -+ numchans = MAX_SUBSTREAMS; -+ dev_warn(dev, -+ "Illegal 'brcm,pwm-channels' value, will use %u\n", -+ numchans); -+ } -+ - err = bcm2835_devm_add_vchi_ctx(dev); - if (err) - return err; - -- err = snd_add_child_devices(dev, num_channels); -+ err = snd_add_child_devices(dev, numchans); - if (err) - return err; - -@@ -456,14 +453,21 @@ static int snd_bcm2835_alsa_resume(struc - - #endif - -+static const struct of_device_id snd_bcm2835_of_match_table[] = { -+ { .compatible = "brcm,bcm2835-audio",}, -+ {}, -+}; -+MODULE_DEVICE_TABLE(of, snd_bcm2835_of_match_table); -+ - static struct platform_driver bcm2835_alsa0_driver = { -- .probe = snd_bcm2835_alsa_probe, -+ .probe = snd_bcm2835_alsa_probe_dt, - #ifdef CONFIG_PM - .suspend = snd_bcm2835_alsa_suspend, - .resume = snd_bcm2835_alsa_resume, - #endif - .driver = { - .name = "bcm2835_audio", -+ .of_match_table = snd_bcm2835_of_match_table, - }, - }; - module_platform_driver(bcm2835_alsa0_driver); -@@ -471,4 +475,3 @@ module_platform_driver(bcm2835_alsa0_dri - MODULE_AUTHOR("Dom Cobley"); - MODULE_DESCRIPTION("Alsa driver for BCM2835 chip"); - MODULE_LICENSE("GPL"); --MODULE_ALIAS("platform:bcm2835_audio"); diff --git a/target/linux/brcm2708/patches-4.19/950-0327-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch b/target/linux/brcm2708/patches-4.19/950-0287-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0327-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch rename to target/linux/brcm2708/patches-4.19/950-0287-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch index 92796e714..24a332fa6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0327-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch +++ b/target/linux/brcm2708/patches-4.19/950-0287-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch @@ -1,7 +1,7 @@ From 8920ce80058cfa3d18dc8bc7535119e9986dbad7 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 16:40:01 +0000 -Subject: [PATCH 327/806] staging: bcm2835-codec: variable vb2 may be used +Subject: [PATCH] staging: bcm2835-codec: variable vb2 may be used uninitialised In op_buffer_cb, the failure path checked whether there was diff --git a/target/linux/brcm2708/patches-4.19/950-0328-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch b/target/linux/brcm2708/patches-4.19/950-0288-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0328-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch rename to target/linux/brcm2708/patches-4.19/950-0288-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch index 8d6cfda39..c8e3e221c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0328-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0288-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch @@ -1,7 +1,7 @@ From 7e3cada9dae5d030256605a28df9537b26e776a8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 16:36:19 +0000 -Subject: [PATCH 328/806] staging: bcm2835-codec: Fix potentially uninitialised +Subject: [PATCH] staging: bcm2835-codec: Fix potentially uninitialised vars src_m2m_buf and dst_m2m_buf were printed in log messages diff --git a/target/linux/brcm2708/patches-4.19/950-0329-video-bcm2708_fb-Add-compat_ioctl-support.patch b/target/linux/brcm2708/patches-4.19/950-0289-video-bcm2708_fb-Add-compat_ioctl-support.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0329-video-bcm2708_fb-Add-compat_ioctl-support.patch rename to target/linux/brcm2708/patches-4.19/950-0289-video-bcm2708_fb-Add-compat_ioctl-support.patch index 9f3ea3015..eb5348008 100644 --- a/target/linux/brcm2708/patches-4.19/950-0329-video-bcm2708_fb-Add-compat_ioctl-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0289-video-bcm2708_fb-Add-compat_ioctl-support.patch @@ -1,7 +1,7 @@ From b5bd7b621f6ab2f29e9f18ec2a2720d702b9727c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 25 Jan 2019 17:12:54 +0000 -Subject: [PATCH 329/806] video: bcm2708_fb: Add compat_ioctl support. +Subject: [PATCH] video: bcm2708_fb: Add compat_ioctl support. When using a 64 bit kernel with 32 bit userspace we need compat ioctl handling for FBIODMACOPY as one of the diff --git a/target/linux/brcm2708/patches-4.19/950-0330-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch b/target/linux/brcm2708/patches-4.19/950-0290-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0330-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch rename to target/linux/brcm2708/patches-4.19/950-0290-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch index 7001c9495..3c6dc09f0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0330-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch +++ b/target/linux/brcm2708/patches-4.19/950-0290-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch @@ -1,7 +1,7 @@ From ca128febc6abc040d747ddc0808fd203c135668e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 25 Jan 2019 17:11:39 +0000 -Subject: [PATCH 330/806] video: bcm2708_fb: Fix warnings on 64 bit builds +Subject: [PATCH] video: bcm2708_fb: Fix warnings on 64 bit builds Fix up logging lines where the wrong format specifiers were being used. diff --git a/target/linux/brcm2708/patches-4.19/950-0331-video-bcm2708_fb-Clean-up-coding-style-issues.patch b/target/linux/brcm2708/patches-4.19/950-0291-video-bcm2708_fb-Clean-up-coding-style-issues.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0331-video-bcm2708_fb-Clean-up-coding-style-issues.patch rename to target/linux/brcm2708/patches-4.19/950-0291-video-bcm2708_fb-Clean-up-coding-style-issues.patch index 0ee91bf15..43bb8cee3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0331-video-bcm2708_fb-Clean-up-coding-style-issues.patch +++ b/target/linux/brcm2708/patches-4.19/950-0291-video-bcm2708_fb-Clean-up-coding-style-issues.patch @@ -1,7 +1,7 @@ From 47f7687efaf3873fe8c0e47653515e9ada1b86da Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 25 Jan 2019 17:32:54 +0000 -Subject: [PATCH 331/806] video: bcm2708_fb: Clean up coding style issues +Subject: [PATCH] video: bcm2708_fb: Clean up coding style issues Now checkpatch clean except for 2 long lines, missing SPDX header, and no DT documentation. diff --git a/target/linux/brcm2708/patches-4.19/950-0332-bcm2835-dma-Add-support-for-per-channel-flags.patch b/target/linux/brcm2708/patches-4.19/950-0292-bcm2835-dma-Add-support-for-per-channel-flags.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0332-bcm2835-dma-Add-support-for-per-channel-flags.patch rename to target/linux/brcm2708/patches-4.19/950-0292-bcm2835-dma-Add-support-for-per-channel-flags.patch index 566e67c4f..ff564390c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0332-bcm2835-dma-Add-support-for-per-channel-flags.patch +++ b/target/linux/brcm2708/patches-4.19/950-0292-bcm2835-dma-Add-support-for-per-channel-flags.patch @@ -1,7 +1,7 @@ From 4ebec374d97c0bba1e41558071bfa062894b07a0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 20 Jul 2018 22:03:41 +0100 -Subject: [PATCH 332/806] bcm2835-dma: Add support for per-channel flags +Subject: [PATCH] bcm2835-dma: Add support for per-channel flags Add the ability to interpret the high bits of the dreq specifier as flags to be included in the DMA_CS register. The motivation for this diff --git a/target/linux/brcm2708/patches-4.19/950-0333-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch b/target/linux/brcm2708/patches-4.19/950-0293-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0333-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch rename to target/linux/brcm2708/patches-4.19/950-0293-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch index 0aab4b67c..ec0d0d882 100644 --- a/target/linux/brcm2708/patches-4.19/950-0333-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch +++ b/target/linux/brcm2708/patches-4.19/950-0293-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch @@ -1,7 +1,7 @@ From 18a739ba2e76a5e2bb3a02d9083faeabdee93777 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 20 Jul 2018 22:08:05 +0100 -Subject: [PATCH 333/806] bcm283x: Set the DISDEBUG flag for SD transfers +Subject: [PATCH] bcm283x: Set the DISDEBUG flag for SD transfers Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0334-ASoC-pcm512x-Implement-the-digital_mute-interface.patch b/target/linux/brcm2708/patches-4.19/950-0294-ASoC-pcm512x-Implement-the-digital_mute-interface.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0334-ASoC-pcm512x-Implement-the-digital_mute-interface.patch rename to target/linux/brcm2708/patches-4.19/950-0294-ASoC-pcm512x-Implement-the-digital_mute-interface.patch index 3b9d93164..e68cf7b2f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0334-ASoC-pcm512x-Implement-the-digital_mute-interface.patch +++ b/target/linux/brcm2708/patches-4.19/950-0294-ASoC-pcm512x-Implement-the-digital_mute-interface.patch @@ -1,7 +1,7 @@ From 4a15efde52bb79bf44e63b998cd84f896404d728 Mon Sep 17 00:00:00 2001 From: Dimitris Papavasiliou Date: Sat, 24 Nov 2018 22:05:42 +0200 -Subject: [PATCH 334/806] ASoC: pcm512x: Implement the digital_mute interface +Subject: [PATCH] ASoC: pcm512x: Implement the digital_mute interface [ Upstream commit 3500f1c589e92e0b6b1f8d31b4084fbde08d49cb ] diff --git a/target/linux/brcm2708/patches-4.19/950-0335-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch b/target/linux/brcm2708/patches-4.19/950-0295-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0335-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch rename to target/linux/brcm2708/patches-4.19/950-0295-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch index 7674de284..f1a09c492 100644 --- a/target/linux/brcm2708/patches-4.19/950-0335-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch +++ b/target/linux/brcm2708/patches-4.19/950-0295-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch @@ -1,7 +1,7 @@ From 26001d54a7f803258b161f25f457ce11523695d7 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Fri, 21 Dec 2018 12:11:20 +0300 -Subject: [PATCH 335/806] ASoC: pcm512x: Fix a double unlock in +Subject: [PATCH] ASoC: pcm512x: Fix a double unlock in pcm512x_digital_mute() [ Upstream commit 28b698b7342c7d5300cfe217cd77ff7d2a55e03d ] diff --git a/target/linux/brcm2708/patches-4.19/950-0336-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch b/target/linux/brcm2708/patches-4.19/950-0296-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0336-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch rename to target/linux/brcm2708/patches-4.19/950-0296-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch index 4e30ab888..cc99a11c9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0336-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch +++ b/target/linux/brcm2708/patches-4.19/950-0296-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch @@ -1,7 +1,7 @@ From d2536830d8f1ef06afdc84c5ac6e1a70b3a2bc40 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 25 Jan 2019 16:03:31 +0000 -Subject: [PATCH 336/806] usb: dwc_otg: Clean up build warnings on 64bit +Subject: [PATCH] usb: dwc_otg: Clean up build warnings on 64bit kernels No functional changes. Almost all are changes to logging lines. diff --git a/target/linux/brcm2708/patches-4.19/950-0337-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch b/target/linux/brcm2708/patches-4.19/950-0297-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0337-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch rename to target/linux/brcm2708/patches-4.19/950-0297-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch index 49fb4d7dd..edc933680 100644 --- a/target/linux/brcm2708/patches-4.19/950-0337-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch +++ b/target/linux/brcm2708/patches-4.19/950-0297-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch @@ -1,7 +1,7 @@ From f0d93c5098283f88ea1de3af152a190177da8f36 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 30 Jan 2019 17:47:51 +0000 -Subject: [PATCH 337/806] usb: dwc_otg: Use dma allocation for mphi dummy_send +Subject: [PATCH] usb: dwc_otg: Use dma allocation for mphi dummy_send buffer The FIQ driver used a kzalloc'ed buffer for dummy_send, diff --git a/target/linux/brcm2708/patches-4.19/950-0338-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch b/target/linux/brcm2708/patches-4.19/950-0298-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0338-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch rename to target/linux/brcm2708/patches-4.19/950-0298-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch index 02cb74d9f..31e050aa5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0338-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch +++ b/target/linux/brcm2708/patches-4.19/950-0298-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch @@ -1,7 +1,7 @@ From f03f60a51efdf7fbc1f7d2c5b120a7de93ea6d9e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 29 Jan 2019 16:13:25 +0000 -Subject: [PATCH 338/806] staging: vchiq_arm: Set up dma ranges on child +Subject: [PATCH] staging: vchiq_arm: Set up dma ranges on child devices The VCHIQ driver now loads the audio, camera, codec, and vc-sm diff --git a/target/linux/brcm2708/patches-4.19/950-0339-staging-vc-sm-cma-Correct-DMA-configuration.patch b/target/linux/brcm2708/patches-4.19/950-0299-staging-vc-sm-cma-Correct-DMA-configuration.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0339-staging-vc-sm-cma-Correct-DMA-configuration.patch rename to target/linux/brcm2708/patches-4.19/950-0299-staging-vc-sm-cma-Correct-DMA-configuration.patch index fc5ffbd30..8709eef28 100644 --- a/target/linux/brcm2708/patches-4.19/950-0339-staging-vc-sm-cma-Correct-DMA-configuration.patch +++ b/target/linux/brcm2708/patches-4.19/950-0299-staging-vc-sm-cma-Correct-DMA-configuration.patch @@ -1,7 +1,7 @@ From ea000a969afa022776bdf8050aaa501b2679e028 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 29 Jan 2019 16:24:41 +0000 -Subject: [PATCH 339/806] staging: vc-sm-cma: Correct DMA configuration. +Subject: [PATCH] staging: vc-sm-cma: Correct DMA configuration. Now that VCHIQ is setting up the DMA configuration as our parent device, don't try to configure it during probe. diff --git a/target/linux/brcm2708/patches-4.19/950-0340-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch b/target/linux/brcm2708/patches-4.19/950-0300-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0340-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch rename to target/linux/brcm2708/patches-4.19/950-0300-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch index 13aba4f30..6a43d94d1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0340-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch +++ b/target/linux/brcm2708/patches-4.19/950-0300-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch @@ -1,7 +1,7 @@ From df84621e5bd5cc206d1039ce0880ccd0b325525b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 29 Jan 2019 16:29:00 +0000 -Subject: [PATCH 340/806] staging: vc-sm-cma: Use a void* pointer as the handle +Subject: [PATCH] staging: vc-sm-cma: Use a void* pointer as the handle within the kernel The driver was using an unsigned int as the handle to the outside world, diff --git a/target/linux/brcm2708/patches-4.19/950-0341-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch b/target/linux/brcm2708/patches-4.19/950-0301-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0341-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch rename to target/linux/brcm2708/patches-4.19/950-0301-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch index 7907a7ad5..521641434 100644 --- a/target/linux/brcm2708/patches-4.19/950-0341-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch +++ b/target/linux/brcm2708/patches-4.19/950-0301-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch @@ -1,7 +1,7 @@ From 696aa66a971b20e4f00431cb53747f0e4b92bb03 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 29 Jan 2019 16:32:57 +0000 -Subject: [PATCH 341/806] staging: vc-sm-cma: Fix up for 64bit builds +Subject: [PATCH] staging: vc-sm-cma: Fix up for 64bit builds There were a number of logging lines that were using inappropriate formatting under 64bit kernels. diff --git a/target/linux/brcm2708/patches-4.19/950-0346-configs-Enable-the-AD193x-codecs.patch b/target/linux/brcm2708/patches-4.19/950-0302-configs-Enable-the-AD193x-codecs.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0346-configs-Enable-the-AD193x-codecs.patch rename to target/linux/brcm2708/patches-4.19/950-0302-configs-Enable-the-AD193x-codecs.patch index c6db4c6f2..29f7ee398 100644 --- a/target/linux/brcm2708/patches-4.19/950-0346-configs-Enable-the-AD193x-codecs.patch +++ b/target/linux/brcm2708/patches-4.19/950-0302-configs-Enable-the-AD193x-codecs.patch @@ -1,7 +1,7 @@ From 3ffbec3df726c6d36ef728d476cb3ff3fcc17c81 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 7 Feb 2019 18:16:25 +0000 -Subject: [PATCH 346/806] configs: Enable the AD193x codecs +Subject: [PATCH] configs: Enable the AD193x codecs See: https://github.com/raspberrypi/linux/issues/2850 diff --git a/target/linux/brcm2708/patches-4.19/950-0347-overlays-balenaFin-v1.1.0-carrier-board-update.patch b/target/linux/brcm2708/patches-4.19/950-0303-overlays-balenaFin-v1.1.0-carrier-board-update.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0347-overlays-balenaFin-v1.1.0-carrier-board-update.patch rename to target/linux/brcm2708/patches-4.19/950-0303-overlays-balenaFin-v1.1.0-carrier-board-update.patch index e07a005d6..4dc414119 100644 --- a/target/linux/brcm2708/patches-4.19/950-0347-overlays-balenaFin-v1.1.0-carrier-board-update.patch +++ b/target/linux/brcm2708/patches-4.19/950-0303-overlays-balenaFin-v1.1.0-carrier-board-update.patch @@ -1,7 +1,7 @@ From 6cafe647492605d21c2418b6261bf3182b9229f2 Mon Sep 17 00:00:00 2001 From: Zahari Petkov Date: Fri, 8 Feb 2019 13:03:38 +0200 -Subject: [PATCH 347/806] overlays: balenaFin v1.1.0 carrier board update +Subject: [PATCH] overlays: balenaFin v1.1.0 carrier board update A backward compatible update for the balenaFin carrier board for the Raspberry Pi Compute Module 3/3+ Lite. diff --git a/target/linux/brcm2708/patches-4.19/950-0350-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch b/target/linux/brcm2708/patches-4.19/950-0304-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0350-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch rename to target/linux/brcm2708/patches-4.19/950-0304-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch index d2089d7ca..b4567d8fd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0350-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch +++ b/target/linux/brcm2708/patches-4.19/950-0304-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch @@ -1,7 +1,7 @@ From e5285033e0fbfb6750d7d39e7edebf67a16c8434 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 Feb 2019 15:06:31 +0000 -Subject: [PATCH 350/806] gpu:vc4-fkms: Update driver to not use plane->crtc. +Subject: [PATCH] gpu:vc4-fkms: Update driver to not use plane->crtc. Following on from commit 2f958af7fc248 ("drm/vc4: Stop updating plane->fb/crtc") diff --git a/target/linux/brcm2708/patches-4.19/950-0351-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch b/target/linux/brcm2708/patches-4.19/950-0305-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0351-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch rename to target/linux/brcm2708/patches-4.19/950-0305-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch index 956b8107c..6690dfcd4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0351-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch +++ b/target/linux/brcm2708/patches-4.19/950-0305-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch @@ -1,7 +1,7 @@ From bb8e85deab20dd38c26d354452e1ac42add37530 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 Feb 2019 15:18:25 +0000 -Subject: [PATCH 351/806] drm: vc4: Programming the CTM is conditional on +Subject: [PATCH] drm: vc4: Programming the CTM is conditional on running full KMS vc4_ctm_commit writes to HVS registers, so this is only applicable diff --git a/target/linux/brcm2708/patches-4.19/950-0352-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch b/target/linux/brcm2708/patches-4.19/950-0306-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0352-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch rename to target/linux/brcm2708/patches-4.19/950-0306-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch index d7d2ae0d0..128025140 100644 --- a/target/linux/brcm2708/patches-4.19/950-0352-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch +++ b/target/linux/brcm2708/patches-4.19/950-0306-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch @@ -1,7 +1,7 @@ From 39c4b77533bee8d88d2f4c9be9463041ec1dd483 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Feb 2019 12:33:29 +0000 -Subject: [PATCH 352/806] staging: mmal_vchiq: Add in the Bayer encoding +Subject: [PATCH] staging: mmal_vchiq: Add in the Bayer encoding formats The list of formats was copied before Bayer support was added. diff --git a/target/linux/brcm2708/patches-4.19/950-0353-staging-mmal-vchiq-Always-return-the-param-size-from.patch b/target/linux/brcm2708/patches-4.19/950-0307-staging-mmal-vchiq-Always-return-the-param-size-from.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0353-staging-mmal-vchiq-Always-return-the-param-size-from.patch rename to target/linux/brcm2708/patches-4.19/950-0307-staging-mmal-vchiq-Always-return-the-param-size-from.patch index d43c638fd..121f855f1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0353-staging-mmal-vchiq-Always-return-the-param-size-from.patch +++ b/target/linux/brcm2708/patches-4.19/950-0307-staging-mmal-vchiq-Always-return-the-param-size-from.patch @@ -1,7 +1,7 @@ From 0c0e55d9b04868733f30c348df7400fa5e6d30e2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Feb 2019 12:36:56 +0000 -Subject: [PATCH 353/806] staging: mmal-vchiq: Always return the param size +Subject: [PATCH] staging: mmal-vchiq: Always return the param size from param_get mmal-vchiq is a reimplementation of the userland library for MMAL. diff --git a/target/linux/brcm2708/patches-4.19/950-0354-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch b/target/linux/brcm2708/patches-4.19/950-0308-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0354-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch rename to target/linux/brcm2708/patches-4.19/950-0308-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch index 04157a816..603b394b0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0354-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch +++ b/target/linux/brcm2708/patches-4.19/950-0308-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch @@ -1,7 +1,7 @@ From 78c34cf60b9ae8bf8aa797c72d2f1abdc0a0bb9d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Feb 2019 12:51:03 +0000 -Subject: [PATCH 354/806] staging: mmal-vchiq: If the VPU returns an error, +Subject: [PATCH] staging: mmal-vchiq: If the VPU returns an error, don't negate it There is an enum for the errors that the VPU can return. diff --git a/target/linux/brcm2708/patches-4.19/950-0355-staging-bcm2835_codec-Query-supported-formats-from-t.patch b/target/linux/brcm2708/patches-4.19/950-0309-staging-bcm2835_codec-Query-supported-formats-from-t.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0355-staging-bcm2835_codec-Query-supported-formats-from-t.patch rename to target/linux/brcm2708/patches-4.19/950-0309-staging-bcm2835_codec-Query-supported-formats-from-t.patch index cee550272..5eec74e42 100644 --- a/target/linux/brcm2708/patches-4.19/950-0355-staging-bcm2835_codec-Query-supported-formats-from-t.patch +++ b/target/linux/brcm2708/patches-4.19/950-0309-staging-bcm2835_codec-Query-supported-formats-from-t.patch @@ -1,7 +1,7 @@ From ce8cc7a85839af588b753ce4af0832db9c467f45 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Feb 2019 13:44:00 +0000 -Subject: [PATCH 355/806] staging: bcm2835_codec: Query supported formats from +Subject: [PATCH] staging: bcm2835_codec: Query supported formats from the component The driver was previously working with hard coded tables of diff --git a/target/linux/brcm2708/patches-4.19/950-0356-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch b/target/linux/brcm2708/patches-4.19/950-0310-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0356-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch rename to target/linux/brcm2708/patches-4.19/950-0310-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch index 30d99a034..df59acd24 100644 --- a/target/linux/brcm2708/patches-4.19/950-0356-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0310-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch @@ -1,7 +1,7 @@ From 7afce6566802bcaa468f92b9e06da8b899161128 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Feb 2019 14:07:52 +0000 -Subject: [PATCH 356/806] staging: bcm2835_codec: Add support for the ISP as an +Subject: [PATCH] staging: bcm2835_codec: Add support for the ISP as an M2M device The MMAL ISP component can also use this same V4L2 wrapper to diff --git a/target/linux/brcm2708/patches-4.19/950-0357-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch b/target/linux/brcm2708/patches-4.19/950-0311-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0357-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch rename to target/linux/brcm2708/patches-4.19/950-0311-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch index f46d05c59..fcdcc4ab4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0357-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0311-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch @@ -1,7 +1,7 @@ From a126fcc4ff38718e2e714fbb78db3ca1c4f8e564 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 Feb 2019 11:36:14 +0000 -Subject: [PATCH 357/806] staging: bcm2835_codec: Add an option for ignoring +Subject: [PATCH] staging: bcm2835_codec: Add an option for ignoring Bayer formats. This is a workaround for GStreamer currently not identifying Bayer diff --git a/target/linux/brcm2708/patches-4.19/950-0358-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch b/target/linux/brcm2708/patches-4.19/950-0312-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0358-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch rename to target/linux/brcm2708/patches-4.19/950-0312-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch index 1fd4db3bf..7e3373e48 100644 --- a/target/linux/brcm2708/patches-4.19/950-0358-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch +++ b/target/linux/brcm2708/patches-4.19/950-0312-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch @@ -1,7 +1,7 @@ From 0df32e2f563123166c20677f022d4a0f825c5df2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 Feb 2019 11:38:45 +0000 -Subject: [PATCH 358/806] staging: bcm2835_codec: Fix handling of +Subject: [PATCH] staging: bcm2835_codec: Fix handling of VB2_MEMORY_DMABUF buffers If the queue is configured as VB2_MEMORY_DMABUF then vb2_core_expbuf diff --git a/target/linux/brcm2708/patches-4.19/950-0359-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch b/target/linux/brcm2708/patches-4.19/950-0313-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0359-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch rename to target/linux/brcm2708/patches-4.19/950-0313-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch index 52ade9d57..98162a0e8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0359-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch +++ b/target/linux/brcm2708/patches-4.19/950-0313-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch @@ -1,7 +1,7 @@ From f51a6ed76f6a59e65fe06d1f2e06e824f38ae604 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 18 Feb 2019 15:52:29 +0000 -Subject: [PATCH 359/806] staging: mmal-vchiq: Update mmal_parameters.h with +Subject: [PATCH] staging: mmal-vchiq: Update mmal_parameters.h with recently defined params mmal_parameters.h hasn't been updated to reflect additions made diff --git a/target/linux/brcm2708/patches-4.19/950-0360-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch b/target/linux/brcm2708/patches-4.19/950-0314-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0360-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch rename to target/linux/brcm2708/patches-4.19/950-0314-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch index 33cd761a8..5e5f1a7bf 100644 --- a/target/linux/brcm2708/patches-4.19/950-0360-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch +++ b/target/linux/brcm2708/patches-4.19/950-0314-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch @@ -1,7 +1,7 @@ From 7f9fd2338e3a9d7b46b6904bbd7f97851e9b3f52 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 18 Feb 2019 15:56:42 +0000 -Subject: [PATCH 360/806] staging: bcm2835_codec: Include timing info in SPS +Subject: [PATCH] staging: bcm2835_codec: Include timing info in SPS headers Inserting timing information into the VUI block of the SPS is diff --git a/target/linux/brcm2708/patches-4.19/950-0361-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch b/target/linux/brcm2708/patches-4.19/950-0315-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0361-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch rename to target/linux/brcm2708/patches-4.19/950-0315-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch index cbaffb464..545541f10 100644 --- a/target/linux/brcm2708/patches-4.19/950-0361-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch +++ b/target/linux/brcm2708/patches-4.19/950-0315-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch @@ -1,7 +1,7 @@ From dd5fa07672eb01a4d90dfa39a4c54eaa0e086386 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 5 Feb 2018 18:53:18 +0000 -Subject: [PATCH 361/806] drm/vc4: Don't wait for vblank on fkms cursor +Subject: [PATCH] drm/vc4: Don't wait for vblank on fkms cursor updates. We don't use the same async update path between fkms and normal kms, diff --git a/target/linux/brcm2708/patches-4.19/950-0362-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch b/target/linux/brcm2708/patches-4.19/950-0316-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0362-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch rename to target/linux/brcm2708/patches-4.19/950-0316-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch index ce36179bc..657d70d82 100644 --- a/target/linux/brcm2708/patches-4.19/950-0362-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch +++ b/target/linux/brcm2708/patches-4.19/950-0316-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch @@ -1,7 +1,7 @@ From c93b0344d24ba63e0e4caeb693a9fcb7320aae3a Mon Sep 17 00:00:00 2001 From: Giedrius Date: Wed, 27 Feb 2019 14:27:28 +0000 -Subject: [PATCH 362/806] Fix for Pisound kernel module in Real Time kernel +Subject: [PATCH] Fix for Pisound kernel module in Real Time kernel configuration. When handler of data_available interrupt is fired, queue_work ends up diff --git a/target/linux/brcm2708/patches-4.19/950-0364-Added-mute-stream-func.patch b/target/linux/brcm2708/patches-4.19/950-0317-Added-mute-stream-func.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0364-Added-mute-stream-func.patch rename to target/linux/brcm2708/patches-4.19/950-0317-Added-mute-stream-func.patch index d70034855..7ab46e82f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0364-Added-mute-stream-func.patch +++ b/target/linux/brcm2708/patches-4.19/950-0317-Added-mute-stream-func.patch @@ -1,7 +1,7 @@ From 193dc2529db3cfee676aae2b18f059363e151e09 Mon Sep 17 00:00:00 2001 From: Jaikumar Date: Thu, 7 Jun 2018 21:22:45 +0530 -Subject: [PATCH 364/806] Added mute stream func +Subject: [PATCH] Added mute stream func Signed-off-by: Jaikumar --- diff --git a/target/linux/brcm2708/patches-4.19/950-0365-lan78xx-EEE-support-is-now-a-PHY-property.patch b/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch similarity index 86% rename from target/linux/brcm2708/patches-4.19/950-0365-lan78xx-EEE-support-is-now-a-PHY-property.patch rename to target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch index bfefa3950..d147ce9ee 100644 --- a/target/linux/brcm2708/patches-4.19/950-0365-lan78xx-EEE-support-is-now-a-PHY-property.patch +++ b/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch @@ -1,7 +1,7 @@ From 5917a0b0e56928aecd1270c85a79fce77a404629 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 Mar 2019 09:51:22 +0000 -Subject: [PATCH 365/806] lan78xx: EEE support is now a PHY property +Subject: [PATCH] lan78xx: EEE support is now a PHY property Now that EEE support is a property of the PHY, use the PHY's DT node when querying the EEE-related properties. @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2194,7 +2194,7 @@ static int lan78xx_phy_init(struct lan78 +@@ -2195,7 +2195,7 @@ static int lan78xx_phy_init(struct lan78 mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); diff --git a/target/linux/brcm2708/patches-4.19/950-0367-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch b/target/linux/brcm2708/patches-4.19/950-0319-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0367-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch rename to target/linux/brcm2708/patches-4.19/950-0319-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch index b1e0a8360..4f49925d9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0367-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch +++ b/target/linux/brcm2708/patches-4.19/950-0319-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch @@ -1,7 +1,7 @@ From 7b2fac96ce48939e399707c4b8bd9905d6274a05 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 8 Mar 2019 10:38:59 +0000 -Subject: [PATCH 367/806] staging: vc_sm_cma: Remove erroneous misc_deregister +Subject: [PATCH] staging: vc_sm_cma: Remove erroneous misc_deregister Code from the misc /dev node was still present in bcm2835_vc_sm_cma_remove, which caused a NULL deref. diff --git a/target/linux/brcm2708/patches-4.19/950-0368-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch b/target/linux/brcm2708/patches-4.19/950-0320-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0368-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch rename to target/linux/brcm2708/patches-4.19/950-0320-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch index 0f0a6a873..962c3deaf 100644 --- a/target/linux/brcm2708/patches-4.19/950-0368-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch +++ b/target/linux/brcm2708/patches-4.19/950-0320-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch @@ -1,7 +1,7 @@ From d36a5a94156ebe7e9906574fa8b01b200a15c11d Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Mon, 18 Mar 2019 17:14:51 +0000 -Subject: [PATCH 368/806] vcsm: Fix makefile include on out-of-tree builds +Subject: [PATCH] vcsm: Fix makefile include on out-of-tree builds The vc_sm module tries to include the 'fs' directory from the $(srctree). $(srctree) is already provided by the build system, and diff --git a/target/linux/brcm2708/patches-4.19/950-0369-vcsm-Remove-set-but-unused-variable.patch b/target/linux/brcm2708/patches-4.19/950-0321-vcsm-Remove-set-but-unused-variable.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0369-vcsm-Remove-set-but-unused-variable.patch rename to target/linux/brcm2708/patches-4.19/950-0321-vcsm-Remove-set-but-unused-variable.patch index cf6d0101f..267cad41a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0369-vcsm-Remove-set-but-unused-variable.patch +++ b/target/linux/brcm2708/patches-4.19/950-0321-vcsm-Remove-set-but-unused-variable.patch @@ -1,7 +1,7 @@ From 5a58b2bb907d57dc2b1cc2619bd5f1d948509e3e Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Mon, 18 Mar 2019 17:16:41 +0000 -Subject: [PATCH 369/806] vcsm: Remove set but unused variable +Subject: [PATCH] vcsm: Remove set but unused variable The 'success' variable is set by the call to vchi_service_close() but never checked. Remove it, keeping the call in place. diff --git a/target/linux/brcm2708/patches-4.19/950-0370-vcsm-Reduce-scope-of-local-functions.patch b/target/linux/brcm2708/patches-4.19/950-0322-vcsm-Reduce-scope-of-local-functions.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0370-vcsm-Reduce-scope-of-local-functions.patch rename to target/linux/brcm2708/patches-4.19/950-0322-vcsm-Reduce-scope-of-local-functions.patch index 14b1c8bc7..311ae6677 100644 --- a/target/linux/brcm2708/patches-4.19/950-0370-vcsm-Reduce-scope-of-local-functions.patch +++ b/target/linux/brcm2708/patches-4.19/950-0322-vcsm-Reduce-scope-of-local-functions.patch @@ -1,7 +1,7 @@ From 2a1fd1a32b7355c6ae8c5fc1654a96fa42e00586 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Mon, 18 Mar 2019 17:17:40 +0000 -Subject: [PATCH 370/806] vcsm: Reduce scope of local functions +Subject: [PATCH] vcsm: Reduce scope of local functions The functions: diff --git a/target/linux/brcm2708/patches-4.19/950-0371-staging-bcm2835-codec-NULL-component-handle-on-queue.patch b/target/linux/brcm2708/patches-4.19/950-0323-staging-bcm2835-codec-NULL-component-handle-on-queue.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0371-staging-bcm2835-codec-NULL-component-handle-on-queue.patch rename to target/linux/brcm2708/patches-4.19/950-0323-staging-bcm2835-codec-NULL-component-handle-on-queue.patch index 9f8709265..ee5d01d3a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0371-staging-bcm2835-codec-NULL-component-handle-on-queue.patch +++ b/target/linux/brcm2708/patches-4.19/950-0323-staging-bcm2835-codec-NULL-component-handle-on-queue.patch @@ -1,7 +1,7 @@ From 140c118a9886b0386d748e6aa7cbd8ba9f9b0ede Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 Mar 2019 17:55:09 +0000 -Subject: [PATCH 371/806] staging: bcm2835-codec: NULL component handle on +Subject: [PATCH] staging: bcm2835-codec: NULL component handle on queue_setup failure queue_setup tries creating the relevant MMAL component and configures diff --git a/target/linux/brcm2708/patches-4.19/950-0372-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch b/target/linux/brcm2708/patches-4.19/950-0324-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0372-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch rename to target/linux/brcm2708/patches-4.19/950-0324-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch index 4d1638882..aeea6c88a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0372-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch +++ b/target/linux/brcm2708/patches-4.19/950-0324-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch @@ -1,7 +1,7 @@ From 4857371a7cc5d371b1e4221fa38848716a779eb1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 8 Mar 2019 10:49:17 +0000 -Subject: [PATCH 372/806] staging: vc-sm-cma: Remove the debugfs directory on +Subject: [PATCH] staging: vc-sm-cma: Remove the debugfs directory on remove Without removing that, reloading the driver fails. diff --git a/target/linux/brcm2708/patches-4.19/950-0373-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch b/target/linux/brcm2708/patches-4.19/950-0325-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0373-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch rename to target/linux/brcm2708/patches-4.19/950-0325-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch index 3043111ea..70b73dd71 100644 --- a/target/linux/brcm2708/patches-4.19/950-0373-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch +++ b/target/linux/brcm2708/patches-4.19/950-0325-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch @@ -1,7 +1,7 @@ From 6214831525192a9eb665c67fe8c93006c17acbad Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 8 Mar 2019 11:06:41 +0000 -Subject: [PATCH 373/806] staging: vc-sm-cma: Use devm_ allocs for sm_state. +Subject: [PATCH] staging: vc-sm-cma: Use devm_ allocs for sm_state. Use managed allocations for sm_state, removing reliance on manual management. diff --git a/target/linux/brcm2708/patches-4.19/950-0374-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch b/target/linux/brcm2708/patches-4.19/950-0326-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0374-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch rename to target/linux/brcm2708/patches-4.19/950-0326-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch index 6ad01d26a..f8b7ca28a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0374-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch +++ b/target/linux/brcm2708/patches-4.19/950-0326-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch @@ -1,7 +1,7 @@ From 13572df6bba85d8fc91a212faa89b5b6147bdf94 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 8 Mar 2019 11:09:49 +0000 -Subject: [PATCH 374/806] staging: vc-sm-cma: Don't fail if debugfs calls fail. +Subject: [PATCH] staging: vc-sm-cma: Don't fail if debugfs calls fail. Return codes from debugfs calls should never alter the flow of the main code. diff --git a/target/linux/brcm2708/patches-4.19/950-0375-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch b/target/linux/brcm2708/patches-4.19/950-0327-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0375-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch rename to target/linux/brcm2708/patches-4.19/950-0327-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch index 000248a4e..6133840b7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0375-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch +++ b/target/linux/brcm2708/patches-4.19/950-0327-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch @@ -1,7 +1,7 @@ From 4027b08d96c68919f51c768a23877283ef5aefb9 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 8 Mar 2019 11:11:46 +0000 -Subject: [PATCH 375/806] staging: vc-sm-cma: Ensure mutex and idr are +Subject: [PATCH] staging: vc-sm-cma: Ensure mutex and idr are destroyed map_lock and kernelid_map are created in probe, but not released diff --git a/target/linux/brcm2708/patches-4.19/950-0376-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch b/target/linux/brcm2708/patches-4.19/950-0328-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0376-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch rename to target/linux/brcm2708/patches-4.19/950-0328-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch index c1a89ebf4..4bf0c7822 100644 --- a/target/linux/brcm2708/patches-4.19/950-0376-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0328-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch @@ -1,7 +1,7 @@ From c42ae04bb6ed5be61d3b3e2e2c6004ae252ee34a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 8 Mar 2019 11:26:00 +0000 -Subject: [PATCH 376/806] staging: bcm2835_codec: Clean up logging on unloading +Subject: [PATCH] staging: bcm2835_codec: Clean up logging on unloading the driver The log line was missing a closing \n, so wasn't added to the diff --git a/target/linux/brcm2708/patches-4.19/950-0378-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch b/target/linux/brcm2708/patches-4.19/950-0329-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0378-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch rename to target/linux/brcm2708/patches-4.19/950-0329-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch index 15ac5ac22..e16e12da3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0378-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch +++ b/target/linux/brcm2708/patches-4.19/950-0329-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch @@ -1,7 +1,7 @@ From 44db7882be675cdf2d89741af5bbeba41b3e25af Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 13 Mar 2019 14:19:11 +0000 -Subject: [PATCH 378/806] bcm2835-sdhost: Allow for sg entries that cross pages +Subject: [PATCH] bcm2835-sdhost: Allow for sg entries that cross pages The dma_complete handling code calculates a virtual address for a page then adds an offset, but if the offset is more than a page and HIGHMEM diff --git a/target/linux/brcm2708/patches-4.19/950-0379-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch b/target/linux/brcm2708/patches-4.19/950-0330-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0379-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch rename to target/linux/brcm2708/patches-4.19/950-0330-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch index 3de9197d6..f823f670e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0379-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch +++ b/target/linux/brcm2708/patches-4.19/950-0330-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch @@ -1,7 +1,7 @@ From 7c23c772289fa31960b9e6969499aa93c92d842b Mon Sep 17 00:00:00 2001 From: Adrien RICCIARDI Date: Fri, 22 Mar 2019 11:35:30 +0100 -Subject: [PATCH 379/806] overlays: sdio: Added 4-bit support on GPIOs 34-39. +Subject: [PATCH] overlays: sdio: Added 4-bit support on GPIOs 34-39. (#2903) --- diff --git a/target/linux/brcm2708/patches-4.19/950-0380-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch b/target/linux/brcm2708/patches-4.19/950-0331-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0380-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch rename to target/linux/brcm2708/patches-4.19/950-0331-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch index 95455d7cc..86fd11034 100644 --- a/target/linux/brcm2708/patches-4.19/950-0380-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch +++ b/target/linux/brcm2708/patches-4.19/950-0331-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch @@ -1,7 +1,7 @@ From 649efe5db3900ed3bbfd3c3daa3b96d8fc0b9d68 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 22 Mar 2019 16:44:47 +0000 -Subject: [PATCH 380/806] overlays: Fix multiple-instantiation of sc16is7xx* +Subject: [PATCH] overlays: Fix multiple-instantiation of sc16is7xx* The registration of the fixed clocks uses the node name as the clock name, causing a clash if two clock nodes have the same name, regardless diff --git a/target/linux/brcm2708/patches-4.19/950-0382-bcm2835-mmc-Fix-DMA-channel-leak.patch b/target/linux/brcm2708/patches-4.19/950-0332-bcm2835-mmc-Fix-DMA-channel-leak.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0382-bcm2835-mmc-Fix-DMA-channel-leak.patch rename to target/linux/brcm2708/patches-4.19/950-0332-bcm2835-mmc-Fix-DMA-channel-leak.patch index 3c62a9d10..1122e3c3e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0382-bcm2835-mmc-Fix-DMA-channel-leak.patch +++ b/target/linux/brcm2708/patches-4.19/950-0332-bcm2835-mmc-Fix-DMA-channel-leak.patch @@ -1,7 +1,7 @@ From 7458efc95816cc9d716d94a4894172c2a9d9fba7 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Wed, 16 Jan 2019 12:22:32 +0100 -Subject: [PATCH 382/806] bcm2835-mmc: Fix DMA channel leak +Subject: [PATCH] bcm2835-mmc: Fix DMA channel leak The BCM2835 MMC host driver requests a DMA channel on probe but neglects to release the channel in the probe error path and on driver unbind. diff --git a/target/linux/brcm2708/patches-4.19/950-0383-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch b/target/linux/brcm2708/patches-4.19/950-0333-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0383-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch rename to target/linux/brcm2708/patches-4.19/950-0333-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch index b54374dfc..9ec4404be 100644 --- a/target/linux/brcm2708/patches-4.19/950-0383-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch +++ b/target/linux/brcm2708/patches-4.19/950-0333-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch @@ -1,7 +1,7 @@ From 82ced13dc5805f6e49e2182269e672b20d8394bc Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Sat, 19 Jan 2019 08:06:48 +0100 -Subject: [PATCH 383/806] bcm2835-mmc: Fix struct mmc_host leak on probe +Subject: [PATCH] bcm2835-mmc: Fix struct mmc_host leak on probe The BCM2835 MMC host driver requests the bus address of the host's register map on probe. If that fails, the driver leaks the struct diff --git a/target/linux/brcm2708/patches-4.19/950-0384-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch b/target/linux/brcm2708/patches-4.19/950-0334-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0384-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch rename to target/linux/brcm2708/patches-4.19/950-0334-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch index ecbffb466..0ca7c1182 100644 --- a/target/linux/brcm2708/patches-4.19/950-0384-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch +++ b/target/linux/brcm2708/patches-4.19/950-0334-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch @@ -1,7 +1,7 @@ From 4a15e086fa9531f808c15b8fb8d7ed1fdb411b74 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Sat, 19 Jan 2019 09:00:26 +0100 -Subject: [PATCH 384/806] bcm2835-mmc: Fix duplicate free_irq() on remove +Subject: [PATCH] bcm2835-mmc: Fix duplicate free_irq() on remove The BCM2835 MMC host driver requests its interrupt as a device-managed resource, so the interrupt is automatically freed after the driver is diff --git a/target/linux/brcm2708/patches-4.19/950-0385-bcm2835-mmc-Handle-mmc_add_host-errors.patch b/target/linux/brcm2708/patches-4.19/950-0335-bcm2835-mmc-Handle-mmc_add_host-errors.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0385-bcm2835-mmc-Handle-mmc_add_host-errors.patch rename to target/linux/brcm2708/patches-4.19/950-0335-bcm2835-mmc-Handle-mmc_add_host-errors.patch index 2635cf2dc..3762f4b70 100644 --- a/target/linux/brcm2708/patches-4.19/950-0385-bcm2835-mmc-Handle-mmc_add_host-errors.patch +++ b/target/linux/brcm2708/patches-4.19/950-0335-bcm2835-mmc-Handle-mmc_add_host-errors.patch @@ -1,7 +1,7 @@ From 2e2f57e09e1ace18ae01a87d9fc4378c96c54370 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Tue, 22 Jan 2019 12:29:45 +0100 -Subject: [PATCH 385/806] bcm2835-mmc: Handle mmc_add_host() errors +Subject: [PATCH] bcm2835-mmc: Handle mmc_add_host() errors The BCM2835 MMC host driver calls mmc_add_host() but doesn't check its return value. Errors occurring in that function are therefore not diff --git a/target/linux/brcm2708/patches-4.19/950-0386-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch b/target/linux/brcm2708/patches-4.19/950-0336-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0386-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch rename to target/linux/brcm2708/patches-4.19/950-0336-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch index dfe2e81c2..ed3910d7a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0386-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch +++ b/target/linux/brcm2708/patches-4.19/950-0336-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch @@ -1,7 +1,7 @@ From 3f6e190df3989e10a9baf591a7bf67d754842533 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Sat, 19 Jan 2019 08:42:40 +0100 -Subject: [PATCH 386/806] bcm2835-mmc: Deduplicate reset of driver data on +Subject: [PATCH] bcm2835-mmc: Deduplicate reset of driver data on remove The BCM2835 MMC host driver sets the device's driver data pointer to diff --git a/target/linux/brcm2708/patches-4.19/950-0388-overlays-Add-max17040-support-to-i2c-sensor.patch b/target/linux/brcm2708/patches-4.19/950-0337-overlays-Add-max17040-support-to-i2c-sensor.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0388-overlays-Add-max17040-support-to-i2c-sensor.patch rename to target/linux/brcm2708/patches-4.19/950-0337-overlays-Add-max17040-support-to-i2c-sensor.patch index 385363a01..e87cf1a95 100644 --- a/target/linux/brcm2708/patches-4.19/950-0388-overlays-Add-max17040-support-to-i2c-sensor.patch +++ b/target/linux/brcm2708/patches-4.19/950-0337-overlays-Add-max17040-support-to-i2c-sensor.patch @@ -1,7 +1,7 @@ From fe6ccc8df700133615716df211f183c9c27d1e2e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 25 Mar 2019 18:03:48 +0000 -Subject: [PATCH 388/806] overlays: Add max17040 support to i2c-sensor +Subject: [PATCH] overlays: Add max17040 support to i2c-sensor See: https://github.com/raspberrypi/linux/issues/2906 diff --git a/target/linux/brcm2708/patches-4.19/950-0390-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch b/target/linux/brcm2708/patches-4.19/950-0338-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0390-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch rename to target/linux/brcm2708/patches-4.19/950-0338-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch index 9d1e9469d..c1686f55c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0390-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch +++ b/target/linux/brcm2708/patches-4.19/950-0338-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch @@ -1,7 +1,7 @@ From 7c876909bc0a6d23124689d5fca89657a4fcb5a5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 5 Mar 2019 15:43:27 +0000 -Subject: [PATCH 390/806] media: bcm2835-unicam: Add support for enum +Subject: [PATCH] media: bcm2835-unicam: Add support for enum framesizes and frameintervals vidioc_enum_framesizes and vidioc_enum_frameintervals weren't implemented, diff --git a/target/linux/brcm2708/patches-4.19/950-0391-staging-bcm2835-codec-Refactor-default-resolution-co.patch b/target/linux/brcm2708/patches-4.19/950-0339-staging-bcm2835-codec-Refactor-default-resolution-co.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0391-staging-bcm2835-codec-Refactor-default-resolution-co.patch rename to target/linux/brcm2708/patches-4.19/950-0339-staging-bcm2835-codec-Refactor-default-resolution-co.patch index 65ddac97d..cd592e27d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0391-staging-bcm2835-codec-Refactor-default-resolution-co.patch +++ b/target/linux/brcm2708/patches-4.19/950-0339-staging-bcm2835-codec-Refactor-default-resolution-co.patch @@ -1,7 +1,7 @@ From a97baa799a8069fe965a4d194935c025e21acf8e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 20 Mar 2019 10:06:51 +0000 -Subject: [PATCH 391/806] staging: bcm2835-codec: Refactor default resolution +Subject: [PATCH] staging: bcm2835-codec: Refactor default resolution code The default resolution code was different for each role diff --git a/target/linux/brcm2708/patches-4.19/950-0392-nvmem-add-type-attribute.patch b/target/linux/brcm2708/patches-4.19/950-0340-nvmem-add-type-attribute.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0392-nvmem-add-type-attribute.patch rename to target/linux/brcm2708/patches-4.19/950-0340-nvmem-add-type-attribute.patch index 7e343f4dc..661ba8e33 100644 --- a/target/linux/brcm2708/patches-4.19/950-0392-nvmem-add-type-attribute.patch +++ b/target/linux/brcm2708/patches-4.19/950-0340-nvmem-add-type-attribute.patch @@ -1,7 +1,7 @@ From c9e76146066660a2884e61216c1ce227cf509bf8 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Fri, 30 Nov 2018 11:53:20 +0000 -Subject: [PATCH 392/806] nvmem: add type attribute +Subject: [PATCH] nvmem: add type attribute commit 16688453661b6d5159be558a1f8c1f54463a420f upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0393-rtc-rv3028-add-new-driver.patch b/target/linux/brcm2708/patches-4.19/950-0341-rtc-rv3028-add-new-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0393-rtc-rv3028-add-new-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0341-rtc-rv3028-add-new-driver.patch index 72392512b..6a00e8230 100644 --- a/target/linux/brcm2708/patches-4.19/950-0393-rtc-rv3028-add-new-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0341-rtc-rv3028-add-new-driver.patch @@ -1,7 +1,7 @@ From bb0e317bfc453877805a12f975490ad38b6413f1 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Wed, 13 Feb 2019 00:21:36 +0100 -Subject: [PATCH 393/806] rtc: rv3028: add new driver +Subject: [PATCH] rtc: rv3028: add new driver upstream commit e6e7376cfd7b3f9b63de3a22792f64d9bfb2ab53. diff --git a/target/linux/brcm2708/patches-4.19/950-0395-overlays-Add-rv3028-to-i2c-rtc.patch b/target/linux/brcm2708/patches-4.19/950-0342-overlays-Add-rv3028-to-i2c-rtc.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0395-overlays-Add-rv3028-to-i2c-rtc.patch rename to target/linux/brcm2708/patches-4.19/950-0342-overlays-Add-rv3028-to-i2c-rtc.patch index de637b3b2..22280224f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0395-overlays-Add-rv3028-to-i2c-rtc.patch +++ b/target/linux/brcm2708/patches-4.19/950-0342-overlays-Add-rv3028-to-i2c-rtc.patch @@ -1,7 +1,7 @@ From 67dd8e4c8ccf5d331960c7e936e5b03a9f92496d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 28 Mar 2019 13:26:59 +0000 -Subject: [PATCH 395/806] overlays: Add rv3028 to i2c-rtc +Subject: [PATCH] overlays: Add rv3028 to i2c-rtc See: https://github.com/raspberrypi/linux/issues/2912 diff --git a/target/linux/brcm2708/patches-4.19/950-0396-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch b/target/linux/brcm2708/patches-4.19/950-0343-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0396-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch rename to target/linux/brcm2708/patches-4.19/950-0343-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch index 4b9d629e8..aa5f12a5c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0396-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch +++ b/target/linux/brcm2708/patches-4.19/950-0343-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch @@ -1,7 +1,7 @@ From 053938f67f73773152f70d89aa32e7893ee19694 Mon Sep 17 00:00:00 2001 From: b-ak Date: Wed, 9 Jan 2019 22:41:21 +0530 -Subject: [PATCH 396/806] ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is +Subject: [PATCH] ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is deprecated commit 04d979d7a7bac2f645cd827ea37e5ffa5b4e1f97 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0397-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch b/target/linux/brcm2708/patches-4.19/950-0344-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0397-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch rename to target/linux/brcm2708/patches-4.19/950-0344-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch index 1b069f6f1..3a63be178 100644 --- a/target/linux/brcm2708/patches-4.19/950-0397-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch +++ b/target/linux/brcm2708/patches-4.19/950-0344-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch @@ -1,7 +1,7 @@ From 95b3311cbcd29e07af1ee96b6b37c9089567bcff Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Mon, 18 Mar 2019 20:37:44 -0700 -Subject: [PATCH 397/806] ASoC: tlv320aic32x4: Break out clock setting into +Subject: [PATCH] ASoC: tlv320aic32x4: Break out clock setting into separate function commit bf31cbfbe25001036e1e096b1c260bf871766ea5 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0398-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch b/target/linux/brcm2708/patches-4.19/950-0345-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0398-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch rename to target/linux/brcm2708/patches-4.19/950-0345-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch index b405fd67b..cae096bd9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0398-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch +++ b/target/linux/brcm2708/patches-4.19/950-0345-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch @@ -1,7 +1,7 @@ From 6cc882cf38b62fce2a07640413b05b43b420c77a Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Wed, 20 Mar 2019 19:38:44 -0700 -Subject: [PATCH 398/806] ASoC: tlv320aic32x4: Properly Set Processing Blocks +Subject: [PATCH] ASoC: tlv320aic32x4: Properly Set Processing Blocks commit c95e3a4b96293403a427b5185e60fad28af51fdd upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0399-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0346-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0399-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0346-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch index fb6ab5db8..4e0ddb912 100644 --- a/target/linux/brcm2708/patches-4.19/950-0399-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch +++ b/target/linux/brcm2708/patches-4.19/950-0346-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch @@ -1,7 +1,7 @@ From 957ccf05060d65da074d019679ec7f486477e412 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Thu, 21 Mar 2019 17:58:45 -0700 -Subject: [PATCH 399/806] ASoC: tlv320aic32x4: Model PLL in CCF +Subject: [PATCH] ASoC: tlv320aic32x4: Model PLL in CCF commit 514b044cba667e4b7c383ec79b42b997e624b91d upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0400-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0347-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0400-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0347-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch index 3074140a6..928d05a1d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0400-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch +++ b/target/linux/brcm2708/patches-4.19/950-0347-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch @@ -1,7 +1,7 @@ From c5f9d78ec34de15732bcbff52bedba7a840e42b2 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Thu, 21 Mar 2019 17:58:46 -0700 -Subject: [PATCH 400/806] ASoC: tlv320aic32x4: Model CODEC_CLKIN in CCF +Subject: [PATCH] ASoC: tlv320aic32x4: Model CODEC_CLKIN in CCF commit fd2df3aeafa4b4cc468d58e147e0822967034b71 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0401-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0348-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0401-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0348-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch index 6d9069323..fc671a470 100644 --- a/target/linux/brcm2708/patches-4.19/950-0401-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch +++ b/target/linux/brcm2708/patches-4.19/950-0348-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch @@ -1,7 +1,7 @@ From 3bf2e5984ab7acb4469ab0f3dfee8b7392001bbf Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Thu, 21 Mar 2019 17:58:47 -0700 -Subject: [PATCH 401/806] ASoC: tlv320aic32x4: Model DAC/ADC dividers in CCF +Subject: [PATCH] ASoC: tlv320aic32x4: Model DAC/ADC dividers in CCF commit a51b50062091619915c5155085bbe13a7aca6903 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0402-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0349-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0402-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0349-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch index 3bcc52e3e..708e44927 100644 --- a/target/linux/brcm2708/patches-4.19/950-0402-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch +++ b/target/linux/brcm2708/patches-4.19/950-0349-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch @@ -1,7 +1,7 @@ From 69f3f8c51077d0f3dc7f46c2c9a94da899d8eb7c Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Thu, 21 Mar 2019 17:58:48 -0700 -Subject: [PATCH 402/806] ASoC: tlv320aic32x4: Model BDIV divider in CCF +Subject: [PATCH] ASoC: tlv320aic32x4: Model BDIV divider in CCF commit 9b484124ebd906c4d6bc826cc0d417e80cc1105c upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0403-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0350-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0403-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0350-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch index e601d8fb0..c056c34ad 100644 --- a/target/linux/brcm2708/patches-4.19/950-0403-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch +++ b/target/linux/brcm2708/patches-4.19/950-0350-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch @@ -1,7 +1,7 @@ From f844ea32cba0c4030594a0f590725477a5751f32 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Thu, 21 Mar 2019 17:58:49 -0700 -Subject: [PATCH 403/806] ASoC: tlv320aic32x4: Control clock gating with CCF +Subject: [PATCH] ASoC: tlv320aic32x4: Control clock gating with CCF commit d25970b5fd51e9fcf0afbe190908ea4049454da4 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0404-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch b/target/linux/brcm2708/patches-4.19/950-0351-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0404-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch rename to target/linux/brcm2708/patches-4.19/950-0351-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch index 2a37d65ab..85b008e5a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0404-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch +++ b/target/linux/brcm2708/patches-4.19/950-0351-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch @@ -1,7 +1,7 @@ From a2d8d212b986e4a4ae52c748d246e4c28ebaf1bc Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Thu, 21 Mar 2019 17:58:50 -0700 -Subject: [PATCH 404/806] ASoC: tlv320aic32x4: Move aosr and dosr setting to +Subject: [PATCH] ASoC: tlv320aic32x4: Move aosr and dosr setting to separate functions commit fbafbf6517274a797e6e6508c18dd8dba5920c89 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0405-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch b/target/linux/brcm2708/patches-4.19/950-0352-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0405-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch rename to target/linux/brcm2708/patches-4.19/950-0352-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch index 173af094d..94552065e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0405-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch +++ b/target/linux/brcm2708/patches-4.19/950-0352-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch @@ -1,7 +1,7 @@ From 3e62c56daa1c799bb2a1d954ecfb88e8d37421bb Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Thu, 21 Mar 2019 17:58:51 -0700 -Subject: [PATCH 405/806] ASoC: tlv320aic32x4: Dynamically Determine Clocking +Subject: [PATCH] ASoC: tlv320aic32x4: Dynamically Determine Clocking commit 96c3bb00239de4fb5f4ddca42c1f90d6d9b3c697 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0406-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch b/target/linux/brcm2708/patches-4.19/950-0353-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0406-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch rename to target/linux/brcm2708/patches-4.19/950-0353-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch index 1f26a578d..5caebcb27 100644 --- a/target/linux/brcm2708/patches-4.19/950-0406-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch +++ b/target/linux/brcm2708/patches-4.19/950-0353-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch @@ -1,7 +1,7 @@ From 5ec6ed3e423878cf975a955c8796c2cdb10b5ca7 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Thu, 21 Mar 2019 17:58:52 -0700 -Subject: [PATCH 406/806] ASoC: tlv320aic32x4: Restructure set_dai_sysclk +Subject: [PATCH] ASoC: tlv320aic32x4: Restructure set_dai_sysclk commit aa6a60f7be925210d5156f0e8025f3afe1f4f54d upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0407-ASoC-tlv320aic32x4-Remove-mclk-references.patch b/target/linux/brcm2708/patches-4.19/950-0354-ASoC-tlv320aic32x4-Remove-mclk-references.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0407-ASoC-tlv320aic32x4-Remove-mclk-references.patch rename to target/linux/brcm2708/patches-4.19/950-0354-ASoC-tlv320aic32x4-Remove-mclk-references.patch index 7f3e70819..bee58524c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0407-ASoC-tlv320aic32x4-Remove-mclk-references.patch +++ b/target/linux/brcm2708/patches-4.19/950-0354-ASoC-tlv320aic32x4-Remove-mclk-references.patch @@ -1,7 +1,7 @@ From 3c7bf08e6b6bdc2e6005aaa5e6aa6d12ce40d406 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Thu, 21 Mar 2019 17:58:53 -0700 -Subject: [PATCH 407/806] ASoC: tlv320aic32x4: Remove mclk references +Subject: [PATCH] ASoC: tlv320aic32x4: Remove mclk references commit 78f2d58a289302e56a7def96a783a7686ebf27e2 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0408-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch b/target/linux/brcm2708/patches-4.19/950-0355-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0408-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch rename to target/linux/brcm2708/patches-4.19/950-0355-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch index c4673249c..15ded09f3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0408-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch +++ b/target/linux/brcm2708/patches-4.19/950-0355-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch @@ -1,7 +1,7 @@ From e54269cdeb78beb5131594de702daeecc2b05ec2 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Thu, 21 Mar 2019 17:58:54 -0700 -Subject: [PATCH 408/806] ASoC: tlv320aic32x4: Allow 192000 Sample Rate +Subject: [PATCH] ASoC: tlv320aic32x4: Allow 192000 Sample Rate commit 6d56ee1550b8a81bc63c80051ff78d8d704b09ba upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0409-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch b/target/linux/brcm2708/patches-4.19/950-0356-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0409-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch rename to target/linux/brcm2708/patches-4.19/950-0356-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch index a27e720b8..d995353ef 100644 --- a/target/linux/brcm2708/patches-4.19/950-0409-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch +++ b/target/linux/brcm2708/patches-4.19/950-0356-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch @@ -1,7 +1,7 @@ From 0ef20f96802fac1ce888a1e0b56e14b6b3fd4f72 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Tue, 26 Mar 2019 13:10:13 +0000 -Subject: [PATCH 409/806] ASoC: tlv320aic32x4: Only enable with common clock +Subject: [PATCH] ASoC: tlv320aic32x4: Only enable with common clock commit 64f01d2b5ccc621c3aa66b82daf9154f5581f36a upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0410-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch b/target/linux/brcm2708/patches-4.19/950-0357-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0410-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0357-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch index 1532461cd..ba1010024 100644 --- a/target/linux/brcm2708/patches-4.19/950-0410-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0357-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch @@ -1,7 +1,7 @@ From c667b06f616d5dec68469ac73764abd5bcb1d694 Mon Sep 17 00:00:00 2001 From: FERHAT Nicolas Date: Fri, 5 Apr 2019 13:06:42 +0100 -Subject: [PATCH 410/806] Audiophonics I-Sabre 9038Q2M DAC driver +Subject: [PATCH] Audiophonics I-Sabre 9038Q2M DAC driver Signed-off-by: Audiophonics --- diff --git a/target/linux/brcm2708/patches-4.19/950-0411-ASoC-tlv320aic32x4-Change-author-s-name.patch b/target/linux/brcm2708/patches-4.19/950-0358-ASoC-tlv320aic32x4-Change-author-s-name.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0411-ASoC-tlv320aic32x4-Change-author-s-name.patch rename to target/linux/brcm2708/patches-4.19/950-0358-ASoC-tlv320aic32x4-Change-author-s-name.patch index 558fddae5..8c4cdd568 100644 --- a/target/linux/brcm2708/patches-4.19/950-0411-ASoC-tlv320aic32x4-Change-author-s-name.patch +++ b/target/linux/brcm2708/patches-4.19/950-0358-ASoC-tlv320aic32x4-Change-author-s-name.patch @@ -1,7 +1,7 @@ From 5942d9e650ce419236d5a7dc53c2513889ed3453 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Wed, 3 Apr 2019 21:17:15 -0700 -Subject: [PATCH 411/806] ASoC: tlv320aic32x4: Change author's name +Subject: [PATCH] ASoC: tlv320aic32x4: Change author's name commit 7297ba6c74c5b9e78d8e936af82eecfcf7d32dfb upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0412-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch b/target/linux/brcm2708/patches-4.19/950-0359-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0412-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch rename to target/linux/brcm2708/patches-4.19/950-0359-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch index 634194812..b967edafa 100644 --- a/target/linux/brcm2708/patches-4.19/950-0412-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch +++ b/target/linux/brcm2708/patches-4.19/950-0359-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch @@ -1,7 +1,7 @@ From 1ed86adfa457ecd9668f2541dabfebd3ee82d035 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Wed, 3 Apr 2019 21:17:16 -0700 -Subject: [PATCH 412/806] ASoC: tlv320aic32x4: Update copyright and use SPDX +Subject: [PATCH] ASoC: tlv320aic32x4: Update copyright and use SPDX identifier commit 8a1d95c393d971e624fc28f11516b0bc3a7fa706 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0413-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch b/target/linux/brcm2708/patches-4.19/950-0360-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0413-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch rename to target/linux/brcm2708/patches-4.19/950-0360-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch index af7ff04a7..1d5723705 100644 --- a/target/linux/brcm2708/patches-4.19/950-0413-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch +++ b/target/linux/brcm2708/patches-4.19/950-0360-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch @@ -1,7 +1,7 @@ From 0962637c67a56c1ae42ccb14c9e71c62f4aa1403 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Wed, 3 Apr 2019 21:01:54 -0700 -Subject: [PATCH 413/806] ASoC: tlv320aic32x4: Add Switch for Setting Common +Subject: [PATCH] ASoC: tlv320aic32x4: Add Switch for Setting Common Mode Voltage commit 44ceee847e27c828f2f1ef4e400e6bc0c8d04de3 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0414-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch b/target/linux/brcm2708/patches-4.19/950-0361-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0414-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch rename to target/linux/brcm2708/patches-4.19/950-0361-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch index ed99515eb..98514255d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0414-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch +++ b/target/linux/brcm2708/patches-4.19/950-0361-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch @@ -1,7 +1,7 @@ From 6e5099288c946037476abd1488e4c7ab6b818e2b Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Wed, 3 Apr 2019 21:01:55 -0700 -Subject: [PATCH 414/806] ASoC: tlv320aic32x4: Add Playback PowerTune Controls +Subject: [PATCH] ASoC: tlv320aic32x4: Add Playback PowerTune Controls commit d3e6e374566e1154820a9a3dc82f7eef646fcf95 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0415-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch b/target/linux/brcm2708/patches-4.19/950-0362-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0415-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch rename to target/linux/brcm2708/patches-4.19/950-0362-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch index b244fec14..ecc637c3a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0415-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch +++ b/target/linux/brcm2708/patches-4.19/950-0362-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch @@ -1,7 +1,7 @@ From 1d3aeba25b10d1ed2b5ae4cf0b535d821539a531 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Sun, 17 Mar 2019 16:48:36 -0700 -Subject: [PATCH 415/806] dtoverlays: Add Support for the UDRC/DRAWS +Subject: [PATCH] dtoverlays: Add Support for the UDRC/DRAWS Adds a new overlay to support the Northwest Digital Radio DRAWS and UDRC HATs. See http://nwdigitalradio.com. diff --git a/target/linux/brcm2708/patches-4.19/950-0416-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch b/target/linux/brcm2708/patches-4.19/950-0363-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0416-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch rename to target/linux/brcm2708/patches-4.19/950-0363-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch index 6b72edb0b..d2a9973fa 100644 --- a/target/linux/brcm2708/patches-4.19/950-0416-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0363-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch @@ -1,7 +1,7 @@ From 0c988aed71773be4481b886ccf03c40a52f57cdb Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 8 Apr 2019 12:45:23 +0100 -Subject: [PATCH 416/806] dwc_otg: only do_split when we actually need to do a +Subject: [PATCH] dwc_otg: only do_split when we actually need to do a split The previous test would fail if the root port was in fullspeed mode diff --git a/target/linux/brcm2708/patches-4.19/950-0417-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch b/target/linux/brcm2708/patches-4.19/950-0364-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0417-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch rename to target/linux/brcm2708/patches-4.19/950-0364-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch index abe176ee1..84c99ffa5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0417-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch +++ b/target/linux/brcm2708/patches-4.19/950-0364-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch @@ -1,7 +1,7 @@ From 9c823e2ee1ec1b815b8ec29c231b112c5e397202 Mon Sep 17 00:00:00 2001 From: Samuel Hsu Date: Mon, 8 Apr 2019 16:42:17 +0200 -Subject: [PATCH 417/806] Input: ili210x - fetch touchscreen geometry from DT +Subject: [PATCH] Input: ili210x - fetch touchscreen geometry from DT commit f67cc3e927d8414ad3872e046764534ea1f5db0d upstream diff --git a/target/linux/brcm2708/patches-4.19/950-0418-Input-ili210x-add-DT-binding-document.patch b/target/linux/brcm2708/patches-4.19/950-0365-Input-ili210x-add-DT-binding-document.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0418-Input-ili210x-add-DT-binding-document.patch rename to target/linux/brcm2708/patches-4.19/950-0365-Input-ili210x-add-DT-binding-document.patch index 2d968fde6..5eb3703b7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0418-Input-ili210x-add-DT-binding-document.patch +++ b/target/linux/brcm2708/patches-4.19/950-0365-Input-ili210x-add-DT-binding-document.patch @@ -1,7 +1,7 @@ From 9ee66e1acf33fd1dcf4beb8a6fce4fdade01ab05 Mon Sep 17 00:00:00 2001 From: Samuel Hsu Date: Mon, 8 Apr 2019 16:49:51 +0200 -Subject: [PATCH 418/806] Input: ili210x - add DT binding document +Subject: [PATCH] Input: ili210x - add DT binding document commit 41a852e002e65ab7a1e6841b485d72d022e95df2 upstream diff --git a/target/linux/brcm2708/patches-4.19/950-0420-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch b/target/linux/brcm2708/patches-4.19/950-0366-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0420-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch rename to target/linux/brcm2708/patches-4.19/950-0366-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch index b1c0b6ff4..0967821a4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0420-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch +++ b/target/linux/brcm2708/patches-4.19/950-0366-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch @@ -1,7 +1,7 @@ From c0dfc87e355a7c6e434122e1a4fcc69729970610 Mon Sep 17 00:00:00 2001 From: Samuel Hsu Date: Mon, 8 Apr 2019 17:06:44 +0200 -Subject: [PATCH 420/806] BCM2708: Add core Device Tree support, ilitek251x +Subject: [PATCH] BCM2708: Add core Device Tree support, ilitek251x Signed-off-by: Samuel Hsu --- diff --git a/target/linux/brcm2708/patches-4.19/950-0366-video-bcm2708_fb-Try-allocating-on-the-ARM-and-passi.patch b/target/linux/brcm2708/patches-4.19/950-0366-video-bcm2708_fb-Try-allocating-on-the-ARM-and-passi.patch deleted file mode 100644 index 476f2b8b1..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0366-video-bcm2708_fb-Try-allocating-on-the-ARM-and-passi.patch +++ /dev/null @@ -1,162 +0,0 @@ -From a9a47ea599c12d29526138cd6e48f6c9eac19358 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Wed, 27 Feb 2019 17:30:33 +0000 -Subject: [PATCH 366/806] video: bcm2708_fb: Try allocating on the ARM and - passing to VPU - -Currently the VPU allocates the contiguous buffer for the -framebuffer. -Try an alternate path first where we use dma_alloc_coherent -and pass the buffer to the VPU. Should the VPU firmware not -support that path, then free the buffer and revert to the -old behaviour of using the VPU allocation. - -Signed-off-by: Dave Stevenson ---- - drivers/video/fbdev/bcm2708_fb.c | 102 ++++++++++++++++++--- - include/soc/bcm2835/raspberrypi-firmware.h | 1 + - 2 files changed, 91 insertions(+), 12 deletions(-) - ---- a/drivers/video/fbdev/bcm2708_fb.c -+++ b/drivers/video/fbdev/bcm2708_fb.c -@@ -98,6 +98,11 @@ struct bcm2708_fb { - struct bcm2708_fb_stats stats; - unsigned long fb_bus_address; - struct { u32 base, length; } gpu; -+ -+ bool disable_arm_alloc; -+ unsigned int image_size; -+ dma_addr_t dma_addr; -+ void *cpuaddr; - }; - - #define to_bcm2708(info) container_of(info, struct bcm2708_fb, fb) -@@ -283,23 +288,88 @@ static int bcm2708_fb_set_par(struct fb_ - .xoffset = info->var.xoffset, - .yoffset = info->var.yoffset, - .tag5 = { RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE, 8, 0 }, -- .base = 0, -- .screen_size = 0, -- .tag6 = { RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH, 4, 0 }, -- .pitch = 0, -+ /* base and screen_size will be initialised later */ -+ .tag6 = { RPI_FIRMWARE_FRAMEBUFFER_SET_PITCH, 4, 0 }, -+ /* pitch will be initialised later */ - }; -- int ret; -+ int ret, image_size; -+ - - print_debug("%s(%p) %dx%d (%dx%d), %d, %d\n", __func__, info, - info->var.xres, info->var.yres, info->var.xres_virtual, - info->var.yres_virtual, (int)info->screen_size, - info->var.bits_per_pixel); - -- ret = rpi_firmware_property_list(fb->fw, &fbinfo, sizeof(fbinfo)); -+ /* Try allocating our own buffer. We can specify all the parameters */ -+ image_size = ((info->var.xres * info->var.yres) * -+ info->var.bits_per_pixel) >> 3; -+ -+ if (!fb->disable_arm_alloc && -+ (image_size != fb->image_size || !fb->dma_addr)) { -+ if (fb->dma_addr) { -+ dma_free_coherent(info->device, fb->image_size, -+ fb->cpuaddr, fb->dma_addr); -+ fb->image_size = 0; -+ fb->cpuaddr = NULL; -+ fb->dma_addr = 0; -+ } -+ -+ fb->cpuaddr = dma_alloc_coherent(info->device, image_size, -+ &fb->dma_addr, GFP_KERNEL); -+ -+ if (!fb->cpuaddr) { -+ fb->dma_addr = 0; -+ fb->disable_arm_alloc = true; -+ } else { -+ fb->image_size = image_size; -+ } -+ } -+ -+ if (fb->cpuaddr) { -+ fbinfo.base = fb->dma_addr; -+ fbinfo.screen_size = image_size; -+ fbinfo.pitch = (info->var.xres * info->var.bits_per_pixel) >> 3; -+ -+ ret = rpi_firmware_property_list(fb->fw, &fbinfo, -+ sizeof(fbinfo)); -+ if (ret || fbinfo.base != fb->dma_addr) { -+ /* Firmware either failed, or assigned a different base -+ * address (ie it doesn't support being passed an FB -+ * allocation). -+ * Destroy the allocation, and don't try again. -+ */ -+ dma_free_coherent(info->device, fb->image_size, -+ fb->cpuaddr, fb->dma_addr); -+ fb->image_size = 0; -+ fb->cpuaddr = NULL; -+ fb->dma_addr = 0; -+ fb->disable_arm_alloc = true; -+ } -+ } else { -+ /* Our allocation failed - drop into the old scheme of -+ * allocation by the VPU. -+ */ -+ ret = -ENOMEM; -+ } -+ - if (ret) { -- dev_err(info->device, -- "Failed to allocate GPU framebuffer (%d)\n", ret); -- return ret; -+ /* Old scheme: -+ * - FRAMEBUFFER_ALLOCATE passes 0 for base and screen_size. -+ * - GET_PITCH instead of SET_PITCH. -+ */ -+ fbinfo.base = 0; -+ fbinfo.screen_size = 0; -+ fbinfo.tag6.tag = RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH; -+ fbinfo.pitch = 0; -+ -+ ret = rpi_firmware_property_list(fb->fw, &fbinfo, -+ sizeof(fbinfo)); -+ if (ret) { -+ dev_err(info->device, -+ "Failed to allocate GPU framebuffer (%d)\n", -+ ret); -+ return ret; -+ } - } - - if (info->var.bits_per_pixel <= 8) -@@ -314,9 +384,17 @@ static int bcm2708_fb_set_par(struct fb_ - fb->fb.fix.smem_start = fbinfo.base; - fb->fb.fix.smem_len = fbinfo.pitch * fbinfo.yres_virtual; - fb->fb.screen_size = fbinfo.screen_size; -- if (fb->fb.screen_base) -- iounmap(fb->fb.screen_base); -- fb->fb.screen_base = ioremap_wc(fbinfo.base, fb->fb.screen_size); -+ -+ if (!fb->dma_addr) { -+ if (fb->fb.screen_base) -+ iounmap(fb->fb.screen_base); -+ -+ fb->fb.screen_base = ioremap_wc(fbinfo.base, -+ fb->fb.screen_size); -+ } else { -+ fb->fb.screen_base = fb->cpuaddr; -+ } -+ - if (!fb->fb.screen_base) { - /* the console may currently be locked */ - console_trylock(); ---- a/include/soc/bcm2835/raspberrypi-firmware.h -+++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -128,6 +128,7 @@ enum rpi_firmware_property_tag { - RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH = 0x00048005, - RPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER = 0x00048006, - RPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE = 0x00048007, -+ RPI_FIRMWARE_FRAMEBUFFER_SET_PITCH = 0x00048008, - RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET = 0x00048009, - RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a, - RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b, diff --git a/target/linux/brcm2708/patches-4.19/950-0421-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch b/target/linux/brcm2708/patches-4.19/950-0367-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0421-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch rename to target/linux/brcm2708/patches-4.19/950-0367-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch index dbf383f6c..53e2c98ce 100644 --- a/target/linux/brcm2708/patches-4.19/950-0421-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch +++ b/target/linux/brcm2708/patches-4.19/950-0367-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch @@ -1,7 +1,7 @@ From ea7ff2070d564858c445cfdbd883ea00927c0ada Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 9 Apr 2019 16:40:48 +0100 -Subject: [PATCH 421/806] dwc_otg: fix locking around dequeueing and killing +Subject: [PATCH] dwc_otg: fix locking around dequeueing and killing URBs kill_urbs_in_qh_list() is practically only ever called with the fiq lock diff --git a/target/linux/brcm2708/patches-4.19/950-0422-rtc-rv3028-Add-backup-switchover-mode-support.patch b/target/linux/brcm2708/patches-4.19/950-0368-rtc-rv3028-Add-backup-switchover-mode-support.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0422-rtc-rv3028-Add-backup-switchover-mode-support.patch rename to target/linux/brcm2708/patches-4.19/950-0368-rtc-rv3028-Add-backup-switchover-mode-support.patch index 2b78e0bee..7eac71099 100644 --- a/target/linux/brcm2708/patches-4.19/950-0422-rtc-rv3028-Add-backup-switchover-mode-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0368-rtc-rv3028-Add-backup-switchover-mode-support.patch @@ -1,7 +1,7 @@ From fb4e195012c405a04b1a7a86e240ceada0c8aa65 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 29 Mar 2019 10:53:14 +0000 -Subject: [PATCH 422/806] rtc: rv3028: Add backup switchover mode support +Subject: [PATCH] rtc: rv3028: Add backup switchover mode support Signed-off-by: Phil Howard --- diff --git a/target/linux/brcm2708/patches-4.19/950-0423-dt-bindings-rv3028-backup-switchover-support.patch b/target/linux/brcm2708/patches-4.19/950-0369-dt-bindings-rv3028-backup-switchover-support.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0423-dt-bindings-rv3028-backup-switchover-support.patch rename to target/linux/brcm2708/patches-4.19/950-0369-dt-bindings-rv3028-backup-switchover-support.patch index 1482dc06b..040bd6033 100644 --- a/target/linux/brcm2708/patches-4.19/950-0423-dt-bindings-rv3028-backup-switchover-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0369-dt-bindings-rv3028-backup-switchover-support.patch @@ -1,7 +1,7 @@ From 48598900ebd06f5880b01fcc60e240ea4a04858c Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 29 Mar 2019 10:57:07 +0000 -Subject: [PATCH 423/806] dt-bindings: rv3028 backup switchover support +Subject: [PATCH] dt-bindings: rv3028 backup switchover support Signed-off-by: Phil Howard --- diff --git a/target/linux/brcm2708/patches-4.19/950-0424-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch b/target/linux/brcm2708/patches-4.19/950-0370-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0424-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch rename to target/linux/brcm2708/patches-4.19/950-0370-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch index 034d3fb49..769f2461a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0424-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch +++ b/target/linux/brcm2708/patches-4.19/950-0370-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch @@ -1,7 +1,7 @@ From a2fdc7a590566d99d5261badeecb644664ff0fb3 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 29 Mar 2019 10:59:55 +0000 -Subject: [PATCH 424/806] overlays: Add rv3028 backup switchover support to +Subject: [PATCH] overlays: Add rv3028 backup switchover support to i2c-rtc Signed-off-by: Phil Howard diff --git a/target/linux/brcm2708/patches-4.19/950-0425-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch b/target/linux/brcm2708/patches-4.19/950-0371-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0425-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch rename to target/linux/brcm2708/patches-4.19/950-0371-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch index 7fa37cb7b..e149912ed 100644 --- a/target/linux/brcm2708/patches-4.19/950-0425-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch +++ b/target/linux/brcm2708/patches-4.19/950-0371-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch @@ -1,7 +1,7 @@ From 5962d99b5efed4297ed5c1807d21b406ab86aef1 Mon Sep 17 00:00:00 2001 From: wavelet2 <20504977+wavelet2@users.noreply.github.com> Date: Mon, 15 Apr 2019 10:00:20 +0100 -Subject: [PATCH 425/806] Maxim MAX98357A I2S DAC overlay (#2935) +Subject: [PATCH] Maxim MAX98357A I2S DAC overlay (#2935) Add overlay for Maxim MAX98357A I2S DAC. diff --git a/target/linux/brcm2708/patches-4.19/950-0426-sound-Fixes-for-audioinjector-octo-under-4.19.patch b/target/linux/brcm2708/patches-4.19/950-0372-sound-Fixes-for-audioinjector-octo-under-4.19.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0426-sound-Fixes-for-audioinjector-octo-under-4.19.patch rename to target/linux/brcm2708/patches-4.19/950-0372-sound-Fixes-for-audioinjector-octo-under-4.19.patch index 63c71221a..27c81bc12 100644 --- a/target/linux/brcm2708/patches-4.19/950-0426-sound-Fixes-for-audioinjector-octo-under-4.19.patch +++ b/target/linux/brcm2708/patches-4.19/950-0372-sound-Fixes-for-audioinjector-octo-under-4.19.patch @@ -1,7 +1,7 @@ From d003eff5bc4d19902867ad585292780a94746705 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Mar 2019 11:19:46 +0000 -Subject: [PATCH 426/806] sound: Fixes for audioinjector-octo under 4.19 +Subject: [PATCH] sound: Fixes for audioinjector-octo under 4.19 1. Move the DT alias declaration to the I2C shim in the cases where the shim is enabled. This works around a problem caused by a diff --git a/target/linux/brcm2708/patches-4.19/950-0429-overlays-Add-PiGlow-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0373-overlays-Add-PiGlow-overlay.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0429-overlays-Add-PiGlow-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0373-overlays-Add-PiGlow-overlay.patch index ee04fc7d8..4c3e76a51 100644 --- a/target/linux/brcm2708/patches-4.19/950-0429-overlays-Add-PiGlow-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0373-overlays-Add-PiGlow-overlay.patch @@ -1,7 +1,7 @@ From 615467f56356a2054d3a86854d391b7a2e0d5811 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Mon, 29 Apr 2019 19:35:33 +0200 -Subject: [PATCH 429/806] overlays: Add PiGlow overlay +Subject: [PATCH] overlays: Add PiGlow overlay The PiGlow is a small add-on board for the Raspberry Pi that provides 18 individually controllable LEDs (SN3218) and uses the following pins: diff --git a/target/linux/brcm2708/patches-4.19/950-0434-staging-bcm2835-audio-Clean-up-mutex-locks.patch b/target/linux/brcm2708/patches-4.19/950-0374-staging-bcm2835-audio-Clean-up-mutex-locks.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0434-staging-bcm2835-audio-Clean-up-mutex-locks.patch rename to target/linux/brcm2708/patches-4.19/950-0374-staging-bcm2835-audio-Clean-up-mutex-locks.patch index b102e1c36..531fe9e81 100644 --- a/target/linux/brcm2708/patches-4.19/950-0434-staging-bcm2835-audio-Clean-up-mutex-locks.patch +++ b/target/linux/brcm2708/patches-4.19/950-0374-staging-bcm2835-audio-Clean-up-mutex-locks.patch @@ -1,7 +1,7 @@ From 96588b9ccaddd69a832a07e2e3f2f3299e6d6c3a Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:30 +0200 -Subject: [PATCH 434/806] staging: bcm2835-audio: Clean up mutex locks +Subject: [PATCH] staging: bcm2835-audio: Clean up mutex locks commit ce4bb1aa271a97047b80ac917a5d91b54925913b upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0435-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch b/target/linux/brcm2708/patches-4.19/950-0375-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0435-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch rename to target/linux/brcm2708/patches-4.19/950-0375-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch index 9b5ff7a76..ac5c0a0d7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0435-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0375-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch @@ -1,7 +1,7 @@ From a1a77a925422be3f0c48002c2aa6c6d898a37f95 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:31 +0200 -Subject: [PATCH 435/806] staging: bcm2835-audio: Remove redundant spdif stream +Subject: [PATCH] staging: bcm2835-audio: Remove redundant spdif stream ctls commit ab91e26229eaca2832df51e13c1285aea3be33ab upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0436-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch b/target/linux/brcm2708/patches-4.19/950-0376-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0436-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch rename to target/linux/brcm2708/patches-4.19/950-0376-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch index ab61997c7..e1cf501f3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0436-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch +++ b/target/linux/brcm2708/patches-4.19/950-0376-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch @@ -1,7 +1,7 @@ From 8eb8e04a27188f6abc22d09b4a1fffbec10d45f4 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:32 +0200 -Subject: [PATCH 436/806] staging: bcm2835-audio: Clean up include files in +Subject: [PATCH] staging: bcm2835-audio: Clean up include files in bcm2835-ctl.c commit 821950d3da4bf97bcfedcb812176a0f26b833db0 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0437-staging-bcm2835-audio-Remove-redundant-substream-mas.patch b/target/linux/brcm2708/patches-4.19/950-0377-staging-bcm2835-audio-Remove-redundant-substream-mas.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0437-staging-bcm2835-audio-Remove-redundant-substream-mas.patch rename to target/linux/brcm2708/patches-4.19/950-0377-staging-bcm2835-audio-Remove-redundant-substream-mas.patch index 2c052b16b..b2af97443 100644 --- a/target/linux/brcm2708/patches-4.19/950-0437-staging-bcm2835-audio-Remove-redundant-substream-mas.patch +++ b/target/linux/brcm2708/patches-4.19/950-0377-staging-bcm2835-audio-Remove-redundant-substream-mas.patch @@ -1,7 +1,7 @@ From 1120b4699738a3ee748314c433a96e45182a3411 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:33 +0200 -Subject: [PATCH 437/806] staging: bcm2835-audio: Remove redundant substream +Subject: [PATCH] staging: bcm2835-audio: Remove redundant substream mask checks commit 14b1f4cba853a11c7b381ad919622f38eb194bd7 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0438-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch b/target/linux/brcm2708/patches-4.19/950-0378-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0438-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch rename to target/linux/brcm2708/patches-4.19/950-0378-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch index 4a478fce4..de29b17d2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0438-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch +++ b/target/linux/brcm2708/patches-4.19/950-0378-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch @@ -1,7 +1,7 @@ From 31e4f118a750f4ddb2aeaaf02c5f3630fb50a176 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:34 +0200 -Subject: [PATCH 438/806] staging: bcm2835-audio: Fix mute controls, volume +Subject: [PATCH] staging: bcm2835-audio: Fix mute controls, volume handling cleanup commit 495e5a0d83d3902c741771f267a702ae19da8ab6 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0439-staging-bcm2835-audio-Remove-redundant-function-call.patch b/target/linux/brcm2708/patches-4.19/950-0379-staging-bcm2835-audio-Remove-redundant-function-call.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0439-staging-bcm2835-audio-Remove-redundant-function-call.patch rename to target/linux/brcm2708/patches-4.19/950-0379-staging-bcm2835-audio-Remove-redundant-function-call.patch index acae9e896..482c9ba5c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0439-staging-bcm2835-audio-Remove-redundant-function-call.patch +++ b/target/linux/brcm2708/patches-4.19/950-0379-staging-bcm2835-audio-Remove-redundant-function-call.patch @@ -1,7 +1,7 @@ From 79a3c1a4419b2bf04f6ff5ef84cd74b0456fdd9a Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:35 +0200 -Subject: [PATCH 439/806] staging: bcm2835-audio: Remove redundant function +Subject: [PATCH] staging: bcm2835-audio: Remove redundant function calls commit 124950ebe9fa8547c59e8d4acc8d6c59e6278ed6 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0440-staging-bcm2835-audio-Remove-superfluous-open-flag.patch b/target/linux/brcm2708/patches-4.19/950-0380-staging-bcm2835-audio-Remove-superfluous-open-flag.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0440-staging-bcm2835-audio-Remove-superfluous-open-flag.patch rename to target/linux/brcm2708/patches-4.19/950-0380-staging-bcm2835-audio-Remove-superfluous-open-flag.patch index b471e3bc8..121846d80 100644 --- a/target/linux/brcm2708/patches-4.19/950-0440-staging-bcm2835-audio-Remove-superfluous-open-flag.patch +++ b/target/linux/brcm2708/patches-4.19/950-0380-staging-bcm2835-audio-Remove-superfluous-open-flag.patch @@ -1,7 +1,7 @@ From af2fe52ef43c1aa6a24d1c51ad3ccddc39a12c51 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:36 +0200 -Subject: [PATCH 440/806] staging: bcm2835-audio: Remove superfluous open flag +Subject: [PATCH] staging: bcm2835-audio: Remove superfluous open flag commit ad13924de6b07cb52714ea1809c57b2e72a24504 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0441-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch b/target/linux/brcm2708/patches-4.19/950-0381-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0441-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch rename to target/linux/brcm2708/patches-4.19/950-0381-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch index d690ee1b9..2a8197c68 100644 --- a/target/linux/brcm2708/patches-4.19/950-0441-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0381-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch @@ -1,7 +1,7 @@ From e8a202b4d06a07ba42b91a1dd3c2d9e9cedff32d Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:37 +0200 -Subject: [PATCH 441/806] staging: bcm2835-audio: Drop useless running flag and +Subject: [PATCH] staging: bcm2835-audio: Drop useless running flag and check commit 02f2376321d75e78117f39ff81f215254ee6b4ef upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0442-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch b/target/linux/brcm2708/patches-4.19/950-0382-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0442-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch rename to target/linux/brcm2708/patches-4.19/950-0382-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch index ab305096a..fe308694d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0442-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch +++ b/target/linux/brcm2708/patches-4.19/950-0382-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch @@ -1,7 +1,7 @@ From e5414b543a330c64b2e0b5e96d604cf580c2b9b7 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:38 +0200 -Subject: [PATCH 442/806] staging: bcm2835-audio: Fix incorrect draining +Subject: [PATCH] staging: bcm2835-audio: Fix incorrect draining handling commit 7d2a91f5f1bcf08ca257bcf1ed9721fcd341f834 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0443-staging-bcm2835-audio-Kill-unused-spinlock.patch b/target/linux/brcm2708/patches-4.19/950-0383-staging-bcm2835-audio-Kill-unused-spinlock.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0443-staging-bcm2835-audio-Kill-unused-spinlock.patch rename to target/linux/brcm2708/patches-4.19/950-0383-staging-bcm2835-audio-Kill-unused-spinlock.patch index bdd8f2aa9..f337c61b4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0443-staging-bcm2835-audio-Kill-unused-spinlock.patch +++ b/target/linux/brcm2708/patches-4.19/950-0383-staging-bcm2835-audio-Kill-unused-spinlock.patch @@ -1,7 +1,7 @@ From d9aef1329c29c20d8e0db9929a3235bfb1d718d3 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:39 +0200 -Subject: [PATCH 443/806] staging: bcm2835-audio: Kill unused spinlock +Subject: [PATCH] staging: bcm2835-audio: Kill unused spinlock commit 5332f6f012c0bf3a45c77dbc0f79814443a884d4 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0444-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch b/target/linux/brcm2708/patches-4.19/950-0384-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0444-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch rename to target/linux/brcm2708/patches-4.19/950-0384-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch index 2912998f6..ffe06fef6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0444-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch +++ b/target/linux/brcm2708/patches-4.19/950-0384-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch @@ -1,7 +1,7 @@ From 4efb059f297f8234bc188b6bc1e4af673ce9f9e3 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:40 +0200 -Subject: [PATCH 444/806] staging: bcm2835-audio: Use PCM runtime values +Subject: [PATCH] staging: bcm2835-audio: Use PCM runtime values instead commit b8f7fdd50890b848e085c0519469aed4ff4d9b54 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0445-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch b/target/linux/brcm2708/patches-4.19/950-0385-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0445-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch rename to target/linux/brcm2708/patches-4.19/950-0385-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch index 8ae584c0a..8012631bd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0445-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0385-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch @@ -1,7 +1,7 @@ From a08260154f88b0b97e3c8de6b3cdb7187e8c3d8a Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:41 +0200 -Subject: [PATCH 445/806] staging: bcm2835-audio: Drop unnecessary pcm indirect +Subject: [PATCH] staging: bcm2835-audio: Drop unnecessary pcm indirect setup commit 7318ec896f4856fae2bb013858e422fa078201e1 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0446-staging-bcm2835-audio-Drop-useless-NULL-check.patch b/target/linux/brcm2708/patches-4.19/950-0386-staging-bcm2835-audio-Drop-useless-NULL-check.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0446-staging-bcm2835-audio-Drop-useless-NULL-check.patch rename to target/linux/brcm2708/patches-4.19/950-0386-staging-bcm2835-audio-Drop-useless-NULL-check.patch index 5c00d52f1..ab5a0ed8a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0446-staging-bcm2835-audio-Drop-useless-NULL-check.patch +++ b/target/linux/brcm2708/patches-4.19/950-0386-staging-bcm2835-audio-Drop-useless-NULL-check.patch @@ -1,7 +1,7 @@ From 9f3956e7bbf868894b5aee41110dbe28f117918c Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:42 +0200 -Subject: [PATCH 446/806] staging: bcm2835-audio: Drop useless NULL check +Subject: [PATCH] staging: bcm2835-audio: Drop useless NULL check commit 8bcf9f252c29c2d5bcce3db605c0ebf1ef230f9c upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0447-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch b/target/linux/brcm2708/patches-4.19/950-0387-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0447-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch rename to target/linux/brcm2708/patches-4.19/950-0387-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch index 8132a5a79..dc6525089 100644 --- a/target/linux/brcm2708/patches-4.19/950-0447-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch +++ b/target/linux/brcm2708/patches-4.19/950-0387-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch @@ -1,7 +1,7 @@ From 2ab24bca59da765a12f4617527e671170230bf3a Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:43 +0200 -Subject: [PATCH 447/806] staging: bcm2835-audio: Propagate parameter setup +Subject: [PATCH] staging: bcm2835-audio: Propagate parameter setup error commit fee5638fe552ff8222c3a5bdcc4a34255e248d8c upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0448-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch b/target/linux/brcm2708/patches-4.19/950-0388-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0448-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch rename to target/linux/brcm2708/patches-4.19/950-0388-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch index ac3c92240..96a4d732c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0448-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch +++ b/target/linux/brcm2708/patches-4.19/950-0388-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch @@ -1,7 +1,7 @@ From e109804fa00a139a05626c1b8ceebcfe3577fc6d Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:44 +0200 -Subject: [PATCH 448/806] staging: bcm2835-audio: Drop debug messages in +Subject: [PATCH] staging: bcm2835-audio: Drop debug messages in bcm2835-pcm.c commit 055e1c330d04df87d4730a5db837161c11ddaafc upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0449-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch b/target/linux/brcm2708/patches-4.19/950-0389-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0449-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch rename to target/linux/brcm2708/patches-4.19/950-0389-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch index e32c0b014..a70081159 100644 --- a/target/linux/brcm2708/patches-4.19/950-0449-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch +++ b/target/linux/brcm2708/patches-4.19/950-0389-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch @@ -1,7 +1,7 @@ From 3c7663a9b1763f64250db4b975a3ce246ef32e0f Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:45 +0200 -Subject: [PATCH 449/806] staging: bcm2835-audio: Drop superfluous mutex lock +Subject: [PATCH] staging: bcm2835-audio: Drop superfluous mutex lock during prepare commit f0eb15d055380ff127e5f12c8fad2b36bdb3c006 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0450-staging-bcm2835-audio-Add-10ms-period-constraint.patch b/target/linux/brcm2708/patches-4.19/950-0390-staging-bcm2835-audio-Add-10ms-period-constraint.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0450-staging-bcm2835-audio-Add-10ms-period-constraint.patch rename to target/linux/brcm2708/patches-4.19/950-0390-staging-bcm2835-audio-Add-10ms-period-constraint.patch index 2c294b54d..07e96f61e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0450-staging-bcm2835-audio-Add-10ms-period-constraint.patch +++ b/target/linux/brcm2708/patches-4.19/950-0390-staging-bcm2835-audio-Add-10ms-period-constraint.patch @@ -1,7 +1,7 @@ From daa78c198ece1ec901ee565c869ee1a60a95061d Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:46 +0200 -Subject: [PATCH 450/806] staging: bcm2835-audio: Add 10ms period constraint +Subject: [PATCH] staging: bcm2835-audio: Add 10ms period constraint commit 93c66acaf68b5247c3121a46a71ff6a70fc1d492 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0451-staging-bcm2835-audio-Make-single-vchi-handle.patch b/target/linux/brcm2708/patches-4.19/950-0391-staging-bcm2835-audio-Make-single-vchi-handle.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0451-staging-bcm2835-audio-Make-single-vchi-handle.patch rename to target/linux/brcm2708/patches-4.19/950-0391-staging-bcm2835-audio-Make-single-vchi-handle.patch index e2cc298f4..eb6538dff 100644 --- a/target/linux/brcm2708/patches-4.19/950-0451-staging-bcm2835-audio-Make-single-vchi-handle.patch +++ b/target/linux/brcm2708/patches-4.19/950-0391-staging-bcm2835-audio-Make-single-vchi-handle.patch @@ -1,7 +1,7 @@ From 98a1612b199cb3060306c05d1a6d7ca18ef08475 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:47 +0200 -Subject: [PATCH 451/806] staging: bcm2835-audio: Make single vchi handle +Subject: [PATCH] staging: bcm2835-audio: Make single vchi handle commit 326a6edcb2ada56375bd7d3fc24c83f58e8da7f3 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0452-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch b/target/linux/brcm2708/patches-4.19/950-0392-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0452-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch rename to target/linux/brcm2708/patches-4.19/950-0392-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch index 38fcd39cd..37ebd8b67 100644 --- a/target/linux/brcm2708/patches-4.19/950-0452-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch +++ b/target/linux/brcm2708/patches-4.19/950-0392-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch @@ -1,7 +1,7 @@ From 43f89ac74f3f221e3036a1ec311b24016860d15e Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:48 +0200 -Subject: [PATCH 452/806] staging: bcm2835-audio: Code refactoring of vchiq +Subject: [PATCH] staging: bcm2835-audio: Code refactoring of vchiq accessor codes commit 769a8e9bf5cf39813f52962fdafdf7e4d52ad585 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0453-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch b/target/linux/brcm2708/patches-4.19/950-0393-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0453-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch rename to target/linux/brcm2708/patches-4.19/950-0393-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch index e12d29bbb..722804ff6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0453-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch +++ b/target/linux/brcm2708/patches-4.19/950-0393-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch @@ -1,7 +1,7 @@ From 87ba8310e9f0882e85926ac1ef91333f8906b303 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:49 +0200 -Subject: [PATCH 453/806] staging: bcm2835-audio: Operate non-atomic PCM ops +Subject: [PATCH] staging: bcm2835-audio: Operate non-atomic PCM ops commit 5c7883e5f27e829f3f3a2ba174d4a724bfd5f026 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0454-staging-bcm2835-audio-Use-card-private_data.patch b/target/linux/brcm2708/patches-4.19/950-0394-staging-bcm2835-audio-Use-card-private_data.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0454-staging-bcm2835-audio-Use-card-private_data.patch rename to target/linux/brcm2708/patches-4.19/950-0394-staging-bcm2835-audio-Use-card-private_data.patch index ba6a5b58b..d4d61ce0f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0454-staging-bcm2835-audio-Use-card-private_data.patch +++ b/target/linux/brcm2708/patches-4.19/950-0394-staging-bcm2835-audio-Use-card-private_data.patch @@ -1,7 +1,7 @@ From af0ded6e9dd38f08a9ee621066e583b5cf972926 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:50 +0200 -Subject: [PATCH 454/806] staging: bcm2835-audio: Use card->private_data +Subject: [PATCH] staging: bcm2835-audio: Use card->private_data commit 898001a0c845cefe5d47d133485712412853f0a8 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0455-staging-bcm2835-audio-Use-standard-error-print-helpe.patch b/target/linux/brcm2708/patches-4.19/950-0395-staging-bcm2835-audio-Use-standard-error-print-helpe.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0455-staging-bcm2835-audio-Use-standard-error-print-helpe.patch rename to target/linux/brcm2708/patches-4.19/950-0395-staging-bcm2835-audio-Use-standard-error-print-helpe.patch index 14dd044d1..63cd0b01b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0455-staging-bcm2835-audio-Use-standard-error-print-helpe.patch +++ b/target/linux/brcm2708/patches-4.19/950-0395-staging-bcm2835-audio-Use-standard-error-print-helpe.patch @@ -1,7 +1,7 @@ From ec788d7c115d3ec59b39b6aac17d57ad86b7fbfe Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:51 +0200 -Subject: [PATCH 455/806] staging: bcm2835-audio: Use standard error print +Subject: [PATCH] staging: bcm2835-audio: Use standard error print helpers commit b7584b64168208ebc14160770c0966b8b12fc16b upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0456-staging-bcm2835-audio-Remove-unnecessary-header-file.patch b/target/linux/brcm2708/patches-4.19/950-0396-staging-bcm2835-audio-Remove-unnecessary-header-file.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0456-staging-bcm2835-audio-Remove-unnecessary-header-file.patch rename to target/linux/brcm2708/patches-4.19/950-0396-staging-bcm2835-audio-Remove-unnecessary-header-file.patch index 171bca11f..989e0e43d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0456-staging-bcm2835-audio-Remove-unnecessary-header-file.patch +++ b/target/linux/brcm2708/patches-4.19/950-0396-staging-bcm2835-audio-Remove-unnecessary-header-file.patch @@ -1,7 +1,7 @@ From 8deead340379eeb09571476e0412ce50036c08d1 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:52 +0200 -Subject: [PATCH 456/806] staging: bcm2835-audio: Remove unnecessary header +Subject: [PATCH] staging: bcm2835-audio: Remove unnecessary header file includes commit 7e46fff5f19ce2b8a9891e4c08631c64d06e9e17 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0457-staging-bcm2835-audio-Move-module-parameter-descript.patch b/target/linux/brcm2708/patches-4.19/950-0397-staging-bcm2835-audio-Move-module-parameter-descript.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0457-staging-bcm2835-audio-Move-module-parameter-descript.patch rename to target/linux/brcm2708/patches-4.19/950-0397-staging-bcm2835-audio-Move-module-parameter-descript.patch index b29639be8..5db4daa5c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0457-staging-bcm2835-audio-Move-module-parameter-descript.patch +++ b/target/linux/brcm2708/patches-4.19/950-0397-staging-bcm2835-audio-Move-module-parameter-descript.patch @@ -1,7 +1,7 @@ From fb05aeb91f3e94e89ad2d9aa68104e6e4cc97239 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:53 +0200 -Subject: [PATCH 457/806] staging: bcm2835-audio: Move module parameter +Subject: [PATCH] staging: bcm2835-audio: Move module parameter description commit b876f2075808e95e244053caa53fa7e86e929a99 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0458-staging-bcm2835-audio-Use-coherent-device-buffers.patch b/target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Use-coherent-device-buffers.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0458-staging-bcm2835-audio-Use-coherent-device-buffers.patch rename to target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Use-coherent-device-buffers.patch index e794a6535..dfd4b975f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0458-staging-bcm2835-audio-Use-coherent-device-buffers.patch +++ b/target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Use-coherent-device-buffers.patch @@ -1,7 +1,7 @@ From 8a01a25d0ad7e9d06f64fddae871deb91c3988ac Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:54 +0200 -Subject: [PATCH 458/806] staging: bcm2835-audio: Use coherent device buffers +Subject: [PATCH] staging: bcm2835-audio: Use coherent device buffers commit ad29c6e6cbf6f2af7362b043adad51a3be3d39c7 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0459-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch b/target/linux/brcm2708/patches-4.19/950-0399-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0459-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch rename to target/linux/brcm2708/patches-4.19/950-0399-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch index 29567f59e..5b38ca5e3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0459-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch +++ b/target/linux/brcm2708/patches-4.19/950-0399-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch @@ -1,7 +1,7 @@ From 27417ac1fa4894dc46d71cc34af17fe6a5186f2f Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:55 +0200 -Subject: [PATCH 459/806] staging: bcm2835-audio: Set +Subject: [PATCH] staging: bcm2835-audio: Set SNDRV_PCM_INFO_SYNC_APPLPTR commit b59d6a5f73501f74848d6700101e7736afe3d54a upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0460-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch b/target/linux/brcm2708/patches-4.19/950-0400-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0460-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch rename to target/linux/brcm2708/patches-4.19/950-0400-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch index 8da7d9416..6ead1b4cc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0460-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch +++ b/target/linux/brcm2708/patches-4.19/950-0400-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch @@ -1,7 +1,7 @@ From 706f9b2b95a2fff44f92deada99545036c249658 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:56 +0200 -Subject: [PATCH 460/806] staging: bcm2835-audio: Simplify PCM creation helpers +Subject: [PATCH] staging: bcm2835-audio: Simplify PCM creation helpers commit 74470ffeb9aed5548654cfca881bf1d7469fe9c4 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0461-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch b/target/linux/brcm2708/patches-4.19/950-0401-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0461-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch rename to target/linux/brcm2708/patches-4.19/950-0401-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch index aeb0c3f0d..ec0530ba2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0461-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch +++ b/target/linux/brcm2708/patches-4.19/950-0401-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch @@ -1,7 +1,7 @@ From c4766c1589a25608ffe6848722632be2f65d0951 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:57 +0200 -Subject: [PATCH 461/806] staging: bcm2835-audio: Simplify kctl creation +Subject: [PATCH] staging: bcm2835-audio: Simplify kctl creation helpers commit dc5c0eb1e8601206dffbfc302cbd190f89dcd040 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0462-staging-bcm2835-audio-Simplify-card-object-managemen.patch b/target/linux/brcm2708/patches-4.19/950-0402-staging-bcm2835-audio-Simplify-card-object-managemen.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0462-staging-bcm2835-audio-Simplify-card-object-managemen.patch rename to target/linux/brcm2708/patches-4.19/950-0402-staging-bcm2835-audio-Simplify-card-object-managemen.patch index 9fe519586..523e54361 100644 --- a/target/linux/brcm2708/patches-4.19/950-0462-staging-bcm2835-audio-Simplify-card-object-managemen.patch +++ b/target/linux/brcm2708/patches-4.19/950-0402-staging-bcm2835-audio-Simplify-card-object-managemen.patch @@ -1,7 +1,7 @@ From b19ed31a1ced7b6d4c4c04967a509d91a134e5bb Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 4 Sep 2018 17:58:58 +0200 -Subject: [PATCH 462/806] staging: bcm2835-audio: Simplify card object +Subject: [PATCH] staging: bcm2835-audio: Simplify card object management commit 872ae2d63d516a2a3b9c833d8685afcfa7814542 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0463-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch b/target/linux/brcm2708/patches-4.19/950-0403-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0463-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch rename to target/linux/brcm2708/patches-4.19/950-0403-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch index 367a3214f..fa24932b1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0463-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch +++ b/target/linux/brcm2708/patches-4.19/950-0403-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch @@ -1,7 +1,7 @@ From 26693d4d1239b8239644ce6da50b8ce06ff18ae5 Mon Sep 17 00:00:00 2001 From: Nicolas Saenz Julienne Date: Wed, 17 Oct 2018 21:01:50 +0200 -Subject: [PATCH 463/806] staging: bcm2835-audio: unify FOURCC command +Subject: [PATCH] staging: bcm2835-audio: unify FOURCC command definitions commit a90d8f49cc7fd7220aa24b85fc74ef3cfd62b96f upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0464-staging-bcm2835-audio-don-t-initialize-memory-twice.patch b/target/linux/brcm2708/patches-4.19/950-0404-staging-bcm2835-audio-don-t-initialize-memory-twice.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0464-staging-bcm2835-audio-don-t-initialize-memory-twice.patch rename to target/linux/brcm2708/patches-4.19/950-0404-staging-bcm2835-audio-don-t-initialize-memory-twice.patch index 239712fac..f5c7781c2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0464-staging-bcm2835-audio-don-t-initialize-memory-twice.patch +++ b/target/linux/brcm2708/patches-4.19/950-0404-staging-bcm2835-audio-don-t-initialize-memory-twice.patch @@ -1,7 +1,7 @@ From 7250c9d3d3f1b861d8f0c6220a81a465e45d70eb Mon Sep 17 00:00:00 2001 From: Nicolas Saenz Julienne Date: Wed, 17 Oct 2018 21:01:51 +0200 -Subject: [PATCH 464/806] staging: bcm2835-audio: don't initialize memory twice +Subject: [PATCH] staging: bcm2835-audio: don't initialize memory twice commit 2e5f59fb77397cab3bc3d156e8be4164a67d32ef upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0465-staging-bcm2835-audio-reorder-variable-declarations-.patch b/target/linux/brcm2708/patches-4.19/950-0405-staging-bcm2835-audio-reorder-variable-declarations-.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0465-staging-bcm2835-audio-reorder-variable-declarations-.patch rename to target/linux/brcm2708/patches-4.19/950-0405-staging-bcm2835-audio-reorder-variable-declarations-.patch index b00e63212..6b9ac81b9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0465-staging-bcm2835-audio-reorder-variable-declarations-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0405-staging-bcm2835-audio-reorder-variable-declarations-.patch @@ -1,7 +1,7 @@ From 604f0019cc1eaed6a316d7875fe697e53f5f105c Mon Sep 17 00:00:00 2001 From: Nicolas Saenz Julienne Date: Wed, 17 Oct 2018 21:01:52 +0200 -Subject: [PATCH 465/806] staging: bcm2835-audio: reorder variable declarations +Subject: [PATCH] staging: bcm2835-audio: reorder variable declarations & remove trivial comments commit d048385a070552ae819f99f05bd03ec41072783d upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0466-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch b/target/linux/brcm2708/patches-4.19/950-0406-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0466-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch rename to target/linux/brcm2708/patches-4.19/950-0406-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch index b41a233e0..e212a942e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0466-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0406-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch @@ -1,7 +1,7 @@ From 23b89436030e64196a1bc317901d08edd54fb772 Mon Sep 17 00:00:00 2001 From: Nicolas Saenz Julienne Date: Wed, 17 Oct 2018 21:01:53 +0200 -Subject: [PATCH 466/806] staging: bcm2835-audio: use anonymous union in struct +Subject: [PATCH] staging: bcm2835-audio: use anonymous union in struct vc_audio_msg commit 9c2eaf7da855d314a369d48b9cbf8ac80717a1d0 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0467-staging-bcm2835-audio-more-generic-probe-function-na.patch b/target/linux/brcm2708/patches-4.19/950-0407-staging-bcm2835-audio-more-generic-probe-function-na.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0467-staging-bcm2835-audio-more-generic-probe-function-na.patch rename to target/linux/brcm2708/patches-4.19/950-0407-staging-bcm2835-audio-more-generic-probe-function-na.patch index 510d2b5f2..6b03e1e43 100644 --- a/target/linux/brcm2708/patches-4.19/950-0467-staging-bcm2835-audio-more-generic-probe-function-na.patch +++ b/target/linux/brcm2708/patches-4.19/950-0407-staging-bcm2835-audio-more-generic-probe-function-na.patch @@ -1,7 +1,7 @@ From 0b7d959b0d0c18959c66696844a1c9956370ab99 Mon Sep 17 00:00:00 2001 From: Nicolas Saenz Julienne Date: Wed, 17 Oct 2018 21:01:54 +0200 -Subject: [PATCH 467/806] staging: bcm2835-audio: more generic probe function +Subject: [PATCH] staging: bcm2835-audio: more generic probe function name commit 96f3bd8ae6516898c7b411ecb87064bb0dd25415 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0468-staging-bcm2835-audio-rename-platform_driver-structu.patch b/target/linux/brcm2708/patches-4.19/950-0408-staging-bcm2835-audio-rename-platform_driver-structu.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0468-staging-bcm2835-audio-rename-platform_driver-structu.patch rename to target/linux/brcm2708/patches-4.19/950-0408-staging-bcm2835-audio-rename-platform_driver-structu.patch index a25b5923c..05128020f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0468-staging-bcm2835-audio-rename-platform_driver-structu.patch +++ b/target/linux/brcm2708/patches-4.19/950-0408-staging-bcm2835-audio-rename-platform_driver-structu.patch @@ -1,7 +1,7 @@ From b06f01038711efc5182267cfc68e358a89ee2502 Mon Sep 17 00:00:00 2001 From: Nicolas Saenz Julienne Date: Wed, 17 Oct 2018 21:01:55 +0200 -Subject: [PATCH 468/806] staging: bcm2835-audio: rename platform_driver +Subject: [PATCH] staging: bcm2835-audio: rename platform_driver structure commit 82cdc0c6b6faf877e2aecb957cffa9cb578cc572 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0469-staging-bcm2835-audio-update-TODO.patch b/target/linux/brcm2708/patches-4.19/950-0409-staging-bcm2835-audio-update-TODO.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0469-staging-bcm2835-audio-update-TODO.patch rename to target/linux/brcm2708/patches-4.19/950-0409-staging-bcm2835-audio-update-TODO.patch index da2a032de..8f24d154c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0469-staging-bcm2835-audio-update-TODO.patch +++ b/target/linux/brcm2708/patches-4.19/950-0409-staging-bcm2835-audio-update-TODO.patch @@ -1,7 +1,7 @@ From 56b704581afbd8d9ccd73cfa7935b6178749a3e9 Mon Sep 17 00:00:00 2001 From: Nicolas Saenz Julienne Date: Wed, 17 Oct 2018 21:01:56 +0200 -Subject: [PATCH 469/806] staging: bcm2835-audio: update TODO +Subject: [PATCH] staging: bcm2835-audio: update TODO commit 01ec7398c56e8f1b903ecb3c5c75400e263eef43 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0470-staging-bcm2835-audio-interpolate-audio-delay.patch b/target/linux/brcm2708/patches-4.19/950-0410-staging-bcm2835-audio-interpolate-audio-delay.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0470-staging-bcm2835-audio-interpolate-audio-delay.patch rename to target/linux/brcm2708/patches-4.19/950-0410-staging-bcm2835-audio-interpolate-audio-delay.patch index d5da29359..cf5f11c09 100644 --- a/target/linux/brcm2708/patches-4.19/950-0470-staging-bcm2835-audio-interpolate-audio-delay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0410-staging-bcm2835-audio-interpolate-audio-delay.patch @@ -1,7 +1,7 @@ From 2ba82d9516203ce41f33e98adb667bedee3622bc Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 22 Oct 2018 20:17:08 +0100 -Subject: [PATCH 470/806] staging: bcm2835-audio: interpolate audio delay +Subject: [PATCH] staging: bcm2835-audio: interpolate audio delay commit a105a3a72824e0ac685a0711a67e4dbe29de62d0 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0471-staging-bcm2835-audio-Enable-compile-test.patch b/target/linux/brcm2708/patches-4.19/950-0411-staging-bcm2835-audio-Enable-compile-test.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0471-staging-bcm2835-audio-Enable-compile-test.patch rename to target/linux/brcm2708/patches-4.19/950-0411-staging-bcm2835-audio-Enable-compile-test.patch index 086f9e4c6..3605c41fa 100644 --- a/target/linux/brcm2708/patches-4.19/950-0471-staging-bcm2835-audio-Enable-compile-test.patch +++ b/target/linux/brcm2708/patches-4.19/950-0411-staging-bcm2835-audio-Enable-compile-test.patch @@ -1,7 +1,7 @@ From b338fbb56955b74b5f41a623aceab4d74ba7c173 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Thu, 6 Dec 2018 19:28:56 +0100 -Subject: [PATCH 471/806] staging: bcm2835-audio: Enable compile test +Subject: [PATCH] staging: bcm2835-audio: Enable compile test commit 458d4866a34d0c129ffc3bd56345b2166ba46d77 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0472-staging-bcm2835-audio-use-module_platform_driver-mac.patch b/target/linux/brcm2708/patches-4.19/950-0412-staging-bcm2835-audio-use-module_platform_driver-mac.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0472-staging-bcm2835-audio-use-module_platform_driver-mac.patch rename to target/linux/brcm2708/patches-4.19/950-0412-staging-bcm2835-audio-use-module_platform_driver-mac.patch index da783a5d7..a0a5f765e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0472-staging-bcm2835-audio-use-module_platform_driver-mac.patch +++ b/target/linux/brcm2708/patches-4.19/950-0412-staging-bcm2835-audio-use-module_platform_driver-mac.patch @@ -1,7 +1,7 @@ From 72c059360457babd76009697e652c96cb282856e Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Thu, 6 Dec 2018 19:28:57 +0100 -Subject: [PATCH 472/806] staging: bcm2835-audio: use module_platform_driver() +Subject: [PATCH] staging: bcm2835-audio: use module_platform_driver() macro commit 1e55d56344b0777d6cee9b9e4a813d53728ee798 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0474-staging-bcm2835-audio-double-free-in-init-error-path.patch b/target/linux/brcm2708/patches-4.19/950-0413-staging-bcm2835-audio-double-free-in-init-error-path.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0474-staging-bcm2835-audio-double-free-in-init-error-path.patch rename to target/linux/brcm2708/patches-4.19/950-0413-staging-bcm2835-audio-double-free-in-init-error-path.patch index 8c350f74d..95b9d7a1d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0474-staging-bcm2835-audio-double-free-in-init-error-path.patch +++ b/target/linux/brcm2708/patches-4.19/950-0413-staging-bcm2835-audio-double-free-in-init-error-path.patch @@ -1,7 +1,7 @@ From 360a1982333c8e8f583663155479115d6eb7cd14 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Mon, 17 Dec 2018 10:08:54 +0300 -Subject: [PATCH 474/806] staging: bcm2835-audio: double free in init error +Subject: [PATCH] staging: bcm2835-audio: double free in init error path commit 136ff5e49271c4c8fceeca5491c48e66b961564b upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0475-dts-Increase-default-coherent-pool-size.patch b/target/linux/brcm2708/patches-4.19/950-0414-dts-Increase-default-coherent-pool-size.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0475-dts-Increase-default-coherent-pool-size.patch rename to target/linux/brcm2708/patches-4.19/950-0414-dts-Increase-default-coherent-pool-size.patch index a8bd36446..e39aeb089 100644 --- a/target/linux/brcm2708/patches-4.19/950-0475-dts-Increase-default-coherent-pool-size.patch +++ b/target/linux/brcm2708/patches-4.19/950-0414-dts-Increase-default-coherent-pool-size.patch @@ -1,7 +1,7 @@ From e13c663bfc75a628ba25afdf3f3b4a40a2c0250e Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 1 May 2019 15:00:05 +0100 -Subject: [PATCH 475/806] dts: Increase default coherent pool size +Subject: [PATCH] dts: Increase default coherent pool size dwc_otg allocates DMA-coherent buffers in atomic context for misaligned transfer buffers. The pool that these allocations come from is set up diff --git a/target/linux/brcm2708/patches-4.19/950-0479-lan78xx-use-default-alignment-for-rx-buffers.patch b/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch similarity index 83% rename from target/linux/brcm2708/patches-4.19/950-0479-lan78xx-use-default-alignment-for-rx-buffers.patch rename to target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch index d8cf36f1e..f5313aec3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0479-lan78xx-use-default-alignment-for-rx-buffers.patch +++ b/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch @@ -1,7 +1,7 @@ From fdbe849f960ee92befd781cff14d9b76142b0981 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 2 May 2019 11:53:45 +0100 -Subject: [PATCH 479/806] lan78xx: use default alignment for rx buffers +Subject: [PATCH] lan78xx: use default alignment for rx buffers The lan78xx uses a 12-byte hardware rx header, so there is no need to allocate SKBs with NET_IP_ALIGN set. Removes alignment faults @@ -12,7 +12,7 @@ in both dwc_otg and in ipv6 processing. --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -3258,7 +3258,7 @@ static int rx_submit(struct lan78xx_net +@@ -3259,7 +3259,7 @@ static int rx_submit(struct lan78xx_net size_t size = dev->rx_urb_size; int ret = 0; diff --git a/target/linux/brcm2708/patches-4.19/950-0480-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch b/target/linux/brcm2708/patches-4.19/950-0416-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0480-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch rename to target/linux/brcm2708/patches-4.19/950-0416-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch index 5f73a1ef9..9e25fe101 100644 --- a/target/linux/brcm2708/patches-4.19/950-0480-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch +++ b/target/linux/brcm2708/patches-4.19/950-0416-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch @@ -1,7 +1,7 @@ From 453caa19909edf2de1add80b369fb30570a440ed Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 May 2019 14:30:24 +0100 -Subject: [PATCH 480/806] staging: bcm2835-codec: Correct port width calc for +Subject: [PATCH] staging: bcm2835-codec: Correct port width calc for truncation The calculation converting from V4L2 bytesperline to MMAL diff --git a/target/linux/brcm2708/patches-4.19/950-0481-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch b/target/linux/brcm2708/patches-4.19/950-0417-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0481-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch rename to target/linux/brcm2708/patches-4.19/950-0417-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch index cdb57e12e..6f99736d6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0481-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0417-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch @@ -1,7 +1,7 @@ From 52e50b0f5017e823428849c42c1029306d790939 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 May 2019 14:32:21 +0100 -Subject: [PATCH 481/806] staging: bcm2835-codec: Remove height padding for ISP +Subject: [PATCH] staging: bcm2835-codec: Remove height padding for ISP role The ISP has no need for heights to be a multiple of macroblock diff --git a/target/linux/brcm2708/patches-4.19/950-0482-staging-mmal-vchiq-Free-the-event-context-for-contro.patch b/target/linux/brcm2708/patches-4.19/950-0418-staging-mmal-vchiq-Free-the-event-context-for-contro.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0482-staging-mmal-vchiq-Free-the-event-context-for-contro.patch rename to target/linux/brcm2708/patches-4.19/950-0418-staging-mmal-vchiq-Free-the-event-context-for-contro.patch index f3cf64b55..edd4c7864 100644 --- a/target/linux/brcm2708/patches-4.19/950-0482-staging-mmal-vchiq-Free-the-event-context-for-contro.patch +++ b/target/linux/brcm2708/patches-4.19/950-0418-staging-mmal-vchiq-Free-the-event-context-for-contro.patch @@ -1,7 +1,7 @@ From 6737574b4d3af54a56d2f9c49f516fb75d06a556 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 1 May 2019 13:27:23 +0100 -Subject: [PATCH 482/806] staging: mmal-vchiq: Free the event context for +Subject: [PATCH] staging: mmal-vchiq: Free the event context for control ports vchiq_mmal_component_init calls init_event_context for the diff --git a/target/linux/brcm2708/patches-4.19/950-0483-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch b/target/linux/brcm2708/patches-4.19/950-0419-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0483-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch rename to target/linux/brcm2708/patches-4.19/950-0419-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch index 780830196..6b67955ee 100644 --- a/target/linux/brcm2708/patches-4.19/950-0483-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch +++ b/target/linux/brcm2708/patches-4.19/950-0419-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch @@ -1,7 +1,7 @@ From f9c0f8057ffee5c039fe20c3e2dcd7fea70222e9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 2 May 2019 22:14:34 +0100 -Subject: [PATCH 483/806] BCM270X_DT: Also set coherent_pool=1M for BT Pis +Subject: [PATCH] BCM270X_DT: Also set coherent_pool=1M for BT Pis See: https://github.com/raspberrypi/linux/issues/2924 diff --git a/target/linux/brcm2708/patches-4.19/950-0485-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch b/target/linux/brcm2708/patches-4.19/950-0420-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0485-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch rename to target/linux/brcm2708/patches-4.19/950-0420-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch index ced476fa6..568cd82e5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0485-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch +++ b/target/linux/brcm2708/patches-4.19/950-0420-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch @@ -1,7 +1,7 @@ From 50d3f15ea5d6ca2705a009722dd7d4108c9f75d9 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 5 May 2019 21:07:12 +0100 -Subject: [PATCH 485/806] arm: dts: overlays: rpi-sense: add upstream humidity +Subject: [PATCH] arm: dts: overlays: rpi-sense: add upstream humidity compatible The upstream humidiity driver uses "st,hts221" for the compatible diff --git a/target/linux/brcm2708/patches-4.19/950-0486-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch b/target/linux/brcm2708/patches-4.19/950-0421-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0486-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch rename to target/linux/brcm2708/patches-4.19/950-0421-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch index d973c5698..bfa88dd4f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0486-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch +++ b/target/linux/brcm2708/patches-4.19/950-0421-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch @@ -1,7 +1,7 @@ From 250db0df9643d122e00313313102c642f1adac72 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 May 2019 15:50:01 +0100 -Subject: [PATCH 486/806] staging: mmal-vchiq: Fix memory leak in error path +Subject: [PATCH] staging: mmal-vchiq: Fix memory leak in error path On error, vchiq_mmal_component_init could leave the event context allocated for ports. diff --git a/target/linux/brcm2708/patches-4.19/950-0487-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch b/target/linux/brcm2708/patches-4.19/950-0422-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0487-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch rename to target/linux/brcm2708/patches-4.19/950-0422-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch index e354ddb6b..f761ad787 100644 --- a/target/linux/brcm2708/patches-4.19/950-0487-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch +++ b/target/linux/brcm2708/patches-4.19/950-0422-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch @@ -1,7 +1,7 @@ From 3e246d402582c6f19e5e636f89952d11e18e6442 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 3 May 2019 13:27:51 +0100 -Subject: [PATCH 487/806] staging: vchiq-mmal: Fix memory leak of vchiq +Subject: [PATCH] staging: vchiq-mmal: Fix memory leak of vchiq instance The vchiq instance was allocated from vchiq_mmal_init via diff --git a/target/linux/brcm2708/patches-4.19/950-0489-Added-IQaudIO-Pi-Codec-board-support-2969.patch b/target/linux/brcm2708/patches-4.19/950-0423-Added-IQaudIO-Pi-Codec-board-support-2969.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0489-Added-IQaudIO-Pi-Codec-board-support-2969.patch rename to target/linux/brcm2708/patches-4.19/950-0423-Added-IQaudIO-Pi-Codec-board-support-2969.patch index 1666b3f50..b063e3885 100644 --- a/target/linux/brcm2708/patches-4.19/950-0489-Added-IQaudIO-Pi-Codec-board-support-2969.patch +++ b/target/linux/brcm2708/patches-4.19/950-0423-Added-IQaudIO-Pi-Codec-board-support-2969.patch @@ -1,7 +1,7 @@ From 930c49de8674acda0f143f7bc182ed2fad8c4f9d Mon Sep 17 00:00:00 2001 From: IQaudIO Date: Mon, 13 May 2019 21:53:05 +0100 -Subject: [PATCH 489/806] Added IQaudIO Pi-Codec board support (#2969) +Subject: [PATCH] Added IQaudIO Pi-Codec board support (#2969) Add support for the IQaudIO Pi-Codec board. diff --git a/target/linux/brcm2708/patches-4.19/950-0492-w1-ds2408-reset-on-output_write-retry-with-readback.patch b/target/linux/brcm2708/patches-4.19/950-0424-w1-ds2408-reset-on-output_write-retry-with-readback.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0492-w1-ds2408-reset-on-output_write-retry-with-readback.patch rename to target/linux/brcm2708/patches-4.19/950-0424-w1-ds2408-reset-on-output_write-retry-with-readback.patch index e6978b740..afdc22e2d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0492-w1-ds2408-reset-on-output_write-retry-with-readback.patch +++ b/target/linux/brcm2708/patches-4.19/950-0424-w1-ds2408-reset-on-output_write-retry-with-readback.patch @@ -1,7 +1,7 @@ From 714580d7c11f81afb5e08c71f79a03a1ed4ae44e Mon Sep 17 00:00:00 2001 From: Jean-Francois Dagenais Date: Thu, 28 Mar 2019 12:41:11 -0400 -Subject: [PATCH 492/806] w1: ds2408: reset on output_write retry with readback +Subject: [PATCH] w1: ds2408: reset on output_write retry with readback commit 49695ac46861180baf2b2b92c62da8619b6bf28f upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0493-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch b/target/linux/brcm2708/patches-4.19/950-0425-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0493-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch rename to target/linux/brcm2708/patches-4.19/950-0425-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch index c58b2bf8e..376670706 100644 --- a/target/linux/brcm2708/patches-4.19/950-0493-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch +++ b/target/linux/brcm2708/patches-4.19/950-0425-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch @@ -1,7 +1,7 @@ From 2bf6a79fb6555b5ebf21d03b1295e017804474c4 Mon Sep 17 00:00:00 2001 From: Mariusz Bialonczyk Date: Mon, 4 Mar 2019 12:23:36 +0100 -Subject: [PATCH 493/806] w1: ds2482: cosmetic fixes after 54865314f5a1 +Subject: [PATCH] w1: ds2482: cosmetic fixes after 54865314f5a1 commit 5cb27d30fc3a281e830a2099d520b469e2b82008 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0494-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch b/target/linux/brcm2708/patches-4.19/950-0426-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0494-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch rename to target/linux/brcm2708/patches-4.19/950-0426-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch index 1c58b9cd9..346cda887 100644 --- a/target/linux/brcm2708/patches-4.19/950-0494-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch +++ b/target/linux/brcm2708/patches-4.19/950-0426-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch @@ -1,7 +1,7 @@ From 2c1e36e477550ea66824433c132fdff03b4ee020 Mon Sep 17 00:00:00 2001 From: Klaus Schulz Date: Thu, 16 May 2019 13:35:32 +0200 -Subject: [PATCH 494/806] sound: pcm512x-codec: Adding 352.8kHz samplerate +Subject: [PATCH] sound: pcm512x-codec: Adding 352.8kHz samplerate support --- diff --git a/target/linux/brcm2708/patches-4.19/950-0495-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch b/target/linux/brcm2708/patches-4.19/950-0427-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0495-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch rename to target/linux/brcm2708/patches-4.19/950-0427-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch index e33173a55..97d69c695 100644 --- a/target/linux/brcm2708/patches-4.19/950-0495-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch +++ b/target/linux/brcm2708/patches-4.19/950-0427-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch @@ -1,7 +1,7 @@ From 3150326498ba9388b85e5af2c8fcfeafc46eeaad Mon Sep 17 00:00:00 2001 From: GT Date: Sat, 6 Apr 2019 21:16:39 +0100 -Subject: [PATCH 495/806] ASoC: decommissioning driver for 3Dlab Nano soundcard +Subject: [PATCH] ASoC: decommissioning driver for 3Dlab Nano soundcard --- .../overlays/3dlab-nano-player-overlay.dts | 32 -- diff --git a/target/linux/brcm2708/patches-4.19/950-0427-Revert-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/brcm2708/patches-4.19/950-0427-Revert-cgroup-Disable-cgroup-memory-by-default.patch deleted file mode 100644 index 3a0539fc5..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0427-Revert-cgroup-Disable-cgroup-memory-by-default.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 49b6bb41655247c123cdc46dd49276a107c8b1d2 Mon Sep 17 00:00:00 2001 -From: P33M -Date: Wed, 24 Apr 2019 14:25:09 +0100 -Subject: [PATCH 427/806] Revert "cgroup: Disable cgroup "memory" by default" - -This reverts commit cd6ce4d0ded13c94ff5208c679ed5e030263149b. ---- - kernel/cgroup/cgroup.c | 30 ------------------------------ - 1 file changed, 30 deletions(-) - ---- a/kernel/cgroup/cgroup.c -+++ b/kernel/cgroup/cgroup.c -@@ -5334,8 +5334,6 @@ int __init cgroup_init_early(void) - } - - static u16 cgroup_disable_mask __initdata; --static u16 cgroup_enable_mask __initdata; --static int __init cgroup_disable(char *str); - - /** - * cgroup_init - cgroup initialization -@@ -5376,12 +5374,6 @@ int __init cgroup_init(void) - - mutex_unlock(&cgroup_mutex); - -- /* Apply an implicit disable... */ -- cgroup_disable("memory"); -- -- /* ...knowing that an explicit enable will override it. */ -- cgroup_disable_mask &= ~cgroup_enable_mask; -- - for_each_subsys(ss, ssid) { - if (ss->early_init) { - struct cgroup_subsys_state *css = -@@ -5773,28 +5765,6 @@ static int __init cgroup_disable(char *s - } - __setup("cgroup_disable=", cgroup_disable); - --static int __init cgroup_enable(char *str) --{ -- struct cgroup_subsys *ss; -- char *token; -- int i; -- -- while ((token = strsep(&str, ",")) != NULL) { -- if (!*token) -- continue; -- -- for_each_subsys(ss, i) { -- if (strcmp(token, ss->name) && -- strcmp(token, ss->legacy_name)) -- continue; -- -- cgroup_enable_mask |= 1 << i; -- } -- } -- return 1; --} --__setup("cgroup_enable=", cgroup_enable); -- - /** - * css_tryget_online_from_dir - get corresponding css from a cgroup dentry - * @dentry: directory dentry of interest diff --git a/target/linux/brcm2708/patches-4.19/950-0496-.gitignore-Add-.dtbo-explicitly.patch b/target/linux/brcm2708/patches-4.19/950-0428-.gitignore-Add-.dtbo-explicitly.patch similarity index 87% rename from target/linux/brcm2708/patches-4.19/950-0496-.gitignore-Add-.dtbo-explicitly.patch rename to target/linux/brcm2708/patches-4.19/950-0428-.gitignore-Add-.dtbo-explicitly.patch index 524c7d236..6a4566abd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0496-.gitignore-Add-.dtbo-explicitly.patch +++ b/target/linux/brcm2708/patches-4.19/950-0428-.gitignore-Add-.dtbo-explicitly.patch @@ -1,7 +1,7 @@ From bd4e0a6ad64c1211094776923bf61bd6ede3f043 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 21 May 2019 15:17:33 +0100 -Subject: [PATCH 496/806] .gitignore: Add *.dtbo explicitly +Subject: [PATCH] .gitignore: Add *.dtbo explicitly Signed-off-by: popcornmix --- diff --git a/target/linux/brcm2708/patches-4.19/950-0497-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch b/target/linux/brcm2708/patches-4.19/950-0429-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0497-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch rename to target/linux/brcm2708/patches-4.19/950-0429-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch index d80b0e355..7bbee63f4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0497-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch +++ b/target/linux/brcm2708/patches-4.19/950-0429-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch @@ -1,7 +1,7 @@ From 83f0a8986ae42e33bc16acda0451dce2cf4dfb55 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 22 May 2019 09:05:40 +0200 -Subject: [PATCH 497/806] Bluetooth: Check key sizes only when Secure Simple +Subject: [PATCH] Bluetooth: Check key sizes only when Secure Simple Pairing is enabled The encryption is only mandatory to be enforced when both sides are using @@ -21,7 +21,7 @@ Cc: stable@vger.kernel.org --- a/net/bluetooth/hci_conn.c +++ b/net/bluetooth/hci_conn.c -@@ -1272,8 +1272,13 @@ int hci_conn_check_link_mode(struct hci_ +@@ -1280,8 +1280,13 @@ int hci_conn_check_link_mode(struct hci_ return 0; } diff --git a/target/linux/brcm2708/patches-4.19/950-0498-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch b/target/linux/brcm2708/patches-4.19/950-0430-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0498-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch rename to target/linux/brcm2708/patches-4.19/950-0430-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch index 3f6bb4e97..ba021f1e2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0498-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch +++ b/target/linux/brcm2708/patches-4.19/950-0430-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch @@ -1,7 +1,7 @@ From efb54d0f0445f3d279a7eae7395b566c96d080de Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 7 May 2019 17:23:41 +0100 -Subject: [PATCH 498/806] usb: dwc_otg: Clean up interrupt claiming code +Subject: [PATCH] usb: dwc_otg: Clean up interrupt claiming code The FIQ/IRQ interrupt number identification code is scattered through the dwc_otg driver. Rationalise it, simplifying the code and solving diff --git a/target/linux/brcm2708/patches-4.19/950-0431-Revert-bcm2835-interpolate-audio-delay.patch b/target/linux/brcm2708/patches-4.19/950-0431-Revert-bcm2835-interpolate-audio-delay.patch deleted file mode 100644 index ec87a5b39..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0431-Revert-bcm2835-interpolate-audio-delay.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 83251570f16ec848694dac016cbdb55b1d28496d Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Mon, 29 Apr 2019 19:16:14 +0100 -Subject: [PATCH 431/806] Revert "bcm2835: interpolate audio delay" - -commit fb4b9f02986fcb5ae751106ef9b027806b5dd750 upstream. - -This reverts commit fb8cc99f05687ca5565dc53a7ee0dd86aefad952. ---- - .../vc04_services/bcm2835-audio/bcm2835-pcm.c | 12 +----------- - .../staging/vc04_services/bcm2835-audio/bcm2835.h | 1 - - 2 files changed, 1 insertion(+), 12 deletions(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c -@@ -11,7 +11,7 @@ - /* hardware definition */ - static const struct snd_pcm_hardware snd_bcm2835_playback_hw = { - .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | -- SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_BATCH), -+ SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), - .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, - .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000, - .rate_min = 8000, -@@ -81,8 +81,6 @@ void bcm2835_playback_fifo(struct bcm283 - alsa_stream->pos %= alsa_stream->buffer_size; - } - -- alsa_stream->interpolate_start = ktime_get_ns(); -- - if (alsa_stream->substream) { - if (new_period) - snd_pcm_period_elapsed(alsa_stream->substream); -@@ -308,7 +306,6 @@ static int snd_bcm2835_pcm_prepare(struc - alsa_stream->buffer_size = snd_pcm_lib_buffer_bytes(substream); - alsa_stream->period_size = snd_pcm_lib_period_bytes(substream); - alsa_stream->pos = 0; -- alsa_stream->interpolate_start = ktime_get_ns(); - - audio_debug("buffer_size=%d, period_size=%d pos=%d frame_bits=%d\n", - alsa_stream->buffer_size, alsa_stream->period_size, -@@ -400,19 +397,12 @@ snd_bcm2835_pcm_pointer(struct snd_pcm_s - { - struct snd_pcm_runtime *runtime = substream->runtime; - struct bcm2835_alsa_stream *alsa_stream = runtime->private_data; -- u64 now = ktime_get_ns(); - - audio_debug("pcm_pointer... (%d) hwptr=%d appl=%d pos=%d\n", 0, - frames_to_bytes(runtime, runtime->status->hw_ptr), - frames_to_bytes(runtime, runtime->control->appl_ptr), - alsa_stream->pos); - -- /* Give userspace better delay reporting by interpolating between GPU -- * notifications, assuming audio speed is close enough to the clock -- * used for ktime */ -- if (alsa_stream->interpolate_start && alsa_stream->interpolate_start < now) -- runtime->delay = -(int)div_u64((now - alsa_stream->interpolate_start) * runtime->rate, 1000000000); -- - return snd_pcm_indirect_playback_pointer(substream, - &alsa_stream->pcm_indirect, - alsa_stream->pos); ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h -@@ -133,7 +133,6 @@ struct bcm2835_alsa_stream { - unsigned int pos; - unsigned int buffer_size; - unsigned int period_size; -- u64 interpolate_start; - - atomic_t retrieved; - struct bcm2835_audio_instance *instance; diff --git a/target/linux/brcm2708/patches-4.19/950-0499-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0431-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0499-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0431-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch index b9fa9fa7d..dac438644 100644 --- a/target/linux/brcm2708/patches-4.19/950-0499-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0431-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch @@ -1,7 +1,7 @@ From 5edb8789ba5f9694698386683f2e4e97c70e765a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 7 May 2019 14:27:35 +0100 -Subject: [PATCH 499/806] overlays: Delete the deprecated sdio-1bit overlay +Subject: [PATCH] overlays: Delete the deprecated sdio-1bit overlay Use dtoverlay=sdio,bus_width=1,gpios_22_25 instead. diff --git a/target/linux/brcm2708/patches-4.19/950-0432-Revert-staging-bcm2835-audio-Enable-compile-test.patch b/target/linux/brcm2708/patches-4.19/950-0432-Revert-staging-bcm2835-audio-Enable-compile-test.patch deleted file mode 100644 index d5d74f185..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0432-Revert-staging-bcm2835-audio-Enable-compile-test.patch +++ /dev/null @@ -1,22 +0,0 @@ -From e276e2d7b80259819e399eb3956ca92e5ddafbc3 Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Mon, 29 Apr 2019 19:16:15 +0100 -Subject: [PATCH 432/806] Revert "staging: bcm2835-audio: Enable compile test" - -commit 4eae66777a262ac9707980ea0cfe902afadfb577 upstream. - -This reverts commit 02d205a57c4c943fc2a5b1ac7c912ce01944f700. ---- - drivers/staging/vc04_services/bcm2835-audio/Kconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/Kconfig -+++ b/drivers/staging/vc04_services/bcm2835-audio/Kconfig -@@ -1,6 +1,6 @@ - config SND_BCM2835 - tristate "BCM2835 Audio" -- depends on (ARCH_BCM2835 || COMPILE_TEST) && SND -+ depends on ARCH_BCM2835 && SND - select SND_PCM - select BCM2835_VCHIQ - help diff --git a/target/linux/brcm2708/patches-4.19/950-0500-overlays-Remove-upstream-aux-interrupt-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0432-overlays-Remove-upstream-aux-interrupt-overlay.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0500-overlays-Remove-upstream-aux-interrupt-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0432-overlays-Remove-upstream-aux-interrupt-overlay.patch index e44967a9c..c6e54f3fd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0500-overlays-Remove-upstream-aux-interrupt-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0432-overlays-Remove-upstream-aux-interrupt-overlay.patch @@ -1,7 +1,7 @@ From 2b584d25f295e07ef58efc2a60057be58015d693 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 7 May 2019 10:06:04 +0100 -Subject: [PATCH 500/806] overlays: Remove upstream-aux-interrupt overlay +Subject: [PATCH] overlays: Remove upstream-aux-interrupt overlay We no longer have a downstream-specific auxilliary interrupt driver, so the overlay to disable it is no longer needed. diff --git a/target/linux/brcm2708/patches-4.19/950-0433-Revert-staging-bcm2835-audio-use-module_platform_dri.patch b/target/linux/brcm2708/patches-4.19/950-0433-Revert-staging-bcm2835-audio-use-module_platform_dri.patch deleted file mode 100644 index e21116149..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0433-Revert-staging-bcm2835-audio-use-module_platform_dri.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 576521feaa6a03f45839c28f1ce0588e4e49b0ca Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Mon, 29 Apr 2019 19:16:16 +0100 -Subject: [PATCH 433/806] Revert "staging: bcm2835-audio: use - module_platform_driver() macro" - -commit ed4c2e5dc4216d5dded502bfcf594d3984e6bccd upstream. - -This reverts commit 786ced30fec053b27248ed5b24dcde61ed3f47f6. ---- - .../vc04_services/bcm2835-audio/bcm2835.c | 20 ++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -@@ -470,7 +470,25 @@ static struct platform_driver bcm2835_al - .of_match_table = snd_bcm2835_of_match_table, - }, - }; --module_platform_driver(bcm2835_alsa0_driver); -+ -+static int bcm2835_alsa_device_init(void) -+{ -+ int retval; -+ -+ retval = platform_driver_register(&bcm2835_alsa0_driver); -+ if (retval) -+ pr_err("Error registering bcm2835_audio driver %d .\n", retval); -+ -+ return retval; -+} -+ -+static void bcm2835_alsa_device_exit(void) -+{ -+ platform_driver_unregister(&bcm2835_alsa0_driver); -+} -+ -+late_initcall(bcm2835_alsa_device_init); -+module_exit(bcm2835_alsa_device_exit); - - MODULE_AUTHOR("Dom Cobley"); - MODULE_DESCRIPTION("Alsa driver for BCM2835 chip"); diff --git a/target/linux/brcm2708/patches-4.19/950-0501-overlays-Standardise-on-compatible-brcm-bcm2835.patch b/target/linux/brcm2708/patches-4.19/950-0433-overlays-Standardise-on-compatible-brcm-bcm2835.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0501-overlays-Standardise-on-compatible-brcm-bcm2835.patch rename to target/linux/brcm2708/patches-4.19/950-0433-overlays-Standardise-on-compatible-brcm-bcm2835.patch index 1a49b1ff4..b1f95e344 100644 --- a/target/linux/brcm2708/patches-4.19/950-0501-overlays-Standardise-on-compatible-brcm-bcm2835.patch +++ b/target/linux/brcm2708/patches-4.19/950-0433-overlays-Standardise-on-compatible-brcm-bcm2835.patch @@ -1,7 +1,7 @@ From ba6646d6bc62108f33a7a3e95367534a0a634beb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 May 2019 13:33:05 +0100 -Subject: [PATCH 501/806] overlays: Standardise on compatible="brcm,bcm2835" +Subject: [PATCH] overlays: Standardise on compatible="brcm,bcm2835" Curb the proliferation of compatible string combinations by standardising on "brcm,bcm2835" to denote BCM2835 and its descendants. diff --git a/target/linux/brcm2708/patches-4.19/950-0502-vc4-Remove-interrupt-and-DMA-trampling.patch b/target/linux/brcm2708/patches-4.19/950-0434-vc4-Remove-interrupt-and-DMA-trampling.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0502-vc4-Remove-interrupt-and-DMA-trampling.patch rename to target/linux/brcm2708/patches-4.19/950-0434-vc4-Remove-interrupt-and-DMA-trampling.patch index 8417a2ebd..34fe856ee 100644 --- a/target/linux/brcm2708/patches-4.19/950-0502-vc4-Remove-interrupt-and-DMA-trampling.patch +++ b/target/linux/brcm2708/patches-4.19/950-0434-vc4-Remove-interrupt-and-DMA-trampling.patch @@ -1,7 +1,7 @@ From 343e24f4a112e1118e955fd58316e71b208a22f3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 22 May 2019 12:58:47 +0100 -Subject: [PATCH 502/806] vc4: Remove interrupt and DMA trampling +Subject: [PATCH] vc4: Remove interrupt and DMA trampling As part of the effort to clean up the overlays, remove the interrupt and DMA mask declarations from the vc4 overlays which just duplicate diff --git a/target/linux/brcm2708/patches-4.19/950-0503-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch b/target/linux/brcm2708/patches-4.19/950-0435-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0503-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch rename to target/linux/brcm2708/patches-4.19/950-0435-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch index b4a0b4c9f..8e854bdbc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0503-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch +++ b/target/linux/brcm2708/patches-4.19/950-0435-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch @@ -1,7 +1,7 @@ From c63b13bddf317347ba0b69807c1591526d50ba47 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 7 May 2019 14:29:38 +0100 -Subject: [PATCH 503/806] BCM270X_DT: Add non-removable clone of mmc node +Subject: [PATCH] BCM270X_DT: Add non-removable clone of mmc node non-removable is a boolean property, and as such can't be unset by an overlay if it is set in a base DTB. Until now the workaround for this diff --git a/target/linux/brcm2708/patches-4.19/950-0504-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch b/target/linux/brcm2708/patches-4.19/950-0436-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0504-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch rename to target/linux/brcm2708/patches-4.19/950-0436-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch index 7e207842b..162c28ee8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0504-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch +++ b/target/linux/brcm2708/patches-4.19/950-0436-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch @@ -1,7 +1,7 @@ From 61c44e24ea212b92bf6a420b94070ee6fc715811 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 8 May 2019 10:08:31 +0100 -Subject: [PATCH 504/806] BCM270X_DT: usb: Refactor DTS and overlays +Subject: [PATCH] BCM270X_DT: usb: Refactor DTS and overlays Move the IRQ interrupt declaration in the usb node before the FIQ declaration, so that the dwc2 driver will find it. Name the diff --git a/target/linux/brcm2708/patches-4.19/950-0505-overlays-Update-upstream-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0437-overlays-Update-upstream-overlay.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0505-overlays-Update-upstream-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0437-overlays-Update-upstream-overlay.patch index 066c6898d..45476681e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0505-overlays-Update-upstream-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0437-overlays-Update-upstream-overlay.patch @@ -1,7 +1,7 @@ From 61c487e6a1985e52307d6df5834b610a50219819 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 22 May 2019 13:29:56 +0100 -Subject: [PATCH 505/806] overlays: Update upstream overlay +Subject: [PATCH] overlays: Update upstream overlay The recent DT/overlay changes have had a corresponding effect on the upstream overlay, which is a composite of the vc4-kms-v3d and dwc2 diff --git a/target/linux/brcm2708/patches-4.19/950-0506-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch b/target/linux/brcm2708/patches-4.19/950-0438-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0506-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch rename to target/linux/brcm2708/patches-4.19/950-0438-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch index d7b3ed560..c3d32ee64 100644 --- a/target/linux/brcm2708/patches-4.19/950-0506-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch +++ b/target/linux/brcm2708/patches-4.19/950-0438-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch @@ -1,7 +1,7 @@ From f74fe07cab3e8816c029de25029b71c80004619c Mon Sep 17 00:00:00 2001 From: Mariusz Bialonczyk Date: Thu, 16 May 2019 14:39:21 +0200 -Subject: [PATCH 506/806] w1: ds2408: Fix typo after 49695ac46861 (reset on +Subject: [PATCH] w1: ds2408: Fix typo after 49695ac46861 (reset on output_write retry with readback) commit 6660a04feb7ef648e50c792e19084d675fa6f3a2 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0507-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch b/target/linux/brcm2708/patches-4.19/950-0439-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0507-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch rename to target/linux/brcm2708/patches-4.19/950-0439-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch index 1156325aa..37bb4fd61 100644 --- a/target/linux/brcm2708/patches-4.19/950-0507-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch +++ b/target/linux/brcm2708/patches-4.19/950-0439-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch @@ -1,7 +1,7 @@ From 9542646d9211ab4305beb75da97f61cc1968ae6c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 May 2019 16:36:04 +0100 -Subject: [PATCH 507/806] BCM270X_DT: Rename Pi Zero W DT files +Subject: [PATCH] BCM270X_DT: Rename Pi Zero W DT files The downtream Pi Zero W dts file uses the digit 0, whereas upstream chose to spell it out - "zero-w". The firmware has, for a long time, diff --git a/target/linux/brcm2708/patches-4.19/950-0508-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch b/target/linux/brcm2708/patches-4.19/950-0440-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0508-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch rename to target/linux/brcm2708/patches-4.19/950-0440-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch index ff74b418f..fa6092643 100644 --- a/target/linux/brcm2708/patches-4.19/950-0508-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch +++ b/target/linux/brcm2708/patches-4.19/950-0440-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch @@ -1,7 +1,7 @@ From e819b50b0c384f11f4eaf6e1ea76030c320f4511 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 May 2019 16:23:51 +0100 -Subject: [PATCH 508/806] BCM270X_DT: Create bcm2708-rpi-zero.dts +Subject: [PATCH] BCM270X_DT: Create bcm2708-rpi-zero.dts The Pi Zero deserves a dedicated .dtb file - sharing the b-plus .dtb has been observed to cause an issue with the MAC address of some diff --git a/target/linux/brcm2708/patches-4.19/950-0509-overlays-Fix-mmc-related-overlays-after-refactor.patch b/target/linux/brcm2708/patches-4.19/950-0441-overlays-Fix-mmc-related-overlays-after-refactor.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0509-overlays-Fix-mmc-related-overlays-after-refactor.patch rename to target/linux/brcm2708/patches-4.19/950-0441-overlays-Fix-mmc-related-overlays-after-refactor.patch index 3b5b56256..468aa3060 100644 --- a/target/linux/brcm2708/patches-4.19/950-0509-overlays-Fix-mmc-related-overlays-after-refactor.patch +++ b/target/linux/brcm2708/patches-4.19/950-0441-overlays-Fix-mmc-related-overlays-after-refactor.patch @@ -1,7 +1,7 @@ From dadcb33e1f4ee70bc77da7fa7054b8571a22d5ea Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 30 May 2019 12:25:29 +0100 -Subject: [PATCH 509/806] overlays: Fix mmc-related overlays after refactor +Subject: [PATCH] overlays: Fix mmc-related overlays after refactor The addition of the mmcnr node to the base dtbs caused some overlays to not work as they should. Patch up pi3-disable-wifi, balena-fin and diff --git a/target/linux/brcm2708/patches-4.19/950-0511-Fixed-48k-timing-issue.patch b/target/linux/brcm2708/patches-4.19/950-0442-Fixed-48k-timing-issue.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0511-Fixed-48k-timing-issue.patch rename to target/linux/brcm2708/patches-4.19/950-0442-Fixed-48k-timing-issue.patch index ab4b1f0b2..541e18ac0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0511-Fixed-48k-timing-issue.patch +++ b/target/linux/brcm2708/patches-4.19/950-0442-Fixed-48k-timing-issue.patch @@ -1,7 +1,7 @@ From 539e2eef7dbfb58ab028a5530430611973dd4c84 Mon Sep 17 00:00:00 2001 From: IQaudIO Date: Thu, 6 Jun 2019 10:20:55 +0100 -Subject: [PATCH 511/806] Fixed 48k timing issue +Subject: [PATCH] Fixed 48k timing issue --- sound/soc/bcm/iqaudio-codec.c | 33 ++++++++++++++++++++++++++++----- diff --git a/target/linux/brcm2708/patches-4.19/950-0512-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch b/target/linux/brcm2708/patches-4.19/950-0443-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0512-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch rename to target/linux/brcm2708/patches-4.19/950-0443-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch index 63eae876d..48bb14674 100644 --- a/target/linux/brcm2708/patches-4.19/950-0512-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch +++ b/target/linux/brcm2708/patches-4.19/950-0443-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch @@ -1,7 +1,7 @@ From 3da653227926705fe0dcb7b6057be1ca811f47b8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 May 2019 14:11:58 +0100 -Subject: [PATCH 512/806] staging: bcm2835-codec: Convert V4L2 nsec timestamps +Subject: [PATCH] staging: bcm2835-codec: Convert V4L2 nsec timestamps to MMAL usec V4L2 uses nsecs, whilst MMAL uses usecs, but the code wasn't converting diff --git a/target/linux/brcm2708/patches-4.19/950-0513-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch b/target/linux/brcm2708/patches-4.19/950-0444-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0513-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch rename to target/linux/brcm2708/patches-4.19/950-0444-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch index aea33ff02..ac75d4768 100644 --- a/target/linux/brcm2708/patches-4.19/950-0513-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch +++ b/target/linux/brcm2708/patches-4.19/950-0444-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch @@ -1,7 +1,7 @@ From 67c1f9dd0253a1175f77e801b19bd9d923225f9c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 May 2019 14:13:11 +0100 -Subject: [PATCH 513/806] staging: bcm2835-codec: Add support for setting +Subject: [PATCH] staging: bcm2835-codec: Add support for setting S_PARM and G_PARM Video encode can use the frame rate for rate control calculations, diff --git a/target/linux/brcm2708/patches-4.19/950-0514-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch b/target/linux/brcm2708/patches-4.19/950-0445-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0514-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch rename to target/linux/brcm2708/patches-4.19/950-0445-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch index 64e670b71..6229fdc38 100644 --- a/target/linux/brcm2708/patches-4.19/950-0514-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch +++ b/target/linux/brcm2708/patches-4.19/950-0445-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch @@ -1,7 +1,7 @@ From afea1f84cbda94c47ba4a8f84d16c4330e145a0a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jun 2019 17:15:05 +0100 -Subject: [PATCH 514/806] w1: w1-gpio: Make GPIO an output for strong pullup +Subject: [PATCH] w1: w1-gpio: Make GPIO an output for strong pullup The logic to drive the data line high to implement a strong pullup assumed that the pin was already an output - setting a value does diff --git a/target/linux/brcm2708/patches-4.19/950-0515-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch b/target/linux/brcm2708/patches-4.19/950-0446-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0515-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch rename to target/linux/brcm2708/patches-4.19/950-0446-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch index fed214935..f19a6380c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0515-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch +++ b/target/linux/brcm2708/patches-4.19/950-0446-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch @@ -1,7 +1,7 @@ From 531ae7af75b2be2867814693f069fb51e3155341 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jun 2019 17:32:11 +0100 -Subject: [PATCH 515/806] overlays: Update w1-gpio and w1-gpio-pullup +Subject: [PATCH] overlays: Update w1-gpio and w1-gpio-pullup The parasitic power (power on data) feature is now enabled by default in the w1-gpio driver, so update the README and make the diff --git a/target/linux/brcm2708/patches-4.19/950-0516-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch b/target/linux/brcm2708/patches-4.19/950-0447-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0516-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch rename to target/linux/brcm2708/patches-4.19/950-0447-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch index 47e236916..13ea94a13 100644 --- a/target/linux/brcm2708/patches-4.19/950-0516-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch +++ b/target/linux/brcm2708/patches-4.19/950-0447-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch @@ -1,7 +1,7 @@ From 73623c76c8bc8c41a4afefc1eee84dfc5979d652 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jun 2019 20:45:17 +0100 -Subject: [PATCH 516/806] bcm2835-sdhost: Fix DMA channel leak on error/remove +Subject: [PATCH] bcm2835-sdhost: Fix DMA channel leak on error/remove Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0517-i2c-bcm2835-Model-Divider-in-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0448-i2c-bcm2835-Model-Divider-in-CCF.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0517-i2c-bcm2835-Model-Divider-in-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0448-i2c-bcm2835-Model-Divider-in-CCF.patch index f58498959..dc251a60c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0517-i2c-bcm2835-Model-Divider-in-CCF.patch +++ b/target/linux/brcm2708/patches-4.19/950-0448-i2c-bcm2835-Model-Divider-in-CCF.patch @@ -1,7 +1,7 @@ From ffbb6cc14b8fb1876b249048284a5fe30f48c693 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Sat, 8 Jun 2019 10:14:43 -0700 -Subject: [PATCH 517/806] i2c: bcm2835: Model Divider in CCF +Subject: [PATCH] i2c: bcm2835: Model Divider in CCF Commit bebff81fb8b9216eb4fba22cf910553621ae3477 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0518-staging-vc04_services-Use-correct-cache-line-size.patch b/target/linux/brcm2708/patches-4.19/950-0449-staging-vc04_services-Use-correct-cache-line-size.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0518-staging-vc04_services-Use-correct-cache-line-size.patch rename to target/linux/brcm2708/patches-4.19/950-0449-staging-vc04_services-Use-correct-cache-line-size.patch index e9b4825bb..c6b060608 100644 --- a/target/linux/brcm2708/patches-4.19/950-0518-staging-vc04_services-Use-correct-cache-line-size.patch +++ b/target/linux/brcm2708/patches-4.19/950-0449-staging-vc04_services-Use-correct-cache-line-size.patch @@ -1,7 +1,7 @@ From 63079fbe20c954140f8eb61f858b0774890f301c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 17 Sep 2018 09:22:21 +0100 -Subject: [PATCH 518/806] staging/vc04_services: Use correct cache line size +Subject: [PATCH] staging/vc04_services: Use correct cache line size Use the compatible string in the DTB to select the correct cache line size for the SoC - 32 for BCM2835, and 64 for BCM2836 and BCM2837. diff --git a/target/linux/brcm2708/patches-4.19/950-0519-tty-amba-pl011-allow-shared-interrupt.patch b/target/linux/brcm2708/patches-4.19/950-0450-tty-amba-pl011-allow-shared-interrupt.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0519-tty-amba-pl011-allow-shared-interrupt.patch rename to target/linux/brcm2708/patches-4.19/950-0450-tty-amba-pl011-allow-shared-interrupt.patch index 7d79ed0f0..5d316bd31 100644 --- a/target/linux/brcm2708/patches-4.19/950-0519-tty-amba-pl011-allow-shared-interrupt.patch +++ b/target/linux/brcm2708/patches-4.19/950-0450-tty-amba-pl011-allow-shared-interrupt.patch @@ -1,7 +1,7 @@ From ea75a716955e85ad076dd2861ca9e41def406a1b Mon Sep 17 00:00:00 2001 From: Doug Berger Date: Mon, 13 May 2019 20:59:45 +0200 -Subject: [PATCH 519/806] tty: amba-pl011: allow shared interrupt +Subject: [PATCH] tty: amba-pl011: allow shared interrupt The PL011 register space includes all necessary status bits to determine whether a device instance requires handling in response diff --git a/target/linux/brcm2708/patches-4.19/950-0520-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch b/target/linux/brcm2708/patches-4.19/950-0451-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0520-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch rename to target/linux/brcm2708/patches-4.19/950-0451-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch index ce9409e36..53fc19c0f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0520-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0451-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch @@ -1,7 +1,7 @@ From 3f6fe9da303fc01fb754a0a639ec3cdb813e8780 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sun, 19 May 2019 12:20:00 +0200 -Subject: [PATCH 520/806] ARM: bcm283x: Reduce register ranges for UART, SPI +Subject: [PATCH] ARM: bcm283x: Reduce register ranges for UART, SPI and I2C The assigned register ranges for UART, SPI and I2C were too wasteful. diff --git a/target/linux/brcm2708/patches-4.19/950-0521-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch b/target/linux/brcm2708/patches-4.19/950-0452-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0521-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch rename to target/linux/brcm2708/patches-4.19/950-0452-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch index ac3adb949..84a691343 100644 --- a/target/linux/brcm2708/patches-4.19/950-0521-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0452-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch @@ -1,7 +1,7 @@ From 9f889edf282d1d9a21c921e6cd33cebe22bcc4d4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Dec 2018 15:51:49 -0800 -Subject: [PATCH 521/806] ARM: bcm283x: Extend the WDT DT node out to cover the +Subject: [PATCH] ARM: bcm283x: Extend the WDT DT node out to cover the whole PM block. (v4) It was covering part of the PM block's range, up to the WDT regs. To diff --git a/target/linux/brcm2708/patches-4.19/950-0522-ARM-dts-Add-label-to-bcm2835-RNG.patch b/target/linux/brcm2708/patches-4.19/950-0453-ARM-dts-Add-label-to-bcm2835-RNG.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0522-ARM-dts-Add-label-to-bcm2835-RNG.patch rename to target/linux/brcm2708/patches-4.19/950-0453-ARM-dts-Add-label-to-bcm2835-RNG.patch index b9d29b745..3d35540bd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0522-ARM-dts-Add-label-to-bcm2835-RNG.patch +++ b/target/linux/brcm2708/patches-4.19/950-0453-ARM-dts-Add-label-to-bcm2835-RNG.patch @@ -1,7 +1,7 @@ From 1297aac31942e596e6888d772ba49393a9f59417 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 4 May 2019 17:06:54 +0200 -Subject: [PATCH 522/806] ARM: dts: Add label to bcm2835 RNG +Subject: [PATCH] ARM: dts: Add label to bcm2835 RNG --- arch/arm/boot/dts/bcm283x.dtsi | 2 +- diff --git a/target/linux/brcm2708/patches-4.19/950-0523-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0454-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0523-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0454-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch index 0d79d9047..9c7d073b5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0523-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0454-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch @@ -1,7 +1,7 @@ From 4a09c51bc328b2b83ffa20a6db02ac18139a963d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 12 Oct 2017 18:11:32 +0100 -Subject: [PATCH 523/806] dts: Use fb rather than leds for dpi overlay +Subject: [PATCH] dts: Use fb rather than leds for dpi overlay --- arch/arm/boot/dts/overlays/dpi18-overlay.dts | 2 +- diff --git a/target/linux/brcm2708/patches-4.19/950-0524-BCM270X_DT-Minor-tidy-up.patch b/target/linux/brcm2708/patches-4.19/950-0455-BCM270X_DT-Minor-tidy-up.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0524-BCM270X_DT-Minor-tidy-up.patch rename to target/linux/brcm2708/patches-4.19/950-0455-BCM270X_DT-Minor-tidy-up.patch index b6f801de3..70325f776 100644 --- a/target/linux/brcm2708/patches-4.19/950-0524-BCM270X_DT-Minor-tidy-up.patch +++ b/target/linux/brcm2708/patches-4.19/950-0455-BCM270X_DT-Minor-tidy-up.patch @@ -1,7 +1,7 @@ From 021d54e3ae67e2b02310b9e3e871876a2c3b7eee Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 May 2019 15:19:21 +0100 -Subject: [PATCH 524/806] BCM270X_DT: Minor tidy up +Subject: [PATCH] BCM270X_DT: Minor tidy up Move arm_pmu out of soc on bcm2710, and labels aren't aliases. diff --git a/target/linux/brcm2708/patches-4.19/950-0525-arm-bcm2835-Fix-FIQ-early-ioremap.patch b/target/linux/brcm2708/patches-4.19/950-0456-arm-bcm2835-Fix-FIQ-early-ioremap.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0525-arm-bcm2835-Fix-FIQ-early-ioremap.patch rename to target/linux/brcm2708/patches-4.19/950-0456-arm-bcm2835-Fix-FIQ-early-ioremap.patch index 4d472eb3f..d320e40c4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0525-arm-bcm2835-Fix-FIQ-early-ioremap.patch +++ b/target/linux/brcm2708/patches-4.19/950-0456-arm-bcm2835-Fix-FIQ-early-ioremap.patch @@ -1,7 +1,7 @@ From 51d6e1924fd0e9d075bcef61bea5a475a0ad6634 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 Feb 2019 08:49:39 +0000 -Subject: [PATCH 525/806] arm: bcm2835: Fix FIQ early ioremap +Subject: [PATCH] arm: bcm2835: Fix FIQ early ioremap The ioremapping creates mappings within the vmalloc area. The equivalent early function, create_mapping, now checks that the diff --git a/target/linux/brcm2708/patches-4.19/950-0526-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch b/target/linux/brcm2708/patches-4.19/950-0457-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0526-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch rename to target/linux/brcm2708/patches-4.19/950-0457-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch index 932d9eb00..b06b21404 100644 --- a/target/linux/brcm2708/patches-4.19/950-0526-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch +++ b/target/linux/brcm2708/patches-4.19/950-0457-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch @@ -1,7 +1,7 @@ From ab2695d38f4ffadde05c2275ac68f4aad68ef336 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Thu, 14 Mar 2019 10:16:02 +0000 -Subject: [PATCH 526/806] Fix copy_from_user if BCM2835_FAST_MEMCPY=n +Subject: [PATCH] Fix copy_from_user if BCM2835_FAST_MEMCPY=n The change which introduced CONFIG_BCM2835_FAST_MEMCPY unconditionally changed the behaviour of arm_copy_from_user. The page pinning code diff --git a/target/linux/brcm2708/patches-4.19/950-0527-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch b/target/linux/brcm2708/patches-4.19/950-0458-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0527-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch rename to target/linux/brcm2708/patches-4.19/950-0458-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch index 3d9cc8c66..88431e2ac 100644 --- a/target/linux/brcm2708/patches-4.19/950-0527-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch +++ b/target/linux/brcm2708/patches-4.19/950-0458-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch @@ -1,7 +1,7 @@ From ac1212c0f8b611be6df28f252ebbad80b775ee0f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Feb 2019 22:06:59 +0000 -Subject: [PATCH 527/806] PCI: brcmstb: Add Broadcom STB PCIe host controller +Subject: [PATCH] PCI: brcmstb: Add Broadcom STB PCIe host controller driver This commit adds the basic Broadcom STB PCIe controller. Missing is diff --git a/target/linux/brcm2708/patches-4.19/950-0528-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch b/target/linux/brcm2708/patches-4.19/950-0459-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0528-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch rename to target/linux/brcm2708/patches-4.19/950-0459-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch index 804432d48..75615e372 100644 --- a/target/linux/brcm2708/patches-4.19/950-0528-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0459-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch @@ -1,7 +1,7 @@ From d3cc1c713b9436a7dc72788caa1d8de63ac3a01b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Feb 2019 22:06:59 +0000 -Subject: [PATCH 528/806] PCI: brcmstb: Add dma-range mapping for inbound +Subject: [PATCH] PCI: brcmstb: Add dma-range mapping for inbound traffic The Broadcom STB PCIe host controller is intimately related to the diff --git a/target/linux/brcm2708/patches-4.19/950-0529-PCI-brcmstb-Add-MSI-capability.patch b/target/linux/brcm2708/patches-4.19/950-0460-PCI-brcmstb-Add-MSI-capability.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0529-PCI-brcmstb-Add-MSI-capability.patch rename to target/linux/brcm2708/patches-4.19/950-0460-PCI-brcmstb-Add-MSI-capability.patch index b8b61aa61..856bf2bdf 100644 --- a/target/linux/brcm2708/patches-4.19/950-0529-PCI-brcmstb-Add-MSI-capability.patch +++ b/target/linux/brcm2708/patches-4.19/950-0460-PCI-brcmstb-Add-MSI-capability.patch @@ -1,7 +1,7 @@ From cd3af4fa73ab25353f0865ebe8e0d2af1fd2a50b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Feb 2019 22:06:59 +0000 -Subject: [PATCH 529/806] PCI: brcmstb: Add MSI capability +Subject: [PATCH] PCI: brcmstb: Add MSI capability This commit adds MSI to the Broadcom STB PCIe host controller. It does not add MSIX since that functionality is not in the HW. The MSI diff --git a/target/linux/brcm2708/patches-4.19/950-0530-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch b/target/linux/brcm2708/patches-4.19/950-0461-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0530-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch rename to target/linux/brcm2708/patches-4.19/950-0461-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch index 8cd51b796..632e986e5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0530-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch +++ b/target/linux/brcm2708/patches-4.19/950-0461-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch @@ -1,7 +1,7 @@ From cb1acabb459677efbf95c54ce1dc5252be30a018 Mon Sep 17 00:00:00 2001 From: Jim Quinlan Date: Mon, 15 Jan 2018 18:28:39 -0500 -Subject: [PATCH 530/806] dt-bindings: pci: Add DT docs for Brcmstb PCIe device +Subject: [PATCH] dt-bindings: pci: Add DT docs for Brcmstb PCIe device The DT bindings description of the Brcmstb PCIe device is described. This node can be used by almost all Broadcom settop box chips, using diff --git a/target/linux/brcm2708/patches-4.19/950-0531-pcie-brcmstb-Changes-for-BCM2711.patch b/target/linux/brcm2708/patches-4.19/950-0462-pcie-brcmstb-Changes-for-BCM2711.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0531-pcie-brcmstb-Changes-for-BCM2711.patch rename to target/linux/brcm2708/patches-4.19/950-0462-pcie-brcmstb-Changes-for-BCM2711.patch index 58803a8bd..b44ec4c4e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0531-pcie-brcmstb-Changes-for-BCM2711.patch +++ b/target/linux/brcm2708/patches-4.19/950-0462-pcie-brcmstb-Changes-for-BCM2711.patch @@ -1,7 +1,7 @@ From 545951be6cabac8b1df85771c44335a0eaaa3c5d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Feb 2019 22:06:59 +0000 -Subject: [PATCH 531/806] pcie-brcmstb: Changes for BCM2711 +Subject: [PATCH] pcie-brcmstb: Changes for BCM2711 The initial brcmstb PCIe driver - originally taken from the V3(?) patch set - has been modified significantly for the BCM2711. diff --git a/target/linux/brcm2708/patches-4.19/950-0532-arm-bcm2835-DMA-can-only-address-1GB.patch b/target/linux/brcm2708/patches-4.19/950-0463-arm-bcm2835-DMA-can-only-address-1GB.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0532-arm-bcm2835-DMA-can-only-address-1GB.patch rename to target/linux/brcm2708/patches-4.19/950-0463-arm-bcm2835-DMA-can-only-address-1GB.patch index 29942be1f..89919c1d7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0532-arm-bcm2835-DMA-can-only-address-1GB.patch +++ b/target/linux/brcm2708/patches-4.19/950-0463-arm-bcm2835-DMA-can-only-address-1GB.patch @@ -1,7 +1,7 @@ From 9334afe7293b3a78b7e070a70880b2db7aa98365 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 May 2019 15:47:42 +0100 -Subject: [PATCH 532/806] arm: bcm2835: DMA can only address 1GB +Subject: [PATCH] arm: bcm2835: DMA can only address 1GB The legacy peripherals can only address the first gigabyte of RAM, so ensure that DMA allocations are restricted to that region. diff --git a/target/linux/brcm2708/patches-4.19/950-0533-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch b/target/linux/brcm2708/patches-4.19/950-0464-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0533-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch rename to target/linux/brcm2708/patches-4.19/950-0464-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch index bf0b19b30..a2aeeea2d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0533-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch +++ b/target/linux/brcm2708/patches-4.19/950-0464-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch @@ -1,7 +1,7 @@ From 8a58288d710a817b5dc7747f0bec1fb167368e7e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 Aug 2018 09:05:15 +0100 -Subject: [PATCH 533/806] mmc: bcm2835-sdhost: Support 64-bit physical +Subject: [PATCH] mmc: bcm2835-sdhost: Support 64-bit physical addresses Signed-off-by: Phil Elwell diff --git a/target/linux/brcm2708/patches-4.19/950-0534-mmc-sdhci-Mask-spurious-interrupts.patch b/target/linux/brcm2708/patches-4.19/950-0465-mmc-sdhci-Mask-spurious-interrupts.patch similarity index 86% rename from target/linux/brcm2708/patches-4.19/950-0534-mmc-sdhci-Mask-spurious-interrupts.patch rename to target/linux/brcm2708/patches-4.19/950-0465-mmc-sdhci-Mask-spurious-interrupts.patch index b55c15399..fd5cb5277 100644 --- a/target/linux/brcm2708/patches-4.19/950-0534-mmc-sdhci-Mask-spurious-interrupts.patch +++ b/target/linux/brcm2708/patches-4.19/950-0465-mmc-sdhci-Mask-spurious-interrupts.patch @@ -1,7 +1,7 @@ From be309b7db77215610d5ac15bf0aacd47ea5b3433 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 28 Sep 2018 16:24:05 +0100 -Subject: [PATCH 534/806] mmc: sdhci: Mask "spurious" interrupts +Subject: [PATCH] mmc: sdhci: Mask "spurious" interrupts Add a filter for "spurious" Transfer Complete interrupts, attempting to make it as specific as possible: @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c -@@ -2937,6 +2937,10 @@ static irqreturn_t sdhci_irq(int irq, vo +@@ -2935,6 +2935,10 @@ static irqreturn_t sdhci_irq(int irq, vo result = IRQ_WAKE_THREAD; } diff --git a/target/linux/brcm2708/patches-4.19/950-0535-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch b/target/linux/brcm2708/patches-4.19/950-0466-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0535-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch rename to target/linux/brcm2708/patches-4.19/950-0466-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch index 14b428969..d96076691 100644 --- a/target/linux/brcm2708/patches-4.19/950-0535-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch +++ b/target/linux/brcm2708/patches-4.19/950-0466-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch @@ -1,7 +1,7 @@ From 0a1c3ff378e60f2a59153cfc1c7529bfe05eb115 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 27 Apr 2019 12:33:57 +0200 -Subject: [PATCH 535/806] mmc: sdhci-iproc: Add support for emmc2 of the +Subject: [PATCH] mmc: sdhci-iproc: Add support for emmc2 of the BCM2838 The emmc2 interface of the BCM2838 should be integrated in sdhci-iproc diff --git a/target/linux/brcm2708/patches-4.19/950-0536-hwrng-iproc-rng200-Add-BCM2838-support.patch b/target/linux/brcm2708/patches-4.19/950-0467-hwrng-iproc-rng200-Add-BCM2838-support.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0536-hwrng-iproc-rng200-Add-BCM2838-support.patch rename to target/linux/brcm2708/patches-4.19/950-0467-hwrng-iproc-rng200-Add-BCM2838-support.patch index daa10d10b..c2a29a01c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0536-hwrng-iproc-rng200-Add-BCM2838-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0467-hwrng-iproc-rng200-Add-BCM2838-support.patch @@ -1,7 +1,7 @@ From e9c0fd87b6169baf5bd10293a85675d505086191 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 4 May 2019 17:06:15 +0200 -Subject: [PATCH 536/806] hwrng: iproc-rng200: Add BCM2838 support +Subject: [PATCH] hwrng: iproc-rng200: Add BCM2838 support The HWRNG on the BCM2838 is compatible to iproc-rng200, so add the support to this driver instead of bcm2835-rng. diff --git a/target/linux/brcm2708/patches-4.19/950-0537-thermal-brcmstb_thermal-Add-BCM2838-support.patch b/target/linux/brcm2708/patches-4.19/950-0468-thermal-brcmstb_thermal-Add-BCM2838-support.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0537-thermal-brcmstb_thermal-Add-BCM2838-support.patch rename to target/linux/brcm2708/patches-4.19/950-0468-thermal-brcmstb_thermal-Add-BCM2838-support.patch index 5a59adc78..6bc76ed6e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0537-thermal-brcmstb_thermal-Add-BCM2838-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0468-thermal-brcmstb_thermal-Add-BCM2838-support.patch @@ -1,7 +1,7 @@ From d49649e2dcf0d5775e92677d37e229e0387fe82a Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 18 May 2019 12:26:11 +0200 -Subject: [PATCH 537/806] thermal: brcmstb_thermal: Add BCM2838 support +Subject: [PATCH] thermal: brcmstb_thermal: Add BCM2838 support The BCM2838 has an AVS TMON hardware block. This adds the necessary support to the brcmstb_thermal driver ( no trip handling ). diff --git a/target/linux/brcm2708/patches-4.19/950-0538-vchiq-Add-36-bit-address-support.patch b/target/linux/brcm2708/patches-4.19/950-0469-vchiq-Add-36-bit-address-support.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0538-vchiq-Add-36-bit-address-support.patch rename to target/linux/brcm2708/patches-4.19/950-0469-vchiq-Add-36-bit-address-support.patch index 871ab1eff..e1eec5d9d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0538-vchiq-Add-36-bit-address-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0469-vchiq-Add-36-bit-address-support.patch @@ -1,7 +1,7 @@ From d5c6191cc94b358de183cc8c88a5722a79445202 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 1 Nov 2018 17:31:37 +0000 -Subject: [PATCH 538/806] vchiq: Add 36-bit address support +Subject: [PATCH] vchiq: Add 36-bit address support Conditional on a new compatible string, change the pagelist encoding such that the top 24 bits are the pfn, leaving 8 bits for run length diff --git a/target/linux/brcm2708/patches-4.19/950-0539-bcm2835-pcm.c-Support-multichannel-audio.patch b/target/linux/brcm2708/patches-4.19/950-0470-bcm2835-pcm.c-Support-multichannel-audio.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0539-bcm2835-pcm.c-Support-multichannel-audio.patch rename to target/linux/brcm2708/patches-4.19/950-0470-bcm2835-pcm.c-Support-multichannel-audio.patch index 781d37263..47898dbd9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0539-bcm2835-pcm.c-Support-multichannel-audio.patch +++ b/target/linux/brcm2708/patches-4.19/950-0470-bcm2835-pcm.c-Support-multichannel-audio.patch @@ -1,7 +1,7 @@ From 69d7e7d0f958186a0f7667ebeefdb50d1c5c3bd3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 30 Apr 2019 19:15:30 +0100 -Subject: [PATCH 539/806] bcm2835-pcm.c: Support multichannel audio +Subject: [PATCH] bcm2835-pcm.c: Support multichannel audio --- .../vc04_services/bcm2835-audio/bcm2835-pcm.c | 17 +++++++++-------- diff --git a/target/linux/brcm2708/patches-4.19/950-0540-bcmgenet-constrain-max-DMA-burst-length.patch b/target/linux/brcm2708/patches-4.19/950-0471-bcmgenet-constrain-max-DMA-burst-length.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0540-bcmgenet-constrain-max-DMA-burst-length.patch rename to target/linux/brcm2708/patches-4.19/950-0471-bcmgenet-constrain-max-DMA-burst-length.patch index 55af70e98..54ead878b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0540-bcmgenet-constrain-max-DMA-burst-length.patch +++ b/target/linux/brcm2708/patches-4.19/950-0471-bcmgenet-constrain-max-DMA-burst-length.patch @@ -1,7 +1,7 @@ From 12865021c91e21ca7189c6a84688459d400de204 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 12 Sep 2018 14:44:53 +0100 -Subject: [PATCH 540/806] bcmgenet: constrain max DMA burst length +Subject: [PATCH] bcmgenet: constrain max DMA burst length --- drivers/net/ethernet/broadcom/genet/bcmgenet.h | 2 +- diff --git a/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch b/target/linux/brcm2708/patches-4.19/950-0472-bcmgenet-Better-coalescing-parameter-defaults.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch rename to target/linux/brcm2708/patches-4.19/950-0472-bcmgenet-Better-coalescing-parameter-defaults.patch index f91643342..e045886c7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch +++ b/target/linux/brcm2708/patches-4.19/950-0472-bcmgenet-Better-coalescing-parameter-defaults.patch @@ -1,7 +1,7 @@ From bb3075a2edb5c55d0ea7470da8bb44cc9f36aa02 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 27 Mar 2019 13:45:46 +0000 -Subject: [PATCH 541/806] bcmgenet: Better coalescing parameter defaults +Subject: [PATCH] bcmgenet: Better coalescing parameter defaults Set defaults for TX and RX packet coalescing to be equivalent to: diff --git a/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch b/target/linux/brcm2708/patches-4.19/950-0473-net-genet-enable-link-energy-detect-powerdown-for-ex.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch rename to target/linux/brcm2708/patches-4.19/950-0473-net-genet-enable-link-energy-detect-powerdown-for-ex.patch index 02b570109..2c0557b65 100644 --- a/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch +++ b/target/linux/brcm2708/patches-4.19/950-0473-net-genet-enable-link-energy-detect-powerdown-for-ex.patch @@ -1,7 +1,7 @@ From d8b59e9245f8b2a231eeaa35b4a42f30cdbd5304 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 14 May 2019 17:17:59 +0100 -Subject: [PATCH 542/806] net: genet: enable link energy detect powerdown for +Subject: [PATCH] net: genet: enable link energy detect powerdown for external PHYs There are several warts surrounding bcmgenet_mii_probe() as this diff --git a/target/linux/brcm2708/patches-4.19/950-0473-staging-bcm2835-audio-Drop-DT-dependency.patch b/target/linux/brcm2708/patches-4.19/950-0473-staging-bcm2835-audio-Drop-DT-dependency.patch deleted file mode 100644 index b2668283e..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0473-staging-bcm2835-audio-Drop-DT-dependency.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 1ddeeda8208bc269c90aad4bd8bb878f7436f62d Mon Sep 17 00:00:00 2001 -From: Stefan Wahren -Date: Thu, 6 Dec 2018 19:28:58 +0100 -Subject: [PATCH 473/806] staging: bcm2835-audio: Drop DT dependency - -commit 438fc48260a0afc4cee733e5bc20234ff2bbef56 upstream. - -Just like the bcm2835-video make this a platform driver which is probed -by vchiq. In order to change the number of channels use a module -parameter instead, but use the maximum as default. - -Signed-off-by: Stefan Wahren -Reviewed-by: Nicolas Saenz Julienne -Reviewed-by: Dan Carpenter -Signed-off-by: Greg Kroah-Hartman ---- - .../vc04_services/bcm2835-audio/bcm2835.c | 31 ++++++------------- - 1 file changed, 9 insertions(+), 22 deletions(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -@@ -6,13 +6,13 @@ - #include - #include - #include --#include - - #include "bcm2835.h" - - static bool enable_hdmi; - static bool enable_headphones; - static bool enable_compat_alsa = true; -+static int num_channels = MAX_SUBSTREAMS; - - module_param(enable_hdmi, bool, 0444); - MODULE_PARM_DESC(enable_hdmi, "Enables HDMI virtual audio device"); -@@ -21,6 +21,8 @@ MODULE_PARM_DESC(enable_headphones, "Ena - module_param(enable_compat_alsa, bool, 0444); - MODULE_PARM_DESC(enable_compat_alsa, - "Enables ALSA compatibility virtual audio device"); -+module_param(num_channels, int, 0644); -+MODULE_PARM_DESC(num_channels, "Number of audio channels (default: 8)"); - - static void bcm2835_devm_free_vchi_ctx(struct device *dev, void *res) - { -@@ -294,28 +296,19 @@ static int snd_add_child_devices(struct - static int snd_bcm2835_alsa_probe(struct platform_device *pdev) - { - struct device *dev = &pdev->dev; -- u32 numchans; - int err; - -- err = of_property_read_u32(dev->of_node, "brcm,pwm-channels", -- &numchans); -- if (err) { -- dev_err(dev, "Failed to get DT property 'brcm,pwm-channels'"); -- return err; -- } -- -- if (numchans == 0 || numchans > MAX_SUBSTREAMS) { -- numchans = MAX_SUBSTREAMS; -- dev_warn(dev, -- "Illegal 'brcm,pwm-channels' value, will use %u\n", -- numchans); -+ if (num_channels <= 0 || num_channels > MAX_SUBSTREAMS) { -+ num_channels = MAX_SUBSTREAMS; -+ dev_warn(dev, "Illegal num_channels value, will use %u\n", -+ num_channels); - } - - err = bcm2835_devm_add_vchi_ctx(dev); - if (err) - return err; - -- err = snd_add_child_devices(dev, numchans); -+ err = snd_add_child_devices(dev, num_channels); - if (err) - return err; - -@@ -337,12 +330,6 @@ static int snd_bcm2835_alsa_resume(struc - - #endif - --static const struct of_device_id snd_bcm2835_of_match_table[] = { -- { .compatible = "brcm,bcm2835-audio",}, -- {}, --}; --MODULE_DEVICE_TABLE(of, snd_bcm2835_of_match_table); -- - static struct platform_driver bcm2835_alsa_driver = { - .probe = snd_bcm2835_alsa_probe, - #ifdef CONFIG_PM -@@ -351,7 +338,6 @@ static struct platform_driver bcm2835_al - #endif - .driver = { - .name = "bcm2835_audio", -- .of_match_table = snd_bcm2835_of_match_table, - }, - }; - module_platform_driver(bcm2835_alsa_driver); -@@ -359,3 +345,4 @@ module_platform_driver(bcm2835_alsa_driv - MODULE_AUTHOR("Dom Cobley"); - MODULE_DESCRIPTION("Alsa driver for BCM2835 chip"); - MODULE_LICENSE("GPL"); -+MODULE_ALIAS("platform:bcm2835_audio"); diff --git a/target/linux/brcm2708/patches-4.19/950-0543-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch b/target/linux/brcm2708/patches-4.19/950-0474-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0543-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch rename to target/linux/brcm2708/patches-4.19/950-0474-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch index 633ec4714..354cd08f2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0543-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch +++ b/target/linux/brcm2708/patches-4.19/950-0474-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch @@ -1,7 +1,7 @@ From 8eb54bbd5e6ebb929d390432163589f4c3dc0c14 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 14 May 2019 17:00:41 +0100 -Subject: [PATCH 543/806] phy: broadcom: split out the BCM54213PE from the +Subject: [PATCH] phy: broadcom: split out the BCM54213PE from the BCM54210E IDs The last nibble is a revision ID, and the 54213pe is a later rev diff --git a/target/linux/brcm2708/patches-4.19/950-0544-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch b/target/linux/brcm2708/patches-4.19/950-0475-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0544-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch rename to target/linux/brcm2708/patches-4.19/950-0475-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch index 8c620803d..15af5a7ca 100644 --- a/target/linux/brcm2708/patches-4.19/950-0544-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0475-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch @@ -1,7 +1,7 @@ From dc2550fdfd0a46c3ec67e5003b3d69c29141406b Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Fri, 17 May 2019 13:31:21 +0100 -Subject: [PATCH 544/806] phy: bcm54213pe: configure the LED outputs to be more +Subject: [PATCH] phy: bcm54213pe: configure the LED outputs to be more user-friendly The default state was both LEDs indicating link speed. diff --git a/target/linux/brcm2708/patches-4.19/950-0476-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch b/target/linux/brcm2708/patches-4.19/950-0476-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch deleted file mode 100644 index 5cb6d061c..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0476-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 369f591ee78af2d53c67f561daeb963cc4aa60aa Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Wed, 1 May 2019 14:23:39 +0100 -Subject: [PATCH 476/806] Revert "staging: bcm2835-audio: Drop DT dependency" - -This reverts commit 60a2e557a4f81480216066f22b84c3dda31b3470. ---- - .../vc04_services/bcm2835-audio/bcm2835.c | 31 +++++++++++++------ - 1 file changed, 22 insertions(+), 9 deletions(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -@@ -6,13 +6,13 @@ - #include - #include - #include -+#include - - #include "bcm2835.h" - - static bool enable_hdmi; - static bool enable_headphones; - static bool enable_compat_alsa = true; --static int num_channels = MAX_SUBSTREAMS; - - module_param(enable_hdmi, bool, 0444); - MODULE_PARM_DESC(enable_hdmi, "Enables HDMI virtual audio device"); -@@ -21,8 +21,6 @@ MODULE_PARM_DESC(enable_headphones, "Ena - module_param(enable_compat_alsa, bool, 0444); - MODULE_PARM_DESC(enable_compat_alsa, - "Enables ALSA compatibility virtual audio device"); --module_param(num_channels, int, 0644); --MODULE_PARM_DESC(num_channels, "Number of audio channels (default: 8)"); - - static void bcm2835_devm_free_vchi_ctx(struct device *dev, void *res) - { -@@ -296,19 +294,28 @@ static int snd_add_child_devices(struct - static int snd_bcm2835_alsa_probe(struct platform_device *pdev) - { - struct device *dev = &pdev->dev; -+ u32 numchans; - int err; - -- if (num_channels <= 0 || num_channels > MAX_SUBSTREAMS) { -- num_channels = MAX_SUBSTREAMS; -- dev_warn(dev, "Illegal num_channels value, will use %u\n", -- num_channels); -+ err = of_property_read_u32(dev->of_node, "brcm,pwm-channels", -+ &numchans); -+ if (err) { -+ dev_err(dev, "Failed to get DT property 'brcm,pwm-channels'"); -+ return err; -+ } -+ -+ if (numchans == 0 || numchans > MAX_SUBSTREAMS) { -+ numchans = MAX_SUBSTREAMS; -+ dev_warn(dev, -+ "Illegal 'brcm,pwm-channels' value, will use %u\n", -+ numchans); - } - - err = bcm2835_devm_add_vchi_ctx(dev); - if (err) - return err; - -- err = snd_add_child_devices(dev, num_channels); -+ err = snd_add_child_devices(dev, numchans); - if (err) - return err; - -@@ -330,6 +337,12 @@ static int snd_bcm2835_alsa_resume(struc - - #endif - -+static const struct of_device_id snd_bcm2835_of_match_table[] = { -+ { .compatible = "brcm,bcm2835-audio",}, -+ {}, -+}; -+MODULE_DEVICE_TABLE(of, snd_bcm2835_of_match_table); -+ - static struct platform_driver bcm2835_alsa_driver = { - .probe = snd_bcm2835_alsa_probe, - #ifdef CONFIG_PM -@@ -338,6 +351,7 @@ static struct platform_driver bcm2835_al - #endif - .driver = { - .name = "bcm2835_audio", -+ .of_match_table = snd_bcm2835_of_match_table, - }, - }; - module_platform_driver(bcm2835_alsa_driver); -@@ -345,4 +359,3 @@ module_platform_driver(bcm2835_alsa_driv - MODULE_AUTHOR("Dom Cobley"); - MODULE_DESCRIPTION("Alsa driver for BCM2835 chip"); - MODULE_LICENSE("GPL"); --MODULE_ALIAS("platform:bcm2835_audio"); diff --git a/target/linux/brcm2708/patches-4.19/950-0545-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch b/target/linux/brcm2708/patches-4.19/950-0476-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0545-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch rename to target/linux/brcm2708/patches-4.19/950-0476-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch index db66e84a3..083e0c7f1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0545-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch +++ b/target/linux/brcm2708/patches-4.19/950-0476-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch @@ -1,7 +1,7 @@ From 856c8fdf68e589c89ed0518aab727c54fdff5afa Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 21 May 2019 13:36:52 +0100 -Subject: [PATCH 545/806] dwc_otg: Choose appropriate IRQ handover strategy +Subject: [PATCH] dwc_otg: Choose appropriate IRQ handover strategy 2711 has no MPHI peripheral, but the ARM Control block can fake interrupts. Use the size of the DTB "mphi" reg block to determine diff --git a/target/linux/brcm2708/patches-4.19/950-0546-usb-xhci-Disable-the-XHCI-5-second-timeout.patch b/target/linux/brcm2708/patches-4.19/950-0477-usb-xhci-Disable-the-XHCI-5-second-timeout.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0546-usb-xhci-Disable-the-XHCI-5-second-timeout.patch rename to target/linux/brcm2708/patches-4.19/950-0477-usb-xhci-Disable-the-XHCI-5-second-timeout.patch index f7c2ad866..abc576d69 100644 --- a/target/linux/brcm2708/patches-4.19/950-0546-usb-xhci-Disable-the-XHCI-5-second-timeout.patch +++ b/target/linux/brcm2708/patches-4.19/950-0477-usb-xhci-Disable-the-XHCI-5-second-timeout.patch @@ -1,7 +1,7 @@ From ff7222c0771a5e28666335663571058e560ad32b Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Fri, 22 Mar 2019 09:47:14 +0000 -Subject: [PATCH 546/806] usb: xhci: Disable the XHCI 5 second timeout +Subject: [PATCH] usb: xhci: Disable the XHCI 5 second timeout If the VL805 EEPROM has not been programmed then boot will hang for five seconds. The timeout seems to be arbitrary and is an unecessary diff --git a/target/linux/brcm2708/patches-4.19/950-0478-smsc95xx-dynamically-fix-up-TX-buffer-alignment-with.patch b/target/linux/brcm2708/patches-4.19/950-0478-smsc95xx-dynamically-fix-up-TX-buffer-alignment-with.patch deleted file mode 100644 index 149e2c035..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0478-smsc95xx-dynamically-fix-up-TX-buffer-alignment-with.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 26c79197da4b2911e10c600d79839a82a43a06ff Mon Sep 17 00:00:00 2001 -From: P33M -Date: Wed, 1 May 2019 17:04:32 +0100 -Subject: [PATCH 478/806] smsc95xx: dynamically fix up TX buffer alignment with - padding bytes - -dwc_otg requires a 32-bit aligned buffer start address, otherwise -expensive bounce buffers are used. The LAN951x hardware can skip up to -3 bytes between the TX header and the start of frame data, which can -be used to force alignment of the URB passed to dwc_otg. - -As found in https://github.com/raspberrypi/linux/issues/2924 ---- - drivers/net/usb/smsc95xx.c | 12 +++++++----- - drivers/net/usb/smsc95xx.h | 2 +- - 2 files changed, 8 insertions(+), 6 deletions(-) - ---- a/drivers/net/usb/smsc95xx.c -+++ b/drivers/net/usb/smsc95xx.c -@@ -2082,7 +2082,9 @@ static struct sk_buff *smsc95xx_tx_fixup - struct sk_buff *skb, gfp_t flags) - { - bool csum = skb->ip_summed == CHECKSUM_PARTIAL; -- int overhead = csum ? SMSC95XX_TX_OVERHEAD_CSUM : SMSC95XX_TX_OVERHEAD; -+ unsigned int align_bytes = -((uintptr_t)skb->data) & 0x3; -+ int overhead = csum ? SMSC95XX_TX_OVERHEAD_CSUM + align_bytes -+ : SMSC95XX_TX_OVERHEAD + align_bytes; - u32 tx_cmd_a, tx_cmd_b; - - /* We do not advertise SG, so skbs should be already linearized */ -@@ -2116,16 +2118,16 @@ static struct sk_buff *smsc95xx_tx_fixup - } - } - -- skb_push(skb, 4); -- tx_cmd_b = (u32)(skb->len - 4); -+ skb_push(skb, 4 + align_bytes); -+ tx_cmd_b = (u32)(skb->len - 4 - align_bytes); - if (csum) - tx_cmd_b |= TX_CMD_B_CSUM_ENABLE; - cpu_to_le32s(&tx_cmd_b); - memcpy(skb->data, &tx_cmd_b, 4); - - skb_push(skb, 4); -- tx_cmd_a = (u32)(skb->len - 8) | TX_CMD_A_FIRST_SEG_ | -- TX_CMD_A_LAST_SEG_; -+ tx_cmd_a = (u32)(skb->len - 8 - align_bytes) | TX_CMD_A_FIRST_SEG_ | -+ (align_bytes << 16) | TX_CMD_A_LAST_SEG_; - cpu_to_le32s(&tx_cmd_a); - memcpy(skb->data, &tx_cmd_a, 4); - ---- a/drivers/net/usb/smsc95xx.h -+++ b/drivers/net/usb/smsc95xx.h -@@ -21,7 +21,7 @@ - #define _SMSC95XX_H - - /* Tx command words */ --#define TX_CMD_A_DATA_OFFSET_ (0x001F0000) /* Data Start Offset */ -+#define TX_CMD_A_DATA_OFFSET_ (0x00030000) /* Data Start Offset */ - #define TX_CMD_A_FIRST_SEG_ (0x00002000) /* First Segment */ - #define TX_CMD_A_LAST_SEG_ (0x00001000) /* Last Segment */ - #define TX_CMD_A_BUF_SIZE_ (0x000007FF) /* Buffer Size */ diff --git a/target/linux/brcm2708/patches-4.19/950-0547-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch b/target/linux/brcm2708/patches-4.19/950-0478-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0547-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch rename to target/linux/brcm2708/patches-4.19/950-0478-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch index 496fb6152..239e142ed 100644 --- a/target/linux/brcm2708/patches-4.19/950-0547-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch +++ b/target/linux/brcm2708/patches-4.19/950-0478-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch @@ -1,7 +1,7 @@ From 94a960e8933fb94b979f88c319aa54c304004b35 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 May 2019 15:08:30 +0100 -Subject: [PATCH 547/806] usb: xhci: Show that the VIA VL805 supports LPM +Subject: [PATCH] usb: xhci: Show that the VIA VL805 supports LPM Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0550-spi-bcm2835-enable-shared-interrupt-support.patch b/target/linux/brcm2708/patches-4.19/950-0479-spi-bcm2835-enable-shared-interrupt-support.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0550-spi-bcm2835-enable-shared-interrupt-support.patch rename to target/linux/brcm2708/patches-4.19/950-0479-spi-bcm2835-enable-shared-interrupt-support.patch index 9c0a95621..f929b3a96 100644 --- a/target/linux/brcm2708/patches-4.19/950-0550-spi-bcm2835-enable-shared-interrupt-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0479-spi-bcm2835-enable-shared-interrupt-support.patch @@ -1,7 +1,7 @@ From 21dd7cd6dc231287b92a8c8b9ecf9d0844c2d325 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Mon, 13 May 2019 11:05:27 +0000 -Subject: [PATCH 550/806] spi: bcm2835: enable shared interrupt support +Subject: [PATCH] spi: bcm2835: enable shared interrupt support Add shared interrupt support for this driver. diff --git a/target/linux/brcm2708/patches-4.19/950-0551-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch b/target/linux/brcm2708/patches-4.19/950-0480-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0551-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch rename to target/linux/brcm2708/patches-4.19/950-0480-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch index 0601ecb87..fb358aa45 100644 --- a/target/linux/brcm2708/patches-4.19/950-0551-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0480-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch @@ -1,7 +1,7 @@ From 0be0d6439128366a8d2ac0afaf88f19209171e51 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 9 May 2019 14:30:37 +0100 -Subject: [PATCH 551/806] drivers: char: add chardev for mmap'ing Argon control +Subject: [PATCH] drivers: char: add chardev for mmap'ing Argon control registers Based on the gpiomem driver, allow mapping of the decoder register diff --git a/target/linux/brcm2708/patches-4.19/950-0552-clk-bcm2835-Don-t-wait-for-pllh-lock.patch b/target/linux/brcm2708/patches-4.19/950-0481-clk-bcm2835-Don-t-wait-for-pllh-lock.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0552-clk-bcm2835-Don-t-wait-for-pllh-lock.patch rename to target/linux/brcm2708/patches-4.19/950-0481-clk-bcm2835-Don-t-wait-for-pllh-lock.patch index ef5d5dfac..e8ab380b5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0552-clk-bcm2835-Don-t-wait-for-pllh-lock.patch +++ b/target/linux/brcm2708/patches-4.19/950-0481-clk-bcm2835-Don-t-wait-for-pllh-lock.patch @@ -1,7 +1,7 @@ From 3924edc9bd3c55d48c383c1046d75e163ce3cddb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Jan 2019 16:11:50 +0000 -Subject: [PATCH 552/806] clk-bcm2835: Don't wait for pllh lock +Subject: [PATCH] clk-bcm2835: Don't wait for pllh lock Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0553-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch b/target/linux/brcm2708/patches-4.19/950-0482-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0553-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch rename to target/linux/brcm2708/patches-4.19/950-0482-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch index de360d28c..ff15427b5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0553-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch +++ b/target/linux/brcm2708/patches-4.19/950-0482-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch @@ -1,7 +1,7 @@ From 90964ab2d00546a59086ffd08964da3d2a5cefc9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Dec 2018 15:51:47 -0800 -Subject: [PATCH 553/806] bcm2835-pm: Move bcm2835-watchdog's DT probe to an +Subject: [PATCH] bcm2835-pm: Move bcm2835-watchdog's DT probe to an MFD. The PM block that the wdt driver was binding to actually has multiple diff --git a/target/linux/brcm2708/patches-4.19/950-0554-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch b/target/linux/brcm2708/patches-4.19/950-0483-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0554-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch rename to target/linux/brcm2708/patches-4.19/950-0483-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch index 2c046a75c..229dbe520 100644 --- a/target/linux/brcm2708/patches-4.19/950-0554-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch +++ b/target/linux/brcm2708/patches-4.19/950-0483-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch @@ -1,7 +1,7 @@ From fd8ca458728baabe9cae37836088a33c8642d420 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Dec 2018 15:51:48 -0800 -Subject: [PATCH 554/806] soc: bcm: bcm2835-pm: Add support for power domains +Subject: [PATCH] soc: bcm: bcm2835-pm: Add support for power domains under a new binding. This provides a free software alternative to raspberrypi-power.c's diff --git a/target/linux/brcm2708/patches-4.19/950-0555-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch b/target/linux/brcm2708/patches-4.19/950-0484-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0555-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch rename to target/linux/brcm2708/patches-4.19/950-0484-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch index 5c6f02774..05ae67aee 100644 --- a/target/linux/brcm2708/patches-4.19/950-0555-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch +++ b/target/linux/brcm2708/patches-4.19/950-0484-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch @@ -1,7 +1,7 @@ From ea44a81b7daf511788aecaee7575feff359c5d19 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 11 Jan 2019 17:29:10 -0800 -Subject: [PATCH 555/806] soc: bcm: bcm2835-pm: Fix PM_IMAGE_PERI power domain +Subject: [PATCH] soc: bcm: bcm2835-pm: Fix PM_IMAGE_PERI power domain support. We don't have ASB master/slave regs for this domain, so just skip that diff --git a/target/linux/brcm2708/patches-4.19/950-0556-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch b/target/linux/brcm2708/patches-4.19/950-0485-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0556-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch rename to target/linux/brcm2708/patches-4.19/950-0485-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch index d873ec633..0f3ea9a9f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0556-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch +++ b/target/linux/brcm2708/patches-4.19/950-0485-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch @@ -1,7 +1,7 @@ From 8d9f3526529d857376c661c21820a0049c2e62de Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sat, 12 Jan 2019 08:07:43 -0800 -Subject: [PATCH 556/806] soc: bcm: bcm2835-pm: Fix error paths of +Subject: [PATCH] soc: bcm: bcm2835-pm: Fix error paths of initialization. The clock driver may probe after ours and so we need to pass the diff --git a/target/linux/brcm2708/patches-4.19/950-0557-soc-bcm-bcm2835-pm-Add-support-for-2711.patch b/target/linux/brcm2708/patches-4.19/950-0486-soc-bcm-bcm2835-pm-Add-support-for-2711.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0557-soc-bcm-bcm2835-pm-Add-support-for-2711.patch rename to target/linux/brcm2708/patches-4.19/950-0486-soc-bcm-bcm2835-pm-Add-support-for-2711.patch index 5f547fddf..4c8728945 100644 --- a/target/linux/brcm2708/patches-4.19/950-0557-soc-bcm-bcm2835-pm-Add-support-for-2711.patch +++ b/target/linux/brcm2708/patches-4.19/950-0486-soc-bcm-bcm2835-pm-Add-support-for-2711.patch @@ -1,7 +1,7 @@ From f3470769d4e64084fc7f3060d634aff8fdf8f75d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 11 Jan 2019 17:31:07 -0800 -Subject: [PATCH 557/806] soc: bcm: bcm2835-pm: Add support for 2711. +Subject: [PATCH] soc: bcm: bcm2835-pm: Add support for 2711. Without the actual power management part any more, there's a lot less to set up for V3D. We just need to clear the RSTN field for the power diff --git a/target/linux/brcm2708/patches-4.19/950-0558-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch b/target/linux/brcm2708/patches-4.19/950-0487-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0558-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch rename to target/linux/brcm2708/patches-4.19/950-0487-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch index 1dc154ba4..2b4d34e3f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0558-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch +++ b/target/linux/brcm2708/patches-4.19/950-0487-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch @@ -1,7 +1,7 @@ From 7e891cb1f9f57c87706b1292f186d65e1640e0e7 Mon Sep 17 00:00:00 2001 From: Chunming Zhou Date: Thu, 30 Aug 2018 14:48:29 +0800 -Subject: [PATCH 558/806] drm: expand drm_syncobj_find_fence to support +Subject: [PATCH] drm: expand drm_syncobj_find_fence to support timeline point v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/target/linux/brcm2708/patches-4.19/950-0488-Revert-video-bcm2708_fb-Try-allocating-on-the-ARM-an.patch b/target/linux/brcm2708/patches-4.19/950-0488-Revert-video-bcm2708_fb-Try-allocating-on-the-ARM-an.patch deleted file mode 100644 index 924e863a4..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0488-Revert-video-bcm2708_fb-Try-allocating-on-the-ARM-an.patch +++ /dev/null @@ -1,164 +0,0 @@ -From 71a27bf49d7a64959b7e60d780a1f899ead34f5f Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Mon, 13 May 2019 17:34:29 +0100 -Subject: [PATCH 488/806] Revert "video: bcm2708_fb: Try allocating on the ARM - and passing to VPU" - -This reverts commit ca36c709fce57e8023d2b8b354376bf161601a49. - -The driver tries a cma_alloc to avoid using gpu_mem, but should -that fail the core code is logging an error with no easy way to -test whether it will succeed or fail first. - -Revert until we either totally give up on gpu_mem and increase -CMA always, or find a way to try an allocation. - -Signed-off-by: Dave Stevenson ---- - drivers/video/fbdev/bcm2708_fb.c | 102 +++------------------ - include/soc/bcm2835/raspberrypi-firmware.h | 1 - - 2 files changed, 12 insertions(+), 91 deletions(-) - ---- a/drivers/video/fbdev/bcm2708_fb.c -+++ b/drivers/video/fbdev/bcm2708_fb.c -@@ -98,11 +98,6 @@ struct bcm2708_fb { - struct bcm2708_fb_stats stats; - unsigned long fb_bus_address; - struct { u32 base, length; } gpu; -- -- bool disable_arm_alloc; -- unsigned int image_size; -- dma_addr_t dma_addr; -- void *cpuaddr; - }; - - #define to_bcm2708(info) container_of(info, struct bcm2708_fb, fb) -@@ -288,88 +283,23 @@ static int bcm2708_fb_set_par(struct fb_ - .xoffset = info->var.xoffset, - .yoffset = info->var.yoffset, - .tag5 = { RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE, 8, 0 }, -- /* base and screen_size will be initialised later */ -- .tag6 = { RPI_FIRMWARE_FRAMEBUFFER_SET_PITCH, 4, 0 }, -- /* pitch will be initialised later */ -+ .base = 0, -+ .screen_size = 0, -+ .tag6 = { RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH, 4, 0 }, -+ .pitch = 0, - }; -- int ret, image_size; -- -+ int ret; - - print_debug("%s(%p) %dx%d (%dx%d), %d, %d\n", __func__, info, - info->var.xres, info->var.yres, info->var.xres_virtual, - info->var.yres_virtual, (int)info->screen_size, - info->var.bits_per_pixel); - -- /* Try allocating our own buffer. We can specify all the parameters */ -- image_size = ((info->var.xres * info->var.yres) * -- info->var.bits_per_pixel) >> 3; -- -- if (!fb->disable_arm_alloc && -- (image_size != fb->image_size || !fb->dma_addr)) { -- if (fb->dma_addr) { -- dma_free_coherent(info->device, fb->image_size, -- fb->cpuaddr, fb->dma_addr); -- fb->image_size = 0; -- fb->cpuaddr = NULL; -- fb->dma_addr = 0; -- } -- -- fb->cpuaddr = dma_alloc_coherent(info->device, image_size, -- &fb->dma_addr, GFP_KERNEL); -- -- if (!fb->cpuaddr) { -- fb->dma_addr = 0; -- fb->disable_arm_alloc = true; -- } else { -- fb->image_size = image_size; -- } -- } -- -- if (fb->cpuaddr) { -- fbinfo.base = fb->dma_addr; -- fbinfo.screen_size = image_size; -- fbinfo.pitch = (info->var.xres * info->var.bits_per_pixel) >> 3; -- -- ret = rpi_firmware_property_list(fb->fw, &fbinfo, -- sizeof(fbinfo)); -- if (ret || fbinfo.base != fb->dma_addr) { -- /* Firmware either failed, or assigned a different base -- * address (ie it doesn't support being passed an FB -- * allocation). -- * Destroy the allocation, and don't try again. -- */ -- dma_free_coherent(info->device, fb->image_size, -- fb->cpuaddr, fb->dma_addr); -- fb->image_size = 0; -- fb->cpuaddr = NULL; -- fb->dma_addr = 0; -- fb->disable_arm_alloc = true; -- } -- } else { -- /* Our allocation failed - drop into the old scheme of -- * allocation by the VPU. -- */ -- ret = -ENOMEM; -- } -- -+ ret = rpi_firmware_property_list(fb->fw, &fbinfo, sizeof(fbinfo)); - if (ret) { -- /* Old scheme: -- * - FRAMEBUFFER_ALLOCATE passes 0 for base and screen_size. -- * - GET_PITCH instead of SET_PITCH. -- */ -- fbinfo.base = 0; -- fbinfo.screen_size = 0; -- fbinfo.tag6.tag = RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH; -- fbinfo.pitch = 0; -- -- ret = rpi_firmware_property_list(fb->fw, &fbinfo, -- sizeof(fbinfo)); -- if (ret) { -- dev_err(info->device, -- "Failed to allocate GPU framebuffer (%d)\n", -- ret); -- return ret; -- } -+ dev_err(info->device, -+ "Failed to allocate GPU framebuffer (%d)\n", ret); -+ return ret; - } - - if (info->var.bits_per_pixel <= 8) -@@ -384,17 +314,9 @@ static int bcm2708_fb_set_par(struct fb_ - fb->fb.fix.smem_start = fbinfo.base; - fb->fb.fix.smem_len = fbinfo.pitch * fbinfo.yres_virtual; - fb->fb.screen_size = fbinfo.screen_size; -- -- if (!fb->dma_addr) { -- if (fb->fb.screen_base) -- iounmap(fb->fb.screen_base); -- -- fb->fb.screen_base = ioremap_wc(fbinfo.base, -- fb->fb.screen_size); -- } else { -- fb->fb.screen_base = fb->cpuaddr; -- } -- -+ if (fb->fb.screen_base) -+ iounmap(fb->fb.screen_base); -+ fb->fb.screen_base = ioremap_wc(fbinfo.base, fb->fb.screen_size); - if (!fb->fb.screen_base) { - /* the console may currently be locked */ - console_trylock(); ---- a/include/soc/bcm2835/raspberrypi-firmware.h -+++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -128,7 +128,6 @@ enum rpi_firmware_property_tag { - RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH = 0x00048005, - RPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER = 0x00048006, - RPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE = 0x00048007, -- RPI_FIRMWARE_FRAMEBUFFER_SET_PITCH = 0x00048008, - RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET = 0x00048009, - RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a, - RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b, diff --git a/target/linux/brcm2708/patches-4.19/950-0559-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch b/target/linux/brcm2708/patches-4.19/950-0488-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0559-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch rename to target/linux/brcm2708/patches-4.19/950-0488-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch index 1692bac2a..126452f97 100644 --- a/target/linux/brcm2708/patches-4.19/950-0559-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch +++ b/target/linux/brcm2708/patches-4.19/950-0488-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch @@ -1,7 +1,7 @@ From f5f3df2b1746a9ba9420ae11988fc37a7b93691d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 28 Sep 2018 16:21:23 -0700 -Subject: [PATCH 559/806] drm/v3d: Fix a use-after-free race accessing the +Subject: [PATCH] drm/v3d: Fix a use-after-free race accessing the scheduler's fences. Once we push the job, the scheduler could run it and free it. So, if diff --git a/target/linux/brcm2708/patches-4.19/950-0560-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch b/target/linux/brcm2708/patches-4.19/950-0489-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0560-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch rename to target/linux/brcm2708/patches-4.19/950-0489-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch index 0daf48360..847bb2089 100644 --- a/target/linux/brcm2708/patches-4.19/950-0560-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch +++ b/target/linux/brcm2708/patches-4.19/950-0489-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch @@ -1,7 +1,7 @@ From 18f93916e42ea25fc77cab20d1e038620e33d741 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 28 Sep 2018 16:21:24 -0700 -Subject: [PATCH 560/806] drm/v3d: Add a little debugfs entry for measuring the +Subject: [PATCH] drm/v3d: Add a little debugfs entry for measuring the core clock. This adds just enough performance counter support to measure the diff --git a/target/linux/brcm2708/patches-4.19/950-0490-Revert-smsc95xx-dynamically-fix-up-TX-buffer-alignme.patch b/target/linux/brcm2708/patches-4.19/950-0490-Revert-smsc95xx-dynamically-fix-up-TX-buffer-alignme.patch deleted file mode 100644 index 7eea87d0d..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0490-Revert-smsc95xx-dynamically-fix-up-TX-buffer-alignme.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 89bb75e008adf061e3e396de76020b00ea0d6123 Mon Sep 17 00:00:00 2001 -From: P33M -Date: Tue, 14 May 2019 14:55:19 +0100 -Subject: [PATCH 490/806] Revert "smsc95xx: dynamically fix up TX buffer - alignment with padding bytes" - -As reported in https://github.com/raspberrypi/linux/issues/2964 this -commit causes a regression corrupting non-option TCP ack packets. - -This reverts commit 96b972dc736d943f371a16ccca452a053d83c65b. ---- - drivers/net/usb/smsc95xx.c | 12 +++++------- - drivers/net/usb/smsc95xx.h | 2 +- - 2 files changed, 6 insertions(+), 8 deletions(-) - ---- a/drivers/net/usb/smsc95xx.c -+++ b/drivers/net/usb/smsc95xx.c -@@ -2082,9 +2082,7 @@ static struct sk_buff *smsc95xx_tx_fixup - struct sk_buff *skb, gfp_t flags) - { - bool csum = skb->ip_summed == CHECKSUM_PARTIAL; -- unsigned int align_bytes = -((uintptr_t)skb->data) & 0x3; -- int overhead = csum ? SMSC95XX_TX_OVERHEAD_CSUM + align_bytes -- : SMSC95XX_TX_OVERHEAD + align_bytes; -+ int overhead = csum ? SMSC95XX_TX_OVERHEAD_CSUM : SMSC95XX_TX_OVERHEAD; - u32 tx_cmd_a, tx_cmd_b; - - /* We do not advertise SG, so skbs should be already linearized */ -@@ -2118,16 +2116,16 @@ static struct sk_buff *smsc95xx_tx_fixup - } - } - -- skb_push(skb, 4 + align_bytes); -- tx_cmd_b = (u32)(skb->len - 4 - align_bytes); -+ skb_push(skb, 4); -+ tx_cmd_b = (u32)(skb->len - 4); - if (csum) - tx_cmd_b |= TX_CMD_B_CSUM_ENABLE; - cpu_to_le32s(&tx_cmd_b); - memcpy(skb->data, &tx_cmd_b, 4); - - skb_push(skb, 4); -- tx_cmd_a = (u32)(skb->len - 8 - align_bytes) | TX_CMD_A_FIRST_SEG_ | -- (align_bytes << 16) | TX_CMD_A_LAST_SEG_; -+ tx_cmd_a = (u32)(skb->len - 8) | TX_CMD_A_FIRST_SEG_ | -+ TX_CMD_A_LAST_SEG_; - cpu_to_le32s(&tx_cmd_a); - memcpy(skb->data, &tx_cmd_a, 4); - ---- a/drivers/net/usb/smsc95xx.h -+++ b/drivers/net/usb/smsc95xx.h -@@ -21,7 +21,7 @@ - #define _SMSC95XX_H - - /* Tx command words */ --#define TX_CMD_A_DATA_OFFSET_ (0x00030000) /* Data Start Offset */ -+#define TX_CMD_A_DATA_OFFSET_ (0x001F0000) /* Data Start Offset */ - #define TX_CMD_A_FIRST_SEG_ (0x00002000) /* First Segment */ - #define TX_CMD_A_LAST_SEG_ (0x00001000) /* Last Segment */ - #define TX_CMD_A_BUF_SIZE_ (0x000007FF) /* Buffer Size */ diff --git a/target/linux/brcm2708/patches-4.19/950-0561-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch b/target/linux/brcm2708/patches-4.19/950-0490-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0561-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch rename to target/linux/brcm2708/patches-4.19/950-0490-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch index 2401885e2..e5068090a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0561-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch +++ b/target/linux/brcm2708/patches-4.19/950-0490-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch @@ -1,7 +1,7 @@ From 6351d93a0f1a18c45c4407c472195d957da5d3d0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 8 Nov 2018 08:16:52 -0800 -Subject: [PATCH 561/806] drm/v3d: Update a comment about what uses +Subject: [PATCH] drm/v3d: Update a comment about what uses v3d_job_dependency(). I merged bin and render's paths in a late refactoring. diff --git a/target/linux/brcm2708/patches-4.19/950-0562-drm-v3d-Clean-up-the-reservation-object-setup.patch b/target/linux/brcm2708/patches-4.19/950-0491-drm-v3d-Clean-up-the-reservation-object-setup.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0562-drm-v3d-Clean-up-the-reservation-object-setup.patch rename to target/linux/brcm2708/patches-4.19/950-0491-drm-v3d-Clean-up-the-reservation-object-setup.patch index ec26c5399..94156e72b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0562-drm-v3d-Clean-up-the-reservation-object-setup.patch +++ b/target/linux/brcm2708/patches-4.19/950-0491-drm-v3d-Clean-up-the-reservation-object-setup.patch @@ -1,7 +1,7 @@ From 5ca5bd799b4f4a065b969461fa7852415bfb8c6f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 8 Nov 2018 08:16:53 -0800 -Subject: [PATCH 562/806] drm/v3d: Clean up the reservation object setup. +Subject: [PATCH] drm/v3d: Clean up the reservation object setup. The extra to_v3d_bo() calls came from copying this from the vc4 driver, which stored the cma gem object in the structs. diff --git a/target/linux/brcm2708/patches-4.19/950-0563-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch b/target/linux/brcm2708/patches-4.19/950-0492-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0563-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch rename to target/linux/brcm2708/patches-4.19/950-0492-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch index 095a4c896..99b1a69c0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0563-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch +++ b/target/linux/brcm2708/patches-4.19/950-0492-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch @@ -1,7 +1,7 @@ From ba1e90b6c3b3bf0e88ab01c824c4f8fde582e878 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 28 Nov 2018 15:09:25 -0800 -Subject: [PATCH 563/806] drm/v3d: Add support for submitting jobs to the TFU. +Subject: [PATCH] drm/v3d: Add support for submitting jobs to the TFU. The TFU can copy from raster, UIF, and SAND input images to UIF output images, with optional mipmap generation. This will certainly be diff --git a/target/linux/brcm2708/patches-4.19/950-0564-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch b/target/linux/brcm2708/patches-4.19/950-0493-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0564-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch rename to target/linux/brcm2708/patches-4.19/950-0493-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch index 83ee5e3ca..e39c19190 100644 --- a/target/linux/brcm2708/patches-4.19/950-0564-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch +++ b/target/linux/brcm2708/patches-4.19/950-0493-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch @@ -1,7 +1,7 @@ From c95a4208ef87c56349d35480e68304562c7612bd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 28 Nov 2018 15:09:26 -0800 -Subject: [PATCH 564/806] drm/v3d: Drop the "dev" argument to lock/unlock of BO +Subject: [PATCH] drm/v3d: Drop the "dev" argument to lock/unlock of BO reservations. They were unused, as Dave Emett noticed in TFU review. diff --git a/target/linux/brcm2708/patches-4.19/950-0565-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch b/target/linux/brcm2708/patches-4.19/950-0494-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0565-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch rename to target/linux/brcm2708/patches-4.19/950-0494-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch index 12e00cbd5..d56e04547 100644 --- a/target/linux/brcm2708/patches-4.19/950-0565-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch +++ b/target/linux/brcm2708/patches-4.19/950-0494-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch @@ -1,7 +1,7 @@ From 49281ec9b6f3c7bda94c798133dd35d50eb69649 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 30 Nov 2018 16:57:59 -0800 -Subject: [PATCH 565/806] drm/v3d: Add missing fence timeline name for TFU. +Subject: [PATCH] drm/v3d: Add missing fence timeline name for TFU. We shouldn't be returning v3d-render for our new queue. diff --git a/target/linux/brcm2708/patches-4.19/950-0566-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch b/target/linux/brcm2708/patches-4.19/950-0495-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0566-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch rename to target/linux/brcm2708/patches-4.19/950-0495-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch index b3bb3c784..0b5464510 100644 --- a/target/linux/brcm2708/patches-4.19/950-0566-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch +++ b/target/linux/brcm2708/patches-4.19/950-0495-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch @@ -1,7 +1,7 @@ From 128adbc39c9826ca137ca3627cff17644e786fdb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 30 Nov 2018 16:57:58 -0800 -Subject: [PATCH 566/806] drm/v3d: Add more tracepoints for V3D GPU rendering. +Subject: [PATCH] drm/v3d: Add more tracepoints for V3D GPU rendering. The core scheduler tells us when the job is pushed to the scheduler's queue, and I had the job_run functions saying when they actually queue diff --git a/target/linux/brcm2708/patches-4.19/950-0567-drm-v3d-Drop-unused-v3d_flush_caches.patch b/target/linux/brcm2708/patches-4.19/950-0496-drm-v3d-Drop-unused-v3d_flush_caches.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0567-drm-v3d-Drop-unused-v3d_flush_caches.patch rename to target/linux/brcm2708/patches-4.19/950-0496-drm-v3d-Drop-unused-v3d_flush_caches.patch index e238f32a9..aba98eb97 100644 --- a/target/linux/brcm2708/patches-4.19/950-0567-drm-v3d-Drop-unused-v3d_flush_caches.patch +++ b/target/linux/brcm2708/patches-4.19/950-0496-drm-v3d-Drop-unused-v3d_flush_caches.patch @@ -1,7 +1,7 @@ From 065c8947cb7c40bfb3e76dcbb9d901b5e8fe0ea4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Dec 2018 14:24:34 -0800 -Subject: [PATCH 567/806] drm/v3d: Drop unused v3d_flush_caches(). +Subject: [PATCH] drm/v3d: Drop unused v3d_flush_caches(). Now that I've specified how the end-of-pipeline flushing should work, we're never going to use this function. diff --git a/target/linux/brcm2708/patches-4.19/950-0568-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch b/target/linux/brcm2708/patches-4.19/950-0497-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0568-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch rename to target/linux/brcm2708/patches-4.19/950-0497-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch index f7195c4d2..164e29f67 100644 --- a/target/linux/brcm2708/patches-4.19/950-0568-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch +++ b/target/linux/brcm2708/patches-4.19/950-0497-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch @@ -1,7 +1,7 @@ From 4a6410a53059d6505680b70fc438b7cfbf8939ca Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Dec 2018 14:24:35 -0800 -Subject: [PATCH 568/806] drm/v3d: Don't bother flushing L1TD at job start. +Subject: [PATCH] drm/v3d: Don't bother flushing L1TD at job start. This is the write combiner for TMU writes. You're supposed to flush that at job end if you had dirtied any cachelines. Flushing it at job diff --git a/target/linux/brcm2708/patches-4.19/950-0569-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch b/target/linux/brcm2708/patches-4.19/950-0498-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0569-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch rename to target/linux/brcm2708/patches-4.19/950-0498-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch index 70c14f182..5a72f9c71 100644 --- a/target/linux/brcm2708/patches-4.19/950-0569-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch +++ b/target/linux/brcm2708/patches-4.19/950-0498-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch @@ -1,7 +1,7 @@ From 9d8fa62500ae52348d36766e70b49c7508addaf3 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Dec 2018 14:24:36 -0800 -Subject: [PATCH 569/806] drm/v3d: Drop the wait for L2T flush to complete. +Subject: [PATCH] drm/v3d: Drop the wait for L2T flush to complete. According to Dave, once you've started an L2T flush, all L2T accesses will be blocked until the flush completes. This fixes a consistent diff --git a/target/linux/brcm2708/patches-4.19/950-0570-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch b/target/linux/brcm2708/patches-4.19/950-0499-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0570-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch rename to target/linux/brcm2708/patches-4.19/950-0499-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch index 442eb63c5..b1094778b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0570-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch +++ b/target/linux/brcm2708/patches-4.19/950-0499-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch @@ -1,7 +1,7 @@ From abee30ca29ec11b62842934de04b5a0033bff21b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Dec 2018 14:24:37 -0800 -Subject: [PATCH 570/806] drm/v3d: Stop trying to flush L2C on V3D 3.3+ +Subject: [PATCH] drm/v3d: Stop trying to flush L2C on V3D 3.3+ This cache was replaced with the slice accessing the L2T in the newer generations. Noted by Dave during review. diff --git a/target/linux/brcm2708/patches-4.19/950-0571-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch b/target/linux/brcm2708/patches-4.19/950-0500-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0571-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch rename to target/linux/brcm2708/patches-4.19/950-0500-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch index 3348f43d2..7682ab677 100644 --- a/target/linux/brcm2708/patches-4.19/950-0571-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch +++ b/target/linux/brcm2708/patches-4.19/950-0500-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch @@ -1,7 +1,7 @@ From 514653cd51ff6bc14268dc0f98ebb37daa8f0e88 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Dec 2018 14:24:38 -0800 -Subject: [PATCH 571/806] drm/v3d: Invalidate the caches from the outside in. +Subject: [PATCH] drm/v3d: Invalidate the caches from the outside in. This would be a fairly obscure race, but let's make sure we don't ever lose it. diff --git a/target/linux/brcm2708/patches-4.19/950-0572-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch b/target/linux/brcm2708/patches-4.19/950-0501-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0572-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch rename to target/linux/brcm2708/patches-4.19/950-0501-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch index 6dd89a9ed..fc2b56635 100644 --- a/target/linux/brcm2708/patches-4.19/950-0572-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch +++ b/target/linux/brcm2708/patches-4.19/950-0501-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch @@ -1,7 +1,7 @@ From f91d0382b735a3d7711f6b160d80627cd4be54af Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 7 Feb 2019 15:26:13 -0800 -Subject: [PATCH 572/806] drm/v3d: Fix BO stats accounting for dma-buf-imported +Subject: [PATCH] drm/v3d: Fix BO stats accounting for dma-buf-imported buffers. We always decrement at GEM free, so make sure we increment at GEM diff --git a/target/linux/brcm2708/patches-4.19/950-0573-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch b/target/linux/brcm2708/patches-4.19/950-0502-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0573-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch rename to target/linux/brcm2708/patches-4.19/950-0502-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch index 99a7680e0..df8cc1a35 100644 --- a/target/linux/brcm2708/patches-4.19/950-0573-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0502-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch @@ -1,7 +1,7 @@ From 752f66d4482db75db81e5255f5071de1e47ac121 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 7 Feb 2019 12:09:58 -0800 -Subject: [PATCH 573/806] drm/v3d: Update top-level kerneldoc for the addition +Subject: [PATCH] drm/v3d: Update top-level kerneldoc for the addition of TFU. Signed-off-by: Eric Anholt diff --git a/target/linux/brcm2708/patches-4.19/950-0574-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch b/target/linux/brcm2708/patches-4.19/950-0503-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0574-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch rename to target/linux/brcm2708/patches-4.19/950-0503-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch index 34e10fdd4..aaeeb944f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0574-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch +++ b/target/linux/brcm2708/patches-4.19/950-0503-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch @@ -1,7 +1,7 @@ From ec551e663ddd1be9140cc23f1eff33b8d270ed60 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 4 Mar 2019 11:59:34 -0800 -Subject: [PATCH 574/806] drm/vc4: Fix oops at boot with firmwarekms on 4.19. +Subject: [PATCH] drm/vc4: Fix oops at boot with firmwarekms on 4.19. Signed-off-by: Eric Anholt --- diff --git a/target/linux/brcm2708/patches-4.19/950-0576-drm-v3d-Add-support-for-V3D-v4.2.patch b/target/linux/brcm2708/patches-4.19/950-0504-drm-v3d-Add-support-for-V3D-v4.2.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0576-drm-v3d-Add-support-for-V3D-v4.2.patch rename to target/linux/brcm2708/patches-4.19/950-0504-drm-v3d-Add-support-for-V3D-v4.2.patch index 0873dbad6..35fc072d8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0576-drm-v3d-Add-support-for-V3D-v4.2.patch +++ b/target/linux/brcm2708/patches-4.19/950-0504-drm-v3d-Add-support-for-V3D-v4.2.patch @@ -1,7 +1,7 @@ From b0e7b8814e74be0559e07f737ef18cc3709d4ac4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 4 Oct 2018 17:22:43 -0700 -Subject: [PATCH 576/806] drm/v3d: Add support for V3D v4.2. +Subject: [PATCH] drm/v3d: Add support for V3D v4.2. No compatible string for it yet, just the version-dependent changes. They've now tied the hub and the core interrupt lines into a single diff --git a/target/linux/brcm2708/patches-4.19/950-0577-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch b/target/linux/brcm2708/patches-4.19/950-0505-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0577-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch rename to target/linux/brcm2708/patches-4.19/950-0505-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch index 3feec5f58..a6d0d26b4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0577-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch +++ b/target/linux/brcm2708/patches-4.19/950-0505-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch @@ -1,7 +1,7 @@ From 8011a92f6eabd682e62e268bcd80b45ce3f06af4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 16 Oct 2018 10:13:41 -0700 -Subject: [PATCH 577/806] drm/v3d: Don't try to set OVRTMUOUT on V3D 4.x. +Subject: [PATCH] drm/v3d: Don't try to set OVRTMUOUT on V3D 4.x. The old field is gone and the register now has a different field, QRMAXCNT for how many TMU requests get serviced before thread switch. diff --git a/target/linux/brcm2708/patches-4.19/950-0578-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch b/target/linux/brcm2708/patches-4.19/950-0506-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0578-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch rename to target/linux/brcm2708/patches-4.19/950-0506-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch index a7840c97c..30cb22896 100644 --- a/target/linux/brcm2708/patches-4.19/950-0578-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch +++ b/target/linux/brcm2708/patches-4.19/950-0506-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch @@ -1,7 +1,7 @@ From 19846d53c32be7c9d8d46b369910374c5ea9b9d5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 17:26:04 -0800 -Subject: [PATCH 578/806] drm/v3d: Make sure the GPU is on when measuring +Subject: [PATCH] drm/v3d: Make sure the GPU is on when measuring clocks. You'll get garbage measurements if the registers always read back diff --git a/target/linux/brcm2708/patches-4.19/950-0579-drm-v3d-Add-support-for-2711.patch b/target/linux/brcm2708/patches-4.19/950-0507-drm-v3d-Add-support-for-2711.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0579-drm-v3d-Add-support-for-2711.patch rename to target/linux/brcm2708/patches-4.19/950-0507-drm-v3d-Add-support-for-2711.patch index d6fa8cb1a..1d723db61 100644 --- a/target/linux/brcm2708/patches-4.19/950-0579-drm-v3d-Add-support-for-2711.patch +++ b/target/linux/brcm2708/patches-4.19/950-0507-drm-v3d-Add-support-for-2711.patch @@ -1,7 +1,7 @@ From ffd9543f2d74e9215996ce6500fc34dcf7976462 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 4 Oct 2018 17:22:43 -0700 -Subject: [PATCH 579/806] drm/v3d: Add support for 2711. +Subject: [PATCH] drm/v3d: Add support for 2711. Signed-off-by: Eric Anholt --- diff --git a/target/linux/brcm2708/patches-4.19/950-0580-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch b/target/linux/brcm2708/patches-4.19/950-0508-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0580-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch rename to target/linux/brcm2708/patches-4.19/950-0508-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch index ea5044c1f..57f8e508c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0580-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch +++ b/target/linux/brcm2708/patches-4.19/950-0508-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch @@ -1,7 +1,7 @@ From f389abea861f9bd3165f98a8d3a1f3407e9fc01a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 12:35:43 -0800 -Subject: [PATCH 580/806] drm/v3d: Skip MMU flush if the device is currently +Subject: [PATCH] drm/v3d: Skip MMU flush if the device is currently off. If it's off, we know it will be reset on poweron, so the MMU won't diff --git a/target/linux/brcm2708/patches-4.19/950-0581-drm-v3d-Hook-up-the-runtime-PM-ops.patch b/target/linux/brcm2708/patches-4.19/950-0509-drm-v3d-Hook-up-the-runtime-PM-ops.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0581-drm-v3d-Hook-up-the-runtime-PM-ops.patch rename to target/linux/brcm2708/patches-4.19/950-0509-drm-v3d-Hook-up-the-runtime-PM-ops.patch index 55ad2b5f3..3286cd0fb 100644 --- a/target/linux/brcm2708/patches-4.19/950-0581-drm-v3d-Hook-up-the-runtime-PM-ops.patch +++ b/target/linux/brcm2708/patches-4.19/950-0509-drm-v3d-Hook-up-the-runtime-PM-ops.patch @@ -1,7 +1,7 @@ From 30dd82d785715b2ed52a5079595ffcd2ec1f728d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 14:47:57 -0800 -Subject: [PATCH 581/806] drm/v3d: Hook up the runtime PM ops. +Subject: [PATCH] drm/v3d: Hook up the runtime PM ops. In translating the runtime PM code from vc4, I missed the ".pm" assignment to actually connect them up. Fixes missing MMU setup if diff --git a/target/linux/brcm2708/patches-4.19/950-0582-drm-v3d-HACK-gut-runtime-pm-for-now.patch b/target/linux/brcm2708/patches-4.19/950-0510-drm-v3d-HACK-gut-runtime-pm-for-now.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0582-drm-v3d-HACK-gut-runtime-pm-for-now.patch rename to target/linux/brcm2708/patches-4.19/950-0510-drm-v3d-HACK-gut-runtime-pm-for-now.patch index 6b2db7306..654ef432f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0582-drm-v3d-HACK-gut-runtime-pm-for-now.patch +++ b/target/linux/brcm2708/patches-4.19/950-0510-drm-v3d-HACK-gut-runtime-pm-for-now.patch @@ -1,7 +1,7 @@ From 2d4f38abdc2a919d8002fbec7bc0be7c1312786a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 15:13:17 -0800 -Subject: [PATCH 582/806] drm/v3d: HACK: gut runtime pm for now. +Subject: [PATCH] drm/v3d: HACK: gut runtime pm for now. Something is still unstable -- on starting a new glxgears from an idle X11, I get an MMU violation in high addresses. The CTS also failed diff --git a/target/linux/brcm2708/patches-4.19/950-0583-drm-v3d-Update-to-upstream-IRQ-code.patch b/target/linux/brcm2708/patches-4.19/950-0511-drm-v3d-Update-to-upstream-IRQ-code.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0583-drm-v3d-Update-to-upstream-IRQ-code.patch rename to target/linux/brcm2708/patches-4.19/950-0511-drm-v3d-Update-to-upstream-IRQ-code.patch index c3e547aa3..3c15cc191 100644 --- a/target/linux/brcm2708/patches-4.19/950-0583-drm-v3d-Update-to-upstream-IRQ-code.patch +++ b/target/linux/brcm2708/patches-4.19/950-0511-drm-v3d-Update-to-upstream-IRQ-code.patch @@ -1,7 +1,7 @@ From 50088003d803f04e536eb09ac2635df35b5c8ae4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 12 Mar 2019 09:08:10 -0700 -Subject: [PATCH 583/806] drm/v3d: Update to upstream IRQ code. +Subject: [PATCH] drm/v3d: Update to upstream IRQ code. --- drivers/gpu/drm/v3d/v3d_irq.c | 25 +++++++++++++++---------- diff --git a/target/linux/brcm2708/patches-4.19/950-0584-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch b/target/linux/brcm2708/patches-4.19/950-0512-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0584-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch rename to target/linux/brcm2708/patches-4.19/950-0512-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch index 3cb72bdef..55408a004 100644 --- a/target/linux/brcm2708/patches-4.19/950-0584-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch +++ b/target/linux/brcm2708/patches-4.19/950-0512-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch @@ -1,7 +1,7 @@ From 0d00e0340c1aa9ce36bdff46f927916fe4903cee Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 27 Dec 2018 14:04:44 -0800 -Subject: [PATCH 584/806] drm/v3d: Rename the fence signaled from IRQs to +Subject: [PATCH] drm/v3d: Rename the fence signaled from IRQs to "irq_fence". We have another thing called the "done fence" that tracks when the diff --git a/target/linux/brcm2708/patches-4.19/950-0585-drm-v3d-Refactor-job-management.patch b/target/linux/brcm2708/patches-4.19/950-0513-drm-v3d-Refactor-job-management.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0585-drm-v3d-Refactor-job-management.patch rename to target/linux/brcm2708/patches-4.19/950-0513-drm-v3d-Refactor-job-management.patch index 64be2b080..1192b166d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0585-drm-v3d-Refactor-job-management.patch +++ b/target/linux/brcm2708/patches-4.19/950-0513-drm-v3d-Refactor-job-management.patch @@ -1,7 +1,7 @@ From ccf319a0265bfdb4a622a52645f159461bc88079 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 27 Dec 2018 12:11:52 -0800 -Subject: [PATCH 585/806] drm/v3d: Refactor job management. +Subject: [PATCH] drm/v3d: Refactor job management. The CL submission had two jobs embedded in an exec struct. When I added TFU support, I had to replicate some of the exec stuff and some diff --git a/target/linux/brcm2708/patches-4.19/950-0586-drm-v3d-Add-missing-implicit-synchronization.patch b/target/linux/brcm2708/patches-4.19/950-0514-drm-v3d-Add-missing-implicit-synchronization.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0586-drm-v3d-Add-missing-implicit-synchronization.patch rename to target/linux/brcm2708/patches-4.19/950-0514-drm-v3d-Add-missing-implicit-synchronization.patch index f9c49fc51..9c902c64d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0586-drm-v3d-Add-missing-implicit-synchronization.patch +++ b/target/linux/brcm2708/patches-4.19/950-0514-drm-v3d-Add-missing-implicit-synchronization.patch @@ -1,7 +1,7 @@ From 7713f79b0a5473eb0b8456d36b99ae00815dd8a1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 27 Mar 2019 17:44:40 -0700 -Subject: [PATCH 586/806] drm/v3d: Add missing implicit synchronization. +Subject: [PATCH] drm/v3d: Add missing implicit synchronization. It is the expectation of existing userspace (X11 + Mesa, in particular) that jobs submitted to the kernel against a shared BO will diff --git a/target/linux/brcm2708/patches-4.19/950-0587-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch b/target/linux/brcm2708/patches-4.19/950-0515-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0587-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch rename to target/linux/brcm2708/patches-4.19/950-0515-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch index 27f0d8f70..6a3a6b142 100644 --- a/target/linux/brcm2708/patches-4.19/950-0587-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch +++ b/target/linux/brcm2708/patches-4.19/950-0515-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch @@ -1,7 +1,7 @@ From b0fedd829bb6725fef7b2667c85badc6b4a8e5e0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 28 Mar 2019 11:58:51 -0700 -Subject: [PATCH 587/806] drm/vc4: Fix synchronization firmwarekms against GL +Subject: [PATCH] drm/vc4: Fix synchronization firmwarekms against GL rendering. We would present the framebuffer immediately without waiting for diff --git a/target/linux/brcm2708/patches-4.19/950-0588-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch b/target/linux/brcm2708/patches-4.19/950-0516-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0588-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch rename to target/linux/brcm2708/patches-4.19/950-0516-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch index bb0c8552a..32eba1c88 100644 --- a/target/linux/brcm2708/patches-4.19/950-0588-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch +++ b/target/linux/brcm2708/patches-4.19/950-0516-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch @@ -1,7 +1,7 @@ From 561918ec5e668f9d940051737d861ee0592816f6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 29 Mar 2019 12:04:36 -0700 -Subject: [PATCH 588/806] drm/vc4: Make sure that vblank waits work without v3d +Subject: [PATCH] drm/vc4: Make sure that vblank waits work without v3d loaded. This flag exists to protect legacy drivers, but when vc4's v3d doesn't diff --git a/target/linux/brcm2708/patches-4.19/950-0589-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch b/target/linux/brcm2708/patches-4.19/950-0517-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0589-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch rename to target/linux/brcm2708/patches-4.19/950-0517-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch index a25c56764..7eb5a95f6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0589-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch +++ b/target/linux/brcm2708/patches-4.19/950-0517-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch @@ -1,7 +1,7 @@ From c7fc1e1cf922bd548ac983ef48b883b6f83e35ae Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 18 Mar 2019 16:38:32 -0700 -Subject: [PATCH 589/806] drm/vc4: Expose the format modifiers for firmware +Subject: [PATCH] drm/vc4: Expose the format modifiers for firmware kms. This should technically not expose VC4_T_TILED on pi4. However, if we diff --git a/target/linux/brcm2708/patches-4.19/950-0590-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch b/target/linux/brcm2708/patches-4.19/950-0518-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0590-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch rename to target/linux/brcm2708/patches-4.19/950-0518-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch index 2ad88a4b3..4fb6f6662 100644 --- a/target/linux/brcm2708/patches-4.19/950-0590-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch +++ b/target/linux/brcm2708/patches-4.19/950-0518-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch @@ -1,7 +1,7 @@ From c0041a9fe33d6031267d9f3e2372833908e97337 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 2 Apr 2019 13:29:00 -0700 -Subject: [PATCH 590/806] drm/vc4: Fix vblank timestamping for firmwarekms. +Subject: [PATCH] drm/vc4: Fix vblank timestamping for firmwarekms. The core doesn't expect a false return from the scanoutpos function in normal usage, so we were doing the precise vblank timestamping path diff --git a/target/linux/brcm2708/patches-4.19/950-0591-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch b/target/linux/brcm2708/patches-4.19/950-0519-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0591-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch rename to target/linux/brcm2708/patches-4.19/950-0519-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch index 0b2e2d7d4..ad729c54a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0591-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch +++ b/target/linux/brcm2708/patches-4.19/950-0519-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch @@ -1,7 +1,7 @@ From 3819888738de087ba726ceaa2ab20503f164f1ed Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 26 Mar 2019 14:43:06 +0000 -Subject: [PATCH 591/806] gpu: vc4-fkms: Switch to the newer mailbox frame +Subject: [PATCH] gpu: vc4-fkms: Switch to the newer mailbox frame buffer API. The old mailbox FB API was ideally deprecated but still used by diff --git a/target/linux/brcm2708/patches-4.19/950-0592-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch b/target/linux/brcm2708/patches-4.19/950-0520-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0592-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch rename to target/linux/brcm2708/patches-4.19/950-0520-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch index f374c2a0a..f3e285108 100644 --- a/target/linux/brcm2708/patches-4.19/950-0592-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch +++ b/target/linux/brcm2708/patches-4.19/950-0520-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch @@ -1,7 +1,7 @@ From 953d85d97f59691dccbbca743c478a8b01f92b59 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 27 Mar 2019 17:45:01 +0000 -Subject: [PATCH 592/806] drm: vc4: Add an overlay plane to vc4-firmware-kms +Subject: [PATCH] drm: vc4: Add an overlay plane to vc4-firmware-kms This uses a new API that is exposed via the mailbox service to stick an element straight on the screen using DispmanX. diff --git a/target/linux/brcm2708/patches-4.19/950-0593-drm-vc4-Increase-max-screen-size-to-4096x4096.patch b/target/linux/brcm2708/patches-4.19/950-0521-drm-vc4-Increase-max-screen-size-to-4096x4096.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0593-drm-vc4-Increase-max-screen-size-to-4096x4096.patch rename to target/linux/brcm2708/patches-4.19/950-0521-drm-vc4-Increase-max-screen-size-to-4096x4096.patch index 844bdcbb6..c81e7fc91 100644 --- a/target/linux/brcm2708/patches-4.19/950-0593-drm-vc4-Increase-max-screen-size-to-4096x4096.patch +++ b/target/linux/brcm2708/patches-4.19/950-0521-drm-vc4-Increase-max-screen-size-to-4096x4096.patch @@ -1,7 +1,7 @@ From 7c4a99448be56e288a5845f3de77b7eef006a450 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 3 Apr 2019 15:20:05 +0100 -Subject: [PATCH 593/806] drm: vc4: Increase max screen size to 4096x4096. +Subject: [PATCH] drm: vc4: Increase max screen size to 4096x4096. We now should support 4k screens, therefore this limit needs to be increased. diff --git a/target/linux/brcm2708/patches-4.19/950-0594-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch b/target/linux/brcm2708/patches-4.19/950-0522-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0594-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch rename to target/linux/brcm2708/patches-4.19/950-0522-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch index b93fa8e12..06f8cf414 100644 --- a/target/linux/brcm2708/patches-4.19/950-0594-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch +++ b/target/linux/brcm2708/patches-4.19/950-0522-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch @@ -1,7 +1,7 @@ From 4817db177a74ac58671e1fe84d98d584375d9697 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 3 Apr 2019 17:15:45 +0100 -Subject: [PATCH 594/806] drm: vc4: Add support for multiple displays to fkms +Subject: [PATCH] drm: vc4: Add support for multiple displays to fkms There is a slightly nasty hack in that all crtcs share the same SMI interrupt from the firmware. This seems to currently diff --git a/target/linux/brcm2708/patches-4.19/950-0595-drm-vc4-Fix-build-warning.patch b/target/linux/brcm2708/patches-4.19/950-0523-drm-vc4-Fix-build-warning.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0595-drm-vc4-Fix-build-warning.patch rename to target/linux/brcm2708/patches-4.19/950-0523-drm-vc4-Fix-build-warning.patch index 837141c8e..3e6273afd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0595-drm-vc4-Fix-build-warning.patch +++ b/target/linux/brcm2708/patches-4.19/950-0523-drm-vc4-Fix-build-warning.patch @@ -1,7 +1,7 @@ From 52d2903959ff9a1d68701a04884e18b31d051f30 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 5 Apr 2019 17:21:56 +0100 -Subject: [PATCH 595/806] drm: vc4: Fix build warning +Subject: [PATCH] drm: vc4: Fix build warning Signed-off-by: Dave Stevenson --- diff --git a/target/linux/brcm2708/patches-4.19/950-0596-drm-vc4-Select-display-to-blank-during-initialisatio.patch b/target/linux/brcm2708/patches-4.19/950-0524-drm-vc4-Select-display-to-blank-during-initialisatio.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0596-drm-vc4-Select-display-to-blank-during-initialisatio.patch rename to target/linux/brcm2708/patches-4.19/950-0524-drm-vc4-Select-display-to-blank-during-initialisatio.patch index 7a20bff62..0391767e4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0596-drm-vc4-Select-display-to-blank-during-initialisatio.patch +++ b/target/linux/brcm2708/patches-4.19/950-0524-drm-vc4-Select-display-to-blank-during-initialisatio.patch @@ -1,7 +1,7 @@ From a267031f384a4433fdcd662a97bce7c4949d3fd6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 5 Apr 2019 17:23:15 +0100 -Subject: [PATCH 596/806] drm: vc4: Select display to blank during +Subject: [PATCH] drm: vc4: Select display to blank during initialisation Otherwise the rainbow splash screen remained in the display list diff --git a/target/linux/brcm2708/patches-4.19/950-0597-drm-vc4-Remove-now-unused-structure.patch b/target/linux/brcm2708/patches-4.19/950-0525-drm-vc4-Remove-now-unused-structure.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0597-drm-vc4-Remove-now-unused-structure.patch rename to target/linux/brcm2708/patches-4.19/950-0525-drm-vc4-Remove-now-unused-structure.patch index 2e0655b85..08c099513 100644 --- a/target/linux/brcm2708/patches-4.19/950-0597-drm-vc4-Remove-now-unused-structure.patch +++ b/target/linux/brcm2708/patches-4.19/950-0525-drm-vc4-Remove-now-unused-structure.patch @@ -1,7 +1,7 @@ From 0bbbf4f4a618072e6987f439784f2d24a81b8f2d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 5 Apr 2019 17:24:20 +0100 -Subject: [PATCH 597/806] drm: vc4: Remove now unused structure. +Subject: [PATCH] drm: vc4: Remove now unused structure. Cleaning up structure that was unused after fbb59a2 drm: vc4: Add an overlay plane to vc4-firmware-kms diff --git a/target/linux/brcm2708/patches-4.19/950-0598-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch b/target/linux/brcm2708/patches-4.19/950-0526-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0598-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch rename to target/linux/brcm2708/patches-4.19/950-0526-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch index d37b2d169..1c349449c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0598-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch +++ b/target/linux/brcm2708/patches-4.19/950-0526-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch @@ -1,7 +1,7 @@ From 13723c680a129d79a7872ee131c0201374ba62ce Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Apr 2019 12:37:28 +0100 -Subject: [PATCH 598/806] drm: vc4: Query the display ID for each display in +Subject: [PATCH] drm: vc4: Query the display ID for each display in FKMS Replace the hard coded list of display IDs for a mailbox call diff --git a/target/linux/brcm2708/patches-4.19/950-0599-drm-vc4-Set-the-display-number-when-querying-the-dis.patch b/target/linux/brcm2708/patches-4.19/950-0527-drm-vc4-Set-the-display-number-when-querying-the-dis.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0599-drm-vc4-Set-the-display-number-when-querying-the-dis.patch rename to target/linux/brcm2708/patches-4.19/950-0527-drm-vc4-Set-the-display-number-when-querying-the-dis.patch index 9f09809f1..236caaf32 100644 --- a/target/linux/brcm2708/patches-4.19/950-0599-drm-vc4-Set-the-display-number-when-querying-the-dis.patch +++ b/target/linux/brcm2708/patches-4.19/950-0527-drm-vc4-Set-the-display-number-when-querying-the-dis.patch @@ -1,7 +1,7 @@ From 1b9eb8d557c692e5f1dd831b5e7134e6d07a4dd4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Apr 2019 14:00:07 +0100 -Subject: [PATCH 599/806] drm/vc4: Set the display number when querying the +Subject: [PATCH] drm/vc4: Set the display number when querying the display resolution Without this the two displays got set to the same resolution. diff --git a/target/linux/brcm2708/patches-4.19/950-0600-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch b/target/linux/brcm2708/patches-4.19/950-0528-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0600-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch rename to target/linux/brcm2708/patches-4.19/950-0528-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch index 50f893413..c9ce67fba 100644 --- a/target/linux/brcm2708/patches-4.19/950-0600-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch +++ b/target/linux/brcm2708/patches-4.19/950-0528-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch @@ -1,7 +1,7 @@ From fe2432615ecc3500cc265d6b84334950b9cbd4bf Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Apr 2019 18:14:44 +0100 -Subject: [PATCH 600/806] drm: vc4: Need to call drm_crtc_vblank_[on|off] from +Subject: [PATCH] from vc4_crtc_[en|dis]able vblank needs to be enabled and disabled by the driver to avoid the diff --git a/target/linux/brcm2708/patches-4.19/950-0601-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch b/target/linux/brcm2708/patches-4.19/950-0529-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0601-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch rename to target/linux/brcm2708/patches-4.19/950-0529-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch index 2322a66f5..c3f48ecbd 100644 --- a/target/linux/brcm2708/patches-4.19/950-0601-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0529-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch @@ -1,7 +1,7 @@ From 129100bd38125bef5fe237ab867349dbe8b210ba Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Apr 2019 17:19:51 +0100 -Subject: [PATCH 601/806] drm: vc4: Add support for H & V flips on each plane +Subject: [PATCH] drm: vc4: Add support for H & V flips on each plane for FKMS They are near zero cost options for the HVS, therefore they diff --git a/target/linux/brcm2708/patches-4.19/950-0602-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch b/target/linux/brcm2708/patches-4.19/950-0530-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0602-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch rename to target/linux/brcm2708/patches-4.19/950-0530-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch index 0da492372..4b6cb3985 100644 --- a/target/linux/brcm2708/patches-4.19/950-0602-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch +++ b/target/linux/brcm2708/patches-4.19/950-0530-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch @@ -1,7 +1,7 @@ From 6885af169f6eeb386f410e556029c6518c6b67b2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 10 Apr 2019 17:35:05 +0100 -Subject: [PATCH 602/806] drm: vc4: Remove unused vc4_fkms_cancel_page_flip +Subject: [PATCH] drm: vc4: Remove unused vc4_fkms_cancel_page_flip function "32a3dbe drm/vc4: Nuke preclose hook" removed vc4_cancel_page_flip, diff --git a/target/linux/brcm2708/patches-4.19/950-0603-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch b/target/linux/brcm2708/patches-4.19/950-0531-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0603-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch rename to target/linux/brcm2708/patches-4.19/950-0531-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch index d7b3a50c5..ca1b777b4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0603-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0531-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch @@ -1,7 +1,7 @@ From 501dabdd480e2da1b3b1395b5ebf9d5306fec689 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 10 Apr 2019 17:42:37 +0100 -Subject: [PATCH 603/806] drm: vc4: Iterate over all planes in +Subject: [PATCH] drm: vc4: Iterate over all planes in vc4_crtc_[dis|en]able Fixes a FIXME where the overlay plane wouldn't be restored. diff --git a/target/linux/brcm2708/patches-4.19/950-0604-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch b/target/linux/brcm2708/patches-4.19/950-0532-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0604-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch rename to target/linux/brcm2708/patches-4.19/950-0532-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch index 8ced2a2b2..af29bdab8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0604-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch +++ b/target/linux/brcm2708/patches-4.19/950-0532-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch @@ -1,7 +1,7 @@ From d4df2766945e0410d1975434f34e647e7e13b992 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 10 Apr 2019 17:43:57 +0100 -Subject: [PATCH 604/806] drm: vc4: Bring fkms into line with kms in blocking +Subject: [PATCH] drm: vc4: Bring fkms into line with kms in blocking doublescan modes Implement vc4_crtc_mode_valid so that it blocks doublescan modes diff --git a/target/linux/brcm2708/patches-4.19/950-0605-drm-vc4-Increase-max_width-height-to-7680.patch b/target/linux/brcm2708/patches-4.19/950-0533-drm-vc4-Increase-max_width-height-to-7680.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0605-drm-vc4-Increase-max_width-height-to-7680.patch rename to target/linux/brcm2708/patches-4.19/950-0533-drm-vc4-Increase-max_width-height-to-7680.patch index 3f05bc113..f2c97479a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0605-drm-vc4-Increase-max_width-height-to-7680.patch +++ b/target/linux/brcm2708/patches-4.19/950-0533-drm-vc4-Increase-max_width-height-to-7680.patch @@ -1,7 +1,7 @@ From b4ed0c4f55542b642f16ee6376b69968d6bafc3b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Apr 2019 18:45:00 +0100 -Subject: [PATCH 605/806] drm: vc4: Increase max_width/height to 7680. +Subject: [PATCH] drm: vc4: Increase max_width/height to 7680. There are some limits still being investigated that stop us going up to 8192, but 7680 is sufficient for dual 4k diff --git a/target/linux/brcm2708/patches-4.19/950-0606-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch b/target/linux/brcm2708/patches-4.19/950-0534-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0606-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch rename to target/linux/brcm2708/patches-4.19/950-0534-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch index b56f97005..db83c12f5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0606-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch +++ b/target/linux/brcm2708/patches-4.19/950-0534-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch @@ -1,7 +1,7 @@ From 9536044338d9c341e805e288a58090c49a793638 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Apr 2019 18:23:41 +0100 -Subject: [PATCH 606/806] drm: vc4: FKMS reads the EDID from fw, and supports +Subject: [PATCH] drm: vc4: FKMS reads the EDID from fw, and supports mode setting This extends FKMS to read the EDID from the display, and support diff --git a/target/linux/brcm2708/patches-4.19/950-0607-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch b/target/linux/brcm2708/patches-4.19/950-0535-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0607-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch rename to target/linux/brcm2708/patches-4.19/950-0535-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch index e47071c0f..ca70b9ddb 100644 --- a/target/linux/brcm2708/patches-4.19/950-0607-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch +++ b/target/linux/brcm2708/patches-4.19/950-0535-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch @@ -1,7 +1,7 @@ From bf85b92a97a95161d98874571c520fb1395c5aa2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 15:11:05 -0700 -Subject: [PATCH 607/806] clk: bcm2835: Add support for setting leaf clock +Subject: [PATCH] clk: bcm2835: Add support for setting leaf clock rates while running. As long as you wait for !BUSY, you can do glitch-free updates of clock diff --git a/target/linux/brcm2708/patches-4.19/950-0608-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch b/target/linux/brcm2708/patches-4.19/950-0536-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0608-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch rename to target/linux/brcm2708/patches-4.19/950-0536-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch index 71b7b07b3..490466d7d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0608-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch +++ b/target/linux/brcm2708/patches-4.19/950-0536-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch @@ -1,7 +1,7 @@ From d46285327ba5961c992643d468b2862c70f4c7e5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 15:24:04 -0700 -Subject: [PATCH 608/806] clk: bcm2835: Allow reparenting leaf clocks while +Subject: [PATCH] clk: bcm2835: Allow reparenting leaf clocks while they're running. This falls under the same "we can reprogram glitch-free as long as we diff --git a/target/linux/brcm2708/patches-4.19/950-0609-drm-v3d-Add-support-for-compute-shader-dispatch.patch b/target/linux/brcm2708/patches-4.19/950-0537-drm-v3d-Add-support-for-compute-shader-dispatch.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0609-drm-v3d-Add-support-for-compute-shader-dispatch.patch rename to target/linux/brcm2708/patches-4.19/950-0537-drm-v3d-Add-support-for-compute-shader-dispatch.patch index dc230621d..6db072983 100644 --- a/target/linux/brcm2708/patches-4.19/950-0609-drm-v3d-Add-support-for-compute-shader-dispatch.patch +++ b/target/linux/brcm2708/patches-4.19/950-0537-drm-v3d-Add-support-for-compute-shader-dispatch.patch @@ -1,7 +1,7 @@ From 22dbf1420a552d1952d22b92d8c30f8162b026b5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 16 Apr 2019 15:58:54 -0700 -Subject: [PATCH 609/806] drm/v3d: Add support for compute shader dispatch. +Subject: [PATCH] drm/v3d: Add support for compute shader dispatch. The compute shader dispatch interface is pretty simple -- just pass in the regs that userspace has passed us, with no CLs to run. However, diff --git a/target/linux/brcm2708/patches-4.19/950-0610-drm-v3d-Clock-V3D-down-when-not-in-use.patch b/target/linux/brcm2708/patches-4.19/950-0538-drm-v3d-Clock-V3D-down-when-not-in-use.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0610-drm-v3d-Clock-V3D-down-when-not-in-use.patch rename to target/linux/brcm2708/patches-4.19/950-0538-drm-v3d-Clock-V3D-down-when-not-in-use.patch index d44f76cb3..b4c2c3b5e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0610-drm-v3d-Clock-V3D-down-when-not-in-use.patch +++ b/target/linux/brcm2708/patches-4.19/950-0538-drm-v3d-Clock-V3D-down-when-not-in-use.patch @@ -1,7 +1,7 @@ From 3e6b687bae81bdf5a430ffaa04aa04ee195a866c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 13:22:53 -0700 -Subject: [PATCH 610/806] drm/v3d: Clock V3D down when not in use. +Subject: [PATCH] drm/v3d: Clock V3D down when not in use. My various attempts at re-enabling runtime PM have failed, so just crank the clock down when V3D is idle to reduce power consumption. diff --git a/target/linux/brcm2708/patches-4.19/950-0612-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch b/target/linux/brcm2708/patches-4.19/950-0539-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0612-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch rename to target/linux/brcm2708/patches-4.19/950-0539-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch index 9119ce1ef..db3f195c4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0612-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch +++ b/target/linux/brcm2708/patches-4.19/950-0539-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch @@ -1,7 +1,7 @@ From 3cd15f787b391db5224a27715fe9dc6fc8559bee Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 3 May 2019 13:58:03 +0100 -Subject: [PATCH 612/806] drm: vc4-firmware-kms: Remove incorrect overscan +Subject: [PATCH] drm: vc4-firmware-kms: Remove incorrect overscan support. The overscan support was required for the old mailbox API diff --git a/target/linux/brcm2708/patches-4.19/950-0613-drm-vc4-Log-flags-in-fkms-mode-set.patch b/target/linux/brcm2708/patches-4.19/950-0540-drm-vc4-Log-flags-in-fkms-mode-set.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0613-drm-vc4-Log-flags-in-fkms-mode-set.patch rename to target/linux/brcm2708/patches-4.19/950-0540-drm-vc4-Log-flags-in-fkms-mode-set.patch index ae6f69267..59f6f797c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0613-drm-vc4-Log-flags-in-fkms-mode-set.patch +++ b/target/linux/brcm2708/patches-4.19/950-0540-drm-vc4-Log-flags-in-fkms-mode-set.patch @@ -1,7 +1,7 @@ From 07288c2bd9733dc9317c5f9b02980a59a05ce3af Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 May 2019 12:13:34 +0100 -Subject: [PATCH 613/806] drm: vc4: Log flags in fkms mode set +Subject: [PATCH] drm: vc4: Log flags in fkms mode set The flags contain info such as limited/full range RGB, aspect ratio, and a fwe other useful things. diff --git a/target/linux/brcm2708/patches-4.19/950-0614-drm-vc4-firmware-kms-Fix-DSI-display-support.patch b/target/linux/brcm2708/patches-4.19/950-0541-drm-vc4-firmware-kms-Fix-DSI-display-support.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0614-drm-vc4-firmware-kms-Fix-DSI-display-support.patch rename to target/linux/brcm2708/patches-4.19/950-0541-drm-vc4-firmware-kms-Fix-DSI-display-support.patch index 9ed0c6f48..b45df39e4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0614-drm-vc4-firmware-kms-Fix-DSI-display-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0541-drm-vc4-firmware-kms-Fix-DSI-display-support.patch @@ -1,7 +1,7 @@ From d66b1d056d07b27803ba0756ecdb0d4419bcaaa2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 16 May 2019 17:49:42 +0100 -Subject: [PATCH 614/806] drm: vc4-firmware-kms: Fix DSI display support +Subject: [PATCH] drm: vc4-firmware-kms: Fix DSI display support The mode was incorrectly listed as interlaced, which was then rejected. diff --git a/target/linux/brcm2708/patches-4.19/950-0615-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch b/target/linux/brcm2708/patches-4.19/950-0542-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0615-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch rename to target/linux/brcm2708/patches-4.19/950-0542-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch index 0440bd7fc..1a27777ac 100644 --- a/target/linux/brcm2708/patches-4.19/950-0615-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch +++ b/target/linux/brcm2708/patches-4.19/950-0542-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch @@ -1,7 +1,7 @@ From b4ffa49d762a4af832d0d8660caf59722c0ff75a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 21 May 2019 11:50:00 +0100 -Subject: [PATCH 615/806] drm: vc4: Probe DPI/DSI timings from the firmware +Subject: [PATCH] drm: vc4: Probe DPI/DSI timings from the firmware For DPI and DSI displays query the firmware as to the configuration and add it as the only mode for DRM. diff --git a/target/linux/brcm2708/patches-4.19/950-0616-drm-vc4-handle-the-case-where-there-are-no-available.patch b/target/linux/brcm2708/patches-4.19/950-0543-drm-vc4-handle-the-case-where-there-are-no-available.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0616-drm-vc4-handle-the-case-where-there-are-no-available.patch rename to target/linux/brcm2708/patches-4.19/950-0543-drm-vc4-handle-the-case-where-there-are-no-available.patch index 4de134efb..346d32e2d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0616-drm-vc4-handle-the-case-where-there-are-no-available.patch +++ b/target/linux/brcm2708/patches-4.19/950-0543-drm-vc4-handle-the-case-where-there-are-no-available.patch @@ -1,7 +1,7 @@ From dd99aa50a3ea7f7fe1ddfd59b1a2e969c744b8a0 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 28 May 2019 13:56:06 +0100 -Subject: [PATCH 616/806] drm: vc4: handle the case where there are no +Subject: [PATCH] drm: vc4: handle the case where there are no available displays It's reasonable for the firmware to return zero as the number of diff --git a/target/linux/brcm2708/patches-4.19/950-0617-drm-vc4-Support-the-VEC-in-FKMS.patch b/target/linux/brcm2708/patches-4.19/950-0544-drm-vc4-Support-the-VEC-in-FKMS.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0617-drm-vc4-Support-the-VEC-in-FKMS.patch rename to target/linux/brcm2708/patches-4.19/950-0544-drm-vc4-Support-the-VEC-in-FKMS.patch index 80f9c81d4..29db70876 100644 --- a/target/linux/brcm2708/patches-4.19/950-0617-drm-vc4-Support-the-VEC-in-FKMS.patch +++ b/target/linux/brcm2708/patches-4.19/950-0544-drm-vc4-Support-the-VEC-in-FKMS.patch @@ -1,7 +1,7 @@ From 82ef7a95f5ae86df811253d58d93ca4fb2cbd45a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 24 May 2019 17:59:01 +0100 -Subject: [PATCH 617/806] drm/vc4: Support the VEC in FKMS +Subject: [PATCH] drm/vc4: Support the VEC in FKMS Extends the DPI/DSI support to also report the VEC output which supports interlacing too. diff --git a/target/linux/brcm2708/patches-4.19/950-0618-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch b/target/linux/brcm2708/patches-4.19/950-0545-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0618-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch rename to target/linux/brcm2708/patches-4.19/950-0545-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch index 19ac6cb4e..69320e89f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0618-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch +++ b/target/linux/brcm2708/patches-4.19/950-0545-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch @@ -1,7 +1,7 @@ From 2d35ddcd988499ac7bfd08997086cecfc6b5acb3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 May 2019 15:00:02 +0100 -Subject: [PATCH 618/806] drm: vc4: Fixup typo when setting HDMI aspect ratio +Subject: [PATCH] drm: vc4: Fixup typo when setting HDMI aspect ratio Assignment was to the wrong structure. diff --git a/target/linux/brcm2708/patches-4.19/950-0619-drm-vc4-Correct-SAND-support-for-FKMS.patch b/target/linux/brcm2708/patches-4.19/950-0546-drm-vc4-Correct-SAND-support-for-FKMS.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0619-drm-vc4-Correct-SAND-support-for-FKMS.patch rename to target/linux/brcm2708/patches-4.19/950-0546-drm-vc4-Correct-SAND-support-for-FKMS.patch index 07ecf6ef8..4299928ab 100644 --- a/target/linux/brcm2708/patches-4.19/950-0619-drm-vc4-Correct-SAND-support-for-FKMS.patch +++ b/target/linux/brcm2708/patches-4.19/950-0546-drm-vc4-Correct-SAND-support-for-FKMS.patch @@ -1,7 +1,7 @@ From 0dbdeb9e76e956df275e162224e12eacb0cc8b02 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 May 2019 15:44:11 +0100 -Subject: [PATCH 619/806] drm/vc4: Correct SAND support for FKMS. +Subject: [PATCH] drm/vc4: Correct SAND support for FKMS. It was accepting NV21 which doesn't map through, but also wasn't advertising the modifier so nothing would know diff --git a/target/linux/brcm2708/patches-4.19/950-0620-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch b/target/linux/brcm2708/patches-4.19/950-0547-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0620-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch rename to target/linux/brcm2708/patches-4.19/950-0547-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch index a228910d2..7f917bdd4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0620-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch +++ b/target/linux/brcm2708/patches-4.19/950-0547-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch @@ -1,7 +1,7 @@ From 23e6a2c2d33050255c76a499ea080e5279d6edfc Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 30 May 2019 13:56:15 +0100 -Subject: [PATCH 620/806] drm/vc4: fkms to query the VPU for HDMI clock limits +Subject: [PATCH] drm/vc4: fkms to query the VPU for HDMI clock limits The VPU has configured clocks for 4k (or not) via config.txt, and will limit the choice of video modes based on that. diff --git a/target/linux/brcm2708/patches-4.19/950-0621-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch b/target/linux/brcm2708/patches-4.19/950-0548-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0621-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch rename to target/linux/brcm2708/patches-4.19/950-0548-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch index 0b45bb1ae..83e1845ff 100644 --- a/target/linux/brcm2708/patches-4.19/950-0621-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch +++ b/target/linux/brcm2708/patches-4.19/950-0548-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch @@ -1,7 +1,7 @@ From bce8c3dc146e3287519d5f6bb965dc2458e6684d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 30 May 2019 15:55:15 +0100 -Subject: [PATCH 621/806] drm/vc4: Max resolution of 7680 is conditional on +Subject: [PATCH] drm/vc4: Max resolution of 7680 is conditional on being Pi4 The max resolution had been increased from 2048 to 7680 for all diff --git a/target/linux/brcm2708/patches-4.19/950-0548-usb-xhci-hack-xhci_urb_enqueue-to-support-hid.mousep.patch b/target/linux/brcm2708/patches-4.19/950-0548-usb-xhci-hack-xhci_urb_enqueue-to-support-hid.mousep.patch deleted file mode 100644 index bd332715f..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0548-usb-xhci-hack-xhci_urb_enqueue-to-support-hid.mousep.patch +++ /dev/null @@ -1,122 +0,0 @@ -From fa776ef749c924cd3ff3ffa257d7a63a27224399 Mon Sep 17 00:00:00 2001 -From: Jonathan Bell -Date: Thu, 30 May 2019 10:38:40 +0100 -Subject: [PATCH 548/806] usb: xhci: hack xhci_urb_enqueue to support - hid.mousepoll behaviour - -xHCI creates endpoint contexts directly from the device's endpoint -data, so submitting URBs with urb->interval different from the hardware -interval has no effect. - -Add an explicit reconfiguration of the endpoint context when requested, -which will happen only when the interval is different from the cached -value. In practice, the reconfiguration only happens on the first URB -submitted for the endpoint. - -Signed-off-by: Jonathan Bell ---- - drivers/usb/host/xhci.c | 86 +++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 86 insertions(+) - ---- a/drivers/usb/host/xhci.c -+++ b/drivers/usb/host/xhci.c -@@ -1425,6 +1425,87 @@ command_cleanup: - } - - /* -+ * RPI: Fixup endpoint intervals when requested -+ * - Check interval versus the (cached) endpoint context -+ * - set the endpoint interval to the new value -+ * - force an endpoint configure command -+ */ -+static void xhci_fixup_interval(struct xhci_hcd *xhci, struct urb *urb, -+ unsigned int slot_id, unsigned int ep_index) -+{ -+ struct xhci_ep_ctx *ep_ctx_out, *ep_ctx_in; -+ struct xhci_command *command; -+ struct xhci_input_control_ctx *ctrl_ctx; -+ struct xhci_virt_device *vdev; -+ int xhci_interval, ep_interval; -+ int ret; -+ unsigned long flags; -+ u32 ep_info_tmp; -+ -+ spin_lock_irqsave(&xhci->lock, flags); -+ -+ vdev = xhci->devs[slot_id]; -+ /* Get context-derived endpoint interval */ -+ ep_ctx_out = xhci_get_ep_ctx(xhci, vdev->out_ctx, ep_index); -+ ep_ctx_in = xhci_get_ep_ctx(xhci, vdev->in_ctx, ep_index); -+ xhci_interval = EP_INTERVAL_TO_UFRAMES(le32_to_cpu(ep_ctx_out->ep_info)); -+ ep_interval = urb->interval * 8; -+ -+ if (ep_interval == xhci_interval) { -+ spin_unlock_irqrestore(&xhci->lock, flags); -+ return; -+ } -+ -+ xhci_dbg(xhci, "Fixup interval ep_interval=%d xhci_interval=%d\n", -+ ep_interval, xhci_interval); -+ command = xhci_alloc_command_with_ctx(xhci, true, GFP_ATOMIC); -+ if (!command) { -+ /* Failure here is benign, poll at the original rate */ -+ spin_unlock_irqrestore(&xhci->lock, flags); -+ return; -+ } -+ -+ /* xHCI uses exponents for intervals... */ -+ xhci_interval = fls(ep_interval) - 1; -+ xhci_interval = clamp_val(xhci_interval, 3, 10); -+ ep_info_tmp = le32_to_cpu(ep_ctx_out->ep_info); -+ ep_info_tmp &= ~EP_INTERVAL(255); -+ ep_info_tmp |= EP_INTERVAL(xhci_interval); -+ -+ /* Keep the endpoint context up-to-date while issuing the command. */ -+ xhci_endpoint_copy(xhci, vdev->in_ctx, -+ vdev->out_ctx, ep_index); -+ ep_ctx_in->ep_info = cpu_to_le32(ep_info_tmp); -+ -+ /* -+ * We need to drop the lock, so take an explicit copy -+ * of the ep context. -+ */ -+ xhci_endpoint_copy(xhci, command->in_ctx, vdev->in_ctx, ep_index); -+ -+ ctrl_ctx = xhci_get_input_control_ctx(command->in_ctx); -+ if (!ctrl_ctx) { -+ xhci_warn(xhci, -+ "%s: Could not get input context, bad type.\n", -+ __func__); -+ spin_unlock_irqrestore(&xhci->lock, flags); -+ xhci_free_command(xhci, command); -+ return; -+ } -+ ctrl_ctx->add_flags = xhci_get_endpoint_flag_from_index(ep_index); -+ ctrl_ctx->drop_flags = 0; -+ -+ spin_unlock_irqrestore(&xhci->lock, flags); -+ -+ ret = xhci_configure_endpoint(xhci, urb->dev, command, -+ false, false); -+ if (ret) -+ xhci_warn(xhci, "%s: Configure endpoint failed: %d\n", -+ __func__, ret); -+ xhci_free_command(xhci, command); -+} -+ -+/* - * non-error returns are a promise to giveback() the urb later - * we drop ownership so next owner (or urb unlink) can get it - */ -@@ -1492,6 +1573,11 @@ static int xhci_urb_enqueue(struct usb_h - } - } - -+ if (usb_endpoint_xfer_int(&urb->ep->desc) && -+ (urb->dev->speed == USB_SPEED_FULL || -+ urb->dev->speed == USB_SPEED_LOW)) -+ xhci_fixup_interval(xhci, urb, slot_id, ep_index); -+ - spin_lock_irqsave(&xhci->lock, flags); - - if (xhci->xhc_state & XHCI_STATE_DYING) { diff --git a/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch b/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch deleted file mode 100644 index 655937e30..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 9fdab9bd6324314cbdfe96a6da5edef6c29ed5e6 Mon Sep 17 00:00:00 2001 -From: Tim Gover -Date: Wed, 9 Jan 2019 14:43:36 +0000 -Subject: [PATCH 549/806] pinctrl-bcm2835: Add support for BCM2838 - -GPIO configuration on BCM2838 is largely the same as BCM2835 except for -the pull up/down configuration. The old mechanism has been replaced -by new registers which don't require the fixed delay. - -Detect BCN2838 at run-time and use the new mechanism. Backwards -compatibility for the device-tree configuration has been retained. ---- - drivers/pinctrl/bcm/pinctrl-bcm2835.c | 58 ++++++++++++++++++++------- - 1 file changed, 44 insertions(+), 14 deletions(-) - ---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c -+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -67,6 +67,12 @@ - #define GPPUD 0x94 /* Pin Pull-up/down Enable */ - #define GPPUDCLK0 0x98 /* Pin Pull-up/down Enable Clock */ - -+/* 2711 has a different mechanism for pin pull-up/down/enable */ -+#define GPPUPPDN0 0xe4 /* Pin pull-up/down for pins 15:0 */ -+#define GPPUPPDN1 0xe8 /* Pin pull-up/down for pins 31:16 */ -+#define GPPUPPDN2 0xec /* Pin pull-up/down for pins 47:32 */ -+#define GPPUPPDN3 0xf0 /* Pin pull-up/down for pins 57:48 */ -+ - #define FSEL_REG(p) (GPFSEL0 + (((p) / 10) * 4)) - #define FSEL_SHIFT(p) (((p) % 10) * 3) - #define GPIO_REG_OFFSET(p) ((p) / 32) -@@ -915,21 +921,45 @@ static void bcm2835_pull_config_set(stru - unsigned int pin, unsigned int arg) - { - u32 off, bit; -+ /* BCM2835, BCM2836 & BCM2837 return 'gpio' for this unused register */ -+ int is_2835 = bcm2835_gpio_rd(pc, GPPUPPDN3) == 0x6770696f; - -- off = GPIO_REG_OFFSET(pin); -- bit = GPIO_REG_SHIFT(pin); -- -- bcm2835_gpio_wr(pc, GPPUD, arg & 3); -- /* -- * BCM2835 datasheet say to wait 150 cycles, but not of what. -- * But the VideoCore firmware delay for this operation -- * based nearly on the same amount of VPU cycles and this clock -- * runs at 250 MHz. -- */ -- udelay(1); -- bcm2835_gpio_wr(pc, GPPUDCLK0 + (off * 4), BIT(bit)); -- udelay(1); -- bcm2835_gpio_wr(pc, GPPUDCLK0 + (off * 4), 0); -+ if (is_2835) { -+ off = GPIO_REG_OFFSET(pin); -+ bit = GPIO_REG_SHIFT(pin); -+ /* -+ * BCM2835 datasheet say to wait 150 cycles, but not of what. -+ * But the VideoCore firmware delay for this operation -+ * based nearly on the same amount of VPU cycles and this clock -+ * runs at 250 MHz. -+ */ -+ bcm2835_gpio_wr(pc, GPPUD, arg & 3); -+ udelay(1); -+ bcm2835_gpio_wr(pc, GPPUDCLK0 + (off * 4), BIT(bit)); -+ udelay(1); -+ bcm2835_gpio_wr(pc, GPPUDCLK0 + (off * 4), 0); -+ } else { -+ u32 reg; -+ int lsb; -+ -+ off = (pin >> 4); -+ if (off > 3) -+ return; -+ lsb = (pin & 0xf) << 1; -+ -+ /* The up/down semantics are reversed compared to BCM2835. -+ * Instead of updating all the device tree files, translate the -+ * values here. -+ */ -+ if (arg == 2) -+ arg = 1; -+ else if (arg == 1) -+ arg = 2; -+ reg = bcm2835_gpio_rd(pc, GPPUPPDN0 + (off *4)); -+ reg &= ~(0x3 << lsb); -+ reg |= (arg & 3) << lsb; -+ bcm2835_gpio_wr(pc, GPPUPPDN0 + (off * 4), reg); -+ } - } - - static int bcm2835_pinconf_set(struct pinctrl_dev *pctldev, diff --git a/target/linux/brcm2708/patches-4.19/950-0622-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch b/target/linux/brcm2708/patches-4.19/950-0549-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0622-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch rename to target/linux/brcm2708/patches-4.19/950-0549-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch index 468b21e93..86c86afb7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0622-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch +++ b/target/linux/brcm2708/patches-4.19/950-0549-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch @@ -1,7 +1,7 @@ From 84b54ee2ff01005f0201c51f50985faf4e79edc6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 10 Dec 2018 17:35:58 +0000 -Subject: [PATCH 622/806] staging: vc-sm-cma: Remove obsolete comment and make +Subject: [PATCH] staging: vc-sm-cma: Remove obsolete comment and make function static Removes obsolete comment about wanting to pass a function diff --git a/target/linux/brcm2708/patches-4.19/950-0623-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch b/target/linux/brcm2708/patches-4.19/950-0550-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0623-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch rename to target/linux/brcm2708/patches-4.19/950-0550-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch index f7501a184..105309b43 100644 --- a/target/linux/brcm2708/patches-4.19/950-0623-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch +++ b/target/linux/brcm2708/patches-4.19/950-0550-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch @@ -1,7 +1,7 @@ From 275f4673d8c0601e5dbb16e743187d264e7dbed6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 21 Dec 2018 16:50:53 +0000 -Subject: [PATCH 623/806] staging: vc-sm-cma: Add in allocation for VPU +Subject: [PATCH] staging: vc-sm-cma: Add in allocation for VPU requests. Module has to change from tristate to bool as all CMA functions diff --git a/target/linux/brcm2708/patches-4.19/950-0624-staging-vc-sm-cma-Update-TODO.patch b/target/linux/brcm2708/patches-4.19/950-0551-staging-vc-sm-cma-Update-TODO.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0624-staging-vc-sm-cma-Update-TODO.patch rename to target/linux/brcm2708/patches-4.19/950-0551-staging-vc-sm-cma-Update-TODO.patch index 658fda488..c4d303a57 100644 --- a/target/linux/brcm2708/patches-4.19/950-0624-staging-vc-sm-cma-Update-TODO.patch +++ b/target/linux/brcm2708/patches-4.19/950-0551-staging-vc-sm-cma-Update-TODO.patch @@ -1,7 +1,7 @@ From 753e73267994a88505b6883cdf463d1d0bacf090 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 11 Mar 2019 16:38:32 +0000 -Subject: [PATCH 624/806] staging: vc-sm-cma: Update TODO. +Subject: [PATCH] staging: vc-sm-cma: Update TODO. The driver is already a platform driver, so that can be deleted from the TODO. diff --git a/target/linux/brcm2708/patches-4.19/950-0625-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch b/target/linux/brcm2708/patches-4.19/950-0552-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0625-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch rename to target/linux/brcm2708/patches-4.19/950-0552-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch index 4ab944eec..53a936e99 100644 --- a/target/linux/brcm2708/patches-4.19/950-0625-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch +++ b/target/linux/brcm2708/patches-4.19/950-0552-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch @@ -1,7 +1,7 @@ From 549c0266e570da686f19e4435d76411cd7137954 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 11 Mar 2019 16:35:23 +0000 -Subject: [PATCH 625/806] staging: vc-sm-cma: Add in userspace allocation API +Subject: [PATCH] staging: vc-sm-cma: Add in userspace allocation API Replacing the functionality from the older vc-sm driver, add in a userspace API that allows allocation of buffers, diff --git a/target/linux/brcm2708/patches-4.19/950-0626-staging-vcsm-cma-Add-cache-control-ioctls.patch b/target/linux/brcm2708/patches-4.19/950-0553-staging-vcsm-cma-Add-cache-control-ioctls.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0626-staging-vcsm-cma-Add-cache-control-ioctls.patch rename to target/linux/brcm2708/patches-4.19/950-0553-staging-vcsm-cma-Add-cache-control-ioctls.patch index 35d1e49e5..500ec5f0b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0626-staging-vcsm-cma-Add-cache-control-ioctls.patch +++ b/target/linux/brcm2708/patches-4.19/950-0553-staging-vcsm-cma-Add-cache-control-ioctls.patch @@ -1,7 +1,7 @@ From b17f6dc1d79ae057294ac2d8d824aa2258ab09a8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 20 Mar 2019 10:40:00 +0000 -Subject: [PATCH 626/806] staging: vcsm-cma: Add cache control ioctls +Subject: [PATCH] staging: vcsm-cma: Add cache control ioctls The old driver allowed for direct cache manipulation and that was used by various clients. Replicate here. diff --git a/target/linux/brcm2708/patches-4.19/950-0627-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch b/target/linux/brcm2708/patches-4.19/950-0554-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0627-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch rename to target/linux/brcm2708/patches-4.19/950-0554-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch index 3acfe65b5..ee3d1de7d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0627-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch +++ b/target/linux/brcm2708/patches-4.19/950-0554-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch @@ -1,7 +1,7 @@ From 4b78daea312bd39e892eb94f8c7905e2d5b682b4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 13 May 2019 16:47:54 +0100 -Subject: [PATCH 627/806] staging: vcsm-cma: Alter dev node permissions to 0666 +Subject: [PATCH] staging: vcsm-cma: Alter dev node permissions to 0666 Until the udev rules are updated, open up access to this node by default. diff --git a/target/linux/brcm2708/patches-4.19/950-0628-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch b/target/linux/brcm2708/patches-4.19/950-0555-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0628-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch rename to target/linux/brcm2708/patches-4.19/950-0555-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch index e23740708..320552e6c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0628-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch +++ b/target/linux/brcm2708/patches-4.19/950-0555-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch @@ -1,7 +1,7 @@ From c38256621d4dffbbc0c19737d724724f04b0df9a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 16 May 2019 15:17:19 +0100 -Subject: [PATCH 628/806] staging: vcsm-cma: Drop logging level on messages in +Subject: [PATCH] staging: vcsm-cma: Drop logging level on messages in vc_sm_release_resource They weren't errors but were logged as such. diff --git a/target/linux/brcm2708/patches-4.19/950-0629-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch b/target/linux/brcm2708/patches-4.19/950-0556-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0629-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch rename to target/linux/brcm2708/patches-4.19/950-0556-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch index 24c4fe804..5e5c6bc2d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0629-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch +++ b/target/linux/brcm2708/patches-4.19/950-0556-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch @@ -1,7 +1,7 @@ From 52f881e3afa89bb1ca9e8b037f7600bcc97626e8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 22 May 2019 15:40:37 +0100 -Subject: [PATCH 629/806] staging: vcsm-cma: Fixup the alloc code handling of +Subject: [PATCH] staging: vcsm-cma: Fixup the alloc code handling of kernel_id The allocation code had been copied in from an old branch prior diff --git a/target/linux/brcm2708/patches-4.19/950-0630-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0557-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0630-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch rename to target/linux/brcm2708/patches-4.19/950-0557-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch index eb07457cb..883d947c2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0630-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0557-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch @@ -1,7 +1,7 @@ From 3e33fb46eb8791ba39fe4781f278487bcc2c3356 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 14 Mar 2019 13:27:54 +0000 -Subject: [PATCH 630/806] Pulled in the multi frame buffer support from the Pi3 +Subject: [PATCH] Pulled in the multi frame buffer support from the Pi3 repo --- diff --git a/target/linux/brcm2708/patches-4.19/950-0631-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch b/target/linux/brcm2708/patches-4.19/950-0558-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0631-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch rename to target/linux/brcm2708/patches-4.19/950-0558-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch index 6a10e5828..e3ee39abb 100644 --- a/target/linux/brcm2708/patches-4.19/950-0631-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch +++ b/target/linux/brcm2708/patches-4.19/950-0558-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch @@ -1,7 +1,7 @@ From 545c00748a070340e9669740e45afc2672e1fcb6 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sun, 19 May 2019 12:26:21 +0200 -Subject: [PATCH 631/806] ARM: dts: bcm283x: Move BCM2835/6/7 specific to +Subject: [PATCH] ARM: dts: bcm283x: Move BCM2835/6/7 specific to bcm2835-common.dtsi We want all common BCM2835/6/7/8 functions in bcm283x.dtsi and all diff --git a/target/linux/brcm2708/patches-4.19/950-0632-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch b/target/linux/brcm2708/patches-4.19/950-0559-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0632-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch rename to target/linux/brcm2708/patches-4.19/950-0559-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch index 9be01fb6b..16980a8ba 100644 --- a/target/linux/brcm2708/patches-4.19/950-0632-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch +++ b/target/linux/brcm2708/patches-4.19/950-0559-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch @@ -1,7 +1,7 @@ From ff78cbcd8d7d656a5f43abd2c744e610b8c6c740 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 May 2019 13:54:21 +0100 -Subject: [PATCH 632/806] ARM: dts: Add bcm2711-rpi-4-b.dts and components +Subject: [PATCH] ARM: dts: Add bcm2711-rpi-4-b.dts and components Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0633-overlays-Add-i2c3-6-and-uart2-5-overlays.patch b/target/linux/brcm2708/patches-4.19/950-0560-overlays-Add-i2c3-6-and-uart2-5-overlays.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0633-overlays-Add-i2c3-6-and-uart2-5-overlays.patch rename to target/linux/brcm2708/patches-4.19/950-0560-overlays-Add-i2c3-6-and-uart2-5-overlays.patch index 84e015aa6..d1d8f72a0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0633-overlays-Add-i2c3-6-and-uart2-5-overlays.patch +++ b/target/linux/brcm2708/patches-4.19/950-0560-overlays-Add-i2c3-6-and-uart2-5-overlays.patch @@ -1,7 +1,7 @@ From 13be2bbd1a22f1b4d9fd260d80b561698f623ac1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 30 May 2019 16:44:24 +0100 -Subject: [PATCH 633/806] overlays: Add i2c3-6 and uart2-5 overlays +Subject: [PATCH] overlays: Add i2c3-6 and uart2-5 overlays Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0634-spi-devicetree-add-overlays-for-spi-3-to-6.patch b/target/linux/brcm2708/patches-4.19/950-0561-spi-devicetree-add-overlays-for-spi-3-to-6.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0634-spi-devicetree-add-overlays-for-spi-3-to-6.patch rename to target/linux/brcm2708/patches-4.19/950-0561-spi-devicetree-add-overlays-for-spi-3-to-6.patch index a59cd5cec..27de73d30 100644 --- a/target/linux/brcm2708/patches-4.19/950-0634-spi-devicetree-add-overlays-for-spi-3-to-6.patch +++ b/target/linux/brcm2708/patches-4.19/950-0561-spi-devicetree-add-overlays-for-spi-3-to-6.patch @@ -1,7 +1,7 @@ From a4ea446a07d7ba010c3c32286a22dc89cffa1e54 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Sun, 12 May 2019 16:17:08 +0000 -Subject: [PATCH 634/806] spi: devicetree: add overlays for spi 3 to 6 +Subject: [PATCH] spi: devicetree: add overlays for spi 3 to 6 Signed-off-by: Martin Sperl --- diff --git a/target/linux/brcm2708/patches-4.19/950-0635-overlays-Add-the-spi-gpio40-45-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0562-overlays-Add-the-spi-gpio40-45-overlay.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0635-overlays-Add-the-spi-gpio40-45-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0562-overlays-Add-the-spi-gpio40-45-overlay.patch index 731565840..26930baad 100644 --- a/target/linux/brcm2708/patches-4.19/950-0635-overlays-Add-the-spi-gpio40-45-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0562-overlays-Add-the-spi-gpio40-45-overlay.patch @@ -1,7 +1,7 @@ From 726da40b8c272d181a41686195f91b914363167b Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jan 2019 10:49:41 +0000 -Subject: [PATCH 635/806] overlays: Add the spi-gpio40-45 overlay +Subject: [PATCH] overlays: Add the spi-gpio40-45 overlay The 2711 B0 boot EEPROM is programmed via SPI0 on GPIO pins 40-43 CS0. Add a device tree overlay to optionally diff --git a/target/linux/brcm2708/patches-4.19/950-0636-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch b/target/linux/brcm2708/patches-4.19/950-0563-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0636-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch rename to target/linux/brcm2708/patches-4.19/950-0563-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch index 8f990e1ee..a38cc6537 100644 --- a/target/linux/brcm2708/patches-4.19/950-0636-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch +++ b/target/linux/brcm2708/patches-4.19/950-0563-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch @@ -1,7 +1,7 @@ From 0e8ed7a892a510383017cdddee7b772473f1f7c8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 4 Sep 2018 11:50:25 +0100 -Subject: [PATCH 636/806] config: Permit LPAE and PCIE_BRCMSTB on BCM2835 +Subject: [PATCH] config: Permit LPAE and PCIE_BRCMSTB on BCM2835 --- arch/arm/mach-bcm/Kconfig | 4 ++++ diff --git a/target/linux/brcm2708/patches-4.19/950-0638-2711-Add-basic-64-bit-support.patch b/target/linux/brcm2708/patches-4.19/950-0564-2711-Add-basic-64-bit-support.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0638-2711-Add-basic-64-bit-support.patch rename to target/linux/brcm2708/patches-4.19/950-0564-2711-Add-basic-64-bit-support.patch index 9cd94de35..892914bef 100644 --- a/target/linux/brcm2708/patches-4.19/950-0638-2711-Add-basic-64-bit-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0564-2711-Add-basic-64-bit-support.patch @@ -1,7 +1,7 @@ From 0e7db01b8ce2c2fb5596e7a9b7104e9947e5c269 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 8 Mar 2019 21:12:39 +0000 -Subject: [PATCH 638/806] 2711: Add basic 64-bit support +Subject: [PATCH] 2711: Add basic 64-bit support This commit adds initial support for 64-bit 2711 builds. However, it will only work as much as it does if the Pi4 RAM is limited to diff --git a/target/linux/brcm2708/patches-4.19/950-0641-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch b/target/linux/brcm2708/patches-4.19/950-0565-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0641-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch rename to target/linux/brcm2708/patches-4.19/950-0565-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch index fd0fce1db..29f3cdb32 100644 --- a/target/linux/brcm2708/patches-4.19/950-0641-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch +++ b/target/linux/brcm2708/patches-4.19/950-0565-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch @@ -1,7 +1,7 @@ From 91aa97cc3a193cfd29962e328f9d1da0d8e0aaff Mon Sep 17 00:00:00 2001 From: 6by9 <6by9@users.noreply.github.com> Date: Wed, 30 Jan 2019 14:22:03 +0000 -Subject: [PATCH 641/806] ARM: dts: bcm283x: Correct vchiq compatible string +Subject: [PATCH] ARM: dts: bcm283x: Correct vchiq compatible string (#2840) commit 499770ede3f829e80539f46b59b5f460dc327aa6 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0642-arm-dts-Change-downstream-vchiq-compatible-string.patch b/target/linux/brcm2708/patches-4.19/950-0566-arm-dts-Change-downstream-vchiq-compatible-string.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0642-arm-dts-Change-downstream-vchiq-compatible-string.patch rename to target/linux/brcm2708/patches-4.19/950-0566-arm-dts-Change-downstream-vchiq-compatible-string.patch index a4e4da5e9..4fda05ef6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0642-arm-dts-Change-downstream-vchiq-compatible-string.patch +++ b/target/linux/brcm2708/patches-4.19/950-0566-arm-dts-Change-downstream-vchiq-compatible-string.patch @@ -1,7 +1,7 @@ From 00d8817ab207a9f60e94e87acf4f170155aecd48 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 6 Feb 2019 20:45:16 +0000 -Subject: [PATCH 642/806] arm: dts: Change downstream vchiq compatible string +Subject: [PATCH] arm: dts: Change downstream vchiq compatible string The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't diff --git a/target/linux/brcm2708/patches-4.19/950-0643-bcm2835-dma-Add-proper-40-bit-DMA-support.patch b/target/linux/brcm2708/patches-4.19/950-0567-bcm2835-dma-Add-proper-40-bit-DMA-support.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0643-bcm2835-dma-Add-proper-40-bit-DMA-support.patch rename to target/linux/brcm2708/patches-4.19/950-0567-bcm2835-dma-Add-proper-40-bit-DMA-support.patch index 94d2c9a9b..7ca14c805 100644 --- a/target/linux/brcm2708/patches-4.19/950-0643-bcm2835-dma-Add-proper-40-bit-DMA-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0567-bcm2835-dma-Add-proper-40-bit-DMA-support.patch @@ -1,7 +1,7 @@ From 621fb1606217c3e72feda69255ae6cb6a7ccfec2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 4 Apr 2019 13:33:47 +0100 -Subject: [PATCH 643/806] bcm2835-dma: Add proper 40-bit DMA support +Subject: [PATCH] bcm2835-dma: Add proper 40-bit DMA support The 40-bit additions are not fully tested, but it should be capable of supporting both 40-bit memcpy on BCM2711 and regular diff --git a/target/linux/brcm2708/patches-4.19/950-0644-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch b/target/linux/brcm2708/patches-4.19/950-0568-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch similarity index 89% rename from target/linux/brcm2708/patches-4.19/950-0644-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch rename to target/linux/brcm2708/patches-4.19/950-0568-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch index 157566aef..20d08ba26 100644 --- a/target/linux/brcm2708/patches-4.19/950-0644-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch +++ b/target/linux/brcm2708/patches-4.19/950-0568-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch @@ -1,7 +1,7 @@ From db81536216256cdd4b8a17879e6628be47c74414 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 5 Jun 2019 21:32:03 +0100 -Subject: [PATCH 644/806] BCM270X_DT: Leave bulk channel in dma channel mask +Subject: [PATCH] BCM270X_DT: Leave bulk channel in dma channel mask The updated bcm2835-dma driver does not require the BULK channel to be removed from the set of available channels, as provided by diff --git a/target/linux/brcm2708/patches-4.19/950-0645-SQUASH-bcm2835-dma-Remove-debugging.patch b/target/linux/brcm2708/patches-4.19/950-0569-SQUASH-bcm2835-dma-Remove-debugging.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0645-SQUASH-bcm2835-dma-Remove-debugging.patch rename to target/linux/brcm2708/patches-4.19/950-0569-SQUASH-bcm2835-dma-Remove-debugging.patch index 11b4805b0..f8d988067 100644 --- a/target/linux/brcm2708/patches-4.19/950-0645-SQUASH-bcm2835-dma-Remove-debugging.patch +++ b/target/linux/brcm2708/patches-4.19/950-0569-SQUASH-bcm2835-dma-Remove-debugging.patch @@ -1,7 +1,7 @@ From eecf4b8568f0a0d6b90364299eed6b12ce63c245 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 6 Jun 2019 09:35:08 +0100 -Subject: [PATCH 645/806] SQUASH: bcm2835-dma: Remove debugging +Subject: [PATCH] SQUASH: bcm2835-dma: Remove debugging Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0647-dts-Include-CSI-lane-config-for-csi1.patch b/target/linux/brcm2708/patches-4.19/950-0570-dts-Include-CSI-lane-config-for-csi1.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0647-dts-Include-CSI-lane-config-for-csi1.patch rename to target/linux/brcm2708/patches-4.19/950-0570-dts-Include-CSI-lane-config-for-csi1.patch index 0bca2ae78..74cb94631 100644 --- a/target/linux/brcm2708/patches-4.19/950-0647-dts-Include-CSI-lane-config-for-csi1.patch +++ b/target/linux/brcm2708/patches-4.19/950-0570-dts-Include-CSI-lane-config-for-csi1.patch @@ -1,7 +1,7 @@ From 2fcb94a04778708b13b6d36390000e97063460e6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 31 May 2019 17:57:26 +0100 -Subject: [PATCH 647/806] dts: Include CSI lane config for csi1 +Subject: [PATCH] dts: Include CSI lane config for csi1 Without the include the peripheral is configured to have 0 data lanes, which doesn't allow much data to be passed. diff --git a/target/linux/brcm2708/patches-4.19/950-0648-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch b/target/linux/brcm2708/patches-4.19/950-0571-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0648-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch rename to target/linux/brcm2708/patches-4.19/950-0571-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch index 4098d15e9..6d3da8da8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0648-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch +++ b/target/linux/brcm2708/patches-4.19/950-0571-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch @@ -1,7 +1,7 @@ From ba21a5129def696c154c84df087f07bc748abe7d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 7 Jun 2019 11:31:21 +0100 -Subject: [PATCH 648/806] drm/vc4: Fix T-format modifiers in FKMS. +Subject: [PATCH] drm/vc4: Fix T-format modifiers in FKMS. The wrong vc_image formats were being checked for in the switch statement. Correct these. diff --git a/target/linux/brcm2708/patches-4.19/950-0650-bcm2711-dts-Disable-the-v3d-node-by-default.patch b/target/linux/brcm2708/patches-4.19/950-0572-bcm2711-dts-Disable-the-v3d-node-by-default.patch similarity index 87% rename from target/linux/brcm2708/patches-4.19/950-0650-bcm2711-dts-Disable-the-v3d-node-by-default.patch rename to target/linux/brcm2708/patches-4.19/950-0572-bcm2711-dts-Disable-the-v3d-node-by-default.patch index 935aa157a..eec00db56 100644 --- a/target/linux/brcm2708/patches-4.19/950-0650-bcm2711-dts-Disable-the-v3d-node-by-default.patch +++ b/target/linux/brcm2708/patches-4.19/950-0572-bcm2711-dts-Disable-the-v3d-node-by-default.patch @@ -1,7 +1,7 @@ From 27fc1dbeee2a58abcb80ffc1c8f161d3abfeac9a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Jun 2019 17:22:44 +0100 -Subject: [PATCH 650/806] bcm2711 dts: Disable the v3d node by default +Subject: [PATCH] bcm2711 dts: Disable the v3d node by default Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0651-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch b/target/linux/brcm2708/patches-4.19/950-0573-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0651-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch rename to target/linux/brcm2708/patches-4.19/950-0573-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch index 44e63de56..3e3d0704d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0651-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch +++ b/target/linux/brcm2708/patches-4.19/950-0573-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch @@ -1,7 +1,7 @@ From d4a180e5b67c3ca9b8559d4f926f22b6c6705082 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 10 Jun 2019 16:32:51 +0100 -Subject: [PATCH 651/806] drm/vc4: Remove 340MHz clock limit from FKMS now +Subject: [PATCH] drm/vc4: Remove 340MHz clock limit from FKMS now scrambling issues resolved Firmware TMDS scrambling is now being correctly configured, so diff --git a/target/linux/brcm2708/patches-4.19/950-0653-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/brcm2708/patches-4.19/950-0574-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0653-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch rename to target/linux/brcm2708/patches-4.19/950-0574-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch index 25faf7a7b..99c4e4df3 100644 --- a/target/linux/brcm2708/patches-4.19/950-0653-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch +++ b/target/linux/brcm2708/patches-4.19/950-0574-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch @@ -1,7 +1,7 @@ From f9c01b35ec7ea3f981c414af38c92c508487671a Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 10:55:00 +0100 -Subject: [PATCH 653/806] usb: add plumbing for updating interrupt endpoint +Subject: [PATCH] usb: add plumbing for updating interrupt endpoint interval state xHCI caches device and endpoint data after the interface is configured, diff --git a/target/linux/brcm2708/patches-4.19/950-0654-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/brcm2708/patches-4.19/950-0575-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0654-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch rename to target/linux/brcm2708/patches-4.19/950-0575-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index ffcb9ba41..d66b9716a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0654-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/target/linux/brcm2708/patches-4.19/950-0575-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch @@ -1,7 +1,7 @@ From 903af89ac9a9b82b6e736ab04e3848672a0ab364 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 11:33:39 +0100 -Subject: [PATCH 654/806] xhci: implement xhci_fixup_endpoint for interval +Subject: [PATCH] xhci: implement xhci_fixup_endpoint for interval adjustments Must be called in a non-atomic context, after the endpoint diff --git a/target/linux/brcm2708/patches-4.19/950-0655-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch b/target/linux/brcm2708/patches-4.19/950-0576-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0655-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch rename to target/linux/brcm2708/patches-4.19/950-0576-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch index 2fa7e317d..59263196c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0655-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch +++ b/target/linux/brcm2708/patches-4.19/950-0576-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch @@ -1,7 +1,7 @@ From f2c46d48d1aa0f7b87b179434162eac6624122f7 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 11:42:03 +0100 -Subject: [PATCH 655/806] usbhid: call usb_fixup_endpoint after mangling +Subject: [PATCH] usbhid: call usb_fixup_endpoint after mangling intervals Lets the mousepoll override mechanism work with xhci. diff --git a/target/linux/brcm2708/patches-4.19/950-0656-drm-vc4-Add-status-of-which-display-is-updated-throu.patch b/target/linux/brcm2708/patches-4.19/950-0577-drm-vc4-Add-status-of-which-display-is-updated-throu.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0656-drm-vc4-Add-status-of-which-display-is-updated-throu.patch rename to target/linux/brcm2708/patches-4.19/950-0577-drm-vc4-Add-status-of-which-display-is-updated-throu.patch index c477a3c50..dd5b284cc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0656-drm-vc4-Add-status-of-which-display-is-updated-throu.patch +++ b/target/linux/brcm2708/patches-4.19/950-0577-drm-vc4-Add-status-of-which-display-is-updated-throu.patch @@ -1,7 +1,7 @@ From 77ae227664bc2460a5341be765044d0b8fb184ac Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 4 Jun 2019 12:14:30 +0100 -Subject: [PATCH 656/806] drm: vc4: Add status of which display is updated +Subject: [PATCH] drm: vc4: Add status of which display is updated through vblank Previously multiple displays were slaved off the same SMI diff --git a/target/linux/brcm2708/patches-4.19/950-0657-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch b/target/linux/brcm2708/patches-4.19/950-0578-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0657-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch rename to target/linux/brcm2708/patches-4.19/950-0578-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch index 8434033b3..a72f1420d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0657-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0578-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch @@ -1,7 +1,7 @@ From 5643e47700d3c1b2a8a1aca56629f12e90df407c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 12 Jun 2019 17:13:21 +0100 -Subject: [PATCH 657/806] drm/vc4: In FKMS look at the modifiers correctly for +Subject: [PATCH] drm/vc4: In FKMS look at the modifiers correctly for SAND Incorrect masking was used in the switch for the modifier, diff --git a/target/linux/brcm2708/patches-4.19/950-0658-arm-dts-Fix-Pi4-PWR-LED-configuration.patch b/target/linux/brcm2708/patches-4.19/950-0579-arm-dts-Fix-Pi4-PWR-LED-configuration.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0658-arm-dts-Fix-Pi4-PWR-LED-configuration.patch rename to target/linux/brcm2708/patches-4.19/950-0579-arm-dts-Fix-Pi4-PWR-LED-configuration.patch index 8abb4db63..34772d59b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0658-arm-dts-Fix-Pi4-PWR-LED-configuration.patch +++ b/target/linux/brcm2708/patches-4.19/950-0579-arm-dts-Fix-Pi4-PWR-LED-configuration.patch @@ -1,7 +1,7 @@ From 4d4d714061ee6f54dc5feeaeda4389e2346386aa Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 17 Jun 2019 10:06:55 +0100 -Subject: [PATCH 658/806] arm: dts: Fix Pi4 PWR LED configuration +Subject: [PATCH] arm: dts: Fix Pi4 PWR LED configuration Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0659-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch b/target/linux/brcm2708/patches-4.19/950-0580-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch similarity index 90% rename from target/linux/brcm2708/patches-4.19/950-0659-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch rename to target/linux/brcm2708/patches-4.19/950-0580-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch index cb7677114..75999d02a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0659-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch +++ b/target/linux/brcm2708/patches-4.19/950-0580-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch @@ -1,7 +1,7 @@ From 43420c9bb90d4290e02bbcaa40c19e00fb347615 Mon Sep 17 00:00:00 2001 From: dp111 Date: Sat, 15 Jun 2019 18:19:50 +0100 -Subject: [PATCH 659/806] bcm2838.dtsi : Correct gic400 memory address ranges +Subject: [PATCH] bcm2838.dtsi : Correct gic400 memory address ranges It appears to me the addresses for the gic400 are slightly wrong . See section 3.2 https://static.docs.arm.com/ddi0471/a/DDI0471A_gic400_r0p0_trm.pdf --- diff --git a/target/linux/brcm2708/patches-4.19/950-0660-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch b/target/linux/brcm2708/patches-4.19/950-0581-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0660-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch rename to target/linux/brcm2708/patches-4.19/950-0581-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch index 59e9ebdb4..808fdaf0c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0660-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch +++ b/target/linux/brcm2708/patches-4.19/950-0581-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch @@ -1,7 +1,7 @@ From 65a5b304668ed6cb4568ac1a0ffbeabb28208b38 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 18 Jun 2019 12:15:50 +0100 -Subject: [PATCH 660/806] staging: vchiq: Use the old dma controller for OF +Subject: [PATCH] staging: vchiq: Use the old dma controller for OF config on platform devices vchiq on Pi4 is no longer under the soc node, therefore it diff --git a/target/linux/brcm2708/patches-4.19/950-0661-drm-vc4-Limit-fkms-to-modes-85Hz.patch b/target/linux/brcm2708/patches-4.19/950-0582-drm-vc4-Limit-fkms-to-modes-85Hz.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0661-drm-vc4-Limit-fkms-to-modes-85Hz.patch rename to target/linux/brcm2708/patches-4.19/950-0582-drm-vc4-Limit-fkms-to-modes-85Hz.patch index a2bed490d..b95a4db6d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0661-drm-vc4-Limit-fkms-to-modes-85Hz.patch +++ b/target/linux/brcm2708/patches-4.19/950-0582-drm-vc4-Limit-fkms-to-modes-85Hz.patch @@ -1,7 +1,7 @@ From 06a0e398e7dcd6ba0a61713596c32ec6d43b47c8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 18 Jun 2019 21:37:45 +0100 -Subject: [PATCH 661/806] drm/vc4: Limit fkms to modes <= 85Hz +Subject: [PATCH] drm/vc4: Limit fkms to modes <= 85Hz Selecting 1080p100 and 120 has very limited gain, but don't want to block VGA85 and similar. diff --git a/target/linux/brcm2708/patches-4.19/950-0662-arm-bcm2835-Add-bcm2838-compatible-string.patch b/target/linux/brcm2708/patches-4.19/950-0583-arm-bcm2835-Add-bcm2838-compatible-string.patch similarity index 88% rename from target/linux/brcm2708/patches-4.19/950-0662-arm-bcm2835-Add-bcm2838-compatible-string.patch rename to target/linux/brcm2708/patches-4.19/950-0583-arm-bcm2835-Add-bcm2838-compatible-string.patch index 14d289660..1099608c7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0662-arm-bcm2835-Add-bcm2838-compatible-string.patch +++ b/target/linux/brcm2708/patches-4.19/950-0583-arm-bcm2835-Add-bcm2838-compatible-string.patch @@ -1,7 +1,7 @@ From aca60a3944ff6a4da66e96d9ae54f4bca271b600 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 11 Jun 2019 17:38:28 +0100 -Subject: [PATCH 662/806] arm: bcm2835: Add bcm2838 compatible string. +Subject: [PATCH] arm: bcm2835: Add bcm2838 compatible string. Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0663-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch b/target/linux/brcm2708/patches-4.19/950-0584-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0663-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch rename to target/linux/brcm2708/patches-4.19/950-0584-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch index cf364e05d..875d8917c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0663-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch +++ b/target/linux/brcm2708/patches-4.19/950-0584-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch @@ -1,7 +1,7 @@ From d27f2b90df0b787859c2f5665feaecbe87e6b1ff Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 4 Jun 2019 16:22:22 +0100 -Subject: [PATCH 663/806] arm: dts: Improve the bcm27xx inclusion hierarchy +Subject: [PATCH] arm: dts: Improve the bcm27xx inclusion hierarchy 1) The top-level .dts files now include parallel chains of bcm27xx.dtsi and bcm27xx-rpi.dtsi files, with no cross-inclusion between the two diff --git a/target/linux/brcm2708/patches-4.19/950-0664-arm-dts-First-draft-of-upstream-Pi4-DTS.patch b/target/linux/brcm2708/patches-4.19/950-0585-arm-dts-First-draft-of-upstream-Pi4-DTS.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0664-arm-dts-First-draft-of-upstream-Pi4-DTS.patch rename to target/linux/brcm2708/patches-4.19/950-0585-arm-dts-First-draft-of-upstream-Pi4-DTS.patch index af5e22da1..0fa4cf338 100644 --- a/target/linux/brcm2708/patches-4.19/950-0664-arm-dts-First-draft-of-upstream-Pi4-DTS.patch +++ b/target/linux/brcm2708/patches-4.19/950-0585-arm-dts-First-draft-of-upstream-Pi4-DTS.patch @@ -1,7 +1,7 @@ From 5216bb8a1257a8216362affe4757a96a36b60b32 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 11 Jun 2019 18:08:05 +0100 -Subject: [PATCH 664/806] arm: dts: First draft of upstream Pi4 DTS +Subject: [PATCH] arm: dts: First draft of upstream Pi4 DTS I've attempted to follow the upstream conventions in the DT commits, but this is just presented here initially as a talking point. diff --git a/target/linux/brcm2708/patches-4.19/950-0665-overlays-Fix-compatible-string-for-ds1307-RTC.patch b/target/linux/brcm2708/patches-4.19/950-0586-overlays-Fix-compatible-string-for-ds1307-RTC.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0665-overlays-Fix-compatible-string-for-ds1307-RTC.patch rename to target/linux/brcm2708/patches-4.19/950-0586-overlays-Fix-compatible-string-for-ds1307-RTC.patch index f1279f6ca..220cd5e09 100644 --- a/target/linux/brcm2708/patches-4.19/950-0665-overlays-Fix-compatible-string-for-ds1307-RTC.patch +++ b/target/linux/brcm2708/patches-4.19/950-0586-overlays-Fix-compatible-string-for-ds1307-RTC.patch @@ -1,7 +1,7 @@ From 4a5715f95d8865c817c9a747f28f38b234f5df42 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 17 Jun 2019 14:36:12 +0100 -Subject: [PATCH 665/806] overlays: Fix compatible string for ds1307 RTC +Subject: [PATCH] overlays: Fix compatible string for ds1307 RTC Kernels since 4.19 have required the correct manufacture name in the compatible string for I2C devices, and unfortunately the one for the diff --git a/target/linux/brcm2708/patches-4.19/950-0666-overlays-Fix-further-maxim-ds1307-references.patch b/target/linux/brcm2708/patches-4.19/950-0587-overlays-Fix-further-maxim-ds1307-references.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0666-overlays-Fix-further-maxim-ds1307-references.patch rename to target/linux/brcm2708/patches-4.19/950-0587-overlays-Fix-further-maxim-ds1307-references.patch index 703d92dcc..30dcaf400 100644 --- a/target/linux/brcm2708/patches-4.19/950-0666-overlays-Fix-further-maxim-ds1307-references.patch +++ b/target/linux/brcm2708/patches-4.19/950-0587-overlays-Fix-further-maxim-ds1307-references.patch @@ -1,7 +1,7 @@ From ff25f8c70fd995e4f76a3c1245556cc0ec3db19d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 18 Jun 2019 11:16:13 +0100 -Subject: [PATCH 666/806] overlays: Fix further maxim,ds1307 references +Subject: [PATCH] overlays: Fix further maxim,ds1307 references See: https://github.com/raspberrypi/linux/issues/3013 diff --git a/target/linux/brcm2708/patches-4.19/950-0667-overlays-Cosmetic-change-to-upstream-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0588-overlays-Cosmetic-change-to-upstream-overlay.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0667-overlays-Cosmetic-change-to-upstream-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0588-overlays-Cosmetic-change-to-upstream-overlay.patch index 34272ca87..51db87467 100644 --- a/target/linux/brcm2708/patches-4.19/950-0667-overlays-Cosmetic-change-to-upstream-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0588-overlays-Cosmetic-change-to-upstream-overlay.patch @@ -1,7 +1,7 @@ From ce7469a397da34a19112b8d14eb283e02088755b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 18 Jun 2019 11:19:59 +0100 -Subject: [PATCH 667/806] overlays: Cosmetic change to upstream overlay +Subject: [PATCH] overlays: Cosmetic change to upstream overlay The dwc2 overlay no longer uses the dwc2_usb label, and the latest ovmerge (which generates the upstream overlay) removes unused labels. diff --git a/target/linux/brcm2708/patches-4.19/950-0668-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch b/target/linux/brcm2708/patches-4.19/950-0589-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0668-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch rename to target/linux/brcm2708/patches-4.19/950-0589-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch index 353a71d66..2f33f638c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0668-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch +++ b/target/linux/brcm2708/patches-4.19/950-0589-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch @@ -1,7 +1,7 @@ From 4f1fd30b76c1bec76069483b88747783a0654f38 Mon Sep 17 00:00:00 2001 From: Mariusz Bialonczyk Date: Sat, 25 May 2019 10:45:38 +0200 -Subject: [PATCH 668/806] w1: ds2805: rename w1_family struct, fixing c-p typo +Subject: [PATCH] w1: ds2805: rename w1_family struct, fixing c-p typo commit 0e3743d870711ae4daf1e7170c8d9381564e244d upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0669-w1-ds2413-output_write-cosmetic-fixes-simplify.patch b/target/linux/brcm2708/patches-4.19/950-0590-w1-ds2413-output_write-cosmetic-fixes-simplify.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0669-w1-ds2413-output_write-cosmetic-fixes-simplify.patch rename to target/linux/brcm2708/patches-4.19/950-0590-w1-ds2413-output_write-cosmetic-fixes-simplify.patch index f158d5def..6c0a304f1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0669-w1-ds2413-output_write-cosmetic-fixes-simplify.patch +++ b/target/linux/brcm2708/patches-4.19/950-0590-w1-ds2413-output_write-cosmetic-fixes-simplify.patch @@ -1,7 +1,7 @@ From 3280ce5f5483a351f49e84b48ad98df87989346a Mon Sep 17 00:00:00 2001 From: Mariusz Bialonczyk Date: Mon, 20 May 2019 09:05:55 +0200 -Subject: [PATCH 669/806] w1: ds2413: output_write() cosmetic fixes / simplify +Subject: [PATCH] w1: ds2413: output_write() cosmetic fixes / simplify commit ae2ee27aa985232f66421d7cd1c7f4b87c7dba7d upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0670-w1-ds2413-add-retry-support-to-state_read.patch b/target/linux/brcm2708/patches-4.19/950-0591-w1-ds2413-add-retry-support-to-state_read.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0670-w1-ds2413-add-retry-support-to-state_read.patch rename to target/linux/brcm2708/patches-4.19/950-0591-w1-ds2413-add-retry-support-to-state_read.patch index 4e532df12..07c6157ca 100644 --- a/target/linux/brcm2708/patches-4.19/950-0670-w1-ds2413-add-retry-support-to-state_read.patch +++ b/target/linux/brcm2708/patches-4.19/950-0591-w1-ds2413-add-retry-support-to-state_read.patch @@ -1,7 +1,7 @@ From 91e443597cdd8f89d2b68ea5bf0f0823d1853ab7 Mon Sep 17 00:00:00 2001 From: Mariusz Bialonczyk Date: Mon, 20 May 2019 09:05:56 +0200 -Subject: [PATCH 670/806] w1: ds2413: add retry support to state_read() +Subject: [PATCH] w1: ds2413: add retry support to state_read() commit c50d09a86172073f55ebac0b92ad5a75907d64e7 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0671-w1-ds2413-when-the-slave-is-not-responding-during-re.patch b/target/linux/brcm2708/patches-4.19/950-0592-w1-ds2413-when-the-slave-is-not-responding-during-re.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0671-w1-ds2413-when-the-slave-is-not-responding-during-re.patch rename to target/linux/brcm2708/patches-4.19/950-0592-w1-ds2413-when-the-slave-is-not-responding-during-re.patch index 43d4a5e85..9d7a94159 100644 --- a/target/linux/brcm2708/patches-4.19/950-0671-w1-ds2413-when-the-slave-is-not-responding-during-re.patch +++ b/target/linux/brcm2708/patches-4.19/950-0592-w1-ds2413-when-the-slave-is-not-responding-during-re.patch @@ -1,7 +1,7 @@ From c84676e57896fedb47a69739fb82bb9941f624c4 Mon Sep 17 00:00:00 2001 From: Mariusz Bialonczyk Date: Wed, 22 May 2019 12:40:53 +0200 -Subject: [PATCH 671/806] w1: ds2413: when the slave is not responding during +Subject: [PATCH] w1: ds2413: when the slave is not responding during read, select it again commit 3856032a0628e6b94badb9131a706dda185e071d upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0672-w1-ds2413-fix-state-byte-comparision.patch b/target/linux/brcm2708/patches-4.19/950-0593-w1-ds2413-fix-state-byte-comparision.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0672-w1-ds2413-fix-state-byte-comparision.patch rename to target/linux/brcm2708/patches-4.19/950-0593-w1-ds2413-fix-state-byte-comparision.patch index dc99ef9ea..3d3b74efc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0672-w1-ds2413-fix-state-byte-comparision.patch +++ b/target/linux/brcm2708/patches-4.19/950-0593-w1-ds2413-fix-state-byte-comparision.patch @@ -1,7 +1,7 @@ From 38ca046063ee6fcef66c9c3bec5844a65f9d48d9 Mon Sep 17 00:00:00 2001 From: Mariusz Bialonczyk Date: Thu, 30 May 2019 09:51:25 +0200 -Subject: [PATCH 672/806] w1: ds2413: fix state byte comparision +Subject: [PATCH] w1: ds2413: fix state byte comparision commit aacd152ecd7b18af5d2d96dea9e7284c1c93abea upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0673-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch b/target/linux/brcm2708/patches-4.19/950-0594-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0673-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch rename to target/linux/brcm2708/patches-4.19/950-0594-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch index 6414ceb06..63b8e8bdb 100644 --- a/target/linux/brcm2708/patches-4.19/950-0673-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch +++ b/target/linux/brcm2708/patches-4.19/950-0594-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch @@ -1,7 +1,7 @@ From 496b26b154da9a962a5310641d8f4b73200fe590 Mon Sep 17 00:00:00 2001 From: Chris Miller Date: Wed, 26 Jun 2019 10:40:30 +0100 -Subject: [PATCH 673/806] drm: vc4_dsi: Fix DMA channel and memory leak in vc4 +Subject: [PATCH] drm: vc4_dsi: Fix DMA channel and memory leak in vc4 (#3012) Signed-off-by: Chris G Miller diff --git a/target/linux/brcm2708/patches-4.19/950-0674-video-bcm2708_fb-Revert-cma-allocation-attempt.patch b/target/linux/brcm2708/patches-4.19/950-0595-video-bcm2708_fb-Revert-cma-allocation-attempt.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0674-video-bcm2708_fb-Revert-cma-allocation-attempt.patch rename to target/linux/brcm2708/patches-4.19/950-0595-video-bcm2708_fb-Revert-cma-allocation-attempt.patch index dd2c150d0..1eed4f727 100644 --- a/target/linux/brcm2708/patches-4.19/950-0674-video-bcm2708_fb-Revert-cma-allocation-attempt.patch +++ b/target/linux/brcm2708/patches-4.19/950-0595-video-bcm2708_fb-Revert-cma-allocation-attempt.patch @@ -1,7 +1,7 @@ From b3fe618a47d770f6c9808ade14360fd81a599789 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 19 Jun 2019 03:55:50 +0100 -Subject: [PATCH 674/806] video/bcm2708_fb: Revert cma allocation attempt +Subject: [PATCH] video/bcm2708_fb: Revert cma allocation attempt "4600e91 Pulled in the multi frame buffer support from the Pi3 repo" pulled back in the code for allocating the framebuffer from the CMA diff --git a/target/linux/brcm2708/patches-4.19/950-0675-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch b/target/linux/brcm2708/patches-4.19/950-0596-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0675-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch rename to target/linux/brcm2708/patches-4.19/950-0596-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch index aa430490f..ad3732d48 100644 --- a/target/linux/brcm2708/patches-4.19/950-0675-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch +++ b/target/linux/brcm2708/patches-4.19/950-0596-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch @@ -1,7 +1,7 @@ From ee96684cb2f528ad1036ae9a9126c9118a80dfbe Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Jun 2019 02:29:40 +0100 -Subject: [PATCH 675/806] drm/vc4: Add support for color encoding on YUV planes +Subject: [PATCH] drm/vc4: Add support for color encoding on YUV planes Adds signalling for BT601/709/2020, and limited/full range (on BT601). diff --git a/target/linux/brcm2708/patches-4.19/950-0678-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch b/target/linux/brcm2708/patches-4.19/950-0597-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0678-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch rename to target/linux/brcm2708/patches-4.19/950-0597-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch index 1ef506307..222de5baf 100644 --- a/target/linux/brcm2708/patches-4.19/950-0678-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch +++ b/target/linux/brcm2708/patches-4.19/950-0597-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch @@ -1,7 +1,7 @@ From f9dfd577dcc8e3173ddce79bca535eeee0fad1a4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 2 Jul 2019 17:13:05 +0100 -Subject: [PATCH 678/806] arm: dts: Add coherent_pool=1M to Pi 4 bootargs +Subject: [PATCH] arm: dts: Add coherent_pool=1M to Pi 4 bootargs Downstream Raspberry Pi dts files add "coherent_pool=1M" to the kernel command line to aid the dwc_otg driver, but this excluded Pi 4 which diff --git a/target/linux/brcm2708/patches-4.19/950-0682-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch b/target/linux/brcm2708/patches-4.19/950-0598-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0682-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch rename to target/linux/brcm2708/patches-4.19/950-0598-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch index 0e4a020e5..765874ef2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0682-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch +++ b/target/linux/brcm2708/patches-4.19/950-0598-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch @@ -1,7 +1,7 @@ From 21e4c9306bd20ab4e02f90cd452d90bc4e4a0a98 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 3 Jul 2019 20:37:14 +0100 -Subject: [PATCH 682/806] overlays: Correct gpio-fan gpio flags for 4.19 +Subject: [PATCH] overlays: Correct gpio-fan gpio flags for 4.19 The gpio-fan overlay was submitted for the 4.14 kernel where the second value in the Device Tree gpios declaration was ignored (thanks to an diff --git a/target/linux/brcm2708/patches-4.19/950-0683-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch b/target/linux/brcm2708/patches-4.19/950-0599-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0683-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch rename to target/linux/brcm2708/patches-4.19/950-0599-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch index 7463d0750..38bff7a7f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0683-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch +++ b/target/linux/brcm2708/patches-4.19/950-0599-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch @@ -1,7 +1,7 @@ From b30537425b4bf90311b8d43c95484d9d339be25f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Jun 2019 00:29:44 +0100 -Subject: [PATCH 683/806] staging: vcsm-cma: Remove cache manipulation ioctl +Subject: [PATCH] staging: vcsm-cma: Remove cache manipulation ioctl from ARM64 The cache flushing ioctls are used by the Pi3 HEVC hw-assisted diff --git a/target/linux/brcm2708/patches-4.19/950-0684-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch b/target/linux/brcm2708/patches-4.19/950-0600-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0684-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch rename to target/linux/brcm2708/patches-4.19/950-0600-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch index f0f51ef1f..e8896c09a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0684-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch +++ b/target/linux/brcm2708/patches-4.19/950-0600-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch @@ -1,7 +1,7 @@ From e4cb138abe457a6ab9b98458660a1c8e548fab7f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 1 Jul 2019 11:57:25 +0100 -Subject: [PATCH 684/806] staging: vcsm-cma: Rework to use dma APIs, not CMA +Subject: [PATCH] staging: vcsm-cma: Rework to use dma APIs, not CMA Due to a misunderstanding of the DMA mapping APIs, I made the wrong decision on how to implement this. diff --git a/target/linux/brcm2708/patches-4.19/950-0687-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch b/target/linux/brcm2708/patches-4.19/950-0601-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0687-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch rename to target/linux/brcm2708/patches-4.19/950-0601-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch index 1f2878eaf..6c61023ca 100644 --- a/target/linux/brcm2708/patches-4.19/950-0687-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch +++ b/target/linux/brcm2708/patches-4.19/950-0601-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch @@ -1,7 +1,7 @@ From 38ae4957840ff9578a497422a8ca758549f734d5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 2 Jul 2019 17:19:04 +0100 -Subject: [PATCH 687/806] staging: vc-sm-cma: Fix the few remaining coding +Subject: [PATCH] staging: vc-sm-cma: Fix the few remaining coding style issues Fix a few minor checkpatch complaints to make the driver clean diff --git a/target/linux/brcm2708/patches-4.19/950-0690-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch b/target/linux/brcm2708/patches-4.19/950-0602-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0690-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch rename to target/linux/brcm2708/patches-4.19/950-0602-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch index ffe6237bc..8f3e72c44 100644 --- a/target/linux/brcm2708/patches-4.19/950-0690-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch +++ b/target/linux/brcm2708/patches-4.19/950-0602-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch @@ -1,7 +1,7 @@ From ebd995296afa99a5c53f164e595f7a6d41d32a01 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Thu, 23 Aug 2018 09:56:22 -0400 -Subject: [PATCH 690/806] media: videodev2.h: add new capabilities for buffer +Subject: [PATCH] media: videodev2.h: add new capabilities for buffer types Upstream commit f35f5d72e70e6b91389eb98fcabf43b79f40587f diff --git a/target/linux/brcm2708/patches-4.19/950-0691-media-vb2-set-reqbufs-create_bufs-capabilities.patch b/target/linux/brcm2708/patches-4.19/950-0603-media-vb2-set-reqbufs-create_bufs-capabilities.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0691-media-vb2-set-reqbufs-create_bufs-capabilities.patch rename to target/linux/brcm2708/patches-4.19/950-0603-media-vb2-set-reqbufs-create_bufs-capabilities.patch index 233857f5d..bd99cba5a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0691-media-vb2-set-reqbufs-create_bufs-capabilities.patch +++ b/target/linux/brcm2708/patches-4.19/950-0603-media-vb2-set-reqbufs-create_bufs-capabilities.patch @@ -1,7 +1,7 @@ From 7410e35a4936b89f2e227c52058c11f1574bbfca Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Thu, 23 Aug 2018 10:18:35 -0400 -Subject: [PATCH 691/806] media: vb2: set reqbufs/create_bufs capabilities +Subject: [PATCH] media: vb2: set reqbufs/create_bufs capabilities Upstream commit e5079cf11373e4cc98be8b1072aece429eb2d4d2. @@ -152,7 +152,7 @@ Minor modifications required on the backport return __put_v4l2_format32(&p64->format, &p32->format); --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1879,7 +1879,7 @@ static int v4l_reqbufs(const struct v4l2 +@@ -1882,7 +1882,7 @@ static int v4l_reqbufs(const struct v4l2 if (ret) return ret; @@ -161,7 +161,7 @@ Minor modifications required on the backport return ops->vidioc_reqbufs(file, fh, p); } -@@ -1920,7 +1920,7 @@ static int v4l_create_bufs(const struct +@@ -1923,7 +1923,7 @@ static int v4l_create_bufs(const struct if (ret) return ret; diff --git a/target/linux/brcm2708/patches-4.19/950-0692-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch b/target/linux/brcm2708/patches-4.19/950-0604-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0692-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch rename to target/linux/brcm2708/patches-4.19/950-0604-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch index 0a6f54014..755ca3444 100644 --- a/target/linux/brcm2708/patches-4.19/950-0692-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch +++ b/target/linux/brcm2708/patches-4.19/950-0604-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch @@ -1,7 +1,7 @@ From 16cf378051d7fff6772a7acaecbacddec7822330 Mon Sep 17 00:00:00 2001 From: John Sheu Date: Thu, 15 Nov 2018 10:57:16 -0500 -Subject: [PATCH 692/806] media: vb2: Allow reqbufs(0) with "in use" MMAP +Subject: [PATCH] media: vb2: Allow reqbufs(0) with "in use" MMAP buffers Upstream commit d644cca50f366cd109845ae92e37c09ed79adf81 diff --git a/target/linux/brcm2708/patches-4.19/950-0693-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0605-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0693-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0605-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch index efc5964af..51dd1d766 100644 --- a/target/linux/brcm2708/patches-4.19/950-0693-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0605-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch @@ -1,7 +1,7 @@ From a11b6221e69ba4177ee428e2cb6fb4e4bd68c5f4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 5 Jul 2019 09:22:10 +0100 -Subject: [PATCH 693/806] overlays: Add real parameters to the rpi-poe overlay +Subject: [PATCH] overlays: Add real parameters to the rpi-poe overlay As a result of being loaded by the POE HAT EEPROM, the rpi-poe overlay doesn't expose parameters in the usual way; instead it adds them to diff --git a/target/linux/brcm2708/patches-4.19/950-0694-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch b/target/linux/brcm2708/patches-4.19/950-0606-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0694-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch rename to target/linux/brcm2708/patches-4.19/950-0606-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch index f4137bbdd..669306d15 100644 --- a/target/linux/brcm2708/patches-4.19/950-0694-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch +++ b/target/linux/brcm2708/patches-4.19/950-0606-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch @@ -1,7 +1,7 @@ From c46811a3b0e0fb76015ac956172e40bce4e6d9b3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 5 Jul 2019 14:49:22 +0100 -Subject: [PATCH 694/806] overlays: Rename pi3- overlays to be less +Subject: [PATCH] overlays: Rename pi3- overlays to be less model-specific (#3052) Rename the various pi3- overlays to be more generic, listing diff --git a/target/linux/brcm2708/patches-4.19/950-0695-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch b/target/linux/brcm2708/patches-4.19/950-0607-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0695-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch rename to target/linux/brcm2708/patches-4.19/950-0607-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch index ef556367f..b363e753e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0695-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch +++ b/target/linux/brcm2708/patches-4.19/950-0607-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch @@ -1,7 +1,7 @@ From 614cade3a68f7214939e1c72acd5fcc9d49beeef Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Fri, 21 Jun 2019 03:52:49 -0700 -Subject: [PATCH 695/806] i2c: bcm2835: Move IRQ request after clock code in +Subject: [PATCH] i2c: bcm2835: Move IRQ request after clock code in probe Commit 4a5cfa39465cad25dd736d7ceba8a5d32eea4ecc upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0696-i2c-bcm2835-Ensure-clock-exists-when-probing.patch b/target/linux/brcm2708/patches-4.19/950-0608-i2c-bcm2835-Ensure-clock-exists-when-probing.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0696-i2c-bcm2835-Ensure-clock-exists-when-probing.patch rename to target/linux/brcm2708/patches-4.19/950-0608-i2c-bcm2835-Ensure-clock-exists-when-probing.patch index 3cd1d376b..4a468f029 100644 --- a/target/linux/brcm2708/patches-4.19/950-0696-i2c-bcm2835-Ensure-clock-exists-when-probing.patch +++ b/target/linux/brcm2708/patches-4.19/950-0608-i2c-bcm2835-Ensure-clock-exists-when-probing.patch @@ -1,7 +1,7 @@ From 1a5122f1756ef4fc5779324ad26b6a04142166b5 Mon Sep 17 00:00:00 2001 From: Annaliese McDermond Date: Fri, 21 Jun 2019 03:52:50 -0700 -Subject: [PATCH 696/806] i2c: bcm2835: Ensure clock exists when probing +Subject: [PATCH] i2c: bcm2835: Ensure clock exists when probing Commit 9de93b04df16b055824e3f1f13fedb90fbcf2e4f upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0697-overlays-i2c-gpio-Fix-the-bus-parameter.patch b/target/linux/brcm2708/patches-4.19/950-0609-overlays-i2c-gpio-Fix-the-bus-parameter.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0697-overlays-i2c-gpio-Fix-the-bus-parameter.patch rename to target/linux/brcm2708/patches-4.19/950-0609-overlays-i2c-gpio-Fix-the-bus-parameter.patch index 32c19a541..9a6d15506 100644 --- a/target/linux/brcm2708/patches-4.19/950-0697-overlays-i2c-gpio-Fix-the-bus-parameter.patch +++ b/target/linux/brcm2708/patches-4.19/950-0609-overlays-i2c-gpio-Fix-the-bus-parameter.patch @@ -1,7 +1,7 @@ From d562b2187263b40aacc1a50d3f25db2cf28696d6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 9 Jul 2019 10:32:40 +0100 -Subject: [PATCH 697/806] overlays: i2c-gpio: Fix the "bus" parameter +Subject: [PATCH] overlays: i2c-gpio: Fix the "bus" parameter The "bus" parameter has two functions - providing unique names for multiple instances of the overlay, and allowing the number of the bus diff --git a/target/linux/brcm2708/patches-4.19/950-0698-tty-amba-pl011-Make-TX-optimisation-conditional.patch b/target/linux/brcm2708/patches-4.19/950-0610-tty-amba-pl011-Make-TX-optimisation-conditional.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0698-tty-amba-pl011-Make-TX-optimisation-conditional.patch rename to target/linux/brcm2708/patches-4.19/950-0610-tty-amba-pl011-Make-TX-optimisation-conditional.patch index 6b7ab5685..8d40afb44 100644 --- a/target/linux/brcm2708/patches-4.19/950-0698-tty-amba-pl011-Make-TX-optimisation-conditional.patch +++ b/target/linux/brcm2708/patches-4.19/950-0610-tty-amba-pl011-Make-TX-optimisation-conditional.patch @@ -1,7 +1,7 @@ From 3e3c13488e4efa0236c47a98ee5e759bf1f7c757 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Jul 2019 13:13:39 +0100 -Subject: [PATCH 698/806] tty: amba-pl011: Make TX optimisation conditional +Subject: [PATCH] tty: amba-pl011: Make TX optimisation conditional pl011_tx_chars takes a "from_irq" parameter to reduce the number of register accesses. When from_irq is true the function assumes that the diff --git a/target/linux/brcm2708/patches-4.19/950-0611-HACK-clk-bcm2835-Add-BCM2838_CLOCK_EMMC2-support.patch b/target/linux/brcm2708/patches-4.19/950-0611-HACK-clk-bcm2835-Add-BCM2838_CLOCK_EMMC2-support.patch deleted file mode 100644 index 8313799f5..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0611-HACK-clk-bcm2835-Add-BCM2838_CLOCK_EMMC2-support.patch +++ /dev/null @@ -1,72 +0,0 @@ -From e5cefebc24b7684f4f84a539259612c8f5a4975b Mon Sep 17 00:00:00 2001 -From: Stefan Wahren -Date: Thu, 2 May 2019 23:42:29 +0200 -Subject: [PATCH 611/806] HACK: clk-bcm2835: Add BCM2838_CLOCK_EMMC2 support - -The new BCM2838 supports an additional emmc2 clock. So add a new -compatible to register this clock only for BCM2838. - -Signed-off-by: Stefan Wahren ---- - drivers/clk/bcm/clk-bcm2835.c | 20 ++++++++++++++++++-- - include/dt-bindings/clock/bcm2835.h | 2 ++ - 2 files changed, 20 insertions(+), 2 deletions(-) - ---- a/drivers/clk/bcm/clk-bcm2835.c -+++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -124,6 +124,8 @@ - #define CM_AVEODIV 0x1bc - #define CM_EMMCCTL 0x1c0 - #define CM_EMMCDIV 0x1c4 -+#define CM_EMMC2CTL 0x1d0 -+#define CM_EMMC2DIV 0x1d4 - - /* General bits for the CM_*CTL regs */ - # define CM_ENABLE BIT(4) -@@ -2047,6 +2049,15 @@ static const struct bcm2835_clk_desc clk - .frac_bits = 8, - .tcnt_mux = 39), - -+ /* EMMC2 clock (only available for BCM2838) */ -+ [BCM2838_CLOCK_EMMC2] = REGISTER_PER_CLK( -+ .name = "emmc2", -+ .ctl_reg = CM_EMMC2CTL, -+ .div_reg = CM_EMMC2DIV, -+ .int_bits = 4, -+ .frac_bits = 8, -+ .tcnt_mux = 42), -+ - /* General purpose (GPIO) clocks */ - [BCM2835_CLOCK_GP0] = REGISTER_PER_CLK( - .name = "gp0", -@@ -2276,8 +2287,12 @@ static int bcm2835_clk_probe(struct plat - - for (i = 0; i < asize; i++) { - desc = &clk_desc_array[i]; -- if (desc->clk_register && desc->data) -- hws[i] = desc->clk_register(cprman, desc->data); -+ if (desc->clk_register && desc->data) { -+ if ((i != BCM2838_CLOCK_EMMC2) || -+ of_device_is_compatible(fw_node, "brcm,bcm2838-cprman")) { -+ hws[i] = desc->clk_register(cprman, desc->data); -+ } -+ } - } - - ret = bcm2835_mark_sdc_parent_critical(hws[BCM2835_CLOCK_SDRAM]->clk); -@@ -2297,6 +2312,7 @@ static int bcm2835_clk_probe(struct plat - - static const struct of_device_id bcm2835_clk_of_match[] = { - { .compatible = "brcm,bcm2835-cprman", }, -+ { .compatible = "brcm,bcm2838-cprman", }, - {} - }; - MODULE_DEVICE_TABLE(of, bcm2835_clk_of_match); ---- a/include/dt-bindings/clock/bcm2835.h -+++ b/include/dt-bindings/clock/bcm2835.h -@@ -66,3 +66,5 @@ - #define BCM2835_CLOCK_DSI1E 48 - #define BCM2835_CLOCK_DSI0P 49 - #define BCM2835_CLOCK_DSI1P 50 -+ -+#define BCM2838_CLOCK_EMMC2 51 diff --git a/target/linux/brcm2708/patches-4.19/950-0699-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch b/target/linux/brcm2708/patches-4.19/950-0611-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0699-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch rename to target/linux/brcm2708/patches-4.19/950-0611-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch index becbe1502..3e413c7d0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0699-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch +++ b/target/linux/brcm2708/patches-4.19/950-0611-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch @@ -1,7 +1,7 @@ From 705bc230789927f96d6c9c70dc5475ebaf08aa54 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 11 Jul 2019 17:55:43 +0100 -Subject: [PATCH 699/806] xhci: add quirk for host controllers that don't +Subject: [PATCH] xhci: add quirk for host controllers that don't update endpoint DCS Seen on a VLI VL805 PCIe to USB controller. For non-stream endpoints diff --git a/target/linux/brcm2708/patches-4.19/950-0700-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch b/target/linux/brcm2708/patches-4.19/950-0612-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0700-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch rename to target/linux/brcm2708/patches-4.19/950-0612-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch index cd2394d23..280cddf9f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0700-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch +++ b/target/linux/brcm2708/patches-4.19/950-0612-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch @@ -1,7 +1,7 @@ From 8d453e2193951057db696e37b9c10e7e35c18cb0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 12 Jul 2019 15:38:35 +0100 -Subject: [PATCH 700/806] i2c: bcm2835: Set clock-stretch timeout to 35ms +Subject: [PATCH] i2c: bcm2835: Set clock-stretch timeout to 35ms The BCM2835 I2C blocks have a register to set the clock-stretch timeout - how long the device is allowed to hold SCL low - in bus diff --git a/target/linux/brcm2708/patches-4.19/950-0701-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch b/target/linux/brcm2708/patches-4.19/950-0613-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0701-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch rename to target/linux/brcm2708/patches-4.19/950-0613-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch index f6befd75a..c82ac8d61 100644 --- a/target/linux/brcm2708/patches-4.19/950-0701-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch +++ b/target/linux/brcm2708/patches-4.19/950-0613-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch @@ -1,7 +1,7 @@ From 39964e4a3a2ea18b48be5c31d7980895f0bdd99c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 8 Mar 2019 13:02:16 -0800 -Subject: [PATCH 701/806] arm64: bcm2835: Add missing dependency on MFD_CORE. +Subject: [PATCH] arm64: bcm2835: Add missing dependency on MFD_CORE. commit 7a9b6be9fe58194d9a349159176e8cc0d8f10ef8 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0702-overlays-Add-PCF2129-RTC.patch b/target/linux/brcm2708/patches-4.19/950-0614-overlays-Add-PCF2129-RTC.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0702-overlays-Add-PCF2129-RTC.patch rename to target/linux/brcm2708/patches-4.19/950-0614-overlays-Add-PCF2129-RTC.patch index 9eaa75ac5..7bddfdc6a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0702-overlays-Add-PCF2129-RTC.patch +++ b/target/linux/brcm2708/patches-4.19/950-0614-overlays-Add-PCF2129-RTC.patch @@ -1,7 +1,7 @@ From 2308f60bb68de69306c542de3983be0007cad37b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 15 Jul 2019 10:39:05 +0100 -Subject: [PATCH 702/806] overlays: Add PCF2129 RTC +Subject: [PATCH] overlays: Add PCF2129 RTC Add support for the PCF2129 RTC to i2c-rtc and i2c-rtc-gpio overlays. Also add rv3028 to i2c-rtc-gpio (it was missed previously), and don't diff --git a/target/linux/brcm2708/patches-4.19/950-0704-overlays-dpi18-and-dpi24-vc4-compatibility.patch b/target/linux/brcm2708/patches-4.19/950-0615-overlays-dpi18-and-dpi24-vc4-compatibility.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0704-overlays-dpi18-and-dpi24-vc4-compatibility.patch rename to target/linux/brcm2708/patches-4.19/950-0615-overlays-dpi18-and-dpi24-vc4-compatibility.patch index 8b3c75c4d..0b3e8ec07 100644 --- a/target/linux/brcm2708/patches-4.19/950-0704-overlays-dpi18-and-dpi24-vc4-compatibility.patch +++ b/target/linux/brcm2708/patches-4.19/950-0615-overlays-dpi18-and-dpi24-vc4-compatibility.patch @@ -1,7 +1,7 @@ From a5e0d604116189331d5608c9d128f37df17db2e3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 16 Jul 2019 15:24:12 +0100 -Subject: [PATCH 704/806] overlays: dpi18 and dpi24 vc4 compatibility +Subject: [PATCH] overlays: dpi18 and dpi24 vc4 compatibility The dpi overlays use the fb device tree node as a place to hang the necessary pinctrl changes. With one of the VC4 overlays loaded, the diff --git a/target/linux/brcm2708/patches-4.19/950-0705-overlays-Add-i2c0-and-i2c1-for-regularity.patch b/target/linux/brcm2708/patches-4.19/950-0616-overlays-Add-i2c0-and-i2c1-for-regularity.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0705-overlays-Add-i2c0-and-i2c1-for-regularity.patch rename to target/linux/brcm2708/patches-4.19/950-0616-overlays-Add-i2c0-and-i2c1-for-regularity.patch index ba5383c86..5b2c17bed 100644 --- a/target/linux/brcm2708/patches-4.19/950-0705-overlays-Add-i2c0-and-i2c1-for-regularity.patch +++ b/target/linux/brcm2708/patches-4.19/950-0616-overlays-Add-i2c0-and-i2c1-for-regularity.patch @@ -1,7 +1,7 @@ From 9c0f4b3e3b197d5c81f4bd6679f2c2456ab45c9e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 17 Jul 2019 10:08:55 +0100 -Subject: [PATCH 705/806] overlays: Add i2c0 and i2c1 for regularity +Subject: [PATCH] overlays: Add i2c0 and i2c1 for regularity The new i2c overlays for pi4 (i2c3, i2c4, i2c5, i2c6) have a standardised interface that allows pin groups to be chosen diff --git a/target/linux/brcm2708/patches-4.19/950-0706-Pisound-Remove-spinlock-usage-around-spi_sync.patch b/target/linux/brcm2708/patches-4.19/950-0617-Pisound-Remove-spinlock-usage-around-spi_sync.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0706-Pisound-Remove-spinlock-usage-around-spi_sync.patch rename to target/linux/brcm2708/patches-4.19/950-0617-Pisound-Remove-spinlock-usage-around-spi_sync.patch index 50803008e..5dee4cb1d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0706-Pisound-Remove-spinlock-usage-around-spi_sync.patch +++ b/target/linux/brcm2708/patches-4.19/950-0617-Pisound-Remove-spinlock-usage-around-spi_sync.patch @@ -1,7 +1,7 @@ From ace4e8240d581e6053f0165b2682a2db745d49dc Mon Sep 17 00:00:00 2001 From: Giedrius Date: Fri, 12 Jul 2019 17:45:55 +0300 -Subject: [PATCH 706/806] Pisound: Remove spinlock usage around spi_sync +Subject: [PATCH] Pisound: Remove spinlock usage around spi_sync --- sound/soc/bcm/pisound.c | 5 ----- diff --git a/target/linux/brcm2708/patches-4.19/950-0707-arm64-mm-Limit-the-DMA-zone-for-arm64.patch b/target/linux/brcm2708/patches-4.19/950-0618-arm64-mm-Limit-the-DMA-zone-for-arm64.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0707-arm64-mm-Limit-the-DMA-zone-for-arm64.patch rename to target/linux/brcm2708/patches-4.19/950-0618-arm64-mm-Limit-the-DMA-zone-for-arm64.patch index 1715165b6..41261cd0d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0707-arm64-mm-Limit-the-DMA-zone-for-arm64.patch +++ b/target/linux/brcm2708/patches-4.19/950-0618-arm64-mm-Limit-the-DMA-zone-for-arm64.patch @@ -1,7 +1,7 @@ From 2722f08c4c59901bd506184e2dcbbbd532aef0b3 Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Tue, 16 Jul 2019 13:28:22 +0100 -Subject: [PATCH 707/806] arm64/mm: Limit the DMA zone for arm64 +Subject: [PATCH] arm64/mm: Limit the DMA zone for arm64 On RaspberryPi, only the first 1Gb can be used for DMA[1]. diff --git a/target/linux/brcm2708/patches-4.19/950-0710-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch b/target/linux/brcm2708/patches-4.19/950-0619-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0710-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch rename to target/linux/brcm2708/patches-4.19/950-0619-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch index af49437cc..00d0252de 100644 --- a/target/linux/brcm2708/patches-4.19/950-0710-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch +++ b/target/linux/brcm2708/patches-4.19/950-0619-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch @@ -1,7 +1,7 @@ From 5620f5eda349027a6e00e23391bc59617d25b449 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 3 Jul 2019 17:44:53 +0100 -Subject: [PATCH 710/806] drm/vc4: Query firmware for custom HDMI mode +Subject: [PATCH] drm/vc4: Query firmware for custom HDMI mode Allow custom HDMI modes to be specified from config.txt, and these then override EDID parsing. diff --git a/target/linux/brcm2708/patches-4.19/950-0711-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch b/target/linux/brcm2708/patches-4.19/950-0620-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0711-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch rename to target/linux/brcm2708/patches-4.19/950-0620-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch index ec8a468d6..9f5b9e14a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0711-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch +++ b/target/linux/brcm2708/patches-4.19/950-0620-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch @@ -1,7 +1,7 @@ From 2c0bfade955e4e660941db287020d06c9e22267f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jul 2019 15:12:05 +0100 -Subject: [PATCH 711/806] drm/vc4: Pass the drm vrefresh to the firmware on +Subject: [PATCH] drm/vc4: Pass the drm vrefresh to the firmware on mode set More for completeness than need, but use drm_mode_vrefresh diff --git a/target/linux/brcm2708/patches-4.19/950-0712-overlays-audremap-Support-GPIOs-18-19.patch b/target/linux/brcm2708/patches-4.19/950-0621-overlays-audremap-Support-GPIOs-18-19.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0712-overlays-audremap-Support-GPIOs-18-19.patch rename to target/linux/brcm2708/patches-4.19/950-0621-overlays-audremap-Support-GPIOs-18-19.patch index a14a603f8..667e104b4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0712-overlays-audremap-Support-GPIOs-18-19.patch +++ b/target/linux/brcm2708/patches-4.19/950-0621-overlays-audremap-Support-GPIOs-18-19.patch @@ -1,7 +1,7 @@ From f42cc245e1f3e586f1a26550e5760489b6c329ab Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Jul 2019 12:55:07 +0100 -Subject: [PATCH 712/806] overlays: audremap: Support GPIOs 18 & 19 +Subject: [PATCH] overlays: audremap: Support GPIOs 18 & 19 PWM audio can also be used on GPIOs 18 and 19, so add the pins_18_19 parameter to select that location. pins_12_13 explicitly chooses GPIOs diff --git a/target/linux/brcm2708/patches-4.19/950-0713-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch b/target/linux/brcm2708/patches-4.19/950-0622-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0713-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch rename to target/linux/brcm2708/patches-4.19/950-0622-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch index 7ab0f36c3..8cc04b78d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0713-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch +++ b/target/linux/brcm2708/patches-4.19/950-0622-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch @@ -1,7 +1,7 @@ From ce5c3d732efb5e3da50119ed876f0d6661f08b84 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 6 Dec 2018 15:24:35 +0100 -Subject: [PATCH 713/806] drm/connector: Fix drm_mode_create_tv_properties() +Subject: [PATCH] drm/connector: Fix drm_mode_create_tv_properties() doc Commit eda6887f1961e0d2fb866b1a520b2de5b3828de5 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0714-drm-connector-Clarify-the-unit-of-TV-margins.patch b/target/linux/brcm2708/patches-4.19/950-0623-drm-connector-Clarify-the-unit-of-TV-margins.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0714-drm-connector-Clarify-the-unit-of-TV-margins.patch rename to target/linux/brcm2708/patches-4.19/950-0623-drm-connector-Clarify-the-unit-of-TV-margins.patch index 04d022ab1..85b56a351 100644 --- a/target/linux/brcm2708/patches-4.19/950-0714-drm-connector-Clarify-the-unit-of-TV-margins.patch +++ b/target/linux/brcm2708/patches-4.19/950-0623-drm-connector-Clarify-the-unit-of-TV-margins.patch @@ -1,7 +1,7 @@ From 4589a8a086094061e7476d41578e31349accc190 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 6 Dec 2018 15:24:36 +0100 -Subject: [PATCH 714/806] drm/connector: Clarify the unit of TV margins +Subject: [PATCH] drm/connector: Clarify the unit of TV margins Commit 56406e15b5e83256151ef74eb1a219cbf13d91c8 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0715-drm-connector-Allow-creation-of-margin-props-alone.patch b/target/linux/brcm2708/patches-4.19/950-0624-drm-connector-Allow-creation-of-margin-props-alone.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0715-drm-connector-Allow-creation-of-margin-props-alone.patch rename to target/linux/brcm2708/patches-4.19/950-0624-drm-connector-Allow-creation-of-margin-props-alone.patch index c048f2624..1b242f46e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0715-drm-connector-Allow-creation-of-margin-props-alone.patch +++ b/target/linux/brcm2708/patches-4.19/950-0624-drm-connector-Allow-creation-of-margin-props-alone.patch @@ -1,7 +1,7 @@ From 4f2277b18d6bbb6fac50b751c4e513619849b23c Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 6 Dec 2018 15:24:37 +0100 -Subject: [PATCH 715/806] drm/connector: Allow creation of margin props alone +Subject: [PATCH] drm/connector: Allow creation of margin props alone Commit 6c4f52dca36f5e3e2354c30591d38e92f4657ed9 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0716-drm-vc4-Take-margin-setup-into-account-when-updating.patch b/target/linux/brcm2708/patches-4.19/950-0625-drm-vc4-Take-margin-setup-into-account-when-updating.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0716-drm-vc4-Take-margin-setup-into-account-when-updating.patch rename to target/linux/brcm2708/patches-4.19/950-0625-drm-vc4-Take-margin-setup-into-account-when-updating.patch index 22b909efe..a50be7a98 100644 --- a/target/linux/brcm2708/patches-4.19/950-0716-drm-vc4-Take-margin-setup-into-account-when-updating.patch +++ b/target/linux/brcm2708/patches-4.19/950-0625-drm-vc4-Take-margin-setup-into-account-when-updating.patch @@ -1,7 +1,7 @@ From 0d592a7685e41d0bb1816a4fedb11d3570474417 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 6 Dec 2018 15:24:38 +0100 -Subject: [PATCH 716/806] drm/vc4: Take margin setup into account when updating +Subject: [PATCH] drm/vc4: Take margin setup into account when updating planes Commit 666e73587f90f42d90385c1bea1009a650bf73f4 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0717-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch b/target/linux/brcm2708/patches-4.19/950-0626-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0717-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch rename to target/linux/brcm2708/patches-4.19/950-0626-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch index 4aa19c59c..906caba71 100644 --- a/target/linux/brcm2708/patches-4.19/950-0717-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch +++ b/target/linux/brcm2708/patches-4.19/950-0626-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch @@ -1,7 +1,7 @@ From efd1df5cd92e4436f863730f666117494613693b Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 6 Dec 2018 15:24:39 +0100 -Subject: [PATCH 717/806] drm/vc4: Attach margin props to the HDMI connector +Subject: [PATCH] drm/vc4: Attach margin props to the HDMI connector Commit db999538fdb0679629d90652f8a1437df1e85a7d upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0718-drm-vc4-Add-support-for-margins-to-fkms.patch b/target/linux/brcm2708/patches-4.19/950-0627-drm-vc4-Add-support-for-margins-to-fkms.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0718-drm-vc4-Add-support-for-margins-to-fkms.patch rename to target/linux/brcm2708/patches-4.19/950-0627-drm-vc4-Add-support-for-margins-to-fkms.patch index 1e937cdd8..12f1606db 100644 --- a/target/linux/brcm2708/patches-4.19/950-0718-drm-vc4-Add-support-for-margins-to-fkms.patch +++ b/target/linux/brcm2708/patches-4.19/950-0627-drm-vc4-Add-support-for-margins-to-fkms.patch @@ -1,7 +1,7 @@ From a4e8051901a5d858a69732a3f9734835afc00af5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 19 Jul 2019 15:35:13 +0100 -Subject: [PATCH 718/806] drm/vc4: Add support for margins to fkms +Subject: [PATCH] drm/vc4: Add support for margins to fkms Allows for overscan to be configured under FKMS. NB This is rescaling the planes, not reducing the size of the diff --git a/target/linux/brcm2708/patches-4.19/950-0719-drm-vc4-Ensure-zpos-is-always-initialised.patch b/target/linux/brcm2708/patches-4.19/950-0628-drm-vc4-Ensure-zpos-is-always-initialised.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0719-drm-vc4-Ensure-zpos-is-always-initialised.patch rename to target/linux/brcm2708/patches-4.19/950-0628-drm-vc4-Ensure-zpos-is-always-initialised.patch index 2eba1bdd4..bd13a32d2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0719-drm-vc4-Ensure-zpos-is-always-initialised.patch +++ b/target/linux/brcm2708/patches-4.19/950-0628-drm-vc4-Ensure-zpos-is-always-initialised.patch @@ -1,7 +1,7 @@ From cf80e05ebb55c121c1567ac42b9e1a885fc346a3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 19 Jul 2019 17:49:00 +0100 -Subject: [PATCH 719/806] drm/vc4: Ensure zpos is always initialised +Subject: [PATCH] drm/vc4: Ensure zpos is always initialised The compiler is warning that default_zpos can be used uninitialised as there is no default case to catch all plane diff --git a/target/linux/brcm2708/patches-4.19/950-0720-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch b/target/linux/brcm2708/patches-4.19/950-0629-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0720-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch rename to target/linux/brcm2708/patches-4.19/950-0629-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch index d850ca751..553c16c9d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0720-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch +++ b/target/linux/brcm2708/patches-4.19/950-0629-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch @@ -1,7 +1,7 @@ From a78d4d81c585a5de61e7fc7d574e6e3f769c18a6 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 24 Jul 2019 14:36:53 +0100 -Subject: [PATCH 720/806] dts: bcm2838: add missing properties for pmu and gic +Subject: [PATCH] dts: bcm2838: add missing properties for pmu and gic nodes The GIC has a virtual interface maintenance interrupt and the PMU diff --git a/target/linux/brcm2708/patches-4.19/950-0721-adds-the-Hifiberry-DAC-ADC-PRO-version.patch b/target/linux/brcm2708/patches-4.19/950-0630-adds-the-Hifiberry-DAC-ADC-PRO-version.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0721-adds-the-Hifiberry-DAC-ADC-PRO-version.patch rename to target/linux/brcm2708/patches-4.19/950-0630-adds-the-Hifiberry-DAC-ADC-PRO-version.patch index 2e52e9c0e..427053d2d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0721-adds-the-Hifiberry-DAC-ADC-PRO-version.patch +++ b/target/linux/brcm2708/patches-4.19/950-0630-adds-the-Hifiberry-DAC-ADC-PRO-version.patch @@ -1,7 +1,7 @@ From bab5f8832c6b2859caea1cb5af1ffcb6276c2f74 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Tue, 23 Jul 2019 16:57:35 +0200 -Subject: [PATCH 721/806] adds the Hifiberry DAC+ADC PRO version +Subject: [PATCH] adds the Hifiberry DAC+ADC PRO version This adds the driver for the DAC+ADC PRO version of the Hifiberry soundcard with software controlled PCM1863 ADC Signed-off-by: Joerg Schambacher joerg@i2audio.com diff --git a/target/linux/brcm2708/patches-4.19/950-0722-codecs-Correct-Katana-minimum-volume.patch b/target/linux/brcm2708/patches-4.19/950-0631-codecs-Correct-Katana-minimum-volume.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0722-codecs-Correct-Katana-minimum-volume.patch rename to target/linux/brcm2708/patches-4.19/950-0631-codecs-Correct-Katana-minimum-volume.patch index 0ec68610d..fca281014 100644 --- a/target/linux/brcm2708/patches-4.19/950-0722-codecs-Correct-Katana-minimum-volume.patch +++ b/target/linux/brcm2708/patches-4.19/950-0631-codecs-Correct-Katana-minimum-volume.patch @@ -1,7 +1,7 @@ From 43866e3396623775215943f3062a98c642fcae95 Mon Sep 17 00:00:00 2001 From: allo-com Date: Mon, 29 Jul 2019 15:06:57 +0530 -Subject: [PATCH 722/806] codecs: Correct Katana minimum volume +Subject: [PATCH] codecs: Correct Katana minimum volume Update Katana minimum volume to get the exact 0.5 dB value in each step. diff --git a/target/linux/brcm2708/patches-4.19/950-0723-drm-vc4-A-present-but-empty-dmas-disables-audio.patch b/target/linux/brcm2708/patches-4.19/950-0632-drm-vc4-A-present-but-empty-dmas-disables-audio.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0723-drm-vc4-A-present-but-empty-dmas-disables-audio.patch rename to target/linux/brcm2708/patches-4.19/950-0632-drm-vc4-A-present-but-empty-dmas-disables-audio.patch index b84ed733a..2d38456ae 100644 --- a/target/linux/brcm2708/patches-4.19/950-0723-drm-vc4-A-present-but-empty-dmas-disables-audio.patch +++ b/target/linux/brcm2708/patches-4.19/950-0632-drm-vc4-A-present-but-empty-dmas-disables-audio.patch @@ -1,7 +1,7 @@ From 8befbf55f2668a4dae739588ed3c0b0d06fccacd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 31 Jul 2019 17:36:34 +0100 -Subject: [PATCH 723/806] drm/vc4: A present but empty dmas disables audio +Subject: [PATCH] drm/vc4: A present but empty dmas disables audio Overlays are unable to remove properties in the base DTB, but they can overwrite them. Allow a present but empty 'dmas' property diff --git a/target/linux/brcm2708/patches-4.19/950-0724-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch b/target/linux/brcm2708/patches-4.19/950-0633-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0724-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch rename to target/linux/brcm2708/patches-4.19/950-0633-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch index 5394faa1c..a70d50eec 100644 --- a/target/linux/brcm2708/patches-4.19/950-0724-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch +++ b/target/linux/brcm2708/patches-4.19/950-0633-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch @@ -1,7 +1,7 @@ From 418ca5973ad807f9d7f99e68af2bd21c7e8baa4d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 31 Jul 2019 17:39:37 +0100 -Subject: [PATCH 724/806] overlays: Add audio parameter to vc4-kms-v3d +Subject: [PATCH] overlays: Add audio parameter to vc4-kms-v3d The audio parameter to the vc4-kms-v3d overlay allows audio support to be disabled (it defaults to on) by adding "audio=off" to the diff --git a/target/linux/brcm2708/patches-4.19/950-0725-overlays-Update-the-upstream-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0634-overlays-Update-the-upstream-overlay.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0725-overlays-Update-the-upstream-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0634-overlays-Update-the-upstream-overlay.patch index 7bd6f9cfc..6cec8140f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0725-overlays-Update-the-upstream-overlay.patch +++ b/target/linux/brcm2708/patches-4.19/950-0634-overlays-Update-the-upstream-overlay.patch @@ -1,7 +1,7 @@ From a14162d8da62fb570df916d7386febe51d6ed2bc Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 31 Jul 2019 17:41:47 +0100 -Subject: [PATCH 725/806] overlays: Update the upstream overlay +Subject: [PATCH] overlays: Update the upstream overlay The recent vc4-kms-v3d commit has changed the content of the upstream overlay (even though the extra fragment is disabled). diff --git a/target/linux/brcm2708/patches-4.19/950-0727-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch b/target/linux/brcm2708/patches-4.19/950-0635-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0727-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch rename to target/linux/brcm2708/patches-4.19/950-0635-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch index cf29f5b4d..2626658d1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0727-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch +++ b/target/linux/brcm2708/patches-4.19/950-0635-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch @@ -1,7 +1,7 @@ From c2957d7709a43c81e5345d537feaa6980ffcc1a4 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Mon, 29 Jul 2019 12:02:59 +0100 -Subject: [PATCH 727/806] Fixup FKMS interrupt handing for non-existent display +Subject: [PATCH] Fixup FKMS interrupt handing for non-existent display If an errant interrupt flag was received from a non-existent display, a NULL pointer access was made. Protect against this by checking if a diff --git a/target/linux/brcm2708/patches-4.19/950-0728-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch b/target/linux/brcm2708/patches-4.19/950-0636-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0728-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch rename to target/linux/brcm2708/patches-4.19/950-0636-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch index 1436038cf..92ecf120b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0728-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch +++ b/target/linux/brcm2708/patches-4.19/950-0636-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch @@ -1,7 +1,7 @@ From 6c8c9ca56ce6039ade09d26c069132538e4de9f0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 28 Jul 2019 22:22:36 +0100 -Subject: [PATCH 728/806] drivers: char: Use correct name for the Raspberry Pi +Subject: [PATCH] drivers: char: Use correct name for the Raspberry Pi video decoder Replace the old code name with a more appropriate name - RPiVid. diff --git a/target/linux/brcm2708/patches-4.19/950-0729-driver-char-rpivid-also-support-legacy-name.patch b/target/linux/brcm2708/patches-4.19/950-0637-driver-char-rpivid-also-support-legacy-name.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0729-driver-char-rpivid-also-support-legacy-name.patch rename to target/linux/brcm2708/patches-4.19/950-0637-driver-char-rpivid-also-support-legacy-name.patch index cffd29eda..34dd24208 100644 --- a/target/linux/brcm2708/patches-4.19/950-0729-driver-char-rpivid-also-support-legacy-name.patch +++ b/target/linux/brcm2708/patches-4.19/950-0637-driver-char-rpivid-also-support-legacy-name.patch @@ -1,7 +1,7 @@ From 80c20ff00542b050733780ae6088e50663ee8d78 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 29 Jul 2019 12:03:21 +0100 -Subject: [PATCH 729/806] driver: char: rpivid - also support legacy name +Subject: [PATCH] driver: char: rpivid - also support legacy name Provide transitional support for the previous names of the character devices. diff --git a/target/linux/brcm2708/patches-4.19/950-0730-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0730-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch rename to target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index 051399fc0..3320097b1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0730-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -1,7 +1,7 @@ From 16c1e20b50e121f836f434bb6c22c73e2f51d29f Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 1 Aug 2019 16:41:20 +0100 -Subject: [PATCH 730/806] hid: usb: Add device quirks for Freeway Airmouse T3 +Subject: [PATCH] hid: usb: Add device quirks for Freeway Airmouse T3 and MX3 These wireless mouse/keyboard combo remote control devices specify @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1192,6 +1195,9 @@ +@@ -1193,6 +1196,9 @@ #define USB_VENDOR_ID_XAT 0x2505 #define USB_DEVICE_ID_XAT_CSR 0x0220 @@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL }, -@@ -174,6 +175,7 @@ static const struct hid_device_id hid_qu +@@ -175,6 +176,7 @@ static const struct hid_device_id hid_qu { HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_SIRIUS_BATTERY_FREE_TABLET), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, diff --git a/target/linux/brcm2708/patches-4.19/950-0731-drm-vc4-Add-Broadcast-RGB-connector-property.patch b/target/linux/brcm2708/patches-4.19/950-0639-drm-vc4-Add-Broadcast-RGB-connector-property.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0731-drm-vc4-Add-Broadcast-RGB-connector-property.patch rename to target/linux/brcm2708/patches-4.19/950-0639-drm-vc4-Add-Broadcast-RGB-connector-property.patch index 2d1f9b964..26da5d94f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0731-drm-vc4-Add-Broadcast-RGB-connector-property.patch +++ b/target/linux/brcm2708/patches-4.19/950-0639-drm-vc4-Add-Broadcast-RGB-connector-property.patch @@ -1,7 +1,7 @@ From b96e24487cc48a2cb593f27c24074087a21de848 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 14 Jun 2019 10:12:07 +0100 -Subject: [PATCH 731/806] drm/vc4: Add "Broadcast RGB" connector property +Subject: [PATCH] drm/vc4: Add "Broadcast RGB" connector property Some HDMI monitors do not abide by the full or limited (16-235) range RGB flags in the AVI infoframe. This can diff --git a/target/linux/brcm2708/patches-4.19/950-0732-drm-connector-Add-documentation-for-drm_cmdline_mode.patch b/target/linux/brcm2708/patches-4.19/950-0640-drm-connector-Add-documentation-for-drm_cmdline_mode.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0732-drm-connector-Add-documentation-for-drm_cmdline_mode.patch rename to target/linux/brcm2708/patches-4.19/950-0640-drm-connector-Add-documentation-for-drm_cmdline_mode.patch index 215b944d5..16b84bc03 100644 --- a/target/linux/brcm2708/patches-4.19/950-0732-drm-connector-Add-documentation-for-drm_cmdline_mode.patch +++ b/target/linux/brcm2708/patches-4.19/950-0640-drm-connector-Add-documentation-for-drm_cmdline_mode.patch @@ -1,7 +1,7 @@ From 7c0f4f4d81958f63abf696e71b342e8b75a6e530 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 19 Jun 2019 12:17:48 +0200 -Subject: [PATCH 732/806] drm/connector: Add documentation for drm_cmdline_mode +Subject: [PATCH] drm/connector: Add documentation for drm_cmdline_mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0733-drm-modes-Rewrite-the-command-line-parser.patch b/target/linux/brcm2708/patches-4.19/950-0641-drm-modes-Rewrite-the-command-line-parser.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0733-drm-modes-Rewrite-the-command-line-parser.patch rename to target/linux/brcm2708/patches-4.19/950-0641-drm-modes-Rewrite-the-command-line-parser.patch index 1c0e2d372..24c25d694 100644 --- a/target/linux/brcm2708/patches-4.19/950-0733-drm-modes-Rewrite-the-command-line-parser.patch +++ b/target/linux/brcm2708/patches-4.19/950-0641-drm-modes-Rewrite-the-command-line-parser.patch @@ -1,7 +1,7 @@ From 3508a8548f13be68b6d098ad99a7bc1fc1810f76 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 19 Jun 2019 12:17:49 +0200 -Subject: [PATCH 733/806] drm/modes: Rewrite the command line parser +Subject: [PATCH] drm/modes: Rewrite the command line parser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0734-drm-modes-Support-modes-names-on-the-command-line.patch b/target/linux/brcm2708/patches-4.19/950-0642-drm-modes-Support-modes-names-on-the-command-line.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0734-drm-modes-Support-modes-names-on-the-command-line.patch rename to target/linux/brcm2708/patches-4.19/950-0642-drm-modes-Support-modes-names-on-the-command-line.patch index 0ab7cd2ab..aee684a95 100644 --- a/target/linux/brcm2708/patches-4.19/950-0734-drm-modes-Support-modes-names-on-the-command-line.patch +++ b/target/linux/brcm2708/patches-4.19/950-0642-drm-modes-Support-modes-names-on-the-command-line.patch @@ -1,7 +1,7 @@ From 2cea4924c69b6be5cfe8d976810ccf76a3991230 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 19 Jun 2019 12:17:50 +0200 -Subject: [PATCH 734/806] drm/modes: Support modes names on the command line +Subject: [PATCH] drm/modes: Support modes names on the command line MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0735-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch b/target/linux/brcm2708/patches-4.19/950-0643-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0735-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch rename to target/linux/brcm2708/patches-4.19/950-0643-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch index aeb60d182..f9ba856c4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0735-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch +++ b/target/linux/brcm2708/patches-4.19/950-0643-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch @@ -1,7 +1,7 @@ From 5a8ccd79b6bad32e52620a94199bf1af2e19708e Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 19 Jun 2019 12:17:51 +0200 -Subject: [PATCH 735/806] drm/modes: Allow to specify rotation and reflection +Subject: [PATCH] drm/modes: Allow to specify rotation and reflection on the commandline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/target/linux/brcm2708/patches-4.19/950-0736-drm-connector-Introduce-a-TV-margins-structure.patch b/target/linux/brcm2708/patches-4.19/950-0644-drm-connector-Introduce-a-TV-margins-structure.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0736-drm-connector-Introduce-a-TV-margins-structure.patch rename to target/linux/brcm2708/patches-4.19/950-0644-drm-connector-Introduce-a-TV-margins-structure.patch index ee4cc20b9..7c6f41540 100644 --- a/target/linux/brcm2708/patches-4.19/950-0736-drm-connector-Introduce-a-TV-margins-structure.patch +++ b/target/linux/brcm2708/patches-4.19/950-0644-drm-connector-Introduce-a-TV-margins-structure.patch @@ -1,7 +1,7 @@ From 6261047a83258900e57a0a699ec7954360c6e7f3 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 19 Jun 2019 12:17:51 +0200 -Subject: [PATCH 736/806] drm/connector: Introduce a TV margins structure +Subject: [PATCH] drm/connector: Introduce a TV margins structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0737-drm-modes-Parse-overscan-properties.patch b/target/linux/brcm2708/patches-4.19/950-0645-drm-modes-Parse-overscan-properties.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0737-drm-modes-Parse-overscan-properties.patch rename to target/linux/brcm2708/patches-4.19/950-0645-drm-modes-Parse-overscan-properties.patch index 9077034af..f8de9b5fc 100644 --- a/target/linux/brcm2708/patches-4.19/950-0737-drm-modes-Parse-overscan-properties.patch +++ b/target/linux/brcm2708/patches-4.19/950-0645-drm-modes-Parse-overscan-properties.patch @@ -1,7 +1,7 @@ From 99b367ee521e48beae92bea59515dd0f08f2e55b Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 19 Jun 2019 12:17:51 +0200 -Subject: [PATCH 737/806] drm/modes: Parse overscan properties +Subject: [PATCH] drm/modes: Parse overscan properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0738-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch b/target/linux/brcm2708/patches-4.19/950-0646-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0738-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch rename to target/linux/brcm2708/patches-4.19/950-0646-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch index cc0218451..9f509437d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0738-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch +++ b/target/linux/brcm2708/patches-4.19/950-0646-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch @@ -1,7 +1,7 @@ From 8dd1e4d73fdbc4a533a58c2c74a72877257c558c Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 19 Jun 2019 12:17:52 +0200 -Subject: [PATCH 738/806] drm/atomic: Add a function to reset connector TV +Subject: [PATCH] drm/atomic: Add a function to reset connector TV properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/target/linux/brcm2708/patches-4.19/950-0739-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch b/target/linux/brcm2708/patches-4.19/950-0647-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0739-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch rename to target/linux/brcm2708/patches-4.19/950-0647-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch index 9ee07712f..b1b554ed5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0739-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch +++ b/target/linux/brcm2708/patches-4.19/950-0647-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch @@ -1,7 +1,7 @@ From 1adef5f9443f148db0817099504df0a7fb7350dd Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 19 Jun 2019 12:17:53 +0200 -Subject: [PATCH 739/806] drm/vc4: hdmi: Set default state margin at reset +Subject: [PATCH] drm/vc4: hdmi: Set default state margin at reset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0740-drm-vc4-fkms-Set-default-state-margin-at-reset.patch b/target/linux/brcm2708/patches-4.19/950-0648-drm-vc4-fkms-Set-default-state-margin-at-reset.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0740-drm-vc4-fkms-Set-default-state-margin-at-reset.patch rename to target/linux/brcm2708/patches-4.19/950-0648-drm-vc4-fkms-Set-default-state-margin-at-reset.patch index 649f36c3e..c9e095f6e 100644 --- a/target/linux/brcm2708/patches-4.19/950-0740-drm-vc4-fkms-Set-default-state-margin-at-reset.patch +++ b/target/linux/brcm2708/patches-4.19/950-0648-drm-vc4-fkms-Set-default-state-margin-at-reset.patch @@ -1,7 +1,7 @@ From 2cf6bd979b0a5fdb179842308b1670691f6a2ce4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jul 2019 11:09:26 +0100 -Subject: [PATCH 740/806] drm/vc4: fkms: Set default state margin at reset +Subject: [PATCH] drm/vc4: fkms: Set default state margin at reset Now that the TV margins are properly parsed and filled into drm_cmdline_mode, we just need to initialise the first state at reset to diff --git a/target/linux/brcm2708/patches-4.19/950-0741-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch b/target/linux/brcm2708/patches-4.19/950-0649-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0741-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch rename to target/linux/brcm2708/patches-4.19/950-0649-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch index b7691f1b3..4cb0a543c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0741-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0649-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch @@ -1,7 +1,7 @@ From 6eb9a89c28590203658c0ebcbf29d5b41eb8596a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jul 2019 14:10:31 +0100 -Subject: [PATCH 741/806] drm/modes: Don't apply cmdline's rotation if it +Subject: [PATCH] drm/modes: Don't apply cmdline's rotation if it wasn't specified Taken from the dri-devel mailing list (11/7/2019) to fixup the cmdline diff --git a/target/linux/brcm2708/patches-4.19/950-0743-staging-bcm2835-codec-switch-to-multi-planar-API.patch b/target/linux/brcm2708/patches-4.19/950-0650-staging-bcm2835-codec-switch-to-multi-planar-API.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0743-staging-bcm2835-codec-switch-to-multi-planar-API.patch rename to target/linux/brcm2708/patches-4.19/950-0650-staging-bcm2835-codec-switch-to-multi-planar-API.patch index f45dd0bb7..ce590c964 100644 --- a/target/linux/brcm2708/patches-4.19/950-0743-staging-bcm2835-codec-switch-to-multi-planar-API.patch +++ b/target/linux/brcm2708/patches-4.19/950-0650-staging-bcm2835-codec-switch-to-multi-planar-API.patch @@ -1,7 +1,7 @@ From cb053a15c5c23e775647d6b65fef4c378bf34b5b Mon Sep 17 00:00:00 2001 From: Chen-Yu Tsai Date: Thu, 18 Jul 2019 17:07:05 +0800 -Subject: [PATCH 743/806] staging: bcm2835-codec: switch to multi-planar API +Subject: [PATCH] staging: bcm2835-codec: switch to multi-planar API There are two APIs for mem2mem devices, the older single-planar API and the newer multi-planar one. Without making things overly complex, the diff --git a/target/linux/brcm2708/patches-4.19/950-0744-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch b/target/linux/brcm2708/patches-4.19/950-0651-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0744-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch rename to target/linux/brcm2708/patches-4.19/950-0651-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch index 372d17a81..cd19bc257 100644 --- a/target/linux/brcm2708/patches-4.19/950-0744-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch +++ b/target/linux/brcm2708/patches-4.19/950-0651-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch @@ -1,7 +1,7 @@ From 1f524b04b040978e2d96380ff40c3e80feba49a5 Mon Sep 17 00:00:00 2001 From: Chen-Yu Tsai Date: Mon, 22 Jul 2019 22:13:30 +0800 -Subject: [PATCH 744/806] staging: bcm2835-codec: implement +Subject: [PATCH] staging: bcm2835-codec: implement V4L2_CID_MIN_BUFFERS_FOR_CAPTURE The stateful decoder specification shows an optional step for retrieving diff --git a/target/linux/brcm2708/patches-4.19/950-0652-Revert-usb-xhci-hack-xhci_urb_enqueue-to-support-hid.patch b/target/linux/brcm2708/patches-4.19/950-0652-Revert-usb-xhci-hack-xhci_urb_enqueue-to-support-hid.patch deleted file mode 100644 index 6ea178b5b..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0652-Revert-usb-xhci-hack-xhci_urb_enqueue-to-support-hid.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 5f6feeaf528cf922a82f11e5b0711f5fe9d7538d Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Fri, 7 Jun 2019 14:50:12 +0100 -Subject: [PATCH 652/806] Revert "usb: xhci: hack xhci_urb_enqueue to support - hid.mousepoll behaviour" - -This reverts commit 1cf1071a79f320bc4497a3ade77431f04442eb17. ---- - drivers/usb/host/xhci.c | 86 ----------------------------------------- - 1 file changed, 86 deletions(-) - ---- a/drivers/usb/host/xhci.c -+++ b/drivers/usb/host/xhci.c -@@ -1425,87 +1425,6 @@ command_cleanup: - } - - /* -- * RPI: Fixup endpoint intervals when requested -- * - Check interval versus the (cached) endpoint context -- * - set the endpoint interval to the new value -- * - force an endpoint configure command -- */ --static void xhci_fixup_interval(struct xhci_hcd *xhci, struct urb *urb, -- unsigned int slot_id, unsigned int ep_index) --{ -- struct xhci_ep_ctx *ep_ctx_out, *ep_ctx_in; -- struct xhci_command *command; -- struct xhci_input_control_ctx *ctrl_ctx; -- struct xhci_virt_device *vdev; -- int xhci_interval, ep_interval; -- int ret; -- unsigned long flags; -- u32 ep_info_tmp; -- -- spin_lock_irqsave(&xhci->lock, flags); -- -- vdev = xhci->devs[slot_id]; -- /* Get context-derived endpoint interval */ -- ep_ctx_out = xhci_get_ep_ctx(xhci, vdev->out_ctx, ep_index); -- ep_ctx_in = xhci_get_ep_ctx(xhci, vdev->in_ctx, ep_index); -- xhci_interval = EP_INTERVAL_TO_UFRAMES(le32_to_cpu(ep_ctx_out->ep_info)); -- ep_interval = urb->interval * 8; -- -- if (ep_interval == xhci_interval) { -- spin_unlock_irqrestore(&xhci->lock, flags); -- return; -- } -- -- xhci_dbg(xhci, "Fixup interval ep_interval=%d xhci_interval=%d\n", -- ep_interval, xhci_interval); -- command = xhci_alloc_command_with_ctx(xhci, true, GFP_ATOMIC); -- if (!command) { -- /* Failure here is benign, poll at the original rate */ -- spin_unlock_irqrestore(&xhci->lock, flags); -- return; -- } -- -- /* xHCI uses exponents for intervals... */ -- xhci_interval = fls(ep_interval) - 1; -- xhci_interval = clamp_val(xhci_interval, 3, 10); -- ep_info_tmp = le32_to_cpu(ep_ctx_out->ep_info); -- ep_info_tmp &= ~EP_INTERVAL(255); -- ep_info_tmp |= EP_INTERVAL(xhci_interval); -- -- /* Keep the endpoint context up-to-date while issuing the command. */ -- xhci_endpoint_copy(xhci, vdev->in_ctx, -- vdev->out_ctx, ep_index); -- ep_ctx_in->ep_info = cpu_to_le32(ep_info_tmp); -- -- /* -- * We need to drop the lock, so take an explicit copy -- * of the ep context. -- */ -- xhci_endpoint_copy(xhci, command->in_ctx, vdev->in_ctx, ep_index); -- -- ctrl_ctx = xhci_get_input_control_ctx(command->in_ctx); -- if (!ctrl_ctx) { -- xhci_warn(xhci, -- "%s: Could not get input context, bad type.\n", -- __func__); -- spin_unlock_irqrestore(&xhci->lock, flags); -- xhci_free_command(xhci, command); -- return; -- } -- ctrl_ctx->add_flags = xhci_get_endpoint_flag_from_index(ep_index); -- ctrl_ctx->drop_flags = 0; -- -- spin_unlock_irqrestore(&xhci->lock, flags); -- -- ret = xhci_configure_endpoint(xhci, urb->dev, command, -- false, false); -- if (ret) -- xhci_warn(xhci, "%s: Configure endpoint failed: %d\n", -- __func__, ret); -- xhci_free_command(xhci, command); --} -- --/* - * non-error returns are a promise to giveback() the urb later - * we drop ownership so next owner (or urb unlink) can get it - */ -@@ -1573,11 +1492,6 @@ static int xhci_urb_enqueue(struct usb_h - } - } - -- if (usb_endpoint_xfer_int(&urb->ep->desc) && -- (urb->dev->speed == USB_SPEED_FULL || -- urb->dev->speed == USB_SPEED_LOW)) -- xhci_fixup_interval(xhci, urb, slot_id, ep_index); -- - spin_lock_irqsave(&xhci->lock, flags); - - if (xhci->xhc_state & XHCI_STATE_DYING) { diff --git a/target/linux/brcm2708/patches-4.19/950-0745-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch b/target/linux/brcm2708/patches-4.19/950-0652-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0745-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch rename to target/linux/brcm2708/patches-4.19/950-0652-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch index a5202e826..f7243f34b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0745-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch +++ b/target/linux/brcm2708/patches-4.19/950-0652-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch @@ -1,7 +1,7 @@ From c369e173f9ff254ed3c3b9062e04917122e3536e Mon Sep 17 00:00:00 2001 From: Chen-Yu Tsai Date: Mon, 22 Jul 2019 22:20:55 +0800 -Subject: [PATCH 745/806] staging: bcm2835-codec: set device_caps in struct +Subject: [PATCH] staging: bcm2835-codec: set device_caps in struct video_device Instead of filling in the struct v4l2_capability device_caps diff --git a/target/linux/brcm2708/patches-4.19/950-0746-Add-HDMI1-facility-to-the-driver.patch b/target/linux/brcm2708/patches-4.19/950-0653-Add-HDMI1-facility-to-the-driver.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0746-Add-HDMI1-facility-to-the-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0653-Add-HDMI1-facility-to-the-driver.patch index eaa6318d3..7594d16a4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0746-Add-HDMI1-facility-to-the-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0653-Add-HDMI1-facility-to-the-driver.patch @@ -1,7 +1,7 @@ From 0a37470a112260ef1c9a016a400fdf1f8792eadc Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 16 Jul 2019 12:18:21 +0100 -Subject: [PATCH 746/806] Add HDMI1 facility to the driver. +Subject: [PATCH] Add HDMI1 facility to the driver. For generic ALSA, all you need is the bcm2835.h change, but have also added structures for IEC958 HDMI. Not sure how to diff --git a/target/linux/brcm2708/patches-4.19/950-0747-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch b/target/linux/brcm2708/patches-4.19/950-0654-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0747-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch rename to target/linux/brcm2708/patches-4.19/950-0654-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch index 6d8a80352..5ec631f7f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0747-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch +++ b/target/linux/brcm2708/patches-4.19/950-0654-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch @@ -1,7 +1,7 @@ From 114845b6010b6e6a320804f2d86ab4d5dc5a06de Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 5 Aug 2019 14:17:14 +0100 -Subject: [PATCH 747/806] overlays: Add baudrate parameter to i2c3-i2c6 +Subject: [PATCH] overlays: Add baudrate parameter to i2c3-i2c6 The overlays for enabling the new BCM2711 I2C interfaces were lacking the means to configure the baud/clock rate. diff --git a/target/linux/brcm2708/patches-4.19/950-0749-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch b/target/linux/brcm2708/patches-4.19/950-0655-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0749-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch rename to target/linux/brcm2708/patches-4.19/950-0655-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch index a80cfba3e..e88bfc6be 100644 --- a/target/linux/brcm2708/patches-4.19/950-0749-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch +++ b/target/linux/brcm2708/patches-4.19/950-0655-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch @@ -1,7 +1,7 @@ From df276f0a5aa865c7926d9d148605d1a59d1d4fbb Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jul 2019 17:27:44 +0100 -Subject: [PATCH 749/806] drm/vc4: Resolve the vblank warnings on mode +Subject: [PATCH] drm/vc4: Resolve the vblank warnings on mode switching The details over when and how a driver is to service the diff --git a/target/linux/brcm2708/patches-4.19/950-0750-drm-vc4-Remove-unused-mode-variable.patch b/target/linux/brcm2708/patches-4.19/950-0656-drm-vc4-Remove-unused-mode-variable.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0750-drm-vc4-Remove-unused-mode-variable.patch rename to target/linux/brcm2708/patches-4.19/950-0656-drm-vc4-Remove-unused-mode-variable.patch index af6109b51..e12cac2c8 100644 --- a/target/linux/brcm2708/patches-4.19/950-0750-drm-vc4-Remove-unused-mode-variable.patch +++ b/target/linux/brcm2708/patches-4.19/950-0656-drm-vc4-Remove-unused-mode-variable.patch @@ -1,7 +1,7 @@ From b2f463facb358b917380683b5e86c5d1cb3db123 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jul 2019 17:34:29 +0100 -Subject: [PATCH 750/806] drm/vc4: Remove unused mode variable +Subject: [PATCH] drm/vc4: Remove unused mode variable "89d1376 drm/vc4: Add support for margins to fkms" removed the requirement for having the mode structure from vc4_plane_to_mb, diff --git a/target/linux/brcm2708/patches-4.19/950-0751-staging-bcm2835-codec-Expand-logging-on-format-setti.patch b/target/linux/brcm2708/patches-4.19/950-0657-staging-bcm2835-codec-Expand-logging-on-format-setti.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0751-staging-bcm2835-codec-Expand-logging-on-format-setti.patch rename to target/linux/brcm2708/patches-4.19/950-0657-staging-bcm2835-codec-Expand-logging-on-format-setti.patch index d36226a6b..f74fc4b73 100644 --- a/target/linux/brcm2708/patches-4.19/950-0751-staging-bcm2835-codec-Expand-logging-on-format-setti.patch +++ b/target/linux/brcm2708/patches-4.19/950-0657-staging-bcm2835-codec-Expand-logging-on-format-setti.patch @@ -1,7 +1,7 @@ From 9a9ef8123467579c431ced1e98827364d66c615f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jul 2019 14:57:09 +0100 -Subject: [PATCH 751/806] staging:bcm2835-codec: Expand logging on format +Subject: [PATCH] staging:bcm2835-codec: Expand logging on format setting Adds some more useful logging during format changed events and diff --git a/target/linux/brcm2708/patches-4.19/950-0752-staging-bcm2835-codec-Correct-bytesperline-on-format.patch b/target/linux/brcm2708/patches-4.19/950-0658-staging-bcm2835-codec-Correct-bytesperline-on-format.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0752-staging-bcm2835-codec-Correct-bytesperline-on-format.patch rename to target/linux/brcm2708/patches-4.19/950-0658-staging-bcm2835-codec-Correct-bytesperline-on-format.patch index 9625f9604..96f3351c0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0752-staging-bcm2835-codec-Correct-bytesperline-on-format.patch +++ b/target/linux/brcm2708/patches-4.19/950-0658-staging-bcm2835-codec-Correct-bytesperline-on-format.patch @@ -1,7 +1,7 @@ From bcb6e267ca61ce685ed2debc0cee327527cea20d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jul 2019 14:58:35 +0100 -Subject: [PATCH 752/806] staging: bcm2835-codec: Correct bytesperline on +Subject: [PATCH] staging: bcm2835-codec: Correct bytesperline on format changed The handling of format changed events incorrectly set bytesperline diff --git a/target/linux/brcm2708/patches-4.19/950-0753-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch b/target/linux/brcm2708/patches-4.19/950-0659-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0753-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch rename to target/linux/brcm2708/patches-4.19/950-0659-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch index 8d4effacd..8a97747e1 100644 --- a/target/linux/brcm2708/patches-4.19/950-0753-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch +++ b/target/linux/brcm2708/patches-4.19/950-0659-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch @@ -1,7 +1,7 @@ From cbe5c2a67fb145b210652be20a84690e09e4eb25 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 7 Aug 2019 11:31:08 +0100 -Subject: [PATCH 753/806] drm/vc4: Add missing NULL check to +Subject: [PATCH] drm/vc4: Add missing NULL check to vc4_crtc_consume_event vc4_crtc_consume_event wasn't checking crtc->state->event was diff --git a/target/linux/brcm2708/patches-4.19/950-0755-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch b/target/linux/brcm2708/patches-4.19/950-0660-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0755-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch rename to target/linux/brcm2708/patches-4.19/950-0660-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch index fbce45ed2..beeeb2f9f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0755-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch +++ b/target/linux/brcm2708/patches-4.19/950-0660-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch @@ -1,7 +1,7 @@ From 103afc4641ab8d6587e981a5e3fda27427a8bf4b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 9 Aug 2019 08:51:43 +0100 -Subject: [PATCH 755/806] net: bcmgenet: Workaround #2 for Pi4 Ethernet fail +Subject: [PATCH] net: bcmgenet: Workaround #2 for Pi4 Ethernet fail Some combinations of Pi 4Bs and Ethernet switches don't reliably get a DCHP-assigned IP address, leaving the unit with a self=assigned 169.254 diff --git a/target/linux/brcm2708/patches-4.19/950-0756-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch b/target/linux/brcm2708/patches-4.19/950-0661-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0756-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch rename to target/linux/brcm2708/patches-4.19/950-0661-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch index 5854d1f51..bffed9e85 100644 --- a/target/linux/brcm2708/patches-4.19/950-0756-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch +++ b/target/linux/brcm2708/patches-4.19/950-0661-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch @@ -1,7 +1,7 @@ From c1fffc2a7dbf7e59aaef36378fb14d1c3dc016a6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 3 Aug 2018 11:22:27 +0200 -Subject: [PATCH 756/806] drm/vc4: Fix TILE_Y_OFFSET definitions +Subject: [PATCH] drm/vc4: Fix TILE_Y_OFFSET definitions Y_OFFSET field starts at bit 8 not 7. diff --git a/target/linux/brcm2708/patches-4.19/950-0757-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch b/target/linux/brcm2708/patches-4.19/950-0662-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0757-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch rename to target/linux/brcm2708/patches-4.19/950-0662-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch index 34eb57c4d..b1be6322f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0757-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch +++ b/target/linux/brcm2708/patches-4.19/950-0662-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch @@ -1,7 +1,7 @@ From d0b90f9c68a96f2bee66d796cb33367d205e586a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 3 Aug 2018 11:22:28 +0200 -Subject: [PATCH 757/806] drm/vc4: Define missing PITCH0_SINK_PIX field +Subject: [PATCH] drm/vc4: Define missing PITCH0_SINK_PIX field This is needed to support X/Y negative placement of planes using T-format buffers. diff --git a/target/linux/brcm2708/patches-4.19/950-0758-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch b/target/linux/brcm2708/patches-4.19/950-0663-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0758-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch rename to target/linux/brcm2708/patches-4.19/950-0663-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch index fa0fa6b20..3ead02cbb 100644 --- a/target/linux/brcm2708/patches-4.19/950-0758-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch +++ b/target/linux/brcm2708/patches-4.19/950-0663-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch @@ -1,7 +1,7 @@ From 2a98dc34696c6510a49a684eb56d3a9c2a150571 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 3 Aug 2018 11:22:29 +0200 -Subject: [PATCH 758/806] drm/vc4: Use drm_atomic_helper_check_plane_state() to +Subject: [PATCH] drm/vc4: Use drm_atomic_helper_check_plane_state() to simplify the logic drm_atomic_helper_check_plane_state() takes care of checking the diff --git a/target/linux/brcm2708/patches-4.19/950-0759-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch b/target/linux/brcm2708/patches-4.19/950-0664-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0759-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch rename to target/linux/brcm2708/patches-4.19/950-0664-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch index 20a543d76..9820c91d6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0759-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch +++ b/target/linux/brcm2708/patches-4.19/950-0664-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch @@ -1,7 +1,7 @@ From 58a92eae6ed463c294381e72eefec701d23fcdaf Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 3 Aug 2018 11:22:30 +0200 -Subject: [PATCH 759/806] drm/vc4: Move ->offsets[] adjustment out of +Subject: [PATCH] adjustment out of setup_clipping_and_scaling() The offset adjustment depends on the framebuffer modified, so let's diff --git a/target/linux/brcm2708/patches-4.19/950-0760-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch b/target/linux/brcm2708/patches-4.19/950-0665-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0760-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch rename to target/linux/brcm2708/patches-4.19/950-0665-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch index 765ace65b..6197d9076 100644 --- a/target/linux/brcm2708/patches-4.19/950-0760-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0665-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch @@ -1,7 +1,7 @@ From 010e3665babdf589e26e2fb098ac1f39e519c0f6 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 3 Aug 2018 11:22:31 +0200 -Subject: [PATCH 760/806] drm/vc4: Fix X/Y positioning of planes using T_TILES +Subject: [PATCH] drm/vc4: Fix X/Y positioning of planes using T_TILES modifier X/Y positioning of T-format buffers is quite tricky and the current diff --git a/target/linux/brcm2708/patches-4.19/950-0761-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch b/target/linux/brcm2708/patches-4.19/950-0666-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0761-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch rename to target/linux/brcm2708/patches-4.19/950-0666-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch index ef4da86e1..c9e779878 100644 --- a/target/linux/brcm2708/patches-4.19/950-0761-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch +++ b/target/linux/brcm2708/patches-4.19/950-0666-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch @@ -1,7 +1,7 @@ From 0e81807e647c5e12fd897f3d520252ea60de3ff9 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 15 Nov 2018 11:58:51 +0100 -Subject: [PATCH 761/806] drm/vc4: Fix NULL pointer dereference in the async +Subject: [PATCH] drm/vc4: Fix NULL pointer dereference in the async update path vc4_plane_atomic_async_update() calls vc4_plane_atomic_check() diff --git a/target/linux/brcm2708/patches-4.19/950-0764-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch b/target/linux/brcm2708/patches-4.19/950-0667-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0764-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch rename to target/linux/brcm2708/patches-4.19/950-0667-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch index 3434aec44..daae20c0d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0764-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch +++ b/target/linux/brcm2708/patches-4.19/950-0667-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch @@ -1,7 +1,7 @@ From 188bd7c0085ac5b3d966aa899c6be644907157ea Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 12 Aug 2019 15:48:39 +0100 -Subject: [PATCH 764/806] ARM: dts: bcm2711-rpi-4-b: I2C aliases and pulls +Subject: [PATCH] ARM: dts: bcm2711-rpi-4-b: I2C aliases and pulls The I2C interface nodes need aliases to give them fixed bus numbers, and setting the pulls on the GPIOs (particularly 9-13) increases the diff --git a/target/linux/brcm2708/patches-4.19/950-0765-xhci-Use-more-event-ring-segment-table-entries.patch b/target/linux/brcm2708/patches-4.19/950-0668-xhci-Use-more-event-ring-segment-table-entries.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0765-xhci-Use-more-event-ring-segment-table-entries.patch rename to target/linux/brcm2708/patches-4.19/950-0668-xhci-Use-more-event-ring-segment-table-entries.patch index e2bc7469f..0949f97f6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0765-xhci-Use-more-event-ring-segment-table-entries.patch +++ b/target/linux/brcm2708/patches-4.19/950-0668-xhci-Use-more-event-ring-segment-table-entries.patch @@ -1,7 +1,7 @@ From c2e02902a3b75b24306dac06cb6f75b683fa0267 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 13 Aug 2019 15:53:29 +0100 -Subject: [PATCH 765/806] xhci: Use more event ring segment table entries +Subject: [PATCH] xhci: Use more event ring segment table entries Users have reported log spam created by "Event Ring Full" xHC event TRBs. These are caused by interrupt latency in conjunction with a very diff --git a/target/linux/brcm2708/patches-4.19/950-0766-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch b/target/linux/brcm2708/patches-4.19/950-0669-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0766-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch rename to target/linux/brcm2708/patches-4.19/950-0669-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch index a2065c826..fbfef019b 100644 --- a/target/linux/brcm2708/patches-4.19/950-0766-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch +++ b/target/linux/brcm2708/patches-4.19/950-0669-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch @@ -1,7 +1,7 @@ From 0c6190fa3cfeafd773b51b751a473d6775c23309 Mon Sep 17 00:00:00 2001 From: P33M <2474547+P33M@users.noreply.github.com> Date: Wed, 14 Aug 2019 14:35:50 +0100 -Subject: [PATCH 766/806] dwc_otg: use align_buf for small IN control transfers +Subject: [PATCH] dwc_otg: use align_buf for small IN control transfers (#3150) The hardware will do a 4-byte write to memory on any IN packet received diff --git a/target/linux/brcm2708/patches-4.19/950-0767-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch b/target/linux/brcm2708/patches-4.19/950-0670-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0767-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch rename to target/linux/brcm2708/patches-4.19/950-0670-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch index a8f0b0186..c69a8ca16 100644 --- a/target/linux/brcm2708/patches-4.19/950-0767-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0670-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch @@ -1,7 +1,7 @@ From ccd23ce562e8223ba7c6acf7dcb7058ff89ff7ec Mon Sep 17 00:00:00 2001 From: yaroslavros Date: Wed, 14 Aug 2019 15:22:55 +0100 -Subject: [PATCH 767/806] Ported pcie-brcmstb bounce buffer implementation to +Subject: [PATCH] Ported pcie-brcmstb bounce buffer implementation to ARM64. (#3144) Ported pcie-brcmstb bounce buffer implementation to ARM64. diff --git a/target/linux/brcm2708/patches-4.19/950-0768-configs-arm64-vcm2711-Enable-V3D.patch b/target/linux/brcm2708/patches-4.19/950-0671-configs-arm64-vcm2711-Enable-V3D.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0768-configs-arm64-vcm2711-Enable-V3D.patch rename to target/linux/brcm2708/patches-4.19/950-0671-configs-arm64-vcm2711-Enable-V3D.patch index 339ba31a3..e09e57b6c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0768-configs-arm64-vcm2711-Enable-V3D.patch +++ b/target/linux/brcm2708/patches-4.19/950-0671-configs-arm64-vcm2711-Enable-V3D.patch @@ -1,7 +1,7 @@ From 709962264bec8f8483df374da5e946c982348e87 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 15 Aug 2019 12:02:34 +0100 -Subject: [PATCH 768/806] configs: arm64/vcm2711: Enable V3D +Subject: [PATCH] configs: arm64/vcm2711: Enable V3D Enable the V3D driver, which depends on BCM2835_POWER. diff --git a/target/linux/brcm2708/patches-4.19/950-0769-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch b/target/linux/brcm2708/patches-4.19/950-0672-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0769-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch rename to target/linux/brcm2708/patches-4.19/950-0672-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch index 1e3147f00..d14869664 100644 --- a/target/linux/brcm2708/patches-4.19/950-0769-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch +++ b/target/linux/brcm2708/patches-4.19/950-0672-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch @@ -1,7 +1,7 @@ From ee24998ecaed3d03890a7a5e04dddb8c5d073e97 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 17 Aug 2019 19:47:30 +0100 -Subject: [PATCH 769/806] overlays: sc16ic752-i2c: Fix xtal parameter +Subject: [PATCH] overlays: sc16ic752-i2c: Fix xtal parameter The xtal parameter is targetting the wrong node - fix it. diff --git a/target/linux/brcm2708/patches-4.19/950-0770-vc-sm-cma-Fix-compatibility-ioctl.patch b/target/linux/brcm2708/patches-4.19/950-0673-vc-sm-cma-Fix-compatibility-ioctl.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0770-vc-sm-cma-Fix-compatibility-ioctl.patch rename to target/linux/brcm2708/patches-4.19/950-0673-vc-sm-cma-Fix-compatibility-ioctl.patch index fe67ab1e0..af453ec30 100644 --- a/target/linux/brcm2708/patches-4.19/950-0770-vc-sm-cma-Fix-compatibility-ioctl.patch +++ b/target/linux/brcm2708/patches-4.19/950-0673-vc-sm-cma-Fix-compatibility-ioctl.patch @@ -1,7 +1,7 @@ From a24a0a621486b36bcdf5c5e0afb05a5d1dd30003 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 19 Aug 2019 15:45:20 +0100 -Subject: [PATCH 770/806] vc-sm-cma: Fix compatibility ioctl +Subject: [PATCH] vc-sm-cma: Fix compatibility ioctl This code path hasn't been used previously. Fixed up after testing with kodi on 32-bit userland and 64-bit kernel diff --git a/target/linux/brcm2708/patches-4.19/950-0772-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch b/target/linux/brcm2708/patches-4.19/950-0674-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch similarity index 96% rename from target/linux/brcm2708/patches-4.19/950-0772-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch rename to target/linux/brcm2708/patches-4.19/950-0674-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch index 01795ba0d..aabb00570 100644 --- a/target/linux/brcm2708/patches-4.19/950-0772-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch +++ b/target/linux/brcm2708/patches-4.19/950-0674-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch @@ -1,7 +1,7 @@ From ae6dba510ac29ef7b0e6c838fb1bcc8b9eb474b7 Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Thu, 22 Aug 2019 22:31:37 +0000 -Subject: [PATCH 772/806] staging: bcm2835-codec: add support for +Subject: [PATCH] staging: bcm2835-codec: add support for V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME fixes #3171 diff --git a/target/linux/brcm2708/patches-4.19/950-0773-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch b/target/linux/brcm2708/patches-4.19/950-0675-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0773-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch rename to target/linux/brcm2708/patches-4.19/950-0675-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch index bf1b347aa..3bdbb0b3a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0773-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0675-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch @@ -1,7 +1,7 @@ From 9a2eab654b11d27bcc5a32ebd374f6c9acc38ce4 Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Fri, 23 Aug 2019 16:29:07 -0700 -Subject: [PATCH 773/806] staging: bcm2835-codec: remove unnecessary padding on +Subject: [PATCH] staging: bcm2835-codec: remove unnecessary padding on encoder input The ISP and ENCODE roles have the same underlying hardware. Neither requires vertical alignment. diff --git a/target/linux/brcm2708/patches-4.19/950-0774-arm-dts-add-missing-Raspberry-Pi-model-names.patch b/target/linux/brcm2708/patches-4.19/950-0676-arm-dts-add-missing-Raspberry-Pi-model-names.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0774-arm-dts-add-missing-Raspberry-Pi-model-names.patch rename to target/linux/brcm2708/patches-4.19/950-0676-arm-dts-add-missing-Raspberry-Pi-model-names.patch index e4593e837..516e2a514 100644 --- a/target/linux/brcm2708/patches-4.19/950-0774-arm-dts-add-missing-Raspberry-Pi-model-names.patch +++ b/target/linux/brcm2708/patches-4.19/950-0676-arm-dts-add-missing-Raspberry-Pi-model-names.patch @@ -1,7 +1,7 @@ From ac6c4a17f6f7aeb977b04dd4dc7e801b7776499f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Thu, 29 Aug 2019 16:26:22 +0200 -Subject: [PATCH 774/806] arm: dts: add missing Raspberry Pi model names +Subject: [PATCH] arm: dts: add missing Raspberry Pi model names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/target/linux/brcm2708/patches-4.19/950-0776-arch-arm-Add-model-string-to-cpuinfo.patch b/target/linux/brcm2708/patches-4.19/950-0677-arch-arm-Add-model-string-to-cpuinfo.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0776-arch-arm-Add-model-string-to-cpuinfo.patch rename to target/linux/brcm2708/patches-4.19/950-0677-arch-arm-Add-model-string-to-cpuinfo.patch index e298f85db..cd33961de 100644 --- a/target/linux/brcm2708/patches-4.19/950-0776-arch-arm-Add-model-string-to-cpuinfo.patch +++ b/target/linux/brcm2708/patches-4.19/950-0677-arch-arm-Add-model-string-to-cpuinfo.patch @@ -1,7 +1,7 @@ From d9f55647637be79ff42cb85497e43ca8b9a69a7b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Sep 2019 18:16:56 +0100 -Subject: [PATCH 776/806] arch/arm: Add model string to cpuinfo +Subject: [PATCH] arch/arm: Add model string to cpuinfo Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0777-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch b/target/linux/brcm2708/patches-4.19/950-0678-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0777-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch rename to target/linux/brcm2708/patches-4.19/950-0678-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch index 6ec99e352..5e29b47e5 100644 --- a/target/linux/brcm2708/patches-4.19/950-0777-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch +++ b/target/linux/brcm2708/patches-4.19/950-0678-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch @@ -1,7 +1,7 @@ From aabfcb0abbc34ca5f3c4b4f872123166eca2e100 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Sep 2019 18:17:25 +0100 -Subject: [PATCH 777/806] arch/arm64: Add Revision, Serial, Model to cpuinfo +Subject: [PATCH] arch/arm64: Add Revision, Serial, Model to cpuinfo Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0778-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch b/target/linux/brcm2708/patches-4.19/950-0679-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0778-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch rename to target/linux/brcm2708/patches-4.19/950-0679-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch index 5aecde540..30fa9b308 100644 --- a/target/linux/brcm2708/patches-4.19/950-0778-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch +++ b/target/linux/brcm2708/patches-4.19/950-0679-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch @@ -1,7 +1,7 @@ From 2d8a780a994098f7c532b712abd7298e0bca5a12 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 28 Aug 2019 13:34:30 +0100 -Subject: [PATCH 778/806] media: dt-bindings: Add binding for the Sony IMX219 +Subject: [PATCH] media: dt-bindings: Add binding for the Sony IMX219 sensor The IMX219 is an 8MPix CSI2 sensor, supporting 2 or 4 data lanes. diff --git a/target/linux/brcm2708/patches-4.19/950-0779-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch b/target/linux/brcm2708/patches-4.19/950-0680-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0779-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch rename to target/linux/brcm2708/patches-4.19/950-0680-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch index be6430ea5..70b9d54c4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0779-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch +++ b/target/linux/brcm2708/patches-4.19/950-0680-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch @@ -1,7 +1,7 @@ From 2186344c6d83ccd169e16c048c8b43aff95545e2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 28 Aug 2019 13:34:49 +0100 -Subject: [PATCH 779/806] media: i2c: Add driver for Sony IMX219 sensor +Subject: [PATCH] media: i2c: Add driver for Sony IMX219 sensor Adds a driver for the 8MPix Sony IMX219 CSI2 sensor. Whilst the sensor supports 2 or 4 CSI2 data lanes, this driver diff --git a/target/linux/brcm2708/patches-4.19/950-0781-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch b/target/linux/brcm2708/patches-4.19/950-0681-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0781-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch rename to target/linux/brcm2708/patches-4.19/950-0681-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch index dca8481ec..9be42a6a2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0781-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch +++ b/target/linux/brcm2708/patches-4.19/950-0681-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch @@ -1,7 +1,7 @@ From 7a4d12054b24c8cb980be4c6466b50c14beb78d3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 28 Aug 2019 13:35:19 +0100 -Subject: [PATCH 781/806] dtoverlays: Add overlay for the Sony IMX219 image +Subject: [PATCH] dtoverlays: Add overlay for the Sony IMX219 image sensor. Adds an overlay for the IMX219 image sensor, connected to the diff --git a/target/linux/brcm2708/patches-4.19/950-0782-staging-bcm2835-codec-Fix-non-documentation-comment-.patch b/target/linux/brcm2708/patches-4.19/950-0682-staging-bcm2835-codec-Fix-non-documentation-comment-.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0782-staging-bcm2835-codec-Fix-non-documentation-comment-.patch rename to target/linux/brcm2708/patches-4.19/950-0682-staging-bcm2835-codec-Fix-non-documentation-comment-.patch index 2f9cc38d0..116d16899 100644 --- a/target/linux/brcm2708/patches-4.19/950-0782-staging-bcm2835-codec-Fix-non-documentation-comment-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0682-staging-bcm2835-codec-Fix-non-documentation-comment-.patch @@ -1,7 +1,7 @@ From d4fc8b1d50522b416baeb1d1f5e5498000af5a7f Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Sun, 28 Apr 2019 12:15:35 +0200 -Subject: [PATCH 782/806] staging: bcm2835-codec: Fix non-documentation comment +Subject: [PATCH] staging: bcm2835-codec: Fix non-documentation comment block The job_ready comment is incorrectly using the documentation prefix diff --git a/target/linux/brcm2708/patches-4.19/950-0783-staging-bcm2835-codec-Fix-declaration-of-roles.patch b/target/linux/brcm2708/patches-4.19/950-0683-staging-bcm2835-codec-Fix-declaration-of-roles.patch similarity index 91% rename from target/linux/brcm2708/patches-4.19/950-0783-staging-bcm2835-codec-Fix-declaration-of-roles.patch rename to target/linux/brcm2708/patches-4.19/950-0683-staging-bcm2835-codec-Fix-declaration-of-roles.patch index 98bc159bc..05ea839e0 100644 --- a/target/linux/brcm2708/patches-4.19/950-0783-staging-bcm2835-codec-Fix-declaration-of-roles.patch +++ b/target/linux/brcm2708/patches-4.19/950-0683-staging-bcm2835-codec-Fix-declaration-of-roles.patch @@ -1,7 +1,7 @@ From 2d17824e8e5b2b6a6b830b8fe26c71a7d396f760 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Wed, 20 Mar 2019 11:42:39 +0000 -Subject: [PATCH 783/806] staging: bcm2835-codec: Fix declaration of roles +Subject: [PATCH] staging: bcm2835-codec: Fix declaration of roles The static role text is declared incorrectly. The static should be first, and the roles should also be constified. diff --git a/target/linux/brcm2708/patches-4.19/950-0784-staging-bcm2835-codec-Add-role-to-device-name.patch b/target/linux/brcm2708/patches-4.19/950-0684-staging-bcm2835-codec-Add-role-to-device-name.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0784-staging-bcm2835-codec-Add-role-to-device-name.patch rename to target/linux/brcm2708/patches-4.19/950-0684-staging-bcm2835-codec-Add-role-to-device-name.patch index de7263ba6..4afdf8c69 100644 --- a/target/linux/brcm2708/patches-4.19/950-0784-staging-bcm2835-codec-Add-role-to-device-name.patch +++ b/target/linux/brcm2708/patches-4.19/950-0684-staging-bcm2835-codec-Add-role-to-device-name.patch @@ -1,7 +1,7 @@ From ca613ed735fc52e68189d2ad0880f1007b931d78 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Wed, 20 Mar 2019 11:55:43 +0000 -Subject: [PATCH 784/806] staging: bcm2835-codec: Add role to device name +Subject: [PATCH] staging: bcm2835-codec: Add role to device name Three entities are created, Decode, Encode and ISP but all of the video nodes use the same video name string "bcm2835-codec" which makes it diff --git a/target/linux/brcm2708/patches-4.19/950-0785-staging-bcm2835-codec-Pass-driver-context-to-create-.patch b/target/linux/brcm2708/patches-4.19/950-0685-staging-bcm2835-codec-Pass-driver-context-to-create-.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0785-staging-bcm2835-codec-Pass-driver-context-to-create-.patch rename to target/linux/brcm2708/patches-4.19/950-0685-staging-bcm2835-codec-Pass-driver-context-to-create-.patch index 514d1cc73..083e75b21 100644 --- a/target/linux/brcm2708/patches-4.19/950-0785-staging-bcm2835-codec-Pass-driver-context-to-create-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0685-staging-bcm2835-codec-Pass-driver-context-to-create-.patch @@ -1,7 +1,7 @@ From 9243f7de67345adfcac52198f78bd12cfebb6867 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Wed, 20 Mar 2019 11:35:26 +0000 -Subject: [PATCH 785/806] staging: bcm2835-codec: Pass driver context to create +Subject: [PATCH] staging: bcm2835-codec: Pass driver context to create entities Pass the bcm2835_codec_driver driver context directly into the diff --git a/target/linux/brcm2708/patches-4.19/950-0786-staging-bcm2835-codec-add-media-controller-support.patch b/target/linux/brcm2708/patches-4.19/950-0686-staging-bcm2835-codec-add-media-controller-support.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0786-staging-bcm2835-codec-add-media-controller-support.patch rename to target/linux/brcm2708/patches-4.19/950-0686-staging-bcm2835-codec-add-media-controller-support.patch index c910bf1a8..a42fa7dfe 100644 --- a/target/linux/brcm2708/patches-4.19/950-0786-staging-bcm2835-codec-add-media-controller-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0686-staging-bcm2835-codec-add-media-controller-support.patch @@ -1,7 +1,7 @@ From d1ceb85b7c6c7c3eec8b424e0172c29e93a570f2 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Wed, 20 Mar 2019 12:54:15 +0000 -Subject: [PATCH 786/806] staging: bcm2835-codec: add media controller support +Subject: [PATCH] staging: bcm2835-codec: add media controller support Provide a single media device to contain all of the bcm2835_codec devices created. diff --git a/target/linux/brcm2708/patches-4.19/950-0787-media-bcm2835-unicam-Reduce-scope-of-local-function.patch b/target/linux/brcm2708/patches-4.19/950-0687-media-bcm2835-unicam-Reduce-scope-of-local-function.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0787-media-bcm2835-unicam-Reduce-scope-of-local-function.patch rename to target/linux/brcm2708/patches-4.19/950-0687-media-bcm2835-unicam-Reduce-scope-of-local-function.patch index 31567c0fc..1e9d4b445 100644 --- a/target/linux/brcm2708/patches-4.19/950-0787-media-bcm2835-unicam-Reduce-scope-of-local-function.patch +++ b/target/linux/brcm2708/patches-4.19/950-0687-media-bcm2835-unicam-Reduce-scope-of-local-function.patch @@ -1,7 +1,7 @@ From 4924b7b5517c9c334cf5faa3c7a29adf9a0c0ba1 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Wed, 28 Aug 2019 15:54:19 +0100 -Subject: [PATCH 787/806] media: bcm2835: unicam: Reduce scope of local +Subject: [PATCH] media: bcm2835: unicam: Reduce scope of local function unicam_start_rx() is not used outside of the unicam module. Its current diff --git a/target/linux/brcm2708/patches-4.19/950-0788-media-bcm2835-unicam-add-media-controller-support.patch b/target/linux/brcm2708/patches-4.19/950-0688-media-bcm2835-unicam-add-media-controller-support.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0788-media-bcm2835-unicam-add-media-controller-support.patch rename to target/linux/brcm2708/patches-4.19/950-0688-media-bcm2835-unicam-add-media-controller-support.patch index 2209841dc..e84721258 100644 --- a/target/linux/brcm2708/patches-4.19/950-0788-media-bcm2835-unicam-add-media-controller-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0688-media-bcm2835-unicam-add-media-controller-support.patch @@ -1,7 +1,7 @@ From 06cd9857f8faa63321506a75988c475906a32970 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Wed, 20 Mar 2019 12:54:47 +0000 -Subject: [PATCH 788/806] media: bcm2835: unicam: add media controller support +Subject: [PATCH] media: bcm2835: unicam: add media controller support Add a media controller device node to represent the Unicam device. The attached sensor will be automatically added to the media graph by diff --git a/target/linux/brcm2708/patches-4.19/950-0789-Limit-max_req_size-under-arm64-or-any-other-platform.patch b/target/linux/brcm2708/patches-4.19/950-0689-Limit-max_req_size-under-arm64-or-any-other-platform.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0789-Limit-max_req_size-under-arm64-or-any-other-platform.patch rename to target/linux/brcm2708/patches-4.19/950-0689-Limit-max_req_size-under-arm64-or-any-other-platform.patch index 9bb869fe8..87b4e9b58 100644 --- a/target/linux/brcm2708/patches-4.19/950-0789-Limit-max_req_size-under-arm64-or-any-other-platform.patch +++ b/target/linux/brcm2708/patches-4.19/950-0689-Limit-max_req_size-under-arm64-or-any-other-platform.patch @@ -1,7 +1,7 @@ From 7bfcb31431f06efc233e4cc4d7ab65e10a6522cd Mon Sep 17 00:00:00 2001 From: Yaroslav Rosomakho Date: Fri, 23 Aug 2019 11:02:22 +0200 -Subject: [PATCH 789/806] Limit max_req_size under arm64 (or any other platform +Subject: [PATCH] Limit max_req_size under arm64 (or any other platform that uses swiotlb) to prevent potential buffer overflow due to bouncing. Signed-off-by: Yaroslav Rosomakho diff --git a/target/linux/brcm2708/patches-4.19/950-0689-Revert-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-bu.patch b/target/linux/brcm2708/patches-4.19/950-0689-Revert-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-bu.patch deleted file mode 100644 index 4c05cc397..000000000 --- a/target/linux/brcm2708/patches-4.19/950-0689-Revert-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-bu.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 768ab361410487b05561de854a994a2888cd430a Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Fri, 28 Jun 2019 11:30:49 +0100 -Subject: [PATCH 689/806] Revert "media: vb2: Allow reqbufs(0) with "in use" - MMAP buffers" - -This reverts commit a2c73e18c1f657de6d654f51effa0a94863abbd8. -An alternative version was accepted upstream. Revert this patch to -apply that one. - -Signed-off-by: Dave Stevenson ---- - .../media/common/videobuf2/videobuf2-core.c | 23 +++++++++++++++++++ - 1 file changed, 23 insertions(+) - ---- a/drivers/media/common/videobuf2/videobuf2-core.c -+++ b/drivers/media/common/videobuf2/videobuf2-core.c -@@ -554,6 +554,20 @@ bool vb2_buffer_in_use(struct vb2_queue - } - EXPORT_SYMBOL(vb2_buffer_in_use); - -+/* -+ * __buffers_in_use() - return true if any buffers on the queue are in use and -+ * the queue cannot be freed (by the means of REQBUFS(0)) call -+ */ -+static bool __buffers_in_use(struct vb2_queue *q) -+{ -+ unsigned int buffer; -+ for (buffer = 0; buffer < q->num_buffers; ++buffer) { -+ if (vb2_buffer_in_use(q, q->bufs[buffer])) -+ return true; -+ } -+ return false; -+} -+ - void vb2_core_querybuf(struct vb2_queue *q, unsigned int index, void *pb) - { - call_void_bufop(q, fill_user_buffer, q->bufs[index], pb); -@@ -665,7 +679,16 @@ int vb2_core_reqbufs(struct vb2_queue *q - - if (*count == 0 || q->num_buffers != 0 || - (q->memory != VB2_MEMORY_UNKNOWN && q->memory != memory)) { -+ /* -+ * We already have buffers allocated, so first check if they -+ * are not in use and can be freed. -+ */ - mutex_lock(&q->mmap_lock); -+ if (q->memory == VB2_MEMORY_MMAP && __buffers_in_use(q)) { -+ mutex_unlock(&q->mmap_lock); -+ dprintk(1, "memory in use, cannot free\n"); -+ return -EBUSY; -+ } - - /* - * Call queue_cancel to clean up any buffers in the PREPARED or diff --git a/target/linux/brcm2708/patches-4.19/950-0790-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch b/target/linux/brcm2708/patches-4.19/950-0690-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0790-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch rename to target/linux/brcm2708/patches-4.19/950-0690-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch index f4413c8fd..0a14126fb 100644 --- a/target/linux/brcm2708/patches-4.19/950-0790-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch +++ b/target/linux/brcm2708/patches-4.19/950-0690-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch @@ -1,7 +1,7 @@ From f8554985b77df2dac55f2d7c85e0f0cc3497a1fd Mon Sep 17 00:00:00 2001 From: Yaroslav Rosomakho Date: Fri, 23 Aug 2019 11:05:51 +0200 -Subject: [PATCH 790/806] Add missing dma_unmap_sg calls to free relevant +Subject: [PATCH] Add missing dma_unmap_sg calls to free relevant swiotlb bounce buffers. This prevents DMA leaks. Signed-off-by: Yaroslav Rosomakho diff --git a/target/linux/brcm2708/patches-4.19/950-0791-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch b/target/linux/brcm2708/patches-4.19/950-0691-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0791-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch rename to target/linux/brcm2708/patches-4.19/950-0691-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch index e72d775cc..09dbf4a02 100644 --- a/target/linux/brcm2708/patches-4.19/950-0791-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch +++ b/target/linux/brcm2708/patches-4.19/950-0691-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch @@ -1,7 +1,7 @@ From 9802671acf4250d6541d175ba599da03cee8acc1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 5 Sep 2019 17:36:38 +0100 -Subject: [PATCH 791/806] overlays: mcp23017: rename the GPIO pins node with +Subject: [PATCH] overlays: mcp23017: rename the GPIO pins node with the device In order to allow the overlay to be loaded multiple times the diff --git a/target/linux/brcm2708/patches-4.19/950-0792-overlays-mcp23017-Add-option-for-not-connecting-the-.patch b/target/linux/brcm2708/patches-4.19/950-0692-overlays-mcp23017-Add-option-for-not-connecting-the-.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0792-overlays-mcp23017-Add-option-for-not-connecting-the-.patch rename to target/linux/brcm2708/patches-4.19/950-0692-overlays-mcp23017-Add-option-for-not-connecting-the-.patch index f9a1208dc..e6376d7f6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0792-overlays-mcp23017-Add-option-for-not-connecting-the-.patch +++ b/target/linux/brcm2708/patches-4.19/950-0692-overlays-mcp23017-Add-option-for-not-connecting-the-.patch @@ -1,7 +1,7 @@ From b37ac8c50684c3517fb9c6f737e7ea444a7d7405 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 5 Sep 2019 17:41:46 +0100 -Subject: [PATCH 792/806] overlays: mcp23017: Add option for not connecting the +Subject: [PATCH] overlays: mcp23017: Add option for not connecting the int GPIO The interrupt GPIO is optional to the driver, therefore add an diff --git a/target/linux/brcm2708/patches-4.19/950-0793-v4l2-Add-a-Greyworld-AWB-mode.patch b/target/linux/brcm2708/patches-4.19/950-0693-v4l2-Add-a-Greyworld-AWB-mode.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0793-v4l2-Add-a-Greyworld-AWB-mode.patch rename to target/linux/brcm2708/patches-4.19/950-0693-v4l2-Add-a-Greyworld-AWB-mode.patch index 6f8ba62b4..aca98372a 100644 --- a/target/linux/brcm2708/patches-4.19/950-0793-v4l2-Add-a-Greyworld-AWB-mode.patch +++ b/target/linux/brcm2708/patches-4.19/950-0693-v4l2-Add-a-Greyworld-AWB-mode.patch @@ -1,7 +1,7 @@ From c8f63d006ff5f84ad629f4c06cdc9fee34fdfe3d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 15:04:51 +0100 -Subject: [PATCH 793/806] v4l2: Add a Greyworld AWB mode. +Subject: [PATCH] v4l2: Add a Greyworld AWB mode. Adds a simple greyworld white balance preset, mainly for use with cameras without an IR filter (eg Raspberry Pi NoIR) diff --git a/target/linux/brcm2708/patches-4.19/950-0794-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch b/target/linux/brcm2708/patches-4.19/950-0694-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch similarity index 95% rename from target/linux/brcm2708/patches-4.19/950-0794-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch rename to target/linux/brcm2708/patches-4.19/950-0694-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch index 241875d67..a1e414977 100644 --- a/target/linux/brcm2708/patches-4.19/950-0794-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch +++ b/target/linux/brcm2708/patches-4.19/950-0694-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch @@ -1,7 +1,7 @@ From b5ec436637af67f37efad1550945b750101527d4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 15:13:06 +0100 -Subject: [PATCH 794/806] staging: bcm2835-camera: Add greyworld AWB mode +Subject: [PATCH] staging: bcm2835-camera: Add greyworld AWB mode This is mainly used for the NoIR camera which has no IR filter and can completely confuse normal AWB presets. diff --git a/target/linux/brcm2708/patches-4.19/950-0797-PCI-brcmstb-Fix-compilation-warning.patch b/target/linux/brcm2708/patches-4.19/950-0695-PCI-brcmstb-Fix-compilation-warning.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0797-PCI-brcmstb-Fix-compilation-warning.patch rename to target/linux/brcm2708/patches-4.19/950-0695-PCI-brcmstb-Fix-compilation-warning.patch index 71a1c1ad7..978a65610 100644 --- a/target/linux/brcm2708/patches-4.19/950-0797-PCI-brcmstb-Fix-compilation-warning.patch +++ b/target/linux/brcm2708/patches-4.19/950-0695-PCI-brcmstb-Fix-compilation-warning.patch @@ -1,7 +1,7 @@ From 2245d8c6d0feaa94ca55fa8ecfe3ca9c0c05c566 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 9 Sep 2019 10:16:08 +0100 -Subject: [PATCH 797/806] PCI: brcmstb: Fix compilation warning +Subject: [PATCH] PCI: brcmstb: Fix compilation warning Fixes: ea2c11a187c0e248343452846457b94715e04969 Fixes: https://github.com/raspberrypi/linux/issues/3216 diff --git a/target/linux/brcm2708/patches-4.19/950-0798-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch b/target/linux/brcm2708/patches-4.19/950-0696-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0798-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch rename to target/linux/brcm2708/patches-4.19/950-0696-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch index 7f7d3d233..203804df6 100644 --- a/target/linux/brcm2708/patches-4.19/950-0798-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch +++ b/target/linux/brcm2708/patches-4.19/950-0696-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch @@ -1,7 +1,7 @@ From 1e37bc9f0ea83fa4b3f1714b4382edb7b256a251 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Wed, 11 Sep 2019 14:57:18 +0100 -Subject: [PATCH 798/806] drm/vc4: Fix for margins in composite/SDTV mode +Subject: [PATCH] drm/vc4: Fix for margins in composite/SDTV mode (#3223) Margins were incorrectly assumed to be setup in SDTV mode, but were diff --git a/target/linux/brcm2708/patches-4.19/950-0799-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch b/target/linux/brcm2708/patches-4.19/950-0697-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch similarity index 99% rename from target/linux/brcm2708/patches-4.19/950-0799-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch rename to target/linux/brcm2708/patches-4.19/950-0697-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch index 9a5ef9ceb..0ff97759d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0799-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch +++ b/target/linux/brcm2708/patches-4.19/950-0697-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch @@ -2,7 +2,7 @@ From f0715f5e178f2f7c0afb719a3a35c8ac250b7586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Schambacher?= Date: Thu, 12 Sep 2019 14:57:32 +0200 -Subject: [PATCH 799/806] Add Hifiberry DAC+DSP soundcard driver (#3224) +Subject: [PATCH] Add Hifiberry DAC+DSP soundcard driver (#3224) Adds the driver for the Hifiberry DAC+DSP. It supports capture and playback depending on the DSP firmware. diff --git a/target/linux/brcm2708/patches-4.19/950-0800-staging-bcm2835-codec-Allow-height-of-1920.patch b/target/linux/brcm2708/patches-4.19/950-0698-staging-bcm2835-codec-Allow-height-of-1920.patch similarity index 92% rename from target/linux/brcm2708/patches-4.19/950-0800-staging-bcm2835-codec-Allow-height-of-1920.patch rename to target/linux/brcm2708/patches-4.19/950-0698-staging-bcm2835-codec-Allow-height-of-1920.patch index 44b1ccd12..3004f89c9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0800-staging-bcm2835-codec-Allow-height-of-1920.patch +++ b/target/linux/brcm2708/patches-4.19/950-0698-staging-bcm2835-codec-Allow-height-of-1920.patch @@ -1,7 +1,7 @@ From b25d17959484972a6585d6e1f7cb2cfb93d1540e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 17:24:55 +0100 -Subject: [PATCH 800/806] staging: bcm2835-codec: Allow height of 1920. +Subject: [PATCH] staging: bcm2835-codec: Allow height of 1920. The codec is happy with video up to 1920 high if the width is suitably reduced to stay within level limits. eg 1080x1920 diff --git a/target/linux/brcm2708/patches-4.19/950-0801-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch b/target/linux/brcm2708/patches-4.19/950-0699-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0801-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch rename to target/linux/brcm2708/patches-4.19/950-0699-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch index 5eb506853..36c5d1c23 100644 --- a/target/linux/brcm2708/patches-4.19/950-0801-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch +++ b/target/linux/brcm2708/patches-4.19/950-0699-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch @@ -1,7 +1,7 @@ From 956fd55c1071c48f00285d82507698c501633e7a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 13 Sep 2019 15:11:47 +0100 -Subject: [PATCH 801/806] staging: bcm2835-codec: Correct g/s_selection API +Subject: [PATCH] staging: bcm2835-codec: Correct g/s_selection API MPLANE support The g_selection and s_selection API is messed up and requires diff --git a/target/linux/brcm2708/patches-4.19/950-0802-regulator-gpio-Allow-nonexclusive-GPIO-access.patch b/target/linux/brcm2708/patches-4.19/950-0700-regulator-gpio-Allow-nonexclusive-GPIO-access.patch similarity index 97% rename from target/linux/brcm2708/patches-4.19/950-0802-regulator-gpio-Allow-nonexclusive-GPIO-access.patch rename to target/linux/brcm2708/patches-4.19/950-0700-regulator-gpio-Allow-nonexclusive-GPIO-access.patch index 627664299..e0ffaae20 100644 --- a/target/linux/brcm2708/patches-4.19/950-0802-regulator-gpio-Allow-nonexclusive-GPIO-access.patch +++ b/target/linux/brcm2708/patches-4.19/950-0700-regulator-gpio-Allow-nonexclusive-GPIO-access.patch @@ -1,7 +1,7 @@ From f6d983b7bc9ae79d0eb4dea7bc30a1ad5ff428a7 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Fri, 12 Oct 2018 14:54:12 +0200 -Subject: [PATCH 802/806] regulator/gpio: Allow nonexclusive GPIO access +Subject: [PATCH] regulator/gpio: Allow nonexclusive GPIO access commit b0ce7b29bfcd090ddba476f45a75ec0a797b048a upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0803-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch b/target/linux/brcm2708/patches-4.19/950-0701-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch similarity index 94% rename from target/linux/brcm2708/patches-4.19/950-0803-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch rename to target/linux/brcm2708/patches-4.19/950-0701-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch index d8e87919c..e8e63a279 100644 --- a/target/linux/brcm2708/patches-4.19/950-0803-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch +++ b/target/linux/brcm2708/patches-4.19/950-0701-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch @@ -1,7 +1,7 @@ From 76870d237adff4c8e419064e7d4f5a8ef87c1085 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Thu, 6 Dec 2018 13:43:44 +0100 -Subject: [PATCH 803/806] gpio: Enable nonexclusive gpiods from DT nodes +Subject: [PATCH] gpio: Enable nonexclusive gpiods from DT nodes commit ec757001c818c175e6b610e8ef80c2a25d1ed1a5 upstream. diff --git a/target/linux/brcm2708/patches-4.19/950-0804-Fix-poll-rate-on-touchscreen-3238.patch b/target/linux/brcm2708/patches-4.19/950-0702-Fix-poll-rate-on-touchscreen-3238.patch similarity index 93% rename from target/linux/brcm2708/patches-4.19/950-0804-Fix-poll-rate-on-touchscreen-3238.patch rename to target/linux/brcm2708/patches-4.19/950-0702-Fix-poll-rate-on-touchscreen-3238.patch index 5dbbd846c..b47c8190f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0804-Fix-poll-rate-on-touchscreen-3238.patch +++ b/target/linux/brcm2708/patches-4.19/950-0702-Fix-poll-rate-on-touchscreen-3238.patch @@ -1,7 +1,7 @@ From a37a706547897d77b3194fc507b2546197def430 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 17 Sep 2019 16:22:09 +0100 -Subject: [PATCH 804/806] Fix poll rate on touchscreen (#3238) +Subject: [PATCH] Fix poll rate on touchscreen (#3238) Was running at 25Hz, rather than he expected 60. Only been doing it for the last 5 years.... diff --git a/target/linux/brcm2708/patches-4.19/950-0806-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch b/target/linux/brcm2708/patches-4.19/950-0703-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch similarity index 98% rename from target/linux/brcm2708/patches-4.19/950-0806-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch rename to target/linux/brcm2708/patches-4.19/950-0703-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch index abb9fcc30..1f690a258 100644 --- a/target/linux/brcm2708/patches-4.19/950-0806-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch +++ b/target/linux/brcm2708/patches-4.19/950-0703-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch @@ -1,7 +1,7 @@ From 75967d69ea58555d12a7d9058653a69210d2ba86 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 18 Sep 2019 09:02:10 +0100 -Subject: [PATCH 806/806] dts: Add DTS for Pi 2B rev 1.2 with BCM2837 (#3235) +Subject: [PATCH] dts: Add DTS for Pi 2B rev 1.2 with BCM2837 (#3235) Signed-off-by: Phil Elwell --- diff --git a/target/linux/brcm2708/patches-4.19/950-0704-drm-v3d-clean-caches-at-the-end-of-render-jobs-on-re.patch b/target/linux/brcm2708/patches-4.19/950-0704-drm-v3d-clean-caches-at-the-end-of-render-jobs-on-re.patch new file mode 100644 index 000000000..ff7c346f5 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0704-drm-v3d-clean-caches-at-the-end-of-render-jobs-on-re.patch @@ -0,0 +1,177 @@ +From bc4661703d132ae1fb91d66641c64851eae44959 Mon Sep 17 00:00:00 2001 +From: Iago Toral Quiroga +Date: Tue, 3 Sep 2019 08:45:24 +0200 +Subject: [PATCH] drm/v3d: clean caches at the end of render jobs on + request from user space + +Extends the user space ioctl for CL submissions so it can include a request +to flush the cache once the CL execution has completed. Fixes memory +write violation messages reported by the kernel in workloads involving +shader memory writes (SSBOs, shader images, scratch, etc) which sometimes +also lead to GPU resets during Piglit and CTS workloads. + +v2: if v3d_job_init() fails we need to kfree() the job instead of + v3d_job_put() it (Eric Anholt). + +v3 (Eric Anholt): + - Drop _FLAG suffix from the new flag name. + - Add a new param so userspace can tell whether cache flushing is + implemented in the kernel. + +Signed-off-by: Iago Toral Quiroga +--- + drivers/gpu/drm/v3d/v3d_drv.c | 3 ++ + drivers/gpu/drm/v3d/v3d_gem.c | 54 +++++++++++++++++++++++++++++------ + include/uapi/drm/v3d_drm.h | 6 ++-- + 3 files changed, 53 insertions(+), 10 deletions(-) + +--- a/drivers/gpu/drm/v3d/v3d_drv.c ++++ b/drivers/gpu/drm/v3d/v3d_drv.c +@@ -117,6 +117,9 @@ static int v3d_get_param_ioctl(struct dr + case DRM_V3D_PARAM_SUPPORTS_CSD: + args->value = v3d_has_csd(v3d); + return 0; ++ case DRM_V3D_PARAM_SUPPORTS_CACHE_FLUSH: ++ args->value = 1; ++ return 0; + default: + DRM_DEBUG("Unknown parameter %d\n", args->param); + return -EINVAL; +--- a/drivers/gpu/drm/v3d/v3d_gem.c ++++ b/drivers/gpu/drm/v3d/v3d_gem.c +@@ -709,13 +709,16 @@ v3d_submit_cl_ioctl(struct drm_device *d + struct drm_v3d_submit_cl *args = data; + struct v3d_bin_job *bin = NULL; + struct v3d_render_job *render; ++ struct v3d_job *clean_job = NULL; ++ struct v3d_job *last_job; + struct ww_acquire_ctx acquire_ctx; + int ret = 0; + + trace_v3d_submit_cl_ioctl(&v3d->drm, args->rcl_start, args->rcl_end); + +- if (args->pad != 0) { +- DRM_INFO("pad must be zero: %d\n", args->pad); ++ if (args->flags != 0 && ++ args->flags != DRM_V3D_SUBMIT_CL_FLUSH_CACHE) { ++ DRM_INFO("invalid flags: %d\n", args->flags); + return -EINVAL; + } + +@@ -755,12 +758,31 @@ v3d_submit_cl_ioctl(struct drm_device *d + bin->render = render; + } + +- ret = v3d_lookup_bos(dev, file_priv, &render->base, ++ if (args->flags & DRM_V3D_SUBMIT_CL_FLUSH_CACHE) { ++ clean_job = kcalloc(1, sizeof(*clean_job), GFP_KERNEL); ++ if (!clean_job) { ++ ret = -ENOMEM; ++ goto fail; ++ } ++ ++ ret = v3d_job_init(v3d, file_priv, clean_job, v3d_job_free, 0); ++ if (ret) { ++ kfree(clean_job); ++ clean_job = NULL; ++ goto fail; ++ } ++ ++ last_job = clean_job; ++ } else { ++ last_job = &render->base; ++ } ++ ++ ret = v3d_lookup_bos(dev, file_priv, last_job, + args->bo_handles, args->bo_handle_count); + if (ret) + goto fail; + +- ret = v3d_lock_bo_reservations(&render->base, &acquire_ctx); ++ ret = v3d_lock_bo_reservations(last_job, &acquire_ctx); + if (ret) + goto fail; + +@@ -772,33 +794,49 @@ v3d_submit_cl_ioctl(struct drm_device *d + + ret = v3d_add_dep(&render->base, + dma_fence_get(bin->base.done_fence)); ++ if (ret) ++ goto fail_unreserve; + } + + ret = v3d_push_job(v3d_priv, &render->base, V3D_RENDER); + if (ret) + goto fail_unreserve; ++ ++ if (clean_job) { ++ ret = v3d_add_dep(clean_job, ++ dma_fence_get(render->base.done_fence)); ++ if (ret) ++ goto fail_unreserve; ++ ret = v3d_push_job(v3d_priv, clean_job, V3D_CACHE_CLEAN); ++ if (ret) ++ goto fail_unreserve; ++ } + mutex_unlock(&v3d->sched_lock); + + v3d_attach_fences_and_unlock_reservation(file_priv, +- &render->base, ++ last_job, + &acquire_ctx, + args->out_sync, +- render->base.done_fence); ++ last_job->done_fence); + + if (bin) + v3d_job_put(&bin->base); + v3d_job_put(&render->base); ++ if (clean_job) ++ v3d_job_put(clean_job); + + return 0; + + fail_unreserve: + mutex_unlock(&v3d->sched_lock); +- v3d_unlock_bo_reservations(render->base.bo, +- render->base.bo_count, &acquire_ctx); ++ v3d_unlock_bo_reservations(last_job->bo, ++ last_job->bo_count, &acquire_ctx); + fail: + if (bin) + v3d_job_put(&bin->base); + v3d_job_put(&render->base); ++ if (clean_job) ++ v3d_job_put(clean_job); + + return ret; + } +--- a/include/uapi/drm/v3d_drm.h ++++ b/include/uapi/drm/v3d_drm.h +@@ -48,6 +48,8 @@ extern "C" { + #define DRM_IOCTL_V3D_SUBMIT_TFU DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_TFU, struct drm_v3d_submit_tfu) + #define DRM_IOCTL_V3D_SUBMIT_CSD DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CSD, struct drm_v3d_submit_csd) + ++#define DRM_V3D_SUBMIT_CL_FLUSH_CACHE 0x01 ++ + /** + * struct drm_v3d_submit_cl - ioctl argument for submitting commands to the 3D + * engine. +@@ -106,8 +108,7 @@ struct drm_v3d_submit_cl { + /* Number of BO handles passed in (size is that times 4). */ + __u32 bo_handle_count; + +- /* Pad, must be zero-filled. */ +- __u32 pad; ++ __u32 flags; + }; + + /** +@@ -175,6 +176,7 @@ enum drm_v3d_param { + DRM_V3D_PARAM_V3D_CORE0_IDENT2, + DRM_V3D_PARAM_SUPPORTS_TFU, + DRM_V3D_PARAM_SUPPORTS_CSD, ++ DRM_V3D_PARAM_SUPPORTS_CACHE_FLUSH, + }; + + struct drm_v3d_get_param { diff --git a/target/linux/brcm2708/patches-4.19/950-0705-staging-bcm2835-audio-Fix-draining-behavior-regressi.patch b/target/linux/brcm2708/patches-4.19/950-0705-staging-bcm2835-audio-Fix-draining-behavior-regressi.patch new file mode 100644 index 000000000..76279ec81 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0705-staging-bcm2835-audio-Fix-draining-behavior-regressi.patch @@ -0,0 +1,56 @@ +From 9dd926d29051324d8621ca2a18bbdd568523ac93 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Sat, 14 Sep 2019 17:24:05 +0200 +Subject: [PATCH] staging: bcm2835-audio: Fix draining behavior + regression + +The PCM draining behavior got broken since the recent refactoring, and +this turned out to be the incorrect expectation of the firmware +behavior regarding "draining". While I expected the "drain" flag at +the stop operation would do processing the queued samples, it seems +rather dropping the samples. + +As a quick fix, just drop the SNDRV_PCM_INFO_DRAIN_TRIGGER flag, so +that the driver uses the normal PCM draining procedure. Also, put +some caution comment to the function for future readers not to fall +into the same pitfall. + +Fixes: d7ca3a71545b ("staging: bcm2835-audio: Operate non-atomic PCM ops") +BugLink: https://github.com/raspberrypi/linux/issues/2983 +Cc: stable@vger.kernel.org +Signed-off-by: Takashi Iwai +--- + drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c | 4 ++-- + drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c | 1 + + 2 files changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c ++++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c +@@ -12,7 +12,7 @@ + static const struct snd_pcm_hardware snd_bcm2835_playback_hw = { + .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | +- SNDRV_PCM_INFO_DRAIN_TRIGGER | SNDRV_PCM_INFO_SYNC_APPLPTR), ++ SNDRV_PCM_INFO_SYNC_APPLPTR), + .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, + .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_192000, + .rate_min = 8000, +@@ -29,7 +29,7 @@ static const struct snd_pcm_hardware snd + static const struct snd_pcm_hardware snd_bcm2835_playback_spdif_hw = { + .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | +- SNDRV_PCM_INFO_DRAIN_TRIGGER | SNDRV_PCM_INFO_SYNC_APPLPTR), ++ SNDRV_PCM_INFO_SYNC_APPLPTR), + .formats = SNDRV_PCM_FMTBIT_S16_LE, + .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 | + SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | +--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c ++++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c +@@ -297,6 +297,7 @@ int bcm2835_audio_stop(struct bcm2835_al + VC_AUDIO_MSG_TYPE_STOP, false); + } + ++/* FIXME: this doesn't seem working as expected for "draining" */ + int bcm2835_audio_drain(struct bcm2835_alsa_stream *alsa_stream) + { + struct vc_audio_msg m = { diff --git a/target/linux/brcm2708/patches-4.19/950-0706-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch b/target/linux/brcm2708/patches-4.19/950-0706-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch new file mode 100644 index 000000000..adb14fb71 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0706-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch @@ -0,0 +1,34 @@ +From c6be127c2f4d5f75c60d3778594093ff51593a6e Mon Sep 17 00:00:00 2001 +From: Michael Brown +Date: Sun, 22 Sep 2019 21:51:29 +0100 +Subject: [PATCH] bcm2708_fb: Fix layout of struct + vc4_display_settings_t + +The display parameters returned by the VC4 firmware in response to the +RPI_FIRMWARE_FRAMEBUFFER_GET_DISPLAY_SETTINGS tag do not match the +layout of struct vc4_display_settings_t: the colour depth and row +pitch are erroneously swapped in the kernel definition. This can +trigger a kernel warning from pixel_to_pat(), such as: + + pixel_to_pat(): unsupported pixelformat 7296 + +Fix by adjusting the layout of struct vc4_display_settings_t to match +the layout as used by the VC4 firmware. + +Signed-off-by: Michael Brown +--- + drivers/video/fbdev/bcm2708_fb.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/video/fbdev/bcm2708_fb.c ++++ b/drivers/video/fbdev/bcm2708_fb.c +@@ -89,8 +89,8 @@ struct vc4_display_settings_t { + u32 display_num; + u32 width; + u32 height; +- u32 pitch; + u32 depth; ++ u32 pitch; + u32 virtual_width; + u32 virtual_height; + u32 virtual_width_offset; diff --git a/target/linux/brcm2708/patches-4.19/950-0707-ARM-dts-bcm283x-Fix-DTC-warning-for-memory-node.patch b/target/linux/brcm2708/patches-4.19/950-0707-ARM-dts-bcm283x-Fix-DTC-warning-for-memory-node.patch new file mode 100644 index 000000000..b593d7fb0 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0707-ARM-dts-bcm283x-Fix-DTC-warning-for-memory-node.patch @@ -0,0 +1,68 @@ +From b640129382a37105cf2577f251103e550381b797 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Mon, 23 Sep 2019 18:56:37 +0200 +Subject: [PATCH] ARM: dts: bcm283x: Fix DTC warning for memory node + +commit f090e1bd7b05f17d35b6e2d0e946d8a8085d264f upstream. + +Compiling the bcm283x DTS with W=1 leads to the following warning: + +Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, +but no unit name + +Fix this by adding the unit address. + +Signed-off-by: Stefan Wahren +Tested-by: Peter Robinson +Reviewed-by: Eric Anholt +--- + arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +- + arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 2 +- + arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 2 +- + arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi +@@ -1,7 +1,7 @@ + #include + + / { +- memory { ++ memory@0 { + device_type = "memory"; + reg = <0 0x10000000>; + }; +--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts ++++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts +@@ -10,7 +10,7 @@ + compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; + model = "Raspberry Pi 2 Model B"; + +- memory { ++ memory@0 { + reg = <0 0x40000000>; + }; + +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +@@ -14,7 +14,7 @@ + stdout-path = "serial1:115200n8"; + }; + +- memory { ++ memory@0 { + reg = <0 0x40000000>; + }; + +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +@@ -15,7 +15,7 @@ + stdout-path = "serial1:115200n8"; + }; + +- memory { ++ memory@0 { + reg = <0 0x40000000>; + }; + diff --git a/target/linux/brcm2708/patches-4.19/950-0708-ARM-dts-bcm27xx-Fix-DTC-warning-for-memory-node.patch b/target/linux/brcm2708/patches-4.19/950-0708-ARM-dts-bcm27xx-Fix-DTC-warning-for-memory-node.patch new file mode 100644 index 000000000..3a424b3a6 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0708-ARM-dts-bcm27xx-Fix-DTC-warning-for-memory-node.patch @@ -0,0 +1,52 @@ +From 10524e83179ad016a379ea99364d6912812a9aa5 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Mon, 23 Sep 2019 20:09:12 +0200 +Subject: [PATCH] ARM: dts: bcm27xx: Fix DTC warning for memory node + +Compiling the bcm27xx DTS with W=1 leads to the following warning: + +Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, +but no unit name + +Fix this by adding the unit address. + +Signed-off-by: Stefan Wahren +--- + arch/arm/boot/dts/bcm2708-rpi.dtsi | 2 +- + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 2 +- + arch/arm/boot/dts/bcm2838-rpi-4-b.dts | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +--- a/arch/arm/boot/dts/bcm2708-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi +@@ -3,7 +3,7 @@ + #include "bcm2835-rpi.dtsi" + + / { +- memory { ++ memory@0 { + device_type = "memory"; + reg = <0x0 0x0>; + }; +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -8,7 +8,7 @@ + compatible = "raspberrypi,4-model-b", "brcm,bcm2838"; + model = "Raspberry Pi 4 Model B"; + +- memory { ++ memory@0 { + device_type = "memory"; + reg = <0x0 0x0 0x0>; + }; +--- a/arch/arm/boot/dts/bcm2838-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2838-rpi-4-b.dts +@@ -13,7 +13,7 @@ + stdout-path = "serial1:115200n8"; + }; + +- memory { ++ memory@0 { + reg = <0 0 0x40000000>; + }; + diff --git a/target/linux/brcm2708/patches-4.19/950-0709-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch b/target/linux/brcm2708/patches-4.19/950-0709-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch new file mode 100644 index 000000000..27cd2aff5 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0709-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch @@ -0,0 +1,42 @@ +From cce15c51f1afbb1aa9d5f7779c9f7c0a17b39701 Mon Sep 17 00:00:00 2001 +From: Lukas Wunner +Date: Thu, 9 May 2019 19:03:00 +0200 +Subject: [PATCH] ARM: bcm283x: Enable DMA support for SPI controller +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Without this, the driver for the BCM2835 SPI controller uses interrupt +mode instead of DMA mode, incurring a significant performance penalty. +The Foundation's device tree has had these attributes for years, but for +some reason they were never upstreamed. + +They were originally contributed by Noralf Trønnes and Martin Sperl: +https://github.com/raspberrypi/linux/commit/25f3e064afc8 +https://github.com/raspberrypi/linux/commit/e0edb52b47e6 + +The DREQ numbers 6 and 7 are documented in section 4.2.1.3 of: +https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf + +Tested-by: Nicolas Saenz Julienne +Signed-off-by: Lukas Wunner +Reviewed-by: Eric Anholt +Reviewed-by: Martin Sperl +Signed-off-by: Stefan Wahren +Cc: Martin Sperl +Cc: Noralf Trønnes +--- + arch/arm/boot/dts/bcm283x.dtsi | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -403,6 +403,8 @@ + reg = <0x7e204000 0x200>; + interrupts = <2 22>; + clocks = <&clocks BCM2835_CLOCK_VPU>; ++ dmas = <&dma 6>, <&dma 7>; ++ dma-names = "tx", "rx"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; diff --git a/target/linux/brcm2708/patches-4.19/950-0710-ARM-dts-bcm2835-rpi-Drop-unnecessary-address-cells-s.patch b/target/linux/brcm2708/patches-4.19/950-0710-ARM-dts-bcm2835-rpi-Drop-unnecessary-address-cells-s.patch new file mode 100644 index 000000000..6986ae928 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0710-ARM-dts-bcm2835-rpi-Drop-unnecessary-address-cells-s.patch @@ -0,0 +1,30 @@ +From de002983174698762ecd3e42ab5a4b1bceb80af1 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Sun, 30 Dec 2018 12:07:16 +0100 +Subject: [PATCH] ARM: dts: bcm2835-rpi: Drop unnecessary + #address-cells/#size-cells + +Compiling the bcm2835-rpi.dtsi with W=1 leads to the following warning: + +Warning (avoid_unnecessary_addr_size): /soc/firmware: unnecessary + #address-cells/#size-cells without "ranges" or child "reg" property + +Fix this by removing these unnecessary properties. + +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +--- + arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 -- + 1 file changed, 2 deletions(-) + +--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi +@@ -19,8 +19,6 @@ + soc { + firmware: firmware { + compatible = "raspberrypi,bcm2835-firmware", "simple-bus"; +- #address-cells = <0>; +- #size-cells = <0>; + mboxes = <&mailbox>; + }; + diff --git a/target/linux/brcm2708/patches-4.19/950-0711-ARM-dts-bcm2708-rpi-Define-the-downstream-MMC-interf.patch b/target/linux/brcm2708/patches-4.19/950-0711-ARM-dts-bcm2708-rpi-Define-the-downstream-MMC-interf.patch new file mode 100644 index 000000000..184d397ed --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0711-ARM-dts-bcm2708-rpi-Define-the-downstream-MMC-interf.patch @@ -0,0 +1,40 @@ +From c31c8018e7cef83c827c913a10ac06b465813b22 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Sat, 21 Sep 2019 15:29:33 +0200 +Subject: [PATCH] ARM: dts: bcm2708-rpi: Define the downstream MMC + interfaces at one place + +In order to keep downstream definition of the MMC interfaces separate +and independent from upstream changes, add them to bcm2708-rpi.dtsi. + +Signed-off-by: Stefan Wahren +--- + arch/arm/boot/dts/bcm2708-rpi.dtsi | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/arch/arm/boot/dts/bcm2708-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi +@@ -125,13 +125,23 @@ + firmware = <&firmware>; + }; + ++&sdhci { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emmc_gpio48>; ++ bus-width = <4>; ++}; ++ + sdhost_pins: &sdhost_gpio48 { + /* Add alias */ + }; + + &sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; + brcm,overclock-50 = <0>; + brcm,pio-limit = <1>; ++ status = "okay"; + }; + + &cpu_thermal { diff --git a/target/linux/brcm2708/patches-4.19/950-0712-ARM-dts-bcm283x-Define-MMC-interfaces-at-board-level.patch b/target/linux/brcm2708/patches-4.19/950-0712-ARM-dts-bcm283x-Define-MMC-interfaces-at-board-level.patch new file mode 100644 index 000000000..7ad61b65f --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0712-ARM-dts-bcm283x-Define-MMC-interfaces-at-board-level.patch @@ -0,0 +1,194 @@ +From a1905aed89ee45f6662f03b77dc604ff1a169671 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Tue, 17 Sep 2019 19:16:17 +0200 +Subject: [PATCH] ARM: dts: bcm283x: Define MMC interfaces at board + level + +commit e7774049ff255c8ba72bcee9c7ab307a95e8d7bc upstream. + +Starting with RPi 4 this is the first board, which doesn't use sdhost +as default SD interface. So the MMC interfaces should be defined finally at +board level. Since all boards using sdhci already does this, we can drop the +pinctrl part from bcm2835-rpi.dtsi. + +Signed-off-by: Stefan Wahren +Acked-by: Eric Anholt +--- + arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 7 +++++++ + arch/arm/boot/dts/bcm2835-rpi-a.dts | 7 +++++++ + arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 7 +++++++ + arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 7 +++++++ + arch/arm/boot/dts/bcm2835-rpi-b.dts | 7 +++++++ + arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts | 7 +++++++ + arch/arm/boot/dts/bcm2835-rpi-zero-w.dts | 7 +++++++ + arch/arm/boot/dts/bcm2835-rpi-zero.dts | 7 +++++++ + arch/arm/boot/dts/bcm2835-rpi.dtsi | 13 ------------- + arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 7 +++++++ + 10 files changed, 63 insertions(+), 13 deletions(-) + +--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts +@@ -108,6 +108,13 @@ + status = "okay"; + }; + ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts +@@ -103,6 +103,13 @@ + status = "okay"; + }; + ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts +@@ -110,6 +110,13 @@ + status = "okay"; + }; + ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts +@@ -103,6 +103,13 @@ + status = "okay"; + }; + ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts +@@ -98,6 +98,13 @@ + status = "okay"; + }; + ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +--- a/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts +@@ -81,6 +81,13 @@ + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + }; + ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +--- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +@@ -129,6 +129,13 @@ + }; + }; + ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio32 &uart0_ctsrts_gpio30>; +--- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts +@@ -105,6 +105,13 @@ + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + }; + ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi +@@ -84,19 +84,6 @@ + status = "okay"; + }; + +-&sdhci { +- pinctrl-names = "default"; +- pinctrl-0 = <&emmc_gpio48>; +- bus-width = <4>; +-}; +- +-&sdhost { +- pinctrl-names = "default"; +- pinctrl-0 = <&sdhost_gpio48>; +- status = "okay"; +- bus-width = <4>; +-}; +- + &usb { + power-domains = <&power RPI_POWER_DOMAIN_USB>; + }; +--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts ++++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts +@@ -48,6 +48,13 @@ + status = "okay"; + }; + ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; diff --git a/target/linux/brcm2708/patches-4.19/950-0713-ARM-dts-bcm2835-rpi-zero-w-Fix-bus-width-of-sdhci.patch b/target/linux/brcm2708/patches-4.19/950-0713-ARM-dts-bcm2835-rpi-zero-w-Fix-bus-width-of-sdhci.patch new file mode 100644 index 000000000..06dd01329 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0713-ARM-dts-bcm2835-rpi-zero-w-Fix-bus-width-of-sdhci.patch @@ -0,0 +1,28 @@ +From c60d699be1eb26a14157cfa5b1ac0cf8afce0dcb Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Mon, 23 Sep 2019 19:41:33 +0200 +Subject: [PATCH] ARM: dts: bcm2835-rpi-zero-w: Fix bus-width of sdhci + +The commit e7774049ff25 ("ARM: dts: bcm283x: Define MMC interfaces at +board level") accidently dropped the bus width for the sdhci on the +RPi Zero W, because the board file was relying on the defaults +from bcm2835-rpi.dtsi. So fix this performance regression by adding +the bus width to the board file. + +Fixes: e7774049ff25 ("ARM: dts: bcm283x: Define MMC interfaces at board level") +Reported-by: Phil Elwell +Signed-off-by: Stefan Wahren +--- + arch/arm/boot/dts/bcm2835-rpi-zero-w.dts | 1 + + 1 file changed, 1 insertion(+) + +--- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +@@ -119,6 +119,7 @@ + #address-cells = <1>; + #size-cells = <0>; + pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>; ++ bus-width = <4>; + mmc-pwrseq = <&wifi_pwrseq>; + non-removable; + status = "okay"; diff --git a/target/linux/brcm2708/patches-4.19/950-0714-ARM-dts-bcm2708-rpi-Define-the-downstream-HDMI-power.patch b/target/linux/brcm2708/patches-4.19/950-0714-ARM-dts-bcm2708-rpi-Define-the-downstream-HDMI-power.patch new file mode 100644 index 000000000..764169fc6 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0714-ARM-dts-bcm2708-rpi-Define-the-downstream-HDMI-power.patch @@ -0,0 +1,24 @@ +From 51908b138907d25df02687c514d59373b2a32f18 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Sat, 21 Sep 2019 15:55:19 +0200 +Subject: [PATCH] ARM: dts: bcm2708-rpi: Define the downstream HDMI + power at one place + +In order to keep downstream definition of the HDMI power domain separate +and independent from upstream changes, add them to bcm2708-rpi.dtsi. + +Signed-off-by: Stefan Wahren +--- + arch/arm/boot/dts/bcm2708-rpi.dtsi | 1 + + 1 file changed, 1 insertion(+) + +--- a/arch/arm/boot/dts/bcm2708-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi +@@ -102,6 +102,7 @@ + }; + + &hdmi { ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "disabled"; + }; + diff --git a/target/linux/brcm2708/patches-4.19/950-0715-ARM-dts-bcm283x-Enable-HDMI-at-board-level.patch b/target/linux/brcm2708/patches-4.19/950-0715-ARM-dts-bcm283x-Enable-HDMI-at-board-level.patch new file mode 100644 index 000000000..82e126e8f --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0715-ARM-dts-bcm283x-Enable-HDMI-at-board-level.patch @@ -0,0 +1,163 @@ +From a3cbeaaee57b7bda4e921bb2cff649fb56c0292d Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Tue, 17 Sep 2019 19:31:19 +0200 +Subject: [PATCH] ARM: dts: bcm283x: Enable HDMI at board level + +commit 60c833d5664e1b3f71c4471233469790adf505ca upstream. + +There might be headless setups of the Compute Module without HDMI, +so better enable HDMI at board level. Btw this allows moving HDMI +base definition into upcoming bcm2835-common.dtsi. + +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +--- + arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 2 ++ + arch/arm/boot/dts/bcm2835-rpi-a.dts | 2 ++ + arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 2 ++ + arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 2 ++ + arch/arm/boot/dts/bcm2835-rpi-b.dts | 2 ++ + arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts | 2 ++ + arch/arm/boot/dts/bcm2835-rpi-zero-w.dts | 2 ++ + arch/arm/boot/dts/bcm2835-rpi-zero.dts | 2 ++ + arch/arm/boot/dts/bcm2835-rpi.dtsi | 5 ----- + arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 2 ++ + arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 2 ++ + arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 2 ++ + 12 files changed, 22 insertions(+), 5 deletions(-) + +--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts +@@ -100,6 +100,8 @@ + + &hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + &pwm { +--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts +@@ -95,6 +95,8 @@ + + &hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + &pwm { +--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts +@@ -102,6 +102,8 @@ + + &hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + &pwm { +--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts +@@ -95,6 +95,8 @@ + + &hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + &pwm { +--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts +@@ -90,6 +90,8 @@ + + &hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + &pwm { +--- a/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts +@@ -79,6 +79,8 @@ + + &hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + &sdhost { +--- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +@@ -113,6 +113,8 @@ + + &hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + &sdhci { +--- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts +@@ -103,6 +103,8 @@ + + &hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + &sdhost { +--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi +@@ -92,11 +92,6 @@ + power-domains = <&power RPI_POWER_DOMAIN_V3D>; + }; + +-&hdmi { +- power-domains = <&power RPI_POWER_DOMAIN_HDMI>; +- status = "okay"; +-}; +- + &vec { + power-domains = <&power RPI_POWER_DOMAIN_VEC>; + status = "okay"; +--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts ++++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts +@@ -40,6 +40,8 @@ + + &hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + &pwm { +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +@@ -54,6 +54,8 @@ + + &hdmi { + hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + &pwm { +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +@@ -56,6 +56,8 @@ + + &hdmi { + hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>; ++ power-domains = <&power RPI_POWER_DOMAIN_HDMI>; ++ status = "okay"; + }; + + /* uart0 communicates with the BT module */ diff --git a/target/linux/brcm2708/patches-4.19/950-0716-clk-bcm2835-Introduce-SoC-specific-clock-registratio.patch b/target/linux/brcm2708/patches-4.19/950-0716-clk-bcm2835-Introduce-SoC-specific-clock-registratio.patch new file mode 100644 index 000000000..52f716e74 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0716-clk-bcm2835-Introduce-SoC-specific-clock-registratio.patch @@ -0,0 +1,597 @@ +From 125afc5cf080b29e9114d89f6052fa4a936a3f19 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Thu, 19 Sep 2019 20:12:15 +0200 +Subject: [PATCH] clk: bcm2835: Introduce SoC specific clock + registration + +commit ee0a5a9013b2b2502571a763c3093d400d18191f upstream. + +In order to support SoC specific clocks (e.g. emmc2 for BCM2711), we +extend the description with a SoC support flag. This approach avoids long +and mostly redundant lists of clock IDs. Since PLLH is specific to +BCM2835, we register only rest of the clocks as common to all SoC. + +Suggested-by: Florian Fainelli +Signed-off-by: Stefan Wahren +Reviewed-by: Matthias Brugger +Acked-by: Eric Anholt +Reviewed-by: Eric Anholt +--- + drivers/clk/bcm/clk-bcm2835.c | 115 +++++++++++++++++++++++++++++----- + 1 file changed, 98 insertions(+), 17 deletions(-) + +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -40,7 +40,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -301,6 +301,9 @@ + + #define VCMSG_ID_CORE_CLOCK 4 + ++#define SOC_BCM2835 BIT(0) ++#define SOC_ALL (SOC_BCM2835) ++ + /* + * Names of clocks used within the driver that need to be replaced + * with an external parent's name. This array is in the order that +@@ -333,6 +336,10 @@ struct bcm2835_cprman { + struct clk_hw_onecell_data onecell; + }; + ++struct cprman_plat_data { ++ unsigned int soc; ++}; ++ + static inline void cprman_write(struct bcm2835_cprman *cprman, u32 reg, u32 val) + { + writel(CM_PASSWORD | val, cprman->regs + reg); +@@ -1528,22 +1535,28 @@ typedef struct clk_hw *(*bcm2835_clk_reg + const void *data); + struct bcm2835_clk_desc { + bcm2835_clk_register clk_register; ++ unsigned int supported; + const void *data; + }; + + /* assignment helper macros for different clock types */ +-#define _REGISTER(f, ...) { .clk_register = (bcm2835_clk_register)f, \ +- .data = __VA_ARGS__ } +-#define REGISTER_PLL(...) _REGISTER(&bcm2835_register_pll, \ ++#define _REGISTER(f, s, ...) { .clk_register = (bcm2835_clk_register)f, \ ++ .supported = s, \ ++ .data = __VA_ARGS__ } ++#define REGISTER_PLL(s, ...) _REGISTER(&bcm2835_register_pll, \ ++ s, \ + &(struct bcm2835_pll_data) \ + {__VA_ARGS__}) +-#define REGISTER_PLL_DIV(...) _REGISTER(&bcm2835_register_pll_divider, \ +- &(struct bcm2835_pll_divider_data) \ +- {__VA_ARGS__}) +-#define REGISTER_CLK(...) _REGISTER(&bcm2835_register_clock, \ ++#define REGISTER_PLL_DIV(s, ...) _REGISTER(&bcm2835_register_pll_divider, \ ++ s, \ ++ &(struct bcm2835_pll_divider_data) \ ++ {__VA_ARGS__}) ++#define REGISTER_CLK(s, ...) _REGISTER(&bcm2835_register_clock, \ ++ s, \ + &(struct bcm2835_clock_data) \ + {__VA_ARGS__}) +-#define REGISTER_GATE(...) _REGISTER(&bcm2835_register_gate, \ ++#define REGISTER_GATE(s, ...) _REGISTER(&bcm2835_register_gate, \ ++ s, \ + &(struct bcm2835_gate_data) \ + {__VA_ARGS__}) + +@@ -1557,7 +1570,8 @@ static const char *const bcm2835_clock_o + "testdebug1" + }; + +-#define REGISTER_OSC_CLK(...) REGISTER_CLK( \ ++#define REGISTER_OSC_CLK(s, ...) REGISTER_CLK( \ ++ s, \ + .num_mux_parents = ARRAY_SIZE(bcm2835_clock_osc_parents), \ + .parents = bcm2835_clock_osc_parents, \ + __VA_ARGS__) +@@ -1574,7 +1588,8 @@ static const char *const bcm2835_clock_p + "pllh_aux", + }; + +-#define REGISTER_PER_CLK(...) REGISTER_CLK( \ ++#define REGISTER_PER_CLK(s, ...) REGISTER_CLK( \ ++ s, \ + .num_mux_parents = ARRAY_SIZE(bcm2835_clock_per_parents), \ + .parents = bcm2835_clock_per_parents, \ + __VA_ARGS__) +@@ -1599,7 +1614,8 @@ static const char *const bcm2835_pcm_per + "-", + }; + +-#define REGISTER_PCM_CLK(...) REGISTER_CLK( \ ++#define REGISTER_PCM_CLK(s, ...) REGISTER_CLK( \ ++ s, \ + .num_mux_parents = ARRAY_SIZE(bcm2835_pcm_per_parents), \ + .parents = bcm2835_pcm_per_parents, \ + __VA_ARGS__) +@@ -1618,7 +1634,8 @@ static const char *const bcm2835_clock_v + "pllc_core2", + }; + +-#define REGISTER_VPU_CLK(...) REGISTER_CLK( \ ++#define REGISTER_VPU_CLK(s, ...) REGISTER_CLK( \ ++ s, \ + .num_mux_parents = ARRAY_SIZE(bcm2835_clock_vpu_parents), \ + .parents = bcm2835_clock_vpu_parents, \ + __VA_ARGS__) +@@ -1654,12 +1671,14 @@ static const char *const bcm2835_clock_d + "dsi1_byte_inv", + }; + +-#define REGISTER_DSI0_CLK(...) REGISTER_CLK( \ ++#define REGISTER_DSI0_CLK(s, ...) REGISTER_CLK( \ ++ s, \ + .num_mux_parents = ARRAY_SIZE(bcm2835_clock_dsi0_parents), \ + .parents = bcm2835_clock_dsi0_parents, \ + __VA_ARGS__) + +-#define REGISTER_DSI1_CLK(...) REGISTER_CLK( \ ++#define REGISTER_DSI1_CLK(s, ...) REGISTER_CLK( \ ++ s, \ + .num_mux_parents = ARRAY_SIZE(bcm2835_clock_dsi1_parents), \ + .parents = bcm2835_clock_dsi1_parents, \ + __VA_ARGS__) +@@ -1679,6 +1698,7 @@ static const struct bcm2835_clk_desc clk + * AUDIO domain is on. + */ + [BCM2835_PLLA] = REGISTER_PLL( ++ SOC_ALL, + .name = "plla", + .cm_ctrl_reg = CM_PLLA, + .a2w_ctrl_reg = A2W_PLLA_CTRL, +@@ -1693,6 +1713,7 @@ static const struct bcm2835_clk_desc clk + .max_rate = 2400000000u, + .max_fb_rate = BCM2835_MAX_FB_RATE), + [BCM2835_PLLA_CORE] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "plla_core", + .source_pll = "plla", + .cm_reg = CM_PLLA, +@@ -1702,6 +1723,7 @@ static const struct bcm2835_clk_desc clk + .fixed_divider = 1, + .flags = CLK_SET_RATE_PARENT), + [BCM2835_PLLA_PER] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "plla_per", + .source_pll = "plla", + .cm_reg = CM_PLLA, +@@ -1711,6 +1733,7 @@ static const struct bcm2835_clk_desc clk + .fixed_divider = 1, + .flags = CLK_SET_RATE_PARENT), + [BCM2835_PLLA_DSI0] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "plla_dsi0", + .source_pll = "plla", + .cm_reg = CM_PLLA, +@@ -1719,6 +1742,7 @@ static const struct bcm2835_clk_desc clk + .hold_mask = CM_PLLA_HOLDDSI0, + .fixed_divider = 1), + [BCM2835_PLLA_CCP2] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "plla_ccp2", + .source_pll = "plla", + .cm_reg = CM_PLLA, +@@ -1730,6 +1754,7 @@ static const struct bcm2835_clk_desc clk + + /* PLLB is used for the ARM's clock. */ + [BCM2835_PLLB] = REGISTER_PLL( ++ SOC_ALL, + .name = "pllb", + .cm_ctrl_reg = CM_PLLB, + .a2w_ctrl_reg = A2W_PLLB_CTRL, +@@ -1744,6 +1769,7 @@ static const struct bcm2835_clk_desc clk + .max_rate = 3000000000u, + .max_fb_rate = BCM2835_MAX_FB_RATE), + [BCM2835_PLLB_ARM] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "pllb_arm", + .source_pll = "pllb", + .cm_reg = CM_PLLB, +@@ -1760,6 +1786,7 @@ static const struct bcm2835_clk_desc clk + * AUDIO domain is on. + */ + [BCM2835_PLLC] = REGISTER_PLL( ++ SOC_ALL, + .name = "pllc", + .cm_ctrl_reg = CM_PLLC, + .a2w_ctrl_reg = A2W_PLLC_CTRL, +@@ -1774,6 +1801,7 @@ static const struct bcm2835_clk_desc clk + .max_rate = 3000000000u, + .max_fb_rate = BCM2835_MAX_FB_RATE), + [BCM2835_PLLC_CORE0] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "pllc_core0", + .source_pll = "pllc", + .cm_reg = CM_PLLC, +@@ -1783,6 +1811,7 @@ static const struct bcm2835_clk_desc clk + .fixed_divider = 1, + .flags = CLK_SET_RATE_PARENT), + [BCM2835_PLLC_CORE1] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "pllc_core1", + .source_pll = "pllc", + .cm_reg = CM_PLLC, +@@ -1792,6 +1821,7 @@ static const struct bcm2835_clk_desc clk + .fixed_divider = 1, + .flags = CLK_SET_RATE_PARENT), + [BCM2835_PLLC_CORE2] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "pllc_core2", + .source_pll = "pllc", + .cm_reg = CM_PLLC, +@@ -1801,6 +1831,7 @@ static const struct bcm2835_clk_desc clk + .fixed_divider = 1, + .flags = CLK_SET_RATE_PARENT), + [BCM2835_PLLC_PER] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "pllc_per", + .source_pll = "pllc", + .cm_reg = CM_PLLC, +@@ -1817,6 +1848,7 @@ static const struct bcm2835_clk_desc clk + * AUDIO domain is on. + */ + [BCM2835_PLLD] = REGISTER_PLL( ++ SOC_ALL, + .name = "plld", + .cm_ctrl_reg = CM_PLLD, + .a2w_ctrl_reg = A2W_PLLD_CTRL, +@@ -1831,6 +1863,7 @@ static const struct bcm2835_clk_desc clk + .max_rate = 2400000000u, + .max_fb_rate = BCM2835_MAX_FB_RATE), + [BCM2835_PLLD_CORE] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "plld_core", + .source_pll = "plld", + .cm_reg = CM_PLLD, +@@ -1840,6 +1873,7 @@ static const struct bcm2835_clk_desc clk + .fixed_divider = 1, + .flags = CLK_SET_RATE_PARENT), + [BCM2835_PLLD_PER] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "plld_per", + .source_pll = "plld", + .cm_reg = CM_PLLD, +@@ -1849,6 +1883,7 @@ static const struct bcm2835_clk_desc clk + .fixed_divider = 1, + .flags = CLK_SET_RATE_PARENT), + [BCM2835_PLLD_DSI0] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "plld_dsi0", + .source_pll = "plld", + .cm_reg = CM_PLLD, +@@ -1857,6 +1892,7 @@ static const struct bcm2835_clk_desc clk + .hold_mask = CM_PLLD_HOLDDSI0, + .fixed_divider = 1), + [BCM2835_PLLD_DSI1] = REGISTER_PLL_DIV( ++ SOC_ALL, + .name = "plld_dsi1", + .source_pll = "plld", + .cm_reg = CM_PLLD, +@@ -1872,6 +1908,7 @@ static const struct bcm2835_clk_desc clk + * It is in the HDMI power domain. + */ + [BCM2835_PLLH] = REGISTER_PLL( ++ SOC_BCM2835, + "pllh", + .cm_ctrl_reg = CM_PLLH, + .a2w_ctrl_reg = A2W_PLLH_CTRL, +@@ -1886,6 +1923,7 @@ static const struct bcm2835_clk_desc clk + .max_rate = 3000000000u, + .max_fb_rate = BCM2835_MAX_FB_RATE), + [BCM2835_PLLH_RCAL] = REGISTER_PLL_DIV( ++ SOC_BCM2835, + .name = "pllh_rcal", + .source_pll = "pllh", + .cm_reg = CM_PLLH, +@@ -1895,6 +1933,7 @@ static const struct bcm2835_clk_desc clk + .fixed_divider = 10, + .flags = CLK_SET_RATE_PARENT), + [BCM2835_PLLH_AUX] = REGISTER_PLL_DIV( ++ SOC_BCM2835, + .name = "pllh_aux", + .source_pll = "pllh", + .cm_reg = CM_PLLH, +@@ -1904,6 +1943,7 @@ static const struct bcm2835_clk_desc clk + .fixed_divider = 1, + .flags = CLK_SET_RATE_PARENT), + [BCM2835_PLLH_PIX] = REGISTER_PLL_DIV( ++ SOC_BCM2835, + .name = "pllh_pix", + .source_pll = "pllh", + .cm_reg = CM_PLLH, +@@ -1919,6 +1959,7 @@ static const struct bcm2835_clk_desc clk + + /* One Time Programmable Memory clock. Maximum 10Mhz. */ + [BCM2835_CLOCK_OTP] = REGISTER_OSC_CLK( ++ SOC_ALL, + .name = "otp", + .ctl_reg = CM_OTPCTL, + .div_reg = CM_OTPDIV, +@@ -1930,6 +1971,7 @@ static const struct bcm2835_clk_desc clk + * bythe watchdog timer and the camera pulse generator. + */ + [BCM2835_CLOCK_TIMER] = REGISTER_OSC_CLK( ++ SOC_ALL, + .name = "timer", + .ctl_reg = CM_TIMERCTL, + .div_reg = CM_TIMERDIV, +@@ -1940,12 +1982,14 @@ static const struct bcm2835_clk_desc clk + * Generally run at 2Mhz, max 5Mhz. + */ + [BCM2835_CLOCK_TSENS] = REGISTER_OSC_CLK( ++ SOC_ALL, + .name = "tsens", + .ctl_reg = CM_TSENSCTL, + .div_reg = CM_TSENSDIV, + .int_bits = 5, + .frac_bits = 0), + [BCM2835_CLOCK_TEC] = REGISTER_OSC_CLK( ++ SOC_ALL, + .name = "tec", + .ctl_reg = CM_TECCTL, + .div_reg = CM_TECDIV, +@@ -1954,6 +1998,7 @@ static const struct bcm2835_clk_desc clk + + /* clocks with vpu parent mux */ + [BCM2835_CLOCK_H264] = REGISTER_VPU_CLK( ++ SOC_ALL, + .name = "h264", + .ctl_reg = CM_H264CTL, + .div_reg = CM_H264DIV, +@@ -1961,6 +2006,7 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 8, + .tcnt_mux = 1), + [BCM2835_CLOCK_ISP] = REGISTER_VPU_CLK( ++ SOC_ALL, + .name = "isp", + .ctl_reg = CM_ISPCTL, + .div_reg = CM_ISPDIV, +@@ -1973,6 +2019,7 @@ static const struct bcm2835_clk_desc clk + * in the SDRAM controller can't be used. + */ + [BCM2835_CLOCK_SDRAM] = REGISTER_VPU_CLK( ++ SOC_ALL, + .name = "sdram", + .ctl_reg = CM_SDCCTL, + .div_reg = CM_SDCDIV, +@@ -1980,6 +2027,7 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 0, + .tcnt_mux = 3), + [BCM2835_CLOCK_V3D] = REGISTER_VPU_CLK( ++ SOC_ALL, + .name = "v3d", + .ctl_reg = CM_V3DCTL, + .div_reg = CM_V3DDIV, +@@ -1993,6 +2041,7 @@ static const struct bcm2835_clk_desc clk + * in various hardware documentation. + */ + [BCM2835_CLOCK_VPU] = REGISTER_VPU_CLK( ++ SOC_ALL, + .name = "vpu", + .ctl_reg = CM_VPUCTL, + .div_reg = CM_VPUDIV, +@@ -2004,6 +2053,7 @@ static const struct bcm2835_clk_desc clk + + /* clocks with per parent mux */ + [BCM2835_CLOCK_AVEO] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "aveo", + .ctl_reg = CM_AVEOCTL, + .div_reg = CM_AVEODIV, +@@ -2011,6 +2061,7 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 0, + .tcnt_mux = 38), + [BCM2835_CLOCK_CAM0] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "cam0", + .ctl_reg = CM_CAM0CTL, + .div_reg = CM_CAM0DIV, +@@ -2018,6 +2069,7 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 8, + .tcnt_mux = 14), + [BCM2835_CLOCK_CAM1] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "cam1", + .ctl_reg = CM_CAM1CTL, + .div_reg = CM_CAM1DIV, +@@ -2025,12 +2077,14 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 8, + .tcnt_mux = 15), + [BCM2835_CLOCK_DFT] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "dft", + .ctl_reg = CM_DFTCTL, + .div_reg = CM_DFTDIV, + .int_bits = 5, + .frac_bits = 0), + [BCM2835_CLOCK_DPI] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "dpi", + .ctl_reg = CM_DPICTL, + .div_reg = CM_DPIDIV, +@@ -2040,6 +2094,7 @@ static const struct bcm2835_clk_desc clk + + /* Arasan EMMC clock */ + [BCM2835_CLOCK_EMMC] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "emmc", + .ctl_reg = CM_EMMCCTL, + .div_reg = CM_EMMCDIV, +@@ -2049,6 +2104,7 @@ static const struct bcm2835_clk_desc clk + + /* General purpose (GPIO) clocks */ + [BCM2835_CLOCK_GP0] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "gp0", + .ctl_reg = CM_GP0CTL, + .div_reg = CM_GP0DIV, +@@ -2057,6 +2113,7 @@ static const struct bcm2835_clk_desc clk + .is_mash_clock = true, + .tcnt_mux = 20), + [BCM2835_CLOCK_GP1] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "gp1", + .ctl_reg = CM_GP1CTL, + .div_reg = CM_GP1DIV, +@@ -2066,6 +2123,7 @@ static const struct bcm2835_clk_desc clk + .is_mash_clock = true, + .tcnt_mux = 21), + [BCM2835_CLOCK_GP2] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "gp2", + .ctl_reg = CM_GP2CTL, + .div_reg = CM_GP2DIV, +@@ -2075,6 +2133,7 @@ static const struct bcm2835_clk_desc clk + + /* HDMI state machine */ + [BCM2835_CLOCK_HSM] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "hsm", + .ctl_reg = CM_HSMCTL, + .div_reg = CM_HSMDIV, +@@ -2082,6 +2141,7 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 8, + .tcnt_mux = 22), + [BCM2835_CLOCK_PCM] = REGISTER_PCM_CLK( ++ SOC_ALL, + .name = "pcm", + .ctl_reg = CM_PCMCTL, + .div_reg = CM_PCMDIV, +@@ -2091,6 +2151,7 @@ static const struct bcm2835_clk_desc clk + .low_jitter = true, + .tcnt_mux = 23), + [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "pwm", + .ctl_reg = CM_PWMCTL, + .div_reg = CM_PWMDIV, +@@ -2099,6 +2160,7 @@ static const struct bcm2835_clk_desc clk + .is_mash_clock = true, + .tcnt_mux = 24), + [BCM2835_CLOCK_SLIM] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "slim", + .ctl_reg = CM_SLIMCTL, + .div_reg = CM_SLIMDIV, +@@ -2107,6 +2169,7 @@ static const struct bcm2835_clk_desc clk + .is_mash_clock = true, + .tcnt_mux = 25), + [BCM2835_CLOCK_SMI] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "smi", + .ctl_reg = CM_SMICTL, + .div_reg = CM_SMIDIV, +@@ -2114,6 +2177,7 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 8, + .tcnt_mux = 27), + [BCM2835_CLOCK_UART] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "uart", + .ctl_reg = CM_UARTCTL, + .div_reg = CM_UARTDIV, +@@ -2123,6 +2187,7 @@ static const struct bcm2835_clk_desc clk + + /* TV encoder clock. Only operating frequency is 108Mhz. */ + [BCM2835_CLOCK_VEC] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "vec", + .ctl_reg = CM_VECCTL, + .div_reg = CM_VECDIV, +@@ -2137,6 +2202,7 @@ static const struct bcm2835_clk_desc clk + + /* dsi clocks */ + [BCM2835_CLOCK_DSI0E] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "dsi0e", + .ctl_reg = CM_DSI0ECTL, + .div_reg = CM_DSI0EDIV, +@@ -2144,6 +2210,7 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 8, + .tcnt_mux = 18), + [BCM2835_CLOCK_DSI1E] = REGISTER_PER_CLK( ++ SOC_ALL, + .name = "dsi1e", + .ctl_reg = CM_DSI1ECTL, + .div_reg = CM_DSI1EDIV, +@@ -2151,6 +2218,7 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 8, + .tcnt_mux = 19), + [BCM2835_CLOCK_DSI0P] = REGISTER_DSI0_CLK( ++ SOC_ALL, + .name = "dsi0p", + .ctl_reg = CM_DSI0PCTL, + .div_reg = CM_DSI0PDIV, +@@ -2158,6 +2226,7 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 0, + .tcnt_mux = 12), + [BCM2835_CLOCK_DSI1P] = REGISTER_DSI1_CLK( ++ SOC_ALL, + .name = "dsi1p", + .ctl_reg = CM_DSI1PCTL, + .div_reg = CM_DSI1PDIV, +@@ -2174,6 +2243,7 @@ static const struct bcm2835_clk_desc clk + * non-stop vpu clock. + */ + [BCM2835_CLOCK_PERI_IMAGE] = REGISTER_GATE( ++ SOC_ALL, + .name = "peri_image", + .parent = "vpu", + .ctl_reg = CM_PERIICTL), +@@ -2221,11 +2291,16 @@ static int bcm2835_clk_probe(struct plat + struct resource *res; + const struct bcm2835_clk_desc *desc; + const size_t asize = ARRAY_SIZE(clk_desc_array); ++ const struct cprman_plat_data *pdata; + struct device_node *fw_node; + size_t i; + u32 clk_id; + int ret; + ++ pdata = of_device_get_match_data(&pdev->dev); ++ if (!pdata) ++ return -ENODEV; ++ + cprman = devm_kzalloc(dev, + struct_size(cprman, onecell.hws, asize), + GFP_KERNEL); +@@ -2276,8 +2351,10 @@ static int bcm2835_clk_probe(struct plat + + for (i = 0; i < asize; i++) { + desc = &clk_desc_array[i]; +- if (desc->clk_register && desc->data) ++ if (desc->clk_register && desc->data && ++ (desc->supported & pdata->soc)) { + hws[i] = desc->clk_register(cprman, desc->data); ++ } + } + + ret = bcm2835_mark_sdc_parent_critical(hws[BCM2835_CLOCK_SDRAM]->clk); +@@ -2295,8 +2372,12 @@ static int bcm2835_clk_probe(struct plat + return 0; + } + ++static const struct cprman_plat_data cprman_bcm2835_plat_data = { ++ .soc = SOC_BCM2835, ++}; ++ + static const struct of_device_id bcm2835_clk_of_match[] = { +- { .compatible = "brcm,bcm2835-cprman", }, ++ { .compatible = "brcm,bcm2835-cprman", .data = &cprman_bcm2835_plat_data }, + {} + }; + MODULE_DEVICE_TABLE(of, bcm2835_clk_of_match); diff --git a/target/linux/brcm2708/patches-4.19/950-0717-clk-bcm2835-Add-BCM2711_CLOCK_EMMC2-support.patch b/target/linux/brcm2708/patches-4.19/950-0717-clk-bcm2835-Add-BCM2711_CLOCK_EMMC2-support.patch new file mode 100644 index 000000000..8d4b7c9e0 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0717-clk-bcm2835-Add-BCM2711_CLOCK_EMMC2-support.patch @@ -0,0 +1,91 @@ +From b4c6046e1c55ddf211215191be9ea6316238889b Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Fri, 20 Sep 2019 07:27:03 +0200 +Subject: [PATCH] clk: bcm2835: Add BCM2711_CLOCK_EMMC2 support + +commit 42de9ad400afadd41ee027b5feef234a2d2918b9 upstream. + +The new BCM2711 supports an additional clock for the emmc2 block. +So add a new compatible and register this clock only for BCM2711. + +Signed-off-by: Stefan Wahren +Reviewed-by: Matthias Brugger +Acked-by: Eric Anholt +Reviewed-by: Eric Anholt +--- + arch/arm/boot/dts/bcm2838.dtsi | 1 + + drivers/clk/bcm/clk-bcm2835.c | 20 +++++++++++++++++++- + include/dt-bindings/clock/bcm2835.h | 2 ++ + 3 files changed, 22 insertions(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/bcm2838.dtsi ++++ b/arch/arm/boot/dts/bcm2838.dtsi +@@ -210,7 +210,7 @@ + compatible = "brcm,bcm2711-emmc2"; + status = "okay"; + interrupts = ; +- clocks = <&clocks BCM2838_CLOCK_EMMC2>; ++ clocks = <&clocks BCM2711_CLOCK_EMMC2>; + reg = <0x7e340000 0x100>; + }; + +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -124,6 +124,8 @@ + #define CM_AVEODIV 0x1bc + #define CM_EMMCCTL 0x1c0 + #define CM_EMMCDIV 0x1c4 ++#define CM_EMMC2CTL 0x1d0 ++#define CM_EMMC2DIV 0x1d4 + + /* General bits for the CM_*CTL regs */ + # define CM_ENABLE BIT(4) +@@ -302,7 +304,8 @@ + #define VCMSG_ID_CORE_CLOCK 4 + + #define SOC_BCM2835 BIT(0) +-#define SOC_ALL (SOC_BCM2835) ++#define SOC_BCM2711 BIT(1) ++#define SOC_ALL (SOC_BCM2835 | SOC_BCM2711) + + /* + * Names of clocks used within the driver that need to be replaced +@@ -2102,6 +2105,16 @@ static const struct bcm2835_clk_desc clk + .frac_bits = 8, + .tcnt_mux = 39), + ++ /* EMMC2 clock (only available for BCM2711) */ ++ [BCM2711_CLOCK_EMMC2] = REGISTER_PER_CLK( ++ SOC_BCM2711, ++ .name = "emmc2", ++ .ctl_reg = CM_EMMC2CTL, ++ .div_reg = CM_EMMC2DIV, ++ .int_bits = 4, ++ .frac_bits = 8, ++ .tcnt_mux = 42), ++ + /* General purpose (GPIO) clocks */ + [BCM2835_CLOCK_GP0] = REGISTER_PER_CLK( + SOC_ALL, +@@ -2376,8 +2389,13 @@ static const struct cprman_plat_data cpr + .soc = SOC_BCM2835, + }; + ++static const struct cprman_plat_data cprman_bcm2711_plat_data = { ++ .soc = SOC_BCM2711, ++}; ++ + static const struct of_device_id bcm2835_clk_of_match[] = { + { .compatible = "brcm,bcm2835-cprman", .data = &cprman_bcm2835_plat_data }, ++ { .compatible = "brcm,bcm2711-cprman", .data = &cprman_bcm2711_plat_data }, + {} + }; + MODULE_DEVICE_TABLE(of, bcm2835_clk_of_match); +--- a/include/dt-bindings/clock/bcm2835.h ++++ b/include/dt-bindings/clock/bcm2835.h +@@ -66,3 +66,5 @@ + #define BCM2835_CLOCK_DSI1E 48 + #define BCM2835_CLOCK_DSI0P 49 + #define BCM2835_CLOCK_DSI1P 50 ++ ++#define BCM2711_CLOCK_EMMC2 51 diff --git a/target/linux/brcm2708/patches-4.19/950-0718-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch b/target/linux/brcm2708/patches-4.19/950-0718-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch new file mode 100644 index 000000000..eac69b44a --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0718-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch @@ -0,0 +1,71 @@ +From 30972497979c65781bb8170743447b45b6dfd3cd Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Thu, 19 Sep 2019 20:45:30 +0200 +Subject: [PATCH] ARM: bcm: Switch board, clk and pinctrl to bcm2711 + compatible + +After the decision to use bcm2711 compatible for upstream, we should +switch all accepted compatibles to bcm2711. So we can boot with +one DTB the down- and the upstream kernel. + +Signed-off-by: Stefan Wahren +--- + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 2 +- + arch/arm/boot/dts/bcm2838-rpi-4-b.dts | 2 +- + arch/arm/boot/dts/bcm2838.dtsi | 4 ++-- + arch/arm/mach-bcm/board_bcm2835.c | 2 +- + 4 files changed, 5 insertions(+), 5 deletions(-) + +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -5,7 +5,7 @@ + #include "bcm283x-rpi-csi1-2lane.dtsi" + + / { +- compatible = "raspberrypi,4-model-b", "brcm,bcm2838"; ++ compatible = "raspberrypi,4-model-b", "brcm,bcm2711"; + model = "Raspberry Pi 4 Model B"; + + memory@0 { +--- a/arch/arm/boot/dts/bcm2838-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2838-rpi-4-b.dts +@@ -5,7 +5,7 @@ + #include "bcm2838-rpi.dtsi" + + / { +- compatible = "raspberrypi,4-model-b", "brcm,bcm2838"; ++ compatible = "raspberrypi,4-model-b", "brcm,bcm2711"; + model = "Raspberry Pi 4 Model B"; + + chosen { +--- a/arch/arm/boot/dts/bcm2838.dtsi ++++ b/arch/arm/boot/dts/bcm2838.dtsi +@@ -440,7 +440,7 @@ + }; + + &clocks { +- compatible = "brcm,bcm2838-cprman"; ++ compatible = "brcm,bcm2711-cprman"; + }; + + &cpu_thermal { +@@ -456,7 +456,7 @@ + }; + + &gpio { +- compatible = "brcm,bcm2838-gpio", "brcm,bcm2835-gpio"; ++ compatible = "brcm,bcm2711-gpio", "brcm,bcm2835-gpio"; + + gpclk0_gpio49: gpclk0_gpio49 { + brcm,pins = <49>; +--- a/arch/arm/mach-bcm/board_bcm2835.c ++++ b/arch/arm/mach-bcm/board_bcm2835.c +@@ -118,7 +118,7 @@ static const char * const bcm2835_compat + #ifdef CONFIG_ARCH_MULTI_V7 + "brcm,bcm2836", + "brcm,bcm2837", +- "brcm,bcm2838", ++ "brcm,bcm2711", + #endif + NULL + }; diff --git a/target/linux/brcm2708/patches-4.19/950-0719-pinctrl-bcm2835-Switch-to-SPDX-identifier.patch b/target/linux/brcm2708/patches-4.19/950-0719-pinctrl-bcm2835-Switch-to-SPDX-identifier.patch new file mode 100644 index 000000000..e45c65724 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0719-pinctrl-bcm2835-Switch-to-SPDX-identifier.patch @@ -0,0 +1,62 @@ +From e60428993b9ba03e2389eeb61c4b5efaa80b9e05 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Sat, 10 Nov 2018 17:15:11 +0100 +Subject: [PATCH] pinctrl: bcm2835: Switch to SPDX identifier + +commit a62c36775ba873611b00b82ce7ebcd4ff2126111 upstream. + +Adopt the SPDX license identifier headers to ease license compliance +management. + +Cc: Simon Arlott +Cc: Stephen Warren +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +Signed-off-by: Linus Walleij +--- + drivers/pinctrl/bcm/pinctrl-bcm2835.c | 11 +---------- + include/dt-bindings/pinctrl/bcm2835.h | 8 +------- + 2 files changed, 2 insertions(+), 17 deletions(-) + +--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c ++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c +@@ -1,3 +1,4 @@ ++// SPDX-License-Identifier: GPL-2.0+ + /* + * Driver for Broadcom BCM2835 GPIO unit (pinctrl + GPIO) + * +@@ -6,16 +7,6 @@ + * This driver is inspired by: + * pinctrl-nomadik.c, please see original file for copyright information + * pinctrl-tegra.c, please see original file for copyright information +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. + */ + + #include +--- a/include/dt-bindings/pinctrl/bcm2835.h ++++ b/include/dt-bindings/pinctrl/bcm2835.h +@@ -1,14 +1,8 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ + /* + * Header providing constants for bcm2835 pinctrl bindings. + * + * Copyright (C) 2015 Stefan Wahren +- * +- * The code contained herein is licensed under the GNU General Public +- * License. You may obtain a copy of the GNU General Public License +- * Version 2 at the following locations: +- * +- * http://www.opensource.org/licenses/gpl-license.html +- * http://www.gnu.org/copyleft/gpl.html + */ + + #ifndef __DT_BINDINGS_PINCTRL_BCM2835_H__ diff --git a/target/linux/brcm2708/patches-4.19/950-0720-pinctrl-bcm2835-declare-pin-config-as-generic.patch b/target/linux/brcm2708/patches-4.19/950-0720-pinctrl-bcm2835-declare-pin-config-as-generic.patch new file mode 100644 index 000000000..d1ffc9b87 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0720-pinctrl-bcm2835-declare-pin-config-as-generic.patch @@ -0,0 +1,27 @@ +From 2729832886181a4f8bfe1e2c028a7bdb92004ce7 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Sun, 3 Feb 2019 14:02:33 +0100 +Subject: [PATCH] pinctrl: bcm2835: declare pin config as generic + +commit 1cb66f080c27349fbf87fb327d587b4b0b624fa3 upstream. + +Since commit 0de704955ee44 ("pinctrl: bcm2835: Add support for +generic pinctrl binding") this driver is capable to use the generic +interface. So declare this accordingly. + +Signed-off-by: Stefan Wahren +Signed-off-by: Linus Walleij +--- + drivers/pinctrl/bcm/pinctrl-bcm2835.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c ++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c +@@ -969,6 +969,7 @@ static int bcm2835_pinconf_set(struct pi + } + + static const struct pinconf_ops bcm2835_pinconf_ops = { ++ .is_generic = true, + .pin_config_get = bcm2835_pinconf_get, + .pin_config_set = bcm2835_pinconf_set, + }; diff --git a/target/linux/brcm2708/patches-4.19/950-0721-pinctrl-bcm2835-Direct-GPIO-config-changes-to-generi.patch b/target/linux/brcm2708/patches-4.19/950-0721-pinctrl-bcm2835-Direct-GPIO-config-changes-to-generi.patch new file mode 100644 index 000000000..e3d23010b --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0721-pinctrl-bcm2835-Direct-GPIO-config-changes-to-generi.patch @@ -0,0 +1,37 @@ +From 289685a9b369bda990c4f22bbc7659ad492e6dbb Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Sun, 3 Feb 2019 14:02:34 +0100 +Subject: [PATCH] pinctrl: bcm2835: Direct GPIO config changes to + generic pinctrl + +commit b6e5531c0f80de2779c87d0235b4fde5310a83b5 upstream. + +In order to support GPIO config changes direct these to the generic pinctrl. +This also requires an adjust of the return code for unsupported parameter +otherwise gpiod_configure_flags wont work as expected. + +Signed-off-by: Stefan Wahren +Signed-off-by: Linus Walleij +--- + drivers/pinctrl/bcm/pinctrl-bcm2835.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c ++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c +@@ -342,6 +342,7 @@ static const struct gpio_chip bcm2835_gp + .get = bcm2835_gpio_get, + .set = bcm2835_gpio_set, + .base = 0, ++ .set_config = gpiochip_generic_config, + .ngpio = BCM2835_NUM_GPIOS, + .can_sleep = false, + }; +@@ -960,7 +961,7 @@ static int bcm2835_pinconf_set(struct pi + break; + + default: +- return -EINVAL; ++ return -ENOTSUPP; + + } /* switch param type */ + } /* for each config */ diff --git a/target/linux/brcm2708/patches-4.19/950-0722-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch b/target/linux/brcm2708/patches-4.19/950-0722-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch new file mode 100644 index 000000000..e06247753 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0722-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch @@ -0,0 +1,183 @@ +From 268bd5b5557ccb0ac4eae998ad7c6261c240b89b Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Sun, 21 Jul 2019 16:01:36 +0200 +Subject: [PATCH] pinctrl: bcm2835: Add support for BCM2711 pull-up + functionality + +commit e38a9a437fb93ddafab5030165e4c6a3a5021669 upstream. + +The BCM2711 has a new way of selecting the pull-up/pull-down setting +for a GPIO pin. The registers used for the BCM2835, GP_PUD and +GP_PUDCLKn0, are no longer connected. A new set of registers, +GP_GPIO_PUP_PDN_CNTRL_REGx must be used. This commit will add +a new compatible string "brcm,bcm2711-gpio" and the kernel +driver will use it to select which method is used to select +pull-up/pull-down. + +This patch based on a patch by Al Cooper which was intended for the +BCM7211. This is a bugfixed and improved version. + +Signed-off-by: Stefan Wahren +Acked-by: Eric Anholt +--- + drivers/pinctrl/bcm/pinctrl-bcm2835.c | 105 ++++++++++++++++++++++++-- + 1 file changed, 100 insertions(+), 5 deletions(-) + +--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c ++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c +@@ -57,15 +57,24 @@ + #define GPAFEN0 0x88 /* Pin Async Falling Edge Detect */ + #define GPPUD 0x94 /* Pin Pull-up/down Enable */ + #define GPPUDCLK0 0x98 /* Pin Pull-up/down Enable Clock */ ++#define GP_GPIO_PUP_PDN_CNTRL_REG0 0xe4 /* 2711 Pin Pull-up/down select */ + + #define FSEL_REG(p) (GPFSEL0 + (((p) / 10) * 4)) + #define FSEL_SHIFT(p) (((p) % 10) * 3) + #define GPIO_REG_OFFSET(p) ((p) / 32) + #define GPIO_REG_SHIFT(p) ((p) % 32) + ++#define PUD_2711_MASK 0x3 ++#define PUD_2711_REG_OFFSET(p) ((p) / 16) ++#define PUD_2711_REG_SHIFT(p) (((p) % 16) * 2) ++ + /* argument: bcm2835_pinconf_pull */ + #define BCM2835_PINCONF_PARAM_PULL (PIN_CONFIG_END + 1) + ++#define BCM2711_PULL_NONE 0x0 ++#define BCM2711_PULL_UP 0x1 ++#define BCM2711_PULL_DOWN 0x2 ++ + struct bcm2835_pinctrl { + struct device *dev; + void __iomem *base; +@@ -975,6 +984,77 @@ static const struct pinconf_ops bcm2835_ + .pin_config_set = bcm2835_pinconf_set, + }; + ++static void bcm2711_pull_config_set(struct bcm2835_pinctrl *pc, ++ unsigned int pin, unsigned int arg) ++{ ++ u32 shifter; ++ u32 value; ++ u32 off; ++ ++ off = PUD_2711_REG_OFFSET(pin); ++ shifter = PUD_2711_REG_SHIFT(pin); ++ ++ value = bcm2835_gpio_rd(pc, GP_GPIO_PUP_PDN_CNTRL_REG0 + (off * 4)); ++ value &= ~(PUD_2711_MASK << shifter); ++ value |= (arg << shifter); ++ bcm2835_gpio_wr(pc, GP_GPIO_PUP_PDN_CNTRL_REG0 + (off * 4), value); ++} ++ ++static int bcm2711_pinconf_set(struct pinctrl_dev *pctldev, ++ unsigned int pin, unsigned long *configs, ++ unsigned int num_configs) ++{ ++ struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); ++ u32 param, arg; ++ int i; ++ ++ for (i = 0; i < num_configs; i++) { ++ param = pinconf_to_config_param(configs[i]); ++ arg = pinconf_to_config_argument(configs[i]); ++ ++ switch (param) { ++ /* convert legacy brcm,pull */ ++ case BCM2835_PINCONF_PARAM_PULL: ++ if (arg == BCM2835_PUD_UP) ++ arg = BCM2711_PULL_UP; ++ else if (arg == BCM2835_PUD_DOWN) ++ arg = BCM2711_PULL_DOWN; ++ else ++ arg = BCM2711_PULL_NONE; ++ ++ bcm2711_pull_config_set(pc, pin, arg); ++ break; ++ ++ /* Set pull generic bindings */ ++ case PIN_CONFIG_BIAS_DISABLE: ++ bcm2711_pull_config_set(pc, pin, BCM2711_PULL_NONE); ++ break; ++ case PIN_CONFIG_BIAS_PULL_DOWN: ++ bcm2711_pull_config_set(pc, pin, BCM2711_PULL_DOWN); ++ break; ++ case PIN_CONFIG_BIAS_PULL_UP: ++ bcm2711_pull_config_set(pc, pin, BCM2711_PULL_UP); ++ break; ++ ++ /* Set output-high or output-low */ ++ case PIN_CONFIG_OUTPUT: ++ bcm2835_gpio_set_bit(pc, arg ? GPSET0 : GPCLR0, pin); ++ break; ++ ++ default: ++ return -ENOTSUPP; ++ } ++ } /* for each config */ ++ ++ return 0; ++} ++ ++static const struct pinconf_ops bcm2711_pinconf_ops = { ++ .is_generic = true, ++ .pin_config_get = bcm2835_pinconf_get, ++ .pin_config_set = bcm2711_pinconf_set, ++}; ++ + static struct pinctrl_desc bcm2835_pinctrl_desc = { + .name = MODULE_NAME, + .pins = bcm2835_gpio_pins, +@@ -990,6 +1070,18 @@ static struct pinctrl_gpio_range bcm2835 + .npins = BCM2835_NUM_GPIOS, + }; + ++static const struct of_device_id bcm2835_pinctrl_match[] = { ++ { ++ .compatible = "brcm,bcm2835-gpio", ++ .data = &bcm2835_pinconf_ops, ++ }, ++ { ++ .compatible = "brcm,bcm2711-gpio", ++ .data = &bcm2711_pinconf_ops, ++ }, ++ {} ++}; ++ + static int bcm2835_pinctrl_probe(struct platform_device *pdev) + { + struct device *dev = &pdev->dev; +@@ -997,6 +1089,8 @@ static int bcm2835_pinctrl_probe(struct + struct bcm2835_pinctrl *pc; + struct resource iomem; + int err, i; ++ const struct of_device_id *match; ++ + BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_pins) != BCM2835_NUM_GPIOS); + BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_groups) != BCM2835_NUM_GPIOS); + +@@ -1073,6 +1167,12 @@ static int bcm2835_pinctrl_probe(struct + bcm2835_gpio_irq_handler); + } + ++ match = of_match_node(bcm2835_pinctrl_match, pdev->dev.of_node); ++ if (match) { ++ bcm2835_pinctrl_desc.confops = ++ (const struct pinconf_ops *)match->data; ++ } ++ + pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc); + if (IS_ERR(pc->pctl_dev)) { + gpiochip_remove(&pc->gpio_chip); +@@ -1087,11 +1187,6 @@ static int bcm2835_pinctrl_probe(struct + return 0; + } + +-static const struct of_device_id bcm2835_pinctrl_match[] = { +- { .compatible = "brcm,bcm2835-gpio" }, +- {} +-}; +- + static struct platform_driver bcm2835_pinctrl_driver = { + .probe = bcm2835_pinctrl_probe, + .driver = { diff --git a/target/linux/brcm2708/patches-4.19/950-0723-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch b/target/linux/brcm2708/patches-4.19/950-0723-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch new file mode 100644 index 000000000..fa3c3a633 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0723-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch @@ -0,0 +1,139 @@ +From 1ed6ab5bf2180bd96a78f27fde848f57f4d6b636 Mon Sep 17 00:00:00 2001 +From: James Hughes +Date: Tue, 24 Sep 2019 18:26:55 +0100 +Subject: [PATCH] Rename HDMI ALSA device names, check for enable state + +HDMI Alsa devices renamed to match names used by DRM, to +HDMI 1 and HDMI 2 + +Check for which HDMI devices are connected and only create +devices for those that are present. + +The rename of the devices might cause some backwards compatibility +issues, but since this particular part of the driver needs to be +specifically enabled, I suspect the number of people who will see +the problem will be very small. + +Signed-off-by: James Hughes +--- + .../vc04_services/bcm2835-audio/bcm2835.c | 70 +++++++++++++++++-- + 1 file changed, 63 insertions(+), 7 deletions(-) + +--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c ++++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c +@@ -9,8 +9,9 @@ + #include + + #include "bcm2835.h" ++#include + +-static bool enable_hdmi; ++static bool enable_hdmi, enable_hdmi0, enable_hdmi1; + static bool enable_headphones; + static bool enable_compat_alsa = true; + +@@ -115,8 +116,8 @@ static struct bcm2835_audio_driver bcm28 + .name = "bcm2835_hdmi", + .owner = THIS_MODULE, + }, +- .shortname = "bcm2835 HDMI", +- .longname = "bcm2835 HDMI", ++ .shortname = "bcm2835 HDMI 1", ++ .longname = "bcm2835 HDMI 1", + .minchannels = 1, + .newpcm = bcm2835_audio_simple_newpcm, + .newctl = snd_bcm2835_new_hdmi_ctl, +@@ -128,8 +129,8 @@ static struct bcm2835_audio_driver bcm28 + .name = "bcm2835_hdmi", + .owner = THIS_MODULE, + }, +- .shortname = "bcm2835 HDMI 1", +- .longname = "bcm2835 HDMI 1", ++ .shortname = "bcm2835 HDMI 2", ++ .longname = "bcm2835 HDMI 2", + .minchannels = 1, + .newpcm = bcm2835_audio_simple_newpcm, + .newctl = snd_bcm2835_new_hdmi_ctl, +@@ -161,11 +162,11 @@ static struct bcm2835_audio_drivers chil + }, + { + .audio_driver = &bcm2835_audio_hdmi0, +- .is_enabled = &enable_hdmi, ++ .is_enabled = &enable_hdmi0, + }, + { + .audio_driver = &bcm2835_audio_hdmi1, +- .is_enabled = &enable_hdmi, ++ .is_enabled = &enable_hdmi1, + }, + { + .audio_driver = &bcm2835_audio_headphones, +@@ -312,6 +313,53 @@ static int snd_add_child_devices(struct + return 0; + } + ++static void set_hdmi_enables(struct device *dev) ++{ ++ struct device_node *firmware_node; ++ struct rpi_firmware *firmware; ++ u32 num_displays, i, display_id; ++ int ret; ++ ++ firmware_node = of_parse_phandle(dev->of_node, "brcm,firmware", 0); ++ firmware = rpi_firmware_get(firmware_node); ++ ++ if (!firmware) ++ return; ++ ++ of_node_put(firmware_node); ++ ++ ret = rpi_firmware_property(firmware, ++ RPI_FIRMWARE_FRAMEBUFFER_GET_NUM_DISPLAYS, ++ &num_displays, sizeof(u32)); ++ ++ if (ret) ++ return; ++ ++ for (i = 0; i < num_displays; i++) { ++ display_id = i; ++ ret = rpi_firmware_property(firmware, ++ RPI_FIRMWARE_FRAMEBUFFER_GET_DISPLAY_ID, ++ &display_id, sizeof(display_id)); ++ if (!ret) { ++ if (display_id == 2) ++ enable_hdmi0 = true; ++ if (display_id == 7) ++ enable_hdmi1 = true; ++ } ++ } ++ ++ if (!enable_hdmi0 && enable_hdmi1) { ++ /* Swap them over and reassign route. This means ++ * that if we only have one connected, it is always named ++ * HDMI1, irrespective of if its on port HDMI0 or HDMI1. ++ * This should match with the naming of HDMI ports in DRM ++ */ ++ enable_hdmi0 = true; ++ enable_hdmi1 = false; ++ bcm2835_audio_hdmi0.route = AUDIO_DEST_HDMI1; ++ } ++} ++ + static int snd_bcm2835_alsa_probe(struct platform_device *pdev) + { + struct device *dev = &pdev->dev; +@@ -332,6 +380,14 @@ static int snd_bcm2835_alsa_probe(struct + numchans); + } + ++ if (!enable_compat_alsa) { ++ set_hdmi_enables(dev); ++ // In this mode, always enable analog output ++ enable_headphones = true; ++ } else { ++ enable_hdmi0 = enable_hdmi; ++ } ++ + err = bcm2835_devm_add_vchi_ctx(dev); + if (err) + return err; diff --git a/target/linux/brcm2708/patches-4.19/950-0724-pcie-brcmstb-bounce64.c-dev_err-dev_info-for-info-me.patch b/target/linux/brcm2708/patches-4.19/950-0724-pcie-brcmstb-bounce64.c-dev_err-dev_info-for-info-me.patch new file mode 100644 index 000000000..aefa3b856 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0724-pcie-brcmstb-bounce64.c-dev_err-dev_info-for-info-me.patch @@ -0,0 +1,25 @@ +From 592f7ebf2755acc81cd794b73916f3b2bcccaa68 Mon Sep 17 00:00:00 2001 +From: Floris Bos +Date: Fri, 4 Oct 2019 16:41:30 +0200 +Subject: [PATCH] pcie-brcmstb-bounce64.c: dev_err() -> dev_info() for + info messages + +"dmabounce: initialised" is not an error, so do not log it as such. +Prevents screen polution on OS with "quiet" as kernel parameter. + +Closes #3266 +--- + drivers/pci/controller/pcie-brcmstb-bounce64.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/pci/controller/pcie-brcmstb-bounce64.c ++++ b/drivers/pci/controller/pcie-brcmstb-bounce64.c +@@ -524,7 +524,7 @@ int brcm_pcie_bounce_init(struct device + + g_dmabounce_device_info = device_info; + +- dev_err(dev, "dmabounce: initialised - %ld kB, threshold %pad\n", ++ dev_info(dev, "dmabounce: initialised - %ld kB, threshold %pad\n", + buffer_size / 1024, &threshold); + + return 0; diff --git a/target/linux/brcm2708/patches-4.19/950-0725-overlays-gpio-shutdown-Add-debounce-parameter.patch b/target/linux/brcm2708/patches-4.19/950-0725-overlays-gpio-shutdown-Add-debounce-parameter.patch new file mode 100644 index 000000000..d928458b7 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0725-overlays-gpio-shutdown-Add-debounce-parameter.patch @@ -0,0 +1,48 @@ +From 499e28e3a38f0de843b07bf4bbf7692b07c5e3ba Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 7 Oct 2019 13:51:07 +0100 +Subject: [PATCH] overlays: gpio-shutdown: Add debounce parameter + +Give the gpio-shutdown overlay a debounce parameter that requires +the GPIO to be held at the relevant level for a specified number +of milliseconds. The default value is 100 - higher than the driver +default of 5ms to avoid unfortunate glitches. + +See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=253680 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/README | 3 +++ + arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts | 2 ++ + 2 files changed, 5 insertions(+) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -803,6 +803,9 @@ Params: gpio_pin GPIO pin + Note that the default pin (GPIO3) has an + external pullup. + ++ debounce Specify the debounce interval in milliseconds ++ (default 100) ++ + + Name: hd44780-lcd + Info: Configures an HD44780 compatible LCD display. Uses 4 gpio pins for +--- a/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts ++++ b/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts +@@ -53,6 +53,7 @@ + label = "shutdown"; + linux,code = <116>; // KEY_POWER + gpios = <&gpio 3 1>; ++ debounce-interval = <100>; // ms + }; + }; + }; +@@ -75,6 +76,7 @@ + + // Allow setting the active_low flag. 0 = active high, 1 = active low + active_low = <&button>,"gpios:8"; ++ debounce = <&button>,"debounce-interval:0"; + }; + + }; diff --git a/target/linux/brcm2708/patches-4.19/950-0726-overlays-fix-compatible-for-RPi4.patch b/target/linux/brcm2708/patches-4.19/950-0726-overlays-fix-compatible-for-RPi4.patch new file mode 100644 index 000000000..f11066f62 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0726-overlays-fix-compatible-for-RPi4.patch @@ -0,0 +1,204 @@ +From 8ad712b22e410a5d13bc6678fbee4a5b0ec9b518 Mon Sep 17 00:00:00 2001 +From: Matthias Brugger +Date: Wed, 2 Oct 2019 18:41:32 +0200 +Subject: [PATCH] overlays: fix compatible for RPi4 + +RPi4 compatible is now bcm2711, but some overlays refer to the SoC as +bcm2838. Fix this overlays as they otherwise won't apply. + +Signed-off-by: Matthias Brugger +--- + arch/arm/boot/dts/overlays/i2c3-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/i2c4-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/i2c5-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/i2c6-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/spi3-1cs-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/spi3-2cs-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/spi4-1cs-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/spi4-2cs-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/spi5-1cs-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/spi5-2cs-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/spi6-1cs-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/spi6-2cs-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/uart2-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/uart3-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/uart4-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/uart5-overlay.dts | 2 +- + 16 files changed, 16 insertions(+), 16 deletions(-) + +--- a/arch/arm/boot/dts/overlays/i2c3-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c3-overlay.dts +@@ -2,7 +2,7 @@ + /plugin/; + + /{ +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&i2c3>; +--- a/arch/arm/boot/dts/overlays/i2c4-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c4-overlay.dts +@@ -2,7 +2,7 @@ + /plugin/; + + /{ +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&i2c4>; +--- a/arch/arm/boot/dts/overlays/i2c5-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c5-overlay.dts +@@ -2,7 +2,7 @@ + /plugin/; + + /{ +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&i2c5>; +--- a/arch/arm/boot/dts/overlays/i2c6-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c6-overlay.dts +@@ -2,7 +2,7 @@ + /plugin/; + + /{ +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&i2c6>; +--- a/arch/arm/boot/dts/overlays/spi3-1cs-overlay.dts ++++ b/arch/arm/boot/dts/overlays/spi3-1cs-overlay.dts +@@ -3,7 +3,7 @@ + + + / { +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&spi3_cs_pins>; +--- a/arch/arm/boot/dts/overlays/spi3-2cs-overlay.dts ++++ b/arch/arm/boot/dts/overlays/spi3-2cs-overlay.dts +@@ -3,7 +3,7 @@ + + + / { +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&spi3_cs_pins>; +--- a/arch/arm/boot/dts/overlays/spi4-1cs-overlay.dts ++++ b/arch/arm/boot/dts/overlays/spi4-1cs-overlay.dts +@@ -3,7 +3,7 @@ + + + / { +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&spi4_cs_pins>; +--- a/arch/arm/boot/dts/overlays/spi4-2cs-overlay.dts ++++ b/arch/arm/boot/dts/overlays/spi4-2cs-overlay.dts +@@ -3,7 +3,7 @@ + + + / { +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&spi4_cs_pins>; +--- a/arch/arm/boot/dts/overlays/spi5-1cs-overlay.dts ++++ b/arch/arm/boot/dts/overlays/spi5-1cs-overlay.dts +@@ -3,7 +3,7 @@ + + + / { +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&spi5_cs_pins>; +--- a/arch/arm/boot/dts/overlays/spi5-2cs-overlay.dts ++++ b/arch/arm/boot/dts/overlays/spi5-2cs-overlay.dts +@@ -3,7 +3,7 @@ + + + / { +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&spi5_cs_pins>; +--- a/arch/arm/boot/dts/overlays/spi6-1cs-overlay.dts ++++ b/arch/arm/boot/dts/overlays/spi6-1cs-overlay.dts +@@ -3,7 +3,7 @@ + + + / { +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&spi6_cs_pins>; +--- a/arch/arm/boot/dts/overlays/spi6-2cs-overlay.dts ++++ b/arch/arm/boot/dts/overlays/spi6-2cs-overlay.dts +@@ -3,7 +3,7 @@ + + + / { +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&spi6_cs_pins>; +--- a/arch/arm/boot/dts/overlays/uart2-overlay.dts ++++ b/arch/arm/boot/dts/overlays/uart2-overlay.dts +@@ -2,7 +2,7 @@ + /plugin/; + + /{ +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&uart2>; +--- a/arch/arm/boot/dts/overlays/uart3-overlay.dts ++++ b/arch/arm/boot/dts/overlays/uart3-overlay.dts +@@ -2,7 +2,7 @@ + /plugin/; + + /{ +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&uart3>; +--- a/arch/arm/boot/dts/overlays/uart4-overlay.dts ++++ b/arch/arm/boot/dts/overlays/uart4-overlay.dts +@@ -2,7 +2,7 @@ + /plugin/; + + /{ +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&uart4>; +--- a/arch/arm/boot/dts/overlays/uart5-overlay.dts ++++ b/arch/arm/boot/dts/overlays/uart5-overlay.dts +@@ -2,7 +2,7 @@ + /plugin/; + + /{ +- compatible = "brcm,bcm2838"; ++ compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&uart5>; diff --git a/target/linux/brcm2708/patches-4.19/950-0727-bcm2711-Retain-support-for-old-dtbs.patch b/target/linux/brcm2708/patches-4.19/950-0727-bcm2711-Retain-support-for-old-dtbs.patch new file mode 100644 index 000000000..14f086c5c --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0727-bcm2711-Retain-support-for-old-dtbs.patch @@ -0,0 +1,55 @@ +From 7d7f6a80f12fb6e7ba903d070512970e304bcd02 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 9 Oct 2019 17:22:07 +0100 +Subject: [PATCH] bcm2711: Retain support for old dtbs + +The recent series switching to bcm2711 as the DT identifier broke Pis +running with old DTBs. Add some bcm2838 compatible strings as a +temporary measure, at least until the next full Raspbian image with +bcm2711 DTBs. + +See: https://github.com/raspberrypi/linux/pull/3244 + +Signed-off-by: Phil Elwell +--- + arch/arm/mach-bcm/board_bcm2835.c | 2 ++ + drivers/clk/bcm/clk-bcm2835.c | 2 ++ + drivers/pinctrl/bcm/pinctrl-bcm2835.c | 5 +++++ + 3 files changed, 9 insertions(+) + +--- a/arch/arm/mach-bcm/board_bcm2835.c ++++ b/arch/arm/mach-bcm/board_bcm2835.c +@@ -119,6 +119,8 @@ static const char * const bcm2835_compat + "brcm,bcm2836", + "brcm,bcm2837", + "brcm,bcm2711", ++ // Temporary, for backwards-compatibility with old DTBs ++ "brcm,bcm2838", + #endif + NULL + }; +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -2396,6 +2396,8 @@ static const struct cprman_plat_data cpr + static const struct of_device_id bcm2835_clk_of_match[] = { + { .compatible = "brcm,bcm2835-cprman", .data = &cprman_bcm2835_plat_data }, + { .compatible = "brcm,bcm2711-cprman", .data = &cprman_bcm2711_plat_data }, ++ // Temporary, for backwards-compatibility with old DTBs ++ { .compatible = "brcm,bcm2838-cprman", .data = &cprman_bcm2711_plat_data }, + {} + }; + MODULE_DEVICE_TABLE(of, bcm2835_clk_of_match); +--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c ++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c +@@ -1079,6 +1079,11 @@ static const struct of_device_id bcm2835 + .compatible = "brcm,bcm2711-gpio", + .data = &bcm2711_pinconf_ops, + }, ++ // Temporary, for backwards-compatibility with old DTBs ++ { ++ .compatible = "brcm,bcm2838-gpio", ++ .data = &bcm2711_pinconf_ops, ++ }, + {} + }; + diff --git a/target/linux/brcm2708/patches-4.19/950-0728-media-bcm2835-unicam-Add-support-for-raw14-formats.patch b/target/linux/brcm2708/patches-4.19/950-0728-media-bcm2835-unicam-Add-support-for-raw14-formats.patch new file mode 100644 index 000000000..f7fe151a2 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0728-media-bcm2835-unicam-Add-support-for-raw14-formats.patch @@ -0,0 +1,49 @@ +From 13b916fa2b8a99c9953073316e102e9d027dd708 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Wed, 2 Oct 2019 16:09:24 +0100 +Subject: [PATCH] media: bcm2835-unicam: Add support for raw14 formats + +The V4L2 has gained defines for V4L2_PIX_FMT_Sxxxx14P, +therefore add support for it to bcm2835-unicam. + +Signed-off-by: Dave Stevenson +--- + .../media/platform/bcm2835/bcm2835-unicam.c | 25 +++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +--- a/drivers/media/platform/bcm2835/bcm2835-unicam.c ++++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c +@@ -273,10 +273,31 @@ static const struct unicam_fmt formats[] + .code = MEDIA_BUS_FMT_SRGGB12_1X12, + .depth = 12, + .csi_dt = 0x2c, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SBGGR14P, ++ .code = MEDIA_BUS_FMT_SBGGR14_1X14, ++ .depth = 14, ++ .csi_dt = 0x2d, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGBRG14P, ++ .code = MEDIA_BUS_FMT_SGBRG14_1X14, ++ .depth = 14, ++ .csi_dt = 0x2d, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGRBG14P, ++ .code = MEDIA_BUS_FMT_SGRBG14_1X14, ++ .depth = 14, ++ .csi_dt = 0x2d, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SRGGB14P, ++ .code = MEDIA_BUS_FMT_SRGGB14_1X14, ++ .depth = 14, ++ .csi_dt = 0x2d, + }, + /* +- * 14 and 16 bit Bayer formats could be supported, but there are no V4L2 +- * defines for 14bit packed Bayer, and no CSI2 data_type for raw 16. ++ * 16 bit Bayer formats could be supported, but there is no CSI2 ++ * data_type defined for raw 16, and no sensors that produce it at ++ * present. + */ + }; + diff --git a/target/linux/brcm2708/patches-4.19/950-0729-media-bcm2835-unicam-Rework-to-not-cache-the-list-of.patch b/target/linux/brcm2708/patches-4.19/950-0729-media-bcm2835-unicam-Rework-to-not-cache-the-list-of.patch new file mode 100644 index 000000000..3a638710f --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0729-media-bcm2835-unicam-Rework-to-not-cache-the-list-of.patch @@ -0,0 +1,387 @@ +From 2c51b8e533a8b43bde18072c9dbbd0fc5084bbe7 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Wed, 2 Oct 2019 17:40:38 +0100 +Subject: [PATCH] media: bcm2835-unicam: Rework to not cache the list + of active fmts + +Some sensors will change Bayer order based on H & V flips, +therefore collecting the list of formats at async_bound has +problems. + +Enumerate the formats from the sensor every time. + +Signed-off-by: Dave Stevenson +--- + .../media/platform/bcm2835/bcm2835-unicam.c | 246 ++++++++++-------- + 1 file changed, 136 insertions(+), 110 deletions(-) + +--- a/drivers/media/platform/bcm2835/bcm2835-unicam.c ++++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c +@@ -363,8 +363,6 @@ struct unicam_device { + /* Used to store current mbus frame format */ + struct v4l2_mbus_framefmt m_fmt; + +- struct unicam_fmt active_fmts[MAX_POSSIBLE_PIX_FMTS]; +- int num_active_fmt; + unsigned int virtual_channel; + enum v4l2_mbus_type bus_type; + /* +@@ -455,48 +453,30 @@ static int find_mbus_depth_by_code(u32 c + return 0; + } + +-static const struct unicam_fmt *find_format_by_code(struct unicam_device *dev, +- u32 code) ++static const struct unicam_fmt *find_format_by_code(u32 code) + { +- const struct unicam_fmt *fmt; + unsigned int k; + +- for (k = 0; k < dev->num_active_fmt; k++) { +- fmt = &dev->active_fmts[k]; +- if (fmt->code == code) +- return fmt; ++ for (k = 0; k < ARRAY_SIZE(formats); k++) { ++ if (formats[k].code == code) ++ return &formats[k]; + } + + return NULL; + } + +-static const struct unicam_fmt *find_format_by_pix(struct unicam_device *dev, +- u32 pixelformat) ++static const struct unicam_fmt *find_format_by_pix(u32 pixelformat) + { +- const struct unicam_fmt *fmt; + unsigned int k; + +- for (k = 0; k < dev->num_active_fmt; k++) { +- fmt = &dev->active_fmts[k]; +- if (fmt->fourcc == pixelformat) +- return fmt; ++ for (k = 0; k < ARRAY_SIZE(formats); k++) { ++ if (formats[k].fourcc == pixelformat) ++ return &formats[k]; + } + + return NULL; + } + +-static void dump_active_formats(struct unicam_device *dev) +-{ +- int i; +- +- for (i = 0; i < dev->num_active_fmt; i++) { +- unicam_dbg(3, dev, "active_fmt[%d] (%p) is code %04x, fourcc " V4L2_FOURCC_CONV ", depth %d\n", +- i, &dev->active_fmts[i], dev->active_fmts[i].code, +- V4L2_FOURCC_CONV_ARGS(dev->active_fmts[i].fourcc), +- dev->active_fmts[i].depth); +- } +-} +- + static inline unsigned int bytes_per_line(u32 width, + const struct unicam_fmt *fmt) + { +@@ -726,14 +706,40 @@ static int unicam_enum_fmt_vid_cap(struc + struct v4l2_fmtdesc *f) + { + struct unicam_device *dev = video_drvdata(file); ++ struct v4l2_subdev_mbus_code_enum mbus_code; + const struct unicam_fmt *fmt = NULL; ++ int index = 0; ++ int ret = 0; ++ int i; + +- if (f->index >= dev->num_active_fmt) +- return -EINVAL; ++ /* Loop whilst the sensor driver says it has more formats, but add a ++ * failsafe against a dodgy driver at 128 (more than any sensor will ++ * ever sensibly advertise) ++ */ ++ for (i = 0; !ret && i < 128 ; i++) { ++ memset(&mbus_code, 0, sizeof(mbus_code)); ++ mbus_code.index = i; + +- fmt = &dev->active_fmts[f->index]; ++ ret = v4l2_subdev_call(dev->sensor, pad, enum_mbus_code, ++ NULL, &mbus_code); ++ if (ret < 0) { ++ unicam_dbg(2, dev, ++ "subdev->enum_mbus_code idx %d returned %d - index invalid\n", ++ i, ret); ++ return -EINVAL; ++ } + +- f->pixelformat = fmt->fourcc; ++ fmt = find_format_by_code(mbus_code.code); ++ if (fmt) { ++ if (fmt->fourcc) { ++ if (index == f->index) { ++ f->pixelformat = fmt->fourcc; ++ break; ++ } ++ index++; ++ } ++ } ++ } + + return 0; + } +@@ -748,6 +754,39 @@ static int unicam_g_fmt_vid_cap(struct f + return 0; + } + ++static ++const struct unicam_fmt *get_first_supported_format(struct unicam_device *dev) ++{ ++ struct v4l2_subdev_mbus_code_enum mbus_code; ++ const struct unicam_fmt *fmt = NULL; ++ int ret; ++ int j; ++ ++ for (j = 0; ret != -EINVAL && ret != -ENOIOCTLCMD; ++j) { ++ memset(&mbus_code, 0, sizeof(mbus_code)); ++ mbus_code.index = j; ++ ret = v4l2_subdev_call(dev->sensor, pad, enum_mbus_code, NULL, ++ &mbus_code); ++ if (ret < 0) { ++ unicam_dbg(2, dev, ++ "subdev->enum_mbus_code idx %d returned %d - continue\n", ++ j, ret); ++ continue; ++ } ++ ++ unicam_dbg(2, dev, "subdev %s: code: %04x idx: %d\n", ++ dev->sensor->name, mbus_code.code, j); ++ ++ fmt = find_format_by_code(mbus_code.code); ++ unicam_dbg(2, dev, "fmt %04x returned as %p, V4L2 FOURCC %04x, csi_dt %02X\n", ++ mbus_code.code, fmt, fmt ? fmt->fourcc : 0, ++ fmt ? fmt->csi_dt : 0); ++ if (fmt) ++ return fmt; ++ } ++ ++ return NULL; ++} + static int unicam_try_fmt_vid_cap(struct file *file, void *priv, + struct v4l2_format *f) + { +@@ -759,13 +798,15 @@ static int unicam_try_fmt_vid_cap(struct + struct v4l2_mbus_framefmt *mbus_fmt = &sd_fmt.format; + int ret; + +- fmt = find_format_by_pix(dev, f->fmt.pix.pixelformat); ++ fmt = find_format_by_pix(f->fmt.pix.pixelformat); + if (!fmt) { +- unicam_dbg(3, dev, "Fourcc format (0x%08x) not found. Use default of %08X\n", +- f->fmt.pix.pixelformat, dev->active_fmts[0].fourcc); ++ /* Pixel format not supported by unicam. Choose the first ++ * supported format, and let the sensor choose something else. ++ */ ++ unicam_dbg(3, dev, "Fourcc format (0x%08x) not found. Use first format.\n", ++ f->fmt.pix.pixelformat); + +- /* Just get the first one enumerated */ +- fmt = &dev->active_fmts[0]; ++ fmt = &formats[0]; + f->fmt.pix.pixelformat = fmt->fourcc; + } + +@@ -785,6 +826,40 @@ static int unicam_try_fmt_vid_cap(struct + unicam_info(dev, "Sensor trying to send interlaced video - results may be unpredictable\n"); + + v4l2_fill_pix_format(&f->fmt.pix, &sd_fmt.format); ++ if (mbus_fmt->code != fmt->code) { ++ /* Sensor has returned an alternate format */ ++ fmt = find_format_by_code(mbus_fmt->code); ++ if (!fmt) { ++ /* The alternate format is one unicam can't support. ++ * Find the first format that is supported by both, and ++ * then set that. ++ */ ++ fmt = get_first_supported_format(dev); ++ mbus_fmt->code = fmt->code; ++ ++ ret = v4l2_subdev_call(dev->sensor, pad, set_fmt, ++ dev->sensor_config, &sd_fmt); ++ if (ret && ret != -ENOIOCTLCMD && ret != -ENODEV) ++ return ret; ++ ++ if (mbus_fmt->field != V4L2_FIELD_NONE) ++ unicam_info(dev, "Sensor trying to send interlaced video - results may be unpredictable\n"); ++ ++ v4l2_fill_pix_format(&f->fmt.pix, &sd_fmt.format); ++ ++ if (mbus_fmt->code != fmt->code) { ++ /* We've set a format that the sensor reports ++ * as being supported, but it refuses to set it. ++ * Not much else we can do. ++ * Assume that the sensor driver may accept the ++ * format when it is set (rather than tried). ++ */ ++ unicam_err(dev, "Sensor won't accept default format, and Unicam can't support sensor default\n"); ++ } ++ } ++ ++ f->fmt.pix.pixelformat = fmt->fourcc; ++ } + + return unicam_calc_format_size_bpl(dev, fmt, f); + } +@@ -805,10 +880,18 @@ static int unicam_s_fmt_vid_cap(struct f + if (ret < 0) + return ret; + +- fmt = find_format_by_pix(dev, f->fmt.pix.pixelformat); ++ fmt = find_format_by_pix(f->fmt.pix.pixelformat); + if (!fmt) { +- /* Unknown pixel format - adopt a default */ +- fmt = &dev->active_fmts[0]; ++ /* Unknown pixel format - adopt a default. ++ * This shouldn't happen as try_fmt should have resolved any ++ * issues first. ++ */ ++ fmt = get_first_supported_format(dev); ++ if (!fmt) ++ /* It shouldn't be possible to get here with no ++ * supported formats ++ */ ++ return -EINVAL; + f->fmt.pix.pixelformat = fmt->fourcc; + return -EINVAL; + } +@@ -944,6 +1027,7 @@ static void unicam_set_packing_config(st + unpack = UNICAM_PUM_NONE; + break; + } ++ + switch (v4l2_depth) { + case 8: + pack = UNICAM_PPM_PACK8; +@@ -1439,7 +1523,7 @@ static int unicam_enum_framesizes(struct + int ret; + + /* check for valid format */ +- fmt = find_format_by_pix(dev, fsize->pixel_format); ++ fmt = find_format_by_pix(fsize->pixel_format); + if (!fmt) { + unicam_dbg(3, dev, "Invalid pixel code: %x\n", + fsize->pixel_format); +@@ -1478,7 +1562,7 @@ static int unicam_enum_frameintervals(st + }; + int ret; + +- fmt = find_format_by_pix(dev, fival->pixel_format); ++ fmt = find_format_by_pix(fival->pixel_format); + if (!fmt) + return -EINVAL; + +@@ -1742,27 +1826,6 @@ static const struct v4l2_ioctl_ops unica + .vidioc_unsubscribe_event = v4l2_event_unsubscribe, + }; + +-/* +- * Adds an entry to the active_fmts array +- * Returns non-zero if attempting to write off the end of the array. +- */ +-static int unicam_add_active_format(struct unicam_device *unicam, +- const struct unicam_fmt *fmt) +-{ +- //Ensure we don't run off the end of the array. +- if (unicam->num_active_fmt >= MAX_POSSIBLE_PIX_FMTS) +- return 1; +- +- unicam->active_fmts[unicam->num_active_fmt] = *fmt; +- unicam_dbg(2, unicam, +- "matched fourcc: " V4L2_FOURCC_CONV ": code: %04x idx: %d\n", +- V4L2_FOURCC_CONV_ARGS(fmt->fourcc), +- fmt->code, unicam->num_active_fmt); +- unicam->num_active_fmt++; +- +- return 0; +-} +- + static int + unicam_async_bound(struct v4l2_async_notifier *notifier, + struct v4l2_subdev *subdev, +@@ -1770,9 +1833,6 @@ unicam_async_bound(struct v4l2_async_not + { + struct unicam_device *unicam = container_of(notifier->v4l2_dev, + struct unicam_device, v4l2_dev); +- struct v4l2_subdev_mbus_code_enum mbus_code; +- int ret = 0; +- int j; + + if (unicam->sensor) { + unicam_info(unicam, "Rejecting subdev %s (Already set!!)", +@@ -1783,47 +1843,6 @@ unicam_async_bound(struct v4l2_async_not + unicam->sensor = subdev; + unicam_dbg(1, unicam, "Using sensor %s for capture\n", subdev->name); + +- /* Enumerate sub device formats and enable all matching local formats */ +- unicam->num_active_fmt = 0; +- unicam_dbg(2, unicam, "Get supported formats...\n"); +- for (j = 0; ret != -EINVAL && ret != -ENOIOCTLCMD; ++j) { +- const struct unicam_fmt *fmt = NULL; +- int k; +- +- memset(&mbus_code, 0, sizeof(mbus_code)); +- mbus_code.index = j; +- ret = v4l2_subdev_call(subdev, pad, enum_mbus_code, +- NULL, &mbus_code); +- if (ret < 0) { +- unicam_dbg(2, unicam, +- "subdev->enum_mbus_code idx %d returned %d - continue\n", +- j, ret); +- continue; +- } +- +- unicam_dbg(2, unicam, "subdev %s: code: %04x idx: %d\n", +- subdev->name, mbus_code.code, j); +- +- for (k = 0; k < ARRAY_SIZE(formats); k++) { +- if (mbus_code.code == formats[k].code) { +- fmt = &formats[k]; +- break; +- } +- } +- unicam_dbg(2, unicam, "fmt %04x returned as %p, V4L2 FOURCC %04x, csi_dt %02X\n", +- mbus_code.code, fmt, fmt ? fmt->fourcc : 0, +- fmt ? fmt->csi_dt : 0); +- if (fmt) { +- if (unicam_add_active_format(unicam, fmt)) { +- unicam_dbg(1, unicam, "Active fmt list truncated\n"); +- break; +- } +- } +- } +- unicam_dbg(2, unicam, +- "Done all formats\n"); +- dump_active_formats(unicam); +- + return 0; + } + +@@ -1849,10 +1868,17 @@ static int unicam_probe_complete(struct + return ret; + } + +- fmt = find_format_by_code(unicam, mbus_fmt.code); ++ fmt = find_format_by_code(mbus_fmt.code); + if (!fmt) { +- /* Default image format not valid. Choose first active fmt. */ +- fmt = &unicam->active_fmts[0]; ++ /* Find the first format that the sensor and unicam both ++ * support ++ */ ++ fmt = get_first_supported_format(unicam); ++ ++ if (!fmt) ++ /* No compatible formats */ ++ return -EINVAL; ++ + mbus_fmt.code = fmt->code; + ret = __subdev_set_format(unicam, &mbus_fmt); + if (ret) diff --git a/target/linux/brcm2708/patches-4.19/950-0730-media-bcm2835-unicam-Support-unpacking-CSI-format-to.patch b/target/linux/brcm2708/patches-4.19/950-0730-media-bcm2835-unicam-Support-unpacking-CSI-format-to.patch new file mode 100644 index 000000000..199c4961e --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0730-media-bcm2835-unicam-Support-unpacking-CSI-format-to.patch @@ -0,0 +1,254 @@ +From 5ae0488f5fc682877ae2a5d454f70884e62120ef Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 3 Oct 2019 13:35:01 +0100 +Subject: [PATCH] media: bcm2835-unicam: Support unpacking CSI format + to 16bpp + +The CSI packed formats are not the easiest to work with, and +the peripheral supports unpacking them to 16bpp (but NOT +shifting the data up into the MSBs). +Where V4L2 exposes a pixfmt for both packed and unpacked +formats advertise both as being supported, and unpack the +data in the peripheral. + +Signed-off-by: Dave Stevenson +--- + .../media/platform/bcm2835/bcm2835-unicam.c | 102 +++++++++--------- + 1 file changed, 51 insertions(+), 51 deletions(-) + +--- a/drivers/media/platform/bcm2835/bcm2835-unicam.c ++++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c +@@ -15,12 +15,15 @@ + * + * This driver directly controls the Unicam peripheral - there is no + * involvement with the VideoCore firmware. Unicam receives CSI-2 or +- * CCP2 data and writes it into SDRAM. The only potential processing options are +- * to repack Bayer data into an alternate format, and applying windowing. +- * The repacking does not shift the data, so could repack V4L2_PIX_FMT_Sxxxx10P ++ * CCP2 data and writes it into SDRAM. ++ * The only potential processing options are to repack Bayer data into an ++ * alternate format, and applying windowing. ++ * The repacking does not shift the data, so can repack V4L2_PIX_FMT_Sxxxx10P + * to V4L2_PIX_FMT_Sxxxx10, or V4L2_PIX_FMT_Sxxxx12P to V4L2_PIX_FMT_Sxxxx12, +- * but not generically up to V4L2_PIX_FMT_Sxxxx16. +- * Adding support for repacking and windowing may be added later. ++ * but not generically up to V4L2_PIX_FMT_Sxxxx16. The driver will add both ++ * formats where the relevant formats are defined, and will automatically ++ * configure the repacking as required. ++ * Support for windowing may be added later. + * + * It should be possible to connect this driver to any sensor with a + * suitable output interface and V4L2 subdevice driver. +@@ -122,13 +125,16 @@ MODULE_PARM_DESC(debug, "Debug level 0-3 + + /* + * struct unicam_fmt - Unicam media bus format information +- * @pixelformat: V4L2 pixel format FCC identifier. ++ * @pixelformat: V4L2 pixel format FCC identifier. 0 if n/a. ++ * @repacked_fourcc: V4L2 pixel format FCC identifier if the data is expanded ++ * out to 16bpp. 0 if n/a. + * @code: V4L2 media bus format code. +- * @depth: Bits per pixel (when stored in memory). ++ * @depth: Bits per pixel as delivered from the source. + * @csi_dt: CSI data type. + */ + struct unicam_fmt { + u32 fourcc; ++ u32 repacked_fourcc; + u32 code; + u8 depth; + u8 csi_dt; +@@ -235,41 +241,49 @@ static const struct unicam_fmt formats[] + .csi_dt = 0x2a, + }, { + .fourcc = V4L2_PIX_FMT_SBGGR10P, ++ .repacked_fourcc = V4L2_PIX_FMT_SBGGR10, + .code = MEDIA_BUS_FMT_SBGGR10_1X10, + .depth = 10, + .csi_dt = 0x2b, + }, { + .fourcc = V4L2_PIX_FMT_SGBRG10P, ++ .repacked_fourcc = V4L2_PIX_FMT_SGBRG10, + .code = MEDIA_BUS_FMT_SGBRG10_1X10, + .depth = 10, + .csi_dt = 0x2b, + }, { + .fourcc = V4L2_PIX_FMT_SGRBG10P, ++ .repacked_fourcc = V4L2_PIX_FMT_SGRBG10, + .code = MEDIA_BUS_FMT_SGRBG10_1X10, + .depth = 10, + .csi_dt = 0x2b, + }, { + .fourcc = V4L2_PIX_FMT_SRGGB10P, ++ .repacked_fourcc = V4L2_PIX_FMT_SRGGB10, + .code = MEDIA_BUS_FMT_SRGGB10_1X10, + .depth = 10, + .csi_dt = 0x2b, + }, { + .fourcc = V4L2_PIX_FMT_SBGGR12P, ++ .repacked_fourcc = V4L2_PIX_FMT_SBGGR12, + .code = MEDIA_BUS_FMT_SBGGR12_1X12, + .depth = 12, + .csi_dt = 0x2c, + }, { + .fourcc = V4L2_PIX_FMT_SGBRG12P, ++ .repacked_fourcc = V4L2_PIX_FMT_SGBRG12, + .code = MEDIA_BUS_FMT_SGBRG12_1X12, + .depth = 12, + .csi_dt = 0x2c, + }, { + .fourcc = V4L2_PIX_FMT_SGRBG12P, ++ .repacked_fourcc = V4L2_PIX_FMT_SGRBG12, + .code = MEDIA_BUS_FMT_SGRBG12_1X12, + .depth = 12, + .csi_dt = 0x2c, + }, { + .fourcc = V4L2_PIX_FMT_SRGGB12P, ++ .repacked_fourcc = V4L2_PIX_FMT_SRGGB12, + .code = MEDIA_BUS_FMT_SRGGB12_1X12, + .depth = 12, + .csi_dt = 0x2c, +@@ -439,20 +453,6 @@ static inline void unicam_runtime_put(st + } + + /* Format setup functions */ +-static int find_mbus_depth_by_code(u32 code) +-{ +- const struct unicam_fmt *fmt; +- unsigned int k; +- +- for (k = 0; k < ARRAY_SIZE(formats); k++) { +- fmt = &formats[k]; +- if (fmt->code == code) +- return fmt->depth; +- } +- +- return 0; +-} +- + static const struct unicam_fmt *find_format_by_code(u32 code) + { + unsigned int k; +@@ -470,7 +470,8 @@ static const struct unicam_fmt *find_for + unsigned int k; + + for (k = 0; k < ARRAY_SIZE(formats); k++) { +- if (formats[k].fourcc == pixelformat) ++ if (formats[k].fourcc == pixelformat || ++ formats[k].repacked_fourcc == pixelformat) + return &formats[k]; + } + +@@ -478,9 +479,14 @@ static const struct unicam_fmt *find_for + } + + static inline unsigned int bytes_per_line(u32 width, +- const struct unicam_fmt *fmt) ++ const struct unicam_fmt *fmt, ++ u32 v4l2_fourcc) + { +- return ALIGN((width * fmt->depth) >> 3, BPL_ALIGNMENT); ++ if (v4l2_fourcc == fmt->repacked_fourcc) ++ /* Repacking always goes to 16bpp */ ++ return ALIGN(width << 1, BPL_ALIGNMENT); ++ else ++ return ALIGN((width * fmt->depth) >> 3, BPL_ALIGNMENT); + } + + static int __subdev_get_format(struct unicam_device *dev, +@@ -538,7 +544,8 @@ static int unicam_calc_format_size_bpl(s + &f->fmt.pix.height, MIN_HEIGHT, MAX_HEIGHT, 0, + 0); + +- min_bytesperline = bytes_per_line(f->fmt.pix.width, fmt); ++ min_bytesperline = bytes_per_line(f->fmt.pix.width, fmt, ++ f->fmt.pix.pixelformat); + + if (f->fmt.pix.bytesperline > min_bytesperline && + f->fmt.pix.bytesperline <= MAX_BYTESPERLINE) +@@ -738,6 +745,13 @@ static int unicam_enum_fmt_vid_cap(struc + } + index++; + } ++ if (fmt->repacked_fourcc) { ++ if (index == f->index) { ++ f->pixelformat = fmt->repacked_fourcc; ++ break; ++ } ++ index++; ++ } + } + } + +@@ -858,7 +872,10 @@ static int unicam_try_fmt_vid_cap(struct + } + } + +- f->fmt.pix.pixelformat = fmt->fourcc; ++ if (fmt->fourcc) ++ f->fmt.pix.pixelformat = fmt->fourcc; ++ else ++ f->fmt.pix.pixelformat = fmt->repacked_fourcc; + } + + return unicam_calc_format_size_bpl(dev, fmt, f); +@@ -998,16 +1015,14 @@ static void unicam_wr_dma_config(struct + + static void unicam_set_packing_config(struct unicam_device *dev) + { +- int mbus_depth = find_mbus_depth_by_code(dev->fmt->code); +- int v4l2_depth = dev->fmt->depth; + int pack, unpack; + u32 val; + +- if (mbus_depth == v4l2_depth) { ++ if (dev->v_fmt.fmt.pix.pixelformat == dev->fmt->fourcc) { + unpack = UNICAM_PUM_NONE; + pack = UNICAM_PPM_NONE; + } else { +- switch (mbus_depth) { ++ switch (dev->fmt->depth) { + case 8: + unpack = UNICAM_PUM_UNPACK8; + break; +@@ -1028,26 +1043,8 @@ static void unicam_set_packing_config(st + break; + } + +- switch (v4l2_depth) { +- case 8: +- pack = UNICAM_PPM_PACK8; +- break; +- case 10: +- pack = UNICAM_PPM_PACK10; +- break; +- case 12: +- pack = UNICAM_PPM_PACK12; +- break; +- case 14: +- pack = UNICAM_PPM_PACK14; +- break; +- case 16: +- pack = UNICAM_PPM_PACK16; +- break; +- default: +- pack = UNICAM_PPM_NONE; +- break; +- } ++ /* Repacking is always to 16bpp */ ++ pack = UNICAM_PPM_PACK16; + } + + val = 0; +@@ -1893,7 +1890,10 @@ static int unicam_probe_complete(struct + } + + unicam->fmt = fmt; +- unicam->v_fmt.fmt.pix.pixelformat = fmt->fourcc; ++ if (fmt->fourcc) ++ unicam->v_fmt.fmt.pix.pixelformat = fmt->fourcc; ++ else ++ unicam->v_fmt.fmt.pix.pixelformat = fmt->repacked_fourcc; + + /* Read current subdev format */ + unicam_reset_format(unicam); diff --git a/target/linux/brcm2708/patches-4.19/950-0731-media-bcm2835-unicam-Add-support-for-luma-greyscale-.patch b/target/linux/brcm2708/patches-4.19/950-0731-media-bcm2835-unicam-Add-support-for-luma-greyscale-.patch new file mode 100644 index 000000000..61a817ab6 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0731-media-bcm2835-unicam-Add-support-for-luma-greyscale-.patch @@ -0,0 +1,50 @@ +From 253dd469e6403b6c2afd25d4f8338a0c1588583f Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 3 Oct 2019 13:45:51 +0100 +Subject: [PATCH] media: bcm2835-unicam: Add support for luma/greyscale + formats + +Add support for V4L2_PIX_FMT_GREY, V4L2_PIX_FMT_Y10P, +V4L2_PIX_FMT_Y10, and V4L2_PIX_FMT_Y12 image formats from the +appropriate mediabus formats advertised by sensors. + +Signed-off-by: Dave Stevenson +--- + .../media/platform/bcm2835/bcm2835-unicam.c | 21 ++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +--- a/drivers/media/platform/bcm2835/bcm2835-unicam.c ++++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c +@@ -307,12 +307,31 @@ static const struct unicam_fmt formats[] + .code = MEDIA_BUS_FMT_SRGGB14_1X14, + .depth = 14, + .csi_dt = 0x2d, +- }, ++ }, { + /* + * 16 bit Bayer formats could be supported, but there is no CSI2 + * data_type defined for raw 16, and no sensors that produce it at + * present. + */ ++ ++ /* Greyscale formats */ ++ .fourcc = V4L2_PIX_FMT_GREY, ++ .code = MEDIA_BUS_FMT_Y8_1X8, ++ .depth = 8, ++ .csi_dt = 0x2a, ++ }, { ++ .fourcc = V4L2_PIX_FMT_Y10P, ++ .repacked_fourcc = V4L2_PIX_FMT_Y10, ++ .code = MEDIA_BUS_FMT_Y10_1X10, ++ .depth = 10, ++ .csi_dt = 0x2b, ++ }, { ++ /* NB There is no packed V4L2 fourcc for this format. */ ++ .repacked_fourcc = V4L2_PIX_FMT_Y12, ++ .code = MEDIA_BUS_FMT_Y12_1X12, ++ .depth = 12, ++ .csi_dt = 0x2c, ++ }, + }; + + struct unicam_dmaqueue { diff --git a/target/linux/brcm2708/patches-4.19/950-0732-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch b/target/linux/brcm2708/patches-4.19/950-0732-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch new file mode 100644 index 000000000..76129fec2 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0732-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch @@ -0,0 +1,138 @@ +From 799c83fb9b72bcd473099e3da1395c92a5a581ff Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 17 Sep 2019 18:28:17 +0100 +Subject: [PATCH] drm/vc4: Add support for YUV color encodings and + ranges + +The BT601/BT709 color encoding and limited vs full +range properties were not being exposed, defaulting +always to BT601 limited range. + +Expose the parameters and set the registers appropriately. + +Signed-off-by: Dave Stevenson +--- + drivers/gpu/drm/vc4/vc4_plane.c | 72 +++++++++++++++++++++++++++++++-- + drivers/gpu/drm/vc4/vc4_regs.h | 3 ++ + 2 files changed, 72 insertions(+), 3 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -500,6 +500,53 @@ static void vc4_write_scaling_parameters + } + } + ++/* The colorspace conversion matrices are held in 3 entries in the dlist. ++ * Create an array of them, with entries for each full and limited mode, and ++ * each supported colorspace. ++ */ ++#define VC4_LIMITED_RANGE 0 ++#define VC4_FULL_RANGE 1 ++ ++static const u32 colorspace_coeffs[2][DRM_COLOR_ENCODING_MAX][3] = { ++ { ++ /* Limited range */ ++ { ++ /* BT601 */ ++ SCALER_CSC0_ITR_R_601_5, ++ SCALER_CSC1_ITR_R_601_5, ++ SCALER_CSC2_ITR_R_601_5, ++ }, { ++ /* BT709 */ ++ SCALER_CSC0_ITR_R_709_3, ++ SCALER_CSC1_ITR_R_709_3, ++ SCALER_CSC2_ITR_R_709_3, ++ }, { ++ /* BT2020. Not supported yet - copy 601 */ ++ SCALER_CSC0_ITR_R_601_5, ++ SCALER_CSC1_ITR_R_601_5, ++ SCALER_CSC2_ITR_R_601_5, ++ } ++ }, { ++ /* Full range */ ++ { ++ /* JFIF */ ++ SCALER_CSC0_JPEG_JFIF, ++ SCALER_CSC1_JPEG_JFIF, ++ SCALER_CSC2_JPEG_JFIF, ++ }, { ++ /* BT709 */ ++ SCALER_CSC0_ITR_R_709_3_FR, ++ SCALER_CSC1_ITR_R_709_3_FR, ++ SCALER_CSC2_ITR_R_709_3_FR, ++ }, { ++ /* BT2020. Not supported yet - copy JFIF */ ++ SCALER_CSC0_JPEG_JFIF, ++ SCALER_CSC1_JPEG_JFIF, ++ SCALER_CSC2_JPEG_JFIF, ++ } ++ } ++}; ++ + /* Writes out a full display list for an active plane to the plane's + * private dlist state. + */ +@@ -760,9 +807,20 @@ static int vc4_plane_mode_set(struct drm + + /* Colorspace conversion words */ + if (vc4_state->is_yuv) { +- vc4_dlist_write(vc4_state, SCALER_CSC0_ITR_R_601_5); +- vc4_dlist_write(vc4_state, SCALER_CSC1_ITR_R_601_5); +- vc4_dlist_write(vc4_state, SCALER_CSC2_ITR_R_601_5); ++ enum drm_color_encoding color_encoding = state->color_encoding; ++ enum drm_color_range color_range = state->color_range; ++ const u32 *ccm; ++ ++ if (color_encoding >= DRM_COLOR_ENCODING_MAX) ++ color_encoding = DRM_COLOR_YCBCR_BT601; ++ if (color_range >= DRM_COLOR_RANGE_MAX) ++ color_range = DRM_COLOR_YCBCR_LIMITED_RANGE; ++ ++ ccm = colorspace_coeffs[color_range][color_encoding]; ++ ++ vc4_dlist_write(vc4_state, ccm[0]); ++ vc4_dlist_write(vc4_state, ccm[1]); ++ vc4_dlist_write(vc4_state, ccm[2]); + } + + if (vc4_state->x_scaling[0] != VC4_SCALING_NONE || +@@ -1116,5 +1174,13 @@ struct drm_plane *vc4_plane_init(struct + + drm_plane_create_alpha_property(plane); + ++ drm_plane_create_color_properties(plane, ++ BIT(DRM_COLOR_YCBCR_BT601) | ++ BIT(DRM_COLOR_YCBCR_BT709), ++ BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) | ++ BIT(DRM_COLOR_YCBCR_FULL_RANGE), ++ DRM_COLOR_YCBCR_BT709, ++ DRM_COLOR_YCBCR_LIMITED_RANGE); ++ + return plane; + } +--- a/drivers/gpu/drm/vc4/vc4_regs.h ++++ b/drivers/gpu/drm/vc4/vc4_regs.h +@@ -972,6 +972,7 @@ enum hvs_pixel_format { + #define SCALER_CSC0_ITR_R_601_5 0x00f00000 + #define SCALER_CSC0_ITR_R_709_3 0x00f00000 + #define SCALER_CSC0_JPEG_JFIF 0x00000000 ++#define SCALER_CSC0_ITR_R_709_3_FR 0x00000000 + + /* S2.8 contribution of Cb to Green */ + #define SCALER_CSC1_COEF_CB_GRN_MASK VC4_MASK(31, 22) +@@ -988,6 +989,7 @@ enum hvs_pixel_format { + #define SCALER_CSC1_ITR_R_601_5 0xe73304a8 + #define SCALER_CSC1_ITR_R_709_3 0xf2b784a8 + #define SCALER_CSC1_JPEG_JFIF 0xea34a400 ++#define SCALER_CSC1_ITR_R_709_3_FR 0xe23d0400 + + /* S2.8 contribution of Cb to Red */ + #define SCALER_CSC2_COEF_CB_RED_MASK VC4_MASK(29, 20) +@@ -1001,6 +1003,7 @@ enum hvs_pixel_format { + #define SCALER_CSC2_ITR_R_601_5 0x00066204 + #define SCALER_CSC2_ITR_R_709_3 0x00072a1c + #define SCALER_CSC2_JPEG_JFIF 0x000599c5 ++#define SCALER_CSC2_ITR_R_709_3_FR 0x00064ddb + + #define SCALER_TPZ0_VERT_RECALC BIT(31) + #define SCALER_TPZ0_SCALE_MASK VC4_MASK(28, 8) diff --git a/target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Fix-negative-X-Y-positioning-on-SAND-planes.patch b/target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Fix-negative-X-Y-positioning-on-SAND-planes.patch new file mode 100644 index 000000000..8c8bb69e7 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Fix-negative-X-Y-positioning-on-SAND-planes.patch @@ -0,0 +1,68 @@ +From a8af2085e26bcefad8fb65e2b44d12777a84e219 Mon Sep 17 00:00:00 2001 +From: Boris Brezillon +Date: Fri, 7 Dec 2018 09:36:05 +0100 +Subject: [PATCH] drm/vc4: Fix negative X/Y positioning on SAND planes + +Commit 8e75d582db02bcb171d65ec71eecbd3072a5fd3a upstream. + +Commit 3e407417b192 ("drm/vc4: Fix X/Y positioning of planes using +T_TILES modifier") fixed the problem with T_TILES format, but left +things in a non-working state for SAND formats. Address that now. + +Signed-off-by: Boris Brezillon +Reviewed-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/20181207083606.15449-1-boris.brezillon@bootlin.com +--- + drivers/gpu/drm/vc4/vc4_plane.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -684,6 +684,7 @@ static int vc4_plane_mode_set(struct drm + case DRM_FORMAT_MOD_BROADCOM_SAND128: + case DRM_FORMAT_MOD_BROADCOM_SAND256: { + uint32_t param = fourcc_mod_broadcom_param(fb->modifier); ++ u32 tile_w, tile, x_off, pix_per_tile; + + /* Column-based NV12 or RGBA. + */ +@@ -703,12 +704,15 @@ static int vc4_plane_mode_set(struct drm + switch (base_format_mod) { + case DRM_FORMAT_MOD_BROADCOM_SAND64: + tiling = SCALER_CTL0_TILING_64B; ++ tile_w = 64; + break; + case DRM_FORMAT_MOD_BROADCOM_SAND128: + tiling = SCALER_CTL0_TILING_128B; ++ tile_w = 128; + break; + case DRM_FORMAT_MOD_BROADCOM_SAND256: + tiling = SCALER_CTL0_TILING_256B_OR_T; ++ tile_w = 256; + break; + default: + break; +@@ -719,6 +723,23 @@ static int vc4_plane_mode_set(struct drm + return -EINVAL; + } + ++ pix_per_tile = tile_w / fb->format->cpp[0]; ++ tile = vc4_state->src_x / pix_per_tile; ++ x_off = vc4_state->src_x % pix_per_tile; ++ ++ /* Adjust the base pointer to the first pixel to be scanned ++ * out. ++ */ ++ for (i = 0; i < num_planes; i++) { ++ vc4_state->offsets[i] += param * tile_w * tile; ++ vc4_state->offsets[i] += vc4_state->src_y / ++ (i ? v_subsample : 1) * ++ tile_w; ++ vc4_state->offsets[i] += x_off / ++ (i ? h_subsample : 1) * ++ fb->format->cpp[i]; ++ } ++ + pitch0 = VC4_SET_FIELD(param, SCALER_TILE_HEIGHT); + break; + } diff --git a/target/linux/brcm2708/patches-4.19/950-0734-drm-vc4-Add-support-for-H-V-flips.patch b/target/linux/brcm2708/patches-4.19/950-0734-drm-vc4-Add-support-for-H-V-flips.patch new file mode 100644 index 000000000..4c9cb7699 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0734-drm-vc4-Add-support-for-H-V-flips.patch @@ -0,0 +1,135 @@ +From 1246d16c393a2f5790e5492053f26e6b0b62cec8 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 17 Sep 2019 18:36:32 +0100 +Subject: [PATCH] drm/vc4: Add support for H & V flips + +The HVS supports horizontal and vertical flips whilst composing. + +Expose these through the standard DRM rotation property. + +Signed-off-by: Dave Stevenson +--- + drivers/gpu/drm/vc4/vc4_plane.c | 54 +++++++++++++++++++++++++++------ + 1 file changed, 45 insertions(+), 9 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -560,7 +560,9 @@ static int vc4_plane_mode_set(struct drm + const struct hvs_format *format = vc4_get_hvs_format(fb->format->format); + u64 base_format_mod = fourcc_mod_broadcom_mod(fb->modifier); + int num_planes = drm_format_num_planes(format->drm); ++ bool hflip = false, vflip = false; + u32 h_subsample, v_subsample; ++ unsigned int rotation; + bool mix_plane_alpha; + bool covers_screen; + u32 scl0, scl1, pitch0; +@@ -568,11 +570,26 @@ static int vc4_plane_mode_set(struct drm + unsigned long irqflags; + u32 hvs_format = format->hvs; + int ret, i; ++ u32 src_y; + + ret = vc4_plane_setup_clipping_and_scaling(state); + if (ret) + return ret; + ++ rotation = drm_rotation_simplify(state->rotation, ++ DRM_MODE_ROTATE_0 | ++ DRM_MODE_REFLECT_X | ++ DRM_MODE_REFLECT_Y); ++ ++ if ((rotation & DRM_MODE_ROTATE_MASK) == DRM_MODE_ROTATE_180) { ++ hflip = true; ++ vflip = true; ++ } ++ if (rotation & DRM_MODE_REFLECT_X) ++ hflip ^= true; ++ if (rotation & DRM_MODE_REFLECT_Y) ++ vflip ^= true; ++ + /* Allocate the LBM memory that the HVS will use for temporary + * storage due to our scaling/format conversion. + */ +@@ -609,6 +626,16 @@ static int vc4_plane_mode_set(struct drm + h_subsample = drm_format_horz_chroma_subsampling(format->drm); + v_subsample = drm_format_vert_chroma_subsampling(format->drm); + ++ if (!vflip) ++ src_y = vc4_state->src_y; ++ else ++ /* When vflipped the image offset needs to be ++ * the start of the last line of the image, and ++ * the pitch will be subtracted from the offset. ++ */ ++ src_y = vc4_state->src_y + ++ vc4_state->src_h[0] - 1; ++ + switch (base_format_mod) { + case DRM_FORMAT_MOD_LINEAR: + tiling = SCALER_CTL0_TILING_LINEAR; +@@ -618,12 +645,13 @@ static int vc4_plane_mode_set(struct drm + * out. + */ + for (i = 0; i < num_planes; i++) { +- vc4_state->offsets[i] += vc4_state->src_y / ++ vc4_state->offsets[i] += src_y / + (i ? v_subsample : 1) * + fb->pitches[i]; ++ + vc4_state->offsets[i] += vc4_state->src_x / +- (i ? h_subsample : 1) * +- fb->format->cpp[i]; ++ (i ? h_subsample : 1) * ++ fb->format->cpp[i]; + } + + break; +@@ -651,11 +679,11 @@ static int vc4_plane_mode_set(struct drm + * SCALER_PITCH0_TILE_Y_OFFSET tells HVS how to walk from that + * base address). + */ +- u32 tile_y = (vc4_state->src_y >> 4) & 1; +- u32 subtile_y = (vc4_state->src_y >> 2) & 3; +- u32 utile_y = vc4_state->src_y & 3; ++ u32 tile_y = (src_y >> 4) & 1; ++ u32 subtile_y = (src_y >> 2) & 3; ++ u32 utile_y = src_y & 3; + u32 x_off = vc4_state->src_x & tile_w_mask; +- u32 y_off = vc4_state->src_y & tile_h_mask; ++ u32 y_off = src_y & tile_h_mask; + + tiling = SCALER_CTL0_TILING_256B_OR_T; + pitch0 = (VC4_SET_FIELD(x_off, SCALER_PITCH0_SINK_PIX) | +@@ -732,7 +760,7 @@ static int vc4_plane_mode_set(struct drm + */ + for (i = 0; i < num_planes; i++) { + vc4_state->offsets[i] += param * tile_w * tile; +- vc4_state->offsets[i] += vc4_state->src_y / ++ vc4_state->offsets[i] += src_y / + (i ? v_subsample : 1) * + tile_w; + vc4_state->offsets[i] += x_off / +@@ -759,7 +787,9 @@ static int vc4_plane_mode_set(struct drm + VC4_SET_FIELD(tiling, SCALER_CTL0_TILING) | + (vc4_state->is_unity ? SCALER_CTL0_UNITY : 0) | + VC4_SET_FIELD(scl0, SCALER_CTL0_SCL0) | +- VC4_SET_FIELD(scl1, SCALER_CTL0_SCL1)); ++ VC4_SET_FIELD(scl1, SCALER_CTL0_SCL1) | ++ (vflip ? SCALER_CTL0_VFLIP : 0) | ++ (hflip ? SCALER_CTL0_HFLIP : 0)); + + /* Position Word 0: Image Positions and Alpha Value */ + vc4_state->pos0_offset = vc4_state->dlist_count; +@@ -1203,5 +1233,11 @@ struct drm_plane *vc4_plane_init(struct + DRM_COLOR_YCBCR_BT709, + DRM_COLOR_YCBCR_LIMITED_RANGE); + ++ drm_plane_create_rotation_property(plane, DRM_MODE_ROTATE_0, ++ DRM_MODE_ROTATE_0 | ++ DRM_MODE_ROTATE_180 | ++ DRM_MODE_REFLECT_X | ++ DRM_MODE_REFLECT_Y); ++ + return plane; + } diff --git a/target/linux/brcm2708/patches-4.19/950-0735-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch b/target/linux/brcm2708/patches-4.19/950-0735-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch new file mode 100644 index 000000000..d08b7f00c --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0735-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch @@ -0,0 +1,87 @@ +From e99a60f018524bf7b1ba382e3994c22ebcdbafe6 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Wed, 18 Sep 2019 15:49:13 +0100 +Subject: [PATCH] drm/vc4: Correct handling of rotation parameter in + fkms + +One bit within DRM_MODE_ROTATE_MASK will always be set to +determine the base rotation 0/90/180/270, and then REFLECT_X +and REFLECT_Y are on top. + +Correct the handling which was assuming that REFLECT_[X|Y] +was instead of ROTATE_x. + +Signed-off-by: Dave Stevenson +--- + drivers/gpu/drm/vc4/vc4_firmware_kms.c | 37 ++++++++++---------------- + 1 file changed, 14 insertions(+), 23 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c ++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c +@@ -79,11 +79,6 @@ struct set_plane { + #define TRANSFORM_FLIP_HRIZ BIT(16) + #define TRANSFORM_FLIP_VERT BIT(17) + +-#define SUPPORTED_ROTATIONS (DRM_MODE_ROTATE_0 | \ +- DRM_MODE_ROTATE_180 | \ +- DRM_MODE_REFLECT_X | \ +- DRM_MODE_REFLECT_Y) +- + struct mailbox_set_plane { + struct rpi_firmware_property_tag_header tag; + struct set_plane plane; +@@ -523,7 +518,7 @@ static int vc4_plane_to_mb(struct drm_pl + const struct vc_image_format *vc_fmt = + vc4_get_vc_image_fmt(drm_fmt->format); + int num_planes = fb->format->num_planes; +- unsigned int rotation = SUPPORTED_ROTATIONS; ++ unsigned int rotation; + + mb->plane.vc_image_type = vc_fmt->vc_image; + mb->plane.width = fb->width; +@@ -544,23 +539,16 @@ static int vc4_plane_to_mb(struct drm_pl + mb->plane.is_vu = vc_fmt->is_vu; + mb->plane.planes[0] = bo->paddr + fb->offsets[0]; + +- rotation = drm_rotation_simplify(state->rotation, rotation); +- +- switch (rotation) { +- default: +- case DRM_MODE_ROTATE_0: +- mb->plane.transform = TRANSFORM_NO_ROTATE; +- break; +- case DRM_MODE_ROTATE_180: +- mb->plane.transform = TRANSFORM_ROTATE_180; +- break; +- case DRM_MODE_REFLECT_X: +- mb->plane.transform = TRANSFORM_FLIP_HRIZ; +- break; +- case DRM_MODE_REFLECT_Y: +- mb->plane.transform = TRANSFORM_FLIP_VERT; +- break; +- } ++ rotation = drm_rotation_simplify(state->rotation, ++ DRM_MODE_ROTATE_0 | ++ DRM_MODE_REFLECT_X | ++ DRM_MODE_REFLECT_Y); ++ ++ mb->plane.transform = TRANSFORM_NO_ROTATE; ++ if (rotation & DRM_MODE_REFLECT_X) ++ mb->plane.transform |= TRANSFORM_FLIP_HRIZ; ++ if (rotation & DRM_MODE_REFLECT_Y) ++ mb->plane.transform |= TRANSFORM_FLIP_VERT; + + vc4_fkms_margins_adj(state, &mb->plane); + +@@ -772,7 +760,10 @@ static struct drm_plane *vc4_fkms_plane_ + + drm_plane_create_alpha_property(plane); + drm_plane_create_rotation_property(plane, DRM_MODE_ROTATE_0, +- SUPPORTED_ROTATIONS); ++ DRM_MODE_ROTATE_0 | ++ DRM_MODE_ROTATE_180 | ++ DRM_MODE_REFLECT_X | ++ DRM_MODE_REFLECT_Y); + drm_plane_create_color_properties(plane, + BIT(DRM_COLOR_YCBCR_BT601) | + BIT(DRM_COLOR_YCBCR_BT709) | diff --git a/target/linux/brcm2708/patches-4.19/950-0736-overlays-Add-w5500-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0736-overlays-Add-w5500-overlay.patch new file mode 100644 index 000000000..2641a5b0b --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0736-overlays-Add-w5500-overlay.patch @@ -0,0 +1,113 @@ +From cb9a896a799393b3cb5947bef3c95eb5ffb44776 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 10 Oct 2019 09:08:47 +0100 +Subject: [PATCH] overlays: Add w5500 overlay + +Add an overlay to configure the Wiznet W5500 Ethernet controller on +SPI0. The 'cs' parameter chooses the Chip Select (default 0). + +See: https://github.com/raspberrypi/linux/issues/3276 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 10 ++++ + arch/arm/boot/dts/overlays/w5500-overlay.dts | 63 ++++++++++++++++++++ + 3 files changed, 74 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/w5500-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -183,6 +183,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + vga666.dtbo \ + w1-gpio.dtbo \ + w1-gpio-pullup.dtbo \ ++ w5500.dtbo \ + wittypi.dtbo + + targets += dtbs dtbs_install +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -2538,6 +2538,16 @@ Params: gpiopin GPIO for + pullup Now enabled by default (ignored) + + ++Name: w5500 ++Info: Overlay for the Wiznet W5500 Ethernet Controller on SPI0 ++Load: dtoverlay=w5500,= ++Params: int_pin GPIO used for INT (default 25) ++ ++ speed SPI bus speed (default 30000000) ++ ++ cs SPI bus Chip Select (default 0) ++ ++ + Name: wittypi + Info: Configures the wittypi RTC module. + Load: dtoverlay=wittypi,= +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/w5500-overlay.dts +@@ -0,0 +1,63 @@ ++// Overlay for the Wiznet w5500 Ethernet Controller ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&spidev0>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&spidev1>; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&spi0>; ++ __overlay__ { ++ /* needed to avoid dtc warning */ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ eth1: w5500@0{ ++ compatible = "wiznet,w5500"; ++ reg = <0>; /* CE0 */ ++ pinctrl-names = "default"; ++ pinctrl-0 = <ð1_pins>; ++ interrupt-parent = <&gpio>; ++ interrupts = <25 0x8>; ++ spi-max-frequency = <30000000>; ++// local-mac-address = [aa bb cc dd ee ff]; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&gpio>; ++ __overlay__ { ++ eth1_pins: eth1_pins { ++ brcm,pins = <25>; ++ brcm,function = <0>; /* in */ ++ brcm,pull = <0>; /* none */ ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ int_pin = <ð1>, "interrupts:0", ++ <ð1_pins>, "brcm,pins:0"; ++ speed = <ð1>, "spi-max-frequency:0"; ++ cs = <ð1>, "reg:0", ++ <0>, "!0=1"; ++ }; ++}; diff --git a/target/linux/brcm2708/patches-4.19/950-0737-media-bcm2835-unicam-Replace-hard-coded-loop-limit-w.patch b/target/linux/brcm2708/patches-4.19/950-0737-media-bcm2835-unicam-Replace-hard-coded-loop-limit-w.patch new file mode 100644 index 000000000..cb9a82b12 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0737-media-bcm2835-unicam-Replace-hard-coded-loop-limit-w.patch @@ -0,0 +1,44 @@ +From 1a013467030ffd6f1958b8a4db1b5312213fb9bd Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 17 Oct 2019 10:16:16 +0100 +Subject: [PATCH] media: bcm2835-unicam: Replace hard coded loop limit + with a define + +In order to protect against a dodgy sensor driver never returning +an error from enum_mbus_code there was a hardcoded value of 128 +that aborted the loop. +There is a need to call enum_mbus_code from elsewhere, so move that +number to a define so it is common across calls. + +Signed-off-by: Dave Stevenson +--- + drivers/media/platform/bcm2835/bcm2835-unicam.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +--- a/drivers/media/platform/bcm2835/bcm2835-unicam.c ++++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c +@@ -97,6 +97,11 @@ MODULE_PARM_DESC(debug, "Debug level 0-3 + #define unicam_err(dev, fmt, arg...) \ + v4l2_err(&(dev)->v4l2_dev, fmt, ##arg) + ++/* To protect against a dodgy sensor driver never returning an error from ++ * enum_mbus_code, set a maximum index value to be used. ++ */ ++#define MAX_ENUM_MBUS_CODE 128 ++ + /* + * Stride is a 16 bit register, but also has to be a multiple of 16. + */ +@@ -738,11 +743,7 @@ static int unicam_enum_fmt_vid_cap(struc + int ret = 0; + int i; + +- /* Loop whilst the sensor driver says it has more formats, but add a +- * failsafe against a dodgy driver at 128 (more than any sensor will +- * ever sensibly advertise) +- */ +- for (i = 0; !ret && i < 128 ; i++) { ++ for (i = 0; !ret && i < MAX_ENUM_MBUS_CODE; i++) { + memset(&mbus_code, 0, sizeof(mbus_code)); + mbus_code.index = i; + diff --git a/target/linux/brcm2708/patches-4.19/950-0738-media-bcm2835-unicam-Fix-one-to-many-mapping-for-YUY.patch b/target/linux/brcm2708/patches-4.19/950-0738-media-bcm2835-unicam-Fix-one-to-many-mapping-for-YUY.patch new file mode 100644 index 000000000..3c881a1bf --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0738-media-bcm2835-unicam-Fix-one-to-many-mapping-for-YUY.patch @@ -0,0 +1,144 @@ +From 94d77466473f3abcf799ac44b8038766ab32f27c Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Wed, 16 Oct 2019 18:53:06 +0100 +Subject: [PATCH] media: bcm2835-unicam: Fix one-to-many mapping for + YUYV formats + +V4L2 format V4L2_PIX_FMT_YUYV maps to both MEDIA_BUS_FMT_YUYV8_2X8 +and MEDIA_BUS_FMT_YUYV8_1X16. The change to not cache the active +formats also meant that we only ever found the first variant of +the mediabus format when trying to setup the device. + +Flag the formats that have other representations, and ensure +that the format conversion checks whether the found format +matches one supported by the sensor before returning it. + +Signed-off-by: Dave Stevenson +--- + .../media/platform/bcm2835/bcm2835-unicam.c | 45 ++++++++++++++++--- + 1 file changed, 39 insertions(+), 6 deletions(-) + +--- a/drivers/media/platform/bcm2835/bcm2835-unicam.c ++++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c +@@ -136,6 +136,8 @@ MODULE_PARM_DESC(debug, "Debug level 0-3 + * @code: V4L2 media bus format code. + * @depth: Bits per pixel as delivered from the source. + * @csi_dt: CSI data type. ++ * @check_variants: Flag to denote that there are multiple mediabus formats ++ * still in the list that could match this V4L2 format. + */ + struct unicam_fmt { + u32 fourcc; +@@ -143,6 +145,7 @@ struct unicam_fmt { + u32 code; + u8 depth; + u8 csi_dt; ++ u8 check_variants; + }; + + static const struct unicam_fmt formats[] = { +@@ -152,21 +155,25 @@ static const struct unicam_fmt formats[] + .code = MEDIA_BUS_FMT_YUYV8_2X8, + .depth = 16, + .csi_dt = 0x1e, ++ .check_variants = 1, + }, { + .fourcc = V4L2_PIX_FMT_UYVY, + .code = MEDIA_BUS_FMT_UYVY8_2X8, + .depth = 16, + .csi_dt = 0x1e, ++ .check_variants = 1, + }, { + .fourcc = V4L2_PIX_FMT_YVYU, + .code = MEDIA_BUS_FMT_YVYU8_2X8, + .depth = 16, + .csi_dt = 0x1e, ++ .check_variants = 1, + }, { + .fourcc = V4L2_PIX_FMT_VYUY, + .code = MEDIA_BUS_FMT_VYUY8_2X8, + .depth = 16, + .csi_dt = 0x1e, ++ .check_variants = 1, + }, { + .fourcc = V4L2_PIX_FMT_YUYV, + .code = MEDIA_BUS_FMT_YUYV8_1X16, +@@ -489,14 +496,40 @@ static const struct unicam_fmt *find_for + return NULL; + } + +-static const struct unicam_fmt *find_format_by_pix(u32 pixelformat) ++static int check_mbus_format(struct unicam_device *dev, ++ const struct unicam_fmt *format) ++{ ++ struct v4l2_subdev_mbus_code_enum mbus_code; ++ int ret = 0; ++ int i; ++ ++ for (i = 0; !ret && i < MAX_ENUM_MBUS_CODE; i++) { ++ memset(&mbus_code, 0, sizeof(mbus_code)); ++ mbus_code.index = i; ++ ++ ret = v4l2_subdev_call(dev->sensor, pad, enum_mbus_code, ++ NULL, &mbus_code); ++ ++ if (!ret && mbus_code.code == format->code) ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static const struct unicam_fmt *find_format_by_pix(struct unicam_device *dev, ++ u32 pixelformat) + { + unsigned int k; + + for (k = 0; k < ARRAY_SIZE(formats); k++) { + if (formats[k].fourcc == pixelformat || +- formats[k].repacked_fourcc == pixelformat) ++ formats[k].repacked_fourcc == pixelformat) { ++ if (formats[k].check_variants && ++ !check_mbus_format(dev, &formats[k])) ++ continue; + return &formats[k]; ++ } + } + + return NULL; +@@ -832,7 +865,7 @@ static int unicam_try_fmt_vid_cap(struct + struct v4l2_mbus_framefmt *mbus_fmt = &sd_fmt.format; + int ret; + +- fmt = find_format_by_pix(f->fmt.pix.pixelformat); ++ fmt = find_format_by_pix(dev, f->fmt.pix.pixelformat); + if (!fmt) { + /* Pixel format not supported by unicam. Choose the first + * supported format, and let the sensor choose something else. +@@ -917,7 +950,7 @@ static int unicam_s_fmt_vid_cap(struct f + if (ret < 0) + return ret; + +- fmt = find_format_by_pix(f->fmt.pix.pixelformat); ++ fmt = find_format_by_pix(dev, f->fmt.pix.pixelformat); + if (!fmt) { + /* Unknown pixel format - adopt a default. + * This shouldn't happen as try_fmt should have resolved any +@@ -1540,7 +1573,7 @@ static int unicam_enum_framesizes(struct + int ret; + + /* check for valid format */ +- fmt = find_format_by_pix(fsize->pixel_format); ++ fmt = find_format_by_pix(dev, fsize->pixel_format); + if (!fmt) { + unicam_dbg(3, dev, "Invalid pixel code: %x\n", + fsize->pixel_format); +@@ -1579,7 +1612,7 @@ static int unicam_enum_frameintervals(st + }; + int ret; + +- fmt = find_format_by_pix(fival->pixel_format); ++ fmt = find_format_by_pix(dev, fival->pixel_format); + if (!fmt) + return -EINVAL; + diff --git a/target/linux/brcm2708/patches-4.19/950-0739-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch b/target/linux/brcm2708/patches-4.19/950-0739-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch new file mode 100644 index 000000000..4291f9fee --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0739-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch @@ -0,0 +1,66 @@ +From b4f8b92cdfd8ad2e04cdd3f0a73aa4e95d172fb1 Mon Sep 17 00:00:00 2001 +From: Markus Proeller +Date: Thu, 10 Oct 2019 19:12:08 +0200 +Subject: [PATCH] dt-bindings: Add binding for the Infineon IRS1125 + sensor + +Adds a binding for the Infineon IRS1125 time-of-flight depth +sensor. + +Signed-off-by: Markus Proeller +--- + .../devicetree/bindings/media/i2c/irs1125.txt | 48 +++++++++++++++++++ + 1 file changed, 48 insertions(+) + create mode 100644 Documentation/devicetree/bindings/media/i2c/irs1125.txt + +--- /dev/null ++++ b/Documentation/devicetree/bindings/media/i2c/irs1125.txt +@@ -0,0 +1,48 @@ ++* Infineon irs1125 time of flight sensor ++ ++The Infineon irs1125 is a time of flight digital image sensor with ++an active array size of 352H x 286V. It is programmable through I2C ++interface. The I2C address defaults to 0x3D, but can be reconfigured ++to address 0x3C or 0x41 via I2C commands. Image data is sent through ++MIPI CSI-2, which is configured as either 1 or 2 data lanes. ++ ++Required Properties: ++- compatible: value should be "infineon,irs1125" for irs1125 sensor ++- reg: I2C bus address of the device ++- clocks: reference to the xclk input clock. ++- pwdn-gpios: reference to the GPIO connected to the reset pin. ++ This is an active low signal to the iirs1125. ++ ++The irs1125 device node should contain one 'port' child node with ++an 'endpoint' subnode. For further reading on port node refer to ++Documentation/devicetree/bindings/media/video-interfaces.txt. ++ ++Endpoint node required properties for CSI-2 connection are: ++- remote-endpoint: a phandle to the bus receiver's endpoint node. ++- clock-lanes: should be set to <0> (clock lane on hardware lane 0) ++- data-lanes: should be set to <1> or <1 2> (one or two lane CSI-2 ++ supported) ++ ++Example: ++ sensor@10 { ++ compatible = "infineon,irs1125"; ++ reg = <0x3D>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ clocks = <&irs1125_clk>; ++ pwdn-gpios = <&gpio 5 0>; ++ ++ irs1125_clk: camera-clk { ++ compatible = "fixed-clock"; ++ #clock-cells = <0>; ++ clock-frequency = <26000000>; ++ }; ++ ++ port { ++ sensor_out: endpoint { ++ remote-endpoint = <&csiss_in>; ++ clock-lanes = <0>; ++ data-lanes = <1 2>; ++ }; ++ }; ++ }; diff --git a/target/linux/brcm2708/patches-4.19/950-0740-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch b/target/linux/brcm2708/patches-4.19/950-0740-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch new file mode 100644 index 000000000..9b882fc8f --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0740-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch @@ -0,0 +1,1231 @@ +From c09b42cb057ddf8bd20d57c6b0ffd94f3e15ea7c Mon Sep 17 00:00:00 2001 +From: Markus Proeller +Date: Thu, 10 Oct 2019 19:12:36 +0200 +Subject: [PATCH] media: i2c: Add a driver for the Infineon IRS1125 + depth sensor + +The Infineon IRS1125 is a time of flight depth sensor that +has a CSI-2 interface. + +Add a V4L2 subdevice driver for this device. + +Signed-off-by: Markus Proeller +--- + drivers/media/i2c/Kconfig | 12 + + drivers/media/i2c/Makefile | 1 + + drivers/media/i2c/irs1125.c | 1112 +++++++++++++++++++++++++++++++++++ + drivers/media/i2c/irs1125.h | 61 ++ + 4 files changed, 1186 insertions(+) + create mode 100644 drivers/media/i2c/irs1125.c + create mode 100644 drivers/media/i2c/irs1125.h + +--- a/drivers/media/i2c/Kconfig ++++ b/drivers/media/i2c/Kconfig +@@ -813,6 +813,18 @@ config VIDEO_OV13858 + This is a Video4Linux2 sensor driver for the OmniVision + OV13858 camera. + ++config VIDEO_IRS1125 ++ tristate "Infineon IRS1125 sensor support" ++ depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API ++ depends on MEDIA_CAMERA_SUPPORT ++ select V4L2_FWNODE ++ help ++ This is a Video4Linux2 sensor-level driver for the Infineon ++ IRS1125 camera. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called irs1125. ++ + config VIDEO_VS6624 + tristate "ST VS6624 sensor support" + depends on VIDEO_V4L2 && I2C +--- a/drivers/media/i2c/Makefile ++++ b/drivers/media/i2c/Makefile +@@ -80,6 +80,7 @@ obj-$(CONFIG_VIDEO_OV772X) += ov772x.o + obj-$(CONFIG_VIDEO_OV7740) += ov7740.o + obj-$(CONFIG_VIDEO_OV9650) += ov9650.o + obj-$(CONFIG_VIDEO_OV13858) += ov13858.o ++obj-$(CONFIG_VIDEO_IRS1125) += irs1125.o + obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o + obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o + obj-$(CONFIG_VIDEO_MT9P031) += mt9p031.o +--- /dev/null ++++ b/drivers/media/i2c/irs1125.c +@@ -0,0 +1,1112 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * A V4L2 driver for Infineon IRS1125 TOF cameras. ++ * Copyright (C) 2018, pieye GmbH ++ * ++ * Based on V4L2 OmniVision OV5647 Image Sensor driver ++ * Copyright (C) 2016 Ramiro Oliveira ++ * ++ * DT / fwnode changes, and GPIO control taken from ov5640.c ++ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved. ++ * Copyright (C) 2014-2017 Mentor Graphics Inc. ++ * ++ */ ++ ++#include "irs1125.h" ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define CHECK_BIT(val, pos) ((val) & BIT(pos)) ++ ++#define SENSOR_NAME "irs1125" ++ ++#define RESET_ACTIVE_DELAY_MS 20 ++ ++#define IRS1125_ALTERNATE_FW "irs1125_af.bin" ++ ++#define IRS1125_REG_CSICFG 0xA882 ++#define IRS1125_REG_DESIGN_STEP 0xB0AD ++#define IRS1125_REG_EFUSEVAL2 0xB09F ++#define IRS1125_REG_EFUSEVAL3 0xB0A0 ++#define IRS1125_REG_EFUSEVAL4 0xB0A1 ++#define IRS1125_REG_DMEM_SHADOW 0xC320 ++ ++#define IRS1125_DESIGN_STEP_EXPECTED 0x0a12 ++ ++#define IRS1125_ROW_START_DEF 0 ++#define IRS1125_COLUMN_START_DEF 0 ++#define IRS1125_WINDOW_HEIGHT_DEF 288 ++#define IRS1125_WINDOW_WIDTH_DEF 352 ++ ++struct regval_list { ++ u16 addr; ++ u16 data; ++}; ++ ++struct irs1125 { ++ struct v4l2_subdev sd; ++ struct media_pad pad; ++ /* the parsed DT endpoint info */ ++ struct v4l2_fwnode_endpoint ep; ++ ++ struct clk *xclk; ++ struct v4l2_ctrl_handler ctrl_handler; ++ ++ /* To serialize asynchronus callbacks */ ++ struct mutex lock; ++ ++ /* image data layout */ ++ unsigned int num_seq; ++ ++ /* reset pin */ ++ struct gpio_desc *reset; ++ ++ /* V4l2 Controls to grab */ ++ struct v4l2_ctrl *ctrl_modplls; ++ struct v4l2_ctrl *ctrl_numseq; ++ ++ int power_count; ++}; ++ ++static inline struct irs1125 *to_state(struct v4l2_subdev *sd) ++{ ++ return container_of(sd, struct irs1125, sd); ++} ++ ++static struct regval_list irs1125_26MHz[] = { ++ {0xB017, 0x0413}, ++ {0xB086, 0x3535}, ++ {0xB0AE, 0xEF02}, ++ {0xA000, 0x0004}, ++ {0xFFFF, 100}, ++ ++ {0xB062, 0x6383}, ++ {0xB063, 0x55A8}, ++ {0xB068, 0x7628}, ++ {0xB069, 0x03E2}, ++ ++ {0xFFFF, 100}, ++ {0xB05A, 0x01C5}, ++ {0xB05C, 0x0206}, ++ {0xB05D, 0x01C5}, ++ {0xB05F, 0x0206}, ++ {0xB016, 0x1335}, ++ {0xFFFF, 100}, ++ {0xA893, 0x8261}, ++ {0xA894, 0x89d8}, ++ {0xA895, 0x131d}, ++ {0xA896, 0x4251}, ++ {0xA897, 0x9D8A}, ++ {0xA898, 0x0BD8}, ++ {0xA899, 0x2245}, ++ {0xA89A, 0xAB9B}, ++ {0xA89B, 0x03B9}, ++ {0xA89C, 0x8041}, ++ {0xA89D, 0xE07E}, ++ {0xA89E, 0x0307}, ++ {0xFFFF, 100}, ++ {0xA88D, 0x0004}, ++ {0xA800, 0x0E68}, ++ {0xA801, 0x0000}, ++ {0xA802, 0x000C}, ++ {0xA803, 0x0000}, ++ {0xA804, 0x0E68}, ++ {0xA805, 0x0000}, ++ {0xA806, 0x0440}, ++ {0xA807, 0x0000}, ++ {0xA808, 0x0E68}, ++ {0xA809, 0x0000}, ++ {0xA80A, 0x0884}, ++ {0xA80B, 0x0000}, ++ {0xA80C, 0x0E68}, ++ {0xA80D, 0x0000}, ++ {0xA80E, 0x0CC8}, ++ {0xA80F, 0x0000}, ++ {0xA810, 0x0E68}, ++ {0xA811, 0x0000}, ++ {0xA812, 0x2000}, ++ {0xA813, 0x0000}, ++ {0xA882, 0x0081}, ++ {0xA88C, 0x403A}, ++ {0xA88F, 0x031E}, ++ {0xA892, 0x0351}, ++ {0x9813, 0x13FF}, ++ {0x981B, 0x7608}, ++ ++ {0xB008, 0x0000}, ++ {0xB015, 0x1513}, ++ ++ {0xFFFF, 100} ++}; ++ ++static struct regval_list irs1125_seq_cfg[] = { ++ {0xC3A0, 0x823D}, ++ {0xC3A1, 0xB13B}, ++ {0xC3A2, 0x0313}, ++ {0xC3A3, 0x4659}, ++ {0xC3A4, 0xC4EC}, ++ {0xC3A5, 0x03CE}, ++ {0xC3A6, 0x4259}, ++ {0xC3A7, 0xC4EC}, ++ {0xC3A8, 0x03CE}, ++ {0xC3A9, 0x8839}, ++ {0xC3AA, 0x89D8}, ++ {0xC3AB, 0x031D}, ++ ++ {0xC24C, 0x5529}, ++ {0xC24D, 0x0000}, ++ {0xC24E, 0x1200}, ++ {0xC24F, 0x6CB2}, ++ {0xC250, 0x0000}, ++ {0xC251, 0x5529}, ++ {0xC252, 0x42F4}, ++ {0xC253, 0xD1AF}, ++ {0xC254, 0x8A18}, ++ {0xC255, 0x0002}, ++ {0xC256, 0x5529}, ++ {0xC257, 0x6276}, ++ {0xC258, 0x11A7}, ++ {0xC259, 0xD907}, ++ {0xC25A, 0x0000}, ++ {0xC25B, 0x5529}, ++ {0xC25C, 0x07E0}, ++ {0xC25D, 0x7BFE}, ++ {0xC25E, 0x6402}, ++ {0xC25F, 0x0019}, ++ ++ {0xC3AC, 0x0007}, ++ {0xC3AD, 0xED88}, ++ {0xC320, 0x003E}, ++ {0xC321, 0x0000}, ++ {0xC322, 0x2000}, ++ {0xC323, 0x0000}, ++ {0xC324, 0x0271}, ++ {0xC325, 0x0000}, ++ {0xC326, 0x000C}, ++ {0xC327, 0x0000}, ++ {0xC328, 0x0271}, ++ {0xC329, 0x0000}, ++ {0xC32A, 0x0440}, ++ {0xC32B, 0x0000}, ++ {0xC32C, 0x0271}, ++ {0xC32D, 0x0000}, ++ {0xC32E, 0x0884}, ++ {0xC32F, 0x0000}, ++ {0xC330, 0x0271}, ++ {0xC331, 0x0000}, ++ {0xC332, 0x0CC8}, ++ {0xC333, 0x0000}, ++ {0xA88D, 0x0004}, ++ ++ {0xA890, 0x0000}, ++ {0xC219, 0x0002}, ++ {0xC21A, 0x0000}, ++ {0xC21B, 0x0000}, ++ {0xC21C, 0x00CD}, ++ {0xC21D, 0x0009}, ++ {0xC21E, 0x00CD}, ++ {0xC21F, 0x0009}, ++ ++ {0xA87C, 0x0000}, ++ {0xC032, 0x0001}, ++ {0xC034, 0x0000}, ++ {0xC035, 0x0001}, ++ {0xC039, 0x0000}, ++ {0xC401, 0x0002}, ++ ++ {0xFFFF, 1}, ++ {0xA87C, 0x0001} ++}; ++ ++static int irs1125_write(struct v4l2_subdev *sd, u16 reg, u16 val) ++{ ++ int ret; ++ unsigned char data[4] = { reg >> 8, reg & 0xff, val >> 8, val & 0xff}; ++ struct i2c_client *client = v4l2_get_subdevdata(sd); ++ ++ ret = i2c_master_send(client, data, 4); ++ if (ret < 0) ++ dev_err(&client->dev, "%s: i2c write error, reg: %x\n", ++ __func__, reg); ++ ++ return ret; ++} ++ ++static int irs1125_read(struct v4l2_subdev *sd, u16 reg, u16 *val) ++{ ++ int ret; ++ unsigned char data_w[2] = { reg >> 8, reg & 0xff }; ++ char rdval[2]; ++ ++ struct i2c_client *client = v4l2_get_subdevdata(sd); ++ ++ ret = i2c_master_send(client, data_w, 2); ++ if (ret < 0) { ++ dev_dbg(&client->dev, "%s: i2c write error, reg: %x\n", ++ __func__, reg); ++ return ret; ++ } ++ ++ ret = i2c_master_recv(client, rdval, 2); ++ if (ret < 0) ++ dev_err(&client->dev, "%s: i2c read error, reg: %x\n", ++ __func__, reg); ++ ++ *val = rdval[1] | (rdval[0] << 8); ++ ++ return ret; ++} ++ ++static int irs1125_write_array(struct v4l2_subdev *sd, ++ struct regval_list *regs, int array_size) ++{ ++ int i, ret; ++ ++ for (i = 0; i < array_size; i++) { ++ if (regs[i].addr == 0xFFFF) { ++ msleep(regs[i].data); ++ } else { ++ ret = irs1125_write(sd, regs[i].addr, regs[i].data); ++ if (ret < 0) ++ return ret; ++ } ++ } ++ ++ return 0; ++} ++ ++static int irs1125_stream_on(struct v4l2_subdev *sd) ++{ ++ int ret; ++ struct irs1125 *irs1125 = to_state(sd); ++ struct i2c_client *client = v4l2_get_subdevdata(sd); ++ ++ v4l2_ctrl_grab(irs1125->ctrl_numseq, 1); ++ v4l2_ctrl_grab(irs1125->ctrl_modplls, 1); ++ ++ ret = irs1125_write(sd, 0xC400, 0x0001); ++ if (ret < 0) { ++ dev_err(&client->dev, "error enabling firmware: %d", ret); ++ return ret; ++ } ++ ++ msleep(100); ++ ++ return irs1125_write(sd, 0xA87C, 0x0001); ++} ++ ++static int irs1125_stream_off(struct v4l2_subdev *sd) ++{ ++ int ret; ++ struct irs1125 *irs1125 = to_state(sd); ++ struct i2c_client *client = v4l2_get_subdevdata(sd); ++ ++ v4l2_ctrl_grab(irs1125->ctrl_numseq, 0); ++ v4l2_ctrl_grab(irs1125->ctrl_modplls, 0); ++ ++ ret = irs1125_write(sd, 0xA87C, 0x0000); ++ if (ret < 0) { ++ dev_err(&client->dev, "error disabling trigger: %d", ret); ++ return ret; ++ } ++ ++ msleep(100); ++ ++ return irs1125_write(sd, 0xC400, 0x0002); ++} ++ ++static int __sensor_init(struct v4l2_subdev *sd) ++{ ++ unsigned int cnt, idx; ++ int ret; ++ u16 val; ++ struct i2c_client *client = v4l2_get_subdevdata(sd); ++ struct irs1125 *irs1125 = to_state(sd); ++ const struct firmware *fw; ++ struct regval_list *reg_data; ++ ++ cnt = 0; ++ while (1) { ++ ret = irs1125_read(sd, 0xC40F, &val); ++ if (ret < 0) { ++ dev_err(&client->dev, "read register 0xC40F failed\n"); ++ return ret; ++ } ++ if (CHECK_BIT(val, 14) == 0) ++ break; ++ ++ if (cnt >= 5) { ++ dev_err(&client->dev, "timeout waiting for 0xC40F\n"); ++ return -EAGAIN; ++ } ++ ++ cnt++; ++ } ++ ++ ret = irs1125_write_array(sd, irs1125_26MHz, ++ ARRAY_SIZE(irs1125_26MHz)); ++ if (ret < 0) { ++ dev_err(&client->dev, "write sensor default regs error\n"); ++ return ret; ++ } ++ ++ /* set CSI-2 number of data lanes */ ++ if (irs1125->ep.bus.mipi_csi2.num_data_lanes == 1) { ++ val = 0x0001; ++ } else if (irs1125->ep.bus.mipi_csi2.num_data_lanes == 2) { ++ val = 0x0081; ++ } else { ++ dev_err(&client->dev, "invalid number of data lanes %d\n", ++ irs1125->ep.bus.mipi_csi2.num_data_lanes); ++ return -EINVAL; ++ } ++ ++ ret = irs1125_write(sd, IRS1125_REG_CSICFG, val); ++ if (ret < 0) { ++ dev_err(&client->dev, "write sensor csi2 config error\n"); ++ return ret; ++ } ++ ++ /* request the firmware, this will block and timeout */ ++ ret = request_firmware(&fw, IRS1125_ALTERNATE_FW, &client->dev); ++ if (ret) { ++ dev_err(&client->dev, ++ "did not find the firmware file '%s' (status %d)\n", ++ IRS1125_ALTERNATE_FW, ret); ++ return ret; ++ } ++ ++ if (fw->size % 4) { ++ dev_err(&client->dev, "firmware file '%s' invalid\n", ++ IRS1125_ALTERNATE_FW); ++ release_firmware(fw); ++ return -EINVAL; ++ } ++ ++ for (idx = 0; idx < fw->size; idx += 4) { ++ reg_data = (struct regval_list *)&fw->data[idx]; ++ ret = irs1125_write(sd, reg_data->addr, reg_data->data); ++ if (ret < 0) { ++ dev_err(&client->dev, "firmware write error\n"); ++ release_firmware(fw); ++ return ret; ++ } ++ } ++ release_firmware(fw); ++ ++ ret = irs1125_write_array(sd, irs1125_seq_cfg, ++ ARRAY_SIZE(irs1125_seq_cfg)); ++ if (ret < 0) { ++ dev_err(&client->dev, "write default sequence failed\n"); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static int irs1125_sensor_power(struct v4l2_subdev *sd, int on) ++{ ++ int ret = 0; ++ struct irs1125 *irs1125 = to_state(sd); ++ struct i2c_client *client = v4l2_get_subdevdata(sd); ++ ++ mutex_lock(&irs1125->lock); ++ ++ if (on && !irs1125->power_count) { ++ gpiod_set_value_cansleep(irs1125->reset, 1); ++ msleep(RESET_ACTIVE_DELAY_MS); ++ ++ ret = clk_prepare_enable(irs1125->xclk); ++ if (ret < 0) { ++ dev_err(&client->dev, "clk prepare enable failed\n"); ++ goto out; ++ } ++ ++ ret = __sensor_init(sd); ++ if (ret < 0) { ++ clk_disable_unprepare(irs1125->xclk); ++ dev_err(&client->dev, ++ "Camera not available, check Power\n"); ++ goto out; ++ } ++ } else if (!on && irs1125->power_count == 1) { ++ gpiod_set_value_cansleep(irs1125->reset, 0); ++ } ++ ++ /* Update the power count. */ ++ irs1125->power_count += on ? 1 : -1; ++ WARN_ON(irs1125->power_count < 0); ++ ++out: ++ mutex_unlock(&irs1125->lock); ++ ++ return ret; ++} ++ ++#ifdef CONFIG_VIDEO_ADV_DEBUG ++static int irs1125_sensor_get_register(struct v4l2_subdev *sd, ++ struct v4l2_dbg_register *reg) ++{ ++ u16 val; ++ int ret; ++ ++ ret = irs1125_read(sd, reg->reg & 0xffff, &val); ++ if (ret < 0) ++ return ret; ++ ++ reg->val = val; ++ reg->size = 1; ++ ++ return 0; ++} ++ ++static int irs1125_sensor_set_register(struct v4l2_subdev *sd, ++ const struct v4l2_dbg_register *reg) ++{ ++ return irs1125_write(sd, reg->reg & 0xffff, reg->val & 0xffff); ++} ++#endif ++ ++static const struct v4l2_subdev_core_ops irs1125_subdev_core_ops = { ++ .s_power = irs1125_sensor_power, ++#ifdef CONFIG_VIDEO_ADV_DEBUG ++ .g_register = irs1125_sensor_get_register, ++ .s_register = irs1125_sensor_set_register, ++#endif ++}; ++ ++static int irs1125_s_stream(struct v4l2_subdev *sd, int enable) ++{ ++ if (enable) ++ return irs1125_stream_on(sd); ++ else ++ return irs1125_stream_off(sd); ++} ++ ++static const struct v4l2_subdev_video_ops irs1125_subdev_video_ops = { ++ .s_stream = irs1125_s_stream, ++}; ++ ++static int irs1125_enum_mbus_code(struct v4l2_subdev *sd, ++ struct v4l2_subdev_pad_config *cfg, ++ struct v4l2_subdev_mbus_code_enum *code) ++{ ++ if (code->index > 0) ++ return -EINVAL; ++ ++ code->code = MEDIA_BUS_FMT_Y12_1X12; ++ ++ return 0; ++} ++ ++static int irs1125_set_get_fmt(struct v4l2_subdev *sd, ++ struct v4l2_subdev_pad_config *cfg, ++ struct v4l2_subdev_format *format) ++{ ++ struct v4l2_mbus_framefmt *fmt = &format->format; ++ struct irs1125 *irs1125 = to_state(sd); ++ ++ if (format->pad != 0) ++ return -EINVAL; ++ ++ /* Only one format is supported, so return that */ ++ memset(fmt, 0, sizeof(*fmt)); ++ fmt->code = MEDIA_BUS_FMT_Y12_1X12; ++ fmt->colorspace = V4L2_COLORSPACE_RAW; ++ fmt->field = V4L2_FIELD_NONE; ++ fmt->width = IRS1125_WINDOW_WIDTH_DEF; ++ fmt->height = IRS1125_WINDOW_HEIGHT_DEF * irs1125->num_seq; ++ ++ return 0; ++} ++ ++static const struct v4l2_subdev_pad_ops irs1125_subdev_pad_ops = { ++ .enum_mbus_code = irs1125_enum_mbus_code, ++ .set_fmt = irs1125_set_get_fmt, ++ .get_fmt = irs1125_set_get_fmt, ++}; ++ ++static const struct v4l2_subdev_ops irs1125_subdev_ops = { ++ .core = &irs1125_subdev_core_ops, ++ .video = &irs1125_subdev_video_ops, ++ .pad = &irs1125_subdev_pad_ops, ++}; ++ ++static int irs1125_s_ctrl(struct v4l2_ctrl *ctrl) ++{ ++ struct irs1125 *dev = container_of(ctrl->handler, ++ struct irs1125, ctrl_handler); ++ struct i2c_client *client = v4l2_get_subdevdata(&dev->sd); ++ int err, i; ++ struct irs1125_mod_pll *mod_cur, *mod_new; ++ struct irs1125_seq_cfg *cfg_cur, *cfg_new; ++ u16 addr, val; ++ ++ err = 0; ++ ++ switch (ctrl->id) { ++ case IRS1125_CID_SAFE_RECONFIG: ++ { ++ struct irs1125_illu *illu_cur, *illu_new; ++ ++ illu_new = (struct irs1125_illu *)ctrl->p_new.p; ++ illu_cur = (struct irs1125_illu *)ctrl->p_cur.p; ++ for (i = 0; i < IRS1125_NUM_SEQ_ENTRIES; i++) { ++ if (illu_cur[i].exposure != illu_new[i].exposure) { ++ addr = 0xA850 + i * 2; ++ val = illu_new[i].exposure; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (illu_cur[i].framerate != illu_new[i].framerate) { ++ addr = 0xA851 + i * 2; ++ val = illu_new[i].framerate; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ } ++ break; ++ } ++ case IRS1125_CID_MOD_PLL: ++ mod_new = (struct irs1125_mod_pll *)ctrl->p_new.p; ++ mod_cur = (struct irs1125_mod_pll *)ctrl->p_cur.p; ++ for (i = 0; i < IRS1125_NUM_MOD_PLLS; i++) { ++ if (mod_cur[i].pllcfg1 != mod_new[i].pllcfg1) { ++ addr = 0xC3A0 + i * 3; ++ val = mod_new[i].pllcfg1; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (mod_cur[i].pllcfg2 != mod_new[i].pllcfg2) { ++ addr = 0xC3A1 + i * 3; ++ val = mod_new[i].pllcfg2; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (mod_cur[i].pllcfg3 != mod_new[i].pllcfg3) { ++ addr = 0xC3A2 + i * 3; ++ val = mod_new[i].pllcfg3; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (mod_cur[i].pllcfg4 != mod_new[i].pllcfg4) { ++ addr = 0xC24C + i * 5; ++ val = mod_new[i].pllcfg4; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (mod_cur[i].pllcfg5 != mod_new[i].pllcfg5) { ++ addr = 0xC24D + i * 5; ++ val = mod_new[i].pllcfg5; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (mod_cur[i].pllcfg6 != mod_new[i].pllcfg6) { ++ addr = 0xC24E + i * 5; ++ val = mod_new[i].pllcfg6; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (mod_cur[i].pllcfg7 != mod_new[i].pllcfg7) { ++ addr = 0xC24F + i * 5; ++ val = mod_new[i].pllcfg7; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (mod_cur[i].pllcfg8 != mod_new[i].pllcfg8) { ++ addr = 0xC250 + i * 5; ++ val = mod_new[i].pllcfg8; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ } ++ break; ++ case IRS1125_CID_SEQ_CONFIG: ++ cfg_new = (struct irs1125_seq_cfg *)ctrl->p_new.p; ++ cfg_cur = (struct irs1125_seq_cfg *)ctrl->p_cur.p; ++ for (i = 0; i < IRS1125_NUM_SEQ_ENTRIES; i++) { ++ if (cfg_cur[i].exposure != cfg_new[i].exposure) { ++ addr = IRS1125_REG_DMEM_SHADOW + i * 4; ++ val = cfg_new[i].exposure; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (cfg_cur[i].framerate != cfg_new[i].framerate) { ++ addr = IRS1125_REG_DMEM_SHADOW + 1 + i * 4; ++ val = cfg_new[i].framerate; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (cfg_cur[i].ps != cfg_new[i].ps) { ++ addr = IRS1125_REG_DMEM_SHADOW + 2 + i * 4; ++ val = cfg_new[i].ps; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ if (cfg_cur[i].pll != cfg_new[i].pll) { ++ addr = IRS1125_REG_DMEM_SHADOW + 3 + i * 4; ++ val = cfg_new[i].pll; ++ err = irs1125_write(&dev->sd, addr, val); ++ if (err < 0) ++ break; ++ } ++ } ++ break; ++ case IRS1125_CID_NUM_SEQS: ++ err = irs1125_write(&dev->sd, 0xA88D, ctrl->val - 1); ++ if (err >= 0) ++ dev->num_seq = ctrl->val; ++ break; ++ case IRS1125_CID_CONTINUOUS_TRIG: ++ if (ctrl->val == 0) ++ err = irs1125_write(&dev->sd, 0xA87C, 0); ++ else ++ err = irs1125_write(&dev->sd, 0xA87C, 1); ++ break; ++ case IRS1125_CID_TRIGGER: ++ if (ctrl->val != 0) { ++ err = irs1125_write(&dev->sd, 0xA87C, 1); ++ if (err >= 0) ++ err = irs1125_write(&dev->sd, 0xA87C, 0); ++ } ++ break; ++ case IRS1125_CID_RECONFIG: ++ if (ctrl->val != 0) ++ err = irs1125_write(&dev->sd, 0xA87A, 1); ++ break; ++ case IRS1125_CID_ILLU_ON: ++ if (ctrl->val == 0) ++ err = irs1125_write(&dev->sd, 0xA892, 0x377); ++ else ++ err = irs1125_write(&dev->sd, 0xA892, 0x355); ++ break; ++ default: ++ break; ++ } ++ ++ if (err < 0) ++ dev_err(&client->dev, "Error executing control ID: %d, val %d, err %d", ++ ctrl->id, ctrl->val, err); ++ else ++ err = 0; ++ ++ return err; ++} ++ ++static const struct v4l2_ctrl_ops irs1125_ctrl_ops = { ++ .s_ctrl = irs1125_s_ctrl, ++}; ++ ++static const struct v4l2_ctrl_config irs1125_custom_ctrls[] = { ++ { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_NUM_SEQS, ++ .name = "Change number of sequences", ++ .type = V4L2_CTRL_TYPE_INTEGER, ++ .flags = V4L2_CTRL_FLAG_MODIFY_LAYOUT, ++ .min = 1, ++ .max = 20, ++ .step = 1, ++ .def = 5, ++ }, { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_MOD_PLL, ++ .name = "Reconfigure modulation PLLs", ++ .type = V4L2_CTRL_TYPE_U16, ++ .flags = V4L2_CTRL_FLAG_HAS_PAYLOAD, ++ .min = 0, ++ .max = U16_MAX, ++ .step = 1, ++ .def = 0, ++ .elem_size = sizeof(u16), ++ .dims = {sizeof(struct irs1125_mod_pll) / sizeof(u16), ++ IRS1125_NUM_MOD_PLLS} ++ }, { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_SAFE_RECONFIG, ++ .name = "Change exposure and pause of single seq", ++ .type = V4L2_CTRL_TYPE_U16, ++ .flags = V4L2_CTRL_FLAG_HAS_PAYLOAD, ++ .min = 0, ++ .max = U16_MAX, ++ .step = 1, ++ .def = 0, ++ .elem_size = sizeof(u16), ++ .dims = {sizeof(struct irs1125_illu) / sizeof(u16), ++ IRS1125_NUM_SEQ_ENTRIES} ++ }, { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_SEQ_CONFIG, ++ .name = "Change sequence settings", ++ .type = V4L2_CTRL_TYPE_U16, ++ .flags = V4L2_CTRL_FLAG_HAS_PAYLOAD, ++ .min = 0, ++ .max = U16_MAX, ++ .step = 1, ++ .def = 0, ++ .elem_size = sizeof(u16), ++ .dims = {sizeof(struct irs1125_seq_cfg) / sizeof(u16), ++ IRS1125_NUM_SEQ_ENTRIES} ++ }, { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_CONTINUOUS_TRIG, ++ .name = "Enable/disable continuous trigger", ++ .type = V4L2_CTRL_TYPE_BOOLEAN, ++ .flags = V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, ++ .min = 0, ++ .max = 1, ++ .step = 1, ++ .def = 0 ++ }, { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_TRIGGER, ++ .name = "Capture a single sequence", ++ .type = V4L2_CTRL_TYPE_BOOLEAN, ++ .flags = V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, ++ .min = 0, ++ .max = 1, ++ .step = 1, ++ .def = 0 ++ }, { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_RECONFIG, ++ .name = "Trigger imager reconfiguration", ++ .type = V4L2_CTRL_TYPE_BOOLEAN, ++ .flags = V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, ++ .min = 0, ++ .max = 1, ++ .step = 1, ++ .def = 0 ++ }, { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_ILLU_ON, ++ .name = "Turn illu on or off", ++ .type = V4L2_CTRL_TYPE_BOOLEAN, ++ .flags = V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, ++ .min = 0, ++ .max = 1, ++ .step = 1, ++ .def = 1 ++ }, { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_IDENT0, ++ .name = "Get ident 0 information", ++ .type = V4L2_CTRL_TYPE_INTEGER, ++ .flags = V4L2_CTRL_FLAG_READ_ONLY, ++ .min = S32_MIN, ++ .max = S32_MAX, ++ .step = 1, ++ .def = 0 ++ }, { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_IDENT1, ++ .name = "Get ident 1 information", ++ .type = V4L2_CTRL_TYPE_INTEGER, ++ .flags = V4L2_CTRL_FLAG_READ_ONLY, ++ .min = S32_MIN, ++ .max = S32_MAX, ++ .step = 1, ++ .def = 0 ++ }, { ++ .ops = &irs1125_ctrl_ops, ++ .id = IRS1125_CID_IDENT2, ++ .name = "Get ident 2 information", ++ .type = V4L2_CTRL_TYPE_INTEGER, ++ .flags = V4L2_CTRL_FLAG_READ_ONLY, ++ .min = S32_MIN, ++ .max = S32_MAX, ++ .step = 1, ++ .def = 0 ++ } ++}; ++ ++static int irs1125_detect(struct v4l2_subdev *sd) ++{ ++ u16 read; ++ int ret; ++ struct i2c_client *client = v4l2_get_subdevdata(sd); ++ ++ ret = irs1125_read(sd, IRS1125_REG_DESIGN_STEP, &read); ++ if (ret < 0) { ++ dev_err(&client->dev, "error reading from i2c\n"); ++ return ret; ++ } ++ ++ if (read != IRS1125_DESIGN_STEP_EXPECTED) { ++ dev_err(&client->dev, "Design step expected 0x%x got 0x%x", ++ IRS1125_DESIGN_STEP_EXPECTED, read); ++ return -ENODEV; ++ } ++ ++ return 0; ++} ++ ++static int irs1125_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) ++{ ++ struct v4l2_mbus_framefmt *format = ++ v4l2_subdev_get_try_format(sd, fh->pad, 0); ++ ++ format->code = MEDIA_BUS_FMT_Y12_1X12; ++ format->width = IRS1125_WINDOW_WIDTH_DEF; ++ format->height = IRS1125_WINDOW_HEIGHT_DEF; ++ format->field = V4L2_FIELD_NONE; ++ format->colorspace = V4L2_COLORSPACE_RAW; ++ ++ return 0; ++} ++ ++static const struct v4l2_subdev_internal_ops irs1125_subdev_internal_ops = { ++ .open = irs1125_open, ++}; ++ ++static int irs1125_ctrls_init(struct irs1125 *sensor, struct device *dev) ++{ ++ struct v4l2_ctrl *ctrl; ++ int err, i; ++ struct v4l2_ctrl_handler *hdl; ++ ++ hdl = &sensor->ctrl_handler; ++ v4l2_ctrl_handler_init(hdl, ARRAY_SIZE(irs1125_custom_ctrls)); ++ ++ for (i = 0; i < ARRAY_SIZE(irs1125_custom_ctrls); i++) { ++ ctrl = v4l2_ctrl_new_custom(hdl, &irs1125_custom_ctrls[i], ++ NULL); ++ if (!ctrl) ++ dev_err(dev, "Failed to init custom control %s\n", ++ irs1125_custom_ctrls[i].name); ++ else if (irs1125_custom_ctrls[i].id == IRS1125_CID_NUM_SEQS) ++ sensor->ctrl_numseq = ctrl; ++ else if (irs1125_custom_ctrls[i].id == IRS1125_CID_MOD_PLL) ++ sensor->ctrl_modplls = ctrl; ++ } ++ ++ if (hdl->error) { ++ dev_err(dev, "Error %d adding controls\n", hdl->error); ++ err = hdl->error; ++ goto error_ctrls; ++ } ++ ++ sensor->sd.ctrl_handler = hdl; ++ return 0; ++ ++error_ctrls: ++ v4l2_ctrl_handler_free(&sensor->ctrl_handler); ++ return -err; ++} ++ ++static int irs1125_ident_setup(struct irs1125 *sensor, struct device *dev) ++{ ++ int ret; ++ struct v4l2_ctrl *ctrl; ++ struct v4l2_subdev *sd; ++ u16 read; ++ ++ sd = &sensor->sd; ++ ++ ctrl = v4l2_ctrl_find(&sensor->ctrl_handler, IRS1125_CID_IDENT0); ++ if (!ctrl) { ++ dev_err(dev, "could not find device ctrl.\n"); ++ return -EINVAL; ++ } ++ ++ ret = irs1125_read(sd, IRS1125_REG_EFUSEVAL2, &read); ++ if (ret < 0) { ++ dev_err(dev, "error reading from i2c\n"); ++ return -EIO; ++ } ++ ++ v4l2_ctrl_s_ctrl(ctrl, read); ++ ++ ctrl = v4l2_ctrl_find(&sensor->ctrl_handler, IRS1125_CID_IDENT1); ++ if (!ctrl) { ++ dev_err(dev, "could not find device ctrl.\n"); ++ return -EINVAL; ++ } ++ ++ ret = irs1125_read(sd, IRS1125_REG_EFUSEVAL3, &read); ++ if (ret < 0) { ++ dev_err(dev, "error reading from i2c\n"); ++ return -EIO; ++ } ++ ++ v4l2_ctrl_s_ctrl(ctrl, read); ++ ++ ctrl = v4l2_ctrl_find(&sensor->ctrl_handler, IRS1125_CID_IDENT2); ++ if (!ctrl) { ++ dev_err(dev, "could not find device ctrl.\n"); ++ return -EINVAL; ++ } ++ ++ ret = irs1125_read(sd, IRS1125_REG_EFUSEVAL4, &read); ++ if (ret < 0) { ++ dev_err(dev, "error reading from i2c\n"); ++ return -EIO; ++ } ++ v4l2_ctrl_s_ctrl(ctrl, read & 0xFFFC); ++ ++ return 0; ++} ++ ++static int irs1125_probe(struct i2c_client *client, ++ const struct i2c_device_id *id) ++{ ++ struct device *dev = &client->dev; ++ struct irs1125 *sensor; ++ int ret; ++ struct fwnode_handle *endpoint; ++ u32 xclk_freq; ++ int gpio_num; ++ ++ sensor = devm_kzalloc(dev, sizeof(*sensor), GFP_KERNEL); ++ if (!sensor) ++ return -ENOMEM; ++ ++ v4l2_i2c_subdev_init(&sensor->sd, client, &irs1125_subdev_ops); ++ ++ /* Get CSI2 bus config */ ++ endpoint = fwnode_graph_get_next_endpoint(dev_fwnode(dev), ++ NULL); ++ if (!endpoint) { ++ dev_err(dev, "endpoint node not found\n"); ++ return -EINVAL; ++ } ++ ++ ret = v4l2_fwnode_endpoint_parse(endpoint, &sensor->ep); ++ fwnode_handle_put(endpoint); ++ if (ret) { ++ dev_err(dev, "Could not parse endpoint\n"); ++ return ret; ++ } ++ ++ /* get system clock (xclk) */ ++ sensor->xclk = devm_clk_get(dev, NULL); ++ if (IS_ERR(sensor->xclk)) { ++ dev_err(dev, "could not get xclk"); ++ return PTR_ERR(sensor->xclk); ++ } ++ ++ xclk_freq = clk_get_rate(sensor->xclk); ++ if (xclk_freq != 26000000) { ++ dev_err(dev, "Unsupported clock frequency: %u\n", xclk_freq); ++ return -EINVAL; ++ } ++ ++ sensor->num_seq = 5; ++ ++ /* Request the power down GPIO */ ++ sensor->reset = devm_gpiod_get(&client->dev, "pwdn", ++ GPIOD_OUT_LOW); ++ ++ if (IS_ERR(sensor->reset)) { ++ dev_err(dev, "could not get reset"); ++ return PTR_ERR(sensor->reset); ++ } ++ ++ gpio_num = desc_to_gpio(sensor->reset); ++ ++ mutex_init(&sensor->lock); ++ ++ ret = irs1125_ctrls_init(sensor, dev); ++ if (ret < 0) ++ goto mutex_remove; ++ ++ sensor->sd.internal_ops = &irs1125_subdev_internal_ops; ++ sensor->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; ++ sensor->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; ++ sensor->pad.flags = MEDIA_PAD_FL_SOURCE; ++ ret = media_entity_pads_init(&sensor->sd.entity, 1, &sensor->pad); ++ if (ret < 0) ++ goto mutex_remove; ++ ++ gpiod_set_value_cansleep(sensor->reset, 1); ++ msleep(RESET_ACTIVE_DELAY_MS); ++ ++ ret = irs1125_detect(&sensor->sd); ++ if (ret < 0) ++ goto error; ++ ++ ret = irs1125_ident_setup(sensor, dev); ++ if (ret < 0) ++ goto error; ++ ++ gpiod_set_value_cansleep(sensor->reset, 0); ++ ++ ret = v4l2_async_register_subdev(&sensor->sd); ++ if (ret < 0) ++ goto error; ++ ++ dev_dbg(dev, "Infineon IRS1125 camera driver probed\n"); ++ ++ return 0; ++ ++error: ++ media_entity_cleanup(&sensor->sd.entity); ++mutex_remove: ++ mutex_destroy(&sensor->lock); ++ return ret; ++} ++ ++static int irs1125_remove(struct i2c_client *client) ++{ ++ struct v4l2_subdev *sd = i2c_get_clientdata(client); ++ struct irs1125 *irs1125 = to_state(sd); ++ ++ v4l2_async_unregister_subdev(&irs1125->sd); ++ media_entity_cleanup(&irs1125->sd.entity); ++ v4l2_device_unregister_subdev(sd); ++ mutex_destroy(&irs1125->lock); ++ v4l2_ctrl_handler_free(&irs1125->ctrl_handler); ++ ++ return 0; ++} ++ ++#if IS_ENABLED(CONFIG_OF) ++static const struct of_device_id irs1125_of_match[] = { ++ { .compatible = "infineon,irs1125" }, ++ { /* sentinel */ }, ++}; ++MODULE_DEVICE_TABLE(of, irs1125_of_match); ++#endif ++ ++static struct i2c_driver irs1125_driver = { ++ .driver = { ++ .of_match_table = of_match_ptr(irs1125_of_match), ++ .name = SENSOR_NAME, ++ }, ++ .probe = irs1125_probe, ++ .remove = irs1125_remove, ++}; ++ ++module_i2c_driver(irs1125_driver); ++ ++MODULE_AUTHOR("Markus Proeller "); ++MODULE_DESCRIPTION("Infineon irs1125 sensor driver"); ++MODULE_LICENSE("GPL v2"); ++ +--- /dev/null ++++ b/drivers/media/i2c/irs1125.h +@@ -0,0 +1,61 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * A V4L2 driver for Infineon IRS1125 TOF cameras. ++ * Copyright (C) 2018, pieye GmbH ++ * ++ * Based on V4L2 OmniVision OV5647 Image Sensor driver ++ * Copyright (C) 2016 Ramiro Oliveira ++ * ++ * DT / fwnode changes, and GPIO control taken from ov5640.c ++ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved. ++ * Copyright (C) 2014-2017 Mentor Graphics Inc. ++ * ++ */ ++ ++#ifndef IRS1125_H ++#define IRS1125_H ++ ++#include ++#include ++ ++#define IRS1125_NUM_SEQ_ENTRIES 20 ++#define IRS1125_NUM_MOD_PLLS 4 ++ ++#define IRS1125_CID_CUSTOM_BASE (V4L2_CID_USER_BASE | 0xf000) ++#define IRS1125_CID_SAFE_RECONFIG (IRS1125_CID_CUSTOM_BASE + 0) ++#define IRS1125_CID_CONTINUOUS_TRIG (IRS1125_CID_CUSTOM_BASE + 1) ++#define IRS1125_CID_TRIGGER (IRS1125_CID_CUSTOM_BASE + 2) ++#define IRS1125_CID_RECONFIG (IRS1125_CID_CUSTOM_BASE + 3) ++#define IRS1125_CID_ILLU_ON (IRS1125_CID_CUSTOM_BASE + 4) ++#define IRS1125_CID_NUM_SEQS (IRS1125_CID_CUSTOM_BASE + 5) ++#define IRS1125_CID_MOD_PLL (IRS1125_CID_CUSTOM_BASE + 6) ++#define IRS1125_CID_SEQ_CONFIG (IRS1125_CID_CUSTOM_BASE + 7) ++#define IRS1125_CID_IDENT0 (IRS1125_CID_CUSTOM_BASE + 8) ++#define IRS1125_CID_IDENT1 (IRS1125_CID_CUSTOM_BASE + 9) ++#define IRS1125_CID_IDENT2 (IRS1125_CID_CUSTOM_BASE + 10) ++ ++struct irs1125_seq_cfg { ++ __u16 exposure; ++ __u16 framerate; ++ __u16 ps; ++ __u16 pll; ++}; ++ ++struct irs1125_illu { ++ __u16 exposure; ++ __u16 framerate; ++}; ++ ++struct irs1125_mod_pll { ++ __u16 pllcfg1; ++ __u16 pllcfg2; ++ __u16 pllcfg3; ++ __u16 pllcfg4; ++ __u16 pllcfg5; ++ __u16 pllcfg6; ++ __u16 pllcfg7; ++ __u16 pllcfg8; ++}; ++ ++#endif /* IRS1125 */ ++ diff --git a/target/linux/brcm2708/patches-4.19/950-0741-dtoverlays-Add-an-overlay-for-the-Infineon-IRS1125.patch b/target/linux/brcm2708/patches-4.19/950-0741-dtoverlays-Add-an-overlay-for-the-Infineon-IRS1125.patch new file mode 100644 index 000000000..1202d10d3 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0741-dtoverlays-Add-an-overlay-for-the-Infineon-IRS1125.patch @@ -0,0 +1,149 @@ +From 89af5d7df7f548744bd675d96295c0f45e24b31f Mon Sep 17 00:00:00 2001 +From: Markus Proeller +Date: Thu, 10 Oct 2019 19:13:02 +0200 +Subject: [PATCH] dtoverlays: Add an overlay for the Infineon IRS1125 + +The Infineon IRS1125 is a CSI2 time of flight depth sensor +which has a suitable V4L2 subdevice driver. + +Add an overlay for configuring it. + +Signed-off-by: Markus Proeller +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 12 +++ + .../arm/boot/dts/overlays/irs1125-overlay.dts | 97 +++++++++++++++++++ + 3 files changed, 110 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/irs1125-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -83,6 +83,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + iqaudio-dac.dtbo \ + iqaudio-dacplus.dtbo \ + iqaudio-digi-wm8804-audio.dtbo \ ++ irs1125.dtbo \ + jedec-spi-nor.dtbo \ + justboom-dac.dtbo \ + justboom-digi.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1347,6 +1347,18 @@ Params: card_name Override + dai stream name. + + ++Name: irs1125 ++Info: Infineon irs1125 TOF camera module. ++ Uses Unicam 1, which is the standard camera connector on most Pi ++ variants. ++Load: dtoverlay=irs1125,= ++Params: i2c_pins_0_1 Use pins 0&1 for the I2C instead of 44&45. ++ Useful on Compute Modules. ++ ++ i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45. ++ This is required for Pi B+, 2, 0, and 0W. ++ ++ + Name: jedec-spi-nor + Info: Adds support for JEDEC-compliant SPI NOR flash devices. (Note: The + "jedec,spi-nor" kernel driver was formerly known as "m25p80".) +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/irs1125-overlay.dts +@@ -0,0 +1,97 @@ ++// SPDX-License-Identifier: GPL-2.0-only ++// Definitions for IRS1125 camera module on VC I2C bus ++/dts-v1/; ++/plugin/; ++ ++/{ ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&i2c_vc>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ irs1125: irs1125@3D { ++ compatible = "infineon,irs1125"; ++ reg = <0x3D>; ++ status = "okay"; ++ ++ pwdn-gpios = <&gpio 5 0>; ++ clocks = <&irs1125_clk>; ++ ++ irs1125_clk: camera-clk { ++ compatible = "fixed-clock"; ++ #clock-cells = <0>; ++ clock-frequency = <26000000>; ++ }; ++ ++ port { ++ irs1125_0: endpoint { ++ remote-endpoint = <&csi1_ep>; ++ clock-lanes = <0>; ++ data-lanes = <1 2>; ++ clock-noncontinuous; ++ link-frequencies = ++ /bits/ 64 <297000000>; ++ }; ++ }; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&csi1>; ++ __overlay__ { ++ status = "okay"; ++ ++ port { ++ csi1_ep: endpoint { ++ remote-endpoint = <&irs1125_0>; ++ }; ++ }; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&i2c0_pins>; ++ __dormant__ { ++ brcm,pins = <28 29>; ++ brcm,function = <4>; /* alt0 */ ++ }; ++ }; ++ fragment@3 { ++ target = <&i2c0_pins>; ++ __overlay__ { ++ brcm,pins = <44 45>; ++ brcm,function = <5>; /* alt1 */ ++ }; ++ }; ++ fragment@4 { ++ target = <&i2c0_pins>; ++ __dormant__ { ++ brcm,pins = <0 1>; ++ brcm,function = <4>; /* alt0 */ ++ }; ++ }; ++ fragment@5 { ++ target = <&i2c_vc>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@6 { ++ target-path="/__overrides__"; ++ __overlay__ { ++ cam0-pwdn-ctrl = <&irs1125>,"pwdn-gpios:0"; ++ cam0-pwdn = <&irs1125>,"pwdn-gpios:4"; ++ }; ++ }; ++ ++ __overrides__ { ++ i2c_pins_0_1 = <0>,"-2-3+4"; ++ i2c_pins_28_29 = <0>,"+2-3-4"; ++ }; ++}; diff --git a/target/linux/brcm2708/patches-4.19/950-0742-rpi-wm8804-soundcard-Fixed-MCLKDIV-for-Allo-Digione.patch b/target/linux/brcm2708/patches-4.19/950-0742-rpi-wm8804-soundcard-Fixed-MCLKDIV-for-Allo-Digione.patch new file mode 100644 index 000000000..952e26664 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0742-rpi-wm8804-soundcard-Fixed-MCLKDIV-for-Allo-Digione.patch @@ -0,0 +1,42 @@ +From 09ad53f0267e4b5433c27c77b3945d584ac0a6ba Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 22 Oct 2019 08:47:29 +0100 +Subject: [PATCH] rpi-wm8804-soundcard: Fixed MCLKDIV for Allo Digione + +The Allo Digione board wants a fixed MCLKDIV of 256. + +See: https://github.com/raspberrypi/linux/issues/3296 + +Signed-off-by: Phil Elwell +--- + sound/soc/bcm/rpi-wm8804-soundcard.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +--- a/sound/soc/bcm/rpi-wm8804-soundcard.c ++++ b/sound/soc/bcm/rpi-wm8804-soundcard.c +@@ -66,6 +66,11 @@ static struct gpio_desc *snd_clk44gpio; + static struct gpio_desc *snd_clk48gpio; + static int wm8804_samplerate = 0; + ++/* Forward declarations */ ++static struct snd_soc_dai_link snd_allo_digione_dai[]; ++static struct snd_soc_card snd_rpi_wm8804; ++ ++ + #define CLK_44EN_RATE 22579200UL + #define CLK_48EN_RATE 24576000UL + +@@ -90,11 +95,10 @@ static unsigned int snd_rpi_wm8804_enabl + static void snd_rpi_wm8804_clk_cfg(unsigned int samplerate, + struct wm8804_clk_cfg *clk_cfg) + { +- clk_cfg->mclk_freq = 0; +- clk_cfg->mclk_div = 1; + clk_cfg->sysclk_freq = 27000000; + +- if (samplerate <= 96000) { ++ if (samplerate <= 96000 || ++ snd_rpi_wm8804.dai_link == snd_allo_digione_dai) { + clk_cfg->mclk_freq = samplerate * 256; + clk_cfg->mclk_div = WM8804_MCLKDIV_256FS; + } else { diff --git a/target/linux/brcm2708/patches-4.19/950-0743-dts-bcm2838-Disable-DWC-OTG-block-by-default.patch b/target/linux/brcm2708/patches-4.19/950-0743-dts-bcm2838-Disable-DWC-OTG-block-by-default.patch new file mode 100644 index 000000000..83cd3397e --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0743-dts-bcm2838-Disable-DWC-OTG-block-by-default.patch @@ -0,0 +1,23 @@ +From 2e3db17d59143bfaf15423feb7eed68893e04f66 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 24 Oct 2019 14:31:00 +0100 +Subject: [PATCH] dts: bcm2838: Disable DWC OTG block by default + +Turning off the OTG USB block saves power. Since it requires the use of +the dwc2 overlay to make use of it, we can disable it by default. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2838.dtsi | 1 + + 1 file changed, 1 insertion(+) + +--- a/arch/arm/boot/dts/bcm2838.dtsi ++++ b/arch/arm/boot/dts/bcm2838.dtsi +@@ -647,6 +647,7 @@ + + &usb { + interrupts = ; ++ status = "disabled"; + }; + + &hdmi { diff --git a/target/linux/brcm2708/patches-4.19/950-0744-staging-bcm2835-codec-Add-support-for-ENUM_FRAMESIZE.patch b/target/linux/brcm2708/patches-4.19/950-0744-staging-bcm2835-codec-Add-support-for-ENUM_FRAMESIZE.patch new file mode 100644 index 000000000..9c9a0bf6b --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0744-staging-bcm2835-codec-Add-support-for-ENUM_FRAMESIZE.patch @@ -0,0 +1,98 @@ +From 9894906ad424f266853b61a6996b2da8b119c6e6 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Fri, 13 Sep 2019 17:19:33 +0100 +Subject: [PATCH] staging:bcm2835-codec: Add support for + ENUM_FRAMESIZES + +Required for compliance testing for the encoder. + +Signed-off-by: Dave Stevenson +--- + .../bcm2835-codec/bcm2835-v4l2-codec.c | 48 +++++++++++++++++-- + 1 file changed, 44 insertions(+), 4 deletions(-) + +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -496,9 +496,10 @@ struct bcm2835_codec_fmt *get_default_fo + return &dev->supported_fmts[capture ? 1 : 0].list[0]; + } + +-static struct bcm2835_codec_fmt *find_format(struct v4l2_format *f, +- struct bcm2835_codec_dev *dev, +- bool capture) ++static ++struct bcm2835_codec_fmt *find_format_pix_fmt(u32 pix_fmt, ++ struct bcm2835_codec_dev *dev, ++ bool capture) + { + struct bcm2835_codec_fmt *fmt; + unsigned int k; +@@ -507,7 +508,7 @@ static struct bcm2835_codec_fmt *find_fo + + for (k = 0; k < fmts->num_entries; k++) { + fmt = &fmts->list[k]; +- if (fmt->fourcc == f->fmt.pix_mp.pixelformat) ++ if (fmt->fourcc == pix_fmt) + break; + } + if (k == fmts->num_entries) +@@ -516,6 +517,14 @@ static struct bcm2835_codec_fmt *find_fo + return &fmts->list[k]; + } + ++static inline ++struct bcm2835_codec_fmt *find_format(struct v4l2_format *f, ++ struct bcm2835_codec_dev *dev, ++ bool capture) ++{ ++ return find_format_pix_fmt(f->fmt.pix_mp.pixelformat, dev, capture); ++} ++ + static inline struct bcm2835_codec_ctx *file2ctx(struct file *file) + { + return container_of(file->private_data, struct bcm2835_codec_ctx, fh); +@@ -1792,6 +1801,36 @@ static int vidioc_encoder_cmd(struct fil + return 0; + } + ++static int vidioc_enum_framesizes(struct file *file, void *fh, ++ struct v4l2_frmsizeenum *fsize) ++{ ++ struct bcm2835_codec_fmt *fmt; ++ ++ fmt = find_format_pix_fmt(fsize->pixel_format, file2ctx(file)->dev, ++ true); ++ if (!fmt) ++ fmt = find_format_pix_fmt(fsize->pixel_format, ++ file2ctx(file)->dev, ++ false); ++ ++ if (!fmt) ++ return -EINVAL; ++ ++ if (fsize->index) ++ return -EINVAL; ++ ++ fsize->type = V4L2_FRMSIZE_TYPE_STEPWISE; ++ ++ fsize->stepwise.min_width = MIN_W; ++ fsize->stepwise.max_width = MAX_W; ++ fsize->stepwise.step_width = 1; ++ fsize->stepwise.min_height = MIN_H; ++ fsize->stepwise.max_height = MAX_H; ++ fsize->stepwise.step_height = 1; ++ ++ return 0; ++} ++ + static const struct v4l2_ioctl_ops bcm2835_codec_ioctl_ops = { + .vidioc_querycap = vidioc_querycap, + +@@ -1829,6 +1868,7 @@ static const struct v4l2_ioctl_ops bcm28 + .vidioc_try_decoder_cmd = vidioc_try_decoder_cmd, + .vidioc_encoder_cmd = vidioc_encoder_cmd, + .vidioc_try_encoder_cmd = vidioc_try_encoder_cmd, ++ .vidioc_enum_framesizes = vidioc_enum_framesizes, + }; + + static int bcm2835_codec_set_ctrls(struct bcm2835_codec_ctx *ctx) diff --git a/target/linux/brcm2708/patches-4.19/950-0745-staging-bcm2835-codec-Correct-buffer-type-check-on-G.patch b/target/linux/brcm2708/patches-4.19/950-0745-staging-bcm2835-codec-Correct-buffer-type-check-on-G.patch new file mode 100644 index 000000000..1049a4d12 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0745-staging-bcm2835-codec-Correct-buffer-type-check-on-G.patch @@ -0,0 +1,25 @@ +From 9783756bf18033f321161393814dc1dd99c1704a Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Fri, 13 Sep 2019 17:22:08 +0100 +Subject: [PATCH] staging: bcm2835-codec: Correct buffer type check on + G_PARM + +The output queue buffer type is now OUTPUT_MPLANE. + +Fixes: 5e484a3 staging: bcm2835-codec: switch to multi-planar API +Signed-off-by: Dave Stevenson +--- + .../staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -1438,7 +1438,7 @@ static int vidioc_g_parm(struct file *fi + { + struct bcm2835_codec_ctx *ctx = file2ctx(file); + +- if (parm->type != V4L2_BUF_TYPE_VIDEO_OUTPUT) ++ if (parm->type != V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) + return -EINVAL; + + parm->parm.output.capability = V4L2_CAP_TIMEPERFRAME; diff --git a/target/linux/brcm2708/patches-4.19/950-0746-staging-bcm2835-codec-Set-default-and-error-check-ti.patch b/target/linux/brcm2708/patches-4.19/950-0746-staging-bcm2835-codec-Set-default-and-error-check-ti.patch new file mode 100644 index 000000000..896149fb1 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0746-staging-bcm2835-codec-Set-default-and-error-check-ti.patch @@ -0,0 +1,37 @@ +From 4d6c40ebfe10dd2fdc64bd7607e51275d5524e47 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Fri, 13 Sep 2019 17:23:26 +0100 +Subject: [PATCH] staging: bcm2835-codec: Set default and error check + timeperframe + +G_PARM default was invalid as 0/0, and the driver didn't check +the value set in S_PARM wasn't 0/0. + +Signed-off-by: Dave Stevenson +--- + .../vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -1423,6 +1423,10 @@ static int vidioc_s_parm(struct file *fi + if (parm->type != V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) + return -EINVAL; + ++ if (!parm->parm.output.timeperframe.denominator || ++ !parm->parm.output.timeperframe.numerator) ++ return -EINVAL; ++ + ctx->framerate_num = + parm->parm.output.timeperframe.denominator; + ctx->framerate_denom = +@@ -2390,6 +2394,9 @@ static int bcm2835_codec_open(struct fil + ctx->colorspace = V4L2_COLORSPACE_REC709; + ctx->bitrate = 10 * 1000 * 1000; + ++ ctx->framerate_num = 30; ++ ctx->framerate_denom = 1; ++ + /* Initialise V4L2 contexts */ + v4l2_fh_init(&ctx->fh, video_devdata(file)); + file->private_data = &ctx->fh; diff --git a/target/linux/brcm2708/patches-4.19/950-0747-staging-bcm2835-codec-Fix-imbalance-in-dma_buf_get-d.patch b/target/linux/brcm2708/patches-4.19/950-0747-staging-bcm2835-codec-Fix-imbalance-in-dma_buf_get-d.patch new file mode 100644 index 000000000..20550d4cb --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0747-staging-bcm2835-codec-Fix-imbalance-in-dma_buf_get-d.patch @@ -0,0 +1,30 @@ +From 4542b5d7b4e00b11dd37d93986b624c58b198765 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Mon, 7 Oct 2019 14:02:57 +0100 +Subject: [PATCH] staging: bcm2835-codec: Fix imbalance in + dma_buf_get/dma_buf_put + +When represented with a dmabuf buffer that had previously been +imported, there was a call to dma_buf_get without a matching +dma_buf_put. This left dmabufs in limbo after all users had +supposedly released them. + +Signed-off-by: Dave Stevenson +--- + .../staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -2112,6 +2112,11 @@ static int bcm2835_codec_buf_prepare(str + } + + buf->mmal.dma_buf = dma_buf; ++ } else { ++ /* We already have a reference count on the dmabuf, so ++ * release the one we acquired above. ++ */ ++ dma_buf_put(dma_buf); + } + ret = 0; + break; diff --git a/target/linux/brcm2708/patches-4.19/950-0748-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch b/target/linux/brcm2708/patches-4.19/950-0748-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch new file mode 100644 index 000000000..fbfcd747c --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0748-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch @@ -0,0 +1,87 @@ +From ebb8a4e93e242311d319098ea56e4ef4d92c4d19 Mon Sep 17 00:00:00 2001 +From: James Hughes +Date: Wed, 16 Oct 2019 14:49:23 +0100 +Subject: [PATCH] drm:vc4 Added calls for firmware display + blank/unblank + +Requires new display power mailbox call to be present. + +Signed-off-by: James Hughes +--- + drivers/gpu/drm/vc4/vc4_firmware_kms.c | 25 ++++++++++++++++++++++ + include/soc/bcm2835/raspberrypi-firmware.h | 2 +- + 2 files changed, 26 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c ++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c +@@ -91,6 +91,12 @@ struct mailbox_blank_display { + u32 blank; + }; + ++struct mailbox_display_pwr { ++ struct rpi_firmware_property_tag_header tag1; ++ u32 display; ++ u32 state; ++}; ++ + struct mailbox_get_edid { + struct rpi_firmware_property_tag_header tag1; + u32 block; +@@ -272,6 +278,7 @@ struct vc4_fkms_encoder { + struct drm_encoder base; + bool hdmi_monitor; + bool rgb_range_selectable; ++ int display_num; + }; + + static inline struct vc4_fkms_encoder * +@@ -1613,13 +1620,29 @@ static const struct drm_encoder_funcs vc + .destroy = vc4_fkms_encoder_destroy, + }; + ++static void vc4_fkms_display_power(struct drm_encoder *encoder, bool power) ++{ ++ struct vc4_fkms_encoder *vc4_encoder = to_vc4_fkms_encoder(encoder); ++ struct vc4_dev *vc4 = to_vc4_dev(encoder->dev); ++ ++ struct mailbox_display_pwr pwr = { ++ .tag1 = {RPI_FIRMWARE_SET_DISPLAY_POWER, 8, 0, }, ++ .display = vc4_encoder->display_num, ++ .state = power ? 1 : 0, ++ }; ++ ++ rpi_firmware_property_list(vc4->firmware, &pwr, sizeof(pwr)); ++} ++ + static void vc4_fkms_encoder_enable(struct drm_encoder *encoder) + { ++ vc4_fkms_display_power(encoder, true); + DRM_DEBUG_KMS("Encoder_enable\n"); + } + + static void vc4_fkms_encoder_disable(struct drm_encoder *encoder) + { ++ vc4_fkms_display_power(encoder, false); + DRM_DEBUG_KMS("Encoder_disable\n"); + } + +@@ -1695,6 +1718,8 @@ static int vc4_fkms_create_screen(struct + if (!vc4_encoder) + return -ENOMEM; + vc4_crtc->encoder = &vc4_encoder->base; ++ ++ vc4_encoder->display_num = display_ref; + vc4_encoder->base.possible_crtcs |= drm_crtc_mask(crtc) ; + + drm_encoder_init(drm, &vc4_encoder->base, &vc4_fkms_encoder_funcs, +--- a/include/soc/bcm2835/raspberrypi-firmware.h ++++ b/include/soc/bcm2835/raspberrypi-firmware.h +@@ -155,7 +155,7 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_GET_DISPLAY_TIMING = 0x00040017, + RPI_FIRMWARE_SET_TIMING = 0x00048017, + RPI_FIRMWARE_GET_DISPLAY_CFG = 0x00040018, +- ++ RPI_FIRMWARE_SET_DISPLAY_POWER = 0x00048019, + RPI_FIRMWARE_GET_COMMAND_LINE = 0x00050001, + RPI_FIRMWARE_GET_DMA_CHANNELS = 0x00060001, + }; diff --git a/target/linux/brcm2708/patches-4.19/950-0749-rpi-poe-fan-fix-def_pwm1-writes.patch b/target/linux/brcm2708/patches-4.19/950-0749-rpi-poe-fan-fix-def_pwm1-writes.patch new file mode 100644 index 000000000..bf5975ede --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0749-rpi-poe-fan-fix-def_pwm1-writes.patch @@ -0,0 +1,21 @@ +From 633c64173636b2f6acebfddb3d2b69c92bbbcd07 Mon Sep 17 00:00:00 2001 +From: Serge Schneider +Date: Thu, 31 Oct 2019 13:37:16 +0000 +Subject: [PATCH] rpi-poe-fan: fix def_pwm1 writes + +Signed-off-by: Serge Schneider +--- + drivers/hwmon/rpi-poe-fan.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/hwmon/rpi-poe-fan.c ++++ b/drivers/hwmon/rpi-poe-fan.c +@@ -110,7 +110,7 @@ static int __set_def_pwm(struct rpi_poe + if (ctx->def_pwm_value == def_pwm) + goto exit_set_def_pwm_err; + +- ret = write_reg(ctx->fw, POE_CUR_PWM, &def_pwm); ++ ret = write_reg(ctx->fw, POE_DEF_PWM, &def_pwm); + if (!ret) + ctx->def_pwm_value = def_pwm; + exit_set_def_pwm_err: diff --git a/target/linux/brcm2708/patches-4.19/950-0750-net-phy-bcm54xx-Encode-link-speed-and-activity-into-.patch b/target/linux/brcm2708/patches-4.19/950-0750-net-phy-bcm54xx-Encode-link-speed-and-activity-into-.patch new file mode 100644 index 000000000..9a5e29c20 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0750-net-phy-bcm54xx-Encode-link-speed-and-activity-into-.patch @@ -0,0 +1,67 @@ +From b1e290ec968186530ec59479adfba89d2cfe21c8 Mon Sep 17 00:00:00 2001 +From: Vladimir Oltean +Date: Sun, 24 Mar 2019 00:18:46 +0200 +Subject: [PATCH] net: phy: bcm54xx: Encode link speed and activity + into LEDs + +Previously the green and amber LEDs on this quad PHY were solid, to +indicate an encoding of the link speed (10/100/1000). + +This keeps the LEDs always on just as before, but now they flash on +Rx/Tx activity. + +Signed-off-by: Vladimir Oltean +Reviewed-by: Florian Fainelli +Signed-off-by: David S. Miller +--- + drivers/net/phy/broadcom.c | 13 +++++++++++++ + include/linux/brcmphy.h | 16 ++++++++++++++++ + 2 files changed, 29 insertions(+) + +--- a/drivers/net/phy/broadcom.c ++++ b/drivers/net/phy/broadcom.c +@@ -345,6 +345,19 @@ static int bcm54xx_config_init(struct ph + + bcm54xx_phydsp_config(phydev); + ++ /* Encode link speed into LED1 and LED3 pair (green/amber). ++ * Also flash these two LEDs on activity. This means configuring ++ * them for MULTICOLOR and encoding link/activity into them. ++ */ ++ val = BCM5482_SHD_LEDS1_LED1(BCM_LED_SRC_MULTICOLOR1) | ++ BCM5482_SHD_LEDS1_LED3(BCM_LED_SRC_MULTICOLOR1); ++ bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val); ++ ++ val = BCM_LED_MULTICOLOR_IN_PHASE | ++ BCM5482_SHD_LEDS1_LED1(BCM_LED_MULTICOLOR_LINK_ACT) | ++ BCM5482_SHD_LEDS1_LED3(BCM_LED_MULTICOLOR_LINK_ACT); ++ bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val); ++ + return 0; + } + +--- a/include/linux/brcmphy.h ++++ b/include/linux/brcmphy.h +@@ -148,6 +148,22 @@ + #define BCM_LED_SRC_OFF 0xe /* Tied high */ + #define BCM_LED_SRC_ON 0xf /* Tied low */ + ++/* ++ * Broadcom Multicolor LED configurations (expansion register 4) ++ */ ++#define BCM_EXP_MULTICOLOR (MII_BCM54XX_EXP_SEL_ER + 0x04) ++#define BCM_LED_MULTICOLOR_IN_PHASE BIT(8) ++#define BCM_LED_MULTICOLOR_LINK_ACT 0x0 ++#define BCM_LED_MULTICOLOR_SPEED 0x1 ++#define BCM_LED_MULTICOLOR_ACT_FLASH 0x2 ++#define BCM_LED_MULTICOLOR_FDX 0x3 ++#define BCM_LED_MULTICOLOR_OFF 0x4 ++#define BCM_LED_MULTICOLOR_ON 0x5 ++#define BCM_LED_MULTICOLOR_ALT 0x6 ++#define BCM_LED_MULTICOLOR_FLASH 0x7 ++#define BCM_LED_MULTICOLOR_LINK 0x8 ++#define BCM_LED_MULTICOLOR_ACT 0x9 ++#define BCM_LED_MULTICOLOR_PROGRAM 0xa + + /* + * BCM5482: Shadow registers diff --git a/target/linux/brcm2708/patches-4.19/950-0751-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch b/target/linux/brcm2708/patches-4.19/950-0751-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch new file mode 100644 index 000000000..1b922420c --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0751-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch @@ -0,0 +1,119 @@ +From 2679834327b5b8db8a7b0c90b632b81c35f9e271 Mon Sep 17 00:00:00 2001 +From: James Hughes +Date: Thu, 31 Oct 2019 14:39:44 +0000 +Subject: [PATCH] net:phy:2711 Allow ethernet LED mode to be set via + device tree + +Add device tree entries and code to allow the specification of +the lighting modes for the LED's on the ethernet connector. + +Signed-off-by: James Hughes +--- + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 3 +++ + arch/arm/boot/dts/bcm2838.dtsi | 1 + + arch/arm/boot/dts/overlays/README | 28 +++++++++++++++++++-------- + drivers/net/phy/broadcom.c | 9 +++++++-- + 4 files changed, 31 insertions(+), 10 deletions(-) + +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -334,5 +334,8 @@ + pwr_led_gpio = <&pwr_led>,"gpios:4"; + pwr_led_activelow = <&pwr_led>,"gpios:8"; + pwr_led_trigger = <&pwr_led>,"linux,default-trigger"; ++ ++ eth_led0 = <&phy1>,"led-modes:0"; ++ eth_led1 = <&phy1>,"led-modes:4"; + }; + }; +--- a/arch/arm/boot/dts/bcm2838.dtsi ++++ b/arch/arm/boot/dts/bcm2838.dtsi +@@ -380,6 +380,7 @@ + /* No interrupts - use PHY_POLL */ + max-speed = <1000>; + reg = <0x1>; ++ led-modes = <0x02 0x02>; + }; + }; + }; +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -102,26 +102,38 @@ Params: + + eee Enable Energy Efficient Ethernet support for + compatible devices (default "on"). See also +- "tx_lpi_timer". ++ "tx_lpi_timer". Pi3B+ only. + + eth_downshift_after Set the number of auto-negotiation failures + after which the 1000Mbps modes are disabled. + Legal values are 2, 3, 4, 5 and 0, where +- 0 means never downshift (default 2). ++ 0 means never downshift (default 2). Pi3B+ only. + +- eth_led0 Set mode of LED0 (usually orange) (default +- "1"). The legal values are: +- 0=link/activity 1=link1000/activity ++ eth_led0 Set mode of LED0 (usually orange). The legal ++ values are: ++ ++ Pi3B+ ++ ++ 0=link/activity 1=link1000/activity (default) + 2=link100/activity 3=link10/activity + 4=link100/1000/activity 5=link10/1000/activity + 6=link10/100/activity 14=off 15=on + +- eth_led1 Set mode of LED1 (usually green) (default +- "6"). See eth_led0 for legal values. ++ Pi4 ++ ++ 0=Speed/Activity (default) 1=Speed ++ 2=Speed/Flash activity 3=FDX ++ 4=Off 5=On ++ 6=Alt 7=Speed/Flash ++ 8=Link 9=Activity ++ ++ eth_led1 Set mode of LED1 (usually green) (Pi3B+ default ++ "6", Pi4 default "0"). See eth_led0 for legal ++ values. + + eth_max_speed Set the maximum speed a link is allowed + to negotiate. Legal values are 10, 100 and +- 1000 (default 1000). ++ 1000 (default 1000). Pi3B+ only. + + i2c_arm Set to "on" to enable the ARM's i2c interface + (default "off") +--- a/drivers/net/phy/broadcom.c ++++ b/drivers/net/phy/broadcom.c +@@ -292,6 +292,9 @@ static void bcm54xx_adjust_rxrefclk(stru + static int bcm54xx_config_init(struct phy_device *phydev) + { + int reg, err, val; ++ u32 led_modes[] = {BCM_LED_MULTICOLOR_LINK_ACT, ++ BCM_LED_MULTICOLOR_LINK_ACT}; ++ struct device_node *np = phydev->mdio.dev.of_node; + + reg = phy_read(phydev, MII_BCM54XX_ECR); + if (reg < 0) +@@ -345,6 +348,8 @@ static int bcm54xx_config_init(struct ph + + bcm54xx_phydsp_config(phydev); + ++ of_property_read_u32_array(np, "led-modes", led_modes, 2); ++ + /* Encode link speed into LED1 and LED3 pair (green/amber). + * Also flash these two LEDs on activity. This means configuring + * them for MULTICOLOR and encoding link/activity into them. +@@ -354,8 +359,8 @@ static int bcm54xx_config_init(struct ph + bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val); + + val = BCM_LED_MULTICOLOR_IN_PHASE | +- BCM5482_SHD_LEDS1_LED1(BCM_LED_MULTICOLOR_LINK_ACT) | +- BCM5482_SHD_LEDS1_LED3(BCM_LED_MULTICOLOR_LINK_ACT); ++ BCM5482_SHD_LEDS1_LED1(led_modes[0]) | ++ BCM5482_SHD_LEDS1_LED3(led_modes[1]); + bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val); + + return 0; diff --git a/target/linux/brcm2708/patches-4.19/950-0752-overlays-smi-fix-typo-in-comment-3320.patch b/target/linux/brcm2708/patches-4.19/950-0752-overlays-smi-fix-typo-in-comment-3320.patch new file mode 100644 index 000000000..6b388e057 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0752-overlays-smi-fix-typo-in-comment-3320.patch @@ -0,0 +1,23 @@ +From f12c4ba9fd01e17bd79b461b203674e92dd253e9 Mon Sep 17 00:00:00 2001 +From: Pierre-jean Texier +Date: Wed, 6 Nov 2019 10:00:43 +0100 +Subject: [PATCH] overlays: smi: fix typo in comment (#3320) + +5 represent alt1 function not alt0. + +Signed-off-by: Pierre-Jean Texier +--- + arch/arm/boot/dts/overlays/smi-overlay.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/overlays/smi-overlay.dts ++++ b/arch/arm/boot/dts/overlays/smi-overlay.dts +@@ -24,7 +24,7 @@ + these are already used as ID_SD and ID_SC */ + brcm,pins = <2 3 4 5 6 7 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 24 25>; +- /* Alt 0: SMI */ ++ /* Alt 1: SMI */ + brcm,function = <5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 + 5 5 5 5 5 5 5 5 5>; + /* /CS, /WE and /OE are pulled high, as they are diff --git a/target/linux/brcm2708/patches-4.19/950-0753-net-phy-2711-Change-the-default-ethernet-LED-actions.patch b/target/linux/brcm2708/patches-4.19/950-0753-net-phy-2711-Change-the-default-ethernet-LED-actions.patch new file mode 100644 index 000000000..b00afccd0 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0753-net-phy-2711-Change-the-default-ethernet-LED-actions.patch @@ -0,0 +1,33 @@ +From 7d9c69b325c94d59de94cb699a8314ba2c83ab1d Mon Sep 17 00:00:00 2001 +From: James Hughes +Date: Thu, 7 Nov 2019 14:59:59 +0000 +Subject: [PATCH] net:phy:2711 Change the default ethernet LED actions + +This should return default behaviour back to that of previous +releases. +--- + drivers/net/phy/broadcom.c | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +--- a/drivers/net/phy/broadcom.c ++++ b/drivers/net/phy/broadcom.c +@@ -293,7 +293,7 @@ static int bcm54xx_config_init(struct ph + { + int reg, err, val; + u32 led_modes[] = {BCM_LED_MULTICOLOR_LINK_ACT, +- BCM_LED_MULTICOLOR_LINK_ACT}; ++ BCM_LED_MULTICOLOR_LINK}; + struct device_node *np = phydev->mdio.dev.of_node; + + reg = phy_read(phydev, MII_BCM54XX_ECR); +@@ -350,10 +350,6 @@ static int bcm54xx_config_init(struct ph + + of_property_read_u32_array(np, "led-modes", led_modes, 2); + +- /* Encode link speed into LED1 and LED3 pair (green/amber). +- * Also flash these two LEDs on activity. This means configuring +- * them for MULTICOLOR and encoding link/activity into them. +- */ + val = BCM5482_SHD_LEDS1_LED1(BCM_LED_SRC_MULTICOLOR1) | + BCM5482_SHD_LEDS1_LED3(BCM_LED_SRC_MULTICOLOR1); + bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val); diff --git a/target/linux/brcm2708/patches-4.19/950-0754-overlays-README-Remove-trailing-whitespace.patch b/target/linux/brcm2708/patches-4.19/950-0754-overlays-README-Remove-trailing-whitespace.patch new file mode 100644 index 000000000..099c44497 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0754-overlays-README-Remove-trailing-whitespace.patch @@ -0,0 +1,21 @@ +From f5505e5d9fbfd11921c39cd55a433877d6d0d6e4 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 7 Nov 2019 15:24:32 +0000 +Subject: [PATCH] overlays: README: Remove trailing whitespace + +A stray space slipped through the net. +--- + arch/arm/boot/dts/overlays/README | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -109,7 +109,7 @@ Params: + Legal values are 2, 3, 4, 5 and 0, where + 0 means never downshift (default 2). Pi3B+ only. + +- eth_led0 Set mode of LED0 (usually orange). The legal ++ eth_led0 Set mode of LED0 (usually orange). The legal + values are: + + Pi3B+ diff --git a/target/linux/brcm2708/patches-4.19/950-0755-overlays-Add-apds9960-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0755-overlays-Add-apds9960-overlay.patch new file mode 100644 index 000000000..0848a23c8 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0755-overlays-Add-apds9960-overlay.patch @@ -0,0 +1,103 @@ +From c1e8593fd7fc6a8e7745a6c82c1c19a8fceee70f Mon Sep 17 00:00:00 2001 +From: Michael Kaplan +Date: Fri, 8 Nov 2019 10:35:57 +0100 +Subject: [PATCH] overlays: Add apds9960 overlay + +Add an overlay for the AVAGO APDS9960 digital proximity, ambient light, rgb and gesture sensor. +Also update overlay README and Makefile. + +Signed-off-by: Michael Kaplan +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 8 +++ + .../boot/dts/overlays/apds9960-overlay.dts | 57 +++++++++++++++++++ + 3 files changed, 66 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/apds9960-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -15,6 +15,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + allo-katana-dac-audio.dtbo \ + allo-piano-dac-pcm512x-audio.dtbo \ + allo-piano-dac-plus-pcm512x-audio.dtbo \ ++ apds9960.dtbo \ + applepi-dac.dtbo \ + at86rf233.dtbo \ + audioinjector-addons.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -441,6 +441,14 @@ Params: 24db_digital_gain Allow ga + better voice quality. (default Off) + + ++Name: apds9960 ++Info: Configures the AVAGO APDS9960 digital proximity, ambient light, RGB and ++ gesture sensor ++Load: dtoverlay=apds9960,= ++Params: gpiopin GPIO used for INT (default 4) ++ noints Disable the interrupt GPIO line. ++ ++ + Name: applepi-dac + Info: Configures the Orchard Audio ApplePi-DAC audio card + Load: dtoverlay=applepi-dac +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/apds9960-overlay.dts +@@ -0,0 +1,57 @@ ++// Definitions for APDS-9960 ambient light and gesture sensor ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&i2c1>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&gpio>; ++ __overlay__ { ++ apds9960_pins: apds9960_pins@39 { ++ brcm,pins = <4>; ++ brcm,function = <0>; ++ }; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ apds9960: apds@39 { ++ compatible = "avago,apds9960"; ++ reg = <0x39>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&i2c1>; ++ __overlay__ { ++ apds9960_irq: apds@39 { ++ #interrupt-cells=<2>; ++ interrupt-parent = <&gpio>; ++ interrupts = <4 1>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ gpiopin = <&apds9960_pins>,"brcm,pins:0", ++ <&apds9960_irq>,"interrupts:0"; ++ noints = <0>,"!1!3"; ++ }; ++}; ++ diff --git a/target/linux/brcm2708/patches-4.19/950-0756-arm-dts-overlays-pitft35-resistive-add-upstream-comp.patch b/target/linux/brcm2708/patches-4.19/950-0756-arm-dts-overlays-pitft35-resistive-add-upstream-comp.patch new file mode 100644 index 000000000..e80205bd0 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0756-arm-dts-overlays-pitft35-resistive-add-upstream-comp.patch @@ -0,0 +1,27 @@ +From 49a4a7e355452ce4372c99b2219d7ff8ff613f3f Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 17 Nov 2019 16:20:24 +0000 +Subject: [PATCH] arm: dts: overlays: pitft35-resistive: add upstream + compatible + +The upstream hx8357d driver uses "adafruit,yx350hv15" for the compatible +string explicitly for this screen config and not a hx8357d generic for +the controller so add that in as well so it will work with an unmodified +upstream kernel driver. We leave the downstream as the priority. + +Signed-off-by: Peter Robinson +--- + arch/arm/boot/dts/overlays/pitft35-resistive-overlay.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/overlays/pitft35-resistive-overlay.dts ++++ b/arch/arm/boot/dts/overlays/pitft35-resistive-overlay.dts +@@ -49,7 +49,7 @@ + #size-cells = <0>; + + pitft: pitft@0{ +- compatible = "himax,hx8357d"; ++ compatible = "himax,hx8357d", "adafruit,yx350hv15"; + reg = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&pitft_pins>; diff --git a/target/linux/brcm2708/patches-4.19/950-0757-clk-bcm2835-Avoid-null-pointer-exception.patch b/target/linux/brcm2708/patches-4.19/950-0757-clk-bcm2835-Avoid-null-pointer-exception.patch new file mode 100644 index 000000000..a0939d77a --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0757-clk-bcm2835-Avoid-null-pointer-exception.patch @@ -0,0 +1,29 @@ +From 5b8a217fe818bc038592b8a5284ba0c18948fabf Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 6 Aug 2019 15:23:14 +0100 +Subject: [PATCH] clk-bcm2835: Avoid null pointer exception + +clk_desc_array[BCM2835_PLLB] doesn't exist so we dereference null when iterating + +Signed-off-by: popcornmix +--- + drivers/clk/bcm/clk-bcm2835.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -2288,9 +2288,11 @@ static bool bcm2835_clk_is_claimed(const + int i; + + for (i = 0; i < ARRAY_SIZE(clk_desc_array); i++) { +- const char *clk_name = *(const char **)(clk_desc_array[i].data); +- if (!strcmp(name, clk_name)) +- return bcm2835_clk_claimed[i]; ++ if (clk_desc_array[i].data) { ++ const char *clk_name = *(const char **)(clk_desc_array[i].data); ++ if (!strcmp(name, clk_name)) ++ return bcm2835_clk_claimed[i]; ++ } + } + + return false; diff --git a/target/linux/brcm2708/patches-4.19/950-0758-v3d_drv-Handle-missing-clock-more-gracefully.patch b/target/linux/brcm2708/patches-4.19/950-0758-v3d_drv-Handle-missing-clock-more-gracefully.patch new file mode 100644 index 000000000..292773ffe --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0758-v3d_drv-Handle-missing-clock-more-gracefully.patch @@ -0,0 +1,25 @@ +From 9048bbff0eca6d74d41fa58875f31560381b3ca3 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 23 Aug 2019 16:34:38 +0100 +Subject: [PATCH] v3d_drv: Handle missing clock more gracefully + +Signed-off-by: popcornmix +--- + drivers/gpu/drm/v3d/v3d_drv.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/gpu/drm/v3d/v3d_drv.c ++++ b/drivers/gpu/drm/v3d/v3d_drv.c +@@ -301,9 +301,9 @@ static int v3d_platform_drm_probe(struct + } + + v3d->clk = devm_clk_get(dev, NULL); +- if (IS_ERR(v3d->clk)) { +- if (ret != -EPROBE_DEFER) +- dev_err(dev, "Failed to get clock\n"); ++ if (IS_ERR_OR_NULL(v3d->clk)) { ++ if (PTR_ERR(v3d->clk) != -EPROBE_DEFER) ++ dev_err(dev, "Failed to get clock (%ld)\n", PTR_ERR(v3d->clk)); + goto dev_free; + } + v3d->clk_up_rate = clk_get_rate(v3d->clk); diff --git a/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch b/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch new file mode 100644 index 000000000..45c0594c5 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch @@ -0,0 +1,197 @@ +From 84a8cbf64731568c0750137ec38091a46b81d502 Mon Sep 17 00:00:00 2001 +From: Viresh Kumar +Date: Fri, 4 Jan 2019 15:14:33 +0530 +Subject: [PATCH] cpufreq: scpi/scmi: Fix freeing of dynamic OPPs + +Commit 1690d8bb91e370ab772062b79bd434ce815c4729 upstream + +Since the commit 2a4eb7358aba "OPP: Don't remove dynamic OPPs from +_dev_pm_opp_remove_table()", dynamically created OPP aren't +automatically removed anymore by dev_pm_opp_cpumask_remove_table(). This +affects the scpi and scmi cpufreq drivers which no longer free OPPs on +failures or on invocations of the policy->exit() callback. + +Create a generic OPP helper dev_pm_opp_remove_all_dynamic() which can be +called from these drivers instead of dev_pm_opp_cpumask_remove_table(). + +In dev_pm_opp_remove_all_dynamic(), we need to make sure that the +opp_list isn't getting accessed simultaneously from other parts of the +OPP core while the helper is freeing dynamic OPPs, i.e. we can't drop +the opp_table->lock while traversing through the OPP list. And to +accomplish that, this patch also creates _opp_kref_release_unlocked() +which can be called from this new helper with the opp_table lock already +held. + +Cc: 4.20 # v4.20 +Reported-by: Valentin Schneider +Fixes: 2a4eb7358aba "OPP: Don't remove dynamic OPPs from _dev_pm_opp_remove_table()" +Signed-off-by: Viresh Kumar +Tested-by: Valentin Schneider +Reviewed-by: Sudeep Holla +Signed-off-by: Rafael J. Wysocki +--- + drivers/cpufreq/scmi-cpufreq.c | 4 +-- + drivers/cpufreq/scpi-cpufreq.c | 4 +-- + drivers/opp/core.c | 63 +++++++++++++++++++++++++++++++--- + include/linux/pm_opp.h | 5 +++ + 4 files changed, 67 insertions(+), 9 deletions(-) + +--- a/drivers/cpufreq/scmi-cpufreq.c ++++ b/drivers/cpufreq/scmi-cpufreq.c +@@ -176,7 +176,7 @@ static int scmi_cpufreq_init(struct cpuf + out_free_priv: + kfree(priv); + out_free_opp: +- dev_pm_opp_cpumask_remove_table(policy->cpus); ++ dev_pm_opp_remove_all_dynamic(cpu_dev); + + return ret; + } +@@ -188,7 +188,7 @@ static int scmi_cpufreq_exit(struct cpuf + cpufreq_cooling_unregister(priv->cdev); + dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table); + kfree(priv); +- dev_pm_opp_cpumask_remove_table(policy->related_cpus); ++ dev_pm_opp_remove_all_dynamic(priv->cpu_dev); + + return 0; + } +--- a/drivers/cpufreq/scpi-cpufreq.c ++++ b/drivers/cpufreq/scpi-cpufreq.c +@@ -177,7 +177,7 @@ out_free_cpufreq_table: + out_free_priv: + kfree(priv); + out_free_opp: +- dev_pm_opp_cpumask_remove_table(policy->cpus); ++ dev_pm_opp_remove_all_dynamic(cpu_dev); + + return ret; + } +@@ -190,7 +190,7 @@ static int scpi_cpufreq_exit(struct cpuf + clk_put(priv->clk); + dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table); + kfree(priv); +- dev_pm_opp_cpumask_remove_table(policy->related_cpus); ++ dev_pm_opp_remove_all_dynamic(priv->cpu_dev); + + return 0; + } +--- a/drivers/opp/core.c ++++ b/drivers/opp/core.c +@@ -881,11 +881,9 @@ void _opp_free(struct dev_pm_opp *opp) + kfree(opp); + } + +-static void _opp_kref_release(struct kref *kref) ++static void _opp_kref_release(struct dev_pm_opp *opp, ++ struct opp_table *opp_table) + { +- struct dev_pm_opp *opp = container_of(kref, struct dev_pm_opp, kref); +- struct opp_table *opp_table = opp->opp_table; +- + /* + * Notify the changes in the availability of the operable + * frequency/voltage list. +@@ -894,7 +892,22 @@ static void _opp_kref_release(struct kre + opp_debug_remove_one(opp); + list_del(&opp->node); + kfree(opp); ++} ++ ++static void _opp_kref_release_unlocked(struct kref *kref) ++{ ++ struct dev_pm_opp *opp = container_of(kref, struct dev_pm_opp, kref); ++ struct opp_table *opp_table = opp->opp_table; ++ ++ _opp_kref_release(opp, opp_table); ++} + ++static void _opp_kref_release_locked(struct kref *kref) ++{ ++ struct dev_pm_opp *opp = container_of(kref, struct dev_pm_opp, kref); ++ struct opp_table *opp_table = opp->opp_table; ++ ++ _opp_kref_release(opp, opp_table); + mutex_unlock(&opp_table->lock); + dev_pm_opp_put_opp_table(opp_table); + } +@@ -906,10 +919,16 @@ void dev_pm_opp_get(struct dev_pm_opp *o + + void dev_pm_opp_put(struct dev_pm_opp *opp) + { +- kref_put_mutex(&opp->kref, _opp_kref_release, &opp->opp_table->lock); ++ kref_put_mutex(&opp->kref, _opp_kref_release_locked, ++ &opp->opp_table->lock); + } + EXPORT_SYMBOL_GPL(dev_pm_opp_put); + ++static void dev_pm_opp_put_unlocked(struct dev_pm_opp *opp) ++{ ++ kref_put(&opp->kref, _opp_kref_release_unlocked); ++} ++ + /** + * dev_pm_opp_remove() - Remove an OPP from OPP table + * @dev: device for which we do this operation +@@ -949,6 +968,40 @@ void dev_pm_opp_remove(struct device *de + } + EXPORT_SYMBOL_GPL(dev_pm_opp_remove); + ++/** ++ * dev_pm_opp_remove_all_dynamic() - Remove all dynamically created OPPs ++ * @dev: device for which we do this operation ++ * ++ * This function removes all dynamically created OPPs from the opp table. ++ */ ++void dev_pm_opp_remove_all_dynamic(struct device *dev) ++{ ++ struct opp_table *opp_table; ++ struct dev_pm_opp *opp, *temp; ++ int count = 0; ++ ++ opp_table = _find_opp_table(dev); ++ if (IS_ERR(opp_table)) ++ return; ++ ++ mutex_lock(&opp_table->lock); ++ list_for_each_entry_safe(opp, temp, &opp_table->opp_list, node) { ++ if (opp->dynamic) { ++ dev_pm_opp_put_unlocked(opp); ++ count++; ++ } ++ } ++ mutex_unlock(&opp_table->lock); ++ ++ /* Drop the references taken by dev_pm_opp_add() */ ++ while (count--) ++ dev_pm_opp_put_opp_table(opp_table); ++ ++ /* Drop the reference taken by _find_opp_table() */ ++ dev_pm_opp_put_opp_table(opp_table); ++} ++EXPORT_SYMBOL_GPL(dev_pm_opp_remove_all_dynamic); ++ + struct dev_pm_opp *_opp_allocate(struct opp_table *table) + { + struct dev_pm_opp *opp; +--- a/include/linux/pm_opp.h ++++ b/include/linux/pm_opp.h +@@ -107,6 +107,7 @@ void dev_pm_opp_put(struct dev_pm_opp *o + int dev_pm_opp_add(struct device *dev, unsigned long freq, + unsigned long u_volt); + void dev_pm_opp_remove(struct device *dev, unsigned long freq); ++void dev_pm_opp_remove_all_dynamic(struct device *dev); + + int dev_pm_opp_enable(struct device *dev, unsigned long freq); + +@@ -208,6 +209,10 @@ static inline void dev_pm_opp_remove(str + { + } + ++static inline void dev_pm_opp_remove_all_dynamic(struct device *dev) ++{ ++} ++ + static inline int dev_pm_opp_enable(struct device *dev, unsigned long freq) + { + return 0; diff --git a/target/linux/brcm2708/patches-4.19/950-0760-clk-bcm283x-add-driver-interfacing-with-Raspberry-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0760-clk-bcm283x-add-driver-interfacing-with-Raspberry-Pi.patch new file mode 100644 index 000000000..53428fcbd --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0760-clk-bcm283x-add-driver-interfacing-with-Raspberry-Pi.patch @@ -0,0 +1,349 @@ +From 35306211392a8c17ba6cde2a6b5d1beb61ca7d54 Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne +Date: Wed, 12 Jun 2019 20:24:54 +0200 +Subject: [PATCH] clk: bcm283x: add driver interfacing with Raspberry + Pi's firmware + +Commit 4e85e535e6cc6e8a96350e8ee684d0f22eb8629e upstream. + +Raspberry Pi's firmware offers an interface though which update it's +clock's frequencies. This is specially useful in order to change the CPU +clock (pllb_arm) which is 'owned' by the firmware and we're unable to +scale using the register interface provided by clk-bcm2835. + +Signed-off-by: Nicolas Saenz Julienne +Acked-by: Eric Anholt +Signed-off-by: Stephen Boyd +--- + drivers/clk/bcm/Kconfig | 7 + + drivers/clk/bcm/Makefile | 1 + + drivers/clk/bcm/clk-raspberrypi.c | 300 ++++++++++++++++++++++++++++++ + 3 files changed, 308 insertions(+) + create mode 100644 drivers/clk/bcm/clk-raspberrypi.c + +--- a/drivers/clk/bcm/Kconfig ++++ b/drivers/clk/bcm/Kconfig +@@ -63,3 +63,10 @@ config CLK_BCM_SR + default ARCH_BCM_IPROC + help + Enable common clock framework support for the Broadcom Stingray SoC ++ ++config CLK_RASPBERRYPI ++ tristate "Raspberry Pi firmware based clock support" ++ depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) ++ help ++ Enable common clock framework support for Raspberry Pi's firmware ++ dependent clocks +--- a/drivers/clk/bcm/Makefile ++++ b/drivers/clk/bcm/Makefile +@@ -7,6 +7,7 @@ obj-$(CONFIG_CLK_BCM_KONA) += clk-bcm216 + obj-$(CONFIG_COMMON_CLK_IPROC) += clk-iproc-armpll.o clk-iproc-pll.o clk-iproc-asiu.o + obj-$(CONFIG_ARCH_BCM2835) += clk-bcm2835.o + obj-$(CONFIG_ARCH_BCM2835) += clk-bcm2835-aux.o ++obj-$(CONFIG_CLK_RASPBERRYPI) += clk-raspberrypi.o + obj-$(CONFIG_ARCH_BCM_53573) += clk-bcm53573-ilp.o + obj-$(CONFIG_CLK_BCM_CYGNUS) += clk-cygnus.o + obj-$(CONFIG_CLK_BCM_HR2) += clk-hr2.o +--- /dev/null ++++ b/drivers/clk/bcm/clk-raspberrypi.c +@@ -0,0 +1,300 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Raspberry Pi driver for firmware controlled clocks ++ * ++ * Even though clk-bcm2835 provides an interface to the hardware registers for ++ * the system clocks we've had to factor out 'pllb' as the firmware 'owns' it. ++ * We're not allowed to change it directly as we might race with the ++ * over-temperature and under-voltage protections provided by the firmware. ++ * ++ * Copyright (C) 2019 Nicolas Saenz Julienne ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++#define RPI_FIRMWARE_ARM_CLK_ID 0x00000003 ++ ++#define RPI_FIRMWARE_STATE_ENABLE_BIT BIT(0) ++#define RPI_FIRMWARE_STATE_WAIT_BIT BIT(1) ++ ++/* ++ * Even though the firmware interface alters 'pllb' the frequencies are ++ * provided as per 'pllb_arm'. We need to scale before passing them trough. ++ */ ++#define RPI_FIRMWARE_PLLB_ARM_DIV_RATE 2 ++ ++#define A2W_PLL_FRAC_BITS 20 ++ ++struct raspberrypi_clk { ++ struct device *dev; ++ struct rpi_firmware *firmware; ++ ++ unsigned long min_rate; ++ unsigned long max_rate; ++ ++ struct clk_hw pllb; ++ struct clk_hw *pllb_arm; ++ struct clk_lookup *pllb_arm_lookup; ++}; ++ ++/* ++ * Structure of the message passed to Raspberry Pi's firmware in order to ++ * change clock rates. The 'disable_turbo' option is only available to the ARM ++ * clock (pllb) which we enable by default as turbo mode will alter multiple ++ * clocks at once. ++ * ++ * Even though we're able to access the clock registers directly we're bound to ++ * use the firmware interface as the firmware ultimately takes care of ++ * mitigating overheating/undervoltage situations and we would be changing ++ * frequencies behind his back. ++ * ++ * For more information on the firmware interface check: ++ * https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface ++ */ ++struct raspberrypi_firmware_prop { ++ __le32 id; ++ __le32 val; ++ __le32 disable_turbo; ++} __packed; ++ ++static int raspberrypi_clock_property(struct rpi_firmware *firmware, u32 tag, ++ u32 clk, u32 *val) ++{ ++ struct raspberrypi_firmware_prop msg = { ++ .id = cpu_to_le32(clk), ++ .val = cpu_to_le32(*val), ++ .disable_turbo = cpu_to_le32(1), ++ }; ++ int ret; ++ ++ ret = rpi_firmware_property(firmware, tag, &msg, sizeof(msg)); ++ if (ret) ++ return ret; ++ ++ *val = le32_to_cpu(msg.val); ++ ++ return 0; ++} ++ ++static int raspberrypi_fw_pll_is_on(struct clk_hw *hw) ++{ ++ struct raspberrypi_clk *rpi = container_of(hw, struct raspberrypi_clk, ++ pllb); ++ u32 val = 0; ++ int ret; ++ ++ ret = raspberrypi_clock_property(rpi->firmware, ++ RPI_FIRMWARE_GET_CLOCK_STATE, ++ RPI_FIRMWARE_ARM_CLK_ID, &val); ++ if (ret) ++ return 0; ++ ++ return !!(val & RPI_FIRMWARE_STATE_ENABLE_BIT); ++} ++ ++ ++static unsigned long raspberrypi_fw_pll_get_rate(struct clk_hw *hw, ++ unsigned long parent_rate) ++{ ++ struct raspberrypi_clk *rpi = container_of(hw, struct raspberrypi_clk, ++ pllb); ++ u32 val = 0; ++ int ret; ++ ++ ret = raspberrypi_clock_property(rpi->firmware, ++ RPI_FIRMWARE_GET_CLOCK_RATE, ++ RPI_FIRMWARE_ARM_CLK_ID, ++ &val); ++ if (ret) ++ return ret; ++ ++ return val * RPI_FIRMWARE_PLLB_ARM_DIV_RATE; ++} ++ ++static int raspberrypi_fw_pll_set_rate(struct clk_hw *hw, unsigned long rate, ++ unsigned long parent_rate) ++{ ++ struct raspberrypi_clk *rpi = container_of(hw, struct raspberrypi_clk, ++ pllb); ++ u32 new_rate = rate / RPI_FIRMWARE_PLLB_ARM_DIV_RATE; ++ int ret; ++ ++ ret = raspberrypi_clock_property(rpi->firmware, ++ RPI_FIRMWARE_SET_CLOCK_RATE, ++ RPI_FIRMWARE_ARM_CLK_ID, ++ &new_rate); ++ if (ret) ++ dev_err_ratelimited(rpi->dev, "Failed to change %s frequency: %d", ++ clk_hw_get_name(hw), ret); ++ ++ return ret; ++} ++ ++/* ++ * Sadly there is no firmware rate rounding interface. We borrowed it from ++ * clk-bcm2835. ++ */ ++static int raspberrypi_pll_determine_rate(struct clk_hw *hw, ++ struct clk_rate_request *req) ++{ ++ struct raspberrypi_clk *rpi = container_of(hw, struct raspberrypi_clk, ++ pllb); ++ u64 div, final_rate; ++ u32 ndiv, fdiv; ++ ++ /* We can't use req->rate directly as it would overflow */ ++ final_rate = clamp(req->rate, rpi->min_rate, rpi->max_rate); ++ ++ div = (u64)final_rate << A2W_PLL_FRAC_BITS; ++ do_div(div, req->best_parent_rate); ++ ++ ndiv = div >> A2W_PLL_FRAC_BITS; ++ fdiv = div & ((1 << A2W_PLL_FRAC_BITS) - 1); ++ ++ final_rate = ((u64)req->best_parent_rate * ++ ((ndiv << A2W_PLL_FRAC_BITS) + fdiv)); ++ ++ req->rate = final_rate >> A2W_PLL_FRAC_BITS; ++ ++ return 0; ++} ++ ++static const struct clk_ops raspberrypi_firmware_pll_clk_ops = { ++ .is_prepared = raspberrypi_fw_pll_is_on, ++ .recalc_rate = raspberrypi_fw_pll_get_rate, ++ .set_rate = raspberrypi_fw_pll_set_rate, ++ .determine_rate = raspberrypi_pll_determine_rate, ++}; ++ ++static int raspberrypi_register_pllb(struct raspberrypi_clk *rpi) ++{ ++ u32 min_rate = 0, max_rate = 0; ++ struct clk_init_data init; ++ int ret; ++ ++ memset(&init, 0, sizeof(init)); ++ ++ /* All of the PLLs derive from the external oscillator. */ ++ init.parent_names = (const char *[]){ "osc" }; ++ init.num_parents = 1; ++ init.name = "pllb"; ++ init.ops = &raspberrypi_firmware_pll_clk_ops; ++ init.flags = CLK_GET_RATE_NOCACHE | CLK_IGNORE_UNUSED; ++ ++ /* Get min & max rates set by the firmware */ ++ ret = raspberrypi_clock_property(rpi->firmware, ++ RPI_FIRMWARE_GET_MIN_CLOCK_RATE, ++ RPI_FIRMWARE_ARM_CLK_ID, ++ &min_rate); ++ if (ret) { ++ dev_err(rpi->dev, "Failed to get %s min freq: %d\n", ++ init.name, ret); ++ return ret; ++ } ++ ++ ret = raspberrypi_clock_property(rpi->firmware, ++ RPI_FIRMWARE_GET_MAX_CLOCK_RATE, ++ RPI_FIRMWARE_ARM_CLK_ID, ++ &max_rate); ++ if (ret) { ++ dev_err(rpi->dev, "Failed to get %s max freq: %d\n", ++ init.name, ret); ++ return ret; ++ } ++ ++ if (!min_rate || !max_rate) { ++ dev_err(rpi->dev, "Unexpected frequency range: min %u, max %u\n", ++ min_rate, max_rate); ++ return -EINVAL; ++ } ++ ++ dev_info(rpi->dev, "CPU frequency range: min %u, max %u\n", ++ min_rate, max_rate); ++ ++ rpi->min_rate = min_rate * RPI_FIRMWARE_PLLB_ARM_DIV_RATE; ++ rpi->max_rate = max_rate * RPI_FIRMWARE_PLLB_ARM_DIV_RATE; ++ ++ rpi->pllb.init = &init; ++ ++ return devm_clk_hw_register(rpi->dev, &rpi->pllb); ++} ++ ++static int raspberrypi_register_pllb_arm(struct raspberrypi_clk *rpi) ++{ ++ rpi->pllb_arm = clk_hw_register_fixed_factor(rpi->dev, ++ "pllb_arm", "pllb", ++ CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE, ++ 1, 2); ++ if (IS_ERR(rpi->pllb_arm)) { ++ dev_err(rpi->dev, "Failed to initialize pllb_arm\n"); ++ return PTR_ERR(rpi->pllb_arm); ++ } ++ ++ rpi->pllb_arm_lookup = clkdev_hw_create(rpi->pllb_arm, NULL, "cpu0"); ++ if (!rpi->pllb_arm_lookup) { ++ dev_err(rpi->dev, "Failed to initialize pllb_arm_lookup\n"); ++ clk_hw_unregister_fixed_factor(rpi->pllb_arm); ++ return -ENOMEM; ++ } ++ ++ return 0; ++} ++ ++static int raspberrypi_clk_probe(struct platform_device *pdev) ++{ ++ struct device_node *firmware_node; ++ struct device *dev = &pdev->dev; ++ struct rpi_firmware *firmware; ++ struct raspberrypi_clk *rpi; ++ int ret; ++ ++ firmware_node = of_find_compatible_node(NULL, NULL, ++ "raspberrypi,bcm2835-firmware"); ++ if (!firmware_node) { ++ dev_err(dev, "Missing firmware node\n"); ++ return -ENOENT; ++ } ++ ++ firmware = rpi_firmware_get(firmware_node); ++ of_node_put(firmware_node); ++ if (!firmware) ++ return -EPROBE_DEFER; ++ ++ rpi = devm_kzalloc(dev, sizeof(*rpi), GFP_KERNEL); ++ if (!rpi) ++ return -ENOMEM; ++ ++ rpi->dev = dev; ++ rpi->firmware = firmware; ++ ++ ret = raspberrypi_register_pllb(rpi); ++ if (ret) { ++ dev_err(dev, "Failed to initialize pllb, %d\n", ret); ++ return ret; ++ } ++ ++ ret = raspberrypi_register_pllb_arm(rpi); ++ if (ret) ++ return ret; ++ ++ return 0; ++} ++ ++static struct platform_driver raspberrypi_clk_driver = { ++ .driver = { ++ .name = "raspberrypi-clk", ++ }, ++ .probe = raspberrypi_clk_probe, ++}; ++module_platform_driver(raspberrypi_clk_driver); ++ ++MODULE_AUTHOR("Nicolas Saenz Julienne "); ++MODULE_DESCRIPTION("Raspberry Pi firmware clock driver"); ++MODULE_LICENSE("GPL"); ++MODULE_ALIAS("platform:raspberrypi-clk"); diff --git a/target/linux/brcm2708/patches-4.19/950-0761-cpufreq-add-driver-for-Raspberry-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0761-cpufreq-add-driver-for-Raspberry-Pi.patch new file mode 100644 index 000000000..7785caf12 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0761-cpufreq-add-driver-for-Raspberry-Pi.patch @@ -0,0 +1,161 @@ +From 1c0d3626312369837bc18051ed6c9611323fce87 Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne +Date: Wed, 12 Jun 2019 20:24:56 +0200 +Subject: [PATCH] cpufreq: add driver for Raspberry Pi + +Commit d3df18a97e586702920337056540267807b23f8e upstream. + +Raspberry Pi's firmware offers and interface though which update it's +performance requirements. It allows us to request for specific runtime +frequencies, which the firmware might or might not respect, depending on +the firmware configuration and thermals. + +As the maximum and minimum frequencies are configurable in the firmware +there is no way to know in advance their values. So the Raspberry Pi +cpufreq driver queries them, builds an opp frequency table to then +launch cpufreq-dt. + +Also, as the firmware interface might be configured as a module, making +the cpu clock unavailable during init, this implements a full fledged +driver, as opposed to most drivers registering cpufreq-dt, which only +make use of an init routine. + +Signed-off-by: Nicolas Saenz Julienne +Acked-by: Eric Anholt +Reviewed-by: Stephen Boyd +Acked-by: Stefan Wahren +Signed-off-by: Viresh Kumar +--- + drivers/cpufreq/Kconfig.arm | 8 +++ + drivers/cpufreq/Makefile | 1 + + drivers/cpufreq/raspberrypi-cpufreq.c | 97 +++++++++++++++++++++++++++ + 3 files changed, 106 insertions(+) + create mode 100644 drivers/cpufreq/raspberrypi-cpufreq.c + +--- a/drivers/cpufreq/Kconfig.arm ++++ b/drivers/cpufreq/Kconfig.arm +@@ -121,6 +121,14 @@ config ARM_QCOM_CPUFREQ_KRYO + + If in doubt, say N. + ++config ARM_RASPBERRYPI_CPUFREQ ++ tristate "Raspberry Pi cpufreq support" ++ depends on CLK_RASPBERRYPI || COMPILE_TEST ++ help ++ This adds the CPUFreq driver for Raspberry Pi ++ ++ If in doubt, say N. ++ + config ARM_S3C_CPUFREQ + bool + help +--- a/drivers/cpufreq/Makefile ++++ b/drivers/cpufreq/Makefile +@@ -65,6 +65,7 @@ obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += o + obj-$(CONFIG_ARM_PXA2xx_CPUFREQ) += pxa2xx-cpufreq.o + obj-$(CONFIG_PXA3xx) += pxa3xx-cpufreq.o + obj-$(CONFIG_ARM_QCOM_CPUFREQ_KRYO) += qcom-cpufreq-kryo.o ++obj-$(CONFIG_ARM_RASPBERRYPI_CPUFREQ) += raspberrypi-cpufreq.o + obj-$(CONFIG_ARM_S3C2410_CPUFREQ) += s3c2410-cpufreq.o + obj-$(CONFIG_ARM_S3C2412_CPUFREQ) += s3c2412-cpufreq.o + obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o +--- /dev/null ++++ b/drivers/cpufreq/raspberrypi-cpufreq.c +@@ -0,0 +1,97 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Raspberry Pi cpufreq driver ++ * ++ * Copyright (C) 2019, Nicolas Saenz Julienne ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define RASPBERRYPI_FREQ_INTERVAL 100000000 ++ ++static struct platform_device *cpufreq_dt; ++ ++static int raspberrypi_cpufreq_probe(struct platform_device *pdev) ++{ ++ struct device *cpu_dev; ++ unsigned long min, max; ++ unsigned long rate; ++ struct clk *clk; ++ int ret; ++ ++ cpu_dev = get_cpu_device(0); ++ if (!cpu_dev) { ++ pr_err("Cannot get CPU for cpufreq driver\n"); ++ return -ENODEV; ++ } ++ ++ clk = clk_get(cpu_dev, NULL); ++ if (IS_ERR(clk)) { ++ dev_err(cpu_dev, "Cannot get clock for CPU0\n"); ++ return PTR_ERR(clk); ++ } ++ ++ /* ++ * The max and min frequencies are configurable in the Raspberry Pi ++ * firmware, so we query them at runtime. ++ */ ++ min = roundup(clk_round_rate(clk, 0), RASPBERRYPI_FREQ_INTERVAL); ++ max = roundup(clk_round_rate(clk, ULONG_MAX), RASPBERRYPI_FREQ_INTERVAL); ++ clk_put(clk); ++ ++ for (rate = min; rate <= max; rate += RASPBERRYPI_FREQ_INTERVAL) { ++ ret = dev_pm_opp_add(cpu_dev, rate, 0); ++ if (ret) ++ goto remove_opp; ++ } ++ ++ cpufreq_dt = platform_device_register_simple("cpufreq-dt", -1, NULL, 0); ++ ret = PTR_ERR_OR_ZERO(cpufreq_dt); ++ if (ret) { ++ dev_err(cpu_dev, "Failed to create platform device, %d\n", ret); ++ goto remove_opp; ++ } ++ ++ return 0; ++ ++remove_opp: ++ dev_pm_opp_remove_all_dynamic(cpu_dev); ++ ++ return ret; ++} ++ ++static int raspberrypi_cpufreq_remove(struct platform_device *pdev) ++{ ++ struct device *cpu_dev; ++ ++ cpu_dev = get_cpu_device(0); ++ if (cpu_dev) ++ dev_pm_opp_remove_all_dynamic(cpu_dev); ++ ++ platform_device_unregister(cpufreq_dt); ++ ++ return 0; ++} ++ ++/* ++ * Since the driver depends on clk-raspberrypi, which may return EPROBE_DEFER, ++ * all the activity is performed in the probe, which may be defered as well. ++ */ ++static struct platform_driver raspberrypi_cpufreq_driver = { ++ .driver = { ++ .name = "raspberrypi-cpufreq", ++ }, ++ .probe = raspberrypi_cpufreq_probe, ++ .remove = raspberrypi_cpufreq_remove, ++}; ++module_platform_driver(raspberrypi_cpufreq_driver); ++ ++MODULE_AUTHOR("Nicolas Saenz Julienne +Date: Wed, 12 Jun 2019 20:24:55 +0200 +Subject: [PATCH] firmware: raspberrypi: register clk device + +Commit 91f2cf4a6b2131016b1ae9c9500245f0572112c7 upstream. + +Since clk-raspberrypi is tied to the VC4 firmware instead of particular +hardware it's registration should be performed by the firmware driver. + +Signed-off-by: Nicolas Saenz Julienne +Acked-by: Eric Anholt +Signed-off-by: Stephen Boyd +--- + drivers/firmware/raspberrypi.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/drivers/firmware/raspberrypi.c ++++ b/drivers/firmware/raspberrypi.c +@@ -24,6 +24,7 @@ + #define MBOX_CHAN_PROPERTY 8 + + static struct platform_device *rpi_hwmon; ++static struct platform_device *rpi_clk; + + struct rpi_firmware { + struct mbox_client cl; +@@ -297,6 +298,12 @@ rpi_register_hwmon_driver(struct device + } + } + ++static void rpi_register_clk_driver(struct device *dev) ++{ ++ rpi_clk = platform_device_register_data(dev, "raspberrypi-clk", ++ -1, NULL, 0); ++} ++ + static int rpi_firmware_probe(struct platform_device *pdev) + { + struct device *dev = &pdev->dev; +@@ -326,6 +333,7 @@ static int rpi_firmware_probe(struct pla + rpi_firmware_print_firmware_revision(fw); + rpi_firmware_print_firmware_hash(fw); + rpi_register_hwmon_driver(dev, fw); ++ rpi_register_clk_driver(dev); + + return 0; + } +@@ -336,6 +344,8 @@ static int rpi_firmware_remove(struct pl + + platform_device_unregister(rpi_hwmon); + rpi_hwmon = NULL; ++ platform_device_unregister(rpi_clk); ++ rpi_clk = NULL; + mbox_free_channel(fw->chan); + g_pdev = NULL; + diff --git a/target/linux/brcm2708/patches-4.19/950-0763-clk-raspberrypi-register-platform-device-for-raspber.patch b/target/linux/brcm2708/patches-4.19/950-0763-clk-raspberrypi-register-platform-device-for-raspber.patch new file mode 100644 index 000000000..be4d83485 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0763-clk-raspberrypi-register-platform-device-for-raspber.patch @@ -0,0 +1,65 @@ +From b39d5caa499559be6c309b9fd8f8b2f992504e18 Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne +Date: Wed, 12 Jun 2019 20:24:57 +0200 +Subject: [PATCH] clk: raspberrypi: register platform device for + raspberrypi-cpufreq + +Commit e2bb18347c8e5c4187831f3700c380e3c759601a upstream. + +As 'clk-raspberrypi' depends on RPi's firmware interface, which might be +configured as a module, the cpu clock might not be available for the +cpufreq driver during it's init process. So we register the +'raspberrypi-cpufreq' platform device after the probe sequence succeeds. + +Signed-off-by: Nicolas Saenz Julienne +Acked-by: Eric Anholt +Signed-off-by: Stephen Boyd +--- + drivers/clk/bcm/clk-raspberrypi.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +--- a/drivers/clk/bcm/clk-raspberrypi.c ++++ b/drivers/clk/bcm/clk-raspberrypi.c +@@ -34,6 +34,7 @@ + struct raspberrypi_clk { + struct device *dev; + struct rpi_firmware *firmware; ++ struct platform_device *cpufreq; + + unsigned long min_rate; + unsigned long max_rate; +@@ -272,6 +273,7 @@ static int raspberrypi_clk_probe(struct + + rpi->dev = dev; + rpi->firmware = firmware; ++ platform_set_drvdata(pdev, rpi); + + ret = raspberrypi_register_pllb(rpi); + if (ret) { +@@ -283,6 +285,18 @@ static int raspberrypi_clk_probe(struct + if (ret) + return ret; + ++ rpi->cpufreq = platform_device_register_data(dev, "raspberrypi-cpufreq", ++ -1, NULL, 0); ++ ++ return 0; ++} ++ ++static int raspberrypi_clk_remove(struct platform_device *pdev) ++{ ++ struct raspberrypi_clk *rpi = platform_get_drvdata(pdev); ++ ++ platform_device_unregister(rpi->cpufreq); ++ + return 0; + } + +@@ -291,6 +305,7 @@ static struct platform_driver raspberryp + .name = "raspberrypi-clk", + }, + .probe = raspberrypi_clk_probe, ++ .remove = raspberrypi_clk_remove, + }; + module_platform_driver(raspberrypi_clk_driver); + diff --git a/target/linux/brcm2708/patches-4.19/950-0764-clk-bcm2835-remove-pllb.patch b/target/linux/brcm2708/patches-4.19/950-0764-clk-bcm2835-remove-pllb.patch new file mode 100644 index 000000000..af9dde336 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0764-clk-bcm2835-remove-pllb.patch @@ -0,0 +1,56 @@ +From 04ebfc3e25eaa3dd77544b4b950497990b1a327e Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne +Date: Wed, 12 Jun 2019 20:24:53 +0200 +Subject: [PATCH] clk: bcm2835: remove pllb + +Commit 2256d89333bd17b8b56b42734a7e1046d52f7fc3 upstream. + +Raspberry Pi's firmware controls this pll, we should use the firmware +interface to access it. + +Signed-off-by: Nicolas Saenz Julienne +Acked-by: Eric Anholt +Signed-off-by: Stephen Boyd +--- + drivers/clk/bcm/clk-bcm2835.c | 30 ++++-------------------------- + 1 file changed, 4 insertions(+), 26 deletions(-) + +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -1755,32 +1755,10 @@ static const struct bcm2835_clk_desc clk + .fixed_divider = 1, + .flags = CLK_SET_RATE_PARENT), + +- /* PLLB is used for the ARM's clock. */ +- [BCM2835_PLLB] = REGISTER_PLL( +- SOC_ALL, +- .name = "pllb", +- .cm_ctrl_reg = CM_PLLB, +- .a2w_ctrl_reg = A2W_PLLB_CTRL, +- .frac_reg = A2W_PLLB_FRAC, +- .ana_reg_base = A2W_PLLB_ANA0, +- .reference_enable_mask = A2W_XOSC_CTRL_PLLB_ENABLE, +- .lock_mask = CM_LOCK_FLOCKB, +- +- .ana = &bcm2835_ana_default, +- +- .min_rate = 600000000u, +- .max_rate = 3000000000u, +- .max_fb_rate = BCM2835_MAX_FB_RATE), +- [BCM2835_PLLB_ARM] = REGISTER_PLL_DIV( +- SOC_ALL, +- .name = "pllb_arm", +- .source_pll = "pllb", +- .cm_reg = CM_PLLB, +- .a2w_reg = A2W_PLLB_ARM, +- .load_mask = CM_PLLB_LOADARM, +- .hold_mask = CM_PLLB_HOLDARM, +- .fixed_divider = 1, +- .flags = CLK_SET_RATE_PARENT), ++ /* ++ * PLLB is used for the ARM's clock. Controlled by firmware, see ++ * clk-raspberrypi.c. ++ */ + + /* + * PLLC is the core PLL, used to drive the core VPU clock. diff --git a/target/linux/brcm2708/patches-4.19/950-0765-v3d_drv-Allow-clock-retrieval-by-name.patch b/target/linux/brcm2708/patches-4.19/950-0765-v3d_drv-Allow-clock-retrieval-by-name.patch new file mode 100644 index 000000000..b5ce5bd4a --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0765-v3d_drv-Allow-clock-retrieval-by-name.patch @@ -0,0 +1,23 @@ +From 2b08d751023fcdf3c37317dc769ce199ba361415 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 9 Sep 2019 23:50:44 +0100 +Subject: [PATCH] v3d_drv: Allow clock retrieval by name + +Signed-off-by: Phil Elwell +--- + drivers/gpu/drm/v3d/v3d_drv.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/v3d/v3d_drv.c ++++ b/drivers/gpu/drm/v3d/v3d_drv.c +@@ -300,7 +300,9 @@ static int v3d_platform_drm_probe(struct + } + } + +- v3d->clk = devm_clk_get(dev, NULL); ++ v3d->clk = devm_clk_get(dev, "v3d"); ++ if (!v3d->clk) ++ v3d->clk = devm_clk_get(dev, NULL); + if (IS_ERR_OR_NULL(v3d->clk)) { + if (PTR_ERR(v3d->clk) != -EPROBE_DEFER) + dev_err(dev, "Failed to get clock (%ld)\n", PTR_ERR(v3d->clk)); diff --git a/target/linux/brcm2708/patches-4.19/950-0766-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch b/target/linux/brcm2708/patches-4.19/950-0766-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch new file mode 100644 index 000000000..f10e2465f --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0766-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch @@ -0,0 +1,27 @@ +From ccf2b80332ba86e5a69f7e3a0f097d9558ad5c95 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 5 Sep 2019 17:59:14 +0100 +Subject: [PATCH] v3d_gem: Kick the clock so firmware knows we are + using firmware clock interface + +Setting the v3d clock to low value allows firmware to handle dvfs in case +where v3d hardware is not being actively used (e.g. console use). + +Signed-off-by: popcornmix +--- + drivers/gpu/drm/v3d/v3d_gem.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/gpu/drm/v3d/v3d_gem.c ++++ b/drivers/gpu/drm/v3d/v3d_gem.c +@@ -1050,6 +1050,10 @@ v3d_gem_init(struct drm_device *dev) + mutex_init(&v3d->clk_lock); + INIT_DELAYED_WORK(&v3d->clk_down_work, v3d_clock_down_work); + ++ /* kick the clock so firmware knows we are using firmware clock interface */ ++ v3d_clock_up_get(v3d); ++ v3d_clock_up_put(v3d); ++ + /* Note: We don't allocate address 0. Various bits of HW + * treat 0 as special, such as the occlusion query counters + * where 0 means "disabled". diff --git a/target/linux/brcm2708/patches-4.19/950-0767-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch b/target/linux/brcm2708/patches-4.19/950-0767-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch new file mode 100644 index 000000000..419902ae9 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0767-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch @@ -0,0 +1,25 @@ +From 801156c2f2d2d074a1d966f59fc63d8056b3cef9 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 9 Sep 2019 15:49:56 +0100 +Subject: [PATCH] clk-raspberrypi: Allow cpufreq driver to also adjust + gpu clocks + +For performance/power it is beneficial to adjust gpu clocks with arm clock. +This is how the downstream cpufreq driver works + +Signed-off-by: popcornmix +--- + drivers/clk/bcm/clk-raspberrypi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/clk/bcm/clk-raspberrypi.c ++++ b/drivers/clk/bcm/clk-raspberrypi.c +@@ -70,7 +70,7 @@ static int raspberrypi_clock_property(st + struct raspberrypi_firmware_prop msg = { + .id = cpu_to_le32(clk), + .val = cpu_to_le32(*val), +- .disable_turbo = cpu_to_le32(1), ++ .disable_turbo = cpu_to_le32(0), + }; + int ret; + diff --git a/target/linux/brcm2708/patches-4.19/950-0768-clk-raspberrypi-Also-support-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0768-clk-raspberrypi-Also-support-v3d-clock.patch new file mode 100644 index 000000000..c145f2faa --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0768-clk-raspberrypi-Also-support-v3d-clock.patch @@ -0,0 +1,640 @@ +From 679f68410271a32f200e48b501027f68bd114d5c Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Wed, 21 Aug 2019 14:55:56 +0100 +Subject: [PATCH] clk-raspberrypi: Also support v3d clock + +Signed-off-by: popcornmix +--- + drivers/clk/bcm/clk-raspberrypi.c | 497 ++++++++++++++++++++++++------ + 1 file changed, 408 insertions(+), 89 deletions(-) + +--- a/drivers/clk/bcm/clk-raspberrypi.c ++++ b/drivers/clk/bcm/clk-raspberrypi.c +@@ -15,33 +15,103 @@ + #include + #include + #include +- ++#include + #include + + #define RPI_FIRMWARE_ARM_CLK_ID 0x00000003 ++#define RPI_FIRMWARE_V3D_CLK_ID 0x00000005 + + #define RPI_FIRMWARE_STATE_ENABLE_BIT BIT(0) + #define RPI_FIRMWARE_STATE_WAIT_BIT BIT(1) + +-/* +- * Even though the firmware interface alters 'pllb' the frequencies are +- * provided as per 'pllb_arm'. We need to scale before passing them trough. +- */ +-#define RPI_FIRMWARE_PLLB_ARM_DIV_RATE 2 +- + #define A2W_PLL_FRAC_BITS 20 + ++#define SOC_BCM2835 BIT(0) ++#define SOC_BCM2711 BIT(1) ++#define SOC_ALL (SOC_BCM2835 | SOC_BCM2711) ++ + struct raspberrypi_clk { + struct device *dev; + struct rpi_firmware *firmware; + struct platform_device *cpufreq; ++}; ++ ++typedef int (*raspberrypi_clk_register)(struct raspberrypi_clk *rpi, ++ const void *data); ++ ++ ++/* assignment helper macros for different clock types */ ++#define _REGISTER(f, s, ...) { .clk_register = (raspberrypi_clk_register)f, \ ++ .supported = s, \ ++ .data = __VA_ARGS__ } ++#define REGISTER_PLL(s, ...) _REGISTER(&raspberrypi_register_pll, \ ++ s, \ ++ &(struct raspberrypi_pll_data) \ ++ {__VA_ARGS__}) ++#define REGISTER_PLL_DIV(s, ...) _REGISTER(&raspberrypi_register_pll_divider, \ ++ s, \ ++ &(struct raspberrypi_pll_divider_data) \ ++ {__VA_ARGS__}) ++#define REGISTER_CLK(s, ...) _REGISTER(&raspberrypi_register_clock, \ ++ s, \ ++ &(struct raspberrypi_clock_data) \ ++ {__VA_ARGS__}) ++ ++ ++struct raspberrypi_pll_data { ++ const char *name; ++ const char *const *parents; ++ int num_parents; ++ u32 clock_id; ++}; ++ ++struct raspberrypi_clock_data { ++ const char *name; ++ const char *const *parents; ++ int num_parents; ++ u32 flags; ++ u32 clock_id; ++}; ++ ++struct raspberrypi_pll_divider_data { ++ const char *name; ++ const char *divider_name; ++ const char *lookup; ++ const char *source_pll; ++ ++ u32 fixed_divider; ++ u32 flags; ++ u32 clock_id; ++}; + +- unsigned long min_rate; +- unsigned long max_rate; ++struct raspberrypi_clk_desc { ++ raspberrypi_clk_register clk_register; ++ unsigned int supported; ++ const void *data; ++}; + +- struct clk_hw pllb; +- struct clk_hw *pllb_arm; +- struct clk_lookup *pllb_arm_lookup; ++struct raspberrypi_clock { ++ struct clk_hw hw; ++ struct raspberrypi_clk *rpi; ++ u32 min_rate; ++ u32 max_rate; ++ const struct raspberrypi_clock_data *data; ++}; ++ ++struct raspberrypi_pll { ++ struct clk_hw hw; ++ struct raspberrypi_clk *rpi; ++ u32 min_rate; ++ u32 max_rate; ++ const struct raspberrypi_pll_data *data; ++}; ++ ++struct raspberrypi_pll_divider { ++ struct clk_divider div; ++ struct raspberrypi_clk *rpi; ++ u32 min_rate; ++ u32 max_rate; ++ const struct raspberrypi_pll_divider_data *data; + }; + + /* +@@ -83,56 +153,49 @@ static int raspberrypi_clock_property(st + return 0; + } + +-static int raspberrypi_fw_pll_is_on(struct clk_hw *hw) ++static int raspberrypi_fw_is_on(struct raspberrypi_clk *rpi, u32 clock_id, const char *name) + { +- struct raspberrypi_clk *rpi = container_of(hw, struct raspberrypi_clk, +- pllb); + u32 val = 0; + int ret; + + ret = raspberrypi_clock_property(rpi->firmware, + RPI_FIRMWARE_GET_CLOCK_STATE, +- RPI_FIRMWARE_ARM_CLK_ID, &val); ++ clock_id, &val); + if (ret) + return 0; + + return !!(val & RPI_FIRMWARE_STATE_ENABLE_BIT); + } + +- +-static unsigned long raspberrypi_fw_pll_get_rate(struct clk_hw *hw, +- unsigned long parent_rate) ++static unsigned long raspberrypi_fw_get_rate(struct raspberrypi_clk *rpi, ++ u32 clock_id, const char *name, unsigned long parent_rate) + { +- struct raspberrypi_clk *rpi = container_of(hw, struct raspberrypi_clk, +- pllb); + u32 val = 0; + int ret; + + ret = raspberrypi_clock_property(rpi->firmware, + RPI_FIRMWARE_GET_CLOCK_RATE, +- RPI_FIRMWARE_ARM_CLK_ID, ++ clock_id, + &val); + if (ret) +- return ret; +- +- return val * RPI_FIRMWARE_PLLB_ARM_DIV_RATE; ++ dev_err_ratelimited(rpi->dev, "Failed to get %s frequency: %d", ++ name, ret); ++ return val; + } + +-static int raspberrypi_fw_pll_set_rate(struct clk_hw *hw, unsigned long rate, +- unsigned long parent_rate) ++static int raspberrypi_fw_set_rate(struct raspberrypi_clk *rpi, ++ u32 clock_id, const char *name, u32 rate, ++ unsigned long parent_rate) + { +- struct raspberrypi_clk *rpi = container_of(hw, struct raspberrypi_clk, +- pllb); +- u32 new_rate = rate / RPI_FIRMWARE_PLLB_ARM_DIV_RATE; + int ret; + + ret = raspberrypi_clock_property(rpi->firmware, + RPI_FIRMWARE_SET_CLOCK_RATE, +- RPI_FIRMWARE_ARM_CLK_ID, +- &new_rate); ++ clock_id, ++ &rate); + if (ret) + dev_err_ratelimited(rpi->dev, "Failed to change %s frequency: %d", +- clk_hw_get_name(hw), ret); ++ name, ret); + + return ret; + } +@@ -141,16 +204,15 @@ static int raspberrypi_fw_pll_set_rate(s + * Sadly there is no firmware rate rounding interface. We borrowed it from + * clk-bcm2835. + */ +-static int raspberrypi_pll_determine_rate(struct clk_hw *hw, ++static int raspberrypi_determine_rate(struct raspberrypi_clk *rpi, ++ u32 clock_id, const char *name, unsigned long min_rate, unsigned long max_rate, + struct clk_rate_request *req) + { +- struct raspberrypi_clk *rpi = container_of(hw, struct raspberrypi_clk, +- pllb); + u64 div, final_rate; + u32 ndiv, fdiv; + + /* We can't use req->rate directly as it would overflow */ +- final_rate = clamp(req->rate, rpi->min_rate, rpi->max_rate); ++ final_rate = clamp(req->rate, min_rate, max_rate); + + div = (u64)final_rate << A2W_PLL_FRAC_BITS; + do_div(div, req->best_parent_rate); +@@ -166,6 +228,125 @@ static int raspberrypi_pll_determine_rat + return 0; + } + ++static int raspberrypi_fw_clock_is_on(struct clk_hw *hw) ++{ ++ struct raspberrypi_clock *pll = container_of(hw, struct raspberrypi_clock, hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_clock_data *data = pll->data; ++ ++ return raspberrypi_fw_is_on(rpi, data->clock_id, data->name); ++} ++ ++static unsigned long raspberrypi_fw_clock_get_rate(struct clk_hw *hw, ++ unsigned long parent_rate) ++{ ++ struct raspberrypi_clock *pll = container_of(hw, struct raspberrypi_clock, hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_clock_data *data = pll->data; ++ ++ return raspberrypi_fw_get_rate(rpi, data->clock_id, data->name, parent_rate); ++} ++ ++static int raspberrypi_fw_clock_set_rate(struct clk_hw *hw, unsigned long rate, ++ unsigned long parent_rate) ++{ ++ struct raspberrypi_clock *pll = container_of(hw, struct raspberrypi_clock, hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_clock_data *data = pll->data; ++ ++ return raspberrypi_fw_set_rate(rpi, data->clock_id, data->name, rate, parent_rate); ++} ++ ++static int raspberrypi_clock_determine_rate(struct clk_hw *hw, ++ struct clk_rate_request *req) ++{ ++ struct raspberrypi_clock *pll = container_of(hw, struct raspberrypi_clock, hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_clock_data *data = pll->data; ++ ++ return raspberrypi_determine_rate(rpi, data->clock_id, data->name, pll->min_rate, pll->max_rate, req); ++} ++ ++static int raspberrypi_fw_pll_is_on(struct clk_hw *hw) ++{ ++ struct raspberrypi_pll *pll = container_of(hw, struct raspberrypi_pll, hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_pll_data *data = pll->data; ++ ++ return raspberrypi_fw_is_on(rpi, data->clock_id, data->name); ++} ++ ++static unsigned long raspberrypi_fw_pll_get_rate(struct clk_hw *hw, ++ unsigned long parent_rate) ++{ ++ struct raspberrypi_pll *pll = container_of(hw, struct raspberrypi_pll, hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_pll_data *data = pll->data; ++ ++ return raspberrypi_fw_get_rate(rpi, data->clock_id, data->name, parent_rate); ++} ++ ++static int raspberrypi_fw_pll_set_rate(struct clk_hw *hw, unsigned long rate, ++ unsigned long parent_rate) ++{ ++ struct raspberrypi_pll *pll = container_of(hw, struct raspberrypi_pll, hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_pll_data *data = pll->data; ++ ++ return raspberrypi_fw_set_rate(rpi, data->clock_id, data->name, rate, parent_rate); ++} ++ ++static int raspberrypi_pll_determine_rate(struct clk_hw *hw, ++ struct clk_rate_request *req) ++{ ++ struct raspberrypi_pll *pll = container_of(hw, struct raspberrypi_pll, hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_pll_data *data = pll->data; ++ ++ return raspberrypi_determine_rate(rpi, data->clock_id, data->name, pll->min_rate, pll->max_rate, req); ++} ++ ++ ++static int raspberrypi_fw_pll_div_is_on(struct clk_hw *hw) ++{ ++ struct raspberrypi_pll_divider *pll = container_of(hw, struct raspberrypi_pll_divider, div.hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_pll_divider_data *data = pll->data; ++ ++ return raspberrypi_fw_is_on(rpi, data->clock_id, data->name); ++} ++ ++static unsigned long raspberrypi_fw_pll_div_get_rate(struct clk_hw *hw, ++ unsigned long parent_rate) ++{ ++ struct raspberrypi_pll_divider *pll = container_of(hw, struct raspberrypi_pll_divider, div.hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_pll_divider_data *data = pll->data; ++ ++ return raspberrypi_fw_get_rate(rpi, data->clock_id, data->name, parent_rate); ++} ++ ++static int raspberrypi_fw_pll_div_set_rate(struct clk_hw *hw, unsigned long rate, ++ unsigned long parent_rate) ++{ ++ struct raspberrypi_pll_divider *pll = container_of(hw, struct raspberrypi_pll_divider, div.hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_pll_divider_data *data = pll->data; ++ ++ return raspberrypi_fw_set_rate(rpi, data->clock_id, data->name, rate, parent_rate); ++} ++ ++static int raspberrypi_pll_div_determine_rate(struct clk_hw *hw, ++ struct clk_rate_request *req) ++{ ++ struct raspberrypi_pll_divider *pll = container_of(hw, struct raspberrypi_pll_divider, div.hw); ++ struct raspberrypi_clk *rpi = pll->rpi; ++ const struct raspberrypi_pll_divider_data *data = pll->data; ++ ++ return raspberrypi_determine_rate(rpi, data->clock_id, data->name, pll->min_rate, pll->max_rate, req); ++} ++ ++ + static const struct clk_ops raspberrypi_firmware_pll_clk_ops = { + .is_prepared = raspberrypi_fw_pll_is_on, + .recalc_rate = raspberrypi_fw_pll_get_rate, +@@ -173,87 +354,225 @@ static const struct clk_ops raspberrypi_ + .determine_rate = raspberrypi_pll_determine_rate, + }; + +-static int raspberrypi_register_pllb(struct raspberrypi_clk *rpi) ++static const struct clk_ops raspberrypi_firmware_pll_divider_clk_ops = { ++ .is_prepared = raspberrypi_fw_pll_div_is_on, ++ .recalc_rate = raspberrypi_fw_pll_div_get_rate, ++ .set_rate = raspberrypi_fw_pll_div_set_rate, ++ .determine_rate = raspberrypi_pll_div_determine_rate, ++}; ++ ++static const struct clk_ops raspberrypi_firmware_clk_ops = { ++ .is_prepared = raspberrypi_fw_clock_is_on, ++ .recalc_rate = raspberrypi_fw_clock_get_rate, ++ .set_rate = raspberrypi_fw_clock_set_rate, ++ .determine_rate = raspberrypi_clock_determine_rate, ++}; ++ ++ ++static int raspberrypi_get_clock_range(struct raspberrypi_clk *rpi, u32 clock_id, u32 *min_rate, u32 *max_rate) + { +- u32 min_rate = 0, max_rate = 0; ++ int ret; ++ ++ /* Get min & max rates set by the firmware */ ++ ret = raspberrypi_clock_property(rpi->firmware, ++ RPI_FIRMWARE_GET_MIN_CLOCK_RATE, ++ clock_id, ++ min_rate); ++ if (ret) { ++ dev_err(rpi->dev, "Failed to get clock %d min freq: %d (%d)\n", ++ clock_id, *min_rate, ret); ++ return ret; ++ } ++ ++ ret = raspberrypi_clock_property(rpi->firmware, ++ RPI_FIRMWARE_GET_MAX_CLOCK_RATE, ++ clock_id, ++ max_rate); ++ if (ret) { ++ dev_err(rpi->dev, "Failed to get clock %d max freq: %d (%d)\n", ++ clock_id, *max_rate, ret); ++ return ret; ++ } ++ return 0; ++} ++ ++ ++static int raspberrypi_register_pll(struct raspberrypi_clk *rpi, ++ const struct raspberrypi_pll_data *data) ++{ ++ struct raspberrypi_pll *pll; + struct clk_init_data init; + int ret; + + memset(&init, 0, sizeof(init)); + + /* All of the PLLs derive from the external oscillator. */ +- init.parent_names = (const char *[]){ "osc" }; +- init.num_parents = 1; +- init.name = "pllb"; ++ init.parent_names = data->parents; ++ init.num_parents = data->num_parents; ++ init.name = data->name; + init.ops = &raspberrypi_firmware_pll_clk_ops; + init.flags = CLK_GET_RATE_NOCACHE | CLK_IGNORE_UNUSED; + +- /* Get min & max rates set by the firmware */ +- ret = raspberrypi_clock_property(rpi->firmware, +- RPI_FIRMWARE_GET_MIN_CLOCK_RATE, +- RPI_FIRMWARE_ARM_CLK_ID, +- &min_rate); ++ pll = kzalloc(sizeof(*pll), GFP_KERNEL); ++ if (!pll) ++ return -ENOMEM; ++ pll->rpi = rpi; ++ pll->data = data; ++ pll->hw.init = &init; ++ ++ ret = raspberrypi_get_clock_range(rpi, data->clock_id, &pll->min_rate, &pll->max_rate); + if (ret) { +- dev_err(rpi->dev, "Failed to get %s min freq: %d\n", +- init.name, ret); ++ dev_err(rpi->dev, "%s: raspberrypi_get_clock_range(%s) failed: %d\n", __func__, init.name, ret); + return ret; + } + +- ret = raspberrypi_clock_property(rpi->firmware, +- RPI_FIRMWARE_GET_MAX_CLOCK_RATE, +- RPI_FIRMWARE_ARM_CLK_ID, +- &max_rate); ++ ret = devm_clk_hw_register(rpi->dev, &pll->hw); + if (ret) { +- dev_err(rpi->dev, "Failed to get %s max freq: %d\n", +- init.name, ret); ++ dev_err(rpi->dev, "%s: devm_clk_hw_register(%s) failed: %d\n", __func__, init.name, ret); + return ret; + } ++ return 0; ++} + +- if (!min_rate || !max_rate) { +- dev_err(rpi->dev, "Unexpected frequency range: min %u, max %u\n", +- min_rate, max_rate); +- return -EINVAL; +- } ++static int ++raspberrypi_register_pll_divider(struct raspberrypi_clk *rpi, ++ const struct raspberrypi_pll_divider_data *data) ++{ ++ struct raspberrypi_pll_divider *divider; ++ struct clk_init_data init; ++ int ret; ++ ++ memset(&init, 0, sizeof(init)); ++ ++ init.parent_names = &data->source_pll; ++ init.num_parents = 1; ++ init.name = data->name; ++ init.ops = &raspberrypi_firmware_pll_divider_clk_ops; ++ init.flags = data->flags | CLK_IGNORE_UNUSED; + +- dev_info(rpi->dev, "CPU frequency range: min %u, max %u\n", +- min_rate, max_rate); ++ divider = devm_kzalloc(rpi->dev, sizeof(*divider), GFP_KERNEL); ++ if (!divider) ++ return -ENOMEM; ++ ++ divider->div.hw.init = &init; ++ divider->rpi = rpi; ++ divider->data = data; ++ ++ ret = raspberrypi_get_clock_range(rpi, data->clock_id, ÷r->min_rate, ÷r->max_rate); ++ if (ret) { ++ dev_err(rpi->dev, "%s: raspberrypi_get_clock_range(%s) failed: %d\n", __func__, init.name, ret); ++ return ret; ++ } + +- rpi->min_rate = min_rate * RPI_FIRMWARE_PLLB_ARM_DIV_RATE; +- rpi->max_rate = max_rate * RPI_FIRMWARE_PLLB_ARM_DIV_RATE; ++ ret = devm_clk_hw_register(rpi->dev, ÷r->div.hw); ++ if (ret) { ++ dev_err(rpi->dev, "%s: devm_clk_hw_register(%s) failed: %d\n", __func__, init.name, ret); ++ return ret; ++ } + +- rpi->pllb.init = &init; ++ /* ++ * PLLH's channels have a fixed divide by 10 afterwards, which ++ * is what our consumers are actually using. ++ */ ++ if (data->fixed_divider != 1) { ++ struct clk_lookup *lookup; ++ struct clk_hw *clk = clk_hw_register_fixed_factor(rpi->dev, ++ data->divider_name, ++ data->name, ++ CLK_SET_RATE_PARENT, ++ 1, ++ data->fixed_divider); ++ if (IS_ERR(clk)) { ++ dev_err(rpi->dev, "%s: clk_hw_register_fixed_factor(%s) failed: %ld\n", __func__, init.name, PTR_ERR(clk)); ++ return PTR_ERR(clk); ++ } ++ if (data->lookup) { ++ lookup = clkdev_hw_create(clk, NULL, data->lookup); ++ if (IS_ERR(lookup)) { ++ dev_err(rpi->dev, "%s: clk_hw_register_fixed_factor(%s) failed: %ld\n", __func__, init.name, PTR_ERR(lookup)); ++ return PTR_ERR(lookup); ++ } ++ } ++ } + +- return devm_clk_hw_register(rpi->dev, &rpi->pllb); ++ return 0; + } + +-static int raspberrypi_register_pllb_arm(struct raspberrypi_clk *rpi) ++static int raspberrypi_register_clock(struct raspberrypi_clk *rpi, ++ const struct raspberrypi_clock_data *data) + { +- rpi->pllb_arm = clk_hw_register_fixed_factor(rpi->dev, +- "pllb_arm", "pllb", +- CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE, +- 1, 2); +- if (IS_ERR(rpi->pllb_arm)) { +- dev_err(rpi->dev, "Failed to initialize pllb_arm\n"); +- return PTR_ERR(rpi->pllb_arm); +- } ++ struct raspberrypi_clock *clock; ++ struct clk_init_data init; ++ struct clk *clk; ++ int ret; ++ ++ memset(&init, 0, sizeof(init)); ++ init.parent_names = data->parents; ++ init.num_parents = data->num_parents; ++ init.name = data->name; ++ init.flags = data->flags | CLK_IGNORE_UNUSED; + +- rpi->pllb_arm_lookup = clkdev_hw_create(rpi->pllb_arm, NULL, "cpu0"); +- if (!rpi->pllb_arm_lookup) { +- dev_err(rpi->dev, "Failed to initialize pllb_arm_lookup\n"); +- clk_hw_unregister_fixed_factor(rpi->pllb_arm); ++ init.ops = &raspberrypi_firmware_clk_ops; ++ ++ clock = devm_kzalloc(rpi->dev, sizeof(*clock), GFP_KERNEL); ++ if (!clock) + return -ENOMEM; +- } + ++ clock->rpi = rpi; ++ clock->data = data; ++ clock->hw.init = &init; ++ ++ ret = raspberrypi_get_clock_range(rpi, data->clock_id, &clock->min_rate, &clock->max_rate); ++ if (ret) { ++ dev_err(rpi->dev, "%s: raspberrypi_get_clock_range(%s) failed: %d\n", __func__, init.name, ret); ++ return ret; ++ } ++ clk = devm_clk_register(rpi->dev, &clock->hw); ++ if (IS_ERR(clk)) { ++ dev_err(rpi->dev, "%s: devm_clk_register(%s) failed: %ld\n", __func__, init.name, PTR_ERR(clk)); ++ return PTR_ERR(clk); ++ } ++ ret = clk_register_clkdev(clk, init.name, NULL); ++ if (ret) { ++ dev_err(rpi->dev, "%s: clk_register_clkdev(%s) failed: %d\n", __func__, init.name, ret); ++ return ret; ++ } + return 0; + } + ++ ++/* ++ * the real definition of all the pll, pll_dividers and clocks ++ * these make use of the above REGISTER_* macros ++ */ ++static const struct raspberrypi_clk_desc clk_desc_array[] = { ++ /* the PLL + PLL dividers */ ++ [BCM2835_CLOCK_V3D] = REGISTER_CLK( ++ SOC_ALL, ++ .name = "v3d", ++ .parents = (const char *[]){ "osc" }, ++ .num_parents = 1, ++ .clock_id = RPI_FIRMWARE_V3D_CLK_ID), ++ [BCM2835_PLLB_ARM] = REGISTER_PLL_DIV( ++ SOC_ALL, ++ .name = "pllb", ++ .source_pll = "osc", ++ .divider_name = "pllb_arm", ++ .lookup = "cpu0", ++ .fixed_divider = 2, ++ .clock_id = RPI_FIRMWARE_ARM_CLK_ID, ++ .flags = CLK_SET_RATE_PARENT), ++}; ++ + static int raspberrypi_clk_probe(struct platform_device *pdev) + { + struct device_node *firmware_node; + struct device *dev = &pdev->dev; + struct rpi_firmware *firmware; + struct raspberrypi_clk *rpi; +- int ret; ++ const struct raspberrypi_clk_desc *desc; ++ const size_t asize = ARRAY_SIZE(clk_desc_array); ++ int i; + + firmware_node = of_find_compatible_node(NULL, NULL, + "raspberrypi,bcm2835-firmware"); +@@ -275,16 +594,16 @@ static int raspberrypi_clk_probe(struct + rpi->firmware = firmware; + platform_set_drvdata(pdev, rpi); + +- ret = raspberrypi_register_pllb(rpi); +- if (ret) { +- dev_err(dev, "Failed to initialize pllb, %d\n", ret); +- return ret; ++ for (i = 0; i < asize; i++) { ++ desc = &clk_desc_array[i]; ++ if (desc->clk_register && desc->data /*&& ++ (desc->supported & pdata->soc)*/) { ++ int ret = desc->clk_register(rpi, desc->data); ++ if (ret) ++ return ret; ++ } + } + +- ret = raspberrypi_register_pllb_arm(rpi); +- if (ret) +- return ret; +- + rpi->cpufreq = platform_device_register_data(dev, "raspberrypi-cpufreq", + -1, NULL, 0); + diff --git a/target/linux/brcm2708/patches-4.19/950-0769-clk-bcm2835-Disable-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0769-clk-bcm2835-Disable-v3d-clock.patch new file mode 100644 index 000000000..34de4de8a --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0769-clk-bcm2835-Disable-v3d-clock.patch @@ -0,0 +1,58 @@ +From e8e99169991da84d59f1ed70de9621e31b67d505 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 3 Sep 2019 20:28:00 +0100 +Subject: [PATCH] clk-bcm2835: Disable v3d clock + +This is controlled by firmware, see clk-raspberrypi.c + +Signed-off-by: popcornmix +--- + drivers/clk/bcm/clk-bcm2835.c | 30 ++++++++++++------------------ + 1 file changed, 12 insertions(+), 18 deletions(-) + +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -1725,16 +1725,12 @@ static const struct bcm2835_clk_desc clk + .hold_mask = CM_PLLA_HOLDCORE, + .fixed_divider = 1, + .flags = CLK_SET_RATE_PARENT), +- [BCM2835_PLLA_PER] = REGISTER_PLL_DIV( +- SOC_ALL, +- .name = "plla_per", +- .source_pll = "plla", +- .cm_reg = CM_PLLA, +- .a2w_reg = A2W_PLLA_PER, +- .load_mask = CM_PLLA_LOADPER, +- .hold_mask = CM_PLLA_HOLDPER, +- .fixed_divider = 1, +- .flags = CLK_SET_RATE_PARENT), ++ ++ /* ++ * PLLA_PER is used for gpu clocks. Controlled by firmware, see ++ * clk-raspberrypi.c. ++ */ ++ + [BCM2835_PLLA_DSI0] = REGISTER_PLL_DIV( + SOC_ALL, + .name = "plla_dsi0", +@@ -2007,14 +2003,12 @@ static const struct bcm2835_clk_desc clk + .int_bits = 6, + .frac_bits = 0, + .tcnt_mux = 3), +- [BCM2835_CLOCK_V3D] = REGISTER_VPU_CLK( +- SOC_ALL, +- .name = "v3d", +- .ctl_reg = CM_V3DCTL, +- .div_reg = CM_V3DDIV, +- .int_bits = 4, +- .frac_bits = 8, +- .tcnt_mux = 4), ++ ++ /* ++ * CLOCK_V3D is used for v3d clock. Controlled by firmware, see ++ * clk-raspberrypi.c. ++ */ ++ + /* + * VPU clock. This doesn't have an enable bit, since it drives + * the bus for everything else, and is special so it doesn't need diff --git a/target/linux/brcm2708/patches-4.19/950-0770-fixup-clk-raspberrypi-Also-support-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0770-fixup-clk-raspberrypi-Also-support-v3d-clock.patch new file mode 100644 index 000000000..64efff775 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0770-fixup-clk-raspberrypi-Also-support-v3d-clock.patch @@ -0,0 +1,29 @@ +From c4374e446b6957234432d5c3f5d5f89f1acb807d Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 7 Nov 2019 12:25:27 +0000 +Subject: [PATCH] fixup! clk-raspberrypi: Also support v3d clock + +--- + drivers/clk/bcm/clk-raspberrypi.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/clk/bcm/clk-raspberrypi.c ++++ b/drivers/clk/bcm/clk-raspberrypi.c +@@ -474,7 +474,7 @@ raspberrypi_register_pll_divider(struct + * PLLH's channels have a fixed divide by 10 afterwards, which + * is what our consumers are actually using. + */ +- if (data->fixed_divider != 1) { ++ if (data->fixed_divider != 0) { + struct clk_lookup *lookup; + struct clk_hw *clk = clk_hw_register_fixed_factor(rpi->dev, + data->divider_name, +@@ -559,7 +559,7 @@ static const struct raspberrypi_clk_desc + .source_pll = "osc", + .divider_name = "pllb_arm", + .lookup = "cpu0", +- .fixed_divider = 2, ++ .fixed_divider = 1, + .clock_id = RPI_FIRMWARE_ARM_CLK_ID, + .flags = CLK_SET_RATE_PARENT), + }; diff --git a/target/linux/brcm2708/patches-4.19/950-0771-fixup-clk-raspberrypi-Also-support-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0771-fixup-clk-raspberrypi-Also-support-v3d-clock.patch new file mode 100644 index 000000000..a15f41f45 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0771-fixup-clk-raspberrypi-Also-support-v3d-clock.patch @@ -0,0 +1,36 @@ +From 05c745c001c8c82bbba8a6d953ad77ad25c92c5f Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 7 Nov 2019 14:11:08 +0000 +Subject: [PATCH] fixup! clk-raspberrypi: Also support v3d clock + +--- + drivers/clk/bcm/clk-raspberrypi.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/clk/bcm/clk-raspberrypi.c ++++ b/drivers/clk/bcm/clk-raspberrypi.c +@@ -351,21 +351,21 @@ static const struct clk_ops raspberrypi_ + .is_prepared = raspberrypi_fw_pll_is_on, + .recalc_rate = raspberrypi_fw_pll_get_rate, + .set_rate = raspberrypi_fw_pll_set_rate, +- .determine_rate = raspberrypi_pll_determine_rate, ++ //.determine_rate = raspberrypi_pll_determine_rate, + }; + + static const struct clk_ops raspberrypi_firmware_pll_divider_clk_ops = { + .is_prepared = raspberrypi_fw_pll_div_is_on, + .recalc_rate = raspberrypi_fw_pll_div_get_rate, + .set_rate = raspberrypi_fw_pll_div_set_rate, +- .determine_rate = raspberrypi_pll_div_determine_rate, ++ //.determine_rate = raspberrypi_pll_div_determine_rate, + }; + + static const struct clk_ops raspberrypi_firmware_clk_ops = { + .is_prepared = raspberrypi_fw_clock_is_on, + .recalc_rate = raspberrypi_fw_clock_get_rate, + .set_rate = raspberrypi_fw_clock_set_rate, +- .determine_rate = raspberrypi_clock_determine_rate, ++ //.determine_rate = raspberrypi_clock_determine_rate, + }; + + diff --git a/target/linux/brcm2708/patches-4.19/950-0772-raspberrypi-cpufreq-Only-report-integer-pll-divisor-.patch b/target/linux/brcm2708/patches-4.19/950-0772-raspberrypi-cpufreq-Only-report-integer-pll-divisor-.patch new file mode 100644 index 000000000..04406c802 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0772-raspberrypi-cpufreq-Only-report-integer-pll-divisor-.patch @@ -0,0 +1,40 @@ +From 1c038a58f4183602fc1699d68b21f5e22a12176d Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 13 Sep 2019 13:45:11 +0100 +Subject: [PATCH] raspberrypi-cpufreq: Only report integer pll divisor + frequencies + +--- + drivers/cpufreq/raspberrypi-cpufreq.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +--- a/drivers/cpufreq/raspberrypi-cpufreq.c ++++ b/drivers/cpufreq/raspberrypi-cpufreq.c +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -22,6 +23,7 @@ static int raspberrypi_cpufreq_probe(str + unsigned long min, max; + unsigned long rate; + struct clk *clk; ++ int div; + int ret; + + cpu_dev = get_cpu_device(0); +@@ -44,7 +46,10 @@ static int raspberrypi_cpufreq_probe(str + max = roundup(clk_round_rate(clk, ULONG_MAX), RASPBERRYPI_FREQ_INTERVAL); + clk_put(clk); + +- for (rate = min; rate <= max; rate += RASPBERRYPI_FREQ_INTERVAL) { ++ for (div = 2; ; div++) { ++ rate = div_u64((u64)max * 2, div); ++ if (rate < min) ++ break; + ret = dev_pm_opp_add(cpu_dev, rate, 0); + if (ret) + goto remove_opp; diff --git a/target/linux/brcm2708/patches-4.19/950-0773-fixup-clk-raspberrypi-Also-support-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0773-fixup-clk-raspberrypi-Also-support-v3d-clock.patch new file mode 100644 index 000000000..0239b19ff --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0773-fixup-clk-raspberrypi-Also-support-v3d-clock.patch @@ -0,0 +1,54 @@ +From afb2cfe3056fc643cee8ae25991f4b9c22d48bef Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 7 Nov 2019 14:23:38 +0000 +Subject: [PATCH] fixup! clk-raspberrypi: Also support v3d clock + +--- + drivers/clk/bcm/clk-raspberrypi.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +--- a/drivers/clk/bcm/clk-raspberrypi.c ++++ b/drivers/clk/bcm/clk-raspberrypi.c +@@ -208,6 +208,9 @@ static int raspberrypi_determine_rate(st + u32 clock_id, const char *name, unsigned long min_rate, unsigned long max_rate, + struct clk_rate_request *req) + { ++#if 1 ++ req->rate = clamp(req->rate, min_rate, max_rate); ++#else + u64 div, final_rate; + u32 ndiv, fdiv; + +@@ -225,6 +228,7 @@ static int raspberrypi_determine_rate(st + + req->rate = final_rate >> A2W_PLL_FRAC_BITS; + ++#endif + return 0; + } + +@@ -351,21 +355,21 @@ static const struct clk_ops raspberrypi_ + .is_prepared = raspberrypi_fw_pll_is_on, + .recalc_rate = raspberrypi_fw_pll_get_rate, + .set_rate = raspberrypi_fw_pll_set_rate, +- //.determine_rate = raspberrypi_pll_determine_rate, ++ .determine_rate = raspberrypi_pll_determine_rate, + }; + + static const struct clk_ops raspberrypi_firmware_pll_divider_clk_ops = { + .is_prepared = raspberrypi_fw_pll_div_is_on, + .recalc_rate = raspberrypi_fw_pll_div_get_rate, + .set_rate = raspberrypi_fw_pll_div_set_rate, +- //.determine_rate = raspberrypi_pll_div_determine_rate, ++ .determine_rate = raspberrypi_pll_div_determine_rate, + }; + + static const struct clk_ops raspberrypi_firmware_clk_ops = { + .is_prepared = raspberrypi_fw_clock_is_on, + .recalc_rate = raspberrypi_fw_clock_get_rate, + .set_rate = raspberrypi_fw_clock_set_rate, +- //.determine_rate = raspberrypi_clock_determine_rate, ++ .determine_rate = raspberrypi_clock_determine_rate, + }; + + diff --git a/target/linux/brcm2708/patches-4.19/950-0774-arm-dts-Correct-Pi-4B-LED-values.patch b/target/linux/brcm2708/patches-4.19/950-0774-arm-dts-Correct-Pi-4B-LED-values.patch new file mode 100644 index 000000000..4f2e46b71 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0774-arm-dts-Correct-Pi-4B-LED-values.patch @@ -0,0 +1,39 @@ +From ea1e25b4c0a055b31a0217ffbfd6972c28643912 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 22 Nov 2019 15:08:25 +0000 +Subject: [PATCH] arm/dts: Correct Pi 4B LED values + +The initial PHY LED settings are wrong Pi 4B (the correct values got +dropped somewhere along the way). The PHY declaration should arguably +go in a separate file included by bcm2711-rpi-4-b.dts, but we can +fix that as we switch over to using more of the upstream BCM2711 +support in 5.4 and later. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2838.dtsi | 2 +- + arch/arm/boot/dts/overlays/README | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/arm/boot/dts/bcm2838.dtsi ++++ b/arch/arm/boot/dts/bcm2838.dtsi +@@ -380,7 +380,7 @@ + /* No interrupts - use PHY_POLL */ + max-speed = <1000>; + reg = <0x1>; +- led-modes = <0x02 0x02>; ++ led-modes = <0x00 0x08>; /* link/activity link */ + }; + }; + }; +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -128,7 +128,7 @@ Params: + 8=Link 9=Activity + + eth_led1 Set mode of LED1 (usually green) (Pi3B+ default +- "6", Pi4 default "0"). See eth_led0 for legal ++ "6", Pi4 default "8"). See eth_led0 for legal + values. + + eth_max_speed Set the maximum speed a link is allowed diff --git a/target/linux/brcm2708/patches-4.19/950-0775-drm-v3d-Set-dma_mask-as-well-as-coherent_dma_mask.patch b/target/linux/brcm2708/patches-4.19/950-0775-drm-v3d-Set-dma_mask-as-well-as-coherent_dma_mask.patch new file mode 100644 index 000000000..313aa8c3a --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0775-drm-v3d-Set-dma_mask-as-well-as-coherent_dma_mask.patch @@ -0,0 +1,25 @@ +From 75e50217c8c8d9ab8dc84547fd149d9bfe32ae5d Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 22 Nov 2019 16:23:32 +0000 +Subject: [PATCH] drm/v3d: Set dma_mask as well as coherent_dma_mask + +Both coherent_dma_mask and dma_mask act as constraints on allocations +and bounce buffer usage, so be sure to set dma_mask to the appropriate +value otherwise the effective mask could be incorrect. + +Signed-off-by: Phil Elwell +--- + drivers/gpu/drm/v3d/v3d_drv.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/gpu/drm/v3d/v3d_drv.c ++++ b/drivers/gpu/drm/v3d/v3d_drv.c +@@ -261,7 +261,7 @@ static int v3d_platform_drm_probe(struct + int ret; + u32 ident1; + +- dev->coherent_dma_mask = DMA_BIT_MASK(36); ++ dma_set_mask_and_coherent(dev, DMA_BIT_MASK(36)); + + v3d = kzalloc(sizeof(*v3d), GFP_KERNEL); + if (!v3d) diff --git a/target/linux/brcm2708/patches-4.19/950-0776-arm-dts-2711-Add-pcie0-alias.patch b/target/linux/brcm2708/patches-4.19/950-0776-arm-dts-2711-Add-pcie0-alias.patch new file mode 100644 index 000000000..1f86f9d7f --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0776-arm-dts-2711-Add-pcie0-alias.patch @@ -0,0 +1,24 @@ +From 11febee7b0326ade03f45238f136b7830d317e2e Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 28 Nov 2019 15:49:08 +0000 +Subject: [PATCH] arm/dts: 2711: Add 'pcie0' alias + +It is useful for the firmware to be able to locate the pcie DT node, +so add an alias pointing to it in the same way that "ethernet0" +points to the genet. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 1 + + 1 file changed, 1 insertion(+) + +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -30,6 +30,7 @@ + /delete-property/ ethernet; + /delete-property/ intc; + ethernet0 = &genet; ++ pcie0 = &pcie_0; + }; + }; + diff --git a/target/linux/brcm2708/patches-4.19/950-0777-spidev-Completely-disable-the-DT-warning.patch b/target/linux/brcm2708/patches-4.19/950-0777-spidev-Completely-disable-the-DT-warning.patch new file mode 100644 index 000000000..c32052762 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0777-spidev-Completely-disable-the-DT-warning.patch @@ -0,0 +1,32 @@ +From ce0e4cf60033eb7e15266b329183f945f2a82c61 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 2 Dec 2019 10:28:44 +0000 +Subject: [PATCH] spidev: Completely disable the DT warning + +The upstream SPI and DT maintainers are completely opposed to declaring +in Device Tree that an SPI CS line is to be managed by the spidev +driver, even though the facility is useful on a hobbyist device like a +Raspberry Pi where arbitrary devices can be attached, and the +alternative to DT declaration (spi_board_info) has been almost entirely +rendered obsolete by DT. + +Continue to override their objections by disabling the warning. + +See: https://github.com/raspberrypi/linux/issues/3361 + https://github.com/raspberrypi/linux/issues/1054 + +Signed-off-by: Phil Elwell +--- + drivers/spi/spidev.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/spi/spidev.c ++++ b/drivers/spi/spidev.c +@@ -728,6 +728,7 @@ static int spidev_probe(struct spi_devic + * compatible string, it is a Linux implementation thing + * rather than a description of the hardware. + */ ++ if (0) /* Disable the warning - this feature is too useful */ + WARN(spi->dev.of_node && + of_device_is_compatible(spi->dev.of_node, "spidev"), + "%pOF: buggy DT: spidev listed directly in DT\n", spi->dev.of_node); diff --git a/target/linux/brcm2708/patches-4.19/950-0575-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch b/target/linux/brcm2708/patches-4.19/950-0778-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch similarity index 71% rename from target/linux/brcm2708/patches-4.19/950-0575-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch rename to target/linux/brcm2708/patches-4.19/950-0778-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch index eec645b2b..afc94da40 100644 --- a/target/linux/brcm2708/patches-4.19/950-0575-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch +++ b/target/linux/brcm2708/patches-4.19/950-0778-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch @@ -1,21 +1,31 @@ -From f69f2b1354e0a548d2cb6dfdc07d37efb426eee0 Mon Sep 17 00:00:00 2001 +From 7140cf0d83c10f93ca8212edb17697baf9cafb45 Mon Sep 17 00:00:00 2001 From: Eric Anholt -Date: Wed, 20 Feb 2019 13:03:41 -0800 -Subject: [PATCH 575/806] drm/vc4: Disable V3D interactions if the v3d +Date: Mon, 1 Apr 2019 11:35:59 -0700 +Subject: [PATCH] drm/vc4: Disable V3D interactions if the v3d component didn't probe. +Commit ffc26740714962e3e8801dca7ef32b636b3781db upstream. + One might want to use the VC4 display stack without using Mesa. Similar to the debugfs fixes for not having all of the possible display bits enabled, make sure you can't oops in vc4 if v3d isn't enabled. +v2: Fix matching against other v3d variants (review by Paul), don't + forget to set irq_enabled so that the vblank uapi works +v3: Use -ENODEV instead of -EINVAL on Paul's suggestion. + Signed-off-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/20190401183559.3823-2-eric@anholt.net +Reviewed-by: Paul Kocialkowski --- - drivers/gpu/drm/vc4/vc4_drv.c | 11 +++++++++++ + drivers/gpu/drm/vc4/vc4_drv.c | 10 ++++++++++ + drivers/gpu/drm/vc4/vc4_drv.h | 1 + drivers/gpu/drm/vc4/vc4_gem.c | 10 ++++++++++ drivers/gpu/drm/vc4/vc4_irq.c | 9 +++++++++ drivers/gpu/drm/vc4/vc4_perfmon.c | 18 ++++++++++++++++++ - 4 files changed, 48 insertions(+) + drivers/gpu/drm/vc4/vc4_v3d.c | 2 +- + 6 files changed, 49 insertions(+), 1 deletion(-) --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -24,7 +34,7 @@ Signed-off-by: Eric Anholt return -EINVAL; + if (!vc4->v3d) -+ return -EINVAL; ++ return -ENODEV; + switch (args->param) { case DRM_VC4_PARAM_V3D_IDENT0: @@ -37,20 +47,29 @@ Signed-off-by: Eric Anholt int ret = 0; dev->coherent_dma_mask = DMA_BIT_MASK(32); -@@ -279,6 +283,13 @@ static int vc4_drm_bind(struct device *d +@@ -279,6 +283,12 @@ static int vc4_drm_bind(struct device *d if (!vc4) return -ENOMEM; + /* If VC4 V3D is missing, don't advertise render nodes. */ -+ node = of_find_compatible_node(NULL, NULL, "brcm,bcm2835-v3d"); -+ if (node) -+ of_node_put(node); -+ else ++ node = of_find_matching_node_and_match(NULL, vc4_v3d_dt_match, NULL); ++ if (!node || !of_device_is_available(node)) + vc4_drm_driver.driver_features &= ~DRIVER_RENDER; ++ of_node_put(node); + drm = drm_dev_alloc(&vc4_drm_driver, dev); if (IS_ERR(drm)) return PTR_ERR(drm); +--- a/drivers/gpu/drm/vc4/vc4_drv.h ++++ b/drivers/gpu/drm/vc4/vc4_drv.h +@@ -787,6 +787,7 @@ void vc4_plane_async_set_fb(struct drm_p + + /* vc4_v3d.c */ + extern struct platform_driver vc4_v3d_driver; ++extern const struct of_device_id vc4_v3d_dt_match[]; + int vc4_v3d_debugfs_ident(struct seq_file *m, void *unused); + int vc4_v3d_debugfs_regs(struct seq_file *m, void *unused); + int vc4_v3d_get_bin_slot(struct vc4_dev *vc4); --- a/drivers/gpu/drm/vc4/vc4_gem.c +++ b/drivers/gpu/drm/vc4/vc4_gem.c @@ -74,6 +74,11 @@ vc4_get_hang_state_ioctl(struct drm_devi @@ -59,7 +78,7 @@ Signed-off-by: Eric Anholt + if (!vc4->v3d) { + DRM_DEBUG("VC4_GET_HANG_STATE with no VC4 V3D probed\n"); -+ return -EINVAL; ++ return -ENODEV; + } + spin_lock_irqsave(&vc4->job_lock, irqflags); @@ -71,7 +90,7 @@ Signed-off-by: Eric Anholt + if (!vc4->v3d) { + DRM_DEBUG("VC4_SUBMIT_CL with no VC4 V3D probed\n"); -+ return -EINVAL; ++ return -ENODEV; + } + if ((args->flags & ~(VC4_SUBMIT_CL_USE_CLEAR_COLOR | @@ -124,7 +143,7 @@ Signed-off-by: Eric Anholt + if (!vc4->v3d) { + DRM_DEBUG("Creating perfmon no VC4 V3D probed\n"); -+ return -EINVAL; ++ return -ENODEV; + } + /* Number of monitored counters cannot exceed HW limits. */ @@ -141,7 +160,7 @@ Signed-off-by: Eric Anholt + if (!vc4->v3d) { + DRM_DEBUG("Destroying perfmon no VC4 V3D probed\n"); -+ return -EINVAL; ++ return -ENODEV; + } + mutex_lock(&vc4file->perfmon.lock); @@ -159,9 +178,20 @@ Signed-off-by: Eric Anholt + if (!vc4->v3d) { + DRM_DEBUG("Getting perfmon no VC4 V3D probed\n"); -+ return -EINVAL; ++ return -ENODEV; + } + mutex_lock(&vc4file->perfmon.lock); perfmon = idr_find(&vc4file->perfmon.idr, req->id); vc4_perfmon_get(perfmon); +--- a/drivers/gpu/drm/vc4/vc4_v3d.c ++++ b/drivers/gpu/drm/vc4/vc4_v3d.c +@@ -452,7 +452,7 @@ static int vc4_v3d_dev_remove(struct pla + return 0; + } + +-static const struct of_device_id vc4_v3d_dt_match[] = { ++const struct of_device_id vc4_v3d_dt_match[] = { + { .compatible = "brcm,bcm2835-v3d" }, + { .compatible = "brcm,cygnus-v3d" }, + { .compatible = "brcm,vc4-v3d" }, diff --git a/target/linux/brcm2708/patches-4.19/950-0779-sound-soc-only-first-codec-is-master-in-multicodec-s.patch b/target/linux/brcm2708/patches-4.19/950-0779-sound-soc-only-first-codec-is-master-in-multicodec-s.patch new file mode 100644 index 000000000..dcfbb9dd1 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0779-sound-soc-only-first-codec-is-master-in-multicodec-s.patch @@ -0,0 +1,34 @@ +From 4ca89eb8570cb86314a5a7b55a15d15f53ce5757 Mon Sep 17 00:00:00 2001 +From: Johannes Krude +Date: Sat, 16 Nov 2019 12:41:06 +0100 +Subject: [PATCH] sound/soc: only first codec is master in multicodec + setup + +When using multiple codecs, at most one codec should generate the master +clock. All codecs except the first are therefore configured for slave +mode. + +Signed-off-by: Johannes Krude +--- + sound/soc/soc-core.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +--- a/sound/soc/soc-core.c ++++ b/sound/soc/soc-core.c +@@ -1688,8 +1688,15 @@ int snd_soc_runtime_set_dai_fmt(struct s + + for (i = 0; i < rtd->num_codecs; i++) { + struct snd_soc_dai *codec_dai = codec_dais[i]; ++ unsigned int codec_dai_fmt = dai_fmt; + +- ret = snd_soc_dai_set_fmt(codec_dai, dai_fmt); ++ // there can only be one master when using multiple codecs ++ if (i && (codec_dai_fmt & SND_SOC_DAIFMT_MASTER_MASK)) { ++ codec_dai_fmt &= ~SND_SOC_DAIFMT_MASTER_MASK; ++ codec_dai_fmt |= SND_SOC_DAIFMT_CBS_CFS; ++ } ++ ++ ret = snd_soc_dai_set_fmt(codec_dai, codec_dai_fmt); + if (ret != 0 && ret != -ENOTSUPP) { + dev_warn(codec_dai->dev, + "ASoC: Failed to set DAI format: %d\n", ret); diff --git a/target/linux/brcm2708/patches-4.19/950-0780-Allow-simultaneous-use-of-JustBoom-DAC-and-Digi.patch b/target/linux/brcm2708/patches-4.19/950-0780-Allow-simultaneous-use-of-JustBoom-DAC-and-Digi.patch new file mode 100644 index 000000000..c8b4820c9 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0780-Allow-simultaneous-use-of-JustBoom-DAC-and-Digi.patch @@ -0,0 +1,435 @@ +From 8f11db84e124da59b8a717d66fc424ef070f4be0 Mon Sep 17 00:00:00 2001 +From: Johannes Krude +Date: Sat, 16 Nov 2019 13:14:43 +0100 +Subject: [PATCH] Allow simultaneous use of JustBoom DAC and Digi + +Signed-off-by: Johannes Krude +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 20 ++ + .../dts/overlays/justboom-both-overlay.dts | 65 +++++ + sound/soc/bcm/Kconfig | 12 + + sound/soc/bcm/Makefile | 2 + + sound/soc/bcm/justboom-both.c | 269 ++++++++++++++++++ + 11 files changed, 374 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/justboom-both-overlay.dts + create mode 100644 sound/soc/bcm/justboom-both.c + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -86,6 +86,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + iqaudio-digi-wm8804-audio.dtbo \ + irs1125.dtbo \ + jedec-spi-nor.dtbo \ ++ justboom-both.dtbo \ + justboom-dac.dtbo \ + justboom-digi.dtbo \ + ltc294x.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1388,6 +1388,26 @@ Params: flash-spi- Enables + on SPI, CS#. + + ++Name: justboom-both ++Info: Simultaneous usage of an justboom-dac and justboom-digi based ++ card ++Load: dtoverlay=justboom-both,= ++Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec ++ Digital volume control. Enable with ++ "dtoverlay=justboom-dac,24db_digital_gain" ++ (The default behaviour is that the Digital ++ volume control is limited to a maximum of ++ 0dB. ie. it can attenuate but not provide ++ gain. For most users, this will be desired ++ as it will prevent clipping. By appending ++ the 24dB_digital_gain parameter, the Digital ++ volume control will allow up to 24dB of ++ gain. If this parameter is enabled, it is the ++ responsibility of the user to ensure that ++ the Digital volume control is set to a value ++ that does not result in clipping/distortion!) ++ ++ + Name: justboom-dac + Info: Configures the JustBoom DAC HAT, Amp HAT, DAC Zero and Amp Zero audio + cards +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/justboom-both-overlay.dts +@@ -0,0 +1,65 @@ ++// SPDX-License-Identifier: GPL-2.0 ++// Definitions for JustBoom Both (Digi+DAC) ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&i2s>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ wm8804@3b { ++ #sound-dai-cells = <0>; ++ compatible = "wlf,wm8804"; ++ reg = <0x3b>; ++ PVDD-supply = <&vdd_3v3_reg>; ++ DVDD-supply = <&vdd_3v3_reg>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ pcm5122@4d { ++ #sound-dai-cells = <0>; ++ compatible = "ti,pcm5122"; ++ reg = <0x4d>; ++ AVDD-supply = <&vdd_3v3_reg>; ++ DVDD-supply = <&vdd_3v3_reg>; ++ CPVDD-supply = <&vdd_3v3_reg>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&sound>; ++ frag3: __overlay__ { ++ compatible = "justboom,justboom-both"; ++ i2s-controller = <&i2s>; ++ status = "okay"; ++ }; ++ }; ++ ++ __overrides__ { ++ 24db_digital_gain = <&frag3>,"justboom,24db_digital_gain?"; ++ }; ++}; +--- a/sound/soc/bcm/Kconfig ++++ b/sound/soc/bcm/Kconfig +@@ -102,6 +102,18 @@ config SND_BCM2708_SOC_RPI_PROTO + help + Say Y or M if you want to add support for Audio Codec Board PROTO (WM8731). + ++config SND_BCM2708_SOC_JUSTBOOM_BOTH ++ tristate "Support for simultaneous JustBoom Digi and JustBoom DAC" ++ depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S ++ select SND_SOC_WM8804 ++ select SND_SOC_PCM512x ++ help ++ Say Y or M if you want to add support for simultaneous ++ JustBoom Digi and JustBoom DAC. ++ ++ This is not the right choice if you only have one but both of ++ these cards. ++ + config SND_BCM2708_SOC_JUSTBOOM_DAC + tristate "Support for JustBoom DAC" + depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S +--- a/sound/soc/bcm/Makefile ++++ b/sound/soc/bcm/Makefile +@@ -16,6 +16,7 @@ snd-soc-hifiberry-dacplus-objs := hifibe + snd-soc-hifiberry-dacplusadc-objs := hifiberry_dacplusadc.o + snd-soc-hifiberry-dacplusadcpro-objs := hifiberry_dacplusadcpro.o + snd-soc-hifiberry-dacplusdsp-objs := hifiberry_dacplusdsp.o ++snd-soc-justboom-both-objs := justboom-both.o + snd-soc-justboom-dac-objs := justboom-dac.o + snd-soc-rpi-cirrus-objs := rpi-cirrus.o + snd-soc-rpi-proto-objs := rpi-proto.o +@@ -42,6 +43,7 @@ obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_D + obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC) += snd-soc-hifiberry-dacplusadc.o + obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO) += snd-soc-hifiberry-dacplusadcpro.o + obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSDSP) += snd-soc-hifiberry-dacplusdsp.o ++obj-$(CONFIG_SND_BCM2708_SOC_JUSTBOOM_BOTH) += snd-soc-justboom-both.o + obj-$(CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC) += snd-soc-justboom-dac.o + obj-$(CONFIG_SND_BCM2708_SOC_RPI_CIRRUS) += snd-soc-rpi-cirrus.o + obj-$(CONFIG_SND_BCM2708_SOC_RPI_PROTO) += snd-soc-rpi-proto.o +--- /dev/null ++++ b/sound/soc/bcm/justboom-both.c +@@ -0,0 +1,269 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * rpi--wm8804.c -- ALSA SoC Raspberry Pi soundcard. ++ * ++ * Authors: Johannes Krude ++ * justboom-dac.c ++ * by Milan Neskovic ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * version 2 as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ */ ++ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include "../codecs/wm8804.h" ++#include "../codecs/pcm512x.h" ++ ++ ++static bool digital_gain_0db_limit = true; ++ ++static int snd_rpi_justboom_both_init(struct snd_soc_pcm_runtime *rtd) ++{ ++ struct snd_soc_component *digi = rtd->codec_dais[0]->component; ++ struct snd_soc_component *dac = rtd->codec_dais[1]->component; ++ ++ /* enable TX output */ ++ snd_soc_component_update_bits(digi, WM8804_PWRDN, 0x4, 0x0); ++ ++ snd_soc_component_update_bits(dac, PCM512x_GPIO_EN, 0x08, 0x08); ++ snd_soc_component_update_bits(dac, PCM512x_GPIO_OUTPUT_4, 0xf, 0x02); ++ snd_soc_component_update_bits(dac, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); ++ ++ if (digital_gain_0db_limit) { ++ int ret; ++ struct snd_soc_card *card = rtd->card; ++ ++ ret = snd_soc_limit_volume(card, "Digital Playback Volume", ++ 207); ++ if (ret < 0) ++ dev_warn(card->dev, "Failed to set volume limit: %d\n", ++ ret); ++ } ++ ++ return 0; ++} ++ ++static int snd_rpi_justboom_both_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_dai *codec_dai = rtd->codec_dai; ++ struct snd_soc_component *digi = rtd->codec_dais[0]->component; ++ struct snd_soc_dai *cpu_dai = rtd->cpu_dai; ++ ++ int sysclk = 27000000; /* This is fixed on this board */ ++ ++ long mclk_freq = 0; ++ int mclk_div = 1; ++ int sampling_freq = 1; ++ ++ int ret; ++ ++ int samplerate = params_rate(params); ++ ++ if (samplerate <= 96000) { ++ mclk_freq = samplerate*256; ++ mclk_div = WM8804_MCLKDIV_256FS; ++ } else { ++ mclk_freq = samplerate*128; ++ mclk_div = WM8804_MCLKDIV_128FS; ++ } ++ ++ switch (samplerate) { ++ case 32000: ++ sampling_freq = 0x03; ++ break; ++ case 44100: ++ sampling_freq = 0x00; ++ break; ++ case 48000: ++ sampling_freq = 0x02; ++ break; ++ case 88200: ++ sampling_freq = 0x08; ++ break; ++ case 96000: ++ sampling_freq = 0x0a; ++ break; ++ case 176400: ++ sampling_freq = 0x0c; ++ break; ++ case 192000: ++ sampling_freq = 0x0e; ++ break; ++ default: ++ dev_err(rtd->card->dev, ++ "Failed to set WM8804 SYSCLK, unsupported samplerate %d\n", ++ samplerate); ++ } ++ ++ snd_soc_dai_set_clkdiv(codec_dai, WM8804_MCLK_DIV, mclk_div); ++ snd_soc_dai_set_pll(codec_dai, 0, 0, sysclk, mclk_freq); ++ ++ ret = snd_soc_dai_set_sysclk(codec_dai, WM8804_TX_CLKSRC_PLL, ++ sysclk, SND_SOC_CLOCK_OUT); ++ if (ret < 0) { ++ dev_err(rtd->card->dev, ++ "Failed to set WM8804 SYSCLK: %d\n", ret); ++ return ret; ++ } ++ ++ /* Enable TX output */ ++ snd_soc_component_update_bits(digi, WM8804_PWRDN, 0x4, 0x0); ++ ++ /* Power on */ ++ snd_soc_component_update_bits(digi, WM8804_PWRDN, 0x9, 0); ++ ++ /* set sampling frequency status bits */ ++ snd_soc_component_update_bits(digi, WM8804_SPDTX4, 0x0f, sampling_freq); ++ ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 64); ++} ++ ++static int snd_rpi_justboom_both_startup(struct snd_pcm_substream *substream) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_component *digi = rtd->codec_dais[0]->component; ++ struct snd_soc_component *dac = rtd->codec_dais[1]->component; ++ ++ /* turn on digital output */ ++ snd_soc_component_update_bits(digi, WM8804_PWRDN, 0x3c, 0x00); ++ ++ snd_soc_component_update_bits(dac, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); ++ ++ return 0; ++} ++ ++static void snd_rpi_justboom_both_shutdown(struct snd_pcm_substream *substream) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_component *digi = rtd->codec_dais[0]->component; ++ struct snd_soc_component *dac = rtd->codec_dais[1]->component; ++ ++ snd_soc_component_update_bits(dac, PCM512x_GPIO_CONTROL_1, 0x08, 0x00); ++ ++ /* turn off output */ ++ snd_soc_component_update_bits(digi, WM8804_PWRDN, 0x3c, 0x3c); ++} ++ ++/* machine stream operations */ ++static struct snd_soc_ops snd_rpi_justboom_both_ops = { ++ .hw_params = snd_rpi_justboom_both_hw_params, ++ .startup = snd_rpi_justboom_both_startup, ++ .shutdown = snd_rpi_justboom_both_shutdown, ++}; ++ ++static struct snd_soc_dai_link_component justboom_both_codecs[] = { ++{ ++ .dai_name = "wm8804-spdif", ++ .name = "wm8804.1-003b", ++}, ++{ ++ .dai_name = "pcm512x-hifi", ++ .name = "pcm512x.1-004d", ++}, ++}; ++ ++static struct snd_soc_dai_link snd_rpi_justboom_both_dai[] = { ++{ ++ .name = "JustBoom Digi", ++ .stream_name = "JustBoom Digi HiFi", ++ .cpu_dai_name = "bcm2708-i2s.0", ++ .platform_name = "bcm2708-i2s.0", ++ .codecs = justboom_both_codecs, ++ .num_codecs = ARRAY_SIZE(justboom_both_codecs), ++ .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | ++ SND_SOC_DAIFMT_CBM_CFM, ++ .ops = &snd_rpi_justboom_both_ops, ++ .init = snd_rpi_justboom_both_init, ++}, ++}; ++ ++/* audio machine driver */ ++static struct snd_soc_card snd_rpi_justboom_both = { ++ .name = "snd_rpi_justboom_both", ++ .driver_name = "JustBoomBoth", ++ .owner = THIS_MODULE, ++ .dai_link = snd_rpi_justboom_both_dai, ++ .num_links = ARRAY_SIZE(snd_rpi_justboom_both_dai), ++}; ++ ++static int snd_rpi_justboom_both_probe(struct platform_device *pdev) ++{ ++ int ret = 0; ++ ++ snd_rpi_justboom_both.dev = &pdev->dev; ++ ++ if (pdev->dev.of_node) { ++ struct device_node *i2s_node; ++ struct snd_soc_dai_link *dai = &snd_rpi_justboom_both_dai[0]; ++ ++ i2s_node = of_parse_phandle(pdev->dev.of_node, ++ "i2s-controller", 0); ++ ++ if (i2s_node) { ++ dai->cpu_dai_name = NULL; ++ dai->cpu_of_node = i2s_node; ++ dai->platform_name = NULL; ++ dai->platform_of_node = i2s_node; ++ } ++ ++ digital_gain_0db_limit = !of_property_read_bool( ++ pdev->dev.of_node, "justboom,24db_digital_gain"); ++ } ++ ++ ret = snd_soc_register_card(&snd_rpi_justboom_both); ++ if (ret && ret != -EPROBE_DEFER) { ++ dev_err(&pdev->dev, ++ "snd_soc_register_card() failed: %d\n", ret); ++ } ++ ++ return ret; ++} ++ ++static int snd_rpi_justboom_both_remove(struct platform_device *pdev) ++{ ++ return snd_soc_unregister_card(&snd_rpi_justboom_both); ++} ++ ++static const struct of_device_id snd_rpi_justboom_both_of_match[] = { ++ { .compatible = "justboom,justboom-both", }, ++ {}, ++}; ++MODULE_DEVICE_TABLE(of, snd_rpi_justboom_both_of_match); ++ ++static struct platform_driver snd_rpi_justboom_both_driver = { ++ .driver = { ++ .name = "snd-rpi-justboom-both", ++ .owner = THIS_MODULE, ++ .of_match_table = snd_rpi_justboom_both_of_match, ++ }, ++ .probe = snd_rpi_justboom_both_probe, ++ .remove = snd_rpi_justboom_both_remove, ++}; ++ ++module_platform_driver(snd_rpi_justboom_both_driver); ++ ++MODULE_AUTHOR("Johannes Krude "); ++MODULE_DESCRIPTION("ASoC Driver for simultaneous use of JustBoom PI Digi & DAC HAT Sound Cards"); ++MODULE_LICENSE("GPL v2"); diff --git a/target/linux/brcm2708/patches-4.19/950-0781-dwc_otg-checking-the-urb-transfer_buffer-too-early-3.patch b/target/linux/brcm2708/patches-4.19/950-0781-dwc_otg-checking-the-urb-transfer_buffer-too-early-3.patch new file mode 100644 index 000000000..8a28f7302 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0781-dwc_otg-checking-the-urb-transfer_buffer-too-early-3.patch @@ -0,0 +1,59 @@ +From 2a15e634d80f78cf2d8aa16ecf0f3cf930e277b4 Mon Sep 17 00:00:00 2001 +From: Hui Wang +Date: Sun, 17 Nov 2019 10:31:46 +0800 +Subject: [PATCH] dwc_otg: checking the urb->transfer_buffer too early + (#3332) + +After enable the HIGHMEM and VMSPLIT_3G, the dwc_otg driver doesn't +work well on Pi2/3 boards with 1G physical ram. Users experience +the failure when copying a file of 600M size to the USB stick. And +at the same time, the dmesg shows: +usb 1-1.1.2: reset high-speed USB device number 8 using dwc_otg +sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK +blk_update_request: I/O error, dev sda, sector 3024048 op 0x1:(WRITE) flags 0x4000 phys_seg 15 prio class 0 + +When this happens, the sg_buf sent to the driver is located in the +highmem region, the usb_sg_init() in the core/message.c will leave +transfer_buffer to NULL if the sg_buf is in highmem, but in the +dwc_otg driver, it returns -EINVAL unconditionally if transfer_buffer +is NULL. + +The driver can handle the situation of buffer to be NULL, if it is in +DMA mode, it will convert an address from transfer_dma. + +But if the conversion fails or it is in the PIO mode, we should check +buffer and return -EINVAL if it is NULL. + +BugLink: https://bugs.launchpad.net/bugs/1852510 +Signed-off-by: Hui Wang +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c +@@ -821,10 +821,6 @@ static int dwc_otg_urb_enqueue(struct us + dump_urb_info(urb, "dwc_otg_urb_enqueue"); + } + #endif +- +- if (!urb->transfer_buffer && urb->transfer_buffer_length) +- return -EINVAL; +- + if ((usb_pipetype(urb->pipe) == PIPE_ISOCHRONOUS) + || (usb_pipetype(urb->pipe) == PIPE_INTERRUPT)) { + if (!dwc_otg_hcd_is_bandwidth_allocated +@@ -881,6 +877,13 @@ static int dwc_otg_urb_enqueue(struct us + &urb->transfer_dma, buf); + } + ++ if (!buf && urb->transfer_buffer_length) { ++ DWC_FREE(dwc_otg_urb); ++ DWC_ERROR("transfer_buffer is NULL in PIO mode or both " ++ "transfer_buffer and transfer_dma are NULL in DMA mode\n"); ++ return -EINVAL; ++ } ++ + if (!(urb->transfer_flags & URB_NO_INTERRUPT)) + flags |= URB_GIVEBACK_ASAP; + if (urb->transfer_flags & URB_ZERO_PACKET) diff --git a/target/linux/brcm2708/patches-4.19/950-0782-overlays-Make-mcp342x-run-time-compatible.patch b/target/linux/brcm2708/patches-4.19/950-0782-overlays-Make-mcp342x-run-time-compatible.patch new file mode 100644 index 000000000..900cbb2ca --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0782-overlays-Make-mcp342x-run-time-compatible.patch @@ -0,0 +1,209 @@ +From e650f4bfbe9a09e5b75d702884a8ba8d9df6ccdf Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 9 Dec 2019 12:32:20 +0000 +Subject: [PATCH] overlays: Make mcp342x run-time compatible + +The order of processing of run-time overlays differs from that done by +the firmware. This means that certain parameter processing techniques +are not compatible with run-time use. The mcp342x overlay is one such +overlay, but it is easy to change the implementation without changing +the interface. + +See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=258294 + +Signed-off-by: Phil Elwell +--- + .../arm/boot/dts/overlays/mcp342x-overlay.dts | 133 ++++++++++++++---- + 1 file changed, 102 insertions(+), 31 deletions(-) + +--- a/arch/arm/boot/dts/overlays/mcp342x-overlay.dts ++++ b/arch/arm/boot/dts/overlays/mcp342x-overlay.dts +@@ -8,14 +8,15 @@ + + fragment@0 { + target = <&i2c1>; +- __overlay__ { ++ __dormant__ { + #address-cells = <1>; + #size-cells = <0>; + + status = "okay"; + +- mcp342x: mcp@68 { ++ mcp3421: mcp@68 { + reg = <0x68>; ++ compatible = "microchip,mcp3421"; + + status = "okay"; + }; +@@ -23,71 +24,141 @@ + }; + + fragment@1 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3421"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3422: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3422"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@2 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3422"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3423: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3423"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@3 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3423"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3424: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3424"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@4 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3424"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3425: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3425","mcp3425"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@5 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3425"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3426: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3426"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@6 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3426"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3427: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3427"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@7 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3427"; +- }; +- }; ++ #address-cells = <1>; ++ #size-cells = <0>; + +- fragment@8 { +- target = <&mcp342x>; +- __dormant__ { +- compatible = "microchip,mcp3428"; ++ status = "okay"; ++ ++ mcp3428: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3428"; ++ ++ status = "okay"; ++ }; + }; + }; + + __overrides__ { +- addr = <&mcp342x>,"reg:0"; +- mcp3421 = <0>,"=1"; +- mcp3422 = <0>,"=2"; +- mcp3423 = <0>,"=3"; +- mcp3424 = <0>,"=4"; +- mcp3425 = <0>,"=5"; +- mcp3426 = <0>,"=6"; +- mcp3427 = <0>,"=7"; +- mcp3428 = <0>,"=8"; ++ addr = <&mcp3421>,"reg:0", ++ <&mcp3422>,"reg:0", ++ <&mcp3423>,"reg:0", ++ <&mcp3424>,"reg:0", ++ <&mcp3425>,"reg:0", ++ <&mcp3426>,"reg:0", ++ <&mcp3427>,"reg:0", ++ <&mcp3428>,"reg:0"; ++ mcp3421 = <0>,"=0"; ++ mcp3422 = <0>,"=1"; ++ mcp3423 = <0>,"=2"; ++ mcp3424 = <0>,"=3"; ++ mcp3425 = <0>,"=4"; ++ mcp3426 = <0>,"=5"; ++ mcp3427 = <0>,"=6"; ++ mcp3428 = <0>,"=7"; + }; + }; + diff --git a/target/linux/brcm2708/patches-4.19/950-0783-overlays-dht11-Allow-multiple-instantiation.patch b/target/linux/brcm2708/patches-4.19/950-0783-overlays-dht11-Allow-multiple-instantiation.patch new file mode 100644 index 000000000..5eed1baff --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0783-overlays-dht11-Allow-multiple-instantiation.patch @@ -0,0 +1,34 @@ +From 26e95c876831692f28894041c5a1db5934715939 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 18 Dec 2019 10:41:33 +0000 +Subject: [PATCH] overlays: dht11: Allow multiple instantiation + +Add addresses to the dht11 and dht11_pins nodes to allow unique names +to be generated by assigning to the "reg" property. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/dht11-overlay.dts | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- a/arch/arm/boot/dts/overlays/dht11-overlay.dts ++++ b/arch/arm/boot/dts/overlays/dht11-overlay.dts +@@ -24,7 +24,7 @@ + fragment@1 { + target = <&gpio>; + __overlay__ { +- dht11_pins: dht11_pins { ++ dht11_pins: dht11_pins@0 { + brcm,pins = <4>; + brcm,function = <0>; // in + brcm,pull = <0>; // off +@@ -34,6 +34,8 @@ + + __overrides__ { + gpiopin = <&dht11_pins>,"brcm,pins:0", +- <&dht11>,"gpios:4"; ++ <&dht11_pins>, "reg:0", ++ <&dht11>,"gpios:4", ++ <&dht11>,"reg:0"; + }; + }; diff --git a/target/linux/brcm2708/patches-4.19/950-0784-overlays-i2c-rtc-Add-pcf85363-support.patch b/target/linux/brcm2708/patches-4.19/950-0784-overlays-i2c-rtc-Add-pcf85363-support.patch new file mode 100644 index 000000000..af040962f --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0784-overlays-i2c-rtc-Add-pcf85363-support.patch @@ -0,0 +1,56 @@ +From b85f76a63d5f1b13220c61244469d55487db84f1 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Sun, 22 Dec 2019 15:29:40 +0000 +Subject: [PATCH] overlays: i2c-rtc: Add pcf85363 support + +See: https://github.com/raspberrypi/firmware/issues/1309 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/README | 2 ++ + arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts | 16 ++++++++++++++++ + 2 files changed, 18 insertions(+) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1078,6 +1078,8 @@ Params: abx80x Select o + + pcf8523 Select the PCF8523 device + ++ pcf85363 Select the PCF85363 device ++ + pcf8563 Select the PCF8563 device + + rv3028 Select the Micro Crystal RV3028 device +--- a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts +@@ -188,6 +188,21 @@ + }; + }; + ++ fragment@12 { ++ target = <&i2c_arm>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ pcf85363@51 { ++ compatible = "nxp,pcf85363"; ++ reg = <0x51>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ + __overrides__ { + abx80x = <0>,"+0"; + ds1307 = <0>,"+1"; +@@ -201,6 +216,7 @@ + m41t62 = <0>,"+9"; + rv3028 = <0>,"+10"; + pcf2129 = <0>,"+11"; ++ pcf85363 = <0>,"+12"; + + addr = <&abx80x>, "reg:0", + <&ds1307>, "reg:0", diff --git a/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch b/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch index aad588f19..4b889120b 100644 --- a/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch +++ b/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch @@ -92,7 +92,7 @@ Signed-off-by: Pablo Neira Ayuso #endif --- a/net/bridge/br_netfilter_hooks.c +++ b/net/bridge/br_netfilter_hooks.c -@@ -988,7 +988,7 @@ int br_nf_hook_thresh(unsigned int hook, +@@ -991,7 +991,7 @@ int br_nf_hook_thresh(unsigned int hook, unsigned int i; int ret; diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index 308dd0f19..433788e07 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -1293,7 +1293,7 @@ Signed-off-by: David S. Miller } --- a/drivers/net/fjes/fjes_main.c +++ b/drivers/net/fjes/fjes_main.c -@@ -1122,7 +1122,7 @@ static int fjes_poll(struct napi_struct +@@ -1125,7 +1125,7 @@ static int fjes_poll(struct napi_struct } if (work_done < budget) { diff --git a/target/linux/generic/hack-4.14/721-phy_packets.patch b/target/linux/generic/hack-4.14/721-phy_packets.patch index 2c59e837a..52910fcee 100644 --- a/target/linux/generic/hack-4.14/721-phy_packets.patch +++ b/target/linux/generic/hack-4.14/721-phy_packets.patch @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2530,6 +2530,10 @@ static inline int pskb_trim(struct sk_bu +@@ -2532,6 +2532,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -2661,16 +2665,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -2663,16 +2667,6 @@ static inline struct sk_buff *dev_alloc_ } diff --git a/target/linux/generic/hack-4.14/902-debloat_proc.patch b/target/linux/generic/hack-4.14/902-debloat_proc.patch index 1c5e93d73..c5f6397be 100644 --- a/target/linux/generic/hack-4.14/902-debloat_proc.patch +++ b/target/linux/generic/hack-4.14/902-debloat_proc.patch @@ -393,7 +393,7 @@ Signed-off-by: Felix Fietkau --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -427,6 +427,9 @@ static struct pernet_operations ip_rt_pr +@@ -428,6 +428,9 @@ static struct pernet_operations ip_rt_pr static int __init ip_rt_proc_init(void) { diff --git a/target/linux/generic/hack-4.19/550-loop-Report-EOPNOTSUPP-properly.patch b/target/linux/generic/hack-4.19/550-loop-Report-EOPNOTSUPP-properly.patch new file mode 100644 index 000000000..a3046cd8d --- /dev/null +++ b/target/linux/generic/hack-4.19/550-loop-Report-EOPNOTSUPP-properly.patch @@ -0,0 +1,41 @@ +From 2e864386e62e702a343be2507062ee08d5dfc810 Mon Sep 17 00:00:00 2001 +From: Evan Green +Date: Thu, 14 Nov 2019 15:50:07 -0800 +Subject: loop: Report EOPNOTSUPP properly + +Properly plumb out EOPNOTSUPP from loop driver operations, which may +get returned when for instance a discard operation is attempted but not +supported by the underlying block device. Before this change, everything +was reported in the log as an I/O error, which is scary and not +helpful in debugging. + +Signed-off-by: Evan Green +Reviewed-by: Gwendal Grignou +Reviewed-by: Bart Van Assche +--- + drivers/block/loop.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +--- a/drivers/block/loop.c ++++ b/drivers/block/loop.c +@@ -460,7 +460,7 @@ static void lo_complete_rq(struct reques + if (!cmd->use_aio || cmd->ret < 0 || cmd->ret == blk_rq_bytes(rq) || + req_op(rq) != REQ_OP_READ) { + if (cmd->ret < 0) +- ret = BLK_STS_IOERR; ++ ret = errno_to_blk_status(cmd->ret); + goto end_io; + } + +@@ -1904,7 +1904,10 @@ static void loop_handle_cmd(struct loop_ + failed: + /* complete non-aio request */ + if (!cmd->use_aio || ret) { +- cmd->ret = ret ? -EIO : 0; ++ if (ret == -EOPNOTSUPP) ++ cmd->ret = ret; ++ else ++ cmd->ret = ret ? -EIO : 0; + blk_mq_complete_request(rq); + } + } diff --git a/target/linux/generic/hack-4.19/550-loop-better-discard-for-block-devices.patch b/target/linux/generic/hack-4.19/550-loop-better-discard-for-block-devices.patch deleted file mode 100644 index 9701d945e..000000000 --- a/target/linux/generic/hack-4.19/550-loop-better-discard-for-block-devices.patch +++ /dev/null @@ -1,164 +0,0 @@ -From: Evan Green -Subject: [PATCH v5 0/2] loop: Better discard for block devices -Date: Mon, 6 May 2019 11:27:35 -0700 -Message-Id: <20190506182736.21064-2-evgreen@chromium.org> - -This series addresses some errors seen when using the loop -device directly backed by a block device. - -The first change titled "loop: Better discard for block devices" -plumbs out the correct error message, and the second change prevents -the error from occurring in many cases. - -The errors look like this: -[ 90.880875] print_req_error: I/O error, dev loop5, sector 0 - -The errors occur when trying to do a discard or write zeroes operation -on a loop device backed by a block device that does not support write zeroes. -Firstly, the error itself is incorrectly reported as I/O error, but is -actually EOPNOTSUPP. The first patch plumbs out EOPNOTSUPP to properly -report the error. - -The second patch called "loop: Better discard support for block devices" -prevents these errors from occurring by mirroring the zeroing capabilities -of the underlying block device into the loop device. -Before this change, discard was always reported as being supported, and -the loop device simply turns around and does an fallocate operation on the -backing device. After this change, backing block devices that do support -zeroing will continue to work as before, and continue to get all the -benefits of doing that. Backing devices that do not support zeroing will -fail earlier, avoiding hitting the loop device at all and ultimately -avoiding this error in the logs. - -I can also confirm that this fixes test block/003 in the blktests, when -running blktests on a loop device backed by a block device. - -Signed-off-by: Evan Green -Reviewed-by: Ming Lei -Reviewed-by: Bart Van Assche -Reviewed-by: Martin K. Petersen -Reviewed-by: Gwendal Grignou -Reviewed-by: Chaitanya Kulkarni ---- - ---- a/drivers/block/loop.c -+++ b/drivers/block/loop.c -@@ -416,19 +416,14 @@ out_free_page: - return ret; - } - --static int lo_discard(struct loop_device *lo, struct request *rq, loff_t pos) -+static int lo_discard(struct loop_device *lo, struct request *rq, -+ int mode, loff_t pos) - { -- /* -- * We use punch hole to reclaim the free space used by the -- * image a.k.a. discard. However we do not support discard if -- * encryption is enabled, because it may give an attacker -- * useful information. -- */ - struct file *file = lo->lo_backing_file; -- int mode = FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE; -+ struct request_queue *q = lo->lo_queue; - int ret; - -- if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) { -+ if (!blk_queue_discard(q)) { - ret = -EOPNOTSUPP; - goto out; - } -@@ -457,7 +452,9 @@ static void lo_complete_rq(struct reques - - if (!cmd->use_aio || cmd->ret < 0 || cmd->ret == blk_rq_bytes(rq) || - req_op(rq) != REQ_OP_READ) { -- if (cmd->ret < 0) -+ if (cmd->ret == -EOPNOTSUPP) -+ ret = BLK_STS_NOTSUPP; -+ else if (cmd->ret < 0) - ret = BLK_STS_IOERR; - goto end_io; - } -@@ -597,8 +594,13 @@ static int do_req_filebacked(struct loop - case REQ_OP_FLUSH: - return lo_req_flush(lo, rq); - case REQ_OP_DISCARD: -+ return lo_discard(lo, rq, -+ FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, pos); -+ - case REQ_OP_WRITE_ZEROES: -- return lo_discard(lo, rq, pos); -+ return lo_discard(lo, rq, -+ FALLOC_FL_ZERO_RANGE | FALLOC_FL_KEEP_SIZE, pos); -+ - case REQ_OP_WRITE: - if (lo->transfer) - return lo_write_transfer(lo, rq, pos); -@@ -853,6 +855,21 @@ static void loop_config_discard(struct l - struct file *file = lo->lo_backing_file; - struct inode *inode = file->f_mapping->host; - struct request_queue *q = lo->lo_queue; -+ struct request_queue *backingq; -+ -+ /* -+ * If the backing device is a block device, mirror its zeroing -+ * capability. REQ_OP_DISCARD translates to a zero-out even when backed -+ * by block devices to keep consistent behavior with file-backed loop -+ * devices. -+ */ -+ if (S_ISBLK(inode->i_mode) && !lo->lo_encrypt_key_size) { -+ backingq = bdev_get_queue(inode->i_bdev); -+ blk_queue_max_discard_sectors(q, -+ backingq->limits.max_write_zeroes_sectors); -+ -+ blk_queue_max_write_zeroes_sectors(q, -+ backingq->limits.max_write_zeroes_sectors); - - /* - * We use punch hole to reclaim the free space used by the -@@ -860,22 +877,24 @@ static void loop_config_discard(struct l - * encryption is enabled, because it may give an attacker - * useful information. - */ -- if ((!file->f_op->fallocate) || -- lo->lo_encrypt_key_size) { -+ } else if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) { - q->limits.discard_granularity = 0; - q->limits.discard_alignment = 0; - blk_queue_max_discard_sectors(q, 0); - blk_queue_max_write_zeroes_sectors(q, 0); -- blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q); -- return; -- } - -- q->limits.discard_granularity = inode->i_sb->s_blocksize; -- q->limits.discard_alignment = 0; -+ } else { -+ q->limits.discard_granularity = inode->i_sb->s_blocksize; -+ q->limits.discard_alignment = 0; - -- blk_queue_max_discard_sectors(q, UINT_MAX >> 9); -- blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9); -- blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); -+ blk_queue_max_discard_sectors(q, UINT_MAX >> 9); -+ blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9); -+ } -+ -+ if (q->limits.max_write_zeroes_sectors) -+ blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); -+ else -+ blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q); - } - - static void loop_unprepare_queue(struct loop_device *lo) -@@ -1894,7 +1913,10 @@ static void loop_handle_cmd(struct loop_ - failed: - /* complete non-aio request */ - if (!cmd->use_aio || ret) { -- cmd->ret = ret ? -EIO : 0; -+ if (ret == -EOPNOTSUPP) -+ cmd->ret = ret; -+ else -+ cmd->ret = ret ? -EIO : 0; - blk_mq_complete_request(rq); - } - } diff --git a/target/linux/generic/hack-4.19/551-loop-Better-discard-support-for-block-devices.patch b/target/linux/generic/hack-4.19/551-loop-Better-discard-support-for-block-devices.patch new file mode 100644 index 000000000..271389a4d --- /dev/null +++ b/target/linux/generic/hack-4.19/551-loop-Better-discard-support-for-block-devices.patch @@ -0,0 +1,101 @@ +From 3117c3f45edbcc269baaebd3d13f39b7bf884aa6 Mon Sep 17 00:00:00 2001 +From: Evan Green +Date: Thu, 14 Nov 2019 15:50:08 -0800 +Subject: loop: Better discard support for block devices + +If the backing device for a loop device is itself a block device, +then mirror the "write zeroes" capabilities of the underlying +block device into the loop device. Copy this capability into both +max_write_zeroes_sectors and max_discard_sectors of the loop device. + +The reason for this is that REQ_OP_DISCARD on a loop device translates +into blkdev_issue_zeroout(), rather than blkdev_issue_discard(). This +presents a consistent interface for loop devices (that discarded data +is zeroed), regardless of the backing device type of the loop device. +There should be no behavior change for loop devices backed by regular +files. + +This change fixes blktest block/003, and removes an extraneous +error print in block/013 when testing on a loop device backed +by a block device that does not support discard. + +Signed-off-by: Evan Green +Reviewed-by: Gwendal Grignou +Reviewed-by: Chaitanya Kulkarni +--- + drivers/block/loop.c | 40 +++++++++++++++++++++++++++++----------- + 1 file changed, 29 insertions(+), 11 deletions(-) + +--- a/drivers/block/loop.c ++++ b/drivers/block/loop.c +@@ -426,11 +426,12 @@ static int lo_fallocate(struct loop_devi + * information. + */ + struct file *file = lo->lo_backing_file; ++ struct request_queue *q = lo->lo_queue; + int ret; + + mode |= FALLOC_FL_KEEP_SIZE; + +- if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) { ++ if (!blk_queue_discard(q)) { + ret = -EOPNOTSUPP; + goto out; + } +@@ -863,6 +864,21 @@ static void loop_config_discard(struct l + struct file *file = lo->lo_backing_file; + struct inode *inode = file->f_mapping->host; + struct request_queue *q = lo->lo_queue; ++ struct request_queue *backingq; ++ ++ /* ++ * If the backing device is a block device, mirror its zeroing ++ * capability. REQ_OP_DISCARD translates to a zero-out even when backed ++ * by block devices to keep consistent behavior with file-backed loop ++ * devices. ++ */ ++ if (S_ISBLK(inode->i_mode) && !lo->lo_encrypt_key_size) { ++ backingq = bdev_get_queue(inode->i_bdev); ++ blk_queue_max_discard_sectors(q, ++ backingq->limits.max_write_zeroes_sectors); ++ ++ blk_queue_max_write_zeroes_sectors(q, ++ backingq->limits.max_write_zeroes_sectors); + + /* + * We use punch hole to reclaim the free space used by the +@@ -870,22 +886,24 @@ static void loop_config_discard(struct l + * encryption is enabled, because it may give an attacker + * useful information. + */ +- if ((!file->f_op->fallocate) || +- lo->lo_encrypt_key_size) { ++ } else if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) { + q->limits.discard_granularity = 0; + q->limits.discard_alignment = 0; + blk_queue_max_discard_sectors(q, 0); + blk_queue_max_write_zeroes_sectors(q, 0); +- blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q); +- return; +- } + +- q->limits.discard_granularity = inode->i_sb->s_blocksize; +- q->limits.discard_alignment = 0; ++ } else { ++ q->limits.discard_granularity = inode->i_sb->s_blocksize; ++ q->limits.discard_alignment = 0; + +- blk_queue_max_discard_sectors(q, UINT_MAX >> 9); +- blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9); +- blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); ++ blk_queue_max_discard_sectors(q, UINT_MAX >> 9); ++ blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9); ++ } ++ ++ if (q->limits.max_write_zeroes_sectors) ++ blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); ++ else ++ blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q); + } + + static void loop_unprepare_queue(struct loop_device *lo) diff --git a/target/linux/generic/hack-4.19/721-phy_packets.patch b/target/linux/generic/hack-4.19/721-phy_packets.patch index e9c09302e..b6cbef1e4 100644 --- a/target/linux/generic/hack-4.19/721-phy_packets.patch +++ b/target/linux/generic/hack-4.19/721-phy_packets.patch @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2545,6 +2545,10 @@ static inline int pskb_trim(struct sk_bu +@@ -2547,6 +2547,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -2676,16 +2680,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -2678,16 +2682,6 @@ static inline struct sk_buff *dev_alloc_ } diff --git a/target/linux/generic/hack-4.19/902-debloat_proc.patch b/target/linux/generic/hack-4.19/902-debloat_proc.patch index f562c9f2e..3ee7fdafd 100644 --- a/target/linux/generic/hack-4.19/902-debloat_proc.patch +++ b/target/linux/generic/hack-4.19/902-debloat_proc.patch @@ -393,7 +393,7 @@ Signed-off-by: Felix Fietkau } --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -410,6 +410,9 @@ static struct pernet_operations ip_rt_pr +@@ -411,6 +411,9 @@ static struct pernet_operations ip_rt_pr static int __init ip_rt_proc_init(void) { diff --git a/target/linux/generic/pending-4.14/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-4.14/203-kallsyms_uncompressed.patch index b0cd863be..1f5c83e94 100644 --- a/target/linux/generic/pending-4.14/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-4.14/203-kallsyms_uncompressed.patch @@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau output_label("kallsyms_token_table"); off = 0; for (i = 0; i < 256; i++) { -@@ -519,6 +523,9 @@ static void *find_token(unsigned char *s +@@ -521,6 +525,9 @@ static void *find_token(unsigned char *s { int i; @@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau for (i = 0; i < len - 1; i++) { if (str[i] == token[0] && str[i+1] == token[1]) return &str[i]; -@@ -591,6 +598,9 @@ static void optimize_result(void) +@@ -593,6 +600,9 @@ static void optimize_result(void) { int i, best; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau /* using the '\0' symbol last allows compress_symbols to use standard * fast string functions */ for (i = 255; i >= 0; i--) { -@@ -779,6 +789,8 @@ int main(int argc, char **argv) +@@ -781,6 +791,8 @@ int main(int argc, char **argv) symbol_prefix_char = *p; } else if (strcmp(argv[i], "--base-relative") == 0) base_relative = 1; diff --git a/target/linux/generic/pending-4.14/655-increase_skb_pad.patch b/target/linux/generic/pending-4.14/655-increase_skb_pad.patch index 4bb1c58bb..fa47fe62a 100644 --- a/target/linux/generic/pending-4.14/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-4.14/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2494,7 +2494,7 @@ static inline int pskb_network_may_pull( +@@ -2496,7 +2496,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index e4fdd6c58..e6b0940a0 100644 --- a/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -118,8 +118,8 @@ Signed-off-by: Jonas Gorski +static int ip6_pkt_policy_failed_out(struct net *net, struct sock *sk, struct sk_buff *skb); static void ip6_link_failure(struct sk_buff *skb); static void ip6_rt_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu); -@@ -321,6 +323,21 @@ static const struct rt6_info ip6_prohibi + struct sk_buff *skb, u32 mtu, +@@ -323,6 +325,21 @@ static const struct rt6_info ip6_prohibi .rt6i_ref = ATOMIC_INIT(1), }; @@ -141,7 +141,7 @@ Signed-off-by: Jonas Gorski static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__refcnt = ATOMIC_INIT(1), -@@ -2046,6 +2063,11 @@ static struct rt6_info *ip6_route_info_c +@@ -2054,6 +2071,11 @@ static struct rt6_info *ip6_route_info_c rt->dst.output = ip6_pkt_prohibit_out; rt->dst.input = ip6_pkt_prohibit; break; @@ -153,7 +153,7 @@ Signed-off-by: Jonas Gorski case RTN_THROW: case RTN_UNREACHABLE: default: -@@ -2771,6 +2793,17 @@ static int ip6_pkt_prohibit_out(struct n +@@ -2779,6 +2801,17 @@ static int ip6_pkt_prohibit_out(struct n return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -171,7 +171,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -3007,7 +3040,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -3015,7 +3048,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -3506,6 +3540,9 @@ static int rt6_fill_node(struct net *net +@@ -3514,6 +3548,9 @@ static int rt6_fill_node(struct net *net case -EACCES: rtm->rtm_type = RTN_PROHIBIT; break; @@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski case -EAGAIN: rtm->rtm_type = RTN_THROW; break; -@@ -3824,6 +3861,8 @@ static int ip6_route_dev_notify(struct n +@@ -3832,6 +3869,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -200,7 +200,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -3835,6 +3874,7 @@ static int ip6_route_dev_notify(struct n +@@ -3843,6 +3882,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -208,7 +208,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -4051,6 +4091,17 @@ static int __net_init ip6_route_net_init +@@ -4059,6 +4099,17 @@ static int __net_init ip6_route_net_init net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); @@ -226,7 +226,7 @@ Signed-off-by: Jonas Gorski #endif net->ipv6.sysctl.flush_delay = 0; -@@ -4069,6 +4120,8 @@ out: +@@ -4077,6 +4128,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -4086,6 +4139,7 @@ static void __net_exit ip6_route_net_exi +@@ -4094,6 +4147,7 @@ static void __net_exit ip6_route_net_exi #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_blk_hole_entry); @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); } -@@ -4159,6 +4213,9 @@ void __init ip6_route_init_special_entri +@@ -4167,6 +4221,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-4.14/681-NET-add-of_get_mac_address_mtd.patch b/target/linux/generic/pending-4.14/681-NET-add-of_get_mac_address_mtd.patch index 2b89a0523..301cd87de 100644 --- a/target/linux/generic/pending-4.14/681-NET-add-of_get_mac_address_mtd.patch +++ b/target/linux/generic/pending-4.14/681-NET-add-of_get_mac_address_mtd.patch @@ -32,17 +32,62 @@ Signed-off-by: Felix Fietkau { struct property *pp = of_find_property(np, name, NULL); -@@ -47,6 +48,79 @@ static const void *of_get_mac_addr(struc +@@ -47,6 +48,133 @@ static const void *of_get_mac_addr(struc return NULL; } ++typedef int(*mtd_mac_address_read)(struct mtd_info *mtd, loff_t from, u_char *buf); ++ ++static int read_mtd_mac_address(struct mtd_info *mtd, loff_t from, u_char *mac) ++{ ++ int retlen; ++ ++ return mtd_read(mtd, from, 6, &retlen, mac); ++} ++ ++static int read_mtd_mac_address_ascii(struct mtd_info *mtd, loff_t from, u_char *mac) ++{ ++ int retlen; ++ char buf[17]; ++ ++ if (mtd_read(mtd, from, 12, &retlen, buf)) { ++ return -1; ++ } ++ if (sscanf(buf, "%2hhx%2hhx%2hhx%2hhx%2hhx%2hhx", ++ &mac[0], &mac[1], &mac[2], &mac[3], ++ &mac[4], &mac[5]) == 6) { ++ return 0; ++ } ++ if (mtd_read(mtd, from+12, 5, &retlen, buf+12)) { ++ return -1; ++ } ++ if (sscanf(buf, "%2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx", ++ &mac[0], &mac[1], &mac[2], &mac[3], ++ &mac[4], &mac[5]) == 6) { ++ return 0; ++ } ++ return -1; ++} ++ ++static struct mtd_mac_address_property { ++ char *name; ++ mtd_mac_address_read read; ++} mtd_mac_address_properties[] = { ++ { ++ .name = "mtd-mac-address", ++ .read = read_mtd_mac_address, ++ }, { ++ .name = "mtd-mac-address-ascii", ++ .read = read_mtd_mac_address_ascii, ++ }, ++}; ++ +static const void *of_get_mac_address_mtd(struct device_node *np) +{ +#ifdef CONFIG_MTD + struct device_node *mtd_np = NULL; + struct property *prop; -+ size_t retlen; -+ int size, ret; ++ int size, ret = -1; + struct mtd_info *mtd; + const char *part; + const __be32 *list; @@ -51,28 +96,37 @@ Signed-off-by: Felix Fietkau + u8 mac[ETH_ALEN]; + void *addr; + u32 inc_idx; ++ int i; + -+ list = of_get_property(np, "mtd-mac-address", &size); -+ if (!list || (size != (2 * sizeof(*list)))) ++ for (i = 0; i < ARRAY_SIZE(mtd_mac_address_properties); i++) { ++ list = of_get_property(np, mtd_mac_address_properties[i].name, &size); ++ if (!list || (size != (2 * sizeof(*list)))) ++ continue; ++ ++ phandle = be32_to_cpup(list++); ++ if (phandle) ++ mtd_np = of_find_node_by_phandle(phandle); ++ ++ if (!mtd_np) ++ continue; ++ ++ part = of_get_property(mtd_np, "label", NULL); ++ if (!part) ++ part = mtd_np->name; ++ ++ mtd = get_mtd_device_nm(part); ++ if (IS_ERR(mtd)) ++ continue; ++ ++ ret = mtd_mac_address_properties[i].read(mtd, be32_to_cpup(list), mac); ++ put_mtd_device(mtd); ++ if (!ret) { ++ break; ++ } ++ } ++ if (ret) { + return NULL; -+ -+ phandle = be32_to_cpup(list++); -+ if (phandle) -+ mtd_np = of_find_node_by_phandle(phandle); -+ -+ if (!mtd_np) -+ return NULL; -+ -+ part = of_get_property(mtd_np, "label", NULL); -+ if (!part) -+ part = mtd_np->name; -+ -+ mtd = get_mtd_device_nm(part); -+ if (IS_ERR(mtd)) -+ return NULL; -+ -+ ret = mtd_read(mtd, be32_to_cpup(list), 6, &retlen, mac); -+ put_mtd_device(mtd); ++ } + + if (of_property_read_u32(np, "mtd-mac-address-increment-byte", &inc_idx)) + inc_idx = 5; @@ -112,7 +166,7 @@ Signed-off-by: Felix Fietkau /** * Search the device tree for the best MAC address to use. 'mac-address' is * checked first, because that is supposed to contain to "most recent" MAC -@@ -64,11 +138,18 @@ static const void *of_get_mac_addr(struc +@@ -64,11 +192,18 @@ static const void *of_get_mac_addr(struc * addresses. Some older U-Boots only initialized 'local-mac-address'. In * this case, the real MAC is in 'local-mac-address', and 'mac-address' exists * but is all zeros. diff --git a/target/linux/generic/pending-4.19/130-add-linux-spidev-compatible-si3210.patch b/target/linux/generic/pending-4.19/130-add-linux-spidev-compatible-si3210.patch index b00fb8ee2..3a42182c9 100644 --- a/target/linux/generic/pending-4.19/130-add-linux-spidev-compatible-si3210.patch +++ b/target/linux/generic/pending-4.19/130-add-linux-spidev-compatible-si3210.patch @@ -8,7 +8,7 @@ Signed-off-by: Giuseppe Lippolis --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -669,6 +669,7 @@ static const struct of_device_id spidev_ +@@ -672,6 +672,7 @@ static const struct of_device_id spidev_ { .compatible = "lineartechnology,ltc2488" }, { .compatible = "ge,achc" }, { .compatible = "semtech,sx1301" }, diff --git a/target/linux/generic/pending-4.19/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-4.19/203-kallsyms_uncompressed.patch index 6f0adb5ce..9230279fc 100644 --- a/target/linux/generic/pending-4.19/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-4.19/203-kallsyms_uncompressed.patch @@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau output_label("kallsyms_token_table"); off = 0; for (i = 0; i < 256; i++) { -@@ -500,6 +504,9 @@ static void *find_token(unsigned char *s +@@ -502,6 +506,9 @@ static void *find_token(unsigned char *s { int i; @@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau for (i = 0; i < len - 1; i++) { if (str[i] == token[0] && str[i+1] == token[1]) return &str[i]; -@@ -572,6 +579,9 @@ static void optimize_result(void) +@@ -574,6 +581,9 @@ static void optimize_result(void) { int i, best; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau /* using the '\0' symbol last allows compress_symbols to use standard * fast string functions */ for (i = 255; i >= 0; i--) { -@@ -754,6 +764,8 @@ int main(int argc, char **argv) +@@ -756,6 +766,8 @@ int main(int argc, char **argv) absolute_percpu = 1; else if (strcmp(argv[i], "--base-relative") == 0) base_relative = 1; diff --git a/target/linux/generic/pending-4.19/630-packet_socket_type.patch b/target/linux/generic/pending-4.19/630-packet_socket_type.patch index 70cf88ddf..7c4ab32fa 100644 --- a/target/linux/generic/pending-4.19/630-packet_socket_type.patch +++ b/target/linux/generic/pending-4.19/630-packet_socket_type.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau #define PACKET_FANOUT_LB 1 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -1789,6 +1789,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1790,6 +1790,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau /* * When we registered the protocol we saved the socket in the data -@@ -1796,6 +1797,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1797,6 +1798,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau /* * Yank back the headers [hope the device set this -@@ -1808,7 +1810,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1809,7 +1811,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -2036,12 +2038,12 @@ static int packet_rcv(struct sk_buff *sk +@@ -2037,12 +2039,12 @@ static int packet_rcv(struct sk_buff *sk unsigned int snaplen, res; bool is_drop_n_account = false; @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2167,12 +2169,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -2168,12 +2170,12 @@ static int tpacket_rcv(struct sk_buff *s BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3258,6 +3260,7 @@ static int packet_create(struct net *net +@@ -3259,6 +3261,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3869,6 +3872,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3870,6 +3873,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3921,6 +3934,13 @@ static int packet_getsockopt(struct sock +@@ -3922,6 +3935,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/pending-4.19/655-increase_skb_pad.patch b/target/linux/generic/pending-4.19/655-increase_skb_pad.patch index b5f7fadbe..94e325b0c 100644 --- a/target/linux/generic/pending-4.19/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-4.19/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2509,7 +2509,7 @@ static inline int pskb_network_may_pull( +@@ -2511,7 +2511,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 114595b3f..842a3fa37 100644 --- a/target/linux/generic/pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -118,8 +118,8 @@ Signed-off-by: Jonas Gorski +static int ip6_pkt_policy_failed_out(struct net *net, struct sock *sk, struct sk_buff *skb); static void ip6_link_failure(struct sk_buff *skb); static void ip6_rt_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu); -@@ -326,6 +328,18 @@ static const struct rt6_info ip6_prohibi + struct sk_buff *skb, u32 mtu, +@@ -328,6 +330,18 @@ static const struct rt6_info ip6_prohibi .rt6i_flags = (RTF_REJECT | RTF_NONEXTHOP), }; @@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__refcnt = ATOMIC_INIT(1), -@@ -904,6 +918,7 @@ static const int fib6_prop[RTN_MAX + 1] +@@ -906,6 +920,7 @@ static const int fib6_prop[RTN_MAX + 1] [RTN_BLACKHOLE] = -EINVAL, [RTN_UNREACHABLE] = -EHOSTUNREACH, [RTN_PROHIBIT] = -EACCES, @@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski [RTN_THROW] = -EAGAIN, [RTN_NAT] = -EINVAL, [RTN_XRESOLVE] = -EINVAL, -@@ -941,6 +956,10 @@ static void ip6_rt_init_dst_reject(struc +@@ -943,6 +958,10 @@ static void ip6_rt_init_dst_reject(struc rt->dst.output = ip6_pkt_prohibit_out; rt->dst.input = ip6_pkt_prohibit; break; @@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski case RTN_THROW: case RTN_UNREACHABLE: default: -@@ -3781,6 +3800,17 @@ static int ip6_pkt_prohibit_out(struct n +@@ -3789,6 +3808,17 @@ static int ip6_pkt_prohibit_out(struct n return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -4228,7 +4258,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -4236,7 +4266,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -5076,6 +5107,8 @@ static int ip6_route_dev_notify(struct n +@@ -5084,6 +5115,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -5087,6 +5120,7 @@ static int ip6_route_dev_notify(struct n +@@ -5095,6 +5128,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -5281,6 +5315,15 @@ static int __net_init ip6_route_net_init +@@ -5289,6 +5323,15 @@ static int __net_init ip6_route_net_init net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); @@ -218,7 +218,7 @@ Signed-off-by: Jonas Gorski #endif net->ipv6.sysctl.flush_delay = 0; -@@ -5299,6 +5342,8 @@ out: +@@ -5327,6 +5372,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -227,7 +227,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -5319,6 +5364,7 @@ static void __net_exit ip6_route_net_exi +@@ -5403,6 +5449,7 @@ static void __net_exit ip6_route_net_exi #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_blk_hole_entry); diff --git a/target/linux/generic/pending-4.19/681-NET-add-of_get_mac_address_mtd.patch b/target/linux/generic/pending-4.19/681-NET-add-of_get_mac_address_mtd.patch index 13f564059..fa019eab0 100644 --- a/target/linux/generic/pending-4.19/681-NET-add-of_get_mac_address_mtd.patch +++ b/target/linux/generic/pending-4.19/681-NET-add-of_get_mac_address_mtd.patch @@ -32,17 +32,62 @@ Signed-off-by: Felix Fietkau { struct property *pp = of_find_property(np, name, NULL); -@@ -48,6 +49,79 @@ static const void *of_get_mac_addr(struc +@@ -48,6 +49,133 @@ static const void *of_get_mac_addr(struc return NULL; } ++typedef int(*mtd_mac_address_read)(struct mtd_info *mtd, loff_t from, u_char *buf); ++ ++static int read_mtd_mac_address(struct mtd_info *mtd, loff_t from, u_char *mac) ++{ ++ int retlen; ++ ++ return mtd_read(mtd, from, 6, &retlen, mac); ++} ++ ++static int read_mtd_mac_address_ascii(struct mtd_info *mtd, loff_t from, u_char *mac) ++{ ++ int retlen; ++ char buf[17]; ++ ++ if (mtd_read(mtd, from, 12, &retlen, buf)) { ++ return -1; ++ } ++ if (sscanf(buf, "%2hhx%2hhx%2hhx%2hhx%2hhx%2hhx", ++ &mac[0], &mac[1], &mac[2], &mac[3], ++ &mac[4], &mac[5]) == 6) { ++ return 0; ++ } ++ if (mtd_read(mtd, from+12, 5, &retlen, buf+12)) { ++ return -1; ++ } ++ if (sscanf(buf, "%2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx", ++ &mac[0], &mac[1], &mac[2], &mac[3], ++ &mac[4], &mac[5]) == 6) { ++ return 0; ++ } ++ return -1; ++} ++ ++static struct mtd_mac_address_property { ++ char *name; ++ mtd_mac_address_read read; ++} mtd_mac_address_properties[] = { ++ { ++ .name = "mtd-mac-address", ++ .read = read_mtd_mac_address, ++ }, { ++ .name = "mtd-mac-address-ascii", ++ .read = read_mtd_mac_address_ascii, ++ }, ++}; ++ +static const void *of_get_mac_address_mtd(struct device_node *np) +{ +#ifdef CONFIG_MTD + struct device_node *mtd_np = NULL; + struct property *prop; -+ size_t retlen; -+ int size, ret; ++ int size, ret = -1; + struct mtd_info *mtd; + const char *part; + const __be32 *list; @@ -51,28 +96,37 @@ Signed-off-by: Felix Fietkau + u8 mac[ETH_ALEN]; + void *addr; + u32 inc_idx; ++ int i; + -+ list = of_get_property(np, "mtd-mac-address", &size); -+ if (!list || (size != (2 * sizeof(*list)))) ++ for (i = 0; i < ARRAY_SIZE(mtd_mac_address_properties); i++) { ++ list = of_get_property(np, mtd_mac_address_properties[i].name, &size); ++ if (!list || (size != (2 * sizeof(*list)))) ++ continue; ++ ++ phandle = be32_to_cpup(list++); ++ if (phandle) ++ mtd_np = of_find_node_by_phandle(phandle); ++ ++ if (!mtd_np) ++ continue; ++ ++ part = of_get_property(mtd_np, "label", NULL); ++ if (!part) ++ part = mtd_np->name; ++ ++ mtd = get_mtd_device_nm(part); ++ if (IS_ERR(mtd)) ++ continue; ++ ++ ret = mtd_mac_address_properties[i].read(mtd, be32_to_cpup(list), mac); ++ put_mtd_device(mtd); ++ if (!ret) { ++ break; ++ } ++ } ++ if (ret) { + return NULL; -+ -+ phandle = be32_to_cpup(list++); -+ if (phandle) -+ mtd_np = of_find_node_by_phandle(phandle); -+ -+ if (!mtd_np) -+ return NULL; -+ -+ part = of_get_property(mtd_np, "label", NULL); -+ if (!part) -+ part = mtd_np->name; -+ -+ mtd = get_mtd_device_nm(part); -+ if (IS_ERR(mtd)) -+ return NULL; -+ -+ ret = mtd_read(mtd, be32_to_cpup(list), 6, &retlen, mac); -+ put_mtd_device(mtd); ++ } + + if (of_property_read_u32(np, "mtd-mac-address-increment-byte", &inc_idx)) + inc_idx = 5; @@ -112,7 +166,7 @@ Signed-off-by: Felix Fietkau /** * Search the device tree for the best MAC address to use. 'mac-address' is * checked first, because that is supposed to contain to "most recent" MAC -@@ -65,11 +139,18 @@ static const void *of_get_mac_addr(struc +@@ -65,11 +193,18 @@ static const void *of_get_mac_addr(struc * addresses. Some older U-Boots only initialized 'local-mac-address'. In * this case, the real MAC is in 'local-mac-address', and 'mac-address' exists * but is all zeros. diff --git a/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch index 759357549..9bc805503 100644 --- a/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch @@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau output_label("kallsyms_token_table"); off = 0; for (i = 0; i < 256; i++) { -@@ -507,6 +511,9 @@ static void *find_token(unsigned char *s +@@ -509,6 +513,9 @@ static void *find_token(unsigned char *s { int i; @@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau for (i = 0; i < len - 1; i++) { if (str[i] == token[0] && str[i+1] == token[1]) return &str[i]; -@@ -579,6 +586,9 @@ static void optimize_result(void) +@@ -581,6 +588,9 @@ static void optimize_result(void) { int i, best; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau /* using the '\0' symbol last allows compress_symbols to use standard * fast string functions */ for (i = 255; i >= 0; i--) { -@@ -767,6 +777,8 @@ int main(int argc, char **argv) +@@ -769,6 +779,8 @@ int main(int argc, char **argv) symbol_prefix_char = *p; } else if (strcmp(argv[i], "--base-relative") == 0) base_relative = 1; diff --git a/target/linux/generic/pending-4.9/630-packet_socket_type.patch b/target/linux/generic/pending-4.9/630-packet_socket_type.patch index e61bde077..e89bf0cfa 100644 --- a/target/linux/generic/pending-4.9/630-packet_socket_type.patch +++ b/target/linux/generic/pending-4.9/630-packet_socket_type.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau #define PACKET_FANOUT_LB 1 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -1780,6 +1780,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1781,6 +1781,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau /* * When we registered the protocol we saved the socket in the data -@@ -1787,6 +1788,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1788,6 +1789,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau /* * Yank back the headers [hope the device set this -@@ -1799,7 +1801,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1800,7 +1802,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -2037,12 +2039,12 @@ static int packet_rcv(struct sk_buff *sk +@@ -2038,12 +2040,12 @@ static int packet_rcv(struct sk_buff *sk unsigned int snaplen, res; bool is_drop_n_account = false; @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2168,12 +2170,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -2169,12 +2171,12 @@ static int tpacket_rcv(struct sk_buff *s BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3291,6 +3293,7 @@ static int packet_create(struct net *net +@@ -3292,6 +3294,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3904,6 +3907,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3905,6 +3908,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3956,6 +3969,13 @@ static int packet_getsockopt(struct sock +@@ -3957,6 +3970,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/pending-4.9/681-NET-add-of_get_mac_address_mtd.patch b/target/linux/generic/pending-4.9/681-NET-add-of_get_mac_address_mtd.patch index b29b5f11b..301cd87de 100644 --- a/target/linux/generic/pending-4.9/681-NET-add-of_get_mac_address_mtd.patch +++ b/target/linux/generic/pending-4.9/681-NET-add-of_get_mac_address_mtd.patch @@ -32,17 +32,62 @@ Signed-off-by: Felix Fietkau { struct property *pp = of_find_property(np, name, NULL); -@@ -47,6 +48,73 @@ static const void *of_get_mac_addr(struc +@@ -47,6 +48,133 @@ static const void *of_get_mac_addr(struc return NULL; } ++typedef int(*mtd_mac_address_read)(struct mtd_info *mtd, loff_t from, u_char *buf); ++ ++static int read_mtd_mac_address(struct mtd_info *mtd, loff_t from, u_char *mac) ++{ ++ int retlen; ++ ++ return mtd_read(mtd, from, 6, &retlen, mac); ++} ++ ++static int read_mtd_mac_address_ascii(struct mtd_info *mtd, loff_t from, u_char *mac) ++{ ++ int retlen; ++ char buf[17]; ++ ++ if (mtd_read(mtd, from, 12, &retlen, buf)) { ++ return -1; ++ } ++ if (sscanf(buf, "%2hhx%2hhx%2hhx%2hhx%2hhx%2hhx", ++ &mac[0], &mac[1], &mac[2], &mac[3], ++ &mac[4], &mac[5]) == 6) { ++ return 0; ++ } ++ if (mtd_read(mtd, from+12, 5, &retlen, buf+12)) { ++ return -1; ++ } ++ if (sscanf(buf, "%2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx", ++ &mac[0], &mac[1], &mac[2], &mac[3], ++ &mac[4], &mac[5]) == 6) { ++ return 0; ++ } ++ return -1; ++} ++ ++static struct mtd_mac_address_property { ++ char *name; ++ mtd_mac_address_read read; ++} mtd_mac_address_properties[] = { ++ { ++ .name = "mtd-mac-address", ++ .read = read_mtd_mac_address, ++ }, { ++ .name = "mtd-mac-address-ascii", ++ .read = read_mtd_mac_address_ascii, ++ }, ++}; ++ +static const void *of_get_mac_address_mtd(struct device_node *np) +{ +#ifdef CONFIG_MTD + struct device_node *mtd_np = NULL; + struct property *prop; -+ size_t retlen; -+ int size, ret; ++ int size, ret = -1; + struct mtd_info *mtd; + const char *part; + const __be32 *list; @@ -50,31 +95,46 @@ Signed-off-by: Felix Fietkau + u32 mac_inc = 0; + u8 mac[ETH_ALEN]; + void *addr; ++ u32 inc_idx; ++ int i; + -+ list = of_get_property(np, "mtd-mac-address", &size); -+ if (!list || (size != (2 * sizeof(*list)))) ++ for (i = 0; i < ARRAY_SIZE(mtd_mac_address_properties); i++) { ++ list = of_get_property(np, mtd_mac_address_properties[i].name, &size); ++ if (!list || (size != (2 * sizeof(*list)))) ++ continue; ++ ++ phandle = be32_to_cpup(list++); ++ if (phandle) ++ mtd_np = of_find_node_by_phandle(phandle); ++ ++ if (!mtd_np) ++ continue; ++ ++ part = of_get_property(mtd_np, "label", NULL); ++ if (!part) ++ part = mtd_np->name; ++ ++ mtd = get_mtd_device_nm(part); ++ if (IS_ERR(mtd)) ++ continue; ++ ++ ret = mtd_mac_address_properties[i].read(mtd, be32_to_cpup(list), mac); ++ put_mtd_device(mtd); ++ if (!ret) { ++ break; ++ } ++ } ++ if (ret) { + return NULL; ++ } + -+ phandle = be32_to_cpup(list++); -+ if (phandle) -+ mtd_np = of_find_node_by_phandle(phandle); -+ -+ if (!mtd_np) ++ if (of_property_read_u32(np, "mtd-mac-address-increment-byte", &inc_idx)) ++ inc_idx = 5; ++ if (inc_idx > 5) + return NULL; + -+ part = of_get_property(mtd_np, "label", NULL); -+ if (!part) -+ part = mtd_np->name; -+ -+ mtd = get_mtd_device_nm(part); -+ if (IS_ERR(mtd)) -+ return NULL; -+ -+ ret = mtd_read(mtd, be32_to_cpup(list), 6, &retlen, mac); -+ put_mtd_device(mtd); -+ + if (!of_property_read_u32(np, "mtd-mac-address-increment", &mac_inc)) -+ mac[5] += mac_inc; ++ mac[inc_idx] += mac_inc; + + if (!is_valid_ether_addr(mac)) + return NULL; @@ -106,7 +166,7 @@ Signed-off-by: Felix Fietkau /** * Search the device tree for the best MAC address to use. 'mac-address' is * checked first, because that is supposed to contain to "most recent" MAC -@@ -64,11 +132,18 @@ static const void *of_get_mac_addr(struc +@@ -64,11 +192,18 @@ static const void *of_get_mac_addr(struc * addresses. Some older U-Boots only initialized 'local-mac-address'. In * this case, the real MAC is in 'local-mac-address', and 'mac-address' exists * but is all zeros. diff --git a/target/linux/ipq40xx/patches-4.14/950-add-tx-hw802.11-encapusaltion-offloading-support.patch b/target/linux/ipq40xx/patches-4.14/950-add-tx-hw802.11-encapusaltion-offloading-support.patch index d7caec1aa..6ee0d779f 100644 --- a/target/linux/ipq40xx/patches-4.14/950-add-tx-hw802.11-encapusaltion-offloading-support.patch +++ b/target/linux/ipq40xx/patches-4.14/950-add-tx-hw802.11-encapusaltion-offloading-support.patch @@ -52,7 +52,7 @@ index af68eb5d0776..251fb57cbe8f 100644 }; struct ath10k_skb_cb { -@@ -999,6 +1000,8 @@ +@@ -1000,6 +1001,8 @@ u32 ampdu_reference; void *ce_priv; @@ -65,7 +65,7 @@ diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath index a182c0944cc7..0ca0705fe69a 100644 --- a/drivers/net/wireless/ath/ath10k/htt_tx.c +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c -@@ -1144,6 +1144,10 @@ static u8 ath10k_htt_tx_get_tid(struct sk_buff *skb, bool is_eth) +@@ -812,6 +812,10 @@ static u8 ath10k_htt_tx_get_tid(struct sk_buff *skb, bool is_eth) struct ieee80211_hdr *hdr = (void *)skb->data; struct ath10k_skb_cb *cb = ATH10K_SKB_CB(skb); @@ -76,9 +76,9 @@ index a182c0944cc7..0ca0705fe69a 100644 if (!is_eth && ieee80211_is_mgmt(hdr->frame_control)) return HTT_DATA_TX_EXT_TID_MGMT; else if (cb->flags & ATH10K_SKB_F_QOS) -@@ -1378,15 +1382,17 @@ static int ath10k_htt_tx_32(struct ath10k_htt *htt, +@@ -933,15 +937,17 @@ int ath10k_htt_tx(struct ath10k_htt *htt, enum ath10k_hw_txrx_mode txmode, txbuf_paddr = htt->txbuf.paddr + - (sizeof(struct ath10k_htt_txbuf_32) * msdu_id); + (sizeof(struct ath10k_htt_txbuf) * msdu_id); - if ((ieee80211_is_action(hdr->frame_control) || - ieee80211_is_deauth(hdr->frame_control) || @@ -163,10 +163,10 @@ index 83cc8778ca1e..0ea0d0be74a1 100644 } } -+skip_encap: - if (info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) { ++ skip_encap: + if (!noque_offchan && info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) { if (!ath10k_mac_tx_frm_has_freq(ar)) { - ath10k_dbg(ar, ATH10K_DBG_MAC, "queued offchannel skb %pK\n", + ath10k_dbg(ar, ATH10K_DBG_MAC, "mac queued offchannel skb %pK len %d\n", @@ -3704,6 +3719,7 @@ int ret; unsigned long time_left; @@ -176,8 +176,8 @@ index 83cc8778ca1e..0ea0d0be74a1 100644 /* FW requirement: We must create a peer before FW will send out * an offchannel frame. Otherwise the frame will be stuck and @@ -3723,8 +3739,15 @@ - ath10k_dbg(ar, ATH10K_DBG_MAC, "mac offchannel skb %pK\n", - skb); + ath10k_dbg(ar, ATH10K_DBG_MAC, "mac offchannel skb %pK len %d\n", + skb, skb->len); - hdr = (struct ieee80211_hdr *)skb->data; - peer_addr = ieee80211_get_DA(hdr); @@ -279,7 +279,7 @@ diff --git a/drivers/net/wireless/ath/ath10k/txrx.c b/drivers/net/wireless/ath/a index 39abf8b12903..1d8a6c2571a1 100644 --- a/drivers/net/wireless/ath/ath10k/txrx.c +++ b/drivers/net/wireless/ath/ath10k/txrx.c -@@ -50,6 +50,8 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt, +@@ -60,6 +60,8 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt, struct ath10k_skb_cb *skb_cb; struct ath10k_txq *artxq; struct sk_buff *msdu; @@ -288,7 +288,7 @@ index 39abf8b12903..1d8a6c2571a1 100644 ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx completion msdu_id %u status %d\n", -@@ -78,6 +80,9 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt, +@@ -88,6 +90,9 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt, artxq->num_fw_queued--; } @@ -298,9 +298,9 @@ index 39abf8b12903..1d8a6c2571a1 100644 ath10k_htt_tx_free_msdu_id(htt, tx_done->msdu_id); ath10k_htt_tx_dec_pending(htt); if (htt->num_pending_tx == 0) -@@ -123,7 +128,11 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt, - info->status.is_valid_ack_signal = true; - } +@@ -119,7 +124,11 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt, + (info->flags & IEEE80211_TX_CTL_NO_ACK)) + info->flags |= IEEE80211_TX_STAT_NOACK_TRANSMITTED; - ieee80211_tx_status(htt->ar->hw, msdu); + if (flags & ATH10K_SKB_F_HW_80211_ENCAP) @@ -310,4 +310,4 @@ index 39abf8b12903..1d8a6c2571a1 100644 + /* we do not own the msdu anymore */ - return 0; \ No newline at end of file + return 0; diff --git a/target/linux/ipq40xx/patches-4.19/854-add-sdhci-reset-implementation.patch b/target/linux/ipq40xx/patches-4.19/854-add-sdhci-reset-implementation.patch deleted file mode 100644 index 2ce2bc624..000000000 --- a/target/linux/ipq40xx/patches-4.19/854-add-sdhci-reset-implementation.patch +++ /dev/null @@ -1,57 +0,0 @@ -From: Georgi Djakov -Date: Mon, 28 Nov 2016 19:39:20 +0200 -Subject: [PATCH v2] mmc: sdhci-msm: Add sdhci_reset() implementation - -Signed-off-by: Georgi Djakov ---- - -drivers/mmc/host/sdhci-msm.c | 29 ++++++++++++++++++++++++++++- -1 file changed, 28 insertions(+), 1 deletion(-) - -diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c -index 32879b845b75..157ae07f9309 100644 ---- a/drivers/mmc/host/sdhci-msm.c -+++ b/drivers/mmc/host/sdhci-msm.c -@@ -1531,6 +1531,33 @@ static void sdhci_msm_set_clock(struct sdhci_host *host, unsigned int clock) - __sdhci_msm_set_clock(host, clock); - } - -+void sdhci_msm_reset(struct sdhci_host *host, u8 mask) -+{ -+ unsigned long timeout = 100; -+ -+ sdhci_writeb(host, mask, SDHCI_SOFTWARE_RESET); -+ -+ if (mask & SDHCI_RESET_ALL) { -+ host->clock = 0; -+ -+ /* -+ * SDHCI_RESET_ALL triggers the PWR IRQ -+ * and we need to handle it here. -+ */ -+ sdhci_msm_dump_pwr_ctrl_regs(host); -+ } -+ -+ while (sdhci_readb(host, SDHCI_SOFTWARE_RESET) & mask) { -+ if (timeout == 0) { -+ pr_err("%s: Reset 0x%x never completed.\n", -+ mmc_hostname(host->mmc), (int)mask); -+ return; -+ } -+ timeout--; -+ mdelay(1); -+ } -+} -+ - /* - * Platform specific register write functions. This is so that, if any - * register write needs to be followed up by platform specific actions, -@@ -1680,7 +1706,7 @@ static const struct of_device_id sdhci_msm_dt_match[] = { - MODULE_DEVICE_TABLE(of, sdhci_msm_dt_match); - - static const struct sdhci_ops sdhci_msm_ops = { -- .reset = sdhci_reset, -+ .reset = sdhci_msm_reset, - .set_clock = sdhci_set_clock, - .get_min_clock = sdhci_msm_get_min_clock, - .get_max_clock = sdhci_msm_get_max_clock, diff --git a/target/linux/ipq806x/config-4.19 b/target/linux/ipq806x/config-4.19 index e85be2076..f4c27d7ae 100644 --- a/target/linux/ipq806x/config-4.19 +++ b/target/linux/ipq806x/config-4.19 @@ -56,7 +56,7 @@ CONFIG_ARM_L1_CACHE_SHIFT_6=y # CONFIG_ARM_LPAE is not set CONFIG_ARM_PATCH_IDIV=y CONFIG_ARM_PATCH_PHYS_VIRT=y -CONFIG_ARM_QCOM_CPUFREQ=y +CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y CONFIG_ARM_QCOM_CPUIDLE=y # CONFIG_ARM_SMMU is not set # CONFIG_ARM_SP805_WATCHDOG is not set @@ -64,6 +64,7 @@ CONFIG_ARM_THUMB=y # CONFIG_ARM_THUMBEE is not set CONFIG_ARM_UNWIND=y CONFIG_ARM_VIRT_EXT=y +CONFIG_ARM_MODULE_PLTS=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_MQ_PCI=y CONFIG_BOUNCE=y @@ -116,17 +117,11 @@ CONFIG_CRC32_SLICEBY8=y CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_DES=y -CONFIG_CRYPTO_DEV_QCE=y CONFIG_CRYPTO_DEV_QCOM_RNG=y CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_DRBG_HMAC=y CONFIG_CRYPTO_DRBG_MENU=y -CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_HMAC=y @@ -135,15 +130,12 @@ CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y -CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_RNG_DEFAULT=y -CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_WORKQUEUE=y -CONFIG_CRYPTO_XTS=y CONFIG_DCACHE_WORD_ACCESS=y CONFIG_DEBUG_GPIO=y CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" @@ -330,9 +322,8 @@ CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEON=y CONFIG_NET_DSA=y -# CONFIG_NET_DSA_LEGACY is not set +CONFIG_NET_DSA_HWMON=y CONFIG_NET_DSA_QCA8K=y -# CONFIG_NET_DSA_REALTEK_SMI is not set CONFIG_NET_DSA_TAG_QCA=y # CONFIG_NET_DSA_VITESSE_VSC73XX is not set CONFIG_NET_FLOW_LIMIT=y @@ -360,6 +351,7 @@ CONFIG_OLD_SIGSUSPEND3=y CONFIG_PADATA=y CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_PCI=y +# CONFIG_PCI_V3_SEMI is not set CONFIG_PCIEAER=y CONFIG_PCIEPORTBUS=y CONFIG_PCIE_DW=y @@ -376,7 +368,7 @@ CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PHYLINK=y # CONFIG_PHY_QCOM_APQ8064_SATA is not set -CONFIG_PHY_QCOM_DWC3=y +# CONFIG_PHY_QCOM_DWC3 is not set CONFIG_PHY_QCOM_IPQ806X_SATA=y # CONFIG_PHY_QCOM_QMP is not set # CONFIG_PHY_QCOM_QUSB2 is not set @@ -461,7 +453,6 @@ CONFIG_SERIAL_8250_FSL=y # CONFIG_SERIAL_AMBA_PL011 is not set CONFIG_SERIAL_MSM=y CONFIG_SERIAL_MSM_CONSOLE=y -# CONFIG_SFP is not set CONFIG_SGL_ALLOC=y CONFIG_SMP=y CONFIG_SMP_ON_UP=y diff --git a/target/linux/ipq806x/patches-4.19/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch b/target/linux/ipq806x/patches-4.19/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch index a7cfac544..a7e95513f 100644 --- a/target/linux/ipq806x/patches-4.19/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch +++ b/target/linux/ipq806x/patches-4.19/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch @@ -18,7 +18,7 @@ Signed-off-by: Ram Chandra Jangir --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig -@@ -194,6 +194,13 @@ config MTD_MYLOADER_PARTS +@@ -193,6 +193,13 @@ config MTD_MYLOADER_PARTS You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. diff --git a/target/linux/ipq806x/patches-4.19/0032-phy-add-qcom-dwc3-phy.patch b/target/linux/ipq806x/patches-4.19/0032-phy-add-qcom-dwc3-phy.patch index 397054d4c..0de0878f8 100644 --- a/target/linux/ipq806x/patches-4.19/0032-phy-add-qcom-dwc3-phy.patch +++ b/target/linux/ipq806x/patches-4.19/0032-phy-add-qcom-dwc3-phy.patch @@ -8,7 +8,7 @@ Signed-off-by: Andy Gross --- a/drivers/phy/qualcomm/Kconfig +++ b/drivers/phy/qualcomm/Kconfig -@@ -56,3 +56,15 @@ config PHY_QCOM_USB_HSIC +@@ -65,3 +65,15 @@ config PHY_QCOM_USB_HSIC select GENERIC_PHY help Support for the USB HSIC ULPI compliant PHY on QCOM chipsets. @@ -26,7 +26,7 @@ Signed-off-by: Andy Gross + --- a/drivers/phy/qualcomm/Makefile +++ b/drivers/phy/qualcomm/Makefile -@@ -8,3 +8,4 @@ obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom- +@@ -9,3 +9,4 @@ obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom- obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-20nm.o obj-$(CONFIG_PHY_QCOM_USB_HS) += phy-qcom-usb-hs.o obj-$(CONFIG_PHY_QCOM_USB_HSIC) += phy-qcom-usb-hsic.o diff --git a/target/linux/ipq806x/patches-4.19/0034-0001-ARM-Add-Krait-L2-register-accessor-functions.patch b/target/linux/ipq806x/patches-4.19/0034-0001-ARM-Add-Krait-L2-register-accessor-functions.patch index 0a6fa0660..68acbeeec 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0001-ARM-Add-Krait-L2-register-accessor-functions.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0001-ARM-Add-Krait-L2-register-accessor-functions.patch @@ -28,8 +28,6 @@ Signed-off-by: Stephen Boyd create mode 100644 arch/arm/common/krait-l2-accessors.c create mode 100644 arch/arm/include/asm/krait-l2-accessors.h -diff --git a/arch/arm/common/Kconfig b/arch/arm/common/Kconfig -index e5ad0708849a..c8e198631d41 100644 --- a/arch/arm/common/Kconfig +++ b/arch/arm/common/Kconfig @@ -7,6 +7,9 @@ config DMABOUNCE @@ -42,8 +40,6 @@ index e5ad0708849a..c8e198631d41 100644 config SHARP_LOCOMO bool -diff --git a/arch/arm/common/Makefile b/arch/arm/common/Makefile -index 3157be413297..219a260bbe5f 100644 --- a/arch/arm/common/Makefile +++ b/arch/arm/common/Makefile @@ -7,6 +7,7 @@ obj-y += firmware.o @@ -54,9 +50,6 @@ index 3157be413297..219a260bbe5f 100644 obj-$(CONFIG_SHARP_LOCOMO) += locomo.o obj-$(CONFIG_SHARP_PARAM) += sharpsl_param.o obj-$(CONFIG_SHARP_SCOOP) += scoop.o -diff --git a/arch/arm/common/krait-l2-accessors.c b/arch/arm/common/krait-l2-accessors.c -new file mode 100644 -index 000000000000..9a97ddadecd6 --- /dev/null +++ b/arch/arm/common/krait-l2-accessors.c @@ -0,0 +1,48 @@ @@ -108,9 +101,6 @@ index 000000000000..9a97ddadecd6 + return val; +} +EXPORT_SYMBOL(krait_get_l2_indirect_reg); -diff --git a/arch/arm/include/asm/krait-l2-accessors.h b/arch/arm/include/asm/krait-l2-accessors.h -new file mode 100644 -index 000000000000..a5f2cdd6445f --- /dev/null +++ b/arch/arm/include/asm/krait-l2-accessors.h @@ -0,0 +1,9 @@ @@ -123,6 +113,3 @@ index 000000000000..a5f2cdd6445f +extern u32 krait_get_l2_indirect_reg(u32 addr); + +#endif --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0002-clk-qcom-Add-support-for-High-Frequency-PLLs-HFPLLs.patch b/target/linux/ipq806x/patches-4.19/0034-0002-clk-qcom-Add-support-for-High-Frequency-PLLs-HFPLLs.patch index b4a7411a9..d43d0c89b 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0002-clk-qcom-Add-support-for-High-Frequency-PLLs-HFPLLs.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0002-clk-qcom-Add-support-for-High-Frequency-PLLs-HFPLLs.patch @@ -18,8 +18,6 @@ Signed-off-by: Stephen Boyd create mode 100644 drivers/clk/qcom/clk-hfpll.c create mode 100644 drivers/clk/qcom/clk-hfpll.h -diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile -index 21a45035930d..7818e6c78413 100644 --- a/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile @@ -11,6 +11,7 @@ clk-qcom-y += clk-branch.o @@ -30,9 +28,6 @@ index 21a45035930d..7818e6c78413 100644 clk-qcom-y += reset.o clk-qcom-$(CONFIG_QCOM_GDSC) += gdsc.o -diff --git a/drivers/clk/qcom/clk-hfpll.c b/drivers/clk/qcom/clk-hfpll.c -new file mode 100644 -index 000000000000..3c04805f2a55 --- /dev/null +++ b/drivers/clk/qcom/clk-hfpll.c @@ -0,0 +1,244 @@ @@ -280,9 +275,6 @@ index 000000000000..3c04805f2a55 + .init = clk_hfpll_init, +}; +EXPORT_SYMBOL_GPL(clk_ops_hfpll); -diff --git a/drivers/clk/qcom/clk-hfpll.h b/drivers/clk/qcom/clk-hfpll.h -new file mode 100644 -index 000000000000..2a57b2fb2f2f --- /dev/null +++ b/drivers/clk/qcom/clk-hfpll.h @@ -0,0 +1,44 @@ @@ -330,6 +322,3 @@ index 000000000000..2a57b2fb2f2f +extern const struct clk_ops clk_ops_hfpll; + +#endif --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0003-clk-qcom-Add-HFPLL-driver.patch b/target/linux/ipq806x/patches-4.19/0034-0003-clk-qcom-Add-HFPLL-driver.patch index 24b61b083..292eb66d6 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0003-clk-qcom-Add-HFPLL-driver.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0003-clk-qcom-Add-HFPLL-driver.patch @@ -20,8 +20,6 @@ Signed-off-by: Stephen Boyd 3 files changed, 105 insertions(+) create mode 100644 drivers/clk/qcom/hfpll.c -diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig -index 064768699fe7..21aec1048225 100644 --- a/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig @@ -272,3 +272,11 @@ config SPMI_PMIC_CLKDIV @@ -36,18 +34,13 @@ index 064768699fe7..21aec1048225 100644 + Support for the high-frequency PLLs present on Qualcomm devices. + Say Y if you want to support CPU frequency scaling on devices + such as MSM8974, APQ8084, etc. -diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile -index 7818e6c78413..f82eeaca278e 100644 --- a/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile -@@ -44,3 +44,4 @@ obj-$(CONFIG_SDM_DISPCC_845) += dispcc-sdm845.o +@@ -44,3 +44,4 @@ obj-$(CONFIG_SDM_DISPCC_845) += dispcc-s obj-$(CONFIG_SDM_GCC_845) += gcc-sdm845.o obj-$(CONFIG_SDM_VIDEOCC_845) += videocc-sdm845.o obj-$(CONFIG_SPMI_PMIC_CLKDIV) += clk-spmi-pmic-div.o +obj-$(CONFIG_QCOM_HFPLL) += hfpll.o -diff --git a/drivers/clk/qcom/hfpll.c b/drivers/clk/qcom/hfpll.c -new file mode 100644 -index 000000000000..a6de7101430c --- /dev/null +++ b/drivers/clk/qcom/hfpll.c @@ -0,0 +1,96 @@ @@ -147,6 +140,3 @@ index 000000000000..a6de7101430c +MODULE_DESCRIPTION("QCOM HFPLL Clock Driver"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:qcom-hfpll"); --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0004-dt-bindings-clock-Document-qcom-hfpll.patch b/target/linux/ipq806x/patches-4.19/0034-0004-dt-bindings-clock-Document-qcom-hfpll.patch index 559e5f5a5..1db989f6d 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0004-dt-bindings-clock-Document-qcom-hfpll.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0004-dt-bindings-clock-Document-qcom-hfpll.patch @@ -16,9 +16,6 @@ Signed-off-by: Stephen Boyd 1 file changed, 60 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/qcom,hfpll.txt -diff --git a/Documentation/devicetree/bindings/clock/qcom,hfpll.txt b/Documentation/devicetree/bindings/clock/qcom,hfpll.txt -new file mode 100644 -index 000000000000..ec02a024424c --- /dev/null +++ b/Documentation/devicetree/bindings/clock/qcom,hfpll.txt @@ -0,0 +1,60 @@ @@ -82,6 +79,3 @@ index 000000000000..ec02a024424c + clock-names = "xo"; + clock-output-names = "hfpll0"; + }; --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0005-clk-qcom-Add-MSM8960-APQ8064-s-HFPLLs.patch b/target/linux/ipq806x/patches-4.19/0034-0005-clk-qcom-Add-MSM8960-APQ8064-s-HFPLLs.patch index 3bc256fa5..5ed5625f2 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0005-clk-qcom-Add-MSM8960-APQ8064-s-HFPLLs.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0005-clk-qcom-Add-MSM8960-APQ8064-s-HFPLLs.patch @@ -15,8 +15,6 @@ Signed-off-by: Stephen Boyd include/dt-bindings/clock/qcom,gcc-msm8960.h | 2 + 2 files changed, 174 insertions(+) -diff --git a/drivers/clk/qcom/gcc-msm8960.c b/drivers/clk/qcom/gcc-msm8960.c -index fd495e0471bb..399474755654 100644 --- a/drivers/clk/qcom/gcc-msm8960.c +++ b/drivers/clk/qcom/gcc-msm8960.c @@ -30,6 +30,7 @@ @@ -192,7 +190,7 @@ index fd495e0471bb..399474755654 100644 static struct clk_pll pll14 = { .l_reg = 0x31c4, .m_reg = 0x31c8, -@@ -3107,6 +3266,9 @@ static struct clk_regmap *gcc_msm8960_clks[] = { +@@ -3107,6 +3266,9 @@ static struct clk_regmap *gcc_msm8960_cl [PMIC_ARB1_H_CLK] = &pmic_arb1_h_clk.clkr, [PMIC_SSBI2_CLK] = &pmic_ssbi2_clk.clkr, [RPM_MSG_RAM_H_CLK] = &rpm_msg_ram_h_clk.clkr, @@ -202,7 +200,7 @@ index fd495e0471bb..399474755654 100644 }; static const struct qcom_reset_map gcc_msm8960_resets[] = { -@@ -3318,6 +3480,11 @@ static struct clk_regmap *gcc_apq8064_clks[] = { +@@ -3318,6 +3480,11 @@ static struct clk_regmap *gcc_apq8064_cl [PMIC_ARB1_H_CLK] = &pmic_arb1_h_clk.clkr, [PMIC_SSBI2_CLK] = &pmic_ssbi2_clk.clkr, [RPM_MSG_RAM_H_CLK] = &rpm_msg_ram_h_clk.clkr, @@ -214,7 +212,7 @@ index fd495e0471bb..399474755654 100644 }; static const struct qcom_reset_map gcc_apq8064_resets[] = { -@@ -3477,6 +3644,11 @@ static int gcc_msm8960_probe(struct platform_device *pdev) +@@ -3477,6 +3644,11 @@ static int gcc_msm8960_probe(struct plat if (ret) return ret; @@ -226,8 +224,6 @@ index fd495e0471bb..399474755654 100644 tsens = platform_device_register_data(&pdev->dev, "qcom-tsens", -1, NULL, 0); if (IS_ERR(tsens)) -diff --git a/include/dt-bindings/clock/qcom,gcc-msm8960.h b/include/dt-bindings/clock/qcom,gcc-msm8960.h -index 7d20eedfee98..e02742fc81cc 100644 --- a/include/dt-bindings/clock/qcom,gcc-msm8960.h +++ b/include/dt-bindings/clock/qcom,gcc-msm8960.h @@ -319,5 +319,7 @@ @@ -238,6 +234,3 @@ index 7d20eedfee98..e02742fc81cc 100644 +#define PLL17 307 #endif --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0006-clk-qcom-Add-IPQ806X-s-HFPLLs.patch b/target/linux/ipq806x/patches-4.19/0034-0006-clk-qcom-Add-IPQ806X-s-HFPLLs.patch index 33911c671..74c66178a 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0006-clk-qcom-Add-IPQ806X-s-HFPLLs.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0006-clk-qcom-Add-IPQ806X-s-HFPLLs.patch @@ -13,8 +13,6 @@ Signed-off-by: Stephen Boyd drivers/clk/qcom/gcc-ipq806x.c | 82 ++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) -diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c -index 5f61225657ab..33d1bc5c6a46 100644 --- a/drivers/clk/qcom/gcc-ipq806x.c +++ b/drivers/clk/qcom/gcc-ipq806x.c @@ -30,6 +30,7 @@ @@ -110,7 +108,7 @@ index 5f61225657ab..33d1bc5c6a46 100644 static struct clk_pll pll14 = { .l_reg = 0x31c4, .m_reg = 0x31c8, -@@ -2797,6 +2876,9 @@ static struct clk_regmap *gcc_ipq806x_clks[] = { +@@ -2798,6 +2877,9 @@ static struct clk_regmap *gcc_ipq806x_cl [UBI32_CORE2_CLK_SRC] = &ubi32_core2_src_clk.clkr, [NSSTCM_CLK_SRC] = &nss_tcm_src.clkr, [NSSTCM_CLK] = &nss_tcm_clk.clkr, @@ -120,6 +118,3 @@ index 5f61225657ab..33d1bc5c6a46 100644 }; static const struct qcom_reset_map gcc_ipq806x_resets[] = { --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0007-clk-qcom-Add-support-for-Krait-clocks.patch b/target/linux/ipq806x/patches-4.19/0034-0007-clk-qcom-Add-support-for-Krait-clocks.patch index bfca13dde..181b91f6e 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0007-clk-qcom-Add-support-for-Krait-clocks.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0007-clk-qcom-Add-support-for-Krait-clocks.patch @@ -24,8 +24,6 @@ Signed-off-by: Stephen Boyd create mode 100644 drivers/clk/qcom/clk-krait.c create mode 100644 drivers/clk/qcom/clk-krait.h -diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig -index 21aec1048225..93f1342f1949 100644 --- a/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig @@ -1,3 +1,7 @@ @@ -36,8 +34,6 @@ index 21aec1048225..93f1342f1949 100644 config QCOM_GDSC bool select PM_GENERIC_DOMAINS if PM -diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile -index f82eeaca278e..506c4cfd775f 100644 --- a/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile @@ -11,6 +11,7 @@ clk-qcom-y += clk-branch.o @@ -48,9 +44,6 @@ index f82eeaca278e..506c4cfd775f 100644 clk-qcom-y += clk-hfpll.o clk-qcom-y += reset.o clk-qcom-$(CONFIG_QCOM_GDSC) += gdsc.o -diff --git a/drivers/clk/qcom/clk-krait.c b/drivers/clk/qcom/clk-krait.c -new file mode 100644 -index 000000000000..2e417678029f --- /dev/null +++ b/drivers/clk/qcom/clk-krait.c @@ -0,0 +1,124 @@ @@ -178,9 +171,6 @@ index 000000000000..2e417678029f + .recalc_rate = krait_div2_recalc_rate, +}; +EXPORT_SYMBOL_GPL(krait_div2_clk_ops); -diff --git a/drivers/clk/qcom/clk-krait.h b/drivers/clk/qcom/clk-krait.h -new file mode 100644 -index 000000000000..441ba1e18b81 --- /dev/null +++ b/drivers/clk/qcom/clk-krait.h @@ -0,0 +1,37 @@ @@ -221,6 +211,3 @@ index 000000000000..441ba1e18b81 +extern const struct clk_ops krait_div2_clk_ops; + +#endif --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0008-clk-qcom-Add-KPSS-ACC-GCC-driver.patch b/target/linux/ipq806x/patches-4.19/0034-0008-clk-qcom-Add-KPSS-ACC-GCC-driver.patch index 9ce63d2de..aa19ea2e3 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0008-clk-qcom-Add-KPSS-ACC-GCC-driver.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0008-clk-qcom-Add-KPSS-ACC-GCC-driver.patch @@ -20,8 +20,6 @@ Signed-off-by: Stephen Boyd 3 files changed, 96 insertions(+) create mode 100644 drivers/clk/qcom/kpss-xcc.c -diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig -index 93f1342f1949..bed7ef4f51a2 100644 --- a/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig @@ -284,3 +284,11 @@ config QCOM_HFPLL @@ -36,19 +34,14 @@ index 93f1342f1949..bed7ef4f51a2 100644 + Support for the Krait ACC and GCC clock controllers. Say Y + if you want to support CPU frequency scaling on devices such + as MSM8960, APQ8064, etc. -diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile -index 506c4cfd775f..92310ee33e9e 100644 --- a/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile -@@ -45,4 +45,5 @@ obj-$(CONFIG_SDM_DISPCC_845) += dispcc-sdm845.o +@@ -45,4 +45,5 @@ obj-$(CONFIG_SDM_DISPCC_845) += dispcc-s obj-$(CONFIG_SDM_GCC_845) += gcc-sdm845.o obj-$(CONFIG_SDM_VIDEOCC_845) += videocc-sdm845.o obj-$(CONFIG_SPMI_PMIC_CLKDIV) += clk-spmi-pmic-div.o +obj-$(CONFIG_KPSS_XCC) += kpss-xcc.o obj-$(CONFIG_QCOM_HFPLL) += hfpll.o -diff --git a/drivers/clk/qcom/kpss-xcc.c b/drivers/clk/qcom/kpss-xcc.c -new file mode 100644 -index 000000000000..8590b5edd19d --- /dev/null +++ b/drivers/clk/qcom/kpss-xcc.c @@ -0,0 +1,87 @@ @@ -139,6 +132,3 @@ index 000000000000..8590b5edd19d +MODULE_DESCRIPTION("Krait Processor Sub System (KPSS) Clock Driver"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:kpss-xcc"); --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0009-dt-bindings-arm-Document-qcom-kpss-gcc.patch b/target/linux/ipq806x/patches-4.19/0034-0009-dt-bindings-arm-Document-qcom-kpss-gcc.patch index 804b67efd..6af40895b 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0009-dt-bindings-arm-Document-qcom-kpss-gcc.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0009-dt-bindings-arm-Document-qcom-kpss-gcc.patch @@ -18,8 +18,6 @@ Signed-off-by: Stephen Boyd 2 files changed, 63 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt -diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt -index 1333db9acfee..7f696362a4a1 100644 --- a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt @@ -21,10 +21,29 @@ PROPERTIES @@ -52,9 +50,6 @@ index 1333db9acfee..7f696362a4a1 100644 + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu0_aux"; }; -diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt -new file mode 100644 -index 000000000000..e628758950e1 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt @@ -0,0 +1,44 @@ @@ -102,6 +97,3 @@ index 000000000000..e628758950e1 + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu_l2_aux"; + }; --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0010-clk-qcom-Add-Krait-clock-controller-driver.patch b/target/linux/ipq806x/patches-4.19/0034-0010-clk-qcom-Add-Krait-clock-controller-driver.patch index 06738b649..7ee1f50f4 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0010-clk-qcom-Add-Krait-clock-controller-driver.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0010-clk-qcom-Add-Krait-clock-controller-driver.patch @@ -22,8 +22,6 @@ Signed-off-by: Stephen Boyd 4 files changed, 352 insertions(+), 2 deletions(-) create mode 100644 drivers/clk/qcom/krait-cc.c -diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig -index bed7ef4f51a2..646bc38d2993 100644 --- a/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig @@ -292,3 +292,11 @@ config KPSS_XCC @@ -38,20 +36,16 @@ index bed7ef4f51a2..646bc38d2993 100644 + help + Support for the Krait CPU clocks on Qualcomm devices. + Say Y if you want to support CPU frequency scaling. -diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile -index 92310ee33e9e..949829b18813 100644 --- a/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile -@@ -47,3 +47,4 @@ obj-$(CONFIG_SDM_VIDEOCC_845) += videocc-sdm845.o +@@ -47,3 +47,4 @@ obj-$(CONFIG_SDM_VIDEOCC_845) += videocc obj-$(CONFIG_SPMI_PMIC_CLKDIV) += clk-spmi-pmic-div.o obj-$(CONFIG_KPSS_XCC) += kpss-xcc.o obj-$(CONFIG_QCOM_HFPLL) += hfpll.o +obj-$(CONFIG_KRAITCC) += krait-cc.o -diff --git a/drivers/clk/qcom/clk-krait.c b/drivers/clk/qcom/clk-krait.c -index 2e417678029f..7ede744c6a14 100644 --- a/drivers/clk/qcom/clk-krait.c +++ b/drivers/clk/qcom/clk-krait.c -@@ -44,7 +44,7 @@ static int krait_mux_set_parent(struct clk_hw *hw, u8 index) +@@ -44,7 +44,7 @@ static int krait_mux_set_parent(struct c struct krait_mux_clk *mux = to_krait_mux_clk(hw); u32 sel; @@ -60,7 +54,7 @@ index 2e417678029f..7ede744c6a14 100644 mux->en_mask = sel; /* Don't touch mux if CPU is off as it won't work */ if (__clk_is_enabled(hw->clk)) -@@ -63,7 +63,7 @@ static u8 krait_mux_get_parent(struct clk_hw *hw) +@@ -63,7 +63,7 @@ static u8 krait_mux_get_parent(struct cl sel &= mux->mask; mux->en_mask = sel; @@ -69,9 +63,6 @@ index 2e417678029f..7ede744c6a14 100644 } const struct clk_ops krait_mux_clk_ops = { -diff --git a/drivers/clk/qcom/krait-cc.c b/drivers/clk/qcom/krait-cc.c -new file mode 100644 -index 000000000000..7c9dfb032065 --- /dev/null +++ b/drivers/clk/qcom/krait-cc.c @@ -0,0 +1,341 @@ @@ -416,6 +407,3 @@ index 000000000000..7c9dfb032065 +MODULE_DESCRIPTION("Krait CPU Clock Driver"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:krait-cc"); --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0011-dt-bindings-clock-Document-qcom-krait-cc.patch b/target/linux/ipq806x/patches-4.19/0034-0011-dt-bindings-clock-Document-qcom-krait-cc.patch index efbe91bd0..13e05c425 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0011-dt-bindings-clock-Document-qcom-krait-cc.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0011-dt-bindings-clock-Document-qcom-krait-cc.patch @@ -16,9 +16,6 @@ Signed-off-by: Stephen Boyd 1 file changed, 34 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/qcom,krait-cc.txt -diff --git a/Documentation/devicetree/bindings/clock/qcom,krait-cc.txt b/Documentation/devicetree/bindings/clock/qcom,krait-cc.txt -new file mode 100644 -index 000000000000..030ba60dab08 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/qcom,krait-cc.txt @@ -0,0 +1,34 @@ @@ -56,6 +53,3 @@ index 000000000000..030ba60dab08 + clock-names = "hfpll0", "hfpll1", "acpu0_aux", "acpu1_aux", "qsb"; + #clock-cells = <1>; + }; --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0034-0012-clk-qcom-Add-safe-switch-hook-for-krait-mux-clocks.patch b/target/linux/ipq806x/patches-4.19/0034-0012-clk-qcom-Add-safe-switch-hook-for-krait-mux-clocks.patch index 7456d14fe..847b4809a 100644 --- a/target/linux/ipq806x/patches-4.19/0034-0012-clk-qcom-Add-safe-switch-hook-for-krait-mux-clocks.patch +++ b/target/linux/ipq806x/patches-4.19/0034-0012-clk-qcom-Add-safe-switch-hook-for-krait-mux-clocks.patch @@ -20,11 +20,9 @@ Signed-off-by: Stephen Boyd drivers/clk/qcom/krait-cc.c | 56 ++++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+) -diff --git a/drivers/clk/qcom/clk-krait.c b/drivers/clk/qcom/clk-krait.c -index 7ede744c6a14..59f1af415b58 100644 --- a/drivers/clk/qcom/clk-krait.c +++ b/drivers/clk/qcom/clk-krait.c -@@ -50,6 +50,8 @@ static int krait_mux_set_parent(struct clk_hw *hw, u8 index) +@@ -50,6 +50,8 @@ static int krait_mux_set_parent(struct c if (__clk_is_enabled(hw->clk)) __krait_mux_set_sel(mux, sel); @@ -33,8 +31,6 @@ index 7ede744c6a14..59f1af415b58 100644 return 0; } -diff --git a/drivers/clk/qcom/clk-krait.h b/drivers/clk/qcom/clk-krait.h -index 441ba1e18b81..9120bd2f5297 100644 --- a/drivers/clk/qcom/clk-krait.h +++ b/drivers/clk/qcom/clk-krait.h @@ -12,6 +12,9 @@ struct krait_mux_clk { @@ -47,8 +43,6 @@ index 441ba1e18b81..9120bd2f5297 100644 struct clk_hw hw; struct notifier_block clk_nb; -diff --git a/drivers/clk/qcom/krait-cc.c b/drivers/clk/qcom/krait-cc.c -index 7c9dfb032065..4d4b657d33c3 100644 --- a/drivers/clk/qcom/krait-cc.c +++ b/drivers/clk/qcom/krait-cc.c @@ -26,6 +26,49 @@ static unsigned int pri_mux_map[] = { @@ -109,7 +103,7 @@ index 7c9dfb032065..4d4b657d33c3 100644 struct krait_mux_clk *mux; static const char *sec_mux_list[] = { "acpu_aux", -@@ -93,6 +137,7 @@ krait_add_sec_mux(struct device *dev, int id, const char *s, +@@ -93,6 +137,7 @@ krait_add_sec_mux(struct device *dev, in mux->shift = 2; mux->parent_map = sec_mux_map; mux->hw.init = &init; @@ -117,7 +111,7 @@ index 7c9dfb032065..4d4b657d33c3 100644 init.name = kasprintf(GFP_KERNEL, "krait%s_sec_mux", s); if (!init.name) -@@ -108,6 +153,11 @@ krait_add_sec_mux(struct device *dev, int id, const char *s, +@@ -108,6 +153,11 @@ krait_add_sec_mux(struct device *dev, in clk = devm_clk_register(dev, &mux->hw); @@ -137,7 +131,7 @@ index 7c9dfb032065..4d4b657d33c3 100644 struct krait_mux_clk *mux; const char *p_names[3]; struct clk_init_data init = { -@@ -139,6 +190,7 @@ krait_add_pri_mux(struct device *dev, int id, const char *s, +@@ -139,6 +190,7 @@ krait_add_pri_mux(struct device *dev, in mux->lpl = id >= 0; mux->parent_map = pri_mux_map; mux->hw.init = &init; @@ -145,7 +139,7 @@ index 7c9dfb032065..4d4b657d33c3 100644 init.name = kasprintf(GFP_KERNEL, "krait%s_pri_mux", s); if (!init.name) -@@ -164,6 +216,10 @@ krait_add_pri_mux(struct device *dev, int id, const char *s, +@@ -164,6 +216,10 @@ krait_add_pri_mux(struct device *dev, in clk = devm_clk_register(dev, &mux->hw); @@ -156,6 +150,3 @@ index 7c9dfb032065..4d4b657d33c3 100644 kfree(p_names[2]); err_p2: kfree(p_names[1]); --- -2.20.1 - diff --git a/target/linux/ipq806x/patches-4.19/0035-qcom-cpufreq-nvmem-qcm-kyrp_make_Some_variables_static.patch b/target/linux/ipq806x/patches-4.19/0035-qcom-cpufreq-nvmem-qcm-kyrp_make_Some_variables_static.patch new file mode 100644 index 000000000..a51153b2a --- /dev/null +++ b/target/linux/ipq806x/patches-4.19/0035-qcom-cpufreq-nvmem-qcm-kyrp_make_Some_variables_static.patch @@ -0,0 +1,25 @@ +From 50c0b12f098fb3cfac7abcc0f2b5409f6bac5fa2 Mon Sep 17 00:00:00 2001 +From: Yangtao Li +Date: Mon, 4 Feb 2019 01:13:10 -0500 +Subject: [PATCH] cpufreq: qcom-kryo: make some variables static + +The variables are local to the source and do not +need to be in global scope, so make them static. + +Signed-off-by: Yangtao Li +Signed-off-by: Viresh Kumar +--- + drivers/cpufreq/qcom-cpufreq-kryo.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/cpufreq/qcom-cpufreq-kryo.c ++++ b/drivers/cpufreq/qcom-cpufreq-kryo.c +@@ -42,7 +42,7 @@ enum _msm8996_version { + NUM_OF_MSM8996_VERSIONS, + }; + +-struct platform_device *cpufreq_dt_pdev, *kryo_cpufreq_pdev; ++static struct platform_device *cpufreq_dt_pdev, *kryo_cpufreq_pdev; + + static enum _msm8996_version qcom_cpufreq_kryo_get_msm_id(void) + { diff --git a/target/linux/ipq806x/patches-4.19/0036-qcom-cpufreq-nvmem-Re-organise-kryo-cpufreq-driver.patch b/target/linux/ipq806x/patches-4.19/0036-qcom-cpufreq-nvmem-Re-organise-kryo-cpufreq-driver.patch new file mode 100644 index 000000000..c7e456961 --- /dev/null +++ b/target/linux/ipq806x/patches-4.19/0036-qcom-cpufreq-nvmem-Re-organise-kryo-cpufreq-driver.patch @@ -0,0 +1,579 @@ +From 7d12709544b8b3fb9727a34a664b8380e1e3493a Mon Sep 17 00:00:00 2001 +From: Sricharan R +Date: Thu, 25 Jul 2019 12:41:31 +0200 +Subject: [PATCH] cpufreq: qcom: Re-organise kryo cpufreq to use it for other + nvmem based qcom socs + +The kryo cpufreq driver reads the nvmem cell and uses that data to +populate the opps. There are other qcom cpufreq socs like krait which +does similar thing. Except for the interpretation of the read data, +rest of the driver is same for both the cases. So pull the common things +out for reuse. + +Signed-off-by: Sricharan R +[niklas.cassel@linaro.org: split dt-binding into a separate patch and +do not rename the compatible string. Update MAINTAINERS file.] +Signed-off-by: Niklas Cassel +Reviewed-by: Ilia Lin +Reviewed-by: Stephen Boyd +Signed-off-by: Viresh Kumar +--- + MAINTAINERS | 4 +- + drivers/cpufreq/Kconfig.arm | 4 +- + drivers/cpufreq/Makefile | 2 +- + ...om-cpufreq-kryo.c => qcom-cpufreq-nvmem.c} | 122 +++++++++++------- + 4 files changed, 78 insertions(+), 54 deletions(-) + rename drivers/cpufreq/{qcom-cpufreq-kryo.c => qcom-cpufreq-nvmem.c} (69%) + +--- a/drivers/cpufreq/Kconfig.arm ++++ b/drivers/cpufreq/Kconfig.arm +@@ -110,8 +110,8 @@ config ARM_OMAP2PLUS_CPUFREQ + depends on ARCH_OMAP2PLUS + default ARCH_OMAP2PLUS + +-config ARM_QCOM_CPUFREQ_KRYO +- tristate "Qualcomm Kryo based CPUFreq" ++config ARM_QCOM_CPUFREQ_NVMEM ++ tristate "Qualcomm nvmem based CPUFreq" + depends on ARM64 + depends on QCOM_QFPROM + depends on QCOM_SMEM +--- a/drivers/cpufreq/Makefile ++++ b/drivers/cpufreq/Makefile +@@ -64,7 +64,7 @@ obj-$(CONFIG_MACH_MVEBU_V7) += mvebu-cp + obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o + obj-$(CONFIG_ARM_PXA2xx_CPUFREQ) += pxa2xx-cpufreq.o + obj-$(CONFIG_PXA3xx) += pxa3xx-cpufreq.o +-obj-$(CONFIG_ARM_QCOM_CPUFREQ_KRYO) += qcom-cpufreq-kryo.o ++obj-$(CONFIG_ARM_QCOM_CPUFREQ_NVMEM) += qcom-cpufreq-nvmem.o + obj-$(CONFIG_ARM_S3C2410_CPUFREQ) += s3c2410-cpufreq.o + obj-$(CONFIG_ARM_S3C2412_CPUFREQ) += s3c2412-cpufreq.o + obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o +--- a/drivers/cpufreq/qcom-cpufreq-kryo.c ++++ /dev/null +@@ -1,249 +0,0 @@ +-// SPDX-License-Identifier: GPL-2.0 +-/* +- * Copyright (c) 2018, The Linux Foundation. All rights reserved. +- */ +- +-/* +- * In Certain QCOM SoCs like apq8096 and msm8996 that have KRYO processors, +- * the CPU frequency subset and voltage value of each OPP varies +- * based on the silicon variant in use. Qualcomm Process Voltage Scaling Tables +- * defines the voltage and frequency value based on the msm-id in SMEM +- * and speedbin blown in the efuse combination. +- * The qcom-cpufreq-kryo driver reads the msm-id and efuse value from the SoC +- * to provide the OPP framework with required information. +- * This is used to determine the voltage and frequency value for each OPP of +- * operating-points-v2 table when it is parsed by the OPP framework. +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-#define MSM_ID_SMEM 137 +- +-enum _msm_id { +- MSM8996V3 = 0xF6ul, +- APQ8096V3 = 0x123ul, +- MSM8996SG = 0x131ul, +- APQ8096SG = 0x138ul, +-}; +- +-enum _msm8996_version { +- MSM8996_V3, +- MSM8996_SG, +- NUM_OF_MSM8996_VERSIONS, +-}; +- +-static struct platform_device *cpufreq_dt_pdev, *kryo_cpufreq_pdev; +- +-static enum _msm8996_version qcom_cpufreq_kryo_get_msm_id(void) +-{ +- size_t len; +- u32 *msm_id; +- enum _msm8996_version version; +- +- msm_id = qcom_smem_get(QCOM_SMEM_HOST_ANY, MSM_ID_SMEM, &len); +- if (IS_ERR(msm_id)) +- return NUM_OF_MSM8996_VERSIONS; +- +- /* The first 4 bytes are format, next to them is the actual msm-id */ +- msm_id++; +- +- switch ((enum _msm_id)*msm_id) { +- case MSM8996V3: +- case APQ8096V3: +- version = MSM8996_V3; +- break; +- case MSM8996SG: +- case APQ8096SG: +- version = MSM8996_SG; +- break; +- default: +- version = NUM_OF_MSM8996_VERSIONS; +- } +- +- return version; +-} +- +-static int qcom_cpufreq_kryo_probe(struct platform_device *pdev) +-{ +- struct opp_table **opp_tables; +- enum _msm8996_version msm8996_version; +- struct nvmem_cell *speedbin_nvmem; +- struct device_node *np; +- struct device *cpu_dev; +- unsigned cpu; +- u8 *speedbin; +- u32 versions; +- size_t len; +- int ret; +- +- cpu_dev = get_cpu_device(0); +- if (!cpu_dev) +- return -ENODEV; +- +- msm8996_version = qcom_cpufreq_kryo_get_msm_id(); +- if (NUM_OF_MSM8996_VERSIONS == msm8996_version) { +- dev_err(cpu_dev, "Not Snapdragon 820/821!"); +- return -ENODEV; +- } +- +- np = dev_pm_opp_of_get_opp_desc_node(cpu_dev); +- if (!np) +- return -ENOENT; +- +- ret = of_device_is_compatible(np, "operating-points-v2-kryo-cpu"); +- if (!ret) { +- of_node_put(np); +- return -ENOENT; +- } +- +- speedbin_nvmem = of_nvmem_cell_get(np, NULL); +- of_node_put(np); +- if (IS_ERR(speedbin_nvmem)) { +- if (PTR_ERR(speedbin_nvmem) != -EPROBE_DEFER) +- dev_err(cpu_dev, "Could not get nvmem cell: %ld\n", +- PTR_ERR(speedbin_nvmem)); +- return PTR_ERR(speedbin_nvmem); +- } +- +- speedbin = nvmem_cell_read(speedbin_nvmem, &len); +- nvmem_cell_put(speedbin_nvmem); +- if (IS_ERR(speedbin)) +- return PTR_ERR(speedbin); +- +- switch (msm8996_version) { +- case MSM8996_V3: +- versions = 1 << (unsigned int)(*speedbin); +- break; +- case MSM8996_SG: +- versions = 1 << ((unsigned int)(*speedbin) + 4); +- break; +- default: +- BUG(); +- break; +- } +- kfree(speedbin); +- +- opp_tables = kcalloc(num_possible_cpus(), sizeof(*opp_tables), GFP_KERNEL); +- if (!opp_tables) +- return -ENOMEM; +- +- for_each_possible_cpu(cpu) { +- cpu_dev = get_cpu_device(cpu); +- if (NULL == cpu_dev) { +- ret = -ENODEV; +- goto free_opp; +- } +- +- opp_tables[cpu] = dev_pm_opp_set_supported_hw(cpu_dev, +- &versions, 1); +- if (IS_ERR(opp_tables[cpu])) { +- ret = PTR_ERR(opp_tables[cpu]); +- dev_err(cpu_dev, "Failed to set supported hardware\n"); +- goto free_opp; +- } +- } +- +- cpufreq_dt_pdev = platform_device_register_simple("cpufreq-dt", -1, +- NULL, 0); +- if (!IS_ERR(cpufreq_dt_pdev)) { +- platform_set_drvdata(pdev, opp_tables); +- return 0; +- } +- +- ret = PTR_ERR(cpufreq_dt_pdev); +- dev_err(cpu_dev, "Failed to register platform device\n"); +- +-free_opp: +- for_each_possible_cpu(cpu) { +- if (IS_ERR_OR_NULL(opp_tables[cpu])) +- break; +- dev_pm_opp_put_supported_hw(opp_tables[cpu]); +- } +- kfree(opp_tables); +- +- return ret; +-} +- +-static int qcom_cpufreq_kryo_remove(struct platform_device *pdev) +-{ +- struct opp_table **opp_tables = platform_get_drvdata(pdev); +- unsigned int cpu; +- +- platform_device_unregister(cpufreq_dt_pdev); +- +- for_each_possible_cpu(cpu) +- dev_pm_opp_put_supported_hw(opp_tables[cpu]); +- +- kfree(opp_tables); +- +- return 0; +-} +- +-static struct platform_driver qcom_cpufreq_kryo_driver = { +- .probe = qcom_cpufreq_kryo_probe, +- .remove = qcom_cpufreq_kryo_remove, +- .driver = { +- .name = "qcom-cpufreq-kryo", +- }, +-}; +- +-static const struct of_device_id qcom_cpufreq_kryo_match_list[] __initconst = { +- { .compatible = "qcom,apq8096", }, +- { .compatible = "qcom,msm8996", }, +- {} +-}; +- +-/* +- * Since the driver depends on smem and nvmem drivers, which may +- * return EPROBE_DEFER, all the real activity is done in the probe, +- * which may be defered as well. The init here is only registering +- * the driver and the platform device. +- */ +-static int __init qcom_cpufreq_kryo_init(void) +-{ +- struct device_node *np = of_find_node_by_path("/"); +- const struct of_device_id *match; +- int ret; +- +- if (!np) +- return -ENODEV; +- +- match = of_match_node(qcom_cpufreq_kryo_match_list, np); +- of_node_put(np); +- if (!match) +- return -ENODEV; +- +- ret = platform_driver_register(&qcom_cpufreq_kryo_driver); +- if (unlikely(ret < 0)) +- return ret; +- +- kryo_cpufreq_pdev = platform_device_register_simple( +- "qcom-cpufreq-kryo", -1, NULL, 0); +- ret = PTR_ERR_OR_ZERO(kryo_cpufreq_pdev); +- if (0 == ret) +- return 0; +- +- platform_driver_unregister(&qcom_cpufreq_kryo_driver); +- return ret; +-} +-module_init(qcom_cpufreq_kryo_init); +- +-static void __exit qcom_cpufreq_kryo_exit(void) +-{ +- platform_device_unregister(kryo_cpufreq_pdev); +- platform_driver_unregister(&qcom_cpufreq_kryo_driver); +-} +-module_exit(qcom_cpufreq_kryo_exit); +- +-MODULE_DESCRIPTION("Qualcomm Technologies, Inc. Kryo CPUfreq driver"); +-MODULE_LICENSE("GPL v2"); +--- /dev/null ++++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c +@@ -0,0 +1,273 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Copyright (c) 2018, The Linux Foundation. All rights reserved. ++ */ ++ ++/* ++ * In Certain QCOM SoCs like apq8096 and msm8996 that have KRYO processors, ++ * the CPU frequency subset and voltage value of each OPP varies ++ * based on the silicon variant in use. Qualcomm Process Voltage Scaling Tables ++ * defines the voltage and frequency value based on the msm-id in SMEM ++ * and speedbin blown in the efuse combination. ++ * The qcom-cpufreq-nvmem driver reads the msm-id and efuse value from the SoC ++ * to provide the OPP framework with required information. ++ * This is used to determine the voltage and frequency value for each OPP of ++ * operating-points-v2 table when it is parsed by the OPP framework. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define MSM_ID_SMEM 137 ++ ++enum _msm_id { ++ MSM8996V3 = 0xF6ul, ++ APQ8096V3 = 0x123ul, ++ MSM8996SG = 0x131ul, ++ APQ8096SG = 0x138ul, ++}; ++ ++enum _msm8996_version { ++ MSM8996_V3, ++ MSM8996_SG, ++ NUM_OF_MSM8996_VERSIONS, ++}; ++ ++static struct platform_device *cpufreq_dt_pdev, *cpufreq_pdev; ++ ++static enum _msm8996_version qcom_cpufreq_get_msm_id(void) ++{ ++ size_t len; ++ u32 *msm_id; ++ enum _msm8996_version version; ++ ++ msm_id = qcom_smem_get(QCOM_SMEM_HOST_ANY, MSM_ID_SMEM, &len); ++ if (IS_ERR(msm_id)) ++ return NUM_OF_MSM8996_VERSIONS; ++ ++ /* The first 4 bytes are format, next to them is the actual msm-id */ ++ msm_id++; ++ ++ switch ((enum _msm_id)*msm_id) { ++ case MSM8996V3: ++ case APQ8096V3: ++ version = MSM8996_V3; ++ break; ++ case MSM8996SG: ++ case APQ8096SG: ++ version = MSM8996_SG; ++ break; ++ default: ++ version = NUM_OF_MSM8996_VERSIONS; ++ } ++ ++ return version; ++} ++ ++static int qcom_cpufreq_kryo_name_version(struct device *cpu_dev, ++ struct nvmem_cell *speedbin_nvmem, ++ u32 *versions) ++{ ++ size_t len; ++ u8 *speedbin; ++ enum _msm8996_version msm8996_version; ++ ++ msm8996_version = qcom_cpufreq_get_msm_id(); ++ if (NUM_OF_MSM8996_VERSIONS == msm8996_version) { ++ dev_err(cpu_dev, "Not Snapdragon 820/821!"); ++ return -ENODEV; ++ } ++ ++ speedbin = nvmem_cell_read(speedbin_nvmem, &len); ++ if (IS_ERR(speedbin)) ++ return PTR_ERR(speedbin); ++ ++ switch (msm8996_version) { ++ case MSM8996_V3: ++ *versions = 1 << (unsigned int)(*speedbin); ++ break; ++ case MSM8996_SG: ++ *versions = 1 << ((unsigned int)(*speedbin) + 4); ++ break; ++ default: ++ BUG(); ++ break; ++ } ++ ++ kfree(speedbin); ++ return 0; ++} ++ ++static int qcom_cpufreq_probe(struct platform_device *pdev) ++{ ++ struct opp_table **opp_tables; ++ int (*get_version)(struct device *cpu_dev, ++ struct nvmem_cell *speedbin_nvmem, ++ u32 *versions); ++ struct nvmem_cell *speedbin_nvmem; ++ struct device_node *np; ++ struct device *cpu_dev; ++ unsigned cpu; ++ u32 versions; ++ const struct of_device_id *match; ++ int ret; ++ ++ cpu_dev = get_cpu_device(0); ++ if (!cpu_dev) ++ return -ENODEV; ++ ++ match = pdev->dev.platform_data; ++ get_version = match->data; ++ if (!get_version) ++ return -ENODEV; ++ ++ np = dev_pm_opp_of_get_opp_desc_node(cpu_dev); ++ if (!np) ++ return -ENOENT; ++ ++ ret = of_device_is_compatible(np, "operating-points-v2-kryo-cpu"); ++ if (!ret) { ++ of_node_put(np); ++ return -ENOENT; ++ } ++ ++ speedbin_nvmem = of_nvmem_cell_get(np, NULL); ++ of_node_put(np); ++ if (IS_ERR(speedbin_nvmem)) { ++ if (PTR_ERR(speedbin_nvmem) != -EPROBE_DEFER) ++ dev_err(cpu_dev, "Could not get nvmem cell: %ld\n", ++ PTR_ERR(speedbin_nvmem)); ++ return PTR_ERR(speedbin_nvmem); ++ } ++ ++ ret = get_version(cpu_dev, speedbin_nvmem, &versions); ++ nvmem_cell_put(speedbin_nvmem); ++ if (ret) ++ return ret; ++ ++ opp_tables = kcalloc(num_possible_cpus(), sizeof(*opp_tables), GFP_KERNEL); ++ if (!opp_tables) ++ return -ENOMEM; ++ ++ for_each_possible_cpu(cpu) { ++ cpu_dev = get_cpu_device(cpu); ++ if (NULL == cpu_dev) { ++ ret = -ENODEV; ++ goto free_opp; ++ } ++ ++ opp_tables[cpu] = dev_pm_opp_set_supported_hw(cpu_dev, ++ &versions, 1); ++ if (IS_ERR(opp_tables[cpu])) { ++ ret = PTR_ERR(opp_tables[cpu]); ++ dev_err(cpu_dev, "Failed to set supported hardware\n"); ++ goto free_opp; ++ } ++ } ++ ++ cpufreq_dt_pdev = platform_device_register_simple("cpufreq-dt", -1, ++ NULL, 0); ++ if (!IS_ERR(cpufreq_dt_pdev)) { ++ platform_set_drvdata(pdev, opp_tables); ++ return 0; ++ } ++ ++ ret = PTR_ERR(cpufreq_dt_pdev); ++ dev_err(cpu_dev, "Failed to register platform device\n"); ++ ++free_opp: ++ for_each_possible_cpu(cpu) { ++ if (IS_ERR_OR_NULL(opp_tables[cpu])) ++ break; ++ dev_pm_opp_put_supported_hw(opp_tables[cpu]); ++ } ++ kfree(opp_tables); ++ ++ return ret; ++} ++ ++static int qcom_cpufreq_remove(struct platform_device *pdev) ++{ ++ struct opp_table **opp_tables = platform_get_drvdata(pdev); ++ unsigned int cpu; ++ ++ platform_device_unregister(cpufreq_dt_pdev); ++ ++ for_each_possible_cpu(cpu) ++ dev_pm_opp_put_supported_hw(opp_tables[cpu]); ++ ++ kfree(opp_tables); ++ ++ return 0; ++} ++ ++static struct platform_driver qcom_cpufreq_driver = { ++ .probe = qcom_cpufreq_probe, ++ .remove = qcom_cpufreq_remove, ++ .driver = { ++ .name = "qcom-cpufreq-nvmem", ++ }, ++}; ++ ++static const struct of_device_id qcom_cpufreq_match_list[] __initconst = { ++ { .compatible = "qcom,apq8096", ++ .data = qcom_cpufreq_kryo_name_version }, ++ { .compatible = "qcom,msm8996", ++ .data = qcom_cpufreq_kryo_name_version }, ++ {}, ++}; ++ ++/* ++ * Since the driver depends on smem and nvmem drivers, which may ++ * return EPROBE_DEFER, all the real activity is done in the probe, ++ * which may be defered as well. The init here is only registering ++ * the driver and the platform device. ++ */ ++static int __init qcom_cpufreq_init(void) ++{ ++ struct device_node *np = of_find_node_by_path("/"); ++ const struct of_device_id *match; ++ int ret; ++ ++ if (!np) ++ return -ENODEV; ++ ++ match = of_match_node(qcom_cpufreq_match_list, np); ++ of_node_put(np); ++ if (!match) ++ return -ENODEV; ++ ++ ret = platform_driver_register(&qcom_cpufreq_driver); ++ if (unlikely(ret < 0)) ++ return ret; ++ ++ cpufreq_pdev = platform_device_register_data(NULL, "qcom-cpufreq-nvmem", ++ -1, match, sizeof(*match)); ++ ret = PTR_ERR_OR_ZERO(cpufreq_pdev); ++ if (0 == ret) ++ return 0; ++ ++ platform_driver_unregister(&qcom_cpufreq_driver); ++ return ret; ++} ++module_init(qcom_cpufreq_init); ++ ++static void __exit qcom_cpufreq_exit(void) ++{ ++ platform_device_unregister(cpufreq_pdev); ++ platform_driver_unregister(&qcom_cpufreq_driver); ++} ++module_exit(qcom_cpufreq_exit); ++ ++MODULE_DESCRIPTION("Qualcomm Technologies, Inc. CPUfreq driver"); ++MODULE_LICENSE("GPL v2"); diff --git a/target/linux/ipq806x/patches-4.19/0037-qcom-cpufreq-nvmem-Refactor-the-driver.patch b/target/linux/ipq806x/patches-4.19/0037-qcom-cpufreq-nvmem-Refactor-the-driver.patch new file mode 100644 index 000000000..d00b2ccfc --- /dev/null +++ b/target/linux/ipq806x/patches-4.19/0037-qcom-cpufreq-nvmem-Refactor-the-driver.patch @@ -0,0 +1,241 @@ +From 57f2f8b4aa0c6b41a284da82bfa40dc3b2abe9a5 Mon Sep 17 00:00:00 2001 +From: Niklas Cassel +Date: Thu, 25 Jul 2019 12:41:33 +0200 +Subject: [PATCH] cpufreq: qcom: Refactor the driver to make it easier to + extend + +Refactor the driver to make it easier to extend in a later commit. + +Create a driver struct to collect all common resources, in order to make +it easier to free up all common resources. +Create a driver match_data struct to make it easier to extend the driver +with support for new features that might only be supported on certain SoCs. + +Co-developed-by: Jorge Ramirez-Ortiz +Signed-off-by: Jorge Ramirez-Ortiz +Signed-off-by: Niklas Cassel +Reviewed-by: Ilia Lin +Signed-off-by: Viresh Kumar +--- + drivers/cpufreq/qcom-cpufreq-nvmem.c | 123 +++++++++++++++++---------- + 1 file changed, 79 insertions(+), 44 deletions(-) + +--- a/drivers/cpufreq/qcom-cpufreq-nvmem.c ++++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c +@@ -43,6 +43,20 @@ enum _msm8996_version { + NUM_OF_MSM8996_VERSIONS, + }; + ++struct qcom_cpufreq_drv; ++ ++struct qcom_cpufreq_match_data { ++ int (*get_version)(struct device *cpu_dev, ++ struct nvmem_cell *speedbin_nvmem, ++ struct qcom_cpufreq_drv *drv); ++}; ++ ++struct qcom_cpufreq_drv { ++ struct opp_table **opp_tables; ++ u32 versions; ++ const struct qcom_cpufreq_match_data *data; ++}; ++ + static struct platform_device *cpufreq_dt_pdev, *cpufreq_pdev; + + static enum _msm8996_version qcom_cpufreq_get_msm_id(void) +@@ -76,7 +90,7 @@ static enum _msm8996_version qcom_cpufre + + static int qcom_cpufreq_kryo_name_version(struct device *cpu_dev, + struct nvmem_cell *speedbin_nvmem, +- u32 *versions) ++ struct qcom_cpufreq_drv *drv) + { + size_t len; + u8 *speedbin; +@@ -94,10 +108,10 @@ static int qcom_cpufreq_kryo_name_versio + + switch (msm8996_version) { + case MSM8996_V3: +- *versions = 1 << (unsigned int)(*speedbin); ++ drv->versions = 1 << (unsigned int)(*speedbin); + break; + case MSM8996_SG: +- *versions = 1 << ((unsigned int)(*speedbin) + 4); ++ drv->versions = 1 << ((unsigned int)(*speedbin) + 4); + break; + default: + BUG(); +@@ -108,17 +122,17 @@ static int qcom_cpufreq_kryo_name_versio + return 0; + } + ++static const struct qcom_cpufreq_match_data match_data_kryo = { ++ .get_version = qcom_cpufreq_kryo_name_version, ++}; ++ + static int qcom_cpufreq_probe(struct platform_device *pdev) + { +- struct opp_table **opp_tables; +- int (*get_version)(struct device *cpu_dev, +- struct nvmem_cell *speedbin_nvmem, +- u32 *versions); ++ struct qcom_cpufreq_drv *drv; + struct nvmem_cell *speedbin_nvmem; + struct device_node *np; + struct device *cpu_dev; + unsigned cpu; +- u32 versions; + const struct of_device_id *match; + int ret; + +@@ -126,11 +140,6 @@ static int qcom_cpufreq_probe(struct pla + if (!cpu_dev) + return -ENODEV; + +- match = pdev->dev.platform_data; +- get_version = match->data; +- if (!get_version) +- return -ENODEV; +- + np = dev_pm_opp_of_get_opp_desc_node(cpu_dev); + if (!np) + return -ENOENT; +@@ -141,23 +150,43 @@ static int qcom_cpufreq_probe(struct pla + return -ENOENT; + } + +- speedbin_nvmem = of_nvmem_cell_get(np, NULL); +- of_node_put(np); +- if (IS_ERR(speedbin_nvmem)) { +- if (PTR_ERR(speedbin_nvmem) != -EPROBE_DEFER) +- dev_err(cpu_dev, "Could not get nvmem cell: %ld\n", +- PTR_ERR(speedbin_nvmem)); +- return PTR_ERR(speedbin_nvmem); ++ drv = kzalloc(sizeof(*drv), GFP_KERNEL); ++ if (!drv) ++ return -ENOMEM; ++ ++ match = pdev->dev.platform_data; ++ drv->data = match->data; ++ if (!drv->data) { ++ ret = -ENODEV; ++ goto free_drv; + } + +- ret = get_version(cpu_dev, speedbin_nvmem, &versions); +- nvmem_cell_put(speedbin_nvmem); +- if (ret) +- return ret; ++ if (drv->data->get_version) { ++ speedbin_nvmem = of_nvmem_cell_get(np, NULL); ++ if (IS_ERR(speedbin_nvmem)) { ++ if (PTR_ERR(speedbin_nvmem) != -EPROBE_DEFER) ++ dev_err(cpu_dev, ++ "Could not get nvmem cell: %ld\n", ++ PTR_ERR(speedbin_nvmem)); ++ ret = PTR_ERR(speedbin_nvmem); ++ goto free_drv; ++ } + +- opp_tables = kcalloc(num_possible_cpus(), sizeof(*opp_tables), GFP_KERNEL); +- if (!opp_tables) +- return -ENOMEM; ++ ret = drv->data->get_version(cpu_dev, speedbin_nvmem, drv); ++ if (ret) { ++ nvmem_cell_put(speedbin_nvmem); ++ goto free_drv; ++ } ++ nvmem_cell_put(speedbin_nvmem); ++ } ++ of_node_put(np); ++ ++ drv->opp_tables = kcalloc(num_possible_cpus(), sizeof(*drv->opp_tables), ++ GFP_KERNEL); ++ if (!drv->opp_tables) { ++ ret = -ENOMEM; ++ goto free_drv; ++ } + + for_each_possible_cpu(cpu) { + cpu_dev = get_cpu_device(cpu); +@@ -166,19 +195,23 @@ static int qcom_cpufreq_probe(struct pla + goto free_opp; + } + +- opp_tables[cpu] = dev_pm_opp_set_supported_hw(cpu_dev, +- &versions, 1); +- if (IS_ERR(opp_tables[cpu])) { +- ret = PTR_ERR(opp_tables[cpu]); +- dev_err(cpu_dev, "Failed to set supported hardware\n"); +- goto free_opp; ++ if (drv->data->get_version) { ++ drv->opp_tables[cpu] = ++ dev_pm_opp_set_supported_hw(cpu_dev, ++ &drv->versions, 1); ++ if (IS_ERR(drv->opp_tables[cpu])) { ++ ret = PTR_ERR(drv->opp_tables[cpu]); ++ dev_err(cpu_dev, ++ "Failed to set supported hardware\n"); ++ goto free_opp; ++ } + } + } + + cpufreq_dt_pdev = platform_device_register_simple("cpufreq-dt", -1, + NULL, 0); + if (!IS_ERR(cpufreq_dt_pdev)) { +- platform_set_drvdata(pdev, opp_tables); ++ platform_set_drvdata(pdev, drv); + return 0; + } + +@@ -187,26 +220,30 @@ static int qcom_cpufreq_probe(struct pla + + free_opp: + for_each_possible_cpu(cpu) { +- if (IS_ERR_OR_NULL(opp_tables[cpu])) ++ if (IS_ERR_OR_NULL(drv->opp_tables[cpu])) + break; +- dev_pm_opp_put_supported_hw(opp_tables[cpu]); ++ dev_pm_opp_put_supported_hw(drv->opp_tables[cpu]); + } +- kfree(opp_tables); ++ kfree(drv->opp_tables); ++free_drv: ++ kfree(drv); + + return ret; + } + + static int qcom_cpufreq_remove(struct platform_device *pdev) + { +- struct opp_table **opp_tables = platform_get_drvdata(pdev); ++ struct qcom_cpufreq_drv *drv = platform_get_drvdata(pdev); + unsigned int cpu; + + platform_device_unregister(cpufreq_dt_pdev); + + for_each_possible_cpu(cpu) +- dev_pm_opp_put_supported_hw(opp_tables[cpu]); ++ if (drv->opp_tables[cpu]) ++ dev_pm_opp_put_supported_hw(drv->opp_tables[cpu]); + +- kfree(opp_tables); ++ kfree(drv->opp_tables); ++ kfree(drv); + + return 0; + } +@@ -220,10 +257,8 @@ static struct platform_driver qcom_cpufr + }; + + static const struct of_device_id qcom_cpufreq_match_list[] __initconst = { +- { .compatible = "qcom,apq8096", +- .data = qcom_cpufreq_kryo_name_version }, +- { .compatible = "qcom,msm8996", +- .data = qcom_cpufreq_kryo_name_version }, ++ { .compatible = "qcom,apq8096", .data = &match_data_kryo }, ++ { .compatible = "qcom,msm8996", .data = &match_data_kryo }, + {}, + }; + diff --git a/target/linux/ipq806x/patches-4.19/0038-qcom-cpufreq-nvmem-Add-support-for-krait-based-socs.patch b/target/linux/ipq806x/patches-4.19/0038-qcom-cpufreq-nvmem-Add-support-for-krait-based-socs.patch new file mode 100644 index 000000000..b8895231d --- /dev/null +++ b/target/linux/ipq806x/patches-4.19/0038-qcom-cpufreq-nvmem-Add-support-for-krait-based-socs.patch @@ -0,0 +1,345 @@ +Subject: [PATCH v12 14/14] cpufreq: qcom: Add support for krait based socs +Date: Tue, 14 Aug 2018 17:42:33 +0530 +Message-Id: <1534248753-2440-15-git-send-email-sricharan@codeaurora.org> +X-Mailer: git-send-email 1.9.1 +In-Reply-To: <1534248753-2440-1-git-send-email-sricharan@codeaurora.org> +References: <1534248753-2440-1-git-send-email-sricharan@codeaurora.org> +Sender: linux-kernel-owner@vger.kernel.org +Precedence: bulk +List-ID: +X-Mailing-List: linux-kernel@vger.kernel.org + +In Certain QCOM SoCs like ipq8064, apq8064, msm8960, msm8974 +that has KRAIT processors the voltage/current value of each OPP +varies based on the silicon variant in use. + +The required OPP related data is determined based on +the efuse value. This is similar to the existing code for +kryo cores. So adding support for krait cores here. + +Signed-off-by: Sricharan R +--- + .../devicetree/bindings/opp/qcom-nvmem-cpufreq.txt | 3 +- + drivers/cpufreq/Kconfig.arm | 2 +- + drivers/cpufreq/cpufreq-dt-platdev.c | 5 + + drivers/cpufreq/qcom-cpufreq-nvmem.c | 151 +++++++++++++++++++-- + 4 files changed, 149 insertions(+), 12 deletions(-) + +# diff --git a/Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt b/Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt +# index 6dcdfcd..7bc0f1a 100644 +# --- a/Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt +# +++ b/Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt +# @@ -19,7 +19,8 @@ In 'cpus' nodes: + +# In 'operating-points-v2' table: +# - compatible: Should be +# - - 'operating-points-v2-qcom-cpu' for apq8096 and msm8996. +# + - 'operating-points-v2-qcom-cpu' for apq8096, msm8996, msm8974, +# + apq8064, msm8960 and ipq8074. +# - nvmem-cells: A phandle pointing to a nvmem-cells node representing the +# efuse registers that has information about the +# speedbin that is used to select the right frequency/voltage +--- a/drivers/cpufreq/Kconfig.arm ++++ b/drivers/cpufreq/Kconfig.arm +@@ -112,7 +112,7 @@ config ARM_OMAP2PLUS_CPUFREQ + + config ARM_QCOM_CPUFREQ_NVMEM + tristate "Qualcomm nvmem based CPUFreq" +- depends on ARM64 ++ depends on ARCH_QCOM + depends on QCOM_QFPROM + depends on QCOM_SMEM + select PM_OPP +--- a/drivers/cpufreq/cpufreq-dt-platdev.c ++++ b/drivers/cpufreq/cpufreq-dt-platdev.c +@@ -128,6 +128,11 @@ static const struct of_device_id blackli + { .compatible = "ti,am43", }, + { .compatible = "ti,dra7", }, + ++ { .compatible = "qcom,ipq8064", }, ++ { .compatible = "qcom,apq8064", }, ++ { .compatible = "qcom,msm8974", }, ++ { .compatible = "qcom,msm8960", }, ++ + { } + }; + +--- a/drivers/cpufreq/qcom-cpufreq-nvmem.c ++++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c +@@ -48,17 +48,92 @@ struct qcom_cpufreq_drv; + struct qcom_cpufreq_match_data { + int (*get_version)(struct device *cpu_dev, + struct nvmem_cell *speedbin_nvmem, ++ char **pvs_name, + struct qcom_cpufreq_drv *drv); + }; + + struct qcom_cpufreq_drv { +- struct opp_table **opp_tables; ++ struct opp_table **opp_tables1; ++ struct opp_table **opp_tables2; + u32 versions; + const struct qcom_cpufreq_match_data *data; + }; + + static struct platform_device *cpufreq_dt_pdev, *cpufreq_pdev; + ++static void get_krait_bin_format_a(int *speed, int *pvs, int *pvs_ver, ++ struct nvmem_cell *pvs_nvmem, u8 *buf) ++{ ++ u32 pte_efuse; ++ ++ pte_efuse = *((u32 *)buf); ++ ++ *speed = pte_efuse & 0xf; ++ if (*speed == 0xf) ++ *speed = (pte_efuse >> 4) & 0xf; ++ ++ if (*speed == 0xf) { ++ *speed = 0; ++ pr_warn("Speed bin: Defaulting to %d\n", *speed); ++ } else { ++ pr_info("Speed bin: %d\n", *speed); ++ } ++ ++ *pvs = (pte_efuse >> 10) & 0x7; ++ if (*pvs == 0x7) ++ *pvs = (pte_efuse >> 13) & 0x7; ++ ++ if (*pvs == 0x7) { ++ *pvs = 0; ++ pr_warn("PVS bin: Defaulting to %d\n", *pvs); ++ } else { ++ pr_info("PVS bin: %d\n", *pvs); ++ } ++} ++ ++static void get_krait_bin_format_b(int *speed, int *pvs, int *pvs_ver, ++ struct nvmem_cell *pvs_nvmem, u8 *buf) ++{ ++ u32 pte_efuse, redundant_sel; ++ ++ pte_efuse = *((u32 *)buf); ++ redundant_sel = (pte_efuse >> 24) & 0x7; ++ *speed = pte_efuse & 0x7; ++ ++ /* 4 bits of PVS are in efuse register bits 31, 8-6. */ ++ *pvs = ((pte_efuse >> 28) & 0x8) | ((pte_efuse >> 6) & 0x7); ++ *pvs_ver = (pte_efuse >> 4) & 0x3; ++ ++ switch (redundant_sel) { ++ case 1: ++ *speed = (pte_efuse >> 27) & 0xf; ++ break; ++ case 2: ++ *pvs = (pte_efuse >> 27) & 0xf; ++ break; ++ } ++ ++ /* Check SPEED_BIN_BLOW_STATUS */ ++ if (pte_efuse & BIT(3)) { ++ pr_info("Speed bin: %d\n", *speed); ++ } else { ++ pr_warn("Speed bin not set. Defaulting to 0!\n"); ++ *speed = 0; ++ } ++ ++ /* Check PVS_BLOW_STATUS */ ++ pte_efuse = *(((u32 *)buf) + 4); ++ pte_efuse &= BIT(21); ++ if (pte_efuse) { ++ pr_info("PVS bin: %d\n", *pvs); ++ } else { ++ pr_warn("PVS bin not set. Defaulting to 0!\n"); ++ *pvs = 0; ++ } ++ ++ pr_info("PVS version: %d\n", *pvs_ver); ++} ++ + static enum _msm8996_version qcom_cpufreq_get_msm_id(void) + { + size_t len; +@@ -90,11 +165,13 @@ static enum _msm8996_version qcom_cpufre + + static int qcom_cpufreq_kryo_name_version(struct device *cpu_dev, + struct nvmem_cell *speedbin_nvmem, ++ char **pvs_name, + struct qcom_cpufreq_drv *drv) + { + size_t len; + u8 *speedbin; + enum _msm8996_version msm8996_version; ++ *pvs_name = NULL; + + msm8996_version = qcom_cpufreq_get_msm_id(); + if (NUM_OF_MSM8996_VERSIONS == msm8996_version) { +@@ -122,16 +199,51 @@ static int qcom_cpufreq_kryo_name_versio + return 0; + } + ++static int qcom_cpufreq_krait_name_version(struct device *cpu_dev, ++ struct nvmem_cell *speedbin_nvmem, ++ char **pvs_name, ++ struct qcom_cpufreq_drv *drv) ++{ ++ int speed = 0, pvs = 0, pvs_ver = 0; ++ u8 *speedbin; ++ size_t len; ++ ++ speedbin = nvmem_cell_read(speedbin_nvmem, &len); ++ if (len == 4) { ++ get_krait_bin_format_a(&speed, &pvs, &pvs_ver, ++ speedbin_nvmem, speedbin); ++ } else if (len == 8) { ++ get_krait_bin_format_b(&speed, &pvs, &pvs_ver, ++ speedbin_nvmem, speedbin); ++ } else { ++ dev_err(cpu_dev, "Unable to read nvmem data. Defaulting to 0!\n"); ++ return -ENODEV; ++ } ++ ++ snprintf(*pvs_name, sizeof("speedXX-pvsXX-vXX"), "speed%d-pvs%d-v%d", ++ speed, pvs, pvs_ver); ++ ++ drv->versions = (1 << speed); ++ ++ kfree(speedbin); ++ return 0; ++} ++ + static const struct qcom_cpufreq_match_data match_data_kryo = { + .get_version = qcom_cpufreq_kryo_name_version, + }; + ++static const struct qcom_cpufreq_match_data match_data_krait = { ++ .get_version = qcom_cpufreq_krait_name_version, ++}; ++ + static int qcom_cpufreq_probe(struct platform_device *pdev) + { + struct qcom_cpufreq_drv *drv; + struct nvmem_cell *speedbin_nvmem; + struct device_node *np; + struct device *cpu_dev; ++ char *pvs_name = "speedXX-pvsXX-vXX"; + unsigned cpu; + const struct of_device_id *match; + int ret; +@@ -144,7 +256,7 @@ static int qcom_cpufreq_probe(struct pla + if (!np) + return -ENOENT; + +- ret = of_device_is_compatible(np, "operating-points-v2-kryo-cpu"); ++ ret = of_device_is_compatible(np, "operating-points-v2-qcom-cpu"); + if (!ret) { + of_node_put(np); + return -ENOENT; +@@ -172,7 +284,7 @@ static int qcom_cpufreq_probe(struct pla + goto free_drv; + } + +- ret = drv->data->get_version(cpu_dev, speedbin_nvmem, drv); ++ ret = drv->data->get_version(cpu_dev, speedbin_nvmem, &pvs_name, drv); + if (ret) { + nvmem_cell_put(speedbin_nvmem); + goto free_drv; +@@ -181,12 +293,18 @@ static int qcom_cpufreq_probe(struct pla + } + of_node_put(np); + +- drv->opp_tables = kcalloc(num_possible_cpus(), sizeof(*drv->opp_tables), ++ drv->opp_tables1 = kcalloc(num_possible_cpus(), sizeof(*drv->opp_tables1), + GFP_KERNEL); +- if (!drv->opp_tables) { ++ if (!drv->opp_tables1) { + ret = -ENOMEM; + goto free_drv; + } ++ drv->opp_tables2 = kcalloc(num_possible_cpus(), sizeof(*drv->opp_tables2), ++ GFP_KERNEL); ++ if (!drv->opp_tables2) { ++ ret = -ENOMEM; ++ goto free_opp1; ++ } + + for_each_possible_cpu(cpu) { + cpu_dev = get_cpu_device(cpu); +@@ -196,11 +314,22 @@ static int qcom_cpufreq_probe(struct pla + } + + if (drv->data->get_version) { +- drv->opp_tables[cpu] = +- dev_pm_opp_set_supported_hw(cpu_dev, ++ ++ if (pvs_name) { ++ drv->opp_tables1[cpu] = dev_pm_opp_set_prop_name(cpu_dev, ++ pvs_name); ++ if (IS_ERR(drv->opp_tables1[cpu])) { ++ ret = PTR_ERR(drv->opp_tables1[cpu]); ++ dev_err(cpu_dev, "Failed to add OPP name %s\n", ++ pvs_name); ++ goto free_opp; ++ } ++ } ++ ++ drv->opp_tables2[cpu] = dev_pm_opp_set_supported_hw(cpu_dev, + &drv->versions, 1); +- if (IS_ERR(drv->opp_tables[cpu])) { +- ret = PTR_ERR(drv->opp_tables[cpu]); ++ if (IS_ERR(drv->opp_tables2[cpu])) { ++ ret = PTR_ERR(drv->opp_tables2[cpu]); + dev_err(cpu_dev, + "Failed to set supported hardware\n"); + goto free_opp; +@@ -220,11 +349,18 @@ static int qcom_cpufreq_probe(struct pla + + free_opp: + for_each_possible_cpu(cpu) { +- if (IS_ERR_OR_NULL(drv->opp_tables[cpu])) ++ if (IS_ERR_OR_NULL(drv->opp_tables1[cpu])) + break; +- dev_pm_opp_put_supported_hw(drv->opp_tables[cpu]); ++ dev_pm_opp_put_prop_name(drv->opp_tables1[cpu]); + } +- kfree(drv->opp_tables); ++ for_each_possible_cpu(cpu) { ++ if (IS_ERR_OR_NULL(drv->opp_tables2[cpu])) ++ break; ++ dev_pm_opp_put_supported_hw(drv->opp_tables2[cpu]); ++ } ++ kfree(drv->opp_tables2); ++free_opp1: ++ kfree(drv->opp_tables1); + free_drv: + kfree(drv); + +@@ -239,10 +375,14 @@ static int qcom_cpufreq_remove(struct pl + platform_device_unregister(cpufreq_dt_pdev); + + for_each_possible_cpu(cpu) +- if (drv->opp_tables[cpu]) +- dev_pm_opp_put_supported_hw(drv->opp_tables[cpu]); ++ if (drv->opp_tables1[cpu]) ++ dev_pm_opp_put_prop_name(drv->opp_tables1[cpu]); ++ for_each_possible_cpu(cpu) ++ if (drv->opp_tables2[cpu]) ++ dev_pm_opp_put_supported_hw(drv->opp_tables2[cpu]); + +- kfree(drv->opp_tables); ++ kfree(drv->opp_tables1); ++ kfree(drv->opp_tables2); + kfree(drv); + + return 0; +@@ -259,6 +399,10 @@ static struct platform_driver qcom_cpufr + static const struct of_device_id qcom_cpufreq_match_list[] __initconst = { + { .compatible = "qcom,apq8096", .data = &match_data_kryo }, + { .compatible = "qcom,msm8996", .data = &match_data_kryo }, ++ { .compatible = "qcom,ipq8064", .data = &match_data_krait }, ++ { .compatible = "qcom,apq8064", .data = &match_data_krait }, ++ { .compatible = "qcom,msm8974", .data = &match_data_krait }, ++ { .compatible = "qcom,msm8960", .data = &match_data_krait }, + {}, + }; + diff --git a/target/linux/ipq806x/patches-4.19/0045-cpufreq-Add-module-to-register-cpufreq-on-Krait-CPUs.patch b/target/linux/ipq806x/patches-4.19/0045-cpufreq-Add-module-to-register-cpufreq-on-Krait-CPUs.patch deleted file mode 100644 index d07ea5c59..000000000 --- a/target/linux/ipq806x/patches-4.19/0045-cpufreq-Add-module-to-register-cpufreq-on-Krait-CPUs.patch +++ /dev/null @@ -1,307 +0,0 @@ -From patchwork Fri Dec 8 09:42:29 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,11/12] cpufreq: Add module to register cpufreq on Krait CPUs -From: Sricharan R -X-Patchwork-Id: 10102075 -Message-Id: <1512726150-7204-12-git-send-email-sricharan@codeaurora.org> -To: mturquette@baylibre.com, sboyd@codeaurora.org, - devicetree@vger.kernel.org, linux-pm@vger.kernel.org, - linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, - viresh.kumar@linaro.org, linux-arm-kernel@lists.infradead.org -Cc: sricharan@codeaurora.org -Date: Fri, 8 Dec 2017 15:12:29 +0530 - -From: Stephen Boyd - -Register a cpufreq-generic device whenever we detect that a -"qcom,krait" compatible CPU is present in DT. - -Cc: -Signed-off-by: Stephen Boyd ---- - .../devicetree/bindings/arm/msm/qcom,pvs.txt | 38 ++++ - drivers/cpufreq/Kconfig.arm | 9 + - drivers/cpufreq/Makefile | 1 + - drivers/cpufreq/qcom-cpufreq.c | 204 +++++++++++++++++++++ - 4 files changed, 252 insertions(+) - create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,pvs.txt - create mode 100644 drivers/cpufreq/qcom-cpufreq.c - ---- /dev/null -+++ b/Documentation/devicetree/bindings/arm/msm/qcom,pvs.txt -@@ -0,0 +1,38 @@ -+Qualcomm Process Voltage Scaling Tables -+ -+The node name is required to be "qcom,pvs". There shall only be one -+such node present in the root of the tree. -+ -+PROPERTIES -+ -+- qcom,pvs-format-a or qcom,pvs-format-b: -+ Usage: required -+ Value type: -+ Definition: Indicates the format of qcom,speedX-pvsY-bin-vZ properties. -+ If qcom,pvs-format-a is used the table is two columns -+ (frequency and voltage in that order). If qcom,pvs-format-b is used the table is three columns (frequency, voltage, -+ and current in that order). -+ -+- qcom,speedX-pvsY-bin-vZ: -+ Usage: required -+ Value type: -+ Definition: The PVS table corresponding to the speed bin X, pvs bin Y, -+ and version Z. -+Example: -+ -+ qcom,pvs { -+ qcom,pvs-format-a; -+ qcom,speed0-pvs0-bin-v0 = -+ < 384000000 950000 >, -+ < 486000000 975000 >, -+ < 594000000 1000000 >, -+ < 702000000 1025000 >, -+ < 810000000 1075000 >, -+ < 918000000 1100000 >, -+ < 1026000000 1125000 >, -+ < 1134000000 1175000 >, -+ < 1242000000 1200000 >, -+ < 1350000000 1225000 >, -+ < 1458000000 1237500 >, -+ < 1512000000 1250000 >; -+ }; ---- a/drivers/cpufreq/Kconfig.arm -+++ b/drivers/cpufreq/Kconfig.arm -@@ -100,6 +100,15 @@ config ARM_OMAP2PLUS_CPUFREQ - depends on ARCH_OMAP2PLUS - default ARCH_OMAP2PLUS - -+config ARM_QCOM_CPUFREQ -+ tristate "Qualcomm based" -+ depends on ARCH_QCOM -+ select PM_OPP -+ help -+ This adds the CPUFreq driver for Qualcomm SoC based boards. -+ -+ If in doubt, say N. -+ - config ARM_S3C_CPUFREQ - bool - help ---- a/drivers/cpufreq/Makefile -+++ b/drivers/cpufreq/Makefile -@@ -62,6 +62,7 @@ obj-$(CONFIG_ARM_MEDIATEK_CPUFREQ) += me - obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o - obj-$(CONFIG_ARM_PXA2xx_CPUFREQ) += pxa2xx-cpufreq.o - obj-$(CONFIG_PXA3xx) += pxa3xx-cpufreq.o -+obj-$(CONFIG_ARM_QCOM_CPUFREQ) += qcom-cpufreq.o - obj-$(CONFIG_ARM_QCOM_CPUFREQ_KRYO) += qcom-cpufreq-kryo.o - obj-$(CONFIG_ARM_S3C2410_CPUFREQ) += s3c2410-cpufreq.o - obj-$(CONFIG_ARM_S3C2412_CPUFREQ) += s3c2412-cpufreq-debugfs.o ---- /dev/null -+++ b/drivers/cpufreq/qcom-cpufreq.c -@@ -0,0 +1,204 @@ -+/* Copyright (c) 2014, The Linux Foundation. All rights reserved. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 and -+ * only version 2 as published by the Free Software Foundation. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include "cpufreq-dt.h" -+ -+static void __init get_krait_bin_format_a(int *speed, int *pvs, int *pvs_ver) -+{ -+ void __iomem *base; -+ u32 pte_efuse; -+ -+ *speed = *pvs = *pvs_ver = 0; -+ -+ base = ioremap(0x007000c0, 4); -+ if (!base) { -+ pr_warn("Unable to read efuse data. Defaulting to 0!\n"); -+ return; -+ } -+ -+ pte_efuse = readl_relaxed(base); -+ iounmap(base); -+ -+ *speed = pte_efuse & 0xf; -+ if (*speed == 0xf) -+ *speed = (pte_efuse >> 4) & 0xf; -+ -+ if (*speed == 0xf) { -+ *speed = 0; -+ pr_warn("Speed bin: Defaulting to %d\n", *speed); -+ } else { -+ pr_info("Speed bin: %d\n", *speed); -+ } -+ -+ *pvs = (pte_efuse >> 10) & 0x7; -+ if (*pvs == 0x7) -+ *pvs = (pte_efuse >> 13) & 0x7; -+ -+ if (*pvs == 0x7) { -+ *pvs = 0; -+ pr_warn("PVS bin: Defaulting to %d\n", *pvs); -+ } else { -+ pr_info("PVS bin: %d\n", *pvs); -+ } -+} -+ -+static void __init get_krait_bin_format_b(int *speed, int *pvs, int *pvs_ver) -+{ -+ u32 pte_efuse, redundant_sel; -+ void __iomem *base; -+ -+ *speed = 0; -+ *pvs = 0; -+ *pvs_ver = 0; -+ -+ base = ioremap(0xfc4b80b0, 8); -+ if (!base) { -+ pr_warn("Unable to read efuse data. Defaulting to 0!\n"); -+ return; -+ } -+ -+ pte_efuse = readl_relaxed(base); -+ redundant_sel = (pte_efuse >> 24) & 0x7; -+ *speed = pte_efuse & 0x7; -+ /* 4 bits of PVS are in efuse register bits 31, 8-6. */ -+ *pvs = ((pte_efuse >> 28) & 0x8) | ((pte_efuse >> 6) & 0x7); -+ *pvs_ver = (pte_efuse >> 4) & 0x3; -+ -+ switch (redundant_sel) { -+ case 1: -+ *speed = (pte_efuse >> 27) & 0xf; -+ break; -+ case 2: -+ *pvs = (pte_efuse >> 27) & 0xf; -+ break; -+ } -+ -+ /* Check SPEED_BIN_BLOW_STATUS */ -+ if (pte_efuse & BIT(3)) { -+ pr_info("Speed bin: %d\n", *speed); -+ } else { -+ pr_warn("Speed bin not set. Defaulting to 0!\n"); -+ *speed = 0; -+ } -+ -+ /* Check PVS_BLOW_STATUS */ -+ pte_efuse = readl_relaxed(base + 0x4) & BIT(21); -+ if (pte_efuse) { -+ pr_info("PVS bin: %d\n", *pvs); -+ } else { -+ pr_warn("PVS bin not set. Defaulting to 0!\n"); -+ *pvs = 0; -+ } -+ -+ pr_info("PVS version: %d\n", *pvs_ver); -+ iounmap(base); -+} -+ -+static int __init qcom_cpufreq_populate_opps(void) -+{ -+ int len, rows, cols, i, k, speed, pvs, pvs_ver; -+ char table_name[] = "qcom,speedXX-pvsXX-bin-vXX"; -+ struct device_node *np; -+ struct device *dev; -+ int cpu = 0; -+ -+ np = of_find_node_by_name(NULL, "qcom,pvs"); -+ if (!np) -+ return -ENODEV; -+ -+ if (of_property_read_bool(np, "qcom,pvs-format-a")) { -+ get_krait_bin_format_a(&speed, &pvs, &pvs_ver); -+ cols = 2; -+ } else if (of_property_read_bool(np, "qcom,pvs-format-b")) { -+ get_krait_bin_format_b(&speed, &pvs, &pvs_ver); -+ cols = 3; -+ } else { -+ return -ENODEV; -+ } -+ -+ snprintf(table_name, sizeof(table_name), -+ "qcom,speed%d-pvs%d-bin-v%d", speed, pvs, pvs_ver); -+ -+ if (!of_find_property(np, table_name, &len)) -+ return -EINVAL; -+ -+ len /= sizeof(u32); -+ if (len % cols || len == 0) -+ return -EINVAL; -+ -+ rows = len / cols; -+ -+ for (i = 0, k = 0; i < rows; i++) { -+ u32 freq, volt; -+ -+ of_property_read_u32_index(np, table_name, k++, &freq); -+ of_property_read_u32_index(np, table_name, k++, &volt); -+ while (k % cols) -+ k++; /* Skip uA entries if present */ -+ for (cpu = 0; cpu < num_possible_cpus(); cpu++) { -+ dev = get_cpu_device(cpu); -+ if (!dev) -+ return -ENODEV; -+ if (dev_pm_opp_add(dev, freq, volt)) -+ pr_warn("failed to add OPP %u\n", freq); -+ } -+ } -+ -+ return 0; -+} -+ -+static int __init qcom_cpufreq_driver_init(void) -+{ -+ struct cpufreq_dt_platform_data pdata = { .independent_clocks = true }; -+ struct platform_device_info devinfo = { -+ .name = "cpufreq-dt", -+ .data = &pdata, -+ .size_data = sizeof(pdata), -+ }; -+ struct device *cpu_dev; -+ struct device_node *np; -+ int ret; -+ -+ cpu_dev = get_cpu_device(0); -+ if (!cpu_dev) -+ return -ENODEV; -+ -+ np = of_node_get(cpu_dev->of_node); -+ if (!np) -+ return -ENOENT; -+ -+ if (!of_device_is_compatible(np, "qcom,krait")) { -+ of_node_put(np); -+ return -ENODEV; -+ } -+ of_node_put(np); -+ -+ ret = qcom_cpufreq_populate_opps(); -+ if (ret) -+ return ret; -+ -+ return PTR_ERR_OR_ZERO(platform_device_register_full(&devinfo)); -+} -+module_init(qcom_cpufreq_driver_init); -+ -+MODULE_DESCRIPTION("Qualcomm CPUfreq driver"); -+MODULE_LICENSE("GPL v2"); diff --git a/target/linux/ipq806x/patches-4.19/0046-cpufreq-qcom-independent-core-clocks.patch b/target/linux/ipq806x/patches-4.19/0046-cpufreq-qcom-independent-core-clocks.patch deleted file mode 100644 index b3b3072bc..000000000 --- a/target/linux/ipq806x/patches-4.19/0046-cpufreq-qcom-independent-core-clocks.patch +++ /dev/null @@ -1,66 +0,0 @@ -From patchwork Fri Dec 8 09:42:30 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,12/12] cpufreq: dt: Reintroduce independent_clocks platform data -From: Sricharan R -X-Patchwork-Id: 10102073 -Message-Id: <1512726150-7204-13-git-send-email-sricharan@codeaurora.org> -To: mturquette@baylibre.com, sboyd@codeaurora.org, - devicetree@vger.kernel.org, linux-pm@vger.kernel.org, - linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, - viresh.kumar@linaro.org, linux-arm-kernel@lists.infradead.org -Cc: sricharan@codeaurora.org -Date: Fri, 8 Dec 2017 15:12:30 +0530 - -The Platform data was removed earlier by, -'commit eb96924acddc ("cpufreq: dt: Kill platform-data")' -since there were no users at that time. -Now this is required when the each of the cpu clocks -can be scaled independently, which is the case -for krait cores. So reintroduce it. - -Signed-off-by: Sricharan R ---- - drivers/cpufreq/cpufreq-dt.c | 7 ++++++- - drivers/cpufreq/cpufreq-dt.h | 6 ++++++ - 2 files changed, 12 insertions(+), 1 deletion(-) - ---- a/drivers/cpufreq/cpufreq-dt.c -+++ b/drivers/cpufreq/cpufreq-dt.c -@@ -231,7 +231,10 @@ static int cpufreq_init(struct cpufreq_p - } - - if (fallback) { -- cpumask_setall(policy->cpus); -+ struct cpufreq_dt_platform_data *pd = cpufreq_get_driver_data(); -+ -+ if (!pd || !pd->independent_clocks) -+ cpumask_setall(policy->cpus); - - /* - * OPP tables are initialized only for policy->cpu, do it for -@@ -376,6 +379,8 @@ static int dt_cpufreq_probe(struct platf - if (data && data->have_governor_per_policy) - dt_cpufreq_driver.flags |= CPUFREQ_HAVE_GOVERNOR_PER_POLICY; - -+ dt_cpufreq_driver.driver_data = data; -+ - ret = cpufreq_register_driver(&dt_cpufreq_driver); - if (ret) - dev_err(&pdev->dev, "failed register driver: %d\n", ret); ---- a/drivers/cpufreq/cpufreq-dt.h -+++ b/drivers/cpufreq/cpufreq-dt.h -@@ -13,6 +13,12 @@ - #include - - struct cpufreq_dt_platform_data { -+ /* -+ * True when each CPU has its own clock to control its -+ * frequency, false when all CPUs are controlled by a single -+ * clock. -+ */ -+ bool independent_clocks; - bool have_governor_per_policy; - }; - diff --git a/target/linux/ipq806x/patches-4.19/0048-PM-OPP-HACK-Allow-to-set-regulator-without-opp_list.patch b/target/linux/ipq806x/patches-4.19/0048-PM-OPP-HACK-Allow-to-set-regulator-without-opp_list.patch deleted file mode 100644 index 24e74b069..000000000 --- a/target/linux/ipq806x/patches-4.19/0048-PM-OPP-HACK-Allow-to-set-regulator-without-opp_list.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 5c294df1715d673f94f3b0a6e1ea3a426ca35e6e Mon Sep 17 00:00:00 2001 -From: Georgi Djakov -Date: Thu, 28 Apr 2016 16:20:12 +0300 -Subject: [PATCH 48/69] PM / OPP: HACK: Allow to set regulator without opp_list - -Signed-off-by: Georgi Djakov ---- - drivers/base/power/opp/core.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/opp/core.c -+++ b/drivers/opp/core.c -@@ -1277,11 +1277,13 @@ struct opp_table *dev_pm_opp_set_regulat - if (!opp_table) - return ERR_PTR(-ENOMEM); - -+#if 0 - /* This should be called before OPPs are initialized */ - if (WARN_ON(!list_empty(&opp_table->opp_list))) { - ret = -EBUSY; - goto err; - } -+#endif - - /* Already have regulators set */ - if (opp_table->regulators) { diff --git a/target/linux/ipq806x/patches-4.19/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch b/target/linux/ipq806x/patches-4.19/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch index 929dbc444..bb82251bf 100644 --- a/target/linux/ipq806x/patches-4.19/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch +++ b/target/linux/ipq806x/patches-4.19/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch @@ -1,7 +1,17 @@ -From c949f08cf20fe82971fbdb4015daa38210da492e Mon Sep 17 00:00:00 2001 +From: Sylwester Nawrocki +To: krzk@kernel.org, vireshk@kernel.org, robh+dt@kernel.org +Cc: sboyd@kernel.org, roger.lu@mediatek.com, + linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, + b.zolnierkie@samsung.com, m.szyprowski@samsung.com, + Stephen Boyd , + Sylwester Nawrocki +Subject: [PATCH v5 1/4] PM / OPP: Support adjusting OPP voltages at runtime +Date: Wed, 16 Oct 2019 16:57:53 +0200 +Message-ID: <20191016145756.16004-2-s.nawrocki@samsung.com> (raw) +In-Reply-To: <20191016145756.16004-1-s.nawrocki@samsung.com> + From: Stephen Boyd -Date: Fri, 18 Sep 2015 17:52:06 -0700 -Subject: [PATCH 49/69] PM / OPP: Support adjusting OPP voltages at runtime On some SoCs the Adaptive Voltage Scaling (AVS) technique is employed to optimize the operating voltage of a device. At a @@ -15,61 +25,54 @@ change. The assumption is that drivers like CPUfreq or devfreq will register for the OPP notifiers and adjust the voltage according to suggestions that AVS makes. -Cc: Nishanth Menon -Acked-by: Viresh Kumar +This patch is derived from [1] submitted by Stephen. +[1] https://lore.kernel.org/patchwork/patch/599279/ + Signed-off-by: Stephen Boyd -Acked-by: Viresh Kumar -Signed-off-by: Georgi Djakov +Signed-off-by: Roger Lu +[s.nawrocki@samsung.com: added handling of OPP min/max voltage] +Signed-off-by: Sylwester Nawrocki --- - drivers/opp/core.c | 77 +++++++++++++++++++++++++++++++++++++++++++ - include/linux/pm_opp.h | 11 +++++++ - 2 files changed, 88 insertions(+) + drivers/opp/core.c | 69 ++++++++++++++++++++++++++++++++++++++++++ + include/linux/pm_opp.h | 13 ++++++++ + 2 files changed, 82 insertions(+) --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -1605,6 +1605,83 @@ put_table: +@@ -1623,6 +1623,75 @@ put_table: } /** + * dev_pm_opp_adjust_voltage() - helper to change the voltage of an OPP + * @dev: device for which we do this operation + * @freq: OPP frequency to adjust voltage of -+ * @u_volt: new OPP voltage -+ * -+ * Change the voltage of an OPP with an RCU operation. ++ * @u_volt: new OPP target voltage ++ * @u_volt_min: new OPP min voltage ++ * @u_volt_max: new OPP max voltage + * + * Return: -EINVAL for bad pointers, -ENOMEM if no memory available for the + * copy operation, returns 0 if no modifcation was done OR modification was + * successful. -+ * -+ * Locking: The internal device_opp and opp structures are RCU protected. -+ * Hence this function internally uses RCU updater strategy with mutex locks to -+ * keep the integrity of the internal data structures. Callers should ensure -+ * that this function is *NOT* called under RCU protection or in contexts where -+ * mutex locking or synchronize_rcu() blocking calls cannot be used. + */ +int dev_pm_opp_adjust_voltage(struct device *dev, unsigned long freq, -+ unsigned long u_volt) ++ unsigned long u_volt, unsigned long u_volt_min, ++ unsigned long u_volt_max) ++ +{ + struct opp_table *opp_table; -+ struct dev_pm_opp *new_opp, *tmp_opp, *opp = ERR_PTR(-ENODEV); ++ struct dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV); + int r = 0; + -+ /* keep the node allocated */ -+ new_opp = kmalloc(sizeof(*new_opp), GFP_KERNEL); -+ if (!new_opp) -+ return -ENOMEM; -+ -+ mutex_lock(&opp_table_lock); -+ + /* Find the opp_table */ + opp_table = _find_opp_table(dev); + if (IS_ERR(opp_table)) { + r = PTR_ERR(opp_table); + dev_warn(dev, "%s: Device OPP not found (%d)\n", __func__, r); -+ goto unlock; ++ return r; + } + ++ mutex_lock(&opp_table->lock); ++ + /* Do we have the frequency? */ + list_for_each_entry(tmp_opp, &opp_table->opp_list, node) { + if (tmp_opp->rate == freq) { @@ -77,33 +80,34 @@ Signed-off-by: Georgi Djakov + break; + } + } ++ + if (IS_ERR(opp)) { + r = PTR_ERR(opp); -+ goto unlock; ++ goto adjust_unlock; + } + + /* Is update really needed? */ -+ if (opp->supplies[0].u_volt == u_volt) -+ goto unlock; -+ /* copy the old data over */ -+ *new_opp = *opp; ++ if (opp->supplies->u_volt == u_volt) ++ goto adjust_unlock; + -+ /* plug in new node */ -+ new_opp->supplies[0].u_volt = u_volt; ++ opp->supplies->u_volt = u_volt; ++ opp->supplies->u_volt_min = u_volt_min; ++ opp->supplies->u_volt_max = u_volt_max; + -+ list_replace(&opp->node, &new_opp->node); -+ mutex_unlock(&opp_table_lock); -+ kfree(opp); ++ dev_pm_opp_get(opp); ++ mutex_unlock(&opp_table->lock); + -+ /* Notify the change of the OPP */ ++ /* Notify the voltage change of the OPP */ + blocking_notifier_call_chain(&opp_table->head, OPP_EVENT_ADJUST_VOLTAGE, -+ new_opp); ++ opp); + -+ return 0; ++ dev_pm_opp_put(opp); ++ goto adjust_put_table; + -+unlock: -+ mutex_unlock(&opp_table_lock); -+ kfree(new_opp); ++adjust_unlock: ++ mutex_unlock(&opp_table->lock); ++adjust_put_table: ++ dev_pm_opp_put_opp_table(opp_table); + return r; +} + @@ -121,23 +125,25 @@ Signed-off-by: Georgi Djakov }; /** -@@ -108,6 +109,9 @@ int dev_pm_opp_add(struct device *dev, u +@@ -108,6 +109,10 @@ int dev_pm_opp_add(struct device *dev, u unsigned long u_volt); void dev_pm_opp_remove(struct device *dev, unsigned long freq); +int dev_pm_opp_adjust_voltage(struct device *dev, unsigned long freq, -+ unsigned long u_volt); ++ unsigned long u_volt, unsigned long u_volt_min, ++ unsigned long u_volt_max); + int dev_pm_opp_enable(struct device *dev, unsigned long freq); int dev_pm_opp_disable(struct device *dev, unsigned long freq); -@@ -208,6 +212,13 @@ static inline void dev_pm_opp_remove(str +@@ -208,6 +213,14 @@ static inline void dev_pm_opp_remove(str { } +static inline int +dev_pm_opp_adjust_voltage(struct device *dev, unsigned long freq, -+ unsigned long u_volt) ++ unsigned long u_volt, unsigned long u_volt_min, ++ unsigned long u_volt_max) +{ + return 0; +} diff --git a/target/linux/ipq806x/patches-4.19/0051-PM-OPP-Add-a-helper-to-get-an-opp-regulator-for-devi.patch b/target/linux/ipq806x/patches-4.19/0051-PM-OPP-Add-a-helper-to-get-an-opp-regulator-for-devi.patch index 0edc6ac75..4312db905 100644 --- a/target/linux/ipq806x/patches-4.19/0051-PM-OPP-Add-a-helper-to-get-an-opp-regulator-for-devi.patch +++ b/target/linux/ipq806x/patches-4.19/0051-PM-OPP-Add-a-helper-to-get-an-opp-regulator-for-devi.patch @@ -12,7 +12,7 @@ Signed-off-by: Georgi Djakov --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -126,6 +126,27 @@ unsigned long dev_pm_opp_get_freq(struct +@@ -125,6 +125,27 @@ unsigned long dev_pm_opp_get_freq(struct } EXPORT_SYMBOL_GPL(dev_pm_opp_get_freq); diff --git a/target/linux/ipq806x/patches-4.19/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch b/target/linux/ipq806x/patches-4.19/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch index 059e332e5..8ba2369dd 100644 --- a/target/linux/ipq806x/patches-4.19/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch +++ b/target/linux/ipq806x/patches-4.19/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch @@ -17,22 +17,31 @@ Signed-off-by: Georgi Djakov --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -1649,6 +1649,7 @@ int dev_pm_opp_adjust_voltage(struct dev +@@ -1663,6 +1663,7 @@ int dev_pm_opp_adjust_voltage(struct dev struct opp_table *opp_table; - struct dev_pm_opp *new_opp, *tmp_opp, *opp = ERR_PTR(-ENODEV); + struct dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV); int r = 0; + unsigned long tol; - /* keep the node allocated */ - new_opp = kmalloc(sizeof(*new_opp), GFP_KERNEL); -@@ -1685,6 +1686,10 @@ int dev_pm_opp_adjust_voltage(struct dev + /* Find the opp_table */ + opp_table = _find_opp_table(dev); +@@ -1692,8 +1693,17 @@ int dev_pm_opp_adjust_voltage(struct dev + goto adjust_unlock; - /* plug in new node */ - new_opp->supplies[0].u_volt = u_volt; + opp->supplies->u_volt = u_volt; +- opp->supplies->u_volt_min = u_volt_min; +- opp->supplies->u_volt_max = u_volt_max; ++ + tol = u_volt * opp_table->voltage_tolerance_v1 / 100; -+ new_opp->supplies[0].u_volt = u_volt; -+ new_opp->supplies[0].u_volt_min = u_volt - tol; -+ new_opp->supplies[0].u_volt_max = u_volt + tol; ++ if ( u_volt_min == u_volt ) ++ opp->supplies->u_volt_min = u_volt - tol; ++ else ++ opp->supplies->u_volt_min = u_volt_min; ++ ++ if ( u_volt_max == u_volt ) ++ opp->supplies->u_volt_max = u_volt + tol; ++ else ++ opp->supplies->u_volt_max = u_volt_max; - list_replace(&opp->node, &new_opp->node); - mutex_unlock(&opp_table_lock); + dev_pm_opp_get(opp); + mutex_unlock(&opp_table->lock); diff --git a/target/linux/ipq806x/patches-4.19/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch b/target/linux/ipq806x/patches-4.19/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch index e85b8c593..962089119 100644 --- a/target/linux/ipq806x/patches-4.19/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch +++ b/target/linux/ipq806x/patches-4.19/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch @@ -35,7 +35,7 @@ Signed-off-by: Georgi Djakov bool have_static_opps; }; -@@ -47,12 +47,15 @@ static int set_target(struct cpufreq_pol +@@ -47,12 +50,15 @@ static int set_target(struct cpufreq_pol unsigned long freq = policy->freq_table[index].frequency; int ret; @@ -51,7 +51,7 @@ Signed-off-by: Georgi Djakov return ret; } -@@ -87,6 +97,39 @@ node_put: +@@ -95,6 +101,39 @@ node_put: return name; } @@ -91,19 +91,12 @@ Signed-off-by: Georgi Djakov static int resources_available(void) { struct device *cpu_dev; -@@ -153,6 +196,7 @@ static int cpufreq_init(struct cpufreq_p - bool fallback = false; - const char *name; - int ret; -+ struct srcu_notifier_head *opp_srcu_head; - - cpu_dev = get_cpu_device(policy->cpu); - if (!cpu_dev) { -@@ -246,10 +290,13 @@ static int cpufreq_init(struct cpufreq_p +@@ -251,10 +290,14 @@ static int cpufreq_init(struct cpufreq_p __func__, ret); } + mutex_init(&priv->lock); ++ priv->opp_nb.notifier_call = opp_notifier; + dev_pm_opp_register_notifier(cpu_dev, &priv->opp_nb); + ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table); @@ -114,7 +107,7 @@ Signed-off-by: Georgi Djakov } priv->cpu_dev = cpu_dev; -@@ -285,6 +332,8 @@ static int cpufreq_init(struct cpufreq_p +@@ -284,6 +327,8 @@ static int cpufreq_init(struct cpufreq_p out_free_cpufreq_table: dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table); diff --git a/target/linux/ipq806x/patches-4.19/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch b/target/linux/ipq806x/patches-4.19/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch index bf4935a7c..5f54120b3 100644 --- a/target/linux/ipq806x/patches-4.19/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch +++ b/target/linux/ipq806x/patches-4.19/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch @@ -1,87 +1,161 @@ -From 0759cdff49f1cf361bf503c13f7bcb33da43ab95 Mon Sep 17 00:00:00 2001 -From: Georgi Djakov -Date: Tue, 8 Sep 2015 11:24:41 +0300 -Subject: [PATCH 55/69] cpufreq-dt: Add L2 frequency scaling support - -Signed-off-by: Georgi Djakov ---- - drivers/cpufreq/cpufreq-dt.c | 41 ++++++++++++++++++++++++++++++++++++++++- - include/linux/cpufreq.h | 2 ++ - 2 files changed, 42 insertions(+), 1 deletion(-) - --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c -@@ -49,11 +49,39 @@ static int set_target(struct cpufreq_pol +@@ -48,16 +48,71 @@ static int set_target(struct cpufreq_pol + { struct private_data *priv = policy->driver_data; unsigned long freq = policy->freq_table[index].frequency; - int ret; + struct clk *l2_clk = policy->l2_clk; -+ unsigned int l2_freq; -+ unsigned long new_l2_freq = 0; ++ struct regulator *l2_regulator = policy->l2_regulator; ++ unsigned long l2_freq, target_l2_freq; ++ unsigned long l2_vol, target_l2_vol; ++ unsigned long target_freq; + int ret; mutex_lock(&priv->lock); ret = dev_pm_opp_set_rate(priv->cpu_dev, freq * 1000); if (!ret) { -+ if (!IS_ERR(l2_clk) && policy->l2_rate[0] && policy->l2_rate[1] && -+ policy->l2_rate[2]) { ++ if (policy->l2_rate_set) { + static unsigned long krait_l2[CONFIG_NR_CPUS] = { }; -+ int cpu, ret = 0; -+ unsigned long target_freq = freq * 1000; ++ int cpu, l2_index, tol = 0; + -+ if (target_freq >= policy->l2_rate[2]) -+ new_l2_freq = policy->l2_rate[2]; -+ else if (target_freq >= policy->l2_rate[1]) -+ new_l2_freq = policy->l2_rate[1]; -+ else -+ new_l2_freq = policy->l2_rate[0]; ++ target_freq = freq * 1000; + -+ krait_l2[policy->cpu] = new_l2_freq; ++ krait_l2[policy->cpu] = target_freq; + for_each_present_cpu(cpu) -+ new_l2_freq = max(new_l2_freq, krait_l2[cpu]); ++ target_freq = max(target_freq, krait_l2[cpu]); ++ ++ for (l2_index = 2; l2_index >= 0; l2_index--) ++ if (target_freq >= policy->l2_cpufreq[l2_index]) ++ break; + + l2_freq = clk_get_rate(l2_clk); ++ target_l2_freq = policy->l2_rate[l2_index]; + -+ if (l2_freq != new_l2_freq) { ++ if (l2_freq != target_l2_freq) { ++ ++ /* ++ * Set to idle bin if switching from normal to high bin ++ * or vice versa ++ */ ++ if ( (l2_index == 2 && l2_freq == policy->l2_rate[1]) || ++ (l2_index == 1 && l2_freq == policy->l2_rate[2]) ) { ++ ret = clk_set_rate(l2_clk, policy->l2_rate[0]); ++ if (ret) ++ goto exit; ++ } + /* scale l2 with the core */ -+ ret = clk_set_rate(l2_clk, new_l2_freq); ++ ret = clk_set_rate(l2_clk, target_l2_freq); ++ if (ret) ++ goto exit; ++ ++ if (policy->l2_volt_set) { ++ ++ l2_vol = regulator_get_voltage(l2_regulator); ++ target_l2_vol = policy->l2_volt[l2_index]; ++ ++ if (l2_vol != target_l2_vol) { ++ tol = target_l2_vol * policy->l2_volt_tol / 100; ++ ret = regulator_set_voltage_tol(l2_regulator,target_l2_vol,tol); ++ if (ret) ++ goto exit; ++ } ++ } + } + } -+ priv->opp_freq = freq * 1000; arch_set_freq_scale(policy->related_cpus, freq, policy->cpuinfo.max_freq); -@@ -201,6 +229,8 @@ static int cpufreq_init(struct cpufreq_p + } ++ ++exit: + mutex_unlock(&priv->lock); + + return ret; +@@ -200,6 +255,9 @@ static int cpufreq_init(struct cpufreq_p + bool fallback = false; const char *name; int ret; - struct srcu_notifier_head *opp_srcu_head; -+ struct device_node *l2_np; ++ struct device_node *np, *l2_np; + struct clk *l2_clk = NULL; ++ struct regulator *l2_regulator = NULL; cpu_dev = get_cpu_device(policy->cpu); if (!cpu_dev) { -@@ -310,6 +340,13 @@ static int cpufreq_init(struct cpufreq_p +@@ -307,6 +365,57 @@ static int cpufreq_init(struct cpufreq_p policy->suspend_freq = dev_pm_opp_get_suspend_opp_freq(cpu_dev) / 1000; ++ policy->l2_rate_set = false; ++ policy->l2_volt_set = false; ++ + l2_clk = clk_get(cpu_dev, "l2"); + if (!IS_ERR(l2_clk)) + policy->l2_clk = l2_clk; ++ + l2_np = of_find_node_by_name(NULL, "qcom,l2"); -+ if (l2_np) ++ if (l2_np) { ++ struct device_node *vdd; ++ np = of_node_get(priv->cpu_dev->of_node); ++ ++ if (np) ++ of_property_read_u32(np, "voltage-tolerance", &policy->l2_volt_tol); ++ + of_property_read_u32_array(l2_np, "qcom,l2-rates", policy->l2_rate, 3); ++ if (policy->l2_rate[0] && policy->l2_rate[1] && policy->l2_rate[2]) { ++ policy->l2_rate_set = true; ++ of_property_read_u32_array(l2_np, "qcom,l2-cpufreq", policy->l2_cpufreq, 3); ++ of_property_read_u32_array(l2_np, "qcom,l2-volt", policy->l2_volt, 3); ++ } else ++ pr_warn("L2: failed to parse L2 rates\n"); ++ ++ if (!policy->l2_cpufreq[0] && !policy->l2_cpufreq[1] && ++ !policy->l2_cpufreq[2] && policy->l2_rate_set) { ++ int i; ++ ++ pr_warn("L2: failed to parse target cpu freq, using defaults\n"); ++ for (i = 0; i < 3; i++) ++ policy->l2_cpufreq[i] = policy->l2_rate[i]; ++ } ++ ++ if (policy->l2_volt[0] && policy->l2_volt[1] && policy->l2_volt[2] && ++ policy->l2_volt_tol && policy->l2_rate_set) { ++ vdd = of_parse_phandle(l2_np, "qcom,l2-supply", 0); ++ ++ if (vdd) { ++ l2_regulator = devm_regulator_get(cpu_dev, vdd->name); ++ if (!IS_ERR(l2_regulator)) { ++ policy->l2_regulator = l2_regulator; ++ policy->l2_volt_set = true; ++ } else { ++ pr_warn("failed to get l2 supply\n"); ++ l2_regulator = NULL; ++ } ++ ++ of_node_put(vdd); ++ } ++ } ++ } + /* Support turbo/boost mode */ if (policy_has_boost_freq(policy)) { /* This gets disabled by core on driver unregister */ --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h -@@ -73,6 +73,8 @@ struct cpufreq_policy { +@@ -72,7 +72,15 @@ struct cpufreq_policy { + should set cpufreq */ unsigned int cpu; /* cpu managing this policy, must be online */ - struct clk *clk; -+ struct clk *l2_clk; /* L2 clock */ -+ unsigned int l2_rate[3]; /* L2 bus clock rate thresholds */ +- struct clk *clk; ++ struct clk *clk; ++ struct clk *l2_clk; /* L2 clock */ ++ struct regulator *l2_regulator; /* L2 supply */ ++ unsigned int l2_rate[3]; /* L2 bus clock rate */ ++ bool l2_rate_set; ++ unsigned int l2_cpufreq[3]; /* L2 target CPU frequency */ ++ unsigned int l2_volt[3]; /* L2 voltage array */ ++ bool l2_volt_set; ++ unsigned int l2_volt_tol; /* L2 voltage tolerance */ struct cpufreq_cpuinfo cpuinfo;/* see above */ unsigned int min; /* in kHz */ diff --git a/target/linux/ipq806x/patches-4.19/0056-cpufreq-dt-Add-missing-rcu-locks.patch b/target/linux/ipq806x/patches-4.19/0056-cpufreq-dt-Add-missing-rcu-locks.patch index d9d76e409..ef03ba4de 100644 --- a/target/linux/ipq806x/patches-4.19/0056-cpufreq-dt-Add-missing-rcu-locks.patch +++ b/target/linux/ipq806x/patches-4.19/0056-cpufreq-dt-Add-missing-rcu-locks.patch @@ -10,7 +10,7 @@ Signed-off-by: Georgi Djakov --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c -@@ -144,8 +144,10 @@ static int opp_notifier(struct notifier_ +@@ -173,8 +173,10 @@ static int opp_notifier(struct notifier_ ret = PTR_ERR(cpu_reg); goto out; } diff --git a/target/linux/ipq806x/patches-4.19/0057-add-fab-scaling-support-with-cpufreq.patch b/target/linux/ipq806x/patches-4.19/0057-add-fab-scaling-support-with-cpufreq.patch new file mode 100644 index 000000000..dc65230f4 --- /dev/null +++ b/target/linux/ipq806x/patches-4.19/0057-add-fab-scaling-support-with-cpufreq.patch @@ -0,0 +1,243 @@ +--- a/drivers/clk/qcom/Makefile ++++ b/drivers/clk/qcom/Makefile +@@ -15,6 +15,7 @@ clk-qcom-$(CONFIG_KRAIT_CLOCKS) += clk-k + clk-qcom-y += clk-hfpll.o + clk-qcom-y += reset.o + clk-qcom-$(CONFIG_QCOM_GDSC) += gdsc.o ++clk-qcom-y += fab_scaling.o + + # Keep alphabetically sorted by config + obj-$(CONFIG_APQ_GCC_8084) += gcc-apq8084.o +--- /dev/null ++++ b/drivers/clk/qcom/fab_scaling.c +@@ -0,0 +1,172 @@ ++/* ++ * Copyright (c) 2015, The Linux Foundation. All rights reserved. ++ * ++ * Permission to use, copy, modify, and/or distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++struct qcom_fab_scaling_data { ++ u32 fab_freq_high; ++ u32 fab_freq_nominal; ++ u32 cpu_freq_threshold; ++ struct clk *apps_fab_clk; ++ struct clk *ddr_fab_clk; ++}; ++ ++static struct qcom_fab_scaling_data *drv_data; ++ ++int scale_fabrics(unsigned long max_cpu_freq) ++{ ++ struct clk *apps_fab_clk = drv_data->apps_fab_clk, ++ *ddr_fab_clk = drv_data->ddr_fab_clk; ++ unsigned long target_freq, cur_freq; ++ int ret; ++ ++ /* Skip fab scaling if the driver is not ready */ ++ if (!apps_fab_clk || !ddr_fab_clk) ++ return 0; ++ ++ if (max_cpu_freq > drv_data->cpu_freq_threshold) ++ target_freq = drv_data->fab_freq_high; ++ else ++ target_freq = drv_data->fab_freq_nominal; ++ ++ cur_freq = clk_get_rate(ddr_fab_clk); ++ ++ if (target_freq != cur_freq) { ++ ret = clk_set_rate(apps_fab_clk, target_freq); ++ if (ret) ++ return ret; ++ ret = clk_set_rate(ddr_fab_clk, target_freq); ++ if (ret) ++ return ret; ++ } ++ ++ return 0; ++} ++EXPORT_SYMBOL(scale_fabrics); ++ ++static int ipq806x_fab_scaling_probe(struct platform_device *pdev) ++{ ++ struct device_node *np = pdev->dev.of_node; ++ struct clk *apps_fab_clk, *ddr_fab_clk; ++ int ret; ++ ++ if (!np) ++ return -ENODEV; ++ ++ drv_data = kzalloc(sizeof(*drv_data), GFP_KERNEL); ++ if (!drv_data) ++ return -ENOMEM; ++ ++ if (of_property_read_u32(np, "fab_freq_high", &drv_data->fab_freq_high)) { ++ pr_err("FABRICS turbo freq not found. Using defaults...\n"); ++ drv_data->fab_freq_high = 533000000; ++ } ++ ++ if (of_property_read_u32(np, "fab_freq_nominal", &drv_data->fab_freq_nominal)) { ++ pr_err("FABRICS nominal freq not found. Using defaults...\n"); ++ drv_data->fab_freq_nominal = 400000000; ++ } ++ ++ if (of_property_read_u32(np, "cpu_freq_threshold", &drv_data->cpu_freq_threshold)) { ++ pr_err("FABRICS cpu freq threshold not found. Using defaults...\n"); ++ drv_data->cpu_freq_threshold = 1000000000; ++ } ++ ++ drv_data->apps_fab_clk = devm_clk_get(&pdev->dev, "apps-fab-clk"); ++ apps_fab_clk = drv_data->apps_fab_clk; ++ ret = PTR_ERR_OR_ZERO(apps_fab_clk); ++ if (ret) { ++ /* ++ * If apps fab clk node is present, but clock is not yet ++ * registered, we should try defering probe. ++ */ ++ if (ret != -EPROBE_DEFER) { ++ pr_err("Failed to get APPS FABRIC clock: %d\n", ret); ++ ret = -ENODEV; ++ } ++ goto err; ++ } ++ ++ clk_set_rate(apps_fab_clk, drv_data->fab_freq_high); ++ clk_prepare_enable(apps_fab_clk); ++ ++ drv_data->ddr_fab_clk = devm_clk_get(&pdev->dev, "ddr-fab-clk"); ++ ddr_fab_clk = drv_data->ddr_fab_clk; ++ ret = PTR_ERR_OR_ZERO(ddr_fab_clk); ++ if (ret) { ++ /* ++ * If ddr fab clk node is present, but clock is not yet ++ * registered, we should try defering probe. ++ */ ++ if (ret != -EPROBE_DEFER) { ++ pr_err("Failed to get DDR FABRIC clock: %d\n", ret); ++ ddr_fab_clk = NULL; ++ ret = -ENODEV; ++ } ++ goto err; ++ } ++ ++ clk_set_rate(ddr_fab_clk, drv_data->fab_freq_high); ++ clk_prepare_enable(ddr_fab_clk); ++ ++ return 0; ++err: ++ kfree(drv_data); ++ return ret; ++} ++ ++static int ipq806x_fab_scaling_remove(struct platform_device *pdev) ++{ ++ kfree(drv_data); ++ return 0; ++} ++ ++static const struct of_device_id fab_scaling_ipq806x_match_table[] = { ++ { .compatible = "qcom,fab-scaling" }, ++ { } ++}; ++ ++static struct platform_driver fab_scaling_ipq806x_driver = { ++ .probe = ipq806x_fab_scaling_probe, ++ .remove = ipq806x_fab_scaling_remove, ++ .driver = { ++ .name = "fab-scaling", ++ .of_match_table = fab_scaling_ipq806x_match_table, ++ }, ++}; ++ ++static int __init fab_scaling_ipq806x_init(void) ++{ ++ return platform_driver_register(&fab_scaling_ipq806x_driver); ++} ++late_initcall(fab_scaling_ipq806x_init); ++ ++static void __exit fab_scaling_ipq806x_exit(void) ++{ ++ platform_driver_unregister(&fab_scaling_ipq806x_driver); ++} ++module_exit(fab_scaling_ipq806x_exit); +--- /dev/null ++++ b/include/linux/fab_scaling.h +@@ -0,0 +1,31 @@ ++/* ++ * Copyright (c) 2015, The Linux Foundation. All rights reserved. ++ * ++ * Permission to use, copy, modify, and/or distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++ ++#ifndef __FAB_SCALING_H ++#define __FAB_SCALING_H ++ ++/** ++ * scale_fabrics - Scale DDR and APPS FABRICS ++ * ++ * This function monitors all the registered clocks and does APPS ++ * and DDR FABRIC scaling based on the idle frequencies with which ++ * it was registered. ++ * ++ */ ++int scale_fabrics(unsigned long max_cpu_freq); ++ ++#endif +--- a/drivers/cpufreq/cpufreq-dt.c ++++ b/drivers/cpufreq/cpufreq-dt.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include "cpufreq-dt.h" + +@@ -106,6 +107,13 @@ static int set_target(struct cpufreq_pol + } + } + } ++ ++ /* ++ * Scale fabrics with max freq across all cores ++ */ ++ ret = scale_fabrics(target_freq); ++ if (ret) ++ goto exit; + } + priv->opp_freq = freq * 1000; + arch_set_freq_scale(policy->related_cpus, freq, diff --git a/target/linux/ipq806x/patches-4.19/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch b/target/linux/ipq806x/patches-4.19/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch index f810f6ac4..543f18ce4 100644 --- a/target/linux/ipq806x/patches-4.19/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch +++ b/target/linux/ipq806x/patches-4.19/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch @@ -33,7 +33,7 @@ Signed-off-by: Mathieu Olivari --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -341,7 +341,7 @@ config ARCH_MULTIPLATFORM +@@ -331,7 +331,7 @@ config ARCH_MULTIPLATFORM depends on MMU select ARM_HAS_SG_CHAIN select ARM_PATCH_PHYS_VIRT diff --git a/target/linux/ipq806x/patches-4.19/0063-1-ipq806x-tsens-driver.patch b/target/linux/ipq806x/patches-4.19/0063-1-ipq806x-tsens-driver.patch index 89d9ba8d5..9ee88533a 100644 --- a/target/linux/ipq806x/patches-4.19/0063-1-ipq806x-tsens-driver.patch +++ b/target/linux/ipq806x/patches-4.19/0063-1-ipq806x-tsens-driver.patch @@ -612,4 +612,3 @@ Signed-off-by: Rajith Cherian /* TSENS v2 targets */ extern const struct tsens_data data_8996, data_tsens_v2; - diff --git a/target/linux/ipq806x/patches-4.19/0063-2-tsens-support-configurable-interrupts.patch b/target/linux/ipq806x/patches-4.19/0063-2-tsens-support-configurable-interrupts.patch index af21e4fb3..62e26cbee 100644 --- a/target/linux/ipq806x/patches-4.19/0063-2-tsens-support-configurable-interrupts.patch +++ b/target/linux/ipq806x/patches-4.19/0063-2-tsens-support-configurable-interrupts.patch @@ -23,7 +23,7 @@ Signed-off-by: Rajith Cherian --- a/drivers/thermal/of-thermal.c +++ b/drivers/thermal/of-thermal.c -@@ -95,7 +95,7 @@ static int of_thermal_get_temp(struct th +@@ -77,7 +77,7 @@ static int of_thermal_get_temp(struct th { struct __thermal_zone *data = tz->devdata; @@ -32,7 +32,7 @@ Signed-off-by: Rajith Cherian return -EINVAL; return data->ops->get_temp(data->sensor_data, temp); -@@ -106,7 +106,8 @@ static int of_thermal_set_trips(struct t +@@ -88,7 +88,8 @@ static int of_thermal_set_trips(struct t { struct __thermal_zone *data = tz->devdata; @@ -42,7 +42,7 @@ Signed-off-by: Rajith Cherian return -EINVAL; return data->ops->set_trips(data->sensor_data, low, high); -@@ -192,6 +193,9 @@ static int of_thermal_set_emul_temp(stru +@@ -174,6 +175,9 @@ static int of_thermal_set_emul_temp(stru { struct __thermal_zone *data = tz->devdata; @@ -52,7 +52,7 @@ Signed-off-by: Rajith Cherian return data->ops->set_emul_temp(data->sensor_data, temp); } -@@ -200,7 +204,7 @@ static int of_thermal_get_trend(struct t +@@ -182,7 +186,7 @@ static int of_thermal_get_trend(struct t { struct __thermal_zone *data = tz->devdata; @@ -61,7 +61,7 @@ Signed-off-by: Rajith Cherian return -EINVAL; return data->ops->get_trend(data->sensor_data, trip, trend); -@@ -289,7 +293,9 @@ static int of_thermal_set_mode(struct th +@@ -271,7 +275,9 @@ static int of_thermal_set_mode(struct th mutex_unlock(&tz->lock); data->mode = mode; @@ -72,7 +72,7 @@ Signed-off-by: Rajith Cherian return 0; } -@@ -299,7 +305,8 @@ static int of_thermal_get_trip_type(stru +@@ -281,7 +287,8 @@ static int of_thermal_get_trip_type(stru { struct __thermal_zone *data = tz->devdata; @@ -82,7 +82,7 @@ Signed-off-by: Rajith Cherian return -EDOM; *type = data->trips[trip].type; -@@ -307,12 +314,39 @@ static int of_thermal_get_trip_type(stru +@@ -289,12 +296,39 @@ static int of_thermal_get_trip_type(stru return 0; } @@ -123,7 +123,7 @@ Signed-off-by: Rajith Cherian return -EDOM; *temp = data->trips[trip].temperature; -@@ -325,7 +359,8 @@ static int of_thermal_set_trip_temp(stru +@@ -307,7 +341,8 @@ static int of_thermal_set_trip_temp(stru { struct __thermal_zone *data = tz->devdata; @@ -133,7 +133,7 @@ Signed-off-by: Rajith Cherian return -EDOM; if (data->ops->set_trip_temp) { -@@ -347,7 +382,8 @@ static int of_thermal_get_trip_hyst(stru +@@ -329,7 +364,8 @@ static int of_thermal_get_trip_hyst(stru { struct __thermal_zone *data = tz->devdata; @@ -143,7 +143,7 @@ Signed-off-by: Rajith Cherian return -EDOM; *hyst = data->trips[trip].hysteresis; -@@ -360,7 +396,8 @@ static int of_thermal_set_trip_hyst(stru +@@ -342,7 +378,8 @@ static int of_thermal_set_trip_hyst(stru { struct __thermal_zone *data = tz->devdata; @@ -153,7 +153,7 @@ Signed-off-by: Rajith Cherian return -EDOM; /* thermal framework should take care of data->mask & (1 << trip) */ -@@ -435,6 +472,9 @@ thermal_zone_of_add_sensor(struct device +@@ -417,6 +454,9 @@ thermal_zone_of_add_sensor(struct device if (ops->set_emul_temp) tzd->ops->set_emul_temp = of_thermal_set_emul_temp; @@ -163,7 +163,7 @@ Signed-off-by: Rajith Cherian mutex_unlock(&tzd->lock); return tzd; -@@ -729,7 +769,10 @@ static const char * const trip_types[] = +@@ -711,7 +751,10 @@ static const char * const trip_types[] = [THERMAL_TRIP_ACTIVE] = "active", [THERMAL_TRIP_PASSIVE] = "passive", [THERMAL_TRIP_HOT] = "hot", @@ -243,7 +243,7 @@ Signed-off-by: Rajith Cherian static SIMPLE_DEV_PM_OPS(tsens_pm_ops, tsens_suspend, tsens_resume); static const struct of_device_id tsens_table[] = { -@@ -83,6 +109,8 @@ MODULE_DEVICE_TABLE(of, tsens_table); +@@ -86,6 +112,8 @@ MODULE_DEVICE_TABLE(of, tsens_table); static const struct thermal_zone_of_device_ops tsens_of_ops = { .get_temp = tsens_get_temp, .get_trend = tsens_get_trend, @@ -252,18 +252,18 @@ Signed-off-by: Rajith Cherian }; static int tsens_register(struct tsens_device *tmdev) -@@ -131,7 +159,7 @@ static int tsens_probe(struct platform_d +@@ -134,7 +162,7 @@ static int tsens_probe(struct platform_d if (id) data = id->data; else - data = &data_8960; + return -EINVAL; - if (data->num_sensors <= 0) { - dev_err(dev, "invalid number of sensors\n"); -@@ -146,6 +174,9 @@ static int tsens_probe(struct platform_d + num_sensors = data->num_sensors; + +@@ -155,6 +183,9 @@ static int tsens_probe(struct platform_d tmdev->dev = dev; - tmdev->num_sensors = data->num_sensors; + tmdev->num_sensors = num_sensors; tmdev->ops = data->ops; + + tmdev->tsens_irq = platform_get_irq(pdev, 0); @@ -321,7 +321,7 @@ Signed-off-by: Rajith Cherian --- a/drivers/thermal/thermal_sysfs.c +++ b/drivers/thermal/thermal_sysfs.c -@@ -115,12 +115,48 @@ trip_point_type_show(struct device *dev, +@@ -113,12 +113,48 @@ trip_point_type_show(struct device *dev, return sprintf(buf, "passive\n"); case THERMAL_TRIP_ACTIVE: return sprintf(buf, "active\n"); @@ -370,7 +370,7 @@ Signed-off-by: Rajith Cherian trip_point_temp_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { -@@ -562,6 +598,12 @@ static int create_trip_attrs(struct ther +@@ -559,6 +595,12 @@ static int create_trip_attrs(struct ther tz->trip_type_attrs[indx].attr.show = trip_point_type_show; attrs[indx] = &tz->trip_type_attrs[indx].attr.attr; @@ -385,7 +385,7 @@ Signed-off-by: Rajith Cherian "trip_point_%d_temp", indx); --- a/include/linux/thermal.h +++ b/include/linux/thermal.h -@@ -78,11 +78,19 @@ enum thermal_device_mode { +@@ -63,11 +63,19 @@ enum thermal_device_mode { THERMAL_DEVICE_ENABLED, }; @@ -405,7 +405,7 @@ Signed-off-by: Rajith Cherian }; enum thermal_trend { -@@ -120,6 +128,8 @@ struct thermal_zone_device_ops { +@@ -105,6 +113,8 @@ struct thermal_zone_device_ops { enum thermal_trip_type *); int (*get_trip_temp) (struct thermal_zone_device *, int, int *); int (*set_trip_temp) (struct thermal_zone_device *, int, int); @@ -414,7 +414,7 @@ Signed-off-by: Rajith Cherian int (*get_trip_hyst) (struct thermal_zone_device *, int, int *); int (*set_trip_hyst) (struct thermal_zone_device *, int, int); int (*get_crit_temp) (struct thermal_zone_device *, int *); -@@ -363,6 +373,8 @@ struct thermal_genl_event { +@@ -349,6 +359,8 @@ struct thermal_genl_event { * temperature. * @set_trip_temp: a pointer to a function that sets the trip temperature on * hardware. @@ -423,7 +423,7 @@ Signed-off-by: Rajith Cherian */ struct thermal_zone_of_device_ops { int (*get_temp)(void *, int *); -@@ -370,6 +382,8 @@ struct thermal_zone_of_device_ops { +@@ -356,6 +368,8 @@ struct thermal_zone_of_device_ops { int (*set_trips)(void *, int, int); int (*set_emul_temp)(void *, int); int (*set_trip_temp)(void *, int, int); diff --git a/target/linux/ipq806x/patches-4.19/0063-3-tsens-fix-kernel-4_19.patch b/target/linux/ipq806x/patches-4.19/0063-3-tsens-fix-kernel-4_19.patch new file mode 100644 index 000000000..a87069290 --- /dev/null +++ b/target/linux/ipq806x/patches-4.19/0063-3-tsens-fix-kernel-4_19.patch @@ -0,0 +1,20 @@ +--- a/drivers/thermal/qcom/tsens-common.c ++++ b/drivers/thermal/qcom/tsens-common.c +@@ -128,6 +128,7 @@ int __init init_common(struct tsens_devi + { + void __iomem *base; + struct resource *res; ++ resource_size_t size; + struct platform_device *op = of_find_device_by_node(tmdev->dev->of_node); + + if (!op) +@@ -142,7 +143,8 @@ int __init init_common(struct tsens_devi + } + + res = platform_get_resource(op, IORESOURCE_MEM, 0); +- base = devm_ioremap_resource(&op->dev, res); ++ size = resource_size(res); ++ base = devm_ioremap(&op->dev, res->start, size); + if (IS_ERR(base)) + return PTR_ERR(base); + diff --git a/target/linux/ipq806x/patches-4.19/0063-4-ip806x-tsense-rework-driver.patch b/target/linux/ipq806x/patches-4.19/0063-4-ip806x-tsense-rework-driver.patch new file mode 100644 index 000000000..951145b3d --- /dev/null +++ b/target/linux/ipq806x/patches-4.19/0063-4-ip806x-tsense-rework-driver.patch @@ -0,0 +1,107 @@ +--- a/drivers/thermal/qcom/tsens-ipq8064.c ++++ b/drivers/thermal/qcom/tsens-ipq8064.c +@@ -13,10 +13,12 @@ + */ + + #include ++#include + #include + #include + #include + #include ++#include + #include + #include + #include +@@ -210,9 +212,8 @@ static void tsens_scheduler_fn(struct wo + struct tsens_device *tmdev = container_of(work, struct tsens_device, + tsens_work); + unsigned int threshold, threshold_low, code, reg, sensor, mask; +- unsigned int sensor_addr; + bool upper_th_x, lower_th_x; +- int adc_code, ret; ++ int ret; + + ret = regmap_read(tmdev->map, STATUS_CNTL_8064, ®); + if (ret) +@@ -261,9 +262,8 @@ static void tsens_scheduler_fn(struct wo + if (upper_th_x || lower_th_x) { + /* Notify user space */ + schedule_work(&tmdev->sensor[0].notify_work); +- regmap_read(tmdev->map, sensor_addr, &adc_code); + pr_debug("Trigger (%d degrees) for sensor %d\n", +- code_to_degC(adc_code, &tmdev->sensor[0]), 0); ++ code_to_degC(code, &tmdev->sensor[0]), 0); + } + } + regmap_write(tmdev->map, STATUS_CNTL_8064, reg & mask); +@@ -372,40 +372,55 @@ static int init_ipq8064(struct tsens_dev + static int calibrate_ipq8064(struct tsens_device *tmdev) + { + int i; +- char *data, *data_backup; +- ++ int ret = 0; ++ u8 *data, *data_backup; ++ struct device *dev = tmdev->dev; + ssize_t num_read = tmdev->num_sensors; + struct tsens_sensor *s = tmdev->sensor; + +- data = qfprom_read(tmdev->dev, "calib"); ++ data = qfprom_read(dev, "calib"); + if (IS_ERR(data)) { +- pr_err("Calibration not found.\n"); +- return PTR_ERR(data); ++ ret = PTR_ERR(data); ++ if (ret != -EPROBE_DEFER) ++ dev_err(dev, "Calibration not found."); ++ goto exit; + } + +- data_backup = qfprom_read(tmdev->dev, "calib_backup"); ++ data_backup = qfprom_read(dev, "calib_backup"); + if (IS_ERR(data_backup)) { +- pr_err("Backup calibration not found.\n"); +- return PTR_ERR(data_backup); ++ ret = PTR_ERR(data_backup); ++ if (ret != -EPROBE_DEFER) ++ dev_err(dev, "Backup Calibration not found."); ++ goto free_data; + } + + for (i = 0; i < num_read; i++) { + s[i].calib_data = readb_relaxed(data + i); +- s[i].calib_data_backup = readb_relaxed(data_backup + i); ++ ++ if (!s[i].calib_data) { ++ s[i].calib_data_backup = readb_relaxed(data_backup + i); ++ ++ if (!s[i].calib_data_backup) { ++ dev_err(dev, "QFPROM TSENS calibration data not present"); ++ ret = -ENODEV; ++ goto free_backup; ++ } + +- if (s[i].calib_data_backup) + s[i].calib_data = s[i].calib_data_backup; +- if (!s[i].calib_data) { +- pr_err("QFPROM TSENS calibration data not present\n"); +- return -ENODEV; + } ++ + s[i].slope = tsens_8064_slope[i]; + s[i].offset = CAL_MDEGC - (s[i].calib_data * s[i].slope); + } + + hw_init(tmdev); + +- return 0; ++free_backup: ++ kfree(data_backup); ++free_data: ++ kfree(data); ++exit: ++ return ret; + } + + static int get_temp_ipq8064(struct tsens_device *tmdev, int id, int *temp) diff --git a/target/linux/ipq806x/patches-4.19/0064-clk-clk-rpm-fixes.patch b/target/linux/ipq806x/patches-4.19/0064-clk-clk-rpm-fixes.patch index 306474ab0..72217de12 100644 --- a/target/linux/ipq806x/patches-4.19/0064-clk-clk-rpm-fixes.patch +++ b/target/linux/ipq806x/patches-4.19/0064-clk-clk-rpm-fixes.patch @@ -12,7 +12,7 @@ Signed-off-by: John Crispin --- a/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt +++ b/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt -@@ -14,6 +14,7 @@ Required properties : +@@ -16,6 +16,7 @@ Required properties : "qcom,rpmcc-msm8974", "qcom,rpmcc" "qcom,rpmcc-apq8064", "qcom,rpmcc" "qcom,rpmcc-msm8996", "qcom,rpmcc" @@ -22,7 +22,7 @@ Signed-off-by: John Crispin --- a/include/dt-bindings/clock/qcom,rpmcc.h +++ b/include/dt-bindings/clock/qcom,rpmcc.h -@@ -37,6 +37,10 @@ +@@ -45,6 +45,10 @@ #define RPM_XO_A0 27 #define RPM_XO_A1 28 #define RPM_XO_A2 29 diff --git a/target/linux/ipq806x/patches-4.19/0065-arm-override-compiler-flags.patch b/target/linux/ipq806x/patches-4.19/0065-arm-override-compiler-flags.patch index 0d2a4274c..6f1cdcf4d 100644 --- a/target/linux/ipq806x/patches-4.19/0065-arm-override-compiler-flags.patch +++ b/target/linux/ipq806x/patches-4.19/0065-arm-override-compiler-flags.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -67,7 +67,7 @@ KBUILD_CFLAGS += $(call cc-option,-fno-i +@@ -64,7 +64,7 @@ KBUILD_CFLAGS += $(call cc-option,-fno-i # macro, but instead defines a whole series of macros which makes # testing for a specific architecture or later rather impossible. arch-$(CONFIG_CPU_32v7M) =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m diff --git a/target/linux/ipq806x/patches-4.19/0067-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/ipq806x/patches-4.19/0067-generic-Mangle-bootloader-s-kernel-arguments.patch index c7123eac5..b7b9c991e 100644 --- a/target/linux/ipq806x/patches-4.19/0067-generic-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/ipq806x/patches-4.19/0067-generic-Mangle-bootloader-s-kernel-arguments.patch @@ -22,7 +22,7 @@ Signed-off-by: Adrian Panella --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1938,6 +1938,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN +@@ -1926,6 +1926,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN The command-line arguments provided by the boot loader will be appended to the the device tree bootargs property. @@ -157,9 +157,9 @@ Signed-off-by: Adrian Panella } --- a/init/main.c +++ b/init/main.c -@@ -95,6 +95,10 @@ - #include - #include +@@ -102,6 +102,10 @@ + #define CREATE_TRACE_POINTS + #include +#if defined(CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE) +#include @@ -168,10 +168,10 @@ Signed-off-by: Adrian Panella static int kernel_init(void *); extern void init_IRQ(void); -@@ -574,6 +578,18 @@ asmlinkage __visible void __init start_k - page_alloc_init(); - +@@ -593,6 +597,18 @@ asmlinkage __visible void __init start_k pr_notice("Kernel command line: %s\n", boot_command_line); + /* parameters may set static keys */ + jump_label_init(); + +#if defined(CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE) + //Show bootloader's original command line for reference diff --git a/target/linux/ipq806x/patches-4.19/0069-arm-boot-add-dts-files.patch b/target/linux/ipq806x/patches-4.19/0069-arm-boot-add-dts-files.patch index e11378b42..77ce4c424 100644 --- a/target/linux/ipq806x/patches-4.19/0069-arm-boot-add-dts-files.patch +++ b/target/linux/ipq806x/patches-4.19/0069-arm-boot-add-dts-files.patch @@ -10,9 +10,9 @@ Signed-off-by: John Crispin --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -699,6 +699,18 @@ dtb-$(CONFIG_ARCH_QCOM) += \ - qcom-apq8084-mtp.dtb \ - qcom-ipq4019-ap.dk01.1-c1.dtb \ +@@ -791,6 +791,18 @@ dtb-$(CONFIG_ARCH_QCOM) += \ + qcom-ipq4019-ap.dk07.1-c1.dtb \ + qcom-ipq4019-ap.dk07.1-c2.dtb \ qcom-ipq8064-ap148.dtb \ + qcom-ipq8064-c2600.dtb \ + qcom-ipq8064-d7800.dtb \ @@ -28,4 +28,4 @@ Signed-off-by: John Crispin + qcom-ipq8065-r7800.dtb \ qcom-msm8660-surf.dtb \ qcom-msm8960-cdp.dtb \ - qcom-msm8974-lge-nexus5-hammerhead.dtb \ + qcom-msm8974-fairphone-fp2.dtb \ diff --git a/target/linux/ipq806x/patches-4.19/0071-1-PCI-qcom-Fixed-IPQ806x-specific-clocks.patch b/target/linux/ipq806x/patches-4.19/0071-1-PCI-qcom-Fixed-IPQ806x-specific-clocks.patch index 7064da973..3a3e0a000 100644 --- a/target/linux/ipq806x/patches-4.19/0071-1-PCI-qcom-Fixed-IPQ806x-specific-clocks.patch +++ b/target/linux/ipq806x/patches-4.19/0071-1-PCI-qcom-Fixed-IPQ806x-specific-clocks.patch @@ -9,7 +9,7 @@ Signed-off-by: Sham Muthayyan --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -91,6 +91,8 @@ struct qcom_pcie_resources_2_1_0 { +@@ -85,6 +85,8 @@ struct qcom_pcie_resources_2_1_0 { struct clk *iface_clk; struct clk *core_clk; struct clk *phy_clk; @@ -18,7 +18,7 @@ Signed-off-by: Sham Muthayyan struct reset_control *pci_reset; struct reset_control *axi_reset; struct reset_control *ahb_reset; -@@ -249,6 +251,14 @@ static int qcom_pcie_get_resources_2_1_0 +@@ -235,6 +237,14 @@ static int qcom_pcie_get_resources_2_1_0 if (IS_ERR(res->phy_clk)) return PTR_ERR(res->phy_clk); @@ -33,7 +33,7 @@ Signed-off-by: Sham Muthayyan res->pci_reset = devm_reset_control_get_exclusive(dev, "pci"); if (IS_ERR(res->pci_reset)) return PTR_ERR(res->pci_reset); -@@ -281,6 +291,8 @@ static void qcom_pcie_deinit_2_1_0(struc +@@ -267,6 +277,8 @@ static void qcom_pcie_deinit_2_1_0(struc clk_disable_unprepare(res->iface_clk); clk_disable_unprepare(res->core_clk); clk_disable_unprepare(res->phy_clk); @@ -42,7 +42,7 @@ Signed-off-by: Sham Muthayyan regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies); } -@@ -324,16 +336,28 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -296,16 +308,28 @@ static int qcom_pcie_init_2_1_0(struct q goto err_assert_ahb; } @@ -74,7 +74,7 @@ Signed-off-by: Sham Muthayyan } ret = reset_control_deassert(res->ahb_reset); -@@ -389,10 +413,14 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -361,10 +385,14 @@ static int qcom_pcie_init_2_1_0(struct q return 0; err_deassert_ahb: @@ -90,4 +90,4 @@ Signed-off-by: Sham Muthayyan +err_clk_core: clk_disable_unprepare(res->iface_clk); err_assert_ahb: - regulator_disable(res->vdda_phy); + regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies); diff --git a/target/linux/ipq806x/patches-4.19/0071-2-PCI-qcom-Fixed-IPQ806x-PCIE-reset-changes.patch b/target/linux/ipq806x/patches-4.19/0071-2-PCI-qcom-Fixed-IPQ806x-PCIE-reset-changes.patch index 66357d273..5bd865a42 100644 --- a/target/linux/ipq806x/patches-4.19/0071-2-PCI-qcom-Fixed-IPQ806x-PCIE-reset-changes.patch +++ b/target/linux/ipq806x/patches-4.19/0071-2-PCI-qcom-Fixed-IPQ806x-PCIE-reset-changes.patch @@ -9,7 +9,7 @@ Signed-off-by: Sham Muthayyan --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -98,6 +98,7 @@ struct qcom_pcie_resources_2_1_0 { +@@ -92,6 +92,7 @@ struct qcom_pcie_resources_2_1_0 { struct reset_control *ahb_reset; struct reset_control *por_reset; struct reset_control *phy_reset; @@ -17,7 +17,7 @@ Signed-off-by: Sham Muthayyan struct regulator_bulk_data supplies[QCOM_PCIE_2_1_0_MAX_SUPPLY]; }; -@@ -275,6 +276,10 @@ static int qcom_pcie_get_resources_2_1_0 +@@ -261,6 +262,10 @@ static int qcom_pcie_get_resources_2_1_0 if (IS_ERR(res->por_reset)) return PTR_ERR(res->por_reset); @@ -28,7 +28,7 @@ Signed-off-by: Sham Muthayyan res->phy_reset = devm_reset_control_get_exclusive(dev, "phy"); return PTR_ERR_OR_ZERO(res->phy_reset); } -@@ -288,6 +293,7 @@ static void qcom_pcie_deinit_2_1_0(struc +@@ -274,6 +279,7 @@ static void qcom_pcie_deinit_2_1_0(struc reset_control_assert(res->ahb_reset); reset_control_assert(res->por_reset); reset_control_assert(res->pci_reset); @@ -36,10 +36,10 @@ Signed-off-by: Sham Muthayyan clk_disable_unprepare(res->iface_clk); clk_disable_unprepare(res->core_clk); clk_disable_unprepare(res->phy_clk); -@@ -306,6 +312,12 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -290,15 +296,21 @@ static int qcom_pcie_init_2_1_0(struct q u32 val; int ret; - + + ret = reset_control_assert(res->ahb_reset); + if (ret) { + dev_err(dev, "cannot assert ahb reset\n"); @@ -49,7 +49,6 @@ Signed-off-by: Sham Muthayyan ret = regulator_bulk_enable(ARRAY_SIZE(res->supplies), res->supplies); if (ret < 0) { dev_err(dev, "cannot enable regulators\n"); -@@ -324,9 +336,9 @@ static int qcom_pcie_init_2_1_0(struct q return ret; } diff --git a/target/linux/ipq806x/patches-4.19/0071-3-PCI-qcom-Fixed-IPQ806x-PCIE-init-changes.patch b/target/linux/ipq806x/patches-4.19/0071-3-PCI-qcom-Fixed-IPQ806x-PCIE-init-changes.patch index 01c740ce1..dde8fbaa7 100644 --- a/target/linux/ipq806x/patches-4.19/0071-3-PCI-qcom-Fixed-IPQ806x-PCIE-init-changes.patch +++ b/target/linux/ipq806x/patches-4.19/0071-3-PCI-qcom-Fixed-IPQ806x-PCIE-init-changes.patch @@ -9,7 +9,7 @@ Signed-off-by: Sham Muthayyan --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -52,7 +52,13 @@ +@@ -45,7 +45,13 @@ #define PCIE_CAP_CPL_TIMEOUT_DISABLE 0x10 #define PCIE20_PARF_PHY_CTRL 0x40 @@ -23,7 +23,7 @@ Signed-off-by: Sham Muthayyan #define PCIE20_PARF_DBI_BASE_ADDR 0x168 #define PCIE20_PARF_SLV_ADDR_SPACE_SIZE 0x16C #define PCIE20_PARF_MHI_CLOCK_RESET_CTRL 0x174 -@@ -83,6 +89,18 @@ +@@ -76,6 +82,18 @@ #define DBI_RO_WR_EN 1 #define PERST_DELAY_US 1000 @@ -42,15 +42,15 @@ Signed-off-by: Sham Muthayyan #define PCIE20_v3_PARF_SLV_ADDR_SPACE_SIZE 0x358 #define SLV_ADDR_SPACE_SZ 0x10000000 -@@ -102,6 +120,7 @@ struct qcom_pcie_resources_2_1_0 { - struct reset_control *por_reset; +@@ -94,6 +112,7 @@ struct qcom_pcie_resources_2_1_0 { struct reset_control *phy_reset; + struct reset_control *ext_reset; struct regulator_bulk_data supplies[QCOM_PCIE_2_1_0_MAX_SUPPLY]; + uint8_t phy_tx0_term_offset; }; struct qcom_pcie_resources_1_0_0 { -@@ -179,6 +198,16 @@ struct qcom_pcie { +@@ -173,6 +192,16 @@ struct qcom_pcie { #define to_qcom_pcie(x) dev_get_drvdata((x)->dev) @@ -67,7 +67,7 @@ Signed-off-by: Sham Muthayyan static void qcom_ep_reset_assert(struct qcom_pcie *pcie) { gpiod_set_value_cansleep(pcie->reset, 1); -@@ -280,6 +309,10 @@ static int qcom_pcie_get_resources_2_1_0 +@@ -266,6 +295,10 @@ static int qcom_pcie_get_resources_2_1_0 if (IS_ERR(res->ext_reset)) return PTR_ERR(res->ext_reset); @@ -78,7 +78,7 @@ Signed-off-by: Sham Muthayyan res->phy_reset = devm_reset_control_get_exclusive(dev, "phy"); return PTR_ERR_OR_ZERO(res->phy_reset); } -@@ -309,7 +342,6 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -293,7 +326,6 @@ static int qcom_pcie_init_2_1_0(struct q struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0; struct dw_pcie *pci = pcie->pci; struct device *dev = pci->dev; @@ -86,7 +86,7 @@ Signed-off-by: Sham Muthayyan int ret; ret = reset_control_assert(res->ahb_reset); -@@ -378,15 +410,26 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -350,15 +382,26 @@ static int qcom_pcie_init_2_1_0(struct q goto err_deassert_ahb; } diff --git a/target/linux/ipq806x/patches-4.19/0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x.patch b/target/linux/ipq806x/patches-4.19/0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x.patch index be56f74aa..f6ebe0c0a 100644 --- a/target/linux/ipq806x/patches-4.19/0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x.patch +++ b/target/linux/ipq806x/patches-4.19/0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x.patch @@ -11,7 +11,7 @@ Signed-off-by: Sham Muthayyan --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -83,6 +83,30 @@ +@@ -76,6 +76,30 @@ #define PCIE20_CAP_LINK_1 (PCIE20_CAP + 0x14) #define PCIE_CAP_LINK1_VAL 0x2FD7F @@ -42,7 +42,7 @@ Signed-off-by: Sham Muthayyan #define PCIE20_PARF_Q2A_FLUSH 0x1AC #define PCIE20_MISC_CONTROL_1_REG 0x8BC -@@ -251,6 +275,57 @@ static void qcom_pcie_2_1_0_ltssm_enable +@@ -240,6 +264,57 @@ static void qcom_pcie_2_1_0_ltssm_enable writel(val, pcie->elbi + PCIE20_ELBI_SYS_CTRL); } @@ -100,7 +100,7 @@ Signed-off-by: Sham Muthayyan static int qcom_pcie_get_resources_2_1_0(struct qcom_pcie *pcie) { struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0; -@@ -465,6 +540,9 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -437,6 +512,9 @@ static int qcom_pcie_init_2_1_0(struct q writel(CFG_BRIDGE_SB_INIT, pci->dbi_base + PCIE20_AXI_MSTR_RESP_COMP_CTRL1); diff --git a/target/linux/ipq806x/patches-4.19/0071-6-PCI-qcom-Force-GEN1-support.patch b/target/linux/ipq806x/patches-4.19/0071-6-PCI-qcom-Force-GEN1-support.patch index 0cf442aa0..c1461e68c 100644 --- a/target/linux/ipq806x/patches-4.19/0071-6-PCI-qcom-Force-GEN1-support.patch +++ b/target/linux/ipq806x/patches-4.19/0071-6-PCI-qcom-Force-GEN1-support.patch @@ -9,7 +9,7 @@ Signed-off-by: Sham Muthayyan --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -129,6 +129,8 @@ +@@ -122,6 +122,8 @@ #define PCIE20_v3_PARF_SLV_ADDR_SPACE_SIZE 0x358 #define SLV_ADDR_SPACE_SZ 0x10000000 @@ -18,7 +18,7 @@ Signed-off-by: Sham Muthayyan #define QCOM_PCIE_2_1_0_MAX_SUPPLY 3 struct qcom_pcie_resources_2_1_0 { struct clk *iface_clk; -@@ -218,6 +220,7 @@ struct qcom_pcie { +@@ -212,6 +214,7 @@ struct qcom_pcie { struct phy *phy; struct gpio_desc *reset; const struct qcom_pcie_ops *ops; @@ -26,7 +26,7 @@ Signed-off-by: Sham Muthayyan }; #define to_qcom_pcie(x) dev_get_drvdata((x)->dev) -@@ -532,6 +535,11 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -504,6 +507,11 @@ static int qcom_pcie_init_2_1_0(struct q /* wait for clock acquisition */ usleep_range(1000, 1500); @@ -38,7 +38,7 @@ Signed-off-by: Sham Muthayyan /* Set the Max TLP size to 2K, instead of using default of 4K */ -@@ -1382,6 +1390,8 @@ static int qcom_pcie_probe(struct platfo +@@ -1367,6 +1375,8 @@ static int qcom_pcie_probe(struct platfo struct dw_pcie *pci; struct qcom_pcie *pcie; int ret; @@ -47,13 +47,13 @@ Signed-off-by: Sham Muthayyan pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); if (!pcie) -@@ -1403,6 +1413,9 @@ static int qcom_pcie_probe(struct platfo - if (IS_ERR(pcie->reset)) - return PTR_ERR(pcie->reset); +@@ -1397,6 +1407,9 @@ static int qcom_pcie_probe(struct platfo + goto err_pm_runtime_put; + } + of_property_read_u32(np, "force_gen1", &force_gen1); + pcie->force_gen1 = force_gen1; + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "parf"); pcie->parf = devm_ioremap_resource(dev, res); - if (IS_ERR(pcie->parf)) + if (IS_ERR(pcie->parf)) { diff --git a/target/linux/ipq806x/patches-4.19/0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B.patch b/target/linux/ipq806x/patches-4.19/0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B.patch index e2c1f0512..e7b5b6f9a 100644 --- a/target/linux/ipq806x/patches-4.19/0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B.patch +++ b/target/linux/ipq806x/patches-4.19/0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B.patch @@ -16,7 +16,7 @@ Signed-off-by: Gokul Sriram Palanisamy --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -131,6 +131,14 @@ +@@ -124,6 +124,14 @@ #define PCIE20_LNK_CONTROL2_LINK_STATUS2 0xA0 @@ -31,8 +31,8 @@ Signed-off-by: Gokul Sriram Palanisamy #define QCOM_PCIE_2_1_0_MAX_SUPPLY 3 struct qcom_pcie_resources_2_1_0 { struct clk *iface_clk; -@@ -1472,6 +1480,35 @@ static int qcom_pcie_probe(struct platfo - return 0; +@@ -1475,6 +1483,35 @@ err_pm_runtime_put: + return ret; } +static void qcom_pcie_fixup_final(struct pci_dev *dev) diff --git a/target/linux/ipq806x/patches-4.19/0071-8-pcie-qcom-Fixed-pcie_phy_clk-branch-issue.patch b/target/linux/ipq806x/patches-4.19/0071-8-pcie-qcom-Fixed-pcie_phy_clk-branch-issue.patch index a00df30b8..7cbeb3bed 100644 --- a/target/linux/ipq806x/patches-4.19/0071-8-pcie-qcom-Fixed-pcie_phy_clk-branch-issue.patch +++ b/target/linux/ipq806x/patches-4.19/0071-8-pcie-qcom-Fixed-pcie_phy_clk-branch-issue.patch @@ -38,7 +38,7 @@ Signed-off-by: Abhishek Sahu --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -407,6 +407,7 @@ static void qcom_pcie_deinit_2_1_0(struc +@@ -393,6 +393,7 @@ static void qcom_pcie_deinit_2_1_0(struc { struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0; @@ -46,15 +46,15 @@ Signed-off-by: Abhishek Sahu reset_control_assert(res->pci_reset); reset_control_assert(res->axi_reset); reset_control_assert(res->ahb_reset); -@@ -415,7 +416,6 @@ static void qcom_pcie_deinit_2_1_0(struc +@@ -401,7 +402,6 @@ static void qcom_pcie_deinit_2_1_0(struc reset_control_assert(res->ext_reset); clk_disable_unprepare(res->iface_clk); clk_disable_unprepare(res->core_clk); - clk_disable_unprepare(res->phy_clk); clk_disable_unprepare(res->aux_clk); clk_disable_unprepare(res->ref_clk); - regulator_disable(res->vdda); -@@ -472,12 +472,6 @@ static int qcom_pcie_init_2_1_0(struct q + regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies); +@@ -444,12 +444,6 @@ static int qcom_pcie_init_2_1_0(struct q goto err_clk_core; } @@ -67,7 +67,7 @@ Signed-off-by: Abhishek Sahu ret = clk_prepare_enable(res->aux_clk); if (ret) { dev_err(dev, "cannot prepare/enable aux clock\n"); -@@ -541,6 +535,12 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -513,6 +507,12 @@ static int qcom_pcie_init_2_1_0(struct q return ret; } @@ -80,7 +80,7 @@ Signed-off-by: Abhishek Sahu /* wait for clock acquisition */ usleep_range(1000, 1500); if (pcie->force_gen1) { -@@ -566,8 +566,6 @@ err_deassert_ahb: +@@ -538,8 +538,6 @@ err_deassert_ahb: err_clk_ref: clk_disable_unprepare(res->aux_clk); err_clk_aux: diff --git a/target/linux/ipq806x/patches-4.19/0071-9-pcie-qcom-change-duplicate-pci-reset-to-phy-reset.patch b/target/linux/ipq806x/patches-4.19/0071-9-pcie-qcom-change-duplicate-pci-reset-to-phy-reset.patch index 1847fe40c..3fff78bfd 100644 --- a/target/linux/ipq806x/patches-4.19/0071-9-pcie-qcom-change-duplicate-pci-reset-to-phy-reset.patch +++ b/target/linux/ipq806x/patches-4.19/0071-9-pcie-qcom-change-duplicate-pci-reset-to-phy-reset.patch @@ -14,7 +14,7 @@ Signed-off-by: Abhishek Sahu --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -408,7 +408,7 @@ static void qcom_pcie_deinit_2_1_0(struc +@@ -394,7 +394,7 @@ static void qcom_pcie_deinit_2_1_0(struc struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0; clk_disable_unprepare(res->phy_clk); diff --git a/target/linux/ipq806x/patches-4.19/0072-add-ipq806x-with-no-clocks.patch b/target/linux/ipq806x/patches-4.19/0072-add-ipq806x-with-no-clocks.patch index 035281f66..76c7cfd56 100644 --- a/target/linux/ipq806x/patches-4.19/0072-add-ipq806x-with-no-clocks.patch +++ b/target/linux/ipq806x/patches-4.19/0072-add-ipq806x-with-no-clocks.patch @@ -1,7 +1,7 @@ --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c -@@ -422,6 +422,9 @@ static const struct of_device_id qcom_sc - { .compatible = "qcom,scm-msm8996", +@@ -609,6 +609,9 @@ static const struct of_device_id qcom_sc + { .compatible = "qcom,scm-ipq4019", .data = NULL, /* no clocks */ }, + { .compatible = "qcom,scm-ipq806x", diff --git a/target/linux/ipq806x/patches-4.19/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch b/target/linux/ipq806x/patches-4.19/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch index 4847973a2..78a5bb417 100644 --- a/target/linux/ipq806x/patches-4.19/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch +++ b/target/linux/ipq806x/patches-4.19/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch @@ -24,7 +24,7 @@ Signed-off-by: Ajay Kishore #include "../core.h" #include "../pinconf.h" #include "pinctrl-msm.h" -@@ -646,6 +647,9 @@ static void msm_gpio_irq_ack(struct irq_ +@@ -628,6 +629,9 @@ static void msm_gpio_irq_mask(struct irq const struct msm_pingroup *g; unsigned long flags; u32 val; @@ -34,7 +34,7 @@ Signed-off-by: Ajay Kishore g = &pctrl->soc->groups[d->hwirq]; -@@ -684,11 +688,30 @@ static int msm_gpio_irq_set_type(struct +@@ -732,11 +736,30 @@ static int msm_gpio_irq_set_type(struct else clear_bit(d->hwirq, pctrl->dual_edge_irqs); diff --git a/target/linux/ipq806x/patches-4.19/080-ARM-dts-qcom-add-gpio-ranges-property.patch b/target/linux/ipq806x/patches-4.19/080-ARM-dts-qcom-add-gpio-ranges-property.patch index 3c1b8fccd..1ab070bda 100644 --- a/target/linux/ipq806x/patches-4.19/080-ARM-dts-qcom-add-gpio-ranges-property.patch +++ b/target/linux/ipq806x/patches-4.19/080-ARM-dts-qcom-add-gpio-ranges-property.patch @@ -60,7 +60,7 @@ will be executed twice with the same parameters for the same pinctrl. --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi -@@ -108,6 +108,7 @@ +@@ -668,6 +668,7 @@ reg = <0x800000 0x4000>; gpio-controller;