diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 5b68505438..69d1a93747 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 5be495ed448ba74872820e66748cabe2d4b43f49 Mon Sep 17 00:00:00 2001 +From f6b85b878dae1558eb3b1591484e20792181d33f Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 001/130] arm: partially revert +Subject: [PATCH 001/135] 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 37a351c2b42ef5e1def96605d0907d1e6a96bded Mon Sep 17 00:00:00 2001 +From 49cedc74c5d40f00e593b7ffade40daf9b07a1c6 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 002/130] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/135] 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 c2b6bb91bc2ea6fec36cdddbd2ee56feb96b6e97 Mon Sep 17 00:00:00 2001 +From 28708fe8f970b0d98b2c28ebcc63ea182d3a1e22 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 003/130] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 003/135] 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 b24a046d5d11b83f7f22dcbff2cbd8d35c681280 Mon Sep 17 00:00:00 2001 +From e9add104f59ac0ff2dc1c4cbb83d7e7ba85ea8bc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 004/130] Allow mac address to be set in smsc95xx +Subject: [PATCH 004/135] 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 e4f65a2d62322ce74d230045ccad54bcb85824de Mon Sep 17 00:00:00 2001 +From e8ead0b3b492841ae0a4e442bfa1e439b63bbc1f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 005/130] Protect __release_resource against resources without +Subject: [PATCH 005/135] 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 0e791c7b2a29cf59924b27d3d9f6ae177a70bcfe Mon Sep 17 00:00:00 2001 +From c0a3d024e1b4c847c9fb014e79ee1c395901372d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 006/130] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/135] 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 0c7dd68f6c1c4851f2d40b0e63a8691f0676399b Mon Sep 17 00:00:00 2001 +From 060f2862ae64c115b5f5a792581b72201d5d5840 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 007/130] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 007/135] 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 712c6e7138df94ef6e97cd8dbedafa792a695c7f Mon Sep 17 00:00:00 2001 +From 56d2a2979611d4d845c0c57b00a4aa47e0ab9147 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/130] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 008/135] 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 c3194f9c12e867bde87183d18fe37b1d99a204c4 Mon Sep 17 00:00:00 2001 +From 8bf1e71c48cc036fb226b36a482dedc90fb41731 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/130] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 009/135] 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 fb530a239b9ca01d2962352c8c7f162470a61535 Mon Sep 17 00:00:00 2001 +From 17d548a6d0ddf9798a1d6ab02be4ecb51b9a0387 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:43:40 +0100 -Subject: [PATCH 010/130] irq_bcm2836: Send event when onlining sleeping cores +Subject: [PATCH 010/135] 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 0bbfb7e77bf0edd346e9b61f8af8eb7539f482c9 Mon Sep 17 00:00:00 2001 +From 665e4d3f8f6cfaf5e9e52ecd183397717d6e9fa3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 011/130] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 011/135] 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 0d61d621b9f9684646c8e8bc2064f13b932d7564 Mon Sep 17 00:00:00 2001 +From 385cd016d203779d65933e0078f5a81a738ec97f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 012/130] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 012/135] 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 6bbb03a06ad869b3e52964cce7bfaa93236ec6e2 Mon Sep 17 00:00:00 2001 +From e03f761c95479c7ef48e6411c1c5ed2f48f42e80 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 013/130] spi-bcm2835: Disable forced software CS +Subject: [PATCH 013/135] 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 619bf25637a348d9fec5c304436e0488c5c653b0 Mon Sep 17 00:00:00 2001 +From 8d2be149cefff56fddfecdc49e9ff50845397b22 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 014/130] spi-bcm2835: Remove unused code +Subject: [PATCH 014/135] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -898,10 +898,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From ee40ee0db039ed86bae45024a674256ff73e1549 Mon Sep 17 00:00:00 2001 +From b3c90e86e03601d7a660a7f876209877e27c3272 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/130] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 015/135] 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 1ef2b98fdd7f45a8f522c8606c35ff4e81914391 Mon Sep 17 00:00:00 2001 +From 59245614508a8654401f0f8278982aaf3a1b27be 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/130] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 016/135] 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 95a8806bc885da30964ba6972106a292eb10d902 Mon Sep 17 00:00:00 2001 +From ae821d0c253f77530e8bca475b2f475dc1f9cc1c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 017/130] firmware: Updated mailbox header +Subject: [PATCH 017/135] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 9 +++++++++ @@ -1124,10 +1124,10 @@ index cb979ad90401e299344dd5fae38d09c489d8bd58..30fb37fe175df604a738258a2a632bca RPI_FIRMWARE_VCHIQ_INIT = 0x00048010, -From 0ef66e525de84cf46eda201ea3d34f2345924932 Mon Sep 17 00:00:00 2001 +From 4dcf77422e08e0b4cf2528892cb1029409e5ff06 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 018/130] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 018/135] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1147,10 +1147,10 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From 9f17d988e60f7ee7016119863ede1aadd32f221b Mon Sep 17 00:00:00 2001 +From f96f6276d868d0ab8d27f0fddc1a5bc99ce17bff 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/130] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 019/135] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1252,10 +1252,10 @@ index b339e0e67b4c1275fd4992fea4f1e24c0575b783..26b7177573fac2af1cd4ab5488d2686f static int bcm2835_wdt_probe(struct platform_device *pdev) -From 5e64993e30a7c24d5530d82522e8699548f433fa Mon Sep 17 00:00:00 2001 +From 9e4ccf195444e51379e79f2061eb1f7a58440056 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 020/130] reboot: Use power off rather than busy spinning when +Subject: [PATCH 020/135] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1278,10 +1278,10 @@ index 3b2aa9a9fe268d45335f781c4aa22cf573753a1b..0180d89a34af45c56243fe0f17fbe209 /* -From 04fe878beca15de1af9d9eb898f2dcb63310ba67 Mon Sep 17 00:00:00 2001 +From 9a1fe7e08fee2e287a088d0b1cb95cddc29c22bf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 021/130] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 021/135] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -1300,10 +1300,10 @@ index 49f1e2a75d614bc21db152327c7b425ae2504f8d..dccd2374ed00631abd441e3e9d78ee74 help This enables support for the RPi power domains which can be enabled -From c9c26c8e84d36c8df7ae2b7dda624954dc8347cf Mon Sep 17 00:00:00 2001 +From bc38f9110399a675856615b0dd8e592ed08fb30a Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 022/130] Register the clocks early during the boot process, so +Subject: [PATCH 022/135] 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. @@ -1348,10 +1348,10 @@ index 58ce6af8452db9ca8b4d3c380a06e448919f6a8d..11d89d106026f15719ea25047d6f357b MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From bb4be10f2aa0bedb943b0eb0988de071f7d61c68 Mon Sep 17 00:00:00 2001 +From 11de561503e681ee9207ff460f4516957d699b3a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 023/130] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 023/135] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1377,10 +1377,10 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From a05245275b56aef1c85e578b8b9099740076b13c Mon Sep 17 00:00:00 2001 +From 0701f06ca743563e03a660ce857bef101b43d875 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 024/130] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 024/135] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -1400,10 +1400,10 @@ index 9ffd3dda3889c56a7a72229bed21ff5c49d62856..00da6c9bacbf33334233e22ca5209ade esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From 8e335e8b47368e9bcaade4bba0df4506acc3457b Mon Sep 17 00:00:00 2001 +From 304e6c3e84723df32bc73a63902bcc94ba348358 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 025/130] BCM2835_DT: Fix I2S register map +Subject: [PATCH 025/135] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -1441,10 +1441,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 7fca17c17a69af2be08c9d5b0ae2807465e852e5 Mon Sep 17 00:00:00 2001 +From 908a028a1baee24788176a6773e3de40f1414488 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 026/130] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 026/135] 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 @@ -1472,10 +1472,10 @@ index 11d89d106026f15719ea25047d6f357b4bfcb2c5..fe8f5d65f2749cb3ddc878df61664826 divider->data = data; -From 664036d3273ca724cb206cbb9d37ab506d9c2f5c Mon Sep 17 00:00:00 2001 +From 74e04720599b85d3e21e474f32ae31703caddf71 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 027/130] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 027/135] 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, @@ -1577,10 +1577,10 @@ index fe8f5d65f2749cb3ddc878df616648267441e0ee..92b5e0f5145b32d3bfc3592fe381e8be sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From f5952759b74f8f27cd9fd3d09bd956fe97af41b5 Mon Sep 17 00:00:00 2001 +From 8a5b21a0d21829284c4277d972882c42f98cdad0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 028/130] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 028/135] 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 @@ -1695,10 +1695,10 @@ index 92b5e0f5145b32d3bfc3592fe381e8be3cd90c72..336f8c9c44325d0a94e591a8557f7af2 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From cf6f9b6a068c9eee3b5c2fd85b9c16d3f9ca91dd Mon Sep 17 00:00:00 2001 +From e233a9790f50b16e4c6c1d279b0be1e0e6bcc2e1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 029/130] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 029/135] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -1736,10 +1736,10 @@ index 336f8c9c44325d0a94e591a8557f7af246adc857..caa05e5ad0b7b5cd683e04fb3591a3df * rate changes on at least of the parents. */ -From 734a6aeefc41447c906a17996a320622cd2c9acc Mon Sep 17 00:00:00 2001 +From 0312c87db8300c419fae4e2a802968e53dbfd5d0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 030/130] sound: Demote deferral errors to INFO level +Subject: [PATCH 030/135] 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. @@ -1774,10 +1774,10 @@ index fee4b0ef5566cf9e8de0bf5c568706da9cab2ea2..c728a4148903e983d61b6ae65765ba11 goto _err_defer; } -From e8b92ea8a6ac87ccd81b525510b00b8a34dedd25 Mon Sep 17 00:00:00 2001 +From 997551833bc6592b228c7813478dacc54900163b Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 031/130] Update vfpmodule.c +Subject: [PATCH 031/135] 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 @@ -1914,10 +1914,10 @@ index a71a48e71fffa8626fe90106815376c44bbe679b..d6c0a5a0a5ae3510db3ace5e3f5d3410 /* * Save the userland NEON/VFP state. Under UP, -From 788946b55843e1433f55923c3330723be89ce5f7 Mon Sep 17 00:00:00 2001 +From 3a201fd640e1e9f62b51eba9310f1e9a5f55696c Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 032/130] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 032/135] 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. @@ -1938,10 +1938,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..56df7d8a43d0aac055a91b0d24aca8e1 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From da0ad64afbf8eff5cc1efd1f572a9d9e00982ec0 Mon Sep 17 00:00:00 2001 +From ababf7d3e7d063bddabe59bb105aada508a4d344 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/130] i2c: bcm2835: Add debug support +Subject: [PATCH 033/135] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2130,10 +2130,10 @@ index cd07a69e2e9355540442785f95e90823b05c9d10..47167f403cc8329bd811b47c7011c299 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From 6eb566dcfe5a061bdde09fd6f7b0d4e6e5e8c1f2 Mon Sep 17 00:00:00 2001 +From eee34036c4b723bd829abed30a2bb86cdda224e7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 034/130] mm: Remove the PFN busy warning +Subject: [PATCH 034/135] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -2158,10 +2158,10 @@ index 77e4d3c5c57b72dcd7e411a03707c26dc85c7c04..3f2f09b590dbfaf592749e8f901893c2 goto done; } -From d80249764bc61d336f09a18ec45827bcf88fbe00 Mon Sep 17 00:00:00 2001 +From daa0b8acb2f7c0e6030ea63b7119b9697223d15a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 035/130] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 035/135] 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 @@ -2186,10 +2186,10 @@ index c367d11079bc90feec2ad0fa748d7ffc3035faba..91d5b531b69b49db97f7febbc60d33a2 config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From 0bb7cbe82412605cc4495f86b73a2b7b791d42f5 Mon Sep 17 00:00:00 2001 +From a14ecc1276bc4bbb2f3e53a1ec138b9412cf7bbb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 18 May 2017 15:36:46 +0100 -Subject: [PATCH 036/130] staging: bcm2835-audio: Fix memory corruption +Subject: [PATCH 036/135] staging: bcm2835-audio: Fix memory corruption I'm all for fixing memory leaks, but freeing a block while it is still being used is a recipe for hard-to-debug kernel exeptions. @@ -2224,10 +2224,10 @@ index 5f3d8f2339e34834d11edfa8de1d5819e3e32b4f..89f96f3c02805f4114ec9b488e18d00e return ret; } -From 3980d5508b2089602256492156be0697b337c799 Mon Sep 17 00:00:00 2001 +From 3fb1112169ed7aab2bc1f009c0e18ab9b3db6813 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 037/130] Main bcm2708/bcm2709 linux port +Subject: [PATCH 037/135] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2415,10 +2415,10 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From 4d4032b7b52b040898c02dee6b9ed73dd8baf969 Mon Sep 17 00:00:00 2001 +From b828201925896f151693fd8d8fa44f71de397203 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 038/130] Add dwc_otg driver +Subject: [PATCH 038/135] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -63691,10 +63691,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From 3bffdcd33ad6a8b7a2224601e1f13e3328f7ac4c Mon Sep 17 00:00:00 2001 +From ed354cfb178c08d293e2bd10f3a2a98bcd1918f4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 039/130] bcm2708 framebuffer driver +Subject: [PATCH 039/135] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67153,10 +67153,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 8c831cd80387944e9e0a4260d66302941d381b3b Mon Sep 17 00:00:00 2001 +From 1eb17ae804ea08fd9cd2fab35e238c648320c544 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 040/130] dmaengine: Add support for BCM2708 +Subject: [PATCH 040/135] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67787,10 +67787,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From 2dc57c0cf22e52f08eee8f0e979616a7a4b19fcf Mon Sep 17 00:00:00 2001 +From b80c351259ab6a6829100b0867c809700fa0ccac Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 041/130] MMC: added alternative MMC driver +Subject: [PATCH 041/135] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69670,10 +69670,10 @@ index 279b39008a33bb68745d9ea55ea5dd7ed522fd1c..49bdea5791a289251019a89419804dde unsigned int erase_size; /* erase size in sectors */ -From 4bc7b4246b35b0ecc2b9db2c2174fd05ccebad45 Mon Sep 17 00:00:00 2001 +From 5a9788f74a427fece17a27f1f78170957357ac93 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 042/130] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 042/135] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -72079,10 +72079,10 @@ index 0000000000000000000000000000000000000000..9c6f199a7830959f31012d86bc1f8b1a +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From fd6b5676d3bb97ddc50cc4c7c61f7396fd9c4274 Mon Sep 17 00:00:00 2001 +From a554a17321d42e86c6b2ea1cec3c9d74b24dfd29 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 043/130] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 043/135] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -72607,10 +72607,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From d3644eec0a55b0101b96802b762b7e04f1bc11ba Mon Sep 17 00:00:00 2001 +From 884785924d4103036e04e00d72165d7afd79f5e8 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 044/130] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 044/135] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -77487,10 +77487,10 @@ index 0000000000000000000000000000000000000000..b75729d762f25aace133f7a008633b40 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 9edf68591933c764411dbc83395e0a19305c08d9 Mon Sep 17 00:00:00 2001 +From 13f9fc60360130bd094eb66833551b4c28a2f351 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 045/130] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 045/135] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -77798,10 +77798,10 @@ index 0000000000000000000000000000000000000000..f5e7f1ba8fb6f18dee77fad06a17480c +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From 8ab04ec42776c3df60aa5187d2dfb041ef038fc9 Mon Sep 17 00:00:00 2001 +From 7e60ef09bd244cb06c86c6d0b80ffd5a08b0bcb9 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 046/130] Add SMI driver +Subject: [PATCH 046/135] Add SMI driver Signed-off-by: Luke Wren --- @@ -79752,10 +79752,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From 49bacfe87b0c03b7282d99ffcd4fa85886a420d5 Mon Sep 17 00:00:00 2001 +From 738b073a8af522f69e681032d539f7817629b38d Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 047/130] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 047/135] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -79925,10 +79925,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From f2de11d64b5afd119bfd47bcd5fefc4f8306c638 Mon Sep 17 00:00:00 2001 +From c06eb8a50dc1468cbf49f8295f85b63f27c71a43 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 048/130] Add SMI NAND driver +Subject: [PATCH 048/135] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -80293,10 +80293,10 @@ index 0000000000000000000000000000000000000000..c4826ea1c2bae555ce780e61f1076ddd + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From 359ba5be9b2be8ca88eae66a115cb739b082a694 Mon Sep 17 00:00:00 2001 +From 24b561c0856fc4bb52a7b4f361335cafc5579293 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 049/130] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 049/135] 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 @@ -81156,10 +81156,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From ebad0bf0058c9489e1f9dd480bc9041f711f583e Mon Sep 17 00:00:00 2001 +From 37f7fc334cae495749a5eba1298dd4fd14af9255 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 050/130] Add cpufreq driver +Subject: [PATCH 050/135] Add cpufreq driver Signed-off-by: popcornmix @@ -81423,10 +81423,10 @@ index 0000000000000000000000000000000000000000..99345969b0e4d651fd9033d67de2febb +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From 56f5dee78ba61de1f50835610484be098492be94 Mon Sep 17 00:00:00 2001 +From 97f50caf96f554072765a93511d6a0db478c21fb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 051/130] Add Chris Boot's i2c driver +Subject: [PATCH 051/135] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82091,10 +82091,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From 85745c8eb316484aa05f603969c24159bcd5d108 Mon Sep 17 00:00:00 2001 +From 324be6985a870512b119ac49362096e763652c3a 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 052/130] char: broadcom: Add vcio module +Subject: [PATCH 052/135] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82319,10 +82319,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From 2fb54faa76f9e2c94a24b44e5448d5085b414b91 Mon Sep 17 00:00:00 2001 +From 0dbf2bb3555e859fefe5bb167f8fdd11a6135b49 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 053/130] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 053/135] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82405,10 +82405,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From f192d5e18210e35cf801bb74538a2eceded38f31 Mon Sep 17 00:00:00 2001 +From f3da4abbd25aca9eff7bebd4e9fccc3de4feb756 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 054/130] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 054/135] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -82935,10 +82935,10 @@ index 0000000000000000000000000000000000000000..84be2593ec1de8f97b0167ff06b3e05d + return $trailer; +} -From adec14343df536f27fa8640fb127b1d75fb74b85 Mon Sep 17 00:00:00 2001 +From f92791f9cb2ce189b581b2653f66dcf4f5da05c2 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 055/130] BCM2708: Add core Device Tree support +Subject: [PATCH 055/135] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -95175,10 +95175,10 @@ index 5e975fee0f5b44343807d2f4e92954cb521497dc..3cf3f3eef6abdac2695d321c3d1bbc94 # Bzip2 -From 4c72e08b983f7d88d7aa60c8e70ca5926b234ea5 Mon Sep 17 00:00:00 2001 +From 9b41f592dfd289a79c18f54f83b428fb360a8a5d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 056/130] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 056/135] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -95353,10 +95353,10 @@ index bf6db4fe895bcd67e04ee65e8f76ea104af6299f..8741dca6dba65e2d72fbdbc1702139c2 /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -From d30b1d38425ba3ef90ecc7995c05172dc55f3f44 Mon Sep 17 00:00:00 2001 +From 687c82376d7e208741a68cdb95cdb18b326ce23a Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 057/130] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 057/135] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -95624,10 +95624,10 @@ index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..703fa8a70574323abe2fb32599254582 __u32 dx; /* screen-relative */ __u32 dy; -From 14d4141e9481665611a0317a698d48b8ed5033ec Mon Sep 17 00:00:00 2001 +From c371ca4e25c31cebd55cbdc7175d405ecdb366c7 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 058/130] Speed up console framebuffer imageblit function +Subject: [PATCH 058/135] 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 @@ -95836,10 +95836,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From c17498905d3dc4d6d6bae47425ab68f433eb8324 Mon Sep 17 00:00:00 2001 +From 283a00cc7e98a1dabb6db61d508dbe4e91a19d13 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 059/130] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 059/135] 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 @@ -96089,10 +96089,10 @@ index 5b2972946dda5f9ad415f1eaeaab67743a5cc0f0..b3558b7c9efb2484b40e31312aee197b u8, w1_slave_found_callback); }; -From 4d40b3c611ec78310ac422d24c11926c38a071bb Mon Sep 17 00:00:00 2001 +From f40af8d138edc25de32c4e87302c7213f4a3f534 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 060/130] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 060/135] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -96100,7 +96100,7 @@ Reduces overhead when using X 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c -index 089bad8a9a21d6b35742df8819fabb4da5036730..c18a6e634e5f0760339990554d7905029dc3644f 100644 +index 045b5da9b992873ce74f5d401de34855b93a6f8e..45abcbab4efe561a3829e9a6b6014abeb7d7797d 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -48,7 +48,7 @@ @@ -96112,7 +96112,7 @@ index 089bad8a9a21d6b35742df8819fabb4da5036730..c18a6e634e5f0760339990554d790502 module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644); MODULE_PARM_DESC(mousepoll, "Polling interval of mice"); -@@ -1088,7 +1088,9 @@ static int usbhid_start(struct hid_device *hid) +@@ -1098,7 +1098,9 @@ static int usbhid_start(struct hid_device *hid) /* Change the polling interval of mice and joysticks. */ switch (hid->collection->usage) { case HID_GD_MOUSE: @@ -96124,10 +96124,10 @@ index 089bad8a9a21d6b35742df8819fabb4da5036730..c18a6e634e5f0760339990554d790502 break; case HID_GD_JOYSTICK: -From 6f28bae1fc9aedeb680a378d3a63f8160e28bae9 Mon Sep 17 00:00:00 2001 +From ad7421c4ee6860ecf12be4bb9e995d2ac30189e9 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 061/130] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 061/135] 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 @@ -96485,10 +96485,10 @@ index 30fb37fe175df604a738258a2a632bca3bfff33f..4a3d79d3b48eb483a4e4bf498f617515 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From 2a5abc2e5a7113b9cd213a843467735d1d061498 Mon Sep 17 00:00:00 2001 +From 5822e1980be493bf6dc4f99277299c026fe94531 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 062/130] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 062/135] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -98068,10 +98068,10 @@ index 17ec37811c32f09126ed42753037e055c5cec115..c08f81812d0d56a0d90c1eb6777d0622 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From a37c7db17fdaca8cb35b764bfff0df952e653944 Mon Sep 17 00:00:00 2001 +From e738e3f75a1ba5e0b74ccfe7d4486e238565e326 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 063/130] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 063/135] 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 @@ -98106,10 +98106,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 6560e4712b4aad4004e759b92bda314c10c1a282 Mon Sep 17 00:00:00 2001 +From 25d32d1fbb96af400beb1fbb44a956a728da27f7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 064/130] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 064/135] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -98974,10 +98974,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From 602471d54876e59e958045231c4e8ccf7029e5df Mon Sep 17 00:00:00 2001 +From dacc57ef4e486897b4f4a5cee777502ea2c17164 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 065/130] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 065/135] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -99152,10 +99152,10 @@ index 0000000000000000000000000000000000000000..ee9f133953544629282631e5ef3f73fe +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From 34d67e2b58fc7d635f4ed75d9323748e86c5674d Mon Sep 17 00:00:00 2001 +From 63fdf33028ea33d979885ac9102399e1ba8e0a0b Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 066/130] ASoC: Add support for Rpi-DAC +Subject: [PATCH 066/135] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -99439,10 +99439,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 99f1b68ffd0bdced5be5179f61ff4e1df5e9a6e5 Mon Sep 17 00:00:00 2001 +From e0290e26a47531d4820a857737dbf10f4f83799c Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 067/130] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 067/135] 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 @@ -99491,10 +99491,10 @@ index fc69b87443d80489382b97332de6d5ad12a58ec8..d8fdce81b297dcf02e144bdead0c6193 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From 02d22fec4beb09ba105ce2fce974aaa0de9f946e Mon Sep 17 00:00:00 2001 +From 06bda62c46c32b42a669bdf21ccf91c3a886d314 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 068/130] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 068/135] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -99838,10 +99838,10 @@ index 0000000000000000000000000000000000000000..7620dd02de40b6d644ff038b445d375d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From 15179ea09468a873921e43b3133b533535c99204 Mon Sep 17 00:00:00 2001 +From 604a0440bf1294084217d68b90965aeffe9e0fd0 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 069/130] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 069/135] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -100176,10 +100176,10 @@ index 0000000000000000000000000000000000000000..1ee4097c846376666775272ed692ca33 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 6c1ba8de5146ffa67106b9f7a3669b576f3030c5 Mon Sep 17 00:00:00 2001 +From 60edd23278b58577d84b19353f7bb5461c930a75 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 070/130] Added support for HiFiBerry DAC+ +Subject: [PATCH 070/135] 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. @@ -100809,10 +100809,10 @@ index 68feae262476492ae3a0b30855dbb09e96fa187e..f7b0977017ed5a6c02eafa0147d49d66 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 834ba011d0baa0f202c0d78f231d26dc825e0901 Mon Sep 17 00:00:00 2001 +From a43c5ff7817025afba6ac3d254660cb8ddd461e4 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 071/130] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 071/135] 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. @@ -101647,10 +101647,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From 3477ee32ad2231800570ac6a650f37fe7aba5c59 Mon Sep 17 00:00:00 2001 +From e31bd0c0f7e6b4f5cf515494ffd2d98b7b610af6 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 072/130] Add driver for rpi-proto +Subject: [PATCH 072/135] 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 @@ -101865,10 +101865,10 @@ index 0000000000000000000000000000000000000000..fadbfade100228aaafabb0d3bdf35c01 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From ce84ff630240181daa2d174e53794c822de40f43 Mon Sep 17 00:00:00 2001 +From d5a456ea630c1b828c4017244ce3bcdd720844b9 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 073/130] RaspiDAC3 support +Subject: [PATCH 073/135] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -102111,10 +102111,10 @@ index 0000000000000000000000000000000000000000..ad2b5b89bc8213dc2e277306ef50d6e3 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From 2e5b14c852b6ea224e3638ffd1305dd509fa7038 Mon Sep 17 00:00:00 2001 +From 107174ad6ec16caa45a8f32db51bf070d46ec668 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 074/130] Add Support for JustBoom Audio boards +Subject: [PATCH 074/135] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -102570,10 +102570,10 @@ index 0000000000000000000000000000000000000000..909cf8928f2f4313982316f9c5b8a709 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From 19d9ea17cf8a6ecbcca76701a693050c1ba9afdd Mon Sep 17 00:00:00 2001 +From 6747ad2a4de0f9bdbd5053878be1c372463a79bd Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 075/130] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 075/135] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -102755,10 +102755,10 @@ index 0000000000000000000000000000000000000000..f3d7e5db7bb912e1d7ca6f8e8d42df5f +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 896c30d4a38a4a612f3e946d41ec24ad250754c6 Mon Sep 17 00:00:00 2001 +From 9911fb9889d2d57c0b74f72497afc35c70592b8f Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 076/130] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 076/135] 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. @@ -103009,10 +103009,10 @@ index 0000000000000000000000000000000000000000..491906bbf446826e55dd843f28e4860f +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From 5c9cfd99d7b2dd6b91b0f088f740acdf5fc2fa52 Mon Sep 17 00:00:00 2001 +From 2e33f3ad8838ba18149ec6efa093a80fd53efd23 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 077/130] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 077/135] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -103312,10 +103312,10 @@ index 0000000000000000000000000000000000000000..33aa2be8a43a12a12cfb5d844dd9732c +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From fd6d63e73cbdcc91697c27ddb1d7dfdc791e1151 Mon Sep 17 00:00:00 2001 +From 0584a61bff60b92ea8d641000395ea2a9d3a584c Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 078/130] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 078/135] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -103788,10 +103788,10 @@ index 0000000000000000000000000000000000000000..f200688bb4ae32b90a0ced555aed94b0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From afefb5caa3153c6ef418db1585598babbd7b0815 Mon Sep 17 00:00:00 2001 +From f4053d666ea1402e293a679f913e0c555d5b162c Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 079/130] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 079/135] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -103964,10 +103964,10 @@ index 0000000000000000000000000000000000000000..65e03741d349a2dc5bd91f69855ea952 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From 002a3e4d5f7dce48335d720b1807874ed7909ad1 Mon Sep 17 00:00:00 2001 +From cc9cdee80d3caefd501925d34158f2815c27fa9f Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 080/130] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 080/135] 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, @@ -104174,10 +104174,10 @@ index 0000000000000000000000000000000000000000..eaf50fb6dbca1970ae1c6f8662088b0f +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From 64826ab7e23fee202dab1323e8201dfe6dc8307f Mon Sep 17 00:00:00 2001 +From 6fe802dbfc2d1ae5465cba0ccb539401edf8478a Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 081/130] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 081/135] 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. @@ -105046,10 +105046,10 @@ index 0000000000000000000000000000000000000000..d4e99e3c6a383d92fb0cf9e8c1cd1e76 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From 215efee88e57aedaccce50a9b4063af5044d03f0 Mon Sep 17 00:00:00 2001 +From ccc7eba5a4b0c0c1ba1e87fd4960a16edf45d379 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 082/130] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 082/135] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -105752,10 +105752,10 @@ index 0000000000000000000000000000000000000000..203ab76c7045b081578e23bda1099dd1 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From a913d16963ab5abafdc13ba95eada00a07ecb497 Mon Sep 17 00:00:00 2001 +From 0cabb3263b2ffd259cf5e797f9ba0f4dba2aaedc Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 083/130] Support for Blokas Labs pisound board +Subject: [PATCH 083/135] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) @@ -106954,10 +106954,10 @@ index 0000000000000000000000000000000000000000..06ff1e53dc9d860946965b6303577762 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From 73bd3e426030f62de3d7db4023e66cb3a21050cd Mon Sep 17 00:00:00 2001 +From 2f1352ff5be0f00014d23413e8d9d9d51a143588 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 084/130] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 084/135] 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 @@ -108022,10 +108022,10 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From 9841e8d8b5d324efe658f9e59008c89aef23d9c3 Mon Sep 17 00:00:00 2001 +From 601eed6a50d82e878aefaca46a854bbcb06c38d6 Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 085/130] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 085/135] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -108220,10 +108220,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From 185e5520a8f1f2e69399c889ab26eaefa63e14b4 Mon Sep 17 00:00:00 2001 +From 4e8636f59bea56409c2ee596d598d24e712604eb Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 086/130] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 086/135] 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. @@ -108437,10 +108437,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From fd8e7f6f443778b7124c2ead870d45c12f900dfa Mon Sep 17 00:00:00 2001 +From 6f408f93286b3ccfac0cb64441b1d1168acd12cf Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 087/130] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 087/135] Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset @@ -108849,10 +108849,10 @@ index 0000000000000000000000000000000000000000..5e79f4eff93a21ed3495c77a90f73525 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From 35285fa3ba4067fe94562cde21fd30af2237bfbb Mon Sep 17 00:00:00 2001 +From d5377145211c1754048f241492a2d0bd6d904909 Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 088/130] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 088/135] Driver support for Google voiceHAT soundcard. --- sound/soc/bcm/Kconfig | 7 ++ @@ -109243,10 +109243,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From 09e9070450f9b2c0cf1d64e0b3cefbc013a5d57f Mon Sep 17 00:00:00 2001 +From 5b85b4bd76cff4e7329d67c6c6f85f7ade45c264 Mon Sep 17 00:00:00 2001 From: sandeepal Date: Fri, 2 Jun 2017 18:59:46 +0530 -Subject: [PATCH 089/130] Allo Digione Driver (#2048) +Subject: [PATCH 089/135] Allo Digione Driver (#2048) Driver for the Allo Digione soundcard --- @@ -109568,10 +109568,10 @@ index 0000000000000000000000000000000000000000..e3664e44c699d0102120ecf99e8b780a +MODULE_DESCRIPTION("ASoC Driver for Allo DigiOne"); +MODULE_LICENSE("GPL v2"); -From cb70fcd2b80c023f50f9a7f7a156ffc7df8aa1b8 Mon Sep 17 00:00:00 2001 +From e6e46c7335adf2270db098094fb1e252c6747473 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 090/130] rpi_display: add backlight driver and overlay +Subject: [PATCH 090/135] 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 @@ -109740,10 +109740,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 7ef9fe23ccd9a923bf9cd7056121e1bf080a28ff Mon Sep 17 00:00:00 2001 +From 9207a902db34c4a8e09b74a77494ded3519673e1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 091/130] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 091/135] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -109756,7 +109756,7 @@ request that the VPU toggles LEDs. create mode 100644 drivers/gpio/gpio-bcm-virt.c diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index 3388d54ba11468a0ab013f1160b1ea2a258ca354..a18eca231879705937c3b5d9cf80a3224e40c1e4 100644 +index 3f80f167ed56d917405aaad1dd5e09598c7fc9e6..19881f46b3bb0d0668ca8e786ebea21ea8127b84 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -134,6 +134,12 @@ config GPIO_BCM_KONA @@ -110017,10 +110017,10 @@ index 4a3d79d3b48eb483a4e4bf498f617515e3ad158f..5f34e1257117fb48013c9926a8a223d6 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From 76d41da5fcb009cb8a8bd9ee954ecbb903218f30 Mon Sep 17 00:00:00 2001 +From 8bf2ce2eb32430df49003c9695ffb8964f4ccbd5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 092/130] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 092/135] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -110040,7 +110040,7 @@ Signed-off-by: Dave Stevenson create mode 100644 drivers/gpio/gpio-bcm-exp.c diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index a18eca231879705937c3b5d9cf80a3224e40c1e4..21736685b44d916c5b50098feeaa9b06c12c7588 100644 +index 19881f46b3bb0d0668ca8e786ebea21ea8127b84..5f53e1f4e8e2ef2e0e97318cebf80f4498153a2f 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -128,6 +128,13 @@ config GPIO_AXP209 @@ -110346,10 +110346,10 @@ index 5f34e1257117fb48013c9926a8a223d64a598ab7..c819c21b0158a59c1308882e5a40e3f3 /* Dispmanx TAGS */ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, -From c21dac85b4646ae687bdd0762fa2ca8f0a228805 Mon Sep 17 00:00:00 2001 +From 06222912d0038f576661d5dad961aaedda25729c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 093/130] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 093/135] 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 @@ -110378,10 +110378,10 @@ index 111e6a95077978c2c30bfe2a2de4a0d095e8d76e..584471add0962c0e26eb814fc0ef43ee uap->old_cr = 0; uap->port.dev = dev; -From e76e00f9bd2376b88c0817f95a3c91cae1d32ec6 Mon Sep 17 00:00:00 2001 +From c24e461e5edb49b5064e77079df312957839ebf2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 094/130] amba_pl011: Round input clock up +Subject: [PATCH 094/135] 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 @@ -110467,10 +110467,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 d736f522ef9192e9b1d9887c2deaefa961ed4412 Mon Sep 17 00:00:00 2001 +From 68f3f270b7baa36b07e483b2ac9d9981b6d9e113 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 095/130] OF: DT-Overlay configfs interface +Subject: [PATCH 095/135] 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. @@ -110902,10 +110902,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From 171844e84f0ad8c7c4b350c276c27c267060c866 Mon Sep 17 00:00:00 2001 +From 078c6f4a38679c58aaadd1ce4650a81291cb6ccd Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 096/130] brcm: adds support for BCM43341 wifi +Subject: [PATCH 096/135] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -111037,10 +111037,10 @@ index 613caca7dc020a78985b22521422700022c37473..971c68a261f2d041806655dd66636aee BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -From 25a3357620bb020cfac08cc519e3f2f72abdd18b Mon Sep 17 00:00:00 2001 +From 55a12fd552f299db720bb99ae0757c4e2ddc0fe8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 097/130] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 097/135] brcmfmac: Mute expected startup 'errors' The brcmfmac WiFi driver always complains about the '00' country code. Modify the driver to ignore '00' silently. @@ -111064,10 +111064,10 @@ index 2d3b5e2a3ef7cd6186487b48665b401249380d18..e417454f5d6ec136cda29e65af5449f2 req->alpha2[0], req->alpha2[1]); return; -From 57e009d1bd7b78d6db2258e3cb079512f0a39875 Mon Sep 17 00:00:00 2001 +From 8ba8478c8a4b832b75dd5b54c4988ab12eb8421e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 098/130] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 098/135] 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. @@ -111090,10 +111090,10 @@ index c0e4e26dc30d7c3c6a771b7b86df88c8cf763646..7308287259eedcaf229f8a496a0e3826 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From ccf0b8bea74c1f128ebbfa263125f624bd6a5c01 Mon Sep 17 00:00:00 2001 +From 89d6db8e1f1f102c47cce743586c63d107330226 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 099/130] config: Add default configs +Subject: [PATCH 099/135] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1326 +++++++++++++++++++++++++++++++++++ @@ -113772,10 +113772,10 @@ index 0000000000000000000000000000000000000000..e0dd8723047ff488e81a03ef42fdbc68 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From fe7608292f8b1004b8daaa12ac27c979170096aa Mon Sep 17 00:00:00 2001 +From 1884a157de8277c0c4a7e835a02cef66a72cafe1 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 100/130] Add arm64 configuration and device tree differences. +Subject: [PATCH 100/135] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -115188,10 +115188,10 @@ index 0000000000000000000000000000000000000000..e6b09fafa27eed2b762e3d53b55041f7 +CONFIG_LIBCRC32C=y +CONFIG_BCM2835_VCHIQ=n -From 57837eb89f0a1d4e1fca4b83ebd01889142d923a Mon Sep 17 00:00:00 2001 +From 9c2f260720676e5cbbd40f5ede9530234731c120 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 101/130] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 101/135] 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. @@ -115601,10 +115601,10 @@ index e6b09fafa27eed2b762e3d53b55041f793683d27..c7e891d72969a388d9b135a36dbfc9c9 CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -From 07af768c396e8c0df2854649f0c4f3dc265206aa Mon Sep 17 00:00:00 2001 +From ddb269dd428406be706fca0428f6be41cc5b53f7 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:10:07 -0800 -Subject: [PATCH 102/130] ARM64: Enable HDMI audio and vc04_services in +Subject: [PATCH 102/135] ARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig Signed-off-by: Michael Zoran @@ -115633,10 +115633,10 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..4b90f9b64abe9f089ba56b13d5a00de3 CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set -From 2b9d88db8ce49a579126e3e86e785afc9dd36e87 Mon Sep 17 00:00:00 2001 +From d603a9f0713a19a975bf41a7c7b0931e78cc55fe Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:14:03 -0800 -Subject: [PATCH 103/130] ARM64: Run bcmrpi3_defconfig through savedefconfig. +Subject: [PATCH 103/135] ARM64: Run bcmrpi3_defconfig through savedefconfig. Signed-off-by: Michael Zoran --- @@ -115681,10 +115681,10 @@ index 4b90f9b64abe9f089ba56b13d5a00de33343bfb9..dac962ca1634662ce7d966f1ffb53b5b CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m -From 718244f3fe192bacbd4e533a85b74afea528c059 Mon Sep 17 00:00:00 2001 +From 83a53e1a2fb821d7221945d56ae3aa0e4c838161 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 104/130] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 104/135] ARM64: Enable Kernel Address Space Randomization (#1792) Randomization allows the mapping between virtual addresses and physical @@ -115716,10 +115716,10 @@ index dac962ca1634662ce7d966f1ffb53b5bfa27c506..aae33b4b3c3e736ea7cd3ca242158ad6 CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From 573f4f28c55b7ac621a43523e79efa91eb0e99ef Mon Sep 17 00:00:00 2001 +From e83ce5b0d919bd298ac3e8b8d7dcae062bd49a51 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 105/130] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 105/135] 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 @@ -115744,10 +115744,10 @@ index aae33b4b3c3e736ea7cd3ca242158ad6ba558aff..b7d762df19b85e369a32cd823dfd0621 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From 936b520f02f32a85d476875ff64c25e439fae164 Mon Sep 17 00:00:00 2001 +From 3465d5de5e49d9dc35071db9d099d814d16bac38 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 106/130] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 106/135] 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 @@ -116090,10 +116090,10 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From 10be33ce66d67980de985c1c2af7f5f41e949242 Mon Sep 17 00:00:00 2001 +From fa7e059b41752e48e222cfcb9e10e188bb52ab4a Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 107/130] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 107/135] 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 @@ -116167,10 +116167,10 @@ index 86b357ae027bf8ba1ac32cd150a8cf21e36597e2..05b17ca993f405c4c8e61a782ec58149 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From 5d04823e0c8aa010d5d2c8bc83411d20cd1cf547 Mon Sep 17 00:00:00 2001 +From de971f8698893fd188a09a0de93bf43d0e101def Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 108/130] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 108/135] ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran @@ -116191,10 +116191,10 @@ index b7d762df19b85e369a32cd823dfd062145bdefa7..4d85c231c5ea0244e1b05fb4a5e3c8fd CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From d403646b7d041a0584538f62b410028eca4787c2 Mon Sep 17 00:00:00 2001 +From 68248d154d102da6fcc01edc271255e6abf5a744 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 109/130] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 109/135] ARM64: Force hardware emulation of deprecated instructions. --- @@ -116222,10 +116222,10 @@ index d06fbe4cd38d7423c900aff64b0e728f995478d3..877b7c90f9555203d5d55d739359a256 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -From 58fbc9238e5bad8b2e905c6d5aa9a63977a1f78e Mon Sep 17 00:00:00 2001 +From 358da43b78435ba44d2f9520d85b6541bbe0c17d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 110/130] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 110/135] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -116250,10 +116250,10 @@ index 939b310913cf38cd7ca3136128fb5440340d7d12..8d90800c10f96efa428f5ed348fe7047 dtbs: prepare scripts -From b0b105ca599f992fbb57c15b5f650373aa04e0b2 Mon Sep 17 00:00:00 2001 +From 8f11ce678cfb96440e050c34606c9ec19dd7eabd Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Wed, 24 May 2017 10:52:50 +0200 -Subject: [PATCH 111/130] enable drivers for GPIO expander and vcio +Subject: [PATCH 111/135] enable drivers for GPIO expander and vcio --- arch/arm64/configs/bcmrpi3_defconfig | 3 +++ @@ -116281,10 +116281,10 @@ index 4d85c231c5ea0244e1b05fb4a5e3c8fd3e651ddf..9dcb58a519d041fadae99c81a7bda621 CONFIG_GPIO_ARIZONA=m CONFIG_GPIO_STMPE=y -From c4bca62fffa19ae7bb8e47762ed1a5cf4910f8ec Mon Sep 17 00:00:00 2001 +From f7e72e4d5b6ca43e66109efd3cf25ec883d08e85 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 112/130] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 112/135] 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 @@ -116448,10 +116448,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From 6ab7d94f59c2768b402031b78bd07290b1a22efa Mon Sep 17 00:00:00 2001 +From cfe825ad52810d8785df9af6c7ee94a42bb1eafa Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 113/130] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 113/135] 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. @@ -132583,10 +132583,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From b6749ff6f79672faee1dcadecdfe266fef1968b4 Mon Sep 17 00:00:00 2001 +From a865f07e587032cb0a8f47c2d7ba16a024c21808 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:18:09 +0100 -Subject: [PATCH 114/130] raspberrypi-firmware: Define the MBOX channel in the +Subject: [PATCH 114/135] raspberrypi-firmware: Define the MBOX channel in the header. Signed-off-by: Eric Anholt @@ -132608,10 +132608,10 @@ index c819c21b0158a59c1308882e5a40e3f3fe73cbdf..de2a3dcd562beb752266eaf0070e5586 enum rpi_firmware_property_status { -From fd08bbf521d7f5688f1e9028dedd9a811ed93228 Mon Sep 17 00:00:00 2001 +From 09fb2d7064e07725767e27612c8d459f762c67c8 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 115/130] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 115/135] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -132655,10 +132655,10 @@ index de2a3dcd562beb752266eaf0070e55861d553f5f..dc7fd58afd5dddebf9b17065bb069a1d #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From e8796af3a4ad5c476698efcbbc8e643e6836a22f Mon Sep 17 00:00:00 2001 +From ed379368f2c8e55ea6abfd95dc6e02b1aed8c812 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 116/130] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 116/135] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt @@ -133429,10 +133429,10 @@ index 0000000000000000000000000000000000000000..78c34305935501248b1ca548a1ee0175 + }, +}; -From cea10b5bd629189528b85fb5b4b6a412cab99a03 Mon Sep 17 00:00:00 2001 +From 8e6d63e564643199127f48d3aeb55ca5eed44d7e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 117/130] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 117/135] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. @@ -133456,10 +133456,10 @@ index 78c34305935501248b1ca548a1ee01753b8fa099..d9a5551d01a2155e3df1bbbd78a1ee2b if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From babe98afe382e9294484bfca95377fecd2d72d44 Mon Sep 17 00:00:00 2001 +From 6266317b39572eb34ba1d13566d7537125ba8d28 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 118/130] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 118/135] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was @@ -133529,10 +133529,10 @@ index d9a5551d01a2155e3df1bbbd78a1ee2b961be946..e372666af0119b1876bad5167e6d0ff8 RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From 4c0bbb3d4a147d9e49b2e898ca5c0ef0f8beb571 Mon Sep 17 00:00:00 2001 +From fbcb05942a04a5b81535bd03f2de4918bd7749c6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 119/130] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 119/135] 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 @@ -133574,10 +133574,10 @@ index e372666af0119b1876bad5167e6d0ff8945d1b80..4d7b7f218cbbc9e7abcaa37743978060 static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From 20930f676a58cd10e749e9d0600a75625e403fa4 Mon Sep 17 00:00:00 2001 +From 2fb89dccd017d29da38c404f24edc21dec7af30f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 120/130] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH 120/135] vc4_fkms: Apply firmware overscan offset to hardware cursor --- @@ -133634,10 +133634,10 @@ index 4d7b7f218cbbc9e7abcaa37743978060b73fbdd1..d170775ccc985637ff018804f510a500 return 0; -From db95694af0b9b702c1b80492c9c9187ef9358f0f Mon Sep 17 00:00:00 2001 +From 9a0c43d931f76b1c3edc6333ad654a8c901110ef Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 11:34:26 +0200 -Subject: [PATCH 121/130] ASoC: bcm2835: Add support for TDM modes +Subject: [PATCH 121/135] 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 @@ -134039,10 +134039,10 @@ index 56df7d8a43d0aac055a91b0d24aca8e1b4e308e4..dcacf7f83c9371df539a788ea33fedcf dev->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, dev); -From dc03053d1302977b6cabd15a5538efb6574b88ab Mon Sep 17 00:00:00 2001 +From cd9115ba7953c2533f26daee0be5a0f488c7f3dc Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 15:30:50 +0200 -Subject: [PATCH 122/130] ASoC: bcm2835: Support left/right justified and DSP +Subject: [PATCH 122/135] ASoC: bcm2835: Support left/right justified and DSP modes DSP modes and left/right justified modes can be supported @@ -134288,10 +134288,10 @@ index dcacf7f83c9371df539a788ea33fedcf97d64690..3a706fda4f39e42efbe12f19d87af9b1 } -From 1c1529bd2fb89ea618c52884d5ed66c0fdf234f6 Mon Sep 17 00:00:00 2001 +From f06fae6acf80aed71ec0d01356b22835e8506a17 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:19:54 +0200 -Subject: [PATCH 123/130] ASoC: bcm2835: Support additional samplerates up to +Subject: [PATCH 123/135] ASoC: bcm2835: Support additional samplerates up to 384kHz Sample rates are only restricted by the capabilities of the @@ -134334,10 +134334,10 @@ index 3a706fda4f39e42efbe12f19d87af9b100a348a5..43f5715a0d5dda851731ecf7ff27e76c | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE -From a3a81d894f13c422b7f4139461a74f46e7281629 Mon Sep 17 00:00:00 2001 +From 344187e4c6a5e0f054be459dc9bc9dfc78a44765 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:24:57 +0200 -Subject: [PATCH 124/130] ASoC: bcm2835: Enforce full symmetry +Subject: [PATCH 124/135] 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. @@ -134373,10 +134373,10 @@ index 43f5715a0d5dda851731ecf7ff27e76c48fb6e57..2e449d7173fcecbcd647f90a26bd58b6 static bool bcm2835_i2s_volatile_reg(struct device *dev, unsigned int reg) -From 4ef6c4411dc74c27f57719332d15c88023305a4b Mon Sep 17 00:00:00 2001 +From e6284c6c6e75090dec8560a616f634f43c2c65ac Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 5 Jun 2017 16:40:38 +0100 -Subject: [PATCH 125/130] dma-bcm2708: Fix module compilation of +Subject: [PATCH 125/135] dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708 bcm2708-dmaengine.c defines functions like bcm_dma_start which are @@ -134419,10 +134419,10 @@ index c5bfff2765be4606077e6c8af73040ec13ee8974..6ca874d332a8bc666b1c9576ac51f479 #endif /* _PLAT_BCM2708_DMA_H */ -From a1399f1ce0869b1d704d4835113a5343fae74e3f Mon Sep 17 00:00:00 2001 +From 96c439c5027b2a4f066abeae12aee4db9e11aa46 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 126/130] cache: export clean and invalidate +Subject: [PATCH 126/135] cache: export clean and invalidate --- arch/arm/mm/cache-v6.S | 4 ++-- @@ -134474,10 +134474,10 @@ index de78109d002db1a5e7c94a6c1bc8bb94161d07b8..4c850aa3af2b2439fced4e130441329a sub r3, r2, #1 bic r0, r0, r3 -From 5c3d3df7ff0f8f7ca37a132f1b74526a04edd8c4 Mon Sep 17 00:00:00 2001 +From 88c35038fdd612c2d238cbfd71e840875cd91ded Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 20 Sep 2017 11:52:41 +0200 -Subject: [PATCH 127/130] config: enable upstream IR TX drivers +Subject: [PATCH 127/135] config: enable upstream IR TX drivers Signed-off-by: Matthias Reichl --- @@ -134512,10 +134512,10 @@ index e0dd8723047ff488e81a03ef42fdbc68c43dc721..b397818f4a69d04c708101ea3f65e885 CONFIG_USB_VIDEO_CLASS=m CONFIG_USB_M5602=m -From 5442b4a04f74d27c4b3dafac70b670ba61eb8918 Mon Sep 17 00:00:00 2001 +From d72ac3cab363863507d449f6daf9dc7950a985ce Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 20 Sep 2017 11:52:42 +0200 -Subject: [PATCH 128/130] overlays: add gpio-ir-tx and pwm-ir-tx +Subject: [PATCH 128/135] overlays: add gpio-ir-tx and pwm-ir-tx Signed-off-by: Matthias Reichl --- @@ -134676,10 +134676,10 @@ index 0000000000000000000000000000000000000000..141c126fe33b90a16fea396b8e27692d + }; +}; -From 9c51970021a492657c8d2d0a19cad002a2838a33 Mon Sep 17 00:00:00 2001 +From 7969505c590f45ef83e070d825dcc2181bd205bc Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 129/130] amba_pl011: Insert mb() for correct FIFO handling +Subject: [PATCH 129/135] 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 @@ -134706,10 +134706,10 @@ index bfbc845d7be9ef804468d0a82da18d9b67857216..424bdc500864a86e5d431763ba416b52 return true; -From 0991175095d184c983c35931daeebaeda309e2a5 Mon Sep 17 00:00:00 2001 +From 8b02bb4b4519039594cddf139953b54b8d8ae209 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 13 Oct 2017 00:21:48 +0100 -Subject: [PATCH 130/130] dwc_otg: Fixup change to DRIVER_ATTR interface +Subject: [PATCH 130/135] dwc_otg: Fixup change to DRIVER_ATTR interface --- drivers/usb/host/dwc_otg/dwc_otg_driver.c | 9 ++++----- @@ -134755,3 +134755,614 @@ index 95943e07528276b26b51ea2d57a1f433f280aaef..af123d01f3ef9f99450c78efdf766ca3 /** * This function is called during module intialization + +From ece9a877d09b7ef781494c9495b1b2e5d81f60a3 Mon Sep 17 00:00:00 2001 +From: Chung-Hsien Hsu +Date: Sun, 14 May 2017 20:11:05 -0500 +Subject: [PATCH 131/135] 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 +until downloading a CLM blob file with some other regions. This patch +adds support for CLM blob file download. The blob file should be named +as firmware but with extension .clm_blob (e.g. +brcmfmac43430-sdio.clm_blob) and be placed in /lib/firmware/brcm/. + +Change-Id: I0901a4b38592fe28d0adeb8f3e2402292842f169 + +Signed-off-by: Chung-Hsien Hsu +--- + .../net/wireless/broadcom/brcm80211/brcmfmac/bus.h | 13 ++ + .../wireless/broadcom/brcm80211/brcmfmac/common.c | 175 +++++++++++++++++++++ + .../broadcom/brcm80211/brcmfmac/fwil_types.h | 27 ++++ + .../wireless/broadcom/brcm80211/brcmfmac/pcie.c | 19 +++ + .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 19 +++ + .../net/wireless/broadcom/brcm80211/brcmfmac/usb.c | 18 +++ + 6 files changed, 271 insertions(+) + +diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h +index 163ddc49f95117774f03184b9f0679bd82d086d2..fb60a7c66e2ce70f5b1da75851cdb74e06833760 100644 +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h +@@ -71,6 +71,7 @@ struct brcmf_bus_dcmd { + * @wowl_config: specify if dongle is configured for wowl when going to suspend + * @get_ramsize: obtain size of device memory. + * @get_memdump: obtain device memory dump in provided buffer. ++ * @get_fwname: obtain firmware name. + * + * This structure provides an abstract interface towards the + * bus specific driver. For control messages to common driver +@@ -87,6 +88,8 @@ struct brcmf_bus_ops { + void (*wowl_config)(struct device *dev, bool enabled); + size_t (*get_ramsize)(struct device *dev); + int (*get_memdump)(struct device *dev, void *data, size_t len); ++ int (*get_fwname)(struct device *dev, uint chip, uint chiprev, ++ unsigned char *fw_name); + }; + + +@@ -224,6 +227,16 @@ int brcmf_bus_get_memdump(struct brcmf_bus *bus, void *data, size_t len) + return bus->ops->get_memdump(bus->dev, data, len); + } + ++static inline ++int brcmf_bus_get_fwname(struct brcmf_bus *bus, uint chip, uint chiprev, ++ unsigned char *fw_name) ++{ ++ if (!bus->ops->get_fwname) ++ return -EOPNOTSUPP; ++ ++ return bus->ops->get_fwname(bus->dev, chip, chiprev, fw_name); ++} ++ + /* + * interface functions from common layer + */ +diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +index df138305217384de2359313bc7d005285388e78e..f0309e039592ba6e388084a13f052c03f99cf1ef 100644 +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + #include + #include + #include "core.h" +@@ -28,6 +29,7 @@ + #include "tracepoint.h" + #include "common.h" + #include "of.h" ++#include "firmware.h" + + MODULE_AUTHOR("Broadcom Corporation"); + MODULE_DESCRIPTION("Broadcom 802.11 wireless LAN fullmac driver."); +@@ -104,15 +106,170 @@ void brcmf_c_set_joinpref_default(struct brcmf_if *ifp) + brcmf_err("Set join_pref error (%d)\n", err); + } + ++int brcmf_c_download_2_dongle(struct brcmf_if *ifp, char *dcmd, u16 flag, ++ u16 dload_type, char *dload_buf, u32 len) ++{ ++ struct brcmf_dload_data_le *dload_ptr; ++ u32 dload_data_offset; ++ u16 flags; ++ s32 err; ++ ++ dload_ptr = (struct brcmf_dload_data_le *)dload_buf; ++ dload_data_offset = offsetof(struct brcmf_dload_data_le, data); ++ flags = flag | (DLOAD_HANDLER_VER << DLOAD_FLAG_VER_SHIFT); ++ ++ dload_ptr->flag = cpu_to_le16(flags); ++ dload_ptr->dload_type = cpu_to_le16(dload_type); ++ dload_ptr->len = cpu_to_le32(len - dload_data_offset); ++ dload_ptr->crc = cpu_to_le32(0); ++ len = len + 8 - (len % 8); ++ ++ err = brcmf_fil_iovar_data_set(ifp, dcmd, (void *)dload_buf, len); ++ ++ return err; ++} ++ ++int brcmf_c_get_clm_name(struct brcmf_if *ifp, u8 *clm_name) ++{ ++ struct brcmf_rev_info_le revinfo; ++ struct brcmf_bus *bus = ifp->drvr->bus_if; ++ u8 fw_name[BRCMF_FW_NAME_LEN]; ++ u8 *ptr; ++ size_t len; ++ u32 chipnum; ++ u32 chiprev; ++ s32 err; ++ ++ err = brcmf_fil_cmd_data_get(ifp, BRCMF_C_GET_REVINFO, &revinfo, ++ sizeof(revinfo)); ++ if (err < 0) { ++ brcmf_err("retrieving revision info failed (%d)\n", err); ++ goto done; ++ } ++ ++ chipnum = le32_to_cpu(revinfo.chipnum); ++ chiprev = le32_to_cpu(revinfo.chiprev); ++ ++ memset(fw_name, 0, BRCMF_FW_NAME_LEN); ++ err = brcmf_bus_get_fwname(bus, chipnum, chiprev, fw_name); ++ if (err) { ++ brcmf_err("get firmware name failed (%d)\n", err); ++ goto done; ++ } ++ ++ /* generate CLM blob file name */ ++ ptr = strrchr(fw_name, '.'); ++ len = ptr - fw_name + 1; ++ if (len + strlen(".clm_blob") > BRCMF_FW_NAME_LEN) { ++ err = -E2BIG; ++ } else { ++ strlcpy(clm_name, fw_name, len); ++ strlcat(clm_name, ".clm_blob", BRCMF_FW_NAME_LEN); ++ } ++done: ++ return err; ++} ++ ++int brcmf_c_process_clm_blob(struct brcmf_if *ifp) ++{ ++ struct device *dev = ifp->drvr->bus_if->dev; ++ const struct firmware *clm = NULL; ++ u8 buf[BRCMF_DCMD_SMLEN]; ++ u8 clm_name[BRCMF_FW_NAME_LEN]; ++ u32 data_offset; ++ u32 size2alloc; ++ u8 *chunk_buf; ++ u32 chunk_len; ++ u32 datalen; ++ u32 cumulative_len = 0; ++ u16 dl_flag = DL_BEGIN; ++ s32 err; ++ ++ brcmf_dbg(INFO, "Enter\n"); ++ ++ memset(clm_name, 0, BRCMF_FW_NAME_LEN); ++ err = brcmf_c_get_clm_name(ifp, clm_name); ++ if (err) { ++ brcmf_err("get CLM blob file name failed (%d)\n", err); ++ return err; ++ } ++ ++ err = request_firmware(&clm, clm_name, dev); ++ if (err) { ++ if (err == -ENOENT) ++ return 0; ++ brcmf_err("request CLM blob file failed (%d)\n", err); ++ return err; ++ } ++ ++ datalen = clm->size; ++ data_offset = offsetof(struct brcmf_dload_data_le, data); ++ size2alloc = data_offset + MAX_CHUNK_LEN; ++ ++ chunk_buf = kzalloc(size2alloc, GFP_KERNEL); ++ if (!chunk_buf) { ++ err = -ENOMEM; ++ goto done; ++ } ++ ++ do { ++ if (datalen > MAX_CHUNK_LEN) { ++ chunk_len = MAX_CHUNK_LEN; ++ } else { ++ chunk_len = datalen; ++ dl_flag |= DL_END; ++ } ++ ++ memcpy(chunk_buf + data_offset, clm->data + cumulative_len, ++ chunk_len); ++ ++ err = brcmf_c_download_2_dongle(ifp, "clmload", dl_flag, ++ DL_TYPE_CLM, chunk_buf, ++ data_offset + chunk_len); ++ ++ dl_flag &= ~DL_BEGIN; ++ ++ cumulative_len += chunk_len; ++ datalen -= chunk_len; ++ } while ((datalen > 0) && (err == 0)); ++ ++ if (err) { ++ brcmf_err("clmload (%d byte file) failed (%d); ", ++ (u32)clm->size, err); ++ /* Retrieve clmload_status and print */ ++ memset(buf, 0, BRCMF_DCMD_SMLEN); ++ err = brcmf_fil_iovar_data_get(ifp, "clmload_status", buf, ++ BRCMF_DCMD_SMLEN); ++ if (err) ++ brcmf_err("get clmload_status failed (%d)\n", err); ++ else ++ brcmf_err("clmload_status=%d\n", *((int *)buf)); ++ err = -EIO; ++ } ++ ++ kfree(chunk_buf); ++done: ++ release_firmware(clm); ++ return err; ++} ++ + int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) + { + s8 eventmask[BRCMF_EVENTING_MASK_LEN]; + u8 buf[BRCMF_DCMD_SMLEN]; + struct brcmf_rev_info_le revinfo; + struct brcmf_rev_info *ri; ++ char *clmver; + char *ptr; + s32 err; + ++ /* Do any CLM downloading */ ++ err = brcmf_c_process_clm_blob(ifp); ++ if (err < 0) { ++ brcmf_err("download CLM blob file failed, %d\n", err); ++ goto done; ++ } ++ + /* retreive mac address */ + err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr, + sizeof(ifp->mac_addr)); +@@ -167,6 +324,24 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) + ptr = strrchr(buf, ' ') + 1; + strlcpy(ifp->drvr->fwver, ptr, sizeof(ifp->drvr->fwver)); + ++ /* Query for 'clmver' to get CLM version info from firmware */ ++ memset(buf, 0, sizeof(buf)); ++ err = brcmf_fil_iovar_data_get(ifp, "clmver", buf, sizeof(buf)); ++ if (err) { ++ brcmf_err("retrieving clmver failed, %d\n", err); ++ goto done; ++ } else { ++ clmver = (char *)buf; ++ /* Replace all newline/linefeed characters with space ++ * character ++ */ ++ ptr = clmver; ++ while ((ptr = strchr(ptr, '\n')) != NULL) ++ *ptr = ' '; ++ ++ brcmf_err("CLM version = %s\n", clmver); ++ } ++ + /* set mpc */ + err = brcmf_fil_iovar_int_set(ifp, "mpc", 1); + if (err) { +diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h +index e0d22fedb2b45932f04a35458f44408804b23d90..b99dc2b760463fb13747473f1126bea6ad094855 100644 +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h +@@ -155,6 +155,22 @@ + #define BRCMF_MFP_CAPABLE 1 + #define BRCMF_MFP_REQUIRED 2 + ++/* MAX_CHUNK_LEN is the amount of the clm file we send in each ioctl. ++ * It is relatively small because dongles (FW) have a small maximum size ++ * input payload restriction for ioctls. ++ */ ++#define MAX_CHUNK_LEN 1400 ++ ++#define DLOAD_HANDLER_VER 1 /* Downloader version */ ++#define DLOAD_FLAG_VER_MASK 0xf000 /* Downloader version mask */ ++#define DLOAD_FLAG_VER_SHIFT 12 /* Downloader version shift */ ++ ++#define DL_CRC_NOT_INUSE 0x0001 ++#define DL_BEGIN 0x0002 ++#define DL_END 0x0004 ++ ++#define DL_TYPE_CLM 2 ++ + /* join preference types for join_pref iovar */ + enum brcmf_join_pref_types { + BRCMF_JOIN_PREF_RSSI = 1, +@@ -932,4 +948,15 @@ struct brcmf_gscan_config { + struct brcmf_gscan_bucket_config bucket[1]; + }; + ++/** ++ * struct brcmf_dload_data_le - data passing to firmware for downloading ++ */ ++struct brcmf_dload_data_le { ++ __le16 flag; ++ __le16 dload_type; ++ __le32 len; ++ __le32 crc; ++ u8 data[1]; ++}; ++ + #endif /* FWIL_TYPES_H_ */ +diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +index e6e9b00b79d71fddec6249be0109c088846bd35f..3c87157f5b8513d7bb00a4602c22859d4b0b1e0f 100644 +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +@@ -1350,6 +1350,24 @@ static int brcmf_pcie_get_memdump(struct device *dev, void *data, size_t len) + return 0; + } + ++static int brcmf_pcie_get_fwname(struct device *dev, u32 chip, u32 chiprev, ++ u8 *fw_name) ++{ ++ struct brcmf_bus *bus_if = dev_get_drvdata(dev); ++ struct brcmf_pciedev *buspub = bus_if->bus_priv.pcie; ++ struct brcmf_pciedev_info *devinfo = buspub->devinfo; ++ int ret = 0; ++ ++ if (devinfo->fw_name[0] != '\0') ++ strlcpy(fw_name, devinfo->fw_name, BRCMF_FW_NAME_LEN); ++ else ++ ret = brcmf_fw_map_chip_to_name(chip, chiprev, ++ brcmf_pcie_fwnames, ++ ARRAY_SIZE(brcmf_pcie_fwnames), ++ fw_name, NULL); ++ ++ return ret; ++} + + static const struct brcmf_bus_ops brcmf_pcie_bus_ops = { + .txdata = brcmf_pcie_tx, +@@ -1359,6 +1377,7 @@ static const struct brcmf_bus_ops brcmf_pcie_bus_ops = { + .wowl_config = brcmf_pcie_wowl_config, + .get_ramsize = brcmf_pcie_get_ramsize, + .get_memdump = brcmf_pcie_get_memdump, ++ .get_fwname = brcmf_pcie_get_fwname, + }; + + +diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +index 971c68a261f2d041806655dd66636aee2c28a6bc..2d211bf4cafbafca5dd0b7a4aa8d80ee24b98adb 100644 +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +@@ -3980,6 +3980,24 @@ brcmf_sdio_watchdog(unsigned long data) + } + } + ++static int brcmf_sdio_get_fwname(struct device *dev, u32 chip, u32 chiprev, ++ u8 *fw_name) ++{ ++ struct brcmf_bus *bus_if = dev_get_drvdata(dev); ++ struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; ++ int ret = 0; ++ ++ if (sdiodev->fw_name[0] != '\0') ++ strlcpy(fw_name, sdiodev->fw_name, BRCMF_FW_NAME_LEN); ++ else ++ ret = brcmf_fw_map_chip_to_name(chip, chiprev, ++ brcmf_sdio_fwnames, ++ ARRAY_SIZE(brcmf_sdio_fwnames), ++ fw_name, NULL); ++ ++ return ret; ++} ++ + static const struct brcmf_bus_ops brcmf_sdio_bus_ops = { + .stop = brcmf_sdio_bus_stop, + .preinit = brcmf_sdio_bus_preinit, +@@ -3990,6 +4008,7 @@ static const struct brcmf_bus_ops brcmf_sdio_bus_ops = { + .wowl_config = brcmf_sdio_wowl_config, + .get_ramsize = brcmf_sdio_bus_get_ramsize, + .get_memdump = brcmf_sdio_bus_get_memdump, ++ .get_fwname = brcmf_sdio_get_fwname, + }; + + static void brcmf_sdio_firmware_callback(struct device *dev, int err, +diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c +index 11ffaa01599eb4b343b7f675dc275fc8572d127e..b27170c12482de0ca4115b4bc9484c214d1c4b86 100644 +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c +@@ -1128,12 +1128,30 @@ static void brcmf_usb_wowl_config(struct device *dev, bool enabled) + device_set_wakeup_enable(devinfo->dev, false); + } + ++static int brcmf_usb_get_fwname(struct device *dev, u32 chip, u32 chiprev, ++ u8 *fw_name) ++{ ++ struct brcmf_usbdev_info *devinfo = brcmf_usb_get_businfo(dev); ++ int ret = 0; ++ ++ if (devinfo->fw_name[0] != '\0') ++ strlcpy(fw_name, devinfo->fw_name, BRCMF_FW_NAME_LEN); ++ else ++ ret = brcmf_fw_map_chip_to_name(chip, chiprev, ++ brcmf_usb_fwnames, ++ ARRAY_SIZE(brcmf_usb_fwnames), ++ fw_name, NULL); ++ ++ return ret; ++} ++ + static const struct brcmf_bus_ops brcmf_usb_bus_ops = { + .txdata = brcmf_usb_tx, + .stop = brcmf_usb_down, + .txctl = brcmf_usb_tx_ctlpkt, + .rxctl = brcmf_usb_rx_ctlpkt, + .wowl_config = brcmf_usb_wowl_config, ++ .get_fwname = brcmf_usb_get_fwname, + }; + + static int brcmf_usb_bus_setup(struct brcmf_usbdev_info *devinfo) + +From 2f500903c9842ac9c5c02e4af55f9abdde424f1f Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 6 Oct 2017 13:23:32 +0100 +Subject: [PATCH 132/135] 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 +be marginally quicker. + +Signed-off-by: Phil Elwell +--- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +index f0309e039592ba6e388084a13f052c03f99cf1ef..b5889360da96096775db6425337a72156aab6d73 100644 +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +@@ -194,7 +194,7 @@ int brcmf_c_process_clm_blob(struct brcmf_if *ifp) + return err; + } + +- err = request_firmware(&clm, clm_name, dev); ++ err = request_firmware_direct(&clm, clm_name, dev); + if (err) { + if (err == -ENOENT) + return 0; + +From 1fe5846550e3f7fc75c515005d902d52b889c261 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 29 Sep 2017 10:32:19 +0100 +Subject: [PATCH 133/135] 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 +the driver with a vendor-specific flag to enable it, but this flag is +currently not set for ARM implementations. + +Add a "cts-event-workaround" property to Pi DTBs and use the presence +of that property to force the flag to be enabled in the driver. + +See: https://github.com/raspberrypi/linux/issues/1280 + +Signed-off-by: Phil Elwell +--- + Documentation/devicetree/bindings/serial/pl011.txt | 3 +++ + arch/arm/boot/dts/bcm270x.dtsi | 5 +++++ + drivers/tty/serial/amba-pl011.c | 5 +++++ + 3 files changed, 13 insertions(+) + +diff --git a/Documentation/devicetree/bindings/serial/pl011.txt b/Documentation/devicetree/bindings/serial/pl011.txt +index 77863aefe9ef1eafe648b530c1570333aea7940b..8d65b0ec2828b6abb07589407a5126fde6e49a0e 100644 +--- a/Documentation/devicetree/bindings/serial/pl011.txt ++++ b/Documentation/devicetree/bindings/serial/pl011.txt +@@ -35,6 +35,9 @@ Optional properties: + - poll-timeout-ms: + Poll timeout when auto-poll is set, default + 3000ms. ++- cts-event-workaround: ++ Enables the (otherwise vendor-specific) workaround for the ++ CTS-induced TX lockup. + + See also bindings/arm/primecell.txt + +diff --git a/arch/arm/boot/dts/bcm270x.dtsi b/arch/arm/boot/dts/bcm270x.dtsi +index 81914a615c8b011fe7d70a2e14f16491947c49b7..d312c2739624eca57b218b26e272e187012cb7d1 100644 +--- a/arch/arm/boot/dts/bcm270x.dtsi ++++ b/arch/arm/boot/dts/bcm270x.dtsi +@@ -26,6 +26,11 @@ + interrupts = <2 17>, <2 18>; + }; + ++ serial@7e201000 { /* uart0 */ ++ /* Enable CTS bug workaround */ ++ cts-event-workaround; ++ }; ++ + i2s@7e203000 { /* i2s */ + #sound-dai-cells = <0>; + reg = <0x7e203000 0x24>; +diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c +index 424bdc500864a86e5d431763ba416b5298c777dc..b224306633f62c398ef904734a903d4e75df65c3 100644 +--- a/drivers/tty/serial/amba-pl011.c ++++ b/drivers/tty/serial/amba-pl011.c +@@ -2665,6 +2665,11 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id) + if (IS_ERR(uap->clk)) + return PTR_ERR(uap->clk); + ++ if (of_property_read_bool(dev->dev.of_node, "cts-event-workaround")) { ++ vendor->cts_event_workaround = true; ++ dev_info(&dev->dev, "cts_event_workaround enabled\n"); ++ } ++ + uap->reg_offset = vendor->reg_offset; + uap->vendor = vendor; + uap->fifosize = vendor->get_fifosize(dev); + +From c4f2499ab7d41b0644f0f5cf7eadd3a8d1e6d2cc Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 11 Oct 2017 13:48:04 +0100 +Subject: [PATCH 134/135] 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 +notify the UART framework of the fact, causing the software CTS +support to be enabled at the same time. + +Software CTS triggers the sending of another batch of characters +when CTS becomes asserted. The pl011 interrupt handler processes +the CTIS bit before TXIS, which can cause some characters to be +sent between the time that the TXIS bit first becomes asserted +and the time it is handled by a call to px011_tx_chars. This +would be fine were it not for the optimisation in pl011_tx_char +that assumes the FIFO is half-empty if called from the interrupt +handler and skips the checking of the FIFO status register before +sending each character, leading to data loss if the FIFO is more +than half-full. + +Prevent the data loss and improve efficiency by indicating the +AUTOCTS support. + +Signed-off-by: Phil Elwell +--- + drivers/tty/serial/amba-pl011.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c +index b224306633f62c398ef904734a903d4e75df65c3..3b743cf8a94c279ff8d0b747f98062d0415511b9 100644 +--- a/drivers/tty/serial/amba-pl011.c ++++ b/drivers/tty/serial/amba-pl011.c +@@ -2047,9 +2047,11 @@ pl011_set_termios(struct uart_port *port, struct ktermios *termios, + + old_cr |= UART011_CR_CTSEN; + uap->autorts = true; ++ port->status |= UPSTAT_AUTOCTS; + } else { + old_cr &= ~(UART011_CR_CTSEN | UART011_CR_RTSEN); + uap->autorts = false; ++ port->status &= ~UPSTAT_AUTOCTS; + } + + if (uap->vendor->oversampling) { + +From e94e4beb3e22e066f5cb3cb346353400b48bf078 Mon Sep 17 00:00:00 2001 +From: neilneil2000 <31366098+neilneil2000@users.noreply.github.com> +Date: Thu, 12 Oct 2017 17:29:43 +0100 +Subject: [PATCH 135/135] GPIO and gpio-poweroff clarifications + +Notes added: +1) All GPIO references use the hardware numbering scheme +2) Enabling gpio-poweroff prevents the ability to boot the pi by driving GPIO3 low +--- + arch/arm/boot/dts/overlays/README | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index eafbf530acdab53c74656e409319c6dcaefbfd4e..705c4ae77e5c5c36a9c05666e1d39476986e2277 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -33,6 +33,9 @@ needed. + Configuring additional, optional hardware is done using Device Tree overlays + (see below). + ++GPIO numbering uses the hardware pin numbering scheme (aka BCM scheme) and ++not the physical pin numbers. ++ + raspi-config + ============ + +@@ -507,7 +510,8 @@ Params: gpio_pin Output GPIO (default 18) + + + Name: gpio-poweroff +-Info: Drives a GPIO high or low on poweroff (including halt) ++Info: Drives a GPIO high or low on poweroff (including halt). Enabling this ++ overlay will prevent the ability to boot by driving GPIO3 low. + Load: dtoverlay=gpio-poweroff,= + Params: gpiopin GPIO for signalling (default 26) +