From 5f14189985cb4d274f2c8c67d0c7459b7c1d1313 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:17 +0000 Subject: [PATCH 01/21] linux: lan78xx: disable wol --- .../default/linux-999-disable_lan78xx_wol.patch | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 packages/linux/patches/default/linux-999-disable_lan78xx_wol.patch diff --git a/packages/linux/patches/default/linux-999-disable_lan78xx_wol.patch b/packages/linux/patches/default/linux-999-disable_lan78xx_wol.patch new file mode 100644 index 0000000000..d86d01dd7d --- /dev/null +++ b/packages/linux/patches/default/linux-999-disable_lan78xx_wol.patch @@ -0,0 +1,14 @@ +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index b99a7fb..89d496c 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -1602,7 +1602,7 @@ static const struct ethtool_ops lan78xx_ethtool_ops = { + .get_sset_count = lan78xx_get_sset_count, + .get_strings = lan78xx_get_strings, + .get_wol = lan78xx_get_wol, +- .set_wol = lan78xx_set_wol, ++// .set_wol = lan78xx_set_wol, + .get_eee = lan78xx_get_eee, + .set_eee = lan78xx_set_eee, + .get_pauseparam = lan78xx_get_pause, + From 01e5fecf04d080b902ac55b7e2bf447eecf87e06 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:17 +0000 Subject: [PATCH 02/21] linux: update to linux-4.14.11 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index a5b429571c..f4b016c0c9 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -47,8 +47,8 @@ case "$LINUX" in PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET aml-dtbtools:host" ;; *) - PKG_VERSION="4.14.10" - PKG_SHA256="86baf1374ca003bdd9a43cae7f59cec02b455a6c38c3705aa46b2b68d91ed110" + PKG_VERSION="4.14.11" + PKG_SHA256="7768956a513f1d4eeb49ba6b55c5b131da60f1a698a3b3657718bf23a6b86d0a" PKG_URL="https://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_PATCH_DIRS="default" ;; From 25d6ba2b68e03f30ceb5c6671ab6ae28559ab7fa Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:17 +0000 Subject: [PATCH 03/21] linux: update to linux-4.14.12 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index f4b016c0c9..981d527876 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -47,8 +47,8 @@ case "$LINUX" in PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET aml-dtbtools:host" ;; *) - PKG_VERSION="4.14.11" - PKG_SHA256="7768956a513f1d4eeb49ba6b55c5b131da60f1a698a3b3657718bf23a6b86d0a" + PKG_VERSION="4.14.12" + PKG_SHA256="6608f7d480efc5c1078888e9344f4e0b0cd9bef0b6541cbdaec7d138e03856af" PKG_URL="https://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_PATCH_DIRS="default" ;; From 40a932ac50a2b88d18a2961fa702fd32374384eb Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 04/21] RPi: update linux support patch for linux 4.14.12 --- .../patches/linux/linux-01-RPi_support.patch | 2004 ++++++++++++++--- 1 file changed, 1692 insertions(+), 312 deletions(-) diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 506a216f63..1793f60030 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ -From f6106f96f8e3005e7c046fb5e5fa45616d53921c Mon Sep 17 00:00:00 2001 +From 47916122f8c063d879949717ac7b3c69b4bea9bf Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 001/156] arm: partially revert +Subject: [PATCH 001/170] arm: partially revert 702b94bff3c50542a6e4ab9a4f4cef093262fe65 * Re-expose some dmi APIs for use in VCSM @@ -106,10 +106,10 @@ index 054b491ff7649ca067ff821770aec80a4da42102..70e8b7d3443467ae9595924f1a9d043b EXPORT_SYMBOL(cpu_cache); #endif -From 33fb31a3eb713d3c4f1ea57bf4a747bd640df22a Mon Sep 17 00:00:00 2001 +From c993a6f06a97d4456fe6960bb367c2a447d5475b Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 002/156] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/170] 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. @@ -156,10 +156,10 @@ index 309b88acd3d0b6ca1528dde7b27a23926f9be952..25e37195ceb00cfc0ced7638e8b571a1 usbnet_skb_return(dev, ax_skb); } -From 57b933b304a1a741ed667e7816d6f4f8de306e41 Mon Sep 17 00:00:00 2001 +From d60b6d1ec6538203fb495619658cba9301856b39 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 003/156] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 003/170] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -202,10 +202,10 @@ index 25e37195ceb00cfc0ced7638e8b571a1b0b8e6f1..09c7d4a07299e70b1cdc9df2c2c4cb39 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From fb14f1dfe72306e448cafb604d3f4ae0b59afe1c Mon Sep 17 00:00:00 2001 +From 62b6f945fd5f1fae5aae8dbac36e29e3914e0c2e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 004/156] Allow mac address to be set in smsc95xx +Subject: [PATCH 004/170] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -301,10 +301,10 @@ index 09c7d4a07299e70b1cdc9df2c2c4cb39d2207c37..4d9704d0b184df9bd7ddbe6769e40a75 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From d589b8d9a4c83f9021131e186f2d39187ba95a2b Mon Sep 17 00:00:00 2001 +From f592bb214dca725fdfd3029d987eee71974d35e5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 005/156] Protect __release_resource against resources without +Subject: [PATCH 005/170] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -332,10 +332,10 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From 9f5dfb791d347832f0d6dcb1eede81834d5fa4dd Mon Sep 17 00:00:00 2001 +From 5fb10be0bb930155ef29f520c1c2bd9a68f4e65a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 006/156] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/170] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -362,10 +362,10 @@ index dc8c1e3eafe794a3af83dd987a6d6362d14dd5ee..e8204d9af58f1b893505c06902a83390 #endif } else if (stat) { -From 295ad02d69edd298c158feca5318463c56f8e17e Mon Sep 17 00:00:00 2001 +From c36fee49dfa6462c50b0ff0981e305871b7ace2b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 007/156] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 007/170] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -389,10 +389,10 @@ index e8204d9af58f1b893505c06902a83390c2ea8509..6e3fab9587b782e026c01fa6b6e40338 static void -From 1ca4541a4f155941247fc8064801badca1ec3d95 Mon Sep 17 00:00:00 2001 +From 54dc7e033552f40e487fc216da98449c47f19a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 008/156] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 008/170] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -521,10 +521,10 @@ index d2da8a1e6b1b71381e382d034e7a94e865a6c3da..c4903360eabc2bef04f8e745782cea26 } -From 341d7af24f36dd806066927dfa8aa41c7104ecc0 Mon Sep 17 00:00:00 2001 +From f4f19712da6980f523472fd5217ac943dfd7a54b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 009/156] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 009/170] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -623,10 +623,10 @@ index c4903360eabc2bef04f8e745782cea268fb22897..13356d3b7bcd508f058c6a9e3c4b0b38 for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From f45e4f1cbd34474fc09ba45348c59a97114f928f Mon Sep 17 00:00:00 2001 +From 8bd0d797f8eda7935fb2ccb849fa34ae3c011290 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:43:40 +0100 -Subject: [PATCH 010/156] irq_bcm2836: Send event when onlining sleeping cores +Subject: [PATCH 010/170] irq_bcm2836: Send event when onlining sleeping cores In order to reduce power consumption and bus traffic, it is sensible for secondary cores to enter a low-power idle state when waiting to @@ -662,10 +662,10 @@ index 6e3fab9587b782e026c01fa6b6e40338ef0c8d0a..86b357ae027bf8ba1ac32cd150a8cf21 } -From 9011636a14f5a61855bd0d098b120466bc56d633 Mon Sep 17 00:00:00 2001 +From a358ddf417555a2eae0ab4d34917fe2c1c8c353c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 011/156] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 011/170] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -686,10 +686,10 @@ index cda10719d1d1b21b32866d2b79363faa461ab8e1..4f3779d3aa0960640506725bde918075 }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From 1e84fd366314c3ffca613df252c699b31ee02e10 Mon Sep 17 00:00:00 2001 +From 7c213f28f4aacb3c301d164e984f4ccff76d93a0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 012/156] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 012/170] 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 @@ -770,10 +770,10 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From 07f32122f8536814a2ef16dda041459c2f7b4af6 Mon Sep 17 00:00:00 2001 +From c5e714f907fc1079e8d6e33a30a226178ac07523 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 013/156] spi-bcm2835: Disable forced software CS +Subject: [PATCH 013/170] 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 @@ -807,10 +807,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From 23b3acdbba4f2130d43465d12d3a076756a94c0c Mon Sep 17 00:00:00 2001 +From b17fc1798293225bd09b25194128155574912016 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 014/156] spi-bcm2835: Remove unused code +Subject: [PATCH 014/170] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -898,10 +898,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From 7bfd695dfb10eaee080ed145a73861452f9983ff Mon Sep 17 00:00:00 2001 +From fb51d8b2f1e8b69791c2f1b7baeec1b52efb3211 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 015/156] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 015/170] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -954,10 +954,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From 4459e2d28a831d0668c7b9b476df320dbd735a62 Mon Sep 17 00:00:00 2001 +From 51486daed23114dac9987bca2d33ec298bdcc05c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 016/156] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 016/170] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1060,10 +1060,10 @@ index 6204cc32d09c5096df8aec304c3c37b3bcb6be44..599c218dc8a73172dd4bd4a058fc8f95 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From 1bf1b175436e707b2fc6d31e100b4956c0cd8c46 Mon Sep 17 00:00:00 2001 +From b153567afb88dc7edf7b4aec9f5a51c80c30a6b2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 017/156] firmware: Updated mailbox header +Subject: [PATCH 017/170] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 21 +++++++++++++++++++++ @@ -1149,10 +1149,10 @@ index cb979ad90401e299344dd5fae38d09c489d8bd58..cbd1674570433fc591df89f68c892b33 #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From a20624bc88e37ed706364207cd9a5338bac74f52 Mon Sep 17 00:00:00 2001 +From 3aaecfa55ec45f7ab75d5a6217cc7ac9f0c2e639 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 018/156] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 018/170] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1172,10 +1172,10 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From 2dbe0076815d6084a9576adecd67e58632972567 Mon Sep 17 00:00:00 2001 +From 7e082a53eabcffa7556c84151b31f6b307aceb4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 019/156] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 019/170] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1277,10 +1277,10 @@ index b339e0e67b4c1275fd4992fea4f1e24c0575b783..26b7177573fac2af1cd4ab5488d2686f static int bcm2835_wdt_probe(struct platform_device *pdev) -From 29d1a79a9e57322275076f1f1890edcb81d49f35 Mon Sep 17 00:00:00 2001 +From fa7de5c4c1690594bba1b5ad55c00de988ba76ff Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 020/156] reboot: Use power off rather than busy spinning when +Subject: [PATCH 020/170] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1303,10 +1303,10 @@ index 3b2aa9a9fe268d45335f781c4aa22cf573753a1b..0180d89a34af45c56243fe0f17fbe209 /* -From 9d23bac22f192d704a01e9b033cde91c480ce23e Mon Sep 17 00:00:00 2001 +From 5ae8db593a70aad109d48d99587966d48fe110af Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 021/156] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 021/170] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -1325,10 +1325,10 @@ index 49f1e2a75d614bc21db152327c7b425ae2504f8d..dccd2374ed00631abd441e3e9d78ee74 help This enables support for the RPi power domains which can be enabled -From 321264163a4d87e7ab1a31c87f369c8ba7b23599 Mon Sep 17 00:00:00 2001 +From 8a3f6706d65cdb89a052d3ddc87270daae3da412 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 022/156] Register the clocks early during the boot process, so +Subject: [PATCH 022/170] 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. @@ -1373,10 +1373,10 @@ index 58ce6af8452db9ca8b4d3c380a06e448919f6a8d..11d89d106026f15719ea25047d6f357b MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From a4effe7b54bd5d37d33237050e8dfdc3a006fd19 Mon Sep 17 00:00:00 2001 +From d48a15724ccdf3ee2622cf4b50a7d42db7676efc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 023/156] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 023/170] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1402,10 +1402,10 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From 68f2f4badc48c65d4a79f98558f57998b04c9ae5 Mon Sep 17 00:00:00 2001 +From 94916a4db109aa852f4387766be5d210a2e0a7b9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 024/156] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 024/170] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -1425,10 +1425,10 @@ index 9ffd3dda3889c56a7a72229bed21ff5c49d62856..00da6c9bacbf33334233e22ca5209ade esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From 8640ab81e01ce41ade97b335eebddb83d727940e Mon Sep 17 00:00:00 2001 +From 64a216b7ada100fd41bfdd1df9377eaaea055cb0 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 025/156] BCM2835_DT: Fix I2S register map +Subject: [PATCH 025/170] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -1466,10 +1466,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 56eeb37400267ca0d36efb6458d5a38b9178995a Mon Sep 17 00:00:00 2001 +From 44af6d255818d688dcd139963195064eea1bac77 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 026/156] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 026/170] 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 @@ -1497,10 +1497,10 @@ index 11d89d106026f15719ea25047d6f357b4bfcb2c5..fe8f5d65f2749cb3ddc878df61664826 divider->data = data; -From cbc388323525cd53dfd51a5d932d7319d2bceeab Mon Sep 17 00:00:00 2001 +From 80a2ef1892038b3ee9afd16298c941144dc6dfc6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 027/156] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 027/170] 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, @@ -1602,10 +1602,10 @@ index fe8f5d65f2749cb3ddc878df616648267441e0ee..92b5e0f5145b32d3bfc3592fe381e8be sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From f73acf735e77f6128c689734618e969f79dd1885 Mon Sep 17 00:00:00 2001 +From 3b5cdc5dd91b97826c28242f3bc36754293540e5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 028/156] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 028/170] 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 @@ -1720,10 +1720,10 @@ index 92b5e0f5145b32d3bfc3592fe381e8be3cd90c72..336f8c9c44325d0a94e591a8557f7af2 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From 195917b2219c284543d57dc4b15d5f1eb87f0c7e Mon Sep 17 00:00:00 2001 +From 52997b935d7e074a0dbe3dc17e7a56ad313e4673 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 029/156] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 029/170] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -1761,10 +1761,10 @@ index 336f8c9c44325d0a94e591a8557f7af246adc857..caa05e5ad0b7b5cd683e04fb3591a3df * Pass the CLK_SET_RATE_PARENT flag if we are allowed to propagate * rate changes on at least of the parents. -From c71c0ebb1d61fc99cfd09cd8a91715d7b39ef14c Mon Sep 17 00:00:00 2001 +From 155491f6edc30188ad6e36a3d9f1dcd3e9759d5b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 030/156] sound: Demote deferral errors to INFO level +Subject: [PATCH 030/170] 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. @@ -1799,10 +1799,10 @@ index fee4b0ef5566cf9e8de0bf5c568706da9cab2ea2..c728a4148903e983d61b6ae65765ba11 goto _err_defer; } -From c569310d249d1e970501449d500e986a45ecfc5e Mon Sep 17 00:00:00 2001 +From a326e4da81a238cfd48f3c674a08ac6e05955e7d Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 031/156] Update vfpmodule.c +Subject: [PATCH 031/170] 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 @@ -1939,10 +1939,10 @@ index a71a48e71fffa8626fe90106815376c44bbe679b..d6c0a5a0a5ae3510db3ace5e3f5d3410 /* * Save the userland NEON/VFP state. Under UP, -From 1810300a6150e3fda9025d354b93b06e791e60ee Mon Sep 17 00:00:00 2001 +From fdd1e163a349722bebbf152c666950d5c3759d2b Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 032/156] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 032/170] ASoC: bcm2835_i2s.c: relax the ch2 register setting for 8 channels This patch allows ch2 registers to be set for 8 channels of audio. @@ -1963,10 +1963,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..56df7d8a43d0aac055a91b0d24aca8e1 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From 14414793647862240b41d92e060bf544da028869 Mon Sep 17 00:00:00 2001 +From 0a483552671d915b51837bd9dcf82b6c2eb69064 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 1 Nov 2016 15:15:41 +0100 -Subject: [PATCH 033/156] i2c: bcm2835: Add debug support +Subject: [PATCH 033/170] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2155,10 +2155,10 @@ index cd07a69e2e9355540442785f95e90823b05c9d10..47167f403cc8329bd811b47c7011c299 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From 928822666a337539431f52f3c9f1e891824406c5 Mon Sep 17 00:00:00 2001 +From dda131ebc9f1ebf6c400a10a73ad6bf926b107bb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 034/156] mm: Remove the PFN busy warning +Subject: [PATCH 034/170] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -2183,10 +2183,10 @@ index d51c2087c498c63f3f515d2931e42b5110efb62f..fd094c36e26c712d7537b16aa547d3e8 goto done; } -From a2df686515eff3783a9f093ecdec65f4de7f3717 Mon Sep 17 00:00:00 2001 +From 95908941275e9d186482cb02726e3f14765ddd28 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 035/156] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 035/170] 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 @@ -2211,10 +2211,10 @@ index c367d11079bc90feec2ad0fa748d7ffc3035faba..91d5b531b69b49db97f7febbc60d33a2 config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From e5c0d06f8dda015729b4677f262de672a7e56253 Mon Sep 17 00:00:00 2001 +From 1affa15b50fbd3f2fda89aae8ffdfa5cce5d8b5a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 036/156] Main bcm2708/bcm2709 linux port +Subject: [PATCH 036/170] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2402,10 +2402,10 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From 6b811eb961fc8ee4b32c9d4b0ce1895262865ea3 Mon Sep 17 00:00:00 2001 +From f7d9f9dcc5cc60388d4051285abbc6697863a415 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 037/156] Add dwc_otg driver +Subject: [PATCH 037/170] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -63702,10 +63702,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From 62e8030e639ca93fdd156434fa4b9c4d87df49b5 Mon Sep 17 00:00:00 2001 +From 525ac9e886145bbcdd6b07d273eb59dcd35fa526 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 038/156] bcm2708 framebuffer driver +Subject: [PATCH 038/170] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67164,10 +67164,10 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From 1f1fb9db16b2469b6f85c838411c6c82294ddd6a Mon Sep 17 00:00:00 2001 +From 626acf921ac00ddafe750572719a1082e6a09669 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 039/156] dmaengine: Add support for BCM2708 +Subject: [PATCH 039/170] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67798,10 +67798,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From c5978cf87ec8a54135cf156d30660230e5c20b3a Mon Sep 17 00:00:00 2001 +From 19b302fd43f883fdf8b061d833e4221e0f3ca07d Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 040/156] MMC: added alternative MMC driver +Subject: [PATCH 040/170] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69681,10 +69681,10 @@ index 279b39008a33bb68745d9ea55ea5dd7ed522fd1c..49bdea5791a289251019a89419804dde unsigned int erase_size; /* erase size in sectors */ -From 39c43fc145cae70882e3e3488290c84b87dcaeae Mon Sep 17 00:00:00 2001 +From 71cf21a4614cd67f1aba458b39ef52e5ec81fac2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 041/156] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 041/170] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -72090,10 +72090,10 @@ index 0000000000000000000000000000000000000000..9c6f199a7830959f31012d86bc1f8b1a +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From 5a859b5d42cd44e7188dbf6acac2223db98f0314 Mon Sep 17 00:00:00 2001 +From 5fc610b5a0e9c5709dbc7057f596b4e7e25dc4e9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 042/156] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 042/170] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -72618,10 +72618,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From 9532a0d9fa463fd619def308b7bf42242f7aed94 Mon Sep 17 00:00:00 2001 +From 5bd5d6807413cbcd1544495d1a322e9a9448df6e Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 043/156] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 043/170] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -77499,10 +77499,10 @@ index 0000000000000000000000000000000000000000..b75729d762f25aace133f7a008633b40 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 2353792af28878cabd4dd7bfb6e88a479625f1a7 Mon Sep 17 00:00:00 2001 +From 386eb0fbba5558540bd685ca2e43527bd0ee2d01 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 044/156] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 044/170] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -77810,10 +77810,10 @@ index 0000000000000000000000000000000000000000..f5e7f1ba8fb6f18dee77fad06a17480c +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From 1df83a13e38a1e11488f14149e090adc34b29f18 Mon Sep 17 00:00:00 2001 +From 76b9d49ce75de844192787286223914c07935910 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 045/156] Add SMI driver +Subject: [PATCH 045/170] Add SMI driver Signed-off-by: Luke Wren --- @@ -79764,10 +79764,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From 1d94ec2cc547bb401165d21361065a72146bda2f Mon Sep 17 00:00:00 2001 +From b397c175ed16500ef942243d587664d12d468e14 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 046/156] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 046/170] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -79936,10 +79936,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From b8a743e8eee44e5b30592abd0d54a3d0c5afc753 Mon Sep 17 00:00:00 2001 +From 88fa190331d6469fd66de90fe73f1ff5ed9dc259 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 047/156] Add SMI NAND driver +Subject: [PATCH 047/170] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -80304,10 +80304,10 @@ index 0000000000000000000000000000000000000000..c4826ea1c2bae555ce780e61f1076ddd + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From cbda011089d3714435c827b48e4e5dded33a8cb3 Mon Sep 17 00:00:00 2001 +From 0f065aafd222ebfde11f1874ab168101be59511f Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 048/156] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 048/170] lirc: added support for RaspberryPi GPIO lirc_rpi: Use read_current_timer to determine transmitter delay. Thanks to jjmz and others See: https://github.com/raspberrypi/linux/issues/525 @@ -81167,10 +81167,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From 15fd797651ad28da87939f23a37a00abcee720b7 Mon Sep 17 00:00:00 2001 +From cf29c9e139506cd73ad4d25b8393b39f1c5ca90a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 049/156] Add cpufreq driver +Subject: [PATCH 049/170] Add cpufreq driver Signed-off-by: popcornmix @@ -81434,10 +81434,10 @@ index 0000000000000000000000000000000000000000..99345969b0e4d651fd9033d67de2febb +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From dcaf9efdeae0aabc2dca9d7c8e8fb2ab480cbbd3 Mon Sep 17 00:00:00 2001 +From a99bc9193dce715a19d68cb739c2e2e7c76e5cbf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 050/156] Add Chris Boot's i2c driver +Subject: [PATCH 050/170] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82102,10 +82102,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From 5619cefc11e86117c3b5e9bf9ba648c732423ab0 Mon Sep 17 00:00:00 2001 +From 68af472fe3d9f4e7d99f35a13874ebe32efdfe73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 051/156] char: broadcom: Add vcio module +Subject: [PATCH 051/170] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82330,10 +82330,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From d9ef0aadf1aab86a823f99de4722ecb80ff1bda4 Mon Sep 17 00:00:00 2001 +From 51e60eb8ab22324e401912e2213ff400325ef662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 052/156] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 052/170] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82416,10 +82416,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From 479b55d64371c5ddcdeb1af08f3ecb3aa40ef58f Mon Sep 17 00:00:00 2001 +From 062cd6cc4f509a44c61d953942db2be91d520ea9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 053/156] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 053/170] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -82946,10 +82946,10 @@ index 0000000000000000000000000000000000000000..84be2593ec1de8f97b0167ff06b3e05d + return $trailer; +} -From e10f56a0f5b9c959f3d46b261aebc913f4c9eee6 Mon Sep 17 00:00:00 2001 +From d0173c9ce6527f2058faff538772b19dcc683897 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 054/156] BCM2708: Add core Device Tree support +Subject: [PATCH 054/170] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -95414,10 +95414,10 @@ index 04b5633df1cfafa316f9086c4bf98a9ecf9d0939..d523d1e14220a369c4c766ca3a01208e # Bzip2 -From eb15bc53f15bf549a158519e8798817f47597964 Mon Sep 17 00:00:00 2001 +From 56acbe2b97ba8f4f5522391e30f8ee38248e25d8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 055/156] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 055/170] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -95592,10 +95592,10 @@ index bf6db4fe895bcd67e04ee65e8f76ea104af6299f..8741dca6dba65e2d72fbdbc1702139c2 /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -From ca45404307f86dcf0bbe702bfc9435ac16d4ef67 Mon Sep 17 00:00:00 2001 +From 73196cc75222a66721b94a87230c34541bd1e925 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 056/156] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 056/170] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -95863,10 +95863,10 @@ index 6cd9b198b7c64eb94821f2e3f2c5201e6c6d25eb..f36c92c2da7487437c33f7a4e2c6e09e __u32 dx; /* screen-relative */ __u32 dy; -From a19e8f68eaed63a6297a697f31aeea2d262ac8b2 Mon Sep 17 00:00:00 2001 +From 312f9d48c614efd4d5492e2fad571b38149a28fc Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 057/156] Speed up console framebuffer imageblit function +Subject: [PATCH 057/170] 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 @@ -96075,10 +96075,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From a104e8132c806ca65c5306f6086e461bd7b06bd1 Mon Sep 17 00:00:00 2001 +From 0d31a777fc07b7c46ab797bbc2c49cd81109fe49 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 058/156] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 058/170] enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module) 1-wire: Add support for configuring pin for w1-gpio kernel module @@ -96328,10 +96328,10 @@ index 5b2972946dda5f9ad415f1eaeaab67743a5cc0f0..b3558b7c9efb2484b40e31312aee197b u8, w1_slave_found_callback); }; -From 6e0a7d053aadba60d84d57d922118b1721f48db9 Mon Sep 17 00:00:00 2001 +From 9b3b2958e8908c7e2668d733534f93fa7aa190c6 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 059/156] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 059/170] 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 @@ -96676,10 +96676,10 @@ index 0000000000000000000000000000000000000000..9d7d05482355d168c5c0c42508cd9789 +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); -From ce8e1e6beb5a0ff2a19c4401e212f1ac630edb2a Mon Sep 17 00:00:00 2001 +From 8ad9e68d524657c1b2c88bbb45126e10f406b454 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 060/156] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 060/170] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -98259,10 +98259,10 @@ index 971bc298f63eeeed418131b7b7200ac91b0d73f1..78e9f6e8c6fdebdb754cb703095d1726 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From d9d3b795cd9df97f3af02a26b871bb2a60333329 Mon Sep 17 00:00:00 2001 +From 37219d434e7334786f637dfcbf57de2e060e64c8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 061/156] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 061/170] 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 @@ -98297,10 +98297,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 014aa3731d98f27689a839e7a906254a2429b2e9 Mon Sep 17 00:00:00 2001 +From 174d7fe4fd292a306d66e6e449dc2153ab805a33 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 062/156] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 062/170] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -99165,10 +99165,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From 5ef2bfd587ebc15bfdebf367952c4b2b2433239b Mon Sep 17 00:00:00 2001 +From 88fa4f4b1bb008e747ef9e8294782d98c6f2adec Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 063/156] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 063/170] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -99343,10 +99343,10 @@ index 0000000000000000000000000000000000000000..ee9f133953544629282631e5ef3f73fe +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From f26ccc628d4257c0fde732a1bb91597914cc08d6 Mon Sep 17 00:00:00 2001 +From 5e2e952f6f119ebd070d1ccac327e9ba9308873c Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 064/156] ASoC: Add support for Rpi-DAC +Subject: [PATCH 064/170] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -99630,10 +99630,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 7f689c35cb67718bf21b9ebf2b1169979b272b20 Mon Sep 17 00:00:00 2001 +From 4a2bd6e0ddd5970a417f53387365284274e4ee79 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 065/156] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 065/170] ASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample rates. At 192kHz only 128xfs is supported. The existing driver selects 128xfs automatically for some lower samples rates. By using an @@ -99682,10 +99682,10 @@ index fc69b87443d80489382b97332de6d5ad12a58ec8..d8fdce81b297dcf02e144bdead0c6193 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From ae0816c5184a8ed1e31ce7c6ac9112f255c545e8 Mon Sep 17 00:00:00 2001 +From b9903adfd82c07097534bf366db69db6e9018074 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 066/156] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 066/170] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -100029,10 +100029,10 @@ index 0000000000000000000000000000000000000000..7620dd02de40b6d644ff038b445d375d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From 91650de23667a3c5058dd1b3a50bed8def9b1ba7 Mon Sep 17 00:00:00 2001 +From 96565d45ebb5ac1f28d1d1010c86224198caf5b8 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 067/156] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 067/170] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -100367,10 +100367,10 @@ index 0000000000000000000000000000000000000000..1ee4097c846376666775272ed692ca33 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From aef9437e237b2ba638eb0c3ee7de7688329dc576 Mon Sep 17 00:00:00 2001 +From 1ed5a9285b4c71e6d4a2f118973b3cffe7883433 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 068/156] Added support for HiFiBerry DAC+ +Subject: [PATCH 068/170] 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. @@ -101005,10 +101005,10 @@ index 68feae262476492ae3a0b30855dbb09e96fa187e..f7b0977017ed5a6c02eafa0147d49d66 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From b8ae2020ecedc5af5af10543f0fcdeb5b0d486f3 Mon Sep 17 00:00:00 2001 +From 47fbae50722d21a2552189b8266d3e593e410eaf Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 069/156] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 069/170] 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. @@ -101843,10 +101843,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From a39c9be5bfad358e4e1e0a1f86aa0a48ca43d539 Mon Sep 17 00:00:00 2001 +From 13d5575b214ece280faa08f812b57ca1faa9254f Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 070/156] Add driver for rpi-proto +Subject: [PATCH 070/170] 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 @@ -102061,10 +102061,10 @@ index 0000000000000000000000000000000000000000..fadbfade100228aaafabb0d3bdf35c01 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From 49816e6ebdd4c90c8e740d15d093870923d5337f Mon Sep 17 00:00:00 2001 +From 562729b5173b9dcb725be73d387c0b520e4fca1e Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 071/156] RaspiDAC3 support +Subject: [PATCH 071/170] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -102307,10 +102307,10 @@ index 0000000000000000000000000000000000000000..ad2b5b89bc8213dc2e277306ef50d6e3 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From a7568a9d0bceb2678d3c2d63ac9ce04ec87a263a Mon Sep 17 00:00:00 2001 +From d9ef4c4e0774f8cfa58ef475e2d6d597ec9f38fe Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 072/156] Add Support for JustBoom Audio boards +Subject: [PATCH 072/170] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -102766,10 +102766,10 @@ index 0000000000000000000000000000000000000000..909cf8928f2f4313982316f9c5b8a709 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From 82b0d9cab0d9154a5e937deed6794a4c66e92fc2 Mon Sep 17 00:00:00 2001 +From f69474b7bd6edbb0b7e11c8cbd8b8998f5b6ca1e Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 073/156] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 073/170] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -102951,10 +102951,10 @@ index 0000000000000000000000000000000000000000..f3d7e5db7bb912e1d7ca6f8e8d42df5f +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 07827fd83575405414813d0b7595ab7cb5148f25 Mon Sep 17 00:00:00 2001 +From 3a67b3cafae4859f0838d429650cc1ac8066a5e5 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 074/156] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 074/170] 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. @@ -103205,10 +103205,10 @@ index 0000000000000000000000000000000000000000..491906bbf446826e55dd843f28e4860f +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From b0f43bb8166292b77d188e1cb4a28c8d1c239750 Mon Sep 17 00:00:00 2001 +From cf9b23492a54b8ffb0d0348fce0c31770dca717c Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 075/156] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 075/170] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -103508,10 +103508,10 @@ index 0000000000000000000000000000000000000000..33aa2be8a43a12a12cfb5d844dd9732c +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From f600a240390d60342025f77bac6f4846224f6418 Mon Sep 17 00:00:00 2001 +From 9c800dd793c72cbbaf54f353f7a41624a80b6469 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 076/156] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 076/170] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -103984,10 +103984,10 @@ index 0000000000000000000000000000000000000000..f200688bb4ae32b90a0ced555aed94b0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 4a39d2612bfa2f22e6b527873d74be3aadae1da3 Mon Sep 17 00:00:00 2001 +From 21eab58604d67a499bf6516347a5c3685c2c4f25 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 077/156] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 077/170] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -104160,10 +104160,10 @@ index 0000000000000000000000000000000000000000..65e03741d349a2dc5bd91f69855ea952 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From d82a4fdba1eb6ad36e1b4cb4b1c527c2a2a00cf7 Mon Sep 17 00:00:00 2001 +From 6edd7e37a691f1555401b76a1304cd6c411d2a76 Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 078/156] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 078/170] 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, @@ -104370,10 +104370,10 @@ index 0000000000000000000000000000000000000000..eaf50fb6dbca1970ae1c6f8662088b0f +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From 16373e16929ecc019c13e839dc504bdabf30c036 Mon Sep 17 00:00:00 2001 +From 398b58b3985a313e3761f4cbd6b8e078402d7e4f Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 079/156] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 079/170] 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. @@ -105461,10 +105461,10 @@ index 0000000000000000000000000000000000000000..1800f5e4d414e2d83a9487a89a2800a3 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From 6e95e8cf3d25d294b0a89271df885815ee496593 Mon Sep 17 00:00:00 2001 +From 1ac0cdc212b3b2c172b732497daca52f970df04e Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 080/156] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 080/170] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -106167,10 +106167,10 @@ index 0000000000000000000000000000000000000000..203ab76c7045b081578e23bda1099dd1 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From f0beba8bdc0015e5ca11de807b64eb4772a7e545 Mon Sep 17 00:00:00 2001 +From 9e5d7c977aeac2053c8b69ed2a506dacbc210759 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 081/156] Support for Blokas Labs pisound board +Subject: [PATCH 081/170] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) @@ -107369,10 +107369,10 @@ index 0000000000000000000000000000000000000000..06ff1e53dc9d860946965b6303577762 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From 44930a806da8dbd18056135fc3c3abce7af8d861 Mon Sep 17 00:00:00 2001 +From 95ab243362e9365ff2d59ecba33104df2c7c2f68 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 082/156] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 082/170] 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 @@ -108437,10 +108437,10 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From 09500541b1bafdd82d6755d4f92ec9a1d3a009d5 Mon Sep 17 00:00:00 2001 +From 4be2400d2375641866c751a6659b4297f226d8b9 Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 083/156] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 083/170] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -108635,10 +108635,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From 069348585476a8336e604ac3d95d088c989363f1 Mon Sep 17 00:00:00 2001 +From 94d556fb317ed5346c2464717a0fef3c79ccdeaa Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 084/156] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 084/170] 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. @@ -108852,10 +108852,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From 499c5e2918e1bb1ec400694d87b06791c1bb20ef Mon Sep 17 00:00:00 2001 +From b008fbe4a8cc5829e805f305045a45ca481c5cd4 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 085/156] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 085/170] Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset @@ -109264,10 +109264,10 @@ index 0000000000000000000000000000000000000000..5e79f4eff93a21ed3495c77a90f73525 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From fe48405b4cc8003578e5dfc9b9a15fa1bb519ac4 Mon Sep 17 00:00:00 2001 +From 90b22ac354d2e412c7a1aad5c19cc20ac46ef82a Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 086/156] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 086/170] Driver support for Google voiceHAT soundcard. --- sound/soc/bcm/Kconfig | 7 ++ @@ -109658,10 +109658,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From b210cfdea11900e15789c98ea13d46336f463ec7 Mon Sep 17 00:00:00 2001 +From f2aef5b67e61ebd5b40211b2d7d8720b874c326c Mon Sep 17 00:00:00 2001 From: sandeepal Date: Fri, 2 Jun 2017 18:59:46 +0530 -Subject: [PATCH 087/156] Allo Digione Driver (#2048) +Subject: [PATCH 087/170] Allo Digione Driver (#2048) Driver for the Allo Digione soundcard @@ -109984,10 +109984,10 @@ index 0000000000000000000000000000000000000000..9387b055875fdf92a13dc4a9d2727f95 +MODULE_DESCRIPTION("ASoC Driver for Allo DigiOne"); +MODULE_LICENSE("GPL v2"); -From 6113ead5b49f159bf453e0a86d925dfe1ddf35f5 Mon Sep 17 00:00:00 2001 +From 1160bdbfc4ea2c4a725fb8af8411e1a300dcf25d Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 088/156] rpi_display: add backlight driver and overlay +Subject: [PATCH 088/170] 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 @@ -110156,10 +110156,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From e2fb27c47d95c61ade6dda988c396dbb17e45569 Mon Sep 17 00:00:00 2001 +From cfba43482f46d808fd02a43e9175fcde7d37aa69 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 089/156] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 089/170] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -110420,10 +110420,10 @@ index 0000000000000000000000000000000000000000..c3725546def9d4a6264fbb1f6b9814d0 +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); -From b24bf7884dc36cb13e5fcc8ac6041fa0bbdf9f12 Mon Sep 17 00:00:00 2001 +From d77d0f64deb5c3c36c49ce530442c56bda218eb3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 090/156] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 090/170] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -110732,10 +110732,10 @@ index 0000000000000000000000000000000000000000..d68adafaee4ad406f45f4ff0d6b7c1ad +MODULE_DESCRIPTION("brcm-exp GPIO driver"); +MODULE_ALIAS("platform:brcmexp-gpio"); -From 8c825b2fb64f1fb5b740391d0cc43e5066e84240 Mon Sep 17 00:00:00 2001 +From 70562b4ede7a2f643d7830c1bac2efb2bd8603a2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 091/156] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 091/170] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause @@ -110764,10 +110764,10 @@ index 111e6a95077978c2c30bfe2a2de4a0d095e8d76e..584471add0962c0e26eb814fc0ef43ee uap->old_cr = 0; uap->port.dev = dev; -From 0cae01eacc85085e805d67783397770a915618ce Mon Sep 17 00:00:00 2001 +From fefca61ea56d35bb022f88cb69bfb206ea1890f0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 092/156] amba_pl011: Round input clock up +Subject: [PATCH 092/170] 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 @@ -110853,10 +110853,10 @@ index 584471add0962c0e26eb814fc0ef43eea99b2d29..bfbc845d7be9ef804468d0a82da18d9b /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -From 58c109fde8bd6c10eba2d06170be70bbb850608f Mon Sep 17 00:00:00 2001 +From 8076ccb7ea1fc2202a12387c16d1295fcf2add61 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 093/156] OF: DT-Overlay configfs interface +Subject: [PATCH 093/170] 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. @@ -111289,10 +111289,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From 491abb48ce9479c3e6c13ac6d4455bc10af832a5 Mon Sep 17 00:00:00 2001 +From 9e0f44234bf24e309ee4e383112dbbe12f8ceb65 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 094/156] brcm: adds support for BCM43341 wifi +Subject: [PATCH 094/170] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -111424,10 +111424,10 @@ index b3fa8ae804650f7ea838ff59ca84dfb6ca24da90..c1e86df297edf2fa7f641e36ccbfc733 BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -From 3100c83ffbdcf00b740a194677eec30f852f11d2 Mon Sep 17 00:00:00 2001 +From dee5a231b34108ea54160ff2a8dc141e46b18a11 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 095/156] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 095/170] brcmfmac: Mute expected startup 'errors' The brcmfmac WiFi driver always complains about the '00' country code. Modify the driver to ignore '00' silently. @@ -111451,10 +111451,10 @@ index 2d3b5e2a3ef7cd6186487b48665b401249380d18..e417454f5d6ec136cda29e65af5449f2 req->alpha2[0], req->alpha2[1]); return; -From 90beb38bf6d1347e07868024894576de8de2c6c4 Mon Sep 17 00:00:00 2001 +From 81ff667abb2240ebaece2ff1c7e690d339964d5a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 096/156] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 096/170] 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. @@ -111477,10 +111477,10 @@ index c0e4e26dc30d7c3c6a771b7b86df88c8cf763646..7308287259eedcaf229f8a496a0e3826 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 470aee76e0fe145b6f40f8fd1541344823af32a0 Mon Sep 17 00:00:00 2001 +From 935dc6c7740fa51240f2702ee8e4936a68dba0ab Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 097/156] config: Add default configs +Subject: [PATCH 097/170] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1339 +++++++++++++++++++++++++++++++++++ @@ -114185,10 +114185,10 @@ index 0000000000000000000000000000000000000000..c1da808d40bc8e867b41d3566bd60a75 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From e61e26039df463fdd354f24877075bd38f97f9b8 Mon Sep 17 00:00:00 2001 +From b3891f561bf601014c1ba70509a0f4415eb1940f Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 098/156] Add arm64 configuration and device tree differences. +Subject: [PATCH 098/170] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -115602,10 +115602,10 @@ index 0000000000000000000000000000000000000000..e6b09fafa27eed2b762e3d53b55041f7 +CONFIG_LIBCRC32C=y +CONFIG_BCM2835_VCHIQ=n -From fd72f89ad8fd95ecf834c089d0484f6e57f348d2 Mon Sep 17 00:00:00 2001 +From a85d866bf2514b86829734ec59e33ebd5f65f5d2 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 099/156] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 099/170] ARM64: Make it work again on 4.9 (#1790) * Invoke the dtc compiler with the same options used in arm mode. * ARM64 now uses the bcm2835 platform just like ARM32. @@ -116016,10 +116016,10 @@ index e6b09fafa27eed2b762e3d53b55041f793683d27..c7e891d72969a388d9b135a36dbfc9c9 CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -From bde5ef54989937f9c0637186b2d3b88c2d4222b6 Mon Sep 17 00:00:00 2001 +From 648c1d011a01121a3c5d62b53d2d23424b735a2d Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:10:07 -0800 -Subject: [PATCH 100/156] ARM64: Enable HDMI audio and vc04_services in +Subject: [PATCH 100/170] ARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig Signed-off-by: Michael Zoran @@ -116048,10 +116048,10 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..4b90f9b64abe9f089ba56b13d5a00de3 CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set -From b356db8cc8a1158020502d5d602b1d8a3ed781e5 Mon Sep 17 00:00:00 2001 +From ea6bfdc99658b2f7ef9b7d269b57cdb708888837 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:14:03 -0800 -Subject: [PATCH 101/156] ARM64: Run bcmrpi3_defconfig through savedefconfig. +Subject: [PATCH 101/170] ARM64: Run bcmrpi3_defconfig through savedefconfig. Signed-off-by: Michael Zoran --- @@ -116096,10 +116096,10 @@ index 4b90f9b64abe9f089ba56b13d5a00de33343bfb9..dac962ca1634662ce7d966f1ffb53b5b CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m -From b1b97d16f0c098451d2716033d6095ade5ba05de Mon Sep 17 00:00:00 2001 +From 0292e521e77b7fbeec22e96de9d688fa492d9d91 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 102/156] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 102/170] ARM64: Enable Kernel Address Space Randomization (#1792) Randomization allows the mapping between virtual addresses and physical @@ -116131,10 +116131,10 @@ index dac962ca1634662ce7d966f1ffb53b5bfa27c506..aae33b4b3c3e736ea7cd3ca242158ad6 CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From 3b19ee8423411688908b4b5996f667f9c2248828 Mon Sep 17 00:00:00 2001 +From c359956c08f4992256d5b8c4c88fbab2bd73d5c7 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 103/156] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 103/170] ARM64: Enable RTL8187/RTL8192CU wifi in build config These drivers build now, so they can be enabled back in the build configuration just like they are for @@ -116159,10 +116159,10 @@ index aae33b4b3c3e736ea7cd3ca242158ad6ba558aff..b7d762df19b85e369a32cd823dfd0621 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From c7cc24b2d32fad6c665c4d084c801483acb9b982 Mon Sep 17 00:00:00 2001 +From 6762cf208b3ee6d3a38aa4f1c690772396a72a73 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 104/156] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 104/170] 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 @@ -116505,10 +116505,10 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From 59994acd0c5ee2690597b92d2c943bbb9c686812 Mon Sep 17 00:00:00 2001 +From 50431d70da7df7f3d6cd7ff6c5835d7e1e55005d Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 105/156] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 105/170] 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 @@ -116582,10 +116582,10 @@ index 86b357ae027bf8ba1ac32cd150a8cf21e36597e2..05b17ca993f405c4c8e61a782ec58149 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From 6599dc008b0a0c2e8f944b5f400c6f2ff2d99d07 Mon Sep 17 00:00:00 2001 +From 7f80ce4624add32aaffa809acfa908209a1da0f2 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 106/156] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 106/170] ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran @@ -116606,10 +116606,10 @@ index b7d762df19b85e369a32cd823dfd062145bdefa7..4d85c231c5ea0244e1b05fb4a5e3c8fd CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From 505a6f0d7fa2ca0ed200e742f74976b46ad850ea Mon Sep 17 00:00:00 2001 +From ece5895a229e3bc868c08880e00087fe270ae319 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 107/156] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 107/170] ARM64: Force hardware emulation of deprecated instructions. --- @@ -116637,10 +116637,10 @@ index d06fbe4cd38d7423c900aff64b0e728f995478d3..877b7c90f9555203d5d55d739359a256 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -From efaa6d619eb4ce1691a89154e5b5e4a305764e98 Mon Sep 17 00:00:00 2001 +From 4712446bfdb0f531b1a7e482bfdf25344fcd72ca Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 108/156] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 108/170] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -116665,10 +116665,10 @@ index 7318165cfc90b5b4e36048fbafd9287a1cf3516f..f6f5df3f262b0baf1338bea188d78883 dtbs: prepare scripts -From 348ca83c2f655e80e913aac4e52f58f15237b032 Mon Sep 17 00:00:00 2001 +From 73118e643dfbe780d698a8bfa811cbb32e9f1490 Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Wed, 24 May 2017 10:52:50 +0200 -Subject: [PATCH 109/156] enable drivers for GPIO expander and vcio +Subject: [PATCH 109/170] enable drivers for GPIO expander and vcio --- arch/arm64/configs/bcmrpi3_defconfig | 3 +++ @@ -116696,10 +116696,10 @@ index 4d85c231c5ea0244e1b05fb4a5e3c8fd3e651ddf..9dcb58a519d041fadae99c81a7bda621 CONFIG_GPIO_ARIZONA=m CONFIG_GPIO_STMPE=y -From cc63d5bf3ea73206058fcf93da6e434381988c3a Mon Sep 17 00:00:00 2001 +From fb34caf3ac99c6acbfabfcc304dc1ae9a863b246 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 110/156] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 110/170] bcm2835-aux: Add aux interrupt controller The AUX block has a shared interrupt line with a register indicating which devices have active IRQs. Expose this as a nested interrupt @@ -116863,10 +116863,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From afd78fe5da78e4f0f681fefb1f252d89ef9f11e1 Mon Sep 17 00:00:00 2001 +From 6b52689c0cdd949e802359902b71351236704f3c Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 111/156] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 111/170] This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator. It includes the CXD2880 driver and the CXD2880 SPI adapter. The current CXD2880 driver version is 1.4.1 - 1.0.1 released on April 13, 2017. @@ -132998,10 +132998,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From 5dbe955ec48ef44648e94451318750bb6df81ab7 Mon Sep 17 00:00:00 2001 +From 8f5cf6bb86329cebb320a8afb5f1de41d4adcf52 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 112/156] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 112/170] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -133033,10 +133033,10 @@ index 3f070bd38a91511c986e3fb114b15bd4ac32634c..f261b64d1657c02290904d841e1f087c /** * rpi_firmware_property_list - Submit firmware property list -From c3937409b87dfca100acf60068a4c56059ab4721 Mon Sep 17 00:00:00 2001 +From 965372ef50a7875da7ac37aece8b6809f2fcf75d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 113/156] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 113/170] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt @@ -133807,10 +133807,10 @@ index 0000000000000000000000000000000000000000..78c34305935501248b1ca548a1ee0175 + }, +}; -From 19f8ac2c5d3ef969dafd1a40b332b9d62bf972f6 Mon Sep 17 00:00:00 2001 +From 87113204779914fbb60deb59fdbeb8d2e4cf5c6d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 114/156] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 114/170] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. @@ -133834,10 +133834,10 @@ index 78c34305935501248b1ca548a1ee01753b8fa099..d9a5551d01a2155e3df1bbbd78a1ee2b if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From 9db72b7db374334f1dde969128cf93c20bafe392 Mon Sep 17 00:00:00 2001 +From bf123f24251108301e1a1e457a11be0a7cf1f7b1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 115/156] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 115/170] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was @@ -133907,10 +133907,10 @@ index d9a5551d01a2155e3df1bbbd78a1ee2b961be946..e372666af0119b1876bad5167e6d0ff8 RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From d4b7579168512d1f3388492ab6b38524d30b7f61 Mon Sep 17 00:00:00 2001 +From f9de1f4218540becca452a0195aeaaced7a0c637 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 116/156] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 116/170] 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 @@ -133952,10 +133952,10 @@ index e372666af0119b1876bad5167e6d0ff8945d1b80..4d7b7f218cbbc9e7abcaa37743978060 static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From 95d3f4df4cb6e31ece205afb16c159a23dea0276 Mon Sep 17 00:00:00 2001 +From 213b5cb326f9d0475fdc620d0a519cfea3d8751b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 117/156] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH 117/170] vc4_fkms: Apply firmware overscan offset to hardware cursor --- @@ -134012,10 +134012,10 @@ index 4d7b7f218cbbc9e7abcaa37743978060b73fbdd1..d170775ccc985637ff018804f510a500 return 0; -From 71d68a2a2dd549fdc5887f05226490e4e87b57ca Mon Sep 17 00:00:00 2001 +From 055d3dc7d1074ec670a2477f45f32a5d7803748b Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 11:34:26 +0200 -Subject: [PATCH 118/156] ASoC: bcm2835: Add support for TDM modes +Subject: [PATCH 118/170] ASoC: bcm2835: Add support for TDM modes bcm2835 supports arbitrary positioning of channel data within a frame and thus is capable of supporting TDM modes. Since @@ -134417,10 +134417,10 @@ index 56df7d8a43d0aac055a91b0d24aca8e1b4e308e4..dcacf7f83c9371df539a788ea33fedcf dev->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, dev); -From 7bb2e3cc51efdd7f5e3916296635d3ca2786668a Mon Sep 17 00:00:00 2001 +From 864a8cc2b58e80d0eddff494b35137936229ad85 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 15:30:50 +0200 -Subject: [PATCH 119/156] ASoC: bcm2835: Support left/right justified and DSP +Subject: [PATCH 119/170] ASoC: bcm2835: Support left/right justified and DSP modes DSP modes and left/right justified modes can be supported @@ -134666,10 +134666,10 @@ index dcacf7f83c9371df539a788ea33fedcf97d64690..3a706fda4f39e42efbe12f19d87af9b1 } -From 228d120aa69bc4d61a03809e719f227b7761ba58 Mon Sep 17 00:00:00 2001 +From f9e608621437c51fbf7071cdbb7ff359995d0cbe Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:19:54 +0200 -Subject: [PATCH 120/156] ASoC: bcm2835: Support additional samplerates up to +Subject: [PATCH 120/170] ASoC: bcm2835: Support additional samplerates up to 384kHz Sample rates are only restricted by the capabilities of the @@ -134712,10 +134712,10 @@ index 3a706fda4f39e42efbe12f19d87af9b100a348a5..43f5715a0d5dda851731ecf7ff27e76c | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE -From 8e8081ac8312b0391d415346b72e1509b6dc1b3a Mon Sep 17 00:00:00 2001 +From 9c1af7298d5e31017b9ce2e4110ee36685a012fb Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:24:57 +0200 -Subject: [PATCH 121/156] ASoC: bcm2835: Enforce full symmetry +Subject: [PATCH 121/170] ASoC: bcm2835: Enforce full symmetry bcm2835's configuration registers can't be changed when a stream is running, which means asymmetric configurations aren't supported. @@ -134751,10 +134751,10 @@ index 43f5715a0d5dda851731ecf7ff27e76c48fb6e57..2e449d7173fcecbcd647f90a26bd58b6 static bool bcm2835_i2s_volatile_reg(struct device *dev, unsigned int reg) -From 9ebc779b64bc4bbbdc9c19f3787d31fd3b9cf103 Mon Sep 17 00:00:00 2001 +From 3e179344ec1064810fbcfd08fe002f01fabde6b2 Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 5 Jun 2017 16:40:38 +0100 -Subject: [PATCH 122/156] dma-bcm2708: Fix module compilation of +Subject: [PATCH 122/170] dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708 bcm2708-dmaengine.c defines functions like bcm_dma_start which are @@ -134797,10 +134797,10 @@ index c5bfff2765be4606077e6c8af73040ec13ee8974..6ca874d332a8bc666b1c9576ac51f479 #endif /* _PLAT_BCM2708_DMA_H */ -From 2a6bf09a2232c1588f4b8a0712fc86df947c9c68 Mon Sep 17 00:00:00 2001 +From 5a7418a09d6776a7b3945a0f17e67048428053a4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 123/156] cache: export clean and invalidate +Subject: [PATCH 123/170] cache: export clean and invalidate --- arch/arm/mm/cache-v6.S | 4 ++-- @@ -134852,10 +134852,10 @@ index de78109d002db1a5e7c94a6c1bc8bb94161d07b8..4c850aa3af2b2439fced4e130441329a sub r3, r2, #1 bic r0, r0, r3 -From 0f6ee1e7341758bbde9a4e2b19b5ce1638d77955 Mon Sep 17 00:00:00 2001 +From eec91ab0ebc2e28c7f0432ee234412ce721bebc6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 124/156] amba_pl011: Insert mb() for correct FIFO handling +Subject: [PATCH 124/170] 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 @@ -134882,10 +134882,10 @@ index bfbc845d7be9ef804468d0a82da18d9b67857216..424bdc500864a86e5d431763ba416b52 return true; -From aad20fc7926f677e910a370ac660003fe8f3241f Mon Sep 17 00:00:00 2001 +From f905bf1839d50da1be6760fbd76ef3b355cbea20 Mon Sep 17 00:00:00 2001 From: Chung-Hsien Hsu Date: Sun, 14 May 2017 20:11:05 -0500 -Subject: [PATCH 125/156] brcmfmac: add CLM download support +Subject: [PATCH 125/170] brcmfmac: add CLM download support Future firmwares will be provided with minimal built-in CLM - the NULL region (#n/0) becomes the initial country. It cannot be changed @@ -135313,10 +135313,10 @@ index 11ffaa01599eb4b343b7f675dc275fc8572d127e..b27170c12482de0ca4115b4bc9484c21 static int brcmf_usb_bus_setup(struct brcmf_usbdev_info *devinfo) -From 44c8dcbd1a4cc0c4a4797794237be24e2cb658bd Mon Sep 17 00:00:00 2001 +From 0ea940037a80cf9de67b0cb7601dc2c1a5a26fae Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Oct 2017 13:23:32 +0100 -Subject: [PATCH 126/156] brcmfmac: request_firmware_direct is quieter +Subject: [PATCH 126/170] brcmfmac: request_firmware_direct is quieter Since we don't have any CLM-capable firmware yet, silence the warning of its absence by using request_firmware_direct, which should also @@ -135341,10 +135341,10 @@ index f0309e039592ba6e388084a13f052c03f99cf1ef..b5889360da96096775db6425337a7215 if (err == -ENOENT) return 0; -From 03ac58aaac6152c4a81295521371ea1572254c2d Mon Sep 17 00:00:00 2001 +From b1094a771b64a75df2b155580d3d3c2e1421d6c9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 127/156] amba_pl011: Add cts-event-workaround DT property +Subject: [PATCH 127/170] 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 @@ -135393,10 +135393,10 @@ index 424bdc500864a86e5d431763ba416b5298c777dc..b224306633f62c398ef904734a903d4e uap->vendor = vendor; uap->fifosize = vendor->get_fifosize(dev); -From 9530f6a5885ef00c32dc20522e77aacc8d413c02 Mon Sep 17 00:00:00 2001 +From f33d9c751ab634e489cfb80931f17c0de3398dcf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Oct 2017 13:48:04 +0100 -Subject: [PATCH 128/156] amba-pl011: Report AUTOCTS capability to framework +Subject: [PATCH 128/170] amba-pl011: Report AUTOCTS capability to framework The PL011 has full hardware RTS/CTS support which is enabled by the driver when flow control is requested. However, it doesn't @@ -135439,10 +135439,10 @@ index b224306633f62c398ef904734a903d4e75df65c3..3b743cf8a94c279ff8d0b747f98062d0 if (uap->vendor->oversampling) { -From c4d190af43e28a3395d5a4a24e09c03e60ec1227 Mon Sep 17 00:00:00 2001 +From c017b2c796604bb6439b2a208b138b2cf896f3ae Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Oct 2017 09:20:56 +0100 -Subject: [PATCH 129/156] scripts: Update mkknlimg, just in case +Subject: [PATCH 129/170] scripts: Update mkknlimg, just in case With the removal of the vc_cma driver, mkknlimg lost an indication that the user had built a downstream kernel. Update the script, adding a few @@ -135485,10 +135485,10 @@ index 84be2593ec1de8f97b0167ff06b3e05d231c4ba0..d72e15224232d5164374e93be48949bf my $res = try_extract($kernel_file, $tmpfile1); -From 70673bcc7449d767000171b2166278414386f3f1 Mon Sep 17 00:00:00 2001 +From 57e9299bbd3eb73676ad728276177c8201070239 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 14 Nov 2017 15:13:15 +0000 -Subject: [PATCH 130/156] AXI performance monitor driver (#2222) +Subject: [PATCH 130/170] AXI performance monitor driver (#2222) Uses the debugfs I/F to provide access to the AXI bus performance monitors. @@ -136174,10 +136174,10 @@ index 0000000000000000000000000000000000000000..bafe03b6c000060e78404d65a0aa96d8 +MODULE_LICENSE("GPL"); + -From d85feabb73680e9c78a34c78551a19685fd57351 Mon Sep 17 00:00:00 2001 +From 3aae361330c0a1700c359854018238f602180d22 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Fri, 21 Jul 2017 09:55:12 +0100 -Subject: [PATCH 131/156] Sets the BCDC priority to constant 0 +Subject: [PATCH 131/170] Sets the BCDC priority to constant 0 This is to workaround for a possible issue in the wireless chip firmware where some packets with @@ -136203,10 +136203,10 @@ index 9f2d0b0cf6e5c452ad85a3caef58cf16a8cdad46..b009f3083490c2bc2733424f08f81b9f h->data_offset = offset; BCDC_SET_IF_IDX(h, ifidx); -From 4deb646df815e8fde6af12cdc4aef28e36adf000 Mon Sep 17 00:00:00 2001 +From 274281e46c09d72eaa7102e1786172a210076eb1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2016 13:46:13 -0700 -Subject: [PATCH 132/156] drm/panel: Add support for the Raspberry Pi 7" +Subject: [PATCH 132/170] drm/panel: Add support for the Raspberry Pi 7" Touchscreen. This driver communicates with the Atmel microcontroller for sequencing @@ -136787,10 +136787,10 @@ index 0000000000000000000000000000000000000000..1a536fe4d040f5fafe324baee110a622 +MODULE_DESCRIPTION("Raspberry Pi 7-inch touchscreen driver"); +MODULE_LICENSE("GPL v2"); -From dc92e8e5c8ef7358b372e9a4c40bff3b633f8233 Mon Sep 17 00:00:00 2001 +From 54cafaeee64f2336046a0514fdc2a32eaae1be91 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Apr 2017 17:52:56 -0700 -Subject: [PATCH 133/156] panel-raspberrypi-touchscreen: Fix NULL deref if +Subject: [PATCH 133/170] panel-raspberrypi-touchscreen: Fix NULL deref if probe order goes wrong. If the i2c driver hadn't pobed before the panel driver probes, then @@ -136817,10 +136817,10 @@ index 1a536fe4d040f5fafe324baee110a6225dd0be08..5d6bfd81b07a11a0cb407f4301d22931 } -From 158eda085c7617a38a8a5c7f3a42731a0fe5a74e Mon Sep 17 00:00:00 2001 +From c5f6a779e8260215f48baec9b588c797ec20ddab Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 6 Mar 2017 12:17:16 -0800 -Subject: [PATCH 134/156] panel-raspberrypi-touchscreen: Round up clk rate to +Subject: [PATCH 134/170] panel-raspberrypi-touchscreen: Round up clk rate to fix DSI panel. Commit 488f9bc8e3def93e0baef53cee2026c2cb0d8956 slightly increased the @@ -136855,10 +136855,10 @@ index 5d6bfd81b07a11a0cb407f4301d22931705fb8b1..b57b7ad9aa4c5048186e98553af59ec9 .hsync_start = HACT + HFP, .hsync_end = HACT + HFP + HSW, -From c3a47a768b4ed30fd3b5999150600196c4d22bfc Mon Sep 17 00:00:00 2001 +From 39d6a1e38f0b4db2da6fdfbf9d27e894d45e3301 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 12:29:45 -0700 -Subject: [PATCH 135/156] BCM270X: Add the DSI panel to the defconfig. +Subject: [PATCH 135/170] BCM270X: Add the DSI panel to the defconfig. Signed-off-by: Eric Anholt --- @@ -136879,10 +136879,10 @@ index 9dcb58a519d041fadae99c81a7bda621b2a49f12..003209bf2362c2a136ab987b2f20065e CONFIG_DRM_VC4=m CONFIG_FB=y -From 6dead55502acbb495dc2374ba6bfe24009924cf2 Mon Sep 17 00:00:00 2001 +From ef0035125d78054b7bb993e535486b7a68582864 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 6 Jul 2017 11:45:48 -0700 -Subject: [PATCH 136/156] drm/vc4: Add support for setting DPMS in firmwarekms. +Subject: [PATCH 136/170] 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 @@ -136985,10 +136985,10 @@ index d170775ccc985637ff018804f510a5003933c9ec..766f700417f7194d6b01fa1bc18dad40 if (!vc4_encoder) return -ENOMEM; -From 02d392a5e011d75ed2256949f4490b6a4181090d Mon Sep 17 00:00:00 2001 +From cc33959bffb1442fa5804f5682c4a47fcbc2af37 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 14 Jul 2017 17:33:08 -0700 -Subject: [PATCH 137/156] drm/vc4: Fix pitch setup for T-format scanout. +Subject: [PATCH 137/170] drm/vc4: Fix pitch setup for T-format scanout. The documentation said to use src_w here, and I didn't consider that we actually needed to be using pitch somewhere in our setup. Fixes @@ -137036,10 +137036,10 @@ index 2968b3ebb895714cb8c8faeaf40dff1c996f2259..4ad0b9fcae99f74fb89d09dd52d9ffe5 DRM_DEBUG_KMS("Unsupported FB tiling flag 0x%16llx", (long long)fb->modifier); -From 82ce9961759e6f26e5623e604a20b3320485220d Mon Sep 17 00:00:00 2001 +From 82d76164f91126ae68096f7e48bdead4d30114c7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 24 Aug 2017 16:16:16 +0100 -Subject: [PATCH 138/156] brcmfmac: Disable ARP offloading when promiscuous +Subject: [PATCH 138/170] 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 @@ -137176,10 +137176,10 @@ index a4dd313140f37dc1fbb6955e1148f48bccf22f44..b9a96cbc70f0865ee8c9cff3c6164144 bool is_p2pdev, const char *name, u8 *mac_addr); void brcmf_remove_interface(struct brcmf_if *ifp, bool rtnl_locked); -From 6bda342d69a5607eb020a0ce5f3c07c5e57b3373 Mon Sep 17 00:00:00 2001 +From 3f56f347c8a56b4a010450a597a314e0449d40b9 Mon Sep 17 00:00:00 2001 From: Kevin Cernekee Date: Sat, 16 Sep 2017 21:08:22 -0700 -Subject: [PATCH 139/156] brcmfmac: Avoid possible out-of-bounds read +Subject: [PATCH 139/170] brcmfmac: Avoid possible out-of-bounds read In brcmf_p2p_notify_rx_mgmt_p2p_probereq(), chanspec is assigned before the length of rxframe is validated. This could lead to uninitialized @@ -137217,10 +137217,10 @@ index 2ce675ab40ef867cf6a86ca5257a6db7ef76e80a..1c450c0727cb577f7dae25a1ce82b2db return 0; } -From f8aed552b1faa6e9252a26daea3b38ab22f92120 Mon Sep 17 00:00:00 2001 +From 09731dd50c0e9a1bab8e3c5b188b2d53d0113f8b Mon Sep 17 00:00:00 2001 From: Kevin Cernekee Date: Sat, 16 Sep 2017 21:08:23 -0700 -Subject: [PATCH 140/156] brcmfmac: Delete redundant length check +Subject: [PATCH 140/170] brcmfmac: Delete redundant length check brcmf_fweh_process_event() sets event->datalen to the endian-swapped value of event_packet->msg.datalen, which is the @@ -137251,10 +137251,10 @@ index ef72baf6dd969c2478a2138ea57b9f691fdf12d8..e7eaa57d11d98f61280bd99013e649aa /* special handling of interface event */ if (event->code == BRCMF_E_IF) { -From c30f1eb84049bff85c4e7107fbb48a3c2165db63 Mon Sep 17 00:00:00 2001 +From e8319e62eaf41e66e2f6a6f1479795c0bd52f8e9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Nov 2017 11:03:22 +0000 -Subject: [PATCH 141/156] mcp2515: Use DT-supplied interrupt flags +Subject: [PATCH 141/170] mcp2515: Use DT-supplied interrupt flags The MCP2515 datasheet clearly describes a level-triggered interrupt pin. Therefore the receiving interrupt controller must also be @@ -137290,10 +137290,10 @@ index f3f05fea8e1f8e0ad3a1ebd7461d2019835e1d47..6c2d3aba25918f5536b2d67292334e74 flags | IRQF_ONESHOT, DEVICE_NAME, priv); if (ret) { -From d8b1f87abe7997d0168d088d4411cd63ae61ce8c Mon Sep 17 00:00:00 2001 +From 0a37de8db6eba28047daaefa9a4fa02512e0fcd6 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 16 Nov 2017 15:56:17 +0000 -Subject: [PATCH 142/156] Tidy up of the ft5406 driver to use DT (#2189) +Subject: [PATCH 142/170] 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 @@ -137677,10 +137677,10 @@ index 9d7d05482355d168c5c0c42508cd978979ee5f14..40bbde9ce1bc4c51be50f47fc359c74f } -From c12fd1fd4cef21c82d7acef3e03f81d41cfc1a6b Mon Sep 17 00:00:00 2001 +From 7353f03e936a713e8cb57a5416b7194569b0541d Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 143/156] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 143/170] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -137702,10 +137702,10 @@ index ff782445dfb75d1a8af9eed775b8e8f7b275fee3..786efcddb5e56a06baf67cb91ddbbd8e .can_sleep = false, }; -From 3ff0bb2bc2e25a4ba8016aa943a111591491a885 Mon Sep 17 00:00:00 2001 +From 79dc1dfb0cbd621db0e7c9f5ca40c8e63d2d73ca Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 24 Nov 2017 13:49:26 +0000 -Subject: [PATCH 144/156] fiq_fsm: rewind DMA pointer for OUT transactions that +Subject: [PATCH 144/170] fiq_fsm: rewind DMA pointer for OUT transactions that fail (#2288) See: https://github.com/raspberrypi/linux/issues/2140 @@ -137749,10 +137749,10 @@ index e47d5b6de3ada73896ff9a81abd223d345e0de4f..ec804c7cd06d2db897ce6f72fce29733 if (st->nr_errors >= 3) { st->fsm = FIQ_NP_SPLIT_HS_ABORTED; -From 23cb26d966f3a608ee425de9f8bb271aef7682b3 Mon Sep 17 00:00:00 2001 +From 15a544dc74e104c852122644968fc9470af34c8a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 21 Jul 2017 11:30:18 +0100 -Subject: [PATCH 145/156] lan78xx: Read MAC address from DT if present +Subject: [PATCH 145/170] lan78xx: Read MAC address from DT if present There is a standard mechanism for locating and using a MAC address from the Device Tree. Use this facility in the lan78xx driver to support @@ -137799,10 +137799,10 @@ index 0161f77641fac8eafc1284a5457a7ccb273efc39..01e72b267de8f2a82fbe1ab4557dcaab (addr[2] << 16) | (addr[3] << 24); addr_hi = addr[4] | (addr[5] << 8); -From 467bf7dc624b0feeff16c8e6535b8c3e906f5a6f Mon Sep 17 00:00:00 2001 +From 905fd7d52f4caa78aa524638662bd8992b2f16a0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Nov 2017 12:02:37 +0000 -Subject: [PATCH 146/156] lan78xx: Correctly indicate invalid OTP +Subject: [PATCH 146/170] lan78xx: Correctly indicate invalid OTP lan78xx_read_otp tries to return -EINVAL in the event of invalid OTP content, but the value gets overwritten before it is returned and the @@ -137829,10 +137829,10 @@ index 01e72b267de8f2a82fbe1ab4557dcaab67532da9..126fe75e75b19c1076a7dd4415a90403 return ret; -From fa449b32d938fa8be904fdb37b424cf67040c2bd Mon Sep 17 00:00:00 2001 +From 78b6c12542824a4571bc10887cdb1f83168676ec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 15:04:29 +0100 -Subject: [PATCH 147/156] lan78xx: Enable LEDs and auto-negotiation +Subject: [PATCH 147/170] 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 @@ -137880,10 +137880,10 @@ index 126fe75e75b19c1076a7dd4415a904035ba95402..26e04c732df49d09939d470c61a9ab46 ret = lan78xx_read_reg(dev, MAC_TX, &buf); -From 8ed86c94c82b04849f230d355d43b110f8e2becf Mon Sep 17 00:00:00 2001 +From b47bdb7e1ff1f10ce99a477e7e032bc059fed850 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 27 Nov 2017 17:14:54 +0000 -Subject: [PATCH 148/156] cgroup: Disable cgroup "memory" by default +Subject: [PATCH 148/170] 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: @@ -137953,10 +137953,10 @@ index 44857278eb8aa6a2bbf27b7eb12137ef42628170..8f86a3d88d84ccf4b055e6d36835fffa * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From 05accdcc0fd34d6fad79cc9351ed144cef19ad70 Mon Sep 17 00:00:00 2001 +From f13f26def4fdf80786a27186ecf524ecdf284079 Mon Sep 17 00:00:00 2001 From: Allen Wild Date: Tue, 26 Sep 2017 19:37:44 +0200 -Subject: [PATCH 149/156] thermal: enable broadcom menu for arm64 bcm2835 +Subject: [PATCH 149/170] thermal: enable broadcom menu for arm64 bcm2835 Moving the bcm2835 thermal driver to the broadcom directory prevented it from getting enabled for arm64 builds, since the broadcom directory is only @@ -137987,10 +137987,10 @@ index 07002df4f83acdde2efdf3f51299976ef25d2e1e..e3f0d1fd1720355bc601e766356ac528 endmenu -From 9f2a63187f992954e0719694b5a5f2fc235cbb45 Mon Sep 17 00:00:00 2001 +From 7f4963c2b6c1c29968e06ff1cb60dec92d3b41a2 Mon Sep 17 00:00:00 2001 From: Gottfried Haider Date: Tue, 26 Sep 2017 11:59:51 +0000 -Subject: [PATCH 150/156] pwm: Set class for exported channels in sysfs +Subject: [PATCH 150/170] pwm: Set class for exported channels in sysfs [ Upstream commit 7e5d1fd75c3dde9fc10c4472b9368089d1b81d00 ] @@ -138026,10 +138026,10 @@ index a813239300c3d46bba1320caac77ec7adc8363a8..83f2b0b15712bf5745a0dc3a231c5ed0 export->child.parent = parent; export->child.devt = MKDEV(0, 0); -From 6b05daddf30bfee14f96b8edaed959e170ae6a96 Mon Sep 17 00:00:00 2001 +From 3e91e52f2075d759f954a42b205013ebe9d8df21 Mon Sep 17 00:00:00 2001 From: Giedrius Trainavicius Date: Tue, 25 Oct 2016 01:47:20 +0300 -Subject: [PATCH 151/156] Updates for Pisound module code: +Subject: [PATCH 151/170] Updates for Pisound module code: * Merged 'Fix a warning in DEBUG builds' (1c8b82b). * Updating some strings and copyright information. @@ -138454,10 +138454,10 @@ index 06ff1e53dc9d860946965b6303577762f958fae2..09739d51b70b877e24e4f74f6aaadebd +MODULE_DESCRIPTION("ASoC Driver for Pisound, https://blokas.io/pisound"); MODULE_LICENSE("GPL v2"); -From 553c00f4d0c206db850747bdda8e09b032bbcc0a Mon Sep 17 00:00:00 2001 +From 5a8a3234bac8eab5f4d49e4ee141931832018cd3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 9 Dec 2017 21:45:12 +0000 -Subject: [PATCH 152/156] overlays: Add applepi-dac overlay +Subject: [PATCH 152/170] overlays: Add applepi-dac overlay See: https://github.com/raspberrypi/linux/issues/2302 @@ -138562,10 +138562,10 @@ index 0000000000000000000000000000000000000000..fc02b295470efce41d61be241ba55022 + dtc -@ -H epapr -O dtb -o ApplePi-DAC.dtbo -W no-unit_address_vs_reg ApplePi-DAC.dts +*/ -From 833b3504358cdedd79bd4bb2635a77aacb30e858 Mon Sep 17 00:00:00 2001 +From 6b77ea7e092b739dd12cdc6046a6aeb105976b92 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 12 Dec 2017 12:12:46 +0000 -Subject: [PATCH 153/156] staging: vchiq_arm: Make debugfs failure non-fatal +Subject: [PATCH 153/170] staging: vchiq_arm: Make debugfs failure non-fatal It can be useful to be able to open multiple vchiq instances in a single process. This currently fails due to a debugfs collision, @@ -138594,10 +138594,10 @@ index 314ffac50bb8303971ca71a5f702f07fb8ed6639..e4bad872b7e547de268648fae690524f sema_init(&instance->insert_event, 0); sema_init(&instance->remove_event, 0); -From a629763c410ffd15f909fbddef94f35329c088ef Mon Sep 17 00:00:00 2001 +From f64a4146364308905d7373871cb9685893f9e235 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 23 Dec 2017 22:10:37 +0000 -Subject: [PATCH 154/156] config: Add PINCTRL_MCP23S08 +Subject: [PATCH 154/170] config: Add PINCTRL_MCP23S08 As of Linux 4.12, the mcp23s08 driver moved from drivers/gpio to drivers/pinctrl. At the same time, the Kconfig symbols changed @@ -138638,10 +138638,10 @@ index c1da808d40bc8e867b41d3566bd60a758d052bdb..4cfd4e6a339009536d6ebaaff36e4007 CONFIG_GPIO_PCF857X=m CONFIG_GPIO_ARIZONA=m -From 1a8c4ce941c8a8d9865bd86546660b6ff68938f5 Mon Sep 17 00:00:00 2001 +From 3fe3a681b9a67bec6cab7c3704997f2269d55c24 Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Thu, 21 Dec 2017 09:29:39 +0100 -Subject: [PATCH 155/156] Add Raspberry Pi firmware driver to the dependencies +Subject: [PATCH 155/170] Add Raspberry Pi firmware driver to the dependencies of backlight driver Otherwise the backlight driver fails to build if the firmware @@ -138665,10 +138665,10 @@ index e345a32945b7ec0712cebd0ac8e62c9e8955e24f..9244f2f7b642c6fe5725f0b3b841cece If you have the Raspberry Pi DSI touchscreen display, say Y to enable the mailbox-controlled backlight driver. -From a02f735a7abbf857a7630e0c7a8723747192a6b1 Mon Sep 17 00:00:00 2001 +From 96fe56f780636875b896db4e55d8d32d0bee0705 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Sun, 24 Dec 2017 21:57:05 +0000 -Subject: [PATCH 156/156] overlays: Add media center HAT overlay (#2313) +Subject: [PATCH 156/170] overlays: Add media center HAT overlay (#2313) --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -138862,3 +138862,1383 @@ index 0000000000000000000000000000000000000000..a42b8e2a846c6e614ca807f798bef238 + invert = <&lirc_rpi>,"rpi,invert:0"; + }; +}; + +From 0d710b5381bb2aee93240f2ce33f5cc0a05b953c Mon Sep 17 00:00:00 2001 +From: Aaron Shaw +Date: Thu, 28 Dec 2017 17:31:52 +0000 +Subject: [PATCH 157/170] add backlight control to rpi-display overlay + +--- + arch/arm/boot/dts/overlays/README | 1 + + arch/arm/boot/dts/overlays/rpi-display-overlay.dts | 14 ++++++++------ + 2 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 6e43bbdd4ef26ee93ce45e045e2c7ebafc261ef1..e0f29ec6627a87f2edd1fff9f696713115fa4386 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1329,6 +1329,7 @@ Params: speed Display SPI bus speed + debug Debug output level {0-7} + xohms Touchpanel sensitivity (X-plate resistance) + swapxy Swap x and y axis ++ backlight Change backlight GPIO pin {e.g. 12, 18} + + + Name: rpi-ft5406 +diff --git a/arch/arm/boot/dts/overlays/rpi-display-overlay.dts b/arch/arm/boot/dts/overlays/rpi-display-overlay.dts +index d7e72eef594e08b309ffbaa04f43c68909c08f36..533b5c140b5447a0bcf426fee0a8b321074edb66 100644 +--- a/arch/arm/boot/dts/overlays/rpi-display-overlay.dts ++++ b/arch/arm/boot/dts/overlays/rpi-display-overlay.dts +@@ -79,11 +79,13 @@ + }; + }; + __overrides__ { +- speed = <&rpidisplay>,"spi-max-frequency:0"; +- rotate = <&rpidisplay>,"rotate:0"; +- fps = <&rpidisplay>,"fps:0"; +- debug = <&rpidisplay>,"debug:0"; +- xohms = <&rpidisplay_ts>,"ti,x-plate-ohms;0"; +- swapxy = <&rpidisplay_ts>,"ti,swap-xy?"; ++ speed = <&rpidisplay>,"spi-max-frequency:0"; ++ rotate = <&rpidisplay>,"rotate:0"; ++ fps = <&rpidisplay>,"fps:0"; ++ debug = <&rpidisplay>,"debug:0"; ++ xohms = <&rpidisplay_ts>,"ti,x-plate-ohms;0"; ++ swapxy = <&rpidisplay_ts>,"ti,swap-xy?"; ++ backlight = <&rpidisplay>,"led-gpios:4", ++ <&rpi_display_pins>,"brcm,pins:0"; + }; + }; + +From 1dcc84c36d90896b994847d44a12bda5f1d65dda Mon Sep 17 00:00:00 2001 +From: Aaron Shaw +Date: Thu, 28 Dec 2017 17:34:54 +0000 +Subject: [PATCH 158/170] add backlight control to media-center overlay + +--- + arch/arm/boot/dts/overlays/README | 1 + + arch/arm/boot/dts/overlays/media-center-overlay.dts | 16 +++++++++------- + 2 files changed, 10 insertions(+), 7 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index e0f29ec6627a87f2edd1fff9f696713115fa4386..2024a28e9bbff8ec9c6f56ee45c2def3591b75a2 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1002,6 +1002,7 @@ Params: speed Display SPI bus speed + fps Delay between frame updates + xohms Touchpanel sensitivity (X-plate resistance) + swapxy Swap x and y axis ++ backlight Change backlight GPIO pin {e.g. 12, 18} + gpio_out_pin GPIO for output (default "17") + gpio_in_pin GPIO for input (default "18") + gpio_in_pull Pull up/down/off on the input pin +diff --git a/arch/arm/boot/dts/overlays/media-center-overlay.dts b/arch/arm/boot/dts/overlays/media-center-overlay.dts +index a42b8e2a846c6e614ca807f798bef238ad002535..ce4db35228e9f68e3f3f40f0f9c02f89912c11d3 100644 +--- a/arch/arm/boot/dts/overlays/media-center-overlay.dts ++++ b/arch/arm/boot/dts/overlays/media-center-overlay.dts +@@ -113,13 +113,15 @@ + }; + + __overrides__ { +- speed = <&rpidisplay>,"spi-max-frequency:0"; +- rotate = <&rpidisplay>,"rotate:0"; +- fps = <&rpidisplay>,"fps:0"; +- debug = <&rpidisplay>,"debug:0", +- <&lirc_rpi>,"rpi,debug:0"; +- xohms = <&rpidisplay_ts>,"ti,x-plate-ohms;0"; +- swapxy = <&rpidisplay_ts>,"ti,swap-xy?"; ++ speed = <&rpidisplay>,"spi-max-frequency:0"; ++ rotate = <&rpidisplay>,"rotate:0"; ++ fps = <&rpidisplay>,"fps:0"; ++ debug = <&rpidisplay>,"debug:0", ++ <&lirc_rpi>,"rpi,debug:0"; ++ xohms = <&rpidisplay_ts>,"ti,x-plate-ohms;0"; ++ swapxy = <&rpidisplay_ts>,"ti,swap-xy?"; ++ backlight = <&rpidisplay>,"led-gpios:4", ++ <&rpi_display_pins>,"brcm,pins:0"; + + gpio_out_pin = <&lirc_pins>,"brcm,pins:0"; + gpio_in_pin = <&lirc_pins>,"brcm,pins:4"; + +From 72458d16072515f3abd3394e6fa78363310e329c Mon Sep 17 00:00:00 2001 +From: penfold42 +Date: Tue, 2 Jan 2018 00:15:19 +1100 +Subject: [PATCH 159/170] Add overlay for mcp3202 12 bit ADC + +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 9 ++ + arch/arm/boot/dts/overlays/mcp3202-overlay.dts | 205 +++++++++++++++++++++++++ + 3 files changed, 215 insertions(+) + create mode 100755 arch/arm/boot/dts/overlays/mcp3202-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index e07c87e2dcbd4d1b7146cec2e53a762a4b283800..7aa703e938c0bb1d5659052f6899d0a6d3be5a4c 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -61,6 +61,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + mcp2515-can0.dtbo \ + mcp2515-can1.dtbo \ + mcp3008.dtbo \ ++ mcp3202.dtbo \ + media-center.dtbo \ + midi-uart0.dtbo \ + midi-uart1.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 2024a28e9bbff8ec9c6f56ee45c2def3591b75a2..b8a2f3fdf73299346482c9e7d2a1133a73fe93ba 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -994,6 +994,15 @@ Params: spi--present boolean, configure device at spi, cs + spi--speed integer, set the spi bus speed for this device + + ++Name: mcp3202 ++Info: Configures MCP3202 A/D converters ++ For devices on spi1 or spi2, the interfaces should be enabled ++ with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays. ++Load: dtoverlay=mcp3202,[=] ++Params: spi--present boolean, configure device at spi, cs ++ spi--speed integer, set the spi bus speed for this device ++ ++ + Name: media-center + Info: Media Center HAT - 2.83" Touch Display + extras by Pi Supply + Load: dtoverlay=media-center,= +diff --git a/arch/arm/boot/dts/overlays/mcp3202-overlay.dts b/arch/arm/boot/dts/overlays/mcp3202-overlay.dts +new file mode 100755 +index 0000000000000000000000000000000000000000..9902c4614ea1f9e5725b3c4a2e62429a1213009a +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/mcp3202-overlay.dts +@@ -0,0 +1,205 @@ ++/* ++ * Device tree overlay for Microchip mcp3202 12-Bit A/D Converters ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; ++ ++ fragment@0 { ++ target = <&spidev0>; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&spidev1>; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@2 { ++ target-path = "spi1/spidev@0"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@3 { ++ target-path = "spi1/spidev@1"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@4 { ++ target-path = "spi1/spidev@2"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@5 { ++ target-path = "spi2/spidev@0"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@6 { ++ target-path = "spi2/spidev@1"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@7 { ++ target-path = "spi2/spidev@2"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@8 { ++ target = <&spi0>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mcp3202_00: mcp3202@0 { ++ compatible = "mcp3202"; ++ reg = <0>; ++ spi-max-frequency = <1600000>; ++ }; ++ }; ++ }; ++ ++ fragment@9 { ++ target = <&spi0>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mcp3202_01: mcp3202@1 { ++ compatible = "mcp3202"; ++ reg = <1>; ++ spi-max-frequency = <1600000>; ++ }; ++ }; ++ }; ++ ++ fragment@10 { ++ target = <&spi1>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mcp3202_10: mcp3202@0 { ++ compatible = "mcp3202"; ++ reg = <0>; ++ spi-max-frequency = <1600000>; ++ }; ++ }; ++ }; ++ ++ fragment@11 { ++ target = <&spi1>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mcp3202_11: mcp3202@1 { ++ compatible = "mcp3202"; ++ reg = <1>; ++ spi-max-frequency = <1600000>; ++ }; ++ }; ++ }; ++ ++ fragment@12 { ++ target = <&spi1>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mcp3202_12: mcp3202@2 { ++ compatible = "mcp3202"; ++ reg = <2>; ++ spi-max-frequency = <1600000>; ++ }; ++ }; ++ }; ++ ++ fragment@13 { ++ target = <&spi2>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mcp3202_20: mcp3202@0 { ++ compatible = "mcp3202"; ++ reg = <0>; ++ spi-max-frequency = <1600000>; ++ }; ++ }; ++ }; ++ ++ fragment@14 { ++ target = <&spi2>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mcp3202_21: mcp3202@1 { ++ compatible = "mcp3202"; ++ reg = <1>; ++ spi-max-frequency = <1600000>; ++ }; ++ }; ++ }; ++ ++ fragment@15 { ++ target = <&spi2>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mcp3202_22: mcp3202@2 { ++ compatible = "mcp3202"; ++ reg = <2>; ++ spi-max-frequency = <1600000>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ spi0-0-present = <0>, "+0+8"; ++ spi0-1-present = <0>, "+1+9"; ++ spi1-0-present = <0>, "+2+10"; ++ spi1-1-present = <0>, "+3+11"; ++ spi1-2-present = <0>, "+4+12"; ++ spi2-0-present = <0>, "+5+13"; ++ spi2-1-present = <0>, "+6+14"; ++ spi2-2-present = <0>, "+7+15"; ++ spi0-0-speed = <&mcp3202_00>, "spi-max-frequency:0"; ++ spi0-1-speed = <&mcp3202_01>, "spi-max-frequency:0"; ++ spi1-0-speed = <&mcp3202_10>, "spi-max-frequency:0"; ++ spi1-1-speed = <&mcp3202_11>, "spi-max-frequency:0"; ++ spi1-2-speed = <&mcp3202_12>, "spi-max-frequency:0"; ++ spi2-0-speed = <&mcp3202_20>, "spi-max-frequency:0"; ++ spi2-1-speed = <&mcp3202_21>, "spi-max-frequency:0"; ++ spi2-2-speed = <&mcp3202_22>, "spi-max-frequency:0"; ++ }; ++}; + +From 8a4605bcbbfc9824e7235e51feedc29014ed5576 Mon Sep 17 00:00:00 2001 +From: Stefan Schake +Date: Sat, 2 Dec 2017 18:40:39 +0100 +Subject: [PATCH 160/170] drm/vc4: Release fence after signalling + +[ Upstream commit babc8110057cb9ca542c3c1666cbda4e8ccf9250 ] + +We were never releasing the initial fence reference that is obtained +through dma_fence_init. + +Link: https://github.com/anholt/linux/issues/122 +Fixes: cdec4d361323 ("drm/vc4: Expose dma-buf fences for V3D rendering.") +Signed-off-by: Stefan Schake +Signed-off-by: Eric Anholt +Reviewed-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/1512236444-301-1-git-send-email-stschake@gmail.com +--- + drivers/gpu/drm/vc4/vc4_gem.c | 4 +++- + drivers/gpu/drm/vc4/vc4_irq.c | 1 + + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c +index d0c6bfb68c4ee9d88c2a026e5908915d331733db..e554cbf18a55c30e6dce1ef8bf3a5a60a6b73407 100644 +--- a/drivers/gpu/drm/vc4/vc4_gem.c ++++ b/drivers/gpu/drm/vc4/vc4_gem.c +@@ -829,8 +829,10 @@ vc4_complete_exec(struct drm_device *dev, struct vc4_exec_info *exec) + /* If we got force-completed because of GPU reset rather than + * through our IRQ handler, signal the fence now. + */ +- if (exec->fence) ++ if (exec->fence) { + dma_fence_signal(exec->fence); ++ dma_fence_put(exec->fence); ++ } + + if (exec->bo) { + for (i = 0; i < exec->bo_count; i++) +diff --git a/drivers/gpu/drm/vc4/vc4_irq.c b/drivers/gpu/drm/vc4/vc4_irq.c +index 7d7af3a93d941bb9552afc1140c408c8da86be37..fc1fc43a924dcc0c44a7a13858bfb53ccdf8fe32 100644 +--- a/drivers/gpu/drm/vc4/vc4_irq.c ++++ b/drivers/gpu/drm/vc4/vc4_irq.c +@@ -139,6 +139,7 @@ vc4_irq_finish_render_job(struct drm_device *dev) + list_move_tail(&exec->head, &vc4->job_done_list); + if (exec->fence) { + dma_fence_signal_locked(exec->fence); ++ dma_fence_put(exec->fence); + exec->fence = NULL; + } + vc4_submit_next_render_job(dev); + +From 5c138e2fa37950a5295d189a4cfa0715b0b19d5a Mon Sep 17 00:00:00 2001 +From: P33M +Date: Tue, 9 Jan 2018 15:16:35 +0000 +Subject: [PATCH 161/170] dwc_otg: don't unconditionally force host mode in + dwc_otg_cil_init() + +Add the ability to disable force_host_mode for those that want to use +dwc_otg in both device and host modes. +--- + drivers/usb/host/dwc_otg/dwc_otg_cil.c | 7 ++++++- + drivers/usb/host/dwc_otg/dwc_otg_driver.c | 7 +++++++ + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.c b/drivers/usb/host/dwc_otg/dwc_otg_cil.c +index 38abd0b1f0341b50a2d7ad7493e2d09b6b8a55a9..14300ad0f2af7bfa89127ea113a36651aae44187 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_cil.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c +@@ -61,6 +61,8 @@ + #include "dwc_otg_regs.h" + #include "dwc_otg_cil.h" + ++extern bool cil_force_host; ++ + static int dwc_otg_setup_params(dwc_otg_core_if_t * core_if); + + /** +@@ -192,7 +194,10 @@ dwc_otg_core_if_t *dwc_otg_cil_init(const uint32_t * reg_base_addr) + core_if->hptxfsiz.d32 = + DWC_READ_REG32(&core_if->core_global_regs->hptxfsiz); + gusbcfg.d32 = DWC_READ_REG32(&core_if->core_global_regs->gusbcfg); +- gusbcfg.b.force_host_mode = 1; ++ if (cil_force_host) ++ gusbcfg.b.force_host_mode = 1; ++ else ++ gusbcfg.b.force_host_mode = 0; + DWC_WRITE_REG32(&core_if->core_global_regs->gusbcfg, gusbcfg.d32); + dwc_mdelay(100); + } +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c +index af123d01f3ef9f99450c78efdf766ca35e15cbc9..e945900c503cb383d754381b055955b1740e10b5 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_driver.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c +@@ -247,6 +247,9 @@ bool fiq_fsm_enable = true; + //Bulk split-transaction NAK holdoff in microframes + uint16_t nak_holdoff = 8; + ++//Force host mode during CIL re-init ++bool cil_force_host = true; ++ + unsigned short fiq_fsm_mask = 0x0F; + + unsigned short int_ep_interval_min = 0; +@@ -1403,6 +1406,10 @@ MODULE_PARM_DESC(int_ep_interval_min, "Clamp high-speed Interrupt endpoints to a + "0..1 = Use endpoint default\n" + "2..n = Minimum interval n microframes. Use powers of 2.\n"); + ++module_param(cil_force_host, bool, 0644); ++MODULE_PARM_DESC(cil_force_host, "On a connector-ID status change, " ++ "force Host Mode regardless of OTG state."); ++ + /** @page "Module Parameters" + * + * The following parameters may be specified when starting the module. + +From f47a576a2d9f13cd962b80d4c1633ce906403695 Mon Sep 17 00:00:00 2001 +From: Sugizaki Yukimasa +Date: Thu, 4 Jan 2018 23:58:06 +0900 +Subject: [PATCH 162/170] vcsm: Define cache operation constants in user header + +Without this change, users have to use raw values (1, 2, 3) to specify +cache operation. + +Signed-off-by: Sugizaki Yukimasa +--- + drivers/char/broadcom/vc_sm/vc_sm_knl.h | 5 ----- + include/linux/broadcom/vmcs_sm_ioctl.h | 5 +++++ + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/drivers/char/broadcom/vc_sm/vc_sm_knl.h b/drivers/char/broadcom/vc_sm/vc_sm_knl.h +index 4f120421c2d11f7ae46752c38b073a4dfdf712c6..f7f74750d8358779c61dfcd6fc841aa1789a2c5e 100644 +--- a/drivers/char/broadcom/vc_sm/vc_sm_knl.h ++++ b/drivers/char/broadcom/vc_sm/vc_sm_knl.h +@@ -27,11 +27,6 @@ enum vc_sm_lock_cache_mode { + VC_SM_LOCK_NON_CACHED, + }; + +-/* Cache functions */ +-#define VCSM_CACHE_OP_INV 0x01 +-#define VCSM_CACHE_OP_CLEAN 0x02 +-#define VCSM_CACHE_OP_FLUSH 0x03 +- + /* Allocate a shared memory handle and block. */ + int vc_sm_alloc(struct vc_sm_alloc_t *alloc, int *handle); + +diff --git a/include/linux/broadcom/vmcs_sm_ioctl.h b/include/linux/broadcom/vmcs_sm_ioctl.h +index b75729d762f25aace133f7a008633b4094ae2de2..ddbeebc71ada82e88a1668fbdfd9821a39d7cd22 100644 +--- a/include/linux/broadcom/vmcs_sm_ioctl.h ++++ b/include/linux/broadcom/vmcs_sm_ioctl.h +@@ -79,6 +79,11 @@ enum vmcs_sm_cache_e { + VMCS_SM_CACHE_BOTH, + }; + ++/* Cache functions */ ++#define VCSM_CACHE_OP_INV 0x01 ++#define VCSM_CACHE_OP_CLEAN 0x02 ++#define VCSM_CACHE_OP_FLUSH 0x03 ++ + /* IOCTL Data structures */ + struct vmcs_sm_ioctl_alloc { + /* user -> kernel */ + +From 2629d4c9fac78f2b87bd635be087be8ab3795030 Mon Sep 17 00:00:00 2001 +From: Sugizaki Yukimasa +Date: Fri, 5 Jan 2018 00:01:30 +0900 +Subject: [PATCH 163/170] vcsm: Support for finding user/vc handle in memory + pool + +vmcs_sm_{usr,vc}_handle_from_pid_and_address() were failing to find +handle if specified user pointer is not exactly the one that the memory +locking call returned even if the pointer is in range of map/resource. +So fixed the functions to match the range. + +Signed-off-by: Sugizaki Yukimasa +--- + drivers/char/broadcom/vc_sm/vmcs_sm.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c +index 53843054d7617716761b74d8a3d91551b91ffb75..abd770566ed30102b95a01cec6a3825b23afcd9d 100644 +--- a/drivers/char/broadcom/vc_sm/vmcs_sm.c ++++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c +@@ -276,7 +276,10 @@ static unsigned int vmcs_sm_vc_handle_from_pid_and_address(unsigned int pid, + /* Lookup the resource. */ + if (!list_empty(&sm_state->map_list)) { + list_for_each_entry(map, &sm_state->map_list, map_list) { +- if (map->res_pid != pid || map->res_addr != addr) ++ if (map->res_pid != pid) ++ continue; ++ if (!(map->res_addr <= addr && ++ addr < map->res_addr + map->resource->res_size)) + continue; + + pr_debug("[%s]: global map %p (pid %u, addr %lx) -> vc-hdl %x (usr-hdl %x)\n", +@@ -326,7 +329,10 @@ static unsigned int vmcs_sm_usr_handle_from_pid_and_address(unsigned int pid, + /* Lookup the resource. */ + if (!list_empty(&sm_state->map_list)) { + list_for_each_entry(map, &sm_state->map_list, map_list) { +- if (map->res_pid != pid || map->res_addr != addr) ++ if (map->res_pid != pid) ++ continue; ++ if (!(map->res_addr <= addr && ++ addr < map->res_addr + map->resource->res_size)) + continue; + + pr_debug("[%s]: global map %p (pid %u, addr %lx) -> usr-hdl %x (vc-hdl %x)\n", + +From 4b2a4cae9b01516518dc85cfe4110105bd843edc Mon Sep 17 00:00:00 2001 +From: Sugizaki Yukimasa +Date: Fri, 5 Jan 2018 00:44:00 +0900 +Subject: [PATCH 164/170] vcsm: Unify cache manipulating functions + +Signed-off-by: Sugizaki Yukimasa +--- + drivers/char/broadcom/vc_sm/vmcs_sm.c | 309 +++++++++++++++------------------- + 1 file changed, 132 insertions(+), 177 deletions(-) + +diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c +index abd770566ed30102b95a01cec6a3825b23afcd9d..b6cdc1934ad2092892898559f6f0d481a7744fa9 100644 +--- a/drivers/char/broadcom/vc_sm/vmcs_sm.c ++++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c +@@ -1256,61 +1256,106 @@ static const struct vm_operations_struct vcsm_vm_ops = { + .fault = vcsm_vma_fault, + }; + +-/* Walks a VMA and clean each valid page from the cache */ +-static void vcsm_vma_cache_clean_page_range(unsigned long addr, +- unsigned long end) ++static int clean_invalid_mem_2d(const void __user *addr, ++ const size_t block_count, const size_t block_size, const size_t stride, ++ const unsigned cache_op) + { +- pgd_t *pgd; +- pud_t *pud; +- pmd_t *pmd; +- pte_t *pte; +- unsigned long pgd_next, pud_next, pmd_next; ++ size_t i; ++ void (*op_fn)(const void*, const void*); + +- if (addr >= end) +- return; ++ if (block_size <= 0) { ++ pr_err("[%s]: size cannot be 0\n", __func__); ++ return -EINVAL; ++ } + +- /* Walk PGD */ +- pgd = pgd_offset(current->mm, addr); +- do { +- pgd_next = pgd_addr_end(addr, end); ++ switch (cache_op) { ++ case VCSM_CACHE_OP_INV: ++ op_fn = dmac_inv_range; ++ break; ++ case VCSM_CACHE_OP_CLEAN: ++ op_fn = dmac_clean_range; ++ break; ++ case VCSM_CACHE_OP_FLUSH: ++ op_fn = dmac_flush_range; ++ break; ++ default: ++ pr_err("[%s]: Invalid cache_op: 0x%08x\n", __func__, cache_op); ++ return -EINVAL; ++ } + +- if (pgd_none(*pgd) || pgd_bad(*pgd)) +- continue; ++ for (i = 0; i < block_count; i ++, addr += stride) ++ op_fn(addr, addr + block_size); + +- /* Walk PUD */ +- pud = pud_offset(pgd, addr); +- do { +- pud_next = pud_addr_end(addr, pgd_next); +- if (pud_none(*pud) || pud_bad(*pud)) +- continue; ++ return 0; ++} ++ ++static int clean_invalid_mem(const void __user *addr, const size_t size, ++ const unsigned cache_op) ++{ ++ return clean_invalid_mem_2d(addr, 1, size, 0, cache_op); ++} ++ ++static int clean_invalid_resource(const void __user *addr, const size_t size, ++ const unsigned cache_op, const int usr_hdl, ++ struct sm_resource_t *resource) ++{ ++ int err; ++ enum sm_stats_t stat_attempt, stat_failure; ++ void __user *res_addr; ++ ++ if (resource == NULL) { ++ pr_err("[%s]: resource is NULL\n", __func__); ++ return -EINVAL; ++ } ++ if (resource->res_cached != VMCS_SM_CACHE_HOST && ++ resource->res_cached != VMCS_SM_CACHE_BOTH) ++ return 0; ++ ++ switch (cache_op) { ++ case VCSM_CACHE_OP_INV: ++ stat_attempt = INVALID; ++ stat_failure = INVALID_FAIL; ++ break; ++ case VCSM_CACHE_OP_CLEAN: ++ /* Like the original VMCS_SM_CMD_CLEAN_INVALID ioctl handler does. */ ++ stat_attempt = FLUSH; ++ stat_failure = FLUSH_FAIL; ++ break; ++ case VCSM_CACHE_OP_FLUSH: ++ stat_attempt = FLUSH; ++ stat_failure = FLUSH_FAIL; ++ break; ++ default: ++ pr_err("[%s]: Invalid cache_op: 0x%08x\n", __func__, cache_op); ++ return -EINVAL; ++ } ++ resource->res_stats[stat_attempt]++; ++ ++ if (size > resource->res_size) { ++ pr_err("[%s]: size (0x%08zu) is larger than res_size (0x%08zu)\n", ++ __func__, size, resource->res_size); ++ return -EFAULT; ++ } ++ res_addr = (void __user*) vmcs_sm_usr_address_from_pid_and_usr_handle( ++ current->tgid, usr_hdl); ++ if (res_addr == NULL) { ++ pr_err("[%s]: Failed to get user address " ++ "from pid (%d) and user handle (%d)\n", __func__, current->tgid, ++ resource->res_handle); ++ return -EINVAL; ++ } ++ if (!(res_addr <= addr && addr + size <= res_addr + resource->res_size)) { ++ pr_err("[%s]: Addr (0x%p-0x%p) out of range (0x%p-0x%p)\n", ++ __func__, addr, addr + size, res_addr, ++ res_addr + resource->res_size); ++ return -EFAULT; ++ } ++ ++ err = clean_invalid_mem(addr, size, cache_op); ++ if (err) ++ resource->res_stats[stat_failure]++; + +- /* Walk PMD */ +- pmd = pmd_offset(pud, addr); +- do { +- pmd_next = pmd_addr_end(addr, pud_next); +- if (pmd_none(*pmd) || pmd_bad(*pmd)) +- continue; +- +- /* Walk PTE */ +- pte = pte_offset_map(pmd, addr); +- do { +- if (pte_none(*pte) +- || !pte_present(*pte)) +- continue; +- +- /* Clean + invalidate */ +- dmac_flush_range((const void *) addr, +- (const void *) +- (addr + PAGE_SIZE)); +- +- } while (pte++, addr += +- PAGE_SIZE, addr != pmd_next); +- pte_unmap(pte); +- +- } while (pmd++, addr = pmd_next, addr != pud_next); +- +- } while (pud++, addr = pud_next, addr != pgd_next); +- } while (pgd++, addr = pgd_next, addr != end); ++ return err; + } + + /* Map an allocated data into something that the user space. */ +@@ -1952,14 +1997,13 @@ static int vc_sm_ioctl_unlock(struct sm_priv_data_t *private, + list_for_each_entry(map, &resource->map_list, + resource_map_list) { + if (map->vma) { +- unsigned long start; +- unsigned long end; +- +- start = map->vma->vm_start; +- end = map->vma->vm_end; ++ const unsigned long start = map->vma->vm_start; ++ const unsigned long end = map->vma->vm_end; + +- vcsm_vma_cache_clean_page_range( +- start, end); ++ ret = clean_invalid_mem((void __user*) start, end - start, ++ VCSM_CACHE_OP_FLUSH); ++ if (ret) ++ goto error; + } + } + up_read(¤t->mm->mmap_sem); +@@ -2833,41 +2877,17 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + /* Locate resource from GUID. */ + resource = + vmcs_sm_acquire_resource(file_data, ioparam.handle); +- +- if ((resource != NULL) && resource->res_cached) { +- dma_addr_t phys_addr = 0; +- +- resource->res_stats[FLUSH]++; +- +- phys_addr = +- (dma_addr_t)((uint32_t) +- resource->res_base_mem & +- 0x3FFFFFFF); +- phys_addr += (dma_addr_t)mm_vc_mem_phys_addr; +- +- /* L1 cache flush */ +- down_read(¤t->mm->mmap_sem); +- vcsm_vma_cache_clean_page_range((unsigned long) +- ioparam.addr, +- (unsigned long) +- ioparam.addr + +- ioparam.size); +- up_read(¤t->mm->mmap_sem); +- +- /* L2 cache flush */ +- outer_clean_range(phys_addr, +- phys_addr + +- (size_t) ioparam.size); +- } else if (resource == NULL) { ++ if (resource == NULL) { + ret = -EINVAL; + goto out; + } + +- if (resource) +- vmcs_sm_release_resource(resource, 0); +- +- /* Done. */ +- goto out; ++ ret = clean_invalid_resource((void __user*) ioparam.addr, ++ ioparam.size, VCSM_CACHE_OP_FLUSH, ioparam.handle, ++ resource); ++ vmcs_sm_release_resource(resource, 0); ++ if (ret) ++ goto out; + } + break; + +@@ -2888,41 +2908,16 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + /* Locate resource from GUID. */ + resource = + vmcs_sm_acquire_resource(file_data, ioparam.handle); +- +- if ((resource != NULL) && resource->res_cached) { +- dma_addr_t phys_addr = 0; +- +- resource->res_stats[INVALID]++; +- +- phys_addr = +- (dma_addr_t)((uint32_t) +- resource->res_base_mem & +- 0x3FFFFFFF); +- phys_addr += (dma_addr_t)mm_vc_mem_phys_addr; +- +- /* L2 cache invalidate */ +- outer_inv_range(phys_addr, +- phys_addr + +- (size_t) ioparam.size); +- +- /* L1 cache invalidate */ +- down_read(¤t->mm->mmap_sem); +- vcsm_vma_cache_clean_page_range((unsigned long) +- ioparam.addr, +- (unsigned long) +- ioparam.addr + +- ioparam.size); +- up_read(¤t->mm->mmap_sem); +- } else if (resource == NULL) { ++ if (resource == NULL) { + ret = -EINVAL; + goto out; + } + +- if (resource) +- vmcs_sm_release_resource(resource, 0); +- +- /* Done. */ +- goto out; ++ ret = clean_invalid_resource((void __user*) ioparam.addr, ++ ioparam.size, VCSM_CACHE_OP_INV, ioparam.handle, resource); ++ vmcs_sm_release_resource(resource, 0); ++ if (ret) ++ goto out; + } + break; + +@@ -2941,43 +2936,27 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + goto out; + } + for (i = 0; i < sizeof(ioparam.s) / sizeof(*ioparam.s); i++) { +- switch (ioparam.s[i].cmd) { +- case VCSM_CACHE_OP_INV: /* L1/L2 invalidate virtual range */ +- case VCSM_CACHE_OP_FLUSH: /* L1/L2 clean physical range */ +- case VCSM_CACHE_OP_CLEAN: /* L1/L2 clean+invalidate all */ +- /* Locate resource from GUID. */ +- resource = +- vmcs_sm_acquire_resource(file_data, ioparam.s[i].handle); +- +- if ((resource != NULL) && resource->res_cached) { +- unsigned long base = ioparam.s[i].addr & ~(PAGE_SIZE - 1); +- unsigned long end = (ioparam.s[i].addr + ioparam.s[i].size + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1); +- +- resource->res_stats[ioparam.s[i].cmd == 1 ? INVALID : FLUSH]++; +- +- /* L1/L2 cache flush */ +- down_read(¤t->mm->mmap_sem); +- vcsm_vma_cache_clean_page_range(base, end); +- up_read(¤t->mm->mmap_sem); +- } else if (resource == NULL) { +- ret = -EINVAL; +- goto out; +- } +- +- if (resource) +- vmcs_sm_release_resource(resource, 0); +- +- break; +- default: +- break; /* NOOP */ ++ /* Locate resource from GUID. */ ++ resource = ++ vmcs_sm_acquire_resource(file_data, ioparam.s[i].handle); ++ if (resource == NULL) { ++ ret = -EINVAL; ++ goto out; + } ++ ++ ret = clean_invalid_resource((void __user*) ioparam.s[i].addr, ++ ioparam.s[i].size, ioparam.s[i].cmd, ++ ioparam.s[i].handle, resource); ++ vmcs_sm_release_resource(resource, 0); ++ if (ret) ++ goto out; + } + } + break; + /* Flush/Invalidate the cache for a given mapping. */ + case VMCS_SM_CMD_CLEAN_INVALID2: + { +- int i, j; ++ int i; + struct vmcs_sm_ioctl_clean_invalid2 ioparam; + struct vmcs_sm_ioctl_clean_invalid_block *block = NULL; + +@@ -3006,36 +2985,12 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + + for (i = 0; i < ioparam.op_count; i++) { + const struct vmcs_sm_ioctl_clean_invalid_block * const op = block + i; +- void (*op_fn)(const void *, const void *); +- +- switch(op->invalidate_mode & 3) { +- case VCSM_CACHE_OP_INV: +- op_fn = dmac_inv_range; +- break; +- case VCSM_CACHE_OP_CLEAN: +- op_fn = dmac_clean_range; +- break; +- case VCSM_CACHE_OP_FLUSH: +- op_fn = dmac_flush_range; +- break; +- default: +- op_fn = 0; +- break; +- } +- +- if ((op->invalidate_mode & ~3) != 0) { +- ret = -EINVAL; +- break; +- } +- +- if (op_fn == 0) +- continue; + +- for (j = 0; j < op->block_count; ++j) { +- const char * const base = (const char *)op->start_address + j * op->inter_block_stride; +- const char * const end = base + op->block_size; +- op_fn(base, end); +- } ++ ret = clean_invalid_mem_2d((void __user*) op->start_address, ++ op->block_count, op->block_size, ++ op->inter_block_stride, op->invalidate_mode); ++ if (ret) ++ goto out; + } + kfree(block); + } + +From db8e4449871b29ee6ffc4776b6a7bc907d1d69f1 Mon Sep 17 00:00:00 2001 +From: Sugizaki Yukimasa +Date: Mon, 8 Jan 2018 21:07:17 +0900 +Subject: [PATCH 165/170] vcsm: Fix obscure conditions + +Signed-off-by: Sugizaki Yukimasa +--- + drivers/char/broadcom/vc_sm/vmcs_sm.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c +index b6cdc1934ad2092892898559f6f0d481a7744fa9..95963ffba51afdbdfec26a8c75eec0f5e0c2f4e1 100644 +--- a/drivers/char/broadcom/vc_sm/vmcs_sm.c ++++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c +@@ -278,8 +278,8 @@ static unsigned int vmcs_sm_vc_handle_from_pid_and_address(unsigned int pid, + list_for_each_entry(map, &sm_state->map_list, map_list) { + if (map->res_pid != pid) + continue; +- if (!(map->res_addr <= addr && +- addr < map->res_addr + map->resource->res_size)) ++ if (addr < map->res_addr || ++ addr >= (map->res_addr + map->resource->res_size)) + continue; + + pr_debug("[%s]: global map %p (pid %u, addr %lx) -> vc-hdl %x (usr-hdl %x)\n", +@@ -1263,7 +1263,7 @@ static int clean_invalid_mem_2d(const void __user *addr, + size_t i; + void (*op_fn)(const void*, const void*); + +- if (block_size <= 0) { ++ if (!block_size) { + pr_err("[%s]: size cannot be 0\n", __func__); + return -EINVAL; + } + +From 44539876f7062c7342b3b025c71d09974594eb79 Mon Sep 17 00:00:00 2001 +From: Sugizaki Yukimasa +Date: Mon, 8 Jan 2018 21:11:23 +0900 +Subject: [PATCH 166/170] vcsm: Fix memory leaking on clean_invalid2 ioctl + handler + +Signed-off-by: Sugizaki Yukimasa +--- + drivers/char/broadcom/vc_sm/vmcs_sm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c +index 95963ffba51afdbdfec26a8c75eec0f5e0c2f4e1..380437f41cc64902c9576e53d0beaf76ccdc1551 100644 +--- a/drivers/char/broadcom/vc_sm/vmcs_sm.c ++++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c +@@ -2990,7 +2990,7 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + op->block_count, op->block_size, + op->inter_block_stride, op->invalidate_mode); + if (ret) +- goto out; ++ break; + } + kfree(block); + } + +From 38f5c30a2a166f6387dfdedce4ae34d4995378c0 Mon Sep 17 00:00:00 2001 +From: Sugizaki Yukimasa +Date: Mon, 8 Jan 2018 21:15:13 +0900 +Subject: [PATCH 167/170] vcsm: Describe the use of cache operation constants + +Signed-off-by: Sugizaki Yukimasa +--- + include/linux/broadcom/vmcs_sm_ioctl.h | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/include/linux/broadcom/vmcs_sm_ioctl.h b/include/linux/broadcom/vmcs_sm_ioctl.h +index ddbeebc71ada82e88a1668fbdfd9821a39d7cd22..e881fa8ee8e1474cdaa0759b742a5f67c122c9eb 100644 +--- a/include/linux/broadcom/vmcs_sm_ioctl.h ++++ b/include/linux/broadcom/vmcs_sm_ioctl.h +@@ -79,11 +79,6 @@ enum vmcs_sm_cache_e { + VMCS_SM_CACHE_BOTH, + }; + +-/* Cache functions */ +-#define VCSM_CACHE_OP_INV 0x01 +-#define VCSM_CACHE_OP_CLEAN 0x02 +-#define VCSM_CACHE_OP_FLUSH 0x03 +- + /* IOCTL Data structures */ + struct vmcs_sm_ioctl_alloc { + /* user -> kernel */ +@@ -173,6 +168,14 @@ struct vmcs_sm_ioctl_cache { + unsigned int size; + }; + ++/* ++ * Cache functions to be set to struct vmcs_sm_ioctl_clean_invalid cmd and ++ * vmcs_sm_ioctl_clean_invalid2 invalidate_mode. ++ */ ++#define VCSM_CACHE_OP_INV 0x01 ++#define VCSM_CACHE_OP_CLEAN 0x02 ++#define VCSM_CACHE_OP_FLUSH 0x03 ++ + struct vmcs_sm_ioctl_clean_invalid { + /* user -> kernel */ + struct { + +From d48cf46d3951d9244866d79437e1c5d89071dcee Mon Sep 17 00:00:00 2001 +From: Sugizaki Yukimasa +Date: Tue, 9 Jan 2018 12:33:24 +0900 +Subject: [PATCH 168/170] vcsm: Fix obscure conditions again + +Signed-off-by: Sugizaki Yukimasa +--- + drivers/char/broadcom/vc_sm/vmcs_sm.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c +index 380437f41cc64902c9576e53d0beaf76ccdc1551..0d14c511da2ab8f542d51ad87746be854d5180dc 100644 +--- a/drivers/char/broadcom/vc_sm/vmcs_sm.c ++++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c +@@ -331,8 +331,8 @@ static unsigned int vmcs_sm_usr_handle_from_pid_and_address(unsigned int pid, + list_for_each_entry(map, &sm_state->map_list, map_list) { + if (map->res_pid != pid) + continue; +- if (!(map->res_addr <= addr && +- addr < map->res_addr + map->resource->res_size)) ++ if (addr < map->res_addr || ++ addr >= (map->res_addr + map->resource->res_size)) + continue; + + pr_debug("[%s]: global map %p (pid %u, addr %lx) -> usr-hdl %x (vc-hdl %x)\n", + +From e443d90b683a8e44ccaff305d8134ea21d506702 Mon Sep 17 00:00:00 2001 +From: Sugizaki Yukimasa +Date: Wed, 10 Jan 2018 04:32:20 +0900 +Subject: [PATCH 169/170] vcsm: Add no-op cache operation constant + +Signed-off-by: Sugizaki Yukimasa +--- + drivers/char/broadcom/vc_sm/vmcs_sm.c | 10 ++++++++++ + include/linux/broadcom/vmcs_sm_ioctl.h | 1 + + 2 files changed, 11 insertions(+) + +diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c +index 0d14c511da2ab8f542d51ad87746be854d5180dc..122ea149790b549aa7550ddb9cff64dc2195fc61 100644 +--- a/drivers/char/broadcom/vc_sm/vmcs_sm.c ++++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c +@@ -1269,6 +1269,8 @@ static int clean_invalid_mem_2d(const void __user *addr, + } + + switch (cache_op) { ++ case VCSM_CACHE_OP_NOP: ++ return 0; + case VCSM_CACHE_OP_INV: + op_fn = dmac_inv_range; + break; +@@ -1312,6 +1314,8 @@ static int clean_invalid_resource(const void __user *addr, const size_t size, + return 0; + + switch (cache_op) { ++ case VCSM_CACHE_OP_NOP: ++ return 0; + case VCSM_CACHE_OP_INV: + stat_attempt = INVALID; + stat_failure = INVALID_FAIL; +@@ -2936,6 +2940,9 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + goto out; + } + for (i = 0; i < sizeof(ioparam.s) / sizeof(*ioparam.s); i++) { ++ if (ioparam.s[i].cmd == VCSM_CACHE_OP_NOP) ++ break; ++ + /* Locate resource from GUID. */ + resource = + vmcs_sm_acquire_resource(file_data, ioparam.s[i].handle); +@@ -2989,6 +2996,9 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + ret = clean_invalid_mem_2d((void __user*) op->start_address, + op->block_count, op->block_size, + op->inter_block_stride, op->invalidate_mode); ++ if (op->invalidate_mode == VCSM_CACHE_OP_NOP) ++ continue; ++ + if (ret) + break; + } +diff --git a/include/linux/broadcom/vmcs_sm_ioctl.h b/include/linux/broadcom/vmcs_sm_ioctl.h +index e881fa8ee8e1474cdaa0759b742a5f67c122c9eb..a4492b921b48e2c7fdd2745f2d2bad4846a15cdc 100644 +--- a/include/linux/broadcom/vmcs_sm_ioctl.h ++++ b/include/linux/broadcom/vmcs_sm_ioctl.h +@@ -172,6 +172,7 @@ struct vmcs_sm_ioctl_cache { + * Cache functions to be set to struct vmcs_sm_ioctl_clean_invalid cmd and + * vmcs_sm_ioctl_clean_invalid2 invalidate_mode. + */ ++#define VCSM_CACHE_OP_NOP 0x00 + #define VCSM_CACHE_OP_INV 0x01 + #define VCSM_CACHE_OP_CLEAN 0x02 + #define VCSM_CACHE_OP_FLUSH 0x03 + +From fc66fc5705db7642cbbdf2111e89b920e5e57f22 Mon Sep 17 00:00:00 2001 +From: Sugizaki Yukimasa +Date: Wed, 10 Jan 2018 06:25:51 +0900 +Subject: [PATCH 170/170] vcsm: Revert to do page-table-walk-based cache + manipulating on some ioctl calls + +On FLUSH, INVALID, CLEAN_INVALID ioctl calls, cache operations based on +page table walk were used in case that the buffer of the cache is not +pinned. So reverted to do page-table-based cache manipulating. + +Signed-off-by: Sugizaki Yukimasa +--- + drivers/char/broadcom/vc_sm/vmcs_sm.c | 141 ++++++++++++++++++++++++++-------- + 1 file changed, 110 insertions(+), 31 deletions(-) + +diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c +index 122ea149790b549aa7550ddb9cff64dc2195fc61..1bc37ee882255c0d05beac58bb3b9e31c62e9e42 100644 +--- a/drivers/char/broadcom/vc_sm/vmcs_sm.c ++++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c +@@ -1256,7 +1256,33 @@ static const struct vm_operations_struct vcsm_vm_ops = { + .fault = vcsm_vma_fault, + }; + +-static int clean_invalid_mem_2d(const void __user *addr, ++/* Converts VCSM_CACHE_OP_* to an operating function. */ ++static void (*cache_op_to_func(const unsigned cache_op)) ++ (const void*, const void*) ++{ ++ switch (cache_op) { ++ case VCSM_CACHE_OP_NOP: ++ return NULL; ++ ++ case VCSM_CACHE_OP_INV: ++ return dmac_inv_range; ++ ++ case VCSM_CACHE_OP_CLEAN: ++ return dmac_clean_range; ++ ++ case VCSM_CACHE_OP_FLUSH: ++ return dmac_flush_range; ++ ++ default: ++ pr_err("[%s]: Invalid cache_op: 0x%08x\n", __func__, cache_op); ++ return NULL; ++ } ++} ++ ++/* ++ * Clean/invalid/flush cache of which buffer is already pinned (i.e. accessed). ++ */ ++static int clean_invalid_contiguous_mem_2d(const void __user *addr, + const size_t block_count, const size_t block_size, const size_t stride, + const unsigned cache_op) + { +@@ -1268,22 +1294,9 @@ static int clean_invalid_mem_2d(const void __user *addr, + return -EINVAL; + } + +- switch (cache_op) { +- case VCSM_CACHE_OP_NOP: +- return 0; +- case VCSM_CACHE_OP_INV: +- op_fn = dmac_inv_range; +- break; +- case VCSM_CACHE_OP_CLEAN: +- op_fn = dmac_clean_range; +- break; +- case VCSM_CACHE_OP_FLUSH: +- op_fn = dmac_flush_range; +- break; +- default: +- pr_err("[%s]: Invalid cache_op: 0x%08x\n", __func__, cache_op); ++ op_fn = cache_op_to_func(cache_op); ++ if (op_fn == NULL) + return -EINVAL; +- } + + for (i = 0; i < block_count; i ++, addr += stride) + op_fn(addr, addr + block_size); +@@ -1291,14 +1304,73 @@ static int clean_invalid_mem_2d(const void __user *addr, + return 0; + } + +-static int clean_invalid_mem(const void __user *addr, const size_t size, ++/* Clean/invalid/flush cache of which buffer may be non-pinned. */ ++/* The caller must lock current->mm->mmap_sem for read. */ ++static int clean_invalid_mem_walk(unsigned long addr, const size_t size, + const unsigned cache_op) + { +- return clean_invalid_mem_2d(addr, 1, size, 0, cache_op); ++ pgd_t *pgd; ++ pud_t *pud; ++ pmd_t *pmd; ++ pte_t *pte; ++ unsigned long pgd_next, pud_next, pmd_next; ++ const unsigned long end = ALIGN(addr + size, PAGE_SIZE); ++ void (*op_fn)(const void*, const void*); ++ ++ addr &= PAGE_MASK; ++ ++ if (addr >= end) ++ return 0; ++ ++ op_fn = cache_op_to_func(cache_op); ++ if (op_fn == NULL) ++ return -EINVAL; ++ ++ /* Walk PGD */ ++ pgd = pgd_offset(current->mm, addr); ++ do { ++ pgd_next = pgd_addr_end(addr, end); ++ ++ if (pgd_none(*pgd) || pgd_bad(*pgd)) ++ continue; ++ ++ /* Walk PUD */ ++ pud = pud_offset(pgd, addr); ++ do { ++ pud_next = pud_addr_end(addr, pgd_next); ++ if (pud_none(*pud) || pud_bad(*pud)) ++ continue; ++ ++ /* Walk PMD */ ++ pmd = pmd_offset(pud, addr); ++ do { ++ pmd_next = pmd_addr_end(addr, pud_next); ++ if (pmd_none(*pmd) || pmd_bad(*pmd)) ++ continue; ++ ++ /* Walk PTE */ ++ pte = pte_offset_map(pmd, addr); ++ do { ++ if (pte_none(*pte) || !pte_present(*pte)) ++ continue; ++ ++ op_fn((const void __user*) addr, ++ (const void __user*) (addr + PAGE_SIZE)); ++ } while (pte++, addr += PAGE_SIZE, addr != pmd_next); ++ pte_unmap(pte); ++ ++ } while (pmd++, addr = pmd_next, addr != pud_next); ++ ++ } while (pud++, addr = pud_next, addr != pgd_next); ++ ++ } while (pgd++, addr = pgd_next, addr != end); ++ ++ return 0; + } + +-static int clean_invalid_resource(const void __user *addr, const size_t size, +- const unsigned cache_op, const int usr_hdl, ++/* Clean/invalid/flush cache of buffer in resource */ ++static int clean_invalid_resource_walk(const void __user *addr, ++ const size_t size, const unsigned cache_op, const int usr_hdl, + struct sm_resource_t *resource) + { + int err; +@@ -1355,7 +1427,10 @@ static int clean_invalid_resource(const void __user *addr, const size_t size, + return -EFAULT; + } + +- err = clean_invalid_mem(addr, size, cache_op); ++ down_read(¤t->mm->mmap_sem); ++ err = clean_invalid_mem_walk((unsigned long) addr, size, cache_op); ++ up_read(¤t->mm->mmap_sem); ++ + if (err) + resource->res_stats[stat_failure]++; + +@@ -2004,7 +2079,7 @@ static int vc_sm_ioctl_unlock(struct sm_priv_data_t *private, + const unsigned long start = map->vma->vm_start; + const unsigned long end = map->vma->vm_end; + +- ret = clean_invalid_mem((void __user*) start, end - start, ++ ret = clean_invalid_mem_walk(start, end - start, + VCSM_CACHE_OP_FLUSH); + if (ret) + goto error; +@@ -2886,7 +2961,7 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + goto out; + } + +- ret = clean_invalid_resource((void __user*) ioparam.addr, ++ ret = clean_invalid_resource_walk((void __user*) ioparam.addr, + ioparam.size, VCSM_CACHE_OP_FLUSH, ioparam.handle, + resource); + vmcs_sm_release_resource(resource, 0); +@@ -2917,7 +2992,7 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + goto out; + } + +- ret = clean_invalid_resource((void __user*) ioparam.addr, ++ ret = clean_invalid_resource_walk((void __user*) ioparam.addr, + ioparam.size, VCSM_CACHE_OP_INV, ioparam.handle, resource); + vmcs_sm_release_resource(resource, 0); + if (ret) +@@ -2951,16 +3026,19 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + goto out; + } + +- ret = clean_invalid_resource((void __user*) ioparam.s[i].addr, +- ioparam.s[i].size, ioparam.s[i].cmd, +- ioparam.s[i].handle, resource); ++ ret = clean_invalid_resource_walk( ++ (void __user*) ioparam.s[i].addr, ioparam.s[i].size, ++ ioparam.s[i].cmd, ioparam.s[i].handle, resource); + vmcs_sm_release_resource(resource, 0); + if (ret) + goto out; + } + } + break; +- /* Flush/Invalidate the cache for a given mapping. */ ++ /* ++ * Flush/Invalidate the cache for a given mapping. ++ * Blocks must be pinned (i.e. accessed) before this call. ++ */ + case VMCS_SM_CMD_CLEAN_INVALID2: + { + int i; +@@ -2993,12 +3071,13 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + for (i = 0; i < ioparam.op_count; i++) { + const struct vmcs_sm_ioctl_clean_invalid_block * const op = block + i; + +- ret = clean_invalid_mem_2d((void __user*) op->start_address, +- op->block_count, op->block_size, +- op->inter_block_stride, op->invalidate_mode); + if (op->invalidate_mode == VCSM_CACHE_OP_NOP) + continue; + ++ ret = clean_invalid_contiguous_mem_2d( ++ (void __user*) op->start_address, op->block_count, ++ op->block_size, op->inter_block_stride, ++ op->invalidate_mode); + if (ret) + break; + } From c9c130e0bfea876fd7000c60808f806ca58f6b66 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 05/21] config: update options for linux-4.14.12 --- projects/Generic/linux/linux.x86_64.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/Generic/linux/linux.x86_64.conf b/projects/Generic/linux/linux.x86_64.conf index c210fad0ae..3a14795e2e 100644 --- a/projects/Generic/linux/linux.x86_64.conf +++ b/projects/Generic/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 4.14.9 Kernel Configuration +# Linux/x86_64 4.14.12 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -5217,6 +5217,7 @@ CONFIG_KEYS_COMPAT=y # CONFIG_SECURITY_DMESG_RESTRICT is not set # CONFIG_SECURITY is not set # CONFIG_SECURITYFS is not set +CONFIG_PAGE_TABLE_ISOLATION=y CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y # CONFIG_HARDENED_USERCOPY is not set # CONFIG_FORTIFY_SOURCE is not set From cb5caab5fd5d0a0bd4cbad2003a5a94cc5f65815 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 06/21] linux: add BayTrail patches --- ...-with-clockfreq-changes-on-Bay-Trail.patch | 89 +++++++++++++++++++ ...le:-Disable-C6N-and-C6S-on-Bay-Trail.patch | 53 +++++++++++ 2 files changed, 142 insertions(+) create mode 100644 packages/linux/patches/default/linux-999.20-i915-pm-Be-less-agressive-with-clockfreq-changes-on-Bay-Trail.patch create mode 100644 packages/linux/patches/default/linux-999.21-intel_idle:-Disable-C6N-and-C6S-on-Bay-Trail.patch diff --git a/packages/linux/patches/default/linux-999.20-i915-pm-Be-less-agressive-with-clockfreq-changes-on-Bay-Trail.patch b/packages/linux/patches/default/linux-999.20-i915-pm-Be-less-agressive-with-clockfreq-changes-on-Bay-Trail.patch new file mode 100644 index 0000000000..0a68a040d8 --- /dev/null +++ b/packages/linux/patches/default/linux-999.20-i915-pm-Be-less-agressive-with-clockfreq-changes-on-Bay-Trail.patch @@ -0,0 +1,89 @@ +From 28ad70a06fb84fe63cd036970db2561b2fd1562b Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 5 Nov 2017 16:51:23 +0100 +Subject: [PATCH v3 1/2] i915: pm: Be less agressive with clockfreq changes on + Bay Trail + +Bay Trail devices are known to hang when changing the frequency often, +this is discussed in great length in: +https://bugzilla.kernel.org/show_bug.cgi?id=109051 + +Commit 6067a27d1f01 ("drm/i915: Avoid tweaking evaluation thresholds +on Baytrail v3") is an attempt to workaround this. Several users in +bko109051 report that an earlier version of this patch, v1: +https://bugzilla.kernel.org/attachment.cgi?id=251471 + +Works better for them and they still see hangs with the merged v3. + +Comparing the 2 versions shows that they are indeed not equivalent, +v1 not only skips writing the GEN6_RP* registers from valleyview_set_rps, +as v3 does. It also contained these modifications to i915_irq.c: + + if (pm_iir & GEN6_PM_RP_DOWN_EI_EXPIRED) { + if (!vlv_c0_above(dev_priv, + &dev_priv->rps.down_ei, &now, +- dev_priv->rps.down_threshold)) ++ VLV_RP_DOWN_EI_THRESHOLD)) + events |= GEN6_PM_RP_DOWN_THRESHOLD; + dev_priv->rps.down_ei = now; + } + + if (pm_iir & GEN6_PM_RP_UP_EI_EXPIRED) { + if (vlv_c0_above(dev_priv, + &dev_priv->rps.up_ei, &now, +- dev_priv->rps.up_threshold)) ++ VLV_RP_UP_EI_THRESHOLD)) + events |= GEN6_PM_RP_UP_THRESHOLD; + dev_priv->rps.up_ei = now; + } + +Which use less aggressive up/down thresholds, which results in less +GEN6_PM_RP_*_THRESHOLD events and thus in less calls to intel_set_rps() -> +valleyview_set_rps() -> vlv_punit_write(PUNIT_REG_GPU_FREQ_REQ). +With the last call being the likely cause of the hang. + +This commit hardcodes the threshold_up and _down values for Bay Trail to +less aggressive values, reducing the amount of clock frequency changes, +thus avoiding the hangs some people are still seeing with the merged fix. + +Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=109051 +Signed-off-by: Hans de Goede +--- + drivers/gpu/drm/i915/i915_reg.h | 3 +++ + drivers/gpu/drm/i915/intel_pm.c | 5 ++++- + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h +index 68a58cce6ab1..2561af075ebb 100644 +--- a/drivers/gpu/drm/i915/i915_reg.h ++++ b/drivers/gpu/drm/i915/i915_reg.h +@@ -1355,6 +1355,9 @@ enum i915_power_well_id { + #define VLV_BIAS_CPU_125_SOC_875 (6 << 2) + #define CHV_BIAS_CPU_50_SOC_50 (3 << 2) + ++#define VLV_RP_UP_EI_THRESHOLD 90 ++#define VLV_RP_DOWN_EI_THRESHOLD 70 ++ + /* vlv2 north clock has */ + #define CCK_FUSE_REG 0x8 + #define CCK_FUSE_HPLL_FREQ_MASK 0x3 +diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c +index 01966b89be14..177b6caa0a38 100644 +--- a/drivers/gpu/drm/i915/intel_pm.c ++++ b/drivers/gpu/drm/i915/intel_pm.c +@@ -6096,8 +6096,11 @@ static void gen6_set_rps_thresholds(struct drm_i915_private *dev_priv, u8 val) + /* When byt can survive without system hang with dynamic + * sw freq adjustments, this restriction can be lifted. + */ +- if (IS_VALLEYVIEW(dev_priv)) ++ if (IS_VALLEYVIEW(dev_priv)) { ++ threshold_up = VLV_RP_UP_EI_THRESHOLD; ++ threshold_down = VLV_RP_DOWN_EI_THRESHOLD; + goto skip_hw_write; ++ } + + I915_WRITE(GEN6_RP_UP_EI, + GT_INTERVAL_FROM_US(dev_priv, ei_up)); +-- +2.14.3 + diff --git a/packages/linux/patches/default/linux-999.21-intel_idle:-Disable-C6N-and-C6S-on-Bay-Trail.patch b/packages/linux/patches/default/linux-999.21-intel_idle:-Disable-C6N-and-C6S-on-Bay-Trail.patch new file mode 100644 index 0000000000..8b820cdc82 --- /dev/null +++ b/packages/linux/patches/default/linux-999.21-intel_idle:-Disable-C6N-and-C6S-on-Bay-Trail.patch @@ -0,0 +1,53 @@ +From 945d0eb39d8920854c72ecb743c07d54b738cf7f Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Thu, 9 Nov 2017 14:21:24 +0100 +Subject: [PATCH v3 2/2] intel_idle: Disable C6N and C6S on Bay Trail + +It seems that Bay Trail SoCs sometimes have issues waking from C6, +a lot of users even report Bay Trail devices only being stable +when passing intel_idle.max_cstate=1 to the kernel. + +This commits disables the C6 states while leaving the C7 states +available so that the cores can still reach deep sleep states. + +There are several indicators that this is part of the solution for +all the users who need to pass intel_idle.max_cstate=1: + +1) The "VLP52 EOI Transactions May Not be Sent if Software + Enters Core C6 During an Interrupt Service Routine" errata. + +2) Several users who need intel_idle.max_cstate=1 indicate in bko109051 + (which has over 800 comments!) that using a shell script which + disables C6N and C6S through sysfs allows them to remove + intel_idle.max_cstate=1 and still have a stable system which does + use the C7 states for power-saving. + +BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=109051 +Signed-off-by: Hans de Goede +--- + drivers/idle/intel_idle.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c +index 5dc7ea4b6bc4..fe05984c9e81 100644 +--- a/drivers/idle/intel_idle.c ++++ b/drivers/idle/intel_idle.c +@@ -221,6 +221,7 @@ static struct cpuidle_state byt_cstates[] = { + .flags = MWAIT2flg(0x58) | CPUIDLE_FLAG_TLB_FLUSHED, + .exit_latency = 300, + .target_residency = 275, ++ .disabled = true, + .enter = &intel_idle, + .enter_s2idle = intel_idle_s2idle, }, + { +@@ -229,6 +230,7 @@ static struct cpuidle_state byt_cstates[] = { + .flags = MWAIT2flg(0x52) | CPUIDLE_FLAG_TLB_FLUSHED, + .exit_latency = 500, + .target_residency = 560, ++ .disabled = true, + .enter = &intel_idle, + .enter_s2idle = intel_idle_s2idle, }, + { +-- +2.14.3 + From 5961764bea5864ca0a193733dc12f832539669bb Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 07/21] intel-ucode: update to intel-ucode-20180108 --- .../linux-firmware/intel-ucode/package.mk | 6 +- .../sources/intel-microcode2ucode.c | 154 ------------------ 2 files changed, 3 insertions(+), 157 deletions(-) delete mode 100644 packages/linux-firmware/intel-ucode/sources/intel-microcode2ucode.c diff --git a/packages/linux-firmware/intel-ucode/package.mk b/packages/linux-firmware/intel-ucode/package.mk index 78e128dfa6..2513b178be 100644 --- a/packages/linux-firmware/intel-ucode/package.mk +++ b/packages/linux-firmware/intel-ucode/package.mk @@ -17,12 +17,12 @@ ################################################################################ PKG_NAME="intel-ucode" -PKG_VERSION="20171117" -PKG_SHA256="93bd1da9fa58ece0016702e657f708b7e496e56da637a3fe9a6d21f1d6f524dc" +PKG_VERSION="20180108" +PKG_SHA256="063f1aa3a546cb49323a5e0b516894e4b040007107b8c8ff017aca8a86204130" PKG_ARCH="x86_64" PKG_LICENSE="other" PKG_SITE="https://downloadcenter.intel.com/search?keyword=linux+microcode" -PKG_URL="https://downloadmirror.intel.com/27337/eng/microcode-${PKG_VERSION}.tgz" +PKG_URL="https://downloadmirror.intel.com/27431/eng/microcode-${PKG_VERSION}.tgz" PKG_DEPENDS_HOST="toolchain" PKG_DEPENDS_TARGET="toolchain intel-ucode:host" PKG_SECTION="linux-firmware" diff --git a/packages/linux-firmware/intel-ucode/sources/intel-microcode2ucode.c b/packages/linux-firmware/intel-ucode/sources/intel-microcode2ucode.c deleted file mode 100644 index c1660fae38..0000000000 --- a/packages/linux-firmware/intel-ucode/sources/intel-microcode2ucode.c +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Convert Intel microcode.dat into a single binary microcode.bin file - * - * Based on code by Kay Sievers - * Changed to create a single file by Thomas Bächler - */ - - -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -struct microcode_header_intel { - unsigned int hdrver; - unsigned int rev; - unsigned int date; - unsigned int sig; - unsigned int cksum; - unsigned int ldrver; - unsigned int pf; - unsigned int datasize; - unsigned int totalsize; - unsigned int reserved[3]; -}; - -union mcbuf { - struct microcode_header_intel hdr; - unsigned int i[0]; - char c[0]; -}; - -int main(int argc, char *argv[]) -{ - const char *filename = "/lib/firmware/microcode.dat"; - FILE *f; - char line[LINE_MAX]; - char buf[4000000]; - union mcbuf *mc; - size_t bufsize, count, start; - int rc = EXIT_SUCCESS; - - if (argv[1] != NULL) - filename = argv[1]; - - count = 0; - mc = (union mcbuf *) buf; - f = fopen(filename, "re"); - if (f == NULL) { - printf("open %s: %m\n", filename); - rc = EXIT_FAILURE; - goto out; - } - - while (fgets(line, sizeof(line), f) != NULL) { - if (sscanf(line, "%x, %x, %x, %x", - &mc->i[count], - &mc->i[count + 1], - &mc->i[count + 2], - &mc->i[count + 3]) != 4) - continue; - count += 4; - } - fclose(f); - - bufsize = count * sizeof(int); - printf("%s: %lu(%luk) bytes, %zu integers\n", - filename, - bufsize, - bufsize / 1024, - count); - - if (bufsize < sizeof(struct microcode_header_intel)) - goto out; - - f = fopen("microcode.bin", "we"); - if (f == NULL) { - printf("open microcode.bin: %m\n"); - rc = EXIT_FAILURE; - goto out; - } - - start = 0; - for (;;) { - size_t size; - unsigned int family, model, stepping; - unsigned int year, month, day; - - mc = (union mcbuf *) &buf[start]; - - if (mc->hdr.totalsize) - size = mc->hdr.totalsize; - else - size = 2000 + sizeof(struct microcode_header_intel); - - if (mc->hdr.ldrver != 1 || mc->hdr.hdrver != 1) { - printf("unknown version/format:\n"); - rc = EXIT_FAILURE; - break; - } - - /* - * 0- 3 stepping - * 4- 7 model - * 8-11 family - * 12-13 type - * 16-19 extended model - * 20-27 extended family - */ - family = (mc->hdr.sig >> 8) & 0xf; - if (family == 0xf) - family += (mc->hdr.sig >> 20) & 0xff; - model = (mc->hdr.sig >> 4) & 0x0f; - if (family == 0x06) - model += ((mc->hdr.sig >> 16) & 0x0f) << 4; - stepping = mc->hdr.sig & 0x0f; - - year = mc->hdr.date & 0xffff; - month = mc->hdr.date >> 24; - day = (mc->hdr.date >> 16) & 0xff; - - printf("\n"); - printf("signature: 0x%02x\n", mc->hdr.sig); - printf("flags: 0x%02x\n", mc->hdr.pf); - printf("revision: 0x%02x\n", mc->hdr.rev); - printf("date: %04x-%02x-%02x\n", year, month, day); - printf("size: %zu\n", size); - - if (fwrite(mc, size, 1, f) != 1) { - printf("write microcode.bin: %m\n"); - rc = EXIT_FAILURE; - goto out; - } - - start += size; - if (start >= bufsize) - break; - } - fclose(f); - printf("\n"); -out: - return rc; -} From d6db52aa197cfbb40cb5ef496ea16fa20a21f6d4 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 08/21] config: enable CONFIG_IOSCHED_BFQ support --- projects/Generic/linux/linux.x86_64.conf | 3 ++- projects/RPi/devices/RPi/linux/linux.arm.conf | 3 ++- projects/RPi/devices/RPi2/linux/linux.arm.conf | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/projects/Generic/linux/linux.x86_64.conf b/projects/Generic/linux/linux.x86_64.conf index 3a14795e2e..2aa185ea8c 100644 --- a/projects/Generic/linux/linux.x86_64.conf +++ b/projects/Generic/linux/linux.x86_64.conf @@ -407,7 +407,8 @@ CONFIG_DEFAULT_CFQ=y CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y -# CONFIG_IOSCHED_BFQ is not set +CONFIG_IOSCHED_BFQ=y +# CONFIG_BFQ_GROUP_IOSCHED is not set CONFIG_INLINE_SPIN_UNLOCK_IRQ=y CONFIG_INLINE_READ_UNLOCK=y CONFIG_INLINE_READ_UNLOCK_IRQ=y diff --git a/projects/RPi/devices/RPi/linux/linux.arm.conf b/projects/RPi/devices/RPi/linux/linux.arm.conf index 9e6a99bfce..4337a33fb0 100644 --- a/projects/RPi/devices/RPi/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi/linux/linux.arm.conf @@ -335,7 +335,8 @@ CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_IOSCHED="noop" CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y -# CONFIG_IOSCHED_BFQ is not set +CONFIG_IOSCHED_BFQ=y +# CONFIG_BFQ_GROUP_IOSCHED is not set CONFIG_INLINE_SPIN_UNLOCK_IRQ=y CONFIG_INLINE_READ_UNLOCK=y CONFIG_INLINE_READ_UNLOCK_IRQ=y diff --git a/projects/RPi/devices/RPi2/linux/linux.arm.conf b/projects/RPi/devices/RPi2/linux/linux.arm.conf index a72a0d8b9e..ad4fed1722 100644 --- a/projects/RPi/devices/RPi2/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi2/linux/linux.arm.conf @@ -342,7 +342,8 @@ CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_IOSCHED="noop" CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y -# CONFIG_IOSCHED_BFQ is not set +CONFIG_IOSCHED_BFQ=y +# CONFIG_BFQ_GROUP_IOSCHED is not set CONFIG_INLINE_SPIN_UNLOCK_IRQ=y CONFIG_INLINE_READ_UNLOCK=y CONFIG_INLINE_READ_UNLOCK_IRQ=y From 8357668796198c807ac77d6d0db11fbced233e0c Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 09/21] wlan-firmware: update to wlan-firmware-cfc1842 --- packages/linux-firmware/kernel-firmware/package.mk | 1 + packages/linux-firmware/wlan-firmware/package.mk | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/linux-firmware/kernel-firmware/package.mk b/packages/linux-firmware/kernel-firmware/package.mk index 3f258ef4d0..d20e0273fc 100644 --- a/packages/linux-firmware/kernel-firmware/package.mk +++ b/packages/linux-firmware/kernel-firmware/package.mk @@ -61,4 +61,5 @@ makeinstall_target() { # The following file is installed by brcmfmac_sdio-firmware-rpi rm -fr $FW_TARGET_DIR/brcm/brcmfmac43430*-sdio.bin + rm -fr $FW_TARGET_DIR/brcm/brcmfmac43455*-sdio.bin } diff --git a/packages/linux-firmware/wlan-firmware/package.mk b/packages/linux-firmware/wlan-firmware/package.mk index fcdcc9fa79..4bbc1bd235 100644 --- a/packages/linux-firmware/wlan-firmware/package.mk +++ b/packages/linux-firmware/wlan-firmware/package.mk @@ -17,8 +17,8 @@ ################################################################################ PKG_NAME="wlan-firmware" -PKG_VERSION="34a47d9" -PKG_SHA256="91dc9af5689cd7275723d6b825e5c3d800b7b8149e031a24e48556e030f63af8" +PKG_VERSION="cfc1842" +PKG_SHA256="52d56658d7f426cf8b99637179cbca39058b781d3720599f838764571151fc64" PKG_ARCH="any" PKG_LICENSE="Free-to-use" PKG_SITE="https://github.com/LibreELEC/wlan-firmware" From 2acd50881ad2e5752a83707354f8cbad643b183d Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 10/21] linux: update to linux-4.14.13 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 981d527876..9f082fe945 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -47,8 +47,8 @@ case "$LINUX" in PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET aml-dtbtools:host" ;; *) - PKG_VERSION="4.14.12" - PKG_SHA256="6608f7d480efc5c1078888e9344f4e0b0cd9bef0b6541cbdaec7d138e03856af" + PKG_VERSION="4.14.13" + PKG_SHA256="4ab46d1b5a0f8ef83b80760f89ae4f5c88431b19b3cf79ffa0c66d6b33e45772" PKG_URL="https://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_PATCH_DIRS="default" ;; From f87dafe4dbe76d036471e455092f8ebb52cd7ac4 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 11/21] RPi: update linux support patch for linux 4.14.13 --- .../patches/linux/linux-01-RPi_support.patch | 340 +++++++++--------- 1 file changed, 170 insertions(+), 170 deletions(-) diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 1793f60030..8dae9d9292 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,4 +1,4 @@ -From 47916122f8c063d879949717ac7b3c69b4bea9bf Mon Sep 17 00:00:00 2001 +From 8883c35a9a30bf29db4228d59a585d8ef222ab76 Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 Subject: [PATCH 001/170] arm: partially revert @@ -106,7 +106,7 @@ index 054b491ff7649ca067ff821770aec80a4da42102..70e8b7d3443467ae9595924f1a9d043b EXPORT_SYMBOL(cpu_cache); #endif -From c993a6f06a97d4456fe6960bb367c2a447d5475b Mon Sep 17 00:00:00 2001 +From d07efdf1459ee533feb9849bcf6b44ecef6aeeaa Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 Subject: [PATCH 002/170] smsx95xx: fix crimes against truesize @@ -156,7 +156,7 @@ index 309b88acd3d0b6ca1528dde7b27a23926f9be952..25e37195ceb00cfc0ced7638e8b571a1 usbnet_skb_return(dev, ax_skb); } -From d60b6d1ec6538203fb495619658cba9301856b39 Mon Sep 17 00:00:00 2001 +From 9b8ce7f93b98e35d99302a9dde14243097d82ae4 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 Subject: [PATCH 003/170] smsc95xx: Experimental: Enable turbo_mode and @@ -202,7 +202,7 @@ index 25e37195ceb00cfc0ced7638e8b571a1b0b8e6f1..09c7d4a07299e70b1cdc9df2c2c4cb39 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From 62b6f945fd5f1fae5aae8dbac36e29e3914e0c2e Mon Sep 17 00:00:00 2001 +From 3a4d655d2c7bf314cde64328fe26f9acb2087012 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 Subject: [PATCH 004/170] Allow mac address to be set in smsc95xx @@ -301,7 +301,7 @@ index 09c7d4a07299e70b1cdc9df2c2c4cb39d2207c37..4d9704d0b184df9bd7ddbe6769e40a75 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From f592bb214dca725fdfd3029d987eee71974d35e5 Mon Sep 17 00:00:00 2001 +From 6581396cf131ebd566a8ca413879b745def912ec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 Subject: [PATCH 005/170] Protect __release_resource against resources without @@ -332,7 +332,7 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From 5fb10be0bb930155ef29f520c1c2bd9a68f4e65a Mon Sep 17 00:00:00 2001 +From a33c44487509735534c3635fd2b1e8097bcb89ec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 Subject: [PATCH 006/170] irq-bcm2836: Prevent spurious interrupts, and trap @@ -362,7 +362,7 @@ index dc8c1e3eafe794a3af83dd987a6d6362d14dd5ee..e8204d9af58f1b893505c06902a83390 #endif } else if (stat) { -From c36fee49dfa6462c50b0ff0981e305871b7ace2b Mon Sep 17 00:00:00 2001 +From 90b969c5a4dc4381e74a09be875f031b8e95911e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 Subject: [PATCH 007/170] irq-bcm2836: Avoid "Invalid trigger warning" @@ -389,7 +389,7 @@ index e8204d9af58f1b893505c06902a83390c2ea8509..6e3fab9587b782e026c01fa6b6e40338 static void -From 54dc7e033552f40e487fc216da98449c47f19a29 Mon Sep 17 00:00:00 2001 +From fd8e0ecc80860fa755066083e46327fe4be399be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 Subject: [PATCH 008/170] irqchip: bcm2835: Add FIQ support @@ -521,7 +521,7 @@ index d2da8a1e6b1b71381e382d034e7a94e865a6c3da..c4903360eabc2bef04f8e745782cea26 } -From f4f19712da6980f523472fd5217ac943dfd7a54b Mon Sep 17 00:00:00 2001 +From f41c1dffe972fcfbdd0a709deeb8b3c6dd174f23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 Subject: [PATCH 009/170] irqchip: irq-bcm2835: Add 2836 FIQ support @@ -623,7 +623,7 @@ index c4903360eabc2bef04f8e745782cea268fb22897..13356d3b7bcd508f058c6a9e3c4b0b38 for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From 8bd0d797f8eda7935fb2ccb849fa34ae3c011290 Mon Sep 17 00:00:00 2001 +From 5a845b1a12dc821e4b411c33da23d4d6d3d91585 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:43:40 +0100 Subject: [PATCH 010/170] irq_bcm2836: Send event when onlining sleeping cores @@ -662,7 +662,7 @@ index 6e3fab9587b782e026c01fa6b6e40338ef0c8d0a..86b357ae027bf8ba1ac32cd150a8cf21 } -From a358ddf417555a2eae0ab4d34917fe2c1c8c353c Mon Sep 17 00:00:00 2001 +From e2a8b78d53f5da5f6718732e44358552cd434062 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 Subject: [PATCH 011/170] spidev: Add "spidev" compatible string to silence @@ -686,7 +686,7 @@ index cda10719d1d1b21b32866d2b79363faa461ab8e1..4f3779d3aa0960640506725bde918075 }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From 7c213f28f4aacb3c301d164e984f4ccff76d93a0 Mon Sep 17 00:00:00 2001 +From 8ed985ca02708c3e680386340f86ab11fa0e0b44 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 Subject: [PATCH 012/170] spi-bcm2835: Support pin groups other than 7-11 @@ -770,7 +770,7 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From c5e714f907fc1079e8d6e33a30a226178ac07523 Mon Sep 17 00:00:00 2001 +From a400d2e5f74c3e86bdacda29d491c1c22d5fb892 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 Subject: [PATCH 013/170] spi-bcm2835: Disable forced software CS @@ -807,7 +807,7 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From b17fc1798293225bd09b25194128155574912016 Mon Sep 17 00:00:00 2001 +From b8379ef3c5adbe221e0f490315d1eb2d72621658 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 Subject: [PATCH 014/170] spi-bcm2835: Remove unused code @@ -898,7 +898,7 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From fb51d8b2f1e8b69791c2f1b7baeec1b52efb3211 Mon Sep 17 00:00:00 2001 +From b73d39a3992acb8dbb16e6f9c56094d5898abf36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 Subject: [PATCH 015/170] ARM: bcm2835: Set Serial number and Revision @@ -954,7 +954,7 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From 51486daed23114dac9987bca2d33ec298bdcc05c Mon Sep 17 00:00:00 2001 +From aebeab98cce8a9ea68f1510ed6fc9bee1ad0222d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 Subject: [PATCH 016/170] dmaengine: bcm2835: Load driver early and support @@ -1060,7 +1060,7 @@ index 6204cc32d09c5096df8aec304c3c37b3bcb6be44..599c218dc8a73172dd4bd4a058fc8f95 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From b153567afb88dc7edf7b4aec9f5a51c80c30a6b2 Mon Sep 17 00:00:00 2001 +From 2e29233713b96773947340ecf35e80a89c78f14a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 Subject: [PATCH 017/170] firmware: Updated mailbox header @@ -1149,7 +1149,7 @@ index cb979ad90401e299344dd5fae38d09c489d8bd58..cbd1674570433fc591df89f68c892b33 #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From 3aaecfa55ec45f7ab75d5a6217cc7ac9f0c2e639 Mon Sep 17 00:00:00 2001 +From cbeff005b7291d65632d46a356bf877be27a1b3c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 Subject: [PATCH 018/170] rtc: Add SPI alias for pcf2123 driver @@ -1172,7 +1172,7 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From 7e082a53eabcffa7556c84151b31f6b307aceb4a Mon Sep 17 00:00:00 2001 +From 6cd9767e2cf6d85063561843797aebd0aa798f76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 Subject: [PATCH 019/170] watchdog: bcm2835: Support setting reboot partition @@ -1277,7 +1277,7 @@ index b339e0e67b4c1275fd4992fea4f1e24c0575b783..26b7177573fac2af1cd4ab5488d2686f static int bcm2835_wdt_probe(struct platform_device *pdev) -From fa7de5c4c1690594bba1b5ad55c00de988ba76ff Mon Sep 17 00:00:00 2001 +From 9a58c420f3b1143757380d2674fbf3b3ae47c647 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 Subject: [PATCH 020/170] reboot: Use power off rather than busy spinning when @@ -1303,7 +1303,7 @@ index 3b2aa9a9fe268d45335f781c4aa22cf573753a1b..0180d89a34af45c56243fe0f17fbe209 /* -From 5ae8db593a70aad109d48d99587966d48fe110af Mon Sep 17 00:00:00 2001 +From 12a8db6261d503e02a8377d9cb20117f51117337 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 Subject: [PATCH 021/170] bcm: Make RASPBERRYPI_POWER depend on PM @@ -1325,7 +1325,7 @@ index 49f1e2a75d614bc21db152327c7b425ae2504f8d..dccd2374ed00631abd441e3e9d78ee74 help This enables support for the RPi power domains which can be enabled -From 8a3f6706d65cdb89a052d3ddc87270daae3da412 Mon Sep 17 00:00:00 2001 +From c08ff0dd014ad62e87fdac162d395712bb39c928 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 Subject: [PATCH 022/170] Register the clocks early during the boot process, so @@ -1373,7 +1373,7 @@ index 58ce6af8452db9ca8b4d3c380a06e448919f6a8d..11d89d106026f15719ea25047d6f357b MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From d48a15724ccdf3ee2622cf4b50a7d42db7676efc Mon Sep 17 00:00:00 2001 +From ba09e2de04c40e16fd2920afa6f3b8c9fb970399 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 Subject: [PATCH 023/170] bcm2835-rng: Avoid initialising if already enabled @@ -1402,7 +1402,7 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From 94916a4db109aa852f4387766be5d210a2e0a7b9 Mon Sep 17 00:00:00 2001 +From 928b236e050e02f8b93020510f20384a8761ecd3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 Subject: [PATCH 024/170] kbuild: Ignore dtco targets when filtering symbols @@ -1425,7 +1425,7 @@ index 9ffd3dda3889c56a7a72229bed21ff5c49d62856..00da6c9bacbf33334233e22ca5209ade esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From 64a216b7ada100fd41bfdd1df9377eaaea055cb0 Mon Sep 17 00:00:00 2001 +From 04654eedaa7077736024a63bc7a978ad11c18a93 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 Subject: [PATCH 025/170] BCM2835_DT: Fix I2S register map @@ -1466,7 +1466,7 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 44af6d255818d688dcd139963195064eea1bac77 Mon Sep 17 00:00:00 2001 +From 69af2460b8674c6dd8386579858813c8c813d895 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 Subject: [PATCH 026/170] clk-bcm2835: Mark used PLLs and dividers CRITICAL @@ -1497,7 +1497,7 @@ index 11d89d106026f15719ea25047d6f357b4bfcb2c5..fe8f5d65f2749cb3ddc878df61664826 divider->data = data; -From 80a2ef1892038b3ee9afd16298c941144dc6dfc6 Mon Sep 17 00:00:00 2001 +From 5d0e2e65347a74c4c253f355e267d7686234c962 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 Subject: [PATCH 027/170] clk-bcm2835: Add claim-clocks property @@ -1602,7 +1602,7 @@ index fe8f5d65f2749cb3ddc878df616648267441e0ee..92b5e0f5145b32d3bfc3592fe381e8be sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From 3b5cdc5dd91b97826c28242f3bc36754293540e5 Mon Sep 17 00:00:00 2001 +From a20edeadcc7484292de96dc55b4523f975b2c919 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 Subject: [PATCH 028/170] clk-bcm2835: Read max core clock from firmware @@ -1720,7 +1720,7 @@ index 92b5e0f5145b32d3bfc3592fe381e8be3cd90c72..336f8c9c44325d0a94e591a8557f7af2 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From 52997b935d7e074a0dbe3dc17e7a56ad313e4673 Mon Sep 17 00:00:00 2001 +From b5ebc5db6b0cad1f1a5bc913a8ee1a150ac5c46d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 Subject: [PATCH 029/170] clk: bcm2835: Mark GPIO clocks enabled at boot as @@ -1761,7 +1761,7 @@ index 336f8c9c44325d0a94e591a8557f7af246adc857..caa05e5ad0b7b5cd683e04fb3591a3df * Pass the CLK_SET_RATE_PARENT flag if we are allowed to propagate * rate changes on at least of the parents. -From 155491f6edc30188ad6e36a3d9f1dcd3e9759d5b Mon Sep 17 00:00:00 2001 +From dd378f94eeec5298d95baf8f4d33363bef1c14d8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 Subject: [PATCH 030/170] sound: Demote deferral errors to INFO level @@ -1799,7 +1799,7 @@ index fee4b0ef5566cf9e8de0bf5c568706da9cab2ea2..c728a4148903e983d61b6ae65765ba11 goto _err_defer; } -From a326e4da81a238cfd48f3c674a08ac6e05955e7d Mon Sep 17 00:00:00 2001 +From 6824f80ed32fda69157929a03a4d20c172d8328e Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 Subject: [PATCH 031/170] Update vfpmodule.c @@ -1939,7 +1939,7 @@ index a71a48e71fffa8626fe90106815376c44bbe679b..d6c0a5a0a5ae3510db3ace5e3f5d3410 /* * Save the userland NEON/VFP state. Under UP, -From fdd1e163a349722bebbf152c666950d5c3759d2b Mon Sep 17 00:00:00 2001 +From 44d93600a62c9fea17c45d3f28af86448e3a5d2b Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 Subject: [PATCH 032/170] ASoC: bcm2835_i2s.c: relax the ch2 register setting @@ -1963,7 +1963,7 @@ index 6ba20498202ed36906b52096893a88867a79269f..56df7d8a43d0aac055a91b0d24aca8e1 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From 0a483552671d915b51837bd9dcf82b6c2eb69064 Mon Sep 17 00:00:00 2001 +From 97b448bf7b1ea86ec3bbb0d5289e195aa6f554c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 1 Nov 2016 15:15:41 +0100 Subject: [PATCH 033/170] i2c: bcm2835: Add debug support @@ -2155,7 +2155,7 @@ index cd07a69e2e9355540442785f95e90823b05c9d10..47167f403cc8329bd811b47c7011c299 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From dda131ebc9f1ebf6c400a10a73ad6bf926b107bb Mon Sep 17 00:00:00 2001 +From b702dd5853b8340272310e2def3e6ddd9c824088 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 Subject: [PATCH 034/170] mm: Remove the PFN busy warning @@ -2183,7 +2183,7 @@ index d51c2087c498c63f3f515d2931e42b5110efb62f..fd094c36e26c712d7537b16aa547d3e8 goto done; } -From 95908941275e9d186482cb02726e3f14765ddd28 Mon Sep 17 00:00:00 2001 +From 367ee4bd6b97115137cc8fda261abd9cf4a51e76 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 Subject: [PATCH 035/170] ASoC: Add prompt for ICS43432 codec @@ -2211,7 +2211,7 @@ index c367d11079bc90feec2ad0fa748d7ffc3035faba..91d5b531b69b49db97f7febbc60d33a2 config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From 1affa15b50fbd3f2fda89aae8ffdfa5cce5d8b5a Mon Sep 17 00:00:00 2001 +From 2af5cdaa066783e3ef0065a19ec61d515b6228a0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 Subject: [PATCH 036/170] Main bcm2708/bcm2709 linux port @@ -2402,7 +2402,7 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From f7d9f9dcc5cc60388d4051285abbc6697863a415 Mon Sep 17 00:00:00 2001 +From 57464a511c587d81ae22da63f87f3f818b78bb4d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 Subject: [PATCH 037/170] Add dwc_otg driver @@ -63702,7 +63702,7 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From 525ac9e886145bbcdd6b07d273eb59dcd35fa526 Mon Sep 17 00:00:00 2001 +From 07e956d429d48c803fc6cc57650e7a6888032a7f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 Subject: [PATCH 038/170] bcm2708 framebuffer driver @@ -67164,7 +67164,7 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From 626acf921ac00ddafe750572719a1082e6a09669 Mon Sep 17 00:00:00 2001 +From defa816acb1c1f6976cde29efb6a8e8fd8b8cc9b Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 Subject: [PATCH 039/170] dmaengine: Add support for BCM2708 @@ -67798,7 +67798,7 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From 19b302fd43f883fdf8b061d833e4221e0f3ca07d Mon Sep 17 00:00:00 2001 +From 3b2c9aafa621d3d81a5fcec20853b5b050391204 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 Subject: [PATCH 040/170] MMC: added alternative MMC driver @@ -69681,7 +69681,7 @@ index 279b39008a33bb68745d9ea55ea5dd7ed522fd1c..49bdea5791a289251019a89419804dde unsigned int erase_size; /* erase size in sectors */ -From 71cf21a4614cd67f1aba458b39ef52e5ec81fac2 Mon Sep 17 00:00:00 2001 +From 0225cb8ee276e76519bb18cace382184e96b56be Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 Subject: [PATCH 041/170] Adding bcm2835-sdhost driver, and an overlay to @@ -72090,7 +72090,7 @@ index 0000000000000000000000000000000000000000..9c6f199a7830959f31012d86bc1f8b1a +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From 5fc610b5a0e9c5709dbc7057f596b4e7e25dc4e9 Mon Sep 17 00:00:00 2001 +From 8bcb3e65a06aed2da9c8e0c34e5dc1583159cf37 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 Subject: [PATCH 042/170] vc_mem: Add vc_mem driver for querying firmware @@ -72618,7 +72618,7 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From 5bd5d6807413cbcd1544495d1a322e9a9448df6e Mon Sep 17 00:00:00 2001 +From 0b8b6982d2ca5c8bfa38d9fc17c4dcd99b3d9c0c Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 Subject: [PATCH 043/170] vcsm: VideoCore shared memory service for BCM2835 @@ -77499,7 +77499,7 @@ index 0000000000000000000000000000000000000000..b75729d762f25aace133f7a008633b40 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 386eb0fbba5558540bd685ca2e43527bd0ee2d01 Mon Sep 17 00:00:00 2001 +From de0f52234a74a557792961114a1fd3fb45984d52 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 Subject: [PATCH 044/170] Add /dev/gpiomem device for rootless user GPIO access @@ -77810,7 +77810,7 @@ index 0000000000000000000000000000000000000000..f5e7f1ba8fb6f18dee77fad06a17480c +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From 76b9d49ce75de844192787286223914c07935910 Mon Sep 17 00:00:00 2001 +From 3767d7023916aba3362b2c18fddfd93b6a77d7e1 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 Subject: [PATCH 045/170] Add SMI driver @@ -79764,7 +79764,7 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From b397c175ed16500ef942243d587664d12d468e14 Mon Sep 17 00:00:00 2001 +From 20b3ce415d3454864ca384403dfa5163c59325d5 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 Subject: [PATCH 046/170] MISC: bcm2835: smi: use clock manager and fix reload @@ -79936,7 +79936,7 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From 88fa190331d6469fd66de90fe73f1ff5ed9dc259 Mon Sep 17 00:00:00 2001 +From 01b906ee95e61c8034fc72ef030fe025a2ad28d3 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 Subject: [PATCH 047/170] Add SMI NAND driver @@ -80304,7 +80304,7 @@ index 0000000000000000000000000000000000000000..c4826ea1c2bae555ce780e61f1076ddd + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From 0f065aafd222ebfde11f1874ab168101be59511f Mon Sep 17 00:00:00 2001 +From 90377da33f735128ba80bdd860cfb6fda571b62e Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 Subject: [PATCH 048/170] lirc: added support for RaspberryPi GPIO @@ -81167,7 +81167,7 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From cf29c9e139506cd73ad4d25b8393b39f1c5ca90a Mon Sep 17 00:00:00 2001 +From 1c0d60a5515249794a2f45c3b0f23194ebd4514d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 Subject: [PATCH 049/170] Add cpufreq driver @@ -81434,7 +81434,7 @@ index 0000000000000000000000000000000000000000..99345969b0e4d651fd9033d67de2febb +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From a99bc9193dce715a19d68cb739c2e2e7c76e5cbf Mon Sep 17 00:00:00 2001 +From af674de9eabcc7f9bc172cbf5758df645ec910f7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 Subject: [PATCH 050/170] Add Chris Boot's i2c driver @@ -82102,7 +82102,7 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From 68af472fe3d9f4e7d99f35a13874ebe32efdfe73 Mon Sep 17 00:00:00 2001 +From e11941499856d0fd50a829444f6eff1efb3159f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 Subject: [PATCH 051/170] char: broadcom: Add vcio module @@ -82330,7 +82330,7 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From 51e60eb8ab22324e401912e2213ff400325ef662 Mon Sep 17 00:00:00 2001 +From a21afea0845acd6aee637efab2d70a4ace7ef96a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 Subject: [PATCH 052/170] firmware: bcm2835: Support ARCH_BCM270x @@ -82416,7 +82416,7 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From 062cd6cc4f509a44c61d953942db2be91d520ea9 Mon Sep 17 00:00:00 2001 +From 3cbe193d452607baefe25d028fa2c16812dbeddd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 Subject: [PATCH 053/170] scripts: Add mkknlimg and knlinfo scripts from tools @@ -82946,7 +82946,7 @@ index 0000000000000000000000000000000000000000..84be2593ec1de8f97b0167ff06b3e05d + return $trailer; +} -From d0173c9ce6527f2058faff538772b19dcc683897 Mon Sep 17 00:00:00 2001 +From 7b227642738e57a259c097265f1173c90de5724e Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 Subject: [PATCH 054/170] BCM2708: Add core Device Tree support @@ -95414,7 +95414,7 @@ index 04b5633df1cfafa316f9086c4bf98a9ecf9d0939..d523d1e14220a369c4c766ca3a01208e # Bzip2 -From 56acbe2b97ba8f4f5522391e30f8ee38248e25d8 Mon Sep 17 00:00:00 2001 +From faeb85cd4c74ea7979faec5bb79f3e7e890b3011 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 Subject: [PATCH 055/170] BCM270x_DT: Add pwr_led, and the required "input" @@ -95592,7 +95592,7 @@ index bf6db4fe895bcd67e04ee65e8f76ea104af6299f..8741dca6dba65e2d72fbdbc1702139c2 /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -From 73196cc75222a66721b94a87230c34541bd1e925 Mon Sep 17 00:00:00 2001 +From 12971953bb0dc404553b2e03aa6167acbda5e1ab Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 Subject: [PATCH 056/170] fbdev: add FBIOCOPYAREA ioctl @@ -95863,7 +95863,7 @@ index 6cd9b198b7c64eb94821f2e3f2c5201e6c6d25eb..f36c92c2da7487437c33f7a4e2c6e09e __u32 dx; /* screen-relative */ __u32 dy; -From 312f9d48c614efd4d5492e2fad571b38149a28fc Mon Sep 17 00:00:00 2001 +From df081ba27924af2e4f9c50388714ed8c8e8f9257 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 Subject: [PATCH 057/170] Speed up console framebuffer imageblit function @@ -96075,7 +96075,7 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From 0d31a777fc07b7c46ab797bbc2c49cd81109fe49 Mon Sep 17 00:00:00 2001 +From 6dfc5158094b700b87b4a031d90e8b972e4811e1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 Subject: [PATCH 058/170] enabling the realtime clock 1-wire chip DS1307 and @@ -96328,7 +96328,7 @@ index 5b2972946dda5f9ad415f1eaeaab67743a5cc0f0..b3558b7c9efb2484b40e31312aee197b u8, w1_slave_found_callback); }; -From 9b3b2958e8908c7e2668d733534f93fa7aa190c6 Mon Sep 17 00:00:00 2001 +From e9e54259f2ad57df1804e40e7bf851b980851268 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 Subject: [PATCH 059/170] rpi-ft5406: Add touchscreen driver for pi LCD display @@ -96676,7 +96676,7 @@ index 0000000000000000000000000000000000000000..9d7d05482355d168c5c0c42508cd9789 +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); -From 8ad9e68d524657c1b2c88bbb45126e10f406b454 Mon Sep 17 00:00:00 2001 +From 3a149945ac27fb35769af2b113250e933cbf4a7b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 Subject: [PATCH 060/170] Improve __copy_to_user and __copy_from_user @@ -98259,7 +98259,7 @@ index 971bc298f63eeeed418131b7b7200ac91b0d73f1..78e9f6e8c6fdebdb754cb703095d1726 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From 37219d434e7334786f637dfcbf57de2e060e64c8 Mon Sep 17 00:00:00 2001 +From 0c4b8dc89c04ce110488c7a2d737ef0727e49946 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 Subject: [PATCH 061/170] gpio-poweroff: Allow it to work on Raspberry Pi @@ -98297,7 +98297,7 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 174d7fe4fd292a306d66e6e449dc2153ab805a33 Mon Sep 17 00:00:00 2001 +From 2a4bb3a4d8ec25690ed3070ca694f7364631a771 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 Subject: [PATCH 062/170] mfd: Add Raspberry Pi Sense HAT core driver @@ -99165,7 +99165,7 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From 88fa4f4b1bb008e747ef9e8294782d98c6f2adec Mon Sep 17 00:00:00 2001 +From 05f1e453d56d952fee3cfeb21a6f7ee5b70be0ba Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 Subject: [PATCH 063/170] ASoC: Add support for HifiBerry DAC @@ -99343,7 +99343,7 @@ index 0000000000000000000000000000000000000000..ee9f133953544629282631e5ef3f73fe +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From 5e2e952f6f119ebd070d1ccac327e9ba9308873c Mon Sep 17 00:00:00 2001 +From a545d2049247840915323aa93a5e23f8fec1df33 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 Subject: [PATCH 064/170] ASoC: Add support for Rpi-DAC @@ -99630,7 +99630,7 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 4a2bd6e0ddd5970a417f53387365284274e4ee79 Mon Sep 17 00:00:00 2001 +From 3fccdc244fe5288f9d9141e013ef2ba38f81c755 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 Subject: [PATCH 065/170] ASoC: wm8804: Implement MCLK configuration options, @@ -99682,7 +99682,7 @@ index fc69b87443d80489382b97332de6d5ad12a58ec8..d8fdce81b297dcf02e144bdead0c6193 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From b9903adfd82c07097534bf366db69db6e9018074 Mon Sep 17 00:00:00 2001 +From 3b7fa68c33e68ef189a470272e069908e6f82d9b Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 Subject: [PATCH 066/170] ASoC: BCM:Add support for HiFiBerry Digi. Driver is @@ -100029,7 +100029,7 @@ index 0000000000000000000000000000000000000000..7620dd02de40b6d644ff038b445d375d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From 96565d45ebb5ac1f28d1d1010c86224198caf5b8 Mon Sep 17 00:00:00 2001 +From dd2753be144f838bc22f1e4e2e564ee2a1c42710 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 Subject: [PATCH 067/170] Add IQaudIO Sound Card support for Raspberry Pi @@ -100367,7 +100367,7 @@ index 0000000000000000000000000000000000000000..1ee4097c846376666775272ed692ca33 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 1ed5a9285b4c71e6d4a2f118973b3cffe7883433 Mon Sep 17 00:00:00 2001 +From 0ce4c3ba7a4a8b4cc1751cc71a824c2d642ec49b Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 Subject: [PATCH 068/170] Added support for HiFiBerry DAC+ @@ -101005,7 +101005,7 @@ index 68feae262476492ae3a0b30855dbb09e96fa187e..f7b0977017ed5a6c02eafa0147d49d66 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 47fbae50722d21a2552189b8266d3e593e410eaf Mon Sep 17 00:00:00 2001 +From 5080871752bb2ccc22a491fdb8f9ee5ed38d826c Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 Subject: [PATCH 069/170] Added driver for HiFiBerry Amp amplifier add-on board @@ -101843,7 +101843,7 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From 13d5575b214ece280faa08f812b57ca1faa9254f Mon Sep 17 00:00:00 2001 +From 29676fc8eb831915c9d184c09bd937a74cb47cb0 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 Subject: [PATCH 070/170] Add driver for rpi-proto @@ -102061,7 +102061,7 @@ index 0000000000000000000000000000000000000000..fadbfade100228aaafabb0d3bdf35c01 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From 562729b5173b9dcb725be73d387c0b520e4fca1e Mon Sep 17 00:00:00 2001 +From 828fd1968ad8248d3cdbe220b2b243e224282bcf Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 Subject: [PATCH 071/170] RaspiDAC3 support @@ -102307,7 +102307,7 @@ index 0000000000000000000000000000000000000000..ad2b5b89bc8213dc2e277306ef50d6e3 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From d9ef4c4e0774f8cfa58ef475e2d6d597ec9f38fe Mon Sep 17 00:00:00 2001 +From 5053c35b987a2ec8e450de6025cf04f3a3611ae0 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 Subject: [PATCH 072/170] Add Support for JustBoom Audio boards @@ -102766,7 +102766,7 @@ index 0000000000000000000000000000000000000000..909cf8928f2f4313982316f9c5b8a709 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From f69474b7bd6edbb0b7e11c8cbd8b8998f5b6ca1e Mon Sep 17 00:00:00 2001 +From 716afa56ea328c3bd269ac0c26138cdcbe29e952 Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 Subject: [PATCH 073/170] ARM: adau1977-adc: Add basic machine driver for @@ -102951,7 +102951,7 @@ index 0000000000000000000000000000000000000000..f3d7e5db7bb912e1d7ca6f8e8d42df5f +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 3a67b3cafae4859f0838d429650cc1ac8066a5e5 Mon Sep 17 00:00:00 2001 +From d347b0c03c155be3bdf9d8851704b70e019f8c29 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 Subject: [PATCH 074/170] New AudioInjector.net Pi soundcard with low jitter @@ -103205,7 +103205,7 @@ index 0000000000000000000000000000000000000000..491906bbf446826e55dd843f28e4860f +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From cf9b23492a54b8ffb0d0348fce0c31770dca717c Mon Sep 17 00:00:00 2001 +From 8dfa5e95178614c93dfeda9e762b1429be3473a1 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 Subject: [PATCH 075/170] Add IQAudIO Digi WM8804 board support @@ -103508,7 +103508,7 @@ index 0000000000000000000000000000000000000000..33aa2be8a43a12a12cfb5d844dd9732c +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From 9c800dd793c72cbbaf54f353f7a41624a80b6469 Mon Sep 17 00:00:00 2001 +From a24abddeaf5c2e55ca985e2fff12e8a860db812e Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 Subject: [PATCH 076/170] New driver for RRA DigiDAC1 soundcard using WM8741 + @@ -103984,7 +103984,7 @@ index 0000000000000000000000000000000000000000..f200688bb4ae32b90a0ced555aed94b0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 21eab58604d67a499bf6516347a5c3685c2c4f25 Mon Sep 17 00:00:00 2001 +From 0f96818a68128981826a91865ebbbb4874d795a4 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 Subject: [PATCH 077/170] Add support for Dion Audio LOCO DAC-AMP HAT @@ -104160,7 +104160,7 @@ index 0000000000000000000000000000000000000000..65e03741d349a2dc5bd91f69855ea952 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From 6edd7e37a691f1555401b76a1304cd6c411d2a76 Mon Sep 17 00:00:00 2001 +From d54ef9a8b93e2bf7b5d2453af548e700fd979fa6 Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 Subject: [PATCH 078/170] Allo Piano DAC boards: Initial 2 channel (stereo) @@ -104370,7 +104370,7 @@ index 0000000000000000000000000000000000000000..eaf50fb6dbca1970ae1c6f8662088b0f +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From 398b58b3985a313e3761f4cbd6b8e078402d7e4f Mon Sep 17 00:00:00 2001 +From 9935fe403979110a47a593efca93100f70190448 Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 Subject: [PATCH 079/170] Add support for Allo Piano DAC 2.1 plus add-on board @@ -105461,7 +105461,7 @@ index 0000000000000000000000000000000000000000..1800f5e4d414e2d83a9487a89a2800a3 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From 1ac0cdc212b3b2c172b732497daca52f970df04e Mon Sep 17 00:00:00 2001 +From 08f99dd4c14156ae1972e2770005432c2a37f919 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 Subject: [PATCH 080/170] Add support for Allo Boss DAC add-on board for @@ -106167,7 +106167,7 @@ index 0000000000000000000000000000000000000000..203ab76c7045b081578e23bda1099dd1 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From 9e5d7c977aeac2053c8b69ed2a506dacbc210759 Mon Sep 17 00:00:00 2001 +From 3e65d9c1fbddbc06f5f7009f2e7a4134ae313da8 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 Subject: [PATCH 081/170] Support for Blokas Labs pisound board @@ -107369,7 +107369,7 @@ index 0000000000000000000000000000000000000000..06ff1e53dc9d860946965b6303577762 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From 95ab243362e9365ff2d59ecba33104df2c7c2f68 Mon Sep 17 00:00:00 2001 +From 074f6def52495f67bc760086e5caca205835d650 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 Subject: [PATCH 082/170] ASoC: Add driver for Cirrus Logic Audio Card @@ -108437,7 +108437,7 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From 4be2400d2375641866c751a6659b4297f226d8b9 Mon Sep 17 00:00:00 2001 +From bef028c9ce11e6d97897611c408c4b615ce7c954 Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 Subject: [PATCH 083/170] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT @@ -108635,7 +108635,7 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From 94d556fb317ed5346c2464717a0fef3c79ccdeaa Mon Sep 17 00:00:00 2001 +From 448b19f5f27c84de2d2242edaee1d9291fe6c0a2 Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 Subject: [PATCH 084/170] Add support for Fe-Pi audio sound card. (#1867) @@ -108852,7 +108852,7 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From b008fbe4a8cc5829e805f305045a45ca481c5cd4 Mon Sep 17 00:00:00 2001 +From 95131eea469c1ff6a667c97109d7f4323b172988 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 Subject: [PATCH 085/170] Add support for the AudioInjector.net Octo sound card @@ -109264,7 +109264,7 @@ index 0000000000000000000000000000000000000000..5e79f4eff93a21ed3495c77a90f73525 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From 90b22ac354d2e412c7a1aad5c19cc20ac46ef82a Mon Sep 17 00:00:00 2001 +From 5a870635076e96e9d6121d28a1ef8018b0ca04e1 Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 Subject: [PATCH 086/170] Driver support for Google voiceHAT soundcard. @@ -109658,7 +109658,7 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From f2aef5b67e61ebd5b40211b2d7d8720b874c326c Mon Sep 17 00:00:00 2001 +From 3e850aa5ac91017403fbe58058eb0b4c4287d2f6 Mon Sep 17 00:00:00 2001 From: sandeepal Date: Fri, 2 Jun 2017 18:59:46 +0530 Subject: [PATCH 087/170] Allo Digione Driver (#2048) @@ -109984,7 +109984,7 @@ index 0000000000000000000000000000000000000000..9387b055875fdf92a13dc4a9d2727f95 +MODULE_DESCRIPTION("ASoC Driver for Allo DigiOne"); +MODULE_LICENSE("GPL v2"); -From 1160bdbfc4ea2c4a725fb8af8411e1a300dcf25d Mon Sep 17 00:00:00 2001 +From f172fee77413f6b6d2c2ce59d731ef2e22dd28c5 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 Subject: [PATCH 088/170] rpi_display: add backlight driver and overlay @@ -110156,7 +110156,7 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From cfba43482f46d808fd02a43e9175fcde7d37aa69 Mon Sep 17 00:00:00 2001 +From 3b0e68bf8a138df8e75c547480cb0caea3dd151a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 Subject: [PATCH 089/170] bcm2835-virtgpio: Virtual GPIO driver @@ -110420,7 +110420,7 @@ index 0000000000000000000000000000000000000000..c3725546def9d4a6264fbb1f6b9814d0 +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); -From d77d0f64deb5c3c36c49ce530442c56bda218eb3 Mon Sep 17 00:00:00 2001 +From 33e34067ceecec620a8c47874e3f3958296af31a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 Subject: [PATCH 090/170] bcm2835-gpio-exp: Driver for GPIO expander via @@ -110732,7 +110732,7 @@ index 0000000000000000000000000000000000000000..d68adafaee4ad406f45f4ff0d6b7c1ad +MODULE_DESCRIPTION("brcm-exp GPIO driver"); +MODULE_ALIAS("platform:brcmexp-gpio"); -From 70562b4ede7a2f643d7830c1bac2efb2bd8603a2 Mon Sep 17 00:00:00 2001 +From 48bb543897eed67664586bd998cad8102562981f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 Subject: [PATCH 091/170] amba_pl011: Don't use DT aliases for numbering @@ -110764,7 +110764,7 @@ index 111e6a95077978c2c30bfe2a2de4a0d095e8d76e..584471add0962c0e26eb814fc0ef43ee uap->old_cr = 0; uap->port.dev = dev; -From fefca61ea56d35bb022f88cb69bfb206ea1890f0 Mon Sep 17 00:00:00 2001 +From 50c47d31340701caf00c6792853bee0f8183cd52 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 Subject: [PATCH 092/170] amba_pl011: Round input clock up @@ -110853,7 +110853,7 @@ index 584471add0962c0e26eb814fc0ef43eea99b2d29..bfbc845d7be9ef804468d0a82da18d9b /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -From 8076ccb7ea1fc2202a12387c16d1295fcf2add61 Mon Sep 17 00:00:00 2001 +From 971474f32096b01ac4b08c78a5e022517cde31fa Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 Subject: [PATCH 093/170] OF: DT-Overlay configfs interface @@ -111289,7 +111289,7 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From 9e0f44234bf24e309ee4e383112dbbe12f8ceb65 Mon Sep 17 00:00:00 2001 +From 760109d47a0be7a71b523514786a268fd4623c71 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 Subject: [PATCH 094/170] brcm: adds support for BCM43341 wifi @@ -111424,7 +111424,7 @@ index b3fa8ae804650f7ea838ff59ca84dfb6ca24da90..c1e86df297edf2fa7f641e36ccbfc733 BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -From dee5a231b34108ea54160ff2a8dc141e46b18a11 Mon Sep 17 00:00:00 2001 +From 6f707b361d3030bc24e0d4c86634ba1d25e4f65d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 Subject: [PATCH 095/170] brcmfmac: Mute expected startup 'errors' @@ -111451,7 +111451,7 @@ index 2d3b5e2a3ef7cd6186487b48665b401249380d18..e417454f5d6ec136cda29e65af5449f2 req->alpha2[0], req->alpha2[1]); return; -From 81ff667abb2240ebaece2ff1c7e690d339964d5a Mon Sep 17 00:00:00 2001 +From 105cc306f821c2b934c7f643caa901d7bbdd8cae Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 Subject: [PATCH 096/170] hci_h5: Don't send conf_req when ACTIVE @@ -111477,7 +111477,7 @@ index c0e4e26dc30d7c3c6a771b7b86df88c8cf763646..7308287259eedcaf229f8a496a0e3826 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 935dc6c7740fa51240f2702ee8e4936a68dba0ab Mon Sep 17 00:00:00 2001 +From 1bc10f1f455c8cd8061439d93a960bdf92b0cc27 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 Subject: [PATCH 097/170] config: Add default configs @@ -114185,7 +114185,7 @@ index 0000000000000000000000000000000000000000..c1da808d40bc8e867b41d3566bd60a75 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From b3891f561bf601014c1ba70509a0f4415eb1940f Mon Sep 17 00:00:00 2001 +From e4c7b35af39d491e22a3f09a684c1e4672d1724a Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 Subject: [PATCH 098/170] Add arm64 configuration and device tree differences. @@ -115602,7 +115602,7 @@ index 0000000000000000000000000000000000000000..e6b09fafa27eed2b762e3d53b55041f7 +CONFIG_LIBCRC32C=y +CONFIG_BCM2835_VCHIQ=n -From a85d866bf2514b86829734ec59e33ebd5f65f5d2 Mon Sep 17 00:00:00 2001 +From eeeaf7b0548ffa99c26062db53af760e9ef5811b Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 Subject: [PATCH 099/170] ARM64: Make it work again on 4.9 (#1790) @@ -116016,7 +116016,7 @@ index e6b09fafa27eed2b762e3d53b55041f793683d27..c7e891d72969a388d9b135a36dbfc9c9 CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -From 648c1d011a01121a3c5d62b53d2d23424b735a2d Mon Sep 17 00:00:00 2001 +From 345a25ba4cea6ccbaafd58c28aaf41a3f641a957 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:10:07 -0800 Subject: [PATCH 100/170] ARM64: Enable HDMI audio and vc04_services in @@ -116048,7 +116048,7 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..4b90f9b64abe9f089ba56b13d5a00de3 CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set -From ea6bfdc99658b2f7ef9b7d269b57cdb708888837 Mon Sep 17 00:00:00 2001 +From f06734ab6461e9a9d355272e71f3abe3417be26a Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:14:03 -0800 Subject: [PATCH 101/170] ARM64: Run bcmrpi3_defconfig through savedefconfig. @@ -116096,7 +116096,7 @@ index 4b90f9b64abe9f089ba56b13d5a00de33343bfb9..dac962ca1634662ce7d966f1ffb53b5b CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m -From 0292e521e77b7fbeec22e96de9d688fa492d9d91 Mon Sep 17 00:00:00 2001 +From f937025051a0ddfe15c90f3ca629267923f570a7 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 Subject: [PATCH 102/170] ARM64: Enable Kernel Address Space Randomization @@ -116131,7 +116131,7 @@ index dac962ca1634662ce7d966f1ffb53b5bfa27c506..aae33b4b3c3e736ea7cd3ca242158ad6 CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From c359956c08f4992256d5b8c4c88fbab2bd73d5c7 Mon Sep 17 00:00:00 2001 +From 3a3e8bec1e7d5a4d271e361dfc6cfec0981e7fbe Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 Subject: [PATCH 103/170] ARM64: Enable RTL8187/RTL8192CU wifi in build config @@ -116159,7 +116159,7 @@ index aae33b4b3c3e736ea7cd3ca242158ad6ba558aff..b7d762df19b85e369a32cd823dfd0621 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From 6762cf208b3ee6d3a38aa4f1c690772396a72a73 Mon Sep 17 00:00:00 2001 +From d681c05d35134fa5a2da2d0cf0b0433f43ddf638 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 Subject: [PATCH 104/170] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 @@ -116505,7 +116505,7 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From 50431d70da7df7f3d6cd7ff6c5835d7e1e55005d Mon Sep 17 00:00:00 2001 +From e01bdcc18b4f15ef5d6dd4be697d6785c0d62f2b Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 Subject: [PATCH 105/170] ARM64: Round-Robin dispatch IRQs between CPUs. @@ -116582,7 +116582,7 @@ index 86b357ae027bf8ba1ac32cd150a8cf21e36597e2..05b17ca993f405c4c8e61a782ec58149 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From 7f80ce4624add32aaffa809acfa908209a1da0f2 Mon Sep 17 00:00:00 2001 +From 119bc5c1bb88c4d4b6f60ff07b5056fe58ff78d8 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 Subject: [PATCH 106/170] ARM64: Enable DWC_OTG Driver In ARM64 Build @@ -116606,7 +116606,7 @@ index b7d762df19b85e369a32cd823dfd062145bdefa7..4d85c231c5ea0244e1b05fb4a5e3c8fd CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From ece5895a229e3bc868c08880e00087fe270ae319 Mon Sep 17 00:00:00 2001 +From a9aa3d0f180c14804b1b0132d23e084b05e4115d Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 Subject: [PATCH 107/170] ARM64: Force hardware emulation of deprecated @@ -116637,7 +116637,7 @@ index d06fbe4cd38d7423c900aff64b0e728f995478d3..877b7c90f9555203d5d55d739359a256 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -From 4712446bfdb0f531b1a7e482bfdf25344fcd72ca Mon Sep 17 00:00:00 2001 +From 9cf301c4660506f2566d2dd7d1828e6040051824 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 Subject: [PATCH 108/170] build/arm64: Add rules for .dtbo files for dts @@ -116665,7 +116665,7 @@ index 7318165cfc90b5b4e36048fbafd9287a1cf3516f..f6f5df3f262b0baf1338bea188d78883 dtbs: prepare scripts -From 73118e643dfbe780d698a8bfa811cbb32e9f1490 Mon Sep 17 00:00:00 2001 +From 3f22472cd8386e9ffab6cf9cfcf2f771ed06288b Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Wed, 24 May 2017 10:52:50 +0200 Subject: [PATCH 109/170] enable drivers for GPIO expander and vcio @@ -116696,7 +116696,7 @@ index 4d85c231c5ea0244e1b05fb4a5e3c8fd3e651ddf..9dcb58a519d041fadae99c81a7bda621 CONFIG_GPIO_ARIZONA=m CONFIG_GPIO_STMPE=y -From fb34caf3ac99c6acbfabfcc304dc1ae9a863b246 Mon Sep 17 00:00:00 2001 +From 9abfcfdec84342b63f256fe38b16abf172e1e827 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 Subject: [PATCH 110/170] bcm2835-aux: Add aux interrupt controller @@ -116863,7 +116863,7 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From 6b52689c0cdd949e802359902b71351236704f3c Mon Sep 17 00:00:00 2001 +From dc113eafac3423aed3123ce4cda2a9bc680b18a8 Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 Subject: [PATCH 111/170] This is the driver for Sony CXD2880 DVB-T2/T tuner + @@ -132998,7 +132998,7 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From 8f5cf6bb86329cebb320a8afb5f1de41d4adcf52 Mon Sep 17 00:00:00 2001 +From 5e85b78e43654785f7e051b44726514334d94c37 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 Subject: [PATCH 112/170] raspberrypi-firmware: Export the general transaction @@ -133033,7 +133033,7 @@ index 3f070bd38a91511c986e3fb114b15bd4ac32634c..f261b64d1657c02290904d841e1f087c /** * rpi_firmware_property_list - Submit firmware property list -From 965372ef50a7875da7ac37aece8b6809f2fcf75d Mon Sep 17 00:00:00 2001 +From 4d29c8daac8b1d7e9832817c20a27e2401705ab4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 Subject: [PATCH 113/170] drm/vc4: Add a mode for using the closed firmware for @@ -133807,7 +133807,7 @@ index 0000000000000000000000000000000000000000..78c34305935501248b1ca548a1ee0175 + }, +}; -From 87113204779914fbb60deb59fdbeb8d2e4cf5c6d Mon Sep 17 00:00:00 2001 +From 8886455f59e19351a3fbdd77ce4baddce7ef763e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 Subject: [PATCH 114/170] drm/vc4: Name the primary and cursor planes in fkms. @@ -133834,7 +133834,7 @@ index 78c34305935501248b1ca548a1ee01753b8fa099..d9a5551d01a2155e3df1bbbd78a1ee2b if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From bf123f24251108301e1a1e457a11be0a7cf1f7b1 Mon Sep 17 00:00:00 2001 +From 18df196979c82ca49761d94e28a312d6184be936 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 Subject: [PATCH 115/170] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of @@ -133907,7 +133907,7 @@ index d9a5551d01a2155e3df1bbbd78a1ee2b961be946..e372666af0119b1876bad5167e6d0ff8 RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From f9de1f4218540becca452a0195aeaaced7a0c637 Mon Sep 17 00:00:00 2001 +From 91e8f0f4e12ef978e9686fca0fda055303cabc5b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 Subject: [PATCH 116/170] drm/vc4: Fix sending of page flip completion events @@ -133952,7 +133952,7 @@ index e372666af0119b1876bad5167e6d0ff8945d1b80..4d7b7f218cbbc9e7abcaa37743978060 static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From 213b5cb326f9d0475fdc620d0a519cfea3d8751b Mon Sep 17 00:00:00 2001 +From 5414b85c24abffdd172cde68bb26d4829978a0f4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 Subject: [PATCH 117/170] vc4_fkms: Apply firmware overscan offset to hardware @@ -134012,7 +134012,7 @@ index 4d7b7f218cbbc9e7abcaa37743978060b73fbdd1..d170775ccc985637ff018804f510a500 return 0; -From 055d3dc7d1074ec670a2477f45f32a5d7803748b Mon Sep 17 00:00:00 2001 +From 8b867aed19b4179e6a5b54f42ebe245fdef1d32f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 11:34:26 +0200 Subject: [PATCH 118/170] ASoC: bcm2835: Add support for TDM modes @@ -134417,7 +134417,7 @@ index 56df7d8a43d0aac055a91b0d24aca8e1b4e308e4..dcacf7f83c9371df539a788ea33fedcf dev->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, dev); -From 864a8cc2b58e80d0eddff494b35137936229ad85 Mon Sep 17 00:00:00 2001 +From 123aecfc83e5e7e674bd80af9f53f1943b51f460 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 15:30:50 +0200 Subject: [PATCH 119/170] ASoC: bcm2835: Support left/right justified and DSP @@ -134666,7 +134666,7 @@ index dcacf7f83c9371df539a788ea33fedcf97d64690..3a706fda4f39e42efbe12f19d87af9b1 } -From f9e608621437c51fbf7071cdbb7ff359995d0cbe Mon Sep 17 00:00:00 2001 +From 1b63a944daf7f474fca481564607b032063fba3a Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:19:54 +0200 Subject: [PATCH 120/170] ASoC: bcm2835: Support additional samplerates up to @@ -134712,7 +134712,7 @@ index 3a706fda4f39e42efbe12f19d87af9b100a348a5..43f5715a0d5dda851731ecf7ff27e76c | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE -From 9c1af7298d5e31017b9ce2e4110ee36685a012fb Mon Sep 17 00:00:00 2001 +From d27bc22c44197555665a630058eb6fa177a534cf Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:24:57 +0200 Subject: [PATCH 121/170] ASoC: bcm2835: Enforce full symmetry @@ -134751,7 +134751,7 @@ index 43f5715a0d5dda851731ecf7ff27e76c48fb6e57..2e449d7173fcecbcd647f90a26bd58b6 static bool bcm2835_i2s_volatile_reg(struct device *dev, unsigned int reg) -From 3e179344ec1064810fbcfd08fe002f01fabde6b2 Mon Sep 17 00:00:00 2001 +From 3b51ef999f3792e3eef2cf080ae0f0919c6b1503 Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 5 Jun 2017 16:40:38 +0100 Subject: [PATCH 122/170] dma-bcm2708: Fix module compilation of @@ -134797,7 +134797,7 @@ index c5bfff2765be4606077e6c8af73040ec13ee8974..6ca874d332a8bc666b1c9576ac51f479 #endif /* _PLAT_BCM2708_DMA_H */ -From 5a7418a09d6776a7b3945a0f17e67048428053a4 Mon Sep 17 00:00:00 2001 +From 5cb3f75783b03641f0d6af9c504d937063203298 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 Subject: [PATCH 123/170] cache: export clean and invalidate @@ -134852,7 +134852,7 @@ index de78109d002db1a5e7c94a6c1bc8bb94161d07b8..4c850aa3af2b2439fced4e130441329a sub r3, r2, #1 bic r0, r0, r3 -From eec91ab0ebc2e28c7f0432ee234412ce721bebc6 Mon Sep 17 00:00:00 2001 +From 43370b5921501e96aae1b9e2ac78e4858355f17d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 Subject: [PATCH 124/170] amba_pl011: Insert mb() for correct FIFO handling @@ -134882,7 +134882,7 @@ index bfbc845d7be9ef804468d0a82da18d9b67857216..424bdc500864a86e5d431763ba416b52 return true; -From f905bf1839d50da1be6760fbd76ef3b355cbea20 Mon Sep 17 00:00:00 2001 +From 013cf542e12d4e75901e27315350353221cd7e4e Mon Sep 17 00:00:00 2001 From: Chung-Hsien Hsu Date: Sun, 14 May 2017 20:11:05 -0500 Subject: [PATCH 125/170] brcmfmac: add CLM download support @@ -135313,7 +135313,7 @@ index 11ffaa01599eb4b343b7f675dc275fc8572d127e..b27170c12482de0ca4115b4bc9484c21 static int brcmf_usb_bus_setup(struct brcmf_usbdev_info *devinfo) -From 0ea940037a80cf9de67b0cb7601dc2c1a5a26fae Mon Sep 17 00:00:00 2001 +From d29d35a1d16818e525010cbecc58953539c01b30 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Oct 2017 13:23:32 +0100 Subject: [PATCH 126/170] brcmfmac: request_firmware_direct is quieter @@ -135341,7 +135341,7 @@ index f0309e039592ba6e388084a13f052c03f99cf1ef..b5889360da96096775db6425337a7215 if (err == -ENOENT) return 0; -From b1094a771b64a75df2b155580d3d3c2e1421d6c9 Mon Sep 17 00:00:00 2001 +From e71032ac9df3fe7ff4de4db1810eb317ff6195de Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 Subject: [PATCH 127/170] amba_pl011: Add cts-event-workaround DT property @@ -135393,7 +135393,7 @@ index 424bdc500864a86e5d431763ba416b5298c777dc..b224306633f62c398ef904734a903d4e uap->vendor = vendor; uap->fifosize = vendor->get_fifosize(dev); -From f33d9c751ab634e489cfb80931f17c0de3398dcf Mon Sep 17 00:00:00 2001 +From 5d410ab4a382c3fc62f027784a5bad3ef80120f6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Oct 2017 13:48:04 +0100 Subject: [PATCH 128/170] amba-pl011: Report AUTOCTS capability to framework @@ -135439,7 +135439,7 @@ index b224306633f62c398ef904734a903d4e75df65c3..3b743cf8a94c279ff8d0b747f98062d0 if (uap->vendor->oversampling) { -From c017b2c796604bb6439b2a208b138b2cf896f3ae Mon Sep 17 00:00:00 2001 +From 42111edb9e3743bd00375d22a334fc0d98368deb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Oct 2017 09:20:56 +0100 Subject: [PATCH 129/170] scripts: Update mkknlimg, just in case @@ -135485,7 +135485,7 @@ index 84be2593ec1de8f97b0167ff06b3e05d231c4ba0..d72e15224232d5164374e93be48949bf my $res = try_extract($kernel_file, $tmpfile1); -From 57e9299bbd3eb73676ad728276177c8201070239 Mon Sep 17 00:00:00 2001 +From 91ce4ce2aa1eca0a0481cfcb89e9d284315c61b2 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 14 Nov 2017 15:13:15 +0000 Subject: [PATCH 130/170] AXI performance monitor driver (#2222) @@ -136174,7 +136174,7 @@ index 0000000000000000000000000000000000000000..bafe03b6c000060e78404d65a0aa96d8 +MODULE_LICENSE("GPL"); + -From 3aae361330c0a1700c359854018238f602180d22 Mon Sep 17 00:00:00 2001 +From 6a54a1887d80f4766af292ad39ba4e47744de9bb Mon Sep 17 00:00:00 2001 From: James Hughes Date: Fri, 21 Jul 2017 09:55:12 +0100 Subject: [PATCH 131/170] Sets the BCDC priority to constant 0 @@ -136203,7 +136203,7 @@ index 9f2d0b0cf6e5c452ad85a3caef58cf16a8cdad46..b009f3083490c2bc2733424f08f81b9f h->data_offset = offset; BCDC_SET_IF_IDX(h, ifidx); -From 274281e46c09d72eaa7102e1786172a210076eb1 Mon Sep 17 00:00:00 2001 +From 972e2883d0717ade05218e5de06341faae8161e7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2016 13:46:13 -0700 Subject: [PATCH 132/170] drm/panel: Add support for the Raspberry Pi 7" @@ -136787,7 +136787,7 @@ index 0000000000000000000000000000000000000000..1a536fe4d040f5fafe324baee110a622 +MODULE_DESCRIPTION("Raspberry Pi 7-inch touchscreen driver"); +MODULE_LICENSE("GPL v2"); -From 54cafaeee64f2336046a0514fdc2a32eaae1be91 Mon Sep 17 00:00:00 2001 +From 02c86d2ead9ad104774b67e9b47cb729ab7d813b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Apr 2017 17:52:56 -0700 Subject: [PATCH 133/170] panel-raspberrypi-touchscreen: Fix NULL deref if @@ -136817,7 +136817,7 @@ index 1a536fe4d040f5fafe324baee110a6225dd0be08..5d6bfd81b07a11a0cb407f4301d22931 } -From c5f6a779e8260215f48baec9b588c797ec20ddab Mon Sep 17 00:00:00 2001 +From f45dd00a7c2953dd707bb28350fe85249a4d27cb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 6 Mar 2017 12:17:16 -0800 Subject: [PATCH 134/170] panel-raspberrypi-touchscreen: Round up clk rate to @@ -136855,7 +136855,7 @@ index 5d6bfd81b07a11a0cb407f4301d22931705fb8b1..b57b7ad9aa4c5048186e98553af59ec9 .hsync_start = HACT + HFP, .hsync_end = HACT + HFP + HSW, -From 39d6a1e38f0b4db2da6fdfbf9d27e894d45e3301 Mon Sep 17 00:00:00 2001 +From 3eec4df460d0b134e825ad84631cc67e7f970aac Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 12:29:45 -0700 Subject: [PATCH 135/170] BCM270X: Add the DSI panel to the defconfig. @@ -136879,7 +136879,7 @@ index 9dcb58a519d041fadae99c81a7bda621b2a49f12..003209bf2362c2a136ab987b2f20065e CONFIG_DRM_VC4=m CONFIG_FB=y -From ef0035125d78054b7bb993e535486b7a68582864 Mon Sep 17 00:00:00 2001 +From 6ac43a8efa7599b4c335063d904e6b6fca00a351 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 6 Jul 2017 11:45:48 -0700 Subject: [PATCH 136/170] drm/vc4: Add support for setting DPMS in firmwarekms. @@ -136985,7 +136985,7 @@ index d170775ccc985637ff018804f510a5003933c9ec..766f700417f7194d6b01fa1bc18dad40 if (!vc4_encoder) return -ENOMEM; -From cc33959bffb1442fa5804f5682c4a47fcbc2af37 Mon Sep 17 00:00:00 2001 +From ff627cbb3b914ca3e589c33139415b1d2c5e578b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 14 Jul 2017 17:33:08 -0700 Subject: [PATCH 137/170] drm/vc4: Fix pitch setup for T-format scanout. @@ -137036,7 +137036,7 @@ index 2968b3ebb895714cb8c8faeaf40dff1c996f2259..4ad0b9fcae99f74fb89d09dd52d9ffe5 DRM_DEBUG_KMS("Unsupported FB tiling flag 0x%16llx", (long long)fb->modifier); -From 82d76164f91126ae68096f7e48bdead4d30114c7 Mon Sep 17 00:00:00 2001 +From 234ed3a91b57eb86e3bee15fdb3b27a1fbee73ff Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 24 Aug 2017 16:16:16 +0100 Subject: [PATCH 138/170] brcmfmac: Disable ARP offloading when promiscuous @@ -137176,7 +137176,7 @@ index a4dd313140f37dc1fbb6955e1148f48bccf22f44..b9a96cbc70f0865ee8c9cff3c6164144 bool is_p2pdev, const char *name, u8 *mac_addr); void brcmf_remove_interface(struct brcmf_if *ifp, bool rtnl_locked); -From 3f56f347c8a56b4a010450a597a314e0449d40b9 Mon Sep 17 00:00:00 2001 +From b7f03749e8a0cc3399988bc3076a480e20a53ce5 Mon Sep 17 00:00:00 2001 From: Kevin Cernekee Date: Sat, 16 Sep 2017 21:08:22 -0700 Subject: [PATCH 139/170] brcmfmac: Avoid possible out-of-bounds read @@ -137217,7 +137217,7 @@ index 2ce675ab40ef867cf6a86ca5257a6db7ef76e80a..1c450c0727cb577f7dae25a1ce82b2db return 0; } -From 09731dd50c0e9a1bab8e3c5b188b2d53d0113f8b Mon Sep 17 00:00:00 2001 +From 102a7a5b9b290aade5d2de33bd550eec442b0120 Mon Sep 17 00:00:00 2001 From: Kevin Cernekee Date: Sat, 16 Sep 2017 21:08:23 -0700 Subject: [PATCH 140/170] brcmfmac: Delete redundant length check @@ -137251,7 +137251,7 @@ index ef72baf6dd969c2478a2138ea57b9f691fdf12d8..e7eaa57d11d98f61280bd99013e649aa /* special handling of interface event */ if (event->code == BRCMF_E_IF) { -From e8319e62eaf41e66e2f6a6f1479795c0bd52f8e9 Mon Sep 17 00:00:00 2001 +From 5232a56f447accccfff9cf29aff57b265edcf4bd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Nov 2017 11:03:22 +0000 Subject: [PATCH 141/170] mcp2515: Use DT-supplied interrupt flags @@ -137290,7 +137290,7 @@ index f3f05fea8e1f8e0ad3a1ebd7461d2019835e1d47..6c2d3aba25918f5536b2d67292334e74 flags | IRQF_ONESHOT, DEVICE_NAME, priv); if (ret) { -From 0a37de8db6eba28047daaefa9a4fa02512e0fcd6 Mon Sep 17 00:00:00 2001 +From abd4df37614d2340ce3f92da1ad4c502b4b98d5c Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 16 Nov 2017 15:56:17 +0000 Subject: [PATCH 142/170] Tidy up of the ft5406 driver to use DT (#2189) @@ -137677,7 +137677,7 @@ index 9d7d05482355d168c5c0c42508cd978979ee5f14..40bbde9ce1bc4c51be50f47fc359c74f } -From 7353f03e936a713e8cb57a5416b7194569b0541d Mon Sep 17 00:00:00 2001 +From f235b0bfbe35a969cf2aa3efb6f598f42028121f Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 Subject: [PATCH 143/170] pinctrl-bcm2835: Set base to 0 give expected gpio @@ -137702,7 +137702,7 @@ index ff782445dfb75d1a8af9eed775b8e8f7b275fee3..786efcddb5e56a06baf67cb91ddbbd8e .can_sleep = false, }; -From 79dc1dfb0cbd621db0e7c9f5ca40c8e63d2d73ca Mon Sep 17 00:00:00 2001 +From a8eeed84c35d593e357070afcb3360bc6d80f171 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 24 Nov 2017 13:49:26 +0000 Subject: [PATCH 144/170] fiq_fsm: rewind DMA pointer for OUT transactions that @@ -137749,7 +137749,7 @@ index e47d5b6de3ada73896ff9a81abd223d345e0de4f..ec804c7cd06d2db897ce6f72fce29733 if (st->nr_errors >= 3) { st->fsm = FIQ_NP_SPLIT_HS_ABORTED; -From 15a544dc74e104c852122644968fc9470af34c8a Mon Sep 17 00:00:00 2001 +From dcb74c365e6baf759446eb53724034dc79e23b02 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 21 Jul 2017 11:30:18 +0100 Subject: [PATCH 145/170] lan78xx: Read MAC address from DT if present @@ -137799,7 +137799,7 @@ index 0161f77641fac8eafc1284a5457a7ccb273efc39..01e72b267de8f2a82fbe1ab4557dcaab (addr[2] << 16) | (addr[3] << 24); addr_hi = addr[4] | (addr[5] << 8); -From 905fd7d52f4caa78aa524638662bd8992b2f16a0 Mon Sep 17 00:00:00 2001 +From df3a15c7c7412333ec65e24c5c106e8fd8faff26 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Nov 2017 12:02:37 +0000 Subject: [PATCH 146/170] lan78xx: Correctly indicate invalid OTP @@ -137829,7 +137829,7 @@ index 01e72b267de8f2a82fbe1ab4557dcaab67532da9..126fe75e75b19c1076a7dd4415a90403 return ret; -From 78b6c12542824a4571bc10887cdb1f83168676ec Mon Sep 17 00:00:00 2001 +From 46bf32dd74ed532a83e013b4f918610fd38e39d0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 15:04:29 +0100 Subject: [PATCH 147/170] lan78xx: Enable LEDs and auto-negotiation @@ -137880,7 +137880,7 @@ index 126fe75e75b19c1076a7dd4415a904035ba95402..26e04c732df49d09939d470c61a9ab46 ret = lan78xx_read_reg(dev, MAC_TX, &buf); -From b47bdb7e1ff1f10ce99a477e7e032bc059fed850 Mon Sep 17 00:00:00 2001 +From ed2e27a710d60b8d8338975b33012b1d4704e8b7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 27 Nov 2017 17:14:54 +0000 Subject: [PATCH 148/170] cgroup: Disable cgroup "memory" by default @@ -137953,7 +137953,7 @@ index 44857278eb8aa6a2bbf27b7eb12137ef42628170..8f86a3d88d84ccf4b055e6d36835fffa * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From f13f26def4fdf80786a27186ecf524ecdf284079 Mon Sep 17 00:00:00 2001 +From f71143364f91756cdfed4772a08e9faedb9faa14 Mon Sep 17 00:00:00 2001 From: Allen Wild Date: Tue, 26 Sep 2017 19:37:44 +0200 Subject: [PATCH 149/170] thermal: enable broadcom menu for arm64 bcm2835 @@ -137987,7 +137987,7 @@ index 07002df4f83acdde2efdf3f51299976ef25d2e1e..e3f0d1fd1720355bc601e766356ac528 endmenu -From 7f4963c2b6c1c29968e06ff1cb60dec92d3b41a2 Mon Sep 17 00:00:00 2001 +From d48f5116e9646d5933582586925f4beb72b8dcf3 Mon Sep 17 00:00:00 2001 From: Gottfried Haider Date: Tue, 26 Sep 2017 11:59:51 +0000 Subject: [PATCH 150/170] pwm: Set class for exported channels in sysfs @@ -138026,7 +138026,7 @@ index a813239300c3d46bba1320caac77ec7adc8363a8..83f2b0b15712bf5745a0dc3a231c5ed0 export->child.parent = parent; export->child.devt = MKDEV(0, 0); -From 3e91e52f2075d759f954a42b205013ebe9d8df21 Mon Sep 17 00:00:00 2001 +From e5bee53b3b579760407bd26481856396aa717fae Mon Sep 17 00:00:00 2001 From: Giedrius Trainavicius Date: Tue, 25 Oct 2016 01:47:20 +0300 Subject: [PATCH 151/170] Updates for Pisound module code: @@ -138454,7 +138454,7 @@ index 06ff1e53dc9d860946965b6303577762f958fae2..09739d51b70b877e24e4f74f6aaadebd +MODULE_DESCRIPTION("ASoC Driver for Pisound, https://blokas.io/pisound"); MODULE_LICENSE("GPL v2"); -From 5a8a3234bac8eab5f4d49e4ee141931832018cd3 Mon Sep 17 00:00:00 2001 +From cf638bddea4a35acaf43a66092f81ab180c315cb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 9 Dec 2017 21:45:12 +0000 Subject: [PATCH 152/170] overlays: Add applepi-dac overlay @@ -138562,7 +138562,7 @@ index 0000000000000000000000000000000000000000..fc02b295470efce41d61be241ba55022 + dtc -@ -H epapr -O dtb -o ApplePi-DAC.dtbo -W no-unit_address_vs_reg ApplePi-DAC.dts +*/ -From 6b77ea7e092b739dd12cdc6046a6aeb105976b92 Mon Sep 17 00:00:00 2001 +From e2e2f5e5a4999c9232f7661338c66e3a60f8172e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 12 Dec 2017 12:12:46 +0000 Subject: [PATCH 153/170] staging: vchiq_arm: Make debugfs failure non-fatal @@ -138594,7 +138594,7 @@ index 314ffac50bb8303971ca71a5f702f07fb8ed6639..e4bad872b7e547de268648fae690524f sema_init(&instance->insert_event, 0); sema_init(&instance->remove_event, 0); -From f64a4146364308905d7373871cb9685893f9e235 Mon Sep 17 00:00:00 2001 +From 529fdb861022e88d1e05e9da31fd7179f8d9fd7d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 23 Dec 2017 22:10:37 +0000 Subject: [PATCH 154/170] config: Add PINCTRL_MCP23S08 @@ -138638,7 +138638,7 @@ index c1da808d40bc8e867b41d3566bd60a758d052bdb..4cfd4e6a339009536d6ebaaff36e4007 CONFIG_GPIO_PCF857X=m CONFIG_GPIO_ARIZONA=m -From 3fe3a681b9a67bec6cab7c3704997f2269d55c24 Mon Sep 17 00:00:00 2001 +From 6672e122f8a072fd3d11b5da938809f78b672fff Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Thu, 21 Dec 2017 09:29:39 +0100 Subject: [PATCH 155/170] Add Raspberry Pi firmware driver to the dependencies @@ -138665,7 +138665,7 @@ index e345a32945b7ec0712cebd0ac8e62c9e8955e24f..9244f2f7b642c6fe5725f0b3b841cece If you have the Raspberry Pi DSI touchscreen display, say Y to enable the mailbox-controlled backlight driver. -From 96fe56f780636875b896db4e55d8d32d0bee0705 Mon Sep 17 00:00:00 2001 +From c9391e9529d5232754aa7d0bfd81e21fa5daab17 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Sun, 24 Dec 2017 21:57:05 +0000 Subject: [PATCH 156/170] overlays: Add media center HAT overlay (#2313) @@ -138863,7 +138863,7 @@ index 0000000000000000000000000000000000000000..a42b8e2a846c6e614ca807f798bef238 + }; +}; -From 0d710b5381bb2aee93240f2ce33f5cc0a05b953c Mon Sep 17 00:00:00 2001 +From ef658e3e065f34c513a7b40ff4cb1bdf68dc3141 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 28 Dec 2017 17:31:52 +0000 Subject: [PATCH 157/170] add backlight control to rpi-display overlay @@ -138910,7 +138910,7 @@ index d7e72eef594e08b309ffbaa04f43c68909c08f36..533b5c140b5447a0bcf426fee0a8b321 }; }; -From 1dcc84c36d90896b994847d44a12bda5f1d65dda Mon Sep 17 00:00:00 2001 +From 2847f8a1802f898b03e785b8c64347827292009a Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 28 Dec 2017 17:34:54 +0000 Subject: [PATCH 158/170] add backlight control to media-center overlay @@ -138960,7 +138960,7 @@ index a42b8e2a846c6e614ca807f798bef238ad002535..ce4db35228e9f68e3f3f40f0f9c02f89 gpio_out_pin = <&lirc_pins>,"brcm,pins:0"; gpio_in_pin = <&lirc_pins>,"brcm,pins:4"; -From 72458d16072515f3abd3394e6fa78363310e329c Mon Sep 17 00:00:00 2001 +From 7ee0c33ae7445163b24711efc115e29666b9ef4f Mon Sep 17 00:00:00 2001 From: penfold42 Date: Tue, 2 Jan 2018 00:15:19 +1100 Subject: [PATCH 159/170] Add overlay for mcp3202 12 bit ADC @@ -139216,7 +139216,7 @@ index 0000000000000000000000000000000000000000..9902c4614ea1f9e5725b3c4a2e62429a + }; +}; -From 8a4605bcbbfc9824e7235e51feedc29014ed5576 Mon Sep 17 00:00:00 2001 +From 03fbd0276a597125064dfb97c7403c8905751353 Mon Sep 17 00:00:00 2001 From: Stefan Schake Date: Sat, 2 Dec 2017 18:40:39 +0100 Subject: [PATCH 160/170] drm/vc4: Release fence after signalling @@ -139266,7 +139266,7 @@ index 7d7af3a93d941bb9552afc1140c408c8da86be37..fc1fc43a924dcc0c44a7a13858bfb53c } vc4_submit_next_render_job(dev); -From 5c138e2fa37950a5295d189a4cfa0715b0b19d5a Mon Sep 17 00:00:00 2001 +From 86decbd3583b4c2f50c33d0048442bcd86377d61 Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 9 Jan 2018 15:16:35 +0000 Subject: [PATCH 161/170] dwc_otg: don't unconditionally force host mode in @@ -139330,7 +139330,7 @@ index af123d01f3ef9f99450c78efdf766ca35e15cbc9..e945900c503cb383d754381b055955b1 * * The following parameters may be specified when starting the module. -From f47a576a2d9f13cd962b80d4c1633ce906403695 Mon Sep 17 00:00:00 2001 +From 0415281881af0a8060bf27052227e24a684c591f Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Thu, 4 Jan 2018 23:58:06 +0900 Subject: [PATCH 162/170] vcsm: Define cache operation constants in user header @@ -139377,7 +139377,7 @@ index b75729d762f25aace133f7a008633b4094ae2de2..ddbeebc71ada82e88a1668fbdfd9821a struct vmcs_sm_ioctl_alloc { /* user -> kernel */ -From 2629d4c9fac78f2b87bd635be087be8ab3795030 Mon Sep 17 00:00:00 2001 +From 95204aed6a8cce2809a6201bf2cb0c4e0ff14087 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Fri, 5 Jan 2018 00:01:30 +0900 Subject: [PATCH 163/170] vcsm: Support for finding user/vc handle in memory @@ -139422,7 +139422,7 @@ index 53843054d7617716761b74d8a3d91551b91ffb75..abd770566ed30102b95a01cec6a3825b pr_debug("[%s]: global map %p (pid %u, addr %lx) -> usr-hdl %x (vc-hdl %x)\n", -From 4b2a4cae9b01516518dc85cfe4110105bd843edc Mon Sep 17 00:00:00 2001 +From cfae4aa22f43470223c883a083892279b641994c Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Fri, 5 Jan 2018 00:44:00 +0900 Subject: [PATCH 164/170] vcsm: Unify cache manipulating functions @@ -139811,7 +139811,7 @@ index abd770566ed30102b95a01cec6a3825b23afcd9d..b6cdc1934ad2092892898559f6f0d481 kfree(block); } -From db8e4449871b29ee6ffc4776b6a7bc907d1d69f1 Mon Sep 17 00:00:00 2001 +From 6f66b3e2ff447f2dea65f0c84dfe9cdd6a58bcbf Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Mon, 8 Jan 2018 21:07:17 +0900 Subject: [PATCH 165/170] vcsm: Fix obscure conditions @@ -139846,7 +139846,7 @@ index b6cdc1934ad2092892898559f6f0d481a7744fa9..95963ffba51afdbdfec26a8c75eec0f5 return -EINVAL; } -From 44539876f7062c7342b3b025c71d09974594eb79 Mon Sep 17 00:00:00 2001 +From d7912692ca45e6e5db1cb07d8c6bc6e200aed2d6 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Mon, 8 Jan 2018 21:11:23 +0900 Subject: [PATCH 166/170] vcsm: Fix memory leaking on clean_invalid2 ioctl @@ -139871,7 +139871,7 @@ index 95963ffba51afdbdfec26a8c75eec0f5e0c2f4e1..380437f41cc64902c9576e53d0beaf76 kfree(block); } -From 38f5c30a2a166f6387dfdedce4ae34d4995378c0 Mon Sep 17 00:00:00 2001 +From 051eb5e7bbe0b598e9930bb28c87d03ee7b7df34 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Mon, 8 Jan 2018 21:15:13 +0900 Subject: [PATCH 167/170] vcsm: Describe the use of cache operation constants @@ -139913,7 +139913,7 @@ index ddbeebc71ada82e88a1668fbdfd9821a39d7cd22..e881fa8ee8e1474cdaa0759b742a5f67 /* user -> kernel */ struct { -From d48cf46d3951d9244866d79437e1c5d89071dcee Mon Sep 17 00:00:00 2001 +From 62d14b9134363e989eeb949ec9bdf2d275b60ac4 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Tue, 9 Jan 2018 12:33:24 +0900 Subject: [PATCH 168/170] vcsm: Fix obscure conditions again @@ -139939,7 +139939,7 @@ index 380437f41cc64902c9576e53d0beaf76ccdc1551..0d14c511da2ab8f542d51ad87746be85 pr_debug("[%s]: global map %p (pid %u, addr %lx) -> usr-hdl %x (vc-hdl %x)\n", -From e443d90b683a8e44ccaff305d8134ea21d506702 Mon Sep 17 00:00:00 2001 +From ec5ec17857ad065ccfc114f935c6c88aeb87f12e Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Wed, 10 Jan 2018 04:32:20 +0900 Subject: [PATCH 169/170] vcsm: Add no-op cache operation constant @@ -140005,7 +140005,7 @@ index e881fa8ee8e1474cdaa0759b742a5f67c122c9eb..a4492b921b48e2c7fdd2745f2d2bad48 #define VCSM_CACHE_OP_CLEAN 0x02 #define VCSM_CACHE_OP_FLUSH 0x03 -From fc66fc5705db7642cbbdf2111e89b920e5e57f22 Mon Sep 17 00:00:00 2001 +From f2f46e949a4b01420e2f7925fc3a527b4c311db7 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Wed, 10 Jan 2018 06:25:51 +0900 Subject: [PATCH 170/170] vcsm: Revert to do page-table-walk-based cache From 3d97c1298c4caeb603a5d9b5742d81a47dfc8660 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 12/21] RPi: update firmware to 5e55ff0 --- packages/graphics/bcm2835-driver/package.mk | 4 ++-- packages/tools/bcm2835-bootloader/package.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/graphics/bcm2835-driver/package.mk b/packages/graphics/bcm2835-driver/package.mk index 7099e42c56..0726780888 100644 --- a/packages/graphics/bcm2835-driver/package.mk +++ b/packages/graphics/bcm2835-driver/package.mk @@ -17,8 +17,8 @@ ################################################################################ PKG_NAME="bcm2835-driver" -PKG_VERSION="008700b" -PKG_SHA256="840f94f383f1c252f840906a190b58ad2fb174716f2cfed5f83b4ad47a4c1f74" +PKG_VERSION="5e55ff0" +PKG_SHA256="05b2d417e79e0629003d349d280a4b28f79aa6a312a0d53b05ec5b868b1e405b" PKG_ARCH="any" PKG_LICENSE="nonfree" PKG_SITE="http://www.broadcom.com" diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index 7398679dfe..a785ed288c 100644 --- a/packages/tools/bcm2835-bootloader/package.mk +++ b/packages/tools/bcm2835-bootloader/package.mk @@ -17,8 +17,8 @@ ################################################################################ PKG_NAME="bcm2835-bootloader" -PKG_VERSION="008700b" -PKG_SHA256="f96620ad3e1d682ff0a15b12f7f0f0bda0e0b8d3802eb948ee7e8202355edb46" +PKG_VERSION="5e55ff0" +PKG_SHA256="2ab04a21a4aaa64a4e2f7d5b02cf20a4633b7a765f79423070a2c47402092f11" PKG_ARCH="arm" PKG_LICENSE="nonfree" PKG_SITE="http://www.broadcom.com" From 88e1c9caf8669c623eedc6a21d930151c448b087 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 13/21] iwlwifi-firmware: update to iwlwifi-firmware-b594d28 --- packages/linux-firmware/iwlwifi-firmware/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux-firmware/iwlwifi-firmware/package.mk b/packages/linux-firmware/iwlwifi-firmware/package.mk index 57e407903c..2ee3a02e39 100644 --- a/packages/linux-firmware/iwlwifi-firmware/package.mk +++ b/packages/linux-firmware/iwlwifi-firmware/package.mk @@ -17,8 +17,8 @@ ################################################################################ PKG_NAME="iwlwifi-firmware" -PKG_VERSION="78b9e19" -PKG_SHA256="1cd3ec0f2133f56760bc8946344e426833ac887a0a09f8750e6f0f51b7c994de" +PKG_VERSION="b594d28" +PKG_SHA256="9516d53f4805b5253a5e0a0cd8bc3b3f547f6d48d84b88fa8cc160c05cea9921" PKG_ARCH="any" PKG_LICENSE="Free-to-use" PKG_SITE="https://github.com/LibreELEC/iwlwifi-firmware" From 4fb165d3f26872b5d740c44b7758bf73b4c56ac3 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 02:03:18 +0000 Subject: [PATCH 14/21] linux: restore Ouya controller support --- .../linux-051-ouya_controller_support.patch | 327 ++++++++++++++++++ projects/Generic/linux/linux.x86_64.conf | 1 + projects/RPi/devices/RPi/linux/linux.arm.conf | 1 + .../RPi/devices/RPi2/linux/linux.arm.conf | 1 + 4 files changed, 330 insertions(+) create mode 100644 packages/linux/patches/default/linux-051-ouya_controller_support.patch diff --git a/packages/linux/patches/default/linux-051-ouya_controller_support.patch b/packages/linux/patches/default/linux-051-ouya_controller_support.patch new file mode 100644 index 0000000000..5fab089682 --- /dev/null +++ b/packages/linux/patches/default/linux-051-ouya_controller_support.patch @@ -0,0 +1,327 @@ +commit 58c5e239ba0402207cfecef8ea1bf52edea092e4 +Author: Lukas Rusak +Date: Mon Jan 15 09:50:43 2018 -0800 + + drivers/hid: add ouya controller driver + +diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig +index 779c5ae47..02f79b0a4 100644 +--- a/drivers/hid/Kconfig ++++ b/drivers/hid/Kconfig +@@ -633,6 +633,12 @@ config HID_ORTEK + - Ortek WKB-2000 + - Skycable wireless presenter + ++config HID_OUYA ++ tristate "OUYA Game Controller" ++ depends on USB_HID ++ ---help--- ++ Support for OUYA Game Controller. ++ + config HID_PANTHERLORD + tristate "Pantherlord/GreenAsia game controller" + depends on HID +diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile +index 235bd2a7b..d3431f77b 100644 +--- a/drivers/hid/Makefile ++++ b/drivers/hid/Makefile +@@ -68,6 +68,7 @@ obj-$(CONFIG_HID_MULTITOUCH) += hid-multitouch.o + obj-$(CONFIG_HID_NTI) += hid-nti.o + obj-$(CONFIG_HID_NTRIG) += hid-ntrig.o + obj-$(CONFIG_HID_ORTEK) += hid-ortek.o ++obj-$(CONFIG_HID_OUYA) += hid-ouya.o + obj-$(CONFIG_HID_PRODIKEYS) += hid-prodikeys.o + obj-$(CONFIG_HID_PANTHERLORD) += hid-pl.o + obj-$(CONFIG_HID_PENMOUNT) += hid-penmount.o +diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c +index 0c3f60813..cd64cafe5 100644 +--- a/drivers/hid/hid-core.c ++++ b/drivers/hid/hid-core.c +@@ -1884,6 +1884,7 @@ static const struct hid_device_id hid_have_special_driver[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_ACCUTOUCH_2216) }, + #endif + #if IS_ENABLED(CONFIG_HID_ACRUX) ++ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_OUYA, USB_DEVICE_ID_OUYA_CONTROLLER) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ACRUX, 0x0802) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ACRUX, 0xf705) }, + #endif +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index 5da3d6256..b6bb209ed 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -843,6 +843,9 @@ + #define USB_DEVICE_ID_ORTEK_WKB2000 0x2000 + #define USB_DEVICE_ID_ORTEK_IHOME_IMAC_A210S 0x8003 + ++#define USB_VENDOR_ID_OUYA 0x2836 ++#define USB_DEVICE_ID_OUYA_CONTROLLER 0x0001 ++ + #define USB_VENDOR_ID_PLANTRONICS 0x047f + + #define USB_VENDOR_ID_PANASONIC 0x04da +diff --git a/drivers/hid/hid-ouya.c b/drivers/hid/hid-ouya.c +new file mode 100644 +index 000000000..7792c23ba +--- /dev/null ++++ b/drivers/hid/hid-ouya.c +@@ -0,0 +1,260 @@ ++/* ++ * HID driver for OUYA Game Controller(s) ++ * ++ * Copyright (c) 2013 OUYA ++ */ ++ ++#include ++#include ++#include ++#include ++ ++#include "hid-ids.h" ++ ++#define OUYA_TOUCHPAD_FIXUP (1 << 0) ++ ++struct ouya_sc { ++ unsigned long quirks; ++}; ++ ++/* Fixed report descriptor */ ++static __u8 ouya_rdesc_fixed[] = { ++ ++ 0x05, 0x01, /* Usage Page (Desktop), */ ++ 0x09, 0x05, /* Usage (Game Pad), */ ++ ++ 0xA1, 0x01, /* Collection (Application), */ ++ 0x85, 0x07, /* Report ID (7), */ ++ ++ 0xA1, 0x00, /* Collection (Physical), */ ++ 0x09, 0x30, /* Usage (X), */ ++ 0x09, 0x31, /* Usage (Y), */ ++ 0x15, 0x00, /* Logical Minimum (0), */ ++ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ ++ 0x35, 0x00, /* Physical Minimum (0), */ ++ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ ++ 0x95, 0x02, /* Report Count (2), */ ++ 0x75, 0x08, /* Report Size (8), */ ++ 0x81, 0x02, /* Input (Variable), */ ++ 0xC0, /* End Collection, */ ++ ++ 0xA1, 0x00, /* Collection (Physical), */ ++ 0x09, 0x33, /* Usage (Rx), */ ++ 0x09, 0x34, /* Usage (Ry), */ ++ 0x15, 0x00, /* Logical Minimum (0), */ ++ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ ++ 0x35, 0x00, /* Physical Minimum (0), */ ++ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ ++ 0x95, 0x02, /* Report Count (2), */ ++ 0x75, 0x08, /* Report Size (8), */ ++ 0x81, 0x02, /* Input (Variable), */ ++ 0xC0, /* End Collection, */ ++ ++ 0xA1, 0x00, /* Collection (Physical), */ ++ 0x09, 0x32, /* Usage (Z), */ ++ 0x15, 0x00, /* Logical Minimum (0), */ ++ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ ++ 0x35, 0x00, /* Physical Minimum (0), */ ++ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ ++ 0x95, 0x01, /* Report Count (1), */ ++ 0x75, 0x08, /* Report Size (8), */ ++ 0x81, 0x02, /* Input (Variable), */ ++ 0xC0, /* End Collection, */ ++ ++ 0xA1, 0x00, /* Collection (Physical), */ ++ 0x09, 0x35, /* Usage (Rz), */ ++ 0x15, 0x00, /* Logical Minimum (0), */ ++ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ ++ 0x35, 0x00, /* Physical Minimum (0), */ ++ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ ++ 0x95, 0x01, /* Report Count (1), */ ++ 0x75, 0x08, /* Report Size (8), */ ++ 0x81, 0x02, /* Input (Variable), */ ++ 0xC0, /* End Collection, */ ++ ++ 0x05, 0x09, /* Usage Page (Button), */ ++ 0x19, 0x01, /* Usage Minimum (01h), */ ++ 0x29, 0x10, /* Usage Maximum (10h), */ ++ 0x95, 0x10, /* Report Count (16), */ ++ 0x75, 0x01, /* Report Size (1), */ ++ 0x81, 0x02, /* Input (Variable), */ ++ ++ /* ORIGINAL REPORT DESCRIPTOR FOR TOUCHPAD INPUT */ ++ /* 06 00 ff a1 02 09 02 15 00 26 ff 00 35 00 46 ff 00 95 03 75 08 81 02 c0 */ ++ ++ 0x06, 0x00, 0xFF, /* Usage Page (Custom), */ ++ 0x09, 0x02, /* Usage (Mouse), */ ++ 0x09, 0x01, /* Usage (Pointer), */ ++ 0xA1, 0x00, /* Collection (Physical), */ ++ 0x05, 0x09, /* Usage Page (Button), */ ++ 0x19, 0x01, /* Usage Minimum (01h), */ ++ 0x29, 0x03, /* Usage Maximum (03h), */ ++ 0x15, 0x00, /* Logical Minimum (0), */ ++ 0x25, 0x01, /* Logical Maximum (1), */ ++ 0x95, 0x03, /* Report Count (3), */ ++ 0x75, 0x01, /* Report Size (1), */ ++ 0x81, 0x02, /* Input (Variable), */ ++ 0x95, 0x01, /* Report Count (1), */ ++ 0x75, 0x05, /* Report Size (5), */ ++ 0x81, 0x01, /* Input (Constant), */ ++ 0x05, 0x01, /* Usage Page (Desktop), */ ++ 0x09, 0x30, /* Usage (X), */ ++ 0x09, 0x31, /* Usage (Y), */ ++ 0x15, 0x81, /* Logical Minimum (-127), */ ++ 0x25, 0x7f, /* Logical Maximum (127), */ ++ 0x95, 0x02, /* Report Count (2), */ ++ 0x75, 0x08, /* Report Size (8), */ ++ 0x81, 0x06, /* Input (Relative), */ ++ 0xC0, /* End Collection, */ ++ ++ 0x06, 0x00, 0xFF, /* Usage Page (Custom), */ ++ 0xA1, 0x02, /* Collection (Logical), */ ++ 0x75, 0x08, /* Report Size (8), */ ++ 0x95, 0x07, /* Report Count (7), */ ++ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ ++ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ ++ 0x09, 0x01, /* Usage (Pointer), */ ++ 0x91, 0x02, /* Output (Variable), */ ++ 0xC0, /* End Collection, */ ++ ++ 0xC0, /* End Collection */ ++ ++ ++ 0x06, 0x00, 0xFF, /* Usage Page (Custom), */ ++ 0x05, 0x0C, /* Usage Page (Consumer), */ ++ 0x09, 0x01, /* Usage (Consumer Control), */ ++ ++ 0xA1, 0x01, /* Collection (Application), */ ++ 0x85, 0x03, /* Report ID (3), */ ++ 0x05, 0x01, /* Usage Page (Desktop), */ ++ 0x09, 0x06, /* Usage (Keyboard), */ ++ 0xA1, 0x02, /* Collection (Logical), */ ++ 0x05, 0x06, /* Usage Page (Generic), */ ++ 0x09, 0x20, /* Usage (Battery Strgth), */ ++ 0x15, 0x00, /* Logical Minimum (0), */ ++ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ ++ 0x75, 0x08, /* Report Size (8), */ ++ 0x95, 0x01, /* Report Count (1), */ ++ 0x81, 0x02, /* Input (Variable), */ ++ 0x06, 0xBC, 0xFF, /* Usage Page (Custom), */ ++ ++ 0x0A, 0xAD, 0xBD, /* UNKNOWN */ ++ ++ 0x75, 0x08, /* Report Size (8), */ ++ 0x95, 0x06, /* Report Count (6), */ ++ 0x81, 0x02, /* Input (Variable), */ ++ 0xC0, /* End Collection, */ ++ ++ 0xC0, /* End Collection */ ++ ++ 0x00 ++}; ++ ++static __u8 *ouya_report_fixup(struct hid_device *hdev, __u8 *rdesc, ++ unsigned int *rsize) ++{ ++ struct ouya_sc *sc = hid_get_drvdata(hdev); ++ ++ if (sc->quirks & OUYA_TOUCHPAD_FIXUP) { ++ rdesc = ouya_rdesc_fixed; ++ *rsize = sizeof(ouya_rdesc_fixed); ++ } ++ return rdesc; ++} ++ ++static int ouya_input_mapping(struct hid_device *hdev, struct hid_input *hi, ++ struct hid_field *field, struct hid_usage *usage, ++ unsigned long **bit, int *max) ++{ ++ struct ouya_sc *sc = hid_get_drvdata(hdev); ++ ++ if (!(sc->quirks & OUYA_TOUCHPAD_FIXUP)) { ++ return 0; ++ } ++ ++ if ((usage->hid & 0x90000) == 0x90000 && ++ (field->physical & 0xff000000) == 0xff000000 && ++ usage->collection_index == 5 && ++ field->report_count == 3) { ++ ++ hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_MOUSE + (usage->hid - 0x90001)); ++ ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static int ouya_probe(struct hid_device *hdev, const struct hid_device_id *id) ++{ ++ int ret; ++ struct ouya_sc *sc; ++ ++ sc = kzalloc(sizeof(*sc), GFP_KERNEL); ++ if (sc == NULL) { ++ hid_err(hdev, "can't alloc ouya descriptor\n"); ++ return -ENOMEM; ++ } ++ ++ if(((hdev->version & 0xff00) == 0x0100 && (hdev->version & 0xff) >= 0x04) || ++ ((hdev->version & 0xff00) == 0xe100 && (hdev->version & 0xff) >= 0x3a)) { ++ hid_info(hdev, "ouya controller - new version\n"); ++ sc->quirks = OUYA_TOUCHPAD_FIXUP; ++ } else { ++ sc->quirks = 0; ++ } ++ hid_set_drvdata(hdev, sc); ++ ++ ret = hid_parse(hdev); ++ if (ret) { ++ hid_err(hdev, "parse failed\n"); ++ goto err_free; ++ } ++ ++ ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT | ++ HID_CONNECT_HIDDEV_FORCE); ++ if (ret) { ++ hid_err(hdev, "hw start failed\n"); ++ goto err_free; ++ } ++ ++ return 0; ++ ++err_free: ++ kfree(sc); ++ return ret; ++} ++ ++static void ouya_remove(struct hid_device *hdev) ++{ ++ hid_hw_stop(hdev); ++ kfree(hid_get_drvdata(hdev)); ++} ++ ++static const struct hid_device_id ouya_devices[] = { ++ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_OUYA, USB_DEVICE_ID_OUYA_CONTROLLER) }, ++ { } ++}; ++MODULE_DEVICE_TABLE(hid, ouya_devices); ++ ++static struct hid_driver ouya_driver = { ++ .name = "ouya", ++ .id_table = ouya_devices, ++ .probe = ouya_probe, ++ .remove = ouya_remove, ++ .input_mapping = ouya_input_mapping, ++ .report_fixup = ouya_report_fixup ++}; ++ ++static int __init ouya_init(void) ++{ ++ return hid_register_driver(&ouya_driver); ++} ++ ++static void __exit ouya_exit(void) ++{ ++ hid_unregister_driver(&ouya_driver); ++} ++ ++module_init(ouya_init); ++module_exit(ouya_exit); diff --git a/projects/Generic/linux/linux.x86_64.conf b/projects/Generic/linux/linux.x86_64.conf index 2aa185ea8c..5daf32cf86 100644 --- a/projects/Generic/linux/linux.x86_64.conf +++ b/projects/Generic/linux/linux.x86_64.conf @@ -3975,6 +3975,7 @@ CONFIG_HID_MULTITOUCH=m # CONFIG_HID_NTI is not set # CONFIG_HID_NTRIG is not set CONFIG_HID_ORTEK=y +CONFIG_HID_OUYA=y CONFIG_HID_PANTHERLORD=y CONFIG_PANTHERLORD_FF=y CONFIG_HID_PENMOUNT=y diff --git a/projects/RPi/devices/RPi/linux/linux.arm.conf b/projects/RPi/devices/RPi/linux/linux.arm.conf index 4337a33fb0..9b9c64351e 100644 --- a/projects/RPi/devices/RPi/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi/linux/linux.arm.conf @@ -3260,6 +3260,7 @@ CONFIG_HID_MULTITOUCH=m # CONFIG_HID_NTI is not set # CONFIG_HID_NTRIG is not set CONFIG_HID_ORTEK=y +CONFIG_HID_OUYA=y CONFIG_HID_PANTHERLORD=y CONFIG_PANTHERLORD_FF=y CONFIG_HID_PENMOUNT=y diff --git a/projects/RPi/devices/RPi2/linux/linux.arm.conf b/projects/RPi/devices/RPi2/linux/linux.arm.conf index ad4fed1722..af92947a3b 100644 --- a/projects/RPi/devices/RPi2/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi2/linux/linux.arm.conf @@ -3358,6 +3358,7 @@ CONFIG_HID_MULTITOUCH=m # CONFIG_HID_NTI is not set # CONFIG_HID_NTRIG is not set CONFIG_HID_ORTEK=y +CONFIG_HID_OUYA=y CONFIG_HID_PANTHERLORD=y CONFIG_PANTHERLORD_FF=y CONFIG_HID_PENMOUNT=y From a4e182fc61122f4216927702fe70b465f7b43efe Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 16:32:18 +0000 Subject: [PATCH 15/21] linux: update to linux-4.14.14 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 9f082fe945..294762bcdd 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -47,8 +47,8 @@ case "$LINUX" in PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET aml-dtbtools:host" ;; *) - PKG_VERSION="4.14.13" - PKG_SHA256="4ab46d1b5a0f8ef83b80760f89ae4f5c88431b19b3cf79ffa0c66d6b33e45772" + PKG_VERSION="4.14.14" + PKG_SHA256="8b96362eb55ae152555980e7193fe2585b487176fb936cc69b8947d7dd32044a" PKG_URL="https://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_PATCH_DIRS="default" ;; From 1843228b98c4ead7599e892ffc458ffab4ff190f Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 16:35:36 +0000 Subject: [PATCH 16/21] RPi: update linux support patch for linux 4.14.14 --- .../patches/linux/linux-01-RPi_support.patch | 1068 +++++++++++------ 1 file changed, 724 insertions(+), 344 deletions(-) diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 8dae9d9292..1b6d55a8ae 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ -From 8883c35a9a30bf29db4228d59a585d8ef222ab76 Mon Sep 17 00:00:00 2001 +From 99e77433bc79aa3129b3e2e8aaab2fa8c14db834 Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 001/170] arm: partially revert +Subject: [PATCH 001/175] arm: partially revert 702b94bff3c50542a6e4ab9a4f4cef093262fe65 * Re-expose some dmi APIs for use in VCSM @@ -106,10 +106,10 @@ index 054b491ff7649ca067ff821770aec80a4da42102..70e8b7d3443467ae9595924f1a9d043b EXPORT_SYMBOL(cpu_cache); #endif -From d07efdf1459ee533feb9849bcf6b44ecef6aeeaa Mon Sep 17 00:00:00 2001 +From a82fbd9f771bfa0eb2992a4dcef1daf79f7ba44f Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 002/170] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/175] 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. @@ -156,10 +156,10 @@ index 309b88acd3d0b6ca1528dde7b27a23926f9be952..25e37195ceb00cfc0ced7638e8b571a1 usbnet_skb_return(dev, ax_skb); } -From 9b8ce7f93b98e35d99302a9dde14243097d82ae4 Mon Sep 17 00:00:00 2001 +From a56da5ed4dc92c3ac042bd1fec83a27e41e0f29f Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 003/170] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 003/175] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -202,10 +202,10 @@ index 25e37195ceb00cfc0ced7638e8b571a1b0b8e6f1..09c7d4a07299e70b1cdc9df2c2c4cb39 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From 3a4d655d2c7bf314cde64328fe26f9acb2087012 Mon Sep 17 00:00:00 2001 +From 039aebc023e51aacf2244d7514b67043f8f32784 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 004/170] Allow mac address to be set in smsc95xx +Subject: [PATCH 004/175] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -301,10 +301,10 @@ index 09c7d4a07299e70b1cdc9df2c2c4cb39d2207c37..4d9704d0b184df9bd7ddbe6769e40a75 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From 6581396cf131ebd566a8ca413879b745def912ec Mon Sep 17 00:00:00 2001 +From 631269a1f9df2f4c045676429b285de0a8f6b0f2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 005/170] Protect __release_resource against resources without +Subject: [PATCH 005/175] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -332,10 +332,10 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From a33c44487509735534c3635fd2b1e8097bcb89ec Mon Sep 17 00:00:00 2001 +From 67f129aa9c86fddd2bbb618234519291da276650 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 006/170] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/175] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -362,10 +362,10 @@ index dc8c1e3eafe794a3af83dd987a6d6362d14dd5ee..e8204d9af58f1b893505c06902a83390 #endif } else if (stat) { -From 90b969c5a4dc4381e74a09be875f031b8e95911e Mon Sep 17 00:00:00 2001 +From 57050febd0e4fc724ee4ad2557bcea46fac0f85c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 007/170] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 007/175] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -389,10 +389,10 @@ index e8204d9af58f1b893505c06902a83390c2ea8509..6e3fab9587b782e026c01fa6b6e40338 static void -From fd8e0ecc80860fa755066083e46327fe4be399be Mon Sep 17 00:00:00 2001 +From f822085f0bb7b67cd48dd1b4285ea869bc5e1228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 008/170] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 008/175] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -521,10 +521,10 @@ index d2da8a1e6b1b71381e382d034e7a94e865a6c3da..c4903360eabc2bef04f8e745782cea26 } -From f41c1dffe972fcfbdd0a709deeb8b3c6dd174f23 Mon Sep 17 00:00:00 2001 +From 11efae6d64f72b6a2730289803c28e0e0cb7ab0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 009/170] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 009/175] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -623,10 +623,10 @@ index c4903360eabc2bef04f8e745782cea268fb22897..13356d3b7bcd508f058c6a9e3c4b0b38 for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From 5a845b1a12dc821e4b411c33da23d4d6d3d91585 Mon Sep 17 00:00:00 2001 +From 2164e4f9cef9303a120122546b54b116789f3ddd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:43:40 +0100 -Subject: [PATCH 010/170] irq_bcm2836: Send event when onlining sleeping cores +Subject: [PATCH 010/175] irq_bcm2836: Send event when onlining sleeping cores In order to reduce power consumption and bus traffic, it is sensible for secondary cores to enter a low-power idle state when waiting to @@ -662,10 +662,10 @@ index 6e3fab9587b782e026c01fa6b6e40338ef0c8d0a..86b357ae027bf8ba1ac32cd150a8cf21 } -From e2a8b78d53f5da5f6718732e44358552cd434062 Mon Sep 17 00:00:00 2001 +From 9692c48bb4e40ecdf6a6d20c6aa900f35fddbeda Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 011/170] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 011/175] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -686,10 +686,10 @@ index cda10719d1d1b21b32866d2b79363faa461ab8e1..4f3779d3aa0960640506725bde918075 }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From 8ed985ca02708c3e680386340f86ab11fa0e0b44 Mon Sep 17 00:00:00 2001 +From 7f0cb955b39588a5292353838dc24cb0da5090e2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 012/170] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 012/175] 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 @@ -770,10 +770,10 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From a400d2e5f74c3e86bdacda29d491c1c22d5fb892 Mon Sep 17 00:00:00 2001 +From 0a9345126977f0893bbf5e799765af1b2b1e73e9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 013/170] spi-bcm2835: Disable forced software CS +Subject: [PATCH 013/175] 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 @@ -807,10 +807,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From b8379ef3c5adbe221e0f490315d1eb2d72621658 Mon Sep 17 00:00:00 2001 +From 1463890bcee30eeafc7e4f35bb09e77da2073504 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 014/170] spi-bcm2835: Remove unused code +Subject: [PATCH 014/175] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -898,10 +898,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From b73d39a3992acb8dbb16e6f9c56094d5898abf36 Mon Sep 17 00:00:00 2001 +From f1f7304a2c26f684a48d4522017cdbdd5cf2f214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 015/170] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 015/175] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -954,10 +954,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From aebeab98cce8a9ea68f1510ed6fc9bee1ad0222d Mon Sep 17 00:00:00 2001 +From 4afda3956e36825879b97c3da5344fd8bc83df1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 016/170] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 016/175] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1060,10 +1060,10 @@ index 6204cc32d09c5096df8aec304c3c37b3bcb6be44..599c218dc8a73172dd4bd4a058fc8f95 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From 2e29233713b96773947340ecf35e80a89c78f14a Mon Sep 17 00:00:00 2001 +From c205280f8e8b6d98bb8f4fe91e7e14ea8363aece Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 017/170] firmware: Updated mailbox header +Subject: [PATCH 017/175] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 21 +++++++++++++++++++++ @@ -1149,10 +1149,10 @@ index cb979ad90401e299344dd5fae38d09c489d8bd58..cbd1674570433fc591df89f68c892b33 #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From cbeff005b7291d65632d46a356bf877be27a1b3c Mon Sep 17 00:00:00 2001 +From 9c8d1c45d886fdebda6db54e7ada110ebd883553 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 018/170] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 018/175] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1172,10 +1172,10 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From 6cd9767e2cf6d85063561843797aebd0aa798f76 Mon Sep 17 00:00:00 2001 +From 6176a496bef1707dbd8bb40856ffa8660a82282b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 019/170] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 019/175] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1277,10 +1277,10 @@ index b339e0e67b4c1275fd4992fea4f1e24c0575b783..26b7177573fac2af1cd4ab5488d2686f static int bcm2835_wdt_probe(struct platform_device *pdev) -From 9a58c420f3b1143757380d2674fbf3b3ae47c647 Mon Sep 17 00:00:00 2001 +From 75bce7d69841c1585a9c2976e98bcb7cc2b80ebe Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 020/170] reboot: Use power off rather than busy spinning when +Subject: [PATCH 020/175] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1303,10 +1303,10 @@ index 3b2aa9a9fe268d45335f781c4aa22cf573753a1b..0180d89a34af45c56243fe0f17fbe209 /* -From 12a8db6261d503e02a8377d9cb20117f51117337 Mon Sep 17 00:00:00 2001 +From 9d6127b193fcc6f76292e528356127a8fb8161ee Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 021/170] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 021/175] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -1325,10 +1325,10 @@ index 49f1e2a75d614bc21db152327c7b425ae2504f8d..dccd2374ed00631abd441e3e9d78ee74 help This enables support for the RPi power domains which can be enabled -From c08ff0dd014ad62e87fdac162d395712bb39c928 Mon Sep 17 00:00:00 2001 +From 077835b3ad8296aa82e558679f2addd6a00647c2 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 022/170] Register the clocks early during the boot process, so +Subject: [PATCH 022/175] 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. @@ -1373,10 +1373,10 @@ index 58ce6af8452db9ca8b4d3c380a06e448919f6a8d..11d89d106026f15719ea25047d6f357b MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From ba09e2de04c40e16fd2920afa6f3b8c9fb970399 Mon Sep 17 00:00:00 2001 +From f112556d35706b3af74f4ca5857188210b023016 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 023/170] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 023/175] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1402,10 +1402,10 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From 928b236e050e02f8b93020510f20384a8761ecd3 Mon Sep 17 00:00:00 2001 +From e345c5cbc07b1e5ee6d5d784863281f35cf3b875 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 024/170] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 024/175] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -1425,10 +1425,10 @@ index 9ffd3dda3889c56a7a72229bed21ff5c49d62856..00da6c9bacbf33334233e22ca5209ade esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From 04654eedaa7077736024a63bc7a978ad11c18a93 Mon Sep 17 00:00:00 2001 +From 4ae2d16d0abff821cb5dce6b3b8e97c7818d604b Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 025/170] BCM2835_DT: Fix I2S register map +Subject: [PATCH 025/175] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -1466,10 +1466,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 69af2460b8674c6dd8386579858813c8c813d895 Mon Sep 17 00:00:00 2001 +From 2cf2d502470d672bca1f87f3a21f6419ee5c143b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 026/170] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 026/175] 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 @@ -1497,10 +1497,10 @@ index 11d89d106026f15719ea25047d6f357b4bfcb2c5..fe8f5d65f2749cb3ddc878df61664826 divider->data = data; -From 5d0e2e65347a74c4c253f355e267d7686234c962 Mon Sep 17 00:00:00 2001 +From 8f5c5cf161039e3bdce3fac485e6b551d8905955 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 027/170] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 027/175] 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, @@ -1602,10 +1602,10 @@ index fe8f5d65f2749cb3ddc878df616648267441e0ee..92b5e0f5145b32d3bfc3592fe381e8be sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From a20edeadcc7484292de96dc55b4523f975b2c919 Mon Sep 17 00:00:00 2001 +From de8bc773b06f7bb3727c368ee7b3384e78b29787 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 028/170] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 028/175] 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 @@ -1720,10 +1720,10 @@ index 92b5e0f5145b32d3bfc3592fe381e8be3cd90c72..336f8c9c44325d0a94e591a8557f7af2 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From b5ebc5db6b0cad1f1a5bc913a8ee1a150ac5c46d Mon Sep 17 00:00:00 2001 +From 326c5529a8888f94639dfdb1571248b9ec9d0db4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 029/170] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 029/175] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -1761,10 +1761,10 @@ index 336f8c9c44325d0a94e591a8557f7af246adc857..caa05e5ad0b7b5cd683e04fb3591a3df * Pass the CLK_SET_RATE_PARENT flag if we are allowed to propagate * rate changes on at least of the parents. -From dd378f94eeec5298d95baf8f4d33363bef1c14d8 Mon Sep 17 00:00:00 2001 +From e3554c13b1785b8164b80d6b275a38d5e7b3b3db Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 030/170] sound: Demote deferral errors to INFO level +Subject: [PATCH 030/175] 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. @@ -1799,10 +1799,10 @@ index fee4b0ef5566cf9e8de0bf5c568706da9cab2ea2..c728a4148903e983d61b6ae65765ba11 goto _err_defer; } -From 6824f80ed32fda69157929a03a4d20c172d8328e Mon Sep 17 00:00:00 2001 +From 8508baa5e47654bbbb1c69f2bb13916181283b0a Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 031/170] Update vfpmodule.c +Subject: [PATCH 031/175] 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 @@ -1939,10 +1939,10 @@ index a71a48e71fffa8626fe90106815376c44bbe679b..d6c0a5a0a5ae3510db3ace5e3f5d3410 /* * Save the userland NEON/VFP state. Under UP, -From 44d93600a62c9fea17c45d3f28af86448e3a5d2b Mon Sep 17 00:00:00 2001 +From b403fb373fb729837b87b58e28774476b32218c2 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 032/170] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 032/175] ASoC: bcm2835_i2s.c: relax the ch2 register setting for 8 channels This patch allows ch2 registers to be set for 8 channels of audio. @@ -1963,10 +1963,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..56df7d8a43d0aac055a91b0d24aca8e1 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From 97b448bf7b1ea86ec3bbb0d5289e195aa6f554c5 Mon Sep 17 00:00:00 2001 +From b4e251bcbf56ce240f1a7c2ce54285702859208e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 1 Nov 2016 15:15:41 +0100 -Subject: [PATCH 033/170] i2c: bcm2835: Add debug support +Subject: [PATCH 033/175] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2155,10 +2155,10 @@ index cd07a69e2e9355540442785f95e90823b05c9d10..47167f403cc8329bd811b47c7011c299 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From b702dd5853b8340272310e2def3e6ddd9c824088 Mon Sep 17 00:00:00 2001 +From b636d4110488638df9fbe04256b92a23cebf7b52 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 034/170] mm: Remove the PFN busy warning +Subject: [PATCH 034/175] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -2183,10 +2183,10 @@ index d51c2087c498c63f3f515d2931e42b5110efb62f..fd094c36e26c712d7537b16aa547d3e8 goto done; } -From 367ee4bd6b97115137cc8fda261abd9cf4a51e76 Mon Sep 17 00:00:00 2001 +From e365d7872b1c33a8855a1a8118dab8596163f9dd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 035/170] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 035/175] 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 @@ -2211,10 +2211,10 @@ index c367d11079bc90feec2ad0fa748d7ffc3035faba..91d5b531b69b49db97f7febbc60d33a2 config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From 2af5cdaa066783e3ef0065a19ec61d515b6228a0 Mon Sep 17 00:00:00 2001 +From 7e86f6e57045498c57f2b3cd6a3a04f0423cf90e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 036/170] Main bcm2708/bcm2709 linux port +Subject: [PATCH 036/175] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2402,10 +2402,10 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From 57464a511c587d81ae22da63f87f3f818b78bb4d Mon Sep 17 00:00:00 2001 +From 6d6e6fea9b88e27c6d376196978dc43df4fb7047 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 037/170] Add dwc_otg driver +Subject: [PATCH 037/175] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -63702,10 +63702,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From 07e956d429d48c803fc6cc57650e7a6888032a7f Mon Sep 17 00:00:00 2001 +From 9956154cf61011a769311d52a6fd5d6ac56c287c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 038/170] bcm2708 framebuffer driver +Subject: [PATCH 038/175] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67164,10 +67164,10 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From defa816acb1c1f6976cde29efb6a8e8fd8b8cc9b Mon Sep 17 00:00:00 2001 +From 71028e794308d8aac5b5cc7d4ef47cd24f1aa74c Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 039/170] dmaengine: Add support for BCM2708 +Subject: [PATCH 039/175] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67798,10 +67798,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From 3b2c9aafa621d3d81a5fcec20853b5b050391204 Mon Sep 17 00:00:00 2001 +From 1570c5367009f0bf1ffcf0604f9a6b3aecda69f4 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 040/170] MMC: added alternative MMC driver +Subject: [PATCH 040/175] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69681,10 +69681,10 @@ index 279b39008a33bb68745d9ea55ea5dd7ed522fd1c..49bdea5791a289251019a89419804dde unsigned int erase_size; /* erase size in sectors */ -From 0225cb8ee276e76519bb18cace382184e96b56be Mon Sep 17 00:00:00 2001 +From 38dc2198d38ad5758607572c8b6fd9f3b78bb404 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 041/170] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 041/175] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -72090,10 +72090,10 @@ index 0000000000000000000000000000000000000000..9c6f199a7830959f31012d86bc1f8b1a +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From 8bcb3e65a06aed2da9c8e0c34e5dc1583159cf37 Mon Sep 17 00:00:00 2001 +From a2b75b2f0461d5cf12ad93e9362b5ebb98aedb11 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 042/170] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 042/175] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -72618,10 +72618,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From 0b8b6982d2ca5c8bfa38d9fc17c4dcd99b3d9c0c Mon Sep 17 00:00:00 2001 +From 27ec2190d605783279ba1d4f1d4c8e94ac4bb03a Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 043/170] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 043/175] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -77499,10 +77499,10 @@ index 0000000000000000000000000000000000000000..b75729d762f25aace133f7a008633b40 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From de0f52234a74a557792961114a1fd3fb45984d52 Mon Sep 17 00:00:00 2001 +From 93642f411df103f353089b9972ae160457aa5e16 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 044/170] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 044/175] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -77810,10 +77810,10 @@ index 0000000000000000000000000000000000000000..f5e7f1ba8fb6f18dee77fad06a17480c +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From 3767d7023916aba3362b2c18fddfd93b6a77d7e1 Mon Sep 17 00:00:00 2001 +From fa6d7b7b0083b4e2df8a10715e37a070ab23d15b Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 045/170] Add SMI driver +Subject: [PATCH 045/175] Add SMI driver Signed-off-by: Luke Wren --- @@ -79764,10 +79764,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From 20b3ce415d3454864ca384403dfa5163c59325d5 Mon Sep 17 00:00:00 2001 +From 60f29b295a8975070fd9757eb589dea9b0cbfe32 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 046/170] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 046/175] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -79936,10 +79936,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From 01b906ee95e61c8034fc72ef030fe025a2ad28d3 Mon Sep 17 00:00:00 2001 +From b662f54dfdfc514eadf1f98c1e26dff0ee782dad Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 047/170] Add SMI NAND driver +Subject: [PATCH 047/175] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -80304,10 +80304,10 @@ index 0000000000000000000000000000000000000000..c4826ea1c2bae555ce780e61f1076ddd + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From 90377da33f735128ba80bdd860cfb6fda571b62e Mon Sep 17 00:00:00 2001 +From ce7ac50087029eeeac74dc9fb06bbc9df576e7ad Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 048/170] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 048/175] lirc: added support for RaspberryPi GPIO lirc_rpi: Use read_current_timer to determine transmitter delay. Thanks to jjmz and others See: https://github.com/raspberrypi/linux/issues/525 @@ -81167,10 +81167,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From 1c0d60a5515249794a2f45c3b0f23194ebd4514d Mon Sep 17 00:00:00 2001 +From a6f196e2abeda7e4bac3b388551498745b0a8e66 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 049/170] Add cpufreq driver +Subject: [PATCH 049/175] Add cpufreq driver Signed-off-by: popcornmix @@ -81434,10 +81434,10 @@ index 0000000000000000000000000000000000000000..99345969b0e4d651fd9033d67de2febb +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From af674de9eabcc7f9bc172cbf5758df645ec910f7 Mon Sep 17 00:00:00 2001 +From 137cced6c19a6da29616d13158fec5f6ed1004bd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 050/170] Add Chris Boot's i2c driver +Subject: [PATCH 050/175] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82102,10 +82102,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From e11941499856d0fd50a829444f6eff1efb3159f2 Mon Sep 17 00:00:00 2001 +From 2d1793e08965c22c7eb2143a9aef7f704ec49253 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 051/170] char: broadcom: Add vcio module +Subject: [PATCH 051/175] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82330,10 +82330,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From a21afea0845acd6aee637efab2d70a4ace7ef96a Mon Sep 17 00:00:00 2001 +From d4bcf1971811d1a22a19da779928193c5a8952b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 052/170] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 052/175] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82416,10 +82416,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From 3cbe193d452607baefe25d028fa2c16812dbeddd Mon Sep 17 00:00:00 2001 +From 856d97475f85ab1cd225b3a1b592b36ae2978d29 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 053/170] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 053/175] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -82946,10 +82946,10 @@ index 0000000000000000000000000000000000000000..84be2593ec1de8f97b0167ff06b3e05d + return $trailer; +} -From 7b227642738e57a259c097265f1173c90de5724e Mon Sep 17 00:00:00 2001 +From 43f9079930eb070443b2fcbdcd01b3c21f1ebc74 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 054/170] BCM2708: Add core Device Tree support +Subject: [PATCH 054/175] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -95414,10 +95414,10 @@ index 04b5633df1cfafa316f9086c4bf98a9ecf9d0939..d523d1e14220a369c4c766ca3a01208e # Bzip2 -From faeb85cd4c74ea7979faec5bb79f3e7e890b3011 Mon Sep 17 00:00:00 2001 +From fdb8cc80c11e9d346629e44caec70dff4eb67c4c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 055/170] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 055/175] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -95592,10 +95592,10 @@ index bf6db4fe895bcd67e04ee65e8f76ea104af6299f..8741dca6dba65e2d72fbdbc1702139c2 /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -From 12971953bb0dc404553b2e03aa6167acbda5e1ab Mon Sep 17 00:00:00 2001 +From ed31b34f4cbcb7d45433e748af7743f6e1169b1d Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 056/170] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 056/175] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -95863,10 +95863,10 @@ index 6cd9b198b7c64eb94821f2e3f2c5201e6c6d25eb..f36c92c2da7487437c33f7a4e2c6e09e __u32 dx; /* screen-relative */ __u32 dy; -From df081ba27924af2e4f9c50388714ed8c8e8f9257 Mon Sep 17 00:00:00 2001 +From df30e3f16d1c2403022fa35d2493cb93da13ad4f Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 057/170] Speed up console framebuffer imageblit function +Subject: [PATCH 057/175] 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 @@ -96075,10 +96075,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From 6dfc5158094b700b87b4a031d90e8b972e4811e1 Mon Sep 17 00:00:00 2001 +From 86a4de9722e7844d560ebb3ccb1e7f54949e19a6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 058/170] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 058/175] enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module) 1-wire: Add support for configuring pin for w1-gpio kernel module @@ -96328,10 +96328,10 @@ index 5b2972946dda5f9ad415f1eaeaab67743a5cc0f0..b3558b7c9efb2484b40e31312aee197b u8, w1_slave_found_callback); }; -From e9e54259f2ad57df1804e40e7bf851b980851268 Mon Sep 17 00:00:00 2001 +From 8a8e1e839bbd2489b485c9866bc2f5bf2675104a Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 059/170] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 059/175] 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 @@ -96676,10 +96676,10 @@ index 0000000000000000000000000000000000000000..9d7d05482355d168c5c0c42508cd9789 +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); -From 3a149945ac27fb35769af2b113250e933cbf4a7b Mon Sep 17 00:00:00 2001 +From 402b63060564a9a17c349315e2f2b93ad796c595 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 060/170] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 060/175] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -98259,10 +98259,10 @@ index 971bc298f63eeeed418131b7b7200ac91b0d73f1..78e9f6e8c6fdebdb754cb703095d1726 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From 0c4b8dc89c04ce110488c7a2d737ef0727e49946 Mon Sep 17 00:00:00 2001 +From b12af255829529204bdd7d4c4afc81e92a75354d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 061/170] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 061/175] 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 @@ -98297,10 +98297,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 2a4bb3a4d8ec25690ed3070ca694f7364631a771 Mon Sep 17 00:00:00 2001 +From 0872a65802000eeecfa57f9d8e904d414c767815 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 062/170] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 062/175] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -99165,10 +99165,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From 05f1e453d56d952fee3cfeb21a6f7ee5b70be0ba Mon Sep 17 00:00:00 2001 +From b9048bb7c324a59743376e2b483a8f56ff423efc Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 063/170] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 063/175] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -99343,10 +99343,10 @@ index 0000000000000000000000000000000000000000..ee9f133953544629282631e5ef3f73fe +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From a545d2049247840915323aa93a5e23f8fec1df33 Mon Sep 17 00:00:00 2001 +From 1dd167453218ac01ca691faaae32c3ec1f8ca8e9 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 064/170] ASoC: Add support for Rpi-DAC +Subject: [PATCH 064/175] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -99630,10 +99630,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 3fccdc244fe5288f9d9141e013ef2ba38f81c755 Mon Sep 17 00:00:00 2001 +From 684e45dbb848f1886f405d9c28bad453a158c591 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 065/170] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 065/175] ASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample rates. At 192kHz only 128xfs is supported. The existing driver selects 128xfs automatically for some lower samples rates. By using an @@ -99682,10 +99682,10 @@ index fc69b87443d80489382b97332de6d5ad12a58ec8..d8fdce81b297dcf02e144bdead0c6193 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From 3b7fa68c33e68ef189a470272e069908e6f82d9b Mon Sep 17 00:00:00 2001 +From 03e059c7033b3aeb8c700327e94b67d937dc3c45 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 066/170] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 066/175] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -100029,10 +100029,10 @@ index 0000000000000000000000000000000000000000..7620dd02de40b6d644ff038b445d375d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From dd2753be144f838bc22f1e4e2e564ee2a1c42710 Mon Sep 17 00:00:00 2001 +From c5b6ca615ec3586771cdf2b1519677a6c9d466e8 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 067/170] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 067/175] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -100367,10 +100367,10 @@ index 0000000000000000000000000000000000000000..1ee4097c846376666775272ed692ca33 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 0ce4c3ba7a4a8b4cc1751cc71a824c2d642ec49b Mon Sep 17 00:00:00 2001 +From ab2a0415e5470c03901bb137f201e45cfb097228 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 068/170] Added support for HiFiBerry DAC+ +Subject: [PATCH 068/175] 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. @@ -101005,10 +101005,10 @@ index 68feae262476492ae3a0b30855dbb09e96fa187e..f7b0977017ed5a6c02eafa0147d49d66 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 5080871752bb2ccc22a491fdb8f9ee5ed38d826c Mon Sep 17 00:00:00 2001 +From 9d7762cec49df044ae575106f2123f20bf4facb5 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 069/170] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 069/175] 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. @@ -101843,10 +101843,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From 29676fc8eb831915c9d184c09bd937a74cb47cb0 Mon Sep 17 00:00:00 2001 +From b7f6642b1a15e95cb0e9aa0485d7ee0b298fef48 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 070/170] Add driver for rpi-proto +Subject: [PATCH 070/175] 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 @@ -102061,10 +102061,10 @@ index 0000000000000000000000000000000000000000..fadbfade100228aaafabb0d3bdf35c01 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From 828fd1968ad8248d3cdbe220b2b243e224282bcf Mon Sep 17 00:00:00 2001 +From 5a5ab00ba1bce589797e41e0b19e4c702207117c Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 071/170] RaspiDAC3 support +Subject: [PATCH 071/175] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -102307,10 +102307,10 @@ index 0000000000000000000000000000000000000000..ad2b5b89bc8213dc2e277306ef50d6e3 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From 5053c35b987a2ec8e450de6025cf04f3a3611ae0 Mon Sep 17 00:00:00 2001 +From 16a94cbf6585e239366042bacdfd53c758c5f6af Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 072/170] Add Support for JustBoom Audio boards +Subject: [PATCH 072/175] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -102766,10 +102766,10 @@ index 0000000000000000000000000000000000000000..909cf8928f2f4313982316f9c5b8a709 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From 716afa56ea328c3bd269ac0c26138cdcbe29e952 Mon Sep 17 00:00:00 2001 +From 6fab6484abab973dd23ff41940169332f0a4416e Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 073/170] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 073/175] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -102951,10 +102951,10 @@ index 0000000000000000000000000000000000000000..f3d7e5db7bb912e1d7ca6f8e8d42df5f +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From d347b0c03c155be3bdf9d8851704b70e019f8c29 Mon Sep 17 00:00:00 2001 +From 6f55c465d91f101c7060d2e8e9a911989ec41d39 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 074/170] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 074/175] 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. @@ -103205,10 +103205,10 @@ index 0000000000000000000000000000000000000000..491906bbf446826e55dd843f28e4860f +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From 8dfa5e95178614c93dfeda9e762b1429be3473a1 Mon Sep 17 00:00:00 2001 +From dbaf9662f429f920aa4ae82c312dd0a5fc8d87d7 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 075/170] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 075/175] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -103508,10 +103508,10 @@ index 0000000000000000000000000000000000000000..33aa2be8a43a12a12cfb5d844dd9732c +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From a24abddeaf5c2e55ca985e2fff12e8a860db812e Mon Sep 17 00:00:00 2001 +From 39c005ff8e5426495935212070631a8b896fe425 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 076/170] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 076/175] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -103984,10 +103984,10 @@ index 0000000000000000000000000000000000000000..f200688bb4ae32b90a0ced555aed94b0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 0f96818a68128981826a91865ebbbb4874d795a4 Mon Sep 17 00:00:00 2001 +From 034fdda1b634bbef0e193d20188a5590f5e5e650 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 077/170] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 077/175] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -104160,10 +104160,10 @@ index 0000000000000000000000000000000000000000..65e03741d349a2dc5bd91f69855ea952 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From d54ef9a8b93e2bf7b5d2453af548e700fd979fa6 Mon Sep 17 00:00:00 2001 +From 7408fccec368e3d1a071da05e3d64b9f9adfce57 Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 078/170] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 078/175] 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, @@ -104370,10 +104370,10 @@ index 0000000000000000000000000000000000000000..eaf50fb6dbca1970ae1c6f8662088b0f +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From 9935fe403979110a47a593efca93100f70190448 Mon Sep 17 00:00:00 2001 +From e8da4c86df7697bd3eb6b3f65846658f390dcb98 Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 079/170] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 079/175] 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. @@ -105461,10 +105461,10 @@ index 0000000000000000000000000000000000000000..1800f5e4d414e2d83a9487a89a2800a3 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From 08f99dd4c14156ae1972e2770005432c2a37f919 Mon Sep 17 00:00:00 2001 +From 0d0e3c3ad1179d2ce18666448e2372fc1d470ec0 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 080/170] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 080/175] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -106167,10 +106167,10 @@ index 0000000000000000000000000000000000000000..203ab76c7045b081578e23bda1099dd1 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From 3e65d9c1fbddbc06f5f7009f2e7a4134ae313da8 Mon Sep 17 00:00:00 2001 +From 89f12c3ba16b58d777df75d550718538071d97ae Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 081/170] Support for Blokas Labs pisound board +Subject: [PATCH 081/175] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) @@ -107369,10 +107369,10 @@ index 0000000000000000000000000000000000000000..06ff1e53dc9d860946965b6303577762 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From 074f6def52495f67bc760086e5caca205835d650 Mon Sep 17 00:00:00 2001 +From 30c389cd96092e04acee798c1a125c799b02bad6 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 082/170] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 082/175] 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 @@ -108437,10 +108437,10 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From bef028c9ce11e6d97897611c408c4b615ce7c954 Mon Sep 17 00:00:00 2001 +From 596824a611f5235c381cddd3071c887f83be81fa Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 083/170] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 083/175] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -108635,10 +108635,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From 448b19f5f27c84de2d2242edaee1d9291fe6c0a2 Mon Sep 17 00:00:00 2001 +From 3db46dc8640ce33be746b32ca4a9efb728af94ff Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 084/170] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 084/175] 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. @@ -108852,10 +108852,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From 95131eea469c1ff6a667c97109d7f4323b172988 Mon Sep 17 00:00:00 2001 +From 60e0b139bd7a9c7430c3b4c63522b8c735ef36f4 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 085/170] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 085/175] Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset @@ -109264,10 +109264,10 @@ index 0000000000000000000000000000000000000000..5e79f4eff93a21ed3495c77a90f73525 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From 5a870635076e96e9d6121d28a1ef8018b0ca04e1 Mon Sep 17 00:00:00 2001 +From 4875f48c02acf0531ef5d6cb552a92d23eff4263 Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 086/170] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 086/175] Driver support for Google voiceHAT soundcard. --- sound/soc/bcm/Kconfig | 7 ++ @@ -109658,10 +109658,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From 3e850aa5ac91017403fbe58058eb0b4c4287d2f6 Mon Sep 17 00:00:00 2001 +From 1a2b2da4d3faca040e2538110ab09ca933a02b34 Mon Sep 17 00:00:00 2001 From: sandeepal Date: Fri, 2 Jun 2017 18:59:46 +0530 -Subject: [PATCH 087/170] Allo Digione Driver (#2048) +Subject: [PATCH 087/175] Allo Digione Driver (#2048) Driver for the Allo Digione soundcard @@ -109984,10 +109984,10 @@ index 0000000000000000000000000000000000000000..9387b055875fdf92a13dc4a9d2727f95 +MODULE_DESCRIPTION("ASoC Driver for Allo DigiOne"); +MODULE_LICENSE("GPL v2"); -From f172fee77413f6b6d2c2ce59d731ef2e22dd28c5 Mon Sep 17 00:00:00 2001 +From 76e968fad4a3628ead25098893fdecaf39072fe5 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 088/170] rpi_display: add backlight driver and overlay +Subject: [PATCH 088/175] 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 @@ -110156,10 +110156,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 3b0e68bf8a138df8e75c547480cb0caea3dd151a Mon Sep 17 00:00:00 2001 +From 53b4c68dadcd7407d4a9b69eb36568611cca828d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 089/170] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 089/175] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -110420,10 +110420,10 @@ index 0000000000000000000000000000000000000000..c3725546def9d4a6264fbb1f6b9814d0 +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); -From 33e34067ceecec620a8c47874e3f3958296af31a Mon Sep 17 00:00:00 2001 +From c2b50acd078943b651fa42daff671e3a8aeca5ff Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 090/170] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 090/175] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -110732,10 +110732,10 @@ index 0000000000000000000000000000000000000000..d68adafaee4ad406f45f4ff0d6b7c1ad +MODULE_DESCRIPTION("brcm-exp GPIO driver"); +MODULE_ALIAS("platform:brcmexp-gpio"); -From 48bb543897eed67664586bd998cad8102562981f Mon Sep 17 00:00:00 2001 +From f77f85550c1aaad2012efdfb24e4329f5ba41c1c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 091/170] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 091/175] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause @@ -110764,10 +110764,10 @@ index 111e6a95077978c2c30bfe2a2de4a0d095e8d76e..584471add0962c0e26eb814fc0ef43ee uap->old_cr = 0; uap->port.dev = dev; -From 50c47d31340701caf00c6792853bee0f8183cd52 Mon Sep 17 00:00:00 2001 +From f454045ae730931aa42e2c97df43d1e512586cf7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 092/170] amba_pl011: Round input clock up +Subject: [PATCH 092/175] 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 @@ -110853,10 +110853,10 @@ index 584471add0962c0e26eb814fc0ef43eea99b2d29..bfbc845d7be9ef804468d0a82da18d9b /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -From 971474f32096b01ac4b08c78a5e022517cde31fa Mon Sep 17 00:00:00 2001 +From f85a5a55cbbfc37f9ed3373887e64b6e1fbc779c Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 093/170] OF: DT-Overlay configfs interface +Subject: [PATCH 093/175] 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. @@ -111289,10 +111289,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From 760109d47a0be7a71b523514786a268fd4623c71 Mon Sep 17 00:00:00 2001 +From 074ee07a08a0e490c3cc213dc50b93549c6e513f Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 094/170] brcm: adds support for BCM43341 wifi +Subject: [PATCH 094/175] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -111424,10 +111424,10 @@ index b3fa8ae804650f7ea838ff59ca84dfb6ca24da90..c1e86df297edf2fa7f641e36ccbfc733 BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -From 6f707b361d3030bc24e0d4c86634ba1d25e4f65d Mon Sep 17 00:00:00 2001 +From f2d9cc4f425ada59b788898185a087603f7197ca Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 095/170] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 095/175] brcmfmac: Mute expected startup 'errors' The brcmfmac WiFi driver always complains about the '00' country code. Modify the driver to ignore '00' silently. @@ -111451,10 +111451,10 @@ index 2d3b5e2a3ef7cd6186487b48665b401249380d18..e417454f5d6ec136cda29e65af5449f2 req->alpha2[0], req->alpha2[1]); return; -From 105cc306f821c2b934c7f643caa901d7bbdd8cae Mon Sep 17 00:00:00 2001 +From 9209035daa9d48c13559b9d63c5706143e7bd687 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 096/170] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 096/175] 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. @@ -111477,10 +111477,10 @@ index c0e4e26dc30d7c3c6a771b7b86df88c8cf763646..7308287259eedcaf229f8a496a0e3826 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 1bc10f1f455c8cd8061439d93a960bdf92b0cc27 Mon Sep 17 00:00:00 2001 +From 4837e5b9abac8661b043460d764d4f4a300e3301 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 097/170] config: Add default configs +Subject: [PATCH 097/175] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1339 +++++++++++++++++++++++++++++++++++ @@ -114185,10 +114185,10 @@ index 0000000000000000000000000000000000000000..c1da808d40bc8e867b41d3566bd60a75 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From e4c7b35af39d491e22a3f09a684c1e4672d1724a Mon Sep 17 00:00:00 2001 +From 8a6f6d8110d6319b3a579d571d1cfdafac2b303a Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 098/170] Add arm64 configuration and device tree differences. +Subject: [PATCH 098/175] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -115602,10 +115602,10 @@ index 0000000000000000000000000000000000000000..e6b09fafa27eed2b762e3d53b55041f7 +CONFIG_LIBCRC32C=y +CONFIG_BCM2835_VCHIQ=n -From eeeaf7b0548ffa99c26062db53af760e9ef5811b Mon Sep 17 00:00:00 2001 +From 26adb7000e033bb34f717cecce125eac85ffdc42 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 099/170] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 099/175] ARM64: Make it work again on 4.9 (#1790) * Invoke the dtc compiler with the same options used in arm mode. * ARM64 now uses the bcm2835 platform just like ARM32. @@ -116016,10 +116016,10 @@ index e6b09fafa27eed2b762e3d53b55041f793683d27..c7e891d72969a388d9b135a36dbfc9c9 CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -From 345a25ba4cea6ccbaafd58c28aaf41a3f641a957 Mon Sep 17 00:00:00 2001 +From deb89098dcd643c130bdbbc0ec844e88f58f1dfe Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:10:07 -0800 -Subject: [PATCH 100/170] ARM64: Enable HDMI audio and vc04_services in +Subject: [PATCH 100/175] ARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig Signed-off-by: Michael Zoran @@ -116048,10 +116048,10 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..4b90f9b64abe9f089ba56b13d5a00de3 CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set -From f06734ab6461e9a9d355272e71f3abe3417be26a Mon Sep 17 00:00:00 2001 +From cf75bbd18192eb5bfe093eaa59ac16516b0cfe79 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:14:03 -0800 -Subject: [PATCH 101/170] ARM64: Run bcmrpi3_defconfig through savedefconfig. +Subject: [PATCH 101/175] ARM64: Run bcmrpi3_defconfig through savedefconfig. Signed-off-by: Michael Zoran --- @@ -116096,10 +116096,10 @@ index 4b90f9b64abe9f089ba56b13d5a00de33343bfb9..dac962ca1634662ce7d966f1ffb53b5b CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m -From f937025051a0ddfe15c90f3ca629267923f570a7 Mon Sep 17 00:00:00 2001 +From 2f5d41ff0f82ddeb0b3613227a26ead9bf36cc07 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 102/170] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 102/175] ARM64: Enable Kernel Address Space Randomization (#1792) Randomization allows the mapping between virtual addresses and physical @@ -116131,10 +116131,10 @@ index dac962ca1634662ce7d966f1ffb53b5bfa27c506..aae33b4b3c3e736ea7cd3ca242158ad6 CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From 3a3e8bec1e7d5a4d271e361dfc6cfec0981e7fbe Mon Sep 17 00:00:00 2001 +From 7b7a203234ec8d8d7d933bf15eafe319973f5c51 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 103/170] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 103/175] ARM64: Enable RTL8187/RTL8192CU wifi in build config These drivers build now, so they can be enabled back in the build configuration just like they are for @@ -116159,10 +116159,10 @@ index aae33b4b3c3e736ea7cd3ca242158ad6ba558aff..b7d762df19b85e369a32cd823dfd0621 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From d681c05d35134fa5a2da2d0cf0b0433f43ddf638 Mon Sep 17 00:00:00 2001 +From fb4336857c4214506d91ce006ab8359caa08a33d Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 104/170] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 104/175] 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 @@ -116505,10 +116505,10 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From e01bdcc18b4f15ef5d6dd4be697d6785c0d62f2b Mon Sep 17 00:00:00 2001 +From 18e7a66f1ff8094c55c7ab9c9cceecf90b29f3fd Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 105/170] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 105/175] 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 @@ -116582,10 +116582,10 @@ index 86b357ae027bf8ba1ac32cd150a8cf21e36597e2..05b17ca993f405c4c8e61a782ec58149 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From 119bc5c1bb88c4d4b6f60ff07b5056fe58ff78d8 Mon Sep 17 00:00:00 2001 +From 9cc9a518b2c6d67dd89a8b401e36d6cadf745ae1 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 106/170] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 106/175] ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran @@ -116606,10 +116606,10 @@ index b7d762df19b85e369a32cd823dfd062145bdefa7..4d85c231c5ea0244e1b05fb4a5e3c8fd CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From a9aa3d0f180c14804b1b0132d23e084b05e4115d Mon Sep 17 00:00:00 2001 +From d135ebd7803ea47894ad4d8d45353a27caccc319 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 107/170] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 107/175] ARM64: Force hardware emulation of deprecated instructions. --- @@ -116637,10 +116637,10 @@ index d06fbe4cd38d7423c900aff64b0e728f995478d3..877b7c90f9555203d5d55d739359a256 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -From 9cf301c4660506f2566d2dd7d1828e6040051824 Mon Sep 17 00:00:00 2001 +From 5d8c25e208f2d916fc97a168db6c5517eee1bbaa Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 108/170] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 108/175] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -116665,10 +116665,10 @@ index 7318165cfc90b5b4e36048fbafd9287a1cf3516f..f6f5df3f262b0baf1338bea188d78883 dtbs: prepare scripts -From 3f22472cd8386e9ffab6cf9cfcf2f771ed06288b Mon Sep 17 00:00:00 2001 +From fa99adbafcdb5e8a0191bd6f800071838415a265 Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Wed, 24 May 2017 10:52:50 +0200 -Subject: [PATCH 109/170] enable drivers for GPIO expander and vcio +Subject: [PATCH 109/175] enable drivers for GPIO expander and vcio --- arch/arm64/configs/bcmrpi3_defconfig | 3 +++ @@ -116696,10 +116696,10 @@ index 4d85c231c5ea0244e1b05fb4a5e3c8fd3e651ddf..9dcb58a519d041fadae99c81a7bda621 CONFIG_GPIO_ARIZONA=m CONFIG_GPIO_STMPE=y -From 9abfcfdec84342b63f256fe38b16abf172e1e827 Mon Sep 17 00:00:00 2001 +From 71fc554e1820401705664718ef6882c996fb97d1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 110/170] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 110/175] bcm2835-aux: Add aux interrupt controller The AUX block has a shared interrupt line with a register indicating which devices have active IRQs. Expose this as a nested interrupt @@ -116863,10 +116863,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From dc113eafac3423aed3123ce4cda2a9bc680b18a8 Mon Sep 17 00:00:00 2001 +From 574f40ae0aa1364300180592835b9903df35e171 Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 111/170] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 111/175] This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator. It includes the CXD2880 driver and the CXD2880 SPI adapter. The current CXD2880 driver version is 1.4.1 - 1.0.1 released on April 13, 2017. @@ -132998,10 +132998,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From 5e85b78e43654785f7e051b44726514334d94c37 Mon Sep 17 00:00:00 2001 +From 347ba06758e032d3eaa99121b5d7ce0b2034696c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 112/170] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 112/175] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -133033,10 +133033,10 @@ index 3f070bd38a91511c986e3fb114b15bd4ac32634c..f261b64d1657c02290904d841e1f087c /** * rpi_firmware_property_list - Submit firmware property list -From 4d29c8daac8b1d7e9832817c20a27e2401705ab4 Mon Sep 17 00:00:00 2001 +From 3e1d25beacaa95a78d3f1231fb621d34ebe16271 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 113/170] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 113/175] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt @@ -133807,10 +133807,10 @@ index 0000000000000000000000000000000000000000..78c34305935501248b1ca548a1ee0175 + }, +}; -From 8886455f59e19351a3fbdd77ce4baddce7ef763e Mon Sep 17 00:00:00 2001 +From 7cdf17ed7da977b06399ecb2d1c663d190d260bc Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 114/170] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 114/175] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. @@ -133834,10 +133834,10 @@ index 78c34305935501248b1ca548a1ee01753b8fa099..d9a5551d01a2155e3df1bbbd78a1ee2b if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From 18df196979c82ca49761d94e28a312d6184be936 Mon Sep 17 00:00:00 2001 +From 262a9a5a6941acd353bbd1066399eb8b456c9ed1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 115/170] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 115/175] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was @@ -133907,10 +133907,10 @@ index d9a5551d01a2155e3df1bbbd78a1ee2b961be946..e372666af0119b1876bad5167e6d0ff8 RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From 91e8f0f4e12ef978e9686fca0fda055303cabc5b Mon Sep 17 00:00:00 2001 +From b32cebad4ea18c91fb7f1411b0d6d9ff0a749ffb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 116/170] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 116/175] 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 @@ -133952,10 +133952,10 @@ index e372666af0119b1876bad5167e6d0ff8945d1b80..4d7b7f218cbbc9e7abcaa37743978060 static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From 5414b85c24abffdd172cde68bb26d4829978a0f4 Mon Sep 17 00:00:00 2001 +From 44a6e03021581f2584d60dabf58208d0f3fbf25b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 117/170] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH 117/175] vc4_fkms: Apply firmware overscan offset to hardware cursor --- @@ -134012,10 +134012,10 @@ index 4d7b7f218cbbc9e7abcaa37743978060b73fbdd1..d170775ccc985637ff018804f510a500 return 0; -From 8b867aed19b4179e6a5b54f42ebe245fdef1d32f Mon Sep 17 00:00:00 2001 +From 0a6a09817f80b9a26c29ed557fb6719cbcacdc8e Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 11:34:26 +0200 -Subject: [PATCH 118/170] ASoC: bcm2835: Add support for TDM modes +Subject: [PATCH 118/175] ASoC: bcm2835: Add support for TDM modes bcm2835 supports arbitrary positioning of channel data within a frame and thus is capable of supporting TDM modes. Since @@ -134417,10 +134417,10 @@ index 56df7d8a43d0aac055a91b0d24aca8e1b4e308e4..dcacf7f83c9371df539a788ea33fedcf dev->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, dev); -From 123aecfc83e5e7e674bd80af9f53f1943b51f460 Mon Sep 17 00:00:00 2001 +From c9fa449349e88035c32b088bcf8c1a69ee5a4542 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 15:30:50 +0200 -Subject: [PATCH 119/170] ASoC: bcm2835: Support left/right justified and DSP +Subject: [PATCH 119/175] ASoC: bcm2835: Support left/right justified and DSP modes DSP modes and left/right justified modes can be supported @@ -134666,10 +134666,10 @@ index dcacf7f83c9371df539a788ea33fedcf97d64690..3a706fda4f39e42efbe12f19d87af9b1 } -From 1b63a944daf7f474fca481564607b032063fba3a Mon Sep 17 00:00:00 2001 +From 332098d2c12b4c7327f8682b0a02d82582aa17f1 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:19:54 +0200 -Subject: [PATCH 120/170] ASoC: bcm2835: Support additional samplerates up to +Subject: [PATCH 120/175] ASoC: bcm2835: Support additional samplerates up to 384kHz Sample rates are only restricted by the capabilities of the @@ -134712,10 +134712,10 @@ index 3a706fda4f39e42efbe12f19d87af9b100a348a5..43f5715a0d5dda851731ecf7ff27e76c | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE -From d27bc22c44197555665a630058eb6fa177a534cf Mon Sep 17 00:00:00 2001 +From 49088d551c17088c00626cbf40824fedb2dafe2e Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:24:57 +0200 -Subject: [PATCH 121/170] ASoC: bcm2835: Enforce full symmetry +Subject: [PATCH 121/175] ASoC: bcm2835: Enforce full symmetry bcm2835's configuration registers can't be changed when a stream is running, which means asymmetric configurations aren't supported. @@ -134751,10 +134751,10 @@ index 43f5715a0d5dda851731ecf7ff27e76c48fb6e57..2e449d7173fcecbcd647f90a26bd58b6 static bool bcm2835_i2s_volatile_reg(struct device *dev, unsigned int reg) -From 3b51ef999f3792e3eef2cf080ae0f0919c6b1503 Mon Sep 17 00:00:00 2001 +From 16d08e4bd003b098b8e7ed3523d9702ad64635b8 Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 5 Jun 2017 16:40:38 +0100 -Subject: [PATCH 122/170] dma-bcm2708: Fix module compilation of +Subject: [PATCH 122/175] dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708 bcm2708-dmaengine.c defines functions like bcm_dma_start which are @@ -134797,10 +134797,10 @@ index c5bfff2765be4606077e6c8af73040ec13ee8974..6ca874d332a8bc666b1c9576ac51f479 #endif /* _PLAT_BCM2708_DMA_H */ -From 5cb3f75783b03641f0d6af9c504d937063203298 Mon Sep 17 00:00:00 2001 +From 2af517689bb046b56ac287414ff841ea8b8aa034 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 123/170] cache: export clean and invalidate +Subject: [PATCH 123/175] cache: export clean and invalidate --- arch/arm/mm/cache-v6.S | 4 ++-- @@ -134852,10 +134852,10 @@ index de78109d002db1a5e7c94a6c1bc8bb94161d07b8..4c850aa3af2b2439fced4e130441329a sub r3, r2, #1 bic r0, r0, r3 -From 43370b5921501e96aae1b9e2ac78e4858355f17d Mon Sep 17 00:00:00 2001 +From 5df12ff93c211a5c10642ad4259101277e2b951f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 124/170] amba_pl011: Insert mb() for correct FIFO handling +Subject: [PATCH 124/175] 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 @@ -134882,10 +134882,10 @@ index bfbc845d7be9ef804468d0a82da18d9b67857216..424bdc500864a86e5d431763ba416b52 return true; -From 013cf542e12d4e75901e27315350353221cd7e4e Mon Sep 17 00:00:00 2001 +From c20e67d1a53eabb6310d9bb5d3fa17f0a6dfc618 Mon Sep 17 00:00:00 2001 From: Chung-Hsien Hsu Date: Sun, 14 May 2017 20:11:05 -0500 -Subject: [PATCH 125/170] brcmfmac: add CLM download support +Subject: [PATCH 125/175] brcmfmac: add CLM download support Future firmwares will be provided with minimal built-in CLM - the NULL region (#n/0) becomes the initial country. It cannot be changed @@ -135313,10 +135313,10 @@ index 11ffaa01599eb4b343b7f675dc275fc8572d127e..b27170c12482de0ca4115b4bc9484c21 static int brcmf_usb_bus_setup(struct brcmf_usbdev_info *devinfo) -From d29d35a1d16818e525010cbecc58953539c01b30 Mon Sep 17 00:00:00 2001 +From 41c5e7c7b86ce53ffe7d55a3b7375ed72cf03d35 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Oct 2017 13:23:32 +0100 -Subject: [PATCH 126/170] brcmfmac: request_firmware_direct is quieter +Subject: [PATCH 126/175] brcmfmac: request_firmware_direct is quieter Since we don't have any CLM-capable firmware yet, silence the warning of its absence by using request_firmware_direct, which should also @@ -135341,10 +135341,10 @@ index f0309e039592ba6e388084a13f052c03f99cf1ef..b5889360da96096775db6425337a7215 if (err == -ENOENT) return 0; -From e71032ac9df3fe7ff4de4db1810eb317ff6195de Mon Sep 17 00:00:00 2001 +From bbfe28334b1f87c0147de5357013829e80ff528d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 127/170] amba_pl011: Add cts-event-workaround DT property +Subject: [PATCH 127/175] 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 @@ -135393,10 +135393,10 @@ index 424bdc500864a86e5d431763ba416b5298c777dc..b224306633f62c398ef904734a903d4e uap->vendor = vendor; uap->fifosize = vendor->get_fifosize(dev); -From 5d410ab4a382c3fc62f027784a5bad3ef80120f6 Mon Sep 17 00:00:00 2001 +From 78d2e9b8f6555dce754883489b8388f547d1c5ea Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Oct 2017 13:48:04 +0100 -Subject: [PATCH 128/170] amba-pl011: Report AUTOCTS capability to framework +Subject: [PATCH 128/175] amba-pl011: Report AUTOCTS capability to framework The PL011 has full hardware RTS/CTS support which is enabled by the driver when flow control is requested. However, it doesn't @@ -135439,10 +135439,10 @@ index b224306633f62c398ef904734a903d4e75df65c3..3b743cf8a94c279ff8d0b747f98062d0 if (uap->vendor->oversampling) { -From 42111edb9e3743bd00375d22a334fc0d98368deb Mon Sep 17 00:00:00 2001 +From 00828bc03a7d34fa17f7b2bce51d033927b5daa5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Oct 2017 09:20:56 +0100 -Subject: [PATCH 129/170] scripts: Update mkknlimg, just in case +Subject: [PATCH 129/175] scripts: Update mkknlimg, just in case With the removal of the vc_cma driver, mkknlimg lost an indication that the user had built a downstream kernel. Update the script, adding a few @@ -135485,10 +135485,10 @@ index 84be2593ec1de8f97b0167ff06b3e05d231c4ba0..d72e15224232d5164374e93be48949bf my $res = try_extract($kernel_file, $tmpfile1); -From 91ce4ce2aa1eca0a0481cfcb89e9d284315c61b2 Mon Sep 17 00:00:00 2001 +From 58a67efc17b88d116b930febc5c9567d7498164a Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 14 Nov 2017 15:13:15 +0000 -Subject: [PATCH 130/170] AXI performance monitor driver (#2222) +Subject: [PATCH 130/175] AXI performance monitor driver (#2222) Uses the debugfs I/F to provide access to the AXI bus performance monitors. @@ -136174,10 +136174,10 @@ index 0000000000000000000000000000000000000000..bafe03b6c000060e78404d65a0aa96d8 +MODULE_LICENSE("GPL"); + -From 6a54a1887d80f4766af292ad39ba4e47744de9bb Mon Sep 17 00:00:00 2001 +From 20f02066ed613ea130913fe33925952bc59e9dd6 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Fri, 21 Jul 2017 09:55:12 +0100 -Subject: [PATCH 131/170] Sets the BCDC priority to constant 0 +Subject: [PATCH 131/175] Sets the BCDC priority to constant 0 This is to workaround for a possible issue in the wireless chip firmware where some packets with @@ -136203,10 +136203,10 @@ index 9f2d0b0cf6e5c452ad85a3caef58cf16a8cdad46..b009f3083490c2bc2733424f08f81b9f h->data_offset = offset; BCDC_SET_IF_IDX(h, ifidx); -From 972e2883d0717ade05218e5de06341faae8161e7 Mon Sep 17 00:00:00 2001 +From 36e2f978f46aad02b073f623689fff8fd0d145be Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2016 13:46:13 -0700 -Subject: [PATCH 132/170] drm/panel: Add support for the Raspberry Pi 7" +Subject: [PATCH 132/175] drm/panel: Add support for the Raspberry Pi 7" Touchscreen. This driver communicates with the Atmel microcontroller for sequencing @@ -136787,10 +136787,10 @@ index 0000000000000000000000000000000000000000..1a536fe4d040f5fafe324baee110a622 +MODULE_DESCRIPTION("Raspberry Pi 7-inch touchscreen driver"); +MODULE_LICENSE("GPL v2"); -From 02c86d2ead9ad104774b67e9b47cb729ab7d813b Mon Sep 17 00:00:00 2001 +From ff80f0caeb6e761dda305c3c7c6c345f445a6266 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Apr 2017 17:52:56 -0700 -Subject: [PATCH 133/170] panel-raspberrypi-touchscreen: Fix NULL deref if +Subject: [PATCH 133/175] panel-raspberrypi-touchscreen: Fix NULL deref if probe order goes wrong. If the i2c driver hadn't pobed before the panel driver probes, then @@ -136817,10 +136817,10 @@ index 1a536fe4d040f5fafe324baee110a6225dd0be08..5d6bfd81b07a11a0cb407f4301d22931 } -From f45dd00a7c2953dd707bb28350fe85249a4d27cb Mon Sep 17 00:00:00 2001 +From e9c9c22965537cabc09b8684b5db1dee8c3ecf2d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 6 Mar 2017 12:17:16 -0800 -Subject: [PATCH 134/170] panel-raspberrypi-touchscreen: Round up clk rate to +Subject: [PATCH 134/175] panel-raspberrypi-touchscreen: Round up clk rate to fix DSI panel. Commit 488f9bc8e3def93e0baef53cee2026c2cb0d8956 slightly increased the @@ -136855,10 +136855,10 @@ index 5d6bfd81b07a11a0cb407f4301d22931705fb8b1..b57b7ad9aa4c5048186e98553af59ec9 .hsync_start = HACT + HFP, .hsync_end = HACT + HFP + HSW, -From 3eec4df460d0b134e825ad84631cc67e7f970aac Mon Sep 17 00:00:00 2001 +From a36f6a9d8c0573dc968d7678e412cac612ac4dd1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 12:29:45 -0700 -Subject: [PATCH 135/170] BCM270X: Add the DSI panel to the defconfig. +Subject: [PATCH 135/175] BCM270X: Add the DSI panel to the defconfig. Signed-off-by: Eric Anholt --- @@ -136879,10 +136879,10 @@ index 9dcb58a519d041fadae99c81a7bda621b2a49f12..003209bf2362c2a136ab987b2f20065e CONFIG_DRM_VC4=m CONFIG_FB=y -From 6ac43a8efa7599b4c335063d904e6b6fca00a351 Mon Sep 17 00:00:00 2001 +From 2b98630a52a502e3e950849f11ca39ce6394fc82 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 6 Jul 2017 11:45:48 -0700 -Subject: [PATCH 136/170] drm/vc4: Add support for setting DPMS in firmwarekms. +Subject: [PATCH 136/175] 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 @@ -136985,10 +136985,10 @@ index d170775ccc985637ff018804f510a5003933c9ec..766f700417f7194d6b01fa1bc18dad40 if (!vc4_encoder) return -ENOMEM; -From ff627cbb3b914ca3e589c33139415b1d2c5e578b Mon Sep 17 00:00:00 2001 +From 0bcc863a8836e1bad2ef94cee3ce243cee02577a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 14 Jul 2017 17:33:08 -0700 -Subject: [PATCH 137/170] drm/vc4: Fix pitch setup for T-format scanout. +Subject: [PATCH 137/175] drm/vc4: Fix pitch setup for T-format scanout. The documentation said to use src_w here, and I didn't consider that we actually needed to be using pitch somewhere in our setup. Fixes @@ -137036,10 +137036,10 @@ index 2968b3ebb895714cb8c8faeaf40dff1c996f2259..4ad0b9fcae99f74fb89d09dd52d9ffe5 DRM_DEBUG_KMS("Unsupported FB tiling flag 0x%16llx", (long long)fb->modifier); -From 234ed3a91b57eb86e3bee15fdb3b27a1fbee73ff Mon Sep 17 00:00:00 2001 +From 827a68ac66d4f474c30ce0ef7461bd3ba3292c60 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 24 Aug 2017 16:16:16 +0100 -Subject: [PATCH 138/170] brcmfmac: Disable ARP offloading when promiscuous +Subject: [PATCH 138/175] 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 @@ -137176,10 +137176,10 @@ index a4dd313140f37dc1fbb6955e1148f48bccf22f44..b9a96cbc70f0865ee8c9cff3c6164144 bool is_p2pdev, const char *name, u8 *mac_addr); void brcmf_remove_interface(struct brcmf_if *ifp, bool rtnl_locked); -From b7f03749e8a0cc3399988bc3076a480e20a53ce5 Mon Sep 17 00:00:00 2001 +From 19cbd9db97fc746aeacb0fe98dafd6a946704649 Mon Sep 17 00:00:00 2001 From: Kevin Cernekee Date: Sat, 16 Sep 2017 21:08:22 -0700 -Subject: [PATCH 139/170] brcmfmac: Avoid possible out-of-bounds read +Subject: [PATCH 139/175] brcmfmac: Avoid possible out-of-bounds read In brcmf_p2p_notify_rx_mgmt_p2p_probereq(), chanspec is assigned before the length of rxframe is validated. This could lead to uninitialized @@ -137217,10 +137217,10 @@ index 2ce675ab40ef867cf6a86ca5257a6db7ef76e80a..1c450c0727cb577f7dae25a1ce82b2db return 0; } -From 102a7a5b9b290aade5d2de33bd550eec442b0120 Mon Sep 17 00:00:00 2001 +From 04a190b80c47ad610ef62de66079259548418334 Mon Sep 17 00:00:00 2001 From: Kevin Cernekee Date: Sat, 16 Sep 2017 21:08:23 -0700 -Subject: [PATCH 140/170] brcmfmac: Delete redundant length check +Subject: [PATCH 140/175] brcmfmac: Delete redundant length check brcmf_fweh_process_event() sets event->datalen to the endian-swapped value of event_packet->msg.datalen, which is the @@ -137251,10 +137251,10 @@ index ef72baf6dd969c2478a2138ea57b9f691fdf12d8..e7eaa57d11d98f61280bd99013e649aa /* special handling of interface event */ if (event->code == BRCMF_E_IF) { -From 5232a56f447accccfff9cf29aff57b265edcf4bd Mon Sep 17 00:00:00 2001 +From 7a4d0e3bf082eb9f8042425c2c722379222a61ec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Nov 2017 11:03:22 +0000 -Subject: [PATCH 141/170] mcp2515: Use DT-supplied interrupt flags +Subject: [PATCH 141/175] mcp2515: Use DT-supplied interrupt flags The MCP2515 datasheet clearly describes a level-triggered interrupt pin. Therefore the receiving interrupt controller must also be @@ -137290,10 +137290,10 @@ index f3f05fea8e1f8e0ad3a1ebd7461d2019835e1d47..6c2d3aba25918f5536b2d67292334e74 flags | IRQF_ONESHOT, DEVICE_NAME, priv); if (ret) { -From abd4df37614d2340ce3f92da1ad4c502b4b98d5c Mon Sep 17 00:00:00 2001 +From e5b244cc3f5db5238fcd59673e60c871930a7d62 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 16 Nov 2017 15:56:17 +0000 -Subject: [PATCH 142/170] Tidy up of the ft5406 driver to use DT (#2189) +Subject: [PATCH 142/175] 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 @@ -137677,10 +137677,10 @@ index 9d7d05482355d168c5c0c42508cd978979ee5f14..40bbde9ce1bc4c51be50f47fc359c74f } -From f235b0bfbe35a969cf2aa3efb6f598f42028121f Mon Sep 17 00:00:00 2001 +From 967f0e45cc48a89b45eb19e719c512bef8964cfd Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 143/170] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 143/175] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -137702,10 +137702,10 @@ index ff782445dfb75d1a8af9eed775b8e8f7b275fee3..786efcddb5e56a06baf67cb91ddbbd8e .can_sleep = false, }; -From a8eeed84c35d593e357070afcb3360bc6d80f171 Mon Sep 17 00:00:00 2001 +From 90f42cd656e3fc0cd13d8b99cf0a18033d87d6ef Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 24 Nov 2017 13:49:26 +0000 -Subject: [PATCH 144/170] fiq_fsm: rewind DMA pointer for OUT transactions that +Subject: [PATCH 144/175] fiq_fsm: rewind DMA pointer for OUT transactions that fail (#2288) See: https://github.com/raspberrypi/linux/issues/2140 @@ -137749,10 +137749,10 @@ index e47d5b6de3ada73896ff9a81abd223d345e0de4f..ec804c7cd06d2db897ce6f72fce29733 if (st->nr_errors >= 3) { st->fsm = FIQ_NP_SPLIT_HS_ABORTED; -From dcb74c365e6baf759446eb53724034dc79e23b02 Mon Sep 17 00:00:00 2001 +From 41289b93c20500d54cfc2d7d1210721a1efbd17e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 21 Jul 2017 11:30:18 +0100 -Subject: [PATCH 145/170] lan78xx: Read MAC address from DT if present +Subject: [PATCH 145/175] lan78xx: Read MAC address from DT if present There is a standard mechanism for locating and using a MAC address from the Device Tree. Use this facility in the lan78xx driver to support @@ -137799,10 +137799,10 @@ index 0161f77641fac8eafc1284a5457a7ccb273efc39..01e72b267de8f2a82fbe1ab4557dcaab (addr[2] << 16) | (addr[3] << 24); addr_hi = addr[4] | (addr[5] << 8); -From df3a15c7c7412333ec65e24c5c106e8fd8faff26 Mon Sep 17 00:00:00 2001 +From d2e95c632662738c67b0e9a07a04b7c2c8afbdd6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Nov 2017 12:02:37 +0000 -Subject: [PATCH 146/170] lan78xx: Correctly indicate invalid OTP +Subject: [PATCH 146/175] lan78xx: Correctly indicate invalid OTP lan78xx_read_otp tries to return -EINVAL in the event of invalid OTP content, but the value gets overwritten before it is returned and the @@ -137829,10 +137829,10 @@ index 01e72b267de8f2a82fbe1ab4557dcaab67532da9..126fe75e75b19c1076a7dd4415a90403 return ret; -From 46bf32dd74ed532a83e013b4f918610fd38e39d0 Mon Sep 17 00:00:00 2001 +From 918f70c990a79143746894712ec0b471c370fbf2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 15:04:29 +0100 -Subject: [PATCH 147/170] lan78xx: Enable LEDs and auto-negotiation +Subject: [PATCH 147/175] 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 @@ -137880,10 +137880,10 @@ index 126fe75e75b19c1076a7dd4415a904035ba95402..26e04c732df49d09939d470c61a9ab46 ret = lan78xx_read_reg(dev, MAC_TX, &buf); -From ed2e27a710d60b8d8338975b33012b1d4704e8b7 Mon Sep 17 00:00:00 2001 +From fe8440224cee2a9729ede0ed864985d2d37c1804 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 27 Nov 2017 17:14:54 +0000 -Subject: [PATCH 148/170] cgroup: Disable cgroup "memory" by default +Subject: [PATCH 148/175] 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: @@ -137898,10 +137898,10 @@ Signed-off-by: Phil Elwell 1 file changed, 30 insertions(+) diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c -index 44857278eb8aa6a2bbf27b7eb12137ef42628170..8f86a3d88d84ccf4b055e6d36835fffaaf345ecc 100644 +index 030e4286f14c715ecb87fc7d2cc93d451bc2e860..c9b7a0cd1e3026b5e8d91fa5d252ddd536b06b7c 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -5139,6 +5139,8 @@ int __init cgroup_init_early(void) +@@ -5137,6 +5137,8 @@ int __init cgroup_init_early(void) } static u16 cgroup_disable_mask __initdata; @@ -137910,7 +137910,7 @@ index 44857278eb8aa6a2bbf27b7eb12137ef42628170..8f86a3d88d84ccf4b055e6d36835fffa /** * cgroup_init - cgroup initialization -@@ -5177,6 +5179,12 @@ int __init cgroup_init(void) +@@ -5175,6 +5177,12 @@ int __init cgroup_init(void) mutex_unlock(&cgroup_mutex); @@ -137923,7 +137923,7 @@ index 44857278eb8aa6a2bbf27b7eb12137ef42628170..8f86a3d88d84ccf4b055e6d36835fffa for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = -@@ -5557,6 +5565,28 @@ static int __init cgroup_disable(char *str) +@@ -5555,6 +5563,28 @@ static int __init cgroup_disable(char *str) } __setup("cgroup_disable=", cgroup_disable); @@ -137953,10 +137953,10 @@ index 44857278eb8aa6a2bbf27b7eb12137ef42628170..8f86a3d88d84ccf4b055e6d36835fffa * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From f71143364f91756cdfed4772a08e9faedb9faa14 Mon Sep 17 00:00:00 2001 +From 8bd0462ab0a6a401a4232778c733b79fa0cb47be Mon Sep 17 00:00:00 2001 From: Allen Wild Date: Tue, 26 Sep 2017 19:37:44 +0200 -Subject: [PATCH 149/170] thermal: enable broadcom menu for arm64 bcm2835 +Subject: [PATCH 149/175] thermal: enable broadcom menu for arm64 bcm2835 Moving the bcm2835 thermal driver to the broadcom directory prevented it from getting enabled for arm64 builds, since the broadcom directory is only @@ -137987,10 +137987,10 @@ index 07002df4f83acdde2efdf3f51299976ef25d2e1e..e3f0d1fd1720355bc601e766356ac528 endmenu -From d48f5116e9646d5933582586925f4beb72b8dcf3 Mon Sep 17 00:00:00 2001 +From 1c79fc48b0630e54602b2d5560c2263d956dfd25 Mon Sep 17 00:00:00 2001 From: Gottfried Haider Date: Tue, 26 Sep 2017 11:59:51 +0000 -Subject: [PATCH 150/170] pwm: Set class for exported channels in sysfs +Subject: [PATCH 150/175] pwm: Set class for exported channels in sysfs [ Upstream commit 7e5d1fd75c3dde9fc10c4472b9368089d1b81d00 ] @@ -138026,10 +138026,10 @@ index a813239300c3d46bba1320caac77ec7adc8363a8..83f2b0b15712bf5745a0dc3a231c5ed0 export->child.parent = parent; export->child.devt = MKDEV(0, 0); -From e5bee53b3b579760407bd26481856396aa717fae Mon Sep 17 00:00:00 2001 +From 2a1eec79538868b62eaf9e607556573915ec2c26 Mon Sep 17 00:00:00 2001 From: Giedrius Trainavicius Date: Tue, 25 Oct 2016 01:47:20 +0300 -Subject: [PATCH 151/170] Updates for Pisound module code: +Subject: [PATCH 151/175] Updates for Pisound module code: * Merged 'Fix a warning in DEBUG builds' (1c8b82b). * Updating some strings and copyright information. @@ -138454,10 +138454,10 @@ index 06ff1e53dc9d860946965b6303577762f958fae2..09739d51b70b877e24e4f74f6aaadebd +MODULE_DESCRIPTION("ASoC Driver for Pisound, https://blokas.io/pisound"); MODULE_LICENSE("GPL v2"); -From cf638bddea4a35acaf43a66092f81ab180c315cb Mon Sep 17 00:00:00 2001 +From e3f9f63d1c45361937edd68dd45cc80cb1e77602 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 9 Dec 2017 21:45:12 +0000 -Subject: [PATCH 152/170] overlays: Add applepi-dac overlay +Subject: [PATCH 152/175] overlays: Add applepi-dac overlay See: https://github.com/raspberrypi/linux/issues/2302 @@ -138562,10 +138562,10 @@ index 0000000000000000000000000000000000000000..fc02b295470efce41d61be241ba55022 + dtc -@ -H epapr -O dtb -o ApplePi-DAC.dtbo -W no-unit_address_vs_reg ApplePi-DAC.dts +*/ -From e2e2f5e5a4999c9232f7661338c66e3a60f8172e Mon Sep 17 00:00:00 2001 +From b4051dde9302052f762ba740960fbe12d1ea3b25 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 12 Dec 2017 12:12:46 +0000 -Subject: [PATCH 153/170] staging: vchiq_arm: Make debugfs failure non-fatal +Subject: [PATCH 153/175] staging: vchiq_arm: Make debugfs failure non-fatal It can be useful to be able to open multiple vchiq instances in a single process. This currently fails due to a debugfs collision, @@ -138594,10 +138594,10 @@ index 314ffac50bb8303971ca71a5f702f07fb8ed6639..e4bad872b7e547de268648fae690524f sema_init(&instance->insert_event, 0); sema_init(&instance->remove_event, 0); -From 529fdb861022e88d1e05e9da31fd7179f8d9fd7d Mon Sep 17 00:00:00 2001 +From 23e72998849647cecbbbde564a4672ce91176fb2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 23 Dec 2017 22:10:37 +0000 -Subject: [PATCH 154/170] config: Add PINCTRL_MCP23S08 +Subject: [PATCH 154/175] config: Add PINCTRL_MCP23S08 As of Linux 4.12, the mcp23s08 driver moved from drivers/gpio to drivers/pinctrl. At the same time, the Kconfig symbols changed @@ -138638,10 +138638,10 @@ index c1da808d40bc8e867b41d3566bd60a758d052bdb..4cfd4e6a339009536d6ebaaff36e4007 CONFIG_GPIO_PCF857X=m CONFIG_GPIO_ARIZONA=m -From 6672e122f8a072fd3d11b5da938809f78b672fff Mon Sep 17 00:00:00 2001 +From 98d11abfc4eaa2a6572f57f6b1b3e49657895456 Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Thu, 21 Dec 2017 09:29:39 +0100 -Subject: [PATCH 155/170] Add Raspberry Pi firmware driver to the dependencies +Subject: [PATCH 155/175] Add Raspberry Pi firmware driver to the dependencies of backlight driver Otherwise the backlight driver fails to build if the firmware @@ -138665,10 +138665,10 @@ index e345a32945b7ec0712cebd0ac8e62c9e8955e24f..9244f2f7b642c6fe5725f0b3b841cece If you have the Raspberry Pi DSI touchscreen display, say Y to enable the mailbox-controlled backlight driver. -From c9391e9529d5232754aa7d0bfd81e21fa5daab17 Mon Sep 17 00:00:00 2001 +From afc041f17a226af560d5b4edf46cab8938b8a663 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Sun, 24 Dec 2017 21:57:05 +0000 -Subject: [PATCH 156/170] overlays: Add media center HAT overlay (#2313) +Subject: [PATCH 156/175] overlays: Add media center HAT overlay (#2313) --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -138863,10 +138863,10 @@ index 0000000000000000000000000000000000000000..a42b8e2a846c6e614ca807f798bef238 + }; +}; -From ef658e3e065f34c513a7b40ff4cb1bdf68dc3141 Mon Sep 17 00:00:00 2001 +From 2fe406b123491456b31d4bf731be407cc31e32bf Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 28 Dec 2017 17:31:52 +0000 -Subject: [PATCH 157/170] add backlight control to rpi-display overlay +Subject: [PATCH 157/175] add backlight control to rpi-display overlay --- arch/arm/boot/dts/overlays/README | 1 + @@ -138910,10 +138910,10 @@ index d7e72eef594e08b309ffbaa04f43c68909c08f36..533b5c140b5447a0bcf426fee0a8b321 }; }; -From 2847f8a1802f898b03e785b8c64347827292009a Mon Sep 17 00:00:00 2001 +From 456959b59a5fe3454a41b877945d7d379c7a922a Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 28 Dec 2017 17:34:54 +0000 -Subject: [PATCH 158/170] add backlight control to media-center overlay +Subject: [PATCH 158/175] add backlight control to media-center overlay --- arch/arm/boot/dts/overlays/README | 1 + @@ -138960,10 +138960,10 @@ index a42b8e2a846c6e614ca807f798bef238ad002535..ce4db35228e9f68e3f3f40f0f9c02f89 gpio_out_pin = <&lirc_pins>,"brcm,pins:0"; gpio_in_pin = <&lirc_pins>,"brcm,pins:4"; -From 7ee0c33ae7445163b24711efc115e29666b9ef4f Mon Sep 17 00:00:00 2001 +From c212fe7c3903d30a8e42b956fbbe6506f3de370f Mon Sep 17 00:00:00 2001 From: penfold42 Date: Tue, 2 Jan 2018 00:15:19 +1100 -Subject: [PATCH 159/170] Add overlay for mcp3202 12 bit ADC +Subject: [PATCH 159/175] Add overlay for mcp3202 12 bit ADC --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -139216,10 +139216,10 @@ index 0000000000000000000000000000000000000000..9902c4614ea1f9e5725b3c4a2e62429a + }; +}; -From 03fbd0276a597125064dfb97c7403c8905751353 Mon Sep 17 00:00:00 2001 +From c287a762fe9b4001a09da6df07d696ebd85574be Mon Sep 17 00:00:00 2001 From: Stefan Schake Date: Sat, 2 Dec 2017 18:40:39 +0100 -Subject: [PATCH 160/170] drm/vc4: Release fence after signalling +Subject: [PATCH 160/175] drm/vc4: Release fence after signalling [ Upstream commit babc8110057cb9ca542c3c1666cbda4e8ccf9250 ] @@ -139266,10 +139266,10 @@ index 7d7af3a93d941bb9552afc1140c408c8da86be37..fc1fc43a924dcc0c44a7a13858bfb53c } vc4_submit_next_render_job(dev); -From 86decbd3583b4c2f50c33d0048442bcd86377d61 Mon Sep 17 00:00:00 2001 +From b7a56c84d45e63b999d7af0820a32fc078804194 Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 9 Jan 2018 15:16:35 +0000 -Subject: [PATCH 161/170] dwc_otg: don't unconditionally force host mode in +Subject: [PATCH 161/175] dwc_otg: don't unconditionally force host mode in dwc_otg_cil_init() Add the ability to disable force_host_mode for those that want to use @@ -139330,10 +139330,10 @@ index af123d01f3ef9f99450c78efdf766ca35e15cbc9..e945900c503cb383d754381b055955b1 * * The following parameters may be specified when starting the module. -From 0415281881af0a8060bf27052227e24a684c591f Mon Sep 17 00:00:00 2001 +From fc65eafae43a8d92e82b2e2222c32124e8982e36 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Thu, 4 Jan 2018 23:58:06 +0900 -Subject: [PATCH 162/170] vcsm: Define cache operation constants in user header +Subject: [PATCH 162/175] vcsm: Define cache operation constants in user header Without this change, users have to use raw values (1, 2, 3) to specify cache operation. @@ -139377,10 +139377,10 @@ index b75729d762f25aace133f7a008633b4094ae2de2..ddbeebc71ada82e88a1668fbdfd9821a struct vmcs_sm_ioctl_alloc { /* user -> kernel */ -From 95204aed6a8cce2809a6201bf2cb0c4e0ff14087 Mon Sep 17 00:00:00 2001 +From 8783d03b98b0fc46b5373fc7230dab6deccafc79 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Fri, 5 Jan 2018 00:01:30 +0900 -Subject: [PATCH 163/170] vcsm: Support for finding user/vc handle in memory +Subject: [PATCH 163/175] vcsm: Support for finding user/vc handle in memory pool vmcs_sm_{usr,vc}_handle_from_pid_and_address() were failing to find @@ -139422,10 +139422,10 @@ index 53843054d7617716761b74d8a3d91551b91ffb75..abd770566ed30102b95a01cec6a3825b pr_debug("[%s]: global map %p (pid %u, addr %lx) -> usr-hdl %x (vc-hdl %x)\n", -From cfae4aa22f43470223c883a083892279b641994c Mon Sep 17 00:00:00 2001 +From 994237465f1628ca5eebddbb672e700f79359158 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Fri, 5 Jan 2018 00:44:00 +0900 -Subject: [PATCH 164/170] vcsm: Unify cache manipulating functions +Subject: [PATCH 164/175] vcsm: Unify cache manipulating functions Signed-off-by: Sugizaki Yukimasa --- @@ -139811,10 +139811,10 @@ index abd770566ed30102b95a01cec6a3825b23afcd9d..b6cdc1934ad2092892898559f6f0d481 kfree(block); } -From 6f66b3e2ff447f2dea65f0c84dfe9cdd6a58bcbf Mon Sep 17 00:00:00 2001 +From f3fc73305ecadea9f11eba6458748f3e7a8a5037 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Mon, 8 Jan 2018 21:07:17 +0900 -Subject: [PATCH 165/170] vcsm: Fix obscure conditions +Subject: [PATCH 165/175] vcsm: Fix obscure conditions Signed-off-by: Sugizaki Yukimasa --- @@ -139846,10 +139846,10 @@ index b6cdc1934ad2092892898559f6f0d481a7744fa9..95963ffba51afdbdfec26a8c75eec0f5 return -EINVAL; } -From d7912692ca45e6e5db1cb07d8c6bc6e200aed2d6 Mon Sep 17 00:00:00 2001 +From 8fe4d3e8f053c9c7f1a5605bf4c78f5e02cd720e Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Mon, 8 Jan 2018 21:11:23 +0900 -Subject: [PATCH 166/170] vcsm: Fix memory leaking on clean_invalid2 ioctl +Subject: [PATCH 166/175] vcsm: Fix memory leaking on clean_invalid2 ioctl handler Signed-off-by: Sugizaki Yukimasa @@ -139871,10 +139871,10 @@ index 95963ffba51afdbdfec26a8c75eec0f5e0c2f4e1..380437f41cc64902c9576e53d0beaf76 kfree(block); } -From 051eb5e7bbe0b598e9930bb28c87d03ee7b7df34 Mon Sep 17 00:00:00 2001 +From eb5e1b9c8bd6947edc89251bd71e8493f175aac1 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Mon, 8 Jan 2018 21:15:13 +0900 -Subject: [PATCH 167/170] vcsm: Describe the use of cache operation constants +Subject: [PATCH 167/175] vcsm: Describe the use of cache operation constants Signed-off-by: Sugizaki Yukimasa --- @@ -139913,10 +139913,10 @@ index ddbeebc71ada82e88a1668fbdfd9821a39d7cd22..e881fa8ee8e1474cdaa0759b742a5f67 /* user -> kernel */ struct { -From 62d14b9134363e989eeb949ec9bdf2d275b60ac4 Mon Sep 17 00:00:00 2001 +From fb33f460d73032245d82df8758d48ade6451da3d Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Tue, 9 Jan 2018 12:33:24 +0900 -Subject: [PATCH 168/170] vcsm: Fix obscure conditions again +Subject: [PATCH 168/175] vcsm: Fix obscure conditions again Signed-off-by: Sugizaki Yukimasa --- @@ -139939,10 +139939,10 @@ index 380437f41cc64902c9576e53d0beaf76ccdc1551..0d14c511da2ab8f542d51ad87746be85 pr_debug("[%s]: global map %p (pid %u, addr %lx) -> usr-hdl %x (vc-hdl %x)\n", -From ec5ec17857ad065ccfc114f935c6c88aeb87f12e Mon Sep 17 00:00:00 2001 +From a274eecd24dc04e12918c977f8b3a7b066925b49 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Wed, 10 Jan 2018 04:32:20 +0900 -Subject: [PATCH 169/170] vcsm: Add no-op cache operation constant +Subject: [PATCH 169/175] vcsm: Add no-op cache operation constant Signed-off-by: Sugizaki Yukimasa --- @@ -140005,10 +140005,10 @@ index e881fa8ee8e1474cdaa0759b742a5f67c122c9eb..a4492b921b48e2c7fdd2745f2d2bad48 #define VCSM_CACHE_OP_CLEAN 0x02 #define VCSM_CACHE_OP_FLUSH 0x03 -From f2f46e949a4b01420e2f7925fc3a527b4c311db7 Mon Sep 17 00:00:00 2001 +From c3fc6d99ac2adccc9c886ebf15118d3e11da9da0 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Wed, 10 Jan 2018 06:25:51 +0900 -Subject: [PATCH 170/170] vcsm: Revert to do page-table-walk-based cache +Subject: [PATCH 170/175] vcsm: Revert to do page-table-walk-based cache manipulating on some ioctl calls On FLUSH, INVALID, CLEAN_INVALID ioctl calls, cache operations based on @@ -140242,3 +140242,383 @@ index 122ea149790b549aa7550ddb9cff64dc2195fc61..1bc37ee882255c0d05beac58bb3b9e31 if (ret) break; } + +From 3d32be3d432566ec14507267e574ec9dc3478fdc Mon Sep 17 00:00:00 2001 +From: Aaron Shaw +Date: Thu, 4 Jan 2018 15:02:16 +0000 +Subject: [PATCH 171/175] add gpio-key overlay (#2329) + +An overlay that allows a Linux key to be bound to a GPIO. +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 21 +++++++++++ + arch/arm/boot/dts/overlays/gpio-key-overlay.dts | 48 +++++++++++++++++++++++++ + 3 files changed, 70 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/gpio-key-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 7aa703e938c0bb1d5659052f6899d0a6d3be5a4c..05661168a7bf9acc9cd02881f3ee51644b3c27da 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -31,6 +31,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + googlevoicehat-soundcard.dtbo \ + gpio-ir.dtbo \ + gpio-ir-tx.dtbo \ ++ gpio-key.dtbo \ + gpio-poweroff.dtbo \ + gpio-shutdown.dtbo \ + hifiberry-amp.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index b8a2f3fdf73299346482c9e7d2a1133a73fe93ba..2ad2397348e8fdfc43b8bf9772258e2ff25fefd8 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -515,6 +515,27 @@ Params: gpio_pin Output GPIO (default 18) + Default is "0" (active-high). + + ++Name: gpio-key ++Info: This is a generic overlay for activating GPIO keypresses using ++ the gpio-keys library and this dtoverlay. Multiple keys can be ++ set up using multiple calls to the overlay for configuring ++ additional buttons or joysticks. You can see available keycodes ++ at https://github.com/torvalds/linux/blob/v4.12/include/uapi/ ++ linux/input-event-codes.h#L64 ++Load: dtoverlay=gpio-key,= ++Params: gpio GPIO pin to trigger on (default 3) ++ active_low When this is 1 (active low), a falling ++ edge generates a key down event and a ++ rising edge generates a key up event. ++ When this is 0 (active high), this is ++ reversed. The default is 1 (active low) ++ gpio_pull Desired pull-up/down state (off, down, up) ++ Default is "up". Note that the default pin ++ (GPIO3) has an external pullup ++ label Set a label for the key ++ keycode Set the key code for the button ++ ++ + Name: gpio-poweroff + Info: Drives a GPIO high or low on poweroff (including halt). Enabling this + overlay will prevent the ability to boot by driving GPIO3 low. +diff --git a/arch/arm/boot/dts/overlays/gpio-key-overlay.dts b/arch/arm/boot/dts/overlays/gpio-key-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..333d016d6f02981f69acedbf683171b4261ed803 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/gpio-key-overlay.dts +@@ -0,0 +1,48 @@ ++// Definitions for gpio-key module ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ // Configure the gpio pin controller ++ target = <&gpio>; ++ __overlay__ { ++ pin_state: button_pins@0 { ++ brcm,pins = <3>; // gpio number ++ brcm,function = <0>; // 0 = input, 1 = output ++ brcm,pull = <2>; // 0 = none, 1 = pull down, 2 = pull up ++ }; ++ }; ++ }; ++ fragment@1 { ++ target-path = "/"; ++ __overlay__ { ++ button: button@0 { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pin_state>; ++ status = "okay"; ++ ++ key: key { ++ linux,code = <116>; ++ gpios = <&gpio 3 1>; ++ label = "KEY_POWER"; ++ }; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ gpio = <&key>,"gpios:4", ++ <&button>,"reg:0", ++ <&pin_state>,"brcm,pins:0", ++ <&pin_state>,"reg:0"; ++ label = <&key>,"label"; ++ keycode = <&key>,"linux,code:0"; ++ gpio_pull = <&pin_state>,"brcm,pull:0"; ++ active_low = <&key>,"gpios:8"; ++ }; ++ ++}; + +From 2a1e59afcf73f96f8c8d439f626141516ebc7530 Mon Sep 17 00:00:00 2001 +From: Aaron Shaw +Date: Fri, 5 Jan 2018 15:08:37 +0000 +Subject: [PATCH 172/175] add additional overrides to rotary-encoder overlay + (#2334) + +--- + arch/arm/boot/dts/overlays/README | 23 ++++++++++++++++++++++ + .../boot/dts/overlays/rotary-encoder-overlay.dts | 18 ++++++++++++----- + 2 files changed, 36 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 2ad2397348e8fdfc43b8bf9772258e2ff25fefd8..e90c32066b0e6da981b182d4a14f0cddee5f4af2 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1331,6 +1331,29 @@ Params: rotary0_pin_a GPIO connected to rotary encoder channel A + (default 4). + rotary0_pin_b GPIO connected to rotary encoder channel B + (default 17). ++ relative_axis register a relative axis rather than an ++ absolute one. Relative axis will only ++ generate +1/-1 events on the input device, ++ hence no steps need to be passed. ++ linux_axis the input subsystem axis to map to this ++ rotary encoder. Defaults to 0 (ABS_X / REL_X) ++ rollover Automatic rollover when the rotary value ++ becomes greater than the specified steps or ++ smaller than 0. For absolute axis only. ++ steps-per-period Number of steps (stable states) per period. ++ The values have the following meaning: ++ 1: Full-period mode (default) ++ 2: Half-period mode ++ 4: Quarter-period mode ++ steps Number of steps in a full turnaround of the ++ encoder. Only relevant for absolute axis. ++ Defaults to 24 which is a typical value for ++ such devices. ++ wakeup Boolean, rotary encoder can wake up the ++ system. ++ encoding String, the method used to encode steps. ++ Supported are "gray" (the default and more ++ common) and "binary". + + + Name: rpi-backlight +diff --git a/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts b/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts +index c0c6bccff60cc15d9a9bf59d2c7cba41eb9c1cdc..f88f8a39d9a2f2afbf80edf2d9b328410feebaca 100644 +--- a/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts ++++ b/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts +@@ -28,16 +28,24 @@ + gpios = <&gpio 4 0>, <&gpio 17 0>; + linux,axis = <0>; /* REL_X */ + rotary-encoder,encoding = "gray"; +- rotary-encoder,relative-axis; ++ rotary-encoder,steps = <24>; /* 24 default */ ++ rotary-encoder,steps-per-period = <1>; /* corresponds to full period mode. See README */ + }; + }; + + }; + + __overrides__ { +- rotary0_pin_a = <&rotary0>,"gpios:4", +- <&rotary0_pins>,"brcm,pins:0"; +- rotary0_pin_b = <&rotary0>,"gpios:16", +- <&rotary0_pins>,"brcm,pins:4"; ++ rotary0_pin_a = <&rotary0>,"gpios:4", ++ <&rotary0_pins>,"brcm,pins:0"; ++ rotary0_pin_b = <&rotary0>,"gpios:16", ++ <&rotary0_pins>,"brcm,pins:4"; ++ relative_axis = <&rotary0>,"rotary-encoder,relative-axis?"; ++ linux_axis = <&rotary0>,"linux,axis:0"; ++ rollover = <&rotary0>,"rotary-encoder,rollover?"; ++ steps-per-period = <&rotary0>,"rotary-encoder,steps-per-period:0"; ++ steps = <&rotary0>,"rotary-encoder,steps:0"; ++ wakeup = <&rotary0>,"wakeup-source?"; ++ encoding = <&rotary0>,"rotary-encoder,encoding"; + }; + }; + +From 5722b01a152b6f3cedef3b6f8d77d959d6d80c5f Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 12 Jan 2018 09:15:01 +0000 +Subject: [PATCH 173/175] overlays: Add uart0 overlay to change pin usage + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 13 ++++++++++- + arch/arm/boot/dts/overlays/uart0-overlay.dts | 32 ++++++++++++++++++++++++++++ + 3 files changed, 45 insertions(+), 1 deletion(-) + create mode 100755 arch/arm/boot/dts/overlays/uart0-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 05661168a7bf9acc9cd02881f3ee51644b3c27da..36db27e205cc3ff33cb49bb6357af9060be8eb17 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -117,6 +117,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + spi2-2cs.dtbo \ + spi2-3cs.dtbo \ + tinylcd35.dtbo \ ++ uart0.dtbo \ + uart1.dtbo \ + vc4-fkms-v3d.dtbo \ + vc4-kms-v3d.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index e90c32066b0e6da981b182d4a14f0cddee5f4af2..f0a49892c57523a899c770b1e776e35b245b3ab2 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1671,8 +1671,19 @@ Params: speed Display SPI bus speed + dtoverlay=tinylcd35,touch,touchgpio=3 + + ++Name: uart0 ++Info: Change the pin usage of uart0 ++Load: dtoverlay=uart0,= ++Params: txd0_pin GPIO pin for TXD0 (14, 32 or 36 - default 14) ++ ++ rxd0_pin GPIO pin for RXD0 (15, 33 or 37 - default 15) ++ ++ pin_func Alternative pin function - 4(Alt0) for 14&15, ++ 7(Alt3) for 32&33, 6(Alt2) for 36&37 ++ ++ + Name: uart1 +-Info: Enable uart1 in place of uart0 ++Info: Change the pin usage of uart1 + Load: dtoverlay=uart1,= + Params: txd1_pin GPIO pin for TXD1 (14, 32 or 40 - default 14) + +diff --git a/arch/arm/boot/dts/overlays/uart0-overlay.dts b/arch/arm/boot/dts/overlays/uart0-overlay.dts +new file mode 100755 +index 0000000000000000000000000000000000000000..20b2a609c511b017d1231e08c901d165a901d940 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/uart0-overlay.dts +@@ -0,0 +1,32 @@ ++/dts-v1/; ++/plugin/; ++ ++/{ ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&uart0>; ++ __overlay__ { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_pins>; ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&gpio>; ++ __overlay__ { ++ uart0_pins: uart0_pins { ++ brcm,pins = <14 15>; ++ brcm,function = <4>; /* alt0 */ ++ brcm,pull = <0 2>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ txd0_pin = <&uart0_pins>,"brcm,pins:0"; ++ rxd0_pin = <&uart0_pins>,"brcm,pins:4"; ++ pin_func = <&uart0_pins>,"brcm,function:0"; ++ }; ++}; + +From 1a26624f96adffb7efe5403fe87995f4f323b1bd Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Wed, 17 Jan 2018 13:54:41 +0000 +Subject: [PATCH 174/175] Revert "softirq: Let ksoftirqd do its job" + +This reverts commit 4cd13c21b207e80ddb1144c576500098f2d5f882. +--- + kernel/softirq.c | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) + +diff --git a/kernel/softirq.c b/kernel/softirq.c +index 4e09821f9d9e8b5815037bd469110e2618abb7f6..58bb6f6359f4ea3fa46008060a1c9cbd12c89e25 100644 +--- a/kernel/softirq.c ++++ b/kernel/softirq.c +@@ -77,17 +77,6 @@ static void wakeup_softirqd(void) + wake_up_process(tsk); + } + +-/* +- * If ksoftirqd is scheduled, we do not want to process pending softirqs +- * right now. Let ksoftirqd handle this at its own rate, to get fairness. +- */ +-static bool ksoftirqd_running(void) +-{ +- struct task_struct *tsk = __this_cpu_read(ksoftirqd); +- +- return tsk && (tsk->state == TASK_RUNNING); +-} +- + /* + * preempt_count and SOFTIRQ_OFFSET usage: + * - preempt_count is changed by SOFTIRQ_OFFSET on entering or leaving +@@ -324,7 +313,7 @@ asmlinkage __visible void do_softirq(void) + + pending = local_softirq_pending(); + +- if (pending && !ksoftirqd_running()) ++ if (pending) + do_softirq_own_stack(); + + local_irq_restore(flags); +@@ -351,9 +340,6 @@ void irq_enter(void) + + static inline void invoke_softirq(void) + { +- if (ksoftirqd_running()) +- return; +- + if (!force_irqthreads) { + #ifdef CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK + /* + +From 73c278e89be28e95b5f4ba032051db7742da32c5 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 16 Jan 2018 12:59:17 +0000 +Subject: [PATCH 175/175] overlays: Fix resetgpio and ledgpio for hy28a/b + +Offsets for overlay parameters are specified in bytes, not in access +units. + +See: https://github.com/raspberrypi/linux/issues/2344 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/hy28a-overlay.dts | 4 ++-- + arch/arm/boot/dts/overlays/hy28b-overlay.dts | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/hy28a-overlay.dts b/arch/arm/boot/dts/overlays/hy28a-overlay.dts +index ac0f3c28ea855a620dc6a3385d9d15009f26358d..d7625a6372f512b27976011f4af42337f243b6bb 100644 +--- a/arch/arm/boot/dts/overlays/hy28a-overlay.dts ++++ b/arch/arm/boot/dts/overlays/hy28a-overlay.dts +@@ -86,8 +86,8 @@ + debug = <&hy28a>,"debug:0"; + xohms = <&hy28a_ts>,"ti,x-plate-ohms;0"; + resetgpio = <&hy28a>,"reset-gpios:4", +- <&hy28a_pins>, "brcm,pins:1"; ++ <&hy28a_pins>, "brcm,pins:4"; + ledgpio = <&hy28a>,"led-gpios:4", +- <&hy28a_pins>, "brcm,pins:2"; ++ <&hy28a_pins>, "brcm,pins:8"; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/hy28b-overlay.dts b/arch/arm/boot/dts/overlays/hy28b-overlay.dts +index 8018aebde8e557f45ffd63eb86f6c7a1048fe3cb..70c1118064b64be1811ed2f1bb04efd6b34f0a10 100644 +--- a/arch/arm/boot/dts/overlays/hy28b-overlay.dts ++++ b/arch/arm/boot/dts/overlays/hy28b-overlay.dts +@@ -141,8 +141,8 @@ + debug = <&hy28b>,"debug:0"; + xohms = <&hy28b_ts>,"ti,x-plate-ohms;0"; + resetgpio = <&hy28b>,"reset-gpios:4", +- <&hy28b_pins>, "brcm,pins:1"; ++ <&hy28b_pins>, "brcm,pins:4"; + ledgpio = <&hy28b>,"led-gpios:4", +- <&hy28b_pins>, "brcm,pins:2"; ++ <&hy28b_pins>, "brcm,pins:8"; + }; + }; From 1fff4cec9c1effa312cb7c25f7fc461c777fb168 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 17 Jan 2018 16:50:32 +0000 Subject: [PATCH 17/21] config: update options for linux-4.14.14 (enable CONFIG_RETPOLINE=y) --- projects/Generic/linux/linux.x86_64.conf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/projects/Generic/linux/linux.x86_64.conf b/projects/Generic/linux/linux.x86_64.conf index 5daf32cf86..c0db7ebb5e 100644 --- a/projects/Generic/linux/linux.x86_64.conf +++ b/projects/Generic/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 4.14.12 Kernel Configuration +# Linux/x86_64 4.14.14 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -434,6 +434,7 @@ CONFIG_X86_FAST_FEATURE_TESTS=y # CONFIG_X86_X2APIC is not set CONFIG_X86_MPPARSE=y # CONFIG_GOLDFISH is not set +CONFIG_RETPOLINE=y # CONFIG_INTEL_RDT is not set # CONFIG_X86_EXTENDED_PLATFORM is not set CONFIG_X86_INTEL_LPSS=y @@ -1311,6 +1312,7 @@ CONFIG_WANT_DEV_COREDUMP=y # CONFIG_SYS_HYPERVISOR is not set # CONFIG_GENERIC_CPU_DEVICES is not set CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_CPU_VULNERABILITIES=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_DMA_SHARED_BUFFER=y From 87e0d7d69d0f1c4f7d7b2c64c4ca637ba6064d0d Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 22 Jan 2018 22:17:36 +0000 Subject: [PATCH 18/21] Revert "intel-ucode: update to intel-ucode-20180108" This reverts commit 5961764bea5864ca0a193733dc12f832539669bb. --- .../linux-firmware/intel-ucode/package.mk | 6 +- .../sources/intel-microcode2ucode.c | 154 ++++++++++++++++++ 2 files changed, 157 insertions(+), 3 deletions(-) create mode 100644 packages/linux-firmware/intel-ucode/sources/intel-microcode2ucode.c diff --git a/packages/linux-firmware/intel-ucode/package.mk b/packages/linux-firmware/intel-ucode/package.mk index 2513b178be..78e128dfa6 100644 --- a/packages/linux-firmware/intel-ucode/package.mk +++ b/packages/linux-firmware/intel-ucode/package.mk @@ -17,12 +17,12 @@ ################################################################################ PKG_NAME="intel-ucode" -PKG_VERSION="20180108" -PKG_SHA256="063f1aa3a546cb49323a5e0b516894e4b040007107b8c8ff017aca8a86204130" +PKG_VERSION="20171117" +PKG_SHA256="93bd1da9fa58ece0016702e657f708b7e496e56da637a3fe9a6d21f1d6f524dc" PKG_ARCH="x86_64" PKG_LICENSE="other" PKG_SITE="https://downloadcenter.intel.com/search?keyword=linux+microcode" -PKG_URL="https://downloadmirror.intel.com/27431/eng/microcode-${PKG_VERSION}.tgz" +PKG_URL="https://downloadmirror.intel.com/27337/eng/microcode-${PKG_VERSION}.tgz" PKG_DEPENDS_HOST="toolchain" PKG_DEPENDS_TARGET="toolchain intel-ucode:host" PKG_SECTION="linux-firmware" diff --git a/packages/linux-firmware/intel-ucode/sources/intel-microcode2ucode.c b/packages/linux-firmware/intel-ucode/sources/intel-microcode2ucode.c new file mode 100644 index 0000000000..c1660fae38 --- /dev/null +++ b/packages/linux-firmware/intel-ucode/sources/intel-microcode2ucode.c @@ -0,0 +1,154 @@ +/* + * Convert Intel microcode.dat into a single binary microcode.bin file + * + * Based on code by Kay Sievers + * Changed to create a single file by Thomas Bächler + */ + + +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct microcode_header_intel { + unsigned int hdrver; + unsigned int rev; + unsigned int date; + unsigned int sig; + unsigned int cksum; + unsigned int ldrver; + unsigned int pf; + unsigned int datasize; + unsigned int totalsize; + unsigned int reserved[3]; +}; + +union mcbuf { + struct microcode_header_intel hdr; + unsigned int i[0]; + char c[0]; +}; + +int main(int argc, char *argv[]) +{ + const char *filename = "/lib/firmware/microcode.dat"; + FILE *f; + char line[LINE_MAX]; + char buf[4000000]; + union mcbuf *mc; + size_t bufsize, count, start; + int rc = EXIT_SUCCESS; + + if (argv[1] != NULL) + filename = argv[1]; + + count = 0; + mc = (union mcbuf *) buf; + f = fopen(filename, "re"); + if (f == NULL) { + printf("open %s: %m\n", filename); + rc = EXIT_FAILURE; + goto out; + } + + while (fgets(line, sizeof(line), f) != NULL) { + if (sscanf(line, "%x, %x, %x, %x", + &mc->i[count], + &mc->i[count + 1], + &mc->i[count + 2], + &mc->i[count + 3]) != 4) + continue; + count += 4; + } + fclose(f); + + bufsize = count * sizeof(int); + printf("%s: %lu(%luk) bytes, %zu integers\n", + filename, + bufsize, + bufsize / 1024, + count); + + if (bufsize < sizeof(struct microcode_header_intel)) + goto out; + + f = fopen("microcode.bin", "we"); + if (f == NULL) { + printf("open microcode.bin: %m\n"); + rc = EXIT_FAILURE; + goto out; + } + + start = 0; + for (;;) { + size_t size; + unsigned int family, model, stepping; + unsigned int year, month, day; + + mc = (union mcbuf *) &buf[start]; + + if (mc->hdr.totalsize) + size = mc->hdr.totalsize; + else + size = 2000 + sizeof(struct microcode_header_intel); + + if (mc->hdr.ldrver != 1 || mc->hdr.hdrver != 1) { + printf("unknown version/format:\n"); + rc = EXIT_FAILURE; + break; + } + + /* + * 0- 3 stepping + * 4- 7 model + * 8-11 family + * 12-13 type + * 16-19 extended model + * 20-27 extended family + */ + family = (mc->hdr.sig >> 8) & 0xf; + if (family == 0xf) + family += (mc->hdr.sig >> 20) & 0xff; + model = (mc->hdr.sig >> 4) & 0x0f; + if (family == 0x06) + model += ((mc->hdr.sig >> 16) & 0x0f) << 4; + stepping = mc->hdr.sig & 0x0f; + + year = mc->hdr.date & 0xffff; + month = mc->hdr.date >> 24; + day = (mc->hdr.date >> 16) & 0xff; + + printf("\n"); + printf("signature: 0x%02x\n", mc->hdr.sig); + printf("flags: 0x%02x\n", mc->hdr.pf); + printf("revision: 0x%02x\n", mc->hdr.rev); + printf("date: %04x-%02x-%02x\n", year, month, day); + printf("size: %zu\n", size); + + if (fwrite(mc, size, 1, f) != 1) { + printf("write microcode.bin: %m\n"); + rc = EXIT_FAILURE; + goto out; + } + + start += size; + if (start >= bufsize) + break; + } + fclose(f); + printf("\n"); +out: + return rc; +} From 559feac92120ed6b727e2c669dd7a92fa9c989fc Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 25 Jan 2018 19:00:49 +0000 Subject: [PATCH 19/21] linux: update to linux-4.14.15 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 294762bcdd..54d86ac419 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -47,8 +47,8 @@ case "$LINUX" in PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET aml-dtbtools:host" ;; *) - PKG_VERSION="4.14.14" - PKG_SHA256="8b96362eb55ae152555980e7193fe2585b487176fb936cc69b8947d7dd32044a" + PKG_VERSION="4.14.15" + PKG_SHA256="ffc393a0c66f80375eacd3fb177b92e5c9daa07de0dcf947e925e049352e6142" PKG_URL="https://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_PATCH_DIRS="default" ;; From 57c6b64f099d10d4a7802ad2a619c463f0b13e01 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 25 Jan 2018 19:03:58 +0000 Subject: [PATCH 20/21] RPi: update linux support patch for linux 4.14.15 --- .../patches/linux/linux-01-RPi_support.patch | 3344 +++++++++++++++-- 1 file changed, 2994 insertions(+), 350 deletions(-) diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 1b6d55a8ae..5422b8a160 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ -From 99e77433bc79aa3129b3e2e8aaab2fa8c14db834 Mon Sep 17 00:00:00 2001 +From d9d890a9458fdeeabcb02d232934069e3ad35487 Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 001/175] arm: partially revert +Subject: [PATCH 001/201] arm: partially revert 702b94bff3c50542a6e4ab9a4f4cef093262fe65 * Re-expose some dmi APIs for use in VCSM @@ -106,10 +106,10 @@ index 054b491ff7649ca067ff821770aec80a4da42102..70e8b7d3443467ae9595924f1a9d043b EXPORT_SYMBOL(cpu_cache); #endif -From a82fbd9f771bfa0eb2992a4dcef1daf79f7ba44f Mon Sep 17 00:00:00 2001 +From cec6171e90f1c71191086277abd50033794eba37 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 002/175] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/201] 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. @@ -156,10 +156,10 @@ index 309b88acd3d0b6ca1528dde7b27a23926f9be952..25e37195ceb00cfc0ced7638e8b571a1 usbnet_skb_return(dev, ax_skb); } -From a56da5ed4dc92c3ac042bd1fec83a27e41e0f29f Mon Sep 17 00:00:00 2001 +From d8bf9e4d39f94900628fc3f3a8aec339bb3eca95 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 003/175] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 003/201] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -202,10 +202,10 @@ index 25e37195ceb00cfc0ced7638e8b571a1b0b8e6f1..09c7d4a07299e70b1cdc9df2c2c4cb39 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From 039aebc023e51aacf2244d7514b67043f8f32784 Mon Sep 17 00:00:00 2001 +From 5f0e62912300acf4b2556537cf27d3defadad59c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 004/175] Allow mac address to be set in smsc95xx +Subject: [PATCH 004/201] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -301,10 +301,10 @@ index 09c7d4a07299e70b1cdc9df2c2c4cb39d2207c37..4d9704d0b184df9bd7ddbe6769e40a75 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From 631269a1f9df2f4c045676429b285de0a8f6b0f2 Mon Sep 17 00:00:00 2001 +From abdd56722683d3086033efbb9648fd6843c6151a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 005/175] Protect __release_resource against resources without +Subject: [PATCH 005/201] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -332,10 +332,10 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From 67f129aa9c86fddd2bbb618234519291da276650 Mon Sep 17 00:00:00 2001 +From 230d8059390dd3268c00ea36b0ceed0fc2abc084 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 006/175] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/201] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -362,10 +362,10 @@ index dc8c1e3eafe794a3af83dd987a6d6362d14dd5ee..e8204d9af58f1b893505c06902a83390 #endif } else if (stat) { -From 57050febd0e4fc724ee4ad2557bcea46fac0f85c Mon Sep 17 00:00:00 2001 +From 69bc65e0bda33413d94e83615091686d55195077 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 007/175] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 007/201] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -389,10 +389,10 @@ index e8204d9af58f1b893505c06902a83390c2ea8509..6e3fab9587b782e026c01fa6b6e40338 static void -From f822085f0bb7b67cd48dd1b4285ea869bc5e1228 Mon Sep 17 00:00:00 2001 +From 60974c9110c3b85e69dc50fd9833e58eee719781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 008/175] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 008/201] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -521,10 +521,10 @@ index d2da8a1e6b1b71381e382d034e7a94e865a6c3da..c4903360eabc2bef04f8e745782cea26 } -From 11efae6d64f72b6a2730289803c28e0e0cb7ab0a Mon Sep 17 00:00:00 2001 +From bd439dae74abfa099cbfecfeac07596746687108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 009/175] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 009/201] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -623,10 +623,10 @@ index c4903360eabc2bef04f8e745782cea268fb22897..13356d3b7bcd508f058c6a9e3c4b0b38 for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From 2164e4f9cef9303a120122546b54b116789f3ddd Mon Sep 17 00:00:00 2001 +From 92b23200bc99602ba036ef25c996f79789f2b19b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:43:40 +0100 -Subject: [PATCH 010/175] irq_bcm2836: Send event when onlining sleeping cores +Subject: [PATCH 010/201] irq_bcm2836: Send event when onlining sleeping cores In order to reduce power consumption and bus traffic, it is sensible for secondary cores to enter a low-power idle state when waiting to @@ -662,10 +662,10 @@ index 6e3fab9587b782e026c01fa6b6e40338ef0c8d0a..86b357ae027bf8ba1ac32cd150a8cf21 } -From 9692c48bb4e40ecdf6a6d20c6aa900f35fddbeda Mon Sep 17 00:00:00 2001 +From 8ae97fa3b5643f0247135586cdd983900e8fa479 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 011/175] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 011/201] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -686,10 +686,10 @@ index cda10719d1d1b21b32866d2b79363faa461ab8e1..4f3779d3aa0960640506725bde918075 }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From 7f0cb955b39588a5292353838dc24cb0da5090e2 Mon Sep 17 00:00:00 2001 +From ff5155a91c3a801a49e7debfec3da1d545a8bb4c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 012/175] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 012/201] 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 @@ -770,10 +770,10 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From 0a9345126977f0893bbf5e799765af1b2b1e73e9 Mon Sep 17 00:00:00 2001 +From 37b23d0421c1277c5cdebb5d382689aaa7b07de6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 013/175] spi-bcm2835: Disable forced software CS +Subject: [PATCH 013/201] 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 @@ -807,10 +807,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From 1463890bcee30eeafc7e4f35bb09e77da2073504 Mon Sep 17 00:00:00 2001 +From f668e0f1f82524ddc1f5a91acdc6d070d1cd8a72 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 014/175] spi-bcm2835: Remove unused code +Subject: [PATCH 014/201] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -898,10 +898,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From f1f7304a2c26f684a48d4522017cdbdd5cf2f214 Mon Sep 17 00:00:00 2001 +From 461fe630a09b9f287781e4c8822405228c965c2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 015/175] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 015/201] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -954,10 +954,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From 4afda3956e36825879b97c3da5344fd8bc83df1f Mon Sep 17 00:00:00 2001 +From b0dbc25891a5d62e2f9a8a2b9e7da6515752cf46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 016/175] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 016/201] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1060,10 +1060,10 @@ index 6204cc32d09c5096df8aec304c3c37b3bcb6be44..599c218dc8a73172dd4bd4a058fc8f95 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From c205280f8e8b6d98bb8f4fe91e7e14ea8363aece Mon Sep 17 00:00:00 2001 +From a25e1d451917d6d9372d59d2ffc46255e5faf067 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 017/175] firmware: Updated mailbox header +Subject: [PATCH 017/201] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 21 +++++++++++++++++++++ @@ -1149,10 +1149,10 @@ index cb979ad90401e299344dd5fae38d09c489d8bd58..cbd1674570433fc591df89f68c892b33 #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From 9c8d1c45d886fdebda6db54e7ada110ebd883553 Mon Sep 17 00:00:00 2001 +From de50c1891fef0e317188b005821ab47e420da894 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 018/175] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 018/201] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1172,10 +1172,10 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From 6176a496bef1707dbd8bb40856ffa8660a82282b Mon Sep 17 00:00:00 2001 +From f4dc338d40d1c667547bcac494133da94ab3bfde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 019/175] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 019/201] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1277,10 +1277,10 @@ index b339e0e67b4c1275fd4992fea4f1e24c0575b783..26b7177573fac2af1cd4ab5488d2686f static int bcm2835_wdt_probe(struct platform_device *pdev) -From 75bce7d69841c1585a9c2976e98bcb7cc2b80ebe Mon Sep 17 00:00:00 2001 +From 6ab5b331736e3aa5f2ec8aa3a8b6e5036a944313 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 020/175] reboot: Use power off rather than busy spinning when +Subject: [PATCH 020/201] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1303,10 +1303,10 @@ index 3b2aa9a9fe268d45335f781c4aa22cf573753a1b..0180d89a34af45c56243fe0f17fbe209 /* -From 9d6127b193fcc6f76292e528356127a8fb8161ee Mon Sep 17 00:00:00 2001 +From b723479ea0e9c2fc8eaca22845e2246579c96ef8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 021/175] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 021/201] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -1325,10 +1325,10 @@ index 49f1e2a75d614bc21db152327c7b425ae2504f8d..dccd2374ed00631abd441e3e9d78ee74 help This enables support for the RPi power domains which can be enabled -From 077835b3ad8296aa82e558679f2addd6a00647c2 Mon Sep 17 00:00:00 2001 +From 05f5ca04b1e42ae95641ec892d136baa4c78eac9 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 022/175] Register the clocks early during the boot process, so +Subject: [PATCH 022/201] 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. @@ -1373,10 +1373,10 @@ index 58ce6af8452db9ca8b4d3c380a06e448919f6a8d..11d89d106026f15719ea25047d6f357b MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From f112556d35706b3af74f4ca5857188210b023016 Mon Sep 17 00:00:00 2001 +From 0c1125f5ba05c664abf23cb90f4a1d8cc4d5ef66 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 023/175] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 023/201] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1402,10 +1402,10 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From e345c5cbc07b1e5ee6d5d784863281f35cf3b875 Mon Sep 17 00:00:00 2001 +From 7ba06e2550f7252889243435c63ae440d89a65ef Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 024/175] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 024/201] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -1425,10 +1425,10 @@ index 9ffd3dda3889c56a7a72229bed21ff5c49d62856..00da6c9bacbf33334233e22ca5209ade esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From 4ae2d16d0abff821cb5dce6b3b8e97c7818d604b Mon Sep 17 00:00:00 2001 +From f1d516520ca16f69f1fb8bb5fa64f2b98c332c0f Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 025/175] BCM2835_DT: Fix I2S register map +Subject: [PATCH 025/201] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -1466,10 +1466,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 2cf2d502470d672bca1f87f3a21f6419ee5c143b Mon Sep 17 00:00:00 2001 +From 3cda44c973dbe59dcbb822df068487e09488064f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 026/175] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 026/201] 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 @@ -1497,10 +1497,10 @@ index 11d89d106026f15719ea25047d6f357b4bfcb2c5..fe8f5d65f2749cb3ddc878df61664826 divider->data = data; -From 8f5c5cf161039e3bdce3fac485e6b551d8905955 Mon Sep 17 00:00:00 2001 +From 72e2aca50328a807fffe452fd6e0389a30759e75 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 027/175] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 027/201] 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, @@ -1602,10 +1602,10 @@ index fe8f5d65f2749cb3ddc878df616648267441e0ee..92b5e0f5145b32d3bfc3592fe381e8be sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From de8bc773b06f7bb3727c368ee7b3384e78b29787 Mon Sep 17 00:00:00 2001 +From 80ec4f24ef1e1bfd25efc5b7143724ac37d838f5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 028/175] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 028/201] 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 @@ -1720,10 +1720,10 @@ index 92b5e0f5145b32d3bfc3592fe381e8be3cd90c72..336f8c9c44325d0a94e591a8557f7af2 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From 326c5529a8888f94639dfdb1571248b9ec9d0db4 Mon Sep 17 00:00:00 2001 +From af5d91fbc2094ac6f1c68b1e03ee6f389d16e964 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 029/175] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 029/201] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -1761,10 +1761,10 @@ index 336f8c9c44325d0a94e591a8557f7af246adc857..caa05e5ad0b7b5cd683e04fb3591a3df * Pass the CLK_SET_RATE_PARENT flag if we are allowed to propagate * rate changes on at least of the parents. -From e3554c13b1785b8164b80d6b275a38d5e7b3b3db Mon Sep 17 00:00:00 2001 +From 2a474d35b1673521d5d0d5c51eeaf5b893351c4e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 030/175] sound: Demote deferral errors to INFO level +Subject: [PATCH 030/201] 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. @@ -1799,10 +1799,10 @@ index fee4b0ef5566cf9e8de0bf5c568706da9cab2ea2..c728a4148903e983d61b6ae65765ba11 goto _err_defer; } -From 8508baa5e47654bbbb1c69f2bb13916181283b0a Mon Sep 17 00:00:00 2001 +From 5e5c88d4c4f445e6e7f7bf106d4c767566958af4 Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 031/175] Update vfpmodule.c +Subject: [PATCH 031/201] 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 @@ -1939,10 +1939,10 @@ index a71a48e71fffa8626fe90106815376c44bbe679b..d6c0a5a0a5ae3510db3ace5e3f5d3410 /* * Save the userland NEON/VFP state. Under UP, -From b403fb373fb729837b87b58e28774476b32218c2 Mon Sep 17 00:00:00 2001 +From e5fa3bdb7debe74d8b271492139549df6a46ac2a Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 032/175] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 032/201] ASoC: bcm2835_i2s.c: relax the ch2 register setting for 8 channels This patch allows ch2 registers to be set for 8 channels of audio. @@ -1963,10 +1963,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..56df7d8a43d0aac055a91b0d24aca8e1 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From b4e251bcbf56ce240f1a7c2ce54285702859208e Mon Sep 17 00:00:00 2001 +From 0afa18284f78a743187b12aacc72b0f395e86be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 1 Nov 2016 15:15:41 +0100 -Subject: [PATCH 033/175] i2c: bcm2835: Add debug support +Subject: [PATCH 033/201] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2155,10 +2155,10 @@ index cd07a69e2e9355540442785f95e90823b05c9d10..47167f403cc8329bd811b47c7011c299 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From b636d4110488638df9fbe04256b92a23cebf7b52 Mon Sep 17 00:00:00 2001 +From 70d56c42092cd38ab02deec1f607f1d4c4079bb9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 034/175] mm: Remove the PFN busy warning +Subject: [PATCH 034/201] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -2183,10 +2183,10 @@ index d51c2087c498c63f3f515d2931e42b5110efb62f..fd094c36e26c712d7537b16aa547d3e8 goto done; } -From e365d7872b1c33a8855a1a8118dab8596163f9dd Mon Sep 17 00:00:00 2001 +From d47099cc6511b448b6a389f335619c925ffec7d1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 035/175] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 035/201] 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 @@ -2211,10 +2211,10 @@ index c367d11079bc90feec2ad0fa748d7ffc3035faba..91d5b531b69b49db97f7febbc60d33a2 config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From 7e86f6e57045498c57f2b3cd6a3a04f0423cf90e Mon Sep 17 00:00:00 2001 +From d01c920bd5578d11a04a09ba1a772d32aebbc824 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 036/175] Main bcm2708/bcm2709 linux port +Subject: [PATCH 036/201] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2402,10 +2402,10 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From 6d6e6fea9b88e27c6d376196978dc43df4fb7047 Mon Sep 17 00:00:00 2001 +From 9ab2fcac834f0aae94d9266b5741b8ec16f7226e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 037/175] Add dwc_otg driver +Subject: [PATCH 037/201] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -63702,10 +63702,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From 9956154cf61011a769311d52a6fd5d6ac56c287c Mon Sep 17 00:00:00 2001 +From 83d0db162af7cf072e14f65ef6bca9ce9db1ffdb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 038/175] bcm2708 framebuffer driver +Subject: [PATCH 038/201] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67164,10 +67164,10 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From 71028e794308d8aac5b5cc7d4ef47cd24f1aa74c Mon Sep 17 00:00:00 2001 +From bfb014341e3d1640eec981e14419b139b9352ecf Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 039/175] dmaengine: Add support for BCM2708 +Subject: [PATCH 039/201] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67798,10 +67798,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From 1570c5367009f0bf1ffcf0604f9a6b3aecda69f4 Mon Sep 17 00:00:00 2001 +From 81346c04c8aacb9c0c6baacb4d2a1d6738607f76 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 040/175] MMC: added alternative MMC driver +Subject: [PATCH 040/201] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69681,10 +69681,10 @@ index 279b39008a33bb68745d9ea55ea5dd7ed522fd1c..49bdea5791a289251019a89419804dde unsigned int erase_size; /* erase size in sectors */ -From 38dc2198d38ad5758607572c8b6fd9f3b78bb404 Mon Sep 17 00:00:00 2001 +From 8c6d308d7d0d54ccadc799b92d878f8444acd11b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 041/175] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 041/201] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -72090,10 +72090,10 @@ index 0000000000000000000000000000000000000000..9c6f199a7830959f31012d86bc1f8b1a +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From a2b75b2f0461d5cf12ad93e9362b5ebb98aedb11 Mon Sep 17 00:00:00 2001 +From a9311a4fe71c12bc49e4bc3eefc343f00712697e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 042/175] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 042/201] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -72618,10 +72618,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From 27ec2190d605783279ba1d4f1d4c8e94ac4bb03a Mon Sep 17 00:00:00 2001 +From 88e3a68b24ac9fd54392cea9d36e0723fbc112cc Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 043/175] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 043/201] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -77499,10 +77499,10 @@ index 0000000000000000000000000000000000000000..b75729d762f25aace133f7a008633b40 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 93642f411df103f353089b9972ae160457aa5e16 Mon Sep 17 00:00:00 2001 +From bb42462e0201a474a567bb7c61c9e56484465d57 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 044/175] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 044/201] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -77810,10 +77810,10 @@ index 0000000000000000000000000000000000000000..f5e7f1ba8fb6f18dee77fad06a17480c +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From fa6d7b7b0083b4e2df8a10715e37a070ab23d15b Mon Sep 17 00:00:00 2001 +From 9fdee10fc9d1f51522b63457f6df2d08d04beff4 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 045/175] Add SMI driver +Subject: [PATCH 045/201] Add SMI driver Signed-off-by: Luke Wren --- @@ -79764,10 +79764,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From 60f29b295a8975070fd9757eb589dea9b0cbfe32 Mon Sep 17 00:00:00 2001 +From 843921cd0abe0ae194adc94e5d88abad280566b1 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 046/175] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 046/201] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -79936,10 +79936,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From b662f54dfdfc514eadf1f98c1e26dff0ee782dad Mon Sep 17 00:00:00 2001 +From 3cff724912c5a622d0e444089b4eb2fb8597e061 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 047/175] Add SMI NAND driver +Subject: [PATCH 047/201] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -80304,10 +80304,10 @@ index 0000000000000000000000000000000000000000..c4826ea1c2bae555ce780e61f1076ddd + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From ce7ac50087029eeeac74dc9fb06bbc9df576e7ad Mon Sep 17 00:00:00 2001 +From 9cc8682c6ea521697547539d4f0eda6b7036493c Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 048/175] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 048/201] lirc: added support for RaspberryPi GPIO lirc_rpi: Use read_current_timer to determine transmitter delay. Thanks to jjmz and others See: https://github.com/raspberrypi/linux/issues/525 @@ -81167,10 +81167,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From a6f196e2abeda7e4bac3b388551498745b0a8e66 Mon Sep 17 00:00:00 2001 +From 0b49632fca26af6d22ede4aadd77ac2917bafe97 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 049/175] Add cpufreq driver +Subject: [PATCH 049/201] Add cpufreq driver Signed-off-by: popcornmix @@ -81434,10 +81434,10 @@ index 0000000000000000000000000000000000000000..99345969b0e4d651fd9033d67de2febb +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From 137cced6c19a6da29616d13158fec5f6ed1004bd Mon Sep 17 00:00:00 2001 +From 2c3706c50ace661bb5cfda64528213ab8dcdc0c7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 050/175] Add Chris Boot's i2c driver +Subject: [PATCH 050/201] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82102,10 +82102,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From 2d1793e08965c22c7eb2143a9aef7f704ec49253 Mon Sep 17 00:00:00 2001 +From 09fc2eafc792b97cbc5d484a6d75145dce655ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 051/175] char: broadcom: Add vcio module +Subject: [PATCH 051/201] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82330,10 +82330,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From d4bcf1971811d1a22a19da779928193c5a8952b4 Mon Sep 17 00:00:00 2001 +From a8e4611ec9bfeb2b09c234c168cd2add721fe4c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 052/175] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 052/201] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82416,10 +82416,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From 856d97475f85ab1cd225b3a1b592b36ae2978d29 Mon Sep 17 00:00:00 2001 +From f19de1ec3b4eb3d5736f17cb4fdd3960eb47b25c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 053/175] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 053/201] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -82946,10 +82946,10 @@ index 0000000000000000000000000000000000000000..84be2593ec1de8f97b0167ff06b3e05d + return $trailer; +} -From 43f9079930eb070443b2fcbdcd01b3c21f1ebc74 Mon Sep 17 00:00:00 2001 +From 77f7f50decefc1ecd1b321562730334dab66b2d7 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 054/175] BCM2708: Add core Device Tree support +Subject: [PATCH 054/201] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -95414,10 +95414,10 @@ index 04b5633df1cfafa316f9086c4bf98a9ecf9d0939..d523d1e14220a369c4c766ca3a01208e # Bzip2 -From fdb8cc80c11e9d346629e44caec70dff4eb67c4c Mon Sep 17 00:00:00 2001 +From 6083ccfc6c46f4e2fe5340f9c335a5b99b532c07 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 055/175] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 055/201] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -95592,10 +95592,10 @@ index bf6db4fe895bcd67e04ee65e8f76ea104af6299f..8741dca6dba65e2d72fbdbc1702139c2 /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -From ed31b34f4cbcb7d45433e748af7743f6e1169b1d Mon Sep 17 00:00:00 2001 +From 28fe46f6859d440d44323192a4f5c09b57b76e88 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 056/175] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 056/201] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -95863,10 +95863,10 @@ index 6cd9b198b7c64eb94821f2e3f2c5201e6c6d25eb..f36c92c2da7487437c33f7a4e2c6e09e __u32 dx; /* screen-relative */ __u32 dy; -From df30e3f16d1c2403022fa35d2493cb93da13ad4f Mon Sep 17 00:00:00 2001 +From 4fca9e95594935ddd4f44ee00be80fc7e5e76ef7 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 057/175] Speed up console framebuffer imageblit function +Subject: [PATCH 057/201] 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 @@ -96075,10 +96075,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From 86a4de9722e7844d560ebb3ccb1e7f54949e19a6 Mon Sep 17 00:00:00 2001 +From 08c58d5cc44f9c2e5be98bab47462d5e18d341dc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 058/175] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 058/201] enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module) 1-wire: Add support for configuring pin for w1-gpio kernel module @@ -96328,10 +96328,10 @@ index 5b2972946dda5f9ad415f1eaeaab67743a5cc0f0..b3558b7c9efb2484b40e31312aee197b u8, w1_slave_found_callback); }; -From 8a8e1e839bbd2489b485c9866bc2f5bf2675104a Mon Sep 17 00:00:00 2001 +From 44a5520215fa3a30003def45a5cb570d5006c0f5 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 059/175] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 059/201] 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 @@ -96676,10 +96676,10 @@ index 0000000000000000000000000000000000000000..9d7d05482355d168c5c0c42508cd9789 +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); -From 402b63060564a9a17c349315e2f2b93ad796c595 Mon Sep 17 00:00:00 2001 +From a61af86414ae71b36f5446f4bb68c68528a225db Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 060/175] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 060/201] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -98259,10 +98259,10 @@ index 971bc298f63eeeed418131b7b7200ac91b0d73f1..78e9f6e8c6fdebdb754cb703095d1726 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From b12af255829529204bdd7d4c4afc81e92a75354d Mon Sep 17 00:00:00 2001 +From 5c7376c9bef9a2e162b0b7b74b3bafe145481a03 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 061/175] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 061/201] 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 @@ -98297,10 +98297,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 0872a65802000eeecfa57f9d8e904d414c767815 Mon Sep 17 00:00:00 2001 +From f49abedc49c2d7a682d72a38d18cd9a79c2dfce1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 062/175] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 062/201] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -99165,10 +99165,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From b9048bb7c324a59743376e2b483a8f56ff423efc Mon Sep 17 00:00:00 2001 +From 73828fa4aa7d900e7f290f8ba1613400ee8e5781 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 063/175] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 063/201] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -99343,10 +99343,10 @@ index 0000000000000000000000000000000000000000..ee9f133953544629282631e5ef3f73fe +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From 1dd167453218ac01ca691faaae32c3ec1f8ca8e9 Mon Sep 17 00:00:00 2001 +From a37d8f21cf2adfbfb17b1d1ff4a702b0fe3c569b Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 064/175] ASoC: Add support for Rpi-DAC +Subject: [PATCH 064/201] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -99630,10 +99630,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 684e45dbb848f1886f405d9c28bad453a158c591 Mon Sep 17 00:00:00 2001 +From 2dd94c9757d562e5e5e92bbedc2c536715b2a090 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 065/175] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 065/201] ASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample rates. At 192kHz only 128xfs is supported. The existing driver selects 128xfs automatically for some lower samples rates. By using an @@ -99682,10 +99682,10 @@ index fc69b87443d80489382b97332de6d5ad12a58ec8..d8fdce81b297dcf02e144bdead0c6193 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From 03e059c7033b3aeb8c700327e94b67d937dc3c45 Mon Sep 17 00:00:00 2001 +From 8d266bd0d2ae39d6819f064424d9672b73140e93 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 066/175] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 066/201] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -100029,10 +100029,10 @@ index 0000000000000000000000000000000000000000..7620dd02de40b6d644ff038b445d375d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From c5b6ca615ec3586771cdf2b1519677a6c9d466e8 Mon Sep 17 00:00:00 2001 +From 71a5adf7d16ee42d871f3dd3ed19b46d59228fe5 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 067/175] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 067/201] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -100367,10 +100367,10 @@ index 0000000000000000000000000000000000000000..1ee4097c846376666775272ed692ca33 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From ab2a0415e5470c03901bb137f201e45cfb097228 Mon Sep 17 00:00:00 2001 +From 5c97aa9f802672182b386451525422a21cf09723 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 068/175] Added support for HiFiBerry DAC+ +Subject: [PATCH 068/201] 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. @@ -101005,10 +101005,10 @@ index 68feae262476492ae3a0b30855dbb09e96fa187e..f7b0977017ed5a6c02eafa0147d49d66 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 9d7762cec49df044ae575106f2123f20bf4facb5 Mon Sep 17 00:00:00 2001 +From 2dfa22a719286eebced75b397d400fc5d4299da6 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 069/175] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 069/201] 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. @@ -101843,10 +101843,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From b7f6642b1a15e95cb0e9aa0485d7ee0b298fef48 Mon Sep 17 00:00:00 2001 +From bf841bf59d5c6e71f5a5cc17c3f0fe805d629cbc Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 070/175] Add driver for rpi-proto +Subject: [PATCH 070/201] 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 @@ -102061,10 +102061,10 @@ index 0000000000000000000000000000000000000000..fadbfade100228aaafabb0d3bdf35c01 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From 5a5ab00ba1bce589797e41e0b19e4c702207117c Mon Sep 17 00:00:00 2001 +From 4806283a8513f5c2dcea3628766759324ed01ea6 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 071/175] RaspiDAC3 support +Subject: [PATCH 071/201] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -102307,10 +102307,10 @@ index 0000000000000000000000000000000000000000..ad2b5b89bc8213dc2e277306ef50d6e3 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From 16a94cbf6585e239366042bacdfd53c758c5f6af Mon Sep 17 00:00:00 2001 +From 8f4a3638c3f9a55f5e068a8de27851a86e6a61f6 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 072/175] Add Support for JustBoom Audio boards +Subject: [PATCH 072/201] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -102766,10 +102766,10 @@ index 0000000000000000000000000000000000000000..909cf8928f2f4313982316f9c5b8a709 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From 6fab6484abab973dd23ff41940169332f0a4416e Mon Sep 17 00:00:00 2001 +From 0d14a00822d7c833ea25e35c7dbb3a2549aa456d Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 073/175] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 073/201] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -102951,10 +102951,10 @@ index 0000000000000000000000000000000000000000..f3d7e5db7bb912e1d7ca6f8e8d42df5f +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 6f55c465d91f101c7060d2e8e9a911989ec41d39 Mon Sep 17 00:00:00 2001 +From 4aede67713f17375f69ef485fc38568f04da4786 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 074/175] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 074/201] 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. @@ -103205,10 +103205,10 @@ index 0000000000000000000000000000000000000000..491906bbf446826e55dd843f28e4860f +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From dbaf9662f429f920aa4ae82c312dd0a5fc8d87d7 Mon Sep 17 00:00:00 2001 +From eb0d6a4cbd4ba49c7fc41f72384416842ebedb06 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 075/175] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 075/201] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -103508,10 +103508,10 @@ index 0000000000000000000000000000000000000000..33aa2be8a43a12a12cfb5d844dd9732c +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From 39c005ff8e5426495935212070631a8b896fe425 Mon Sep 17 00:00:00 2001 +From 832ee6ce6d016338f2ef4b893f5abdd50f4cf107 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 076/175] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 076/201] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -103984,10 +103984,10 @@ index 0000000000000000000000000000000000000000..f200688bb4ae32b90a0ced555aed94b0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 034fdda1b634bbef0e193d20188a5590f5e5e650 Mon Sep 17 00:00:00 2001 +From 21253b2ff4668f7fd77fb038e2c9d1b88e977716 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 077/175] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 077/201] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -104160,10 +104160,10 @@ index 0000000000000000000000000000000000000000..65e03741d349a2dc5bd91f69855ea952 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From 7408fccec368e3d1a071da05e3d64b9f9adfce57 Mon Sep 17 00:00:00 2001 +From 5825a5350a42b057e95d6ce7f735ffa45c79c87a Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 078/175] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 078/201] 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, @@ -104370,10 +104370,10 @@ index 0000000000000000000000000000000000000000..eaf50fb6dbca1970ae1c6f8662088b0f +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From e8da4c86df7697bd3eb6b3f65846658f390dcb98 Mon Sep 17 00:00:00 2001 +From b96f8bd4daf402dfb2229f921a3bd393228d19a4 Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 079/175] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 079/201] 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. @@ -105461,10 +105461,10 @@ index 0000000000000000000000000000000000000000..1800f5e4d414e2d83a9487a89a2800a3 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From 0d0e3c3ad1179d2ce18666448e2372fc1d470ec0 Mon Sep 17 00:00:00 2001 +From f2bc536db1fb37c95c546b4e0bb1f31f53acf964 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 080/175] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 080/201] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -106167,10 +106167,10 @@ index 0000000000000000000000000000000000000000..203ab76c7045b081578e23bda1099dd1 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From 89f12c3ba16b58d777df75d550718538071d97ae Mon Sep 17 00:00:00 2001 +From 0386ef65c56f46a4a17e5704f61c9cebc31f2510 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 081/175] Support for Blokas Labs pisound board +Subject: [PATCH 081/201] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) @@ -107369,10 +107369,10 @@ index 0000000000000000000000000000000000000000..06ff1e53dc9d860946965b6303577762 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From 30c389cd96092e04acee798c1a125c799b02bad6 Mon Sep 17 00:00:00 2001 +From 9ccd97c57a4b4672888e0fd45f7af20574d89594 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 082/175] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 082/201] 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 @@ -108437,10 +108437,10 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From 596824a611f5235c381cddd3071c887f83be81fa Mon Sep 17 00:00:00 2001 +From dd7f58d21cd5f1773492dc4af7380c6178f290b0 Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 083/175] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 083/201] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -108635,10 +108635,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From 3db46dc8640ce33be746b32ca4a9efb728af94ff Mon Sep 17 00:00:00 2001 +From 26bc4d704fbd8993c8b4b4307d2534a8dad45976 Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 084/175] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 084/201] 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. @@ -108852,10 +108852,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From 60e0b139bd7a9c7430c3b4c63522b8c735ef36f4 Mon Sep 17 00:00:00 2001 +From fae32964c6caa28cd73bb837a7d3bb433829fd0b Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 085/175] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 085/201] Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset @@ -109264,10 +109264,10 @@ index 0000000000000000000000000000000000000000..5e79f4eff93a21ed3495c77a90f73525 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From 4875f48c02acf0531ef5d6cb552a92d23eff4263 Mon Sep 17 00:00:00 2001 +From 6de76c4af630d9dd2baadb4c98e0c029b76bfd17 Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 086/175] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 086/201] Driver support for Google voiceHAT soundcard. --- sound/soc/bcm/Kconfig | 7 ++ @@ -109658,10 +109658,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From 1a2b2da4d3faca040e2538110ab09ca933a02b34 Mon Sep 17 00:00:00 2001 +From acee6c0272988ea5b9c4d3886ab951d82da0d4a5 Mon Sep 17 00:00:00 2001 From: sandeepal Date: Fri, 2 Jun 2017 18:59:46 +0530 -Subject: [PATCH 087/175] Allo Digione Driver (#2048) +Subject: [PATCH 087/201] Allo Digione Driver (#2048) Driver for the Allo Digione soundcard @@ -109984,10 +109984,10 @@ index 0000000000000000000000000000000000000000..9387b055875fdf92a13dc4a9d2727f95 +MODULE_DESCRIPTION("ASoC Driver for Allo DigiOne"); +MODULE_LICENSE("GPL v2"); -From 76e968fad4a3628ead25098893fdecaf39072fe5 Mon Sep 17 00:00:00 2001 +From 5dd049eb26f293f80cd10cfcd8221f5eaef2f1cf Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 088/175] rpi_display: add backlight driver and overlay +Subject: [PATCH 088/201] 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 @@ -110156,10 +110156,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 53b4c68dadcd7407d4a9b69eb36568611cca828d Mon Sep 17 00:00:00 2001 +From 57f8491f1dc5698da9a8eaedca787e1492d859ab Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 089/175] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 089/201] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -110420,10 +110420,10 @@ index 0000000000000000000000000000000000000000..c3725546def9d4a6264fbb1f6b9814d0 +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); -From c2b50acd078943b651fa42daff671e3a8aeca5ff Mon Sep 17 00:00:00 2001 +From 32eabba2b09847f1781f0a7ed0b86e3e958b4fe2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 090/175] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 090/201] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -110732,10 +110732,10 @@ index 0000000000000000000000000000000000000000..d68adafaee4ad406f45f4ff0d6b7c1ad +MODULE_DESCRIPTION("brcm-exp GPIO driver"); +MODULE_ALIAS("platform:brcmexp-gpio"); -From f77f85550c1aaad2012efdfb24e4329f5ba41c1c Mon Sep 17 00:00:00 2001 +From 7bddac2fb5e08383a4ca4d290a0d39d0fc2c2622 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 091/175] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 091/201] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause @@ -110764,10 +110764,10 @@ index 111e6a95077978c2c30bfe2a2de4a0d095e8d76e..584471add0962c0e26eb814fc0ef43ee uap->old_cr = 0; uap->port.dev = dev; -From f454045ae730931aa42e2c97df43d1e512586cf7 Mon Sep 17 00:00:00 2001 +From 83aaa369ae050bf58fa63fbeb1df51cfd234fe43 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 092/175] amba_pl011: Round input clock up +Subject: [PATCH 092/201] 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 @@ -110853,10 +110853,10 @@ index 584471add0962c0e26eb814fc0ef43eea99b2d29..bfbc845d7be9ef804468d0a82da18d9b /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -From f85a5a55cbbfc37f9ed3373887e64b6e1fbc779c Mon Sep 17 00:00:00 2001 +From 765600d5387d1864fd9c0fdd52fa982503a547ca Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 093/175] OF: DT-Overlay configfs interface +Subject: [PATCH 093/201] 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. @@ -111289,10 +111289,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From 074ee07a08a0e490c3cc213dc50b93549c6e513f Mon Sep 17 00:00:00 2001 +From 1f21e752ab29bcfe93c0ab8a4ecd284bc48dbff6 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 094/175] brcm: adds support for BCM43341 wifi +Subject: [PATCH 094/201] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -111424,10 +111424,10 @@ index b3fa8ae804650f7ea838ff59ca84dfb6ca24da90..c1e86df297edf2fa7f641e36ccbfc733 BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -From f2d9cc4f425ada59b788898185a087603f7197ca Mon Sep 17 00:00:00 2001 +From 80d869dc18127aef8b73d817d8af4aa70c02b92d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 095/175] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 095/201] brcmfmac: Mute expected startup 'errors' The brcmfmac WiFi driver always complains about the '00' country code. Modify the driver to ignore '00' silently. @@ -111451,10 +111451,10 @@ index 2d3b5e2a3ef7cd6186487b48665b401249380d18..e417454f5d6ec136cda29e65af5449f2 req->alpha2[0], req->alpha2[1]); return; -From 9209035daa9d48c13559b9d63c5706143e7bd687 Mon Sep 17 00:00:00 2001 +From bb160a8a88809cbcf1e12760480f05fbd983bb0b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 096/175] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 096/201] 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. @@ -111477,10 +111477,10 @@ index c0e4e26dc30d7c3c6a771b7b86df88c8cf763646..7308287259eedcaf229f8a496a0e3826 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 4837e5b9abac8661b043460d764d4f4a300e3301 Mon Sep 17 00:00:00 2001 +From 87b2ac98e2b817f2e3177981c0904b3f5971192a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 097/175] config: Add default configs +Subject: [PATCH 097/201] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1339 +++++++++++++++++++++++++++++++++++ @@ -114185,10 +114185,10 @@ index 0000000000000000000000000000000000000000..c1da808d40bc8e867b41d3566bd60a75 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From 8a6f6d8110d6319b3a579d571d1cfdafac2b303a Mon Sep 17 00:00:00 2001 +From fb372e7424fe03700ef6252bdbe08a6efa2213c5 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 098/175] Add arm64 configuration and device tree differences. +Subject: [PATCH 098/201] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -115602,10 +115602,10 @@ index 0000000000000000000000000000000000000000..e6b09fafa27eed2b762e3d53b55041f7 +CONFIG_LIBCRC32C=y +CONFIG_BCM2835_VCHIQ=n -From 26adb7000e033bb34f717cecce125eac85ffdc42 Mon Sep 17 00:00:00 2001 +From 40a01ca28d17e8a8c0a931072f9997364d0d8dba Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 099/175] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 099/201] ARM64: Make it work again on 4.9 (#1790) * Invoke the dtc compiler with the same options used in arm mode. * ARM64 now uses the bcm2835 platform just like ARM32. @@ -116016,10 +116016,10 @@ index e6b09fafa27eed2b762e3d53b55041f793683d27..c7e891d72969a388d9b135a36dbfc9c9 CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -From deb89098dcd643c130bdbbc0ec844e88f58f1dfe Mon Sep 17 00:00:00 2001 +From a064a768337f38644bea1b0a8e0947a10816cad7 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:10:07 -0800 -Subject: [PATCH 100/175] ARM64: Enable HDMI audio and vc04_services in +Subject: [PATCH 100/201] ARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig Signed-off-by: Michael Zoran @@ -116048,10 +116048,10 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..4b90f9b64abe9f089ba56b13d5a00de3 CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set -From cf75bbd18192eb5bfe093eaa59ac16516b0cfe79 Mon Sep 17 00:00:00 2001 +From 27b4b6484d40985addac88b98b9c27b8a83cc5be Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:14:03 -0800 -Subject: [PATCH 101/175] ARM64: Run bcmrpi3_defconfig through savedefconfig. +Subject: [PATCH 101/201] ARM64: Run bcmrpi3_defconfig through savedefconfig. Signed-off-by: Michael Zoran --- @@ -116096,10 +116096,10 @@ index 4b90f9b64abe9f089ba56b13d5a00de33343bfb9..dac962ca1634662ce7d966f1ffb53b5b CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m -From 2f5d41ff0f82ddeb0b3613227a26ead9bf36cc07 Mon Sep 17 00:00:00 2001 +From 82d703e843a501bc16d57835ec8e01bd4c012750 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 102/175] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 102/201] ARM64: Enable Kernel Address Space Randomization (#1792) Randomization allows the mapping between virtual addresses and physical @@ -116131,10 +116131,10 @@ index dac962ca1634662ce7d966f1ffb53b5bfa27c506..aae33b4b3c3e736ea7cd3ca242158ad6 CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From 7b7a203234ec8d8d7d933bf15eafe319973f5c51 Mon Sep 17 00:00:00 2001 +From 779d30101ea76a4e982933ef6f0012938ba26eec Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 103/175] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 103/201] ARM64: Enable RTL8187/RTL8192CU wifi in build config These drivers build now, so they can be enabled back in the build configuration just like they are for @@ -116159,10 +116159,10 @@ index aae33b4b3c3e736ea7cd3ca242158ad6ba558aff..b7d762df19b85e369a32cd823dfd0621 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From fb4336857c4214506d91ce006ab8359caa08a33d Mon Sep 17 00:00:00 2001 +From 2053933ca50d38e8a8274d5e1e1d3c5dd539717a Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 104/175] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 104/201] 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 @@ -116505,10 +116505,10 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From 18e7a66f1ff8094c55c7ab9c9cceecf90b29f3fd Mon Sep 17 00:00:00 2001 +From 58d0226d71b7b474d0e80bf6b29520831ca09011 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 105/175] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 105/201] 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 @@ -116582,10 +116582,10 @@ index 86b357ae027bf8ba1ac32cd150a8cf21e36597e2..05b17ca993f405c4c8e61a782ec58149 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From 9cc9a518b2c6d67dd89a8b401e36d6cadf745ae1 Mon Sep 17 00:00:00 2001 +From 18aa1ee4fddad6538a390cce55fcddf5f476450b Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 106/175] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 106/201] ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran @@ -116606,10 +116606,10 @@ index b7d762df19b85e369a32cd823dfd062145bdefa7..4d85c231c5ea0244e1b05fb4a5e3c8fd CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From d135ebd7803ea47894ad4d8d45353a27caccc319 Mon Sep 17 00:00:00 2001 +From 1dac622c1459cf531e02e4862d2edc7041bf7f7d Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 107/175] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 107/201] ARM64: Force hardware emulation of deprecated instructions. --- @@ -116637,10 +116637,10 @@ index d06fbe4cd38d7423c900aff64b0e728f995478d3..877b7c90f9555203d5d55d739359a256 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -From 5d8c25e208f2d916fc97a168db6c5517eee1bbaa Mon Sep 17 00:00:00 2001 +From 064e0d7f2de4aade1bc42e2dd5df416876797c36 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 108/175] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 108/201] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -116665,10 +116665,10 @@ index 7318165cfc90b5b4e36048fbafd9287a1cf3516f..f6f5df3f262b0baf1338bea188d78883 dtbs: prepare scripts -From fa99adbafcdb5e8a0191bd6f800071838415a265 Mon Sep 17 00:00:00 2001 +From a355fc8c95ab5c87537f0d2cc9187e4a73f8610f Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Wed, 24 May 2017 10:52:50 +0200 -Subject: [PATCH 109/175] enable drivers for GPIO expander and vcio +Subject: [PATCH 109/201] enable drivers for GPIO expander and vcio --- arch/arm64/configs/bcmrpi3_defconfig | 3 +++ @@ -116696,10 +116696,10 @@ index 4d85c231c5ea0244e1b05fb4a5e3c8fd3e651ddf..9dcb58a519d041fadae99c81a7bda621 CONFIG_GPIO_ARIZONA=m CONFIG_GPIO_STMPE=y -From 71fc554e1820401705664718ef6882c996fb97d1 Mon Sep 17 00:00:00 2001 +From 4d30c995c00ff35e79a9ab4a721ab1b507cb57c8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 110/175] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 110/201] bcm2835-aux: Add aux interrupt controller The AUX block has a shared interrupt line with a register indicating which devices have active IRQs. Expose this as a nested interrupt @@ -116863,10 +116863,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From 574f40ae0aa1364300180592835b9903df35e171 Mon Sep 17 00:00:00 2001 +From 3a238f69f13c69be212b13b54122eacb61eda3dd Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 111/175] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 111/201] This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator. It includes the CXD2880 driver and the CXD2880 SPI adapter. The current CXD2880 driver version is 1.4.1 - 1.0.1 released on April 13, 2017. @@ -132998,10 +132998,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From 347ba06758e032d3eaa99121b5d7ce0b2034696c Mon Sep 17 00:00:00 2001 +From 4d555d47a7be37bb1e0dbf5669d515853157fa3d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 112/175] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 112/201] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -133033,10 +133033,10 @@ index 3f070bd38a91511c986e3fb114b15bd4ac32634c..f261b64d1657c02290904d841e1f087c /** * rpi_firmware_property_list - Submit firmware property list -From 3e1d25beacaa95a78d3f1231fb621d34ebe16271 Mon Sep 17 00:00:00 2001 +From f06a63c1d072ef13e13b9ead3c388e97121c7a95 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 113/175] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 113/201] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt @@ -133807,10 +133807,10 @@ index 0000000000000000000000000000000000000000..78c34305935501248b1ca548a1ee0175 + }, +}; -From 7cdf17ed7da977b06399ecb2d1c663d190d260bc Mon Sep 17 00:00:00 2001 +From ac9ee694a00ccda27bec826f211901dca9bab73f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 114/175] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 114/201] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. @@ -133834,10 +133834,10 @@ index 78c34305935501248b1ca548a1ee01753b8fa099..d9a5551d01a2155e3df1bbbd78a1ee2b if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From 262a9a5a6941acd353bbd1066399eb8b456c9ed1 Mon Sep 17 00:00:00 2001 +From 1e85c926b2b8cb35c9f322b07465dca4a11fe1ce Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 115/175] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 115/201] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was @@ -133907,10 +133907,10 @@ index d9a5551d01a2155e3df1bbbd78a1ee2b961be946..e372666af0119b1876bad5167e6d0ff8 RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From b32cebad4ea18c91fb7f1411b0d6d9ff0a749ffb Mon Sep 17 00:00:00 2001 +From 5de11ee749f69e722b31e0e52dfa29a7f9f70abd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 116/175] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 116/201] 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 @@ -133952,10 +133952,10 @@ index e372666af0119b1876bad5167e6d0ff8945d1b80..4d7b7f218cbbc9e7abcaa37743978060 static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From 44a6e03021581f2584d60dabf58208d0f3fbf25b Mon Sep 17 00:00:00 2001 +From 84415afa888f814f918ca74ea98063fb98f700a2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 117/175] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH 117/201] vc4_fkms: Apply firmware overscan offset to hardware cursor --- @@ -134012,10 +134012,10 @@ index 4d7b7f218cbbc9e7abcaa37743978060b73fbdd1..d170775ccc985637ff018804f510a500 return 0; -From 0a6a09817f80b9a26c29ed557fb6719cbcacdc8e Mon Sep 17 00:00:00 2001 +From 29ea5d7340d272815a5f24681b7b70f8c67d7637 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 11:34:26 +0200 -Subject: [PATCH 118/175] ASoC: bcm2835: Add support for TDM modes +Subject: [PATCH 118/201] ASoC: bcm2835: Add support for TDM modes bcm2835 supports arbitrary positioning of channel data within a frame and thus is capable of supporting TDM modes. Since @@ -134417,10 +134417,10 @@ index 56df7d8a43d0aac055a91b0d24aca8e1b4e308e4..dcacf7f83c9371df539a788ea33fedcf dev->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, dev); -From c9fa449349e88035c32b088bcf8c1a69ee5a4542 Mon Sep 17 00:00:00 2001 +From b15e6fe5b00b9094cf747e5366318b26e3a6b9e3 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 15:30:50 +0200 -Subject: [PATCH 119/175] ASoC: bcm2835: Support left/right justified and DSP +Subject: [PATCH 119/201] ASoC: bcm2835: Support left/right justified and DSP modes DSP modes and left/right justified modes can be supported @@ -134666,10 +134666,10 @@ index dcacf7f83c9371df539a788ea33fedcf97d64690..3a706fda4f39e42efbe12f19d87af9b1 } -From 332098d2c12b4c7327f8682b0a02d82582aa17f1 Mon Sep 17 00:00:00 2001 +From 79ca2adff8412b9ece850bcb10e312536672f3a1 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:19:54 +0200 -Subject: [PATCH 120/175] ASoC: bcm2835: Support additional samplerates up to +Subject: [PATCH 120/201] ASoC: bcm2835: Support additional samplerates up to 384kHz Sample rates are only restricted by the capabilities of the @@ -134712,10 +134712,10 @@ index 3a706fda4f39e42efbe12f19d87af9b100a348a5..43f5715a0d5dda851731ecf7ff27e76c | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE -From 49088d551c17088c00626cbf40824fedb2dafe2e Mon Sep 17 00:00:00 2001 +From d7ffa37856e4058803d9c2e9987782b93654c1c4 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:24:57 +0200 -Subject: [PATCH 121/175] ASoC: bcm2835: Enforce full symmetry +Subject: [PATCH 121/201] ASoC: bcm2835: Enforce full symmetry bcm2835's configuration registers can't be changed when a stream is running, which means asymmetric configurations aren't supported. @@ -134751,10 +134751,10 @@ index 43f5715a0d5dda851731ecf7ff27e76c48fb6e57..2e449d7173fcecbcd647f90a26bd58b6 static bool bcm2835_i2s_volatile_reg(struct device *dev, unsigned int reg) -From 16d08e4bd003b098b8e7ed3523d9702ad64635b8 Mon Sep 17 00:00:00 2001 +From df47ba69cd31dfce715c53e70191f46345874dc9 Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 5 Jun 2017 16:40:38 +0100 -Subject: [PATCH 122/175] dma-bcm2708: Fix module compilation of +Subject: [PATCH 122/201] dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708 bcm2708-dmaengine.c defines functions like bcm_dma_start which are @@ -134797,10 +134797,10 @@ index c5bfff2765be4606077e6c8af73040ec13ee8974..6ca874d332a8bc666b1c9576ac51f479 #endif /* _PLAT_BCM2708_DMA_H */ -From 2af517689bb046b56ac287414ff841ea8b8aa034 Mon Sep 17 00:00:00 2001 +From f9bf10ac70d1a44db0bb1ea8a63ba3fe807c09a4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 123/175] cache: export clean and invalidate +Subject: [PATCH 123/201] cache: export clean and invalidate --- arch/arm/mm/cache-v6.S | 4 ++-- @@ -134852,10 +134852,10 @@ index de78109d002db1a5e7c94a6c1bc8bb94161d07b8..4c850aa3af2b2439fced4e130441329a sub r3, r2, #1 bic r0, r0, r3 -From 5df12ff93c211a5c10642ad4259101277e2b951f Mon Sep 17 00:00:00 2001 +From 14e9ed95082a4b33d763f5aba63aaa90b8328e2b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 124/175] amba_pl011: Insert mb() for correct FIFO handling +Subject: [PATCH 124/201] 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 @@ -134882,10 +134882,10 @@ index bfbc845d7be9ef804468d0a82da18d9b67857216..424bdc500864a86e5d431763ba416b52 return true; -From c20e67d1a53eabb6310d9bb5d3fa17f0a6dfc618 Mon Sep 17 00:00:00 2001 +From 63e79edcb34d67fb406964c288f1f1eb71163853 Mon Sep 17 00:00:00 2001 From: Chung-Hsien Hsu Date: Sun, 14 May 2017 20:11:05 -0500 -Subject: [PATCH 125/175] brcmfmac: add CLM download support +Subject: [PATCH 125/201] brcmfmac: add CLM download support Future firmwares will be provided with minimal built-in CLM - the NULL region (#n/0) becomes the initial country. It cannot be changed @@ -135313,10 +135313,10 @@ index 11ffaa01599eb4b343b7f675dc275fc8572d127e..b27170c12482de0ca4115b4bc9484c21 static int brcmf_usb_bus_setup(struct brcmf_usbdev_info *devinfo) -From 41c5e7c7b86ce53ffe7d55a3b7375ed72cf03d35 Mon Sep 17 00:00:00 2001 +From c08aa9459c59ff139ab358c7a60de482ce5ff7d8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Oct 2017 13:23:32 +0100 -Subject: [PATCH 126/175] brcmfmac: request_firmware_direct is quieter +Subject: [PATCH 126/201] brcmfmac: request_firmware_direct is quieter Since we don't have any CLM-capable firmware yet, silence the warning of its absence by using request_firmware_direct, which should also @@ -135341,10 +135341,10 @@ index f0309e039592ba6e388084a13f052c03f99cf1ef..b5889360da96096775db6425337a7215 if (err == -ENOENT) return 0; -From bbfe28334b1f87c0147de5357013829e80ff528d Mon Sep 17 00:00:00 2001 +From a21640def9db02b0914bf81fe8a4c64480dc5f1c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 127/175] amba_pl011: Add cts-event-workaround DT property +Subject: [PATCH 127/201] 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 @@ -135393,10 +135393,10 @@ index 424bdc500864a86e5d431763ba416b5298c777dc..b224306633f62c398ef904734a903d4e uap->vendor = vendor; uap->fifosize = vendor->get_fifosize(dev); -From 78d2e9b8f6555dce754883489b8388f547d1c5ea Mon Sep 17 00:00:00 2001 +From b636216f39ae4d8f4c5c310f5058ec2283ee3955 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Oct 2017 13:48:04 +0100 -Subject: [PATCH 128/175] amba-pl011: Report AUTOCTS capability to framework +Subject: [PATCH 128/201] amba-pl011: Report AUTOCTS capability to framework The PL011 has full hardware RTS/CTS support which is enabled by the driver when flow control is requested. However, it doesn't @@ -135439,10 +135439,10 @@ index b224306633f62c398ef904734a903d4e75df65c3..3b743cf8a94c279ff8d0b747f98062d0 if (uap->vendor->oversampling) { -From 00828bc03a7d34fa17f7b2bce51d033927b5daa5 Mon Sep 17 00:00:00 2001 +From dfaa9137abedd793201a9caedd7d273dc20e154c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Oct 2017 09:20:56 +0100 -Subject: [PATCH 129/175] scripts: Update mkknlimg, just in case +Subject: [PATCH 129/201] scripts: Update mkknlimg, just in case With the removal of the vc_cma driver, mkknlimg lost an indication that the user had built a downstream kernel. Update the script, adding a few @@ -135485,10 +135485,10 @@ index 84be2593ec1de8f97b0167ff06b3e05d231c4ba0..d72e15224232d5164374e93be48949bf my $res = try_extract($kernel_file, $tmpfile1); -From 58a67efc17b88d116b930febc5c9567d7498164a Mon Sep 17 00:00:00 2001 +From a17d314e09f1eeff1d0ac803b5469c307f63e9ca Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 14 Nov 2017 15:13:15 +0000 -Subject: [PATCH 130/175] AXI performance monitor driver (#2222) +Subject: [PATCH 130/201] AXI performance monitor driver (#2222) Uses the debugfs I/F to provide access to the AXI bus performance monitors. @@ -136174,10 +136174,10 @@ index 0000000000000000000000000000000000000000..bafe03b6c000060e78404d65a0aa96d8 +MODULE_LICENSE("GPL"); + -From 20f02066ed613ea130913fe33925952bc59e9dd6 Mon Sep 17 00:00:00 2001 +From be4310b6541e57ae2377e20468401a6f35035560 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Fri, 21 Jul 2017 09:55:12 +0100 -Subject: [PATCH 131/175] Sets the BCDC priority to constant 0 +Subject: [PATCH 131/201] Sets the BCDC priority to constant 0 This is to workaround for a possible issue in the wireless chip firmware where some packets with @@ -136203,10 +136203,10 @@ index 9f2d0b0cf6e5c452ad85a3caef58cf16a8cdad46..b009f3083490c2bc2733424f08f81b9f h->data_offset = offset; BCDC_SET_IF_IDX(h, ifidx); -From 36e2f978f46aad02b073f623689fff8fd0d145be Mon Sep 17 00:00:00 2001 +From 7be728d7550cb9632cc0e44680e8009cbc540214 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2016 13:46:13 -0700 -Subject: [PATCH 132/175] drm/panel: Add support for the Raspberry Pi 7" +Subject: [PATCH 132/201] drm/panel: Add support for the Raspberry Pi 7" Touchscreen. This driver communicates with the Atmel microcontroller for sequencing @@ -136787,10 +136787,10 @@ index 0000000000000000000000000000000000000000..1a536fe4d040f5fafe324baee110a622 +MODULE_DESCRIPTION("Raspberry Pi 7-inch touchscreen driver"); +MODULE_LICENSE("GPL v2"); -From ff80f0caeb6e761dda305c3c7c6c345f445a6266 Mon Sep 17 00:00:00 2001 +From 4cf15c95ccae8990c915adc0f7b35e8808ff7284 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Apr 2017 17:52:56 -0700 -Subject: [PATCH 133/175] panel-raspberrypi-touchscreen: Fix NULL deref if +Subject: [PATCH 133/201] panel-raspberrypi-touchscreen: Fix NULL deref if probe order goes wrong. If the i2c driver hadn't pobed before the panel driver probes, then @@ -136817,10 +136817,10 @@ index 1a536fe4d040f5fafe324baee110a6225dd0be08..5d6bfd81b07a11a0cb407f4301d22931 } -From e9c9c22965537cabc09b8684b5db1dee8c3ecf2d Mon Sep 17 00:00:00 2001 +From 4f9f1e26ba498259410e7c69a47ce73f74881505 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 6 Mar 2017 12:17:16 -0800 -Subject: [PATCH 134/175] panel-raspberrypi-touchscreen: Round up clk rate to +Subject: [PATCH 134/201] panel-raspberrypi-touchscreen: Round up clk rate to fix DSI panel. Commit 488f9bc8e3def93e0baef53cee2026c2cb0d8956 slightly increased the @@ -136855,10 +136855,10 @@ index 5d6bfd81b07a11a0cb407f4301d22931705fb8b1..b57b7ad9aa4c5048186e98553af59ec9 .hsync_start = HACT + HFP, .hsync_end = HACT + HFP + HSW, -From a36f6a9d8c0573dc968d7678e412cac612ac4dd1 Mon Sep 17 00:00:00 2001 +From 9cd5dce6a01a330a307a4e9c7a1914d8ec698386 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 12:29:45 -0700 -Subject: [PATCH 135/175] BCM270X: Add the DSI panel to the defconfig. +Subject: [PATCH 135/201] BCM270X: Add the DSI panel to the defconfig. Signed-off-by: Eric Anholt --- @@ -136879,10 +136879,10 @@ index 9dcb58a519d041fadae99c81a7bda621b2a49f12..003209bf2362c2a136ab987b2f20065e CONFIG_DRM_VC4=m CONFIG_FB=y -From 2b98630a52a502e3e950849f11ca39ce6394fc82 Mon Sep 17 00:00:00 2001 +From 6ef35341d1f82a0f8d2bc8558a02108cc0a8caba Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 6 Jul 2017 11:45:48 -0700 -Subject: [PATCH 136/175] drm/vc4: Add support for setting DPMS in firmwarekms. +Subject: [PATCH 136/201] 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 @@ -136985,10 +136985,10 @@ index d170775ccc985637ff018804f510a5003933c9ec..766f700417f7194d6b01fa1bc18dad40 if (!vc4_encoder) return -ENOMEM; -From 0bcc863a8836e1bad2ef94cee3ce243cee02577a Mon Sep 17 00:00:00 2001 +From eadb4d326f8aa01fe252b17e9a413063bcda97ba Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 14 Jul 2017 17:33:08 -0700 -Subject: [PATCH 137/175] drm/vc4: Fix pitch setup for T-format scanout. +Subject: [PATCH 137/201] drm/vc4: Fix pitch setup for T-format scanout. The documentation said to use src_w here, and I didn't consider that we actually needed to be using pitch somewhere in our setup. Fixes @@ -137036,10 +137036,10 @@ index 2968b3ebb895714cb8c8faeaf40dff1c996f2259..4ad0b9fcae99f74fb89d09dd52d9ffe5 DRM_DEBUG_KMS("Unsupported FB tiling flag 0x%16llx", (long long)fb->modifier); -From 827a68ac66d4f474c30ce0ef7461bd3ba3292c60 Mon Sep 17 00:00:00 2001 +From 5564baaa1d51b5513d76762fe6b8bcca10536734 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 24 Aug 2017 16:16:16 +0100 -Subject: [PATCH 138/175] brcmfmac: Disable ARP offloading when promiscuous +Subject: [PATCH 138/201] 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 @@ -137176,10 +137176,10 @@ index a4dd313140f37dc1fbb6955e1148f48bccf22f44..b9a96cbc70f0865ee8c9cff3c6164144 bool is_p2pdev, const char *name, u8 *mac_addr); void brcmf_remove_interface(struct brcmf_if *ifp, bool rtnl_locked); -From 19cbd9db97fc746aeacb0fe98dafd6a946704649 Mon Sep 17 00:00:00 2001 +From c73189c392bfee92f88c7b3eeaf2e491f40079ca Mon Sep 17 00:00:00 2001 From: Kevin Cernekee Date: Sat, 16 Sep 2017 21:08:22 -0700 -Subject: [PATCH 139/175] brcmfmac: Avoid possible out-of-bounds read +Subject: [PATCH 139/201] brcmfmac: Avoid possible out-of-bounds read In brcmf_p2p_notify_rx_mgmt_p2p_probereq(), chanspec is assigned before the length of rxframe is validated. This could lead to uninitialized @@ -137217,10 +137217,10 @@ index 2ce675ab40ef867cf6a86ca5257a6db7ef76e80a..1c450c0727cb577f7dae25a1ce82b2db return 0; } -From 04a190b80c47ad610ef62de66079259548418334 Mon Sep 17 00:00:00 2001 +From 2668907312a5346ff64956342b37387091ae8edd Mon Sep 17 00:00:00 2001 From: Kevin Cernekee Date: Sat, 16 Sep 2017 21:08:23 -0700 -Subject: [PATCH 140/175] brcmfmac: Delete redundant length check +Subject: [PATCH 140/201] brcmfmac: Delete redundant length check brcmf_fweh_process_event() sets event->datalen to the endian-swapped value of event_packet->msg.datalen, which is the @@ -137251,10 +137251,10 @@ index ef72baf6dd969c2478a2138ea57b9f691fdf12d8..e7eaa57d11d98f61280bd99013e649aa /* special handling of interface event */ if (event->code == BRCMF_E_IF) { -From 7a4d0e3bf082eb9f8042425c2c722379222a61ec Mon Sep 17 00:00:00 2001 +From 36aaacc4ae6fe43427f75ffdef1d4cb9b321976b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Nov 2017 11:03:22 +0000 -Subject: [PATCH 141/175] mcp2515: Use DT-supplied interrupt flags +Subject: [PATCH 141/201] mcp2515: Use DT-supplied interrupt flags The MCP2515 datasheet clearly describes a level-triggered interrupt pin. Therefore the receiving interrupt controller must also be @@ -137290,10 +137290,10 @@ index f3f05fea8e1f8e0ad3a1ebd7461d2019835e1d47..6c2d3aba25918f5536b2d67292334e74 flags | IRQF_ONESHOT, DEVICE_NAME, priv); if (ret) { -From e5b244cc3f5db5238fcd59673e60c871930a7d62 Mon Sep 17 00:00:00 2001 +From 4cf038b0db7d1283a584c87be64e6eca1da38a09 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 16 Nov 2017 15:56:17 +0000 -Subject: [PATCH 142/175] Tidy up of the ft5406 driver to use DT (#2189) +Subject: [PATCH 142/201] 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 @@ -137677,10 +137677,10 @@ index 9d7d05482355d168c5c0c42508cd978979ee5f14..40bbde9ce1bc4c51be50f47fc359c74f } -From 967f0e45cc48a89b45eb19e719c512bef8964cfd Mon Sep 17 00:00:00 2001 +From 435f4e101e9650940ed7153fdd4285f029bf4c2b Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 143/175] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 143/201] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -137702,10 +137702,10 @@ index ff782445dfb75d1a8af9eed775b8e8f7b275fee3..786efcddb5e56a06baf67cb91ddbbd8e .can_sleep = false, }; -From 90f42cd656e3fc0cd13d8b99cf0a18033d87d6ef Mon Sep 17 00:00:00 2001 +From 0f89084221947259d549a80e5a46307336a14ef0 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 24 Nov 2017 13:49:26 +0000 -Subject: [PATCH 144/175] fiq_fsm: rewind DMA pointer for OUT transactions that +Subject: [PATCH 144/201] fiq_fsm: rewind DMA pointer for OUT transactions that fail (#2288) See: https://github.com/raspberrypi/linux/issues/2140 @@ -137749,10 +137749,10 @@ index e47d5b6de3ada73896ff9a81abd223d345e0de4f..ec804c7cd06d2db897ce6f72fce29733 if (st->nr_errors >= 3) { st->fsm = FIQ_NP_SPLIT_HS_ABORTED; -From 41289b93c20500d54cfc2d7d1210721a1efbd17e Mon Sep 17 00:00:00 2001 +From 1bb24111305718fdec2a03d394816c80c6d8b746 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 21 Jul 2017 11:30:18 +0100 -Subject: [PATCH 145/175] lan78xx: Read MAC address from DT if present +Subject: [PATCH 145/201] lan78xx: Read MAC address from DT if present There is a standard mechanism for locating and using a MAC address from the Device Tree. Use this facility in the lan78xx driver to support @@ -137799,10 +137799,10 @@ index 0161f77641fac8eafc1284a5457a7ccb273efc39..01e72b267de8f2a82fbe1ab4557dcaab (addr[2] << 16) | (addr[3] << 24); addr_hi = addr[4] | (addr[5] << 8); -From d2e95c632662738c67b0e9a07a04b7c2c8afbdd6 Mon Sep 17 00:00:00 2001 +From bae039615a254018c9ae0f19e89cf0cef2071cc0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Nov 2017 12:02:37 +0000 -Subject: [PATCH 146/175] lan78xx: Correctly indicate invalid OTP +Subject: [PATCH 146/201] lan78xx: Correctly indicate invalid OTP lan78xx_read_otp tries to return -EINVAL in the event of invalid OTP content, but the value gets overwritten before it is returned and the @@ -137829,10 +137829,10 @@ index 01e72b267de8f2a82fbe1ab4557dcaab67532da9..126fe75e75b19c1076a7dd4415a90403 return ret; -From 918f70c990a79143746894712ec0b471c370fbf2 Mon Sep 17 00:00:00 2001 +From 39649e39f8d29446663857849ad658593fd88e39 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 15:04:29 +0100 -Subject: [PATCH 147/175] lan78xx: Enable LEDs and auto-negotiation +Subject: [PATCH 147/201] 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 @@ -137880,10 +137880,10 @@ index 126fe75e75b19c1076a7dd4415a904035ba95402..26e04c732df49d09939d470c61a9ab46 ret = lan78xx_read_reg(dev, MAC_TX, &buf); -From fe8440224cee2a9729ede0ed864985d2d37c1804 Mon Sep 17 00:00:00 2001 +From 6b6ce2e5700732f07bf9626ff2f5e1c49eb37a8d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 27 Nov 2017 17:14:54 +0000 -Subject: [PATCH 148/175] cgroup: Disable cgroup "memory" by default +Subject: [PATCH 148/201] 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: @@ -137953,10 +137953,10 @@ index 030e4286f14c715ecb87fc7d2cc93d451bc2e860..c9b7a0cd1e3026b5e8d91fa5d252ddd5 * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From 8bd0462ab0a6a401a4232778c733b79fa0cb47be Mon Sep 17 00:00:00 2001 +From 859b45291f9ebb645482ac81fbe7ab64cde7ae72 Mon Sep 17 00:00:00 2001 From: Allen Wild Date: Tue, 26 Sep 2017 19:37:44 +0200 -Subject: [PATCH 149/175] thermal: enable broadcom menu for arm64 bcm2835 +Subject: [PATCH 149/201] thermal: enable broadcom menu for arm64 bcm2835 Moving the bcm2835 thermal driver to the broadcom directory prevented it from getting enabled for arm64 builds, since the broadcom directory is only @@ -137987,10 +137987,10 @@ index 07002df4f83acdde2efdf3f51299976ef25d2e1e..e3f0d1fd1720355bc601e766356ac528 endmenu -From 1c79fc48b0630e54602b2d5560c2263d956dfd25 Mon Sep 17 00:00:00 2001 +From 845af8c622940f97ff8dc857600385667fa74344 Mon Sep 17 00:00:00 2001 From: Gottfried Haider Date: Tue, 26 Sep 2017 11:59:51 +0000 -Subject: [PATCH 150/175] pwm: Set class for exported channels in sysfs +Subject: [PATCH 150/201] pwm: Set class for exported channels in sysfs [ Upstream commit 7e5d1fd75c3dde9fc10c4472b9368089d1b81d00 ] @@ -138026,10 +138026,10 @@ index a813239300c3d46bba1320caac77ec7adc8363a8..83f2b0b15712bf5745a0dc3a231c5ed0 export->child.parent = parent; export->child.devt = MKDEV(0, 0); -From 2a1eec79538868b62eaf9e607556573915ec2c26 Mon Sep 17 00:00:00 2001 +From d176ddddb0387113e33b8125683061e142eb2024 Mon Sep 17 00:00:00 2001 From: Giedrius Trainavicius Date: Tue, 25 Oct 2016 01:47:20 +0300 -Subject: [PATCH 151/175] Updates for Pisound module code: +Subject: [PATCH 151/201] Updates for Pisound module code: * Merged 'Fix a warning in DEBUG builds' (1c8b82b). * Updating some strings and copyright information. @@ -138454,10 +138454,10 @@ index 06ff1e53dc9d860946965b6303577762f958fae2..09739d51b70b877e24e4f74f6aaadebd +MODULE_DESCRIPTION("ASoC Driver for Pisound, https://blokas.io/pisound"); MODULE_LICENSE("GPL v2"); -From e3f9f63d1c45361937edd68dd45cc80cb1e77602 Mon Sep 17 00:00:00 2001 +From 61c2d1de32361236a980f898ea21e0672180c4a5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 9 Dec 2017 21:45:12 +0000 -Subject: [PATCH 152/175] overlays: Add applepi-dac overlay +Subject: [PATCH 152/201] overlays: Add applepi-dac overlay See: https://github.com/raspberrypi/linux/issues/2302 @@ -138562,10 +138562,10 @@ index 0000000000000000000000000000000000000000..fc02b295470efce41d61be241ba55022 + dtc -@ -H epapr -O dtb -o ApplePi-DAC.dtbo -W no-unit_address_vs_reg ApplePi-DAC.dts +*/ -From b4051dde9302052f762ba740960fbe12d1ea3b25 Mon Sep 17 00:00:00 2001 +From 8bb0b788b913fcb8b1061edf1f7d4a9d8d969ff1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 12 Dec 2017 12:12:46 +0000 -Subject: [PATCH 153/175] staging: vchiq_arm: Make debugfs failure non-fatal +Subject: [PATCH 153/201] staging: vchiq_arm: Make debugfs failure non-fatal It can be useful to be able to open multiple vchiq instances in a single process. This currently fails due to a debugfs collision, @@ -138594,10 +138594,10 @@ index 314ffac50bb8303971ca71a5f702f07fb8ed6639..e4bad872b7e547de268648fae690524f sema_init(&instance->insert_event, 0); sema_init(&instance->remove_event, 0); -From 23e72998849647cecbbbde564a4672ce91176fb2 Mon Sep 17 00:00:00 2001 +From 46c104d48839d145474d03b4074488ff2589cc9b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 23 Dec 2017 22:10:37 +0000 -Subject: [PATCH 154/175] config: Add PINCTRL_MCP23S08 +Subject: [PATCH 154/201] config: Add PINCTRL_MCP23S08 As of Linux 4.12, the mcp23s08 driver moved from drivers/gpio to drivers/pinctrl. At the same time, the Kconfig symbols changed @@ -138638,10 +138638,10 @@ index c1da808d40bc8e867b41d3566bd60a758d052bdb..4cfd4e6a339009536d6ebaaff36e4007 CONFIG_GPIO_PCF857X=m CONFIG_GPIO_ARIZONA=m -From 98d11abfc4eaa2a6572f57f6b1b3e49657895456 Mon Sep 17 00:00:00 2001 +From 2af803bb1b10c902c03e6e5cd13cec4ee5fe7171 Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Thu, 21 Dec 2017 09:29:39 +0100 -Subject: [PATCH 155/175] Add Raspberry Pi firmware driver to the dependencies +Subject: [PATCH 155/201] Add Raspberry Pi firmware driver to the dependencies of backlight driver Otherwise the backlight driver fails to build if the firmware @@ -138665,10 +138665,10 @@ index e345a32945b7ec0712cebd0ac8e62c9e8955e24f..9244f2f7b642c6fe5725f0b3b841cece If you have the Raspberry Pi DSI touchscreen display, say Y to enable the mailbox-controlled backlight driver. -From afc041f17a226af560d5b4edf46cab8938b8a663 Mon Sep 17 00:00:00 2001 +From f15d2a7e3e646b9a2c85cc13474ab0b9e3f6ff89 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Sun, 24 Dec 2017 21:57:05 +0000 -Subject: [PATCH 156/175] overlays: Add media center HAT overlay (#2313) +Subject: [PATCH 156/201] overlays: Add media center HAT overlay (#2313) --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -138863,10 +138863,10 @@ index 0000000000000000000000000000000000000000..a42b8e2a846c6e614ca807f798bef238 + }; +}; -From 2fe406b123491456b31d4bf731be407cc31e32bf Mon Sep 17 00:00:00 2001 +From fe0a2683a2bbe729ec74cd4d7435e77d9aeb37bf Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 28 Dec 2017 17:31:52 +0000 -Subject: [PATCH 157/175] add backlight control to rpi-display overlay +Subject: [PATCH 157/201] add backlight control to rpi-display overlay --- arch/arm/boot/dts/overlays/README | 1 + @@ -138910,10 +138910,10 @@ index d7e72eef594e08b309ffbaa04f43c68909c08f36..533b5c140b5447a0bcf426fee0a8b321 }; }; -From 456959b59a5fe3454a41b877945d7d379c7a922a Mon Sep 17 00:00:00 2001 +From 4340e66db1466d98e2955a76a9e9b0a5c70d01d4 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 28 Dec 2017 17:34:54 +0000 -Subject: [PATCH 158/175] add backlight control to media-center overlay +Subject: [PATCH 158/201] add backlight control to media-center overlay --- arch/arm/boot/dts/overlays/README | 1 + @@ -138960,10 +138960,10 @@ index a42b8e2a846c6e614ca807f798bef238ad002535..ce4db35228e9f68e3f3f40f0f9c02f89 gpio_out_pin = <&lirc_pins>,"brcm,pins:0"; gpio_in_pin = <&lirc_pins>,"brcm,pins:4"; -From c212fe7c3903d30a8e42b956fbbe6506f3de370f Mon Sep 17 00:00:00 2001 +From b6aa8f68bb98befe327dac394280cff8ed4cea3b Mon Sep 17 00:00:00 2001 From: penfold42 Date: Tue, 2 Jan 2018 00:15:19 +1100 -Subject: [PATCH 159/175] Add overlay for mcp3202 12 bit ADC +Subject: [PATCH 159/201] Add overlay for mcp3202 12 bit ADC --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -139216,10 +139216,10 @@ index 0000000000000000000000000000000000000000..9902c4614ea1f9e5725b3c4a2e62429a + }; +}; -From c287a762fe9b4001a09da6df07d696ebd85574be Mon Sep 17 00:00:00 2001 +From 0a7f7ca113a71789fc5f43717cd7e0dd5c8a1967 Mon Sep 17 00:00:00 2001 From: Stefan Schake Date: Sat, 2 Dec 2017 18:40:39 +0100 -Subject: [PATCH 160/175] drm/vc4: Release fence after signalling +Subject: [PATCH 160/201] drm/vc4: Release fence after signalling [ Upstream commit babc8110057cb9ca542c3c1666cbda4e8ccf9250 ] @@ -139266,10 +139266,10 @@ index 7d7af3a93d941bb9552afc1140c408c8da86be37..fc1fc43a924dcc0c44a7a13858bfb53c } vc4_submit_next_render_job(dev); -From b7a56c84d45e63b999d7af0820a32fc078804194 Mon Sep 17 00:00:00 2001 +From 9a9777684a05f6b427b978d2d9fc0a5ab272aa17 Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 9 Jan 2018 15:16:35 +0000 -Subject: [PATCH 161/175] dwc_otg: don't unconditionally force host mode in +Subject: [PATCH 161/201] dwc_otg: don't unconditionally force host mode in dwc_otg_cil_init() Add the ability to disable force_host_mode for those that want to use @@ -139330,10 +139330,10 @@ index af123d01f3ef9f99450c78efdf766ca35e15cbc9..e945900c503cb383d754381b055955b1 * * The following parameters may be specified when starting the module. -From fc65eafae43a8d92e82b2e2222c32124e8982e36 Mon Sep 17 00:00:00 2001 +From 6889eaa3913832dfbbd54563b22411b589bec178 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Thu, 4 Jan 2018 23:58:06 +0900 -Subject: [PATCH 162/175] vcsm: Define cache operation constants in user header +Subject: [PATCH 162/201] vcsm: Define cache operation constants in user header Without this change, users have to use raw values (1, 2, 3) to specify cache operation. @@ -139377,10 +139377,10 @@ index b75729d762f25aace133f7a008633b4094ae2de2..ddbeebc71ada82e88a1668fbdfd9821a struct vmcs_sm_ioctl_alloc { /* user -> kernel */ -From 8783d03b98b0fc46b5373fc7230dab6deccafc79 Mon Sep 17 00:00:00 2001 +From e3343bc0a679929bdb6eb0cde17f3a0d7d7744ac Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Fri, 5 Jan 2018 00:01:30 +0900 -Subject: [PATCH 163/175] vcsm: Support for finding user/vc handle in memory +Subject: [PATCH 163/201] vcsm: Support for finding user/vc handle in memory pool vmcs_sm_{usr,vc}_handle_from_pid_and_address() were failing to find @@ -139422,10 +139422,10 @@ index 53843054d7617716761b74d8a3d91551b91ffb75..abd770566ed30102b95a01cec6a3825b pr_debug("[%s]: global map %p (pid %u, addr %lx) -> usr-hdl %x (vc-hdl %x)\n", -From 994237465f1628ca5eebddbb672e700f79359158 Mon Sep 17 00:00:00 2001 +From 70863f0684d05d286c54776d566890d6237c6016 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Fri, 5 Jan 2018 00:44:00 +0900 -Subject: [PATCH 164/175] vcsm: Unify cache manipulating functions +Subject: [PATCH 164/201] vcsm: Unify cache manipulating functions Signed-off-by: Sugizaki Yukimasa --- @@ -139811,10 +139811,10 @@ index abd770566ed30102b95a01cec6a3825b23afcd9d..b6cdc1934ad2092892898559f6f0d481 kfree(block); } -From f3fc73305ecadea9f11eba6458748f3e7a8a5037 Mon Sep 17 00:00:00 2001 +From 7dc83438d7f87a2ff1f91f166dc1bbb38dc03cf4 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Mon, 8 Jan 2018 21:07:17 +0900 -Subject: [PATCH 165/175] vcsm: Fix obscure conditions +Subject: [PATCH 165/201] vcsm: Fix obscure conditions Signed-off-by: Sugizaki Yukimasa --- @@ -139846,10 +139846,10 @@ index b6cdc1934ad2092892898559f6f0d481a7744fa9..95963ffba51afdbdfec26a8c75eec0f5 return -EINVAL; } -From 8fe4d3e8f053c9c7f1a5605bf4c78f5e02cd720e Mon Sep 17 00:00:00 2001 +From fc3017545e5eeda9213ea5be6ffa22a248a5cf4a Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Mon, 8 Jan 2018 21:11:23 +0900 -Subject: [PATCH 166/175] vcsm: Fix memory leaking on clean_invalid2 ioctl +Subject: [PATCH 166/201] vcsm: Fix memory leaking on clean_invalid2 ioctl handler Signed-off-by: Sugizaki Yukimasa @@ -139871,10 +139871,10 @@ index 95963ffba51afdbdfec26a8c75eec0f5e0c2f4e1..380437f41cc64902c9576e53d0beaf76 kfree(block); } -From eb5e1b9c8bd6947edc89251bd71e8493f175aac1 Mon Sep 17 00:00:00 2001 +From 4639822b5395adf37dfbbc462bdb0c3d40608339 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Mon, 8 Jan 2018 21:15:13 +0900 -Subject: [PATCH 167/175] vcsm: Describe the use of cache operation constants +Subject: [PATCH 167/201] vcsm: Describe the use of cache operation constants Signed-off-by: Sugizaki Yukimasa --- @@ -139913,10 +139913,10 @@ index ddbeebc71ada82e88a1668fbdfd9821a39d7cd22..e881fa8ee8e1474cdaa0759b742a5f67 /* user -> kernel */ struct { -From fb33f460d73032245d82df8758d48ade6451da3d Mon Sep 17 00:00:00 2001 +From dc8f13b3910d196183b29cb20f2632b169e40ba8 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Tue, 9 Jan 2018 12:33:24 +0900 -Subject: [PATCH 168/175] vcsm: Fix obscure conditions again +Subject: [PATCH 168/201] vcsm: Fix obscure conditions again Signed-off-by: Sugizaki Yukimasa --- @@ -139939,10 +139939,10 @@ index 380437f41cc64902c9576e53d0beaf76ccdc1551..0d14c511da2ab8f542d51ad87746be85 pr_debug("[%s]: global map %p (pid %u, addr %lx) -> usr-hdl %x (vc-hdl %x)\n", -From a274eecd24dc04e12918c977f8b3a7b066925b49 Mon Sep 17 00:00:00 2001 +From cc8c97c4dcef600ec8c5f720e8c707a9169b5234 Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Wed, 10 Jan 2018 04:32:20 +0900 -Subject: [PATCH 169/175] vcsm: Add no-op cache operation constant +Subject: [PATCH 169/201] vcsm: Add no-op cache operation constant Signed-off-by: Sugizaki Yukimasa --- @@ -140005,10 +140005,10 @@ index e881fa8ee8e1474cdaa0759b742a5f67c122c9eb..a4492b921b48e2c7fdd2745f2d2bad48 #define VCSM_CACHE_OP_CLEAN 0x02 #define VCSM_CACHE_OP_FLUSH 0x03 -From c3fc6d99ac2adccc9c886ebf15118d3e11da9da0 Mon Sep 17 00:00:00 2001 +From a12ca58115215b97d90d315a3132176d5c30c4df Mon Sep 17 00:00:00 2001 From: Sugizaki Yukimasa Date: Wed, 10 Jan 2018 06:25:51 +0900 -Subject: [PATCH 170/175] vcsm: Revert to do page-table-walk-based cache +Subject: [PATCH 170/201] vcsm: Revert to do page-table-walk-based cache manipulating on some ioctl calls On FLUSH, INVALID, CLEAN_INVALID ioctl calls, cache operations based on @@ -140243,10 +140243,10 @@ index 122ea149790b549aa7550ddb9cff64dc2195fc61..1bc37ee882255c0d05beac58bb3b9e31 break; } -From 3d32be3d432566ec14507267e574ec9dc3478fdc Mon Sep 17 00:00:00 2001 +From ddb358bb53765d3ca2c6a88f5e0afea2e3b670d9 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 4 Jan 2018 15:02:16 +0000 -Subject: [PATCH 171/175] add gpio-key overlay (#2329) +Subject: [PATCH 171/201] add gpio-key overlay (#2329) An overlay that allows a Linux key to be bound to a GPIO. --- @@ -140355,10 +140355,10 @@ index 0000000000000000000000000000000000000000..333d016d6f02981f69acedbf683171b4 + +}; -From 2a1e59afcf73f96f8c8d439f626141516ebc7530 Mon Sep 17 00:00:00 2001 +From c0f292abf10d876de6eab351ae31fbe21c477597 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Fri, 5 Jan 2018 15:08:37 +0000 -Subject: [PATCH 172/175] add additional overrides to rotary-encoder overlay +Subject: [PATCH 172/201] add additional overrides to rotary-encoder overlay (#2334) --- @@ -140435,10 +140435,10 @@ index c0c6bccff60cc15d9a9bf59d2c7cba41eb9c1cdc..f88f8a39d9a2f2afbf80edf2d9b32841 }; }; -From 5722b01a152b6f3cedef3b6f8d77d959d6d80c5f Mon Sep 17 00:00:00 2001 +From 775be202cf30f32b086f9bb64b120ba38c687e2e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 12 Jan 2018 09:15:01 +0000 -Subject: [PATCH 173/175] overlays: Add uart0 overlay to change pin usage +Subject: [PATCH 173/201] overlays: Add uart0 overlay to change pin usage Signed-off-by: Phil Elwell --- @@ -140524,10 +140524,10 @@ index 0000000000000000000000000000000000000000..20b2a609c511b017d1231e08c901d165 + }; +}; -From 1a26624f96adffb7efe5403fe87995f4f323b1bd Mon Sep 17 00:00:00 2001 +From b51e64e9ee6e723cc38a2e0b24751745ed8954b4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jan 2018 13:54:41 +0000 -Subject: [PATCH 174/175] Revert "softirq: Let ksoftirqd do its job" +Subject: [PATCH 174/201] Revert "softirq: Let ksoftirqd do its job" This reverts commit 4cd13c21b207e80ddb1144c576500098f2d5f882. --- @@ -140576,10 +140576,10 @@ index 4e09821f9d9e8b5815037bd469110e2618abb7f6..58bb6f6359f4ea3fa46008060a1c9cbd #ifdef CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK /* -From 73c278e89be28e95b5f4ba032051db7742da32c5 Mon Sep 17 00:00:00 2001 +From 36db437449567b828e0e19e460a9f45f8a57fe99 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 16 Jan 2018 12:59:17 +0000 -Subject: [PATCH 175/175] overlays: Fix resetgpio and ledgpio for hy28a/b +Subject: [PATCH 175/201] overlays: Fix resetgpio and ledgpio for hy28a/b Offsets for overlay parameters are specified in bytes, not in access units. @@ -140622,3 +140622,2647 @@ index 8018aebde8e557f45ffd63eb86f6c7a1048fe3cb..70c1118064b64be1811ed2f1bb04efd6 + <&hy28b_pins>, "brcm,pins:8"; }; }; + +From 803e3c3b090dafdc3b17c3454ebce9ffc329ff61 Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Thu, 18 Jan 2018 12:36:44 +0100 +Subject: [PATCH 176/201] ASoC: bcm2835: fix hw_params error when device is in + prepared state (#2345) + +commit 8d5737a5f53902a916ee1e1cb248c9b8b883b2ea upstream. + +If bcm2835 is configured as bitclock master calling hw_params() +after prepare() fails with EBUSY. This also makes it impossible to +use bcm2835 in full duplex mode. + +The error is caused by the split clock setup: clk_set_rate +is called in hw_params, clk_prepare_enable in prepare. As hw_params +doesn't check if the clock was already enabled clk_set_rate +fails with EBUSY. + +Fix this by moving clock startup from prepare to hw_params and +let hw_params properly deal with an already set up or enabled +clock. + +Signed-off-by: Matthias Reichl +--- + sound/soc/bcm/bcm2835-i2s.c | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c +index 2e449d7173fcecbcd647f90a26bd58b6c421bcde..d5f73a8ab8932768c4df1470e94e78bff98d7787 100644 +--- a/sound/soc/bcm/bcm2835-i2s.c ++++ b/sound/soc/bcm/bcm2835-i2s.c +@@ -130,6 +130,7 @@ struct bcm2835_i2s_dev { + struct regmap *i2s_regmap; + struct clk *clk; + bool clk_prepared; ++ int clk_rate; + }; + + static void bcm2835_i2s_start_clock(struct bcm2835_i2s_dev *dev) +@@ -419,10 +420,19 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream, + } + + /* Clock should only be set up here if CPU is clock master */ +- if (bit_clock_master) { +- ret = clk_set_rate(dev->clk, bclk_rate); +- if (ret) +- return ret; ++ if (bit_clock_master && ++ (!dev->clk_prepared || dev->clk_rate != bclk_rate)) { ++ if (dev->clk_prepared) ++ bcm2835_i2s_stop_clock(dev); ++ ++ if (dev->clk_rate != bclk_rate) { ++ ret = clk_set_rate(dev->clk, bclk_rate); ++ if (ret) ++ return ret; ++ dev->clk_rate = bclk_rate; ++ } ++ ++ bcm2835_i2s_start_clock(dev); + } + + /* Setup the frame format */ +@@ -618,8 +628,6 @@ static int bcm2835_i2s_prepare(struct snd_pcm_substream *substream, + struct bcm2835_i2s_dev *dev = snd_soc_dai_get_drvdata(dai); + uint32_t cs_reg; + +- bcm2835_i2s_start_clock(dev); +- + /* + * Clear both FIFOs if the one that should be started + * is not empty at the moment. This should only happen + +From f699a6fbdeb37d160b6ac3acb2f24fd137f8b761 Mon Sep 17 00:00:00 2001 +From: Ahmet Inan +Date: Sat, 14 Oct 2017 10:10:53 -0700 +Subject: [PATCH 177/201] Input: add I2C attached EETI EXC3000 multi touch + driver + +commit 7e577a17f2eefeef32f1106ebf91e7cd143ba654 upstream. +beware: code adapted to use the old timer API. + +The 3000 series have a new protocol which allows to report up to 5 points +in a single 66 byte frame. One must always read in 66 byte frames. +To support up to 10 points, two consecutive frames need to be read: +The first frame says how many points until sync. +The second frame must say zero points or both frames must be discarded. + +To be able to work with the higher 400KHz I2C bus rate, one must +successfully send a special package prior _each_ read or the controller +will refuse to cooperate. + +This is a minimal implementation based on egalax_i2c.c (which can be found +on the internet) and egalax_ts.c but without the vendor interface and no +power management support. + +Signed-off-by: Ahmet Inan +Acked-by: Rob Herring +Signed-off-by: Dmitry Torokhov +--- + .../bindings/input/touchscreen/exc3000.txt | 27 +++ + drivers/input/touchscreen/Kconfig | 10 + + drivers/input/touchscreen/Makefile | 1 + + drivers/input/touchscreen/exc3000.c | 223 +++++++++++++++++++++ + 4 files changed, 261 insertions(+) + create mode 100644 Documentation/devicetree/bindings/input/touchscreen/exc3000.txt + create mode 100644 drivers/input/touchscreen/exc3000.c + +diff --git a/Documentation/devicetree/bindings/input/touchscreen/exc3000.txt b/Documentation/devicetree/bindings/input/touchscreen/exc3000.txt +new file mode 100644 +index 0000000000000000000000000000000000000000..1dcff4a43eaa8dc0091803f46b9c45454dd0660d +--- /dev/null ++++ b/Documentation/devicetree/bindings/input/touchscreen/exc3000.txt +@@ -0,0 +1,27 @@ ++* EETI EXC3000 Multiple Touch Controller ++ ++Required properties: ++- compatible: must be "eeti,exc3000" ++- reg: i2c slave address ++- interrupt-parent: the phandle for the interrupt controller ++- interrupts: touch controller interrupt ++- touchscreen-size-x: See touchscreen.txt ++- touchscreen-size-y: See touchscreen.txt ++ ++Optional properties: ++- touchscreen-inverted-x: See touchscreen.txt ++- touchscreen-inverted-y: See touchscreen.txt ++- touchscreen-swapped-x-y: See touchscreen.txt ++ ++Example: ++ ++ touchscreen@2a { ++ compatible = "eeti,exc3000"; ++ reg = <0x2a>; ++ interrupt-parent = <&gpio1>; ++ interrupts = <9 IRQ_TYPE_LEVEL_LOW>; ++ touchscreen-size-x = <4096>; ++ touchscreen-size-y = <4096>; ++ touchscreen-inverted-x; ++ touchscreen-swapped-x-y; ++ }; +diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig +index c5237087c6024ba5520bf624251473c923fae85a..80c3f6e9fae38c12c2fae4dda55e414b44f16258 100644 +--- a/drivers/input/touchscreen/Kconfig ++++ b/drivers/input/touchscreen/Kconfig +@@ -316,6 +316,16 @@ config TOUCHSCREEN_EGALAX_SERIAL + To compile this driver as a module, choose M here: the + module will be called egalax_ts_serial. + ++config TOUCHSCREEN_EXC3000 ++ tristate "EETI EXC3000 multi-touch panel support" ++ depends on I2C ++ help ++ Say Y here to enable support for I2C connected EETI ++ EXC3000 multi-touch panels. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called exc3000. ++ + config TOUCHSCREEN_FUJITSU + tristate "Fujitsu serial touchscreen" + select SERIO +diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile +index cceb83c867a9da8d9885e8c5dc48831dc21f31c3..12ff1216da2019f694d13c79d6c3e29e1ead0f34 100644 +--- a/drivers/input/touchscreen/Makefile ++++ b/drivers/input/touchscreen/Makefile +@@ -39,6 +39,7 @@ obj-$(CONFIG_TOUCHSCREEN_ELAN) += elants_i2c.o + obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o + obj-$(CONFIG_TOUCHSCREEN_EGALAX) += egalax_ts.o + obj-$(CONFIG_TOUCHSCREEN_EGALAX_SERIAL) += egalax_ts_serial.o ++obj-$(CONFIG_TOUCHSCREEN_EXC3000) += exc3000.o + obj-$(CONFIG_TOUCHSCREEN_FUJITSU) += fujitsu_ts.o + obj-$(CONFIG_TOUCHSCREEN_GOODIX) += goodix.o + obj-$(CONFIG_TOUCHSCREEN_ILI210X) += ili210x.o +diff --git a/drivers/input/touchscreen/exc3000.c b/drivers/input/touchscreen/exc3000.c +new file mode 100644 +index 0000000000000000000000000000000000000000..bed0db6999050c3ad5adf9c5d02784a000481245 +--- /dev/null ++++ b/drivers/input/touchscreen/exc3000.c +@@ -0,0 +1,223 @@ ++/* ++ * Driver for I2C connected EETI EXC3000 multiple touch controller ++ * ++ * Copyright (C) 2017 Ahmet Inan ++ * ++ * minimal implementation based on egalax_ts.c and egalax_i2c.c ++ * ++ * 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. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define EXC3000_NUM_SLOTS 10 ++#define EXC3000_SLOTS_PER_FRAME 5 ++#define EXC3000_LEN_FRAME 66 ++#define EXC3000_LEN_POINT 10 ++#define EXC3000_MT_EVENT 6 ++#define EXC3000_TIMEOUT_MS 100 ++ ++struct exc3000_data { ++ struct i2c_client *client; ++ struct input_dev *input; ++ struct touchscreen_properties prop; ++ struct timer_list timer; ++ u8 buf[2 * EXC3000_LEN_FRAME]; ++}; ++ ++static void exc3000_report_slots(struct input_dev *input, ++ struct touchscreen_properties *prop, ++ const u8 *buf, int num) ++{ ++ for (; num--; buf += EXC3000_LEN_POINT) { ++ if (buf[0] & BIT(0)) { ++ input_mt_slot(input, buf[1]); ++ input_mt_report_slot_state(input, MT_TOOL_FINGER, true); ++ touchscreen_report_pos(input, prop, ++ get_unaligned_le16(buf + 2), ++ get_unaligned_le16(buf + 4), ++ true); ++ } ++ } ++} ++ ++static void exc3000_timer(unsigned long d) ++{ ++ struct exc3000_data *data = (void *)d; ++ ++ input_mt_sync_frame(data->input); ++ input_sync(data->input); ++} ++ ++static int exc3000_read_frame(struct i2c_client *client, u8 *buf) ++{ ++ int ret; ++ ++ ret = i2c_master_send(client, "'", 2); ++ if (ret < 0) ++ return ret; ++ ++ if (ret != 2) ++ return -EIO; ++ ++ ret = i2c_master_recv(client, buf, EXC3000_LEN_FRAME); ++ if (ret < 0) ++ return ret; ++ ++ if (ret != EXC3000_LEN_FRAME) ++ return -EIO; ++ ++ if (get_unaligned_le16(buf) != EXC3000_LEN_FRAME || ++ buf[2] != EXC3000_MT_EVENT) ++ return -EINVAL; ++ ++ return 0; ++} ++ ++static int exc3000_read_data(struct i2c_client *client, ++ u8 *buf, int *n_slots) ++{ ++ int error; ++ ++ error = exc3000_read_frame(client, buf); ++ if (error) ++ return error; ++ ++ *n_slots = buf[3]; ++ if (!*n_slots || *n_slots > EXC3000_NUM_SLOTS) ++ return -EINVAL; ++ ++ if (*n_slots > EXC3000_SLOTS_PER_FRAME) { ++ /* Read 2nd frame to get the rest of the contacts. */ ++ error = exc3000_read_frame(client, buf + EXC3000_LEN_FRAME); ++ if (error) ++ return error; ++ ++ /* 2nd chunk must have number of contacts set to 0. */ ++ if (buf[EXC3000_LEN_FRAME + 3] != 0) ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++static irqreturn_t exc3000_interrupt(int irq, void *dev_id) ++{ ++ struct exc3000_data *data = dev_id; ++ struct input_dev *input = data->input; ++ u8 *buf = data->buf; ++ int slots, total_slots; ++ int error; ++ ++ error = exc3000_read_data(data->client, buf, &total_slots); ++ if (error) { ++ /* Schedule a timer to release "stuck" contacts */ ++ mod_timer(&data->timer, ++ jiffies + msecs_to_jiffies(EXC3000_TIMEOUT_MS)); ++ goto out; ++ } ++ ++ /* ++ * We read full state successfully, no contacts will be "stuck". ++ */ ++ del_timer_sync(&data->timer); ++ ++ while (total_slots > 0) { ++ slots = min(total_slots, EXC3000_SLOTS_PER_FRAME); ++ exc3000_report_slots(input, &data->prop, buf + 4, slots); ++ total_slots -= slots; ++ buf += EXC3000_LEN_FRAME; ++ } ++ ++ input_mt_sync_frame(input); ++ input_sync(input); ++ ++out: ++ return IRQ_HANDLED; ++} ++ ++static int exc3000_probe(struct i2c_client *client, ++ const struct i2c_device_id *id) ++{ ++ struct exc3000_data *data; ++ struct input_dev *input; ++ int error; ++ ++ data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL); ++ if (!data) ++ return -ENOMEM; ++ ++ data->client = client; ++ setup_timer(&data->timer, exc3000_timer, (unsigned long)data); ++ ++ input = devm_input_allocate_device(&client->dev); ++ if (!input) ++ return -ENOMEM; ++ ++ data->input = input; ++ ++ input->name = "EETI EXC3000 Touch Screen"; ++ input->id.bustype = BUS_I2C; ++ ++ input_set_abs_params(input, ABS_MT_POSITION_X, 0, 4095, 0, 0); ++ input_set_abs_params(input, ABS_MT_POSITION_Y, 0, 4095, 0, 0); ++ touchscreen_parse_properties(input, true, &data->prop); ++ ++ error = input_mt_init_slots(input, EXC3000_NUM_SLOTS, ++ INPUT_MT_DIRECT | INPUT_MT_DROP_UNUSED); ++ if (error) ++ return error; ++ ++ error = input_register_device(input); ++ if (error) ++ return error; ++ ++ error = devm_request_threaded_irq(&client->dev, client->irq, ++ NULL, exc3000_interrupt, IRQF_ONESHOT, ++ client->name, data); ++ if (error) ++ return error; ++ ++ return 0; ++} ++ ++static const struct i2c_device_id exc3000_id[] = { ++ { "exc3000", 0 }, ++ { } ++}; ++MODULE_DEVICE_TABLE(i2c, exc3000_id); ++ ++#ifdef CONFIG_OF ++static const struct of_device_id exc3000_of_match[] = { ++ { .compatible = "eeti,exc3000" }, ++ { } ++}; ++MODULE_DEVICE_TABLE(of, exc3000_of_match); ++#endif ++ ++static struct i2c_driver exc3000_driver = { ++ .driver = { ++ .name = "exc3000", ++ .of_match_table = of_match_ptr(exc3000_of_match), ++ }, ++ .id_table = exc3000_id, ++ .probe = exc3000_probe, ++}; ++ ++module_i2c_driver(exc3000_driver); ++ ++MODULE_AUTHOR("Ahmet Inan "); ++MODULE_DESCRIPTION("I2C connected EETI EXC3000 multiple touch controller driver"); ++MODULE_LICENSE("GPL v2"); + +From 4d372cf956640256e984954fbb0da1de85c7b4c7 Mon Sep 17 00:00:00 2001 +From: Ahmet Inan +Date: Fri, 1 Sep 2017 15:14:23 +0200 +Subject: [PATCH 178/201] config: Add EETI EXC3000 touch controller module + +Signed-off-by: Ahmet Inan +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index 3cc3a9745c1366ef6fc7d8066462c56039d7a071..f1dcc7d974b674199c4f25e8d561f09b152ffa19 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -554,6 +554,7 @@ CONFIG_JOYSTICK_RPISENSE=m + CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m ++CONFIG_TOUCHSCREEN_EXC3000=m + CONFIG_TOUCHSCREEN_GOODIX=m + CONFIG_TOUCHSCREEN_EDT_FT5X06=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 4cfd4e6a339009536d6ebaaff36e4007573cfe63..f2563f6824b6b16d9f44bc0ee1da818bc3ef5ebd 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -549,6 +549,7 @@ CONFIG_JOYSTICK_RPISENSE=m + CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m ++CONFIG_TOUCHSCREEN_EXC3000=m + CONFIG_TOUCHSCREEN_GOODIX=m + CONFIG_TOUCHSCREEN_EDT_FT5X06=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + +From 7ab515ca002cf441672442295ebc17704a46bd49 Mon Sep 17 00:00:00 2001 +From: Ahmet Inan +Date: Fri, 1 Sep 2017 15:18:01 +0200 +Subject: [PATCH 179/201] overlays: Add EETI EXC3000 overlay + +Add support for I2C connected EETI EXC3000 multiple touch controller +using GPIO 4 (pin 7 on GPIO header) for interrupt. + +Signed-off-by: Ahmet Inan +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 12 +++++++ + arch/arm/boot/dts/overlays/exc3000-overlay.dts | 48 ++++++++++++++++++++++++++ + 3 files changed, 61 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/exc3000-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 36db27e205cc3ff33cb49bb6357af9060be8eb17..5f6782edadf63eef2c46064a2f42bfbf204cbc14 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -26,6 +26,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + dwc2.dtbo \ + enc28j60.dtbo \ + enc28j60-spi2.dtbo \ ++ exc3000.dtbo \ + fe-pi-audio.dtbo \ + goodix.dtbo \ + googlevoicehat-soundcard.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index f0a49892c57523a899c770b1e776e35b245b3ab2..620b3c4beae80ee290cba69b32f1fe23344b456d 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -468,6 +468,18 @@ Params: int_pin GPIO used for INT (default 39) + speed SPI bus speed (default 12000000) + + ++Name: exc3000 ++Info: Enables I2C connected EETI EXC3000 multiple touch controller using ++ GPIO 4 (pin 7 on GPIO header) for interrupt. ++Load: dtoverlay=exc3000,= ++Params: interrupt GPIO used for interrupt (default 4) ++ sizex Touchscreen size x (default 4096) ++ sizey Touchscreen size y (default 4096) ++ invx Touchscreen inverted x axis ++ invy Touchscreen inverted y axis ++ swapxy Touchscreen swapped x y axis ++ ++ + Name: fe-pi-audio + Info: Configures the Fe-Pi Audio Sound Card + Load: dtoverlay=fe-pi-audio +diff --git a/arch/arm/boot/dts/overlays/exc3000-overlay.dts b/arch/arm/boot/dts/overlays/exc3000-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..c5694033d03f31391b508b89845b029cb03ae5cd +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/exc3000-overlay.dts +@@ -0,0 +1,48 @@ ++// Device tree overlay for I2C connected EETI EXC3000 multiple touch controller ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&gpio>; ++ __overlay__ { ++ exc3000_pins: exc3000_pins { ++ brcm,pins = <4>; // interrupt ++ brcm,function = <0>; // in ++ brcm,pull = <2>; // pull-up ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ exc3000: exc3000@2a { ++ compatible = "eeti,exc3000"; ++ reg = <0x2a>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&exc3000_pins>; ++ interrupt-parent = <&gpio>; ++ interrupts = <4 8>; // active low level-sensitive ++ touchscreen-size-x = <4096>; ++ touchscreen-size-y = <4096>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ interrupt = <&exc3000_pins>,"brcm,pins:0", ++ <&exc3000>,"interrupts:0"; ++ sizex = <&exc3000>,"touchscreen-size-x:0"; ++ sizey = <&exc3000>,"touchscreen-size-y:0"; ++ invx = <&exc3000>,"touchscreen-inverted-x?"; ++ invy = <&exc3000>,"touchscreen-inverted-y?"; ++ swapxy = <&exc3000>,"touchscreen-swapped-x-y?"; ++ }; ++}; + +From 7c76d487c72038e9b8500c205bd891ca29e5dc2b Mon Sep 17 00:00:00 2001 +From: Yevhen Kyriukha +Date: Sun, 14 Jan 2018 13:36:24 +0200 +Subject: [PATCH 180/201] Added support for mbed AudioCODEC (TLV320AIC23B) + +Signed-off-by: Yevhen Kyriukha +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 6 +++ + arch/arm/boot/dts/overlays/mbed-dac-overlay.dts | 64 +++++++++++++++++++++++++ + 3 files changed, 71 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/mbed-dac-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 5f6782edadf63eef2c46064a2f42bfbf204cbc14..3c8222020562d932681bdc4676b9466aac931552 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -58,6 +58,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + justboom-dac.dtbo \ + justboom-digi.dtbo \ + lirc-rpi.dtbo \ ++ mbed-dac.dtbo \ + mcp23017.dtbo \ + mcp23s17.dtbo \ + mcp2515-can0.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 620b3c4beae80ee290cba69b32f1fe23344b456d..88f67db61e9e3c481a9df0b71e5c303b47261682 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -965,6 +965,12 @@ Params: gpio_out_pin GPIO for output (default "17") + (default "off") + + ++Name: mbed-dac ++Info: Configures the mbed AudioCODEC (TLV320AIC23B) ++Load: dtoverlay=mbed-dac ++Params: ++ ++ + Name: mcp23017 + Info: Configures the MCP23017 I2C GPIO expander + Load: dtoverlay=mcp23017,= +diff --git a/arch/arm/boot/dts/overlays/mbed-dac-overlay.dts b/arch/arm/boot/dts/overlays/mbed-dac-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..313563d6ed47fb1e0db8f8ffa4505b61d5e77108 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/mbed-dac-overlay.dts +@@ -0,0 +1,64 @@ ++// Definitions for mbed DAC ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&i2s>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ tlv320aic23: codec@1a { ++ #sound-dai-cells = <0>; ++ reg = <0x1a>; ++ compatible = "ti,tlv320aic23"; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&sound>; ++ __overlay__ { ++ compatible = "simple-audio-card"; ++ i2s-controller = <&i2s>; ++ status = "okay"; ++ ++ simple-audio-card,name = "mbed-DAC"; ++ ++ simple-audio-card,widgets = ++ "Microphone", "Mic Jack", ++ "Line", "Line In", ++ "Headphone", "Headphone Jack"; ++ ++ simple-audio-card,routing = ++ "Headphone Jack", "LHPOUT", ++ "Headphone Jack", "RHPOUT", ++ "LLINEIN", "Line In", ++ "RLINEIN", "Line In", ++ "MICIN", "Mic Jack"; ++ ++ simple-audio-card,format = "i2s"; ++ ++ simple-audio-card,cpu { ++ sound-dai = <&i2s>; ++ }; ++ ++ sound_master: simple-audio-card,codec { ++ sound-dai = <&tlv320aic23>; ++ system-clock-frequency = <12288000>; ++ }; ++ }; ++ }; ++}; + +From 227a662e6bd5f52888a2df01d497f0811c6c9bad Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 22 Jan 2018 12:17:27 +0000 +Subject: [PATCH 181/201] mmc: bcm2835-sdhost: Support underclocking + +Support underclocking of the SD bus in two ways: +1. using the max-frequency DT property (which currently has no DT + parameter), and +2. using the exiting sd_overclock parameter. + +The two methods differ slightly - in the former the MMC subsystem is +aware of the underclocking, while in the latter it isn't - but the +end results should be the same. + +See: https://github.com/raspberrypi/linux/issues/2350 + +Signed-off-by: Phil Elwell +--- + drivers/mmc/host/bcm2835-sdhost.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c +index 9c6f199a7830959f31012d86bc1f8b1a9922185f..6c0dafe6c64b03f91cfb0360861c29dd444b3ca5 100644 +--- a/drivers/mmc/host/bcm2835-sdhost.c ++++ b/drivers/mmc/host/bcm2835-sdhost.c +@@ -1519,8 +1519,7 @@ void bcm2835_sdhost_set_clock(struct bcm2835_host *host, unsigned int clock) + if (host->debug) + pr_info("%s: set_clock(%d)\n", mmc_hostname(host->mmc), clock); + +- if ((host->overclock_50 > 50) && +- (clock == 50*MHZ)) ++ if (host->overclock_50 && (clock == 50*MHZ)) + clock = host->overclock_50 * MHZ + (MHZ - 1); + + /* The SDCDIV register has 11 bits, and holds (div - 2). +@@ -1894,7 +1893,8 @@ int bcm2835_sdhost_add_host(struct bcm2835_host *host) + + mmc = host->mmc; + +- mmc->f_max = host->max_clk; ++ if (!mmc->f_max || mmc->f_max > host->max_clk) ++ mmc->f_max = host->max_clk; + mmc->f_min = host->max_clk / SDCDIV_MAX_CDIV; + + mmc->max_busy_timeout = (~(unsigned int)0)/(mmc->f_max/1000); + +From b1c4b373e17d7da51a18d65ae35ce689daebe422 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 22 Jan 2018 12:22:01 +0000 +Subject: [PATCH 182/201] mmc: bcm2835-mmc: Support underclocking + +Support underclocking of the SD bus using the max-frequency DT property +(which currently has no DT parameter). The sd_overclock parameter +already provides another way to achieve the same thing which should be +equivalent in end result, but it is a bug not to support max-frequency +as well. + +See: https://github.com/raspberrypi/linux/issues/2350 + +Signed-off-by: Phil Elwell +--- + drivers/mmc/host/bcm2835-mmc.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c +index c4a5e992c6fb4a40b933239350ed4bfc8fb40155..b7f5fd96ecb6c59395022e868726f890ad3cd927 100644 +--- a/drivers/mmc/host/bcm2835-mmc.c ++++ b/drivers/mmc/host/bcm2835-mmc.c +@@ -1310,8 +1310,8 @@ static int bcm2835_mmc_add_host(struct bcm2835_host *host) + + host->clk_mul = 0; + +- mmc->f_max = host->max_clk; +- mmc->f_max = host->max_clk; ++ if (!mmc->f_max || mmc->f_max > host->max_clk) ++ mmc->f_max = host->max_clk; + mmc->f_min = host->max_clk / SDHCI_MAX_DIV_SPEC_300; + + /* SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK */ + +From bde5bc3d8ea7a2e568ca1b3b04799699bf958644 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 22 Jan 2018 17:26:38 +0000 +Subject: [PATCH 183/201] serial: 8250: bcm2835aux - suppress EPROBE_DEFER + +Signed-off-by: Phil Elwell +--- + drivers/tty/serial/8250/8250_bcm2835aux.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c +index a23c7da42ea81342efc26fb35a92a69d535b7cd0..4f8b8c97186879949a313ce185fcd6e089bd7bc0 100644 +--- a/drivers/tty/serial/8250/8250_bcm2835aux.c ++++ b/drivers/tty/serial/8250/8250_bcm2835aux.c +@@ -54,7 +54,8 @@ static int bcm2835aux_serial_probe(struct platform_device *pdev) + data->clk = devm_clk_get(&pdev->dev, NULL); + ret = PTR_ERR_OR_ZERO(data->clk); + if (ret) { +- dev_err(&pdev->dev, "could not get clk: %d\n", ret); ++ if (ret != -EPROBE_DEFER) ++ dev_err(&pdev->dev, "could not get clk: %d\n", ret); + return ret; + } + + +From 60aee17f855f734446ad5abecb5534c39b6a1453 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 23 Jan 2018 16:52:45 +0000 +Subject: [PATCH 184/201] 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 +built in and always present together (both drivers are enabled by +CONFIG_ARCH_BCM2835), it is possible to replace the syscon usage with a +global variable that simplifies the code. Doing so does lose the +locking provided by regmap, but as only one side is using the regmap +interface (irq-bcm2835 uses readl and write) there is no loss of +atomicity. + +See: https://github.com/raspberrypi/firmware/issues/926 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2709.dtsi | 5 ----- + arch/arm/boot/dts/bcm2710.dtsi | 5 ----- + drivers/irqchip/irq-bcm2835.c | 32 ++++++++++++-------------------- + drivers/irqchip/irq-bcm2836.c | 5 +++++ + 4 files changed, 17 insertions(+), 30 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2709.dtsi b/arch/arm/boot/dts/bcm2709.dtsi +index 343437db94820bb75a9b81e8bc6ecf6f31d9f04c..c3aedc6541ad00c9c4312bd2ac5882c19608b76b 100644 +--- a/arch/arm/boot/dts/bcm2709.dtsi ++++ b/arch/arm/boot/dts/bcm2709.dtsi +@@ -6,11 +6,6 @@ + soc { + ranges = <0x7e000000 0x3f000000 0x01000000>, + <0x40000000 0x40000000 0x00040000>; +- +- syscon@40000000 { +- compatible = "brcm,bcm2836-arm-local", "syscon"; +- reg = <0x40000000 0x100>; +- }; + }; + + __overrides__ { +diff --git a/arch/arm/boot/dts/bcm2710.dtsi b/arch/arm/boot/dts/bcm2710.dtsi +index d5ce5b60fb3b63a76831504c53145f828b089993..2169fbd14844dd907f027a36984f3372074b331c 100644 +--- a/arch/arm/boot/dts/bcm2710.dtsi ++++ b/arch/arm/boot/dts/bcm2710.dtsi +@@ -16,11 +16,6 @@ + interrupt-parent = <&local_intc>; + interrupts = <9>; + }; +- +- syscon@40000000 { +- compatible = "brcm,bcm2836-arm-local", "syscon"; +- reg = <0x40000000 0x100>; +- }; + }; + + __overrides__ { +diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c +index 2a11c648cb2fdd5b2ddf4afd1b7e4fc20eee4f4a..ecb0147289746249676125a95c440f83a8d27c2b 100644 +--- a/drivers/irqchip/irq-bcm2835.c ++++ b/drivers/irqchip/irq-bcm2835.c +@@ -50,8 +50,6 @@ + #include + #include + #include +-#include +-#include + + #include + #ifndef CONFIG_ARM64 +@@ -103,7 +101,7 @@ struct armctrl_ic { + void __iomem *enable[NR_BANKS]; + void __iomem *disable[NR_BANKS]; + struct irq_domain *domain; +- struct regmap *local_regmap; ++ void __iomem *local_base; + }; + + static struct armctrl_ic intc __read_mostly; +@@ -140,24 +138,20 @@ static void armctrl_unmask_irq(struct irq_data *d) + if (d->hwirq >= NUMBER_IRQS) { + if (num_online_cpus() > 1) { + unsigned int data; +- int ret; + +- if (!intc.local_regmap) { +- pr_err("FIQ is disabled due to missing regmap\n"); ++ if (!intc.local_base) { ++ pr_err("FIQ is disabled due to missing arm_local_intc\n"); + return; + } + +- ret = regmap_read(intc.local_regmap, +- ARM_LOCAL_GPU_INT_ROUTING, &data); +- if (ret) { +- pr_err("Failed to read int routing %d\n", ret); +- return; +- } ++ data = readl_relaxed(intc.local_base + ++ ARM_LOCAL_GPU_INT_ROUTING); + + data &= ~0xc; + data |= (1 << 2); +- regmap_write(intc.local_regmap, +- ARM_LOCAL_GPU_INT_ROUTING, data); ++ writel_relaxed(data, ++ intc.local_base + ++ ARM_LOCAL_GPU_INT_ROUTING); + } + + writel_relaxed(REG_FIQ_ENABLE | hwirq_to_fiq(d->hwirq), +@@ -256,12 +250,10 @@ static int __init armctrl_of_init(struct device_node *node, + } + + if (is_2836) { +- intc.local_regmap = +- syscon_regmap_lookup_by_compatible("brcm,bcm2836-arm-local"); +- if (IS_ERR(intc.local_regmap)) { +- pr_err("Failed to get local register map. FIQ is disabled for cpus > 1\n"); +- intc.local_regmap = NULL; +- } ++ extern void __iomem * __attribute__((weak)) arm_local_intc; ++ intc.local_base = arm_local_intc; ++ if (!intc.local_base) ++ pr_err("Failed to get local intc base. FIQ is disabled for cpus > 1\n"); + } + + /* Make a duplicate irq range which is used to enable FIQ */ +diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c +index 05b17ca993f405c4c8e61a782ec58149038069c2..963415c919146e66ef36f4da8f157cabc3aba6d1 100644 +--- a/drivers/irqchip/irq-bcm2836.c ++++ b/drivers/irqchip/irq-bcm2836.c +@@ -83,6 +83,9 @@ struct bcm2836_arm_irqchip_intc { + + static struct bcm2836_arm_irqchip_intc intc __read_mostly; + ++void __iomem *arm_local_intc; ++EXPORT_SYMBOL_GPL(arm_local_intc); ++ + static void bcm2836_arm_irqchip_mask_per_cpu_irq(unsigned int reg_offset, + unsigned int bit, + int cpu) +@@ -310,6 +313,8 @@ static int __init bcm2836_arm_irqchip_l1_intc_of_init(struct device_node *node, + panic("%pOF: unable to map local interrupt registers\n", node); + } + ++ arm_local_intc = intc.base; ++ + bcm2835_init_local_timer_frequency(); + + intc.domain = irq_domain_add_linear(node, LAST_IRQ + 1, + +From cea8e4e4a3d5e9442a7bde8296addd1712de5125 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 24 Jan 2018 15:19:39 +0000 +Subject: [PATCH 185/201] lan78xx: Avoid spurious kevent 4 "error" + +lan78xx_defer_event generates an error message whenever the work item +is already scheduled. lan78xx_open defers three events - +EVENT_STAT_UPDATE, EVENT_DEV_OPEN and EVENT_LINK_RESET. Being aware +of the likelihood (or certainty) of an error message, the DEV_OPEN +event is added to the set of pending events directly, relying on +the subsequent deferral of the EVENT_LINK_RESET call to schedule the +work. Take the same precaution with EVENT_STAT_UPDATE to avoid a +totally unnecessary error message. + +Signed-off-by: Phil Elwell +--- + drivers/net/usb/lan78xx.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 26e04c732df49d09939d470c61a9ab4638901e81..2fcad3698971efc0587e6352e4b09cd4f5fbea58 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2517,7 +2517,7 @@ static void lan78xx_init_stats(struct lan78xx_net *dev) + dev->stats.rollover_max.eee_tx_lpi_transitions = 0xFFFFFFFF; + dev->stats.rollover_max.eee_tx_lpi_time = 0xFFFFFFFF; + +- lan78xx_defer_kevent(dev, EVENT_STAT_UPDATE); ++ set_bit(EVENT_STAT_UPDATE, &dev->flags); + } + + static int lan78xx_open(struct net_device *net) + +From 5721058e77df9a45bf6244cd2d1ee852573aa764 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 24 Jan 2018 20:00:48 +0000 +Subject: [PATCH 186/201] overlays: Allow multiple pps-gpio instantiations + +See: https://github.com/raspberrypi/linux/issues/2352 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/pps-gpio-overlay.dts | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts b/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts +index 50143a4bb215807ba0a0d0562f5827fa29a04de4..9ee4bdfa6167355e82d7f8229613f29478caf4ee 100644 +--- a/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts ++++ b/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts +@@ -6,7 +6,7 @@ + fragment@0 { + target-path = "/"; + __overlay__ { +- pps: pps { ++ pps: pps@12 { + compatible = "pps-gpio"; + pinctrl-names = "default"; + pinctrl-0 = <&pps_pins>; +@@ -19,7 +19,7 @@ + fragment@1 { + target = <&gpio>; + __overlay__ { +- pps_pins: pps_pins { ++ pps_pins: pps_pins@12 { + brcm,pins = <18>; + brcm,function = <0>; // in + brcm,pull = <0>; // off +@@ -29,7 +29,9 @@ + + __overrides__ { + gpiopin = <&pps>,"gpios:4", +- <&pps_pins>,"brcm,pins:0"; ++ <&pps>,"reg:0", ++ <&pps_pins>,"brcm,pins:0", ++ <&pps_pins>,"reg:0"; + assert_falling_edge = <&pps>,"assert-falling-edge?"; + }; + }; + +From e6a75ac365934ba710df58161752ffa644676b17 Mon Sep 17 00:00:00 2001 +From: Thierry Reding +Date: Fri, 1 Sep 2017 16:49:54 +0200 +Subject: [PATCH 187/201] drm/vc4: Use correct path to trace include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The header comment in include/trace/define_trace.h specifies that the +TRACE_INCLUDE_PATH needs to be relative to the define_trace.h header +rather than the trace file including it. Most instances get that wrong +and work around it by adding the $(src) directory to the include path. + +While this works, it is preferable to refer to the correct path to the +trace file in the first place and avoid any workaround. + +Acked-by: Christian König +Acked-by: Daniel Vetter +Signed-off-by: Thierry Reding +Link: https://patchwork.freedesktop.org/patch/msgid/20170901144954.19620-6-thierry.reding@gmail.com +(cherry picked from commit ff58a15a502a900c35ff2f20182249b65719d6d7) +--- + drivers/gpu/drm/vc4/Makefile | 2 -- + drivers/gpu/drm/vc4/vc4_trace.h | 2 +- + 2 files changed, 1 insertion(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/Makefile b/drivers/gpu/drm/vc4/Makefile +index 69f3bcd22857db92b5570f11634272492ecbd2d1..1eed0e92bd20a870e7e03022c1e652e587682617 100644 +--- a/drivers/gpu/drm/vc4/Makefile ++++ b/drivers/gpu/drm/vc4/Makefile +@@ -26,5 +26,3 @@ vc4-y := \ + vc4-$(CONFIG_DEBUG_FS) += vc4_debugfs.o + + obj-$(CONFIG_DRM_VC4) += vc4.o +- +-CFLAGS_vc4_trace_points.o := -I$(src) +diff --git a/drivers/gpu/drm/vc4/vc4_trace.h b/drivers/gpu/drm/vc4/vc4_trace.h +index ad7b1ea720c288eb587d16e5f8e10eace5de93f3..deafb32923e147f4bb9ad93ce441a6aecf32188c 100644 +--- a/drivers/gpu/drm/vc4/vc4_trace.h ++++ b/drivers/gpu/drm/vc4/vc4_trace.h +@@ -59,5 +59,5 @@ TRACE_EVENT(vc4_wait_for_seqno_end, + + /* This part must be outside protection */ + #undef TRACE_INCLUDE_PATH +-#define TRACE_INCLUDE_PATH . ++#define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/vc4 + #include + +From f81366aba5bccf858a5f802923f47daec3d2cf99 Mon Sep 17 00:00:00 2001 +From: Colin Ian King +Date: Fri, 8 Sep 2017 15:05:04 +0100 +Subject: [PATCH 188/201] drm/vc4: clean up error handling on devm_kzalloc + failure + +The current error handling when devm_kzalloc fails performs a +non-null check on connector which is redundant because connector +is null at that failure point. Once this is removed, make the +failure path into a trivial -ENOMEM return to clean up the +error handling. Also remove need to initialize connector to NULL. + +Detected by CoverityScan CID#1339527 ("Logically dead code") +Signed-off-by: Colin Ian King +Signed-off-by: Eric Anholt +Reviewed-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/20170908140504.1340-1-colin.king@canonical.com +(cherry picked from commit 5663077a56804890506c913b3ca9fee78764f8b3) +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 15 +++------------ + 1 file changed, 3 insertions(+), 12 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 8f71157a2b063b07a3d3c195ae5049a0ddcac03e..0b2088264039131f05c2f09bc9ba84d2d3793e39 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -309,16 +309,13 @@ static const struct drm_connector_helper_funcs vc4_hdmi_connector_helper_funcs = + static struct drm_connector *vc4_hdmi_connector_init(struct drm_device *dev, + struct drm_encoder *encoder) + { +- struct drm_connector *connector = NULL; ++ struct drm_connector *connector; + struct vc4_hdmi_connector *hdmi_connector; +- int ret = 0; + + hdmi_connector = devm_kzalloc(dev->dev, sizeof(*hdmi_connector), + GFP_KERNEL); +- if (!hdmi_connector) { +- ret = -ENOMEM; +- goto fail; +- } ++ if (!hdmi_connector) ++ return ERR_PTR(-ENOMEM); + connector = &hdmi_connector->base; + + hdmi_connector->encoder = encoder; +@@ -336,12 +333,6 @@ static struct drm_connector *vc4_hdmi_connector_init(struct drm_device *dev, + drm_mode_connector_attach_encoder(connector, encoder); + + return connector; +- +- fail: +- if (connector) +- vc4_hdmi_connector_destroy(connector); +- +- return ERR_PTR(ret); + } + + static void vc4_hdmi_encoder_destroy(struct drm_encoder *encoder) + +From b580a62d2155d5330c20152315e2679a2646c6a0 Mon Sep 17 00:00:00 2001 +From: Boris Brezillon +Date: Thu, 19 Oct 2017 14:57:48 +0200 +Subject: [PATCH 189/201] drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl + +This ioctl will allow us to purge inactive userspace buffers when the +system is running out of contiguous memory. + +For now, the purge logic is rather dumb in that it does not try to +release only the amount of BO needed to meet the last CMA alloc request +but instead purges all objects placed in the purgeable pool as soon as +we experience a CMA allocation failure. + +Note that the in-kernel BO cache is always purged before the purgeable +cache because those objects are known to be unused while objects marked +as purgeable by a userspace application/library might have to be +restored when they are marked back as unpurgeable, which can be +expensive. + +Signed-off-by: Boris Brezillon +Signed-off-by: Eric Anholt +Reviewed-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/20171019125748.3152-1-boris.brezillon@free-electrons.com +(cherry picked from commit b9f19259b84dc648f207a46f3581d15eeaedf4b6) +--- + drivers/gpu/drm/vc4/vc4_bo.c | 287 ++++++++++++++++++++++++++++++++++++++-- + drivers/gpu/drm/vc4/vc4_drv.c | 10 +- + drivers/gpu/drm/vc4/vc4_drv.h | 30 +++++ + drivers/gpu/drm/vc4/vc4_gem.c | 156 +++++++++++++++++++++- + drivers/gpu/drm/vc4/vc4_plane.c | 20 +++ + include/uapi/drm/vc4_drm.h | 19 +++ + 6 files changed, 507 insertions(+), 15 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c +index 3afdbf4bc10b37fcc1a21fc62b21aaa974405490..01a53ba304f89769ccedf66f2cba361f809b54c8 100644 +--- a/drivers/gpu/drm/vc4/vc4_bo.c ++++ b/drivers/gpu/drm/vc4/vc4_bo.c +@@ -53,6 +53,17 @@ static void vc4_bo_stats_dump(struct vc4_dev *vc4) + vc4->bo_labels[i].size_allocated / 1024, + vc4->bo_labels[i].num_allocated); + } ++ ++ mutex_lock(&vc4->purgeable.lock); ++ if (vc4->purgeable.num) ++ DRM_INFO("%30s: %6zdkb BOs (%d)\n", "userspace BO cache", ++ vc4->purgeable.size / 1024, vc4->purgeable.num); ++ ++ if (vc4->purgeable.purged_num) ++ DRM_INFO("%30s: %6zdkb BOs (%d)\n", "total purged BO", ++ vc4->purgeable.purged_size / 1024, ++ vc4->purgeable.purged_num); ++ mutex_unlock(&vc4->purgeable.lock); + } + + #ifdef CONFIG_DEBUG_FS +@@ -75,6 +86,17 @@ int vc4_bo_stats_debugfs(struct seq_file *m, void *unused) + } + mutex_unlock(&vc4->bo_lock); + ++ mutex_lock(&vc4->purgeable.lock); ++ if (vc4->purgeable.num) ++ seq_printf(m, "%30s: %6dkb BOs (%d)\n", "userspace BO cache", ++ vc4->purgeable.size / 1024, vc4->purgeable.num); ++ ++ if (vc4->purgeable.purged_num) ++ seq_printf(m, "%30s: %6dkb BOs (%d)\n", "total purged BO", ++ vc4->purgeable.purged_size / 1024, ++ vc4->purgeable.purged_num); ++ mutex_unlock(&vc4->purgeable.lock); ++ + return 0; + } + #endif +@@ -247,6 +269,109 @@ static void vc4_bo_cache_purge(struct drm_device *dev) + mutex_unlock(&vc4->bo_lock); + } + ++void vc4_bo_add_to_purgeable_pool(struct vc4_bo *bo) ++{ ++ struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); ++ ++ mutex_lock(&vc4->purgeable.lock); ++ list_add_tail(&bo->size_head, &vc4->purgeable.list); ++ vc4->purgeable.num++; ++ vc4->purgeable.size += bo->base.base.size; ++ mutex_unlock(&vc4->purgeable.lock); ++} ++ ++static void vc4_bo_remove_from_purgeable_pool_locked(struct vc4_bo *bo) ++{ ++ struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); ++ ++ /* list_del_init() is used here because the caller might release ++ * the purgeable lock in order to acquire the madv one and update the ++ * madv status. ++ * During this short period of time a user might decide to mark ++ * the BO as unpurgeable, and if bo->madv is set to ++ * VC4_MADV_DONTNEED it will try to remove the BO from the ++ * purgeable list which will fail if the ->next/prev fields ++ * are set to LIST_POISON1/LIST_POISON2 (which is what ++ * list_del() does). ++ * Re-initializing the list element guarantees that list_del() ++ * will work correctly even if it's a NOP. ++ */ ++ list_del_init(&bo->size_head); ++ vc4->purgeable.num--; ++ vc4->purgeable.size -= bo->base.base.size; ++} ++ ++void vc4_bo_remove_from_purgeable_pool(struct vc4_bo *bo) ++{ ++ struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); ++ ++ mutex_lock(&vc4->purgeable.lock); ++ vc4_bo_remove_from_purgeable_pool_locked(bo); ++ mutex_unlock(&vc4->purgeable.lock); ++} ++ ++static void vc4_bo_purge(struct drm_gem_object *obj) ++{ ++ struct vc4_bo *bo = to_vc4_bo(obj); ++ struct drm_device *dev = obj->dev; ++ ++ WARN_ON(!mutex_is_locked(&bo->madv_lock)); ++ WARN_ON(bo->madv != VC4_MADV_DONTNEED); ++ ++ drm_vma_node_unmap(&obj->vma_node, dev->anon_inode->i_mapping); ++ ++ dma_free_wc(dev->dev, obj->size, bo->base.vaddr, bo->base.paddr); ++ bo->base.vaddr = NULL; ++ bo->madv = __VC4_MADV_PURGED; ++} ++ ++static void vc4_bo_userspace_cache_purge(struct drm_device *dev) ++{ ++ struct vc4_dev *vc4 = to_vc4_dev(dev); ++ ++ mutex_lock(&vc4->purgeable.lock); ++ while (!list_empty(&vc4->purgeable.list)) { ++ struct vc4_bo *bo = list_first_entry(&vc4->purgeable.list, ++ struct vc4_bo, size_head); ++ struct drm_gem_object *obj = &bo->base.base; ++ size_t purged_size = 0; ++ ++ vc4_bo_remove_from_purgeable_pool_locked(bo); ++ ++ /* Release the purgeable lock while we're purging the BO so ++ * that other people can continue inserting things in the ++ * purgeable pool without having to wait for all BOs to be ++ * purged. ++ */ ++ mutex_unlock(&vc4->purgeable.lock); ++ mutex_lock(&bo->madv_lock); ++ ++ /* Since we released the purgeable pool lock before acquiring ++ * the BO madv one, the user may have marked the BO as WILLNEED ++ * and re-used it in the meantime. ++ * Before purging the BO we need to make sure ++ * - it is still marked as DONTNEED ++ * - it has not been re-inserted in the purgeable list ++ * - it is not used by HW blocks ++ * If one of these conditions is not met, just skip the entry. ++ */ ++ if (bo->madv == VC4_MADV_DONTNEED && ++ list_empty(&bo->size_head) && ++ !refcount_read(&bo->usecnt)) { ++ purged_size = bo->base.base.size; ++ vc4_bo_purge(obj); ++ } ++ mutex_unlock(&bo->madv_lock); ++ mutex_lock(&vc4->purgeable.lock); ++ ++ if (purged_size) { ++ vc4->purgeable.purged_size += purged_size; ++ vc4->purgeable.purged_num++; ++ } ++ } ++ mutex_unlock(&vc4->purgeable.lock); ++} ++ + static struct vc4_bo *vc4_bo_get_from_cache(struct drm_device *dev, + uint32_t size, + enum vc4_kernel_bo_type type) +@@ -293,6 +418,9 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size) + if (!bo) + return ERR_PTR(-ENOMEM); + ++ bo->madv = VC4_MADV_WILLNEED; ++ refcount_set(&bo->usecnt, 0); ++ mutex_init(&bo->madv_lock); + mutex_lock(&vc4->bo_lock); + bo->label = VC4_BO_TYPE_KERNEL; + vc4->bo_labels[VC4_BO_TYPE_KERNEL].num_allocated++; +@@ -330,16 +458,38 @@ struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size, + * CMA allocations we've got laying around and try again. + */ + vc4_bo_cache_purge(dev); ++ cma_obj = drm_gem_cma_create(dev, size); ++ } + ++ if (IS_ERR(cma_obj)) { ++ /* ++ * Still not enough CMA memory, purge the userspace BO ++ * cache and retry. ++ * This is sub-optimal since we purge the whole userspace ++ * BO cache which forces user that want to re-use the BO to ++ * restore its initial content. ++ * Ideally, we should purge entries one by one and retry ++ * after each to see if CMA allocation succeeds. Or even ++ * better, try to find an entry with at least the same ++ * size. ++ */ ++ vc4_bo_userspace_cache_purge(dev); + cma_obj = drm_gem_cma_create(dev, size); +- if (IS_ERR(cma_obj)) { +- DRM_ERROR("Failed to allocate from CMA:\n"); +- vc4_bo_stats_dump(vc4); +- return ERR_PTR(-ENOMEM); +- } ++ } ++ ++ if (IS_ERR(cma_obj)) { ++ DRM_ERROR("Failed to allocate from CMA:\n"); ++ vc4_bo_stats_dump(vc4); ++ return ERR_PTR(-ENOMEM); + } + bo = to_vc4_bo(&cma_obj->base); + ++ /* By default, BOs do not support the MADV ioctl. This will be enabled ++ * only on BOs that are exposed to userspace (V3D, V3D_SHADER and DUMB ++ * BOs). ++ */ ++ bo->madv = __VC4_MADV_NOTSUPP; ++ + mutex_lock(&vc4->bo_lock); + vc4_bo_set_label(&cma_obj->base, type); + mutex_unlock(&vc4->bo_lock); +@@ -365,6 +515,8 @@ int vc4_dumb_create(struct drm_file *file_priv, + if (IS_ERR(bo)) + return PTR_ERR(bo); + ++ bo->madv = VC4_MADV_WILLNEED; ++ + ret = drm_gem_handle_create(file_priv, &bo->base.base, &args->handle); + drm_gem_object_put_unlocked(&bo->base.base); + +@@ -403,6 +555,12 @@ void vc4_free_object(struct drm_gem_object *gem_bo) + struct vc4_bo *bo = to_vc4_bo(gem_bo); + struct list_head *cache_list; + ++ /* Remove the BO from the purgeable list. */ ++ mutex_lock(&bo->madv_lock); ++ if (bo->madv == VC4_MADV_DONTNEED && !refcount_read(&bo->usecnt)) ++ vc4_bo_remove_from_purgeable_pool(bo); ++ mutex_unlock(&bo->madv_lock); ++ + mutex_lock(&vc4->bo_lock); + /* If the object references someone else's memory, we can't cache it. + */ +@@ -418,7 +576,8 @@ void vc4_free_object(struct drm_gem_object *gem_bo) + } + + /* If this object was partially constructed but CMA allocation +- * had failed, just free it. ++ * had failed, just free it. Can also happen when the BO has been ++ * purged. + */ + if (!bo->base.vaddr) { + vc4_bo_destroy(bo); +@@ -437,6 +596,10 @@ void vc4_free_object(struct drm_gem_object *gem_bo) + bo->validated_shader = NULL; + } + ++ /* Reset madv and usecnt before adding the BO to the cache. */ ++ bo->madv = __VC4_MADV_NOTSUPP; ++ refcount_set(&bo->usecnt, 0); ++ + bo->t_format = false; + bo->free_time = jiffies; + list_add(&bo->size_head, cache_list); +@@ -461,6 +624,56 @@ static void vc4_bo_cache_time_work(struct work_struct *work) + mutex_unlock(&vc4->bo_lock); + } + ++int vc4_bo_inc_usecnt(struct vc4_bo *bo) ++{ ++ int ret; ++ ++ /* Fast path: if the BO is already retained by someone, no need to ++ * check the madv status. ++ */ ++ if (refcount_inc_not_zero(&bo->usecnt)) ++ return 0; ++ ++ mutex_lock(&bo->madv_lock); ++ switch (bo->madv) { ++ case VC4_MADV_WILLNEED: ++ refcount_inc(&bo->usecnt); ++ ret = 0; ++ break; ++ case VC4_MADV_DONTNEED: ++ /* We shouldn't use a BO marked as purgeable if at least ++ * someone else retained its content by incrementing usecnt. ++ * Luckily the BO hasn't been purged yet, but something wrong ++ * is happening here. Just throw an error instead of ++ * authorizing this use case. ++ */ ++ case __VC4_MADV_PURGED: ++ /* We can't use a purged BO. */ ++ default: ++ /* Invalid madv value. */ ++ ret = -EINVAL; ++ break; ++ } ++ mutex_unlock(&bo->madv_lock); ++ ++ return ret; ++} ++ ++void vc4_bo_dec_usecnt(struct vc4_bo *bo) ++{ ++ /* Fast path: if the BO is still retained by someone, no need to test ++ * the madv value. ++ */ ++ if (refcount_dec_not_one(&bo->usecnt)) ++ return; ++ ++ mutex_lock(&bo->madv_lock); ++ if (refcount_dec_and_test(&bo->usecnt) && ++ bo->madv == VC4_MADV_DONTNEED) ++ vc4_bo_add_to_purgeable_pool(bo); ++ mutex_unlock(&bo->madv_lock); ++} ++ + static void vc4_bo_cache_time_timer(unsigned long data) + { + struct drm_device *dev = (struct drm_device *)data; +@@ -480,18 +693,52 @@ struct dma_buf * + vc4_prime_export(struct drm_device *dev, struct drm_gem_object *obj, int flags) + { + struct vc4_bo *bo = to_vc4_bo(obj); ++ struct dma_buf *dmabuf; ++ int ret; + + if (bo->validated_shader) { + DRM_DEBUG("Attempting to export shader BO\n"); + return ERR_PTR(-EINVAL); + } + +- return drm_gem_prime_export(dev, obj, flags); ++ /* Note: as soon as the BO is exported it becomes unpurgeable, because ++ * noone ever decrements the usecnt even if the reference held by the ++ * exported BO is released. This shouldn't be a problem since we don't ++ * expect exported BOs to be marked as purgeable. ++ */ ++ ret = vc4_bo_inc_usecnt(bo); ++ if (ret) { ++ DRM_ERROR("Failed to increment BO usecnt\n"); ++ return ERR_PTR(ret); ++ } ++ ++ dmabuf = drm_gem_prime_export(dev, obj, flags); ++ if (IS_ERR(dmabuf)) ++ vc4_bo_dec_usecnt(bo); ++ ++ return dmabuf; ++} ++ ++int vc4_fault(struct vm_fault *vmf) ++{ ++ struct vm_area_struct *vma = vmf->vma; ++ struct drm_gem_object *obj = vma->vm_private_data; ++ struct vc4_bo *bo = to_vc4_bo(obj); ++ ++ /* The only reason we would end up here is when user-space accesses ++ * BO's memory after it's been purged. ++ */ ++ mutex_lock(&bo->madv_lock); ++ WARN_ON(bo->madv != __VC4_MADV_PURGED); ++ mutex_unlock(&bo->madv_lock); ++ ++ return VM_FAULT_SIGBUS; + } + + int vc4_mmap(struct file *filp, struct vm_area_struct *vma) + { + struct drm_gem_object *gem_obj; ++ unsigned long vm_pgoff; + struct vc4_bo *bo; + int ret; + +@@ -507,16 +754,36 @@ int vc4_mmap(struct file *filp, struct vm_area_struct *vma) + return -EINVAL; + } + ++ if (bo->madv != VC4_MADV_WILLNEED) { ++ DRM_DEBUG("mmaping of %s BO not allowed\n", ++ bo->madv == VC4_MADV_DONTNEED ? ++ "purgeable" : "purged"); ++ return -EINVAL; ++ } ++ + /* + * Clear the VM_PFNMAP flag that was set by drm_gem_mmap(), and set the + * vm_pgoff (used as a fake buffer offset by DRM) to 0 as we want to map + * the whole buffer. + */ + vma->vm_flags &= ~VM_PFNMAP; +- vma->vm_pgoff = 0; + ++ /* This ->vm_pgoff dance is needed to make all parties happy: ++ * - dma_mmap_wc() uses ->vm_pgoff as an offset within the allocated ++ * mem-region, hence the need to set it to zero (the value set by ++ * the DRM core is a virtual offset encoding the GEM object-id) ++ * - the mmap() core logic needs ->vm_pgoff to be restored to its ++ * initial value before returning from this function because it ++ * encodes the offset of this GEM in the dev->anon_inode pseudo-file ++ * and this information will be used when we invalidate userspace ++ * mappings with drm_vma_node_unmap() (called from vc4_gem_purge()). ++ */ ++ vm_pgoff = vma->vm_pgoff; ++ vma->vm_pgoff = 0; + ret = dma_mmap_wc(bo->base.base.dev->dev, vma, bo->base.vaddr, + bo->base.paddr, vma->vm_end - vma->vm_start); ++ vma->vm_pgoff = vm_pgoff; ++ + if (ret) + drm_gem_vm_close(vma); + +@@ -580,6 +847,8 @@ int vc4_create_bo_ioctl(struct drm_device *dev, void *data, + if (IS_ERR(bo)) + return PTR_ERR(bo); + ++ bo->madv = VC4_MADV_WILLNEED; ++ + ret = drm_gem_handle_create(file_priv, &bo->base.base, &args->handle); + drm_gem_object_put_unlocked(&bo->base.base); + +@@ -633,6 +902,8 @@ vc4_create_shader_bo_ioctl(struct drm_device *dev, void *data, + if (IS_ERR(bo)) + return PTR_ERR(bo); + ++ bo->madv = VC4_MADV_WILLNEED; ++ + if (copy_from_user(bo->base.vaddr, + (void __user *)(uintptr_t)args->data, + args->size)) { +diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c +index 8555069607e1f3b735be3132320dacef2e66e8f8..982ec1bb3f01bec7b97dec0d8035163ae2c8625f 100644 +--- a/drivers/gpu/drm/vc4/vc4_drv.c ++++ b/drivers/gpu/drm/vc4/vc4_drv.c +@@ -100,6 +100,7 @@ static int vc4_get_param_ioctl(struct drm_device *dev, void *data, + case DRM_VC4_PARAM_SUPPORTS_ETC1: + case DRM_VC4_PARAM_SUPPORTS_THREADED_FS: + case DRM_VC4_PARAM_SUPPORTS_FIXED_RCL_ORDER: ++ case DRM_VC4_PARAM_SUPPORTS_MADVISE: + args->value = true; + break; + default: +@@ -117,6 +118,12 @@ static void vc4_lastclose(struct drm_device *dev) + drm_fbdev_cma_restore_mode(vc4->fbdev); + } + ++static const struct vm_operations_struct vc4_vm_ops = { ++ .fault = vc4_fault, ++ .open = drm_gem_vm_open, ++ .close = drm_gem_vm_close, ++}; ++ + static const struct file_operations vc4_drm_fops = { + .owner = THIS_MODULE, + .open = drm_open, +@@ -142,6 +149,7 @@ static const struct drm_ioctl_desc vc4_drm_ioctls[] = { + DRM_IOCTL_DEF_DRV(VC4_SET_TILING, vc4_set_tiling_ioctl, DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(VC4_GET_TILING, vc4_get_tiling_ioctl, DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(VC4_LABEL_BO, vc4_label_bo_ioctl, DRM_RENDER_ALLOW), ++ DRM_IOCTL_DEF_DRV(VC4_GEM_MADVISE, vc4_gem_madvise_ioctl, DRM_RENDER_ALLOW), + }; + + static struct drm_driver vc4_drm_driver = { +@@ -166,7 +174,7 @@ static struct drm_driver vc4_drm_driver = { + + .gem_create_object = vc4_create_object, + .gem_free_object_unlocked = vc4_free_object, +- .gem_vm_ops = &drm_gem_cma_vm_ops, ++ .gem_vm_ops = &vc4_vm_ops, + + .prime_handle_to_fd = drm_gem_prime_handle_to_fd, + .prime_fd_to_handle = drm_gem_prime_fd_to_handle, +diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h +index 9d5e35ea5a7c9f134ec6e661b0056b47df9719ef..0d71831571ea68526d26310daf874b766832e73e 100644 +--- a/drivers/gpu/drm/vc4/vc4_drv.h ++++ b/drivers/gpu/drm/vc4/vc4_drv.h +@@ -77,6 +77,19 @@ struct vc4_dev { + /* Protects bo_cache and bo_labels. */ + struct mutex bo_lock; + ++ /* Purgeable BO pool. All BOs in this pool can have their memory ++ * reclaimed if the driver is unable to allocate new BOs. We also ++ * keep stats related to the purge mechanism here. ++ */ ++ struct { ++ struct list_head list; ++ unsigned int num; ++ size_t size; ++ unsigned int purged_num; ++ size_t purged_size; ++ struct mutex lock; ++ } purgeable; ++ + uint64_t dma_fence_context; + + /* Sequence number for the last job queued in bin_job_list. +@@ -195,6 +208,16 @@ struct vc4_bo { + * for user-allocated labels. + */ + int label; ++ ++ /* Count the number of active users. This is needed to determine ++ * whether we can move the BO to the purgeable list or not (when the BO ++ * is used by the GPU or the display engine we can't purge it). ++ */ ++ refcount_t usecnt; ++ ++ /* Store purgeable/purged state here */ ++ u32 madv; ++ struct mutex madv_lock; + }; + + static inline struct vc4_bo * +@@ -506,6 +529,7 @@ int vc4_get_hang_state_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); + int vc4_label_bo_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); ++int vc4_fault(struct vm_fault *vmf); + int vc4_mmap(struct file *filp, struct vm_area_struct *vma); + struct reservation_object *vc4_prime_res_obj(struct drm_gem_object *obj); + int vc4_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma); +@@ -516,6 +540,10 @@ void *vc4_prime_vmap(struct drm_gem_object *obj); + int vc4_bo_cache_init(struct drm_device *dev); + void vc4_bo_cache_destroy(struct drm_device *dev); + int vc4_bo_stats_debugfs(struct seq_file *m, void *arg); ++int vc4_bo_inc_usecnt(struct vc4_bo *bo); ++void vc4_bo_dec_usecnt(struct vc4_bo *bo); ++void vc4_bo_add_to_purgeable_pool(struct vc4_bo *bo); ++void vc4_bo_remove_from_purgeable_pool(struct vc4_bo *bo); + + /* vc4_crtc.c */ + extern struct platform_driver vc4_crtc_driver; +@@ -564,6 +592,8 @@ void vc4_job_handle_completed(struct vc4_dev *vc4); + int vc4_queue_seqno_cb(struct drm_device *dev, + struct vc4_seqno_cb *cb, uint64_t seqno, + void (*func)(struct vc4_seqno_cb *cb)); ++int vc4_gem_madvise_ioctl(struct drm_device *dev, void *data, ++ struct drm_file *file_priv); + + /* vc4_hdmi.c */ + extern struct platform_driver vc4_hdmi_driver; +diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c +index e554cbf18a55c30e6dce1ef8bf3a5a60a6b73407..277707cc97a0d52759a5f6a6feee17445d065789 100644 +--- a/drivers/gpu/drm/vc4/vc4_gem.c ++++ b/drivers/gpu/drm/vc4/vc4_gem.c +@@ -188,11 +188,22 @@ vc4_save_hang_state(struct drm_device *dev) + continue; + + for (j = 0; j < exec[i]->bo_count; j++) { ++ bo = to_vc4_bo(&exec[i]->bo[j]->base); ++ ++ /* Retain BOs just in case they were marked purgeable. ++ * This prevents the BO from being purged before ++ * someone had a chance to dump the hang state. ++ */ ++ WARN_ON(!refcount_read(&bo->usecnt)); ++ refcount_inc(&bo->usecnt); + drm_gem_object_get(&exec[i]->bo[j]->base); + kernel_state->bo[j + prev_idx] = &exec[i]->bo[j]->base; + } + + list_for_each_entry(bo, &exec[i]->unref_list, unref_head) { ++ /* No need to retain BOs coming from the ->unref_list ++ * because they are naturally unpurgeable. ++ */ + drm_gem_object_get(&bo->base.base); + kernel_state->bo[j + prev_idx] = &bo->base.base; + j++; +@@ -233,6 +244,26 @@ vc4_save_hang_state(struct drm_device *dev) + state->fdbgs = V3D_READ(V3D_FDBGS); + state->errstat = V3D_READ(V3D_ERRSTAT); + ++ /* We need to turn purgeable BOs into unpurgeable ones so that ++ * userspace has a chance to dump the hang state before the kernel ++ * decides to purge those BOs. ++ * Note that BO consistency at dump time cannot be guaranteed. For ++ * example, if the owner of these BOs decides to re-use them or mark ++ * them purgeable again there's nothing we can do to prevent it. ++ */ ++ for (i = 0; i < kernel_state->user_state.bo_count; i++) { ++ struct vc4_bo *bo = to_vc4_bo(kernel_state->bo[i]); ++ ++ if (bo->madv == __VC4_MADV_NOTSUPP) ++ continue; ++ ++ mutex_lock(&bo->madv_lock); ++ if (!WARN_ON(bo->madv == __VC4_MADV_PURGED)) ++ bo->madv = VC4_MADV_WILLNEED; ++ refcount_dec(&bo->usecnt); ++ mutex_unlock(&bo->madv_lock); ++ } ++ + spin_lock_irqsave(&vc4->job_lock, irqflags); + if (vc4->hang_state) { + spin_unlock_irqrestore(&vc4->job_lock, irqflags); +@@ -639,9 +670,6 @@ vc4_queue_submit(struct drm_device *dev, struct vc4_exec_info *exec, + * The command validator needs to reference BOs by their index within + * the submitted job's BO list. This does the validation of the job's + * BO list and reference counting for the lifetime of the job. +- * +- * Note that this function doesn't need to unreference the BOs on +- * failure, because that will happen at vc4_complete_exec() time. + */ + static int + vc4_cl_lookup_bos(struct drm_device *dev, +@@ -693,16 +721,47 @@ vc4_cl_lookup_bos(struct drm_device *dev, + DRM_DEBUG("Failed to look up GEM BO %d: %d\n", + i, handles[i]); + ret = -EINVAL; +- spin_unlock(&file_priv->table_lock); +- goto fail; ++ break; + } ++ + drm_gem_object_get(bo); + exec->bo[i] = (struct drm_gem_cma_object *)bo; + } + spin_unlock(&file_priv->table_lock); + ++ if (ret) ++ goto fail_put_bo; ++ ++ for (i = 0; i < exec->bo_count; i++) { ++ ret = vc4_bo_inc_usecnt(to_vc4_bo(&exec->bo[i]->base)); ++ if (ret) ++ goto fail_dec_usecnt; ++ } ++ ++ kvfree(handles); ++ return 0; ++ ++fail_dec_usecnt: ++ /* Decrease usecnt on acquired objects. ++ * We cannot rely on vc4_complete_exec() to release resources here, ++ * because vc4_complete_exec() has no information about which BO has ++ * had its ->usecnt incremented. ++ * To make things easier we just free everything explicitly and set ++ * exec->bo to NULL so that vc4_complete_exec() skips the 'BO release' ++ * step. ++ */ ++ for (i-- ; i >= 0; i--) ++ vc4_bo_dec_usecnt(to_vc4_bo(&exec->bo[i]->base)); ++ ++fail_put_bo: ++ /* Release any reference to acquired objects. */ ++ for (i = 0; i < exec->bo_count && exec->bo[i]; i++) ++ drm_gem_object_put_unlocked(&exec->bo[i]->base); ++ + fail: + kvfree(handles); ++ kvfree(exec->bo); ++ exec->bo = NULL; + return ret; + } + +@@ -835,8 +894,12 @@ vc4_complete_exec(struct drm_device *dev, struct vc4_exec_info *exec) + } + + if (exec->bo) { +- for (i = 0; i < exec->bo_count; i++) ++ for (i = 0; i < exec->bo_count; i++) { ++ struct vc4_bo *bo = to_vc4_bo(&exec->bo[i]->base); ++ ++ vc4_bo_dec_usecnt(bo); + drm_gem_object_put_unlocked(&exec->bo[i]->base); ++ } + kvfree(exec->bo); + } + +@@ -1100,6 +1163,9 @@ vc4_gem_init(struct drm_device *dev) + INIT_WORK(&vc4->job_done_work, vc4_job_done_work); + + mutex_init(&vc4->power_lock); ++ ++ INIT_LIST_HEAD(&vc4->purgeable.list); ++ mutex_init(&vc4->purgeable.lock); + } + + void +@@ -1123,3 +1189,81 @@ vc4_gem_destroy(struct drm_device *dev) + if (vc4->hang_state) + vc4_free_hang_state(dev, vc4->hang_state); + } ++ ++int vc4_gem_madvise_ioctl(struct drm_device *dev, void *data, ++ struct drm_file *file_priv) ++{ ++ struct drm_vc4_gem_madvise *args = data; ++ struct drm_gem_object *gem_obj; ++ struct vc4_bo *bo; ++ int ret; ++ ++ switch (args->madv) { ++ case VC4_MADV_DONTNEED: ++ case VC4_MADV_WILLNEED: ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ if (args->pad != 0) ++ return -EINVAL; ++ ++ gem_obj = drm_gem_object_lookup(file_priv, args->handle); ++ if (!gem_obj) { ++ DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle); ++ return -ENOENT; ++ } ++ ++ bo = to_vc4_bo(gem_obj); ++ ++ /* Only BOs exposed to userspace can be purged. */ ++ if (bo->madv == __VC4_MADV_NOTSUPP) { ++ DRM_DEBUG("madvise not supported on this BO\n"); ++ ret = -EINVAL; ++ goto out_put_gem; ++ } ++ ++ /* Not sure it's safe to purge imported BOs. Let's just assume it's ++ * not until proven otherwise. ++ */ ++ if (gem_obj->import_attach) { ++ DRM_DEBUG("madvise not supported on imported BOs\n"); ++ ret = -EINVAL; ++ goto out_put_gem; ++ } ++ ++ mutex_lock(&bo->madv_lock); ++ ++ if (args->madv == VC4_MADV_DONTNEED && bo->madv == VC4_MADV_WILLNEED && ++ !refcount_read(&bo->usecnt)) { ++ /* If the BO is about to be marked as purgeable, is not used ++ * and is not already purgeable or purged, add it to the ++ * purgeable list. ++ */ ++ vc4_bo_add_to_purgeable_pool(bo); ++ } else if (args->madv == VC4_MADV_WILLNEED && ++ bo->madv == VC4_MADV_DONTNEED && ++ !refcount_read(&bo->usecnt)) { ++ /* The BO has not been purged yet, just remove it from ++ * the purgeable list. ++ */ ++ vc4_bo_remove_from_purgeable_pool(bo); ++ } ++ ++ /* Save the purged state. */ ++ args->retained = bo->madv != __VC4_MADV_PURGED; ++ ++ /* Update internal madv state only if the bo was not purged. */ ++ if (bo->madv != __VC4_MADV_PURGED) ++ bo->madv = args->madv; ++ ++ mutex_unlock(&bo->madv_lock); ++ ++ ret = 0; ++ ++out_put_gem: ++ drm_gem_object_put_unlocked(gem_obj); ++ ++ return ret; ++} +diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c +index 4ad0b9fcae99f74fb89d09dd52d9ffe5be123e45..e2b3cd6d885b080a3c3077cc160a549bec9b0330 100644 +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -23,6 +23,7 @@ + #include + #include + ++#include "uapi/drm/vc4_drm.h" + #include "vc4_drv.h" + #include "vc4_regs.h" + +@@ -774,21 +775,40 @@ static int vc4_prepare_fb(struct drm_plane *plane, + { + struct vc4_bo *bo; + struct dma_fence *fence; ++ int ret; + + if ((plane->state->fb == state->fb) || !state->fb) + return 0; + + bo = to_vc4_bo(&drm_fb_cma_get_gem_obj(state->fb, 0)->base); ++ ++ ret = vc4_bo_inc_usecnt(bo); ++ if (ret) ++ return ret; ++ + fence = reservation_object_get_excl_rcu(bo->resv); + drm_atomic_set_fence_for_plane(state, fence); + + return 0; + } + ++static void vc4_cleanup_fb(struct drm_plane *plane, ++ struct drm_plane_state *state) ++{ ++ struct vc4_bo *bo; ++ ++ if (plane->state->fb == state->fb || !state->fb) ++ return; ++ ++ bo = to_vc4_bo(&drm_fb_cma_get_gem_obj(state->fb, 0)->base); ++ vc4_bo_dec_usecnt(bo); ++} ++ + static const struct drm_plane_helper_funcs vc4_plane_helper_funcs = { + .atomic_check = vc4_plane_atomic_check, + .atomic_update = vc4_plane_atomic_update, + .prepare_fb = vc4_prepare_fb, ++ .cleanup_fb = vc4_cleanup_fb, + }; + + static void vc4_plane_destroy(struct drm_plane *plane) +diff --git a/include/uapi/drm/vc4_drm.h b/include/uapi/drm/vc4_drm.h +index afae870049636e9c5db9a10a03d40dc3beb4c6ee..52263b575bdc4e5d9a6c6e628b12918eba32d918 100644 +--- a/include/uapi/drm/vc4_drm.h ++++ b/include/uapi/drm/vc4_drm.h +@@ -41,6 +41,7 @@ extern "C" { + #define DRM_VC4_SET_TILING 0x08 + #define DRM_VC4_GET_TILING 0x09 + #define DRM_VC4_LABEL_BO 0x0a ++#define DRM_VC4_GEM_MADVISE 0x0b + + #define DRM_IOCTL_VC4_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SUBMIT_CL, struct drm_vc4_submit_cl) + #define DRM_IOCTL_VC4_WAIT_SEQNO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_SEQNO, struct drm_vc4_wait_seqno) +@@ -53,6 +54,7 @@ extern "C" { + #define DRM_IOCTL_VC4_SET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SET_TILING, struct drm_vc4_set_tiling) + #define DRM_IOCTL_VC4_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_TILING, struct drm_vc4_get_tiling) + #define DRM_IOCTL_VC4_LABEL_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_LABEL_BO, struct drm_vc4_label_bo) ++#define DRM_IOCTL_VC4_GEM_MADVISE DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GEM_MADVISE, struct drm_vc4_gem_madvise) + + struct drm_vc4_submit_rcl_surface { + __u32 hindex; /* Handle index, or ~0 if not present. */ +@@ -305,6 +307,7 @@ struct drm_vc4_get_hang_state { + #define DRM_VC4_PARAM_SUPPORTS_ETC1 4 + #define DRM_VC4_PARAM_SUPPORTS_THREADED_FS 5 + #define DRM_VC4_PARAM_SUPPORTS_FIXED_RCL_ORDER 6 ++#define DRM_VC4_PARAM_SUPPORTS_MADVISE 7 + + struct drm_vc4_get_param { + __u32 param; +@@ -333,6 +336,22 @@ struct drm_vc4_label_bo { + __u64 name; + }; + ++/* ++ * States prefixed with '__' are internal states and cannot be passed to the ++ * DRM_IOCTL_VC4_GEM_MADVISE ioctl. ++ */ ++#define VC4_MADV_WILLNEED 0 ++#define VC4_MADV_DONTNEED 1 ++#define __VC4_MADV_PURGED 2 ++#define __VC4_MADV_NOTSUPP 3 ++ ++struct drm_vc4_gem_madvise { ++ __u32 handle; ++ __u32 madv; ++ __u32 retained; ++ __u32 pad; ++}; ++ + #if defined(__cplusplus) + } + #endif + +From 94bbbc00be9d9f2e26faaf6859244204ad04958a Mon Sep 17 00:00:00 2001 +From: Boris Brezillon +Date: Wed, 22 Nov 2017 21:39:28 +0100 +Subject: [PATCH 190/201] drm/vc4: Fix false positive WARN() backtrace on + refcount_inc() usage + +With CONFIG_REFCOUNT_FULL enabled, refcount_inc() complains when it's +passed a refcount object that has its counter set to 0. In this driver, +this is a valid use case since we want to increment ->usecnt only when +the BO object starts to be used by real HW components and this is +definitely not the case when the BO is created. + +Fix the problem by using refcount_inc_not_zero() instead of +refcount_inc() and fallback to refcount_set(1) when +refcount_inc_not_zero() returns false. Note that this 2-steps operation +is not racy here because the whole section is protected by a mutex +which guarantees that the counter does not change between the +refcount_inc_not_zero() and refcount_set() calls. + +Fixes: b9f19259b84d ("drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl") +Reported-by: Stefan Wahren +Signed-off-by: Boris Brezillon +Acked-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/20171122203928.28135-1-boris.brezillon@free-electrons.com +(cherry picked from commit 5bfd40139d55790cbc8e56ad1ce4f974f1fa186d) +--- + drivers/gpu/drm/vc4/vc4_bo.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c +index 01a53ba304f89769ccedf66f2cba361f809b54c8..55f03ad827ed82d967bcdb3c8f060226aac2036d 100644 +--- a/drivers/gpu/drm/vc4/vc4_bo.c ++++ b/drivers/gpu/drm/vc4/vc4_bo.c +@@ -637,7 +637,8 @@ int vc4_bo_inc_usecnt(struct vc4_bo *bo) + mutex_lock(&bo->madv_lock); + switch (bo->madv) { + case VC4_MADV_WILLNEED: +- refcount_inc(&bo->usecnt); ++ if (!refcount_inc_not_zero(&bo->usecnt)) ++ refcount_set(&bo->usecnt, 1); + ret = 0; + break; + case VC4_MADV_DONTNEED: + +From 4eebaa2a9e1d93784ba5f33b048af54969d669db Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Fri, 13 Oct 2017 17:12:55 -0700 +Subject: [PATCH 191/201] drm/vc4: Fix sleeps during the IRQ handler for DSI + transactions. + +VC4's DSI1 has a bug where the AXI connection is broken for 32-bit +writes from the CPU, so we use the DMA engine to DMA 32-bit values +into registers instead. That sleeps, so we can't do it from the top +half. + +As a solution, use an interrupt thread so that all our writes happen +when sleeping is is allowed. + +v2: Use IRQF_ONESHOT (suggested by Boris) +v3: Style nitpicks. + +Signed-off-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/20171014001255.32005-1-eric@anholt.net +Reviewed-by: Boris Brezillon (v2) +(cherry picked from commit af0c8c10564aac5b6d67308129ec09c4ad5db476) +--- + drivers/gpu/drm/vc4/vc4_dsi.c | 32 ++++++++++++++++++++++++++++++-- + 1 file changed, 30 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c +index 04796d7d0fdbb441c09ecbd9b4fbce41a7831534..9a1a559ba287c460b274c6a279883e69c62f7bdb 100644 +--- a/drivers/gpu/drm/vc4/vc4_dsi.c ++++ b/drivers/gpu/drm/vc4/vc4_dsi.c +@@ -1383,6 +1383,27 @@ static void dsi_handle_error(struct vc4_dsi *dsi, + *ret = IRQ_HANDLED; + } + ++/* ++ * Initial handler for port 1 where we need the reg_dma workaround. ++ * The register DMA writes sleep, so we can't do it in the top half. ++ * Instead we use IRQF_ONESHOT so that the IRQ gets disabled in the ++ * parent interrupt contrller until our interrupt thread is done. ++ */ ++static irqreturn_t vc4_dsi_irq_defer_to_thread_handler(int irq, void *data) ++{ ++ struct vc4_dsi *dsi = data; ++ u32 stat = DSI_PORT_READ(INT_STAT); ++ ++ if (!stat) ++ return IRQ_NONE; ++ ++ return IRQ_WAKE_THREAD; ++} ++ ++/* ++ * Normal IRQ handler for port 0, or the threaded IRQ handler for port ++ * 1 where we need the reg_dma workaround. ++ */ + static irqreturn_t vc4_dsi_irq_handler(int irq, void *data) + { + struct vc4_dsi *dsi = data; +@@ -1566,8 +1587,15 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data) + /* Clear any existing interrupt state. */ + DSI_PORT_WRITE(INT_STAT, DSI_PORT_READ(INT_STAT)); + +- ret = devm_request_irq(dev, platform_get_irq(pdev, 0), +- vc4_dsi_irq_handler, 0, "vc4 dsi", dsi); ++ if (dsi->reg_dma_mem) ++ ret = devm_request_threaded_irq(dev, platform_get_irq(pdev, 0), ++ vc4_dsi_irq_defer_to_thread_handler, ++ vc4_dsi_irq_handler, ++ IRQF_ONESHOT, ++ "vc4 dsi", dsi); ++ else ++ ret = devm_request_irq(dev, platform_get_irq(pdev, 0), ++ vc4_dsi_irq_handler, 0, "vc4 dsi", dsi); + if (ret) { + if (ret != -EPROBE_DEFER) + dev_err(dev, "Failed to get interrupt: %d\n", ret); + +From 501ce595625354292dddfa3cd32c519ed7f6fd5b Mon Sep 17 00:00:00 2001 +From: Kees Cook +Date: Tue, 24 Oct 2017 08:16:48 -0700 +Subject: [PATCH 192/201] drm/vc4: Convert timers to use timer_setup() + +In preparation for unconditionally passing the struct timer_list pointer to +all timer callbacks, switch to using the new timer_setup() and from_timer() +to pass the timer pointer explicitly. + +Cc: Eric Anholt +Cc: David Airlie +Cc: dri-devel@lists.freedesktop.org +Signed-off-by: Kees Cook +Signed-off-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/20171024151648.GA104538@beast +Reviewed-by: Eric Anholt +(cherry picked from commit 33b54ea1109721dcd07d3f7ee753c07482021eed) +--- + drivers/gpu/drm/vc4/vc4_bo.c | 9 +++------ + drivers/gpu/drm/vc4/vc4_gem.c | 10 ++++------ + 2 files changed, 7 insertions(+), 12 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c +index 55f03ad827ed82d967bcdb3c8f060226aac2036d..2b587e5b4628fc62cbadd7e99466032438d7e5c3 100644 +--- a/drivers/gpu/drm/vc4/vc4_bo.c ++++ b/drivers/gpu/drm/vc4/vc4_bo.c +@@ -675,10 +675,9 @@ void vc4_bo_dec_usecnt(struct vc4_bo *bo) + mutex_unlock(&bo->madv_lock); + } + +-static void vc4_bo_cache_time_timer(unsigned long data) ++static void vc4_bo_cache_time_timer(struct timer_list *t) + { +- struct drm_device *dev = (struct drm_device *)data; +- struct vc4_dev *vc4 = to_vc4_dev(dev); ++ struct vc4_dev *vc4 = from_timer(vc4, t, bo_cache.time_timer); + + schedule_work(&vc4->bo_cache.time_work); + } +@@ -1040,9 +1039,7 @@ int vc4_bo_cache_init(struct drm_device *dev) + INIT_LIST_HEAD(&vc4->bo_cache.time_list); + + INIT_WORK(&vc4->bo_cache.time_work, vc4_bo_cache_time_work); +- setup_timer(&vc4->bo_cache.time_timer, +- vc4_bo_cache_time_timer, +- (unsigned long)dev); ++ timer_setup(&vc4->bo_cache.time_timer, vc4_bo_cache_time_timer, 0); + + return 0; + } +diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c +index 277707cc97a0d52759a5f6a6feee17445d065789..638540943c61a5e095c87be8d2b2bf543ea933b1 100644 +--- a/drivers/gpu/drm/vc4/vc4_gem.c ++++ b/drivers/gpu/drm/vc4/vc4_gem.c +@@ -312,10 +312,10 @@ vc4_reset_work(struct work_struct *work) + } + + static void +-vc4_hangcheck_elapsed(unsigned long data) ++vc4_hangcheck_elapsed(struct timer_list *t) + { +- struct drm_device *dev = (struct drm_device *)data; +- struct vc4_dev *vc4 = to_vc4_dev(dev); ++ struct vc4_dev *vc4 = from_timer(vc4, t, hangcheck.timer); ++ struct drm_device *dev = vc4->dev; + uint32_t ct0ca, ct1ca; + unsigned long irqflags; + struct vc4_exec_info *bin_exec, *render_exec; +@@ -1156,9 +1156,7 @@ vc4_gem_init(struct drm_device *dev) + spin_lock_init(&vc4->job_lock); + + INIT_WORK(&vc4->hangcheck.reset_work, vc4_reset_work); +- setup_timer(&vc4->hangcheck.timer, +- vc4_hangcheck_elapsed, +- (unsigned long)dev); ++ timer_setup(&vc4->hangcheck.timer, vc4_hangcheck_elapsed, 0); + + INIT_WORK(&vc4->job_done_work, vc4_job_done_work); + + +From 4d3059fd708947186445b986b46d8cfdd9a8a782 Mon Sep 17 00:00:00 2001 +From: Stefan Schake +Date: Fri, 10 Nov 2017 02:05:06 +0100 +Subject: [PATCH 193/201] drm/vc4: Account for interrupts in flight + +Synchronously disable the IRQ to make the following cancel_work_sync +invocation effective. + +An interrupt in flight could enqueue further overflow mem work. As we +free the binner BO immediately following vc4_irq_uninstall this caused +a NULL pointer dereference in the work callback vc4_overflow_mem_work. + +Link: https://github.com/anholt/linux/issues/114 +Signed-off-by: Stefan Schake +Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.") +Signed-off-by: Eric Anholt +Reviewed-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/1510275907-993-2-git-send-email-stschake@gmail.com +(cherry picked from commit 253696ccd613fbdaa5aba1de44c461a058e0a114) +--- + drivers/gpu/drm/vc4/vc4_irq.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_irq.c b/drivers/gpu/drm/vc4/vc4_irq.c +index fc1fc43a924dcc0c44a7a13858bfb53ccdf8fe32..26eddbb628936b91f20a000c405bfbc536324e89 100644 +--- a/drivers/gpu/drm/vc4/vc4_irq.c ++++ b/drivers/gpu/drm/vc4/vc4_irq.c +@@ -209,6 +209,9 @@ vc4_irq_postinstall(struct drm_device *dev) + { + struct vc4_dev *vc4 = to_vc4_dev(dev); + ++ /* Undo the effects of a previous vc4_irq_uninstall. */ ++ enable_irq(dev->irq); ++ + /* Enable both the render done and out of memory interrupts. */ + V3D_WRITE(V3D_INTENA, V3D_DRIVER_IRQS); + +@@ -226,6 +229,9 @@ vc4_irq_uninstall(struct drm_device *dev) + /* Clear any pending interrupts we might have left. */ + V3D_WRITE(V3D_INTCTL, V3D_DRIVER_IRQS); + ++ /* Finish any interrupt handler still in flight. */ ++ disable_irq(dev->irq); ++ + cancel_work_sync(&vc4->overflow_mem_work); + } + + +From dabedf91bcfc0b34ea482b4a720d4d0ff2cfebdb Mon Sep 17 00:00:00 2001 +From: Stefan Schake +Date: Fri, 29 Dec 2017 17:05:43 +0100 +Subject: [PATCH 194/201] drm/vc4: Move IRQ enable to PM path + +We were calling enable_irq on bind, where it was already enabled previously +by the IRQ helper. Additionally, dev->irq is not set correctly until after +postinstall and so was always zero here, triggering a warning in 4.15. +Fix both by moving the enable to the power management resume path, where we +know there was a previous disable invocation during suspend. + +Fixes: 253696ccd613 ("drm/vc4: Account for interrupts in flight") +Signed-off-by: Stefan Schake +Signed-off-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/1514563543-32511-1-git-send-email-stschake@gmail.com +Tested-by: Stefan Wahren +Reviewed-by: Eric Anholt +(cherry picked from commit ce9caf2f79a5aa170a4b6456a03db639eed9c988) +--- + drivers/gpu/drm/vc4/vc4_irq.c | 3 --- + drivers/gpu/drm/vc4/vc4_v3d.c | 3 +++ + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_irq.c b/drivers/gpu/drm/vc4/vc4_irq.c +index 26eddbb628936b91f20a000c405bfbc536324e89..3dd62d75f5319dbffcd9d27ea6f60927d193eb92 100644 +--- a/drivers/gpu/drm/vc4/vc4_irq.c ++++ b/drivers/gpu/drm/vc4/vc4_irq.c +@@ -209,9 +209,6 @@ vc4_irq_postinstall(struct drm_device *dev) + { + struct vc4_dev *vc4 = to_vc4_dev(dev); + +- /* Undo the effects of a previous vc4_irq_uninstall. */ +- enable_irq(dev->irq); +- + /* Enable both the render done and out of memory interrupts. */ + V3D_WRITE(V3D_INTENA, V3D_DRIVER_IRQS); + +diff --git a/drivers/gpu/drm/vc4/vc4_v3d.c b/drivers/gpu/drm/vc4/vc4_v3d.c +index 622cd43840b8c53588396b6d1d82b5d234a69113..493f392b3a0a90e70820d3582c0847ebe3cc0bd7 100644 +--- a/drivers/gpu/drm/vc4/vc4_v3d.c ++++ b/drivers/gpu/drm/vc4/vc4_v3d.c +@@ -327,6 +327,9 @@ static int vc4_v3d_runtime_resume(struct device *dev) + return ret; + + vc4_v3d_init_hw(vc4->dev); ++ ++ /* We disabled the IRQ as part of vc4_irq_uninstall in suspend. */ ++ enable_irq(vc4->dev->irq); + vc4_irq_postinstall(vc4->dev); + + return 0; + +From 02cde8c33b3d6732cb3273cd793d4d82738cedf2 Mon Sep 17 00:00:00 2001 +From: Boris BREZILLON +Date: Wed, 1 Nov 2017 10:57:31 +0100 +Subject: [PATCH 195/201] drm/vc4: Fix wrong printk format in + vc4_bo_stats_debugfs() + +vc4->purgeable.size and vc4->purgeable.purged_size are size_t fields +and should be printed with a %zd specifier. + +Fixes: b9f19259b84d ("drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl") +Signed-off-by: Boris Brezillon +Reviewed-by: Gustavo Padovan +Reviewed-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/20171101095731.14878-1-boris.brezillon@free-electrons.com +(cherry picked from commit 50f365cde4ffb5ae70c3f02384bbb46698aba65c) +--- + drivers/gpu/drm/vc4/vc4_bo.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c +index 2b587e5b4628fc62cbadd7e99466032438d7e5c3..2decc8e2c79f58aad6ea7626a32a0f26665d23eb 100644 +--- a/drivers/gpu/drm/vc4/vc4_bo.c ++++ b/drivers/gpu/drm/vc4/vc4_bo.c +@@ -88,11 +88,11 @@ int vc4_bo_stats_debugfs(struct seq_file *m, void *unused) + + mutex_lock(&vc4->purgeable.lock); + if (vc4->purgeable.num) +- seq_printf(m, "%30s: %6dkb BOs (%d)\n", "userspace BO cache", ++ seq_printf(m, "%30s: %6zdkb BOs (%d)\n", "userspace BO cache", + vc4->purgeable.size / 1024, vc4->purgeable.num); + + if (vc4->purgeable.purged_num) +- seq_printf(m, "%30s: %6dkb BOs (%d)\n", "total purged BO", ++ seq_printf(m, "%30s: %6zdkb BOs (%d)\n", "total purged BO", + vc4->purgeable.purged_size / 1024, + vc4->purgeable.purged_num); + mutex_unlock(&vc4->purgeable.lock); + +From dc229564cf81b042bd786d76a282f5dfc2cadc2c Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Wed, 20 Sep 2017 15:59:34 -0700 +Subject: [PATCH 196/201] drm/vc4: Reject HDMI modes with too high of clocks. + +Peter Robinson reported issues on Fedora with 4k monitors not having +their modes filtered down to 1920x1080 on Raspberry Pi. + +v2: Fix vc5 typo in place of vc4. + +Cc: Peter Robinson +Signed-off-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/20170920225935.14566-1-eric@anholt.net +Acked-by: Daniel Vetter (v1) +(cherry picked from commit 32e823c63e90f7535ea1cc5311d25c0233e1456d) +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 0b2088264039131f05c2f09bc9ba84d2d3793e39..8ab20c1e9e69e90b90c7f74640033f932df76ae7 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -695,7 +695,22 @@ static void vc4_hdmi_encoder_enable(struct drm_encoder *encoder) + } + } + ++static enum drm_mode_status ++vc4_hdmi_encoder_mode_valid(struct drm_encoder *crtc, ++ const struct drm_display_mode *mode) ++{ ++ /* HSM clock must be 108% of the pixel clock. Additionally, ++ * the AXI clock needs to be at least 25% of pixel clock, but ++ * HSM ends up being the limiting factor. ++ */ ++ if (mode->clock > HSM_CLOCK_FREQ / (1000 * 108 / 100)) ++ return MODE_CLOCK_HIGH; ++ ++ return MODE_OK; ++} ++ + static const struct drm_encoder_helper_funcs vc4_hdmi_encoder_helper_funcs = { ++ .mode_valid = vc4_hdmi_encoder_mode_valid, + .disable = vc4_hdmi_encoder_disable, + .enable = vc4_hdmi_encoder_enable, + }; + +From 135bf726b5e10f5c5819eb55053d1992f9baee74 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 16 Nov 2017 14:22:29 +0000 +Subject: [PATCH 197/201] drm/vc4: Add support for DRM_FORMAT_RGB888 and + DRM_FORMAT_BGR888 + +Filling out the list of supported formats based on those the +hardware can support. + +Signed-off-by: Dave Stevenson +Signed-off-by: Eric Anholt +Reviewed-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/b551205d1c33fa49eef2c33ed2d60c5339b2f299.1510841336.git.dave.stevenson@raspberrypi.org +(cherry picked from commit 88f8156fba43d040dc5af42f88db2c53d6c69443) +--- + drivers/gpu/drm/vc4/vc4_plane.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c +index e2b3cd6d885b080a3c3077cc160a549bec9b0330..497cb7d50946c6aa8e4d676982902694ff46e113 100644 +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -120,6 +120,14 @@ static const struct hvs_format { + .drm = DRM_FORMAT_XRGB1555, .hvs = HVS_PIXEL_FORMAT_RGBA5551, + .pixel_order = HVS_PIXEL_ORDER_ABGR, .has_alpha = false, + }, ++ { ++ .drm = DRM_FORMAT_RGB888, .hvs = HVS_PIXEL_FORMAT_RGB888, ++ .pixel_order = HVS_PIXEL_ORDER_XRGB, .has_alpha = false, ++ }, ++ { ++ .drm = DRM_FORMAT_BGR888, .hvs = HVS_PIXEL_FORMAT_RGB888, ++ .pixel_order = HVS_PIXEL_ORDER_XBGR, .has_alpha = false, ++ }, + { + .drm = DRM_FORMAT_YUV422, + .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_3PLANE, + +From 5e7b8dd6089f196e15c331e66669518dc8504bd3 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 16 Nov 2017 14:22:30 +0000 +Subject: [PATCH 198/201] drm/vc4: Use .pixel_order instead of custom + .flip_cbcr + +The hardware has enums for altering the Cr and Cb order, +so use this instead of having a flag which swaps the +order the pointers are presented to the hardware +(that only worked for 3 plane formats anyway). + +Explicitly sets .pixel_order in each case, rather than +relying on then default XYCBCR order being a value 0. + +Signed-off-by: Dave Stevenson +Signed-off-by: Eric Anholt +Reviewed-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/563872b69c1e5df142cb15ebfca7f20056b8a64c.1510841336.git.dave.stevenson@raspberrypi.org +(cherry picked from commit 090cb0c690183be849e2bfa0427220f1e435fa30) +--- + drivers/gpu/drm/vc4/vc4_plane.c | 20 ++++++++------------ + 1 file changed, 8 insertions(+), 12 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c +index 497cb7d50946c6aa8e4d676982902694ff46e113..5c67090e93f5e574de197735f01c6c4dbbdd0180 100644 +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -86,7 +86,6 @@ static const struct hvs_format { + u32 hvs; /* HVS_FORMAT_* */ + u32 pixel_order; + bool has_alpha; +- bool flip_cbcr; + } hvs_formats[] = { + { + .drm = DRM_FORMAT_XRGB8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888, +@@ -131,28 +130,32 @@ static const struct hvs_format { + { + .drm = DRM_FORMAT_YUV422, + .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_3PLANE, ++ .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + }, + { + .drm = DRM_FORMAT_YVU422, + .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_3PLANE, +- .flip_cbcr = true, ++ .pixel_order = HVS_PIXEL_ORDER_XYCRCB, + }, + { + .drm = DRM_FORMAT_YUV420, + .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_3PLANE, ++ .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + }, + { + .drm = DRM_FORMAT_YVU420, + .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_3PLANE, +- .flip_cbcr = true, ++ .pixel_order = HVS_PIXEL_ORDER_XYCRCB, + }, + { + .drm = DRM_FORMAT_NV12, + .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_2PLANE, ++ .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + }, + { + .drm = DRM_FORMAT_NV16, + .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_2PLANE, ++ .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + }, + }; + +@@ -625,15 +628,8 @@ static int vc4_plane_mode_set(struct drm_plane *plane, + * The pointers may be any byte address. + */ + vc4_state->ptr0_offset = vc4_state->dlist_count; +- if (!format->flip_cbcr) { +- for (i = 0; i < num_planes; i++) +- vc4_dlist_write(vc4_state, vc4_state->offsets[i]); +- } else { +- WARN_ON_ONCE(num_planes != 3); +- vc4_dlist_write(vc4_state, vc4_state->offsets[0]); +- vc4_dlist_write(vc4_state, vc4_state->offsets[2]); +- vc4_dlist_write(vc4_state, vc4_state->offsets[1]); +- } ++ for (i = 0; i < num_planes; i++) ++ vc4_dlist_write(vc4_state, vc4_state->offsets[i]); + + /* Pointer Context Word 0/1/2: Written by the HVS */ + for (i = 0; i < num_planes; i++) + +From 4dfeb8e735feaad74b65c9d8cee2bd1bce3750d0 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 16 Nov 2017 14:22:31 +0000 +Subject: [PATCH 199/201] drm/vc4: Add support for NV21 and NV61. + +NV12 (YUV420 2 plane) and NV16 (YUV422 2 plane) were +supported, but NV21 and NV61 (same but with Cb and Cr +swapped) weren't. Add them. + +Signed-off-by: Dave Stevenson +Signed-off-by: Eric Anholt +Reviewed-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/1f50799525e3401551dff2b0b2828b9ab892f75f.1510841336.git.dave.stevenson@raspberrypi.org +(cherry picked from commit cb20dd170d6a7d41e0f347998771b0e0db183438) +--- + drivers/gpu/drm/vc4/vc4_plane.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c +index 5c67090e93f5e574de197735f01c6c4dbbdd0180..44a956cb87c2184e8631868307538b15d2d2d476 100644 +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -152,11 +152,21 @@ static const struct hvs_format { + .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_2PLANE, + .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + }, ++ { ++ .drm = DRM_FORMAT_NV21, ++ .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_2PLANE, ++ .pixel_order = HVS_PIXEL_ORDER_XYCRCB, ++ }, + { + .drm = DRM_FORMAT_NV16, + .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_2PLANE, + .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + }, ++ { ++ .drm = DRM_FORMAT_NV61, ++ .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_2PLANE, ++ .pixel_order = HVS_PIXEL_ORDER_XYCRCB, ++ }, + }; + + static const struct hvs_format *vc4_get_hvs_format(u32 drm_format) + +From f71c503f85bd910fd15aaafa540d5e02eadd45ce Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Mon, 23 Jan 2017 11:41:54 -0800 +Subject: [PATCH 200/201] BCM270X: Disable VEC unless vc4-kms-v3d is present. + +Signed-off-by: Eric Anholt +(cherry picked from commit dabd52db47d2e799323639734787e3a338c2b2a5) +--- + arch/arm/boot/dts/bcm2708-rpi.dtsi | 4 ++++ + arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts | 7 +++++++ + 2 files changed, 11 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2708-rpi.dtsi b/arch/arm/boot/dts/bcm2708-rpi.dtsi +index 46a4d33e148438e4ca7c8cc17a328705000b1b3a..36dcd483925590b57c1927d7204be50672040539 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi +@@ -160,3 +160,7 @@ sdhost_pins: &sdhost_gpio48 { + &cpu_thermal { + /delete-node/ trips; + }; ++ ++&vec { ++ status = "disabled"; ++}; +diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +index 7d0d659b4886147e7e3b7eb3f60d546592cf2853..8baa7f77cd94ca76e9a01346015402321c314f20 100644 +--- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts ++++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +@@ -141,6 +141,13 @@ + }; + }; + ++ fragment@17 { ++ target = <&vec>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ + __overrides__ { + cma-256 = <0>,"+0-1-2-3-4"; + cma-192 = <0>,"-0+1-2-3-4"; + +From f2dddba6d5b3076bceda86ad3fabcbc1d67c07ef Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Thu, 21 Dec 2017 13:32:09 -0800 +Subject: [PATCH 201/201] drm/vc4: Flush the caches before the render jobs, as + well. + +If the frame samples from a render target that was just written, its +cache flush during the binning step may have occurred before the +previous frame's RCL was completed. Flush the texture caches again +before starting each RCL job to make sure that the sampling of the +previous RCL's output is correct. + +Fixes flickering in the top left of 3DMMES Taiji. + +Signed-off-by: Eric Anholt +Fixes: ca26d28bbaa3 ("drm/vc4: improve throughput by pipelining binning and rendering jobs") +--- + drivers/gpu/drm/vc4/vc4_gem.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c +index 638540943c61a5e095c87be8d2b2bf543ea933b1..e3e868cdee7943c2ed1c61a294804e11f7eefee0 100644 +--- a/drivers/gpu/drm/vc4/vc4_gem.c ++++ b/drivers/gpu/drm/vc4/vc4_gem.c +@@ -436,6 +436,19 @@ vc4_flush_caches(struct drm_device *dev) + VC4_SET_FIELD(0xf, V3D_SLCACTL_ICC)); + } + ++static void ++vc4_flush_texture_caches(struct drm_device *dev) ++{ ++ struct vc4_dev *vc4 = to_vc4_dev(dev); ++ ++ V3D_WRITE(V3D_L2CACTL, ++ V3D_L2CACTL_L2CCLR); ++ ++ V3D_WRITE(V3D_SLCACTL, ++ VC4_SET_FIELD(0xf, V3D_SLCACTL_T1CC) | ++ VC4_SET_FIELD(0xf, V3D_SLCACTL_T0CC)); ++} ++ + /* Sets the registers for the next job to be actually be executed in + * the hardware. + * +@@ -474,6 +487,14 @@ vc4_submit_next_render_job(struct drm_device *dev) + if (!exec) + return; + ++ /* A previous RCL may have written to one of our textures, and ++ * our full cache flush at bin time may have occurred before ++ * that RCL completed. Flush the texture cache now, but not ++ * the instructions or uniforms (since we don't write those ++ * from an RCL). ++ */ ++ vc4_flush_texture_caches(dev); ++ + submit_cl(dev, 1, exec->ct1ca, exec->ct1ea); + } + From 81dd44294414f7e9b4309aba83b12cdbdbab8423 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 25 Jan 2018 19:19:18 +0000 Subject: [PATCH 21/21] config: update options for linux-4.14.15 --- projects/RPi/devices/RPi/linux/linux.arm.conf | 3 ++- projects/RPi/devices/RPi2/linux/linux.arm.conf | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/projects/RPi/devices/RPi/linux/linux.arm.conf b/projects/RPi/devices/RPi/linux/linux.arm.conf index 9b9c64351e..53e2dcf685 100644 --- a/projects/RPi/devices/RPi/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.14.6 Kernel Configuration +# Linux/arm 4.14.15 Kernel Configuration # CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -1621,6 +1621,7 @@ CONFIG_TOUCHSCREEN_ADS7846=m # CONFIG_TOUCHSCREEN_EETI is not set CONFIG_TOUCHSCREEN_EGALAX=m # CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set +# CONFIG_TOUCHSCREEN_EXC3000 is not set # CONFIG_TOUCHSCREEN_FUJITSU is not set # CONFIG_TOUCHSCREEN_GOODIX is not set # CONFIG_TOUCHSCREEN_ILI210X is not set diff --git a/projects/RPi/devices/RPi2/linux/linux.arm.conf b/projects/RPi/devices/RPi2/linux/linux.arm.conf index af92947a3b..f3f993adb3 100644 --- a/projects/RPi/devices/RPi2/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi2/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.14.6 Kernel Configuration +# Linux/arm 4.14.15 Kernel Configuration # CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -1714,6 +1714,7 @@ CONFIG_TOUCHSCREEN_ADS7846=m # CONFIG_TOUCHSCREEN_EETI is not set CONFIG_TOUCHSCREEN_EGALAX=m # CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set +# CONFIG_TOUCHSCREEN_EXC3000 is not set # CONFIG_TOUCHSCREEN_FUJITSU is not set # CONFIG_TOUCHSCREEN_GOODIX is not set # CONFIG_TOUCHSCREEN_ILI210X is not set