CONFIG_BLK_SCSI_REQUEST=y
# CONFIG_BRCMSTB_THERMAL is not set
CONFIG_BRCM_CHAR_DRIVERS=y
-# CONFIG_BT_MTKUART is not set
CONFIG_BUILD_BIN2C=y
# CONFIG_CACHE_L2X0 is not set
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_UID16=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
-# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HW_CONSOLE=y
CONFIG_HZ_FIXED=0
CONFIG_I2C=y
CONFIG_TIMER_PROBE=y
CONFIG_TINY_SRCU=y
CONFIG_TMPFS_POSIX_ACL=y
-# CONFIG_TOUCHSCREEN_RPI_FT5406 is not set
CONFIG_UEVENT_HELPER_PATH=""
# CONFIG_UID16 is not set
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
CONFIG_BRCMSTB_THERMAL=y
CONFIG_BRCM_CHAR_DRIVERS=y
CONFIG_BROADCOM_PHY=y
-# CONFIG_BT_MTKUART is not set
CONFIG_BUILD_BIN2C=y
# CONFIG_CACHE_L2X0 is not set
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_ENABLE_MUST_CHECK=y
-# CONFIG_EXTCON_ARIZONA is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_UID16=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
-# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
CONFIG_HOTPLUG_CPU=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_IRQ_WORK=y
CONFIG_JBD2=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_XZ is not set
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGER_INPUT=y
CONFIG_PADATA=y
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_PCI=y
+CONFIG_PCIEAER=y
+CONFIG_PCIEPORTBUS=y
CONFIG_PCIE_BRCMSTB=y
+CONFIG_PCIE_PME=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_DOMAINS_GENERIC=y
CONFIG_PCI_MSI=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_POWER_SUPPLY=y
CONFIG_PRINTK_TIME=y
+CONFIG_RAS=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_RASPBERRYPI_POWER=y
CONFIG_RATIONAL=y
CONFIG_TIMER_OF=y
CONFIG_TIMER_PROBE=y
CONFIG_TMPFS_POSIX_ACL=y
-# CONFIG_TOUCHSCREEN_RPI_FT5406 is not set
CONFIG_TREE_RCU=y
CONFIG_TREE_SRCU=y
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_XPS=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_BCJ=y
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0
+CONFIG_ZBOOT_ROM_TEXT=0
CONFIG_BLK_SCSI_REQUEST=y
CONFIG_BRCMSTB_THERMAL=y
CONFIG_BRCM_CHAR_DRIVERS=y
-# CONFIG_BT_MTKUART is not set
CONFIG_BUILD_BIN2C=y
CONFIG_CAVIUM_ERRATUM_22375=y
CONFIG_CAVIUM_ERRATUM_23154=y
CONFIG_DMA_DIRECT_OPS=y
CONFIG_DMA_ENGINE=y
CONFIG_DMA_OF=y
+CONFIG_DMA_SHARED_BUFFER=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DNOTIFY=y
CONFIG_DTC=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_EDAC_SUPPORT=y
CONFIG_ENABLE_MUST_CHECK=y
-# CONFIG_EXTCON_ARIZONA is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
-# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HOLES_IN_ZONE=y
CONFIG_HOTPLUG_CPU=y
# CONFIG_HUGETLBFS is not set
CONFIG_TIMER_OF=y
CONFIG_TIMER_PROBE=y
CONFIG_TMPFS_POSIX_ACL=y
-# CONFIG_TOUCHSCREEN_RPI_FT5406 is not set
CONFIG_TREE_RCU=y
CONFIG_TREE_SRCU=y
CONFIG_UEVENT_HELPER_PATH=""
$(eval $(call KernelPackage,sound-soc-hifiberry-dacplusadc))
+define KernelPackage/sound-soc-hifiberry-dacplusadc-pro
+ TITLE:=Support for HifiBerry DAC+ADC PRO
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO \
+ CONFIG_SND_SOC_PCM186X \
+ CONFIG_SND_SOC_PCM186X_I2C \
+ CONFIG_SND_SOC_PCM512x \
+ CONFIG_SND_SOC_PCM512x_I2C
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplusadcpro.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm186x.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm186x-i2c.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm186x snd-soc-pcm186x-i2c \
+ snd-soc-pcm512x snd-soc-pcm512x-i2c snd-soc-hifiberry-dacplusadcpro)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2835 \
+ +kmod-regmap-i2c
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-hifiberry-dacplusadc-pro/description
+ This package contains support for HifiBerry DAC+ADC PRO
+endef
+
+$(eval $(call KernelPackage,sound-soc-hifiberry-dacplusadc-pro))
+
+
define KernelPackage/sound-soc-hifiberry-digi
TITLE:=Support for HifiBerry Digi / Digi+ / Digi+ Pro
KCONFIG:= \
--- a/drivers/net/can/spi/mcp251x.c
+++ b/drivers/net/can/spi/mcp251x.c
-@@ -951,6 +951,9 @@ static int mcp251x_open(struct net_devic
+@@ -952,6 +952,9 @@ static int mcp251x_open(struct net_devic
priv->tx_skb = NULL;
priv->tx_len = 0;
--- a/drivers/usb/gadget/function/u_ether.c
+++ b/drivers/usb/gadget/function/u_ether.c
-@@ -850,6 +850,10 @@ struct net_device *gether_setup_name_def
+@@ -848,6 +848,10 @@ struct net_device *gether_setup_name_def
net->ethtool_ops = &ops;
SET_NETDEV_DEVTYPE(net, &gadget_type);
-From d76972193fe88bb13028ba8277736a6aec4b8c8a Mon Sep 17 00:00:00 2001
+From 623cca7c1ef73b6b164d487d3bb3b2bddc60abab Mon Sep 17 00:00:00 2001
From: Dan Pasanen <dan.pasanen@gmail.com>
Date: Thu, 21 Sep 2017 09:55:42 -0500
-Subject: [PATCH 001/703] arm: partially revert
+Subject: [PATCH 001/725] arm: partially revert
702b94bff3c50542a6e4ab9a4f4cef093262fe65
* Re-expose some dmi APIs for use in VCSM
-From 8f4948a1503a76cbeb5823d8b17990bf3a3c57a6 Mon Sep 17 00:00:00 2001
+From b356c22b7c3cce97ba7c20af22f508510387a3f2 Mon Sep 17 00:00:00 2001
From: Steve Glendinning <steve.glendinning@smsc.com>
Date: Thu, 19 Feb 2015 18:47:12 +0000
-Subject: [PATCH 002/703] smsx95xx: fix crimes against truesize
+Subject: [PATCH 002/725] 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.
-From 623b0f5e0a439af4beef58317b224d4d3d2a969c Mon Sep 17 00:00:00 2001
+From 440ed9d083956067ffbaaefd3e2411b746126593 Mon Sep 17 00:00:00 2001
From: Sam Nazarko <email@samnazarko.co.uk>
Date: Fri, 1 Apr 2016 17:27:21 +0100
-Subject: [PATCH 003/703] smsc95xx: Experimental: Enable turbo_mode and
+Subject: [PATCH 003/725] smsc95xx: Experimental: Enable turbo_mode and
packetsize=2560 by default
See: http://forum.kodi.tv/showthread.php?tid=285288
-From 80592905099a4f0fa5d166d58785eacef968ba4e Mon Sep 17 00:00:00 2001
+From 3590eb29c3b4307a50daf24c1d58e188b1aaf65d Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 26 Mar 2013 17:26:38 +0000
-Subject: [PATCH 004/703] Allow mac address to be set in smsc95xx
+Subject: [PATCH 004/725] Allow mac address to be set in smsc95xx
Signed-off-by: popcornmix <popcornmix@gmail.com>
---
-From b5e65f6a5a75c72d56d98c9543ff549710aa2d72 Mon Sep 17 00:00:00 2001
+From 42773929bcec27d195b93b11c10527be7fccd2d8 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 13 Mar 2015 12:43:36 +0000
-Subject: [PATCH 005/703] Protect __release_resource against resources without
+Subject: [PATCH 005/725] Protect __release_resource against resources without
parents
Without this patch, removing a device tree overlay can crash here.
-From da00086d33452442af1009580f8e40164fc4e97f Mon Sep 17 00:00:00 2001
+From ca08ef4827614912c6f07fa734a2eede3420a9c6 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 4 Dec 2015 17:41:50 +0000
-Subject: [PATCH 006/703] irq-bcm2836: Prevent spurious interrupts, and trap
+Subject: [PATCH 006/725] irq-bcm2836: Prevent spurious interrupts, and trap
them early
The old arch-specific IRQ macros included a dsb to ensure the
-From 23f28161eadbc84b976b1a6ff4c8e4fdfa38aa93 Mon Sep 17 00:00:00 2001
+From b3b97bc061e22d03569cd7eedaf7cc1b4fb403f3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 9 Feb 2017 14:33:30 +0000
-Subject: [PATCH 007/703] irq-bcm2836: Avoid "Invalid trigger warning"
+Subject: [PATCH 007/725] irq-bcm2836: Avoid "Invalid trigger warning"
Initialise the level for each IRQ to avoid a warning from the
arm arch timer code.
-From 06cc1d14e061ef7169947f09f1e356cec9e0a790 Mon Sep 17 00:00:00 2001
+From 9920e74cfd7571c36fce1caf84736f89e275fe22 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 12 Jun 2015 19:01:05 +0200
-Subject: [PATCH 008/703] irqchip: bcm2835: Add FIQ support
+Subject: [PATCH 008/725] irqchip: bcm2835: Add FIQ support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 9c8894afe627b270aad44c64f4e70c659468d7ed Mon Sep 17 00:00:00 2001
+From b08bd87913c001b0f3d7f86d73abfc2074b0cab2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 23 Oct 2015 16:26:55 +0200
-Subject: [PATCH 009/703] irqchip: irq-bcm2835: Add 2836 FIQ support
+Subject: [PATCH 009/725] irqchip: irq-bcm2835: Add 2836 FIQ support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 97e88641862862585d6ae8aaae034946ceab8ceb Mon Sep 17 00:00:00 2001
+From e73e4e6923289a3055d5fd10c7726fbe358505ad Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 14 Jul 2015 10:26:09 +0100
-Subject: [PATCH 010/703] spidev: Add "spidev" compatible string to silence
+Subject: [PATCH 010/725] spidev: Add "spidev" compatible string to silence
warning
See: https://github.com/raspberrypi/linux/issues/1054
-From 5d9d6d510a0e7d2e3eee1ed663f0157c719c90ec Mon Sep 17 00:00:00 2001
+From e1ebc1b8dcb6990e2541e3503cb2cdd3f5edfc1e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 24 Jun 2015 14:10:44 +0100
-Subject: [PATCH 011/703] spi-bcm2835: Support pin groups other than 7-11
+Subject: [PATCH 011/725] 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
-From 8d654c03c8e0730e67fc4e7d6435da05ddf4e284 Mon Sep 17 00:00:00 2001
+From e901e4ff32c1f3c10342b4607579a1d9613c3c66 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 1 Jul 2016 22:09:24 +0100
-Subject: [PATCH 012/703] spi-bcm2835: Disable forced software CS
+Subject: [PATCH 012/725] 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
-From 5a6dcccb576167d1e50c922bfb7bf6cffbdaa671 Mon Sep 17 00:00:00 2001
+From f1b841cc75bcd8c655c9cd6c3dbed439a1f4d24a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 8 Nov 2016 21:35:38 +0000
-Subject: [PATCH 013/703] spi-bcm2835: Remove unused code
+Subject: [PATCH 013/725] spi-bcm2835: Remove unused code
---
drivers/spi/spi-bcm2835.c | 61 ---------------------------------------
-From abbc7f81bb68293439c0a325b5a590d28b91b819 Mon Sep 17 00:00:00 2001
+From 568609dad2f29b45931c2fc869f87d4abb6c7486 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Sat, 3 Oct 2015 22:22:55 +0200
-Subject: [PATCH 014/703] dmaengine: bcm2835: Load driver early and support
+Subject: [PATCH 014/725] dmaengine: bcm2835: Load driver early and support
legacy API
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
-From 8d00375a0645102bc58fc5c8e4c05efbcfbbbd71 Mon Sep 17 00:00:00 2001
+From 8151b76346ed89410b20db4fb4bc8f1784e0fd19 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 25 Jan 2016 17:25:12 +0000
-Subject: [PATCH 015/703] firmware: Updated mailbox header
+Subject: [PATCH 015/725] firmware: Updated mailbox header
---
include/soc/bcm2835/raspberrypi-firmware.h | 5 +++++
-From afbee813c2e801c74c1732eb4511e5fd32027245 Mon Sep 17 00:00:00 2001
+From 0af4ce25fc884c07db940d61e7677bba37a4130d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 15 Jun 2016 16:48:41 +0100
-Subject: [PATCH 016/703] rtc: Add SPI alias for pcf2123 driver
+Subject: [PATCH 016/725] rtc: Add SPI alias for pcf2123 driver
Without this alias, Device Tree won't cause the driver
to be loaded.
-From 3091f3a65590ab446e9c637377efa55dc3b8996f Mon Sep 17 00:00:00 2001
+From 726d38c5f2aee110f7e3b0f03fc17e5fc69aa8c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 7 Oct 2016 16:50:59 +0200
-Subject: [PATCH 017/703] watchdog: bcm2835: Support setting reboot partition
+Subject: [PATCH 017/725] watchdog: bcm2835: Support setting reboot partition
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 49dc030939b6332a4d1dca0c2b12ea9f559dcf2f Mon Sep 17 00:00:00 2001
+From a48963920cbab4a54fb8c1a12cab6f51249c8938 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 5 Apr 2016 19:40:12 +0100
-Subject: [PATCH 018/703] reboot: Use power off rather than busy spinning when
+Subject: [PATCH 018/725] reboot: Use power off rather than busy spinning when
halt is requested
---
-From 9fdc1aa7e5d82029afb4e14c3ef3613264f6eca0 Mon Sep 17 00:00:00 2001
+From 5b4c3e8bea1e40ae39e8e1d557f71c2262e41740 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 9 Nov 2016 13:02:52 +0000
-Subject: [PATCH 019/703] bcm: Make RASPBERRYPI_POWER depend on PM
+Subject: [PATCH 019/725] bcm: Make RASPBERRYPI_POWER depend on PM
---
drivers/soc/bcm/Kconfig | 1 +
-From 4900c14f9c0f514162496e6a3f71c51a50e7b376 Mon Sep 17 00:00:00 2001
+From 2d35d5929c505731a490ea56a6a78f487c082e01 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Fri, 2 Sep 2016 16:45:27 +0100
-Subject: [PATCH 020/703] Register the clocks early during the boot process, so
+Subject: [PATCH 020/725] 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.
-From bc5b619aa9eaa634e49483c95b3681171cb4d900 Mon Sep 17 00:00:00 2001
+From 241096d58e818f8f471eb141b1183e8b5e8ffea8 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 6 Dec 2016 17:05:39 +0000
-Subject: [PATCH 021/703] bcm2835-rng: Avoid initialising if already enabled
+Subject: [PATCH 021/725] bcm2835-rng: Avoid initialising if already enabled
Avoids the 0x40000 cycles of warmup again if firmware has already used it
---
-From 30a4c0ff154b3ce8fd0df9054d03cee55dacc8d0 Mon Sep 17 00:00:00 2001
+From 8bf56ee660bf07a25ba3a2081d9a498435d16a32 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 24 Aug 2016 16:28:44 +0100
-Subject: [PATCH 022/703] kbuild: Ignore dtco targets when filtering symbols
+Subject: [PATCH 022/725] kbuild: Ignore dtco targets when filtering symbols
---
scripts/Kbuild.include | 2 +-
-From 06ad042c1d3b3471c478fee39a7539ac39b752ff Mon Sep 17 00:00:00 2001
+From a87e7ca656f8b80caf7db0056ba4b6191018359f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 13 Feb 2017 17:20:08 +0000
-Subject: [PATCH 023/703] clk-bcm2835: Mark used PLLs and dividers CRITICAL
+Subject: [PATCH 023/725] 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
-From 14e1d51f1737da7b2bf59df95db6f977179e0497 Mon Sep 17 00:00:00 2001
+From b0d7a3297087a0a78e12e9e8fc41e9c91a114304 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 13 Feb 2017 17:20:08 +0000
-Subject: [PATCH 024/703] clk-bcm2835: Add claim-clocks property
+Subject: [PATCH 024/725] 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,
-From 9e24627b07ac0553c9fc00a069fcc10c22a3cb6f Mon Sep 17 00:00:00 2001
+From 91e0734c2ca8c8629b0537329c7e6d538fa1c085 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 6 Mar 2017 09:06:18 +0000
-Subject: [PATCH 025/703] clk-bcm2835: Read max core clock from firmware
+Subject: [PATCH 025/725] 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
-From fabb3595bd356f058329ff94a3c5e31df5d84217 Mon Sep 17 00:00:00 2001
+From e61099f2c51b1583663e5868f87056d4c11b6e9d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 9 May 2016 17:28:18 -0700
-Subject: [PATCH 026/703] clk: bcm2835: Mark GPIO clocks enabled at boot as
+Subject: [PATCH 026/725] clk: bcm2835: Mark GPIO clocks enabled at boot as
critical.
These divide off of PLLD_PER and are used for the ethernet and wifi
-From 34dfe2b3ea493bc57c2b85280c28dbe0b3c1d1dc Mon Sep 17 00:00:00 2001
+From 4d94da034003c8f8ba44ba4a8abdf5c9cf56d684 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 9 Feb 2017 14:36:44 +0000
-Subject: [PATCH 027/703] sound: Demote deferral errors to INFO level
+Subject: [PATCH 027/725] 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.
-From dae5f48d60cccc2214a09c11b84373988e57e2f5 Mon Sep 17 00:00:00 2001
+From be7a5d79d1f4d8f8db39f092e7f07d8cb05eebf7 Mon Sep 17 00:00:00 2001
From: Claggy3 <stephen.maclagan@hotmail.com>
Date: Sat, 11 Feb 2017 14:00:30 +0000
-Subject: [PATCH 028/703] Update vfpmodule.c
+Subject: [PATCH 028/725] 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
-From c7e79d0b9906e274e220f568ed49e5f00ee5187f Mon Sep 17 00:00:00 2001
+From 97549c7735e937cafdbeff241c9aac738fa560ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Tue, 1 Nov 2016 15:15:41 +0100
-Subject: [PATCH 029/703] i2c: bcm2835: Add debug support
+Subject: [PATCH 029/725] i2c: bcm2835: Add debug support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 72ed3b77a672a8a94dab5d08739fac5b4df488d2 Mon Sep 17 00:00:00 2001
+From 41dda0f0591a3b2e73439a3af562ac937927dd15 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 18 Dec 2014 16:07:15 -0800
-Subject: [PATCH 030/703] mm: Remove the PFN busy warning
+Subject: [PATCH 030/725] mm: Remove the PFN busy warning
See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is
expected sometimes when using CMA. However, that commit still spams
-From 14e894cf24f588a4066b171b846934ebe44afc5d Mon Sep 17 00:00:00 2001
+From 9d9d7ba0d4296bb2b0270a1e5dfbc8a3eb7cf192 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 23 Mar 2017 10:06:56 +0000
-Subject: [PATCH 031/703] ASoC: Add prompt for ICS43432 codec
+Subject: [PATCH 031/725] 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
-From a580882d64f92ec0b025f6ddcfcea985412eb430 Mon Sep 17 00:00:00 2001
+From 1c14a9ccc7c3b57c55374295a4a7a9a80090b095 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 23 Jan 2018 16:52:45 +0000
-Subject: [PATCH 032/703] irqchip: irq-bcm2836: Remove regmap and syscon use
+Subject: [PATCH 032/725] 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
-From a3d3dea9ca36f4f5adbf741f36b06ce05b70c2bb Mon Sep 17 00:00:00 2001
+From 37be14f62e3545c46cd86a11ba68cc036f34c638 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 17 Oct 2017 15:04:29 +0100
-Subject: [PATCH 033/703] lan78xx: Enable LEDs and auto-negotiation
+Subject: [PATCH 033/725] 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
-From 3ff31acbe9b371f1b9247cc50e7751eaf98b4cef Mon Sep 17 00:00:00 2001
+From 00a9f57a05b9f62c1c8b44479b6e700958ef1400 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 23 Feb 2016 17:26:48 +0000
-Subject: [PATCH 034/703] amba_pl011: Don't use DT aliases for numbering
+Subject: [PATCH 034/725] amba_pl011: Don't use DT aliases for numbering
The pl011 driver looks for DT aliases of the form "serial<n>",
and if found uses <n> as the device ID. This can cause
-From 5f626b06eb9efa01ca364a60378b3998d12e2f99 Mon Sep 17 00:00:00 2001
+From f6c9045d3e326e9b3f6c5d93fe09f517443d9075 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 1 Mar 2017 16:07:39 +0000
-Subject: [PATCH 035/703] amba_pl011: Round input clock up
+Subject: [PATCH 035/725] 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
-From 0ebd5e2c627c3c41a1081f6c1b7e7caa13e5b12e Mon Sep 17 00:00:00 2001
+From 95ea844e0a7addac38e0385f5ab4215921e1c86b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 29 Sep 2017 10:32:19 +0100
-Subject: [PATCH 036/703] amba_pl011: Insert mb() for correct FIFO handling
+Subject: [PATCH 036/725] 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
-From 9106531665bc17788096fcbc00dac3dd8a4ba2e8 Mon Sep 17 00:00:00 2001
+From 92cd7f1608ffea6325748373f9464a035743c3c3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 29 Sep 2017 10:32:19 +0100
-Subject: [PATCH 037/703] amba_pl011: Add cts-event-workaround DT property
+Subject: [PATCH 037/725] 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
-From d52da4747de6ca008f86a73fbf153526c164c0ee Mon Sep 17 00:00:00 2001
+From af8d6777f0c606b8c6a472651e4d00c595db8cdf Mon Sep 17 00:00:00 2001
From: notro <notro@tronnes.org>
Date: Thu, 10 Jul 2014 13:59:47 +0200
-Subject: [PATCH 038/703] pinctrl-bcm2835: Set base to 0 give expected gpio
+Subject: [PATCH 038/725] pinctrl-bcm2835: Set base to 0 give expected gpio
numbering
Signed-off-by: Noralf Tronnes <notro@tronnes.org>
-From 712b8ef1f284c70fc5612894c1a793c7d6b96eae Mon Sep 17 00:00:00 2001
+From f395eddcb1dad5b6b2905efa3ccb3916f91cadb9 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 12 May 2013 12:24:19 +0100
-Subject: [PATCH 039/703] Main bcm2708/bcm2709 linux port
+Subject: [PATCH 039/725] Main bcm2708/bcm2709 linux port
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 21ea0e6ad04f26557d5d707f2848c576534d2fa0 Mon Sep 17 00:00:00 2001
+From 7d7d160ca73faa35ab961ce201194ea6c419e9af Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 1 May 2013 19:46:17 +0100
-Subject: [PATCH 040/703] Add dwc_otg driver
+Subject: [PATCH 040/725] Add dwc_otg driver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From a79eeea4c9cecd4770ee03ba8444c01cea34b3c1 Mon Sep 17 00:00:00 2001
+From 051c5a36a676f82455f356ef42279814992fca50 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 17 Jun 2015 17:06:34 +0100
-Subject: [PATCH 041/703] bcm2708 framebuffer driver
+Subject: [PATCH 041/725] bcm2708 framebuffer driver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From a1e59cb06aaa97771f2d39777017f8de6f237507 Mon Sep 17 00:00:00 2001
+From d73294bd1cceb3b51801d136b3ba8b38d3d23b59 Mon Sep 17 00:00:00 2001
From: Harm Hanemaaijer <fgenfb@yahoo.com>
Date: Thu, 20 Jun 2013 20:21:39 +0200
-Subject: [PATCH 042/703] Speed up console framebuffer imageblit function
+Subject: [PATCH 042/725] 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
-From 3b7f7192307a3cc84215a42c42065758dd638986 Mon Sep 17 00:00:00 2001
+From 4a615d508ab20ee974c7f787739157ad86fcd410 Mon Sep 17 00:00:00 2001
From: Florian Meier <florian.meier@koalo.de>
Date: Fri, 22 Nov 2013 14:22:53 +0100
-Subject: [PATCH 043/703] dmaengine: Add support for BCM2708
+Subject: [PATCH 043/725] dmaengine: Add support for BCM2708
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From c34520567bf3dbca64cb871dacab7230c61726f6 Mon Sep 17 00:00:00 2001
+From b780980e2f381fd19c8d42af07d3d0b8aac3a8e2 Mon Sep 17 00:00:00 2001
From: gellert <gellert@raspberrypi.org>
Date: Fri, 15 Aug 2014 16:35:06 +0100
-Subject: [PATCH 044/703] MMC: added alternative MMC driver
+Subject: [PATCH 044/725] MMC: added alternative MMC driver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 878b9058f3939881f570d84e8584f5ff9f79a847 Mon Sep 17 00:00:00 2001
+From d09bc280308712a775258a4ddf6198ba0d3bcfd5 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 25 Mar 2015 17:49:47 +0000
-Subject: [PATCH 045/703] Adding bcm2835-sdhost driver, and an overlay to
+Subject: [PATCH 045/725] Adding bcm2835-sdhost driver, and an overlay to
enable it
BCM2835 has two SD card interfaces. This driver uses the other one.
-From 93e55dab09f9790d4cb547a9ac0a3c4803e682db Mon Sep 17 00:00:00 2001
+From 754aa63cbba18514970ea307d54fdfe4eb7072ea Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 28 Oct 2016 15:36:43 +0100
-Subject: [PATCH 046/703] vc_mem: Add vc_mem driver for querying firmware
+Subject: [PATCH 046/725] vc_mem: Add vc_mem driver for querying firmware
memory addresses
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
-From 949b8ddbdd7d0865f71b93cc3774b738f229062a Mon Sep 17 00:00:00 2001
+From 42afc949534ce6402c3e2e13d7c939af45573376 Mon Sep 17 00:00:00 2001
From: Tim Gover <tgover@broadcom.com>
Date: Tue, 22 Jul 2014 15:41:04 +0100
-Subject: [PATCH 047/703] vcsm: VideoCore shared memory service for BCM2835
+Subject: [PATCH 047/725] vcsm: VideoCore shared memory service for BCM2835
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 1a2c16ef68cbba94eee5d916e77269bca572830d Mon Sep 17 00:00:00 2001
+From 66a15ff847fb92d85deb19e694d999ad5d806401 Mon Sep 17 00:00:00 2001
From: Luke Wren <luke@raspberrypi.org>
Date: Fri, 21 Aug 2015 23:14:48 +0100
-Subject: [PATCH 048/703] Add /dev/gpiomem device for rootless user GPIO access
+Subject: [PATCH 048/725] Add /dev/gpiomem device for rootless user GPIO access
Signed-off-by: Luke Wren <luke@raspberrypi.org>
-From edaa95330a802b1bcc26cfcd90404ebadd82965b Mon Sep 17 00:00:00 2001
+From dfb42085ee75db965bffe304287bea68b93b4b39 Mon Sep 17 00:00:00 2001
From: Luke Wren <wren6991@gmail.com>
Date: Sat, 5 Sep 2015 01:14:45 +0100
-Subject: [PATCH 049/703] Add SMI driver
+Subject: [PATCH 049/725] Add SMI driver
Signed-off-by: Luke Wren <wren6991@gmail.com>
---
-From 1216c1cccdd7e1eafd6859c9522cdef5c2e4ac8d Mon Sep 17 00:00:00 2001
+From f468b36a6b998cf9848bfcc24370cf13b2730b93 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Tue, 26 Apr 2016 14:59:21 +0000
-Subject: [PATCH 050/703] MISC: bcm2835: smi: use clock manager and fix reload
+Subject: [PATCH 050/725] MISC: bcm2835: smi: use clock manager and fix reload
issues
Use clock manager instead of self-made clockmanager.
-From a3f0263e2d5deb675dfe7fb0c31167e86d762e27 Mon Sep 17 00:00:00 2001
+From 680df120e2054ce209e24415795a972bf76826b3 Mon Sep 17 00:00:00 2001
From: Luke Wren <wren6991@gmail.com>
Date: Sat, 5 Sep 2015 01:16:10 +0100
-Subject: [PATCH 051/703] Add SMI NAND driver
+Subject: [PATCH 051/725] Add SMI NAND driver
Signed-off-by: Luke Wren <wren6991@gmail.com>
---
-From 6ae7a56fdff2578805c6f17f03b5bc1b1f9d45a8 Mon Sep 17 00:00:00 2001
+From 7e52446393c3cc4200fa08dcfd1ea555d77c7068 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 3 Jul 2013 00:49:20 +0100
-Subject: [PATCH 052/703] Add cpufreq driver
+Subject: [PATCH 052/725] Add cpufreq driver
Signed-off-by: popcornmix <popcornmix@gmail.com>
-From 3ae115e0812cdaaa3404c84354f40f1e1402fadf Mon Sep 17 00:00:00 2001
+From 92480253067c3534b16f4827f075f5590120b046 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 17 Jun 2015 15:44:08 +0100
-Subject: [PATCH 053/703] Add Chris Boot's i2c driver
+Subject: [PATCH 053/725] Add Chris Boot's i2c driver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 9fc71e9f5ee71c3f91b43c8c94a0db17349b938c Mon Sep 17 00:00:00 2001
+From a9c2c59a13c9138494b3adb1ce918def9825c376 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 26 Jun 2015 14:27:06 +0200
-Subject: [PATCH 054/703] char: broadcom: Add vcio module
+Subject: [PATCH 054/725] char: broadcom: Add vcio module
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 2df6434c1ff682a80f65bde7a9e026f4e0d20df1 Mon Sep 17 00:00:00 2001
+From c31f46a51f80fe435de05dc07859291d3540c096 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 26 Jun 2015 14:25:01 +0200
-Subject: [PATCH 055/703] firmware: bcm2835: Support ARCH_BCM270x
+Subject: [PATCH 055/725] firmware: bcm2835: Support ARCH_BCM270x
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From bce7a71e1f399b6dcea8a145cc5fff4653450c50 Mon Sep 17 00:00:00 2001
+From 429e2d968172360c0b7a443229503158910abb92 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 11 May 2015 09:00:42 +0100
-Subject: [PATCH 056/703] scripts: Add mkknlimg and knlinfo scripts from tools
+Subject: [PATCH 056/725] scripts: Add mkknlimg and knlinfo scripts from tools
repo
The Raspberry Pi firmware looks for a trailer on the kernel image to
-From ef38e1a2b9c83fb10ac6fffdfa26da71776a3abb Mon Sep 17 00:00:00 2001
+From 2b8bc69a15a59b93330d37fb8629ae113231a0fb Mon Sep 17 00:00:00 2001
From: notro <notro@tronnes.org>
Date: Wed, 9 Jul 2014 14:46:08 +0200
-Subject: [PATCH 057/703] BCM2708: Add core Device Tree support
+Subject: [PATCH 057/725] BCM2708: Add core Device Tree support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 28644cb31e076ccc6645c692a7ff43414230f361 Mon Sep 17 00:00:00 2001
+From ed4300c1a1c2432efd902454146e2ca909b23192 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 6 Feb 2015 13:50:57 +0000
-Subject: [PATCH 058/703] BCM270x_DT: Add pwr_led, and the required "input"
+Subject: [PATCH 058/725] BCM270x_DT: Add pwr_led, and the required "input"
trigger
The "input" trigger makes the associated GPIO an input. This is to support
-From cdec439b6dd76c5e1ccbe49636882067971abd0d Mon Sep 17 00:00:00 2001
+From 4f3938a0decb1d939978df44ac060deaa886b7c1 Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Date: Mon, 17 Jun 2013 13:32:11 +0300
-Subject: [PATCH 059/703] fbdev: add FBIOCOPYAREA ioctl
+Subject: [PATCH 059/725] fbdev: add FBIOCOPYAREA ioctl
Based on the patch authored by Ali Gholami Rudi at
https://lkml.org/lkml/2009/7/13/153
-From 4052b5ba9b502747a6326b43e7f1437be36843b7 Mon Sep 17 00:00:00 2001
+From e408564fff425286f3acf9f625aa763d5cb8408b Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 3 Jul 2013 00:54:08 +0100
-Subject: [PATCH 060/703] Added Device IDs for August DVB-T 205
+Subject: [PATCH 060/725] Added Device IDs for August DVB-T 205
---
drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++
-From adc948965c7c2c52df7c93acffe5bd1d71dce462 Mon Sep 17 00:00:00 2001
+From e04d6501cf52bc69d75adef77482d6f6b027032d Mon Sep 17 00:00:00 2001
From: Gordon Hollingworth <gordon@raspberrypi.org>
Date: Tue, 12 May 2015 14:47:56 +0100
-Subject: [PATCH 061/703] rpi-ft5406: Add touchscreen driver for pi LCD display
+Subject: [PATCH 061/725] 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
-From e182f20d9faf1853dde2ab827a228011fa1dbc80 Mon Sep 17 00:00:00 2001
+From 4db2d4944e658ce809e6366a3a1338d0c2939231 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 28 Nov 2016 16:50:04 +0000
-Subject: [PATCH 062/703] Improve __copy_to_user and __copy_from_user
+Subject: [PATCH 062/725] Improve __copy_to_user and __copy_from_user
performance
Provide a __copy_from_user that uses memcpy. On BCM2708, use
-From 985bdee303c68ce16a6ad0b0e317c86b9669ab1a Mon Sep 17 00:00:00 2001
+From 799527e3596ebb96f5df8174818c193a8ca68781 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 25 Jun 2015 12:16:11 +0100
-Subject: [PATCH 063/703] gpio-poweroff: Allow it to work on Raspberry Pi
+Subject: [PATCH 063/725] 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
-From cc60f52641f8debefb1c37b59379ccdc84e1938f Mon Sep 17 00:00:00 2001
+From 8d80ce248d128b583244b0b00ce89ffa39598fe7 Mon Sep 17 00:00:00 2001
From: Phil Elwell <pelwell@users.noreply.github.com>
Date: Tue, 14 Jul 2015 14:32:47 +0100
-Subject: [PATCH 064/703] mfd: Add Raspberry Pi Sense HAT core driver
+Subject: [PATCH 064/725] mfd: Add Raspberry Pi Sense HAT core driver
---
drivers/input/joystick/Kconfig | 8 +
-From 099cc7ff40bca5c9203100aaca2ab69bc7b669ac Mon Sep 17 00:00:00 2001
+From b63482e725f4dd2c6adcda4878e5eadac238f05b Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Thu, 22 Feb 2018 11:55:06 +0100
-Subject: [PATCH 065/703] ASoC: pcm512x: implement set_tdm_slot interface
+Subject: [PATCH 065/725] 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.
-From 2112d06f09c1ecd601de065351bc60b08fc53bca Mon Sep 17 00:00:00 2001
+From 5a5287ced8232a84e624c198b4595684134ff8f7 Mon Sep 17 00:00:00 2001
From: Florian Meier <florian.meier@koalo.de>
Date: Mon, 25 Jan 2016 15:48:59 +0000
-Subject: [PATCH 066/703] ASoC: Add support for Rpi-DAC
+Subject: [PATCH 066/725] ASoC: Add support for Rpi-DAC
---
sound/soc/codecs/Kconfig | 5 +++
-From c8aa8a71618c103d09ae7fa05d5f65c111581194 Mon Sep 17 00:00:00 2001
+From 6cea04a434dfd4f3fbf02fdb5652d50a24586b18 Mon Sep 17 00:00:00 2001
From: Gordon Garrity <gordon@iqaudio.com>
Date: Sat, 8 Mar 2014 16:56:57 +0000
-Subject: [PATCH 067/703] Add IQaudIO Sound Card support for Raspberry Pi
+Subject: [PATCH 067/725] Add IQaudIO Sound Card support for Raspberry Pi
Set a limit of 0dB on Digital Volume Control
-From c383086fd519fcf61f3c5a35e937685f6f34832e Mon Sep 17 00:00:00 2001
+From 015277e926834c77787f4b6b15871f72e7b22d47 Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Mon, 4 Aug 2014 10:06:56 +0200
-Subject: [PATCH 068/703] Added support for HiFiBerry DAC+
+Subject: [PATCH 068/725] 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.
-From 32df84e8c6f0f747c1182774fadbf4e9ef1794e2 Mon Sep 17 00:00:00 2001
+From 87a94fcef688251a514e9fa209a8c4ff63cdee73 Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Mon, 4 Aug 2014 11:09:58 +0200
-Subject: [PATCH 069/703] Added driver for HiFiBerry Amp amplifier add-on board
+Subject: [PATCH 069/725] 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.
-From 0a8842f908f015bd889e3c0cee5115db1c451990 Mon Sep 17 00:00:00 2001
+From 931b6e6c23f08ac08c5542ae2fae4ae6ab6eeec1 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbrodkorb@conet.de>
Date: Wed, 25 Mar 2015 09:26:17 +0100
-Subject: [PATCH 070/703] Add driver for rpi-proto
+Subject: [PATCH 070/725] 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
-From 71cd216db9c7c05f05c8dd7c7afdfb24f718be74 Mon Sep 17 00:00:00 2001
+From dc3e8f3e1d03f43d2af2709b6d5f09d72ef8d47e Mon Sep 17 00:00:00 2001
From: Aaron Shaw <shawaj@gmail.com>
Date: Thu, 7 Apr 2016 21:26:21 +0100
-Subject: [PATCH 071/703] Add Support for JustBoom Audio boards
+Subject: [PATCH 071/725] Add Support for JustBoom Audio boards
justboom-dac: Adjust for ALSA API change
-From 075e259919f36828473a97a231cdafcec073b63b Mon Sep 17 00:00:00 2001
+From 7a3906eb4db44354f2a3f7a330c1648964e51681 Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Mon, 16 May 2016 21:36:31 +1000
-Subject: [PATCH 072/703] New AudioInjector.net Pi soundcard with low jitter
+Subject: [PATCH 072/725] 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.
-From 3f5b5702b2245c639439607ab4e64d654edaa864 Mon Sep 17 00:00:00 2001
+From c2c45a480f012a6d939f39470e9d3a5e689b8b03 Mon Sep 17 00:00:00 2001
From: escalator2015 <jmtasende@gmail.com>
Date: Tue, 24 May 2016 16:20:09 +0100
-Subject: [PATCH 073/703] New driver for RRA DigiDAC1 soundcard using WM8741 +
+Subject: [PATCH 073/725] New driver for RRA DigiDAC1 soundcard using WM8741 +
WM8804
---
-From 63f29d95488d5bbebc704f904e3f4d12ba90fe42 Mon Sep 17 00:00:00 2001
+From 54fc10a745ca32f55c504e6b08238da56ec3fa83 Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Sat, 2 Jul 2016 16:26:19 +0100
-Subject: [PATCH 074/703] Add support for Dion Audio LOCO DAC-AMP HAT
+Subject: [PATCH 074/725] Add support for Dion Audio LOCO DAC-AMP HAT
Using dedicated machine driver and pcm5102a codec driver.
-From befd64b81a740cba0ad23a6732dd56b2e67dda84 Mon Sep 17 00:00:00 2001
+From 45f28f47c5b4a3fabf33304c3660496da0b9dbcd Mon Sep 17 00:00:00 2001
From: Clive Messer <clive.m.messer@gmail.com>
Date: Mon, 19 Sep 2016 14:01:04 +0100
-Subject: [PATCH 075/703] Allo Piano DAC boards: Initial 2 channel (stereo)
+Subject: [PATCH 075/725] 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,
-From 9a43360b6f8d6073b0bd67077229fe1d63076733 Mon Sep 17 00:00:00 2001
+From 9659dfa0a5626b730b3b72431204ce541392e9f7 Mon Sep 17 00:00:00 2001
From: Raashid Muhammed <raashidmuhammed@zilogic.com>
Date: Mon, 27 Mar 2017 12:35:00 +0530
-Subject: [PATCH 076/703] Add support for Allo Piano DAC 2.1 plus add-on board
+Subject: [PATCH 076/725] 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.
-From f9b56b66913621c3ecba0a5379381fd1e33e1914 Mon Sep 17 00:00:00 2001
+From 337c790ae688ad33941262b852a1ab88c3a9960b Mon Sep 17 00:00:00 2001
From: BabuSubashChandar <babuenir@gmail.com>
Date: Tue, 28 Mar 2017 20:04:42 +0530
-Subject: [PATCH 077/703] Add support for Allo Boss DAC add-on board for
+Subject: [PATCH 077/725] Add support for Allo Boss DAC add-on board for
Raspberry Pi. (#1924)
Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net>
-From 1b7248a956f0322a9b39d13cdddf83a7c0524ae9 Mon Sep 17 00:00:00 2001
+From 225c4a483b34eb88cab2d617a961fef9cb5a876e Mon Sep 17 00:00:00 2001
From: gtrainavicius <gtrainavicius@users.noreply.github.com>
Date: Sun, 23 Oct 2016 12:06:53 +0300
-Subject: [PATCH 078/703] Support for Blokas Labs pisound board
+Subject: [PATCH 078/725] Support for Blokas Labs pisound board
Pisound dynamic overlay (#1760)
-From 9dea6c4e76e3bace9cbc62fd452de72ce0362034 Mon Sep 17 00:00:00 2001
+From 8341fbb96fa8a6802b316530d00799e2eeaf2962 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 22 Jan 2017 12:49:37 +0100
-Subject: [PATCH 079/703] ASoC: Add driver for Cirrus Logic Audio Card
+Subject: [PATCH 079/725] 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
-From 3e2070202a0607fe572f565ed4c18aa964fc18e5 Mon Sep 17 00:00:00 2001
+From 261e3e2577768d848277489e26759f3f37b25aae Mon Sep 17 00:00:00 2001
From: Miquel <miquelblauw@hotmail.com>
Date: Fri, 24 Feb 2017 20:51:06 +0100
-Subject: [PATCH 080/703] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT
+Subject: [PATCH 080/725] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT
Signed-off-by: Miquel Blauw <info@dionaudio.nl>
-From 0719be99171119689b89d117141b65e849a49239 Mon Sep 17 00:00:00 2001
+From 132ffc095977fbd3e3b4099deaba2b80ed4d13ed Mon Sep 17 00:00:00 2001
From: Fe-Pi <fe-pi@cox.net>
Date: Wed, 1 Mar 2017 04:42:43 -0700
-Subject: [PATCH 081/703] Add support for Fe-Pi audio sound card. (#1867)
+Subject: [PATCH 081/725] 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.
-From e95def09872db37a8e577da0882a113f68476af4 Mon Sep 17 00:00:00 2001
+From 3c3d9b8ffa1f47da2225262dc2bac5decc043f6d Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Wed, 8 Mar 2017 20:04:13 +1100
-Subject: [PATCH 082/703] Add support for the AudioInjector.net Octo sound card
+Subject: [PATCH 082/725] Add support for the AudioInjector.net Octo sound card
AudioInjector Octo: sample rates, regulators, reset
-From 7a03cd841be6b35ae99b7a4a1b415786df98da88 Mon Sep 17 00:00:00 2001
+From 18914c73280bbb74c77f7d5fef622e26ea4e4ffc Mon Sep 17 00:00:00 2001
From: Peter Malkin <petermalkin@google.com>
Date: Mon, 27 Mar 2017 16:38:21 -0700
-Subject: [PATCH 083/703] Driver support for Google voiceHAT soundcard.
+Subject: [PATCH 083/725] Driver support for Google voiceHAT soundcard.
ASoC: googlevoicehat-codec: Use correct device when grabbing GPIO
-From b64cde33b275ddda0e024a218cd31456a54cdd09 Mon Sep 17 00:00:00 2001
+From 414559d38e5fb6fe74e8a54a2b9de22f6d238a05 Mon Sep 17 00:00:00 2001
From: allocom <sparky-dev@allo.com>
Date: Thu, 19 Apr 2018 12:12:26 +0530
-Subject: [PATCH 084/703] Driver and overlay for Allo Katana DAC
+Subject: [PATCH 084/725] Driver and overlay for Allo Katana DAC
Allo Katana DAC: Updated default values
-From 567ae821d7e3e4bcca95ac69847f23e9b4929570 Mon Sep 17 00:00:00 2001
+From 0d0387de52b82694b9df90476e21e6828025d1e9 Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Wed, 15 Jan 2014 21:41:23 +0100
-Subject: [PATCH 085/703] ASoC: wm8804: MCLK configuration options, 32-bit
+Subject: [PATCH 085/725] 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
-From fb0eaa75f3a486dd0a5cb126c198db047a768a5d Mon Sep 17 00:00:00 2001
+From 49d8b4eebd733c26bdd95f44352c0344af5b4472 Mon Sep 17 00:00:00 2001
From: Tim Gover <tim.gover@raspberrypi.org>
Date: Wed, 27 Jun 2018 15:59:12 +0100
-Subject: [PATCH 086/703] ASoC: Add generic RPI driver for simple soundcards.
+Subject: [PATCH 086/725] 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
-From c95f1fca6bf35548cddf4909a505a6427f6f41ef Mon Sep 17 00:00:00 2001
+From 3f31d54804aebb748f200841dafdc8ff1f05b7a7 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 3 Sep 2018 17:00:36 +0100
-Subject: [PATCH 087/703] ASoC: Add Kconfig and Makefile for sound/soc/bcm
+Subject: [PATCH 087/725] ASoC: Add Kconfig and Makefile for sound/soc/bcm
Signed-off-by: popcornmix <popcornmix@gmail.com>
---
-From 1fb18379184ab1c039cc7b366901f3816f2ab768 Mon Sep 17 00:00:00 2001
+From 5b797e80e454e59af7381b579305cc25f70871d8 Mon Sep 17 00:00:00 2001
From: Tim Gover <tim.gover@raspberrypi.org>
Date: Sat, 21 Jul 2018 20:07:46 +0100
-Subject: [PATCH 088/703] ASoC: Create a generic Pi Hat WM8804 driver
+Subject: [PATCH 088/725] 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.
-From 7a0c9202a0bd363d49ba0b4a31d843f3a2cac66d Mon Sep 17 00:00:00 2001
+From a9adc2921cd7b460c25c4149374c7e94675d04fc Mon Sep 17 00:00:00 2001
From: P33M <P33M@github.com>
Date: Wed, 21 Oct 2015 14:55:21 +0100
-Subject: [PATCH 089/703] rpi_display: add backlight driver and overlay
+Subject: [PATCH 089/725] 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
-From ae7c0b0955e96a7231ad4b6d909124fa7f7713e8 Mon Sep 17 00:00:00 2001
+From 2839c328b46a97314f6f9cfb5cd0c1be9bc174f3 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 23 Feb 2016 19:56:04 +0000
-Subject: [PATCH 090/703] bcm2835-virtgpio: Virtual GPIO driver
+Subject: [PATCH 090/725] bcm2835-virtgpio: Virtual GPIO driver
Add a virtual GPIO driver that uses the firmware mailbox interface to
request that the VPU toggles LEDs.
-From 004fa06eecc1162dcb717bdce943a08c25c0922c Mon Sep 17 00:00:00 2001
+From de205caf53ef335d29f3d68f18f7bf996d1e0728 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 3 Sep 2012 17:10:23 +0100
-Subject: [PATCH 091/703] net: Add non-mainline source for rtl8192cu wlan
+Subject: [PATCH 091/725] net: Add non-mainline source for rtl8192cu wlan
We are now syncing with version from:
https://github.com/pvaret/rtl8192cu-fixes
-From 1889a5e0d20a7f58b95cb41c682bf1a09a37d4f6 Mon Sep 17 00:00:00 2001
+From 40d6d85f902e7de4721db52394da172d3d5f2724 Mon Sep 17 00:00:00 2001
From: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Date: Wed, 3 Dec 2014 13:23:28 +0200
-Subject: [PATCH 092/703] OF: DT-Overlay configfs interface
+Subject: [PATCH 092/725] 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.
-From fe1028f8aa31decab2a006c977598bd75eb42b40 Mon Sep 17 00:00:00 2001
+From 7f688c61d8a1f881e58ae32af51506141a64b1e2 Mon Sep 17 00:00:00 2001
From: Cheong2K <cheong@redbear.cc>
Date: Fri, 26 Feb 2016 18:20:10 +0800
-Subject: [PATCH 093/703] brcm: adds support for BCM43341 wifi
+Subject: [PATCH 093/725] brcm: adds support for BCM43341 wifi
brcmfmac: Disable power management
-From 06ec5a8827bec5fc4b7f2b322088c47963a782e4 Mon Sep 17 00:00:00 2001
+From 99150b44461c1b5a988297cab7f0188a291afec9 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 17 Feb 2017 15:26:13 +0000
-Subject: [PATCH 094/703] brcmfmac: Mute expected startup 'errors'
+Subject: [PATCH 094/725] brcmfmac: Mute expected startup 'errors'
The brcmfmac WiFi driver always complains about the '00' country code.
Modify the driver to ignore '00' silently.
-From 04398740be915fbbbc794b3b34aa36d11a85a0ab Mon Sep 17 00:00:00 2001
+From bddfcc074a6f46d2d107d5c6b06c5b6c906bbe19 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 17 Dec 2015 13:37:07 +0000
-Subject: [PATCH 095/703] hci_h5: Don't send conf_req when ACTIVE
+Subject: [PATCH 095/725] 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.
-From 0c0a0d6d576db08b15281aa7263ebb4f26344d9f Mon Sep 17 00:00:00 2001
+From 97cc0418de0e851cf4a850a99878f8ddf31f8a64 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 13 Apr 2015 17:16:29 +0100
-Subject: [PATCH 096/703] config: Add default configs
+Subject: [PATCH 096/725] config: Add default configs
---
arch/arm/configs/bcm2709_defconfig | 1360 ++++++++++++++++++++++++++++
-From 8a3aa5b6a470f7c89025e51d5fc2f2827e8efc00 Mon Sep 17 00:00:00 2001
+From 974e489f199d585ebe57440969ab9661ce2156c9 Mon Sep 17 00:00:00 2001
From: Michael Zoran <mzoran@crowfest.net>
Date: Wed, 24 Aug 2016 03:35:56 -0700
-Subject: [PATCH 097/703] Add arm64 configuration and device tree differences.
+Subject: [PATCH 097/725] Add arm64 configuration and device tree differences.
Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing
at the moment.
-From 3d6c0c835d5e1b2983a0e4dec0dc779cd67db922 Mon Sep 17 00:00:00 2001
+From e65d132bca6b87ae1606ef156581f1de76b80962 Mon Sep 17 00:00:00 2001
From: Michael Zoran <mzoran@crowfest.net>
Date: Sat, 14 Jan 2017 21:33:51 -0800
-Subject: [PATCH 098/703] ARM64/DWC_OTG: Port dwc_otg driver to ARM64
+Subject: [PATCH 098/725] 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
-From 67ba0d1572d1ca3874cbe8ebd57f5141178eb55c Mon Sep 17 00:00:00 2001
+From 6b47138814b0e244c65c9d06d08fa9aca67b7904 Mon Sep 17 00:00:00 2001
From: Michael Zoran <mzoran@crowfest.net>
Date: Sat, 14 Jan 2017 21:43:57 -0800
-Subject: [PATCH 099/703] ARM64: Round-Robin dispatch IRQs between CPUs.
+Subject: [PATCH 099/725] 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
-From 303b20724f8691db1c6b575f127d47d5953359f2 Mon Sep 17 00:00:00 2001
+From 89c5a60b701b67a5bb3458fbe99a45da1d718e47 Mon Sep 17 00:00:00 2001
From: Michael Zoran <mzoran@crowfest.net>
Date: Sat, 11 Feb 2017 01:18:31 -0800
-Subject: [PATCH 100/703] ARM64: Force hardware emulation of deprecated
+Subject: [PATCH 100/725] ARM64: Force hardware emulation of deprecated
instructions.
---
-From ab40577b4601c0eeeedb5c3688cf0719b2bc582e Mon Sep 17 00:00:00 2001
+From 0a1ea6126555abaf874f76c7d0c45f8d34b9c7a4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 10 Feb 2017 17:57:08 -0800
-Subject: [PATCH 101/703] build/arm64: Add rules for .dtbo files for dts
+Subject: [PATCH 101/725] build/arm64: Add rules for .dtbo files for dts
overlays
We now create overlays as .dtbo files.
-From e8cf1886f2434ec0e5a672d9b94a96f7fea80789 Mon Sep 17 00:00:00 2001
+From 007008145da2e877e32090a4861440f56bc40080 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 25 Aug 2017 19:18:13 +0100
-Subject: [PATCH 102/703] cache: export clean and invalidate
+Subject: [PATCH 102/725] cache: export clean and invalidate
---
arch/arm/mm/cache-v6.S | 4 ++--
-From 93664cd3cee57e93c1d354c3263773a6b832db22 Mon Sep 17 00:00:00 2001
+From a7a7bff51039648f4d09d690bb037d02b26e593c Mon Sep 17 00:00:00 2001
From: James Hughes <JamesH65@users.noreply.github.com>
Date: Tue, 14 Nov 2017 15:13:15 +0000
-Subject: [PATCH 103/703] AXI performance monitor driver (#2222)
+Subject: [PATCH 103/725] AXI performance monitor driver (#2222)
Uses the debugfs I/F to provide access to the AXI
bus performance monitors.
-From a3ba7e3519d3dce17a0224b552fb88b7728f7061 Mon Sep 17 00:00:00 2001
+From 8ad27448ac0130fe78dbe1eaa1ce2d640669fb05 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 14 Nov 2017 11:03:22 +0000
-Subject: [PATCH 104/703] mcp2515: Use DT-supplied interrupt flags
+Subject: [PATCH 104/725] mcp2515: Use DT-supplied interrupt flags
The MCP2515 datasheet clearly describes a level-triggered interrupt
pin. Therefore the receiving interrupt controller must also be
-From c391ccaadd8928a79986e67ebc23cd6670b83d85 Mon Sep 17 00:00:00 2001
+From 4d326f3b4817e2a29d4ae69239c1ec2ef4a321a1 Mon Sep 17 00:00:00 2001
From: James Hughes <JamesH65@users.noreply.github.com>
Date: Thu, 16 Nov 2017 15:56:17 +0000
-Subject: [PATCH 105/703] Tidy up of the ft5406 driver to use DT (#2189)
+Subject: [PATCH 105/725] 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
-From db9b15f3d930b045998c276c68f32645f7bade9f Mon Sep 17 00:00:00 2001
+From 15dc7e960b0de2d10a312e2be3ed6674f440cf61 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 27 Nov 2017 17:14:54 +0000
-Subject: [PATCH 106/703] cgroup: Disable cgroup "memory" by default
+Subject: [PATCH 106/725] 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:
-From 6ddffcf9c288513943680b958307b3bb267ea939 Mon Sep 17 00:00:00 2001
+From 5f4a7f6cabf2f7fdd75f8dba64394ed3f5c96d09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Wed, 3 Jun 2015 12:26:13 +0200
-Subject: [PATCH 107/703] ARM: bcm2835: Set Serial number and Revision
+Subject: [PATCH 107/725] ARM: bcm2835: Set Serial number and Revision
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From 84ae50c70c296998d39b819d1d5f3e2e4a355098 Mon Sep 17 00:00:00 2001
+From 83846923572c7b606ba85dfe613e38236e8bd695 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 11 Dec 2017 09:18:32 +0000
-Subject: [PATCH 108/703] ARM: Activate FIQs to avoid __irq_startup warnings
+Subject: [PATCH 108/725] 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.
-From 2f7074d8ae9b0867535fcfc56b4332073aee07f7 Mon Sep 17 00:00:00 2001
+From 3d00548e917e42a5d9da031c8dab8a52ff3cd1cc Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 22 Jan 2018 17:26:38 +0000
-Subject: [PATCH 109/703] serial: 8250: bcm2835aux - suppress EPROBE_DEFER
+Subject: [PATCH 109/725] serial: 8250: bcm2835aux - suppress EPROBE_DEFER
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 48ce2d8a89c63f31a63b636b119a98c3ddbc66e1 Mon Sep 17 00:00:00 2001
+From 46828eb52e1d51dafb26f9073bd2b36dcf18596b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 14 Sep 2016 09:16:19 +0100
-Subject: [PATCH 110/703] raspberrypi-firmware: Export the general transaction
+Subject: [PATCH 110/725] raspberrypi-firmware: Export the general transaction
function.
The vc4-firmware-kms module is going to be doing the MBOX FB call.
-From cf4d9b0e5f081408edf3340b3f46171f5b56dbff Mon Sep 17 00:00:00 2001
+From c8ae9b8e203f05c0a87f2576a58dbc6c747527c4 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 14 Sep 2016 08:39:33 +0100
-Subject: [PATCH 111/703] drm/vc4: Add a mode for using the closed firmware for
+Subject: [PATCH 111/725] drm/vc4: Add a mode for using the closed firmware for
display.
Signed-off-by: Eric Anholt <eric@anholt.net>
-From 9d538f69eca5ed335235fe89ba56966fdf07334d Mon Sep 17 00:00:00 2001
+From f42394aee8bcd3b7159029a4b9c66fcf35b16ba8 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 1 Feb 2017 17:09:18 -0800
-Subject: [PATCH 112/703] drm/vc4: Name the primary and cursor planes in fkms.
+Subject: [PATCH 112/725] drm/vc4: Name the primary and cursor planes in fkms.
This makes debugging nicer, compared to trying to remember what the
IDs are.
-From 94f9a45df23146c709d7a08191e97ee31d6dd8e9 Mon Sep 17 00:00:00 2001
+From a54d059398df5799cc17789f11d40817f2cca3ed Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 1 Feb 2017 17:10:09 -0800
-Subject: [PATCH 113/703] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of
+Subject: [PATCH 113/725] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of
fkms.
Trying to debug weston on fkms involved figuring out what calls I was
-From 96cfb9903f60e98d964c3547ac0cf5b920083c04 Mon Sep 17 00:00:00 2001
+From d36cddb19f380051aae81cc384fce9b49625798f Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 2 Feb 2017 09:42:18 -0800
-Subject: [PATCH 114/703] drm/vc4: Fix sending of page flip completion events
+Subject: [PATCH 114/725] 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
-From 9f05f9c3a564cedbb3c5f3dd0d5b95f247b63c71 Mon Sep 17 00:00:00 2001
+From dbf8328dec97e1df1a61ca75e98b8b60e4e2e68e Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 6 Jul 2017 11:45:48 -0700
-Subject: [PATCH 115/703] drm/vc4: Add support for setting DPMS in firmwarekms.
+Subject: [PATCH 115/725] 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
-From ac5599d66654d69497945cb29e183824d9988e29 Mon Sep 17 00:00:00 2001
+From ba6bffb620f0f25868ed7d84add448f771201947 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 7 Jun 2017 14:39:49 -0700
-Subject: [PATCH 116/703] drm/vc4: Add FB modifier support to firmwarekms.
+Subject: [PATCH 116/725] drm/vc4: Add FB modifier support to firmwarekms.
Signed-off-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 11752d73488e08aaeb65fe8289a9c016acde26c2)
-From 7815410d46ef8c5462eadbeff59d8c7e43639b03 Mon Sep 17 00:00:00 2001
+From 46652925942d2947afabc11abfdfb5d42d1559d5 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 30 Jan 2018 14:21:02 -0800
-Subject: [PATCH 117/703] drm/vc4: Add missing enable/disable vblank handlers
+Subject: [PATCH 117/725] drm/vc4: Add missing enable/disable vblank handlers
in fkms.
Fixes hang at boot in 4.14.
-From 7c7cf2b1b7ea7189b18eb042e6a04ca90e07e658 Mon Sep 17 00:00:00 2001
+From e1ce159091e4bc8ce78ed9838d5935534dc40dbe Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 18 Apr 2017 21:43:46 +0100
-Subject: [PATCH 118/703] vc4_fkms: Apply firmware overscan offset to hardware
+Subject: [PATCH 118/725] vc4_fkms: Apply firmware overscan offset to hardware
cursor
---
-From b69ecf0b7259675e57be13836713946f1329f20c Mon Sep 17 00:00:00 2001
+From fd2b049cb8beed1b80e9f314e55116db2d960eef Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 5 Feb 2018 18:01:02 +0000
-Subject: [PATCH 119/703] drm/vc4: Fix warning about vblank interrupts before
+Subject: [PATCH 119/725] 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
-From b77d51293dce1ff08da64c4bb95c13d2cb4c3ee7 Mon Sep 17 00:00:00 2001
+From 2d976e5035d98f5ada75f088a3e16079c8eee99a Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 5 Feb 2018 18:02:30 +0000
-Subject: [PATCH 120/703] drm/vc4: Skip SET_CURSOR_INFO when the cursor
+Subject: [PATCH 120/725] drm/vc4: Skip SET_CURSOR_INFO when the cursor
contents didn't change.
Signed-off-by: Eric Anholt <eric@anholt.net>
-From be3a851fe4c6f2e91a7d7b0738ad1873074eab43 Mon Sep 17 00:00:00 2001
+From 9c3d03b62cec67df4f3c989a2eceb38c1415fa71 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 5 Feb 2018 18:22:03 +0000
-Subject: [PATCH 121/703] drm/vc4: Remove duplicate primary/cursor fields from
+Subject: [PATCH 121/725] drm/vc4: Remove duplicate primary/cursor fields from
FKMS driver.
The CRTC has those fields and we can just use them.
-From 0f628b54b7f10997437a0e3f34eea2a0b2827250 Mon Sep 17 00:00:00 2001
+From 9c0ae7d4e7e70bd0b30073f66045a66bfabdb307 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 17 Jun 2018 13:22:07 +0100
-Subject: [PATCH 122/703] vc4_firmware_kms: fix build
+Subject: [PATCH 122/725] vc4_firmware_kms: fix build
---
drivers/gpu/drm/vc4/vc4_firmware_kms.c | 6 ++++--
-From 708821a5d04805bf61b036e869663d8650ca578c Mon Sep 17 00:00:00 2001
+From 48d20770b1aa96c6e3095316f493eab948e68c19 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 20 Feb 2018 20:53:46 +0000
-Subject: [PATCH 123/703] hack: cache: Fix linker error
+Subject: [PATCH 123/725] hack: cache: Fix linker error
---
arch/arm/mm/cache-v7.S | 2 ++
-From ec510c1562ff8326e032a9f0d9ae26ff0e54dd1c Mon Sep 17 00:00:00 2001
+From b6109ee12acbda2c79f7a7a7b76806aebfcd9ed9 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 20 Feb 2018 10:07:27 +0000
-Subject: [PATCH 124/703] i2c-gpio: Also set bus numbers from reg property
+Subject: [PATCH 124/725] 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
-From 943530f05c0bb81679b1413c4a545e4600f61f71 Mon Sep 17 00:00:00 2001
+From 2b43c222f32b1a51a36a7511ea610adb9a51fb2b Mon Sep 17 00:00:00 2001
From: Nathan Chancellor <natechancellor@gmail.com>
Date: Sun, 4 Mar 2018 17:20:25 -0700
-Subject: [PATCH 125/703] sound: bcm: Fix memset dereference warning
+Subject: [PATCH 125/725] sound: bcm: Fix memset dereference warning
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From ba23c2430362ba947a69c946b8b7bbe5c2eda914 Mon Sep 17 00:00:00 2001
+From 876356d4be81b4341cbc53a42c8a88dc49d7b56d Mon Sep 17 00:00:00 2001
From: hdoverobinson <hdoverobinson@gmail.com>
Date: Tue, 13 Mar 2018 06:58:39 -0400
-Subject: [PATCH 126/703] added capture_clear option to pps-gpio via dtoverlay
+Subject: [PATCH 126/725] added capture_clear option to pps-gpio via dtoverlay
(#2433)
---
-From 73b2c9d517072023cdc4e8331694b1e62234b09d Mon Sep 17 00:00:00 2001
+From c2da5c5af7a2d872d2b55c818cf9e67e34923a65 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 9 Mar 2018 12:01:00 +0000
-Subject: [PATCH 127/703] lan78xx: Read initial EEE status from DT
+Subject: [PATCH 127/725] lan78xx: Read initial EEE status from DT
Add two new DT properties:
* microchip,eee-enabled - a boolean to enable EEE
-From e5af3fc88a539cabf03c3e676689282f662d1a08 Mon Sep 17 00:00:00 2001
+From 827f677549361a68c8bed46ae9bc3c6210273ace Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 14 Jul 2014 22:02:09 +0100
-Subject: [PATCH 128/703] hid: Reduce default mouse polling interval to 60Hz
+Subject: [PATCH 128/725] hid: Reduce default mouse polling interval to 60Hz
Reduces overhead when using X
---
-From 4535e6abd37c89a7f21623497b9e656845aad4c0 Mon Sep 17 00:00:00 2001
+From 886c2877fcd6fdbff3c8cdec0e68bbb7570bc8ff Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 24 Apr 2018 14:42:27 +0100
-Subject: [PATCH 129/703] gpiolib: Don't prevent IRQ usage of output GPIOs
+Subject: [PATCH 129/725] 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
-From cacdfc573c523a3e7e7e6ed708f459781228ccd1 Mon Sep 17 00:00:00 2001
+From 3e25c39320a501e57a5e232f6e98740357bd5bc6 Mon Sep 17 00:00:00 2001
From: Nick Bulleid <nedbulleid@fastmail.com>
Date: Thu, 10 May 2018 21:57:02 +0100
-Subject: [PATCH 130/703] Add ability to export gpio used by gpio-poweroff
+Subject: [PATCH 130/725] Add ability to export gpio used by gpio-poweroff
Signed-off-by: Nick Bulleid <nedbulleid@fastmail.com>
-From 8e3109c37fc00a087aba08b92da9a416eb2cd37a Mon Sep 17 00:00:00 2001
+From ab5a0cc750eefdabd58b67c2558c46029ceb2a51 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Sat, 12 May 2018 21:35:43 +0100
-Subject: [PATCH 131/703] firmware/raspberrypi: Notify firmware of a reboot
+Subject: [PATCH 131/725] firmware/raspberrypi: Notify firmware of a reboot
Register for reboot notifications, sending RPI_FIRMWARE_NOTIFY_REBOOT
over the mailbox interface on reception.
-From 73a2cd01254c251fe07c1a124b47105c1d1a7730 Mon Sep 17 00:00:00 2001
+From af6f3cf33a864c397f6ab43c0403b0a92797694e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 14 Jun 2018 11:21:04 +0100
-Subject: [PATCH 132/703] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time
+Subject: [PATCH 132/725] 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
-From 8d90ea3c51ab934802afe45eba16800f6c620cee Mon Sep 17 00:00:00 2001
+From 3a05e59e7c1866f46df63f0f11c46d3187d3adc9 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 14 Jun 2018 15:07:26 +0100
-Subject: [PATCH 133/703] of: configfs: Use of_overlay_fdt_apply API call
+Subject: [PATCH 133/725] 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
-From 48c17759c12fead4c4643e895582fb44b9b8ec15 Mon Sep 17 00:00:00 2001
+From aa624ea88f53750c15729e82c0ac380b2b0768ac Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 13 Jun 2018 15:21:10 +0100
-Subject: [PATCH 134/703] net: lan78xx: Disable TCP Segmentation Offload (TSO)
+Subject: [PATCH 134/725] 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
-From 8bb29ed53937d3608e68f75d269d648ca0b22dcf Mon Sep 17 00:00:00 2001
+From 5ef577082ea0d6fb498e5189bd55071aed9696e7 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 20 Jun 2018 12:20:01 +0100
-Subject: [PATCH 135/703] brcmfmac: Re-enable firmware roaming support
+Subject: [PATCH 135/725] brcmfmac: Re-enable firmware roaming support
As of 4.18, a firmware that implements the update_connect_params
method but doesn't claim to support roaming causes an error. We
-From 16ca74df16214e51080a6102388fbbaaae713c5e Mon Sep 17 00:00:00 2001
+From 95e0c441040464722e1abb50a365224e7bf9058d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 5 Apr 2018 14:46:11 +0100
-Subject: [PATCH 136/703] lan78xx: Move enabling of EEE into PHY init code
+Subject: [PATCH 136/725] 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
-From 3e89900d7dd7c851400e0afeea326f94bba1cd84 Mon Sep 17 00:00:00 2001
+From 3e9ee1b0f8b5b8ad3fc688e785de479cbde00b5c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 28 Aug 2018 10:40:40 +0100
-Subject: [PATCH 137/703] staging/vc04_services: Derive g_cache_line_size
+Subject: [PATCH 137/725] 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
-From ae762f7cc705c20c8320613425a7179c3e6f47f3 Mon Sep 17 00:00:00 2001
+From 1c1f26355604567bc11084cb3c4db204d7420941 Mon Sep 17 00:00:00 2001
From: Serge Schneider <serge@raspberrypi.org>
Date: Mon, 9 Jul 2018 12:54:25 +0100
-Subject: [PATCH 138/703] Add rpi-poe-fan driver
+Subject: [PATCH 138/725] Add rpi-poe-fan driver
Signed-off-by: Serge Schneider <serge@raspberrypi.org>
-From 6b7588fb541726ea05baf7f553deafa907263a6e Mon Sep 17 00:00:00 2001
+From f78d450f7ce53a644fae11f359c133fd015cda12 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 17 Sep 2018 17:31:18 +0100
-Subject: [PATCH 139/703] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880
+Subject: [PATCH 139/725] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880
with MEDIA_SUBDRV_AUTOSELECT
---
-From 7de09525583f90004ba236345bae3ad3274d23da Mon Sep 17 00:00:00 2001
+From 572ba427304c769cdf4d19d8d93c3d413ad57f72 Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Wed, 13 Jan 2016 19:44:47 +0100
-Subject: [PATCH 140/703] bcm2835: interpolate audio delay
+Subject: [PATCH 140/725] 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
-From 8a9e2054d3ecf11044136daa5644d803db486dd4 Mon Sep 17 00:00:00 2001
+From 77b81e05d19c1c25d8139eddc45c0a2da0585be2 Mon Sep 17 00:00:00 2001
From: detule <ogjoneski@gmail.com>
Date: Tue, 2 Oct 2018 04:10:08 -0400
-Subject: [PATCH 141/703] vchiq_2835_arm: Implement a DMA pool for small bulk
+Subject: [PATCH 141/725] vchiq_2835_arm: Implement a DMA pool for small bulk
transfers (#2699)
During a bulk transfer we request a DMA allocation to hold the
-From e40969b6e1a0818b016646c449d3fbc7e5c8b608 Mon Sep 17 00:00:00 2001
+From fdac3a95e9af79a125e41d7c16e4deac80742ac5 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 8 Oct 2018 12:20:36 +0100
-Subject: [PATCH 142/703] BCM2708_DT: Use upstreamed GPIO expander driver
+Subject: [PATCH 142/725] 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.
-From 17ded7b344a73b5a590ca8dc4599ac1ad3c1edb7 Mon Sep 17 00:00:00 2001
+From 920732ad22a1e352b757d854aec4814c95d061a9 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 8 Oct 2018 17:16:28 +0100
-Subject: [PATCH 143/703] overlays: Fix a few dtc warnings
+Subject: [PATCH 143/725] overlays: Fix a few dtc warnings
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 158c6b75bd52edff52b9499313935c9d0f154eb2 Mon Sep 17 00:00:00 2001
+From d659979d89c1de698fa7c7e28951c4f09f9dfafd Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 17 Oct 2018 16:32:52 +0100
-Subject: [PATCH 144/703] bcm2708-rpi: Disable txp interrupt unless using
+Subject: [PATCH 144/725] bcm2708-rpi: Disable txp interrupt unless using
vc4-kms-v3d overlay
Signed-off-by: popcornmix <popcornmix@gmail.com>
-From 3af123f416cbd52069f8479ece21e0564317cbb3 Mon Sep 17 00:00:00 2001
+From 0bb32ea31ade963bfe81c67dbb2a4dbb090895c2 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sat, 6 Oct 2018 16:45:41 +0200
-Subject: [PATCH 145/703] config: Enable Raspberry Pi voltage monitor
+Subject: [PATCH 145/725] config: Enable Raspberry Pi voltage monitor
This enables the Raspberry Pi voltage monitor as a replacement
for the get_trottled sysfs approach in the firmware driver.
-From 639d584d74593084469286e33cbf8c6b2be9d1a5 Mon Sep 17 00:00:00 2001
+From af7c9bdc7c407c585fd3c6eac2ad42e78e1fb08c Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sat, 6 Oct 2018 16:46:18 +0200
-Subject: [PATCH 146/703] hwmon: raspberrypi: Prevent voltage low warnings from
+Subject: [PATCH 146/725] hwmon: raspberrypi: Prevent voltage low warnings from
filling log
Although the correct fix for low voltage warnings is to
-From 2f40de9f47b7bcf5677a110d4207bbf65e02049c Mon Sep 17 00:00:00 2001
+From 53250b67aca386f2e01881623c192089226bbae3 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sat, 13 Oct 2018 13:31:21 +0200
-Subject: [PATCH 147/703] firmware: raspberrypi: Add backward compatible
+Subject: [PATCH 147/725] firmware: raspberrypi: Add backward compatible
get_throttled
Avoid a hard userspace ABI change by adding a compatible get_throttled
-From bee18e4688b1ac325f91dd4aee8672f6201d0a8d Mon Sep 17 00:00:00 2001
+From 5ff0d8351ea1bae67c1fd8d565bb4912cf201a71 Mon Sep 17 00:00:00 2001
From: James Hughes <james.hughes@raspberrypi.org>
Date: Wed, 31 Oct 2018 13:00:46 +0000
-Subject: [PATCH 148/703] Increase firmware call buffer size to 48 bytes
+Subject: [PATCH 148/725] Increase firmware call buffer size to 48 bytes
An assumption was made in commit a1547e0bc that 32 bytes
would be enough data buffer size for all firmware calls. However,
-From 6a47065f2c10f857ec32786d0c4f2e1c46aed98b Mon Sep 17 00:00:00 2001
+From 692350cd48454616db5bde755b6d2ef29946ade7 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 6 Nov 2018 12:57:48 +0000
-Subject: [PATCH 149/703] sc16is7xx: Don't spin if no data received
+Subject: [PATCH 149/725] sc16is7xx: Don't spin if no data received
See: https://github.com/raspberrypi/linux/issues/2676
-From 00fd230b49fe86d0458b3fbd92b9c556c1433fe4 Mon Sep 17 00:00:00 2001
+From 049db5dc012f133a8838503426a0cfa1cf9367a6 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 12 Nov 2018 21:42:00 +0000
-Subject: [PATCH 150/703] configs: Rebuild bcmrpi3_defconfig to fix warnings
+Subject: [PATCH 150/725] configs: Rebuild bcmrpi3_defconfig to fix warnings
Also disable CONFIG_MMC_BCM2835 to avoid a runtime conflict.
-From 80cebfc3a14a2645e99baa0a72587e25961e178f Mon Sep 17 00:00:00 2001
+From f54f72309a110bbb583335dd72d84908b1f56043 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 24 Aug 2017 16:16:16 +0100
-Subject: [PATCH 151/703] brcmfmac: Disable ARP offloading when promiscuous
+Subject: [PATCH 151/725] brcmfmac: Disable ARP offloading when promiscuous
This is a test patch for brcmfmac from Franky Lin at Broadcom to disable
ARP offloading when in promiscuous mode, re-enabling the ability to
-From 3267c6df89133ad70bd8bb1e55a5754be716df0e Mon Sep 17 00:00:00 2001
+From d96b4839eea5d6d0a776bed39d3fb6d8cc198662 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Tue, 6 Feb 2018 15:37:22 +0100
-Subject: [PATCH 152/703] config: enable Audio Graph Card module
+Subject: [PATCH 152/725] config: enable Audio Graph Card module
Signed-off-by: Matthias Reichl <hias@horus.com>
---
-From 0de1fec9e76eabe6079fb9984a012cbdee9164a6 Mon Sep 17 00:00:00 2001
+From 52c06bef6f690f7fd5ab3fde9049a022344cb0bb Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 29 Mar 2018 16:05:28 +0100
-Subject: [PATCH 153/703] config: Add IPVLAN module
+Subject: [PATCH 153/725] config: Add IPVLAN module
---
arch/arm/configs/bcm2709_defconfig | 1 +
-From 61df97bfcb573b2361fdbbe0282ba1c5671988dc Mon Sep 17 00:00:00 2001
+From 511b2e25825ff53cb5dbb5d224c747c8dd37dc8b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 27 Apr 2018 16:21:33 +0100
-Subject: [PATCH 154/703] config: Add I2C_TINY_USB=m
+Subject: [PATCH 154/725] config: Add I2C_TINY_USB=m
Enable the I2C Tiny USB module.
-From 0950d997c40aa9428b886d7e1af46730b0366513 Mon Sep 17 00:00:00 2001
+From c02e400776f6cba9abef5bfec91765e694f35d3b Mon Sep 17 00:00:00 2001
From: Jasper Boomer <jasperboomer@gmail.com>
Date: Sun, 24 Jun 2018 12:20:27 -0400
-Subject: [PATCH 155/703] Add device tree overlay for HD44780
+Subject: [PATCH 155/725] Add device tree overlay for HD44780
---
arch/arm/boot/dts/overlays/Makefile | 1 +
-From 3b04201f52d7a717828ab10a92610edbb99abd23 Mon Sep 17 00:00:00 2001
+From a7523a743a928748b2961de56fe5345f653da15e Mon Sep 17 00:00:00 2001
From: Jasper Boomer <jasperboomer@gmail.com>
Date: Mon, 2 Jul 2018 13:16:22 -0400
-Subject: [PATCH 156/703] Add hd44780 module to defconfig
+Subject: [PATCH 156/725] Add hd44780 module to defconfig
---
arch/arm/configs/bcm2709_defconfig | 2 ++
-From ac46f67a7cd528da77a0483989ad41a71af1d9e5 Mon Sep 17 00:00:00 2001
+From 7eaf324bc93496bb2462da74aa575a4b5c6b39da Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 9 Jul 2018 21:11:32 +0100
-Subject: [PATCH 157/703] overlays: Add addr parameter to i2c-rtc (& -gpio)
+Subject: [PATCH 157/725] overlays: Add addr parameter to i2c-rtc (& -gpio)
See: https://github.com/raspberrypi/linux/issues/2611
-From 74cbdede7a4a3eed31d508c02503ce06a1d0e7b2 Mon Sep 17 00:00:00 2001
+From c4620c94d1a5ec51908bb670968b68fd1aa692b1 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 9 Mar 2018 14:24:05 -0800
-Subject: [PATCH 158/703] ARM: BCM270X: Add the 18-bit DPI pinmux to the RPI
+Subject: [PATCH 158/725] 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
-From 7c8ccff2dfef1f42ac9e1592a4750b4d9b78ad62 Mon Sep 17 00:00:00 2001
+From 2fc67f0d898fb7be4e68bdb94959fdebe07b529d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 9 Mar 2018 13:20:21 -0800
-Subject: [PATCH 159/703] overlays: Add an overlay for the Adafruit Kippah with
+Subject: [PATCH 159/725] overlays: Add an overlay for the Adafruit Kippah with
their 7" panel
Signed-off-by: Eric Anholt <eric@anholt.net>
-From 27d6a0828bacfd0f1d3e0b64176be91a55d2f3ae Mon Sep 17 00:00:00 2001
+From e5d4483bb784c5602ba585692cbdde1d0fbbfff9 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 9 Mar 2018 13:26:33 -0800
-Subject: [PATCH 160/703] overlays: Remove stale notes about vc4's CMA
+Subject: [PATCH 160/725] overlays: Remove stale notes about vc4's CMA
alignment in the README.
We haven't needed alignment since
-From ac1bfbc3e45d83d617ce9fbae7522bbd0be3a075 Mon Sep 17 00:00:00 2001
+From 2910d986df71ea75845706084fd257d2b9127e74 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 3 Jul 2018 14:23:47 +0100
-Subject: [PATCH 161/703] spi: Make GPIO CSs honour the SPI_NO_CS flag
+Subject: [PATCH 161/725] 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
-From 90e4534cb3d7b7f1810c160734b11adc79dd6422 Mon Sep 17 00:00:00 2001
+From bb5657317c40a44f4a550f7f7101edc6fe5f50af Mon Sep 17 00:00:00 2001
From: Steve Pavao <stevep@korgrd.com>
Date: Fri, 10 Aug 2018 17:09:50 -0400
-Subject: [PATCH 162/703] devicetree: add RPi CM3 dts to arm64; mimic the RPi
+Subject: [PATCH 162/725] 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
-From 5565106f860262bde33a49e866090bec4d2602e0 Mon Sep 17 00:00:00 2001
+From 4accaf8828da84a10053475c100a07ae91d75c8e Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Tue, 28 Aug 2018 18:42:13 +1000
-Subject: [PATCH 163/703] Add support for audioinjector.net ultra soundcard.
+Subject: [PATCH 163/725] Add support for audioinjector.net ultra soundcard.
(#2664)
Uses the simple-audio-card ALSA machine driver. Sets up the machine
-From 42d8389b1b8b22be93aefd995f8a1b818bf1dac5 Mon Sep 17 00:00:00 2001
+From 84e563dc0f76f480dc00ec72c04621810cf2bcb1 Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Thu, 30 Aug 2018 09:38:02 +1000
-Subject: [PATCH 164/703] ASoC: cs4265: Add a S/PDIF enable switch
+Subject: [PATCH 164/725] ASoC: cs4265: Add a S/PDIF enable switch
commit f853d6b3ba345297974d877d8ed0f4a91eaca739 upstream.
-From acee6587af4d29f9c95fa79f2bbf9cab3a96842e Mon Sep 17 00:00:00 2001
+From 515db674b59d2d693b8a6dd8fc9bb2827a71335e Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Thu, 30 Aug 2018 09:38:01 +1000
-Subject: [PATCH 165/703] ASoC: cs4265: Add native 32bit I2S transport
+Subject: [PATCH 165/725] ASoC: cs4265: Add native 32bit I2S transport
commit be47e75eb1419ffc1d9c26230963fd5fa3055097 upstream.
-From b505a24b00c20ca89877ed20599dd4846a7dea83 Mon Sep 17 00:00:00 2001
+From 160ed28c5e56e859e8e1c415e1012a9cab451af1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 18 Sep 2018 11:03:20 +0100
-Subject: [PATCH 166/703] configs: Add SENSOR_GPIO_FAN=m
+Subject: [PATCH 166/725] configs: Add SENSOR_GPIO_FAN=m
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 0bcb443fca933a3b5e3c16065696a1949ea8f5eb Mon Sep 17 00:00:00 2001
+From 8b33ef9c1afe19c6d7e3f833e73a4bd3afa0225d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 18 Sep 2018 11:08:07 +0100
-Subject: [PATCH 167/703] BCM270X_DT: Add gpio-fan overlay
+Subject: [PATCH 167/725] BCM270X_DT: Add gpio-fan overlay
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From acb48e74935371e095b98d5d8d4c97a577e46b63 Mon Sep 17 00:00:00 2001
+From 2403affd9cfe04af6326ccc9ba7ee64832b1881d Mon Sep 17 00:00:00 2001
From: Hanno Zulla <abos@hanno.de>
Date: Thu, 23 Aug 2018 17:03:38 +0200
-Subject: [PATCH 168/703] HID: hid-bigbenff: driver for BigBen Interactive
+Subject: [PATCH 168/725] HID: hid-bigbenff: driver for BigBen Interactive
PS3OFMINIPAD gamepad
commit 256a90ed9e46b270bbc4e15ef05216ff049c3721 upstream.
-From 8bf8320c86fd8601dccb0ea6dc677a6d2256a50e Mon Sep 17 00:00:00 2001
+From f8ce06486d1946376160c956d1bc1784c9472fdb Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 24 Sep 2018 14:56:58 +0100
-Subject: [PATCH 169/703] configs: Add CONFIG_HID_BIGBEN_FF=m
+Subject: [PATCH 169/725] configs: Add CONFIG_HID_BIGBEN_FF=m
See: https://github.com/raspberrypi/linux/issues/2690
-From 42808db6f458ddfca3367ed1167550241d2feb57 Mon Sep 17 00:00:00 2001
+From 8a868455243fec7abfe55d4f6af9eeb94755d4b7 Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Fri, 28 Sep 2018 15:13:28 +1000
-Subject: [PATCH 170/703] ASoC: cs4265: Add a MIC pre. route (#2696)
+Subject: [PATCH 170/725] ASoC: cs4265: Add a MIC pre. route (#2696)
Commit b0ef5011b981ece1fde8063243a56d3038b87adb upstream.
-From 45466299c8b39d5d37b3a84c2db74834539ddc4b Mon Sep 17 00:00:00 2001
+From e4c16c37899bacb3a1a10c5830459fc09f3135d9 Mon Sep 17 00:00:00 2001
From: Paul <paulenuta@users.noreply.github.com>
Date: Thu, 11 Oct 2018 12:17:20 +0300
-Subject: [PATCH 171/703] Update gpio-fan-overlay.dts (#2711)
+Subject: [PATCH 171/725] Update gpio-fan-overlay.dts (#2711)
Add references, links, clear details, some typo correction.
---
-From 5d58e2d4e99f2ad2107b3aaca93fda6e758dc1ba Mon Sep 17 00:00:00 2001
+From 158b0f9b48e2974cbe8b83ab0024a05ebcefbe99 Mon Sep 17 00:00:00 2001
From: Ram Chandrasekar <rkumbako@codeaurora.org>
Date: Mon, 7 May 2018 11:54:08 -0600
-Subject: [PATCH 172/703] drivers: thermal: step_wise: add support for
+Subject: [PATCH 172/725] drivers: thermal: step_wise: add support for
hysteresis
From: Ram Chandrasekar <rkumbako@codeaurora.org>
-From 71eb84af0905c95ae67e957f8af81e131e534ea9 Mon Sep 17 00:00:00 2001
+From e381db8721f2658d7c90183b4685bb62e96db6fe Mon Sep 17 00:00:00 2001
From: Serge Schneider <serge@raspberrypi.org>
Date: Tue, 2 Oct 2018 11:14:15 +0100
-Subject: [PATCH 173/703] drivers: thermal: step_wise: avoid throttling at
+Subject: [PATCH 173/725] drivers: thermal: step_wise: avoid throttling at
hysteresis temperature after dropping below it
Signed-off-by: Serge Schneider <serge@raspberrypi.org>
-From 981040d773878289ce9cd7bb15a78f4205317ab1 Mon Sep 17 00:00:00 2001
+From 6699b062f9bebb291c65f8402a62e99c71402ed0 Mon Sep 17 00:00:00 2001
From: Serge Schneider <serge@raspberrypi.org>
Date: Wed, 26 Sep 2018 19:44:59 +0100
-Subject: [PATCH 174/703] hwmon: adjust rpi-poe-fan overlay trip points
+Subject: [PATCH 174/725] hwmon: adjust rpi-poe-fan overlay trip points
Signed-off-by: Serge Schneider <serge@raspberrypi.org>
---
-From ca2ef312a9bb95596a2f69186f4ca210a8160c1a Mon Sep 17 00:00:00 2001
+From db562e1eaed352231730eebcdc22b5c305e42338 Mon Sep 17 00:00:00 2001
From: Serge Schneider <serge@raspberrypi.org>
Date: Tue, 2 Oct 2018 17:13:48 +0100
-Subject: [PATCH 175/703] overlays: add overrides for PoE HAT fan control
+Subject: [PATCH 175/725] overlays: add overrides for PoE HAT fan control
Signed-off-by: Serge Schneider <serge@raspberrypi.org>
---
-From deb8928a66ab048325b52a00c36bd8a69cd63bea Mon Sep 17 00:00:00 2001
+From dc7881193fbee4ac1235d5a87af7d3abef3bee14 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 18 Jul 2018 17:25:00 +0100
-Subject: [PATCH 176/703] overlays: Add gpio-no-bank0-irq overlay
+Subject: [PATCH 176/725] overlays: Add gpio-no-bank0-irq overlay
See: https://github.com/raspberrypi/linux/issues/2590
-From e296ac154f037f09fd100150d8eb113942661f58 Mon Sep 17 00:00:00 2001
+From ea5d66b73d721b0a21d6b3eb677dd8f65cb8a3dd 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/703] Add hy28b 2017 model device tree overlay (#2721)
+Subject: [PATCH 177/725] Add hy28b 2017 model device tree overlay (#2721)
The 2017 version of the hy28b display requires a different
initialisation sequence.
-From b457a3f171ce59b613250751775c56b390995c71 Mon Sep 17 00:00:00 2001
+From e7010b9f0497dd34e8b054b321d82e44925594dc Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 25 Oct 2018 14:08:43 +0100
-Subject: [PATCH 178/703] config: Add CONFIG_USBIP_VUDC
+Subject: [PATCH 178/725] config: Add CONFIG_USBIP_VUDC
See: https://github.com/raspberrypi/firmware/issues/353
---
-From 999a38346e7d54c6d8323965e91e2218d0e6d716 Mon Sep 17 00:00:00 2001
+From d5188bb19c7c3a01091e0779a94c67c2b6314005 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 26 Oct 2018 17:29:51 +0100
-Subject: [PATCH 179/703] mmc/bcm2835-sdhost: Recover from MMC_SEND_EXT_CSD
+Subject: [PATCH 179/725] 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.
-From 3bbbf9c1d2e2459c9a74adf0e7b771ac2b9f7451 Mon Sep 17 00:00:00 2001
+From 4f60a9f26c17f3722c6cc6b4af149ff8db4f6e47 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 29 Oct 2018 10:38:31 +0000
-Subject: [PATCH 180/703] overlays: pi3-disable-bt: Clear out bt_pins node
+Subject: [PATCH 180/725] 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
-From 5e3cd6eeb1af7da0424290cb77e355755e17729c Mon Sep 17 00:00:00 2001
+From 759061b16cf853b38c8cce3688fb8566b3e8b413 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 29 Oct 2018 14:45:45 +0000
-Subject: [PATCH 181/703] Revert "rtc: pcf8523: properly handle oscillator stop
+Subject: [PATCH 181/725] Revert "rtc: pcf8523: properly handle oscillator stop
bit"
This reverts commit ede44c908d44b166a5b6bd7caacd105c2ff5a70f.
-From f77461fb11af8f37a15832032c58a256e21ff311 Mon Sep 17 00:00:00 2001
+From 70971c0ca8a15bca1ff755494bc83b161cf363f6 Mon Sep 17 00:00:00 2001
From: James Hughes <JamesH65@users.noreply.github.com>
Date: Fri, 2 Nov 2018 11:55:49 +0000
-Subject: [PATCH 182/703] Update issue templates (#2736)
+Subject: [PATCH 182/725] Update issue templates (#2736)
---
.github/ISSUE_TEMPLATE/bug_report.md | 34 ++++++++++++++++++++++++++++
-From bd2af9087e825313f2c2d2cf4ff74c7421a705d2 Mon Sep 17 00:00:00 2001
+From 964ca9ac6a8e55a3563734d0e9c1219bc6e42813 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 7 Nov 2018 17:43:10 +0000
-Subject: [PATCH 183/703] overlays: uart0 - return GPIOs 14 and 15 to inputs
+Subject: [PATCH 183/725] 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
-From 59782472a3e41e591492ef219abb3f0fc082d08f Mon Sep 17 00:00:00 2001
+From cebac10c14079ce87b94a9e7caa77cdbf883f458 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 12 Nov 2018 22:54:40 +0000
-Subject: [PATCH 184/703] mmc: bcm2835-sdhost: Fix warnings on arm64
+Subject: [PATCH 184/725] mmc: bcm2835-sdhost: Fix warnings on arm64
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From bb7479c2adc27bd21e5fae14df21d4f9e89a8aac Mon Sep 17 00:00:00 2001
+From 2a1d1f77ccfc4e5f4b2b4df23504df77d5aceda1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 12 Nov 2018 22:56:35 +0000
-Subject: [PATCH 185/703] Fix warning in bcm2835-smi-nand
+Subject: [PATCH 185/725] Fix warning in bcm2835-smi-nand
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 7ee204d064e56592409ea3ff7ba930a00fe51a0f Mon Sep 17 00:00:00 2001
+From 5d582dbe8344f87fb726b4e35620dc0ca554337f Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:55:37 +0000
-Subject: [PATCH 186/703] media: ov5647: Add set_fmt and get_fmt calls.
+Subject: [PATCH 186/725] media: ov5647: Add set_fmt and get_fmt calls.
There's no way to query the subdevice for the supported
resolutions.
-From 3a40a450f896c003be6b4fc7ce020f64716c2e2b Mon Sep 17 00:00:00 2001
+From 31f9d16b849bc50df1a0393a5b858fe3e56e7809 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:55:59 +0000
-Subject: [PATCH 187/703] [media] Documentation: DT: add device tree for PWDN
+Subject: [PATCH 187/725] [media] Documentation: DT: add device tree for PWDN
control
Add optional GPIO pwdn to connect to the PWDN line on the sensor.
-From 7c6fef835e14a484f24a41f5095bbef492aa433c Mon Sep 17 00:00:00 2001
+From 7330f9a31cb271e4b148bf171cec1ce32c25338a Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:56:33 +0000
-Subject: [PATCH 188/703] media: ov5647: Add support for PWDN GPIO.
+Subject: [PATCH 188/725] media: ov5647: Add support for PWDN GPIO.
Add support for an optional GPIO connected to PWDN on the sensor.
-From d8eb44c8aa81de883c154c46b3323895e6a70a35 Mon Sep 17 00:00:00 2001
+From 39de5418b771d8506e2836fec7d4296983fee954 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:56:47 +0000
-Subject: [PATCH 189/703] media: ov5647: Add support for non-continuous clock
+Subject: [PATCH 189/725] media: ov5647: Add support for non-continuous clock
mode
The driver was only supporting continuous clock mode
-From 74cfa3689511a7befa86ab18ff4d4d9662472c08 Mon Sep 17 00:00:00 2001
+From 9774cb0c44ed8d6394b6cb7c742517a2c7989f09 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:56:59 +0000
-Subject: [PATCH 190/703] media: tc358743: Increase FIFO level to 374.
+Subject: [PATCH 190/725] 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
-From 5223be7b3a1ee9849730657ade5767bd3f6cf3bd Mon Sep 17 00:00:00 2001
+From 5edf7cf2cfe901e8df2d698eaf518f856308313f Mon Sep 17 00:00:00 2001
From: Philipp Zabel <p.zabel@pengutronix.de>
Date: Thu, 21 Sep 2017 17:30:24 +0200
-Subject: [PATCH 191/703] media: tc358743: fix connected/active CSI-2 lane
+Subject: [PATCH 191/725] media: tc358743: fix connected/active CSI-2 lane
reporting
g_mbus_config was supposed to indicate all supported lane numbers, not
-From 518faafd6f8b692a3448b6ca6e5e473f55d5360e Mon Sep 17 00:00:00 2001
+From f372eaac56da0592bef997c681b05525f1950745 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:57:21 +0000
-Subject: [PATCH 192/703] media: tc358743: Add support for 972Mbit/s link freq.
+Subject: [PATCH 192/725] 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.
-From 0b01e856bf06b8cd40e0edd37b4f3d47935fe09c Mon Sep 17 00:00:00 2001
+From 02d715b6d479f2f67244056d731f37c5b1475f37 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:57:34 +0000
-Subject: [PATCH 193/703] media: tc358743: Check I2C succeeded during probe.
+Subject: [PATCH 193/725] 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.
-From cb7c2b320a18a8129092e6b452e72716fa083878 Mon Sep 17 00:00:00 2001
+From 156dcf0046229d377ab882094f7ea7b80c411eaa Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:57:46 +0000
-Subject: [PATCH 194/703] media: adv7180: Default to the first valid input
+Subject: [PATCH 194/725] media: adv7180: Default to the first valid input
The hardware default is differential CVBS on AIN1 & 2, which
isn't very useful.
-From 17310ae3261766d68d778d353b13970fb6c25810 Mon Sep 17 00:00:00 2001
+From 888202a50fd8f8eb16e57d2f35621bdcaff3c0c5 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:57:56 +0000
-Subject: [PATCH 195/703] media: adv7180: Add YPrPb support for ADV7282M
+Subject: [PATCH 195/725] 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
-From f776604fdd061358ccdc420ba8babcc6fbe76baa Mon Sep 17 00:00:00 2001
+From 37a1cdda51bc5989510ccfe28ccf149a1e5c3f76 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:58:08 +0000
-Subject: [PATCH 196/703] media: videodev2: Add helper defines for printing
+Subject: [PATCH 196/725] media: videodev2: Add helper defines for printing
FOURCCs
New helper defines that allow printing of a FOURCC using
-From 1adfe2e2d3e1cd6a13e32763e347284c08f6707b Mon Sep 17 00:00:00 2001
+From 1f7138cdbf10ca6225ba4b1df6ab4e3c7db996bc Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:59:06 +0000
-Subject: [PATCH 197/703] dt-bindings: Document BCM283x CSI2/CCP2 receiver
+Subject: [PATCH 197/725] dt-bindings: Document BCM283x CSI2/CCP2 receiver
Document the DT bindings for the CSI2/CCP2 receiver peripheral
(known as Unicam) on BCM283x SoCs.
-From f37e8a66e3cd8eafc8b233ae250e2ac159b6870b Mon Sep 17 00:00:00 2001
+From c43d7b532dd2e502330fa1457e5e952ef307504e Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:59:22 +0000
-Subject: [PATCH 198/703] media: bcm2835-unicam: Driver for CCP2/CSI2 camera
+Subject: [PATCH 198/725] media: bcm2835-unicam: Driver for CCP2/CSI2 camera
interface
Add driver for the Unicam camera receiver block on
-From 602457089d7a0ee10df402370a50e469b213da02 Mon Sep 17 00:00:00 2001
+From f363e576611799627bd2f5dbe3cf07c4792ccf84 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:59:40 +0000
-Subject: [PATCH 199/703] MAINTAINERS: Add entry for BCM2835 Unicam driver
+Subject: [PATCH 199/725] MAINTAINERS: Add entry for BCM2835 Unicam driver
Adds entry for the new BCM2835 Unicam (CSI-2 receiver) driver
-From 52fca9e13ca8fe69a2c181982bafe09688a42de4 Mon Sep 17 00:00:00 2001
+From ba8758df732d320e5647d23f245a8a134dde92e1 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 14:59:51 +0000
-Subject: [PATCH 200/703] defconfig: Enable Unicam driver and various sources
+Subject: [PATCH 200/725] defconfig: Enable Unicam driver and various sources
on Pi platforms.
Enable:
-From b14afe8c3c5c85e3114617eba49751e21b9cbe47 Mon Sep 17 00:00:00 2001
+From 63714d94e345ffeaf2042cfe552fa2a00ed8764c Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 15:00:04 +0000
-Subject: [PATCH 201/703] media: adv7180: Nasty hack to allow input selection.
+Subject: [PATCH 201/725] 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
-From e2bd21a4b01db45b8b3ecf5d1e0716c608266065 Mon Sep 17 00:00:00 2001
+From 5672dd9e874730f5a0db0b7697e5f66a7707e130 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 15:00:20 +0000
-Subject: [PATCH 202/703] BCM283x DT: Add CSI nodes to the device tree.
+Subject: [PATCH 202/725] BCM283x DT: Add CSI nodes to the device tree.
Adds CSI nodes to all the upstream device tree configs
-From 1778c46d5542576ba3335c00502c7ccf9035b42c Mon Sep 17 00:00:00 2001
+From 5da3b99c82d6a93af9490e759fa83caecc11550f Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 15:00:45 +0000
-Subject: [PATCH 203/703] BCM270X_DT: Add CSI defines for all the downstream Pi
+Subject: [PATCH 203/725] BCM270X_DT: Add CSI defines for all the downstream Pi
platforms
Adds the CSI device includes for the bcm27xx platform DTS files
-From db902a4ec646e0ab4dee6168c3d1ef2d121c5865 Mon Sep 17 00:00:00 2001
+From ba7e742c925b5a46ac63fe0c6e3d988eb6ea3e79 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 15:01:59 +0000
-Subject: [PATCH 204/703] arm: dt: Add DT overlays for ADV7282M, OV5647, and
+Subject: [PATCH 204/725] arm: dt: Add DT overlays for ADV7282M, OV5647, and
TC358743
DT overlays to setup the above devices via i2c_arm and csi1.
-From 4f00a0c8bef152e0d2f3a382bbe02cc49bc8287e Mon Sep 17 00:00:00 2001
+From 9ab30d7658ba3c6ddf77661b6ca4440ef2d6e38d Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 31 Oct 2018 15:02:18 +0000
-Subject: [PATCH 205/703] dtoverlays: Add support for ADV7280-M, ADV7281-M and
+Subject: [PATCH 205/725] dtoverlays: Add support for ADV7280-M, ADV7281-M and
ADV7281-MA chips.
The driver that supports the ADV7282-M also supports the ADV7280-M,
-From 3090cdd55e3a36f545409814cbee08761b93640c Mon Sep 17 00:00:00 2001
+From 2491694e7b0b8c09b13130f9c165a812b773e57e Mon Sep 17 00:00:00 2001
From: James Hughes <JamesH65@users.noreply.github.com>
Date: Tue, 13 Nov 2018 17:27:00 +0000
-Subject: [PATCH 206/703] Mailbox firmware calls now use kmalloc (#2749)
+Subject: [PATCH 206/725] Mailbox firmware calls now use kmalloc (#2749)
A previous change moved away from variable stack
allocation of a data buffer to a fixed maximum size.
-From fb5cef781e09bb78ca095f8f5780952f996115f1 Mon Sep 17 00:00:00 2001
+From c050abb666638d8f9eaa7b5557713e7d9335495f Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 14 Nov 2018 11:54:46 +0000
-Subject: [PATCH 207/703] vcsm: Fix an NULL dereference in the import_dmabuf
+Subject: [PATCH 207/725] vcsm: Fix an NULL dereference in the import_dmabuf
error path
resource was dereferenced even though it was NULL.
-From 150489867949c6059436b7f96f36b11c5e75692a Mon Sep 17 00:00:00 2001
+From 74e24f7ba3e0443ffc4d026e96848c9ec51e2dcf Mon Sep 17 00:00:00 2001
From: James Hughes <JamesH65@users.noreply.github.com>
Date: Tue, 13 Nov 2018 16:51:21 +0000
-Subject: [PATCH 208/703] Update README (#2750)
+Subject: [PATCH 208/725] Update README (#2750)
Small update to the DT blob docs to include the axiperf option.
-From 18ac45909a08b7d4a67a4863a1a4c5e5ea7475dd Mon Sep 17 00:00:00 2001
+From 755f5c2690bd5c2b4db803600815cb1007057326 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 14 Nov 2018 09:53:25 +0000
-Subject: [PATCH 209/703] overlays: Remove superfluous #address/size-cells
+Subject: [PATCH 209/725] overlays: Remove superfluous #address/size-cells
Newer versions of dtc warn about unnecessary usage of #address-cells
and #size-cells, so remove them.
-From 636b64caee57e3afbe0c92c723ff266c9d4391b1 Mon Sep 17 00:00:00 2001
+From dbe949065c6b3de54cc172f6b2a906135392a4c1 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 18 Nov 2018 13:21:26 +0100
-Subject: [PATCH 210/703] Revert "ASoC: wm8804: MCLK configuration options,
+Subject: [PATCH 210/725] Revert "ASoC: wm8804: MCLK configuration options,
32-bit"
This reverts commit 3b12dcf797f5a4635aecd7f5c090dc507b124ffd.
-From 3ee2530bf8c00154ba00eb70bbb6c0276fbb0ca2 Mon Sep 17 00:00:00 2001
+From a93fcdaf72291fea4661690cc35e1a45834e3cb7 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 18 Nov 2018 15:24:16 +0100
-Subject: [PATCH 211/703] rpi-wm8804-soundcard: drop PWRDN register writes
+Subject: [PATCH 211/725] rpi-wm8804-soundcard: drop PWRDN register writes
Since kernel 4.0 the PWRDN register bits are under DAPM
control from the wm8804 driver.
-From c56c1c63927b4fafb51b45df92d6a58eeb08141a Mon Sep 17 00:00:00 2001
+From cf634513d2b238ae041d4fd836e48c63b94c0e6b Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 18 Nov 2018 15:32:28 +0100
-Subject: [PATCH 212/703] rpi-wm8804-soundcard: configure wm8804 clocks only on
+Subject: [PATCH 212/725] rpi-wm8804-soundcard: configure wm8804 clocks only on
rate change
This should avoid clicks when stopping and immediately afterwards
-From 0676c7a6270df8f3bdc0cfee0025959e155c8c2a Mon Sep 17 00:00:00 2001
+From c305b2c14d9ec6f297062a0410010325d783eec6 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 26 Nov 2018 17:02:15 +0000
-Subject: [PATCH 213/703] dtoverlays: Add i2c on 0&1 option to TC358743,
+Subject: [PATCH 213/725] 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
-From dcc96e7fc22e361aa7f242dd3ca6db1f04a4c364 Mon Sep 17 00:00:00 2001
+From be3c95b4f638fc037188705615fabe0d3f25e72c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 26 Nov 2018 20:15:16 +0000
-Subject: [PATCH 214/703] overlays: Update upstream overlay
+Subject: [PATCH 214/725] overlays: Update upstream overlay
The vc4-kms-v3d overlay gained an extra fragment enabling the txp node,
so rebuild the upstream overlay to match.
-From 2a98edd2e5a5477d9649f0682c9b195c8b6c7656 Mon Sep 17 00:00:00 2001
+From 16bf1291c3ffcdee88ee4838b2aa77f18bcfdd02 Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Wed, 28 Nov 2018 10:36:01 +0100
-Subject: [PATCH 215/703] BCM2708_DT: update firmware node binding
+Subject: [PATCH 215/725] 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
-From 57fdcf2049630157495c84a1440632c476016687 Mon Sep 17 00:00:00 2001
+From d167329afba66f1c7ac58a60941f6ee716e303b2 Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Tue, 27 Nov 2018 16:59:10 +0100
-Subject: [PATCH 216/703] BCM2710_DT: fix gpio expander bindings
+Subject: [PATCH 216/725] BCM2710_DT: fix gpio expander bindings
The upstreamed driver for the GPIO expander expects to be a children of
the "firmware" node.
-From 1606baa0882db5b08b493b59eaa2377703e536d2 Mon Sep 17 00:00:00 2001
+From 3cb3a4cf65c1daf812e5b29447e3282e953f308b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 27 Nov 2018 16:33:31 +0000
-Subject: [PATCH 217/703] ARM: dts: bcm283x: The lan7515 PHY node has moved
+Subject: [PATCH 217/725] 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.
-From cfbb056c0c1445496f3434daf8324cad652d09be Mon Sep 17 00:00:00 2001
+From 0c5f8dac2daa64a5bc4793ec5c39004ae077b739 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 26 Nov 2018 19:46:58 +0000
-Subject: [PATCH 218/703] net: lan78xx: Support auto-downshift to 100Mb/s
+Subject: [PATCH 218/725] 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
-From c8fee0e0a910f0286d6aa059b27c4d59109b978a Mon Sep 17 00:00:00 2001
+From 557a6998397903dd9416fdc717fa8016ef6b6d31 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 28 Nov 2018 15:51:41 +0000
-Subject: [PATCH 219/703] dt-bindings: Document microchip,downshift-after
+Subject: [PATCH 219/725] dt-bindings: Document microchip,downshift-after
Document the optional downshift-after property of the lan78xx's PHY.
-From 464f47a7c83ea253304b7fd43f56302db8071593 Mon Sep 17 00:00:00 2001
+From 1ee1b7cac821e90ac203c4274623fc03154be42d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 27 Nov 2018 16:55:14 +0000
-Subject: [PATCH 220/703] ARM: dts: bcm283x: Set downshift-after for Pi 3B+
+Subject: [PATCH 220/725] 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
-From 64c215470c985bd740e378cc3cd6963e15f0a927 Mon Sep 17 00:00:00 2001
+From 398295a34e3ee4b8817f868b4b81ae0462e6abe0 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 27 Nov 2018 16:56:50 +0000
-Subject: [PATCH 221/703] BCM270X_DT: Add new Ethernet DT parameters
+Subject: [PATCH 221/725] 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,
-From 50086a7018911acdd58d627050127bfa7c5ec7de Mon Sep 17 00:00:00 2001
+From cb156dbcbd7fd138d0abb96855e2e472cb1ba3d3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 29 Nov 2018 16:00:22 +0000
-Subject: [PATCH 222/703] BCM270X_DT: Mark eth_downshift_after as an integer
+Subject: [PATCH 222/725] BCM270X_DT: Mark eth_downshift_after as an integer
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 71ffaebfc05366238b7b3777e572dc77ec6f78f6 Mon Sep 17 00:00:00 2001
+From e0cb60557d0127240de57893416068d60e90757a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 16 Jul 2018 14:40:13 +0100
-Subject: [PATCH 223/703] dwc-otg: FIQ: Fix "bad mode in data abort handler"
+Subject: [PATCH 223/725] 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
-From e2c77b86039e8f16d6dd75e06a50dc7290e95233 Mon Sep 17 00:00:00 2001
+From 06a217704d5b7acc8680b9ff4cb837f8dd7b4b5d Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 30 Nov 2018 18:55:23 +0000
-Subject: [PATCH 224/703] lirc-rpi: Remove in favour of gpio-ir
+Subject: [PATCH 224/725] lirc-rpi: Remove in favour of gpio-ir
---
arch/arm/boot/dts/overlays/Makefile | 1 -
-From b30282f720fddb3175a46726bd18ac691b172d32 Mon Sep 17 00:00:00 2001
+From 9e280b87eaf77735f0b9d1fd56a72ec11e7230cb Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 22 Nov 2018 17:28:02 +0000
-Subject: [PATCH 225/703] media: bcm2835-unicam: Pass through the colorspace on
+Subject: [PATCH 225/725] media: bcm2835-unicam: Pass through the colorspace on
try_fmt
The current colorspace was always returned from try_fmt for no
-From 8f84df14dc88580bfdce95999ab0167d3871ff7c Mon Sep 17 00:00:00 2001
+From 88ebe04c5b8feff596e3d373eb3d779fa13ff8c9 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 22 Nov 2018 17:31:06 +0000
-Subject: [PATCH 226/703] media: tc358743: Return an appropriate colorspace
+Subject: [PATCH 226/725] media: tc358743: Return an appropriate colorspace
from tc358743_set_fmt
When calling tc358743_set_fmt, the code was calling tc358743_get_fmt
-From 99b24dda7eb97f1c094abc942241ff1a7428b639 Mon Sep 17 00:00:00 2001
+From d248e54f2c13facdde31e13ab8c3acb26f63a8cd Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sat, 20 Oct 2018 19:26:18 +0200
-Subject: [PATCH 227/703] staging: bcm2835-camera: fix module autoloading
+Subject: [PATCH 227/725] staging: bcm2835-camera: fix module autoloading
In order to make the module bcm2835-camera load automatically, we need to
add a module alias.
-From 9aa76a475dad23bcec194a08d063c9b19e54187e Mon Sep 17 00:00:00 2001
+From 87c91dbd458eb312449a9b300e13d7ca43ba9105 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sat, 20 Oct 2018 19:31:00 +0200
-Subject: [PATCH 228/703] staging: bcm2835-camera: Move module info to the end
+Subject: [PATCH 228/725] 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.
-From e70e5563e9db4cb2cf081f40373b0b0df40b1c5c Mon Sep 17 00:00:00 2001
+From f5072609c720b1f50098d69e208113735f6b31fa Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sat, 13 Oct 2018 20:51:23 +0200
-Subject: [PATCH 229/703] staging: vchiq_arm: Fix platform device
+Subject: [PATCH 229/725] staging: vchiq_arm: Fix platform device
unregistration
In error case platform_device_register_data would return an ERR_PTR
-From 1134ea85e8c3870ee3d31bb6acb4326d0f674d6a Mon Sep 17 00:00:00 2001
+From c9adbf27cebcbd0bd144eb3c282f9d9115121526 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Mon, 22 Oct 2018 15:16:51 +0200
-Subject: [PATCH 230/703] staging: vchiq_arm: Fix camera device registration
+Subject: [PATCH 230/725] staging: vchiq_arm: Fix camera device registration
Since the camera driver isn't probed via DT, we need to properly setup DMA.
-From 1f7a4bfbb20d1775eac5b7db7545c0ab35b7642d Mon Sep 17 00:00:00 2001
+From 9a52240005032514c0df20bbcbac6a2efdc1ba04 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sat, 20 Oct 2018 20:25:41 +0200
-Subject: [PATCH 231/703] staging: vchiq_arm: Register a platform device for
+Subject: [PATCH 231/725] staging: vchiq_arm: Register a platform device for
the audio driver
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-From 4055954ff0be5159876c33f4841be686b4f730ab Mon Sep 17 00:00:00 2001
+From fb56caeb8f51fd08ff898bb679ac53bb5d9eb04e Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sat, 13 Oct 2018 20:19:13 +0200
-Subject: [PATCH 232/703] staging: bcm2835-audio: Enable compile test
+Subject: [PATCH 232/725] staging: bcm2835-audio: Enable compile test
Enable the compilation test for bcm2835-audio.
-From ff285113caa9279101db3b6eb31dfc3d94e57d3d Mon Sep 17 00:00:00 2001
+From 57d6f481243f83f9ee1d62e0581d20d54005fb90 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Thu, 18 Oct 2018 19:47:29 +0200
-Subject: [PATCH 233/703] staging: bcm2835-audio: use module_platform_driver()
+Subject: [PATCH 233/725] staging: bcm2835-audio: use module_platform_driver()
macro
There is not much value behind this boilerplate, so use
-From 4f0fb18ee7b5479b673257d15fe7bec3b3d90aac Mon Sep 17 00:00:00 2001
+From c396f36045c306f7d928c487455d0450585bbf4e Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Thu, 18 Oct 2018 19:54:01 +0200
-Subject: [PATCH 234/703] staging: bcm2835-audio: Drop DT dependency
+Subject: [PATCH 234/725] 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
-From a6646e496feed4fd7affe3fc5d4fc3e2591046d6 Mon Sep 17 00:00:00 2001
+From acf4b3ea7ec32069d8f3bd2b541ccb56ed1d0db5 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sun, 21 Oct 2018 18:40:07 +0200
-Subject: [PATCH 235/703] staging: bcm2835-camera: Provide more specific probe
+Subject: [PATCH 235/725] staging: bcm2835-camera: Provide more specific probe
error messages
Currently there is only a catch-all info message which print the
-From 477275011a3c1720683e3f9e6014ed2e76d921b7 Mon Sep 17 00:00:00 2001
+From 362ea23e6c338b589e9fcc5e91e942b00c37a93b Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sun, 21 Oct 2018 19:08:29 +0200
-Subject: [PATCH 236/703] staging: bcm2835-camera: Add hint about possible
+Subject: [PATCH 236/725] 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
-From 55c9d1a762b9cbb5a4c574918fb41a9cde6bb491 Mon Sep 17 00:00:00 2001
+From eb3b747986fbc23defe3942b91e24d3b0e007e3e Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Mon, 22 Oct 2018 11:09:18 +0200
-Subject: [PATCH 237/703] staging: bcm2835: Don't probe if no camera is
+Subject: [PATCH 237/725] 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
-From f83ac752b3898e65614d8b643ac57e828e1c5668 Mon Sep 17 00:00:00 2001
+From 8c25a73d376b538692aa0128d57ff95c71479561 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 3 Dec 2018 12:50:38 +0000
-Subject: [PATCH 238/703] staging: vchiq_arm: Improve error handling on loading
+Subject: [PATCH 238/725] staging: vchiq_arm: Improve error handling on loading
drivers
The handling of loading platform drivers requires checking IS_ERR
-From 7cd2d38371edd4a04401c02c098a0e436816f3af Mon Sep 17 00:00:00 2001
+From c668ed917ce492f9448245078e0a2e9f9f4eef3a Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 14 Feb 2018 17:04:26 +0000
-Subject: [PATCH 239/703] staging: bcm2835-camera: Do not bulk receive from
+Subject: [PATCH 239/725] staging: bcm2835-camera: Do not bulk receive from
service thread
vchi_bulk_queue_receive will queue up to a default of 4
-From 1e07591a39c73d5aec191a5d4065f33167483dd2 Mon Sep 17 00:00:00 2001
+From 873220449e4532c76d9ff86a75a482d1f78887db Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 29 Oct 2018 14:21:04 +0000
-Subject: [PATCH 240/703] staging: bcm2835-camera: Ensure H264 header bytes get
+Subject: [PATCH 240/725] staging: bcm2835-camera: Ensure H264 header bytes get
a sensible timestamp
H264 header come from VC with 0 timestamps, which means they get a
-From e66266218dca0b30e730f7b97240119cd140b92f Mon Sep 17 00:00:00 2001
+From 4bbbd45f2e47c52b89cd77c6b7cd7b5075836f86 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 13 Feb 2017 13:11:41 +0000
-Subject: [PATCH 241/703] staging: bcm2835-camera: Correctly denote key frames
+Subject: [PATCH 241/725] staging: bcm2835-camera: Correctly denote key frames
in encoded data
Forward MMAL key frame flags to the V4L2 buffers.
-From 83ba21bb6043c5afc3d497e9be4e128b3e1adf93 Mon Sep 17 00:00:00 2001
+From 7270f7555eb3d8144844c110e10f20558e563de6 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 10 Mar 2017 17:27:56 +0000
-Subject: [PATCH 242/703] staging: bcm2835-camera: Return early on errors
+Subject: [PATCH 242/725] 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
-From b7c48c78192d20fadb46b41a4628cb2a239017c1 Mon Sep 17 00:00:00 2001
+From fbea466b9b1178cf7b20607a3aa4ba7e98090e72 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 10 Mar 2017 17:35:38 +0000
-Subject: [PATCH 243/703] staging: bcm2835-camera: Remove dead email addresses
+Subject: [PATCH 243/725] 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.
-From d1f1713c45091e779b29ee64e8900c9fac9e6339 Mon Sep 17 00:00:00 2001
+From d6c47fa1f829bfd7d85829bf5b507ac5aafe1172 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 21 Feb 2018 13:49:32 +0000
-Subject: [PATCH 244/703] staging: bcm2835-camera: Fix comment style
+Subject: [PATCH 244/725] staging: bcm2835-camera: Fix comment style
violations.
Fix comment style violations in the header files.
-From 587b76ecb097da6d7d386a0c228230d9175bc1e4 Mon Sep 17 00:00:00 2001
+From 9b4f48ebb4bad6ed87d15874967d446327b0e65f Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 21 Feb 2018 14:13:03 +0000
-Subject: [PATCH 245/703] staging: bcm2835-camera: Fix spacing around operators
+Subject: [PATCH 245/725] staging: bcm2835-camera: Fix spacing around operators
Fix checkpatch warnings over spaces around operators.
Many were around operations that can be replaced with the
-From 12692997f0508b8c3c31c23f8ab6983380888f5e Mon Sep 17 00:00:00 2001
+From 562d78a33091aaeb7c2f2a975a262438d4b6ff30 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 21 Feb 2018 15:23:35 +0000
-Subject: [PATCH 246/703] staging: bcm2835-camera: Reduce length of enum names
+Subject: [PATCH 246/725] 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
-From 169d3b165889c1531227e2bb1e5df0f10ca9c83a Mon Sep 17 00:00:00 2001
+From bec59483afd1d335649fd26c83e448aae6602e4a Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 21 Feb 2018 15:28:07 +0000
-Subject: [PATCH 247/703] staging: bcm2835-camera: Fix multiple line
+Subject: [PATCH 247/725] staging: bcm2835-camera: Fix multiple line
dereference errors
Fix checkpatch errors "Avoid multiple line dereference"
-From b9702c9018656a2145bf18ad997d59f03f606bee Mon Sep 17 00:00:00 2001
+From c6fd809a48f06d2319c2391bafef0cf912fd9aa9 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 21 Feb 2018 15:37:11 +0000
-Subject: [PATCH 248/703] staging: bcm2835-camera: Fix brace style issues.
+Subject: [PATCH 248/725] staging: bcm2835-camera: Fix brace style issues.
Fix mismatched or missing brace issues flagged by checkpatch.
-From 153f1bd423b29c9c5ea0ab23ca4c1beb272dab31 Mon Sep 17 00:00:00 2001
+From cd004c183f3080cd6ec13337e63dded7a625bee4 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 21 Feb 2018 15:39:26 +0000
-Subject: [PATCH 249/703] staging: bcm2835-camera: Fix missing lines between
+Subject: [PATCH 249/725] staging: bcm2835-camera: Fix missing lines between
items
Fix checkpatch errors for missing blank lines after variable
-From b628d79fb130da3cbae59b4aaa14fbaf599a5e7c Mon Sep 17 00:00:00 2001
+From 1a1fb6d6e25aa33db217c5109aa6b440fedee415 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 21 Feb 2018 15:48:54 +0000
-Subject: [PATCH 250/703] staging: bcm2835-camera: Fix logical continuation
+Subject: [PATCH 250/725] staging: bcm2835-camera: Fix logical continuation
splits
Fix checkpatch errors for "Logical continuations should be
-From 1e5564239201bed6be0b57d50c6f95e8f3907512 Mon Sep 17 00:00:00 2001
+From 636f4fad6c786c006e32c86b2f0d769c19177414 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 21 Feb 2018 15:53:59 +0000
-Subject: [PATCH 251/703] staging: bcm2835-camera: Fix open parenthesis
+Subject: [PATCH 251/725] staging: bcm2835-camera: Fix open parenthesis
alignment
Fix checkpatch "Alignment should match open parenthesis"
-From 06ef8c73a0898576b90db697007bca999acad2fe Mon Sep 17 00:00:00 2001
+From 12f0df5a07a37ebc3669784fe234e7a24d5867c3 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 21 Jun 2018 17:02:14 +0100
-Subject: [PATCH 255/703] staging: bcm2835-camera: Set sequence number
+Subject: [PATCH 252/725] staging: bcm2835-camera: Set sequence number
correctly
Set the sequence number in vb2_v4l2_buffer mainly so the
-From 04224f83b7285caf63afbbc4dab2917118ce6667 Mon Sep 17 00:00:00 2001
+From b29685ae7838b052cab7c7e26ff16e249edea294 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 24 Jul 2018 12:08:29 +0100
-Subject: [PATCH 256/703] staging: bcm2835-camera: Ensure timestamps never go
+Subject: [PATCH 253/725] staging: bcm2835-camera: Ensure timestamps never go
backwards.
There is an awkward situation with H264 header bytes. Currently
-From bb6d0d223ef1579a13eae3cffc66db9ede83bbd1 Mon Sep 17 00:00:00 2001
+From 4ae496b855e158789383247cde55591fe9ce4ceb Mon Sep 17 00:00:00 2001
From: Nathan Chancellor <natechancellor@gmail.com>
Date: Thu, 27 Sep 2018 17:50:39 -0700
-Subject: [PATCH 257/703] staging: bcm2835-camera: Avoid unneeded internal
+Subject: [PATCH 254/725] staging: bcm2835-camera: Avoid unneeded internal
declaration warning
Clang warns:
-From 74a68a4cabb8dc516c6d1a9860043b9285d4f661 Mon Sep 17 00:00:00 2001
+From 66becb1e25c43817c0f46e401557955d2f763d07 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 24 Sep 2018 16:21:06 +0100
-Subject: [PATCH 258/703] staging: bcm2835-camera: Add multiple inclusion
+Subject: [PATCH 255/725] staging: bcm2835-camera: Add multiple inclusion
protection to headers
mmal-common.h and mmal-msg.h didn't have the normal
-From 8e7b28ae807a4f727ea9a1232705b2bdb6752c1f Mon Sep 17 00:00:00 2001
+From dc86a3318afa6e113b3094380fdab904d900c90b Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 3 Dec 2018 13:15:20 +0000
-Subject: [PATCH 259/703] staging: bcm2835-camera: Unify header inclusion
+Subject: [PATCH 256/725] staging: bcm2835-camera: Unify header inclusion
defines
Most of the headers use ifndef FOO_H, whilst mmal-parameters.h
-From 62b19c662d048c575fc9aef23560f31f4d72767b Mon Sep 17 00:00:00 2001
+From 8f2e8949f937462d749e19b28a8208e286caf605 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 29 Oct 2018 15:50:50 +0000
-Subject: [PATCH 260/703] ARM: bcm2835_defconfig: Enable bcm2835-camera
+Subject: [PATCH 257/725] ARM: bcm2835_defconfig: Enable bcm2835-camera
Enables the V4L2 camera driver as a module.
-From eef1625f7bbf1d7073860159fb9317725cd680dc Mon Sep 17 00:00:00 2001
+From d8c77a920cd800c375e1040f61ed15ec53219c1c Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 29 Oct 2018 15:55:42 +0000
-Subject: [PATCH 261/703] staging: bcm2835-camera: Fix alignment should match
+Subject: [PATCH 258/725] staging: bcm2835-camera: Fix alignment should match
open parenthesis
Fix up checkpatch "Alignment should match open parenthesis" errors
-From 39d27efce4fe6c36ae65c34b73ff1024ec4fbf0e Mon Sep 17 00:00:00 2001
+From 816336e4081a5180c5b8524b2839e31f43a5ddf8 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 29 Oct 2018 15:58:14 +0000
-Subject: [PATCH 262/703] staging: bcm2835-camera: Fix multiple assignments
+Subject: [PATCH 259/725] staging: bcm2835-camera: Fix multiple assignments
should be avoided
Clear checkpatch complaints of "multiple assignments should be avoided"
-From 9ae2700167c495dba01b1625ab62e407b660c86c Mon Sep 17 00:00:00 2001
+From 2af5efec3dd9186edee08f14dffcee638955c909 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 29 Oct 2018 16:08:41 +0000
-Subject: [PATCH 263/703] staging: bcm2835-camera: Fix up all formatting in
+Subject: [PATCH 260/725] staging: bcm2835-camera: Fix up all formatting in
mmal-paramters.h
Fixes up all checkpatch errors in mmal-parameters.h
-From cbfd21871e5882f8ffa73a7b5c96018409b683ea Mon Sep 17 00:00:00 2001
+From 8d81b25c2bdc73f4d5d0985c0ec8e2d19f181768 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 28 Sep 2018 10:17:11 +0100
-Subject: [PATCH 264/703] staging: bcm2835-camera: Use enums for max value in
+Subject: [PATCH 261/725] staging: bcm2835-camera: Use enums for max value in
controls
Controls of type MMAL_CONTROL_TYPE_STD_MENU call v4l2_ctrl_new_std_menu
-From d62b10483e89fbd3adc2cde272234ad5300d9a42 Mon Sep 17 00:00:00 2001
+From d0b848e7dde7eb67abd7cd14a2746ee09ffcfacb Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 8 Oct 2018 18:26:15 +0100
-Subject: [PATCH 265/703] staging: bcm2835-camera: Correct
+Subject: [PATCH 262/725] staging: bcm2835-camera: Correct
V4L2_CID_COLORFX_CBCR behaviour
With V4L2_CID_COLORFX_CBCR calling ctrl_set_colfx it was incorrectly
-From dac082334ccbfa6a051fdc48700f64e8412169d5 Mon Sep 17 00:00:00 2001
+From f214d9ca66942c23a839e5ba54524fa39a8e08b1 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 28 Sep 2018 10:22:26 +0100
-Subject: [PATCH 266/703] staging: bcm2835-camera: Remove/amend some obsolete
+Subject: [PATCH 263/725] staging: bcm2835-camera: Remove/amend some obsolete
comments
Remove a todo which has been done.
-From abd417b71f4b157cb183cab26620d08c303ce805 Mon Sep 17 00:00:00 2001
+From 5ba9f10bdb359e285f9052484814ef61a7bcb276 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 24 Sep 2018 16:30:37 +0100
-Subject: [PATCH 267/703] staging: vc04_services: Split vchiq-mmal into a
+Subject: [PATCH 264/725] staging: vc04_services: Split vchiq-mmal into a
module
In preparation for adding a video codec V4L2 module which also
+ccflags-y += \
+ -Idrivers/staging/vc04_services \
+ -D__VCCOREVER__=0x04000000
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
++++ /dev/null
+@@ -1,1899 +0,0 @@
+-// SPDX-License-Identifier: GPL-2.0
+-/*
+- * Broadcom BM2835 V4L2 driver
+- *
+- * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+- *
+- * Authors: Vincent Sanders @ Collabora
+- * Dave Stevenson @ Broadcom
+- * (now dave.stevenson@raspberrypi.org)
+- * Simon Mellor @ Broadcom
+- * Luke Diamand @ Broadcom
+- *
+- * V4L2 driver MMAL vchiq interface code
+- */
+-
+-#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+-
+-#include <linux/errno.h>
+-#include <linux/kernel.h>
+-#include <linux/mutex.h>
+-#include <linux/mm.h>
+-#include <linux/slab.h>
+-#include <linux/completion.h>
+-#include <linux/vmalloc.h>
+-#include <asm/cacheflush.h>
+-#include <media/videobuf2-vmalloc.h>
+-
+-#include "mmal-common.h"
+-#include "mmal-vchiq.h"
+-#include "mmal-msg.h"
+-
+-#define USE_VCHIQ_ARM
+-#include "interface/vchi/vchi.h"
+-
+-/* maximum number of components supported */
+-#define VCHIQ_MMAL_MAX_COMPONENTS 4
+-
+-/*#define FULL_MSG_DUMP 1*/
+-
+-#ifdef DEBUG
+-static const char *const msg_type_names[] = {
+- "UNKNOWN",
+- "QUIT",
+- "SERVICE_CLOSED",
+- "GET_VERSION",
+- "COMPONENT_CREATE",
+- "COMPONENT_DESTROY",
+- "COMPONENT_ENABLE",
+- "COMPONENT_DISABLE",
+- "PORT_INFO_GET",
+- "PORT_INFO_SET",
+- "PORT_ACTION",
+- "BUFFER_FROM_HOST",
+- "BUFFER_TO_HOST",
+- "GET_STATS",
+- "PORT_PARAMETER_SET",
+- "PORT_PARAMETER_GET",
+- "EVENT_TO_HOST",
+- "GET_CORE_STATS_FOR_PORT",
+- "OPAQUE_ALLOCATOR",
+- "CONSUME_MEM",
+- "LMK",
+- "OPAQUE_ALLOCATOR_DESC",
+- "DRM_GET_LHS32",
+- "DRM_GET_TIME",
+- "BUFFER_FROM_HOST_ZEROLEN",
+- "PORT_FLUSH",
+- "HOST_LOG",
+-};
+-#endif
+-
+-static const char *const port_action_type_names[] = {
+- "UNKNOWN",
+- "ENABLE",
+- "DISABLE",
+- "FLUSH",
+- "CONNECT",
+- "DISCONNECT",
+- "SET_REQUIREMENTS",
+-};
+-
+-#if defined(DEBUG)
+-#if defined(FULL_MSG_DUMP)
+-#define DBG_DUMP_MSG(MSG, MSG_LEN, TITLE) \
+- do { \
+- pr_debug(TITLE" type:%s(%d) length:%d\n", \
+- msg_type_names[(MSG)->h.type], \
+- (MSG)->h.type, (MSG_LEN)); \
+- print_hex_dump(KERN_DEBUG, "<<h: ", DUMP_PREFIX_OFFSET, \
+- 16, 4, (MSG), \
+- sizeof(struct mmal_msg_header), 1); \
+- print_hex_dump(KERN_DEBUG, "<<p: ", DUMP_PREFIX_OFFSET, \
+- 16, 4, \
+- ((u8 *)(MSG)) + sizeof(struct mmal_msg_header),\
+- (MSG_LEN) - sizeof(struct mmal_msg_header), 1); \
+- } while (0)
+-#else
+-#define DBG_DUMP_MSG(MSG, MSG_LEN, TITLE) \
+- { \
+- pr_debug(TITLE" type:%s(%d) length:%d\n", \
+- msg_type_names[(MSG)->h.type], \
+- (MSG)->h.type, (MSG_LEN)); \
+- }
+-#endif
+-#else
+-#define DBG_DUMP_MSG(MSG, MSG_LEN, TITLE)
+-#endif
+-
+-struct vchiq_mmal_instance;
+-
+-/* normal message context */
+-struct mmal_msg_context {
+- struct vchiq_mmal_instance *instance;
+-
+- /* Index in the context_map idr so that we can find the
+- * mmal_msg_context again when servicing the VCHI reply.
+- */
+- int handle;
+-
+- union {
+- struct {
+- /* work struct for buffer_cb callback */
+- struct work_struct work;
+- /* work struct for deferred callback */
+- struct work_struct buffer_to_host_work;
+- /* mmal instance */
+- struct vchiq_mmal_instance *instance;
+- /* mmal port */
+- struct vchiq_mmal_port *port;
+- /* actual buffer used to store bulk reply */
+- struct mmal_buffer *buffer;
+- /* amount of buffer used */
+- unsigned long buffer_used;
+- /* MMAL buffer flags */
+- u32 mmal_flags;
+- /* Presentation and Decode timestamps */
+- s64 pts;
+- s64 dts;
+-
+- int status; /* context status */
+-
+- } bulk; /* bulk data */
+-
+- struct {
+- /* message handle to release */
+- VCHI_HELD_MSG_T msg_handle;
+- /* pointer to received message */
+- struct mmal_msg *msg;
+- /* received message length */
+- u32 msg_len;
+- /* completion upon reply */
+- struct completion cmplt;
+- } sync; /* synchronous response */
+- } u;
+-
+-};
+-
+-struct vchiq_mmal_instance {
+- VCHI_SERVICE_HANDLE_T handle;
+-
+- /* ensure serialised access to service */
+- struct mutex vchiq_mutex;
+-
+- /* vmalloc page to receive scratch bulk xfers into */
+- void *bulk_scratch;
+-
+- struct idr context_map;
+- /* protect accesses to context_map */
+- struct mutex context_map_lock;
+-
+- /* component to use next */
+- int component_idx;
+- struct vchiq_mmal_component component[VCHIQ_MMAL_MAX_COMPONENTS];
+-
+- /* ordered workqueue to process all bulk operations */
+- struct workqueue_struct *bulk_wq;
+-};
+-
+-static struct mmal_msg_context *
+-get_msg_context(struct vchiq_mmal_instance *instance)
+-{
+- struct mmal_msg_context *msg_context;
+- int handle;
+-
+- /* todo: should this be allocated from a pool to avoid kzalloc */
+- msg_context = kzalloc(sizeof(*msg_context), GFP_KERNEL);
+-
+- if (!msg_context)
+- return ERR_PTR(-ENOMEM);
+-
+- /* Create an ID that will be passed along with our message so
+- * that when we service the VCHI reply, we can look up what
+- * message is being replied to.
+- */
+- mutex_lock(&instance->context_map_lock);
+- handle = idr_alloc(&instance->context_map, msg_context,
+- 0, 0, GFP_KERNEL);
+- mutex_unlock(&instance->context_map_lock);
+-
+- if (handle < 0) {
+- kfree(msg_context);
+- return ERR_PTR(handle);
+- }
+-
+- msg_context->instance = instance;
+- msg_context->handle = handle;
+-
+- return msg_context;
+-}
+-
+-static struct mmal_msg_context *
+-lookup_msg_context(struct vchiq_mmal_instance *instance, int handle)
+-{
+- return idr_find(&instance->context_map, handle);
+-}
+-
+-static void
+-release_msg_context(struct mmal_msg_context *msg_context)
+-{
+- struct vchiq_mmal_instance *instance = msg_context->instance;
+-
+- mutex_lock(&instance->context_map_lock);
+- idr_remove(&instance->context_map, msg_context->handle);
+- mutex_unlock(&instance->context_map_lock);
+- kfree(msg_context);
+-}
+-
+-/* deals with receipt of event to host message */
+-static void event_to_host_cb(struct vchiq_mmal_instance *instance,
+- struct mmal_msg *msg, u32 msg_len)
+-{
+- pr_debug("unhandled event\n");
+- pr_debug("component:%u port type:%d num:%d cmd:0x%x length:%d\n",
+- msg->u.event_to_host.client_component,
+- msg->u.event_to_host.port_type,
+- msg->u.event_to_host.port_num,
+- msg->u.event_to_host.cmd, msg->u.event_to_host.length);
+-}
+-
+-/* workqueue scheduled callback
+- *
+- * we do this because it is important we do not call any other vchiq
+- * sync calls from witin the message delivery thread
+- */
+-static void buffer_work_cb(struct work_struct *work)
+-{
+- struct mmal_msg_context *msg_context =
+- container_of(work, struct mmal_msg_context, u.bulk.work);
+-
+- atomic_dec(&msg_context->u.bulk.port->buffers_with_vpu);
+-
+- msg_context->u.bulk.port->buffer_cb(msg_context->u.bulk.instance,
+- msg_context->u.bulk.port,
+- msg_context->u.bulk.status,
+- msg_context->u.bulk.buffer,
+- msg_context->u.bulk.buffer_used,
+- msg_context->u.bulk.mmal_flags,
+- msg_context->u.bulk.dts,
+- msg_context->u.bulk.pts);
+-}
+-
+-/* workqueue scheduled callback to handle receiving buffers
+- *
+- * VCHI will allow up to 4 bulk receives to be scheduled before blocking.
+- * If we block in the service_callback context then we can't process the
+- * VCHI_CALLBACK_BULK_RECEIVED message that would otherwise allow the blocked
+- * vchi_bulk_queue_receive() call to complete.
+- */
+-static void buffer_to_host_work_cb(struct work_struct *work)
+-{
+- struct mmal_msg_context *msg_context =
+- container_of(work, struct mmal_msg_context,
+- u.bulk.buffer_to_host_work);
+- struct vchiq_mmal_instance *instance = msg_context->instance;
+- unsigned long len = msg_context->u.bulk.buffer_used;
+- int ret;
+-
+- if (!len)
+- /* Dummy receive to ensure the buffers remain in order */
+- len = 8;
+- /* queue the bulk submission */
+- vchi_service_use(instance->handle);
+- ret = vchi_bulk_queue_receive(instance->handle,
+- msg_context->u.bulk.buffer->buffer,
+- /* Actual receive needs to be a multiple
+- * of 4 bytes
+- */
+- (len + 3) & ~3,
+- VCHI_FLAGS_CALLBACK_WHEN_OP_COMPLETE |
+- VCHI_FLAGS_BLOCK_UNTIL_QUEUED,
+- msg_context);
+-
+- vchi_service_release(instance->handle);
+-
+- if (ret != 0)
+- pr_err("%s: ctx: %p, vchi_bulk_queue_receive failed %d\n",
+- __func__, msg_context, ret);
+-}
+-
+-/* enqueue a bulk receive for a given message context */
+-static int bulk_receive(struct vchiq_mmal_instance *instance,
+- struct mmal_msg *msg,
+- struct mmal_msg_context *msg_context)
+-{
+- unsigned long rd_len;
+-
+- rd_len = msg->u.buffer_from_host.buffer_header.length;
+-
+- if (!msg_context->u.bulk.buffer) {
+- pr_err("bulk.buffer not configured - error in buffer_from_host\n");
+-
+- /* todo: this is a serious error, we should never have
+- * committed a buffer_to_host operation to the mmal
+- * port without the buffer to back it up (underflow
+- * handling) and there is no obvious way to deal with
+- * this - how is the mmal servie going to react when
+- * we fail to do the xfer and reschedule a buffer when
+- * it arrives? perhaps a starved flag to indicate a
+- * waiting bulk receive?
+- */
+-
+- return -EINVAL;
+- }
+-
+- /* ensure we do not overrun the available buffer */
+- if (rd_len > msg_context->u.bulk.buffer->buffer_size) {
+- rd_len = msg_context->u.bulk.buffer->buffer_size;
+- pr_warn("short read as not enough receive buffer space\n");
+- /* todo: is this the correct response, what happens to
+- * the rest of the message data?
+- */
+- }
+-
+- /* store length */
+- msg_context->u.bulk.buffer_used = rd_len;
+- msg_context->u.bulk.dts = msg->u.buffer_from_host.buffer_header.dts;
+- msg_context->u.bulk.pts = msg->u.buffer_from_host.buffer_header.pts;
+-
+- queue_work(msg_context->instance->bulk_wq,
+- &msg_context->u.bulk.buffer_to_host_work);
+-
+- return 0;
+-}
+-
+-/* data in message, memcpy from packet into output buffer */
+-static int inline_receive(struct vchiq_mmal_instance *instance,
+- struct mmal_msg *msg,
+- struct mmal_msg_context *msg_context)
+-{
+- memcpy(msg_context->u.bulk.buffer->buffer,
+- msg->u.buffer_from_host.short_data,
+- msg->u.buffer_from_host.payload_in_message);
+-
+- msg_context->u.bulk.buffer_used =
+- msg->u.buffer_from_host.payload_in_message;
+-
+- return 0;
+-}
+-
+-/* queue the buffer availability with MMAL_MSG_TYPE_BUFFER_FROM_HOST */
+-static int
+-buffer_from_host(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port, struct mmal_buffer *buf)
+-{
+- struct mmal_msg_context *msg_context;
+- struct mmal_msg m;
+- int ret;
+-
+- if (!port->enabled)
+- return -EINVAL;
+-
+- pr_debug("instance:%p buffer:%p\n", instance->handle, buf);
+-
+- /* get context */
+- if (!buf->msg_context) {
+- pr_err("%s: msg_context not allocated, buf %p\n", __func__,
+- buf);
+- return -EINVAL;
+- }
+- msg_context = buf->msg_context;
+-
+- /* store bulk message context for when data arrives */
+- msg_context->u.bulk.instance = instance;
+- msg_context->u.bulk.port = port;
+- msg_context->u.bulk.buffer = buf;
+- msg_context->u.bulk.buffer_used = 0;
+-
+- /* initialise work structure ready to schedule callback */
+- INIT_WORK(&msg_context->u.bulk.work, buffer_work_cb);
+- INIT_WORK(&msg_context->u.bulk.buffer_to_host_work,
+- buffer_to_host_work_cb);
+-
+- atomic_inc(&port->buffers_with_vpu);
+-
+- /* prep the buffer from host message */
+- memset(&m, 0xbc, sizeof(m)); /* just to make debug clearer */
+-
+- m.h.type = MMAL_MSG_TYPE_BUFFER_FROM_HOST;
+- m.h.magic = MMAL_MAGIC;
+- m.h.context = msg_context->handle;
+- m.h.status = 0;
+-
+- /* drvbuf is our private data passed back */
+- m.u.buffer_from_host.drvbuf.magic = MMAL_MAGIC;
+- m.u.buffer_from_host.drvbuf.component_handle = port->component->handle;
+- m.u.buffer_from_host.drvbuf.port_handle = port->handle;
+- m.u.buffer_from_host.drvbuf.client_context = msg_context->handle;
+-
+- /* buffer header */
+- m.u.buffer_from_host.buffer_header.cmd = 0;
+- m.u.buffer_from_host.buffer_header.data =
+- (u32)(unsigned long)buf->buffer;
+- m.u.buffer_from_host.buffer_header.alloc_size = buf->buffer_size;
+- m.u.buffer_from_host.buffer_header.length = 0; /* nothing used yet */
+- m.u.buffer_from_host.buffer_header.offset = 0; /* no offset */
+- m.u.buffer_from_host.buffer_header.flags = 0; /* no flags */
+- m.u.buffer_from_host.buffer_header.pts = MMAL_TIME_UNKNOWN;
+- m.u.buffer_from_host.buffer_header.dts = MMAL_TIME_UNKNOWN;
+-
+- /* clear buffer type sepecific data */
+- memset(&m.u.buffer_from_host.buffer_header_type_specific, 0,
+- sizeof(m.u.buffer_from_host.buffer_header_type_specific));
+-
+- /* no payload in message */
+- m.u.buffer_from_host.payload_in_message = 0;
+-
+- vchi_service_use(instance->handle);
+-
+- ret = vchi_queue_kernel_message(instance->handle,
+- &m,
+- sizeof(struct mmal_msg_header) +
+- sizeof(m.u.buffer_from_host));
+-
+- vchi_service_release(instance->handle);
+-
+- return ret;
+-}
+-
+-/* deals with receipt of buffer to host message */
+-static void buffer_to_host_cb(struct vchiq_mmal_instance *instance,
+- struct mmal_msg *msg, u32 msg_len)
+-{
+- struct mmal_msg_context *msg_context;
+- u32 handle;
+-
+- pr_debug("%s: instance:%p msg:%p msg_len:%d\n",
+- __func__, instance, msg, msg_len);
+-
+- if (msg->u.buffer_from_host.drvbuf.magic == MMAL_MAGIC) {
+- handle = msg->u.buffer_from_host.drvbuf.client_context;
+- msg_context = lookup_msg_context(instance, handle);
+-
+- if (!msg_context) {
+- pr_err("drvbuf.client_context(%u) is invalid\n",
+- handle);
+- return;
+- }
+- } else {
+- pr_err("MMAL_MSG_TYPE_BUFFER_TO_HOST with bad magic\n");
+- return;
+- }
+-
+- msg_context->u.bulk.mmal_flags =
+- msg->u.buffer_from_host.buffer_header.flags;
+-
+- if (msg->h.status != MMAL_MSG_STATUS_SUCCESS) {
+- /* message reception had an error */
+- pr_warn("error %d in reply\n", msg->h.status);
+-
+- msg_context->u.bulk.status = msg->h.status;
+-
+- } else if (msg->u.buffer_from_host.buffer_header.length == 0) {
+- /* empty buffer */
+- if (msg->u.buffer_from_host.buffer_header.flags &
+- MMAL_BUFFER_HEADER_FLAG_EOS) {
+- msg_context->u.bulk.status =
+- bulk_receive(instance, msg, msg_context);
+- if (msg_context->u.bulk.status == 0)
+- return; /* successful bulk submission, bulk
+- * completion will trigger callback
+- */
+- } else {
+- /* do callback with empty buffer - not EOS though */
+- msg_context->u.bulk.status = 0;
+- msg_context->u.bulk.buffer_used = 0;
+- }
+- } else if (msg->u.buffer_from_host.payload_in_message == 0) {
+- /* data is not in message, queue a bulk receive */
+- msg_context->u.bulk.status =
+- bulk_receive(instance, msg, msg_context);
+- if (msg_context->u.bulk.status == 0)
+- return; /* successful bulk submission, bulk
+- * completion will trigger callback
+- */
+-
+- /* failed to submit buffer, this will end badly */
+- pr_err("error %d on bulk submission\n",
+- msg_context->u.bulk.status);
+-
+- } else if (msg->u.buffer_from_host.payload_in_message <=
+- MMAL_VC_SHORT_DATA) {
+- /* data payload within message */
+- msg_context->u.bulk.status = inline_receive(instance, msg,
+- msg_context);
+- } else {
+- pr_err("message with invalid short payload\n");
+-
+- /* signal error */
+- msg_context->u.bulk.status = -EINVAL;
+- msg_context->u.bulk.buffer_used =
+- msg->u.buffer_from_host.payload_in_message;
+- }
+-
+- /* schedule the port callback */
+- schedule_work(&msg_context->u.bulk.work);
+-}
+-
+-static void bulk_receive_cb(struct vchiq_mmal_instance *instance,
+- struct mmal_msg_context *msg_context)
+-{
+- msg_context->u.bulk.status = 0;
+-
+- /* schedule the port callback */
+- schedule_work(&msg_context->u.bulk.work);
+-}
+-
+-static void bulk_abort_cb(struct vchiq_mmal_instance *instance,
+- struct mmal_msg_context *msg_context)
+-{
+- pr_err("%s: bulk ABORTED msg_context:%p\n", __func__, msg_context);
+-
+- msg_context->u.bulk.status = -EINTR;
+-
+- schedule_work(&msg_context->u.bulk.work);
+-}
+-
+-/* incoming event service callback */
+-static void service_callback(void *param,
+- const VCHI_CALLBACK_REASON_T reason,
+- void *bulk_ctx)
+-{
+- struct vchiq_mmal_instance *instance = param;
+- int status;
+- u32 msg_len;
+- struct mmal_msg *msg;
+- VCHI_HELD_MSG_T msg_handle;
+- struct mmal_msg_context *msg_context;
+-
+- if (!instance) {
+- pr_err("Message callback passed NULL instance\n");
+- return;
+- }
+-
+- switch (reason) {
+- case VCHI_CALLBACK_MSG_AVAILABLE:
+- status = vchi_msg_hold(instance->handle, (void **)&msg,
+- &msg_len, VCHI_FLAGS_NONE, &msg_handle);
+- if (status) {
+- pr_err("Unable to dequeue a message (%d)\n", status);
+- break;
+- }
+-
+- DBG_DUMP_MSG(msg, msg_len, "<<< reply message");
+-
+- /* handling is different for buffer messages */
+- switch (msg->h.type) {
+- case MMAL_MSG_TYPE_BUFFER_FROM_HOST:
+- vchi_held_msg_release(&msg_handle);
+- break;
+-
+- case MMAL_MSG_TYPE_EVENT_TO_HOST:
+- event_to_host_cb(instance, msg, msg_len);
+- vchi_held_msg_release(&msg_handle);
+-
+- break;
+-
+- case MMAL_MSG_TYPE_BUFFER_TO_HOST:
+- buffer_to_host_cb(instance, msg, msg_len);
+- vchi_held_msg_release(&msg_handle);
+- break;
+-
+- default:
+- /* messages dependent on header context to complete */
+- if (!msg->h.context) {
+- pr_err("received message context was null!\n");
+- vchi_held_msg_release(&msg_handle);
+- break;
+- }
+-
+- msg_context = lookup_msg_context(instance,
+- msg->h.context);
+- if (!msg_context) {
+- pr_err("received invalid message context %u!\n",
+- msg->h.context);
+- vchi_held_msg_release(&msg_handle);
+- break;
+- }
+-
+- /* fill in context values */
+- msg_context->u.sync.msg_handle = msg_handle;
+- msg_context->u.sync.msg = msg;
+- msg_context->u.sync.msg_len = msg_len;
+-
+- /* todo: should this check (completion_done()
+- * == 1) for no one waiting? or do we need a
+- * flag to tell us the completion has been
+- * interrupted so we can free the message and
+- * its context. This probably also solves the
+- * message arriving after interruption todo
+- * below
+- */
+-
+- /* complete message so caller knows it happened */
+- complete(&msg_context->u.sync.cmplt);
+- break;
+- }
+-
+- break;
+-
+- case VCHI_CALLBACK_BULK_RECEIVED:
+- bulk_receive_cb(instance, bulk_ctx);
+- break;
+-
+- case VCHI_CALLBACK_BULK_RECEIVE_ABORTED:
+- bulk_abort_cb(instance, bulk_ctx);
+- break;
+-
+- case VCHI_CALLBACK_SERVICE_CLOSED:
+- /* TODO: consider if this requires action if received when
+- * driver is not explicitly closing the service
+- */
+- break;
+-
+- default:
+- pr_err("Received unhandled message reason %d\n", reason);
+- break;
+- }
+-}
+-
+-static int send_synchronous_mmal_msg(struct vchiq_mmal_instance *instance,
+- struct mmal_msg *msg,
+- unsigned int payload_len,
+- struct mmal_msg **msg_out,
+- VCHI_HELD_MSG_T *msg_handle_out)
+-{
+- struct mmal_msg_context *msg_context;
+- int ret;
+- unsigned long timeout;
+-
+- /* payload size must not cause message to exceed max size */
+- if (payload_len >
+- (MMAL_MSG_MAX_SIZE - sizeof(struct mmal_msg_header))) {
+- pr_err("payload length %d exceeds max:%d\n", payload_len,
+- (int)(MMAL_MSG_MAX_SIZE -
+- sizeof(struct mmal_msg_header)));
+- return -EINVAL;
+- }
+-
+- msg_context = get_msg_context(instance);
+- if (IS_ERR(msg_context))
+- return PTR_ERR(msg_context);
+-
+- init_completion(&msg_context->u.sync.cmplt);
+-
+- msg->h.magic = MMAL_MAGIC;
+- msg->h.context = msg_context->handle;
+- msg->h.status = 0;
+-
+- DBG_DUMP_MSG(msg, (sizeof(struct mmal_msg_header) + payload_len),
+- ">>> sync message");
+-
+- vchi_service_use(instance->handle);
+-
+- ret = vchi_queue_kernel_message(instance->handle,
+- msg,
+- sizeof(struct mmal_msg_header) +
+- payload_len);
+-
+- vchi_service_release(instance->handle);
+-
+- if (ret) {
+- pr_err("error %d queuing message\n", ret);
+- release_msg_context(msg_context);
+- return ret;
+- }
+-
+- timeout = wait_for_completion_timeout(&msg_context->u.sync.cmplt,
+- 3 * HZ);
+- if (timeout == 0) {
+- pr_err("timed out waiting for sync completion\n");
+- ret = -ETIME;
+- /* todo: what happens if the message arrives after aborting */
+- release_msg_context(msg_context);
+- return ret;
+- }
+-
+- *msg_out = msg_context->u.sync.msg;
+- *msg_handle_out = msg_context->u.sync.msg_handle;
+- release_msg_context(msg_context);
+-
+- return 0;
+-}
+-
+-static void dump_port_info(struct vchiq_mmal_port *port)
+-{
+- pr_debug("port handle:0x%x enabled:%d\n", port->handle, port->enabled);
+-
+- pr_debug("buffer minimum num:%d size:%d align:%d\n",
+- port->minimum_buffer.num,
+- port->minimum_buffer.size, port->minimum_buffer.alignment);
+-
+- pr_debug("buffer recommended num:%d size:%d align:%d\n",
+- port->recommended_buffer.num,
+- port->recommended_buffer.size,
+- port->recommended_buffer.alignment);
+-
+- pr_debug("buffer current values num:%d size:%d align:%d\n",
+- port->current_buffer.num,
+- port->current_buffer.size, port->current_buffer.alignment);
+-
+- pr_debug("elementary stream: type:%d encoding:0x%x variant:0x%x\n",
+- port->format.type,
+- port->format.encoding, port->format.encoding_variant);
+-
+- pr_debug(" bitrate:%d flags:0x%x\n",
+- port->format.bitrate, port->format.flags);
+-
+- if (port->format.type == MMAL_ES_TYPE_VIDEO) {
+- pr_debug
+- ("es video format: width:%d height:%d colourspace:0x%x\n",
+- port->es.video.width, port->es.video.height,
+- port->es.video.color_space);
+-
+- pr_debug(" : crop xywh %d,%d,%d,%d\n",
+- port->es.video.crop.x,
+- port->es.video.crop.y,
+- port->es.video.crop.width, port->es.video.crop.height);
+- pr_debug(" : framerate %d/%d aspect %d/%d\n",
+- port->es.video.frame_rate.num,
+- port->es.video.frame_rate.den,
+- port->es.video.par.num, port->es.video.par.den);
+- }
+-}
+-
+-static void port_to_mmal_msg(struct vchiq_mmal_port *port, struct mmal_port *p)
+-{
+- /* todo do readonly fields need setting at all? */
+- p->type = port->type;
+- p->index = port->index;
+- p->index_all = 0;
+- p->is_enabled = port->enabled;
+- p->buffer_num_min = port->minimum_buffer.num;
+- p->buffer_size_min = port->minimum_buffer.size;
+- p->buffer_alignment_min = port->minimum_buffer.alignment;
+- p->buffer_num_recommended = port->recommended_buffer.num;
+- p->buffer_size_recommended = port->recommended_buffer.size;
+-
+- /* only three writable fields in a port */
+- p->buffer_num = port->current_buffer.num;
+- p->buffer_size = port->current_buffer.size;
+- p->userdata = (u32)(unsigned long)port;
+-}
+-
+-static int port_info_set(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- pr_debug("setting port info port %p\n", port);
+- if (!port)
+- return -1;
+- dump_port_info(port);
+-
+- m.h.type = MMAL_MSG_TYPE_PORT_INFO_SET;
+-
+- m.u.port_info_set.component_handle = port->component->handle;
+- m.u.port_info_set.port_type = port->type;
+- m.u.port_info_set.port_index = port->index;
+-
+- port_to_mmal_msg(port, &m.u.port_info_set.port);
+-
+- /* elementary stream format setup */
+- m.u.port_info_set.format.type = port->format.type;
+- m.u.port_info_set.format.encoding = port->format.encoding;
+- m.u.port_info_set.format.encoding_variant =
+- port->format.encoding_variant;
+- m.u.port_info_set.format.bitrate = port->format.bitrate;
+- m.u.port_info_set.format.flags = port->format.flags;
+-
+- memcpy(&m.u.port_info_set.es, &port->es,
+- sizeof(union mmal_es_specific_format));
+-
+- m.u.port_info_set.format.extradata_size = port->format.extradata_size;
+- memcpy(&m.u.port_info_set.extradata, port->format.extradata,
+- port->format.extradata_size);
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- sizeof(m.u.port_info_set),
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != MMAL_MSG_TYPE_PORT_INFO_SET) {
+- /* got an unexpected message type in reply */
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- /* return operation status */
+- ret = -rmsg->u.port_info_get_reply.status;
+-
+- pr_debug("%s:result:%d component:0x%x port:%d\n", __func__, ret,
+- port->component->handle, port->handle);
+-
+-release_msg:
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-/* use port info get message to retrieve port information */
+-static int port_info_get(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- /* port info time */
+- m.h.type = MMAL_MSG_TYPE_PORT_INFO_GET;
+- m.u.port_info_get.component_handle = port->component->handle;
+- m.u.port_info_get.port_type = port->type;
+- m.u.port_info_get.index = port->index;
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- sizeof(m.u.port_info_get),
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != MMAL_MSG_TYPE_PORT_INFO_GET) {
+- /* got an unexpected message type in reply */
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- /* return operation status */
+- ret = -rmsg->u.port_info_get_reply.status;
+- if (ret != MMAL_MSG_STATUS_SUCCESS)
+- goto release_msg;
+-
+- if (rmsg->u.port_info_get_reply.port.is_enabled == 0)
+- port->enabled = false;
+- else
+- port->enabled = true;
+-
+- /* copy the values out of the message */
+- port->handle = rmsg->u.port_info_get_reply.port_handle;
+-
+- /* port type and index cached to use on port info set because
+- * it does not use a port handle
+- */
+- port->type = rmsg->u.port_info_get_reply.port_type;
+- port->index = rmsg->u.port_info_get_reply.port_index;
+-
+- port->minimum_buffer.num =
+- rmsg->u.port_info_get_reply.port.buffer_num_min;
+- port->minimum_buffer.size =
+- rmsg->u.port_info_get_reply.port.buffer_size_min;
+- port->minimum_buffer.alignment =
+- rmsg->u.port_info_get_reply.port.buffer_alignment_min;
+-
+- port->recommended_buffer.alignment =
+- rmsg->u.port_info_get_reply.port.buffer_alignment_min;
+- port->recommended_buffer.num =
+- rmsg->u.port_info_get_reply.port.buffer_num_recommended;
+-
+- port->current_buffer.num = rmsg->u.port_info_get_reply.port.buffer_num;
+- port->current_buffer.size =
+- rmsg->u.port_info_get_reply.port.buffer_size;
+-
+- /* stream format */
+- port->format.type = rmsg->u.port_info_get_reply.format.type;
+- port->format.encoding = rmsg->u.port_info_get_reply.format.encoding;
+- port->format.encoding_variant =
+- rmsg->u.port_info_get_reply.format.encoding_variant;
+- port->format.bitrate = rmsg->u.port_info_get_reply.format.bitrate;
+- port->format.flags = rmsg->u.port_info_get_reply.format.flags;
+-
+- /* elementary stream format */
+- memcpy(&port->es,
+- &rmsg->u.port_info_get_reply.es,
+- sizeof(union mmal_es_specific_format));
+- port->format.es = &port->es;
+-
+- port->format.extradata_size =
+- rmsg->u.port_info_get_reply.format.extradata_size;
+- memcpy(port->format.extradata,
+- rmsg->u.port_info_get_reply.extradata,
+- port->format.extradata_size);
+-
+- pr_debug("received port info\n");
+- dump_port_info(port);
+-
+-release_msg:
+-
+- pr_debug("%s:result:%d component:0x%x port:%d\n",
+- __func__, ret, port->component->handle, port->handle);
+-
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-/* create comonent on vc */
+-static int create_component(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_component *component,
+- const char *name)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- /* build component create message */
+- m.h.type = MMAL_MSG_TYPE_COMPONENT_CREATE;
+- m.u.component_create.client_component = (u32)(unsigned long)component;
+- strncpy(m.u.component_create.name, name,
+- sizeof(m.u.component_create.name));
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- sizeof(m.u.component_create),
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != m.h.type) {
+- /* got an unexpected message type in reply */
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- ret = -rmsg->u.component_create_reply.status;
+- if (ret != MMAL_MSG_STATUS_SUCCESS)
+- goto release_msg;
+-
+- /* a valid component response received */
+- component->handle = rmsg->u.component_create_reply.component_handle;
+- component->inputs = rmsg->u.component_create_reply.input_num;
+- component->outputs = rmsg->u.component_create_reply.output_num;
+- component->clocks = rmsg->u.component_create_reply.clock_num;
+-
+- pr_debug("Component handle:0x%x in:%d out:%d clock:%d\n",
+- component->handle,
+- component->inputs, component->outputs, component->clocks);
+-
+-release_msg:
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-/* destroys a component on vc */
+-static int destroy_component(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_component *component)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- m.h.type = MMAL_MSG_TYPE_COMPONENT_DESTROY;
+- m.u.component_destroy.component_handle = component->handle;
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- sizeof(m.u.component_destroy),
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != m.h.type) {
+- /* got an unexpected message type in reply */
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- ret = -rmsg->u.component_destroy_reply.status;
+-
+-release_msg:
+-
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-/* enable a component on vc */
+-static int enable_component(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_component *component)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- m.h.type = MMAL_MSG_TYPE_COMPONENT_ENABLE;
+- m.u.component_enable.component_handle = component->handle;
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- sizeof(m.u.component_enable),
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != m.h.type) {
+- /* got an unexpected message type in reply */
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- ret = -rmsg->u.component_enable_reply.status;
+-
+-release_msg:
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-/* disable a component on vc */
+-static int disable_component(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_component *component)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- m.h.type = MMAL_MSG_TYPE_COMPONENT_DISABLE;
+- m.u.component_disable.component_handle = component->handle;
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- sizeof(m.u.component_disable),
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != m.h.type) {
+- /* got an unexpected message type in reply */
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- ret = -rmsg->u.component_disable_reply.status;
+-
+-release_msg:
+-
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-/* get version of mmal implementation */
+-static int get_version(struct vchiq_mmal_instance *instance,
+- u32 *major_out, u32 *minor_out)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- m.h.type = MMAL_MSG_TYPE_GET_VERSION;
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- sizeof(m.u.version),
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != m.h.type) {
+- /* got an unexpected message type in reply */
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- *major_out = rmsg->u.version.major;
+- *minor_out = rmsg->u.version.minor;
+-
+-release_msg:
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-/* do a port action with a port as a parameter */
+-static int port_action_port(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port,
+- enum mmal_msg_port_action_type action_type)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- m.h.type = MMAL_MSG_TYPE_PORT_ACTION;
+- m.u.port_action_port.component_handle = port->component->handle;
+- m.u.port_action_port.port_handle = port->handle;
+- m.u.port_action_port.action = action_type;
+-
+- port_to_mmal_msg(port, &m.u.port_action_port.port);
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- sizeof(m.u.port_action_port),
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != MMAL_MSG_TYPE_PORT_ACTION) {
+- /* got an unexpected message type in reply */
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- ret = -rmsg->u.port_action_reply.status;
+-
+- pr_debug("%s:result:%d component:0x%x port:%d action:%s(%d)\n",
+- __func__,
+- ret, port->component->handle, port->handle,
+- port_action_type_names[action_type], action_type);
+-
+-release_msg:
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-/* do a port action with handles as parameters */
+-static int port_action_handle(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port,
+- enum mmal_msg_port_action_type action_type,
+- u32 connect_component_handle,
+- u32 connect_port_handle)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- m.h.type = MMAL_MSG_TYPE_PORT_ACTION;
+-
+- m.u.port_action_handle.component_handle = port->component->handle;
+- m.u.port_action_handle.port_handle = port->handle;
+- m.u.port_action_handle.action = action_type;
+-
+- m.u.port_action_handle.connect_component_handle =
+- connect_component_handle;
+- m.u.port_action_handle.connect_port_handle = connect_port_handle;
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- sizeof(m.u.port_action_handle),
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != MMAL_MSG_TYPE_PORT_ACTION) {
+- /* got an unexpected message type in reply */
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- ret = -rmsg->u.port_action_reply.status;
+-
+- pr_debug("%s:result:%d component:0x%x port:%d action:%s(%d) connect component:0x%x connect port:%d\n",
+- __func__,
+- ret, port->component->handle, port->handle,
+- port_action_type_names[action_type],
+- action_type, connect_component_handle, connect_port_handle);
+-
+-release_msg:
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-static int port_parameter_set(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port,
+- u32 parameter_id, void *value, u32 value_size)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- m.h.type = MMAL_MSG_TYPE_PORT_PARAMETER_SET;
+-
+- m.u.port_parameter_set.component_handle = port->component->handle;
+- m.u.port_parameter_set.port_handle = port->handle;
+- m.u.port_parameter_set.id = parameter_id;
+- m.u.port_parameter_set.size = (2 * sizeof(u32)) + value_size;
+- memcpy(&m.u.port_parameter_set.value, value, value_size);
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- (4 * sizeof(u32)) + value_size,
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != MMAL_MSG_TYPE_PORT_PARAMETER_SET) {
+- /* got an unexpected message type in reply */
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- ret = -rmsg->u.port_parameter_set_reply.status;
+-
+- pr_debug("%s:result:%d component:0x%x port:%d parameter:%d\n",
+- __func__,
+- ret, port->component->handle, port->handle, parameter_id);
+-
+-release_msg:
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-static int port_parameter_get(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port,
+- u32 parameter_id, void *value, u32 *value_size)
+-{
+- int ret;
+- struct mmal_msg m;
+- struct mmal_msg *rmsg;
+- VCHI_HELD_MSG_T rmsg_handle;
+-
+- m.h.type = MMAL_MSG_TYPE_PORT_PARAMETER_GET;
+-
+- m.u.port_parameter_get.component_handle = port->component->handle;
+- m.u.port_parameter_get.port_handle = port->handle;
+- m.u.port_parameter_get.id = parameter_id;
+- m.u.port_parameter_get.size = (2 * sizeof(u32)) + *value_size;
+-
+- ret = send_synchronous_mmal_msg(instance, &m,
+- sizeof(struct
+- mmal_msg_port_parameter_get),
+- &rmsg, &rmsg_handle);
+- if (ret)
+- return ret;
+-
+- if (rmsg->h.type != MMAL_MSG_TYPE_PORT_PARAMETER_GET) {
+- /* got an unexpected message type in reply */
+- pr_err("Incorrect reply type %d\n", rmsg->h.type);
+- ret = -EINVAL;
+- goto release_msg;
+- }
+-
+- ret = -rmsg->u.port_parameter_get_reply.status;
+- /* port_parameter_get_reply.size includes the header,
+- * whilst *value_size doesn't.
+- */
+- rmsg->u.port_parameter_get_reply.size -= (2 * sizeof(u32));
+-
+- if (ret || rmsg->u.port_parameter_get_reply.size > *value_size) {
+- /* Copy only as much as we have space for
+- * but report true size of parameter
+- */
+- memcpy(value, &rmsg->u.port_parameter_get_reply.value,
+- *value_size);
+- *value_size = rmsg->u.port_parameter_get_reply.size;
+- } else {
+- memcpy(value, &rmsg->u.port_parameter_get_reply.value,
+- rmsg->u.port_parameter_get_reply.size);
+- }
+-
+- pr_debug("%s:result:%d component:0x%x port:%d parameter:%d\n", __func__,
+- ret, port->component->handle, port->handle, parameter_id);
+-
+-release_msg:
+- vchi_held_msg_release(&rmsg_handle);
+-
+- return ret;
+-}
+-
+-/* disables a port and drains buffers from it */
+-static int port_disable(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port)
+-{
+- int ret;
+- struct list_head *q, *buf_head;
+- unsigned long flags = 0;
+-
+- if (!port->enabled)
+- return 0;
+-
+- port->enabled = false;
+-
+- ret = port_action_port(instance, port,
+- MMAL_MSG_PORT_ACTION_TYPE_DISABLE);
+- if (ret == 0) {
+- /*
+- * Drain all queued buffers on port. This should only
+- * apply to buffers that have been queued before the port
+- * has been enabled. If the port has been enabled and buffers
+- * passed, then the buffers should have been removed from this
+- * list, and we should get the relevant callbacks via VCHIQ
+- * to release the buffers.
+- */
+- spin_lock_irqsave(&port->slock, flags);
+-
+- list_for_each_safe(buf_head, q, &port->buffers) {
+- struct mmal_buffer *mmalbuf;
+-
+- mmalbuf = list_entry(buf_head, struct mmal_buffer,
+- list);
+- list_del(buf_head);
+- if (port->buffer_cb)
+- port->buffer_cb(instance,
+- port, 0, mmalbuf, 0, 0,
+- MMAL_TIME_UNKNOWN,
+- MMAL_TIME_UNKNOWN);
+- }
+-
+- spin_unlock_irqrestore(&port->slock, flags);
+-
+- ret = port_info_get(instance, port);
+- }
+-
+- return ret;
+-}
+-
+-/* enable a port */
+-static int port_enable(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port)
+-{
+- unsigned int hdr_count;
+- struct list_head *q, *buf_head;
+- int ret;
+-
+- if (port->enabled)
+- return 0;
+-
+- ret = port_action_port(instance, port,
+- MMAL_MSG_PORT_ACTION_TYPE_ENABLE);
+- if (ret)
+- goto done;
+-
+- port->enabled = true;
+-
+- if (port->buffer_cb) {
+- /* send buffer headers to videocore */
+- hdr_count = 1;
+- list_for_each_safe(buf_head, q, &port->buffers) {
+- struct mmal_buffer *mmalbuf;
+-
+- mmalbuf = list_entry(buf_head, struct mmal_buffer,
+- list);
+- ret = buffer_from_host(instance, port, mmalbuf);
+- if (ret)
+- goto done;
+-
+- list_del(buf_head);
+- hdr_count++;
+- if (hdr_count > port->current_buffer.num)
+- break;
+- }
+- }
+-
+- ret = port_info_get(instance, port);
+-
+-done:
+- return ret;
+-}
+-
+-/* ------------------------------------------------------------------
+- * Exported API
+- *------------------------------------------------------------------
+- */
+-
+-int vchiq_mmal_port_set_format(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port)
+-{
+- int ret;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- ret = port_info_set(instance, port);
+- if (ret)
+- goto release_unlock;
+-
+- /* read what has actually been set */
+- ret = port_info_get(instance, port);
+-
+-release_unlock:
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-int vchiq_mmal_port_parameter_set(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port,
+- u32 parameter, void *value, u32 value_size)
+-{
+- int ret;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- ret = port_parameter_set(instance, port, parameter, value, value_size);
+-
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-int vchiq_mmal_port_parameter_get(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port,
+- u32 parameter, void *value, u32 *value_size)
+-{
+- int ret;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- ret = port_parameter_get(instance, port, parameter, value, value_size);
+-
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-/* enable a port
+- *
+- * enables a port and queues buffers for satisfying callbacks if we
+- * provide a callback handler
+- */
+-int vchiq_mmal_port_enable(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port,
+- vchiq_mmal_buffer_cb buffer_cb)
+-{
+- int ret;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- /* already enabled - noop */
+- if (port->enabled) {
+- ret = 0;
+- goto unlock;
+- }
+-
+- port->buffer_cb = buffer_cb;
+-
+- ret = port_enable(instance, port);
+-
+-unlock:
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-int vchiq_mmal_port_disable(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port)
+-{
+- int ret;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- if (!port->enabled) {
+- mutex_unlock(&instance->vchiq_mutex);
+- return 0;
+- }
+-
+- ret = port_disable(instance, port);
+-
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-/* ports will be connected in a tunneled manner so data buffers
+- * are not handled by client.
+- */
+-int vchiq_mmal_port_connect_tunnel(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *src,
+- struct vchiq_mmal_port *dst)
+-{
+- int ret;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- /* disconnect ports if connected */
+- if (src->connected) {
+- ret = port_disable(instance, src);
+- if (ret) {
+- pr_err("failed disabling src port(%d)\n", ret);
+- goto release_unlock;
+- }
+-
+- /* do not need to disable the destination port as they
+- * are connected and it is done automatically
+- */
+-
+- ret = port_action_handle(instance, src,
+- MMAL_MSG_PORT_ACTION_TYPE_DISCONNECT,
+- src->connected->component->handle,
+- src->connected->handle);
+- if (ret < 0) {
+- pr_err("failed disconnecting src port\n");
+- goto release_unlock;
+- }
+- src->connected->enabled = false;
+- src->connected = NULL;
+- }
+-
+- if (!dst) {
+- /* do not make new connection */
+- ret = 0;
+- pr_debug("not making new connection\n");
+- goto release_unlock;
+- }
+-
+- /* copy src port format to dst */
+- dst->format.encoding = src->format.encoding;
+- dst->es.video.width = src->es.video.width;
+- dst->es.video.height = src->es.video.height;
+- dst->es.video.crop.x = src->es.video.crop.x;
+- dst->es.video.crop.y = src->es.video.crop.y;
+- dst->es.video.crop.width = src->es.video.crop.width;
+- dst->es.video.crop.height = src->es.video.crop.height;
+- dst->es.video.frame_rate.num = src->es.video.frame_rate.num;
+- dst->es.video.frame_rate.den = src->es.video.frame_rate.den;
+-
+- /* set new format */
+- ret = port_info_set(instance, dst);
+- if (ret) {
+- pr_debug("setting port info failed\n");
+- goto release_unlock;
+- }
+-
+- /* read what has actually been set */
+- ret = port_info_get(instance, dst);
+- if (ret) {
+- pr_debug("read back port info failed\n");
+- goto release_unlock;
+- }
+-
+- /* connect two ports together */
+- ret = port_action_handle(instance, src,
+- MMAL_MSG_PORT_ACTION_TYPE_CONNECT,
+- dst->component->handle, dst->handle);
+- if (ret < 0) {
+- pr_debug("connecting port %d:%d to %d:%d failed\n",
+- src->component->handle, src->handle,
+- dst->component->handle, dst->handle);
+- goto release_unlock;
+- }
+- src->connected = dst;
+-
+-release_unlock:
+-
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-int vchiq_mmal_submit_buffer(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_port *port,
+- struct mmal_buffer *buffer)
+-{
+- unsigned long flags = 0;
+- int ret;
+-
+- ret = buffer_from_host(instance, port, buffer);
+- if (ret == -EINVAL) {
+- /* Port is disabled. Queue for when it is enabled. */
+- spin_lock_irqsave(&port->slock, flags);
+- list_add_tail(&buffer->list, &port->buffers);
+- spin_unlock_irqrestore(&port->slock, flags);
+- }
+-
+- return 0;
+-}
+-
+-int mmal_vchi_buffer_init(struct vchiq_mmal_instance *instance,
+- struct mmal_buffer *buf)
+-{
+- struct mmal_msg_context *msg_context = get_msg_context(instance);
+-
+- if (IS_ERR(msg_context))
+- return (PTR_ERR(msg_context));
+-
+- buf->msg_context = msg_context;
+- return 0;
+-}
+-
+-int mmal_vchi_buffer_cleanup(struct mmal_buffer *buf)
+-{
+- struct mmal_msg_context *msg_context = buf->msg_context;
+-
+- if (msg_context)
+- release_msg_context(msg_context);
+- buf->msg_context = NULL;
+-
+- return 0;
+-}
+-
+-/* Initialise a mmal component and its ports
+- *
+- */
+-int vchiq_mmal_component_init(struct vchiq_mmal_instance *instance,
+- const char *name,
+- struct vchiq_mmal_component **component_out)
+-{
+- int ret;
+- int idx; /* port index */
+- struct vchiq_mmal_component *component;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- if (instance->component_idx == VCHIQ_MMAL_MAX_COMPONENTS) {
+- ret = -EINVAL; /* todo is this correct error? */
+- goto unlock;
+- }
+-
+- component = &instance->component[instance->component_idx];
+-
+- ret = create_component(instance, component, name);
+- if (ret < 0) {
+- pr_err("%s: failed to create component %d (Not enough GPU mem?)\n",
+- __func__, ret);
+- goto unlock;
+- }
+-
+- /* ports info needs gathering */
+- component->control.type = MMAL_PORT_TYPE_CONTROL;
+- component->control.index = 0;
+- component->control.component = component;
+- spin_lock_init(&component->control.slock);
+- INIT_LIST_HEAD(&component->control.buffers);
+- ret = port_info_get(instance, &component->control);
+- if (ret < 0)
+- goto release_component;
+-
+- for (idx = 0; idx < component->inputs; idx++) {
+- component->input[idx].type = MMAL_PORT_TYPE_INPUT;
+- component->input[idx].index = idx;
+- component->input[idx].component = component;
+- spin_lock_init(&component->input[idx].slock);
+- INIT_LIST_HEAD(&component->input[idx].buffers);
+- ret = port_info_get(instance, &component->input[idx]);
+- if (ret < 0)
+- goto release_component;
+- }
+-
+- for (idx = 0; idx < component->outputs; idx++) {
+- component->output[idx].type = MMAL_PORT_TYPE_OUTPUT;
+- component->output[idx].index = idx;
+- component->output[idx].component = component;
+- spin_lock_init(&component->output[idx].slock);
+- INIT_LIST_HEAD(&component->output[idx].buffers);
+- ret = port_info_get(instance, &component->output[idx]);
+- if (ret < 0)
+- goto release_component;
+- }
+-
+- for (idx = 0; idx < component->clocks; idx++) {
+- component->clock[idx].type = MMAL_PORT_TYPE_CLOCK;
+- component->clock[idx].index = idx;
+- component->clock[idx].component = component;
+- spin_lock_init(&component->clock[idx].slock);
+- INIT_LIST_HEAD(&component->clock[idx].buffers);
+- ret = port_info_get(instance, &component->clock[idx]);
+- if (ret < 0)
+- goto release_component;
+- }
+-
+- instance->component_idx++;
+-
+- *component_out = component;
+-
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return 0;
+-
+-release_component:
+- destroy_component(instance, component);
+-unlock:
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-/*
+- * cause a mmal component to be destroyed
+- */
+-int vchiq_mmal_component_finalise(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_component *component)
+-{
+- int ret;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- if (component->enabled)
+- ret = disable_component(instance, component);
+-
+- ret = destroy_component(instance, component);
+-
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-/*
+- * cause a mmal component to be enabled
+- */
+-int vchiq_mmal_component_enable(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_component *component)
+-{
+- int ret;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- if (component->enabled) {
+- mutex_unlock(&instance->vchiq_mutex);
+- return 0;
+- }
+-
+- ret = enable_component(instance, component);
+- if (ret == 0)
+- component->enabled = true;
+-
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-/*
+- * cause a mmal component to be enabled
+- */
+-int vchiq_mmal_component_disable(struct vchiq_mmal_instance *instance,
+- struct vchiq_mmal_component *component)
+-{
+- int ret;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- if (!component->enabled) {
+- mutex_unlock(&instance->vchiq_mutex);
+- return 0;
+- }
+-
+- ret = disable_component(instance, component);
+- if (ret == 0)
+- component->enabled = false;
+-
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-int vchiq_mmal_version(struct vchiq_mmal_instance *instance,
+- u32 *major_out, u32 *minor_out)
+-{
+- int ret;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- ret = get_version(instance, major_out, minor_out);
+-
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- return ret;
+-}
+-
+-int vchiq_mmal_finalise(struct vchiq_mmal_instance *instance)
+-{
+- int status = 0;
+-
+- if (!instance)
+- return -EINVAL;
+-
+- if (mutex_lock_interruptible(&instance->vchiq_mutex))
+- return -EINTR;
+-
+- vchi_service_use(instance->handle);
+-
+- status = vchi_service_close(instance->handle);
+- if (status != 0)
+- pr_err("mmal-vchiq: VCHIQ close failed\n");
+-
+- mutex_unlock(&instance->vchiq_mutex);
+-
+- flush_workqueue(instance->bulk_wq);
+- destroy_workqueue(instance->bulk_wq);
+-
+- vfree(instance->bulk_scratch);
+-
+- idr_destroy(&instance->context_map);
+-
+- kfree(instance);
+-
+- return status;
+-}
+-
+-int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)
+-{
+- int status;
+- struct vchiq_mmal_instance *instance;
+- static VCHI_CONNECTION_T *vchi_connection;
+- static VCHI_INSTANCE_T vchi_instance;
+- SERVICE_CREATION_T params = {
+- .version = VCHI_VERSION_EX(VC_MMAL_VER, VC_MMAL_MIN_VER),
+- .service_id = VC_MMAL_SERVER_NAME,
+- .connection = vchi_connection,
+- .rx_fifo_size = 0,
+- .tx_fifo_size = 0,
+- .callback = service_callback,
+- .callback_param = NULL,
+- .want_unaligned_bulk_rx = 1,
+- .want_unaligned_bulk_tx = 1,
+- .want_crc = 0
+- };
+-
+- /* compile time checks to ensure structure size as they are
+- * directly (de)serialised from memory.
+- */
+-
+- /* ensure the header structure has packed to the correct size */
+- BUILD_BUG_ON(sizeof(struct mmal_msg_header) != 24);
+-
+- /* ensure message structure does not exceed maximum length */
+- BUILD_BUG_ON(sizeof(struct mmal_msg) > MMAL_MSG_MAX_SIZE);
+-
+- /* mmal port struct is correct size */
+- BUILD_BUG_ON(sizeof(struct mmal_port) != 64);
+-
+- /* create a vchi instance */
+- status = vchi_initialise(&vchi_instance);
+- if (status) {
+- pr_err("Failed to initialise VCHI instance (status=%d)\n",
+- status);
+- return -EIO;
+- }
+-
+- status = vchi_connect(NULL, 0, vchi_instance);
+- if (status) {
+- pr_err("Failed to connect VCHI instance (status=%d)\n", status);
+- return -EIO;
+- }
+-
+- instance = kzalloc(sizeof(*instance), GFP_KERNEL);
+-
+- if (!instance)
+- return -ENOMEM;
+-
+- mutex_init(&instance->vchiq_mutex);
+-
+- instance->bulk_scratch = vmalloc(PAGE_SIZE);
+-
+- mutex_init(&instance->context_map_lock);
+- idr_init_base(&instance->context_map, 1);
+-
+- params.callback_param = instance;
+-
+- instance->bulk_wq = alloc_ordered_workqueue("mmal-vchiq",
+- WQ_MEM_RECLAIM);
+- if (!instance->bulk_wq)
+- goto err_free;
+-
+- status = vchi_service_open(vchi_instance, ¶ms, &instance->handle);
+- if (status) {
+- pr_err("Failed to open VCHI service connection (status=%d)\n",
+- status);
+- goto err_close_services;
+- }
+-
+- vchi_service_release(instance->handle);
+-
+- *out_instance = instance;
+-
+- return 0;
+-
+-err_close_services:
+- vchi_service_close(instance->handle);
+- destroy_workqueue(instance->bulk_wq);
+-err_free:
+- vfree(instance->bulk_scratch);
+- kfree(instance);
+- return -ENODEV;
+-}
--- /dev/null
+++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
@@ -0,0 +1,1921 @@
-From 9daa20076f689c9d3f32446b5a73a0f0e20651ca Mon Sep 17 00:00:00 2001
+From 0be8a2fb0d0986f48ba31375f9c5a8620aa82edd Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 24 Sep 2018 16:51:13 +0100
-Subject: [PATCH 268/703] staging: mmal-vchiq: Allocate and free components as
+Subject: [PATCH 265/725] staging: mmal-vchiq: Allocate and free components as
required
The existing code assumed that there would only ever be 4 components,
-From 504d899794febbec7f371a2ef3d1b18e991d18e5 Mon Sep 17 00:00:00 2001
+From 4938924a490f11659b8661bbe9a7f250c2a62237 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 29 Oct 2018 16:20:46 +0000
-Subject: [PATCH 269/703] staging: mmal-vchiq: Avoid use of bool in structures
+Subject: [PATCH 266/725] staging: mmal-vchiq: Avoid use of bool in structures
Fixes up a checkpatch error "Avoid using bool structure members
because of possible alignment issues".
-From 11937ca9b223ffa394f04940b245b3689172537f Mon Sep 17 00:00:00 2001
+From 609bd5dbe6c1f9cbe2fc50124e4e8a99e4a5042a Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 24 Sep 2018 16:57:09 +0100
-Subject: [PATCH 270/703] staging: mmal-vchiq: Make timeout a defined parameter
+Subject: [PATCH 267/725] staging: mmal-vchiq: Make timeout a defined parameter
The timeout period for VPU communications is a useful thing
to extend when debugging.
-From 32d3fb2930b7e6f47959f0765c13f7cfda2baa7e Mon Sep 17 00:00:00 2001
+From 2fba609cb0baec25ef32de6ca340951e55aea464 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 24 Sep 2018 17:33:37 +0100
-Subject: [PATCH 271/703] staging: mmal-vchiq: Make a mmal_buf struct for
+Subject: [PATCH 268/725] staging: mmal-vchiq: Make a mmal_buf struct for
passing parameters
The callback from vchi_mmal to the client was growing lots of extra
-From 903a6c2047aef7eba69ca04e6e3488ba3de0d9f9 Mon Sep 17 00:00:00 2001
+From 4b5f21b730dae52710a930a295c405044557e319 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 24 Sep 2018 18:15:38 +0100
-Subject: [PATCH 272/703] staging: mmal-vchiq: Add support for event callbacks.
+Subject: [PATCH 269/725] staging: mmal-vchiq: Add support for event callbacks.
(Preparation for the codec driver).
The codec uses the event mechanism to report things such as
-From 6a64ea8c2097cbe835fae209906a26c9a1896742 Mon Sep 17 00:00:00 2001
+From c117bd7886d4d4079f33fb27b07ddd9add7310ee Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 24 Sep 2018 18:26:02 +0100
-Subject: [PATCH 273/703] staging: vc04_services: Support sending data to MMAL
+Subject: [PATCH 270/725] staging: vc04_services: Support sending data to MMAL
ports
Add the ability to send data to ports. This only supports
-From e84380e8791d0a7a6cc4057269f2a2885a4ae8c1 Mon Sep 17 00:00:00 2001
+From e28f85053dc8de18935993bee4c9e5d9483787bd Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 25 Sep 2018 16:57:40 +0100
-Subject: [PATCH 274/703] staging: vc04_services: Fixup vchiq-mmal include
+Subject: [PATCH 271/725] staging: vc04_services: Fixup vchiq-mmal include
ordering
There were dependencies on including the headers in the correct
-From b9607d33b3efa9a85268961cadc6df5b5c9b042b Mon Sep 17 00:00:00 2001
+From 3b89c864ffec186fc4b3d31ddb575533e97225eb Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 25 Sep 2018 10:27:11 +0100
-Subject: [PATCH 275/703] staging: vc04_services: Add new vc-sm-cma driver
+Subject: [PATCH 272/725] 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
-From 474a6207d432c230ffa4f9b1a8ff0d9673bd89bb Mon Sep 17 00:00:00 2001
+From 0a36165c509c40a0551831efdbd2e957cba12f80 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 30 Oct 2018 11:42:48 +0000
-Subject: [PATCH 276/703] staging: vc-sm-cma: Fixup driver for older VCHI APIs
+Subject: [PATCH 273/725] 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
-From d3c99e301ac57e6c1a5e13b341baacd7182a5763 Mon Sep 17 00:00:00 2001
+From b821e47df883a3325062a68cbe1504bf62129fd6 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 25 Sep 2018 16:07:55 +0100
-Subject: [PATCH 277/703] staging: vc04_services: Use vc-sm-cma to support zero
+Subject: [PATCH 274/725] 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
-From 2fada970d893db4a8800bae31d6ed8c01b4c4173 Mon Sep 17 00:00:00 2001
+From 46f9f09f99867b8211974aa2426bd68fe5ddb2d6 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 29 Oct 2018 17:57:45 +0000
-Subject: [PATCH 278/703] media: videobuf2: Allow exporting of a struct dmabuf
+Subject: [PATCH 275/725] 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
-From ce40b5f18f770684fcfe2b02e5bd9a73f7716a8f Mon Sep 17 00:00:00 2001
+From e99f0a65a7159b35cd8dbf753d7e12b3331b0ca4 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 25 Sep 2018 14:53:49 +0100
-Subject: [PATCH 279/703] staging: vc04_services: Add a V4L2 M2M codec driver
+Subject: [PATCH 276/725] 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
-From 7dc3f0727d394ae8eaef363808b7525e9f760310 Mon Sep 17 00:00:00 2001
+From d5e800f52f43d8be95d78d4f95b0e5825bc5c4fb Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 26 Oct 2018 15:14:16 +0100
-Subject: [PATCH 280/703] staging: vchiq_arm: Register bcm2835-codec as a
+Subject: [PATCH 277/725] staging: vchiq_arm: Register bcm2835-codec as a
platform driver
Following the same pattern as bcm2835-camera and bcm2835-audio,
-From e0f22704bdcaa4b0033e65ce00f585e8b07b26af Mon Sep 17 00:00:00 2001
+From 37dfe69edd33c0ed92770207f55f97ae3fa77607 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 26 Oct 2018 15:19:40 +0100
-Subject: [PATCH 281/703] staging: vchiq_arm: Register vcsm-cma as a platform
+Subject: [PATCH 278/725] staging: vchiq_arm: Register vcsm-cma as a platform
driver
Following the same pattern as bcm2835-camera and bcm2835-audio,
-From 940f1ba9a06ccff70f10459803efe140baa7896d Mon Sep 17 00:00:00 2001
+From 73ba32bae3b1afd20a8b9c116c620d47020f1720 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 29 Oct 2018 17:49:04 +0000
-Subject: [PATCH 282/703] ARM: bcm2835_defconfig: Enable bcm2835-codec
+Subject: [PATCH 279/725] ARM: bcm2835_defconfig: Enable bcm2835-codec
Enables the V4L2 M2M codec driver as a module.
-From 7047db2bf3ea962ccd4b3e197b1a812aab491a79 Mon Sep 17 00:00:00 2001
+From 1e3afe8e33c7ea7d2d64298d7800291766e17a15 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 30 Oct 2018 12:23:26 +0000
-Subject: [PATCH 283/703] config: Add bcm2835-codec to Pi defconfigs.
+Subject: [PATCH 280/725] config: Add bcm2835-codec to Pi defconfigs.
Adds the V4L2 M2M codec driver to the config.
-From a81fd46f130118ac4e18588eec81a630623145f6 Mon Sep 17 00:00:00 2001
+From f82bc2707af229ea9b55c5b9ec7b489aad928232 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 30 Nov 2018 16:00:54 +0000
-Subject: [PATCH 284/703] staging: bcm2835-camera: Fix stride on RGB3/BGR3
+Subject: [PATCH 281/725] staging: bcm2835-camera: Fix stride on RGB3/BGR3
formats
RGB3/BGR3 end up being 3 bytes per pixel, which meant that
-From 0f4f3fca8bb1e8283d5342d63e6758f6ac16d68d Mon Sep 17 00:00:00 2001
+From b326f198daeac021ba83802b5e4502f8b22c1604 Mon Sep 17 00:00:00 2001
From: John Sheu <sheu@chromium.org>
Date: Thu, 15 Oct 2015 18:05:25 +0900
-Subject: [PATCH 285/703] media: vb2: Allow reqbufs(0) with "in use" MMAP
+Subject: [PATCH 282/725] media: vb2: Allow reqbufs(0) with "in use" MMAP
buffers
Videobuf2 presently does not allow VIDIOC_REQBUFS to destroy outstanding
-From bcff673c2438f78cb41ab282ce969e4151e00f69 Mon Sep 17 00:00:00 2001
+From 710a31a64daa6929cf1940a7664609be39f442bc Mon Sep 17 00:00:00 2001
From: Peter Huewe <peterhuewe@gmx.de>
Date: Mon, 3 Sep 2018 21:51:51 +0200
-Subject: [PATCH 286/703] tpm: Make SECURITYFS a weak dependency
+Subject: [PATCH 283/725] tpm: Make SECURITYFS a weak dependency
commit 2f7d8dbb11287cbe9da6380ca14ed5d38c9ed91f upstream.
-From 6fd45140dfb490a231a71994d92d0f0f86703b56 Mon Sep 17 00:00:00 2001
+From 63015baea6a1b3c2cb4c84d18efdbb43ff838028 Mon Sep 17 00:00:00 2001
From: Peter Huewe <peterhuewe@gmx.de>
Date: Thu, 14 Jun 2018 22:42:18 +0200
-Subject: [PATCH 287/703] Enable TPM TIS SPI support for TPM1.2 and TPM2.0
+Subject: [PATCH 284/725] Enable TPM TIS SPI support for TPM1.2 and TPM2.0
chips
This patch enables the support for SPI TPMs which follow the TCG TIS
-From 0ca744a930b9aed72b2f291796140339eaf6ea33 Mon Sep 17 00:00:00 2001
+From d3bff43fb2a1a1ba28c7770daa28565cfc2abd5e Mon Sep 17 00:00:00 2001
From: Peter Huewe <peterhuewe@gmx.de>
Date: Thu, 14 Jun 2018 22:51:24 +0200
-Subject: [PATCH 288/703] Add overlay for SLB9760 Iridium /LetsTrust TPM
+Subject: [PATCH 285/725] 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.
-From f70b874a07779f015befed503790417c6bc1cfd2 Mon Sep 17 00:00:00 2001
+From d77f611dd04cab8310455d93106c503cde89175e Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 4 Dec 2018 19:40:12 +0000
-Subject: [PATCH 289/703] Revert "staging: vchiq_arm: Register a platform
+Subject: [PATCH 286/725] Revert "staging: vchiq_arm: Register a platform
device for the audio driver"
This reverts commit ab59590ed562b89db51fe46cee5db96b9bc5abd8.
-From 4a208b7269c8713ac3e9cb9348af76b2bb03e919 Mon Sep 17 00:00:00 2001
+From 3005ff34fcaea926cfc0c062c44f875568828ca7 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 4 Dec 2018 20:41:19 +0000
-Subject: [PATCH 290/703] Revert "staging: bcm2835-audio: Drop DT dependency"
+Subject: [PATCH 287/725] Revert "staging: bcm2835-audio: Drop DT dependency"
This reverts commit 933bc853bb764e476b0b0f633588f46d20f1f76a.
-From b459fc35cd584d7f1c02da9f83f9238caa742c97 Mon Sep 17 00:00:00 2001
+From d3a8ba2147f62a30eba236976ce9ff6291ed9636 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 291/703] ASoC: add driver for 3Dlab Nano soundcard (#2758)
+Subject: [PATCH 288/725] ASoC: add driver for 3Dlab Nano soundcard (#2758)
Signed-off-by: GT <dev@3d-lab-av.com>
---
-From a7544b1d73143b69134dd9ec665d0013775aca50 Mon Sep 17 00:00:00 2001
+From 2a7770becf1b2bf289836ea19dcc2f6744d7e413 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 5 Dec 2018 11:56:40 +0000
-Subject: [PATCH 292/703] overlays: Update README with removal of lirc-rpi
+Subject: [PATCH 289/725] overlays: Update README with removal of lirc-rpi
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From c2423f2fef7098dac416a1b49b3f9efbbbbd3293 Mon Sep 17 00:00:00 2001
+From c38a34a4f9465df9bfeff355772555efa0cd574b 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 293/703] staging: bcm2835-camera: Check the error for
+Subject: [PATCH 290/725] staging: bcm2835-camera: Check the error for
REPEAT_SEQ_HEADER (#2782)
When handling for V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER was added
-From 550dce51930fca1d5dc2a00a7a6f172fbb4e5b56 Mon Sep 17 00:00:00 2001
+From 92ac07c588df68c6cbc6c7965b679ba02d3c994b Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Wed, 9 Jan 2019 14:51:01 +0100
-Subject: [PATCH 294/703] gpio-ir: change default pull configuration to up
+Subject: [PATCH 291/725] 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
-From 127e0899869365f5dc078e1ed84429ce81df90dc Mon Sep 17 00:00:00 2001
+From bf6b1c361f3e01a5d7ce6ac2c6cb29ece28bf41a Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 10 Jan 2019 17:58:06 +0000
-Subject: [PATCH 295/703] firmware: raspberrypi: Report the fw variant during
+Subject: [PATCH 292/725] firmware: raspberrypi: Report the fw variant during
probe
The driver already reported the firmware build date during probe.
-From 66d4a3ecb20bca91bc9e209cc8dc7730dffb0b57 Mon Sep 17 00:00:00 2001
+From 6a9b19e48f8503ca3ac0c4ef29f34d6b6a96dfac Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 10 Jan 2019 18:48:54 +0000
-Subject: [PATCH 296/703] firmware: raspberrypi: Report the fw git hash during
+Subject: [PATCH 293/725] firmware: raspberrypi: Report the fw git hash during
probe
The firmware can now report the git hash from which it was built
-From e09f9e3d46d8a393d54e414a718d232d13169a29 Mon Sep 17 00:00:00 2001
+From 848168d31f850623d2837c2cc154587189a5fd47 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 15 Jan 2019 09:56:41 +0000
-Subject: [PATCH 297/703] arm64: dts: broadcom: Enable fixups for overlays
+Subject: [PATCH 294/725] arm64: dts: broadcom: Enable fixups for overlays
See: https://github.com/raspberrypi/linux/pull/2733
-From 2328af8468b09a20258488b2126449aa8539ee5a Mon Sep 17 00:00:00 2001
+From 699bca131fe01413d547e40a9e0d1db57b56e697 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 18 May 2018 10:26:59 +0100
-Subject: [PATCH 298/703] sc16is7xx: Fix for "Unexpected interrupt: 8"
+Subject: [PATCH 295/725] sc16is7xx: Fix for "Unexpected interrupt: 8"
The SC16IS752 has an Enhanced Feature Register which is aliased at the
same address as the Interrupt Identification Register; accessing it
-From 4e7767bc63406cf8a4cb2cdcf86c2592c07440f6 Mon Sep 17 00:00:00 2001
+From 4db271be1ee58a646878a17aa1007533897c095b Mon Sep 17 00:00:00 2001
From: Ben Wolsieffer <benwolsieffer@gmail.com>
Date: Sun, 9 Dec 2018 16:46:00 -0500
-Subject: [PATCH 299/703] dtoverlays: fe-pi-audio: fix sgtl5000 compatible
+Subject: [PATCH 296/725] dtoverlays: fe-pi-audio: fix sgtl5000 compatible
string
The compatible string was set to "fepi,sgtl5000", which worked for some
-From 6edc58ab2e73fc38ba380de57e8a416cfaaba512 Mon Sep 17 00:00:00 2001
+From 4e11b14186707dfb88be344f227737eaf8adc608 Mon Sep 17 00:00:00 2001
From: Ezekiel Bethel <zek@9net.org>
Date: Wed, 12 Dec 2018 19:11:13 +0000
-Subject: [PATCH 300/703] bcm2835_smi: re-add dereference to fix DMA transfers
+Subject: [PATCH 297/725] bcm2835_smi: re-add dereference to fix DMA transfers
---
drivers/misc/bcm2835_smi.c | 2 +-
-From 643d2b5c276c5d2967b857256a983ae7860607a1 Mon Sep 17 00:00:00 2001
+From a1bcab7b0deee8cf7d7bec2707cb50c269070d41 Mon Sep 17 00:00:00 2001
From: Joshua Emele <jemele@acm.org>
Date: Wed, 7 Nov 2018 16:07:40 -0800
-Subject: [PATCH 301/703] lan78xx: Debounce link events to minimize poll storm
+Subject: [PATCH 298/725] 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
-From 99324d4b613b3ee56683446abbd96623c6a64887 Mon Sep 17 00:00:00 2001
+From 93952495f34e255ab4a3ce4631edd1520200f586 Mon Sep 17 00:00:00 2001
From: b-ak <anur.bhargav@gmail.com>
Date: Thu, 3 Jan 2019 00:01:08 +0530
-Subject: [PATCH 302/703] ASoC: Add support for AudioSense-Pi add-on soundcard
+Subject: [PATCH 299/725] ASoC: Add support for AudioSense-Pi add-on soundcard
AudioSense-Pi is a RPi HAT based on a TI's TLV320AIC32x4 stereo codec
-From 43f0013d9050a0011c05370c9b6123eb059f235b Mon Sep 17 00:00:00 2001
+From 92192e0410d1c38596ca387c1680ff37847dcdc3 Mon Sep 17 00:00:00 2001
From: b-ak <anur.bhargav@gmail.com>
Date: Thu, 3 Jan 2019 00:29:14 +0530
-Subject: [PATCH 303/703] BCM270X: Adding device tree support for AudioSense-Pi
+Subject: [PATCH 300/725] BCM270X: Adding device tree support for AudioSense-Pi
add-on soundcard
Device tree overlay for AudioSense-Pi card.
-From 3e7e88225ea313a8a79773383b4004b714b07bc2 Mon Sep 17 00:00:00 2001
+From f737d88ed6add8f6197bf1a26ace908b13a19d96 Mon Sep 17 00:00:00 2001
From: b-ak <anur.bhargav@gmail.com>
Date: Fri, 4 Jan 2019 00:12:51 +0530
-Subject: [PATCH 304/703] configs: Add CONFIG_SND_AUDIOSENSE_PI=m
+Subject: [PATCH 301/725] configs: Add CONFIG_SND_AUDIOSENSE_PI=m
AudioSense-Pi add on soundcard configuration definitions
-From 5822a95be9ca76e9f467392f9010fd10635f86cd Mon Sep 17 00:00:00 2001
+From 3e9204fb393ff539359a1dd1da228d2817116f3a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 14 Jan 2019 08:50:55 +0000
-Subject: [PATCH 305/703] configs: Add CONFIG_USB_TMC=m
+Subject: [PATCH 302/725] configs: Add CONFIG_USB_TMC=m
Enable the Test & Measurement Class USB driver module.
-From 510aeba93fa3dde1e2890d49409bd1be2d72f3fe Mon Sep 17 00:00:00 2001
+From d92f631ece6e1fca95462d8b0ffd3fee97be257a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 10 Jan 2019 15:27:56 +0000
-Subject: [PATCH 306/703] overlays: sdio: Add enhanced 1-bit support
+Subject: [PATCH 303/725] 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.
-From 0efd687c78d47645956af472eac1b8d8f3a973d5 Mon Sep 17 00:00:00 2001
+From 0384e9ec7b5a3d8e6e2162ce8adf019d0f5c94cf Mon Sep 17 00:00:00 2001
From: P33M <p33m@github.com>
Date: Wed, 16 Jan 2019 10:17:52 +0000
-Subject: [PATCH 307/703] dwc_otg: fix bug with port_addr assignment for
+Subject: [PATCH 304/725] dwc_otg: fix bug with port_addr assignment for
single-TT hubs
See https://github.com/raspberrypi/linux/issues/2734
-From a87e24f59adb93d2701e56245adefe599e8eef86 Mon Sep 17 00:00:00 2001
+From e775807c64a610be5f2fcb82e152109d9b9d30f8 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 16 Jan 2019 21:26:13 +0000
-Subject: [PATCH 308/703] configs: Add CONFIG_USB_UAS=m
+Subject: [PATCH 305/725] configs: Add CONFIG_USB_UAS=m
Enable support for USB-attached-SCSI devicess.
-From e4b9a8f537b069bd3017f30b21bceb811263c979 Mon Sep 17 00:00:00 2001
+From a4bda3453c292c7b75ca0e3163daa7879d5fa952 Mon Sep 17 00:00:00 2001
From: HiFiBerry <info@hifiberry.com>
Date: Mon, 8 Oct 2018 18:10:12 +0200
-Subject: [PATCH 309/703] Added driver for the HiFiBerry DAC+ ADC (#2694)
+Subject: [PATCH 306/725] Added driver for the HiFiBerry DAC+ ADC (#2694)
Signed-off-by: Daniel Matuschek <daniel@hifiberry.com>
---
-From d499c8f6171122d78a90c3a6403ac7c0c1f50887 Mon Sep 17 00:00:00 2001
+From 01a031fa350f9fa197451a3b4aed04c43c46c50e Mon Sep 17 00:00:00 2001
From: Fabrice Gasnier <fabrice.gasnier@st.com>
Date: Mon, 1 Oct 2018 15:23:56 +0200
-Subject: [PATCH 310/703] Revert "pwm: Set class for exported channels in
+Subject: [PATCH 307/725] Revert "pwm: Set class for exported channels in
sysfs"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
-From f88cefba19bb7ad7f92f721b94fcd9782f49a3c1 Mon Sep 17 00:00:00 2001
+From 30759f3a1d9090c99769dc76964ea414b5129d85 Mon Sep 17 00:00:00 2001
From: Fabrice Gasnier <fabrice.gasnier@st.com>
Date: Mon, 1 Oct 2018 15:23:57 +0200
-Subject: [PATCH 311/703] pwm: Send a uevent on the pwmchip device upon channel
+Subject: [PATCH 308/725] pwm: Send a uevent on the pwmchip device upon channel
sysfs (un)export
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
-From e87be7d6627b4dc1ebd9173b1bf29c16b4ebd93f Mon Sep 17 00:00:00 2001
+From 635c5ee81a0595cf3504e7ae4fce5e91d7e17da4 Mon Sep 17 00:00:00 2001
From: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Date: Wed, 19 Sep 2018 18:13:52 +0400
-Subject: [PATCH 312/703] usb: dwc2: Disable all EP's on disconnect
+Subject: [PATCH 309/725] usb: dwc2: Disable all EP's on disconnect
commit dccf1bad4be7eaa096c1f3697bd37883f9a08ecb upstream.
-From c28c22b965a3c129fd4ba70a5e6b1b2353282d46 Mon Sep 17 00:00:00 2001
+From ef5163a16655fba7490d8853172ecf91e8c8cc1a Mon Sep 17 00:00:00 2001
From: Minas Harutyunyan <minas.harutyunyan@synopsys.com>
Date: Mon, 10 Dec 2018 18:09:32 +0400
-Subject: [PATCH 313/703] usb: dwc2: Fix disable all EP's on disconnect
+Subject: [PATCH 310/725] usb: dwc2: Fix disable all EP's on disconnect
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-From f6ed9ece5ed29ca16dc021ce0e9ab64bf4c879cb Mon Sep 17 00:00:00 2001
+From 365b69204bfbfdf4060f8f88d9c54d65c82efc61 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 21 Jan 2019 21:17:27 +0000
-Subject: [PATCH 314/703] overlays: Add ssd1306 overlay for OLED display
+Subject: [PATCH 311/725] overlays: Add ssd1306 overlay for OLED display
See: https://github.com/raspberrypi/firmware/issues/1098
-From 1cfb681bddf0f63b99296987b155a8a9efdb7bbf Mon Sep 17 00:00:00 2001
+From b2fbf557758e2643df53d67d3855107dbfcae2f1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 21 Jan 2019 12:19:57 +0000
-Subject: [PATCH 315/703] overlays: mcp23017: Support the MCP23008
+Subject: [PATCH 312/725] overlays: mcp23017: Support the MCP23008
Add an 'mcp23008' parameter to enable support for the MCP23008 device.
-From 62f5819191c114130ce67a4b8f33abd35403f777 Mon Sep 17 00:00:00 2001
+From f4d829afbb2bec39b872a706fe5f1382ca3864e5 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 21 Jan 2019 12:23:55 +0000
-Subject: [PATCH 316/703] overlays: Add mcp342x overlay
+Subject: [PATCH 313/725] overlays: Add mcp342x overlay
Support the MCP342x family of ADCs from Microchip.
-From ee233473783f700db1c795d8114facae23ed776b Mon Sep 17 00:00:00 2001
+From cc33f2492b4b2c0d377f99c19a46207297004631 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 24 Jan 2019 13:56:30 +0000
-Subject: [PATCH 317/703] char: vcio: Add compat ioctl handling
+Subject: [PATCH 314/725] 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
-From 4742e81159d5a54494f497a79834cf746f236681 Mon Sep 17 00:00:00 2001
+From b6dcbc7b76285b6e599cc9a4e75e544fb23fe5f7 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 24 Jan 2019 14:03:28 +0000
-Subject: [PATCH 318/703] char: vcio: Fail probe if rpi_firmware is not found.
+Subject: [PATCH 315/725] 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
-From 4be57b2f957bfe584752bc59c3a7bdee1d615b98 Mon Sep 17 00:00:00 2001
+From 211b9373ea9e8094d16a1eb9d0c2c18ab70c89de Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 22 Jan 2019 12:04:09 +0000
-Subject: [PATCH 319/703] staging: mmal-vchiq: Fix client_component for 64 bit
+Subject: [PATCH 316/725] staging: mmal-vchiq: Fix client_component for 64 bit
kernel
The MMAL client_component field is used with the event
-From cd78829bc64d03ae095636e1c5ed851e9fd7abf2 Mon Sep 17 00:00:00 2001
+From c75de411b5c596c6323174c1a403e2f811410b31 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 15 Jan 2019 15:35:24 +0000
-Subject: [PATCH 320/703] staging: bcm2835-camera: Add sanity checks for
+Subject: [PATCH 317/725] staging: bcm2835-camera: Add sanity checks for
queue_setup/CREATE_BUFS
Fixes a v4l2-compliance failure when passed a buffer that is
-From a470862bbbcc79c925933bf3e5beb7265e9aef48 Mon Sep 17 00:00:00 2001
+From b600d9b815e728a8451848a0bbf032083622305c Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 15 Jan 2019 16:32:33 +0000
-Subject: [PATCH 321/703] staging: bcm2835-camera: Set the field value within
+Subject: [PATCH 318/725] staging: bcm2835-camera: Set the field value within
each buffer
Fixes a v4l2-compliance failure
-From e2387d73874182f3aa3b0748bfa19b5cb292f97c Mon Sep 17 00:00:00 2001
+From 8dabeeeca0cd56ca8980b594e3ce938c4540f1d5 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 23 Jan 2019 18:25:50 +0000
-Subject: [PATCH 322/703] char: vc_mem: Fix up compat ioctls for 64bit kernel
+Subject: [PATCH 319/725] char: vc_mem: Fix up compat ioctls for 64bit kernel
compat_ioctl wasn't defined, so 32bit user/64bit kernel
always failed.
-From 89452f1b5d1ebad50b1aab2eac896730ec2debfd Mon Sep 17 00:00:00 2001
+From 26120a2fdc44fe84dcc0092cd6f00aa23e79bbb1 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 23 Jan 2019 18:37:29 +0000
-Subject: [PATCH 323/703] char: vc_mem: Fix all coding style issues.
+Subject: [PATCH 320/725] 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.
-From efb7d0e1c98be0715d57d6fd41f2d8f9ec7b9afd Mon Sep 17 00:00:00 2001
+From a279fd3a9e17e2306f7c585cdc070913a456e9fa Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 24 Jan 2019 15:09:28 +0000
-Subject: [PATCH 324/703] clk: clk-bcm2835: Use %zd when printing size_t
+Subject: [PATCH 321/725] 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".
-From 9f4e8de5ea95750736cda32007e7e5f099429396 Mon Sep 17 00:00:00 2001
+From d80feb505001d17a4643c93ef342ec5d61e0122c Mon Sep 17 00:00:00 2001
From: Serge Schneider <serge@raspberrypi.org>
Date: Tue, 29 Jan 2019 12:05:49 +0000
-Subject: [PATCH 325/703] mfd: Add rpi_sense_core of compatible string
+Subject: [PATCH 322/725] mfd: Add rpi_sense_core of compatible string
---
drivers/mfd/rpisense-core.c | 8 ++++++++
-From dacca227ccf7120b91dac51cdb863aa6bcab9c2f Mon Sep 17 00:00:00 2001
+From f5f2adb60536b902d5c8ed8e0d93209062313a74 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 28 Jan 2019 14:40:16 +0000
-Subject: [PATCH 326/703] gpu: vc4_firmware_kms: Fix up 64 bit compile
+Subject: [PATCH 323/725] gpu: vc4_firmware_kms: Fix up 64 bit compile
warnings.
Resolve two build warnings with regard using incorrectly
-From 9611b3067bd576a4a02bf503baf57db681571e3d Mon Sep 17 00:00:00 2001
+From 27447f66107940248d7875c908bf37384d9efd99 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 28 Jan 2019 14:42:34 +0000
-Subject: [PATCH 327/703] input: rpi-ft5406: Clear build warning on 64 bit
+Subject: [PATCH 324/725] input: rpi-ft5406: Clear build warning on 64 bit
builds.
Resolve 64 bit build warning over using %x with a dma_addr_t.
-From 7ca9fd2d5c0488279fb746ef17c99f737416949d Mon Sep 17 00:00:00 2001
+From 63f283b8c56f4eaa2df0f46c9bdd174797316aa3 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 18 Sep 2018 10:47:38 +0100
-Subject: [PATCH 328/703] dtoverlays: Correct DT handling camera GPIOs
+Subject: [PATCH 325/725] 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
-From eca3d1380c02a49273c89ce988532dd23a964860 Mon Sep 17 00:00:00 2001
+From 31ef5a3641c54ac06d1d5bc9fffcdb96d892cbf0 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 18 Sep 2018 11:08:51 +0100
-Subject: [PATCH 329/703] media: ov5647: Use gpiod_set_value_cansleep
+Subject: [PATCH 326/725] 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
-From e627fc071de98ec50c88869b579bb90f15043e3d Mon Sep 17 00:00:00 2001
+From b5157050b90e884345d1d5ca9662cb8686f72b4a Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 29 Jan 2019 15:56:10 +0000
-Subject: [PATCH 330/703] media:bcm2835-unicam: Power on subdev on
+Subject: [PATCH 327/725] media:bcm2835-unicam: Power on subdev on
open/release, not streaming
The driver was powering on the source subdevice as part of STREAMON,
-From 6fcdc4686f212cb572a0b93a293f6b6fb2a49992 Mon Sep 17 00:00:00 2001
+From 61225ddd346ff0633ced7774a4f65583fbeebc5c Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Tue, 29 Jan 2019 14:56:03 +1100
-Subject: [PATCH 331/703] audioinjector-octo: revert to dummy supplies
+Subject: [PATCH 328/725] 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.
---
-From 0bdc8ddc14e97955e91c999b42f90f420a190027 Mon Sep 17 00:00:00 2001
+From 18d7a1b078978858569a03e4c0d373ac50f6d283 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 24 Jan 2019 16:20:38 +0000
-Subject: [PATCH 332/703] staging: bcm2835-camera: Correct ctrl
+Subject: [PATCH 329/725] staging: bcm2835-camera: Correct ctrl
min/max/step/def to 64bit
The V4L2 control API was expanded to take 64 bit values in commit
-From e53e03707c6de4230a67633e5eb534e244d21b9e Mon Sep 17 00:00:00 2001
+From 9de4607bb5558db3856298e6f3674d9b794ed3bf Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 24 Jan 2019 16:40:01 +0000
-Subject: [PATCH 333/703] staging: bcm2835-codec: variable vb2 may be used
+Subject: [PATCH 330/725] staging: bcm2835-codec: variable vb2 may be used
uninitialised
In op_buffer_cb, the failure path checked whether there was
-From ee043e469252c42db198e66f4e4c290dcd48d4a0 Mon Sep 17 00:00:00 2001
+From ba444bcaef82a4ffb43d6400459b213c9c696566 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 24 Jan 2019 16:36:19 +0000
-Subject: [PATCH 334/703] staging: bcm2835-codec: Fix potentially uninitialised
+Subject: [PATCH 331/725] staging: bcm2835-codec: Fix potentially uninitialised
vars
src_m2m_buf and dst_m2m_buf were printed in log messages
-From 5bdb5d6229725a096d7ded73a47034d8bb7f70be Mon Sep 17 00:00:00 2001
+From de3edf2e5a0d2f8c9d20b8449e91d086ccf0514b Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 25 Jan 2019 17:12:54 +0000
-Subject: [PATCH 335/703] video: bcm2708_fb: Add compat_ioctl support.
+Subject: [PATCH 332/725] 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
-From 3695125662f57ce208b6769418bcda80bedbd5b6 Mon Sep 17 00:00:00 2001
+From adc3f3ca7e12a464413ccb451cdcd928a1018229 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 25 Jan 2019 17:11:39 +0000
-Subject: [PATCH 336/703] video: bcm2708_fb: Fix warnings on 64 bit builds
+Subject: [PATCH 333/725] video: bcm2708_fb: Fix warnings on 64 bit builds
Fix up logging lines where the wrong format specifiers were
being used.
-From 9236c0f31f2052bbcd6386367ace3ebfad57da3d Mon Sep 17 00:00:00 2001
+From 48ec221a8e6a5f8386e4b5346ca5bc89651588a2 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 25 Jan 2019 17:32:54 +0000
-Subject: [PATCH 337/703] video: bcm2708_fb: Clean up coding style issues
+Subject: [PATCH 334/725] video: bcm2708_fb: Clean up coding style issues
Now checkpatch clean except for 2 long lines, missing
SPDX header, and no DT documentation.
-From f1eb781eb15506a49307cd80ad5b70533622ee68 Mon Sep 17 00:00:00 2001
+From 579a73d009e45d7078246d01e5f311a79d04d291 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 20 Jul 2018 22:03:41 +0100
-Subject: [PATCH 338/703] bcm2835-dma: Add support for per-channel flags
+Subject: [PATCH 335/725] 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
-From 393156f30a06f1cd3e739e31b92e0f9a62857ea9 Mon Sep 17 00:00:00 2001
+From b8c21591d254d10e730b40eb0b1bc87dfbe7cd4b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 20 Jul 2018 22:08:05 +0100
-Subject: [PATCH 339/703] bcm283x: Set the DISDEBUG flag for SD transfers
+Subject: [PATCH 336/725] bcm283x: Set the DISDEBUG flag for SD transfers
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 9912d38ec8ef31866f61d526e1d3c001c657964e Mon Sep 17 00:00:00 2001
+From 911ef52ced060fd14d56d5a2cb816b0732da9b46 Mon Sep 17 00:00:00 2001
From: Dimitris Papavasiliou <dpapavas@gmail.com>
Date: Sat, 24 Nov 2018 22:05:42 +0200
-Subject: [PATCH 340/703] ASoC: pcm512x: Implement the digital_mute interface
+Subject: [PATCH 337/725] ASoC: pcm512x: Implement the digital_mute interface
[ Upstream commit 3500f1c589e92e0b6b1f8d31b4084fbde08d49cb ]
-From e0d60424f966b62d61300cec4ba7fd070abaf772 Mon Sep 17 00:00:00 2001
+From b55252c4bca64c4c9df97b302cd52ffec3ee01b5 Mon Sep 17 00:00:00 2001
From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Fri, 21 Dec 2018 12:11:20 +0300
-Subject: [PATCH 341/703] ASoC: pcm512x: Fix a double unlock in
+Subject: [PATCH 338/725] ASoC: pcm512x: Fix a double unlock in
pcm512x_digital_mute()
[ Upstream commit 28b698b7342c7d5300cfe217cd77ff7d2a55e03d ]
-From b10441b7ce4abbdb0f870f705cbb7d3520a57044 Mon Sep 17 00:00:00 2001
+From 12c338acee0c756cbb4c8453882341cc0e8581e7 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 25 Jan 2019 16:03:31 +0000
-Subject: [PATCH 342/703] usb: dwc_otg: Clean up build warnings on 64bit
+Subject: [PATCH 339/725] usb: dwc_otg: Clean up build warnings on 64bit
kernels
No functional changes. Almost all are changes to logging lines.
-From 2aa9b698ab642535989a1bd69300f9a6e13395c9 Mon Sep 17 00:00:00 2001
+From 17d7702409b1627d408bf2242af57ade58b5b0f9 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 30 Jan 2019 17:47:51 +0000
-Subject: [PATCH 343/703] usb: dwc_otg: Use dma allocation for mphi dummy_send
+Subject: [PATCH 340/725] usb: dwc_otg: Use dma allocation for mphi dummy_send
buffer
The FIQ driver used a kzalloc'ed buffer for dummy_send,
-From 0a0aaf192a20f9c5552c0fca4f5b29c3d31784ab Mon Sep 17 00:00:00 2001
+From a42314a829d8a17ccfd533c90339348b09e85de8 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 29 Jan 2019 16:13:25 +0000
-Subject: [PATCH 344/703] staging: vchiq_arm: Set up dma ranges on child
+Subject: [PATCH 341/725] staging: vchiq_arm: Set up dma ranges on child
devices
The VCHIQ driver now loads the audio, camera, codec, and vc-sm
-From 6fab727ac8fd457541d36edf07e6615c20341372 Mon Sep 17 00:00:00 2001
+From f1c5c628f7cab20490bec1cdafc53048b10b65f2 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 29 Jan 2019 16:24:41 +0000
-Subject: [PATCH 345/703] staging: vc-sm-cma: Correct DMA configuration.
+Subject: [PATCH 342/725] 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.
-From 0bdf03ed6435089119a3d502f84f8943a12f65ac Mon Sep 17 00:00:00 2001
+From 6d7ababea249987cb3014e62b54d8ee577179107 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 29 Jan 2019 16:29:00 +0000
-Subject: [PATCH 346/703] staging: vc-sm-cma: Use a void* pointer as the handle
+Subject: [PATCH 343/725] 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,
-From 857c68b05d9b99e26d1dd460f349ed33857dbf71 Mon Sep 17 00:00:00 2001
+From 8da5f5ca322c3b6c5c9055381af9db67f724bdc3 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 29 Jan 2019 16:32:57 +0000
-Subject: [PATCH 347/703] staging: vc-sm-cma: Fix up for 64bit builds
+Subject: [PATCH 344/725] staging: vc-sm-cma: Fix up for 64bit builds
There were a number of logging lines that were using
inappropriate formatting under 64bit kernels.
-From a707e82004fa7e421a531690d3b072e53fa05819 Mon Sep 17 00:00:00 2001
+From e8ee011946b8c53828e512c3bf2a964934073a4e Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 4 Feb 2019 12:35:06 +0000
-Subject: [PATCH 348/703] configs: Add Unicam and subdevices to
+Subject: [PATCH 345/725] configs: Add Unicam and subdevices to
bcmrpi3_defconfig
The bcm2835-unicam, tc358743, adv7180 (for adv7282m) and ov5647
-From a44812330b02d78a28b17f1e364e73d827f4a872 Mon Sep 17 00:00:00 2001
+From bfd4f57fa06a92d61ca39d3fde743cdac35b03f9 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 4 Feb 2019 12:45:25 +0000
-Subject: [PATCH 349/703] configs: Add VIDEO_BCM2835 to bcmrpi3_defconfig
+Subject: [PATCH 346/725] configs: Add VIDEO_BCM2835 to bcmrpi3_defconfig
This is now shown to work with 64 bit kernels, so add it to
the defconfig.
-From 426d55354b0d23a514ee80596f22d1ea2a58b811 Mon Sep 17 00:00:00 2001
+From b12753c64741f12e50380ac8f6d8da36766904d5 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 4 Feb 2019 13:42:51 +0000
-Subject: [PATCH 350/703] configs: Add V4L2 codec driver to bcmrpi3_defconfig
+Subject: [PATCH 347/725] configs: Add V4L2 codec driver to bcmrpi3_defconfig
As this is now fixed to work with 64bit kernels, add it to the
defconfig.
-From ba6462e05310a26c30e22aab737db4eb5ae938a8 Mon Sep 17 00:00:00 2001
+From 3a9bd6dd0db77f25d3bcbc2fd92ccd96cda854a8 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 5 Feb 2019 12:31:23 +0000
-Subject: [PATCH 351/703] config: Add IPVLAN module to bcmrpi3_defconfig
+Subject: [PATCH 348/725] config: Add IPVLAN module to bcmrpi3_defconfig
It's built for the 32bit kernels, but not for the 64bit ones.
-From 09e5438e80f821df067895228f0a78d28da17846 Mon Sep 17 00:00:00 2001
+From b3f3a83a0db08c6f4f68645f466cc3c64331b982 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 7 Feb 2019 18:16:25 +0000
-Subject: [PATCH 352/703] configs: Enable the AD193x codecs
+Subject: [PATCH 349/725] configs: Enable the AD193x codecs
See: https://github.com/raspberrypi/linux/issues/2850
-From d9e484de16eef5f3daa61a8df462ff35ebe1aedc Mon Sep 17 00:00:00 2001
+From 0bafdbbfcc0a583808997ffff5110a10b9d8b49e Mon Sep 17 00:00:00 2001
From: Zahari Petkov <zahari@balena.io>
Date: Fri, 8 Feb 2019 13:03:38 +0200
-Subject: [PATCH 353/703] overlays: balenaFin v1.1.0 carrier board update
+Subject: [PATCH 350/725] 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.
-From dbf219eac8302d979a6602b7f2f48ca58a0225e7 Mon Sep 17 00:00:00 2001
+From 6f7b49f8483bfbda41b7a33037729df18f2b84c7 Mon Sep 17 00:00:00 2001
From: Zahari Petkov <zahari@balena.io>
Date: Fri, 8 Feb 2019 13:33:47 +0200
-Subject: [PATCH 354/703] configs: Add CONFIG_LEDS_PCA963X=m
+Subject: [PATCH 351/725] configs: Add CONFIG_LEDS_PCA963X=m
Enable support for PCA963x I2C chip.
-From a0ee8937092bd619a1b99cc5e39dc579be5fdd9a Mon Sep 17 00:00:00 2001
+From 0f8f6eb08cb335806221680471fcaa9afe7ddd02 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 18 Feb 2019 15:43:30 +0000
-Subject: [PATCH 355/703] Revert "brcmfmac: Mute expected startup 'errors'"
+Subject: [PATCH 352/725] Revert "brcmfmac: Mute expected startup 'errors'"
This reverts commit 34eba9138ccf8d84552ab9dae37d8f348640e663.
-From 477a46fa014209503a601add47994f7bc4b2093a Mon Sep 17 00:00:00 2001
+From fc900e617330d4d1763c517cec2d46c6ea59f29d Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 19 Feb 2019 15:06:31 +0000
-Subject: [PATCH 356/703] gpu:vc4-fkms: Update driver to not use plane->crtc.
+Subject: [PATCH 353/725] gpu:vc4-fkms: Update driver to not use plane->crtc.
Following on from
commit 2f958af7fc248 ("drm/vc4: Stop updating plane->fb/crtc")
-From d75d01225814a7c722affe33f3bfe0ba72fe49a8 Mon Sep 17 00:00:00 2001
+From 85081cca82099c3fc27c3eaa9342928ca99e2ede Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 19 Feb 2019 15:18:25 +0000
-Subject: [PATCH 357/703] drm: vc4: Programming the CTM is conditional on
+Subject: [PATCH 354/725] drm: vc4: Programming the CTM is conditional on
running full KMS
vc4_ctm_commit writes to HVS registers, so this is only applicable
-From f65a0ba774c5ef012f45ea3136565713aa4884d5 Mon Sep 17 00:00:00 2001
+From 52c981d9c8330fe6c34d436083bee9ecc9d5c80c Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 13 Feb 2019 12:33:29 +0000
-Subject: [PATCH 358/703] staging: mmal_vchiq: Add in the Bayer encoding
+Subject: [PATCH 355/725] staging: mmal_vchiq: Add in the Bayer encoding
formats
The list of formats was copied before Bayer support was added.
-From c6d50172818f5fdc61d561ba9124c72a2ae49718 Mon Sep 17 00:00:00 2001
+From ffdd605fc5bf096855bd24311bb0f112257dd53e Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 13 Feb 2019 12:36:56 +0000
-Subject: [PATCH 359/703] staging: mmal-vchiq: Always return the param size
+Subject: [PATCH 356/725] staging: mmal-vchiq: Always return the param size
from param_get
mmal-vchiq is a reimplementation of the userland library for MMAL.
-From 351eab98f47fae8172a91cb8d65237dd1fd41a11 Mon Sep 17 00:00:00 2001
+From 778f855d699bd67e1eb177c7a0bcc30af550ce6a Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 13 Feb 2019 12:51:03 +0000
-Subject: [PATCH 360/703] staging: mmal-vchiq: If the VPU returns an error,
+Subject: [PATCH 357/725] 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.
-From 467255263f6d2c85b43a98300d283869d72a3ac3 Mon Sep 17 00:00:00 2001
+From b39574e09f52569d27b1904771a433f02bf5e547 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 13 Feb 2019 13:44:00 +0000
-Subject: [PATCH 361/703] staging: bcm2835_codec: Query supported formats from
+Subject: [PATCH 358/725] staging: bcm2835_codec: Query supported formats from
the component
The driver was previously working with hard coded tables of
-From dd3aa42c6ca22eae1b91f78f6de85935bcd6ab0e Mon Sep 17 00:00:00 2001
+From e65784b32dfce82b3eb6c5e700675e7417c4d3c4 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 13 Feb 2019 14:07:52 +0000
-Subject: [PATCH 362/703] staging: bcm2835_codec: Add support for the ISP as an
+Subject: [PATCH 359/725] staging: bcm2835_codec: Add support for the ISP as an
M2M device
The MMAL ISP component can also use this same V4L2 wrapper to
-From bb5864d9cbab452b7946b5ef97e781cf6e18e8b9 Mon Sep 17 00:00:00 2001
+From 262f0a84a1d213c703c4f527d569687bec912fe4 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 15 Feb 2019 11:36:14 +0000
-Subject: [PATCH 363/703] staging: bcm2835_codec: Add an option for ignoring
+Subject: [PATCH 360/725] staging: bcm2835_codec: Add an option for ignoring
Bayer formats.
This is a workaround for GStreamer currently not identifying Bayer
-From d103cd3b55e4285f2c0ad937cf31bea9ebaa4d21 Mon Sep 17 00:00:00 2001
+From bb88b7400187b6878bd077b8950d3b03dd5b1d02 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 15 Feb 2019 11:38:45 +0000
-Subject: [PATCH 364/703] staging: bcm2835_codec: Fix handling of
+Subject: [PATCH 361/725] staging: bcm2835_codec: Fix handling of
VB2_MEMORY_DMABUF buffers
If the queue is configured as VB2_MEMORY_DMABUF then vb2_core_expbuf
-From c295d66017878afeee903f9f324b59e847dfb69b Mon Sep 17 00:00:00 2001
+From d5e64fca8218f9553172720752629c8145c91b9e Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 18 Feb 2019 15:52:29 +0000
-Subject: [PATCH 365/703] staging: mmal-vchiq: Update mmal_parameters.h with
+Subject: [PATCH 362/725] staging: mmal-vchiq: Update mmal_parameters.h with
recently defined params
mmal_parameters.h hasn't been updated to reflect additions made
-From 90a411bf61170375a4392b603e6f085ff0c68927 Mon Sep 17 00:00:00 2001
+From 87a65d77b96f9d87d0df9da9505a3dbbadf70baf Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 18 Feb 2019 15:56:42 +0000
-Subject: [PATCH 366/703] staging: bcm2835_codec: Include timing info in SPS
+Subject: [PATCH 363/725] staging: bcm2835_codec: Include timing info in SPS
headers
Inserting timing information into the VUI block of the SPS is
-From 2e2eb767bf98517b95fc7d7e1d28b802b41bfcd9 Mon Sep 17 00:00:00 2001
+From 7f97b8d48bb2c2f67c8f7a81983e7223c91adfb0 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 5 Feb 2018 18:53:18 +0000
-Subject: [PATCH 367/703] drm/vc4: Don't wait for vblank on fkms cursor
+Subject: [PATCH 364/725] 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,
-From 3e9ce629c2f5f9f58c0b869261226ab811e2d5a7 Mon Sep 17 00:00:00 2001
+From 482738fa793cdc446e827233edc24d3db86ab1c0 Mon Sep 17 00:00:00 2001
From: Giedrius <giedrius@blokas.io>
Date: Wed, 27 Feb 2019 14:27:28 +0000
-Subject: [PATCH 368/703] Fix for Pisound kernel module in Real Time kernel
+Subject: [PATCH 365/725] Fix for Pisound kernel module in Real Time kernel
configuration.
When handler of data_available interrupt is fired, queue_work ends up
-From 9a9dd897e8de1bbf48dae13f1bdaa99996ab3b52 Mon Sep 17 00:00:00 2001
+From 2ff0243b891590549f6669104be51b76325ce167 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 27 Feb 2019 20:08:48 +0000
-Subject: [PATCH 369/703] config: Add CONFIG_FB_TFT_SH1106=m
+Subject: [PATCH 366/725] config: Add CONFIG_FB_TFT_SH1106=m
See: https://github.com/raspberrypi/linux/issues/2876
-From ac5d3c0f1d947302f4d518187357720711f4961d Mon Sep 17 00:00:00 2001
+From c5d112f24ec5bc168f8af900f7ed0cd7341ef6ba Mon Sep 17 00:00:00 2001
From: Jaikumar <jaikumar@cem-solutions.net>
Date: Thu, 7 Jun 2018 21:22:45 +0530
-Subject: [PATCH 370/703] Added mute stream func
+Subject: [PATCH 367/725] Added mute stream func
Signed-off-by: Jaikumar <jaikumar@cem-solutions.net>
---
-From 9fc96f927bdcefe90e8646c23c6eea65b07e72ab Mon Sep 17 00:00:00 2001
+From 6a63c8e17c19fe3aa7b112a0f63fd5ad8b2f9d9c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 5 Mar 2019 09:51:22 +0000
-Subject: [PATCH 371/703] lan78xx: EEE support is now a PHY property
+Subject: [PATCH 368/725] 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.
-From 7e709c572681a79ed9f906ceeb01a9cc8ca77049 Mon Sep 17 00:00:00 2001
+From 2f1aba45a3100491bc06f5ce8b9d1e49a5bc261d Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 27 Feb 2019 17:30:33 +0000
-Subject: [PATCH 372/703] video: bcm2708_fb: Try allocating on the ARM and
+Subject: [PATCH 369/725] video: bcm2708_fb: Try allocating on the ARM and
passing to VPU
Currently the VPU allocates the contiguous buffer for the
-From d5fc03cec741a893fd37150f3fecef0cbb6ecb19 Mon Sep 17 00:00:00 2001
+From 619a09baf2013206075d950ed54093b5573c0886 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 8 Mar 2019 10:38:59 +0000
-Subject: [PATCH 373/703] staging: vc_sm_cma: Remove erroneous misc_deregister
+Subject: [PATCH 370/725] 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.
-From 902c22fdf3bf32f26412cef747bc7d657abcf194 Mon Sep 17 00:00:00 2001
+From b099a5f2e10c96955495398cf0605dde36b96a77 Mon Sep 17 00:00:00 2001
From: Kieran Bingham <kieran.bingham@ideasonboard.com>
Date: Mon, 18 Mar 2019 17:14:51 +0000
-Subject: [PATCH 374/703] vcsm: Fix makefile include on out-of-tree builds
+Subject: [PATCH 371/725] 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
-From ea8f08311188a54cafb0ad39702c173ae7c2a3e3 Mon Sep 17 00:00:00 2001
+From 43825a3d741e4c4f4c010349ad59a437cc8de9a8 Mon Sep 17 00:00:00 2001
From: Kieran Bingham <kieran.bingham@ideasonboard.com>
Date: Mon, 18 Mar 2019 17:16:41 +0000
-Subject: [PATCH 375/703] vcsm: Remove set but unused variable
+Subject: [PATCH 372/725] 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.
-From 84195d1efab9720f7d378cd4e01a57eb5b864a2e Mon Sep 17 00:00:00 2001
+From 6a0844db98dec3f03b6af8a91d0da108dadda602 Mon Sep 17 00:00:00 2001
From: Kieran Bingham <kieran.bingham@ideasonboard.com>
Date: Mon, 18 Mar 2019 17:17:40 +0000
-Subject: [PATCH 376/703] vcsm: Reduce scope of local functions
+Subject: [PATCH 373/725] vcsm: Reduce scope of local functions
The functions:
-From 521d98b25f82438027cb6b88bdbb76d552426aae Mon Sep 17 00:00:00 2001
+From 4bf51ec794b95f976557ecafbc278bc00952fc32 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 19 Mar 2019 17:55:09 +0000
-Subject: [PATCH 377/703] staging: bcm2835-codec: NULL component handle on
+Subject: [PATCH 374/725] staging: bcm2835-codec: NULL component handle on
queue_setup failure
queue_setup tries creating the relevant MMAL component and configures
-From efa4c15a8012b80f3c1a63d7b79bfbaf013bf404 Mon Sep 17 00:00:00 2001
+From 5dad012904e526aea593b8d70788f22c91c33f19 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 8 Mar 2019 10:49:17 +0000
-Subject: [PATCH 378/703] staging: vc-sm-cma: Remove the debugfs directory on
+Subject: [PATCH 375/725] staging: vc-sm-cma: Remove the debugfs directory on
remove
Without removing that, reloading the driver fails.
-From 95d0b2763bc5b18a8e9f7dc2db1ff101364056ef Mon Sep 17 00:00:00 2001
+From 6c76990e7f308e56f1e11413f6bbf852963c2113 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 8 Mar 2019 11:06:41 +0000
-Subject: [PATCH 379/703] staging: vc-sm-cma: Use devm_ allocs for sm_state.
+Subject: [PATCH 376/725] staging: vc-sm-cma: Use devm_ allocs for sm_state.
Use managed allocations for sm_state, removing reliance on
manual management.
-From 367e360d68d9dfd7f1b213a47576139ffb6028c8 Mon Sep 17 00:00:00 2001
+From 0631e31c3eb8c6d7ca996cac1cb207d25c4cfa75 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 8 Mar 2019 11:09:49 +0000
-Subject: [PATCH 380/703] staging: vc-sm-cma: Don't fail if debugfs calls fail.
+Subject: [PATCH 377/725] 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.
-From 47046caff7455c46f07b7fd816cdd23ab9801842 Mon Sep 17 00:00:00 2001
+From 00c129ebdf07e600f112197e62435aa6485a2e59 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 8 Mar 2019 11:11:46 +0000
-Subject: [PATCH 381/703] staging: vc-sm-cma: Ensure mutex and idr are
+Subject: [PATCH 378/725] staging: vc-sm-cma: Ensure mutex and idr are
destroyed
map_lock and kernelid_map are created in probe, but not released
-From 7b588426000023ff56672cb1e2811e382cb49032 Mon Sep 17 00:00:00 2001
+From 3c6328c7e96f5422a772c1d07f04dbebdc99955b Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 8 Mar 2019 11:26:00 +0000
-Subject: [PATCH 382/703] staging: bcm2835_codec: Clean up logging on unloading
+Subject: [PATCH 379/725] staging: bcm2835_codec: Clean up logging on unloading
the driver
The log line was missing a closing \n, so wasn't added to the
-From 942452eb02558e142288e4e9476281d5a5554cb2 Mon Sep 17 00:00:00 2001
+From cbdcfb234a1fff16c988f2c4660ac8a6755b63d8 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Thu, 7 Mar 2019 19:27:05 +0100
-Subject: [PATCH 383/703] configs: Enable MT76 USB wifi
+Subject: [PATCH 380/725] configs: Enable MT76 USB wifi
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
---
-From 7d87e7c1dbf0be8015daec4ae7eb2a87147915d5 Mon Sep 17 00:00:00 2001
+From d107d70cd01d1cd93fe0c61d8c0fc0ff7a2fc064 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 13 Mar 2019 14:19:11 +0000
-Subject: [PATCH 384/703] bcm2835-sdhost: Allow for sg entries that cross pages
+Subject: [PATCH 381/725] 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
-From 693450014feff59f24614f8032e7e1b798d8694c Mon Sep 17 00:00:00 2001
+From 71b44014034d34752cc9dcd23b364da15e059b54 Mon Sep 17 00:00:00 2001
From: Adrien RICCIARDI <RICCIARDI-Adrien@users.noreply.github.com>
Date: Fri, 22 Mar 2019 11:35:30 +0100
-Subject: [PATCH 385/703] overlays: sdio: Added 4-bit support on GPIOs 34-39.
+Subject: [PATCH 382/725] overlays: sdio: Added 4-bit support on GPIOs 34-39.
(#2903)
---
-From 018329c19febff752bf09820eda6465748ae9c65 Mon Sep 17 00:00:00 2001
+From 94090199a0033419d35c90cd23ff9450f77b19e8 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 22 Mar 2019 16:44:47 +0000
-Subject: [PATCH 386/703] overlays: Fix multiple-instantiation of sc16is7xx*
+Subject: [PATCH 383/725] 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
-From 59f78628ccd725312dd1ff24d1b0952fa8203ee2 Mon Sep 17 00:00:00 2001
+From d5175a2f4c71f99a997aff9a1b441152896d34bd Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Sun, 24 Mar 2019 20:54:25 +0000
-Subject: [PATCH 387/703] configs: Re-enable CONFIG_NETFILTER_XT_MATCH_SOCKET
+Subject: [PATCH 384/725] configs: Re-enable CONFIG_NETFILTER_XT_MATCH_SOCKET
A Kconfig change in 4.10 caused the xt_socket module to no-longer be
included in Raspbian builds. Fix the defconfigs to re-enable it.
-From 94a6414f6aaef2575eeb36149d65c79c13b85922 Mon Sep 17 00:00:00 2001
+From d41f9c275d6cded64675a2b97084e9fdba8484f3 Mon Sep 17 00:00:00 2001
From: Lukas Wunner <lukas@wunner.de>
Date: Wed, 16 Jan 2019 12:22:32 +0100
-Subject: [PATCH 388/703] bcm2835-mmc: Fix DMA channel leak
+Subject: [PATCH 385/725] 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.
-From eaea13d958263b1fae8a96ffe184f91b0ca526cd Mon Sep 17 00:00:00 2001
+From 1a0d67591fc1b7a33e7769caaba13f9a08ca4f25 Mon Sep 17 00:00:00 2001
From: Lukas Wunner <lukas@wunner.de>
Date: Sat, 19 Jan 2019 08:06:48 +0100
-Subject: [PATCH 389/703] bcm2835-mmc: Fix struct mmc_host leak on probe
+Subject: [PATCH 386/725] 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
-From d2ba7664d279bf06ad8ffc281cbefe29ddc180e7 Mon Sep 17 00:00:00 2001
+From 56b3d0e6446f081d0c3e8c52e651f8d45d488b45 Mon Sep 17 00:00:00 2001
From: Lukas Wunner <lukas@wunner.de>
Date: Sat, 19 Jan 2019 09:00:26 +0100
-Subject: [PATCH 390/703] bcm2835-mmc: Fix duplicate free_irq() on remove
+Subject: [PATCH 387/725] 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
-From 3c29f09811abafef65e431bc70a66ef78625c08a Mon Sep 17 00:00:00 2001
+From b4a62a0eae7852a4dde5f055bb89833ea80d554a Mon Sep 17 00:00:00 2001
From: Lukas Wunner <lukas@wunner.de>
Date: Tue, 22 Jan 2019 12:29:45 +0100
-Subject: [PATCH 391/703] bcm2835-mmc: Handle mmc_add_host() errors
+Subject: [PATCH 388/725] 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
-From 706fb772745fae3b0ea6a36830cc92eaf1c22606 Mon Sep 17 00:00:00 2001
+From 3f0851774265e0097e015672ee860983608c9b14 Mon Sep 17 00:00:00 2001
From: Lukas Wunner <lukas@wunner.de>
Date: Sat, 19 Jan 2019 08:42:40 +0100
-Subject: [PATCH 392/703] bcm2835-mmc: Deduplicate reset of driver data on
+Subject: [PATCH 389/725] bcm2835-mmc: Deduplicate reset of driver data on
remove
The BCM2835 MMC host driver sets the device's driver data pointer to
-From 034896f9b6faf8107788575990c2cec2a6ef964e Mon Sep 17 00:00:00 2001
+From a6d3c7bab1486b7d4b0b8b410c5267ed63894861 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 25 Mar 2019 17:54:05 +0000
-Subject: [PATCH 393/703] configs: Add CONFIG_BATTERY_MAX17040
+Subject: [PATCH 390/725] configs: Add CONFIG_BATTERY_MAX17040
See: https://github.com/raspberrypi/linux/issues/2906
-From 1ec52e16794513c5802ad219d317ac1f825b6346 Mon Sep 17 00:00:00 2001
+From a8034b01d807e4c393356d7b46183dd5d2b40df3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 25 Mar 2019 18:03:48 +0000
-Subject: [PATCH 394/703] overlays: Add max17040 support to i2c-sensor
+Subject: [PATCH 391/725] overlays: Add max17040 support to i2c-sensor
See: https://github.com/raspberrypi/linux/issues/2906
-From 77816ef138e56144d51a5948d5a9646a4e1f2aa8 Mon Sep 17 00:00:00 2001
+From 38bdf55c84e6f388db3dfb96d3c6617abcc10067 Mon Sep 17 00:00:00 2001
From: P33M <P33M@users.noreply.github.com>
Date: Tue, 26 Mar 2019 09:48:25 +0000
-Subject: [PATCH 395/703] defconfigs: disable memory and IO cgroups (#2908)
+Subject: [PATCH 392/725] defconfigs: disable memory and IO cgroups (#2908)
Due to an upstream bug, memory is leaked in the inode cache when cgroups
are enabled. Disable as this is causing crashes.
-From 99e2a119c5dc323c698f8b7f699c20599c05e23e Mon Sep 17 00:00:00 2001
+From 4ee5be44a136685a674ef2e3560e4062a26a2bfb Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 5 Mar 2019 15:43:27 +0000
-Subject: [PATCH 396/703] media: bcm2835-unicam: Add support for enum
+Subject: [PATCH 393/725] media: bcm2835-unicam: Add support for enum
framesizes and frameintervals
vidioc_enum_framesizes and vidioc_enum_frameintervals weren't implemented,
-From a0019271c4c0b0a156770fdb53267010627f03b1 Mon Sep 17 00:00:00 2001
+From 3307d285c4e10366fbd310203c19260d5e320b97 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 20 Mar 2019 10:06:51 +0000
-Subject: [PATCH 397/703] staging: bcm2835-codec: Refactor default resolution
+Subject: [PATCH 394/725] staging: bcm2835-codec: Refactor default resolution
code
The default resolution code was different for each role
-From 8d82ada47578fd867da43108fadcd77e3f57f056 Mon Sep 17 00:00:00 2001
+From b3acb96a394db9adcc13aae8321e3d18bbd7d30d Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Fri, 30 Nov 2018 11:53:20 +0000
-Subject: [PATCH 398/703] nvmem: add type attribute
+Subject: [PATCH 395/725] nvmem: add type attribute
commit 16688453661b6d5159be558a1f8c1f54463a420f upstream.
-From f2e44f13f6524a60c5d3c1395ba3e323f72eff6d Mon Sep 17 00:00:00 2001
+From 5437fefa8d11d8c2f9da39e393c83417cadabf83 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Wed, 13 Feb 2019 00:21:36 +0100
-Subject: [PATCH 399/703] rtc: rv3028: add new driver
+Subject: [PATCH 396/725] rtc: rv3028: add new driver
upstream commit e6e7376cfd7b3f9b63de3a22792f64d9bfb2ab53.
-From 709dd35519e82a34da3fdbb9053f3173e7319167 Mon Sep 17 00:00:00 2001
+From bfb96e21b688b5c798db9a6082ad76e72721693e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 28 Mar 2019 13:13:52 +0000
-Subject: [PATCH 400/703] configs: Add RTC_DRV_RV3028=m
+Subject: [PATCH 397/725] configs: Add RTC_DRV_RV3028=m
See: https://github.com/raspberrypi/linux/issues/2912
-From 7eab8a839b1994c2b16c955af4ad805022acccb7 Mon Sep 17 00:00:00 2001
+From cf17a30d916eedceda8a4be81259e3813c5a3490 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 28 Mar 2019 13:26:59 +0000
-Subject: [PATCH 401/703] overlays: Add rv3028 to i2c-rtc
+Subject: [PATCH 398/725] overlays: Add rv3028 to i2c-rtc
See: https://github.com/raspberrypi/linux/issues/2912
-From e4e16b18401abf412c5d1d6435176e609a33c1ed Mon Sep 17 00:00:00 2001
+From aa84e9cf563d82701357486ed17fd390fe28e692 Mon Sep 17 00:00:00 2001
From: b-ak <anur.bhargav@gmail.com>
Date: Wed, 9 Jan 2019 22:41:21 +0530
-Subject: [PATCH 402/703] ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is
+Subject: [PATCH 399/725] ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is
deprecated
commit 04d979d7a7bac2f645cd827ea37e5ffa5b4e1f97 upstream.
-From 8ce90120ea5e084d5d9f2b5b1a449edef6099b0b Mon Sep 17 00:00:00 2001
+From b1658d7dba649351779a09c99c5db424f6a44ee1 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Mon, 18 Mar 2019 20:37:44 -0700
-Subject: [PATCH 403/703] ASoC: tlv320aic32x4: Break out clock setting into
+Subject: [PATCH 400/725] ASoC: tlv320aic32x4: Break out clock setting into
separate function
commit bf31cbfbe25001036e1e096b1c260bf871766ea5 upstream.
-From d41102524cf14a1098a735add06aa4d67c631130 Mon Sep 17 00:00:00 2001
+From 09a140eacfbdb3d3b02f97ef6f226a00780f12ea Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Wed, 20 Mar 2019 19:38:44 -0700
-Subject: [PATCH 404/703] ASoC: tlv320aic32x4: Properly Set Processing Blocks
+Subject: [PATCH 401/725] ASoC: tlv320aic32x4: Properly Set Processing Blocks
commit c95e3a4b96293403a427b5185e60fad28af51fdd upstream.
-From 12e71e0f6b9009a5de89b2073a53c55c9ae28a40 Mon Sep 17 00:00:00 2001
+From 721de503c943a8c9f0b957e27099c7b2ec38a37a Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:45 -0700
-Subject: [PATCH 405/703] ASoC: tlv320aic32x4: Model PLL in CCF
+Subject: [PATCH 402/725] ASoC: tlv320aic32x4: Model PLL in CCF
commit 514b044cba667e4b7c383ec79b42b997e624b91d upstream.
-From f0192af931c8aea25440c014b9a995a3bf1a5363 Mon Sep 17 00:00:00 2001
+From 7ba72b1d9a6bc4d3db7d38a24c5c23bc3e8184da Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:46 -0700
-Subject: [PATCH 406/703] ASoC: tlv320aic32x4: Model CODEC_CLKIN in CCF
+Subject: [PATCH 403/725] ASoC: tlv320aic32x4: Model CODEC_CLKIN in CCF
commit fd2df3aeafa4b4cc468d58e147e0822967034b71 upstream.
-From 532403e3a16502340711131fd075cd7dd4dd20b1 Mon Sep 17 00:00:00 2001
+From c4c080628e85c7860986c64a7a0b7f56a521fef6 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:47 -0700
-Subject: [PATCH 407/703] ASoC: tlv320aic32x4: Model DAC/ADC dividers in CCF
+Subject: [PATCH 404/725] ASoC: tlv320aic32x4: Model DAC/ADC dividers in CCF
commit a51b50062091619915c5155085bbe13a7aca6903 upstream.
-From f057c2ccc9c5fddca55fb42032395cf355f918e8 Mon Sep 17 00:00:00 2001
+From 0ce031ad1a56ab6201bf6fbe7e14bc1e0979e8c3 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:48 -0700
-Subject: [PATCH 408/703] ASoC: tlv320aic32x4: Model BDIV divider in CCF
+Subject: [PATCH 405/725] ASoC: tlv320aic32x4: Model BDIV divider in CCF
commit 9b484124ebd906c4d6bc826cc0d417e80cc1105c upstream.
-From eea2c82299034bb146f3ad10e8ed4c2d574777df Mon Sep 17 00:00:00 2001
+From 95c6e21b0ab366f5433d5c89aa5ae961ad40d2e6 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:49 -0700
-Subject: [PATCH 409/703] ASoC: tlv320aic32x4: Control clock gating with CCF
+Subject: [PATCH 406/725] ASoC: tlv320aic32x4: Control clock gating with CCF
commit d25970b5fd51e9fcf0afbe190908ea4049454da4 upstream.
-From d69dddf58047b95c5ade57c246e7d4994d439f23 Mon Sep 17 00:00:00 2001
+From 8c49a3384501933c9919a44504b4f3148a16320a Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:50 -0700
-Subject: [PATCH 410/703] ASoC: tlv320aic32x4: Move aosr and dosr setting to
+Subject: [PATCH 407/725] ASoC: tlv320aic32x4: Move aosr and dosr setting to
separate functions
commit fbafbf6517274a797e6e6508c18dd8dba5920c89 upstream.
-From 60aee9d4b5857dbefc658ff7b3317cacf568a5d5 Mon Sep 17 00:00:00 2001
+From d246d5e5edb858db81b72b58c1f2ef0f0b15fb97 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:51 -0700
-Subject: [PATCH 411/703] ASoC: tlv320aic32x4: Dynamically Determine Clocking
+Subject: [PATCH 408/725] ASoC: tlv320aic32x4: Dynamically Determine Clocking
commit 96c3bb00239de4fb5f4ddca42c1f90d6d9b3c697 upstream.
-From dc848cfb79aa1a4cea301c388e920e4205ac791a Mon Sep 17 00:00:00 2001
+From 58dc9e3363b946adc015c9b6d9f8b4c9c85f08a6 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:52 -0700
-Subject: [PATCH 412/703] ASoC: tlv320aic32x4: Restructure set_dai_sysclk
+Subject: [PATCH 409/725] ASoC: tlv320aic32x4: Restructure set_dai_sysclk
commit aa6a60f7be925210d5156f0e8025f3afe1f4f54d upstream.
-From 76203a21b47e2dcbb3619a9655cc4918e4d496a5 Mon Sep 17 00:00:00 2001
+From a815db43f1cd8dc8ac18d06c20526883d285c527 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:53 -0700
-Subject: [PATCH 413/703] ASoC: tlv320aic32x4: Remove mclk references
+Subject: [PATCH 410/725] ASoC: tlv320aic32x4: Remove mclk references
commit 78f2d58a289302e56a7def96a783a7686ebf27e2 upstream.
-From c72904446aa20ab6136502697641545cc5e7dc7e Mon Sep 17 00:00:00 2001
+From 7ce5af6517eee229b6ef65126a672a0d5c42d315 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:54 -0700
-Subject: [PATCH 414/703] ASoC: tlv320aic32x4: Allow 192000 Sample Rate
+Subject: [PATCH 411/725] ASoC: tlv320aic32x4: Allow 192000 Sample Rate
commit 6d56ee1550b8a81bc63c80051ff78d8d704b09ba upstream.
-From 499d000a3d56edf6c5d2bf81de6d7af5348eb258 Mon Sep 17 00:00:00 2001
+From 618baa8ddc305c5bbe1cd4682c9df252e6fc386c Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@kernel.org>
Date: Tue, 26 Mar 2019 13:10:13 +0000
-Subject: [PATCH 415/703] ASoC: tlv320aic32x4: Only enable with common clock
+Subject: [PATCH 412/725] ASoC: tlv320aic32x4: Only enable with common clock
commit 64f01d2b5ccc621c3aa66b82daf9154f5581f36a upstream.
-From b40f72a9aeee6ce7d7df3a3b3ff602234215fe79 Mon Sep 17 00:00:00 2001
+From 739091e806876265d78915310e4037d0061648f8 Mon Sep 17 00:00:00 2001
From: FERHAT Nicolas <contact@audiophonics.fr>
Date: Fri, 5 Apr 2019 13:06:42 +0100
-Subject: [PATCH 416/703] Audiophonics I-Sabre 9038Q2M DAC driver
+Subject: [PATCH 413/725] Audiophonics I-Sabre 9038Q2M DAC driver
Signed-off-by: Audiophonics <contact@audiophonics.fr>
---
-From fcde4e55513ec62d7a0fdc18c9db9445de741f4f Mon Sep 17 00:00:00 2001
+From 05c2d56f6c014aea65288abbb10a28feb2c284fb Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Wed, 3 Apr 2019 21:17:15 -0700
-Subject: [PATCH 417/703] ASoC: tlv320aic32x4: Change author's name
+Subject: [PATCH 414/725] ASoC: tlv320aic32x4: Change author's name
commit 7297ba6c74c5b9e78d8e936af82eecfcf7d32dfb upstream.
-From c287dc67e33f04d09f8bc0d2cdf900d6b720fc78 Mon Sep 17 00:00:00 2001
+From 019b18d8dd0b7c6e8123ae6fb91235b21d80833b Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Wed, 3 Apr 2019 21:17:16 -0700
-Subject: [PATCH 418/703] ASoC: tlv320aic32x4: Update copyright and use SPDX
+Subject: [PATCH 415/725] ASoC: tlv320aic32x4: Update copyright and use SPDX
identifier
commit 8a1d95c393d971e624fc28f11516b0bc3a7fa706 upstream.
-From 8821b9227b5e19f7a745c5836b6ef4b9a478904f Mon Sep 17 00:00:00 2001
+From 283878c9a11df280fe7621f79409a1228de68843 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Wed, 3 Apr 2019 21:01:54 -0700
-Subject: [PATCH 419/703] ASoC: tlv320aic32x4: Add Switch for Setting Common
+Subject: [PATCH 416/725] ASoC: tlv320aic32x4: Add Switch for Setting Common
Mode Voltage
commit 44ceee847e27c828f2f1ef4e400e6bc0c8d04de3 upstream.
-From cbea77ecf69bf49def7f8222e38037a9349adbaa Mon Sep 17 00:00:00 2001
+From 731092f2b29ef4e1c0081698d683d9542426e500 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Wed, 3 Apr 2019 21:01:55 -0700
-Subject: [PATCH 420/703] ASoC: tlv320aic32x4: Add Playback PowerTune Controls
+Subject: [PATCH 417/725] ASoC: tlv320aic32x4: Add Playback PowerTune Controls
commit d3e6e374566e1154820a9a3dc82f7eef646fcf95 upstream.
-From f1e74b2152a21e848075ea40ba8e8665f8313739 Mon Sep 17 00:00:00 2001
+From 3fbe7d511602b2888eec568b8870484a06e165e7 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Sun, 17 Mar 2019 16:48:36 -0700
-Subject: [PATCH 421/703] dtoverlays: Add Support for the UDRC/DRAWS
+Subject: [PATCH 418/725] 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.
-From e30b8c6f64fe1cd5ea4e522186847be170efe88b Mon Sep 17 00:00:00 2001
+From d3245a8de2208d8147707fb35cd3a6da99107cc6 Mon Sep 17 00:00:00 2001
From: P33M <p33m@github.com>
Date: Mon, 8 Apr 2019 12:45:23 +0100
-Subject: [PATCH 422/703] dwc_otg: only do_split when we actually need to do a
+Subject: [PATCH 419/725] 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
-From 7424847b3053bb995d52b13b6b7a387d682cde31 Mon Sep 17 00:00:00 2001
+From 15ad41e728284da6191d9bd6ac77f797660bb54f Mon Sep 17 00:00:00 2001
From: Samuel Hsu <hsu@distec.de>
Date: Mon, 8 Apr 2019 16:42:17 +0200
-Subject: [PATCH 423/703] Input: ili210x - fetch touchscreen geometry from DT
+Subject: [PATCH 420/725] Input: ili210x - fetch touchscreen geometry from DT
commit f67cc3e927d8414ad3872e046764534ea1f5db0d upstream
-From 5cea7939c6062752322697e33f8a90e33fca461f Mon Sep 17 00:00:00 2001
+From 5157a5c0fa2f7489e3ebf20dcbd9a7078ced6afd Mon Sep 17 00:00:00 2001
From: Samuel Hsu <hsu@distec.de>
Date: Mon, 8 Apr 2019 16:49:51 +0200
-Subject: [PATCH 424/703] Input: ili210x - add DT binding document
+Subject: [PATCH 421/725] Input: ili210x - add DT binding document
commit 41a852e002e65ab7a1e6841b485d72d022e95df2 upstream
-From e01ec5fd94e01b665f4deb1567f5b1da0537cce8 Mon Sep 17 00:00:00 2001
+From f3d6c9f20cf6c0f0f970b4ded850b23c0554e779 Mon Sep 17 00:00:00 2001
From: Samuel Hsu <hsu@distec.de>
Date: Mon, 8 Apr 2019 16:54:34 +0200
-Subject: [PATCH 425/703] configs: Add TOUCHSCREEN_ILI210X=m
+Subject: [PATCH 422/725] configs: Add TOUCHSCREEN_ILI210X=m
Signed-off-by: Samuel Hsu <hsu@distec.de>
---
-From 7b15bdfee1c922d6c3e92329cd23a45e77e036ae Mon Sep 17 00:00:00 2001
+From 3c0bead8692a211c548d046790dc4129128fbff1 Mon Sep 17 00:00:00 2001
From: Samuel Hsu <hsu@distec.de>
Date: Mon, 8 Apr 2019 17:06:44 +0200
-Subject: [PATCH 426/703] BCM2708: Add core Device Tree support, ilitek251x
+Subject: [PATCH 423/725] BCM2708: Add core Device Tree support, ilitek251x
Signed-off-by: Samuel Hsu <hsu@distec.de>
---
-From ddd696d15f75315f1a20d5da57d94ed65d8c1404 Mon Sep 17 00:00:00 2001
+From 9b55ce7579702f6a0bde5cd3e97b745f7b3f0239 Mon Sep 17 00:00:00 2001
From: P33M <p33m@github.com>
Date: Tue, 9 Apr 2019 16:40:48 +0100
-Subject: [PATCH 427/703] dwc_otg: fix locking around dequeueing and killing
+Subject: [PATCH 424/725] dwc_otg: fix locking around dequeueing and killing
URBs
kill_urbs_in_qh_list() is practically only ever called with the fiq lock
-From 5159281b7a2fe2f4dc1cc2f1cd97d45972f02d99 Mon Sep 17 00:00:00 2001
+From 94ff67715e55c545dccbc00c8930a7566ba05a6c Mon Sep 17 00:00:00 2001
From: Phil Howard <phil@gadgetoid.com>
Date: Fri, 29 Mar 2019 10:53:14 +0000
-Subject: [PATCH 428/703] rtc: rv3028: Add backup switchover mode support
+Subject: [PATCH 425/725] rtc: rv3028: Add backup switchover mode support
Signed-off-by: Phil Howard <phil@pimoroni.com>
---
-From ea30c9b919bbd7695f99e0467f3546ac945d4e54 Mon Sep 17 00:00:00 2001
+From 35cd2dda8463e8a1d20789487505809723953464 Mon Sep 17 00:00:00 2001
From: Phil Howard <phil@gadgetoid.com>
Date: Fri, 29 Mar 2019 10:57:07 +0000
-Subject: [PATCH 429/703] dt-bindings: rv3028 backup switchover support
+Subject: [PATCH 426/725] dt-bindings: rv3028 backup switchover support
Signed-off-by: Phil Howard <phil@pimoroni.com>
---
-From a73793c4cea3ef39d203c6a0e7e3456629e25f5e Mon Sep 17 00:00:00 2001
+From 3ef74a4e32c2d5d7893b6743e2379fbfcac6fd91 Mon Sep 17 00:00:00 2001
From: Phil Howard <phil@gadgetoid.com>
Date: Fri, 29 Mar 2019 10:59:55 +0000
-Subject: [PATCH 430/703] overlays: Add rv3028 backup switchover support to
+Subject: [PATCH 427/725] overlays: Add rv3028 backup switchover support to
i2c-rtc
Signed-off-by: Phil Howard <phil@pimoroni.com>
-From 43371fb1fb2a2eaefe54288bcd61d015237c25fe Mon Sep 17 00:00:00 2001
+From 8a063d9d7c86075dbae91ef353540ab7724cce35 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 431/703] Maxim MAX98357A I2S DAC overlay (#2935)
+Subject: [PATCH 428/725] Maxim MAX98357A I2S DAC overlay (#2935)
Add overlay for Maxim MAX98357A I2S DAC.
-From 7ed120d6a2733f70a5c8ee15844e1f02aec3f421 Mon Sep 17 00:00:00 2001
+From c349bcade000820be4f53dd2d189887ec11794d4 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 21 Mar 2019 11:19:46 +0000
-Subject: [PATCH 432/703] sound: Fixes for audioinjector-octo under 4.19
+Subject: [PATCH 429/725] 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
-From 18c18a16cbf0007907319d5472351f6bc3e7135d Mon Sep 17 00:00:00 2001
+From 95eef94518f050146820340787b2472db13c38ae Mon Sep 17 00:00:00 2001
From: P33M <p33m@github.com>
Date: Wed, 24 Apr 2019 14:25:09 +0100
-Subject: [PATCH 433/703] Revert "cgroup: Disable cgroup "memory" by default"
+Subject: [PATCH 430/725] Revert "cgroup: Disable cgroup "memory" by default"
This reverts commit cd6ce4d0ded13c94ff5208c679ed5e030263149b.
---
-From 76088decdde58c18a100c2fc7f15f9abbead6eef Mon Sep 17 00:00:00 2001
+From 6e1f012d8072528275a751fa9b12496bfcc07088 Mon Sep 17 00:00:00 2001
From: P33M <p33m@github.com>
Date: Wed, 24 Apr 2019 14:25:41 +0100
-Subject: [PATCH 434/703] Revert "defconfigs: disable memory and IO cgroups
+Subject: [PATCH 431/725] Revert "defconfigs: disable memory and IO cgroups
(#2908)"
This reverts commit 9881cdbf446081f71c62f39f4c56a21001baea73.
-From 1c61854d266759522f33e59fb58de1cb9470d886 Mon Sep 17 00:00:00 2001
+From 54882fd6678b052c68040caa38c70b2c3af0c958 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <wahrenst@gmx.net>
Date: Mon, 29 Apr 2019 19:35:33 +0200
-Subject: [PATCH 435/703] overlays: Add PiGlow overlay
+Subject: [PATCH 432/725] 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:
-From bf7d2a13c0617dd23e0a394bccd9b41b2295ead0 Mon Sep 17 00:00:00 2001
+From d100cd5246ac51acdcfc4bec574e127ee61dcf99 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <wahrenst@gmx.net>
Date: Mon, 29 Apr 2019 19:28:51 +0200
-Subject: [PATCH 436/703] configs: enable LED driver for PiGlow
+Subject: [PATCH 433/725] configs: enable LED driver for PiGlow
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
---
-From fe6afd9a110a042d2f00934b3a95ae57471f18cf Mon Sep 17 00:00:00 2001
+From 48f4f82875a8bc8fe399714114daee135592d963 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 29 Apr 2019 19:16:14 +0100
-Subject: [PATCH 437/703] Revert "bcm2835: interpolate audio delay"
+Subject: [PATCH 434/725] Revert "bcm2835: interpolate audio delay"
commit fb4b9f02986fcb5ae751106ef9b027806b5dd750 upstream.
-From 5776c86dca6b3bc3c96d28514b1c5b398c7c6b8f Mon Sep 17 00:00:00 2001
+From 12c14e45b31f60c1fd591d4aebbfcd7c2b730e67 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 29 Apr 2019 19:16:15 +0100
-Subject: [PATCH 438/703] Revert "staging: bcm2835-audio: Enable compile test"
+Subject: [PATCH 435/725] Revert "staging: bcm2835-audio: Enable compile test"
commit 4eae66777a262ac9707980ea0cfe902afadfb577 upstream.
-From f1137241f30689ffe38dd414c73f0b17bf08ecc8 Mon Sep 17 00:00:00 2001
+From fc06fbe84cdcd35d8be8775576f07c52ccdf8cd2 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 29 Apr 2019 19:16:16 +0100
-Subject: [PATCH 439/703] Revert "staging: bcm2835-audio: use
+Subject: [PATCH 436/725] Revert "staging: bcm2835-audio: use
module_platform_driver() macro"
commit ed4c2e5dc4216d5dded502bfcf594d3984e6bccd upstream.
-From 8fa93d6fee921789b90a1b3be272366df36e026e Mon Sep 17 00:00:00 2001
+From 2dc2366eddba3b7a59d1f19b7ce13f7a52574d63 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:30 +0200
-Subject: [PATCH 440/703] staging: bcm2835-audio: Clean up mutex locks
+Subject: [PATCH 437/725] staging: bcm2835-audio: Clean up mutex locks
commit ce4bb1aa271a97047b80ac917a5d91b54925913b upstream.
-From 5171b87bdf5a98d8d24f9fd7a5f3b6304e8ce5ad Mon Sep 17 00:00:00 2001
+From b44bb742007c7ef0b6507a3573dfca716192c200 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:31 +0200
-Subject: [PATCH 441/703] staging: bcm2835-audio: Remove redundant spdif stream
+Subject: [PATCH 438/725] staging: bcm2835-audio: Remove redundant spdif stream
ctls
commit ab91e26229eaca2832df51e13c1285aea3be33ab upstream.
-From eaa6771ead56c4388b41740e502b652912423d65 Mon Sep 17 00:00:00 2001
+From 62a36a18cad14a7a262c8e5f4bbce3db01aa35e1 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:32 +0200
-Subject: [PATCH 442/703] staging: bcm2835-audio: Clean up include files in
+Subject: [PATCH 439/725] staging: bcm2835-audio: Clean up include files in
bcm2835-ctl.c
commit 821950d3da4bf97bcfedcb812176a0f26b833db0 upstream.
-From 48113d6d98bd0f810b439741bb0da982b1abe4c1 Mon Sep 17 00:00:00 2001
+From 176ca4daf9b956adbdb6846a457053db375d3954 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:33 +0200
-Subject: [PATCH 443/703] staging: bcm2835-audio: Remove redundant substream
+Subject: [PATCH 440/725] staging: bcm2835-audio: Remove redundant substream
mask checks
commit 14b1f4cba853a11c7b381ad919622f38eb194bd7 upstream.
-From 8e1cbe403cccb0269ad6563cf223a220f2173964 Mon Sep 17 00:00:00 2001
+From a51b0db4416ffc832c98adbe815337c8f1c1d47e Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:34 +0200
-Subject: [PATCH 444/703] staging: bcm2835-audio: Fix mute controls, volume
+Subject: [PATCH 441/725] staging: bcm2835-audio: Fix mute controls, volume
handling cleanup
commit 495e5a0d83d3902c741771f267a702ae19da8ab6 upstream.
-From c778d5d0208598e0595e59b2795b92580483971d Mon Sep 17 00:00:00 2001
+From 641b5ca89295f0cdb0990a2d7b866200643c6a8d Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:35 +0200
-Subject: [PATCH 445/703] staging: bcm2835-audio: Remove redundant function
+Subject: [PATCH 442/725] staging: bcm2835-audio: Remove redundant function
calls
commit 124950ebe9fa8547c59e8d4acc8d6c59e6278ed6 upstream.
-From 5894f3d0de921dd5134004906643a1d1219b13cf Mon Sep 17 00:00:00 2001
+From e935363e043245369cb6b566348e86b0be6c0840 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:36 +0200
-Subject: [PATCH 446/703] staging: bcm2835-audio: Remove superfluous open flag
+Subject: [PATCH 443/725] staging: bcm2835-audio: Remove superfluous open flag
commit ad13924de6b07cb52714ea1809c57b2e72a24504 upstream.
-From 2dd8625b99a3244bf632278cd7fdd74dffaeb3a3 Mon Sep 17 00:00:00 2001
+From 70e1a30534d17ecf4fb6a5e04241b1d1704a909d Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:37 +0200
-Subject: [PATCH 447/703] staging: bcm2835-audio: Drop useless running flag and
+Subject: [PATCH 444/725] staging: bcm2835-audio: Drop useless running flag and
check
commit 02f2376321d75e78117f39ff81f215254ee6b4ef upstream.
-From 0938ad598509c19a256d5fc63b9002ad9cf59a14 Mon Sep 17 00:00:00 2001
+From 52a5b0e8e24f31fdef175e76405fd4ee08936f26 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:38 +0200
-Subject: [PATCH 448/703] staging: bcm2835-audio: Fix incorrect draining
+Subject: [PATCH 445/725] staging: bcm2835-audio: Fix incorrect draining
handling
commit 7d2a91f5f1bcf08ca257bcf1ed9721fcd341f834 upstream.
-From 7634e4d73bc54cd1382ccffd72ab07db522f2667 Mon Sep 17 00:00:00 2001
+From 0f4ac0deca99ce7936a43d1e1f7b712a30dc554d Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:39 +0200
-Subject: [PATCH 449/703] staging: bcm2835-audio: Kill unused spinlock
+Subject: [PATCH 446/725] staging: bcm2835-audio: Kill unused spinlock
commit 5332f6f012c0bf3a45c77dbc0f79814443a884d4 upstream.
-From 5e97bf3a60f5ebcb1e4135fe1d92f649c920ff81 Mon Sep 17 00:00:00 2001
+From aaf04413a17530437872ec909f2af1fb012e9954 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:40 +0200
-Subject: [PATCH 450/703] staging: bcm2835-audio: Use PCM runtime values
+Subject: [PATCH 447/725] staging: bcm2835-audio: Use PCM runtime values
instead
commit b8f7fdd50890b848e085c0519469aed4ff4d9b54 upstream.
-From 82365fbb4b8d2b7602c765b49524da2895efba61 Mon Sep 17 00:00:00 2001
+From 1e69d6aed91e759114adec689fe954890dbac0d0 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:41 +0200
-Subject: [PATCH 451/703] staging: bcm2835-audio: Drop unnecessary pcm indirect
+Subject: [PATCH 448/725] staging: bcm2835-audio: Drop unnecessary pcm indirect
setup
commit 7318ec896f4856fae2bb013858e422fa078201e1 upstream.
-From fa0533b8020b056d559cfdcb86da8ee332ae8a02 Mon Sep 17 00:00:00 2001
+From 8756f60e33dfa2c92d8d3c2abd162c084a9d92c6 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:42 +0200
-Subject: [PATCH 452/703] staging: bcm2835-audio: Drop useless NULL check
+Subject: [PATCH 449/725] staging: bcm2835-audio: Drop useless NULL check
commit 8bcf9f252c29c2d5bcce3db605c0ebf1ef230f9c upstream.
-From 10310b6f36d3573f55e3ab318204aebe9f1a60f8 Mon Sep 17 00:00:00 2001
+From da7c23faa34cb7ace6c22dbdfba3eb3ee047454f Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:43 +0200
-Subject: [PATCH 453/703] staging: bcm2835-audio: Propagate parameter setup
+Subject: [PATCH 450/725] staging: bcm2835-audio: Propagate parameter setup
error
commit fee5638fe552ff8222c3a5bdcc4a34255e248d8c upstream.
-From 50292f7a57de792cb23b3883594b0e102e74e9e2 Mon Sep 17 00:00:00 2001
+From 3341080850b4ad6e51017afa9ca83020487f1c3d Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:44 +0200
-Subject: [PATCH 454/703] staging: bcm2835-audio: Drop debug messages in
+Subject: [PATCH 451/725] staging: bcm2835-audio: Drop debug messages in
bcm2835-pcm.c
commit 055e1c330d04df87d4730a5db837161c11ddaafc upstream.
-From 1eb403fb6c5f6b8bea96e9bd0d6b87949aab172f Mon Sep 17 00:00:00 2001
+From e890c7d7d4476ed6276f0d902a83b6d34ad513f2 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:45 +0200
-Subject: [PATCH 455/703] staging: bcm2835-audio: Drop superfluous mutex lock
+Subject: [PATCH 452/725] staging: bcm2835-audio: Drop superfluous mutex lock
during prepare
commit f0eb15d055380ff127e5f12c8fad2b36bdb3c006 upstream.
-From c0c56af886a1f7078dcd78ab46d7480009b080a2 Mon Sep 17 00:00:00 2001
+From 9634bb7bf8aa4fe86d00ff572c3290dfa042a8d6 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:46 +0200
-Subject: [PATCH 456/703] staging: bcm2835-audio: Add 10ms period constraint
+Subject: [PATCH 453/725] staging: bcm2835-audio: Add 10ms period constraint
commit 93c66acaf68b5247c3121a46a71ff6a70fc1d492 upstream.
-From 8456d764799cf7bc661892900cb08b3943e3bda2 Mon Sep 17 00:00:00 2001
+From 2aa144a5c55a27072f21c0dcb8efa180a46c4cd1 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:47 +0200
-Subject: [PATCH 457/703] staging: bcm2835-audio: Make single vchi handle
+Subject: [PATCH 454/725] staging: bcm2835-audio: Make single vchi handle
commit 326a6edcb2ada56375bd7d3fc24c83f58e8da7f3 upstream.
-From 8ef08ec7a6a8f3bb42b8000e84cc444c88e60f8d Mon Sep 17 00:00:00 2001
+From 4cb3893de2db276e3db35ad61092c9f9cf2f705d Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:48 +0200
-Subject: [PATCH 458/703] staging: bcm2835-audio: Code refactoring of vchiq
+Subject: [PATCH 455/725] staging: bcm2835-audio: Code refactoring of vchiq
accessor codes
commit 769a8e9bf5cf39813f52962fdafdf7e4d52ad585 upstream.
-From 8f5871c73ba767c9443eb02c4ca0cb7df56982e8 Mon Sep 17 00:00:00 2001
+From 43fad60114297457914dae77debd68ed185f66e9 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:49 +0200
-Subject: [PATCH 459/703] staging: bcm2835-audio: Operate non-atomic PCM ops
+Subject: [PATCH 456/725] staging: bcm2835-audio: Operate non-atomic PCM ops
commit 5c7883e5f27e829f3f3a2ba174d4a724bfd5f026 upstream.
-From 18bd0bcc6b0455640038084fa6ab3b06462319c5 Mon Sep 17 00:00:00 2001
+From 45a6f73971c5e20f256ad2faa1c17d3525affa15 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:50 +0200
-Subject: [PATCH 460/703] staging: bcm2835-audio: Use card->private_data
+Subject: [PATCH 457/725] staging: bcm2835-audio: Use card->private_data
commit 898001a0c845cefe5d47d133485712412853f0a8 upstream.
-From 1dff63cdd20b6dfc763d01d35dff231b8abe8175 Mon Sep 17 00:00:00 2001
+From 2648530ca51dc98d65f1c747de4f7ddd20af6d62 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:51 +0200
-Subject: [PATCH 461/703] staging: bcm2835-audio: Use standard error print
+Subject: [PATCH 458/725] staging: bcm2835-audio: Use standard error print
helpers
commit b7584b64168208ebc14160770c0966b8b12fc16b upstream.
-From d202703ef99f5d370997c2372e8b0e0873834868 Mon Sep 17 00:00:00 2001
+From abed6180470d4004c4578a7a28b846b3517149f9 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:52 +0200
-Subject: [PATCH 462/703] staging: bcm2835-audio: Remove unnecessary header
+Subject: [PATCH 459/725] staging: bcm2835-audio: Remove unnecessary header
file includes
commit 7e46fff5f19ce2b8a9891e4c08631c64d06e9e17 upstream.
-From 4337174647cfd9a5bde517543ec1093d43c81522 Mon Sep 17 00:00:00 2001
+From 7f64018d201f24f5922a61a14363d87560b5b0fd Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:53 +0200
-Subject: [PATCH 463/703] staging: bcm2835-audio: Move module parameter
+Subject: [PATCH 460/725] staging: bcm2835-audio: Move module parameter
description
commit b876f2075808e95e244053caa53fa7e86e929a99 upstream.
-From 4ff1a81a824daafb1c0fd56d299852ada0dd0b05 Mon Sep 17 00:00:00 2001
+From eeb863318a36c32dd4bb6a5767980485050cd85c Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:54 +0200
-Subject: [PATCH 464/703] staging: bcm2835-audio: Use coherent device buffers
+Subject: [PATCH 461/725] staging: bcm2835-audio: Use coherent device buffers
commit ad29c6e6cbf6f2af7362b043adad51a3be3d39c7 upstream.
-From b30057f82f95a75c641ff5ffe6bdb4d4507ecd8e Mon Sep 17 00:00:00 2001
+From e700838ddf8bdae4ecf25d031e46d8624eba00e1 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:55 +0200
-Subject: [PATCH 465/703] staging: bcm2835-audio: Set
+Subject: [PATCH 462/725] staging: bcm2835-audio: Set
SNDRV_PCM_INFO_SYNC_APPLPTR
commit b59d6a5f73501f74848d6700101e7736afe3d54a upstream.
-From 1d7ccadf57b043d8721a5110ac9203e9883fceb2 Mon Sep 17 00:00:00 2001
+From dc765e2328fdd22b055101bbe848fb50b0a592b9 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:56 +0200
-Subject: [PATCH 466/703] staging: bcm2835-audio: Simplify PCM creation helpers
+Subject: [PATCH 463/725] staging: bcm2835-audio: Simplify PCM creation helpers
commit 74470ffeb9aed5548654cfca881bf1d7469fe9c4 upstream.
-From af83d44b51e549b26c1f0db6cfc3207cf9e44d50 Mon Sep 17 00:00:00 2001
+From 9b2cae69685c0cb362aba7341acec397b783e49b Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:57 +0200
-Subject: [PATCH 467/703] staging: bcm2835-audio: Simplify kctl creation
+Subject: [PATCH 464/725] staging: bcm2835-audio: Simplify kctl creation
helpers
commit dc5c0eb1e8601206dffbfc302cbd190f89dcd040 upstream.
-From 18c2353cd57e25ececa0551b2ec22fd1f76f6484 Mon Sep 17 00:00:00 2001
+From 61a4c0f40810dde6cd4d562d452defcefdddd27a Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Sep 2018 17:58:58 +0200
-Subject: [PATCH 468/703] staging: bcm2835-audio: Simplify card object
+Subject: [PATCH 465/725] staging: bcm2835-audio: Simplify card object
management
commit 872ae2d63d516a2a3b9c833d8685afcfa7814542 upstream.
-From 6bfd152edc4d9a19836dc2a12c9545a5ccc1a87f Mon Sep 17 00:00:00 2001
+From 324af1fceb517d7250b13a31e5185c06f4366d5c Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Wed, 17 Oct 2018 21:01:50 +0200
-Subject: [PATCH 469/703] staging: bcm2835-audio: unify FOURCC command
+Subject: [PATCH 466/725] staging: bcm2835-audio: unify FOURCC command
definitions
commit a90d8f49cc7fd7220aa24b85fc74ef3cfd62b96f upstream.
-From 2477bc42397c7be4c74429b6fb8c1325765b9a46 Mon Sep 17 00:00:00 2001
+From e2389771445d4c01aa8c2cfdc5f854451ba1d29d Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Wed, 17 Oct 2018 21:01:51 +0200
-Subject: [PATCH 470/703] staging: bcm2835-audio: don't initialize memory twice
+Subject: [PATCH 467/725] staging: bcm2835-audio: don't initialize memory twice
commit 2e5f59fb77397cab3bc3d156e8be4164a67d32ef upstream.
-From 42b0651189ceea6c9684931d68566091a37914a3 Mon Sep 17 00:00:00 2001
+From 28436930910a42f2127e0b91dcdf20ec99d1da41 Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Wed, 17 Oct 2018 21:01:52 +0200
-Subject: [PATCH 471/703] staging: bcm2835-audio: reorder variable declarations
+Subject: [PATCH 468/725] staging: bcm2835-audio: reorder variable declarations
& remove trivial comments
commit d048385a070552ae819f99f05bd03ec41072783d upstream.
-From ba6476674aaab4ed91db3792eb860c65ff6c588f Mon Sep 17 00:00:00 2001
+From 5f7ebc0e341a4bf93db4c8e031b0e260be567e00 Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Wed, 17 Oct 2018 21:01:53 +0200
-Subject: [PATCH 472/703] staging: bcm2835-audio: use anonymous union in struct
+Subject: [PATCH 469/725] staging: bcm2835-audio: use anonymous union in struct
vc_audio_msg
commit 9c2eaf7da855d314a369d48b9cbf8ac80717a1d0 upstream.
-From 7c0e6cbc1257861e011256fd78a713b8d308541d Mon Sep 17 00:00:00 2001
+From 769a356761d6848a6ba1d396d97c76d6ff81451f Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Wed, 17 Oct 2018 21:01:54 +0200
-Subject: [PATCH 473/703] staging: bcm2835-audio: more generic probe function
+Subject: [PATCH 470/725] staging: bcm2835-audio: more generic probe function
name
commit 96f3bd8ae6516898c7b411ecb87064bb0dd25415 upstream.
-From 8766790884bfc46d8036a9da0dcf8d0cf291e42b Mon Sep 17 00:00:00 2001
+From e46a97daa661f61453787ef90c95fe02e36ba48d Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Wed, 17 Oct 2018 21:01:55 +0200
-Subject: [PATCH 474/703] staging: bcm2835-audio: rename platform_driver
+Subject: [PATCH 471/725] staging: bcm2835-audio: rename platform_driver
structure
commit 82cdc0c6b6faf877e2aecb957cffa9cb578cc572 upstream.
-From ab9ae6bfcca7033f0d6767e21076d82f4554ba99 Mon Sep 17 00:00:00 2001
+From c13b55d072cfd79e0dc17a80ee7536b272e5bcca Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Wed, 17 Oct 2018 21:01:56 +0200
-Subject: [PATCH 475/703] staging: bcm2835-audio: update TODO
+Subject: [PATCH 472/725] staging: bcm2835-audio: update TODO
commit 01ec7398c56e8f1b903ecb3c5c75400e263eef43 upstream.
-From 798edea528f75fd95c0edc6967efce509969e8e9 Mon Sep 17 00:00:00 2001
+From 3cd2b5a8d643c8e1d8ae0a63fc517ec7f47c6fb0 Mon Sep 17 00:00:00 2001
From: Mike Brady <mikebrady@eircom.net>
Date: Mon, 22 Oct 2018 20:17:08 +0100
-Subject: [PATCH 476/703] staging: bcm2835-audio: interpolate audio delay
+Subject: [PATCH 473/725] staging: bcm2835-audio: interpolate audio delay
commit a105a3a72824e0ac685a0711a67e4dbe29de62d0 upstream.
-From 54b8fc1b2213a73f56a5ca9e098f420014f3c073 Mon Sep 17 00:00:00 2001
+From 68093eedc7ce6e023944cc1099810351ad3a21dd Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Thu, 6 Dec 2018 19:28:56 +0100
-Subject: [PATCH 477/703] staging: bcm2835-audio: Enable compile test
+Subject: [PATCH 474/725] staging: bcm2835-audio: Enable compile test
commit 458d4866a34d0c129ffc3bd56345b2166ba46d77 upstream.
-From 8981dcb58013f5e48b8657377018cb09896bab98 Mon Sep 17 00:00:00 2001
+From d84c50e6ccd6138d902da87d293ee6ae5855b611 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Thu, 6 Dec 2018 19:28:57 +0100
-Subject: [PATCH 478/703] staging: bcm2835-audio: use module_platform_driver()
+Subject: [PATCH 475/725] staging: bcm2835-audio: use module_platform_driver()
macro
commit 1e55d56344b0777d6cee9b9e4a813d53728ee798 upstream.
-From 2fa5b1611732fd522cbceaded4dad36e81b3d990 Mon Sep 17 00:00:00 2001
+From e035b14b6608084e3276253cf477ecfc0f68fd18 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Thu, 6 Dec 2018 19:28:58 +0100
-Subject: [PATCH 479/703] staging: bcm2835-audio: Drop DT dependency
+Subject: [PATCH 476/725] staging: bcm2835-audio: Drop DT dependency
commit 438fc48260a0afc4cee733e5bc20234ff2bbef56 upstream.
-From 9886534de7551e0a59e90677bd1bab0539102772 Mon Sep 17 00:00:00 2001
+From abba794012b78bca2bb90277ef088edf8f3b84ff Mon Sep 17 00:00:00 2001
From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Mon, 17 Dec 2018 10:08:54 +0300
-Subject: [PATCH 480/703] staging: bcm2835-audio: double free in init error
+Subject: [PATCH 477/725] staging: bcm2835-audio: double free in init error
path
commit 136ff5e49271c4c8fceeca5491c48e66b961564b upstream.
-From 451f65d34555dad7837da5f9502968f31284615b Mon Sep 17 00:00:00 2001
+From 89102cfe2b789118442d9a0e9a0e42fcf29f8f58 Mon Sep 17 00:00:00 2001
From: P33M <p33m@github.com>
Date: Wed, 1 May 2019 15:00:05 +0100
-Subject: [PATCH 481/703] dts: Increase default coherent pool size
+Subject: [PATCH 478/725] 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
-From 5a957250fdb0f0b45bd41569c754a676fa556225 Mon Sep 17 00:00:00 2001
+From d9e9bfb28a22d9f1ed95e2dbe71bec9662717724 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 1 May 2019 14:23:39 +0100
-Subject: [PATCH 482/703] Revert "staging: bcm2835-audio: Drop DT dependency"
+Subject: [PATCH 479/725] Revert "staging: bcm2835-audio: Drop DT dependency"
This reverts commit 60a2e557a4f81480216066f22b84c3dda31b3470.
---
-From dcf73f16faa51b4ff0fc25106e1b45f861ddd5b8 Mon Sep 17 00:00:00 2001
+From 964ee89545061f55bee90bae39b852db74607468 Mon Sep 17 00:00:00 2001
From: Russell Joyce <russell.joyce@york.ac.uk>
Date: Wed, 1 May 2019 16:43:27 +0100
-Subject: [PATCH 483/703] configs: Enable netdev LED trigger
+Subject: [PATCH 480/725] configs: Enable netdev LED trigger
Signed-off-by: Russell Joyce <russell.joyce@york.ac.uk>
---
-From e303bfb934b2a5adb549b43bbd51b1a0e33c33b3 Mon Sep 17 00:00:00 2001
+From 706a1636883d35b9399be0003d9e36d0f46fd6c5 Mon Sep 17 00:00:00 2001
From: P33M <p33m@github.com>
Date: Wed, 1 May 2019 17:04:32 +0100
-Subject: [PATCH 484/703] smsc95xx: dynamically fix up TX buffer alignment with
+Subject: [PATCH 481/725] smsc95xx: dynamically fix up TX buffer alignment with
padding bytes
dwc_otg requires a 32-bit aligned buffer start address, otherwise
-From 877ede0851381694597771e1497ca7fc24cd23a6 Mon Sep 17 00:00:00 2001
+From d57123651a91cf3896faf299614475225dcc88f0 Mon Sep 17 00:00:00 2001
From: P33M <p33m@github.com>
Date: Thu, 2 May 2019 11:53:45 +0100
-Subject: [PATCH 485/703] lan78xx: use default alignment for rx buffers
+Subject: [PATCH 482/725] 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
-From f6e11e230a385a290e1a5890241f0ec4907f794c Mon Sep 17 00:00:00 2001
+From 42b1168b921a0183da6754f43192f7090145feed Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 2 May 2019 14:30:24 +0100
-Subject: [PATCH 486/703] staging: bcm2835-codec: Correct port width calc for
+Subject: [PATCH 483/725] staging: bcm2835-codec: Correct port width calc for
truncation
The calculation converting from V4L2 bytesperline to MMAL
-From 9b2ae5ee715a6dfc1d82b8ed0602a7221df6b641 Mon Sep 17 00:00:00 2001
+From 54f10f595339ee996e0ec0ac755b13a891f7ab92 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 2 May 2019 14:32:21 +0100
-Subject: [PATCH 487/703] staging: bcm2835-codec: Remove height padding for ISP
+Subject: [PATCH 484/725] staging: bcm2835-codec: Remove height padding for ISP
role
The ISP has no need for heights to be a multiple of macroblock
-From 26f04aa97ca1c498f13e6c4dfea2e8ea436a9f83 Mon Sep 17 00:00:00 2001
+From 7b8bb1cd4c48b917888f80d22f789ad3896da20e Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 1 May 2019 13:27:23 +0100
-Subject: [PATCH 488/703] staging: mmal-vchiq: Free the event context for
+Subject: [PATCH 485/725] staging: mmal-vchiq: Free the event context for
control ports
vchiq_mmal_component_init calls init_event_context for the
-From 0e6d5495da81b0f441a8e59156213907b170b085 Mon Sep 17 00:00:00 2001
+From 4c6084642e3682684dc10c6487c9aa4ae4a2651f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 2 May 2019 22:14:34 +0100
-Subject: [PATCH 490/703] BCM270X_DT: Also set coherent_pool=1M for BT Pis
+Subject: [PATCH 486/725] BCM270X_DT: Also set coherent_pool=1M for BT Pis
See: https://github.com/raspberrypi/linux/issues/2924
-From 9618e38d927290bf174936756face014a37a93e6 Mon Sep 17 00:00:00 2001
+From b8ed46bf8324dc44bf2e623e3ad78498fd7ae447 Mon Sep 17 00:00:00 2001
From: Russell Joyce <russell.joyce@york.ac.uk>
Date: Thu, 2 May 2019 15:18:36 +0100
-Subject: [PATCH 491/703] configs: Enable ICS-43432 I2S microphone module
+Subject: [PATCH 487/725] configs: Enable ICS-43432 I2S microphone module
Signed-off-by: Russell Joyce <russell.joyce@york.ac.uk>
---
-From cecb1267b1b51025c6e54bb4ba05c84ff6e7e3c7 Mon Sep 17 00:00:00 2001
+From 209b4058e447c11ce8db6b13123696db0cdd9c63 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Sun, 5 May 2019 21:07:12 +0100
-Subject: [PATCH 492/703] arm: dts: overlays: rpi-sense: add upstream humidity
+Subject: [PATCH 488/725] arm: dts: overlays: rpi-sense: add upstream humidity
compatible
The upstream humidiity driver uses "st,hts221" for the compatible
-From af1d0b04a35776cf36049b1549fcb33260a4e145 Mon Sep 17 00:00:00 2001
+From f538653f1307d7b3b2ebfbdef90dc18f23cc4863 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 2 May 2019 15:50:01 +0100
-Subject: [PATCH 493/703] staging: mmal-vchiq: Fix memory leak in error path
+Subject: [PATCH 489/725] staging: mmal-vchiq: Fix memory leak in error path
On error, vchiq_mmal_component_init could leave the
event context allocated for ports.
-From 123507714c5b2fd44d78f2eac3dc8ade39bb3018 Mon Sep 17 00:00:00 2001
+From d9725f9881c55fdb8727301e45ce6b200c1d7633 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 3 May 2019 13:27:51 +0100
-Subject: [PATCH 494/703] staging: vchiq-mmal: Fix memory leak of vchiq
+Subject: [PATCH 490/725] staging: vchiq-mmal: Fix memory leak of vchiq
instance
The vchiq instance was allocated from vchiq_mmal_init via
-From dfe9e42ef9bce3edba84cab22269995f8edd02a5 Mon Sep 17 00:00:00 2001
+From 0c9e8983c1ab986a833e8b5fbe180f06957529ad Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 13 May 2019 17:34:29 +0100
-Subject: [PATCH 495/703] Revert "video: bcm2708_fb: Try allocating on the ARM
+Subject: [PATCH 491/725] Revert "video: bcm2708_fb: Try allocating on the ARM
and passing to VPU"
This reverts commit ca36c709fce57e8023d2b8b354376bf161601a49.
-From 7208ccb2165feb06eda3f04858d09388cd279c7d Mon Sep 17 00:00:00 2001
+From f1735eca66ab19d14c3f77c0869d7378897aa13c Mon Sep 17 00:00:00 2001
From: IQaudIO <gordon@iqaudio.com>
Date: Mon, 13 May 2019 21:53:05 +0100
-Subject: [PATCH 496/703] Added IQaudIO Pi-Codec board support (#2969)
+Subject: [PATCH 492/725] Added IQaudIO Pi-Codec board support (#2969)
Add support for the IQaudIO Pi-Codec board.
-From fb13c1342c81bb0c06afdcfe1e8561e8a6e149d7 Mon Sep 17 00:00:00 2001
+From ac011573006f07da4a140f05e1ee8be0c441f3dc Mon Sep 17 00:00:00 2001
From: P33M <p33m@github.com>
Date: Tue, 14 May 2019 14:55:19 +0100
-Subject: [PATCH 497/703] Revert "smsc95xx: dynamically fix up TX buffer
+Subject: [PATCH 493/725] Revert "smsc95xx: dynamically fix up TX buffer
alignment with padding bytes"
As reported in https://github.com/raspberrypi/linux/issues/2964 this
-From 8bf83aaaa40f140bc14521ac2f1dd08a8463cc87 Mon Sep 17 00:00:00 2001
+From 4398e1d8787c792a4451beb890d00fba313b6fa7 Mon Sep 17 00:00:00 2001
From: Henrique Gontijo <hgontijo@guidewire.com>
Date: Sun, 12 May 2019 17:11:02 -0700
-Subject: [PATCH 498/703] configs: Enable PIDs cgroup
+Subject: [PATCH 494/725] configs: Enable PIDs cgroup
My use case to is to allow Kubernetes master to run on Raspberry Pi 3.
Kubernetes introduced [Pid limiting](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190129-pid-limiting.md),
-From cc87b27a07e5da8d072b3c4e80a3f92cda44e106 Mon Sep 17 00:00:00 2001
+From a059cb29f76396d640199026bd94ed654b31e70d Mon Sep 17 00:00:00 2001
From: Jean-Francois Dagenais <jeff.dagenais@gmail.com>
Date: Thu, 28 Mar 2019 12:41:11 -0400
-Subject: [PATCH 499/703] w1: ds2408: reset on output_write retry with readback
+Subject: [PATCH 495/725] w1: ds2408: reset on output_write retry with readback
commit 49695ac46861180baf2b2b92c62da8619b6bf28f upstream.
-From cf423c8b0d5d1fa5cc0c9427b5282aa888b5eaef Mon Sep 17 00:00:00 2001
+From 5afe695ddcc560424d2b98984902a578ae8e416c Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Mon, 4 Mar 2019 12:23:36 +0100
-Subject: [PATCH 500/703] w1: ds2482: cosmetic fixes after 54865314f5a1
+Subject: [PATCH 496/725] w1: ds2482: cosmetic fixes after 54865314f5a1
commit 5cb27d30fc3a281e830a2099d520b469e2b82008 upstream.
-From d188a0a3472f80003d2558639ebeb41e190a4b9b Mon Sep 17 00:00:00 2001
+From 5989c694277724691de437691ea314fc8fad93b8 Mon Sep 17 00:00:00 2001
From: Klaus Schulz <klsschlz@gmail.com>
Date: Thu, 16 May 2019 13:35:32 +0200
-Subject: [PATCH 501/703] sound: pcm512x-codec: Adding 352.8kHz samplerate
+Subject: [PATCH 497/725] sound: pcm512x-codec: Adding 352.8kHz samplerate
support
---
-From 4f8dc6c030b1d24c4bf270637eba452ad9b9dd9b Mon Sep 17 00:00:00 2001
+From 0a066a3f2e77c2d4d49a8d1f148b30a10a89de74 Mon Sep 17 00:00:00 2001
From: GT <dev@3d-lab-av.com>
Date: Sat, 6 Apr 2019 21:16:39 +0100
-Subject: [PATCH 502/703] ASoC: decommissioning driver for 3Dlab Nano soundcard
+Subject: [PATCH 498/725] ASoC: decommissioning driver for 3Dlab Nano soundcard
---
.../overlays/3dlab-nano-player-overlay.dts | 32 --
-From 44cadbedb79dbbae0cea7dd008bcf2583570e883 Mon Sep 17 00:00:00 2001
+From 08452889f1bd46f4b4f34b915a3095523de1758a Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 21 May 2019 15:17:33 +0100
-Subject: [PATCH 503/703] .gitignore: Add *.dtbo explicitly
+Subject: [PATCH 499/725] .gitignore: Add *.dtbo explicitly
Signed-off-by: popcornmix <popcornmix@gmail.com>
---
-From 0b83f023796a12b822191c29b4313b161d68fbe7 Mon Sep 17 00:00:00 2001
+From 6dec9b770df1f986091eb4e61e829f2d8b2031b1 Mon Sep 17 00:00:00 2001
From: Marcel Holtmann <marcel@holtmann.org>
Date: Wed, 22 May 2019 09:05:40 +0200
-Subject: [PATCH 504/703] Bluetooth: Check key sizes only when Secure Simple
+Subject: [PATCH 500/725] Bluetooth: Check key sizes only when Secure Simple
Pairing is enabled
The encryption is only mandatory to be enforced when both sides are using
-From 6ed82a6ca0e146b20e1d09dc7ec9d31706fc85c5 Mon Sep 17 00:00:00 2001
+From f37b215f0ea4180c8befba9fe48626ec8d5bfc41 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 7 May 2019 17:23:41 +0100
-Subject: [PATCH 505/703] usb: dwc_otg: Clean up interrupt claiming code
+Subject: [PATCH 501/725] 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
-From 039ab199d862424e77a9f5a8b431453a36d6af7c Mon Sep 17 00:00:00 2001
+From c8bf649a93e00e411c9d52d8ba7902b0984a7c3e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 7 May 2019 14:27:35 +0100
-Subject: [PATCH 506/703] overlays: Delete the deprecated sdio-1bit overlay
+Subject: [PATCH 502/725] overlays: Delete the deprecated sdio-1bit overlay
Use dtoverlay=sdio,bus_width=1,gpios_22_25 instead.
-From 1bb35a0debe9afff8113fe7727020e22a6160fd2 Mon Sep 17 00:00:00 2001
+From 23a2fa493ee4e0734e7cf7402527889a5752548b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 7 May 2019 10:06:04 +0100
-Subject: [PATCH 507/703] overlays: Remove upstream-aux-interrupt overlay
+Subject: [PATCH 503/725] 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.
-From 72ce89af10e9f0d504f9c31a137928464b269cfb Mon Sep 17 00:00:00 2001
+From d5c9e73f36c946e403d408b08d7360f227c75837 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 14 May 2019 13:33:05 +0100
-Subject: [PATCH 508/703] overlays: Standardise on compatible="brcm,bcm2835"
+Subject: [PATCH 504/725] overlays: Standardise on compatible="brcm,bcm2835"
Curb the proliferation of compatible string combinations by
standardising on "brcm,bcm2835" to denote BCM2835 and its descendants.
-From 66ba94b1099ebc09bf82516499257165495c7c46 Mon Sep 17 00:00:00 2001
+From 4014add8e56b0169d767f6feb99ab9387bdd1c2b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 22 May 2019 12:58:47 +0100
-Subject: [PATCH 509/703] vc4: Remove interrupt and DMA trampling
+Subject: [PATCH 505/725] 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
-From 5c9796882b256d149d9c9d9da6b374e4c4e7cbaa Mon Sep 17 00:00:00 2001
+From 7530f75c6f8207751821a72a5da3ee8d275921f3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 7 May 2019 14:29:38 +0100
-Subject: [PATCH 510/703] BCM270X_DT: Add non-removable clone of mmc node
+Subject: [PATCH 506/725] 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
-From fdec17c9cd5cb9c52872e9669aca53d58c7f1eaf Mon Sep 17 00:00:00 2001
+From 7a56bb870785b5cb85a5902c32b23f956f1a1287 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 8 May 2019 10:08:31 +0100
-Subject: [PATCH 511/703] BCM270X_DT: usb: Refactor DTS and overlays
+Subject: [PATCH 507/725] 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
-From a81bfae69a80e92852509118ff81f3485836b81e Mon Sep 17 00:00:00 2001
+From 9e3b138e750cddfd19e8463661e592fd14621c9c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 22 May 2019 13:29:56 +0100
-Subject: [PATCH 512/703] overlays: Update upstream overlay
+Subject: [PATCH 508/725] 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
-From b7e76f445cec9a72c1f8f22cba1b2afe0e77f849 Mon Sep 17 00:00:00 2001
+From 04d76f91610d34088593cc128de8184d86240db4 Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Thu, 16 May 2019 14:39:21 +0200
-Subject: [PATCH 513/703] w1: ds2408: Fix typo after 49695ac46861 (reset on
+Subject: [PATCH 509/725] w1: ds2408: Fix typo after 49695ac46861 (reset on
output_write retry with readback)
commit 6660a04feb7ef648e50c792e19084d675fa6f3a2 upstream.
-From 8daca09e4eea788e6fc2fdf3d8ab4c0976128d3d Mon Sep 17 00:00:00 2001
+From c9858300591b9406b9b65e41da8d383d7cbd6826 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 28 May 2019 16:36:04 +0100
-Subject: [PATCH 514/703] BCM270X_DT: Rename Pi Zero W DT files
+Subject: [PATCH 510/725] 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,
-From 926eb05f48f4c805075aa535a444127de6de0dbb Mon Sep 17 00:00:00 2001
+From b9a96a4b09c30803092ed4a9f730cb3573037cd6 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 28 May 2019 16:23:51 +0100
-Subject: [PATCH 515/703] BCM270X_DT: Create bcm2708-rpi-zero.dts
+Subject: [PATCH 511/725] 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
-From 59ffffa03628f1df3dc63d8f2f1b61bce4b322c2 Mon Sep 17 00:00:00 2001
+From 4adf2465fe10714a159a2e9a885989d0ad46db13 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 30 May 2019 12:25:29 +0100
-Subject: [PATCH 516/703] overlays: Fix mmc-related overlays after refactor
+Subject: [PATCH 512/725] 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
-From f022f74f85fa0871e650c1a2fe385d7a24d07d92 Mon Sep 17 00:00:00 2001
+From cc26d5547fc63f2cead8d51379cfd782b70832ba Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 3 Jun 2019 14:57:56 +0100
-Subject: [PATCH 517/703] config: Add NF_TABLES support
+Subject: [PATCH 513/725] config: Add NF_TABLES support
---
arch/arm/configs/bcm2709_defconfig | 48 ++++++++++++++++++++++++++++++
-From a06ffe5daac9ef401c406a8aa28b5d20279e0cdb Mon Sep 17 00:00:00 2001
+From 534eaba07cc9ffcf9ee74aeeeb9b2ab96b18ece5 Mon Sep 17 00:00:00 2001
From: IQaudIO <gordon@iqaudio.com>
Date: Thu, 6 Jun 2019 10:20:55 +0100
-Subject: [PATCH 518/703] Fixed 48k timing issue
+Subject: [PATCH 514/725] Fixed 48k timing issue
---
sound/soc/bcm/iqaudio-codec.c | 33 ++++++++++++++++++++++++++++-----
-From 58b048261814bb8763573cac6146079ed8813f65 Mon Sep 17 00:00:00 2001
+From 7b288978c69b614afbc4de50a2e68c8e26c988ef Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 10 May 2019 14:11:58 +0100
-Subject: [PATCH 519/703] staging: bcm2835-codec: Convert V4L2 nsec timestamps
+Subject: [PATCH 515/725] staging: bcm2835-codec: Convert V4L2 nsec timestamps
to MMAL usec
V4L2 uses nsecs, whilst MMAL uses usecs, but the code wasn't converting
-From 17100548de7995412237633c58c4e04a11a6d5ed Mon Sep 17 00:00:00 2001
+From 36a826c4ef3da5d893b44816692f9b77a4842536 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 10 May 2019 14:13:11 +0100
-Subject: [PATCH 520/703] staging: bcm2835-codec: Add support for setting
+Subject: [PATCH 516/725] staging: bcm2835-codec: Add support for setting
S_PARM and G_PARM
Video encode can use the frame rate for rate control calculations,
-From d4b6aeeb564bcc56316ba15eaa62d25400dde175 Mon Sep 17 00:00:00 2001
+From bc6a43d8d2aabc061c407d6644f04b9c51b65280 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 12 Jun 2019 17:15:05 +0100
-Subject: [PATCH 521/703] w1: w1-gpio: Make GPIO an output for strong pullup
+Subject: [PATCH 517/725] 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
-From f182f8725cc6a5cccd7f513268e311e5037eca03 Mon Sep 17 00:00:00 2001
+From 62e3712d23602b04dd28340ea05643708d603241 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 12 Jun 2019 17:32:11 +0100
-Subject: [PATCH 522/703] overlays: Update w1-gpio and w1-gpio-pullup
+Subject: [PATCH 518/725] 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
-From 578084fa26af562bc35db7175ea7784a01f87f87 Mon Sep 17 00:00:00 2001
+From f6ed43e4cef98ce5d000f809af5f03d57a5b2e34 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 12 Jun 2019 20:45:17 +0100
-Subject: [PATCH 523/703] bcm2835-sdhost: Fix DMA channel leak on error/remove
+Subject: [PATCH 519/725] bcm2835-sdhost: Fix DMA channel leak on error/remove
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From c86d0f6bfecc53a44e753f14238921ababae29d4 Mon Sep 17 00:00:00 2001
+From 77a612fb674f924495a3a9a36ea60fb30d86644a Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Sat, 8 Jun 2019 10:14:43 -0700
-Subject: [PATCH 524/703] i2c: bcm2835: Model Divider in CCF
+Subject: [PATCH 520/725] i2c: bcm2835: Model Divider in CCF
Commit bebff81fb8b9216eb4fba22cf910553621ae3477 upstream.
-From 75d0074312c7cb74c7a7c17f9cef7a071e209d79 Mon Sep 17 00:00:00 2001
+From 29fb40874924e09b1a1063ef8155fdf77df4b9fd Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 17 Sep 2018 09:22:21 +0100
-Subject: [PATCH 525/703] staging/vc04_services: Use correct cache line size
+Subject: [PATCH 521/725] 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.
-From 135b1563027fb8f30be1a9daae3db209166028af Mon Sep 17 00:00:00 2001
+From e30c029a882170cfc57612129b4eebff56f7cd6b Mon Sep 17 00:00:00 2001
From: Doug Berger <opendmb@gmail.com>
Date: Mon, 13 May 2019 20:59:45 +0200
-Subject: [PATCH 526/703] tty: amba-pl011: allow shared interrupt
+Subject: [PATCH 522/725] 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
-From 272132a1b67448ec6e72e431abe0ca00cc4e0554 Mon Sep 17 00:00:00 2001
+From 7739b8497c229fdac29640985e0dba9c8d6f04f1 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <wahrenst@gmx.net>
Date: Sun, 19 May 2019 12:20:00 +0200
-Subject: [PATCH 527/703] ARM: bcm283x: Reduce register ranges for UART, SPI
+Subject: [PATCH 523/725] ARM: bcm283x: Reduce register ranges for UART, SPI
and I2C
The assigned register ranges for UART, SPI and I2C were too wasteful.
-From 35c9dd5eb19625b5eba5373ca780eef9e4029e87 Mon Sep 17 00:00:00 2001
+From bd7335b5e204cf0dc88550497fbd12002a0f35d5 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 12 Dec 2018 15:51:49 -0800
-Subject: [PATCH 528/703] ARM: bcm283x: Extend the WDT DT node out to cover the
+Subject: [PATCH 524/725] 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
-From 381ffaf15617d63c898f3b70105dc42d17e4ed3b Mon Sep 17 00:00:00 2001
+From 430a2bead0b7cf0100008189cad88213fcb6afb6 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <wahrenst@gmx.net>
Date: Sat, 4 May 2019 17:06:54 +0200
-Subject: [PATCH 529/703] ARM: dts: Add label to bcm2835 RNG
+Subject: [PATCH 525/725] ARM: dts: Add label to bcm2835 RNG
---
arch/arm/boot/dts/bcm283x.dtsi | 2 +-
-From ef4e6bd54e6b5d352eb62d245bf4354259812d05 Mon Sep 17 00:00:00 2001
+From d907bff594e59457b42df94c8da1b34f1964b2ae Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 12 Oct 2017 18:11:32 +0100
-Subject: [PATCH 530/703] dts: Use fb rather than leds for dpi overlay
+Subject: [PATCH 526/725] dts: Use fb rather than leds for dpi overlay
---
arch/arm/boot/dts/overlays/dpi18-overlay.dts | 2 +-
-From 8b2b33292610a414d8cc3a7a78104fd375bf0cce Mon Sep 17 00:00:00 2001
+From fb2ff9ebd588db603dc9df848203e2f764a3ae90 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 29 May 2019 15:19:21 +0100
-Subject: [PATCH 531/703] BCM270X_DT: Minor tidy up
+Subject: [PATCH 527/725] BCM270X_DT: Minor tidy up
Move arm_pmu out of soc on bcm2710, and labels aren't aliases.
-From bd1c6d07ec4b1ddf087ad139c0164ab195244a55 Mon Sep 17 00:00:00 2001
+From 35a736173fb6404fe35467a8c4802f7cd060388a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 20 Feb 2019 08:49:39 +0000
-Subject: [PATCH 532/703] arm: bcm2835: Fix FIQ early ioremap
+Subject: [PATCH 528/725] arm: bcm2835: Fix FIQ early ioremap
The ioremapping creates mappings within the vmalloc area. The
equivalent early function, create_mapping, now checks that the
-From 1f1c37d795048414202d1b097854ebb78df4b1fe Mon Sep 17 00:00:00 2001
+From 4006c9ee386c4b3f33e816130bad8dc44030a316 Mon Sep 17 00:00:00 2001
From: Tim Gover <tim.gover@raspberrypi.org>
Date: Thu, 14 Mar 2019 10:16:02 +0000
-Subject: [PATCH 533/703] Fix copy_from_user if BCM2835_FAST_MEMCPY=n
+Subject: [PATCH 529/725] 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
-From f44f216d79d668049e28f696840c7761017e3406 Mon Sep 17 00:00:00 2001
+From 0677ac68d2063ba12ea08e847d08b7b25089a283 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 19 Feb 2019 22:06:59 +0000
-Subject: [PATCH 534/703] PCI: brcmstb: Add Broadcom STB PCIe host controller
+Subject: [PATCH 530/725] PCI: brcmstb: Add Broadcom STB PCIe host controller
driver
This commit adds the basic Broadcom STB PCIe controller. Missing is
-From 00dbba2f38e18a68e5dce8327ec91bdcb94d2bd1 Mon Sep 17 00:00:00 2001
+From 155b86245f5c14317f41a0677ed78601fbe1f28b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 19 Feb 2019 22:06:59 +0000
-Subject: [PATCH 535/703] PCI: brcmstb: Add dma-range mapping for inbound
+Subject: [PATCH 531/725] PCI: brcmstb: Add dma-range mapping for inbound
traffic
The Broadcom STB PCIe host controller is intimately related to the
-From 17f152efa5b5c156df0ff918b38855a1b4efd1e9 Mon Sep 17 00:00:00 2001
+From 2f802e11ea7ca4f7c688ecc64019bec25a5e62a1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 19 Feb 2019 22:06:59 +0000
-Subject: [PATCH 536/703] PCI: brcmstb: Add MSI capability
+Subject: [PATCH 532/725] 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
-From ed5b4725bde9d0067ac2a1098756ff5abfa13798 Mon Sep 17 00:00:00 2001
+From 830343693fac9c7aa58e6a14f636e75d2fb3b2e5 Mon Sep 17 00:00:00 2001
From: Jim Quinlan <jim2101024@gmail.com>
Date: Mon, 15 Jan 2018 18:28:39 -0500
-Subject: [PATCH 537/703] dt-bindings: pci: Add DT docs for Brcmstb PCIe device
+Subject: [PATCH 533/725] 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
-From 20675667235d3f454db422f8fbc296605195647e Mon Sep 17 00:00:00 2001
+From cbe53bb0428c1ae30fb7395fc8d8f507a6afbded Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 19 Feb 2019 22:06:59 +0000
-Subject: [PATCH 538/703] pcie-brcmstb: Changes for BCM2711
+Subject: [PATCH 534/725] pcie-brcmstb: Changes for BCM2711
The initial brcmstb PCIe driver - originally taken from the V3(?)
patch set - has been modified significantly for the BCM2711.
-From 4f8fa14b05198c3d145d72d47ad9adfc25601842 Mon Sep 17 00:00:00 2001
+From 873462f7e2a67c2683c916612716b447b2f8f7d7 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 29 May 2019 15:47:42 +0100
-Subject: [PATCH 539/703] arm: bcm2835: DMA can only address 1GB
+Subject: [PATCH 535/725] 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.
-From 6178ee953f25002e50b63af4b77b1f2a58ce17d6 Mon Sep 17 00:00:00 2001
+From beea04563e4d7df06d5cec9bae2171e7eca643b1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 29 Aug 2018 09:05:15 +0100
-Subject: [PATCH 540/703] mmc: bcm2835-sdhost: Support 64-bit physical
+Subject: [PATCH 536/725] mmc: bcm2835-sdhost: Support 64-bit physical
addresses
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-From 80e4525509000d3f7faebbc9ea403c9776aab2c5 Mon Sep 17 00:00:00 2001
+From b0aa16d75f422fb369696520189c9fa7b0b12e60 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 28 Sep 2018 16:24:05 +0100
-Subject: [PATCH 541/703] mmc: sdhci: Mask "spurious" interrupts
+Subject: [PATCH 537/725] mmc: sdhci: Mask "spurious" interrupts
Add a filter for "spurious" Transfer Complete interrupts, attempting
to make it as specific as possible:
-From 8433b9112a42c8f7b0fefeac50e2f3ebb3ab956c Mon Sep 17 00:00:00 2001
+From 1224508f6ea00a9f730d394cf5f482acccbb9e88 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <wahrenst@gmx.net>
Date: Sat, 27 Apr 2019 12:33:57 +0200
-Subject: [PATCH 542/703] mmc: sdhci-iproc: Add support for emmc2 of the
+Subject: [PATCH 538/725] mmc: sdhci-iproc: Add support for emmc2 of the
BCM2838
The emmc2 interface of the BCM2838 should be integrated in sdhci-iproc
-From 60dfcaef2e9fb7fd79b7a87c25cd520b82c6dd02 Mon Sep 17 00:00:00 2001
+From c1a3581a5637d096c40456e22edf7f846ca24ad4 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <wahrenst@gmx.net>
Date: Sat, 4 May 2019 17:06:15 +0200
-Subject: [PATCH 543/703] hwrng: iproc-rng200: Add BCM2838 support
+Subject: [PATCH 539/725] 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.
-From bbb17da9724f068cc4cd7620c6d75b09a3d76a96 Mon Sep 17 00:00:00 2001
+From fa0113f19ec808428cad9d92a17d13f17bfbd07e Mon Sep 17 00:00:00 2001
From: Stefan Wahren <wahrenst@gmx.net>
Date: Sat, 18 May 2019 12:26:11 +0200
-Subject: [PATCH 544/703] thermal: brcmstb_thermal: Add BCM2838 support
+Subject: [PATCH 540/725] 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 ).
-From f9625d8ee77e57593af378a1d60708fc8d43db46 Mon Sep 17 00:00:00 2001
+From 2d12aba4b1475c04f247b96075ad1a7f65152a23 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 1 Nov 2018 17:31:37 +0000
-Subject: [PATCH 545/703] vchiq: Add 36-bit address support
+Subject: [PATCH 541/725] 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
-From d1712d177a85f00eaf359d9b479841bb21239adb Mon Sep 17 00:00:00 2001
+From 23793b5dcab413aaf7f7551aaa9473670b111832 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 30 Apr 2019 19:15:30 +0100
-Subject: [PATCH 546/703] bcm2835-pcm.c: Support multichannel audio
+Subject: [PATCH 542/725] bcm2835-pcm.c: Support multichannel audio
---
.../vc04_services/bcm2835-audio/bcm2835-pcm.c | 17 +++++++++--------
-From 9c341c10cd2ad2a61f084dc222fd380ed1687f50 Mon Sep 17 00:00:00 2001
+From 99f79579e704a5fa56238e8c650289fda6a67071 Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Wed, 12 Sep 2018 14:44:53 +0100
-Subject: [PATCH 547/703] bcmgenet: constrain max DMA burst length
+Subject: [PATCH 543/725] bcmgenet: constrain max DMA burst length
---
drivers/net/ethernet/broadcom/genet/bcmgenet.h | 2 +-
-From 8d30a996253c537f4978910aabf1e098bac8fa1a Mon Sep 17 00:00:00 2001
+From 9e374c8058f9fc6dc4069f2cf878ca941f5836d3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 27 Mar 2019 13:45:46 +0000
-Subject: [PATCH 548/703] bcmgenet: Better coalescing parameter defaults
+Subject: [PATCH 544/725] bcmgenet: Better coalescing parameter defaults
Set defaults for TX and RX packet coalescing to be equivalent to:
-From 03bd32474bf378c1537775970b35c7081779aec4 Mon Sep 17 00:00:00 2001
+From fd72c4f7da285c5dee66f01cdec075a5d863a3a3 Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Tue, 14 May 2019 17:17:59 +0100
-Subject: [PATCH 549/703] net: genet: enable link energy detect powerdown for
+Subject: [PATCH 545/725] net: genet: enable link energy detect powerdown for
external PHYs
There are several warts surrounding bcmgenet_mii_probe() as this
-From 845295c21d9123f24a33bcb683f02fa7f3c7648e Mon Sep 17 00:00:00 2001
+From 21e3d91c32f71881ca5d8fba428a2ebe55398760 Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Tue, 14 May 2019 17:00:41 +0100
-Subject: [PATCH 550/703] phy: broadcom: split out the BCM54213PE from the
+Subject: [PATCH 546/725] phy: broadcom: split out the BCM54213PE from the
BCM54210E IDs
The last nibble is a revision ID, and the 54213pe is a later rev
-From 5353102f2d7e2f61cca4014aacfa3ac9a71aaeea Mon Sep 17 00:00:00 2001
+From 6873c605ba15e36bbc5efffd3b86caab09c9ce5a Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Fri, 17 May 2019 13:31:21 +0100
-Subject: [PATCH 551/703] phy: bcm54213pe: configure the LED outputs to be more
+Subject: [PATCH 547/725] phy: bcm54213pe: configure the LED outputs to be more
user-friendly
The default state was both LEDs indicating link speed.
-From 9a7fd87f8f2a28cee05a847266a5a168a3d8c0dd Mon Sep 17 00:00:00 2001
+From 1fa7016f17e440f19a7895b795384f105772dbfe Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 21 May 2019 13:36:52 +0100
-Subject: [PATCH 552/703] dwc_otg: Choose appropriate IRQ handover strategy
+Subject: [PATCH 548/725] 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
-From 2957990a8291f860ca5bbbc58d2b28aaf6acd28e Mon Sep 17 00:00:00 2001
+From 4f8e73f79d01049ab47e4984f8df63cd92a4da5c Mon Sep 17 00:00:00 2001
From: Tim Gover <tim.gover@raspberrypi.org>
Date: Fri, 22 Mar 2019 09:47:14 +0000
-Subject: [PATCH 553/703] usb: xhci: Disable the XHCI 5 second timeout
+Subject: [PATCH 549/725] 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
-From 42738c082b40c372dcaebfae4dcbd3b3251cb37f Mon Sep 17 00:00:00 2001
+From 66cba59420caaf4fd1123e7aa4ef87de34cca440 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 23 May 2019 15:08:30 +0100
-Subject: [PATCH 554/703] usb: xhci: Show that the VIA VL805 supports LPM
+Subject: [PATCH 550/725] usb: xhci: Show that the VIA VL805 supports LPM
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From dd2f4acbdd9731757fe9aedd11164d67a785e25c Mon Sep 17 00:00:00 2001
+From ebd33389465183268879eb8c3eefe9e7e5363cf3 Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Thu, 30 May 2019 10:38:40 +0100
-Subject: [PATCH 555/703] usb: xhci: hack xhci_urb_enqueue to support
+Subject: [PATCH 551/725] usb: xhci: hack xhci_urb_enqueue to support
hid.mousepoll behaviour
xHCI creates endpoint contexts directly from the device's endpoint
-From 9d0c6b7b815e9c8d578299446a28c3ed54700464 Mon Sep 17 00:00:00 2001
+From 40c0d670970e7896a0be03ab0f884bdcd718660d Mon Sep 17 00:00:00 2001
From: Tim Gover <tim.gover@raspberrypi.org>
Date: Wed, 9 Jan 2019 14:43:36 +0000
-Subject: [PATCH 556/703] pinctrl-bcm2835: Add support for BCM2838
+Subject: [PATCH 552/725] 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
-From 6dc0f30ee18404547a2ca94fd11914ea0d75841f Mon Sep 17 00:00:00 2001
+From bca62369ca063a66ab3bfb3d129d76da88a3b99b Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Mon, 13 May 2019 11:05:27 +0000
-Subject: [PATCH 557/703] spi: bcm2835: enable shared interrupt support
+Subject: [PATCH 553/725] spi: bcm2835: enable shared interrupt support
Add shared interrupt support for this driver.
-From 0a0ebc37b25830162918aa31278b2f7857b8032b Mon Sep 17 00:00:00 2001
+From b64f3dadd338591992edcadfa064920de997d058 Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Thu, 9 May 2019 14:30:37 +0100
-Subject: [PATCH 558/703] drivers: char: add chardev for mmap'ing Argon control
+Subject: [PATCH 554/725] drivers: char: add chardev for mmap'ing Argon control
registers
Based on the gpiomem driver, allow mapping of the decoder register
-From 258c43d5303a3afe7c416b4fa9875bdbd3470131 Mon Sep 17 00:00:00 2001
+From 3ac14a916d67071cd0311de9cf420e5a649c7517 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 23 Jan 2019 16:11:50 +0000
-Subject: [PATCH 559/703] clk-bcm2835: Don't wait for pllh lock
+Subject: [PATCH 555/725] clk-bcm2835: Don't wait for pllh lock
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 2dbc6987e9ef3130c9a72422f3f06b8edd06d88a Mon Sep 17 00:00:00 2001
+From 6b41815e23a72453b859e245cad9fcd6a5f0ef31 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 12 Dec 2018 15:51:47 -0800
-Subject: [PATCH 560/703] bcm2835-pm: Move bcm2835-watchdog's DT probe to an
+Subject: [PATCH 556/725] bcm2835-pm: Move bcm2835-watchdog's DT probe to an
MFD.
The PM block that the wdt driver was binding to actually has multiple
-From c3005e0dbe1f7f6d93833d5a43b12866873a312f Mon Sep 17 00:00:00 2001
+From 25b7b6863a8dd292fa88309f70c980265b076c4e Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 12 Dec 2018 15:51:48 -0800
-Subject: [PATCH 561/703] soc: bcm: bcm2835-pm: Add support for power domains
+Subject: [PATCH 557/725] soc: bcm: bcm2835-pm: Add support for power domains
under a new binding.
This provides a free software alternative to raspberrypi-power.c's
-From 81f47bb7d51490b62ba2fad6c0be42bf0e4e13a2 Mon Sep 17 00:00:00 2001
+From 3cd53598cdb1749d6d5ed03e378276be22fc6e8d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 11 Jan 2019 17:29:10 -0800
-Subject: [PATCH 562/703] soc: bcm: bcm2835-pm: Fix PM_IMAGE_PERI power domain
+Subject: [PATCH 558/725] 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
-From 03ca911deca660a85ff285b53b1431350c77b246 Mon Sep 17 00:00:00 2001
+From b1b13630de7806f63b4e10cd90f91ad4bc3d1247 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Sat, 12 Jan 2019 08:07:43 -0800
-Subject: [PATCH 563/703] soc: bcm: bcm2835-pm: Fix error paths of
+Subject: [PATCH 559/725] soc: bcm: bcm2835-pm: Fix error paths of
initialization.
The clock driver may probe after ours and so we need to pass the
-From 4c3762f3ef917c00708650cdd532dd857ca75f04 Mon Sep 17 00:00:00 2001
+From d3c6eea95890c539b24ae16bd508f3b631985516 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 11 Jan 2019 17:31:07 -0800
-Subject: [PATCH 564/703] soc: bcm: bcm2835-pm: Add support for 2711.
+Subject: [PATCH 560/725] 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
-From 2593714309aa6f7fb3b06ffac7ca195a50543252 Mon Sep 17 00:00:00 2001
+From f4645265e2dffcbc729a510aed85637b5519d8af Mon Sep 17 00:00:00 2001
From: Chunming Zhou <david1.zhou@amd.com>
Date: Thu, 30 Aug 2018 14:48:29 +0800
-Subject: [PATCH 565/703] drm: expand drm_syncobj_find_fence to support
+Subject: [PATCH 561/725] drm: expand drm_syncobj_find_fence to support
timeline point v2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
-From d66b36c8443b24eab7512467095f7395d01f77de Mon Sep 17 00:00:00 2001
+From 29fd99cb6bccda2b084b7a78824294075aafcc27 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 28 Sep 2018 16:21:23 -0700
-Subject: [PATCH 566/703] drm/v3d: Fix a use-after-free race accessing the
+Subject: [PATCH 562/725] 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
-From 50ecde652603895b0b0e22de62be36be47b83ab2 Mon Sep 17 00:00:00 2001
+From d38e39d32a5df364c46416e25a5ee07756f8991e Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 28 Sep 2018 16:21:24 -0700
-Subject: [PATCH 567/703] drm/v3d: Add a little debugfs entry for measuring the
+Subject: [PATCH 563/725] drm/v3d: Add a little debugfs entry for measuring the
core clock.
This adds just enough performance counter support to measure the
-From 1ab9b7689ae0ba9d1f31c5da609004aa8c61a9ed Mon Sep 17 00:00:00 2001
+From fe38ab422b824e2e1f4b010a7b48c820ff302c8d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 8 Nov 2018 08:16:52 -0800
-Subject: [PATCH 568/703] drm/v3d: Update a comment about what uses
+Subject: [PATCH 564/725] drm/v3d: Update a comment about what uses
v3d_job_dependency().
I merged bin and render's paths in a late refactoring.
-From cdc1e8a4116661a965c1021cd153a8a4fa8eee82 Mon Sep 17 00:00:00 2001
+From bf9bb521ac3c5d18ed4a8e8e5004f015c2b2a818 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 8 Nov 2018 08:16:53 -0800
-Subject: [PATCH 569/703] drm/v3d: Clean up the reservation object setup.
+Subject: [PATCH 565/725] 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.
-From 60c65dc612663be7136a19a117cee5d194530600 Mon Sep 17 00:00:00 2001
+From 5d80273397b13617211ac6dd1e0e9759fff0470d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 28 Nov 2018 15:09:25 -0800
-Subject: [PATCH 570/703] drm/v3d: Add support for submitting jobs to the TFU.
+Subject: [PATCH 566/725] 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
-From ee1ef747ef5c088504b541e461d94feadac03bfa Mon Sep 17 00:00:00 2001
+From bf4cf0eca83106426162a548d788b1e2102e72bd Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 28 Nov 2018 15:09:26 -0800
-Subject: [PATCH 571/703] drm/v3d: Drop the "dev" argument to lock/unlock of BO
+Subject: [PATCH 567/725] drm/v3d: Drop the "dev" argument to lock/unlock of BO
reservations.
They were unused, as Dave Emett noticed in TFU review.
-From ffc2056239de0353374d8eb9d3022542e4ec5208 Mon Sep 17 00:00:00 2001
+From 14952ee8c73b05a062d1b7682a5919c5f0833a54 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 30 Nov 2018 16:57:59 -0800
-Subject: [PATCH 572/703] drm/v3d: Add missing fence timeline name for TFU.
+Subject: [PATCH 568/725] drm/v3d: Add missing fence timeline name for TFU.
We shouldn't be returning v3d-render for our new queue.
-From 5d505c19fc3fce8c17711a53287081e61418a776 Mon Sep 17 00:00:00 2001
+From 5a2fcd01c138ce8bca696ca5c785290121cd4f93 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 30 Nov 2018 16:57:58 -0800
-Subject: [PATCH 573/703] drm/v3d: Add more tracepoints for V3D GPU rendering.
+Subject: [PATCH 569/725] 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
-From b9b60a044a52d5de6e9bc6c6703e2ac8cb7cc9c5 Mon Sep 17 00:00:00 2001
+From e8fb9a84012e6c866d1143acf04ca855b05f4241 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 3 Dec 2018 14:24:34 -0800
-Subject: [PATCH 574/703] drm/v3d: Drop unused v3d_flush_caches().
+Subject: [PATCH 570/725] 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.
-From 7b8186de594a27954c909cd8a9ad1ac2cc27a526 Mon Sep 17 00:00:00 2001
+From d11e738a810d653444f24b81f681cd336e4c9f70 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 3 Dec 2018 14:24:35 -0800
-Subject: [PATCH 575/703] drm/v3d: Don't bother flushing L1TD at job start.
+Subject: [PATCH 571/725] 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
-From 6820b2b01d69ac316786570a592cc32efc559a0e Mon Sep 17 00:00:00 2001
+From be7e9e3b29166df5f2e5a06fc94c2aa07c414c4e Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 3 Dec 2018 14:24:36 -0800
-Subject: [PATCH 576/703] drm/v3d: Drop the wait for L2T flush to complete.
+Subject: [PATCH 572/725] 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
-From 861449c481eaa203998a4298d81b2fba6b34f543 Mon Sep 17 00:00:00 2001
+From af6319dd15fd5ec3dac4345136ccfb07eb151c63 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 3 Dec 2018 14:24:37 -0800
-Subject: [PATCH 577/703] drm/v3d: Stop trying to flush L2C on V3D 3.3+
+Subject: [PATCH 573/725] 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.
-From 022131a879deb883f4fbbbd7b5887ae6b2738172 Mon Sep 17 00:00:00 2001
+From 1b56cdcccd969ef80f4bf87ca0ef637ca5afc6cc Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 3 Dec 2018 14:24:38 -0800
-Subject: [PATCH 578/703] drm/v3d: Invalidate the caches from the outside in.
+Subject: [PATCH 574/725] 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.
-From cc4f39930d6d1cf396c3a1f6fa45696582247ee6 Mon Sep 17 00:00:00 2001
+From 8a757f0cafacc0549aa333882060999b4465ac0c Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 7 Feb 2019 15:26:13 -0800
-Subject: [PATCH 579/703] drm/v3d: Fix BO stats accounting for dma-buf-imported
+Subject: [PATCH 575/725] drm/v3d: Fix BO stats accounting for dma-buf-imported
buffers.
We always decrement at GEM free, so make sure we increment at GEM
-From e4759dbb9968baee8a35bf2f165f6096be6aac00 Mon Sep 17 00:00:00 2001
+From e984884708d1777866cd8aba8de60eb9927f1628 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 7 Feb 2019 12:09:58 -0800
-Subject: [PATCH 580/703] drm/v3d: Update top-level kerneldoc for the addition
+Subject: [PATCH 576/725] drm/v3d: Update top-level kerneldoc for the addition
of TFU.
Signed-off-by: Eric Anholt <eric@anholt.net>
-From 88066d8b4bd16fb094b74447684f474dd84092a9 Mon Sep 17 00:00:00 2001
+From 7551fad9f71e9228df091897d61b2d3df7c96ab1 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 4 Mar 2019 11:59:34 -0800
-Subject: [PATCH 581/703] drm/vc4: Fix oops at boot with firmwarekms on 4.19.
+Subject: [PATCH 577/725] drm/vc4: Fix oops at boot with firmwarekms on 4.19.
Signed-off-by: Eric Anholt <eric@anholt.net>
---
-From 00f06424b180f1f6a3f52df718eae07c36fc72e5 Mon Sep 17 00:00:00 2001
+From ef816cd2c04e82d3b923cbb407025609fecd1205 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 20 Feb 2019 13:03:41 -0800
-Subject: [PATCH 582/703] drm/vc4: Disable V3D interactions if the v3d
+Subject: [PATCH 578/725] drm/vc4: Disable V3D interactions if the v3d
component didn't probe.
One might want to use the VC4 display stack without using Mesa.
-From 8169ec547bf6719c89c3ed88f9884bb9dd84479d Mon Sep 17 00:00:00 2001
+From 6c378699bbc94d0f4e13fa5df43c8e2c7b9c1480 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 4 Oct 2018 17:22:43 -0700
-Subject: [PATCH 583/703] drm/v3d: Add support for V3D v4.2.
+Subject: [PATCH 579/725] 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
-From d4b98e9e78d87fe34b89077b9776a66f19d23856 Mon Sep 17 00:00:00 2001
+From 10a571a91a1d34cd89bb45a562aafc625dd6e738 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 16 Oct 2018 10:13:41 -0700
-Subject: [PATCH 584/703] drm/v3d: Don't try to set OVRTMUOUT on V3D 4.x.
+Subject: [PATCH 580/725] 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.
-From 51a1e9604fdd215581d7974a185809b1ac93adac Mon Sep 17 00:00:00 2001
+From cf9082f5c2ae9b9a85329cbb5a0651bcc36205a3 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 14 Jan 2019 17:26:04 -0800
-Subject: [PATCH 585/703] drm/v3d: Make sure the GPU is on when measuring
+Subject: [PATCH 581/725] drm/v3d: Make sure the GPU is on when measuring
clocks.
You'll get garbage measurements if the registers always read back
-From 2990828736d42f8308e9ef4e5ca0e8165c952eea Mon Sep 17 00:00:00 2001
+From c0584debae6e08806a3136b96e4378fe6ed8c908 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 4 Oct 2018 17:22:43 -0700
-Subject: [PATCH 586/703] drm/v3d: Add support for 2711.
+Subject: [PATCH 582/725] drm/v3d: Add support for 2711.
Signed-off-by: Eric Anholt <eric@anholt.net>
---
-From 2e3f1f0991163004ea441307ab52ce4ea3e068d7 Mon Sep 17 00:00:00 2001
+From 7cfea1be1c757c983e632f56dc8f9dde42c9170d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 14 Jan 2019 12:35:43 -0800
-Subject: [PATCH 587/703] drm/v3d: Skip MMU flush if the device is currently
+Subject: [PATCH 583/725] 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
-From ee17d7708bdf44fb3e04045c661b317245d90c1a Mon Sep 17 00:00:00 2001
+From f436620c2c61e76adcd2d4d694ad9f4d87f301e3 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 14 Jan 2019 14:47:57 -0800
-Subject: [PATCH 588/703] drm/v3d: Hook up the runtime PM ops.
+Subject: [PATCH 584/725] 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
-From f5ba2c027e3f21bafcbff13ec513d6a10c8dc585 Mon Sep 17 00:00:00 2001
+From f9ed79254b9bc0063bd65ebc1ef0b5b789e81e17 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 14 Jan 2019 15:13:17 -0800
-Subject: [PATCH 589/703] drm/v3d: HACK: gut runtime pm for now.
+Subject: [PATCH 585/725] 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
-From 97f75af520bb5c124641b0704ebbd171f80d0bfb Mon Sep 17 00:00:00 2001
+From 1e3a40ffdfe1bafc7e0a0dcbeeff92a1f2a6655b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 12 Mar 2019 09:08:10 -0700
-Subject: [PATCH 590/703] drm/v3d: Update to upstream IRQ code.
+Subject: [PATCH 586/725] drm/v3d: Update to upstream IRQ code.
---
drivers/gpu/drm/v3d/v3d_irq.c | 25 +++++++++++++++----------
-From ee870243ebbf7a8a7c5a8c24259a8c37be16b507 Mon Sep 17 00:00:00 2001
+From 17b0b9ba33df31ade992e46501f1b03296b758c7 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 27 Dec 2018 14:04:44 -0800
-Subject: [PATCH 591/703] drm/v3d: Rename the fence signaled from IRQs to
+Subject: [PATCH 587/725] drm/v3d: Rename the fence signaled from IRQs to
"irq_fence".
We have another thing called the "done fence" that tracks when the
-From fe5b0a576fd25f7929e553cd11d98959af808525 Mon Sep 17 00:00:00 2001
+From 83e671a4dbca6b0a1d2fad326f6cb8316d25e9e0 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 27 Dec 2018 12:11:52 -0800
-Subject: [PATCH 592/703] drm/v3d: Refactor job management.
+Subject: [PATCH 588/725] 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
-From 50482167989066e0fb9597fe37146a0ee5bc4067 Mon Sep 17 00:00:00 2001
+From 55757fd208de69d0701ac9d6e368d9647549d74f Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 27 Mar 2019 17:44:40 -0700
-Subject: [PATCH 593/703] drm/v3d: Add missing implicit synchronization.
+Subject: [PATCH 589/725] 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
-From a7b923e660e71a2d2b13a7aac36f11b9dcec9295 Mon Sep 17 00:00:00 2001
+From 4d3b9226dfa79720e200af46474b2e6f3158d40c Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 28 Mar 2019 11:58:51 -0700
-Subject: [PATCH 594/703] drm/vc4: Fix synchronization firmwarekms against GL
+Subject: [PATCH 590/725] drm/vc4: Fix synchronization firmwarekms against GL
rendering.
We would present the framebuffer immediately without waiting for
-From 53fb5e2a9834ead04a432c266831e5fd77f96983 Mon Sep 17 00:00:00 2001
+From 0ce577f34c986e0d3e42aecd3a7a3407d5d52f1b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 29 Mar 2019 12:04:36 -0700
-Subject: [PATCH 595/703] drm/vc4: Make sure that vblank waits work without v3d
+Subject: [PATCH 591/725] 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
-From 3d8b2b7adbec2ea7bf9012300c5e381cb60c270e Mon Sep 17 00:00:00 2001
+From 32964196c5dd171ac78f692faba460ae1229b995 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 18 Mar 2019 16:38:32 -0700
-Subject: [PATCH 596/703] drm/vc4: Expose the format modifiers for firmware
+Subject: [PATCH 592/725] drm/vc4: Expose the format modifiers for firmware
kms.
This should technically not expose VC4_T_TILED on pi4. However, if we
-From 3b341544a3dae555d48ece948c44b3b434543077 Mon Sep 17 00:00:00 2001
+From 347a871c771ab3682febed0cc5011618234c2b9e Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 2 Apr 2019 13:29:00 -0700
-Subject: [PATCH 597/703] drm/vc4: Fix vblank timestamping for firmwarekms.
+Subject: [PATCH 593/725] 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
-From e4aadf5daae0b3f544e5ade7ee27a5e0f83af1b0 Mon Sep 17 00:00:00 2001
+From 55e1b4a94b6ea98ad4c170b79b30e2ed39855535 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 26 Mar 2019 14:43:06 +0000
-Subject: [PATCH 598/703] gpu: vc4-fkms: Switch to the newer mailbox frame
+Subject: [PATCH 594/725] gpu: vc4-fkms: Switch to the newer mailbox frame
buffer API.
The old mailbox FB API was ideally deprecated but still used by
-From 36b8b81762806952c524da6539b76771266d79c5 Mon Sep 17 00:00:00 2001
+From 58da9f30e54c4fe6b3ca17afad492d3c156a1503 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 27 Mar 2019 17:45:01 +0000
-Subject: [PATCH 599/703] drm: vc4: Add an overlay plane to vc4-firmware-kms
+Subject: [PATCH 595/725] 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.
-From 519f7cae9e7120bb3abc13d33ace4f7438d140bc Mon Sep 17 00:00:00 2001
+From fe4fbbfe9e5cba10f41c116441fea1dc30c28291 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 3 Apr 2019 15:20:05 +0100
-Subject: [PATCH 600/703] drm: vc4: Increase max screen size to 4096x4096.
+Subject: [PATCH 596/725] drm: vc4: Increase max screen size to 4096x4096.
We now should support 4k screens, therefore this limit needs to
be increased.
-From f4dee6e8ddab28130160a4dba535dca167e69f13 Mon Sep 17 00:00:00 2001
+From c933118b00cb40f4c9fa8f6470ef9a33ea046c4d Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 3 Apr 2019 17:15:45 +0100
-Subject: [PATCH 601/703] drm: vc4: Add support for multiple displays to fkms
+Subject: [PATCH 597/725] 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
-From 56ac34a516982f51f7a0678f185bcb80f5070a0e Mon Sep 17 00:00:00 2001
+From 407f6a2ad0168c3385d9d015aac2af70532ecd4a Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 5 Apr 2019 17:21:56 +0100
-Subject: [PATCH 602/703] drm: vc4: Fix build warning
+Subject: [PATCH 598/725] drm: vc4: Fix build warning
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
---
-From 2ec4f853916551a57f574b988162b589e3331359 Mon Sep 17 00:00:00 2001
+From afb2fb1c99cefdd0dc95a944bd3506658b31768b Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 5 Apr 2019 17:23:15 +0100
-Subject: [PATCH 603/703] drm: vc4: Select display to blank during
+Subject: [PATCH 599/725] drm: vc4: Select display to blank during
initialisation
Otherwise the rainbow splash screen remained in the display list
-From 8b4aa15c2c83d84b3f8e94412af3a03061c8878d Mon Sep 17 00:00:00 2001
+From d4ab5b715c6d52e7135849924d2de08eccd28106 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 5 Apr 2019 17:24:20 +0100
-Subject: [PATCH 604/703] drm: vc4: Remove now unused structure.
+Subject: [PATCH 600/725] drm: vc4: Remove now unused structure.
Cleaning up structure that was unused after
fbb59a2 drm: vc4: Add an overlay plane to vc4-firmware-kms
-From 9b3747e9bdce9beb84bec50e7ad06af365e50173 Mon Sep 17 00:00:00 2001
+From 65367a8d30161871007aa14e62644f62fc5d102b Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 9 Apr 2019 12:37:28 +0100
-Subject: [PATCH 605/703] drm: vc4: Query the display ID for each display in
+Subject: [PATCH 601/725] drm: vc4: Query the display ID for each display in
FKMS
Replace the hard coded list of display IDs for a mailbox call
-From d00d0711df4da66465ba5086e99c5936ea3b9577 Mon Sep 17 00:00:00 2001
+From 753eb8bb53189b0e9c81454739e02fffdc5ec319 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 9 Apr 2019 14:00:07 +0100
-Subject: [PATCH 606/703] drm/vc4: Set the display number when querying the
+Subject: [PATCH 602/725] drm/vc4: Set the display number when querying the
display resolution
Without this the two displays got set to the same resolution.
-From 7129a308f4716a416f3e0fdd5f565457ed3bde03 Mon Sep 17 00:00:00 2001
+From ed17deed1d56073de5733383e7897837e6f1e975 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 9 Apr 2019 18:14:44 +0100
-Subject: [PATCH 607/703] drm: vc4: Need to call drm_crtc_vblank_[on|off] from
+Subject: [PATCH 603/725] drm: vc4: Need to call drm_crtc_vblank_[on|off] from
vc4_crtc_[en|dis]able
vblank needs to be enabled and disabled by the driver to avoid the
-From 9887c3c6ada2620592687b520e778980bc32c256 Mon Sep 17 00:00:00 2001
+From 566c87d4ab55a10a4a4c929e1ad00ddca2294af2 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 9 Apr 2019 17:19:51 +0100
-Subject: [PATCH 608/703] drm: vc4: Add support for H & V flips on each plane
+Subject: [PATCH 604/725] drm: vc4: Add support for H & V flips on each plane
for FKMS
They are near zero cost options for the HVS, therefore they
-From 335909eb24aba8b42738895ae2fe7d24c67ec466 Mon Sep 17 00:00:00 2001
+From e413b9a87e5b559fd66ff867333d64dedf95fe4c Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 10 Apr 2019 17:35:05 +0100
-Subject: [PATCH 609/703] drm: vc4: Remove unused vc4_fkms_cancel_page_flip
+Subject: [PATCH 605/725] drm: vc4: Remove unused vc4_fkms_cancel_page_flip
function
"32a3dbe drm/vc4: Nuke preclose hook" removed vc4_cancel_page_flip,
-From 1aadf149d0be5b0cab5425845a21cbfd35618119 Mon Sep 17 00:00:00 2001
+From 6196e905883945a65a8316d9d08725c6b64ec211 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 10 Apr 2019 17:42:37 +0100
-Subject: [PATCH 610/703] drm: vc4: Iterate over all planes in
+Subject: [PATCH 606/725] drm: vc4: Iterate over all planes in
vc4_crtc_[dis|en]able
Fixes a FIXME where the overlay plane wouldn't be restored.
-From 6b36249bd9c3399d4b8552c7557406586dc31521 Mon Sep 17 00:00:00 2001
+From fc819de185dd2a0c7ff1846ee3ec64668f9163cc Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 10 Apr 2019 17:43:57 +0100
-Subject: [PATCH 611/703] drm: vc4: Bring fkms into line with kms in blocking
+Subject: [PATCH 607/725] drm: vc4: Bring fkms into line with kms in blocking
doublescan modes
Implement vc4_crtc_mode_valid so that it blocks doublescan modes
-From 64a1a6d813cea64ee9dafca163e62542dce04399 Mon Sep 17 00:00:00 2001
+From f47b844c77068b837566f74e8872972ef880f834 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 29 Apr 2019 18:45:00 +0100
-Subject: [PATCH 612/703] drm: vc4: Increase max_width/height to 7680.
+Subject: [PATCH 608/725] 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
-From 9dccdfcd48e7adb46af440cec26df2d8146afefb Mon Sep 17 00:00:00 2001
+From bd09766537994059c1d4a20762a6552dc0a62dae Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 9 Apr 2019 18:23:41 +0100
-Subject: [PATCH 613/703] drm: vc4: FKMS reads the EDID from fw, and supports
+Subject: [PATCH 609/725] drm: vc4: FKMS reads the EDID from fw, and supports
mode setting
This extends FKMS to read the EDID from the display, and support
-From ace78bef08082eb8971b87b28525926cd86b68c1 Mon Sep 17 00:00:00 2001
+From acf164cd389fb272e51d90a381927e9bca67a113 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 2 May 2019 15:11:05 -0700
-Subject: [PATCH 614/703] clk: bcm2835: Add support for setting leaf clock
+Subject: [PATCH 610/725] 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
-From bfdd7752d7503203300ce8359103b11b961611cf Mon Sep 17 00:00:00 2001
+From 356d46e6eb84700f12fa2d0a56c5c60dddbed67a Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 2 May 2019 15:24:04 -0700
-Subject: [PATCH 615/703] clk: bcm2835: Allow reparenting leaf clocks while
+Subject: [PATCH 611/725] clk: bcm2835: Allow reparenting leaf clocks while
they're running.
This falls under the same "we can reprogram glitch-free as long as we
-From d607c1cfefb38ae7a75ac057afff275e89cff691 Mon Sep 17 00:00:00 2001
+From c1d46fee0b1f4711ffa9b6517a460cf5411aa0fc Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 16 Apr 2019 15:58:54 -0700
-Subject: [PATCH 616/703] drm/v3d: Add support for compute shader dispatch.
+Subject: [PATCH 612/725] 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,
-From 167429373da6ab4f3f498013277eb5545d6f0c64 Mon Sep 17 00:00:00 2001
+From 78981e59b011aa5d21ccedf124c0af9b445d279f Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 2 May 2019 13:22:53 -0700
-Subject: [PATCH 617/703] drm/v3d: Clock V3D down when not in use.
+Subject: [PATCH 613/725] 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.
-From 00f31bede51da02552b235fc93d35f357f13378a Mon Sep 17 00:00:00 2001
+From ea2e0086511bc2e61c58b7f298bcb558f1fc48b4 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <wahrenst@gmx.net>
Date: Thu, 2 May 2019 23:42:29 +0200
-Subject: [PATCH 618/703] HACK: clk-bcm2835: Add BCM2838_CLOCK_EMMC2 support
+Subject: [PATCH 614/725] 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.
-From 7e50ab877c14dff56f0836d6b79d9f6964b5e8b1 Mon Sep 17 00:00:00 2001
+From 670f61146f51a0fcfc75c9c5920922f94c662f59 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 3 May 2019 13:58:03 +0100
-Subject: [PATCH 619/703] drm: vc4-firmware-kms: Remove incorrect overscan
+Subject: [PATCH 615/725] drm: vc4-firmware-kms: Remove incorrect overscan
support.
The overscan support was required for the old mailbox API
-From 5ab2c06953f0ef6da029ced94ca7468057e7ecb3 Mon Sep 17 00:00:00 2001
+From 8a35a7bb6b1a0182adf1e92d138b7d88f93abbb6 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 7 May 2019 12:13:34 +0100
-Subject: [PATCH 620/703] drm: vc4: Log flags in fkms mode set
+Subject: [PATCH 616/725] 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.
-From 5812f56a56140b70c110c22824d196c6abb866be Mon Sep 17 00:00:00 2001
+From aee8bec6a1a39eb97dd5af86b4126d5e1ced2ac6 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 16 May 2019 17:49:42 +0100
-Subject: [PATCH 621/703] drm: vc4-firmware-kms: Fix DSI display support
+Subject: [PATCH 617/725] drm: vc4-firmware-kms: Fix DSI display support
The mode was incorrectly listed as interlaced, which was then
rejected.
-From d5db7a4a6af4b3281ac2ef1023de68e4f6250516 Mon Sep 17 00:00:00 2001
+From f77057c81999f0cf6da1c4eab08ce57189279a14 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 21 May 2019 11:50:00 +0100
-Subject: [PATCH 622/703] drm: vc4: Probe DPI/DSI timings from the firmware
+Subject: [PATCH 618/725] 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.
-From 124d768ec6f79f42bdcde24801e2315c4d2d7632 Mon Sep 17 00:00:00 2001
+From 234c55d9e6bb7fa68466a599bd1665bcd89a99d2 Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Tue, 28 May 2019 13:56:06 +0100
-Subject: [PATCH 623/703] drm: vc4: handle the case where there are no
+Subject: [PATCH 619/725] drm: vc4: handle the case where there are no
available displays
It's reasonable for the firmware to return zero as the number of
-From 1627c1be944a27b3b2f06d8d2b9dacf917c0ff67 Mon Sep 17 00:00:00 2001
+From e2e439eb235a75c4719d52b5c7c60ed782727010 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 24 May 2019 17:59:01 +0100
-Subject: [PATCH 624/703] drm/vc4: Support the VEC in FKMS
+Subject: [PATCH 620/725] drm/vc4: Support the VEC in FKMS
Extends the DPI/DSI support to also report the VEC output
which supports interlacing too.
-From 8fa80c9aeab3fac843be81d1dda0e87042367d34 Mon Sep 17 00:00:00 2001
+From 6019920db110cd6c181d7843794a71b8736c2697 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 7 May 2019 15:00:02 +0100
-Subject: [PATCH 625/703] drm: vc4: Fixup typo when setting HDMI aspect ratio
+Subject: [PATCH 621/725] drm: vc4: Fixup typo when setting HDMI aspect ratio
Assignment was to the wrong structure.
-From b974397afb8ba0a0e11146886686163dfd4a3664 Mon Sep 17 00:00:00 2001
+From a8ff82f4ae5871be6632d231692d5149976c0eeb Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 29 May 2019 15:44:11 +0100
-Subject: [PATCH 626/703] drm/vc4: Correct SAND support for FKMS.
+Subject: [PATCH 622/725] 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
-From 4a720b86a1ef014dcaa6e55deec883312ca3afce Mon Sep 17 00:00:00 2001
+From a1a297d0fd4b5ec427be523ed73afc5762f83595 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 30 May 2019 13:56:15 +0100
-Subject: [PATCH 627/703] drm/vc4: fkms to query the VPU for HDMI clock limits
+Subject: [PATCH 623/725] 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.
-From 78bd1c0169850a388fd7a45af6dd566613403a8e Mon Sep 17 00:00:00 2001
+From aad4f4253c65b20796a1b472d1599149062f169c Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 30 May 2019 15:55:15 +0100
-Subject: [PATCH 628/703] drm/vc4: Max resolution of 7680 is conditional on
+Subject: [PATCH 624/725] drm/vc4: Max resolution of 7680 is conditional on
being Pi4
The max resolution had been increased from 2048 to 7680 for all
-From a493861ab01161aedb611793c87456dc1394bec6 Mon Sep 17 00:00:00 2001
+From aca9059632595f34dcd03b17f2396bbd47b1406b Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 10 Dec 2018 17:35:58 +0000
-Subject: [PATCH 629/703] staging: vc-sm-cma: Remove obsolete comment and make
+Subject: [PATCH 625/725] staging: vc-sm-cma: Remove obsolete comment and make
function static
Removes obsolete comment about wanting to pass a function
-From 904c0d6a47b181b134a3626bfd93b456ec6b411d Mon Sep 17 00:00:00 2001
+From ff6f3a7725d91cc9a793923e569b6ea08675d037 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 21 Dec 2018 16:50:53 +0000
-Subject: [PATCH 630/703] staging: vc-sm-cma: Add in allocation for VPU
+Subject: [PATCH 626/725] staging: vc-sm-cma: Add in allocation for VPU
requests.
Module has to change from tristate to bool as all CMA functions
-From 2de0580b775aa8ff923d70ca84e8688b28dd2ced Mon Sep 17 00:00:00 2001
+From 010e6c5fe89059edff82fdbc05726e26e6a0b2b0 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 11 Mar 2019 16:38:32 +0000
-Subject: [PATCH 631/703] staging: vc-sm-cma: Update TODO.
+Subject: [PATCH 627/725] staging: vc-sm-cma: Update TODO.
The driver is already a platform driver, so that can be
deleted from the TODO.
-From 2cd18cda345cadbc702520602cbf41dee0774cc0 Mon Sep 17 00:00:00 2001
+From 0f56a2c03c3255d27bd8ee1c5cb32cc132b8c523 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 11 Mar 2019 16:35:23 +0000
-Subject: [PATCH 632/703] staging: vc-sm-cma: Add in userspace allocation API
+Subject: [PATCH 628/725] 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,
-From 8859e85097f9e1bbc86b8818e24abc3c36c45b15 Mon Sep 17 00:00:00 2001
+From 495a11dc216b24bfde79e61b2335be6da6c86945 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 20 Mar 2019 10:40:00 +0000
-Subject: [PATCH 633/703] staging: vcsm-cma: Add cache control ioctls
+Subject: [PATCH 629/725] staging: vcsm-cma: Add cache control ioctls
The old driver allowed for direct cache manipulation and that
was used by various clients. Replicate here.
-From efb4b8384a21a1542bc4c26063752180dda79c0b Mon Sep 17 00:00:00 2001
+From d21247010c8e885916908e641481d1d915d8a690 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 13 May 2019 16:47:54 +0100
-Subject: [PATCH 634/703] staging: vcsm-cma: Alter dev node permissions to 0666
+Subject: [PATCH 630/725] staging: vcsm-cma: Alter dev node permissions to 0666
Until the udev rules are updated, open up access to this node by
default.
-From 800cd6716ba60faf5f1782935c12b12943237de4 Mon Sep 17 00:00:00 2001
+From e31bdb189cc74c8bcba855bd617f9a663d794fe4 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 16 May 2019 15:17:19 +0100
-Subject: [PATCH 635/703] staging: vcsm-cma: Drop logging level on messages in
+Subject: [PATCH 631/725] staging: vcsm-cma: Drop logging level on messages in
vc_sm_release_resource
They weren't errors but were logged as such.
-From bc7d2e33c324c77c13ecc7699342a72f52cf0789 Mon Sep 17 00:00:00 2001
+From 69e50a6fc060432f4d7802d116a4086e3a0df600 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 22 May 2019 15:40:37 +0100
-Subject: [PATCH 636/703] staging: vcsm-cma: Fixup the alloc code handling of
+Subject: [PATCH 632/725] staging: vcsm-cma: Fixup the alloc code handling of
kernel_id
The allocation code had been copied in from an old branch prior
-From 03f6bc683489b9652491d981b83448863230068c Mon Sep 17 00:00:00 2001
+From bc982ce2b2d37e03cb023a66b932301bcb6b3e78 Mon Sep 17 00:00:00 2001
From: James Hughes <james.hughes@raspberrypi.org>
Date: Thu, 14 Mar 2019 13:27:54 +0000
-Subject: [PATCH 637/703] Pulled in the multi frame buffer support from the Pi3
+Subject: [PATCH 633/725] Pulled in the multi frame buffer support from the Pi3
repo
---
-From ba24f07c814a4d0527fa5821834cded70ac705be Mon Sep 17 00:00:00 2001
+From 655d142ec4bcf46f10c4e09099f9a9846e078454 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <wahrenst@gmx.net>
Date: Sun, 19 May 2019 12:26:21 +0200
-Subject: [PATCH 638/703] ARM: dts: bcm283x: Move BCM2835/6/7 specific to
+Subject: [PATCH 634/725] 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
-From 4671029bae38c2057890e60ac26263f982775152 Mon Sep 17 00:00:00 2001
+From 8e0de1503575a5cb6810089b8fe40ad2309ac717 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 29 May 2019 13:54:21 +0100
-Subject: [PATCH 639/703] ARM: dts: Add bcm2711-rpi-4-b.dts and components
+Subject: [PATCH 635/725] ARM: dts: Add bcm2711-rpi-4-b.dts and components
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 3f7bbc703820266e75c079e5553289d969fe0ed7 Mon Sep 17 00:00:00 2001
+From 9bb7aa6a108469e331bc46513c317f088b720880 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 30 May 2019 16:44:24 +0100
-Subject: [PATCH 640/703] overlays: Add i2c3-6 and uart2-5 overlays
+Subject: [PATCH 636/725] overlays: Add i2c3-6 and uart2-5 overlays
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 075cb9a202526c4d4e712fda5db598c28ae74e4a Mon Sep 17 00:00:00 2001
+From 2965d0b1d0b91c199d7468aa89874a9b462fd924 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Sun, 12 May 2019 16:17:08 +0000
-Subject: [PATCH 641/703] spi: devicetree: add overlays for spi 3 to 6
+Subject: [PATCH 637/725] spi: devicetree: add overlays for spi 3 to 6
Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
---
-From 14cd6256f49abbf230edc0c7a963f5e780255e98 Mon Sep 17 00:00:00 2001
+From 8ebd5065611e9ffc833d7da8018c787a533b1231 Mon Sep 17 00:00:00 2001
From: Tim Gover <tim.gover@raspberrypi.org>
Date: Tue, 22 Jan 2019 10:49:41 +0000
-Subject: [PATCH 642/703] overlays: Add the spi-gpio40-45 overlay
+Subject: [PATCH 638/725] 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
-From fde90a0d1ca0b9a7dc0a7beec2ef60ec71b5cc7d Mon Sep 17 00:00:00 2001
+From 313e17bef58a02b4cb37f8be66b4f66267d46205 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 4 Sep 2018 11:50:25 +0100
-Subject: [PATCH 643/703] config: Permit LPAE and PCIE_BRCMSTB on BCM2835
+Subject: [PATCH 639/725] config: Permit LPAE and PCIE_BRCMSTB on BCM2835
---
arch/arm/mach-bcm/Kconfig | 4 ++++
-From 5ae8b0086763f26a25da24133eca8ecd3e5ef5a5 Mon Sep 17 00:00:00 2001
+From 2caac63444825448e0b588af6adae8d80365bbed Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 29 May 2019 15:40:21 +0100
-Subject: [PATCH 644/703] configs: Add bcm2711_defconfig
+Subject: [PATCH 640/725] configs: Add bcm2711_defconfig
---
arch/arm/configs/bcm2711_defconfig | 1330 ++++++++++++++++++++++++++++
-From 45c6bd73ebe19c29ccdd6f56b52b0f03c9aed562 Mon Sep 17 00:00:00 2001
+From 3b0307fedd80a85daae89d0346c165d3b3ce6687 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 8 Mar 2019 21:12:39 +0000
-Subject: [PATCH 645/703] 2711: Add basic 64-bit support
+Subject: [PATCH 641/725] 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
-From d5a3a06dce60efe829fd644448bbab8c10368f8a Mon Sep 17 00:00:00 2001
+From ab6bac248c5cd5950b5658be31e7484b1eac9333 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 3 Jun 2019 14:57:56 +0100
-Subject: [PATCH 646/703] config: Add NF_TABLES support
+Subject: [PATCH 642/725] config: Add NF_TABLES support
---
arch/arm/configs/bcm2711_defconfig | 48 ++++++++++++++++++++++++++++++
-From ad2c4e0c73a9de7f06e891faf57ebf868fde6b24 Mon Sep 17 00:00:00 2001
+From 7c68e81f33c801e539baece66f4d4b7e2c129557 Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Mon, 3 Jun 2019 15:33:02 +0100
-Subject: [PATCH 647/703] bcm2711_defconfig: add xhci platform support
+Subject: [PATCH 643/725] bcm2711_defconfig: add xhci platform support
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
---
-From 99c805aa346cf88fba8b26eb1093192bcc822986 Mon Sep 17 00:00:00 2001
+From 267eeb807da04f60d94b8355858926e8aad65a38 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 648/703] ARM: dts: bcm283x: Correct vchiq compatible string
+Subject: [PATCH 644/725] ARM: dts: bcm283x: Correct vchiq compatible string
(#2840)
commit 499770ede3f829e80539f46b59b5f460dc327aa6 upstream.
-From 4ef78a596dcde685022fde07c4cb5bc993ce7aa3 Mon Sep 17 00:00:00 2001
+From 9cef5f2288b06b4c3caa157e33345c2938c57a15 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 6 Feb 2019 20:45:16 +0000
-Subject: [PATCH 649/703] arm: dts: Change downstream vchiq compatible string
+Subject: [PATCH 645/725] 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
-From 511ed7aad02f375c8a5cc3c847e6b5fc4bf4a620 Mon Sep 17 00:00:00 2001
+From 41cb4ad3f7327869dabc733cceb3a9273eda346d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 4 Apr 2019 13:33:47 +0100
-Subject: [PATCH 650/703] bcm2835-dma: Add proper 40-bit DMA support
+Subject: [PATCH 646/725] 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
-From 9f8ebf6f517f48041ccb16b80493537eb8522738 Mon Sep 17 00:00:00 2001
+From 38e3b7d8f4443fd366afc4d20bbd36aa350e68a1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 5 Jun 2019 21:32:03 +0100
-Subject: [PATCH 651/703] BCM270X_DT: Leave bulk channel in dma channel mask
+Subject: [PATCH 647/725] 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
-From b7780ddb8e7f651f247dfccba05bdc75727abc3c Mon Sep 17 00:00:00 2001
+From 2abf4cf9870fcd57e614cb39b95e6e2a4462a828 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 6 Jun 2019 09:35:08 +0100
-Subject: [PATCH 652/703] SQUASH: bcm2835-dma: Remove debugging
+Subject: [PATCH 648/725] SQUASH: bcm2835-dma: Remove debugging
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 72ea8706ae509fb2d85c3eac6190e3fb43a6dc0f Mon Sep 17 00:00:00 2001
+From 1f08e6a6f4210e44d77b40f45ec6cea9e364abe1 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 6 Jun 2019 15:22:29 +0100
-Subject: [PATCH 653/703] defconfig: Update bcm2711 to match bcm2709 on extra
+Subject: [PATCH 649/725] defconfig: Update bcm2711 to match bcm2709 on extra
modules
Lots of things like USB DVB tuners were missing from the
-From e38baaa7198fc28f746a6b72c5cb125920d5145b Mon Sep 17 00:00:00 2001
+From 8d2aeaf1d4eecfd8b11c2ba5dcf33d228dd76a6a Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 31 May 2019 17:57:26 +0100
-Subject: [PATCH 654/703] dts: Include CSI lane config for csi1
+Subject: [PATCH 650/725] 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.
-From 07455c93159c15c8838f53716210713376db7065 Mon Sep 17 00:00:00 2001
+From cc761034521f5c47193a8c2f6ac48a7961f85761 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 7 Jun 2019 11:31:21 +0100
-Subject: [PATCH 655/703] drm/vc4: Fix T-format modifiers in FKMS.
+Subject: [PATCH 651/725] drm/vc4: Fix T-format modifiers in FKMS.
The wrong vc_image formats were being checked for in the switch
statement. Correct these.
-From db56c3edb3b30f3884537bca47019e7a715a4333 Mon Sep 17 00:00:00 2001
+From d2b90294279c1479a650f85256275624908033bf Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 7 Jun 2019 11:35:01 +0100
-Subject: [PATCH 656/703] defconfigs: Add FB_SIMPLE to both bcmrpi and bcm2709
+Subject: [PATCH 652/725] defconfigs: Add FB_SIMPLE to both bcmrpi and bcm2709
configs
The firmware sets up simple fb should one of the KMS drivers
-From cacc213626d0435a7c9dd1192e0757c082ed048b Mon Sep 17 00:00:00 2001
+From bf7cf5876d809d13cbab812b10c7549edbd20990 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 10 Jun 2019 17:22:44 +0100
-Subject: [PATCH 657/703] bcm2711 dts: Disable the v3d node by default
+Subject: [PATCH 653/725] bcm2711 dts: Disable the v3d node by default
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From e63e050360bfe8d06552ed5fb0f037d8f18b61bc Mon Sep 17 00:00:00 2001
+From 33a9109c32beaf418bd72165d598db1c792051f5 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 10 Jun 2019 16:32:51 +0100
-Subject: [PATCH 658/703] drm/vc4: Remove 340MHz clock limit from FKMS now
+Subject: [PATCH 654/725] drm/vc4: Remove 340MHz clock limit from FKMS now
scrambling issues resolved
Firmware TMDS scrambling is now being correctly configured, so
-From e019f0ccbfab3caccd5c5a8434c48e0a3b8e12cc Mon Sep 17 00:00:00 2001
+From 255fb8869fe765f8ee9dbdad61ddfab333ff45ae Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 7 Jun 2019 14:50:12 +0100
-Subject: [PATCH 659/703] Revert "usb: xhci: hack xhci_urb_enqueue to support
+Subject: [PATCH 655/725] Revert "usb: xhci: hack xhci_urb_enqueue to support
hid.mousepoll behaviour"
This reverts commit 1cf1071a79f320bc4497a3ade77431f04442eb17.
-From 8a6b7be03aaf91419a6dbc91dba10cf6e7f6eb73 Mon Sep 17 00:00:00 2001
+From fbb878b2370c655ea989191167b338fff636687a Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Tue, 11 Jun 2019 10:55:00 +0100
-Subject: [PATCH 660/703] usb: add plumbing for updating interrupt endpoint
+Subject: [PATCH 656/725] usb: add plumbing for updating interrupt endpoint
interval state
xHCI caches device and endpoint data after the interface is configured,
-From ef57358754e9ab16429739d0ea1e479967ad4a40 Mon Sep 17 00:00:00 2001
+From 3328d995046331f734b44a5f03471efd8682c8dd Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Tue, 11 Jun 2019 11:33:39 +0100
-Subject: [PATCH 661/703] xhci: implement xhci_fixup_endpoint for interval
+Subject: [PATCH 657/725] xhci: implement xhci_fixup_endpoint for interval
adjustments
Must be called in a non-atomic context, after the endpoint
-From df99e61b9b0ce2018cb796f1b7b3298fd583c196 Mon Sep 17 00:00:00 2001
+From bc52b79141e51a6cbd1b5def5c300dee3c6d0b84 Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.org>
Date: Tue, 11 Jun 2019 11:42:03 +0100
-Subject: [PATCH 662/703] usbhid: call usb_fixup_endpoint after mangling
+Subject: [PATCH 658/725] usbhid: call usb_fixup_endpoint after mangling
intervals
Lets the mousepoll override mechanism work with xhci.
-From 6d90716cd7eac0219310ec8ba8a07e585db05932 Mon Sep 17 00:00:00 2001
+From 779fbe67ca1737d5450d393a6e893dcda8111786 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 4 Jun 2019 12:14:30 +0100
-Subject: [PATCH 663/703] drm: vc4: Add status of which display is updated
+Subject: [PATCH 659/725] drm: vc4: Add status of which display is updated
through vblank
Previously multiple displays were slaved off the same SMI
-From da7972664ce5c26a876d092d8161901985f9fa8f Mon Sep 17 00:00:00 2001
+From 06467a053320efedf24a7facbd58873b22106992 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 12 Jun 2019 17:13:21 +0100
-Subject: [PATCH 664/703] drm/vc4: In FKMS look at the modifiers correctly for
+Subject: [PATCH 660/725] drm/vc4: In FKMS look at the modifiers correctly for
SAND
Incorrect masking was used in the switch for the modifier,
-From 119a795378e218aef556999cdeb7ebb44e5fa106 Mon Sep 17 00:00:00 2001
+From 497f21437f6203798657467ffbc5d9e1f80c8cbb Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 17 Jun 2019 10:06:55 +0100
-Subject: [PATCH 665/703] arm: dts: Fix Pi4 PWR LED configuration
+Subject: [PATCH 661/725] arm: dts: Fix Pi4 PWR LED configuration
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From 8514b037813eddea0ecc044978a36fe815a29b01 Mon Sep 17 00:00:00 2001
+From 734c5130809cf1df460c80ef1c3805d4d56d89cb Mon Sep 17 00:00:00 2001
From: dp111 <dominic.plunkett@gmail.com>
Date: Sat, 15 Jun 2019 18:19:50 +0100
-Subject: [PATCH 666/703] bcm2838.dtsi : Correct gic400 memory address ranges
+Subject: [PATCH 662/725] 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
---
-From 9d6d168d99226d7f31cb1ba56ada37913ebd690a Mon Sep 17 00:00:00 2001
+From 2d7cb00a7971c8384aacd0455a6d5e50abedb1e9 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 18 Jun 2019 12:15:50 +0100
-Subject: [PATCH 667/703] staging: vchiq: Use the old dma controller for OF
+Subject: [PATCH 663/725] 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
-From 912084a11b3b27c771dddfaf670fdf35433c969f Mon Sep 17 00:00:00 2001
+From 9fef544e7d4981b5611b857609e18a20dea246e8 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 18 Jun 2019 21:37:45 +0100
-Subject: [PATCH 668/703] drm/vc4: Limit fkms to modes <= 85Hz
+Subject: [PATCH 664/725] drm/vc4: Limit fkms to modes <= 85Hz
Selecting 1080p100 and 120 has very limited gain, but don't want
to block VGA85 and similar.
-From 7142fbe9edf1c608d788569cb399aa075f2ee837 Mon Sep 17 00:00:00 2001
+From 9c89497bb48601b3b1cbf8b868840da3091cc00f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 11 Jun 2019 17:38:28 +0100
-Subject: [PATCH 669/703] arm: bcm2835: Add bcm2838 compatible string.
+Subject: [PATCH 665/725] arm: bcm2835: Add bcm2838 compatible string.
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
-From c0cff263c6927ed494f81fcde6bf6fe00e33271b Mon Sep 17 00:00:00 2001
+From 22742682cf7b7840f50006022350b40b9b095902 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 4 Jun 2019 16:22:22 +0100
-Subject: [PATCH 670/703] arm: dts: Improve the bcm27xx inclusion hierarchy
+Subject: [PATCH 666/725] 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
-From 575145094f904ca3c50e07f69a4ffaea902eadd7 Mon Sep 17 00:00:00 2001
+From 3183783f2a7db515671c6c612988627f946b4a36 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 11 Jun 2019 18:08:05 +0100
-Subject: [PATCH 671/703] arm: dts: First draft of upstream Pi4 DTS
+Subject: [PATCH 667/725] 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.
-From c39c0e9e9c90dc39b5190d3673b88af7cb126e75 Mon Sep 17 00:00:00 2001
+From 6c53b393a82affcdb32ca7a81871130db5ec149b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 17 Jun 2019 14:36:12 +0100
-Subject: [PATCH 672/703] overlays: Fix compatible string for ds1307 RTC
+Subject: [PATCH 668/725] 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
-From c29c9843fd16b4df1dc21ff7e1243f680f41e2a9 Mon Sep 17 00:00:00 2001
+From a0a581e7019049be7f62f9251bdbe4f9e09485a0 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 18 Jun 2019 11:16:13 +0100
-Subject: [PATCH 673/703] overlays: Fix further maxim,ds1307 references
+Subject: [PATCH 669/725] overlays: Fix further maxim,ds1307 references
See: https://github.com/raspberrypi/linux/issues/3013
-From 7ab24b7d5ceb098af03e95c0cd261fa89d077cd3 Mon Sep 17 00:00:00 2001
+From 0794b3c523e484608cfd87db2ce8ee7cd30e5e43 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 18 Jun 2019 11:19:59 +0100
-Subject: [PATCH 674/703] overlays: Cosmetic change to upstream overlay
+Subject: [PATCH 670/725] 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.
-From 5b1cc85a28180a73cbe56be7913ae03ea9a42d2f Mon Sep 17 00:00:00 2001
+From 0d91e3b824bb24692b50bf7f31f07adb8f2370c6 Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Sat, 25 May 2019 10:45:38 +0200
-Subject: [PATCH 675/703] w1: ds2805: rename w1_family struct, fixing c-p typo
+Subject: [PATCH 671/725] w1: ds2805: rename w1_family struct, fixing c-p typo
commit 0e3743d870711ae4daf1e7170c8d9381564e244d upstream.
-From b6d4c7b839620c8d955b1887ed71c3911df90684 Mon Sep 17 00:00:00 2001
+From 8cebfa181f4bead15fb2dd73756a4d139339c83b Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Mon, 20 May 2019 09:05:55 +0200
-Subject: [PATCH 676/703] w1: ds2413: output_write() cosmetic fixes / simplify
+Subject: [PATCH 672/725] w1: ds2413: output_write() cosmetic fixes / simplify
commit ae2ee27aa985232f66421d7cd1c7f4b87c7dba7d upstream.
-From f88a22ce466ccac98bf4aa1c38d36b0e0bb52adb Mon Sep 17 00:00:00 2001
+From 37dfb88eed2cb32e7c2a704d0d4b590c68175ae1 Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Mon, 20 May 2019 09:05:56 +0200
-Subject: [PATCH 677/703] w1: ds2413: add retry support to state_read()
+Subject: [PATCH 673/725] w1: ds2413: add retry support to state_read()
commit c50d09a86172073f55ebac0b92ad5a75907d64e7 upstream.
-From 1808665b2b2e06d6f14762eb0ab82d65e3af3e2b Mon Sep 17 00:00:00 2001
+From 4dba5d66cc91bf70b6bafd1a14b7db411d588745 Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Wed, 22 May 2019 12:40:53 +0200
-Subject: [PATCH 678/703] w1: ds2413: when the slave is not responding during
+Subject: [PATCH 674/725] w1: ds2413: when the slave is not responding during
read, select it again
commit 3856032a0628e6b94badb9131a706dda185e071d upstream.
-From 7a5972e019d1f4cef5ea50b9077b43f097b23084 Mon Sep 17 00:00:00 2001
+From 8604b2fb9843248b9bc792c52393cb05b7a29836 Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Thu, 30 May 2019 09:51:25 +0200
-Subject: [PATCH 679/703] w1: ds2413: fix state byte comparision
+Subject: [PATCH 675/725] w1: ds2413: fix state byte comparision
commit aacd152ecd7b18af5d2d96dea9e7284c1c93abea upstream.
-From 47ac9aac7067b0415ed2ffe7251a5bfc05114b41 Mon Sep 17 00:00:00 2001
+From bf56ee503a31864237c40aac90fe338bbca6d5a0 Mon Sep 17 00:00:00 2001
From: Chris Miller <chris@mesl2.co.uk>
Date: Wed, 26 Jun 2019 10:40:30 +0100
-Subject: [PATCH 680/703] drm: vc4_dsi: Fix DMA channel and memory leak in vc4
+Subject: [PATCH 676/725] drm: vc4_dsi: Fix DMA channel and memory leak in vc4
(#3012)
Signed-off-by: Chris G Miller <chris@creative-electronics.net>
-From d14f0987d0a03c122f6a713df8969109a6213333 Mon Sep 17 00:00:00 2001
+From 8f0ceec888aaa21d703dc9b16bca77d57104b7cf Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 19 Jun 2019 03:55:50 +0100
-Subject: [PATCH 681/703] video/bcm2708_fb: Revert cma allocation attempt
+Subject: [PATCH 677/725] 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
-From 5edffe06ee9b72d3fb56853d0652dd9cdc02e44d Mon Sep 17 00:00:00 2001
+From a79005b13c374c78f6d96f5ab2cd12377357d82f Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 24 Jun 2019 02:29:40 +0100
-Subject: [PATCH 682/703] drm/vc4: Add support for color encoding on YUV planes
+Subject: [PATCH 678/725] drm/vc4: Add support for color encoding on YUV planes
Adds signalling for BT601/709/2020, and limited/full range
(on BT601).
-From 3467b4cfdf72b5b6f4c5a493be9c3d632aa72211 Mon Sep 17 00:00:00 2001
+From 4798e87ece1dbf90c42f4def09401ee4c051e003 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 28 Jun 2019 16:05:25 +0100
-Subject: [PATCH 683/703] configs: Drop V4L2 camera and codec drivers from
+Subject: [PATCH 679/725] configs: Drop V4L2 camera and codec drivers from
bcmrpi3_defconfig
They rely on mmal_vchiq, which in turn wants vc-sm-cma.
-From 548a9808b61de74ad57e904d4952bfbfaabf89a7 Mon Sep 17 00:00:00 2001
+From 6dadf48ceed847ed814d9fa3ab3cf902c4ce6e25 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 28 Jun 2019 22:44:09 +0100
-Subject: [PATCH 684/703] configs: arm64/bcm2711: Remove CONFIG_VIDEO_BCM2835
+Subject: [PATCH 680/725] configs: arm64/bcm2711: Remove CONFIG_VIDEO_BCM2835
Undefine CONFIG_VIDEO_BCM2835 until it builds for arm64.
-From bce3d83c8d1b9e2cab6001f079287ca79912a2fa Mon Sep 17 00:00:00 2001
+From 626e81656bc5a27656180d8faf6173e9bcd7e512 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 2 Jul 2019 17:13:05 +0100
-Subject: [PATCH 685/703] arm: dts: Add coherent_pool=1M to Pi 4 bootargs
+Subject: [PATCH 681/725] 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
-From 31ddd6caf3ac6c77b6b2e30acc2551c8597a969b Mon Sep 17 00:00:00 2001
+From d7e89477b16559fc407ad5cc001244346aa8f733 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 2 Jul 2019 21:25:59 +0100
-Subject: [PATCH 686/703] configs: Enable USB_CONFIGFS=m in bcmrpi_defconfig
+Subject: [PATCH 682/725] configs: Enable USB_CONFIGFS=m in bcmrpi_defconfig
See: https://github.com/raspberrypi/linux/issues/3042
-From 04958bf394a778098ead8eedb27c51c44f58ef21 Mon Sep 17 00:00:00 2001
+From 8320deccc7df04c3a094f4c8361b3afc0f85215c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 2 Jul 2019 21:43:13 +0100
-Subject: [PATCH 687/703] configs: And all the other USB_CONFIGFS options
+Subject: [PATCH 683/725] configs: And all the other USB_CONFIGFS options
And all Rabbit's friends-and-relations.
-From efdc8dd4cb2e2d607f2c1cc0689faa6590c164f2 Mon Sep 17 00:00:00 2001
+From ccf319da9985453198ecbc34e7ea490584cc9398 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@gherzan.ro>
Date: Wed, 3 Jul 2019 13:53:29 +0100
-Subject: [PATCH 688/703] configs: arm64/bcm2711: Add MMC_SDHCI_IPROC
+Subject: [PATCH 684/725] configs: arm64/bcm2711: Add MMC_SDHCI_IPROC
This driver is used in the device tree for the emmc2 node.
-From feace5977af2dc38e4b089b52f6915e538cdf9e9 Mon Sep 17 00:00:00 2001
+From ccf4542628ee44ac6acf62361a531ac9479b7872 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 3 Jul 2019 20:37:14 +0100
-Subject: [PATCH 689/703] overlays: Correct gpio-fan gpio flags for 4.19
+Subject: [PATCH 685/725] 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
-From fbcf72909974b3dda42a292013c349647bcfa945 Mon Sep 17 00:00:00 2001
+From ced45257bef9255fda33051f882c83623d9e0699 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 25 Jun 2019 00:29:44 +0100
-Subject: [PATCH 690/703] staging: vcsm-cma: Remove cache manipulation ioctl
+Subject: [PATCH 686/725] staging: vcsm-cma: Remove cache manipulation ioctl
from ARM64
The cache flushing ioctls are used by the Pi3 HEVC hw-assisted
-From 6c3a3d85c8877cb506d8a646fea01a97695fab14 Mon Sep 17 00:00:00 2001
+From 03d574236ca07cd6ffec88a8124426e5e42722e1 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 1 Jul 2019 11:57:25 +0100
-Subject: [PATCH 691/703] staging: vcsm-cma: Rework to use dma APIs, not CMA
+Subject: [PATCH 687/725] 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.
-From 5268102a3b9f7fc36e18e4cc913f42218a578487 Mon Sep 17 00:00:00 2001
+From 9c2c5607d3210f9d582547465aae6c9883daf0d9 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 1 Jul 2019 12:00:27 +0100
-Subject: [PATCH 692/703] Revert "configs: Drop V4L2 camera and codec drivers
+Subject: [PATCH 688/725] Revert "configs: Drop V4L2 camera and codec drivers
from bcmrpi3_defconfig"
This reverts commit e8a66b4f610b3a20bae8f706256d230135916c26.
-From 0e02c0b0f706a76e117298e7d4c6b730eeeed80c Mon Sep 17 00:00:00 2001
+From c113d9a69caa55d8b0d5bd4bfbb7fdf502565edb Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 1 Jul 2019 12:06:54 +0100
-Subject: [PATCH 693/703] Revert "configs: arm64/bcm2711: Remove
+Subject: [PATCH 689/725] Revert "configs: arm64/bcm2711: Remove
CONFIG_VIDEO_BCM2835"
This reverts commit 9d1deec93fa8b1b4953ff5e9210349f3c85b9a8d.
-From af55660301d90af33724086223cd1c005c6af4ec Mon Sep 17 00:00:00 2001
+From c6293ea00d55c0d48fd723da6072212f896a74b1 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 2 Jul 2019 17:19:04 +0100
-Subject: [PATCH 694/703] staging: vc-sm-cma: Fix the few remaining coding
+Subject: [PATCH 690/725] staging: vc-sm-cma: Fix the few remaining coding
style issues
Fix a few minor checkpatch complaints to make the driver clean
-From ba55985a050750483553584ebf6b587f4e6b7f91 Mon Sep 17 00:00:00 2001
+From a8d9b98abf93405b56ad420c2337b9c16d443555 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 4 Jul 2019 11:52:43 +0100
-Subject: [PATCH 695/703] configs: Drop MMC_SDHCI_BCM2711 from
+Subject: [PATCH 691/725] configs: Drop MMC_SDHCI_BCM2711 from
arm64/bcm2711_defconfig
Apparently this is a vestigial setting and should be removed.
-From 41079f8602ae082b78e33e7d326ff5f57b7d76e8 Mon Sep 17 00:00:00 2001
+From 2a099853599054a17621463365f7bd48223e0e4c Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 28 Jun 2019 11:30:49 +0100
-Subject: [PATCH 696/703] Revert "media: vb2: Allow reqbufs(0) with "in use"
+Subject: [PATCH 692/725] Revert "media: vb2: Allow reqbufs(0) with "in use"
MMAP buffers"
This reverts commit a2c73e18c1f657de6d654f51effa0a94863abbd8.
-From e9ec6de11c358ff3bc389cfa0003544c60f859ef Mon Sep 17 00:00:00 2001
+From 237e15f3caec01b144b2409829a731b734972539 Mon Sep 17 00:00:00 2001
From: Hans Verkuil <hansverk@cisco.com>
Date: Thu, 23 Aug 2018 09:56:22 -0400
-Subject: [PATCH 697/703] media: videodev2.h: add new capabilities for buffer
+Subject: [PATCH 693/725] media: videodev2.h: add new capabilities for buffer
types
Upstream commit f35f5d72e70e6b91389eb98fcabf43b79f40587f
-From af748ce92996933030288a0f85ca4775ad71edb0 Mon Sep 17 00:00:00 2001
+From b1da554db18a08164e0f4490e1b290d02dc8a042 Mon Sep 17 00:00:00 2001
From: Hans Verkuil <hansverk@cisco.com>
Date: Thu, 23 Aug 2018 10:18:35 -0400
-Subject: [PATCH 698/703] media: vb2: set reqbufs/create_bufs capabilities
+Subject: [PATCH 694/725] media: vb2: set reqbufs/create_bufs capabilities
Upstream commit e5079cf11373e4cc98be8b1072aece429eb2d4d2.
-From b0102490b31330eb694a7956e1874e172ad07ec1 Mon Sep 17 00:00:00 2001
+From b7f5e21034ac7af2b8ceee726151f4635435694f Mon Sep 17 00:00:00 2001
From: John Sheu <sheu@chromium.org>
Date: Thu, 15 Nov 2018 10:57:16 -0500
-Subject: [PATCH 699/703] media: vb2: Allow reqbufs(0) with "in use" MMAP
+Subject: [PATCH 695/725] media: vb2: Allow reqbufs(0) with "in use" MMAP
buffers
Upstream commit d644cca50f366cd109845ae92e37c09ed79adf81
-From 3476202ad0c40d466df8c82798b0ccb0a5e6ed8f Mon Sep 17 00:00:00 2001
+From 21cb98ad5ea375032112a5d7ee92acd4196de5fb Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 5 Jul 2019 09:22:10 +0100
-Subject: [PATCH 700/703] overlays: Add real parameters to the rpi-poe overlay
+Subject: [PATCH 696/725] 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
-From 2683773c8d2092083bafbc64fe7e6a25c48b8f5f Mon Sep 17 00:00:00 2001
+From 75036ddc7b3ea2f1366cef40491d690396f34bdc Mon Sep 17 00:00:00 2001
From: Phil Elwell <pelwell@users.noreply.github.com>
Date: Fri, 5 Jul 2019 14:49:22 +0100
-Subject: [PATCH 701/703] overlays: Rename pi3- overlays to be less
+Subject: [PATCH 697/725] overlays: Rename pi3- overlays to be less
model-specific (#3052)
Rename the various pi3- overlays to be more generic, listing
-From 4baf16fc6d22fd948a597993d858d4de0c5b3bcc Mon Sep 17 00:00:00 2001
+From bd66036c354e430b73ac9c0113ad6a0a787d66c1 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Fri, 21 Jun 2019 03:52:49 -0700
-Subject: [PATCH 702/703] i2c: bcm2835: Move IRQ request after clock code in
+Subject: [PATCH 698/725] i2c: bcm2835: Move IRQ request after clock code in
probe
Commit 4a5cfa39465cad25dd736d7ceba8a5d32eea4ecc upstream.
-From c08dfc37750b965a410c11eb157c0c0d75a13b88 Mon Sep 17 00:00:00 2001
+From 7da0d7cd3ee9b9e178873f380c47dda170fed67e Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Fri, 21 Jun 2019 03:52:50 -0700
-Subject: [PATCH 703/703] i2c: bcm2835: Ensure clock exists when probing
+Subject: [PATCH 699/725] i2c: bcm2835: Ensure clock exists when probing
Commit 9de93b04df16b055824e3f1f13fedb90fbcf2e4f upstream.
--- /dev/null
+From 55672983dee952815d614651a92f76044785ca46 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Tue, 9 Jul 2019 10:32:40 +0100
+Subject: [PATCH 700/725] 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
+(i.e. "i2c-<bus>") to be specified. The second function hasn't worked
+as intended because the overlay doesn't include a "reg" property and
+the firmware intentionally won't create a "reg" property if one doesn't
+already exist.
+
+Allow the bus numbering scheme to work as intended by providing a "reg"
+with a default value that means "the next available one".
+
+See: https://github.com/raspberrypi/linux/issues/3062
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts
++++ b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts
+@@ -7,8 +7,10 @@
+
+ fragment@0 {
+ target-path = "/";
++
+ __overlay__ {
+ i2c_gpio: i2c@0 {
++ reg = <0xffffffff>;
+ compatible = "i2c-gpio";
+ gpios = <&gpio 23 0 /* sda */
+ &gpio 24 0 /* scl */
--- /dev/null
+From e70cb8a67901499d75f4ed4d5bd120a1ceace698 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Thu, 11 Jul 2019 13:13:39 +0100
+Subject: [PATCH 701/725] 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
+FIFO is half empty and writes up to half a FIFO's worth of bytes
+without polling the FIFO status register, the reasoning being that
+the function is being called as a result of the TX interrupt being
+raised. This logic would work were it not for the fact that
+pl011_rx_chars, called from pl011_int before pl011_tx_chars, releases
+the spinlock before calling tty_flip_buffer_push.
+
+A user thread writing to the UART claims the spinlock and ultimately
+calls pl011_tx_chars with from_irq set to false. This reverts to the
+older logic that polls the FIFO status register before sending every
+byte. If this happen on an SMP system during the section of the IRQ
+handler where the spinlock has been released, then by the time the TX
+interrupt handler is called, the FIFO may already be full, and any
+further writes are likely to be lost.
+
+The fix involves adding a per-port flag that is true iff running from
+within the interrupt handler and the spinlock has not yet been released.
+This flag is then used as the value for the from_irq parameter of
+pl011_tx_chars, causing polling to be used in the unsafe case.
+
+Fixes: 1e84d22322ce ("serial/amba-pl011: Refactor and simplify TX FIFO handling")
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ drivers/tty/serial/amba-pl011.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/drivers/tty/serial/amba-pl011.c
++++ b/drivers/tty/serial/amba-pl011.c
+@@ -270,6 +270,7 @@ struct uart_amba_port {
+ unsigned int old_cr; /* state during shutdown */
+ unsigned int fixed_baud; /* vendor-set fixed baud rate */
+ char type[12];
++ bool irq_locked; /* in irq, unreleased lock */
+ #ifdef CONFIG_DMA_ENGINE
+ /* DMA stuff */
+ bool using_tx_dma;
+@@ -814,6 +815,7 @@ __acquires(&uap->port.lock)
+ return;
+
+ /* Avoid deadlock with the DMA engine callback */
++ uap->irq_locked = 0;
+ spin_unlock(&uap->port.lock);
+ dmaengine_terminate_all(uap->dmatx.chan);
+ spin_lock(&uap->port.lock);
+@@ -941,6 +943,7 @@ static void pl011_dma_rx_chars(struct ua
+ fifotaken = pl011_fifo_to_tty(uap);
+ }
+
++ uap->irq_locked = 0;
+ spin_unlock(&uap->port.lock);
+ dev_vdbg(uap->port.dev,
+ "Took %d chars from DMA buffer and %d chars from the FIFO\n",
+@@ -1349,6 +1352,7 @@ __acquires(&uap->port.lock)
+ {
+ pl011_fifo_to_tty(uap);
+
++ uap->irq_locked = 0;
+ spin_unlock(&uap->port.lock);
+ tty_flip_buffer_push(&uap->port.state->port);
+ /*
+@@ -1484,6 +1488,7 @@ static irqreturn_t pl011_int(int irq, vo
+ int handled = 0;
+
+ spin_lock_irqsave(&uap->port.lock, flags);
++ uap->irq_locked = 1;
+ status = pl011_read(uap, REG_RIS) & uap->im;
+ if (status) {
+ do {
+@@ -1503,7 +1508,7 @@ static irqreturn_t pl011_int(int irq, vo
+ UART011_CTSMIS|UART011_RIMIS))
+ pl011_modem_status(uap);
+ if (status & UART011_TXIS)
+- pl011_tx_chars(uap, true);
++ pl011_tx_chars(uap, uap->irq_locked);
+
+ if (pass_counter-- == 0)
+ break;
--- /dev/null
+From 92900af9134a2e5435ee68d69cdd23d1f8cb4980 Mon Sep 17 00:00:00 2001
+From: Jonathan Bell <jonathan@raspberrypi.org>
+Date: Thu, 11 Jul 2019 17:55:43 +0100
+Subject: [PATCH 702/725] 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
+at least, if the xHC halts on a particular TRB due to an error then
+the DCS field in the Out Endpoint Context maintained by the hardware
+is not updated with the current cycle state.
+
+Using the quirk XHCI_EP_CTX_BROKEN_DCS and instead fetch the DCS bit
+from the TRB that the xHC stopped on.
+
+See: https://github.com/raspberrypi/linux/issues/3060
+
+Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
+---
+ drivers/usb/host/xhci-pci.c | 4 +++-
+ drivers/usb/host/xhci-ring.c | 26 +++++++++++++++++++++++++-
+ drivers/usb/host/xhci.h | 1 +
+ 3 files changed, 29 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/host/xhci-pci.c
++++ b/drivers/usb/host/xhci-pci.c
+@@ -223,8 +223,10 @@ static void xhci_pci_quirks(struct devic
+ xhci->quirks |= XHCI_BROKEN_STREAMS;
+
+ if (pdev->vendor == PCI_VENDOR_ID_VIA &&
+- pdev->device == 0x3483)
++ pdev->device == 0x3483) {
+ xhci->quirks |= XHCI_LPM_SUPPORT;
++ xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
++ }
+
+ if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
+ pdev->device == 0x1042)
+--- a/drivers/usb/host/xhci-ring.c
++++ b/drivers/usb/host/xhci-ring.c
+@@ -520,7 +520,10 @@ void xhci_find_new_dequeue_state(struct
+ struct xhci_virt_ep *ep = &dev->eps[ep_index];
+ struct xhci_ring *ep_ring;
+ struct xhci_segment *new_seg;
++ struct xhci_segment *halted_seg = NULL;
+ union xhci_trb *new_deq;
++ union xhci_trb *halted_trb;
++ int index = 0;
+ dma_addr_t addr;
+ u64 hw_dequeue;
+ bool cycle_found = false;
+@@ -541,7 +544,28 @@ void xhci_find_new_dequeue_state(struct
+ hw_dequeue = xhci_get_hw_deq(xhci, dev, ep_index, stream_id);
+ new_seg = ep_ring->deq_seg;
+ new_deq = ep_ring->dequeue;
+- state->new_cycle_state = hw_dequeue & 0x1;
++
++ /*
++ * Quirk: xHC write-back of the DCS field in the hardware dequeue
++ * pointer is wrong - use the cycle state of the TRB pointed to by
++ * the dequeue pointer.
++ */
++ if (xhci->quirks & XHCI_EP_CTX_BROKEN_DCS &&
++ !(ep->ep_state & EP_HAS_STREAMS))
++ halted_seg = trb_in_td(xhci, cur_td->start_seg,
++ cur_td->first_trb, cur_td->last_trb,
++ hw_dequeue & ~0xf, false);
++ if (halted_seg) {
++ index = ((dma_addr_t)(hw_dequeue & ~0xf) - halted_seg->dma) /
++ sizeof(*halted_trb);
++ halted_trb = &halted_seg->trbs[index];
++ state->new_cycle_state = halted_trb->generic.field[3] & 0x1;
++ xhci_dbg(xhci, "Endpoint DCS = %d TRB index = %d cycle = %d\n",
++ (u8)(hw_dequeue & 0x1), index,
++ state->new_cycle_state);
++ } else {
++ state->new_cycle_state = hw_dequeue & 0x1;
++ }
+ state->stream_id = stream_id;
+
+ /*
+--- a/drivers/usb/host/xhci.h
++++ b/drivers/usb/host/xhci.h
+@@ -1865,6 +1865,7 @@ struct xhci_hcd {
+ #define XHCI_ZERO_64B_REGS BIT_ULL(32)
+ #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
+ #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
++#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(36)
+
+ unsigned int num_active_eps;
+ unsigned int limit_active_eps;
--- /dev/null
+From 74cd0c8293ad0a05c45eaa29d986f840227867f8 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Fri, 12 Jul 2019 15:38:35 +0100
+Subject: [PATCH 703/725] 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
+cycles. The current driver doesn't write to the register, therefore
+the default value of 64 cycles is being used for all devices.
+
+Set the timeout to the value recommended for SMBus - 35ms.
+
+See: https://github.com/raspberrypi/linux/issues/3064
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ drivers/i2c/busses/i2c-bcm2835.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--- a/drivers/i2c/busses/i2c-bcm2835.c
++++ b/drivers/i2c/busses/i2c-bcm2835.c
+@@ -194,6 +194,7 @@ static int clk_bcm2835_i2c_set_rate(stru
+ {
+ struct clk_bcm2835_i2c *div = to_clk_bcm2835_i2c(hw);
+ u32 redl, fedl;
++ u32 clk_tout;
+ u32 divider = clk_bcm2835_i2c_calc_divider(rate, parent_rate);
+
+ if (divider == -EINVAL)
+@@ -217,6 +218,17 @@ static int clk_bcm2835_i2c_set_rate(stru
+ bcm2835_i2c_writel(div->i2c_dev, BCM2835_I2C_DEL,
+ (fedl << BCM2835_I2C_FEDL_SHIFT) |
+ (redl << BCM2835_I2C_REDL_SHIFT));
++
++ /*
++ * Set the clock stretch timeout to the SMBUs-recommended 35ms.
++ */
++ if (rate > 0xffff*1000/35)
++ clk_tout = 0xffff;
++ else
++ clk_tout = 35*rate/1000;
++
++ bcm2835_i2c_writel(div->i2c_dev, BCM2835_I2C_CLKT, clk_tout);
++
+ return 0;
+ }
+
--- /dev/null
+From d836c37cd387c438a86054bd52f82141513cfa19 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Fri, 8 Mar 2019 13:02:16 -0800
+Subject: [PATCH 704/725] arm64: bcm2835: Add missing dependency on MFD_CORE.
+
+commit 7a9b6be9fe58194d9a349159176e8cc0d8f10ef8 upstream.
+
+When adding the MFD dependency for power domains and WDT in bcm2835, I
+added it only on the arm32 side and missed it for arm64.
+
+Fixes: 5e6acc3e678e ("bcm2835-pm: Move bcm2835-watchdog's DT probe to an MFD.")
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Reported-by: Stefan Wahren <stefan.wahren@i2se.com>
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ arch/arm64/Kconfig.platforms | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm64/Kconfig.platforms
++++ b/arch/arm64/Kconfig.platforms
+@@ -20,6 +20,7 @@ config ARCH_BCM2835
+ bool "Broadcom BCM2835 family"
+ select TIMER_OF
+ select GPIOLIB
++ select MFD_CORE
+ select PINCTRL
+ select PINCTRL_BCM2835
+ select ARM_AMBA
--- /dev/null
+From 4e534a6c926bee4a9e65c59ac81208ac0a7d280c Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Mon, 15 Jul 2019 10:39:05 +0100
+Subject: [PATCH 705/725] 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
+attempt to set an alternate address for the PCF2127.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/README | 11 ++++-
+ .../dts/overlays/i2c-rtc-gpio-overlay.dts | 41 +++++++++++++++++--
+ .../arm/boot/dts/overlays/i2c-rtc-overlay.dts | 19 ++++++++-
+ 3 files changed, 64 insertions(+), 7 deletions(-)
+
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -1022,6 +1022,8 @@ Params: abx80x Select o
+
+ pcf2127 Select the PCF2127 device
+
++ pcf2129 Select the PCF2129 device
++
+ pcf8523 Select the PCF8523 device
+
+ pcf8563 Select the PCF8563 device
+@@ -1067,10 +1069,14 @@ Params: abx80x Select o
+
+ pcf2127 Select the PCF2127 device
+
++ pcf2129 Select the PCF2129 device
++
+ pcf8523 Select the PCF8523 device
+
+ pcf8563 Select the PCF8563 device
+
++ rv3028 Select the Micro Crystal RV3028 device
++
+ addr Sets the address for the RTC. Note that the
+ device must be configured to use the specified
+ address.
+@@ -1079,11 +1085,14 @@ Params: abx80x Select o
+ "schottky" (ABx80x only)
+
+ trickle-resistor-ohms Resistor value for trickle charge (DS1339,
+- ABx80x)
++ ABx80x, RV3028)
+
+ wakeup-source Specify that the RTC can be used as a wakeup
+ source
+
++ backup-switchover-mode Backup power supply switch mode. Must be 0 for
++ off or 1 for Vdd < VBackup (RV3028 only)
++
+ i2c_gpio_sda GPIO used for I2C data (default "23")
+
+ i2c_gpio_scl GPIO used for I2C clock (default "24")
+--- a/arch/arm/boot/dts/overlays/i2c-rtc-gpio-overlay.dts
++++ b/arch/arm/boot/dts/overlays/i2c-rtc-gpio-overlay.dts
+@@ -121,7 +121,7 @@
+ #size-cells = <0>;
+ status = "okay";
+
+- pcf2127: pcf2127@51 {
++ pcf2127@51 {
+ compatible = "nxp,pcf2127";
+ reg = <0x51>;
+ status = "okay";
+@@ -174,6 +174,36 @@
+ };
+ };
+
++ fragment@11 {
++ target = <&i2c_gpio>;
++ __dormant__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ rv3028: rv3028@52 {
++ compatible = "microcrystal,rv3028";
++ reg = <0x52>;
++ status = "okay";
++ };
++ };
++ };
++
++ fragment@12 {
++ target = <&i2c_gpio>;
++ __dormant__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ pcf2129@51 {
++ compatible = "nxp,pcf2129";
++ reg = <0x51>;
++ status = "okay";
++ };
++ };
++ };
++
+ __overrides__ {
+ abx80x = <0>,"+1";
+ ds1307 = <0>,"+2";
+@@ -185,6 +215,8 @@
+ pcf8523 = <0>,"+8";
+ pcf8563 = <0>,"+9";
+ m41t62 = <0>,"+10";
++ rv3028 = <0>,"+11";
++ pcf2129 = <0>,"+12";
+
+ addr = <&abx80x>, "reg:0",
+ <&ds1307>, "reg:0",
+@@ -192,18 +224,19 @@
+ <&ds3231>, "reg:0",
+ <&mcp7940x>, "reg:0",
+ <&mcp7941x>, "reg:0",
+- <&pcf2127>, "reg:0",
+ <&pcf8523>, "reg:0",
+ <&pcf8563>, "reg:0",
+ <&m41t62>, "reg:0";
+
+ trickle-diode-type = <&abx80x>,"abracon,tc-diode";
+ trickle-resistor-ohms = <&ds1339>,"trickle-resistor-ohms:0",
+- <&abx80x>,"abracon,tc-resistor";
++ <&abx80x>,"abracon,tc-resistor",
++ <&rv3028>,"trickle-resistor-ohms:0";
++ backup-switchover-mode = <&rv3028>,"backup-switchover-mode:0";
+ wakeup-source = <&ds1339>,"wakeup-source?",
+ <&ds3231>,"wakeup-source?",
+ <&mcp7940x>,"wakeup-source?",
+- <&mcp7941x>,"wakeup-source?";
++ <&mcp7941x>,"wakeup-source?";
+ i2c_gpio_sda = <&i2c_gpio>,"gpios:4";
+ i2c_gpio_scl = <&i2c_gpio>,"gpios:16";
+ i2c_gpio_delay_us = <&i2c_gpio>,"i2c-gpio,delay-us:0";
+--- a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
++++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
+@@ -105,7 +105,7 @@
+ #size-cells = <0>;
+ status = "okay";
+
+- pcf2127: pcf2127@51 {
++ pcf2127@51 {
+ compatible = "nxp,pcf2127";
+ reg = <0x51>;
+ status = "okay";
+@@ -173,6 +173,21 @@
+ };
+ };
+
++ fragment@11 {
++ target = <&i2c_arm>;
++ __dormant__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ pcf2129@51 {
++ compatible = "nxp,pcf2129";
++ reg = <0x51>;
++ status = "okay";
++ };
++ };
++ };
++
+ __overrides__ {
+ abx80x = <0>,"+0";
+ ds1307 = <0>,"+1";
+@@ -185,6 +200,7 @@
+ pcf8563 = <0>,"+8";
+ m41t62 = <0>,"+9";
+ rv3028 = <0>,"+10";
++ pcf2129 = <0>,"+11";
+
+ addr = <&abx80x>, "reg:0",
+ <&ds1307>, "reg:0",
+@@ -192,7 +208,6 @@
+ <&ds3231>, "reg:0",
+ <&mcp7940x>, "reg:0",
+ <&mcp7941x>, "reg:0",
+- <&pcf2127>, "reg:0",
+ <&pcf8523>, "reg:0",
+ <&pcf8563>, "reg:0",
+ <&m41t62>, "reg:0";
--- /dev/null
+From 04f2cfb2130c52d8e01c5c2fddf1c0f5d0f3583c Mon Sep 17 00:00:00 2001
+From: Allen Wild <allenwild93@gmail.com>
+Date: Sat, 13 Jul 2019 11:14:02 -0400
+Subject: [PATCH 706/725] configs: arm64/bcm2711: Use CONFIG_BRCMSTB_THERMAL
+ instead of CONFIG_BCM2835_THERMAL
+
+The Raspberry Pi 4 uses the brcmstb thermal driver rather than brcm2835,
+based on the device tree compatible string 'brcm,avs-tmon-bcm2838'. With
+CONFIG_BRCMSTB_THERMAL enabled, reading temperature from
+/sys/class/thermal/thermal_zone0/temp works as expected instead of
+returning EINVAL.
+
+Fixes: https://github.com/raspberrypi/linux/issues/3071
+Signed-off-by: Allen Wild <allenwild93@gmail.com>
+---
+ arch/arm64/configs/bcm2711_defconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm64/configs/bcm2711_defconfig
++++ b/arch/arm64/configs/bcm2711_defconfig
+@@ -658,7 +658,7 @@ CONFIG_SENSORS_ADS1015=m
+ CONFIG_SENSORS_INA2XX=m
+ CONFIG_SENSORS_TMP102=m
+ CONFIG_THERMAL=y
+-CONFIG_BCM2835_THERMAL=y
++CONFIG_BRCMSTB_THERMAL=y
+ CONFIG_WATCHDOG=y
+ CONFIG_GPIO_WATCHDOG=m
+ CONFIG_BCM2835_WDT=y
--- /dev/null
+From a3dd548da9a2900eafb337eab2a3124f543ddc31 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Tue, 16 Jul 2019 15:24:12 +0100
+Subject: [PATCH 707/725] 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
+fb node is disabled so the changes have no effect.
+
+Modify the overlays to also use the vc4 node, to cover both use
+cases.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/dpi18-overlay.dts | 8 ++++++++
+ arch/arm/boot/dts/overlays/dpi24-overlay.dts | 8 ++++++++
+ 2 files changed, 16 insertions(+)
+
+--- a/arch/arm/boot/dts/overlays/dpi18-overlay.dts
++++ b/arch/arm/boot/dts/overlays/dpi18-overlay.dts
+@@ -17,6 +17,14 @@
+ };
+
+ fragment@1 {
++ target = <&vc4>;
++ __overlay__ {
++ pinctrl-names = "default";
++ pinctrl-0 = <&dpi18_pins>;
++ };
++ };
++
++ fragment@2 {
+ target = <&gpio>;
+ __overlay__ {
+ dpi18_pins: dpi18_pins {
+--- a/arch/arm/boot/dts/overlays/dpi24-overlay.dts
++++ b/arch/arm/boot/dts/overlays/dpi24-overlay.dts
+@@ -17,6 +17,14 @@
+ };
+
+ fragment@1 {
++ target = <&vc4>;
++ __overlay__ {
++ pinctrl-names = "default";
++ pinctrl-0 = <&dpi24_pins>;
++ };
++ };
++
++ fragment@2 {
+ target = <&gpio>;
+ __overlay__ {
+ dpi24_pins: dpi24_pins {
--- /dev/null
+From b61cc000ad6ee771f471a126dc80b7c083730a94 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Wed, 17 Jul 2019 10:08:55 +0100
+Subject: [PATCH 708/725] 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
+atomically rather than as individual pins. Add i2c0 and i2c1
+overlays to fit the naming scheme and parameter usage, deprecating
+i2c0-bcm2708 and i2c1-bcm2708.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/Makefile | 2 +
+ arch/arm/boot/dts/overlays/README | 33 +++++---
+ .../dts/overlays/i2c0-bcm2708-overlay.dts | 77 +++----------------
+ arch/arm/boot/dts/overlays/i2c0-overlay.dts | 61 +++++++++++++++
+ .../dts/overlays/i2c1-bcm2708-overlay.dts | 46 ++---------
+ arch/arm/boot/dts/overlays/i2c1-overlay.dts | 44 +++++++++++
+ 6 files changed, 147 insertions(+), 116 deletions(-)
+ create mode 100644 arch/arm/boot/dts/overlays/i2c0-overlay.dts
+ create mode 100644 arch/arm/boot/dts/overlays/i2c1-overlay.dts
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -66,7 +66,9 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ i2c-rtc.dtbo \
+ i2c-rtc-gpio.dtbo \
+ i2c-sensor.dtbo \
++ i2c0.dtbo \
+ i2c0-bcm2708.dtbo \
++ i2c1.dtbo \
+ i2c1-bcm2708.dtbo \
+ i2c3.dtbo \
+ i2c4.dtbo \
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -1151,14 +1151,12 @@ Params: addr Set the
+ sensor
+
+
+-Name: i2c0-bcm2708
++Name: i2c0
+ Info: Change i2c0 pin usage. Not all pin combinations are usable on all
+ platforms - platforms other then Compute Modules can only use this
+ to disable transaction combining.
+-Load: dtoverlay=i2c0-bcm2708,<param>=<val>
+-Params: sda0_pin GPIO pin for SDA0 (deprecated - use pins_*)
+- scl0_pin GPIO pin for SCL0 (deprecated - use pins_*)
+- pins_0_1 Use pins 0 and 1 (default)
++Load: dtoverlay=i2c0,<param>=<val>
++Params: pins_0_1 Use pins 0 and 1 (default)
+ pins_28_29 Use pins 28 and 29
+ pins_44_45 Use pins 44 and 45
+ pins_46_47 Use pins 46 and 47
+@@ -1166,18 +1164,33 @@ Params: sda0_pin GPIO pin
+ "yes")
+
+
+-Name: i2c1-bcm2708
++Name: i2c0-bcm2708
++Info: Deprecated, legacy version of i2c0, from which it inherits its
++ parameters, just adding the explicit individual pin specifiers.
++Load: <Deprecated>
++Params: sda0_pin GPIO pin for SDA0 (deprecated - use pins_*)
++ scl0_pin GPIO pin for SCL0 (deprecated - use pins_*)
++
++
++Name: i2c1
+ Info: Change i2c1 pin usage. Not all pin combinations are usable on all
+ platforms - platforms other then Compute Modules can only use this
+ to disable transaction combining.
+-Info: Enable the i2c_bcm2708 driver for the i2c1 bus
+-Load: dtoverlay=i2c1-bcm2708,<param>=<val>
++Load: dtoverlay=i2c1,<param>=<val>
++Params: pins_2_3 Use pins 2 and 3 (default)
++ pins_44_45 Use pins 44 and 45
++ combine Allow transactions to be combined (default
++ "yes")
++
++
++Name: i2c1-bcm2708
++Info: Deprecated, legacy version of i2c1, from which it inherits its
++ parameters, just adding the explicit individual pin specifiers.
++Load: <Deprecated>
+ Params: sda1_pin GPIO pin for SDA1 (2 or 44 - default 2)
+ scl1_pin GPIO pin for SCL1 (3 or 45 - default 3)
+ pin_func Alternative pin function (4 (alt0), 6 (alt2) -
+ default 4)
+- combine Allow transactions to be combined (default
+- "yes")
+
+
+ Name: i2c3
+--- a/arch/arm/boot/dts/overlays/i2c0-bcm2708-overlay.dts
++++ b/arch/arm/boot/dts/overlays/i2c0-bcm2708-overlay.dts
+@@ -1,69 +1,14 @@
+-/*
+- * Device tree overlay for i2c_bcm2708, i2c0 bus
+- *
+- * Compile:
+- * dtc -@ -I dts -O dtb -o i2c0-bcm2708-overlay.dtb i2c0-bcm2708-overlay.dts
+- */
+-
+-/dts-v1/;
+-/plugin/;
++#include "i2c0-overlay.dts"
+
+ /{
+- compatible = "brcm,bcm2835";
+-
+- fragment@0 {
+- target = <&i2c0>;
+- __overlay__ {
+- status = "okay";
+- };
+- };
+-
+- fragment@1 {
+- target = <&i2c0_pins>;
+- frag1: __overlay__ {
+- brcm,pins = <0 1>;
+- brcm,function = <4>; /* alt0 */
+- };
+- };
+-
+- fragment@2 {
+- target = <&i2c0_pins>;
+- __dormant__ {
+- brcm,pins = <28 29>;
+- brcm,function = <4>; /* alt0 */
+- };
+- };
+-
+- fragment@3 {
+- target = <&i2c0_pins>;
+- __dormant__ {
+- brcm,pins = <44 45>;
+- brcm,function = <5>; /* alt1 */
+- };
+- };
+-
+- fragment@4 {
+- target = <&i2c0_pins>;
+- __dormant__ {
+- brcm,pins = <46 47>;
+- brcm,function = <4>; /* alt0 */
+- };
+- };
+-
+- fragment@5 {
+- target = <&i2c0>;
+- __dormant__ {
+- compatible = "brcm,bcm2708-i2c";
+- };
+- };
+-
+- __overrides__ {
+- sda0_pin = <&frag1>,"brcm,pins:0";
+- scl0_pin = <&frag1>,"brcm,pins:4";
+- pins_0_1 = <0>,"+1-2-3-4";
+- pins_28_29 = <0>,"-1+2-3-4";
+- pins_44_45 = <0>,"-1-2+3-4";
+- pins_46_47 = <0>,"-1-2-3+4";
+- combine = <0>, "!5";
+- };
++ __overrides__ {
++ sda0_pin = <&pins1>,"brcm,pins:0",
++ <&pins2>,"brcm,pins:0",
++ <&pins3>,"brcm,pins:0",
++ <&pins4>,"brcm,pins:0";
++ scl0_pin = <&pins1>,"brcm,pins:4",
++ <&pins2>,"brcm,pins:4",
++ <&pins3>,"brcm,pins:4",
++ <&pins4>,"brcm,pins:4";
++ };
+ };
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/i2c0-overlay.dts
+@@ -0,0 +1,61 @@
++/dts-v1/;
++/plugin/;
++
++/{
++ compatible = "brcm,bcm2835";
++
++ fragment@0 {
++ target = <&i2c0>;
++ __overlay__ {
++ status = "okay";
++ pinctrl-0 = <&i2c0_pins>;
++ };
++ };
++
++ fragment@1 {
++ target = <&i2c0_pins>;
++ pins1: __overlay__ {
++ brcm,pins = <0 1>;
++ brcm,function = <4>; /* alt0 */
++ };
++ };
++
++ fragment@2 {
++ target = <&i2c0_pins>;
++ pins2: __dormant__ {
++ brcm,pins = <28 29>;
++ brcm,function = <4>; /* alt0 */
++ };
++ };
++
++ fragment@3 {
++ target = <&i2c0_pins>;
++ pins3: __dormant__ {
++ brcm,pins = <44 45>;
++ brcm,function = <5>; /* alt1 */
++ };
++ };
++
++ fragment@4 {
++ target = <&i2c0_pins>;
++ pins4: __dormant__ {
++ brcm,pins = <46 47>;
++ brcm,function = <4>; /* alt0 */
++ };
++ };
++
++ fragment@5 {
++ target = <&i2c0>;
++ __dormant__ {
++ compatible = "brcm,bcm2708-i2c";
++ };
++ };
++
++ __overrides__ {
++ pins_0_1 = <0>,"+1-2-3-4";
++ pins_28_29 = <0>,"-1+2-3-4";
++ pins_44_45 = <0>,"-1-2+3-4";
++ pins_46_47 = <0>,"-1-2-3+4";
++ combine = <0>, "!5";
++ };
++};
+--- a/arch/arm/boot/dts/overlays/i2c1-bcm2708-overlay.dts
++++ b/arch/arm/boot/dts/overlays/i2c1-bcm2708-overlay.dts
+@@ -1,43 +1,9 @@
+-/*
+- * Device tree overlay for i2c_bcm2708, i2c1 bus
+- *
+- * Compile:
+- * dtc -@ -I dts -O dtb -o i2c1-bcm2708-overlay.dtb i2c1-bcm2708-overlay.dts
+- */
+-
+-/dts-v1/;
+-/plugin/;
++#include "i2c1-overlay.dts"
+
+ /{
+- compatible = "brcm,bcm2835";
+-
+- fragment@0 {
+- target = <&i2c1>;
+- __overlay__ {
+- pinctrl-0 = <&i2c1_pins>;
+- status = "okay";
+- };
+- };
+-
+- fragment@1 {
+- target = <&i2c1_pins>;
+- pins: __overlay__ {
+- brcm,pins = <2 3>;
+- brcm,function = <4>; /* alt 0 */
+- };
+- };
+-
+- fragment@2 {
+- target = <&i2c1>;
+- __dormant__ {
+- compatible = "brcm,bcm2708-i2c";
+- };
+- };
+-
+- __overrides__ {
+- sda1_pin = <&pins>,"brcm,pins:0";
+- scl1_pin = <&pins>,"brcm,pins:4";
+- pin_func = <&pins>,"brcm,function:0";
+- combine = <0>, "!2";
+- };
++ __overrides__ {
++ sda1_pin = <&pins1>,"brcm,pins:0", <&pins2>,"brcm,pins:0";
++ scl1_pin = <&pins1>,"brcm,pins:4", <&pins1>,"brcm,pins:4";
++ pin_func = <&pins1>,"brcm,function:0", <&pins2>,"brcm,function:0";
++ };
+ };
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/i2c1-overlay.dts
+@@ -0,0 +1,44 @@
++/dts-v1/;
++/plugin/;
++
++/{
++ compatible = "brcm,bcm2835";
++
++ fragment@0 {
++ target = <&i2c1>;
++ __overlay__ {
++ status = "okay";
++ pinctrl-names = "default";
++ pinctrl-0 = <&i2c1_pins>;
++ };
++ };
++
++ fragment@1 {
++ target = <&i2c1_pins>;
++ pins1: __overlay__ {
++ brcm,pins = <2 3>;
++ brcm,function = <4>; /* alt 0 */
++ };
++ };
++
++ fragment@2 {
++ target = <&i2c1_pins>;
++ pins2: __dormant__ {
++ brcm,pins = <44 45>;
++ brcm,function = <6>; /* alt 2 */
++ };
++ };
++
++ fragment@3 {
++ target = <&i2c1>;
++ __dormant__ {
++ compatible = "brcm,bcm2708-i2c";
++ };
++ };
++
++ __overrides__ {
++ pins_2_3 = <0>,"=1!2";
++ pins_44_45 = <0>,"!1=2";
++ combine = <0>, "!3";
++ };
++};
--- /dev/null
+From e7efd5c5b3e6e7f900eca6323fb593f80471a380 Mon Sep 17 00:00:00 2001
+From: Giedrius <giedrius@blokas.io>
+Date: Fri, 12 Jul 2019 17:45:55 +0300
+Subject: [PATCH 709/725] Pisound: Remove spinlock usage around spi_sync
+
+---
+ sound/soc/bcm/pisound.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+--- a/sound/soc/bcm/pisound.c
++++ b/sound/soc/bcm/pisound.c
+@@ -286,9 +286,6 @@ static irqreturn_t data_available_interr
+ return IRQ_HANDLED;
+ }
+
+-static DEFINE_SPINLOCK(spilock);
+-static unsigned long spilockflags;
+-
+ static uint16_t spi_transfer16(uint16_t val)
+ {
+ uint8_t txbuf[2];
+@@ -333,9 +330,7 @@ static void spi_transfer(const uint8_t *
+ transfer.delay_usecs = 10;
+ spi_message_add_tail(&transfer, &msg);
+
+- spin_lock_irqsave(&spilock, spilockflags);
+ err = spi_sync(pisnd_spi_device, &msg);
+- spin_unlock_irqrestore(&spilock, spilockflags);
+
+ if (err < 0) {
+ printe("spi_sync error %d\n", err);
--- /dev/null
+From 804767a8871d01153c7a6e974730eda806fdbef6 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei@balena.io>
+Date: Tue, 16 Jul 2019 13:28:22 +0100
+Subject: [PATCH 710/725] arm64/mm: Limit the DMA zone for arm64
+
+On RaspberryPi, only the first 1Gb can be used for DMA[1].
+
+[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2019-July/665986.html
+
+Signed-off-by: Andrei Gherzan <andrei@balena.io>
+---
+ arch/arm64/mm/init.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm64/mm/init.c
++++ b/arch/arm64/mm/init.c
+@@ -224,7 +224,7 @@ static void __init reserve_elfcorehdr(vo
+ static phys_addr_t __init max_zone_dma_phys(void)
+ {
+ phys_addr_t offset = memblock_start_of_DRAM() & GENMASK_ULL(63, 32);
+- return min(offset + (1ULL << 32), memblock_end_of_DRAM());
++ return min(offset + (1ULL << 30), memblock_end_of_DRAM());
+ }
+
+ #ifdef CONFIG_NUMA
--- /dev/null
+From f3fe10334b7073f38eb3e36441a5313e1d9b2324 Mon Sep 17 00:00:00 2001
+From: Aapo Vienamo <aapo.vienamo@iki.fi>
+Date: Wed, 17 Jul 2019 11:05:20 +0300
+Subject: [PATCH 711/725] configs: Enable iio driver for TI ADS1015
+
+Signed-off-by: Aapo Vienamo <aapo.vienamo@iki.fi>
+---
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcm2711_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ 3 files changed, 3 insertions(+)
+
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -1291,6 +1291,7 @@ CONFIG_IIO=m
+ CONFIG_IIO_BUFFER_CB=m
+ CONFIG_MCP320X=m
+ CONFIG_MCP3422=m
++CONFIG_TI_ADS1015=m
+ CONFIG_DHT11=m
+ CONFIG_HDC100X=m
+ CONFIG_HTU21=m
+--- a/arch/arm/configs/bcm2711_defconfig
++++ b/arch/arm/configs/bcm2711_defconfig
+@@ -1322,6 +1322,7 @@ CONFIG_IIO=m
+ CONFIG_IIO_BUFFER_CB=m
+ CONFIG_MCP320X=m
+ CONFIG_MCP3422=m
++CONFIG_TI_ADS1015=m
+ CONFIG_DHT11=m
+ CONFIG_HDC100X=m
+ CONFIG_HTU21=m
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -1301,6 +1301,7 @@ CONFIG_IIO=m
+ CONFIG_IIO_BUFFER_CB=m
+ CONFIG_MCP320X=m
+ CONFIG_MCP3422=m
++CONFIG_TI_ADS1015=m
+ CONFIG_DHT11=m
+ CONFIG_HDC100X=m
+ CONFIG_HTU21=m
--- /dev/null
+From 6c46cf889cfd831ecce288005f85c7a254a64cb1 Mon Sep 17 00:00:00 2001
+From: Jonathan Bell <jonathan@raspberrypi.org>
+Date: Thu, 18 Jul 2019 13:05:35 +0100
+Subject: [PATCH 712/725] bcm2711_defconfig: enable PCI portbus support (and
+ implicitly, PCIe AER)
+
+PCIe advanced error reporting is supported by the root complex, so make
+use of it.
+
+Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
+---
+ arch/arm/configs/bcm2711_defconfig | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/arch/arm/configs/bcm2711_defconfig
++++ b/arch/arm/configs/bcm2711_defconfig
+@@ -33,6 +33,8 @@ CONFIG_ARCH_BCM2835=y
+ CONFIG_ARM_LPAE=y
+ # CONFIG_CACHE_L2X0 is not set
+ CONFIG_PCI=y
++CONFIG_PCIEPORTBUS=y
++# CONFIG_PCIEASPM is not set
+ CONFIG_PCI_MSI=y
+ CONFIG_PCIE_BRCMSTB=y
+ CONFIG_SMP=y
--- /dev/null
+From 9288f45112f6381ef5697d451b7f44b306e61f8e Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 3 Jul 2019 17:44:53 +0100
+Subject: [PATCH 713/725] drm/vc4: Query firmware for custom HDMI mode
+
+Allow custom HDMI modes to be specified from config.txt,
+and these then override EDID parsing.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/gpu/drm/vc4/vc4_firmware_kms.c | 142 ++++++++++++++-----------
+ 1 file changed, 81 insertions(+), 61 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
+@@ -1035,6 +1035,58 @@ vc4_fkms_connector_detect(struct drm_con
+ return connector_status_connected;
+ }
+
++/* Queries the firmware to populate a drm_mode structure for this display */
++static int vc4_fkms_get_fw_mode(struct vc4_fkms_connector *fkms_connector,
++ struct drm_display_mode *mode)
++{
++ struct vc4_dev *vc4 = fkms_connector->vc4_dev;
++ struct set_timings timings = { 0 };
++ int ret;
++
++ timings.display = fkms_connector->display_number;
++
++ ret = rpi_firmware_property(vc4->firmware,
++ RPI_FIRMWARE_GET_DISPLAY_TIMING, &timings,
++ sizeof(timings));
++ if (ret || !timings.clock)
++ /* No mode returned - abort */
++ return -1;
++
++ /* Equivalent to DRM_MODE macro. */
++ memset(mode, 0, sizeof(*mode));
++ strncpy(mode->name, "FIXED_MODE", sizeof(mode->name));
++ mode->status = 0;
++ mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
++ mode->clock = timings.clock;
++ mode->hdisplay = timings.hdisplay;
++ mode->hsync_start = timings.hsync_start;
++ mode->hsync_end = timings.hsync_end;
++ mode->htotal = timings.htotal;
++ mode->hskew = 0;
++ mode->vdisplay = timings.vdisplay;
++ mode->vsync_start = timings.vsync_start;
++ mode->vsync_end = timings.vsync_end;
++ mode->vtotal = timings.vtotal;
++ mode->vscan = timings.vscan;
++
++ if (timings.flags & TIMINGS_FLAGS_H_SYNC_POS)
++ mode->flags |= DRM_MODE_FLAG_PHSYNC;
++ else
++ mode->flags |= DRM_MODE_FLAG_NHSYNC;
++
++ if (timings.flags & TIMINGS_FLAGS_V_SYNC_POS)
++ mode->flags |= DRM_MODE_FLAG_PVSYNC;
++ else
++ mode->flags |= DRM_MODE_FLAG_NVSYNC;
++
++ if (timings.flags & TIMINGS_FLAGS_INTERLACE)
++ mode->flags |= DRM_MODE_FLAG_INTERLACE;
++
++ mode->base.type = DRM_MODE_OBJECT_MODE;
++
++ return 0;
++}
++
+ static int vc4_fkms_get_edid_block(void *data, u8 *buf, unsigned int block,
+ size_t len)
+ {
+@@ -1063,30 +1115,40 @@ static int vc4_fkms_connector_get_modes(
+ to_vc4_fkms_connector(connector);
+ struct drm_encoder *encoder = fkms_connector->encoder;
+ struct vc4_fkms_encoder *vc4_encoder = to_vc4_fkms_encoder(encoder);
+- int ret = 0;
++ struct drm_display_mode fw_mode;
++ struct drm_display_mode *mode;
+ struct edid *edid;
++ int num_modes;
+
+- edid = drm_do_get_edid(connector, vc4_fkms_get_edid_block,
+- fkms_connector);
++ if (!vc4_fkms_get_fw_mode(fkms_connector, &fw_mode)) {
++ drm_mode_debug_printmodeline(&fw_mode);
++ mode = drm_mode_duplicate(connector->dev,
++ &fw_mode);
++ drm_mode_probed_add(connector, mode);
++ num_modes = 1; /* 1 mode */
++ } else {
++ edid = drm_do_get_edid(connector, vc4_fkms_get_edid_block,
++ fkms_connector);
+
+- /* FIXME: Can we do CEC?
+- * cec_s_phys_addr_from_edid(vc4->hdmi->cec_adap, edid);
+- * if (!edid)
+- * return -ENODEV;
+- */
+-
+- vc4_encoder->hdmi_monitor = drm_detect_hdmi_monitor(edid);
+-
+- if (edid && edid->input & DRM_EDID_INPUT_DIGITAL) {
+- vc4_encoder->rgb_range_selectable =
+- drm_rgb_quant_range_selectable(edid);
++ /* FIXME: Can we do CEC?
++ * cec_s_phys_addr_from_edid(vc4->hdmi->cec_adap, edid);
++ * if (!edid)
++ * return -ENODEV;
++ */
++
++ vc4_encoder->hdmi_monitor = drm_detect_hdmi_monitor(edid);
++
++ if (edid && edid->input & DRM_EDID_INPUT_DIGITAL) {
++ vc4_encoder->rgb_range_selectable =
++ drm_rgb_quant_range_selectable(edid);
++ }
++
++ drm_connector_update_edid_property(connector, edid);
++ num_modes = drm_add_edid_modes(connector, edid);
++ kfree(edid);
+ }
+
+- drm_connector_update_edid_property(connector, edid);
+- ret = drm_add_edid_modes(connector, edid);
+- kfree(edid);
+-
+- return ret;
++ return num_modes;
+ }
+
+ /* This is the DSI panel resolution. Use this as a default should the firmware
+@@ -1104,57 +1166,15 @@ static int vc4_fkms_lcd_connector_get_mo
+ {
+ struct vc4_fkms_connector *fkms_connector =
+ to_vc4_fkms_connector(connector);
+- struct vc4_dev *vc4 = fkms_connector->vc4_dev;
+ struct drm_display_mode *mode;
+- struct mailbox_set_mode mb = {
+- .tag1 = { RPI_FIRMWARE_GET_DISPLAY_TIMING,
+- sizeof(struct set_timings), 0},
+- .timings = { .display = fkms_connector->display_number },
+- };
+ struct drm_display_mode fw_mode;
+- int ret = 0;
+-
+- ret = rpi_firmware_property_list(vc4->firmware, &mb, sizeof(mb));
+- if (!ret) {
+- /* Equivalent to DRM_MODE macro. */
+- memset(&fw_mode, 0, sizeof(fw_mode));
+- strncpy(fw_mode.name, "LCD_MODE", sizeof(fw_mode.name));
+- fw_mode.status = 0;
+- fw_mode.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
+- fw_mode.clock = mb.timings.clock;
+- fw_mode.hdisplay = mb.timings.hdisplay;
+- fw_mode.hsync_start = mb.timings.hsync_start;
+- fw_mode.hsync_end = mb.timings.hsync_end;
+- fw_mode.htotal = mb.timings.htotal;
+- fw_mode.hskew = 0;
+- fw_mode.vdisplay = mb.timings.vdisplay;
+- fw_mode.vsync_start = mb.timings.vsync_start;
+- fw_mode.vsync_end = mb.timings.vsync_end;
+- fw_mode.vtotal = mb.timings.vtotal;
+- fw_mode.vscan = mb.timings.vscan;
+- if (mb.timings.flags & TIMINGS_FLAGS_H_SYNC_POS)
+- fw_mode.flags |= DRM_MODE_FLAG_PHSYNC;
+- else
+- fw_mode.flags |= DRM_MODE_FLAG_NHSYNC;
+- if (mb.timings.flags & TIMINGS_FLAGS_V_SYNC_POS)
+- fw_mode.flags |= DRM_MODE_FLAG_PVSYNC;
+- else
+- fw_mode.flags |= DRM_MODE_FLAG_NVSYNC;
+- if (mb.timings.flags & TIMINGS_FLAGS_V_SYNC_POS)
+- fw_mode.flags |= DRM_MODE_FLAG_PVSYNC;
+- else
+- fw_mode.flags |= DRM_MODE_FLAG_NVSYNC;
+- if (mb.timings.flags & TIMINGS_FLAGS_INTERLACE)
+- fw_mode.flags |= DRM_MODE_FLAG_INTERLACE;
+-
+- fw_mode.base.type = DRM_MODE_OBJECT_MODE;
+
++ if (!vc4_fkms_get_fw_mode(fkms_connector, &fw_mode) && fw_mode.clock)
+ mode = drm_mode_duplicate(connector->dev,
+ &fw_mode);
+- } else {
++ else
+ mode = drm_mode_duplicate(connector->dev,
+ &lcd_mode);
+- }
+
+ if (!mode) {
+ DRM_ERROR("Failed to create a new display mode\n");
--- /dev/null
+From 0dd10ab858ea90d6b8477c0ad54247b105e316b9 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Thu, 11 Jul 2019 15:12:05 +0100
+Subject: [PATCH 714/725] drm/vc4: Pass the drm vrefresh to the firmware on
+ mode set
+
+More for completeness than need, but use drm_mode_vrefresh
+to compute the vrefresh value, and pass that down to the
+firmware on mode set.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/gpu/drm/vc4/vc4_firmware_kms.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
+@@ -737,8 +737,8 @@ static void vc4_crtc_mode_set_nofb(struc
+ mode->hdisplay, mode->hsync_start, mode->hsync_end,
+ mode->htotal, mode->hskew, mode->vdisplay,
+ mode->vsync_start, mode->vsync_end, mode->vtotal,
+- mode->vscan, mode->vrefresh, mode->picture_aspect_ratio,
+- mode->flags);
++ mode->vscan, drm_mode_vrefresh(mode),
++ mode->picture_aspect_ratio, mode->flags);
+ mb.timings.display = vc4_crtc->display_number;
+
+ mb.timings.video_id_code = frame.avi.video_code;
+@@ -754,7 +754,7 @@ static void vc4_crtc_mode_set_nofb(struc
+ mb.timings.vsync_end = mode->vsync_end;
+ mb.timings.vtotal = mode->vtotal;
+ mb.timings.vscan = mode->vscan;
+- mb.timings.vrefresh = 0;
++ mb.timings.vrefresh = drm_mode_vrefresh(mode);
+ mb.timings.flags = 0;
+ if (mode->flags & DRM_MODE_FLAG_PHSYNC)
+ mb.timings.flags |= TIMINGS_FLAGS_H_SYNC_POS;
--- /dev/null
+From abd2aaea7bbe687aadff3f1dad14ea5458be2d00 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Tue, 23 Jul 2019 12:55:07 +0100
+Subject: [PATCH 715/725] 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
+12 and 13, although this is the default behaviour so is there only for
+completeness.
+
+See: https://github.com/raspberrypi/firmware/issues/1178
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/README | 4 +++-
+ arch/arm/boot/dts/overlays/audremap-overlay.dts | 16 ++++++++++++++++
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -475,12 +475,14 @@ Params: <None>
+
+
+ Name: audremap
+-Info: Switches PWM sound output to pins 12 (Right) & 13 (Left)
++Info: Switches PWM sound output to GPIOs on the 40-pin header
+ Load: dtoverlay=audremap,<param>=<val>
+ Params: swap_lr Reverse the channel allocation, which will also
+ swap the audio jack outputs (default off)
+ enable_jack Don't switch off the audio jack output
+ (default off)
++ pins_12_13 Select GPIOs 12 & 13 (default)
++ pins_18_19 Select GPIOs 18 & 19
+
+
+ Name: balena-fin
+--- a/arch/arm/boot/dts/overlays/audremap-overlay.dts
++++ b/arch/arm/boot/dts/overlays/audremap-overlay.dts
+@@ -7,13 +7,29 @@
+ fragment@0 {
+ target = <&audio_pins>;
+ frag0: __overlay__ {
++ };
++ };
++
++ fragment@1 {
++ target = <&audio_pins>;
++ __overlay__ {
+ brcm,pins = < 12 13 >;
+ brcm,function = < 4 >; /* alt0 alt0 */
+ };
+ };
+
++ fragment@2 {
++ target = <&audio_pins>;
++ __dormant__ {
++ brcm,pins = < 18 19 >;
++ brcm,function = < 2 >; /* alt5 alt5 */
++ };
++ };
++
+ __overrides__ {
+ swap_lr = <&frag0>, "swap_lr?";
+ enable_jack = <&frag0>, "enable_jack?";
++ pins_12_13 = <0>,"+1-2";
++ pins_18_19 = <0>,"-1+2";
+ };
+ };
--- /dev/null
+From 522215d35cc376e452584dfc9d78aa68600861b8 Mon Sep 17 00:00:00 2001
+From: Boris Brezillon <boris.brezillon@bootlin.com>
+Date: Thu, 6 Dec 2018 15:24:35 +0100
+Subject: [PATCH 716/725] drm/connector: Fix drm_mode_create_tv_properties()
+ doc
+
+Commit eda6887f1961e0d2fb866b1a520b2de5b3828de5 upstream.
+
+The in the kernel-doc header did not match the function name.
+
+Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-2-boris.brezillon@bootlin.com
+---
+ drivers/gpu/drm/drm_connector.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/drm_connector.c
++++ b/drivers/gpu/drm/drm_connector.c
+@@ -1110,7 +1110,7 @@ void drm_hdmi_avi_infoframe_content_type
+ EXPORT_SYMBOL(drm_hdmi_avi_infoframe_content_type);
+
+ /**
+- * drm_create_tv_properties - create TV specific connector properties
++ * drm_mode_create_tv_properties - create TV specific connector properties
+ * @dev: DRM device
+ * @num_modes: number of different TV formats (modes) supported
+ * @modes: array of pointers to strings containing name of each format
--- /dev/null
+From ef59d7d000bea6755a9e57bd0d7b6558172dad22 Mon Sep 17 00:00:00 2001
+From: Boris Brezillon <boris.brezillon@bootlin.com>
+Date: Thu, 6 Dec 2018 15:24:36 +0100
+Subject: [PATCH 717/725] drm/connector: Clarify the unit of TV margins
+
+Commit 56406e15b5e83256151ef74eb1a219cbf13d91c8 upstream.
+
+All margins are expressed in pixels. Clarify that in the doc.
+
+Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-3-boris.brezillon@bootlin.com
+---
+ include/drm/drm_connector.h | 2 +-
+ include/drm/drm_mode_config.h | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+--- a/include/drm/drm_connector.h
++++ b/include/drm/drm_connector.h
+@@ -346,7 +346,7 @@ int drm_display_info_set_bus_formats(str
+ /**
+ * struct drm_tv_connector_state - TV connector related states
+ * @subconnector: selected subconnector
+- * @margins: margins
++ * @margins: margins (all margins are expressed in pixels)
+ * @margins.left: left margin
+ * @margins.right: right margin
+ * @margins.top: top margin
+--- a/include/drm/drm_mode_config.h
++++ b/include/drm/drm_mode_config.h
+@@ -668,22 +668,22 @@ struct drm_mode_config {
+ struct drm_property *tv_mode_property;
+ /**
+ * @tv_left_margin_property: Optional TV property to set the left
+- * margin.
++ * margin (expressed in pixels).
+ */
+ struct drm_property *tv_left_margin_property;
+ /**
+ * @tv_right_margin_property: Optional TV property to set the right
+- * margin.
++ * margin (expressed in pixels).
+ */
+ struct drm_property *tv_right_margin_property;
+ /**
+ * @tv_top_margin_property: Optional TV property to set the right
+- * margin.
++ * margin (expressed in pixels).
+ */
+ struct drm_property *tv_top_margin_property;
+ /**
+ * @tv_bottom_margin_property: Optional TV property to set the right
+- * margin.
++ * margin (expressed in pixels).
+ */
+ struct drm_property *tv_bottom_margin_property;
+ /**
--- /dev/null
+From 551ce8969f5b671760523202b4af7e059389917e Mon Sep 17 00:00:00 2001
+From: Boris Brezillon <boris.brezillon@bootlin.com>
+Date: Thu, 6 Dec 2018 15:24:37 +0100
+Subject: [PATCH 718/725] drm/connector: Allow creation of margin props alone
+
+Commit 6c4f52dca36f5e3e2354c30591d38e92f4657ed9 upstream.
+
+TV margins properties can only be added as part of the SDTV TV
+connector properties creation, but we might need those props for HDMI
+TVs too, so let's move the margins props creation in a separate
+function and expose it to drivers.
+
+We also add an helper to attach margins props to a connector.
+
+Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-4-boris.brezillon@bootlin.com
+---
+ drivers/gpu/drm/drm_connector.c | 83 ++++++++++++++++++++++++++-------
+ include/drm/drm_connector.h | 2 +
+ 2 files changed, 67 insertions(+), 18 deletions(-)
+
+--- a/drivers/gpu/drm/drm_connector.c
++++ b/drivers/gpu/drm/drm_connector.c
+@@ -1110,6 +1110,70 @@ void drm_hdmi_avi_infoframe_content_type
+ EXPORT_SYMBOL(drm_hdmi_avi_infoframe_content_type);
+
+ /**
++ * drm_mode_attach_tv_margin_properties - attach TV connector margin properties
++ * @connector: DRM connector
++ *
++ * Called by a driver when it needs to attach TV margin props to a connector.
++ * Typically used on SDTV and HDMI connectors.
++ */
++void drm_connector_attach_tv_margin_properties(struct drm_connector *connector)
++{
++ struct drm_device *dev = connector->dev;
++
++ drm_object_attach_property(&connector->base,
++ dev->mode_config.tv_left_margin_property,
++ 0);
++ drm_object_attach_property(&connector->base,
++ dev->mode_config.tv_right_margin_property,
++ 0);
++ drm_object_attach_property(&connector->base,
++ dev->mode_config.tv_top_margin_property,
++ 0);
++ drm_object_attach_property(&connector->base,
++ dev->mode_config.tv_bottom_margin_property,
++ 0);
++}
++EXPORT_SYMBOL(drm_connector_attach_tv_margin_properties);
++
++/**
++ * drm_mode_create_tv_margin_properties - create TV connector margin properties
++ * @dev: DRM device
++ *
++ * Called by a driver's HDMI connector initialization routine, this function
++ * creates the TV margin properties for a given device. No need to call this
++ * function for an SDTV connector, it's already called from
++ * drm_mode_create_tv_properties().
++ */
++int drm_mode_create_tv_margin_properties(struct drm_device *dev)
++{
++ if (dev->mode_config.tv_left_margin_property)
++ return 0;
++
++ dev->mode_config.tv_left_margin_property =
++ drm_property_create_range(dev, 0, "left margin", 0, 100);
++ if (!dev->mode_config.tv_left_margin_property)
++ return -ENOMEM;
++
++ dev->mode_config.tv_right_margin_property =
++ drm_property_create_range(dev, 0, "right margin", 0, 100);
++ if (!dev->mode_config.tv_right_margin_property)
++ return -ENOMEM;
++
++ dev->mode_config.tv_top_margin_property =
++ drm_property_create_range(dev, 0, "top margin", 0, 100);
++ if (!dev->mode_config.tv_top_margin_property)
++ return -ENOMEM;
++
++ dev->mode_config.tv_bottom_margin_property =
++ drm_property_create_range(dev, 0, "bottom margin", 0, 100);
++ if (!dev->mode_config.tv_bottom_margin_property)
++ return -ENOMEM;
++
++ return 0;
++}
++EXPORT_SYMBOL(drm_mode_create_tv_margin_properties);
++
++/**
+ * drm_mode_create_tv_properties - create TV specific connector properties
+ * @dev: DRM device
+ * @num_modes: number of different TV formats (modes) supported
+@@ -1155,24 +1219,7 @@ int drm_mode_create_tv_properties(struct
+ /*
+ * Other, TV specific properties: margins & TV modes.
+ */
+- dev->mode_config.tv_left_margin_property =
+- drm_property_create_range(dev, 0, "left margin", 0, 100);
+- if (!dev->mode_config.tv_left_margin_property)
+- goto nomem;
+-
+- dev->mode_config.tv_right_margin_property =
+- drm_property_create_range(dev, 0, "right margin", 0, 100);
+- if (!dev->mode_config.tv_right_margin_property)
+- goto nomem;
+-
+- dev->mode_config.tv_top_margin_property =
+- drm_property_create_range(dev, 0, "top margin", 0, 100);
+- if (!dev->mode_config.tv_top_margin_property)
+- goto nomem;
+-
+- dev->mode_config.tv_bottom_margin_property =
+- drm_property_create_range(dev, 0, "bottom margin", 0, 100);
+- if (!dev->mode_config.tv_bottom_margin_property)
++ if (drm_mode_create_tv_margin_properties(dev))
+ goto nomem;
+
+ dev->mode_config.tv_mode_property =
+--- a/include/drm/drm_connector.h
++++ b/include/drm/drm_connector.h
+@@ -1175,9 +1175,11 @@ const char *drm_get_tv_select_name(int v
+ const char *drm_get_content_protection_name(int val);
+
+ int drm_mode_create_dvi_i_properties(struct drm_device *dev);
++int drm_mode_create_tv_margin_properties(struct drm_device *dev);
+ int drm_mode_create_tv_properties(struct drm_device *dev,
+ unsigned int num_modes,
+ const char * const modes[]);
++void drm_connector_attach_tv_margin_properties(struct drm_connector *conn);
+ int drm_mode_create_scaling_mode_property(struct drm_device *dev);
+ int drm_connector_attach_content_type_property(struct drm_connector *dev);
+ int drm_connector_attach_scaling_mode_property(struct drm_connector *connector,
--- /dev/null
+From 4ede5cbb2dffb6c2d5a29a1da8daa851b8351c55 Mon Sep 17 00:00:00 2001
+From: Boris Brezillon <boris.brezillon@bootlin.com>
+Date: Thu, 6 Dec 2018 15:24:38 +0100
+Subject: [PATCH 719/725] drm/vc4: Take margin setup into account when updating
+ planes
+
+Commit 666e73587f90f42d90385c1bea1009a650bf73f4 upstream.
+
+Applyin margins is just a matter of scaling all planes appropriately
+and adjusting the CRTC X/Y offset to account for the
+left/right/top/bottom borders.
+
+Create a vc4_plane_margins_adj() function doing that and call it from
+vc4_plane_setup_clipping_and_scaling() so that we are ready to attach
+margins properties to the HDMI connector.
+
+Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-5-boris.brezillon@bootlin.com
+---
+ drivers/gpu/drm/vc4/vc4_crtc.c | 43 +++++++++++++++++++++++++++
+ drivers/gpu/drm/vc4/vc4_drv.h | 3 ++
+ drivers/gpu/drm/vc4/vc4_plane.c | 51 +++++++++++++++++++++++++++++++++
+ 3 files changed, 97 insertions(+)
+
+--- a/drivers/gpu/drm/vc4/vc4_crtc.c
++++ b/drivers/gpu/drm/vc4/vc4_crtc.c
+@@ -48,6 +48,13 @@ struct vc4_crtc_state {
+ struct drm_mm_node mm;
+ bool feed_txp;
+ bool txp_armed;
++
++ struct {
++ unsigned int left;
++ unsigned int right;
++ unsigned int top;
++ unsigned int bottom;
++ } margins;
+ };
+
+ static inline struct vc4_crtc_state *
+@@ -623,6 +630,37 @@ static enum drm_mode_status vc4_crtc_mod
+ return MODE_OK;
+ }
+
++void vc4_crtc_get_margins(struct drm_crtc_state *state,
++ unsigned int *left, unsigned int *right,
++ unsigned int *top, unsigned int *bottom)
++{
++ struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(state);
++ struct drm_connector_state *conn_state;
++ struct drm_connector *conn;
++ int i;
++
++ *left = vc4_state->margins.left;
++ *right = vc4_state->margins.right;
++ *top = vc4_state->margins.top;
++ *bottom = vc4_state->margins.bottom;
++
++ /* We have to interate over all new connector states because
++ * vc4_crtc_get_margins() might be called before
++ * vc4_crtc_atomic_check() which means margins info in vc4_crtc_state
++ * might be outdated.
++ */
++ for_each_new_connector_in_state(state->state, conn, conn_state, i) {
++ if (conn_state->crtc != state->crtc)
++ continue;
++
++ *left = conn_state->tv.margins.left;
++ *right = conn_state->tv.margins.right;
++ *top = conn_state->tv.margins.top;
++ *bottom = conn_state->tv.margins.bottom;
++ break;
++ }
++}
++
+ static int vc4_crtc_atomic_check(struct drm_crtc *crtc,
+ struct drm_crtc_state *state)
+ {
+@@ -670,6 +708,10 @@ static int vc4_crtc_atomic_check(struct
+ vc4_state->feed_txp = false;
+ }
+
++ vc4_state->margins.left = conn_state->tv.margins.left;
++ vc4_state->margins.right = conn_state->tv.margins.right;
++ vc4_state->margins.top = conn_state->tv.margins.top;
++ vc4_state->margins.bottom = conn_state->tv.margins.bottom;
+ break;
+ }
+
+@@ -971,6 +1013,7 @@ static struct drm_crtc_state *vc4_crtc_d
+
+ old_vc4_state = to_vc4_crtc_state(crtc->state);
+ vc4_state->feed_txp = old_vc4_state->feed_txp;
++ vc4_state->margins = old_vc4_state->margins;
+
+ __drm_atomic_helper_crtc_duplicate_state(crtc, &vc4_state->base);
+ return &vc4_state->base;
+--- a/drivers/gpu/drm/vc4/vc4_drv.h
++++ b/drivers/gpu/drm/vc4/vc4_drv.h
+@@ -705,6 +705,9 @@ bool vc4_crtc_get_scanoutpos(struct drm_
+ const struct drm_display_mode *mode);
+ void vc4_crtc_handle_vblank(struct vc4_crtc *crtc);
+ void vc4_crtc_txp_armed(struct drm_crtc_state *state);
++void vc4_crtc_get_margins(struct drm_crtc_state *state,
++ unsigned int *right, unsigned int *left,
++ unsigned int *top, unsigned int *bottom);
+
+ /* vc4_debugfs.c */
+ int vc4_debugfs_init(struct drm_minor *minor);
+--- a/drivers/gpu/drm/vc4/vc4_plane.c
++++ b/drivers/gpu/drm/vc4/vc4_plane.c
+@@ -258,6 +258,52 @@ static u32 vc4_get_scl_field(struct drm_
+ }
+ }
+
++static int vc4_plane_margins_adj(struct drm_plane_state *pstate)
++{
++ struct vc4_plane_state *vc4_pstate = to_vc4_plane_state(pstate);
++ unsigned int left, right, top, bottom, adjhdisplay, adjvdisplay;
++ struct drm_crtc_state *crtc_state;
++
++ crtc_state = drm_atomic_get_new_crtc_state(pstate->state,
++ pstate->crtc);
++
++ vc4_crtc_get_margins(crtc_state, &left, &right, &top, &bottom);
++ if (!left && !right && !top && !bottom)
++ return 0;
++
++ if (left + right >= crtc_state->mode.hdisplay ||
++ top + bottom >= crtc_state->mode.vdisplay)
++ return -EINVAL;
++
++ adjhdisplay = crtc_state->mode.hdisplay - (left + right);
++ vc4_pstate->crtc_x = DIV_ROUND_CLOSEST(vc4_pstate->crtc_x *
++ adjhdisplay,
++ crtc_state->mode.hdisplay);
++ vc4_pstate->crtc_x += left;
++ if (vc4_pstate->crtc_x > crtc_state->mode.hdisplay - left)
++ vc4_pstate->crtc_x = crtc_state->mode.hdisplay - left;
++
++ adjvdisplay = crtc_state->mode.vdisplay - (top + bottom);
++ vc4_pstate->crtc_y = DIV_ROUND_CLOSEST(vc4_pstate->crtc_y *
++ adjvdisplay,
++ crtc_state->mode.vdisplay);
++ vc4_pstate->crtc_y += top;
++ if (vc4_pstate->crtc_y > crtc_state->mode.vdisplay - top)
++ vc4_pstate->crtc_y = crtc_state->mode.vdisplay - top;
++
++ vc4_pstate->crtc_w = DIV_ROUND_CLOSEST(vc4_pstate->crtc_w *
++ adjhdisplay,
++ crtc_state->mode.hdisplay);
++ vc4_pstate->crtc_h = DIV_ROUND_CLOSEST(vc4_pstate->crtc_h *
++ adjvdisplay,
++ crtc_state->mode.vdisplay);
++
++ if (!vc4_pstate->crtc_w || !vc4_pstate->crtc_h)
++ return -EINVAL;
++
++ return 0;
++}
++
+ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state)
+ {
+ struct drm_plane *plane = state->plane;
+@@ -269,6 +315,7 @@ static int vc4_plane_setup_clipping_and_
+ int num_planes = fb->format->num_planes;
+ u32 h_subsample = 1;
+ u32 v_subsample = 1;
++ int ret;
+ int i;
+
+ for (i = 0; i < num_planes; i++)
+@@ -292,6 +339,10 @@ static int vc4_plane_setup_clipping_and_
+ vc4_state->crtc_w = state->crtc_w;
+ vc4_state->crtc_h = state->crtc_h;
+
++ ret = vc4_plane_margins_adj(state);
++ if (ret)
++ return ret;
++
+ vc4_state->x_scaling[0] = vc4_get_scaling_mode(vc4_state->src_w[0],
+ vc4_state->crtc_w);
+ vc4_state->y_scaling[0] = vc4_get_scaling_mode(vc4_state->src_h[0],
--- /dev/null
+From c0f966a04d5ff984a33d7d7b9c3cdc32514ebc14 Mon Sep 17 00:00:00 2001
+From: Boris Brezillon <boris.brezillon@bootlin.com>
+Date: Thu, 6 Dec 2018 15:24:39 +0100
+Subject: [PATCH 720/725] drm/vc4: Attach margin props to the HDMI connector
+
+Commit db999538fdb0679629d90652f8a1437df1e85a7d upstream.
+
+Now that the plane code takes the margins setup into account, we can
+safely attach margin props to the HDMI connector.
+
+We also take care of filling AVI infoframes correctly to expose the
+top/botton/left/right bar.
+
+Note that those margin props match pretty well the
+overscan_{left,right,top,bottom} properties defined in config.txt and
+parsed by the VC4 firmware.
+
+Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-6-boris.brezillon@bootlin.com
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -310,6 +310,7 @@ static struct drm_connector *vc4_hdmi_co
+ {
+ struct drm_connector *connector;
+ struct vc4_hdmi_connector *hdmi_connector;
++ int ret;
+
+ hdmi_connector = devm_kzalloc(dev->dev, sizeof(*hdmi_connector),
+ GFP_KERNEL);
+@@ -323,6 +324,13 @@ static struct drm_connector *vc4_hdmi_co
+ DRM_MODE_CONNECTOR_HDMIA);
+ drm_connector_helper_add(connector, &vc4_hdmi_connector_helper_funcs);
+
++ /* Create and attach TV margin props to this connector. */
++ ret = drm_mode_create_tv_margin_properties(dev);
++ if (ret)
++ return ERR_PTR(ret);
++
++ drm_connector_attach_tv_margin_properties(connector);
++
+ connector->polled = (DRM_CONNECTOR_POLL_CONNECT |
+ DRM_CONNECTOR_POLL_DISCONNECT);
+
+@@ -408,6 +416,9 @@ static void vc4_hdmi_write_infoframe(str
+ static void vc4_hdmi_set_avi_infoframe(struct drm_encoder *encoder)
+ {
+ struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder);
++ struct vc4_dev *vc4 = encoder->dev->dev_private;
++ struct vc4_hdmi *hdmi = vc4->hdmi;
++ struct drm_connector_state *cstate = hdmi->connector->state;
+ struct drm_crtc *crtc = encoder->crtc;
+ const struct drm_display_mode *mode = &crtc->state->adjusted_mode;
+ union hdmi_infoframe frame;
+@@ -426,6 +437,11 @@ static void vc4_hdmi_set_avi_infoframe(s
+ vc4_encoder->rgb_range_selectable,
+ false);
+
++ frame.avi.right_bar = cstate->tv.margins.right;
++ frame.avi.left_bar = cstate->tv.margins.left;
++ frame.avi.top_bar = cstate->tv.margins.top;
++ frame.avi.bottom_bar = cstate->tv.margins.bottom;
++
+ vc4_hdmi_write_infoframe(encoder, &frame);
+ }
+
--- /dev/null
+From c72b6c3836cf40b2a72e613db2d4a225b75e2e92 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Fri, 19 Jul 2019 15:35:13 +0100
+Subject: [PATCH 721/725] 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
+display mode.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/gpu/drm/vc4/vc4_firmware_kms.c | 241 +++++++++++++++++++------
+ 1 file changed, 190 insertions(+), 51 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
+@@ -256,6 +256,23 @@ static inline struct vc4_crtc *to_vc4_cr
+ return container_of(crtc, struct vc4_crtc, base);
+ }
+
++struct vc4_crtc_state {
++ struct drm_crtc_state base;
++
++ struct {
++ unsigned int left;
++ unsigned int right;
++ unsigned int top;
++ unsigned int bottom;
++ } margins;
++};
++
++static inline struct vc4_crtc_state *
++to_vc4_crtc_state(struct drm_crtc_state *crtc_state)
++{
++ return (struct vc4_crtc_state *)crtc_state;
++}
++
+ struct vc4_fkms_encoder {
+ struct drm_encoder base;
+ bool hdmi_monitor;
+@@ -365,17 +382,127 @@ static int vc4_plane_set_blank(struct dr
+ return ret;
+ }
+
++static void vc4_fkms_crtc_get_margins(struct drm_crtc_state *state,
++ unsigned int *left, unsigned int *right,
++ unsigned int *top, unsigned int *bottom)
++{
++ struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(state);
++ struct drm_connector_state *conn_state;
++ struct drm_connector *conn;
++ int i;
++
++ *left = vc4_state->margins.left;
++ *right = vc4_state->margins.right;
++ *top = vc4_state->margins.top;
++ *bottom = vc4_state->margins.bottom;
++
++ /* We have to interate over all new connector states because
++ * vc4_fkms_crtc_get_margins() might be called before
++ * vc4_fkms_crtc_atomic_check() which means margins info in
++ * vc4_crtc_state might be outdated.
++ */
++ for_each_new_connector_in_state(state->state, conn, conn_state, i) {
++ if (conn_state->crtc != state->crtc)
++ continue;
++
++ *left = conn_state->tv.margins.left;
++ *right = conn_state->tv.margins.right;
++ *top = conn_state->tv.margins.top;
++ *bottom = conn_state->tv.margins.bottom;
++ break;
++ }
++}
++
++static int vc4_fkms_margins_adj(struct drm_plane_state *pstate,
++ struct set_plane *plane)
++{
++ unsigned int left, right, top, bottom;
++ int adjhdisplay, adjvdisplay;
++ struct drm_crtc_state *crtc_state;
++
++ crtc_state = drm_atomic_get_new_crtc_state(pstate->state,
++ pstate->crtc);
++
++ vc4_fkms_crtc_get_margins(crtc_state, &left, &right, &top, &bottom);
++
++ if (!left && !right && !top && !bottom)
++ return 0;
++
++ if (left + right >= crtc_state->mode.hdisplay ||
++ top + bottom >= crtc_state->mode.vdisplay)
++ return -EINVAL;
++
++ adjhdisplay = crtc_state->mode.hdisplay - (left + right);
++ plane->dst_x = DIV_ROUND_CLOSEST(plane->dst_x * adjhdisplay,
++ (int)crtc_state->mode.hdisplay);
++ plane->dst_x += left;
++ if (plane->dst_x > (int)(crtc_state->mode.hdisplay - left))
++ plane->dst_x = crtc_state->mode.hdisplay - left;
++
++ adjvdisplay = crtc_state->mode.vdisplay - (top + bottom);
++ plane->dst_y = DIV_ROUND_CLOSEST(plane->dst_y * adjvdisplay,
++ (int)crtc_state->mode.vdisplay);
++ plane->dst_y += top;
++ if (plane->dst_y > (int)(crtc_state->mode.vdisplay - top))
++ plane->dst_y = crtc_state->mode.vdisplay - top;
++
++ plane->dst_w = DIV_ROUND_CLOSEST(plane->dst_w * adjhdisplay,
++ crtc_state->mode.hdisplay);
++ plane->dst_h = DIV_ROUND_CLOSEST(plane->dst_h * adjvdisplay,
++ crtc_state->mode.vdisplay);
++
++ if (!plane->dst_w || !plane->dst_h)
++ return -EINVAL;
++
++ return 0;
++}
++
+ static void vc4_plane_atomic_update(struct drm_plane *plane,
+ struct drm_plane_state *old_state)
+ {
+ struct drm_plane_state *state = plane->state;
++
++ /*
++ * Do NOT set now, as we haven't checked if the crtc is active or not.
++ * Set from vc4_plane_set_blank instead.
++ *
++ * If the CRTC is on (or going to be on) and we're enabled,
++ * then unblank. Otherwise, stay blank until CRTC enable.
++ */
++ if (state->crtc->state->active)
++ vc4_plane_set_blank(plane, false);
++}
++
++static void vc4_plane_atomic_disable(struct drm_plane *plane,
++ struct drm_plane_state *old_state)
++{
++ struct drm_plane_state *state = plane->state;
++ struct vc4_fkms_plane *vc4_plane = to_vc4_fkms_plane(plane);
++
++ DRM_DEBUG_ATOMIC("[PLANE:%d:%s] plane disable %dx%d@%d +%d,%d\n",
++ plane->base.id, plane->name,
++ state->crtc_w,
++ state->crtc_h,
++ vc4_plane->mb.plane.vc_image_type,
++ state->crtc_x,
++ state->crtc_y);
++ vc4_plane_set_blank(plane, true);
++}
++
++static bool plane_enabled(struct drm_plane_state *state)
++{
++ return state->fb && state->crtc;
++}
++
++static int vc4_plane_to_mb(struct drm_plane *plane,
++ struct mailbox_set_plane *mb,
++ struct drm_plane_state *state)
++{
+ struct drm_framebuffer *fb = state->fb;
+ struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0);
+ const struct drm_format_info *drm_fmt = fb->format;
+ const struct vc_image_format *vc_fmt =
+ vc4_get_vc_image_fmt(drm_fmt->format);
+- struct vc4_fkms_plane *vc4_plane = to_vc4_fkms_plane(plane);
+- struct mailbox_set_plane *mb = &vc4_plane->mb;
+ int num_planes = fb->format->num_planes;
+ struct drm_display_mode *mode = &state->crtc->mode;
+ unsigned int rotation = SUPPORTED_ROTATIONS;
+@@ -417,25 +544,7 @@ static void vc4_plane_atomic_update(stru
+ break;
+ }
+
+- /* FIXME: If the dest rect goes off screen then clip the src rect so we
+- * don't have off-screen pixels.
+- */
+- if (plane->type == DRM_PLANE_TYPE_CURSOR) {
+- /* There is no scaling on the cursor plane, therefore the calcs
+- * to alter the source crop as the cursor goes off the screen
+- * are simple.
+- */
+- if (mb->plane.dst_x + mb->plane.dst_w > mode->hdisplay) {
+- mb->plane.dst_w = mode->hdisplay - mb->plane.dst_x;
+- mb->plane.src_w = (mode->hdisplay - mb->plane.dst_x)
+- << 16;
+- }
+- if (mb->plane.dst_y + mb->plane.dst_h > mode->vdisplay) {
+- mb->plane.dst_h = mode->vdisplay - mb->plane.dst_y;
+- mb->plane.src_h = (mode->vdisplay - mb->plane.dst_y)
+- << 16;
+- }
+- }
++ vc4_fkms_margins_adj(state, &mb->plane);
+
+ if (num_planes > 1) {
+ /* Assume this must be YUV */
+@@ -525,38 +634,19 @@ static void vc4_plane_atomic_update(stru
+ state->alpha,
+ state->normalized_zpos);
+
+- /*
+- * Do NOT set now, as we haven't checked if the crtc is active or not.
+- * Set from vc4_plane_set_blank instead.
+- *
+- * If the CRTC is on (or going to be on) and we're enabled,
+- * then unblank. Otherwise, stay blank until CRTC enable.
+- */
+- if (state->crtc->state->active)
+- vc4_plane_set_blank(plane, false);
++ return 0;
+ }
+
+-static void vc4_plane_atomic_disable(struct drm_plane *plane,
+- struct drm_plane_state *old_state)
++static int vc4_plane_atomic_check(struct drm_plane *plane,
++ struct drm_plane_state *state)
+ {
+- //struct vc4_dev *vc4 = to_vc4_dev(plane->dev);
+- struct drm_plane_state *state = plane->state;
+ struct vc4_fkms_plane *vc4_plane = to_vc4_fkms_plane(plane);
+
+- DRM_DEBUG_ATOMIC("[PLANE:%d:%s] plane disable %dx%d@%d +%d,%d\n",
+- plane->base.id, plane->name,
+- state->crtc_w,
+- state->crtc_h,
+- vc4_plane->mb.plane.vc_image_type,
+- state->crtc_x,
+- state->crtc_y);
+- vc4_plane_set_blank(plane, true);
+-}
++ if (!plane_enabled(state))
++ return 0;
++
++ return vc4_plane_to_mb(plane, &vc4_plane->mb, state);
+
+-static int vc4_plane_atomic_check(struct drm_plane *plane,
+- struct drm_plane_state *state)
+-{
+- return 0;
+ }
+
+ static void vc4_plane_destroy(struct drm_plane *plane)
+@@ -878,8 +968,23 @@ vc4_crtc_mode_valid(struct drm_crtc *crt
+ static int vc4_crtc_atomic_check(struct drm_crtc *crtc,
+ struct drm_crtc_state *state)
+ {
+- DRM_DEBUG_KMS("[CRTC:%d] crtc_atomic_check.\n",
+- crtc->base.id);
++ struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(state);
++ struct drm_connector *conn;
++ struct drm_connector_state *conn_state;
++ int i;
++
++ DRM_DEBUG_KMS("[CRTC:%d] crtc_atomic_check.\n", crtc->base.id);
++
++ for_each_new_connector_in_state(state->state, conn, conn_state, i) {
++ if (conn_state->crtc != crtc)
++ continue;
++
++ vc4_state->margins.left = conn_state->tv.margins.left;
++ vc4_state->margins.right = conn_state->tv.margins.right;
++ vc4_state->margins.top = conn_state->tv.margins.top;
++ vc4_state->margins.bottom = conn_state->tv.margins.bottom;
++ break;
++ }
+ return 0;
+ }
+
+@@ -980,6 +1085,33 @@ static int vc4_page_flip(struct drm_crtc
+ return drm_atomic_helper_page_flip(crtc, fb, event, flags, ctx);
+ }
+
++static struct drm_crtc_state *
++vc4_crtc_duplicate_state(struct drm_crtc *crtc)
++{
++ struct vc4_crtc_state *vc4_state, *old_vc4_state;
++
++ vc4_state = kzalloc(sizeof(*vc4_state), GFP_KERNEL);
++ if (!vc4_state)
++ return NULL;
++
++ old_vc4_state = to_vc4_crtc_state(crtc->state);
++ vc4_state->margins = old_vc4_state->margins;
++
++ __drm_atomic_helper_crtc_duplicate_state(crtc, &vc4_state->base);
++ return &vc4_state->base;
++}
++
++static void
++vc4_crtc_reset(struct drm_crtc *crtc)
++{
++ if (crtc->state)
++ __drm_atomic_helper_crtc_destroy_state(crtc->state);
++
++ crtc->state = kzalloc(sizeof(*crtc->state), GFP_KERNEL);
++ if (crtc->state)
++ crtc->state->crtc = crtc;
++}
++
+ static int vc4_fkms_enable_vblank(struct drm_crtc *crtc)
+ {
+ struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
+@@ -1007,8 +1139,8 @@ static const struct drm_crtc_funcs vc4_c
+ .set_property = NULL,
+ .cursor_set = NULL, /* handled by drm_mode_cursor_universal */
+ .cursor_move = NULL, /* handled by drm_mode_cursor_universal */
+- .reset = drm_atomic_helper_crtc_reset,
+- .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state,
++ .reset = vc4_crtc_reset,
++ .atomic_duplicate_state = vc4_crtc_duplicate_state,
+ .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state,
+ .enable_vblank = vc4_fkms_enable_vblank,
+ .disable_vblank = vc4_fkms_disable_vblank,
+@@ -1267,6 +1399,13 @@ vc4_fkms_connector_init(struct drm_devic
+ connector->interlace_allowed = 0;
+ }
+
++ /* Create and attach TV margin props to this connector. */
++ ret = drm_mode_create_tv_margin_properties(dev);
++ if (ret)
++ return ERR_PTR(ret);
++
++ drm_connector_attach_tv_margin_properties(connector);
++
+ connector->polled = (DRM_CONNECTOR_POLL_CONNECT |
+ DRM_CONNECTOR_POLL_DISCONNECT);
+
--- /dev/null
+From 261c08d7841e46294700409ae6b9c25f479ad94a Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Fri, 19 Jul 2019 17:49:00 +0100
+Subject: [PATCH 722/725] 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
+types.
+No other plane types should ever be presented to vc4_fkms_plane_init,
+but add a default case regardless.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/gpu/drm/vc4/vc4_firmware_kms.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
+@@ -773,6 +773,7 @@ static struct drm_plane *vc4_fkms_plane_
+ * other layers as requested by KMS.
+ */
+ switch (type) {
++ default:
+ case DRM_PLANE_TYPE_PRIMARY:
+ default_zpos = 0;
+ break;
--- /dev/null
+From c803db37ac929c9732ae02edf92925a00e600236 Mon Sep 17 00:00:00 2001
+From: Jonathan Bell <jonathan@raspberrypi.org>
+Date: Wed, 24 Jul 2019 14:36:53 +0100
+Subject: [PATCH 723/725] dts: bcm2838: add missing properties for pmu and gic
+ nodes
+
+The GIC has a virtual interface maintenance interrupt and the PMU
+interrupts need affinity mappings as they are wired to generic SPIs.
+
+Also, delete incorrect PMU compatible string.
+
+Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
+---
+ arch/arm/boot/dts/bcm2838.dtsi | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm2838.dtsi
++++ b/arch/arm/boot/dts/bcm2838.dtsi
+@@ -35,6 +35,8 @@
+ <0x40042000 0x2000>,
+ <0x40044000 0x2000>,
+ <0x40046000 0x2000>;
++ interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
++ IRQ_TYPE_LEVEL_HIGH)>;
+ };
+
+ thermal: thermal@7d5d2200 {
+@@ -222,15 +224,12 @@
+ };
+
+ arm-pmu {
+- /*
+- * N.B. the A72 PMU support only exists in arch/arm64, hence
+- * the fallback to the A53 version.
+- */
+- compatible = "arm,cortex-a72-pmu", "arm,cortex-a53-pmu";
++ compatible = "arm,cortex-a72-pmu";
+ interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+ };
+
+ timer {
--- /dev/null
+From 9404c34f9d9aef6f1c5a8f8c223865a5adb81518 Mon Sep 17 00:00:00 2001
+From: Joerg Schambacher <joscha@schambacher.com>
+Date: Tue, 23 Jul 2019 16:57:35 +0200
+Subject: [PATCH 724/725] 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
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 21 +
+ .../hifiberry-dacplusadcpro-overlay.dts | 64 +++
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcm2711_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ sound/soc/bcm/Kconfig | 8 +
+ sound/soc/bcm/Makefile | 2 +
+ sound/soc/bcm/hifiberry_dacplusadcpro.c | 538 ++++++++++++++++++
+ 9 files changed, 637 insertions(+)
+ create mode 100644 arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts
+ create mode 100644 sound/soc/bcm/hifiberry_dacplusadcpro.c
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -53,6 +53,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ hifiberry-dac.dtbo \
+ hifiberry-dacplus.dtbo \
+ hifiberry-dacplusadc.dtbo \
++ hifiberry-dacplusadcpro.dtbo \
+ hifiberry-digi.dtbo \
+ hifiberry-digi-pro.dtbo \
+ hy28a.dtbo \
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -883,6 +883,27 @@ Params: 24db_digital_gain Allow ga
+ master for bit clock and frame clock.
+
+
++Name: hifiberry-dacplusadcpro
++Info: Configures the HifiBerry DAC+ADC PRO audio card
++Load: dtoverlay=hifiberry-dacplusadcpro,<param>=<val>
++Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
++ Digital volume control. Enable with
++ "dtoverlay=hifiberry-dacplusadcpro,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!)
++ slave Force DAC+ADC Pro into slave mode, using Pi as
++ master for bit clock and frame clock.
++
++
+ Name: hifiberry-digi
+ Info: Configures the HifiBerry Digi and Digi+ audio card
+ Load: dtoverlay=hifiberry-digi
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts
+@@ -0,0 +1,64 @@
++// Definitions for HiFiBerry DAC+ADC PRO
++/dts-v1/;
++/plugin/;
++
++/ {
++ compatible = "brcm,bcm2708";
++
++ fragment@0 {
++ target-path = "/clocks";
++ __overlay__ {
++ dacpro_osc: dacpro_osc {
++ compatible = "hifiberry,dacpro-clk";
++ #clock-cells = <0>;
++ };
++ };
++ };
++
++ fragment@1 {
++ target = <&i2s>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ fragment@2 {
++ target = <&i2c1>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ hb_dac: pcm5122@4d {
++ #sound-dai-cells = <0>;
++ compatible = "ti,pcm5122";
++ reg = <0x4d>;
++ clocks = <&dacpro_osc>;
++ status = "okay";
++ };
++ hb_adc: pcm186x@4a {
++ #sound-dai-cells = <0>;
++ compatible = "ti,pcm1863";
++ reg = <0x4a>;
++ clocks = <&dacpro_osc>;
++ status = "okay";
++ };
++ };
++ };
++
++ fragment@3 {
++ target = <&sound>;
++ hifiberry_dacplusadcpro: __overlay__ {
++ compatible = "hifiberry,hifiberry-dacplusadcpro";
++ audio-codec = <&hb_dac &hb_adc>;
++ i2s-controller = <&i2s>;
++ status = "okay";
++ };
++ };
++
++ __overrides__ {
++ 24db_digital_gain =
++ <&hifiberry_dacplusadcpro>,"hifiberry-dacplusadcpro,24db_digital_gain?";
++ slave = <&hifiberry_dacplusadcpro>,"hifiberry-dacplusadcpro,slave?";
++ };
++};
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -961,6 +961,7 @@ CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SO
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC=m
++CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m
+ CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=m
+--- a/arch/arm/configs/bcm2711_defconfig
++++ b/arch/arm/configs/bcm2711_defconfig
+@@ -972,6 +972,7 @@ CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SO
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC=m
++CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m
+ CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=m
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -953,6 +953,7 @@ CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SO
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC=m
++CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m
+ CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=m
+--- a/sound/soc/bcm/Kconfig
++++ b/sound/soc/bcm/Kconfig
+@@ -48,6 +48,14 @@ config SND_BCM2708_SOC_HIFIBERRY_DACPLUS
+ help
+ Say Y or M if you want to add support for HifiBerry DAC+ADC.
+
++config SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO
++ tristate "Support for HifiBerry DAC+ADC PRO"
++ depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
++ select SND_SOC_PCM512x_I2C
++ select SND_SOC_PCM186X_I2C
++ help
++ Say Y or M if you want to add support for HifiBerry DAC+ADC PRO.
++
+ config SND_BCM2708_SOC_HIFIBERRY_DIGI
+ tristate "Support for HifiBerry Digi"
+ depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
+--- a/sound/soc/bcm/Makefile
++++ b/sound/soc/bcm/Makefile
+@@ -14,6 +14,7 @@ snd-soc-googlevoicehat-codec-objs := goo
+ # BCM2708 Machine Support
+ snd-soc-hifiberry-dacplus-objs := hifiberry_dacplus.o
+ snd-soc-hifiberry-dacplusadc-objs := hifiberry_dacplusadc.o
++snd-soc-hifiberry-dacplusadcpro-objs := hifiberry_dacplusadcpro.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
+@@ -38,6 +39,7 @@ snd-soc-rpi-wm8804-soundcard-objs := rpi
+ obj-$(CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD) += snd-soc-googlevoicehat-codec.o
+ obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS) += snd-soc-hifiberry-dacplus.o
+ 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_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/hifiberry_dacplusadcpro.c
+@@ -0,0 +1,538 @@
++/*
++ * ASoC Driver for HiFiBerry DAC+ / DAC Pro with ADC PRO Version (SW control)
++ *
++ * Author: Daniel Matuschek, Stuart MacLean <stuart@hifiberry.com>
++ * Copyright 2014-2015
++ * based on code by Florian Meier <florian.meier@koalo.de>
++ * ADC added by Joerg Schambacher <joerg@i2audio.com>
++ * Copyright 2018-19
++ *
++ * 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 <linux/module.h>
++#include <linux/platform_device.h>
++#include <linux/kernel.h>
++#include <linux/clk.h>
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/of.h>
++#include <linux/slab.h>
++#include <linux/delay.h>
++
++#include <sound/core.h>
++#include <sound/pcm.h>
++#include <sound/pcm_params.h>
++#include <sound/soc.h>
++#include <sound/jack.h>
++#include <sound/tlv.h>
++
++#include "../codecs/pcm512x.h"
++#include "../codecs/pcm186x.h"
++
++#define HIFIBERRY_DACPRO_NOCLOCK 0
++#define HIFIBERRY_DACPRO_CLK44EN 1
++#define HIFIBERRY_DACPRO_CLK48EN 2
++
++struct pcm512x_priv {
++ struct regmap *regmap;
++ struct clk *sclk;
++};
++
++/* Clock rate of CLK44EN attached to GPIO6 pin */
++#define CLK_44EN_RATE 22579200UL
++/* Clock rate of CLK48EN attached to GPIO3 pin */
++#define CLK_48EN_RATE 24576000UL
++
++static bool slave;
++static bool snd_rpi_hifiberry_is_dacpro;
++static bool digital_gain_0db_limit = true;
++
++static const unsigned int pcm186x_adc_input_channel_sel_value[] = {
++ 0x00, 0x01, 0x02, 0x03, 0x10
++};
++
++static const char * const pcm186x_adcl_input_channel_sel_text[] = {
++ "No Select",
++ "VINL1[SE]", /* Default for ADCL */
++ "VINL2[SE]",
++ "VINL2[SE] + VINL1[SE]",
++ "{VIN1P, VIN1M}[DIFF]"
++};
++
++static const char * const pcm186x_adcr_input_channel_sel_text[] = {
++ "No Select",
++ "VINR1[SE]", /* Default for ADCR */
++ "VINR2[SE]",
++ "VINR2[SE] + VINR1[SE]",
++ "{VIN2P, VIN2M}[DIFF]"
++};
++
++static const struct soc_enum pcm186x_adc_input_channel_sel[] = {
++ SOC_VALUE_ENUM_SINGLE(PCM186X_ADC1_INPUT_SEL_L, 0,
++ PCM186X_ADC_INPUT_SEL_MASK,
++ ARRAY_SIZE(pcm186x_adcl_input_channel_sel_text),
++ pcm186x_adcl_input_channel_sel_text,
++ pcm186x_adc_input_channel_sel_value),
++ SOC_VALUE_ENUM_SINGLE(PCM186X_ADC1_INPUT_SEL_R, 0,
++ PCM186X_ADC_INPUT_SEL_MASK,
++ ARRAY_SIZE(pcm186x_adcr_input_channel_sel_text),
++ pcm186x_adcr_input_channel_sel_text,
++ pcm186x_adc_input_channel_sel_value),
++};
++
++static const unsigned int pcm186x_mic_bias_sel_value[] = {
++ 0x00, 0x01, 0x11
++};
++
++static const char * const pcm186x_mic_bias_sel_text[] = {
++ "Mic Bias off",
++ "Mic Bias on",
++ "Mic Bias with Bypass Resistor"
++};
++
++static const struct soc_enum pcm186x_mic_bias_sel[] = {
++ SOC_VALUE_ENUM_SINGLE(PCM186X_MIC_BIAS_CTRL, 0,
++ GENMASK(4, 0),
++ ARRAY_SIZE(pcm186x_mic_bias_sel_text),
++ pcm186x_mic_bias_sel_text,
++ pcm186x_mic_bias_sel_value),
++};
++
++static const unsigned int pcm186x_gain_sel_value[] = {
++ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
++ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
++ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
++ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
++ 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
++ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
++ 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
++ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
++ 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
++ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
++ 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
++ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
++ 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
++ 0x50
++};
++
++static const char * const pcm186x_gain_sel_text[] = {
++ "-12.0dB", "-11.5dB", "-11.0dB", "-10.5dB", "-10.0dB", "-9.5dB",
++ "-9.0dB", "-8.5dB", "-8.0dB", "-7.5dB", "-7.0dB", "-6.5dB",
++ "-6.0dB", "-5.5dB", "-5.0dB", "-4.5dB", "-4.0dB", "-3.5dB",
++ "-3.0dB", "-2.5dB", "-2.0dB", "-1.5dB", "-1.0dB", "-0.5dB",
++ "0.0dB", "0.5dB", "1.0dB", "1.5dB", "2.0dB", "2.5dB",
++ "3.0dB", "3.5dB", "4.0dB", "4.5dB", "5.0dB", "5.5dB",
++ "6.0dB", "6.5dB", "7.0dB", "7.5dB", "8.0dB", "8.5dB",
++ "9.0dB", "9.5dB", "10.0dB", "10.5dB", "11.0dB", "11.5dB",
++ "12.0dB", "12.5dB", "13.0dB", "13.5dB", "14.0dB", "14.5dB",
++ "15.0dB", "15.5dB", "16.0dB", "16.5dB", "17.0dB", "17.5dB",
++ "18.0dB", "18.5dB", "19.0dB", "19.5dB", "20.0dB", "20.5dB",
++ "21.0dB", "21.5dB", "22.0dB", "22.5dB", "23.0dB", "23.5dB",
++ "24.0dB", "24.5dB", "25.0dB", "25.5dB", "26.0dB", "26.5dB",
++ "27.0dB", "27.5dB", "28.0dB", "28.5dB", "29.0dB", "29.5dB",
++ "30.0dB", "30.5dB", "31.0dB", "31.5dB", "32.0dB", "32.5dB",
++ "33.0dB", "33.5dB", "34.0dB", "34.5dB", "35.0dB", "35.5dB",
++ "36.0dB", "36.5dB", "37.0dB", "37.5dB", "38.0dB", "38.5dB",
++ "39.0dB", "39.5dB", "40.0dB"};
++
++static const struct soc_enum pcm186x_gain_sel[] = {
++ SOC_VALUE_ENUM_SINGLE(PCM186X_PGA_VAL_CH1_L, 0,
++ 0xff,
++ ARRAY_SIZE(pcm186x_gain_sel_text),
++ pcm186x_gain_sel_text,
++ pcm186x_gain_sel_value),
++ SOC_VALUE_ENUM_SINGLE(PCM186X_PGA_VAL_CH1_R, 0,
++ 0xff,
++ ARRAY_SIZE(pcm186x_gain_sel_text),
++ pcm186x_gain_sel_text,
++ pcm186x_gain_sel_value),
++};
++
++static const struct snd_kcontrol_new pcm1863_snd_controls_card[] = {
++ SOC_ENUM("ADC Left Input", pcm186x_adc_input_channel_sel[0]),
++ SOC_ENUM("ADC Right Input", pcm186x_adc_input_channel_sel[1]),
++ SOC_ENUM("ADC Mic Bias", pcm186x_mic_bias_sel),
++ SOC_ENUM("PGA Gain Left", pcm186x_gain_sel[0]),
++ SOC_ENUM("PGA Gain Right", pcm186x_gain_sel[1]),
++};
++
++static int pcm1863_add_controls(struct snd_soc_component *component)
++{
++ snd_soc_add_component_controls(component,
++ pcm1863_snd_controls_card,
++ ARRAY_SIZE(pcm1863_snd_controls_card));
++ return 0;
++}
++
++static void snd_rpi_hifiberry_dacplusadcpro_select_clk(
++ struct snd_soc_component *component, int clk_id)
++{
++ switch (clk_id) {
++ case HIFIBERRY_DACPRO_NOCLOCK:
++ snd_soc_component_update_bits(component,
++ PCM512x_GPIO_CONTROL_1, 0x24, 0x00);
++ break;
++ case HIFIBERRY_DACPRO_CLK44EN:
++ snd_soc_component_update_bits(component,
++ PCM512x_GPIO_CONTROL_1, 0x24, 0x20);
++ break;
++ case HIFIBERRY_DACPRO_CLK48EN:
++ snd_soc_component_update_bits(component,
++ PCM512x_GPIO_CONTROL_1, 0x24, 0x04);
++ break;
++ }
++}
++
++static void snd_rpi_hifiberry_dacplusadcpro_clk_gpio(struct snd_soc_component *component)
++{
++ snd_soc_component_update_bits(component, PCM512x_GPIO_EN, 0x24, 0x24);
++ snd_soc_component_update_bits(component, PCM512x_GPIO_OUTPUT_3, 0x0f, 0x02);
++ snd_soc_component_update_bits(component, PCM512x_GPIO_OUTPUT_6, 0x0f, 0x02);
++}
++
++static bool snd_rpi_hifiberry_dacplusadcpro_is_sclk(struct snd_soc_component *component)
++{
++ unsigned int sck;
++
++ snd_soc_component_read(component, PCM512x_RATE_DET_4, &sck);
++ return (!(sck & 0x40));
++}
++
++static bool snd_rpi_hifiberry_dacplusadcpro_is_sclk_sleep(
++ struct snd_soc_component *component)
++{
++ msleep(2);
++ return snd_rpi_hifiberry_dacplusadcpro_is_sclk(component);
++}
++
++static bool snd_rpi_hifiberry_dacplusadcpro_is_pro_card(struct snd_soc_component *component)
++{
++ bool isClk44EN, isClk48En, isNoClk;
++
++ snd_rpi_hifiberry_dacplusadcpro_clk_gpio(component);
++
++ snd_rpi_hifiberry_dacplusadcpro_select_clk(component, HIFIBERRY_DACPRO_CLK44EN);
++ isClk44EN = snd_rpi_hifiberry_dacplusadcpro_is_sclk_sleep(component);
++
++ snd_rpi_hifiberry_dacplusadcpro_select_clk(component, HIFIBERRY_DACPRO_NOCLOCK);
++ isNoClk = snd_rpi_hifiberry_dacplusadcpro_is_sclk_sleep(component);
++
++ snd_rpi_hifiberry_dacplusadcpro_select_clk(component, HIFIBERRY_DACPRO_CLK48EN);
++ isClk48En = snd_rpi_hifiberry_dacplusadcpro_is_sclk_sleep(component);
++
++ return (isClk44EN && isClk48En && !isNoClk);
++}
++
++static int snd_rpi_hifiberry_dacplusadcpro_clk_for_rate(int sample_rate)
++{
++ int type;
++
++ switch (sample_rate) {
++ case 11025:
++ case 22050:
++ case 44100:
++ case 88200:
++ case 176400:
++ case 352800:
++ type = HIFIBERRY_DACPRO_CLK44EN;
++ break;
++ default:
++ type = HIFIBERRY_DACPRO_CLK48EN;
++ break;
++ }
++ return type;
++}
++
++static void snd_rpi_hifiberry_dacplusadcpro_set_sclk(struct snd_soc_component *component,
++ int sample_rate)
++{
++ struct pcm512x_priv *pcm512x = snd_soc_component_get_drvdata(component);
++
++ if (!IS_ERR(pcm512x->sclk)) {
++ int ctype;
++
++ ctype = snd_rpi_hifiberry_dacplusadcpro_clk_for_rate(sample_rate);
++ clk_set_rate(pcm512x->sclk, (ctype == HIFIBERRY_DACPRO_CLK44EN)
++ ? CLK_44EN_RATE : CLK_48EN_RATE);
++ snd_rpi_hifiberry_dacplusadcpro_select_clk(component, ctype);
++ }
++}
++
++static int snd_rpi_hifiberry_dacplusadcpro_init(struct snd_soc_pcm_runtime *rtd)
++{
++ struct snd_soc_component *dac = rtd->codec_dais[0]->component;
++ struct snd_soc_component *adc = rtd->codec_dais[1]->component;
++ struct snd_soc_dai_driver *adc_driver = rtd->codec_dais[1]->driver;
++ struct pcm512x_priv *priv;
++ int ret;
++
++ if (slave)
++ snd_rpi_hifiberry_is_dacpro = false;
++ else
++ snd_rpi_hifiberry_is_dacpro =
++ snd_rpi_hifiberry_dacplusadcpro_is_pro_card(dac);
++
++ if (snd_rpi_hifiberry_is_dacpro) {
++ struct snd_soc_dai_link *dai = rtd->dai_link;
++
++ dai->name = "HiFiBerry DAC+ADC Pro";
++ dai->stream_name = "HiFiBerry DAC+ADC Pro HiFi";
++
++ // set DAC DAI configuration
++ ret = snd_soc_dai_set_fmt(rtd->codec_dais[0],
++ SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
++ | SND_SOC_DAIFMT_CBM_CFM);
++ if (ret < 0)
++ return ret;
++
++ // set ADC DAI configuration
++ ret = snd_soc_dai_set_fmt(rtd->codec_dais[1],
++ SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
++ | SND_SOC_DAIFMT_CBS_CFS);
++ if (ret < 0)
++ return ret;
++
++ // set CPU DAI configuration
++ ret = snd_soc_dai_set_fmt(rtd->cpu_dai,
++ SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS);
++ if (ret < 0)
++ return ret;
++
++ snd_soc_component_update_bits(dac, PCM512x_BCLK_LRCLK_CFG, 0x31, 0x11);
++ snd_soc_component_update_bits(dac, PCM512x_MASTER_MODE, 0x03, 0x03);
++ snd_soc_component_update_bits(dac, PCM512x_MASTER_CLKDIV_2, 0x7f, 63);
++ } else {
++ priv = snd_soc_component_get_drvdata(dac);
++ priv->sclk = ERR_PTR(-ENOENT);
++ }
++
++ /* disable 24bit mode as long as I2S module does not have sign extension fixed */
++ adc_driver->capture.formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S16_LE;
++
++ snd_soc_component_update_bits(dac, PCM512x_GPIO_EN, 0x08, 0x08);
++ snd_soc_component_update_bits(dac, PCM512x_GPIO_OUTPUT_4, 0x0f, 0x02);
++ snd_soc_component_update_bits(dac, PCM512x_GPIO_CONTROL_1, 0x08, 0x08);
++
++ ret = pcm1863_add_controls(adc);
++ if (ret < 0)
++ dev_warn(rtd->dev, "Failed to add pcm1863 controls: %d\n",
++ ret);
++
++ /* set GPIO2 to output, GPIO3 input */
++ snd_soc_component_write(adc, PCM186X_GPIO3_2_CTRL, 0x00);
++ snd_soc_component_write(adc, PCM186X_GPIO3_2_DIR_CTRL, 0x04);
++ snd_soc_component_update_bits(adc, PCM186X_GPIO_IN_OUT, 0x40, 0x40);
++
++ 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_hifiberry_dacplusadcpro_update_rate_den(
++ struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_component *component = rtd->codec_dais[0]->component; /* only use DAC */
++ struct pcm512x_priv *pcm512x = snd_soc_component_get_drvdata(component);
++ struct snd_ratnum *rats_no_pll;
++ unsigned int num = 0, den = 0;
++ int err;
++
++ rats_no_pll = devm_kzalloc(rtd->dev, sizeof(*rats_no_pll), GFP_KERNEL);
++ if (!rats_no_pll)
++ return -ENOMEM;
++
++ rats_no_pll->num = clk_get_rate(pcm512x->sclk) / 64;
++ rats_no_pll->den_min = 1;
++ rats_no_pll->den_max = 128;
++ rats_no_pll->den_step = 1;
++
++ err = snd_interval_ratnum(hw_param_interval(params,
++ SNDRV_PCM_HW_PARAM_RATE), 1, rats_no_pll, &num, &den);
++ if (err >= 0 && den) {
++ params->rate_num = num;
++ params->rate_den = den;
++ }
++
++ devm_kfree(rtd->dev, rats_no_pll);
++ return 0;
++}
++
++static int snd_rpi_hifiberry_dacplusadcpro_hw_params(
++ struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params)
++{
++ int ret = 0;
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ int channels = params_channels(params);
++ int width = 32;
++ struct snd_soc_component *dac = rtd->codec_dais[0]->component;
++
++ if (snd_rpi_hifiberry_is_dacpro) {
++
++ width = snd_pcm_format_physical_width(params_format(params));
++
++ snd_rpi_hifiberry_dacplusadcpro_set_sclk(dac,
++ params_rate(params));
++
++ ret = snd_rpi_hifiberry_dacplusadcpro_update_rate_den(
++ substream, params);
++ if (ret)
++ return ret;
++ }
++
++ ret = snd_soc_dai_set_tdm_slot(rtd->cpu_dai, 0x03, 0x03,
++ channels, width);
++ if (ret)
++ return ret;
++ ret = snd_soc_dai_set_tdm_slot(rtd->codec_dais[0], 0x03, 0x03,
++ channels, width);
++ if (ret)
++ return ret;
++ ret = snd_soc_dai_set_tdm_slot(rtd->codec_dais[1], 0x03, 0x03,
++ channels, width);
++ return ret;
++}
++
++static int snd_rpi_hifiberry_dacplusadcpro_startup(
++ struct snd_pcm_substream *substream)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_component *dac = rtd->codec_dais[0]->component;
++ struct snd_soc_component *adc = rtd->codec_dais[1]->component;
++
++ /* switch on respective LED */
++ if (!substream->stream)
++ snd_soc_component_update_bits(dac, PCM512x_GPIO_CONTROL_1, 0x08, 0x08);
++ else
++ snd_soc_component_update_bits(adc, PCM186X_GPIO_IN_OUT, 0x40, 0x40);
++ return 0;
++}
++
++static void snd_rpi_hifiberry_dacplusadcpro_shutdown(
++ struct snd_pcm_substream *substream)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_component *dac = rtd->codec_dais[0]->component;
++ struct snd_soc_component *adc = rtd->codec_dais[1]->component;
++
++ /* switch off respective LED */
++ if (!substream->stream)
++ snd_soc_component_update_bits(dac, PCM512x_GPIO_CONTROL_1, 0x08, 0x00);
++ else
++ snd_soc_component_update_bits(adc, PCM186X_GPIO_IN_OUT, 0x40, 0x00);
++}
++
++
++/* machine stream operations */
++static struct snd_soc_ops snd_rpi_hifiberry_dacplusadcpro_ops = {
++ .hw_params = snd_rpi_hifiberry_dacplusadcpro_hw_params,
++ .startup = snd_rpi_hifiberry_dacplusadcpro_startup,
++ .shutdown = snd_rpi_hifiberry_dacplusadcpro_shutdown,
++};
++
++static struct snd_soc_dai_link_component snd_rpi_hifiberry_dacplusadcpro_codecs[] = {
++ {
++ .name = "pcm512x.1-004d",
++ .dai_name = "pcm512x-hifi",
++ },
++ {
++ .name = "pcm186x.1-004a",
++ .dai_name = "pcm1863-aif",
++ },
++};
++
++static struct snd_soc_dai_link snd_rpi_hifiberry_dacplusadcpro_dai[] = {
++{
++ .name = "HiFiBerry DAC+ADC PRO",
++ .stream_name = "HiFiBerry DAC+ADC PRO HiFi",
++ .cpu_dai_name = "bcm2708-i2s.0",
++ .platform_name = "bcm2708-i2s.0",
++ .codecs = snd_rpi_hifiberry_dacplusadcpro_codecs,
++ .num_codecs = 2,
++ .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
++ SND_SOC_DAIFMT_CBS_CFS,
++ .ops = &snd_rpi_hifiberry_dacplusadcpro_ops,
++ .init = snd_rpi_hifiberry_dacplusadcpro_init,
++},
++};
++
++/* audio machine driver */
++static struct snd_soc_card snd_rpi_hifiberry_dacplusadcpro = {
++ .name = "snd_rpi_hifiberry_dacplusadcpro",
++ .driver_name = "HifiberryDacpAdcPro",
++ .owner = THIS_MODULE,
++ .dai_link = snd_rpi_hifiberry_dacplusadcpro_dai,
++ .num_links = ARRAY_SIZE(snd_rpi_hifiberry_dacplusadcpro_dai),
++};
++
++static int snd_rpi_hifiberry_dacplusadcpro_probe(struct platform_device *pdev)
++{
++ int ret = 0, i = 0;
++ struct snd_soc_card *card = &snd_rpi_hifiberry_dacplusadcpro;
++
++ snd_rpi_hifiberry_dacplusadcpro.dev = &pdev->dev;
++ if (pdev->dev.of_node) {
++ struct device_node *i2s_node;
++ struct snd_soc_dai_link *dai;
++
++ dai = &snd_rpi_hifiberry_dacplusadcpro_dai[0];
++ i2s_node = of_parse_phandle(pdev->dev.of_node,
++ "i2s-controller", 0);
++ if (i2s_node) {
++ for (i = 0; i < card->num_links; i++) {
++ 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, "hifiberry-dacplusadcpro,24db_digital_gain");
++ slave = of_property_read_bool(pdev->dev.of_node,
++ "hifiberry-dacplusadcpro,slave");
++ ret = snd_soc_register_card(&snd_rpi_hifiberry_dacplusadcpro);
++ if (ret && ret != -EPROBE_DEFER)
++ dev_err(&pdev->dev,
++ "snd_soc_register_card() failed: %d\n", ret);
++
++ return ret;
++}
++
++static const struct of_device_id snd_rpi_hifiberry_dacplusadcpro_of_match[] = {
++ { .compatible = "hifiberry,hifiberry-dacplusadcpro", },
++ {},
++};
++
++MODULE_DEVICE_TABLE(of, snd_rpi_hifiberry_dacplusadcpro_of_match);
++
++static struct platform_driver snd_rpi_hifiberry_dacplusadcpro_driver = {
++ .driver = {
++ .name = "snd-rpi-hifiberry-dacplusadcpro",
++ .owner = THIS_MODULE,
++ .of_match_table = snd_rpi_hifiberry_dacplusadcpro_of_match,
++ },
++ .probe = snd_rpi_hifiberry_dacplusadcpro_probe,
++};
++
++module_platform_driver(snd_rpi_hifiberry_dacplusadcpro_driver);
++
++MODULE_AUTHOR("Joerg Schambacher <joerg@i2audio.com>");
++MODULE_AUTHOR("Daniel Matuschek <daniel@hifiberry.com>");
++MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+ADC");
++MODULE_LICENSE("GPL v2");
--- /dev/null
+From 25b5f8d3fdadafccc34e4ae24525ddfb5e6b2ae0 Mon Sep 17 00:00:00 2001
+From: allo-com <jaikumar@cem-solutions.net>
+Date: Mon, 29 Jul 2019 15:06:57 +0530
+Subject: [PATCH 725/725] codecs: Correct Katana minimum volume
+
+Update Katana minimum volume to get the exact 0.5 dB value in each step.
+
+Signed-off-by: Sudeep Kumar <sudeepkumar@cem-solutions.net>
+---
+ sound/soc/bcm/allo-katana-codec.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/soc/bcm/allo-katana-codec.c
++++ b/sound/soc/bcm/allo-katana-codec.c
+@@ -126,7 +126,7 @@ static SOC_VALUE_ENUM_SINGLE_DECL(katana
+ katana_codec_deemphasis_texts,
+ katana_codec_deemphasis_values);
+
+-static const SNDRV_CTL_TLVD_DECLARE_DB_MINMAX(master_tlv, -12700, 0);
++static const SNDRV_CTL_TLVD_DECLARE_DB_MINMAX(master_tlv, -12750, 0);
+
+ static const struct snd_kcontrol_new katana_codec_controls[] = {
+ SOC_DOUBLE_R_TLV("Master Playback Volume", KATANA_CODEC_VOLUME_1,
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
-@@ -25,6 +25,7 @@ config ARCH_BCM2835
+@@ -26,6 +26,7 @@ config ARCH_BCM2835
select ARM_AMBA
select ARM_TIMER_SP804
select HAVE_ARM_ARCH_TIMER
# CONFIG_BT_LE is not set
# CONFIG_BT_LEDS is not set
# CONFIG_BT_MRVL is not set
+# CONFIG_BT_MTKUART is not set
# CONFIG_BT_RFCOMM is not set
CONFIG_BT_RFCOMM_TTY=y
# CONFIG_BT_SELFTEST is not set
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_ADC_JACK is not set
+# CONFIG_EXTCON_ARIZONA is not set
# CONFIG_EXTCON_AXP288 is not set
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_INTEL_INT3496 is not set
# CONFIG_HID_BATTERY_STRENGTH is not set
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_BETOP_FF is not set
+# CONFIG_HID_BIGBEN_FF is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
# CONFIG_HID_CMEDIA is not set
# CONFIG_TOUCHSCREEN_PROPERTIES is not set
# CONFIG_TOUCHSCREEN_RM_TS is not set
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
+# CONFIG_TOUCHSCREEN_RPI_FT5406 is not set
# CONFIG_TOUCHSCREEN_S3C2410 is not set
# CONFIG_TOUCHSCREEN_S6SY761 is not set
# CONFIG_TOUCHSCREEN_SILEAD is not set