From fe6b6c7830ea3ee140f6e5a735d61e894dd2fd62 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 10 Aug 2017 14:35:51 +0100 Subject: [PATCH 1/3] linux: update to linux-4.9.41 [le82, RPi/RPi2] --- packages/linux/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 903eeb8ccd..2f170ea461 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -59,7 +59,7 @@ case "$LINUX" in PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET imx6-status-led imx6-soc-fan irqbalanced" ;; default-rpi) - PKG_VERSION="4.9.36" + PKG_VERSION="4.9.41" PKG_URL="http://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_PATCH_DIRS="default-rpi" ;; From eb4ceeb5b8721246994d918ffaebebbcb0fd59e6 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 10 Aug 2017 14:37:13 +0100 Subject: [PATCH 2/3] RPi/RPi2: update linux support patches for linux 4.9.41 --- .../patches/linux/linux-01-RPi_support.patch | 8027 +++++++++++++++-- .../patches/linux/linux-01-RPi_support.patch | 8027 +++++++++++++++-- 2 files changed, 14762 insertions(+), 1292 deletions(-) diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 3aeabbe929..2a4cefcf47 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 3e3e899278bea795e955bec7c8436d58e29a12bd Mon Sep 17 00:00:00 2001 +From d2d400022c74fa74ac4f282ed0d5136e3d22949d Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 001/305] smsx95xx: fix crimes against truesize +Subject: [PATCH 001/333] 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. @@ -48,10 +48,10 @@ index 831aa33d078ae7d2dd57fdded5de71d1eb915f99..b77935bded8c0ff7808b00f170ff10e5 usbnet_skb_return(dev, ax_skb); } -From 761f30fd312357c5e8397565a70931536118a8ae Mon Sep 17 00:00:00 2001 +From db34d924eb522e9acbdad0deb0c5ce04a82b82bc Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 002/305] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 002/333] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -94,10 +94,10 @@ index b77935bded8c0ff7808b00f170ff10e594300ad0..693f163684de921404738e33244881e0 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From 3aa7ecebbe0720eaa1a5fd216f5244af7cbfb1a0 Mon Sep 17 00:00:00 2001 +From cbbd7f136d0ad30dae72847a9483d2361629caa2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 003/305] Allow mac address to be set in smsc95xx +Subject: [PATCH 003/333] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -193,10 +193,10 @@ index 693f163684de921404738e33244881e0aab92ec9..df60c989fc229bf0aab3c27e95ccd453 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From 42ea42facfb41779b87d74a36f8ca050dcb3f5c5 Mon Sep 17 00:00:00 2001 +From 4e6d5a1a48b747e021a0fcbf1ed25b6903da5cc5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 004/305] Protect __release_resource against resources without +Subject: [PATCH 004/333] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -224,10 +224,10 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From cc04a45be26f4f522ba621a49cdb0c82369c00e4 Mon Sep 17 00:00:00 2001 +From 1f14514923ba04e519153c94d3d8d384014af1ea Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 005/305] mm: Remove the PFN busy warning +Subject: [PATCH 005/333] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -252,10 +252,10 @@ index 56df8c24689db1433a7e0df6ad8903b4b3f8a294..f85430ac34de36ff1d087cf2159cd341 goto done; } -From 5529625939f2c81efac0e28b10ae94a95a215dd7 Mon Sep 17 00:00:00 2001 +From 9a6cd061485e1b8f2773ed6a37b5213b269aaaa6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 006/305] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/333] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -282,10 +282,10 @@ index d96b2c947e74e3edab3917551c64fbd1ced0f34c..93e3f7660c4230c9f1dd3b195958cb49 #endif } else if (stat) { -From b5d5f6d0afc1ad128422bd7b4db4b4031fc82389 Mon Sep 17 00:00:00 2001 +From 6dde74d46316ce214c1c11488864d5acff4c5743 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 007/305] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 007/333] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -414,10 +414,10 @@ index 44d7c38dde479d771f3552e914bf8c1c1f5019f7..42ff5e6a8e0d532f5b60a1e7af7cc4d9 } -From 7090f3d2365c4d5fa4044308e4a35a28ac6bc890 Mon Sep 17 00:00:00 2001 +From 6298bdf851fbf4d80ac333b557f27ee5e4d0ff44 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 008/305] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 008/333] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -516,10 +516,10 @@ index 42ff5e6a8e0d532f5b60a1e7af7cc4d941bd5008..eccf6ed025299cb480884f5bcbe77abf for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From 033f11d95c4c94959312bf3496775e744d0437e8 Mon Sep 17 00:00:00 2001 +From fad5d2515ccc25f4f11ad225149238ec3f4b149c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 009/305] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 009/333] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -540,10 +540,10 @@ index 2e05046f866bd01bf87edcdeff0d5b76d4d0aea7..d780491b8013a4e97fa843958964454e }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From 4b59d984cba365c9778f6f4cde0cc4df274e26af Mon Sep 17 00:00:00 2001 +From 3e7af94fc0392ceb26479d3a4db3cf7654b5a946 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 30 Jun 2015 14:12:42 +0100 -Subject: [PATCH 010/305] serial: 8250: Don't crash when nr_uarts is 0 +Subject: [PATCH 010/333] serial: 8250: Don't crash when nr_uarts is 0 --- drivers/tty/serial/8250/8250_core.c | 2 ++ @@ -563,10 +563,10 @@ index e8819aa20415603c80547e382838a8fa3ce54792..cf9c7d2e3f95e1a19410247a89c2e49c for (i = 0; i < nr_uarts; i++) { struct uart_8250_port *up = &serial8250_ports[i]; -From 98fedd06e2d9c221bfec769304d6a582362a890e Mon Sep 17 00:00:00 2001 +From 6c55ac62952c3e984548deb931d18a550bca1668 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 011/305] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 011/333] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -588,10 +588,10 @@ index fa77165fab2c1348163979da507df17e7168c49b..d11e2e4ea189466e686d762cb6c6fef9 .can_sleep = false, }; -From 3edbafe419f3b148f9e975461cb384df8fed0f5e Mon Sep 17 00:00:00 2001 +From 694ee2772f9e2a2a200d3cea5ed46b8dffa48a08 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 012/305] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 012/333] pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53 Contrary to the documentation, the BCM2835 GPIO controller actually has @@ -737,10 +737,10 @@ index d11e2e4ea189466e686d762cb6c6fef9111ecf8e..107ad7d58de8f8a7f55e09c9cdcf7d66 }, }; -From db0f201b31994fdda1cca0bb3f416c5bc7a79c16 Mon Sep 17 00:00:00 2001 +From ad91b3b3fd717dc7d5119c0ee7a6a25c5685aaf2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 013/305] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 013/333] pinctrl-bcm2835: Only request the interrupts listed in the DTB Although the GPIO controller can generate three interrupts (four counting @@ -767,10 +767,10 @@ index 107ad7d58de8f8a7f55e09c9cdcf7d66fa7ab66b..644bdecbcfcb79d3b84a33769265fca5 pc->irq_data[i].irqgroup = i; -From 5159d742f6efcf74f8e99f867064b88595eeb2ad Mon Sep 17 00:00:00 2001 +From 9833ae8a5965e94372d4f458b5722f96cca6c58d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 May 2016 12:32:47 +0100 -Subject: [PATCH 014/305] pinctrl-bcm2835: Return pins to inputs when freed +Subject: [PATCH 014/333] pinctrl-bcm2835: Return pins to inputs when freed When dynamically unloading overlays, it is important that freed pins are restored to being inputs to prevent functions from being enabled in @@ -811,10 +811,10 @@ index 644bdecbcfcb79d3b84a33769265fca5d3d0c9e5..81a66cba2ab0f7e3ae179de7edd10122 .get_function_name = bcm2835_pmx_get_function_name, .get_function_groups = bcm2835_pmx_get_function_groups, -From 43c8c89b397aba792c0b5298adeb7b82d83355df Mon Sep 17 00:00:00 2001 +From 206d10a71ae6e9e9d75909a1909594e3f1eb61c1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 015/305] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 015/333] 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 @@ -895,10 +895,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 acae2ee6b74f5333d0845f1956810c58911f3777 Mon Sep 17 00:00:00 2001 +From 91c07f4a4cf47a7966e6fd55b1edd9f2ee9a339f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 016/305] spi-bcm2835: Disable forced software CS +Subject: [PATCH 016/333] 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 @@ -932,10 +932,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From a344d6589055f9fa8a1cb1c978bc7fed6a819ac3 Mon Sep 17 00:00:00 2001 +From 014edd5debb6212b28f1f24f4b93520435f4898f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 017/305] spi-bcm2835: Remove unused code +Subject: [PATCH 017/333] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -1023,10 +1023,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From ca1cda118deb5778e4c9d50c400ffffb2a725e61 Mon Sep 17 00:00:00 2001 +From 4552dcaa772db829a7d1e9d0b4a8c0ca9542257f 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 018/305] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 018/333] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1079,10 +1079,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From 997cbdd8dcb0ab73ed3ee664f8a29ca68e82cfd3 Mon Sep 17 00:00:00 2001 +From 87226ff52080c5ece5678a41c1e50c8f41a2058f 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 019/305] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 019/333] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1185,10 +1185,10 @@ index 6204cc32d09c5096df8aec304c3c37b3bcb6be44..599c218dc8a73172dd4bd4a058fc8f95 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From af5c6e9c706e0ae8431707ac49c592d8e9fc32dd Mon Sep 17 00:00:00 2001 +From 4994d32ccc841b9e8aa887b31655087fb335d210 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 020/305] firmware: Updated mailbox header +Subject: [PATCH 020/333] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 11 +++++++++++ @@ -1251,10 +1251,10 @@ index 3fb357193f09914fe21f8555a4b8613f74f22bc3..227a107214a02deadcca3db202da265e RPI_FIRMWARE_GET_COMMAND_LINE = 0x00050001, RPI_FIRMWARE_GET_DMA_CHANNELS = 0x00060001, -From 4802def18f9314236d353b81300807540c3d6ce7 Mon Sep 17 00:00:00 2001 +From 7c10421bb6a5ef9ec915c07753d579313691cbf4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 021/305] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 021/333] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -1292,10 +1292,10 @@ index 2acaa77ad482a99f28ea64ea43c891501125304c..d13cbbf5bbe06314bfdf103ff85d5cd7 init.ops = &bcm2835_vpu_clock_clk_ops; } else { -From b043b445cf8cca09c5e86f5f6ccf081d4d32b9c0 Mon Sep 17 00:00:00 2001 +From 9c24c74ee479e13c46be0094ae19d22f50b28369 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 022/305] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 022/333] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1315,10 +1315,10 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From b2c093aaaae250966a741fa5729b8777cd19739b Mon Sep 17 00:00:00 2001 +From f312df190102759515d07896ffcb4bd99a020d38 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 023/305] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 023/333] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1442,10 +1442,10 @@ index 4dddd8298a227d64862f2e92954a465f2e44b3f6..1f545e024422f59280932713e6a1b051 register_restart_handler(&wdt->restart_handler); if (pm_power_off == NULL) -From ac2a2b6c3e08bb1d4336e235090b6f1ad03d6420 Mon Sep 17 00:00:00 2001 +From 06b1144cf4b9bf231591e12468510387db2477e3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 024/305] reboot: Use power off rather than busy spinning when +Subject: [PATCH 024/333] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1468,10 +1468,10 @@ index 3fa867a2aae672755c6ce6448f4148c989dbf964..80dca8dcd6709034b643c6a3f35729e0 /* -From 3f9fa51201312e1972e06045610ed3756b033fb2 Mon Sep 17 00:00:00 2001 +From 58f66a4aa68829e9497bde730d40c7fdb5eda860 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 025/305] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 025/333] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -1490,10 +1490,10 @@ index a39b0d58ddd0fdf0ac1cc7295f8aafb12546e226..e037a6dd79d1881a09e3ca9115782709 help This enables support for the RPi power domains which can be enabled -From 7f4f8dcf7dfaac04cd711321d329e8bf820a859a Mon Sep 17 00:00:00 2001 +From 66393084c18e8686723fd3106d6469fe7e855fd1 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 026/305] Register the clocks early during the boot process, so +Subject: [PATCH 026/333] 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. @@ -1538,10 +1538,10 @@ index d13cbbf5bbe06314bfdf103ff85d5cd73cbf7f7a..a99ccf9f056d3a3e7c482339e08483f3 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From fc20b0621026f5be366f1d23f1f227ab980250ee Mon Sep 17 00:00:00 2001 +From a5f66af71dede8d8ac331a1b3baf82066c989654 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 027/305] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 027/333] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1567,10 +1567,10 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From 7f4f5acd4e06e1c46f47d776e4f0ad6c241f7530 Mon Sep 17 00:00:00 2001 +From 27b8bfca621552e17fba0bee4659e99b3c0f6bb3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 028/305] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 028/333] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -1590,10 +1590,10 @@ index 179219845dfcdfbeb586d12c5ec1296095d9fbf4..e0743e44f84188667a0c322e8c3d36f1 esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From 047a10c8f73616aca8769393b4833ef0adb911e1 Mon Sep 17 00:00:00 2001 +From c8d855565f7e780f8bbcc684314e196735601c19 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 029/305] BCM2835_DT: Fix I2S register map +Subject: [PATCH 029/333] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -1631,10 +1631,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 539882daae6a62c09c129b1753e1aed59554ee03 Mon Sep 17 00:00:00 2001 +From e73e001d9d80c512a158ed36f85cf127e7cf366f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 030/305] Main bcm2708/bcm2709 linux port +Subject: [PATCH 030/333] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1841,10 +1841,10 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From 4c1833856221253fa3a8f517abc5119c6b061bd6 Mon Sep 17 00:00:00 2001 +From b8c3bd0a0341d1802347a4f5f4d1a644795e65da Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 031/305] Add dwc_otg driver +Subject: [PATCH 031/333] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -62901,10 +62901,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From ab92478ebf40178f9b6a22b59847fa44b8c24cd8 Mon Sep 17 00:00:00 2001 +From 517134b54a60bf93d1e1c1d76b3b9c69f5445dc8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 032/305] bcm2708 framebuffer driver +Subject: [PATCH 032/333] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -66363,10 +66363,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 8e9b3795a2eb00a19e28a42810bd07d4a3956307 Mon Sep 17 00:00:00 2001 +From 4985934643e9beb5be83a07acbb3b46926c88b61 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 033/305] dmaengine: Add support for BCM2708 +Subject: [PATCH 033/333] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -66997,10 +66997,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From 6675aab5cec3935e15007c26b05fc2418e0c822d Mon Sep 17 00:00:00 2001 +From bcddf98342f01d119fe74bf574cd3a058d0826ba Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 034/305] MMC: added alternative MMC driver +Subject: [PATCH 034/333] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -68750,10 +68750,10 @@ index 0000000000000000000000000000000000000000..4fe8d1fe44578fbefcd48f8c327ba3d0 +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Gellert Weisz"); -From 4532400c2a5a071cc67a169b5dd4f597bbc65d01 Mon Sep 17 00:00:00 2001 +From 37f5d650ddff7c4d1f0ef5e6043268d36115643f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 035/305] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 035/333] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -71158,10 +71158,10 @@ index 0000000000000000000000000000000000000000..a9bc79bfdbb71807819dfe2d8f165144 +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From 3ac0cd57a1d960d456be7296f7d4eb3c441839aa Mon Sep 17 00:00:00 2001 +From 8b261e410a0c8c92f97ba8a05cc2a3c0483bb6b8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2016 12:50:33 +0100 -Subject: [PATCH 036/305] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards +Subject: [PATCH 036/333] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards Some SD cards have been found that corrupt data when small blocks are erased. Add a quirk to indicate that ERASE should not be used, @@ -71297,10 +71297,10 @@ index 73fad83acbcb6a157587180516f9ffe7c61eb7d7..e7c9d3098ac06e3c6554fa3373a311f9 unsigned int erase_shift; /* if erase unit is power 2 */ unsigned int pref_erase; /* in sectors */ -From 57cfa41bb9ca5061d8286f5f2d269aef622aeddc Mon Sep 17 00:00:00 2001 +From 710912e095b62efa0c74c4fce5dab8d7288870c8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 037/305] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 037/333] cma: Add vc_cma driver to enable use of CMA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -72636,10 +72636,10 @@ index 0000000000000000000000000000000000000000..be2819d5d41f9d5ed65daf8eedb94c9e + +#endif /* VC_CMA_H */ -From 5f1ce6ad61187a4e40aedcadb5334a2a024141a8 Mon Sep 17 00:00:00 2001 +From 1633252a5149a307bcda9864bdfb3f5ec36b5819 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 038/305] bcm2708: alsa sound driver +Subject: [PATCH 038/333] bcm2708: alsa sound driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -75374,10 +75374,10 @@ index 0000000000000000000000000000000000000000..af3e6eb690113fc32ce9e06bd2f0f294 + +#endif // _VC_AUDIO_DEFS_H_ -From 6dfa16b231ec746345b5faaf97d2592bc5913843 Mon Sep 17 00:00:00 2001 +From c7b7ae0eee25f08e086309d1e587839b308c5307 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 039/305] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 039/333] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -75901,10 +75901,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From a06191e7ef0728ca1d031a9a0f5edff0e5207cb1 Mon Sep 17 00:00:00 2001 +From c810033c9dab6e20859ca97c8562838a27f37971 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 040/305] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 040/333] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -80311,10 +80311,10 @@ index 0000000000000000000000000000000000000000..334f36d0d697b047df2922b5f2db67f3 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 7a02754167032fc87db6eda7d0588967aaed241c Mon Sep 17 00:00:00 2001 +From 64c7776694c7e0488748a558ddbbf169a2064363 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 041/305] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 041/333] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -80625,10 +80625,10 @@ index 0000000000000000000000000000000000000000..911f5b7393ed48ceed8751f06967ae64 +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From e4a52e521605066b0bb8e49ce44ca5166e009280 Mon Sep 17 00:00:00 2001 +From 3ff17c46786b5628eb8d7cfaa521256ae9ffb871 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 042/305] Add SMI driver +Subject: [PATCH 042/333] Add SMI driver Signed-off-by: Luke Wren --- @@ -82579,10 +82579,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From daee6ffd810b931cfa4dd2b6f60fb8778fbbd012 Mon Sep 17 00:00:00 2001 +From ee2811179d7f134c34d7e93b7b9ab922765305c7 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 043/305] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 043/333] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -82752,10 +82752,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From a29ce213a14be31ca1acfc987de1a4adbd6c23da Mon Sep 17 00:00:00 2001 +From d285c145302fcc5c983966f3d62f18f51ce1b108 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 044/305] Add SMI NAND driver +Subject: [PATCH 044/333] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -83120,10 +83120,10 @@ index 0000000000000000000000000000000000000000..02adda6da18bd0ba9ab19a104975b79d + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From 944b5bf55e2a73df1cd10e53bd8b93c56cbf7bc9 Mon Sep 17 00:00:00 2001 +From 06e3400c2062ed475af56b69166fbe58b3d2b3e1 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 045/305] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 045/333] 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 @@ -83986,10 +83986,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From 661d3b6e4a9cab6c1bb641680cfa6c32cb0bb168 Mon Sep 17 00:00:00 2001 +From 26a26643c243798027f8920c2975fc4738d09c44 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 046/305] Add cpufreq driver +Subject: [PATCH 046/333] Add cpufreq driver Signed-off-by: popcornmix --- @@ -84256,10 +84256,10 @@ index 0000000000000000000000000000000000000000..414fbdc10dfbfc6e4bb47870a7af3fd5 +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From 9df33b551c35cfb5a747840252b3758108f71c08 Mon Sep 17 00:00:00 2001 +From 7605cc89e572322c169a1b129fe7c9d6ae4a43da Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 047/305] Added hwmon/thermal driver for reporting core +Subject: [PATCH 047/333] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -84425,10 +84425,10 @@ index 0000000000000000000000000000000000000000..c63fb9f9d143e19612a18fe530c7b2b3 +MODULE_DESCRIPTION("Thermal driver for bcm2835 chip"); +MODULE_LICENSE("GPL"); -From 91e1d6740ab2f1398f5efb84ac3fb1e3da1c7f4b Mon Sep 17 00:00:00 2001 +From c24cf91ccb6ec317a3cca86c347f1ca6be9a06ad Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 048/305] Add Chris Boot's i2c driver +Subject: [PATCH 048/333] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -85093,10 +85093,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From 33ef2dd8967ff3e499a9debb3d5b23f37cedda5f Mon Sep 17 00:00:00 2001 +From 00d426397cf6a6f533457997b171b3b35693493b 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 049/305] char: broadcom: Add vcio module +Subject: [PATCH 049/333] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -85322,10 +85322,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From d9c0dd6378bb15f7c3215bc46f67451ac28558c8 Mon Sep 17 00:00:00 2001 +From 639dd6471f60c1629f86716a32b6719f70fa4300 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 050/305] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 050/333] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -85408,10 +85408,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From b56905e0b6a48769d95c5e4a68f03c2633e27580 Mon Sep 17 00:00:00 2001 +From f239638e7b5c7114bf7f57c2f2a9643f503438f9 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 051/305] bcm2835: add v4l2 camera device +Subject: [PATCH 051/333] bcm2835: add v4l2 camera device - Supports raw YUV capture, preview, JPEG and H264. - Uses videobuf2 for data transfer, using dma_buf. @@ -93153,10 +93153,10 @@ index 0000000000000000000000000000000000000000..9d1d11e4a53e510c04a416d92d195a7d + +#endif /* MMAL_VCHIQ_H */ -From 83b77047a0e8f20d11f159e0a92ffc915c814c1f Mon Sep 17 00:00:00 2001 +From 13eb1a520d0f0539b5ac2f4ac85bb75579ef8b59 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 052/305] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 052/333] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -93676,10 +93676,10 @@ index 0000000000000000000000000000000000000000..60206de7fa9a49bd027c635306674a29 + return $trailer; +} -From e15aa78af8c0ac8cc26cebe8f811825495b3cdd2 Mon Sep 17 00:00:00 2001 +From eb76dba71e768a187bd8d026c6e4b6943d214961 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:49:15 +0100 -Subject: [PATCH 053/305] scripts/dtc: Update to upstream version 1.4.1 +Subject: [PATCH 053/333] scripts/dtc: Update to upstream version 1.4.1 Includes the new localfixups format. @@ -96530,10 +96530,10 @@ index ad9b05ae698b0495ecbda42ffcf4743555313a27..2595dfda020fd9e03f0beff5006f229d -#define DTC_VERSION "DTC 1.4.1-g53bf130b" +#define DTC_VERSION "DTC 1.4.1-g25efc119" -From 41333985a0bbb860dff9ae6359e363f16378ed1f Mon Sep 17 00:00:00 2001 +From 9e656c66a8133d8f314b05950cf9aed956c6513f Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 054/305] BCM2708: Add core Device Tree support +Subject: [PATCH 054/333] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -106661,10 +106661,10 @@ index 0a07f9014944ed92a8e2e42983ae43be60b3e471..1967878a843461c3ff1f473b9a030eb0 # Bzip2 -From c1cc5914d43c8861e15e1ebade7beb026968dd3a Mon Sep 17 00:00:00 2001 +From 9ae7f44099c864d4a4b14653e2bfe1046d7c0e44 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 055/305] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 055/333] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -106840,10 +106840,10 @@ index ddfcb2df3656cf0ab6aebd1fa3d624a6ec2e94e9..271563eb835f9018712e2076a88f341d /* Set LED brightness level * Must not sleep. Use brightness_set_blocking for drivers -From c8246ac66a521480f4e10dfa69eacbb07bd7ff73 Mon Sep 17 00:00:00 2001 +From ce46ac8ca0ae3ca02cf7edd83f00809cc60745ec Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 056/305] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 056/333] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -107095,10 +107095,10 @@ index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..703fa8a70574323abe2fb32599254582 __u32 dx; /* screen-relative */ __u32 dy; -From 8d87aae72904eb8bcfc2f99cc902f6cc6f749234 Mon Sep 17 00:00:00 2001 +From a7d73f9c0bc7aa69267b15b22ce080abc676a6ad Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 057/305] Speed up console framebuffer imageblit function +Subject: [PATCH 057/333] 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 @@ -107307,10 +107307,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From 4371ec3cf395dbcf5a2cf024be1e2272c98ac997 Mon Sep 17 00:00:00 2001 +From 53f127bedaba1e7463738d902f38c83dcc538a33 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 058/305] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 058/333] 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 @@ -107560,10 +107560,10 @@ index d58594a3232492e33f1dd4babd3798b03e0f0203..feae94256256316fd9d850c3d83325af unsigned int ext_pullup_enable_pin; unsigned int pullup_duration; -From e53ec94adef7c06684b9371eb8e0bd725b281178 Mon Sep 17 00:00:00 2001 +From d8c570c063351533eaa949707a533aa0f4c3e689 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 059/305] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 059/333] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -107613,10 +107613,10 @@ index 1fde8eec95297ec442a90dfcf59a873d357aa5bf..e22af4287b4ba084a7cfe7b6fcbf2895 * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From 46445638df685e893b7dc180a0a5e2117f67c7e8 Mon Sep 17 00:00:00 2001 +From 1641ee52862fbf4f3d985e9a42459cd16aba62cc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 060/305] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 060/333] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -107652,10 +107652,10 @@ index ae83af649a607f67239f1a64bf45dd4b5770cc7d..4a7af9d0b910f59d17421ce14138400d ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { -From aaef3225c0d839d0bc3a989f2b4d10d9ed31c02b Mon Sep 17 00:00:00 2001 +From 5eeffdaeb0ddb289eb258cd2d414fa1d1cfdcf53 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 061/305] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 061/333] 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 @@ -108013,10 +108013,10 @@ index 227a107214a02deadcca3db202da265eba1fdd21..b0f6e33bd30c35664ceee057f4c3ad32 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From 5b59da22bd0f92250b3149bd7adc30291db182b6 Mon Sep 17 00:00:00 2001 +From 2284ba4289bd306df1e89a3105d6556fc992789a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 062/305] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 062/333] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -109591,10 +109591,10 @@ index 333dc3c2e5ffbb2c5ab8fcfb6115b6162643cf20..46b787a6474ffa857da9b663948863ec bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From d0c34721e9d17a8d98e7b23016481e10fa455d0a Mon Sep 17 00:00:00 2001 +From 7de635d2fc90c61b3d7e26465660927152e07d9e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 063/305] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 063/333] 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 @@ -109629,10 +109629,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 6b76776fb66b3b5cde6d047e0eec336b4389dab9 Mon Sep 17 00:00:00 2001 +From 363b69b2222fab8376dac38a2806a734509c9f55 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 064/305] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 064/333] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -110497,10 +110497,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From cb63feaccfd98341199e793f3f65cc441bbf886e Mon Sep 17 00:00:00 2001 +From 40c4cdf8b24f05f8053d80c552cdc536d315ced9 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 065/305] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 065/333] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -110675,10 +110675,10 @@ index 0000000000000000000000000000000000000000..45f2b770ad9e67728ca599a7445d6ae9 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From 6b6cf37841abc54199e3fb1b173f547592aaa6eb Mon Sep 17 00:00:00 2001 +From 7af8b407920964efb5f1e6352228b552c58ca59d Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 066/305] ASoC: Add support for Rpi-DAC +Subject: [PATCH 066/333] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -110962,10 +110962,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From e18a0dd9a5ebab50b34bb532a26fafd53b7a7839 Mon Sep 17 00:00:00 2001 +From e78dcc7a8f97524e0ee3446f934dff66feda0ef5 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 067/305] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 067/333] 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 @@ -111014,10 +111014,10 @@ index af95d648265b3e92e345101542b332aee35191d4..513f56ba132929662802d15cdc653af3 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From d4386447e2b2e4f99c2bb9436d6ed573835cd6a2 Mon Sep 17 00:00:00 2001 +From 8617e759399a368cf7d0322aa630c5149433bb7c Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 068/305] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 068/333] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -111361,10 +111361,10 @@ index 0000000000000000000000000000000000000000..19dc953b7227ba86123fc7a2ba654499 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From 02f571d1d2a6e825318ac67aafd339788d42aae8 Mon Sep 17 00:00:00 2001 +From c2ddeeac03cab3dd147c3d490ffb6d130622c683 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 069/305] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 069/333] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -111694,10 +111694,10 @@ index 0000000000000000000000000000000000000000..4e8e6dec14bcf4a1ff286c43742d4097 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From bcadd273625cce0cfe8cd7e970f10f68e65a19a1 Mon Sep 17 00:00:00 2001 +From f868e51369806374a57d7a96315f30bd9aaefdcc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jul 2016 17:06:50 +0100 -Subject: [PATCH 070/305] iqaudio-dac: Compile fix - untested +Subject: [PATCH 070/333] iqaudio-dac: Compile fix - untested --- sound/soc/bcm/iqaudio-dac.c | 6 +++++- @@ -111721,10 +111721,10 @@ index 4e8e6dec14bcf4a1ff286c43742d4097249d6777..aa15bc4b49ca95edec905fddd8fd0a6d if (dapm->dev != codec_dai->dev) return 0; -From c71d125bd3281458f54a7ecec9ce67db0af1d68d Mon Sep 17 00:00:00 2001 +From 916864bdaf5b5d7309ef22edf0df9fe33214a317 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 071/305] Added support for HiFiBerry DAC+ +Subject: [PATCH 071/333] 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. @@ -112354,10 +112354,10 @@ index 72b19e62f6267698aea45d2410d616d91c1825cb..c6839ef6e16754ed9de2698507b8986a dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 10c9bf4d92fbe2094009bc00a9969183a6e4afaa Mon Sep 17 00:00:00 2001 +From fc79a0dc7998012985b9e29c6e67ed0fa5576e7f Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 072/305] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 072/333] 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. @@ -113197,10 +113197,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From 0b5f4e14db59fad8fce397f3020abf3f47a66521 Mon Sep 17 00:00:00 2001 +From 91864aa8ef0b1be4cdfab6114bf8e37c68622564 Mon Sep 17 00:00:00 2001 From: Ryan Coe Date: Sat, 31 Jan 2015 18:25:49 -0700 -Subject: [PATCH 073/305] Update ds1307 driver for device-tree support +Subject: [PATCH 073/333] Update ds1307 driver for device-tree support Signed-off-by: Ryan Coe --- @@ -113227,10 +113227,10 @@ index 4e31036ee2596dec93accd26f627c5b95591ae9f..b92044cf03e750afa521a93519500e9d .driver = { .name = "rtc-ds1307", -From 8a110c28585805d903c1089c63c3c53ad46593f1 Mon Sep 17 00:00:00 2001 +From 4e39ecefdc75961b3ab9461b5d41fd130108f349 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 074/305] Add driver for rpi-proto +Subject: [PATCH 074/333] 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 @@ -113446,10 +113446,10 @@ index 0000000000000000000000000000000000000000..9db678e885efd63d84d60a098a84ed67 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From c6d0651bb58713a27105d5d2884c2a3433d2c368 Mon Sep 17 00:00:00 2001 +From 866d2599325883e08fbc868c845fa418adc274b0 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 075/305] RaspiDAC3 support +Subject: [PATCH 075/333] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -113692,10 +113692,10 @@ index 0000000000000000000000000000000000000000..dd9eeea2af0382307f437e6db09d1546 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From a424d10c2f501afda3a85a8788dd62e434e6cf8b Mon Sep 17 00:00:00 2001 +From 6d2bae76472995fe57197736df2128bb71758d7e Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 076/305] Add Support for JustBoom Audio boards +Subject: [PATCH 076/333] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -114149,10 +114149,10 @@ index 0000000000000000000000000000000000000000..91acb666380faa3c0deb2230f8a0f8bb +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From 2b3b4f246c8ab3be270564b0b051f75c5ce22c65 Mon Sep 17 00:00:00 2001 +From a07f6c1524e844ab71bef43e143481474a3de0cd Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 077/305] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 077/333] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -114334,10 +114334,10 @@ index 0000000000000000000000000000000000000000..6e2ee027926ee63c89222f75ceb89e3d +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 5494f36deb3bc2e0a5cd0e72ee577592a265d928 Mon Sep 17 00:00:00 2001 +From 0004f2d756a6f5b70f22e36e41050061abcace04 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 078/305] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 078/333] 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. @@ -114588,10 +114588,10 @@ index 0000000000000000000000000000000000000000..ef54e0f07ea03f59e9957b5d98f3e7fd +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From 1412b1ddb330ecace845e633ae884ae145bdd062 Mon Sep 17 00:00:00 2001 +From 71e4b017edf10a346b9289e9e874556f4e59a051 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 079/305] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 079/333] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -114891,10 +114891,10 @@ index 0000000000000000000000000000000000000000..9b6e829bcb5b1762a853775e78163196 +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From 4b728e675f4f88678dc92d8daaec2d5ea2cd15ca Mon Sep 17 00:00:00 2001 +From 879247a5d35810bd62b3438e41e4b30a737284eb Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 080/305] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 080/333] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -115367,10 +115367,10 @@ index 0000000000000000000000000000000000000000..446796e7e4c14a7d95b2f2a01211d9a0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 7a38bc81a17b39e61764018a65d6ffc172e0b407 Mon Sep 17 00:00:00 2001 +From a8d0710ce1f654bfccb2e8486389c21afa645657 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 081/305] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 081/333] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -115543,10 +115543,10 @@ index 0000000000000000000000000000000000000000..89e65317512bc774453ac8d0d5b0ff98 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From a5cf02d9e6e60ca249c48da7c61beace717dd97d Mon Sep 17 00:00:00 2001 +From 289a511f2d1aef5a1152f43c5d6ee4e300eedfc1 Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 082/305] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 082/333] 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, @@ -115753,10 +115753,10 @@ index 0000000000000000000000000000000000000000..8e8e62e5a36a279b425ed4655cfbac99 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From 39c4147b35866243f166186b54d5df30cb02b51c Mon Sep 17 00:00:00 2001 +From 8665eb5a48e241c1c33c6404e160c7ea697551b4 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 083/305] Support for Blokas Labs pisound board +Subject: [PATCH 083/333] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) @@ -116933,10 +116933,10 @@ index 0000000000000000000000000000000000000000..4b8545487d06e4ea70073a5d063fb231 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From 54d0ef5494c9feab2e25c81f1a747af2df5bfe07 Mon Sep 17 00:00:00 2001 +From 20ba39665d6253386c1c6cc87b33186098e76b49 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 084/305] rpi_display: add backlight driver and overlay +Subject: [PATCH 084/333] 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 @@ -117105,10 +117105,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From fa7303c635e18453a2a53be5cf2eb6f90e40eaba Mon Sep 17 00:00:00 2001 +From 2c44c85c62b15e37ca4a2dbb7d23d642005e9885 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 085/305] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 085/333] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -117382,10 +117382,10 @@ index b0f6e33bd30c35664ceee057f4c3ad32b914291d..e92278968b2b979db2a1f855f70e7aaf RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From 72dcc1ef21da085e822a165cde58db574b3cbada Mon Sep 17 00:00:00 2001 +From 514d711df6592fd2f2945164aa281250c2684cc6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 086/305] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 086/333] 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 @@ -117414,10 +117414,10 @@ index e2c33b9528d82ed7a2c27d083d7b1d222da68178..5a11ff833e1fd112ba04df3a427cd94b uap->old_cr = 0; uap->port.dev = dev; -From 013d6b8242981329098c330cfc5b564093c7b6da Mon Sep 17 00:00:00 2001 +From 48e91fdf1a6c8e0684706972d43d7649ff1fa9f6 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 087/305] OF: DT-Overlay configfs interface +Subject: [PATCH 087/333] 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. @@ -117849,10 +117849,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From 6fbb2ff08ab9a34bffae14fc7471aed8a955b782 Mon Sep 17 00:00:00 2001 +From b04dbd28febd13248335d468dee78cf847cb59b8 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 088/305] brcm: adds support for BCM43341 wifi +Subject: [PATCH 088/333] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -117899,7 +117899,7 @@ Signed-off-by: Phil Elwell 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 0f5dde1f224831ab68ece84a94fba6aca97b9bc0..121a697455caba5a9e15145c96c7fb7055dd5ad7 100644 +index 1d4352e1ac81a337c6c3e1e85983cb0fe151f8b8..3ac3056ab1d2074e4a60961455f0c355c5a18afd 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -2756,6 +2756,8 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, @@ -117930,7 +117930,7 @@ index 0f5dde1f224831ab68ece84a94fba6aca97b9bc0..121a697455caba5a9e15145c96c7fb70 if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MBSS)) brcmf_fil_iovar_int_set(ifp, "mbss", 0); brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_REGULATORY, -@@ -6739,12 +6744,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -6744,12 +6749,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], struct brcmfmac_pd_cc *country_codes; struct brcmfmac_pd_cc_entry *cc; s32 found_index; @@ -117951,7 +117951,7 @@ index 0f5dde1f224831ab68ece84a94fba6aca97b9bc0..121a697455caba5a9e15145c96c7fb70 } if ((alpha2[0] == ccreq->country_abbrev[0]) && -@@ -6768,10 +6779,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -6773,10 +6784,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], brcmf_dbg(TRACE, "No country code match found\n"); return -EINVAL; } @@ -118015,10 +118015,10 @@ index d0407d9ad7827cd756b6311410ffe2d9a7cacc78..f1fb8a3c7a3211e8429585861f2f42e0 #define BRCM_CC_4335_CHIP_ID 0x4335 #define BRCM_CC_4339_CHIP_ID 0x4339 -From c4899a1421c447a0d4cb45e3cd362367731c9429 Mon Sep 17 00:00:00 2001 +From 7098469c2827c547d4f8f57254206c0dd4008cf9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 089/305] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 089/333] 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. @@ -118041,10 +118041,10 @@ index 0879d64b1caf58afb6e5d494c07d9ab7e7cdf983..5161ab30fd533d50f516bb93d5b9f402 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 19541411f5b83653d8660e43913300fda74ac3d9 Mon Sep 17 00:00:00 2001 +From 240223f2119486dd80e2b199323f70b3b2442792 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 090/305] config: Add default configs +Subject: [PATCH 090/333] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1297 +++++++++++++++++++++++++++++++++++ @@ -120671,10 +120671,10 @@ index 0000000000000000000000000000000000000000..8acee9f31202ec14f2933d92dd70831c +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From 06331145cccde21851eb1296eb1fe473ede28423 Mon Sep 17 00:00:00 2001 +From bd0921f0760876abd3ca1af9d4ac247cdb4d6d20 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 091/305] Add arm64 configuration and device tree differences. +Subject: [PATCH 091/333] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -122089,10 +122089,10 @@ index 0000000000000000000000000000000000000000..d7406f5a4620151044b8f716b4d10bb8 +CONFIG_LIBCRC32C=y +CONFIG_BCM2708_VCHIQ=n -From d073a5d3feb542d3c6411faff568c977af44df4c Mon Sep 17 00:00:00 2001 +From 49137119520e2bf8cee1b63e102b5281e9b31d8b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 15:05:11 +0000 -Subject: [PATCH 092/305] vchiq_arm: Tweak the logging output +Subject: [PATCH 092/333] vchiq_arm: Tweak the logging output Signed-off-by: Phil Elwell --- @@ -122167,10 +122167,10 @@ index 2c98da4307dff994a00dc246574ef0aaee05d5da..160db24aeea33a8296923501009c1f02 switch (type) { -From ef35d1e5ed0639a8d421189af5519d00d062620b Mon Sep 17 00:00:00 2001 +From e82617243f75127d83d6ae36430625cec63dbc35 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 14:16:25 +0000 -Subject: [PATCH 093/305] vchiq_arm: Access the dequeue_pending flag locked +Subject: [PATCH 093/333] vchiq_arm: Access the dequeue_pending flag locked Reading through this code looking for another problem (now found in userland) the use of dequeue_pending outside a lock didn't seem safe. @@ -122228,10 +122228,10 @@ index 7b6cd4d80621e38ff6d47fcd87b45fbe9cd4259b..d8669fa7f39b077877eca1829ba9538b return add_completion(instance, reason, header, user_service, -From 03536abed6a3de02b8eec7deb319c920979fe961 Mon Sep 17 00:00:00 2001 +From 09b995a788fe4a1673bc3fadd5c8d281e603c2c2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 20:53:47 +0000 -Subject: [PATCH 094/305] vchiq_arm: Service callbacks must not fail +Subject: [PATCH 094/333] vchiq_arm: Service callbacks must not fail Service callbacks are not allowed to return an error. The internal callback that delivers events and messages to user tasks does not enqueue them if @@ -122257,10 +122257,10 @@ index d8669fa7f39b077877eca1829ba9538bf2e21a82..54552c6ce54f413c9781ba279b936f98 DEBUG_TRACE(SERVICE_CALLBACK_LINE); } -From fff4b063b230fad7bac57817da9a16993bf3e9ba Mon Sep 17 00:00:00 2001 +From c81303209e7f941f29ff65347568a3e5081a5e66 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Apr 2016 13:49:32 +0100 -Subject: [PATCH 095/305] vchiq_arm: Add completion records under the mutex +Subject: [PATCH 095/333] vchiq_arm: Add completion records under the mutex An issue was observed when flushing openmax components which generate a large number of messages returning @@ -122323,10 +122323,10 @@ index 54552c6ce54f413c9781ba279b936f98be4f47b0..bde8955b7d8505d73579b77b5b392154 return VCHIQ_SUCCESS; -From 143c06724d173b818b005f707a77a1c96e8c8049 Mon Sep 17 00:00:00 2001 +From 57c61d87bedf7989508c5c06e64e06e1705f0c36 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 20 Jun 2016 13:51:44 +0100 -Subject: [PATCH 096/305] vchiq_arm: Avoid use of mutex in add_completion +Subject: [PATCH 096/333] vchiq_arm: Avoid use of mutex in add_completion Claiming the completion_mutex within add_completion did prevent some messages appearing twice, but provokes a deadlock caused by vcsm using @@ -122520,10 +122520,10 @@ index 160db24aeea33a8296923501009c1f02bc41e599..71a3bedc55314f3b22dbff40c05dedf0 up(&state->slot_available_event); } -From a305f5385dd8ac01dc644578e6ea5e6487aed125 Mon Sep 17 00:00:00 2001 +From 62f33d0d1ed5fd031ff8403bdfc0b8fe3a14ab0b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Oct 2016 10:14:10 -0700 -Subject: [PATCH 097/305] staging/vchi: Convert to current get_user_pages() +Subject: [PATCH 097/333] staging/vchi: Convert to current get_user_pages() arguments. Signed-off-by: Eric Anholt @@ -122560,10 +122560,10 @@ index e5cdda12c7e5c35c69eb96991cfdb8326def167f..085d37588c59198b4e5f00b9249bb842 num_pages, /* len */ 0, /* gup_flags */ -From a099d8b2a6794b5572a188fa64225a47344e3b50 Mon Sep 17 00:00:00 2001 +From f329d9e34ddbba641b371a1aa25b14c1c3d66b92 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Oct 2016 10:16:03 -0700 -Subject: [PATCH 098/305] staging/vchi: Update for rename of +Subject: [PATCH 098/333] staging/vchi: Update for rename of page_cache_release() to put_page(). Signed-off-by: Eric Anholt @@ -122608,10 +122608,10 @@ index 085d37588c59198b4e5f00b9249bb8421695854f..5a2b8fb459ebe086ec229f37b6381bdb kfree(pages); } -From cda9154ea37aa44fbdfc23dfffbd06ac5826f060 Mon Sep 17 00:00:00 2001 +From 170410ad8c5de1c80894163b61468515872af1b6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Oct 2016 10:21:17 -0700 -Subject: [PATCH 099/305] drivers/vchi: Remove dependency on CONFIG_BROKEN. +Subject: [PATCH 099/333] drivers/vchi: Remove dependency on CONFIG_BROKEN. The driver builds now. @@ -122633,10 +122633,10 @@ index 9676fb29075a457109e4d4235f086987aec74868..db8e1beb89f9f8c48ea5964016c8285e help Kernel to VideoCore communication interface for the -From c914108e446efd2c072e65d05483603de46643ce Mon Sep 17 00:00:00 2001 +From 5c722ecaaa02b38f964ed1399540b8f17c61e7c5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 100/305] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 100/333] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -122680,10 +122680,10 @@ index e92278968b2b979db2a1f855f70e7aafb224fa98..09e3d871d110eb0762ebdb5ea3293537 #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From 2abbd865bdb3a6188f3aa1369194819da9b452f5 Mon Sep 17 00:00:00 2001 +From 6b6836715db63fb67f72e0eb20188965b69ecac5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:18:09 +0100 -Subject: [PATCH 101/305] raspberrypi-firmware: Define the MBOX channel in the +Subject: [PATCH 101/333] raspberrypi-firmware: Define the MBOX channel in the header. Signed-off-by: Eric Anholt @@ -122705,10 +122705,10 @@ index 09e3d871d110eb0762ebdb5ea329353738d58661..2859db09e25bb945251e85edb39bc434 enum rpi_firmware_property_status { -From ecbaf3c47d97ca7611f76806ad03068197b015cf Mon Sep 17 00:00:00 2001 +From bb799029f0caffc078b2dba200295ca9baf58e1a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 102/305] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 102/333] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt @@ -123475,10 +123475,10 @@ index 0000000000000000000000000000000000000000..d18a1dae51a2275846c9826b5bf1ba57 + }, +}; -From 89236de15f88a9a24ef97a70bc5eff025d09f443 Mon Sep 17 00:00:00 2001 +From 38c605227acab68577b2e98dc7619eed224b5895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Sep 2016 18:24:38 +0200 -Subject: [PATCH 103/305] i2c: bcm2835: Protect against unexpected TXW/RXR +Subject: [PATCH 103/333] i2c: bcm2835: Protect against unexpected TXW/RXR interrupts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -123603,10 +123603,10 @@ index f283b714aa79e2e4685ed95b04b6b289f7e9eee7..d2ba1a4de36af512e8e3c97251bd3537 return -ETIMEDOUT; } -From 8b44abd412cb0be1485ad29dfb66158863c139d8 Mon Sep 17 00:00:00 2001 +From 36112f018bddb881bcf67d5e6e08dbd43ad475f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 19 Sep 2016 17:19:41 +0200 -Subject: [PATCH 104/305] i2c: bcm2835: Use dev_dbg logging on transfer errors +Subject: [PATCH 104/333] i2c: bcm2835: Use dev_dbg logging on transfer errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -123638,10 +123638,10 @@ index d2ba1a4de36af512e8e3c97251bd3537ae61591a..54d510abd46a117c9238fc6d7edec840 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From e68f89a3f00f0b0c1b1012fdfcf522276891cc7a Mon Sep 17 00:00:00 2001 +From c06e6bf26c80c0684cf67af61b0db849f08f4e25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 22 Sep 2016 22:05:50 +0200 -Subject: [PATCH 105/305] i2c: bcm2835: Can't support I2C_M_IGNORE_NAK +Subject: [PATCH 105/333] i2c: bcm2835: Can't support I2C_M_IGNORE_NAK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -123685,10 +123685,10 @@ index 54d510abd46a117c9238fc6d7edec84019d1f60d..565ef69ce61423544dc0558c85ef318b if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) -From e77f93c32b40bc783991491f41e5fe7d844b9a0c Mon Sep 17 00:00:00 2001 +From b3abd13a46d212138ae63287de7e9af37c54182b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Sep 2016 04:54:27 +0200 -Subject: [PATCH 106/305] i2c: bcm2835: Add support for Repeated Start +Subject: [PATCH 106/333] i2c: bcm2835: Add support for Repeated Start Condition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -123870,10 +123870,10 @@ index 565ef69ce61423544dc0558c85ef318b0ae9c324..241e08ae7c27cec23fad3c1bf3ebad3a static u32 bcm2835_i2c_func(struct i2c_adapter *adap) -From a8fa929731451ea6d7f618dc542b0fea3b3d91c6 Mon Sep 17 00:00:00 2001 +From 3d43a4bd67b7fa7d4fa1a22f79e1b9414d635b61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Sep 2016 04:57:17 +0200 -Subject: [PATCH 107/305] i2c: bcm2835: Support i2c-dev ioctl I2C_TIMEOUT +Subject: [PATCH 107/333] i2c: bcm2835: Support i2c-dev ioctl I2C_TIMEOUT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -123910,10 +123910,10 @@ index 241e08ae7c27cec23fad3c1bf3ebad3a4d2a8e6f..d2085dd3742eabebc537621968088261 bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR); -From 510a4fc68acdecde66a2727ff6a62ee7fcaa0f55 Mon Sep 17 00:00:00 2001 +From fd2d75e2b26c51939305148019cf3d59c05eddaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 27 Sep 2016 01:00:08 +0200 -Subject: [PATCH 108/305] i2c: bcm2835: Add support for dynamic clock +Subject: [PATCH 108/333] i2c: bcm2835: Add support for dynamic clock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -124029,10 +124029,10 @@ index d2085dd3742eabebc537621968088261f8dc7ea8..c3436f627028477f7e21b47e079fd5ab irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); if (!irq) { -From 8c45feb7add7280d137dd3420256068284b0f604 Mon Sep 17 00:00:00 2001 +From f0e150493f66ab30d12214b1a67f4d2bbbc6d126 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 109/305] i2c: bcm2835: Add debug support +Subject: [PATCH 109/333] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -124221,10 +124221,10 @@ index c3436f627028477f7e21b47e079fd5ab06ec188a..8642f580ce41803bd22c76a0fa80d083 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From 611d00b287e6043f595a863fcd66d698e11ccbea Mon Sep 17 00:00:00 2001 +From 36ae9eed3198898cf0d1b473e1d9a7ab3eedaa37 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 31 Dec 2016 14:15:50 +0000 -Subject: [PATCH 110/305] arm64: Add CONFIG_ARCH_BCM2835 +Subject: [PATCH 110/333] arm64: Add CONFIG_ARCH_BCM2835 --- arch/arm64/configs/bcmrpi3_defconfig | 1 + @@ -124240,10 +124240,10 @@ index d7406f5a4620151044b8f716b4d10bb818648e06..53da5c7a33e5898a66e549fb0c39fe3d CONFIG_BCM2708_VCHIQ=n +CONFIG_ARCH_BCM2835=y -From 7166357bd62767614e1bcf5221e2878a56eeeceb Mon Sep 17 00:00:00 2001 +From 5f9684470e17b972c4f59648154e10aa0ce64a8a Mon Sep 17 00:00:00 2001 From: Alex Tucker Date: Tue, 13 Dec 2016 19:50:18 +0000 -Subject: [PATCH 111/305] Add support for Silicon Labs Si7013/20/21 +Subject: [PATCH 111/333] Add support for Silicon Labs Si7013/20/21 humidity/temperature sensor. --- @@ -124318,10 +124318,10 @@ index f6d134c095af2398fc55ae7d2b0e86456c30627c..31bda8da4cb6a56bfe493a81b9189009 }; }; -From c8e0addfc4e02de515e1ea5acf1fe1c84c793ab4 Mon Sep 17 00:00:00 2001 +From c867b7e0c57037295f02db7da93ff96a29ded703 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Jan 2017 21:27:46 +0000 -Subject: [PATCH 112/305] Document the si7020 option +Subject: [PATCH 112/333] Document the si7020 option --- arch/arm/boot/dts/overlays/README | 3 +++ @@ -124342,10 +124342,10 @@ index 81d991803be335e5a1bc3bb0a8c7a2c9f5c392bd..e8fa4ccb44c34a20485c4e6155467af9 Name: i2c0-bcm2708 Info: Enable the i2c_bcm2708 driver for the i2c0 bus. Not all pin combinations -From bb2d2aeaa53e6f35ce98e434453831f54b8832e1 Mon Sep 17 00:00:00 2001 +From b13df94412b090fc3a27d3fda6d08999697ab69d Mon Sep 17 00:00:00 2001 From: Giedrius Trainavicius Date: Thu, 5 Jan 2017 02:38:16 +0200 -Subject: [PATCH 113/305] pisound improvements: +Subject: [PATCH 113/333] pisound improvements: * Added a writable sysfs object to enable scripts / user space software to blink MIDI activity LEDs for variable duration. @@ -124639,10 +124639,10 @@ index 4b8545487d06e4ea70073a5d063fb2310b3b94d0..ba70734b89e61a11201657406223f0b3 }; -From 8c38985ce16eebf11a860adbef745891ee8e205d Mon Sep 17 00:00:00 2001 +From 15439e073ec5394a5b57da42c94f364bd5fb74ae Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Tue, 10 Jan 2017 16:05:41 +0000 -Subject: [PATCH 114/305] Add driver_name property +Subject: [PATCH 114/333] Add driver_name property Add driver name property for use with 5.1 passthrough audio in LibreElec and other Kodi based OSs --- @@ -124662,10 +124662,10 @@ index 8fd50dbe681508a2cfe8fdde1c9fedbe9a507fa7..05a224ec712d06b8b7587ab6b8bb562d .dai_link = snd_rpi_justboom_dac_dai, .num_links = ARRAY_SIZE(snd_rpi_justboom_dac_dai), -From c331b967a82dbe3de83a64c5de0e5dee0eaf11fd Mon Sep 17 00:00:00 2001 +From cfbc6634e68f6f902133eefae969cb59f5f1964d Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Tue, 10 Jan 2017 16:11:04 +0000 -Subject: [PATCH 115/305] Add driver_name paramater +Subject: [PATCH 115/333] Add driver_name paramater Add driver_name parameter for use with 5.1 passthrough audio in LibreElec and other Kodi OSs --- @@ -124685,10 +124685,10 @@ index 91acb666380faa3c0deb2230f8a0f8bbec59417b..abfdc5c4dd5811e6847bddda4921abe3 .dai_link = snd_rpi_justboom_digi_dai, .num_links = ARRAY_SIZE(snd_rpi_justboom_digi_dai), -From b9d6176c4a6673ab633e406b1344730a1914e473 Mon Sep 17 00:00:00 2001 +From 499dbd62c66bbcaf75b58198878a0efc8a832ebe Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Jan 2017 13:01:21 +0000 -Subject: [PATCH 116/305] BCM270X_DT: Add pi3-disable-wifi overlay +Subject: [PATCH 116/333] BCM270X_DT: Add pi3-disable-wifi overlay pi3-disable-wifi is a minimal overlay to disable the onboard WiFi. @@ -124749,10 +124749,10 @@ index 0000000000000000000000000000000000000000..017199554bf2f4e381efcc7bb71e750c + }; +}; -From 0278e297c27e51fe99cbe1a799fe28b84fe93e07 Mon Sep 17 00:00:00 2001 +From a39528a671162f7c9e636314402000b555d4c9ee Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 117/305] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 117/333] 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. @@ -125157,10 +125157,10 @@ index 53da5c7a33e5898a66e549fb0c39fe3da555ca87..c7e891d72969a388d9b135a36dbfc9c9 -CONFIG_BCM2708_VCHIQ=n -CONFIG_ARCH_BCM2835=y -From 66c0b59cd07c274c28a4d60b0c9fd85f7f2c0712 Mon Sep 17 00:00:00 2001 +From 79891ac5a1fcf0cedf7124224a7a882cbedcb3ed Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 118/305] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 118/333] ARM64: Enable Kernel Address Space Randomization (#1792) Randomization allows the mapping between virtual addresses and physical @@ -125192,10 +125192,10 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..974d8889c0cf695eb88b57bbef11bc5a CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From b3f3cb9413496e558cdea23164cd3bb9ef11cbea Mon Sep 17 00:00:00 2001 +From 862bad86a9daf7f928e27efdf7ee27ab2d01bb61 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 119/305] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 119/333] 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 @@ -125220,10 +125220,10 @@ index 974d8889c0cf695eb88b57bbef11bc5aa556b635..4670a490dfb1e582ec24a3b39a3cb9b2 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From 82df269fda8a5a4e22c673e0fe1852a71ed7f69e Mon Sep 17 00:00:00 2001 +From 782fd580bb911002d8ea29ed7cb195bf951644cd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 16 Jan 2017 14:53:12 +0000 -Subject: [PATCH 120/305] BCM270X_DT: Add spi0-cs overlay +Subject: [PATCH 120/333] BCM270X_DT: Add spi0-cs overlay The spi0-cs overlay allows the software chip selectts to be modified using the cs0_pin and cs1_pin parameters. @@ -125311,10 +125311,10 @@ index 0000000000000000000000000000000000000000..7f79029d043c04d7496c7c3480450c69 + }; +}; -From 0d48e23c56d7e9dd4cc374e0c50592790c3cbedb Mon Sep 17 00:00:00 2001 +From 103084b18730db13ff5c5f4886dfd3ec2577b9f0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 121/305] spi-bcm2835: Disable forced software CS +Subject: [PATCH 121/333] 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 @@ -125340,10 +125340,10 @@ index 74dd21b7373c7564ede01d84a4f63b93a6d52fa7..51cdefbf5eb265f49bd05e0aa91dfbee i2c0: i2c@7e205000 { -From b72225aba1f4511e239644003fafd7edabc8dba9 Mon Sep 17 00:00:00 2001 +From 7110b724c1114b8433c134fb257c610aa5f7f05c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 16 Jan 2017 16:33:54 +0000 -Subject: [PATCH 122/305] config: Add CONFIG_TCP_CONG_BBR See: +Subject: [PATCH 122/333] config: Add CONFIG_TCP_CONG_BBR See: https://github.com/raspberrypi/linux/issues/1784 --- @@ -125378,10 +125378,10 @@ index 8acee9f31202ec14f2933d92dd70831cda8d7b51..219f67051a2542329449b0099165ae28 CONFIG_IPV6_ROUTER_PREF=y CONFIG_INET6_AH=m -From eb19c4d78c36bb7af31d8cbd0b600ab0b0a45abd Mon Sep 17 00:00:00 2001 +From 75aab618da60d6ae18a952cc932d4e480a094fbf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Jan 2017 11:34:58 +0000 -Subject: [PATCH 123/305] BCM270X_DT: Enable UART0 on CM3 +Subject: [PATCH 123/333] BCM270X_DT: Enable UART0 on CM3 Signed-off-by: Phil Elwell --- @@ -125404,10 +125404,10 @@ index 41874c25a84226c0e4af92ec4059e0a571fe6123..3ba6e621856c288ae4694f758604619f sdhost_pins: sdhost_pins { brcm,pins = <48 49 50 51 52 53>; -From 170ac907c4cf80719e252353ddd735430f0b2ad8 Mon Sep 17 00:00:00 2001 +From a7816af5b4365b90e1b0e29feec5dada0568d5eb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Jan 2017 14:39:39 +0000 -Subject: [PATCH 124/305] config: Add CONFIG_MD_M25P80 and CONFIG_MD_SPI_NOR +Subject: [PATCH 124/333] config: Add CONFIG_MD_M25P80 and CONFIG_MD_SPI_NOR See: https://github.com/raspberrypi/linux/issues/1781 @@ -125446,10 +125446,10 @@ index 219f67051a2542329449b0099165ae2885022bec..c4898d63d74718097ec3a1d1fe60b230 CONFIG_OF_CONFIGFS=y CONFIG_ZRAM=m -From 64fff99f57cde8fecc5273e3a389ed19b952b546 Mon Sep 17 00:00:00 2001 +From 5fc0ec93cf03bb8e81939784fbf4af4e59d14fff Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 125/305] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 125/333] 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 @@ -125792,10 +125792,10 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From 6cf7feb6a67d85455219ca62a69b9b26d10f9278 Mon Sep 17 00:00:00 2001 +From 57d26e36d750022b8e1a60299581efcc58433f0e Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 126/305] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 126/333] 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 @@ -125869,10 +125869,10 @@ index 93e3f7660c4230c9f1dd3b195958cb498949b0ca..486bcbfb32305ee417f6b3be7e91a3ff .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From 851b375e9baa8c25dfdb661b9123d7dbb355ba1c Mon Sep 17 00:00:00 2001 +From 4214bb8154437766c6454397655a2c3b6eb43b8e Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 127/305] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 127/333] ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran @@ -125893,10 +125893,10 @@ index 4670a490dfb1e582ec24a3b39a3cb9b2488b1864..8c4392344eb4495689c220d5d176ee8c CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From 2fc4fb119736ca3562188302e9963834a18c13bc Mon Sep 17 00:00:00 2001 +From ef7f1824648b062fb1773cfa75041db34c8c9ee9 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:46:04 -0800 -Subject: [PATCH 128/305] ARM64: Use dwc_otg driver by default for USB. +Subject: [PATCH 128/333] ARM64: Use dwc_otg driver by default for USB. If it breaks on anybody, they can use the standard device tree overlays to switch back to the dwc2 driver. @@ -125922,10 +125922,10 @@ index f6def5d7e5d622cf09e8f87332c7374fe28da08b..3e134a1208610b90e2d0fc22f03c6e9f -}; -#endif -From 7a2062cf663d281ace259cec78a343009cf59049 Mon Sep 17 00:00:00 2001 +From 357c74a40a0a224919262307553e59f6060a33da Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 23 Jan 2017 17:36:50 +0000 -Subject: [PATCH 129/305] BCM270X_DT: Add reference to audio_pins to CM dtb +Subject: [PATCH 129/333] BCM270X_DT: Add reference to audio_pins to CM dtb The CM1 dtb contains an empty audio_pins node, but no reference to it. Adding the usual pinctrl reference from the audio node enables the @@ -125953,10 +125953,10 @@ index eb8662f0d222b4c0a9a2bcb8bccb13e86a0006b3..10be69972bd1440f574e35d515f3d6a0 hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; }; -From 3000b5fd15918d438ed9a645aafce893605e0e09 Mon Sep 17 00:00:00 2001 +From a69299488394e41e1fb0e611ba359aa371fb0e08 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 25 Jan 2017 11:30:38 +0000 -Subject: [PATCH 130/305] config: Add additional network scheduling modules +Subject: [PATCH 130/333] config: Add additional network scheduling modules --- arch/arm/configs/bcm2709_defconfig | 4 ++++ @@ -126008,10 +126008,10 @@ index c4898d63d74718097ec3a1d1fe60b2307a6a3140..b448eaa866c200f48351819072c7fefc CONFIG_NET_SCH_PLUG=m CONFIG_NET_CLS_BASIC=m -From a086c72446121c3313ae780d8400d3202e2f4167 Mon Sep 17 00:00:00 2001 +From 5cf4b6633259712ecc0006637dc68d3571f6e938 Mon Sep 17 00:00:00 2001 From: chris johnson Date: Sun, 22 Jan 2017 03:27:31 +0000 -Subject: [PATCH 131/305] ASoC: A simple-card overlay for ADAU7002 +Subject: [PATCH 131/333] ASoC: A simple-card overlay for ADAU7002 Usage: `dtoverlay=adau7002-simple` --- @@ -126109,10 +126109,10 @@ index 0000000000000000000000000000000000000000..e67e6625d7967abc92cf00cb604d4c12 + }; +}; -From 73b3ac3f70a7fafa5a4f0aa8e65b8a9760e29c10 Mon Sep 17 00:00:00 2001 +From 795f8ff6c3a1f62d9eb5d3c27112d761f43cc8be Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Jan 2017 21:17:23 +0000 -Subject: [PATCH 132/305] config: Add SND_SOC_ADAU7002 codec module +Subject: [PATCH 132/333] config: Add SND_SOC_ADAU7002 codec module As there is now an overlay requiring it, build the codec module. @@ -126147,10 +126147,10 @@ index b448eaa866c200f48351819072c7fefcd8ad8132..5105a592c9bcfee1cc6a8b50fd1c6c32 CONFIG_SND_SOC_WM8804_I2C=m CONFIG_SND_SIMPLE_CARD=m -From 9fc3d21b9e00a5f2dfa69b05a79344ed04a3558d Mon Sep 17 00:00:00 2001 +From 1cf4fe22db6fe6952dc0da13f55d5b131a6819bd Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Fri, 27 Jan 2017 06:42:42 -0500 -Subject: [PATCH 133/305] Add overlay for mcp3008 adc (#1818) +Subject: [PATCH 133/333] Add overlay for mcp3008 adc (#1818) Some example usage: @@ -126436,10 +126436,10 @@ index 0000000000000000000000000000000000000000..06bf4264959c380d8a9f90f74e780397 + }; +}; -From a4b658a6ef29e6e94aa8ff003baec75730540362 Mon Sep 17 00:00:00 2001 +From 699d3ca4d44c66f8af6d2bf260ca79a03f64bce3 Mon Sep 17 00:00:00 2001 From: ED6E0F17 Date: Fri, 3 Feb 2017 14:52:42 +0000 -Subject: [PATCH 134/305] usb: dwc2: Avoid suspending if we're in gadget mode +Subject: [PATCH 134/333] usb: dwc2: Avoid suspending if we're in gadget mode (#1825) I've found when booting HiKey with the usb gadget cable attached @@ -126491,10 +126491,10 @@ index df5a065780054f21841ca9f08b8ab118922c530b..619ccfe1eafc4643b16970f8a1129ff9 goto skip_power_saving; -From ea6ecd3bed504822ea97b57304212198f3df79e8 Mon Sep 17 00:00:00 2001 +From 9c8b265fa47dd44d6f74d626020b9f404082b9bc Mon Sep 17 00:00:00 2001 From: JamesH65 Date: Mon, 6 Feb 2017 15:24:47 +0000 -Subject: [PATCH 135/305] gpio_mem: Remove unnecessary dev_info output (#1830) +Subject: [PATCH 135/333] gpio_mem: Remove unnecessary dev_info output (#1830) The open function was spamming syslog every time called, so have removed call completely. @@ -126516,10 +126516,10 @@ index 911f5b7393ed48ceed8751f06967ae6463453f9c..f5e7f1ba8fb6f18dee77fad06a17480c dev_err(inst->dev, "Unknown minor device: %d", dev); ret = -ENXIO; -From 34eafc1e4bc0b806c0c78921ec142434828c11b6 Mon Sep 17 00:00:00 2001 +From 21962087d4e6dfc75bcb76180955d92b017891f8 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:36 +0100 -Subject: [PATCH 136/305] config: Enable regulator support +Subject: [PATCH 136/333] config: Enable regulator support Signed-off-by: Matthias Reichl --- @@ -126554,10 +126554,10 @@ index 5105a592c9bcfee1cc6a8b50fd1c6c32f1381158..74bc0d81bcb4d7f6676368926cdcc10e CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -From c331c813cb26ad20bfc6fc5391d4e8cd4bd42615 Mon Sep 17 00:00:00 2001 +From 35452713bf5bad955b92947c880960d7e5470beb Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:36 +0100 -Subject: [PATCH 137/305] BCM270x DT: expose 3.3V and 5V system rails +Subject: [PATCH 137/333] BCM270x DT: expose 3.3V and 5V system rails Signed-off-by: Matthias Reichl --- @@ -126590,10 +126590,10 @@ index a46cb4a8b1419edd95e0e07c18b0f373222dc2bf..36d853715f2379e1952ce3d3be58dd67 + }; }; -From 1e9ad55be7048c6d6e39f64a628e817b734c2469 Mon Sep 17 00:00:00 2001 +From fe4ea8911c159b48db7d265d80ae04004d16dcca Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:36 +0100 -Subject: [PATCH 138/305] BCM270x DT: Consolidate audio card overlays +Subject: [PATCH 138/333] BCM270x DT: Consolidate audio card overlays Reference 3.3V / 5V system rails instead of instantiating local regulators. @@ -126888,10 +126888,10 @@ index 16b1247bfa618ff85936ddf78c3aea58075eaa67..f8d48233e28c7c18509b4a95692f6aff __overlay__ { compatible = "rra,digidac1-soundcard"; -From 122493e12881ef1c74aad4743d24b2b71e976bd6 Mon Sep 17 00:00:00 2001 +From 247af6cae84eb77ce84148ad179f102ad8a6de16 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 139/305] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 139/333] 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 @@ -128141,10 +128141,10 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From 33310d492a98aeb754008683d52cef7f8b12b4f5 Mon Sep 17 00:00:00 2001 +From 72d6e6696875276db5283d4a329bfc00e55c88cc Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 140/305] config: enable Cirrus Logic Audio Card +Subject: [PATCH 140/333] config: enable Cirrus Logic Audio Card Signed-off-by: Matthias Reichl --- @@ -128193,10 +128193,10 @@ index 74bc0d81bcb4d7f6676368926cdcc10e581fbcae..f0b87d15e959d88eb26e5a11244365da CONFIG_SND_BCM2708_SOC_RPI_PROTO=m CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m -From 797be587fdf6b0dcd1f1f27a493a228674ebb463 Mon Sep 17 00:00:00 2001 +From ceaaaf619e25475d621aca3bc8626dcb240927a4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 141/305] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 141/333] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -128220,10 +128220,10 @@ index 486bcbfb32305ee417f6b3be7e91a3ff069a586c..e10597c1a1e51e5e27aa574b6a26d871 static void -From b92f2b349ee93cd0cedbde5e62f51a38fb15791e Mon Sep 17 00:00:00 2001 +From f7da66a19c49b96f1e5c504612cbd58644dbc41e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 142/305] sound: Demote deferral errors to INFO level +Subject: [PATCH 142/333] 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. @@ -128258,10 +128258,10 @@ index 4e3de566809c6b4776415482490ff80df2003351..d83f645de9ef60a05c6b8bb44bb2ae85 goto _err_defer; } -From 8f2c541e395f3a7b951e931a361507a16a04de26 Mon Sep 17 00:00:00 2001 +From 2e5f34e79f1ce53e005d7bddb65d6ca6be1a5c7e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:40:33 +0000 -Subject: [PATCH 143/305] sound: Suppress error message about deferrals +Subject: [PATCH 143/333] sound: Suppress error message about deferrals Since driver load deferrals are expected and will already have resulted in a kernel message, suppress an essentially @@ -128508,10 +128508,10 @@ index 9db678e885efd63d84d60a098a84ed6772b19a2d..fadbfade100228aaafabb0d3bdf35c01 return ret; } -From 4c6b8b975633f2482c399265d077beb07b517666 Mon Sep 17 00:00:00 2001 +From b955727f45bb173d0335c1fe689228695e8a45dc Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 144/305] Update vfpmodule.c +Subject: [PATCH 144/333] 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 @@ -128648,10 +128648,10 @@ index da0b33deba6d3c2906eef271f253ab7a30a92680..c6f1d6da808cda78a58f184e19e83522 /* * Save the userland NEON/VFP state. Under UP, -From f7b55cbdda0651cdc3b13ed7e961756f04a62dab Mon Sep 17 00:00:00 2001 +From c00bcd0c9a3a39b7f8f18dcf77a656d45ada3f44 Mon Sep 17 00:00:00 2001 From: Martin Cerveny Date: Mon, 13 Feb 2017 17:23:47 +0100 -Subject: [PATCH 145/305] dwc_otg: fix summarize urb->actual_length for +Subject: [PATCH 145/333] dwc_otg: fix summarize urb->actual_length for isochronous transfers Kernel does not copy input data of ISO transfers to userspace @@ -128679,10 +128679,10 @@ index 162a656501988e56c9d780b7793d365fde09f801..992269d61ecf48126379a38e528f7190 dwc_otg_hcd_urb_get_iso_desc_status(dwc_otg_urb, i); } -From 034ce986f970d1e41d5b651b4c77d23633997c4d Mon Sep 17 00:00:00 2001 +From 585bf96b83c7ffa071a04f4f65503eb65cef5158 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 1 Dec 2016 22:00:19 +0100 -Subject: [PATCH 146/305] clk: bcm: Support rate change propagation on bcm2835 +Subject: [PATCH 146/333] clk: bcm: Support rate change propagation on bcm2835 clocks Some peripheral clocks, like the VEC (Video EnCoder) clock need to be set @@ -128807,10 +128807,10 @@ index a99ccf9f056d3a3e7c482339e08483f3701ebc04..dafaa6b22724ab41dac1327cfa81de09 init.ops = &bcm2835_vpu_clock_clk_ops; } else { -From 065c526daa5ba3bfa0fef6dac2446f3b8e10b2d8 Mon Sep 17 00:00:00 2001 +From 871cd924ab0a14b97df17bdb533ee2b699b727fd Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 1 Dec 2016 22:00:20 +0100 -Subject: [PATCH 147/305] clk: bcm: Allow rate change propagation to PLLH_AUX +Subject: [PATCH 147/333] clk: bcm: Allow rate change propagation to PLLH_AUX on VEC clock The VEC clock requires needs to be set at exactly 108MHz. Allow rate @@ -128845,10 +128845,10 @@ index dafaa6b22724ab41dac1327cfa81de09908a4dfd..0453d7c6a63923370e4191db2c4d083b /* dsi clocks */ [BCM2835_CLOCK_DSI0E] = REGISTER_PER_CLK( -From 6244a8edb76c50d30c2a9e6790549640c441a5bd Mon Sep 17 00:00:00 2001 +From 8327aa75af110d8c4c0e4b381d4e39650da93033 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Mon, 12 Dec 2016 09:00:53 +0100 -Subject: [PATCH 148/305] clk: bcm: Fix 'maybe-uninitialized' warning in +Subject: [PATCH 148/333] clk: bcm: Fix 'maybe-uninitialized' warning in bcm2835_clock_choose_div_and_prate() best_rate is reported as potentially uninitialized by gcc. @@ -128877,10 +128877,10 @@ index 0453d7c6a63923370e4191db2c4d083b893b3b47..9d895726ebb24bc78a2014870dbdd7c7 struct clk_hw *parent; -From 54d6cf47e389e827e418d64c0750134b25441d92 Mon Sep 17 00:00:00 2001 +From 33f5d1dfa0a0ba17e9288360164cfe9d3ddf0a00 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 18 Jan 2017 07:31:55 +1100 -Subject: [PATCH 149/305] clk: bcm2835: Don't rate change PLLs on behalf of DSI +Subject: [PATCH 149/333] clk: bcm2835: Don't rate change PLLs on behalf of DSI PLL dividers. Our core PLLs are intended to be configured once and left alone. With @@ -129052,10 +129052,10 @@ index 9d895726ebb24bc78a2014870dbdd7c779cd1cdf..b58cff2756581ba7e0be8a818cdbdf72 /* the clocks */ -From a3035568cd6d7302f8faf78d63691898af336b98 Mon Sep 17 00:00:00 2001 +From 4ac316646550cc0b2446e38f4ecac1f42a0102f3 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 18 Jan 2017 07:31:56 +1100 -Subject: [PATCH 150/305] clk: bcm2835: Register the DSI0/DSI1 pixel clocks. +Subject: [PATCH 150/333] clk: bcm2835: Register the DSI0/DSI1 pixel clocks. The DSI pixel clocks are muxed from clocks generated in the analog phy by the DSI driver. In order to set them as parents, we need to do the @@ -129297,10 +129297,10 @@ index 360e00cefd35679b49890234b5c369fb52b89e20..a0c812b0fa391d149b4f546db39bdc4b +#define BCM2835_CLOCK_DSI0P 49 +#define BCM2835_CLOCK_DSI1P 50 -From a36f6f067a52d4621dad21f83b58641a542ebab7 Mon Sep 17 00:00:00 2001 +From a49bd2eef586140286b5e91383ec81921e1290ca Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 18 Jan 2017 07:31:57 +1100 -Subject: [PATCH 151/305] clk: bcm2835: Add leaf clock measurement support, +Subject: [PATCH 151/333] clk: bcm2835: Add leaf clock measurement support, disabled by default This proved incredibly useful during debugging of the DSI driver, to @@ -129646,10 +129646,10 @@ index b2c277b378ee799a4f8e05ad076d1253e85cb392..136e5d28f9eaeaa10d45382a0f31da9f /* the gates */ -From 2d81389a35919ea1729afe4f6275b68b32306455 Mon Sep 17 00:00:00 2001 +From a100e78c0430e7d5f61c2795ff5a9c2e8a10ce71 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2016 13:46:13 -0700 -Subject: [PATCH 152/305] drm/panel: Add support for the Raspberry Pi 7" +Subject: [PATCH 152/333] drm/panel: Add support for the Raspberry Pi 7" Touchscreen. This driver communicates with the Atmel microcontroller for sequencing @@ -130230,10 +130230,10 @@ index 0000000000000000000000000000000000000000..1a536fe4d040f5fafe324baee110a622 +MODULE_DESCRIPTION("Raspberry Pi 7-inch touchscreen driver"); +MODULE_LICENSE("GPL v2"); -From e90c52604dabe80e1df907b565b118a8ce85ca90 Mon Sep 17 00:00:00 2001 +From 19f35ae7cf3cd1fa28767c139d5ad4bc593a4df3 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 12:29:45 -0700 -Subject: [PATCH 153/305] BCM270X: Add the DSI panel to the defconfig. +Subject: [PATCH 153/333] BCM270X: Add the DSI panel to the defconfig. Signed-off-by: Eric Anholt --- @@ -130282,10 +130282,10 @@ index 8c4392344eb4495689c220d5d176ee8c189079fd..301611d2283f5f8800339271cea59aed CONFIG_DRM_VC4=m CONFIG_FB=y -From 3f00797a3a94d732cbab92f20902b735e08dd8d3 Mon Sep 17 00:00:00 2001 +From 5157cdd9ad1dd603175642964a74540faaa5a3f9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 13 Dec 2016 15:15:10 -0800 -Subject: [PATCH 154/305] ARM: bcm2835: dt: Add the DSI module nodes and +Subject: [PATCH 154/333] ARM: bcm2835: dt: Add the DSI module nodes and clocks. The modules stay disabled by default, and if you want to enable DSI @@ -130389,10 +130389,10 @@ index 51cdefbf5eb265f49bd05e0aa91dfbeee3fbfdcc..41776b97b4b6b1c053d07fd357fac4ba compatible = "brcm,bcm2835-i2c"; reg = <0x7e804000 0x1000>; -From cc8a3b78b10f85462123dca5403e243e58abf3c6 Mon Sep 17 00:00:00 2001 +From a6f5d2b648f16c2ef5e5bd54c5903c176c187f15 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 15:09:35 -0700 -Subject: [PATCH 155/305] BCM270X: Enable the DSI panel node in the VC4 +Subject: [PATCH 155/333] BCM270X: Enable the DSI panel node in the VC4 overlay. Signed-off-by: Eric Anholt @@ -130543,10 +130543,10 @@ index 4f1cc20f90dc6780f74e08ebee00e5a1a6062c85..f25cd9a3936861920b0d518ff2d773ee cma-256 = <0>,"+0-1-2-3-4"; cma-192 = <0>,"-0+1-2-3-4"; -From e7887522a69a916c4635d440ec8c832a46db7809 Mon Sep 17 00:00:00 2001 +From c6ee907d05a1702a4e06c410f04f26892ffbafb5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 3 Nov 2016 18:53:10 -0700 -Subject: [PATCH 156/305] drm/vc4: Add support for rendering with ETC1 +Subject: [PATCH 156/333] drm/vc4: Add support for rendering with ETC1 textures. The validation for it ends up being quite simple, but I hadn't got @@ -130606,10 +130606,10 @@ index ad7edc3edf7ca1d653a0bc025a5eda6692b74370..69caa21f0cb23c9439238f6239c0041b struct drm_vc4_get_param { __u32 param; -From e8c384af07b41fca487a78957ab0cf593e472505 Mon Sep 17 00:00:00 2001 +From 6c2eaf2957bd822ae958353a46b92390d35cbbdd Mon Sep 17 00:00:00 2001 From: Jonas Pfeil Date: Tue, 8 Nov 2016 00:18:39 +0100 -Subject: [PATCH 157/305] drm/vc4: Add fragment shader threading support +Subject: [PATCH 157/333] drm/vc4: Add fragment shader threading support FS threading brings performance improvements of 0-20% in glmark2. @@ -130845,10 +130845,10 @@ index 69caa21f0cb23c9439238f6239c0041b178d5669..f07a090167261131076438960c1dec17 struct drm_vc4_get_param { __u32 param; -From e970c76555e9b5f71f3505b8bcddafde522a1ef3 Mon Sep 17 00:00:00 2001 +From f21e0ff40e5ab80905e2172978b6654c09c0a700 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:09 +0100 -Subject: [PATCH 158/305] drm: Add TV connector states to drm_connector_state +Subject: [PATCH 158/333] drm: Add TV connector states to drm_connector_state Some generic TV connector properties are exposed in drm_mode_config, but they are currently handled independently in each DRM encoder driver. @@ -130998,10 +130998,10 @@ index d8bb8d151825fe818a0fc8cf0b1d685feae6b686..c9fbc52e88879c9b91c63b4d1f7abf0f /** -From 4cb96f5521e5725efe0e42e6811ac691529d4f3f Mon Sep 17 00:00:00 2001 +From cb406c164571fe16934313164090ed45661f0a53 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:08 +0100 -Subject: [PATCH 159/305] drm: Turn DRM_MODE_SUBCONNECTOR_xx definitions into +Subject: [PATCH 159/333] drm: Turn DRM_MODE_SUBCONNECTOR_xx definitions into an enum List of values like the DRM_MODE_SUBCONNECTOR_xx ones are better @@ -131048,10 +131048,10 @@ index df0e3504c349a950bf41540fbcd6cd944cf11d2f..970bfc0d7107451e5bc4e29c524a764c #define DRM_MODE_CONNECTOR_Unknown 0 #define DRM_MODE_CONNECTOR_VGA 1 -From 962e6bdb8b1be8a4315921cf9332956bf12d64b0 Mon Sep 17 00:00:00 2001 +From 6356c95d7f1b28ed84f62358a21772fc499c22bf Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:10 +0100 -Subject: [PATCH 160/305] drm/vc4: Add support for the VEC (Video Encoder) IP +Subject: [PATCH 160/333] drm/vc4: Add support for the VEC (Video Encoder) IP The VEC IP is a TV DAC, providing support for PAL and NTSC standards. @@ -131790,10 +131790,10 @@ index 0000000000000000000000000000000000000000..32bb8ef985fbc6f39f9e5f459846bb77 + }, +}; -From eb74deaeb4521f2b1d7fc613d3e0d070105a7b62 Mon Sep 17 00:00:00 2001 +From f88b963ecfcbb3a8815d6de3cc509d78b12e62bc Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 15 Sep 2016 15:25:23 +0100 -Subject: [PATCH 161/305] drm/vc4: Set up SCALER_DISPCTRL at boot. +Subject: [PATCH 161/333] drm/vc4: Set up SCALER_DISPCTRL at boot. We want the HVS on, obviously, and we also want DSP3 (PV1's source) to be muxed from HVS channel 2 like we expect in vc4_crtc.c. The @@ -131853,10 +131853,10 @@ index 39f6886b24100c43b590e47e0c7bc44846721d65..b3b297fba7097bc495fa8916292c5479 * SCALER_DISPSTAT_IRQDISP0. Note that short frame contributions are * always enabled. -From fcf66b59def66b4581cb4250cdef7aba72fc95c9 Mon Sep 17 00:00:00 2001 +From da56f6ea29d0aba053447820b0431bf84718bd0c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 10 Feb 2016 16:17:29 -0800 -Subject: [PATCH 162/305] drm/vc4: Add support for feeding DSI encoders from +Subject: [PATCH 162/333] drm/vc4: Add support for feeding DSI encoders from the pixel valve. We have to set a different pixel format, which tells the hardware to @@ -131971,10 +131971,10 @@ index b3b297fba7097bc495fa8916292c547925720199..385405a2df05eb3dd86d4f687aa82053 # define PV_VCONTROL_VIDEN BIT(0) -From be61d1081cf504427a95f53d83e53265820dbf62 Mon Sep 17 00:00:00 2001 +From 608f777560f87b73a53a73d965de8c0b5d9d1bb3 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 10 Feb 2016 11:42:32 -0800 -Subject: [PATCH 163/305] drm/vc4: Add DSI driver +Subject: [PATCH 163/333] drm/vc4: Add DSI driver The DSI0 and DSI1 blocks on the 2835 are related hardware blocks. Some registers move around, and the featureset is slightly different, @@ -133802,10 +133802,10 @@ index 0000000000000000000000000000000000000000..17fcac381dbb37cd9a5ff210ad8578f4 + }, +}; -From 13804e779fbc1d06203fc39ad6dabb432a066991 Mon Sep 17 00:00:00 2001 +From 75fbdeaa4b5c091027cca0ab3cda3dde41c97f99 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:12 +0100 -Subject: [PATCH 164/305] ARM: dts: bcm283x: Add VEC node in bcm283x.dtsi +Subject: [PATCH 164/333] ARM: dts: bcm283x: Add VEC node in bcm283x.dtsi Add the VEC (Video EnCoder) node definition in bcm283x.dtsi. @@ -133836,10 +133836,10 @@ index 41776b97b4b6b1c053d07fd357fac4ba4787ac53..d3cc586661f903e67a840189c0446aa8 compatible = "brcm,bcm2835-pixelvalve2"; reg = <0x7e807000 0x100>; -From cb26f4bda3766107ab4005d2f825b584f2151c59 Mon Sep 17 00:00:00 2001 +From afe06dc8917cda3df5964df39d054d2e6bb90ef8 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:13 +0100 -Subject: [PATCH 165/305] ARM: dts: bcm283x: Enable the VEC IP on all +Subject: [PATCH 165/333] ARM: dts: bcm283x: Enable the VEC IP on all RaspberryPi boards Enable the VEC IP on all RaspberryPi boards. @@ -133865,10 +133865,10 @@ index 365648898f3acc4f82dc6cb58e4bbebbe249be94..d4577a51e678cb600b475d3d3395ca4e + status = "okay"; +}; -From 856ff0b9d52c835e3353edb635518736215844ad Mon Sep 17 00:00:00 2001 +From d43b4972d77f0440488ffd50f313a26c2a5a784e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 23 Jan 2017 11:41:54 -0800 -Subject: [PATCH 166/305] BCM270X: Disable VEC unless vc4-kms-v3d is present. +Subject: [PATCH 166/333] BCM270X: Disable VEC unless vc4-kms-v3d is present. Signed-off-by: Eric Anholt --- @@ -133907,10 +133907,10 @@ index f25cd9a3936861920b0d518ff2d773ee467e2f49..a8ef8c9051668a7477dea30aa262568c cma-256 = <0>,"+0-1-2-3-4"; cma-192 = <0>,"-0+1-2-3-4"; -From 28c80efcf33d7d4e3d4fa5f6a04d55e4407b0b7f Mon Sep 17 00:00:00 2001 +From 42503bf75152f90d3d650ae26643a13a554d37c7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 167/305] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 167/333] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. @@ -133934,10 +133934,10 @@ index d18a1dae51a2275846c9826b5bf1ba57ae97b55c..e49ce68b607a7ffc2329e3235362f3bc if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From 200f3e4c32e944e6a230aa10e70353b0d45c7f46 Mon Sep 17 00:00:00 2001 +From 7925f7b8d375d70a338d85638f5b375ab32b600d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 168/305] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 168/333] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was @@ -134007,10 +134007,10 @@ index e49ce68b607a7ffc2329e3235362f3bc21ed5cbb..dbf065677202fbebf8e3a0cffbe880aa RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From d8855017f57d293c647a1ad869a5e9062154d2f8 Mon Sep 17 00:00:00 2001 +From 09d23a200dec7a5d0f3d9ae1e5e87c4a608193f4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 169/305] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 169/333] 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 @@ -134052,10 +134052,10 @@ index dbf065677202fbebf8e3a0cffbe880aa42daef3f..da818a207bfa639b8cea48d94bcf4566 static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From 84a08534bd8014fc24f1cab10010d93c94fc99e2 Mon Sep 17 00:00:00 2001 +From 27de539cf201fb589610af5d7543b0e767a828d6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 8 Feb 2017 15:00:54 -0800 -Subject: [PATCH 170/305] drm/vc4: Fulfill user BO creation requests from the +Subject: [PATCH 170/333] drm/vc4: Fulfill user BO creation requests from the kernel BO cache. The from_cache flag was actually "the BO is invisible to userspace", @@ -134108,10 +134108,10 @@ index ec9023bd935b6755b3c2b6a7e171cb269562234c..fd83a28076564b9ea5cf0f2ba29b884e cma_obj = drm_gem_cma_create(dev, size); -From 981e80f562020ff55d1e5f7a061781883f14c8d6 Mon Sep 17 00:00:00 2001 +From 43e4eca47738709fe08a3789177dcd62a6c1d36c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 12 Oct 2015 08:58:08 -0700 -Subject: [PATCH 171/305] drm/vc4: Verify at boot that CMA doesn't cross a +Subject: [PATCH 171/333] drm/vc4: Verify at boot that CMA doesn't cross a 256MB boundary. I've seen lots of users cranking CMA up higher, so throw an error if @@ -134194,10 +134194,10 @@ index c960459eda7e640ea55be1d4ed80c6a9125a8877..b50245282a18bc790da0f901944c2e67 static unsigned long cma_bitmap_aligned_mask(const struct cma *cma, int align_order) -From 2faa8f450c99a5a50bb632434ef7eb97e69d882a Mon Sep 17 00:00:00 2001 +From 96ef9a54d8f4ff42cd2553fbe58dba5498f6dcc0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 09:47:11 +0000 -Subject: [PATCH 172/305] BCM270X_DT: Add SMSC ethernet controller to DT +Subject: [PATCH 172/333] BCM270X_DT: Add SMSC ethernet controller to DT With an ethernet node in the DT, a suitable firmware can populate the local-mac-address property, removing the need for a downstream patch @@ -134260,10 +134260,10 @@ index d29ba72de727fe26b5a586e0bd0a41181c68ae04..78101849441679baf3624cf67a0ff7a2 / { model = "Raspberry Pi 3 Model B"; -From cb30027317dc433201d0e8253e2d43e81ca20fc4 Mon Sep 17 00:00:00 2001 +From 91ad230a0d0d5d6b51cd865490ac387823754a07 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 173/305] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 173/333] brcmfmac: Mute expected startup 'errors' The brcmfmac WiFi driver always complains about the '00' country code and the firmware version is reported as an error. Modify the driver to @@ -134276,10 +134276,10 @@ Signed-off-by: Phil Elwell 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 121a697455caba5a9e15145c96c7fb7055dd5ad7..9d63be7b1c9a929880183c453c0444c0213d191a 100644 +index 3ac3056ab1d2074e4a60961455f0c355c5a18afd..11e73bff0f479b6dc1157fe39120b33796acb894 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -6806,6 +6806,8 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, +@@ -6811,6 +6811,8 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, /* ignore non-ISO3166 country codes */ for (i = 0; i < sizeof(req->alpha2); i++) if (req->alpha2[i] < 'A' || req->alpha2[i] > 'Z') { @@ -134302,10 +134302,10 @@ index 4051780f64f44a5ce522babe6c371a1beb79a824..b081673abcb4aa72d70d8e0834b608f6 /* locate firmware version number for ethtool */ ptr = strrchr(buf, ' ') + 1; -From 3df6cf5b38fbfe7ba38ea8fc9cd98449c1bbf93f Mon Sep 17 00:00:00 2001 +From efd54fc7a6ba350217773dff9285cb568ee99ab4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 174/305] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 174/333] 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 @@ -134333,10 +134333,10 @@ index 136e5d28f9eaeaa10d45382a0f31da9f4adb91ef..4192863778c8009aacfc9a49ee38ad1c divider->data = data; -From 83b359afff27e394c1026fd97165b005ea946495 Mon Sep 17 00:00:00 2001 +From 30ca3e8ff50afdb5e1244b80afa89fbd4342295c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 175/305] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 175/333] 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, @@ -134471,10 +134471,10 @@ index 4192863778c8009aacfc9a49ee38ad1ca62a01e4..6b245357e4e93c19a839eee92a82f95a sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From 643b14e60af0678eddc6897e4b54ef7a34edd837 Mon Sep 17 00:00:00 2001 +From 6087d97bc488b3c32a9a5b056c235d97218380bd Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Thu, 23 Feb 2017 11:56:20 -0500 -Subject: [PATCH 176/305] Add ads1015 driver to config +Subject: [PATCH 176/333] Add ads1015 driver to config --- arch/arm/configs/bcm2709_defconfig | 3 ++- @@ -134528,10 +134528,10 @@ index 9a9cd1cdcb2f76d4408568681ec80885293bae48..554fed3a4fbfd1940422b808046c6d2b CONFIG_FB=y CONFIG_FB_BCM2708=y -From c821b53a38c43cbb2f073a65d2f7c73cebbb53a6 Mon Sep 17 00:00:00 2001 +From 32203d629b6066d008eb36986c88e1d39e87da2a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 27 Jan 2017 18:49:30 +0000 -Subject: [PATCH 177/305] config: add slcan kernel module +Subject: [PATCH 177/333] config: add slcan kernel module See: https://github.com/raspberrypi/linux/issues/1819 --- @@ -134564,10 +134564,10 @@ index 554fed3a4fbfd1940422b808046c6d2b1f508394..99888182259b280790a7506b248a8130 CONFIG_IRDA=m CONFIG_IRLAN=m -From 2dcddefd1a9f4e0ea3950a321ad6dea3ed10e55a Mon Sep 17 00:00:00 2001 +From c4acf8a166610e5c765061cabeca964cc685ab63 Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 178/305] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 178/333] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -134831,10 +134831,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From 584217082ef31c58659ec34278d701d13a9ba863 Mon Sep 17 00:00:00 2001 +From b34e9da19f745b5986ac13a51a948d813683499b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 26 Feb 2017 01:13:02 +0000 -Subject: [PATCH 179/305] SQUASH: Add LOCO-V2 overlay from last commit +Subject: [PATCH 179/333] SQUASH: Add LOCO-V2 overlay from last commit --- .../dts/overlays/dionaudio-loco-v2-overlay.dts | 49 ++++++++++++++++++++++ @@ -134897,10 +134897,10 @@ index 0000000000000000000000000000000000000000..a1af93de30119734e8d14cbd454589d3 + }; +}; -From 6805c3cf171d54f9f8b4eca7c3db663f18bb965b Mon Sep 17 00:00:00 2001 +From 646fefff4a49327d434e6ba85ae54636277d514b Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 180/305] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 180/333] 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. @@ -135249,10 +135249,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From aef7d8a7fc676e73d83459fc1ff1c7fc76402655 Mon Sep 17 00:00:00 2001 +From d259517ea567ed36eea4797f38d58b7587d567d8 Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Wed, 1 Mar 2017 07:22:24 -0500 -Subject: [PATCH 181/305] Add overlay for ads1115 ADCs (#1864) +Subject: [PATCH 181/333] Add overlay for ads1115 ADCs (#1864) --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -135416,10 +135416,10 @@ index 0000000000000000000000000000000000000000..7c16a1af3172d14e1a976b1776b9f167 + }; +}; -From df072585f8473d9b0742e144b127bf6a1e85e6e0 Mon Sep 17 00:00:00 2001 +From 04f21c4474a8915d8e73472b2ad217a0b45896b1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:06:53 +0000 -Subject: [PATCH 182/305] clk-bcm2835: Correct the prediv logic +Subject: [PATCH 182/333] clk-bcm2835: Correct the prediv logic If a clock has the prediv flag set, both the integer and fractional parts must be scaled when calculating the resulting frequency. @@ -135446,10 +135446,10 @@ index 6b245357e4e93c19a839eee92a82f95aec996e4e..8ea29fbc8dc451b9cff502bc1a918ae6 return bcm2835_pll_rate_from_divisors(parent_rate, ndiv, fdiv, pdiv); } -From cb0e4cd040fe00a770d3e4cbadf306ec8d3fac8a Mon Sep 17 00:00:00 2001 +From 4e547b44933732f8754e8ee1d2500d5e173213a4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 183/305] amba_pl011: Round input clock up +Subject: [PATCH 183/333] 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 @@ -135535,10 +135535,10 @@ index 5a11ff833e1fd112ba04df3a427cd94bf6793ec5..003a5b0c30295dbbcb94a28d0c64d124 /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -From f217a9ea1e963946a7775f04225df66c77159a92 Mon Sep 17 00:00:00 2001 +From 7d5de26f8707c9957a41f61c698d4a788f13f19d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 13 Feb 2017 11:10:50 +0000 -Subject: [PATCH 184/305] BCM2835-V4L2: Ensure H264 header bytes get a sensible +Subject: [PATCH 184/333] BCM2835-V4L2: Ensure H264 header bytes get a sensible timestamp H264 header come off VC with 0 timestamps, which means they get a @@ -135627,10 +135627,10 @@ index e6aeb7e7e381de65d6c6586205069a4c5cd33274..7f8a68916a67001bc9241bce2928519a struct vchiq_mmal_port *port; /* port being used for capture */ /* camera port being used for capture */ -From 416b34df498f1234ee53ef9e0d406b1a488bd7ba Mon Sep 17 00:00:00 2001 +From 78f18880012de6c46eab65434399b5e40802cff7 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 13 Feb 2017 13:11:41 +0000 -Subject: [PATCH 185/305] BCM2835-V4L2: Correctly denote key frames in encoded +Subject: [PATCH 185/333] BCM2835-V4L2: Correctly denote key frames in encoded data Forward MMAL key frame flags to the V4L2 buffers. @@ -135655,10 +135655,10 @@ index e69731320f4e59249933bc21843913deab4a1209..6bdec0806126044cf7146d53326e4da5 "Buffer has ts %llu", dev->capture.last_timestamp); -From e2c61551e762b889a2fa7b7f6bbb00f4b7010774 Mon Sep 17 00:00:00 2001 +From 98ceceba5df9173a8a7af1a0a7cb6a2393f202e8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 186/305] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 186/333] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -136076,10 +136076,10 @@ index 2859db09e25bb945251e85edb39bc43430857168..56b3f0fe1ea3d22fcf207e6df90b640e /* Dispmanx TAGS */ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, -From 5cb2c96847c04bd91b5f00fc181a01bb113a69b3 Mon Sep 17 00:00:00 2001 +From 99fafd112aff99f6c2add2f8d0de61a2a11879b2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 May 2016 16:30:05 +0100 -Subject: [PATCH 187/305] BCM270X_DT: Add bcm2708-rpi-0-w.dts +Subject: [PATCH 187/333] BCM270X_DT: Add bcm2708-rpi-0-w.dts Add DT support for the Pi Zero W. N.B. It will not be loaded automatically without a corresponding change to the firmware. @@ -136307,10 +136307,10 @@ index 0000000000000000000000000000000000000000..db0f99ddf2f46e83827d56e21c4846dd + }; +}; -From 7fe980e2d58314379f52eed2a94b26798a56c069 Mon Sep 17 00:00:00 2001 +From d97e2fbf11c9c13a696efbb07ebc9034efe1b5d1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 188/305] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 188/333] 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 @@ -136438,10 +136438,10 @@ index 8ea29fbc8dc451b9cff502bc1a918ae65fb1b306..fe3298b54cdfb96bd90fb4f39e13921d for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From e05ae88148273a0877056f1044370b76beb6bbf0 Mon Sep 17 00:00:00 2001 +From 7f9a26c57080ee64821b1fa670e4b85865e2d368 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 7 Mar 2017 19:48:23 +0000 -Subject: [PATCH 189/305] config: Add CONFIG_CRYPTO_LZ4 +Subject: [PATCH 189/333] config: Add CONFIG_CRYPTO_LZ4 Enabling this options allows LZ4 memory compression. @@ -136478,10 +136478,10 @@ index 2c124bbfa343bf2c160250d055e1509678a80850..1748fcb84bdc3853ffccba93a41cd2dc # CONFIG_CRYPTO_HW is not set CONFIG_ARM_CRYPTO=y -From 7616b54824ad6218c1877f31170265b413d49e18 Mon Sep 17 00:00:00 2001 +From 61c5a82c759dbcb28006e536a93aff257554b0ce Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 23 Feb 2017 17:54:31 -0800 -Subject: [PATCH 190/305] drm/vc4: Don't wait for vblank when updating the +Subject: [PATCH 190/333] drm/vc4: Don't wait for vblank when updating the cursor Commonly used desktop environments such as xfce4 and gnome @@ -136538,10 +136538,10 @@ index 881bf489478b01b34e9e4df6013fe608c42215ee..14d69bb4967dedcd3bbc475639a8c27e * expected change from the drm_mode_cursor_universal() * helper. -From 68d1a69d9153d6eb40b799d727846e985f1befab Mon Sep 17 00:00:00 2001 +From b7141199305e596ef9bb2f832e053e882b9c6899 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 6 Mar 2017 12:17:16 -0800 -Subject: [PATCH 191/305] panel-raspberrypi-touchscreen: Round up clk rate to +Subject: [PATCH 191/333] panel-raspberrypi-touchscreen: Round up clk rate to fix DSI panel. Commit 488f9bc8e3def93e0baef53cee2026c2cb0d8956 slightly increased the @@ -136576,10 +136576,10 @@ index 1a536fe4d040f5fafe324baee110a6225dd0be08..7f315f04b109621ca7f3861fdd8acf95 .hsync_start = HACT + HFP, .hsync_end = HACT + HFP + HSW, -From af113d1f3fdd77d4c9a566c3c7cb0309ae84d55b Mon Sep 17 00:00:00 2001 +From 54206af8be9c483cb23c4873ed9281749054e16d Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 192/305] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 192/333] Add support for the AudioInjector.net Octo sound card --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -137050,10 +137050,10 @@ index 0000000000000000000000000000000000000000..9effea725798640887755dfa688da453 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From e73df72f27268ea31feb651e29658918bec48d6e Mon Sep 17 00:00:00 2001 +From 671c50283d8b7f7d25e756ded0827f5963f59c39 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 193/305] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 193/333] 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. @@ -137082,10 +137082,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..c8dd065aea8414b47aa2ea4fc04168b5 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From 3d7b9862a0801953a7415bf5e9e0d5f8c4c93e34 Mon Sep 17 00:00:00 2001 +From e9e9518347f7c4632bb324a0f965ed313adae567 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 Mar 2017 14:43:15 +0000 -Subject: [PATCH 194/305] bcm2835-v4l2: Fix buffer overflow problem +Subject: [PATCH 194/333] bcm2835-v4l2: Fix buffer overflow problem https://github.com/raspberrypi/linux/issues/1447 port_parameter_get() failed to account for the header @@ -137121,10 +137121,10 @@ index 781322542d5a8295f3d7d5a3eaaf0cac29930c30..e4b243b33f58913f3d2952c97d2a2e3f * but report true size of parameter */ -From 426c15ce256ad778da9f3a36d2be290a9a0a5695 Mon Sep 17 00:00:00 2001 +From e8a8ee5d092f99f51870991c3375fc118fcc3ffc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 195/305] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 195/333] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -137149,10 +137149,10 @@ index 3635b8662724569d3338ebb620d603c644fe38b7..822fefeb1cd0aa2dc8398f885cf28e9b dtbs: prepare scripts -From 4a4c86b50de77f7b28f18e6444909f96d088665b Mon Sep 17 00:00:00 2001 +From b16306354a04950a976bbd5bb205c2f6a0f9cc35 Mon Sep 17 00:00:00 2001 From: John Greb Date: Wed, 8 Mar 2017 15:12:29 +0000 -Subject: [PATCH 196/305] Match dwc2 device-tree fifo sizes to the hardware +Subject: [PATCH 196/333] Match dwc2 device-tree fifo sizes to the hardware values. Since commit aa381a7259c3f53727bcaa8c5f9359e940a0e3fd was reverted with 3fa9538539ac737096c81f3315a14670b1609092 the g-tx-fifo-size array in the device-tree needs to match the preset values in the bcm2835. @@ -137183,10 +137183,10 @@ index 527abc9f0ddf71f4dc7d58336d87684c931cc2f3..265a16bab008453edba198cf2366c423 }; }; -From ba5c638de5b564e20839d4b7123f1c3f2540c514 Mon Sep 17 00:00:00 2001 +From 3f1ae5d97d6ea85032535115858b27ca261fb7cb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 5 Mar 2017 11:46:41 +0000 -Subject: [PATCH 197/305] config: Add RTL8XXXU wifi module +Subject: [PATCH 197/333] config: Add RTL8XXXU wifi module --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -137218,10 +137218,10 @@ index bf52db66afb2aa18d6f6f9fb9b64dcbd97e24521..4bc0f8b52b7f39f99d650cb9c4cdfdba CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From 0d2c22a40c0f1aad1e9e4e9b0ac2d6bd38cdddde Mon Sep 17 00:00:00 2001 +From 3ce6956e9b4af2f963deb2476e169f75469f0b8c Mon Sep 17 00:00:00 2001 From: "K. Y. Srinivasan" Date: Thu, 22 Dec 2016 16:54:00 -0800 -Subject: [PATCH 198/305] Drivers: hv: vmbus: Fix a rescind handling bug +Subject: [PATCH 198/333] Drivers: hv: vmbus: Fix a rescind handling bug commit ccb61f8a99e6c29df4fb96a65dad4fad740d5be9 upstream. @@ -137253,10 +137253,10 @@ index 1606e7f08f4b36750be747feb5d0e9f36b3e6dd0..9aff4f6f5423a3b03fa834d4f69d4bb5 /* * If the channel has been rescinded; -From 737b88e528fe661f4dfe3d00601b43f2dfd6529c Mon Sep 17 00:00:00 2001 +From 5f45e9e8bc0f7a8ba2a825af95bb8a9c9721b94b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Mar 2017 12:18:20 +0000 -Subject: [PATCH 199/305] BCM270X_DT: Invert Pi3 power LED to match fw change +Subject: [PATCH 199/333] BCM270X_DT: Invert Pi3 power LED to match fw change Firmware expgpio driver reworked due to complaint over hotplug detect. @@ -137282,10 +137282,10 @@ index 173103aaca503833b5e29530ed94e14c7cab0444..b21d2866d204adc533b46d581028f290 }; -From 0abf8fa2a75023c07aabcbcfbbd4344c713f72ad Mon Sep 17 00:00:00 2001 +From 3f5317017055a4504dbd020ddde8c444ec4c41aa Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Mar 2017 09:10:05 +0000 -Subject: [PATCH 200/305] BCM270X_DT: Add lm75 to i2c-sensor overlay +Subject: [PATCH 200/333] BCM270X_DT: Add lm75 to i2c-sensor overlay See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=177236 @@ -137348,10 +137348,10 @@ index 31bda8da4cb6a56bfe493a81b918900995fb0589..606b2d5012abf2e85712be631c42ea40 }; }; -From cb52d99f26a108454d8a27e1676ab136903bbc96 Mon Sep 17 00:00:00 2001 +From cfdb784468b57dfa7aa22593a09c98dfeca7cef4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Mar 2017 14:23:06 +0000 -Subject: [PATCH 201/305] bcm2835-gpio-exp: Copy/paste error adding base twice +Subject: [PATCH 201/333] bcm2835-gpio-exp: Copy/paste error adding base twice brcmexp_gpio_set was adding gpio->gc.base to the offset twice, so passing an invalid number to the mailbox service. @@ -137377,10 +137377,10 @@ index 681a91492d4c33bdfd42416e069218e8611cc4d9..d68adafaee4ad406f45f4ff0d6b7c1ad set.state = val; /* Output state */ -From 5ef66bea064dda3dd226d0f193adbf64b9aadb06 Mon Sep 17 00:00:00 2001 +From 1bc0402884bf3d10d87571e03fcd3633c1f5bcdb Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Mar 2017 11:12:40 +0000 -Subject: [PATCH 202/305] bcm2835-camera: Correct port_parameter_get return +Subject: [PATCH 202/333] bcm2835-camera: Correct port_parameter_get return value The API for port_parameter_get() requires that the @@ -137438,10 +137438,10 @@ index e4b243b33f58913f3d2952c97d2a2e3fbbbd0ae8..ec2853ba9d4b1b0cd6e07a495a424e15 pr_debug("%s:result:%d component:0x%x port:%d parameter:%d\n", __func__, ret, port->component->handle, port->handle, parameter_id); -From 5139a8a841f16e731bc22509d3d791dda532c919 Mon Sep 17 00:00:00 2001 +From 3ac9280b3b872f63e58479b74d4bc310c91085a7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Mar 2017 12:24:41 +0000 -Subject: [PATCH 203/305] config: Make spidev a loadable module +Subject: [PATCH 203/333] config: Make spidev a loadable module spidev isn't required early in the boot process, and not all users need it (spi_bcm2835 is a module), so make it a loadable module. @@ -137497,10 +137497,10 @@ index 4bc0f8b52b7f39f99d650cb9c4cdfdba6fac59dd..8d64ce4465f6f276b2d58ed1e2e45fb0 CONFIG_SND_SIMPLE_CARD=m CONFIG_SOUND_PRIME=m -From 03494fc360604e1f3f5ca7476352130e41aa9544 Mon Sep 17 00:00:00 2001 +From 46bd4587ed2eccc5ec9530765107d40f35557822 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 204/305] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 204/333] 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 @@ -137525,10 +137525,10 @@ index 9824cdd04b0c11c45b8cedd0187a0eba8f1dc2d4..c0b88d43df0de283c58ed6158680bc7e config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From e1a615810770a4302c1d6822513e105d1990e3a4 Mon Sep 17 00:00:00 2001 +From 8722930d79604d691e01f9c60664c82eb13b8f4f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 205/305] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 205/333] 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 @@ -137692,10 +137692,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From 35bf986c59fa5a714229b3e10b21fd3df0af3fce Mon Sep 17 00:00:00 2001 +From f07c604a3a1448fc1f63b71780ed11d4edcd6f7f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 17:08:44 +0000 -Subject: [PATCH 206/305] BCM270X_DT: Enable AUX interrupt controller in DT +Subject: [PATCH 206/333] BCM270X_DT: Enable AUX interrupt controller in DT See: https://github.com/raspberrypi/linux/issues/1484 https://github.com/raspberrypi/linux/issues/1573 @@ -137748,10 +137748,10 @@ index d3cc586661f903e67a840189c0446aa80e16a44e..348c71bbc913644c04bab43fcb95abe9 #address-cells = <1>; #size-cells = <0>; -From 1be561d6ed7d683395d1a7b8562412ccecc607d6 Mon Sep 17 00:00:00 2001 +From a618b732e773e61d3be4d4572c2c6531a0a209f3 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 27 Mar 2017 22:26:49 +1100 -Subject: [PATCH 207/305] Audioinjector addons dts : add reset and regulators +Subject: [PATCH 207/333] Audioinjector addons dts : add reset and regulators for the Octo product. This patch adds a reset GPIO for the AudioInjector.net octo sound card. @@ -137818,10 +137818,10 @@ index dbf2f3cacc2e6bf5b7116fbadd97f2781580a79c..a36fa85a61f7eaab35ca481ed1dac621 codec = <&cs42448>; status = "okay"; -From eb5841fb52cdcecf0279a77286b87cb085248950 Mon Sep 17 00:00:00 2001 +From 71ebf46c11cd0406ecb607ef1a4e89a84ba9a324 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 27 Mar 2017 22:27:26 +1100 -Subject: [PATCH 208/305] AudioInjector Octo : Consolidate sample rates and add +Subject: [PATCH 208/333] AudioInjector Octo : Consolidate sample rates and add a codec reset. This patch consolidates the sample rates which the audioinjector.net octo @@ -137961,10 +137961,10 @@ index 9effea725798640887755dfa688da45338718afc..1198c36c4563b8673e5d386d1dfa92d4 dai->cpu_dai_name = NULL; dai->cpu_of_node = i2s_node; -From f43535f3ff57ef1215a83b4fd2a229eeb78a7ef7 Mon Sep 17 00:00:00 2001 +From 6ae3e8de2440073aa25db0f85149c468b4d04ce9 Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 209/305] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 209/333] Driver support for Google voiceHAT soundcard. --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -138469,10 +138469,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From 6a70ae83c1f7155eafa39a6a43ccdeba395cb279 Mon Sep 17 00:00:00 2001 +From 69f9579df38ff3273373b4d788d47820518af1f3 Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 210/305] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 210/333] 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. @@ -139100,10 +139100,10 @@ index 0000000000000000000000000000000000000000..f66f42abadbd5f9d3fe000676e8297ed +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From 6ae7ba918062a63b4bff76642ce92bb0a61ed05f Mon Sep 17 00:00:00 2001 +From b104f9e87174147250fddb57f2745c879538f1fc Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 211/305] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 211/333] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -139833,10 +139833,10 @@ index 0000000000000000000000000000000000000000..c080e31065d99ab309ab3bdf41a44adf +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From 6f2d186685ef919d85c96cf60dc7113c6775dfaf Mon Sep 17 00:00:00 2001 +From 55663c7b8962a1495d3784921d240931ba221f25 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Mar 2017 14:22:20 +0100 -Subject: [PATCH 212/305] BCM270X_DT: Allow multiple instances of w1-gpio +Subject: [PATCH 212/333] BCM270X_DT: Allow multiple instances of w1-gpio overlays Upcoming firmware will modify the address portion of node names when @@ -139901,10 +139901,10 @@ index 66a98f6c9601f51483f27803995bec772bb3350e..ef8bfbcabdb31231075d5c281df3b38b <&w1_pins>,"brcm,pins:4"; pullup = <&w1>,"rpi,parasitic-power:0"; -From fc53af74e1b532b18015f7bf9c433087071deef3 Mon Sep 17 00:00:00 2001 +From a3c6fd0ff27925a61c657276829a6bbaad36d55f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Mar 2017 17:41:30 +0100 -Subject: [PATCH 213/305] leds-gpio: Remove stray assignment to brightness_set +Subject: [PATCH 213/333] leds-gpio: Remove stray assignment to brightness_set The brightness_set method is intended for use cases that must not block, and can only be used if the GPIO provider can never sleep. @@ -139930,10 +139930,10 @@ index 6a27a693034825de2897bb7b338b60cc10c9e59f..a6b352cb003ff5e6c87cf6d37d6502b6 if (template->default_state == LEDS_GPIO_DEFSTATE_KEEP) { state = gpiod_get_value_cansleep(led_dat->gpiod); -From 0645d60391fabe63a2576f257c39bdbd0e53201b Mon Sep 17 00:00:00 2001 +From 206bf69ae1f0d90c7c5c79f5af307725ddcd4f6a Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Thu, 30 Mar 2017 11:43:57 +1100 -Subject: [PATCH 214/305] Audioinjector Octo : add extra sample rates, fix rst +Subject: [PATCH 214/333] Audioinjector Octo : add extra sample rates, fix rst and use bcm270x regs This patch adds new sample rates to the Audioinjector Octo sound card. The @@ -140095,10 +140095,10 @@ index 1198c36c4563b8673e5d386d1dfa92d43689e297..dcf403ab37639ba79e38278d7e4b1ade if (i2s_node && codec_node) { dai->cpu_dai_name = NULL; -From 7b2d01b2bd1a33617451cf291ef5b44fbfdf41b8 Mon Sep 17 00:00:00 2001 +From 7dbf130c65ea6de31ca64b38b977e9a66075f9ac Mon Sep 17 00:00:00 2001 From: BabuSubashChandar C Date: Thu, 30 Mar 2017 20:17:27 +0530 -Subject: [PATCH 215/305] Add support for new clock rate and mute gpios. +Subject: [PATCH 215/333] Add support for new clock rate and mute gpios. Signed-off-by: Baswaraj K Reviewed-by: Deepak @@ -140751,10 +140751,10 @@ index c080e31065d99ab309ab3bdf41a44adfdd8f8039..203ab76c7045b081578e23bda1099dd1 } -From cfa12863b7ea4d5ad82a0a551f42a9e8aa14a96c Mon Sep 17 00:00:00 2001 +From a6f75191aa1bebedc19e6c6c1e28d647823346a1 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Sat, 1 Apr 2017 00:46:52 +0530 -Subject: [PATCH 216/305] Add clock changes and mute gpios (#1938) +Subject: [PATCH 216/333] Add clock changes and mute gpios (#1938) Also improve code style and adhere to ALSA coding conventions. @@ -141447,10 +141447,10 @@ index f66f42abadbd5f9d3fe000676e8297ed91630e47..56e43f98846b41e487b3089813f7edc3 } -From eb23d4530014d2c301397098d09b614ad90d81d9 Mon Sep 17 00:00:00 2001 +From 5fc4b4ac34cd4f042beb5cf91db9fbcd9f044a50 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 4 Apr 2017 19:20:59 +1000 -Subject: [PATCH 217/305] Audioinjector : make the octo and pi sound cards have +Subject: [PATCH 217/333] Audioinjector : make the octo and pi sound cards have different driver names This patch gives the audioinjector octo and pi soundcards different driver @@ -141487,10 +141487,10 @@ index ef54e0f07ea03f59e9957b5d98f3e7fdc998e469..491906bbf446826e55dd843f28e4860f .of_match_table = audioinjector_pi_soundcard_of_match, }, -From 3ebed4e5ae9d4e4e01df37c4b4757ad7ec556782 Mon Sep 17 00:00:00 2001 +From 8577e94dbbee07d8d6e6e92c0e7370f2fce96d2f Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 4 Apr 2017 19:23:04 +1000 -Subject: [PATCH 218/305] Audioinjector octo : Make the playback and capture +Subject: [PATCH 218/333] Audioinjector octo : Make the playback and capture symmetric This patch ensures that the sample rate and channel count of the audioinjector @@ -141513,10 +141513,10 @@ index 49115c8e20ce1a2ba5a99feb8983a1cafb052ca2..5e79f4eff93a21ed3495c77a90f73525 }; -From 482e38ce75d024c03f6f9cda4b07b2704d19962b Mon Sep 17 00:00:00 2001 +From 5c3231046e2c7979ae0f94729d8ca30fda432970 Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 219/305] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 219/333] 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. @@ -157648,10 +157648,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From f6736cbc445f2d60c9dca0c061715906cce4d329 Mon Sep 17 00:00:00 2001 +From f10bef2eff7dd0b98a90228a9f46f42a5fdbfbdf Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Thu, 22 Dec 2016 15:34:12 +0900 -Subject: [PATCH 220/305] BCM2708: Add Raspberry Pi TV HAT Device Tree Support +Subject: [PATCH 220/333] BCM2708: Add Raspberry Pi TV HAT Device Tree Support This is an EXAMPLE CODE of Raspberry Pi TV HAT device tree overlay. Although this is not a part of our release code, it has been used to verify @@ -157747,10 +157747,10 @@ index 0000000000000000000000000000000000000000..a68f6f793d8efd8b2e2adf9f2fb6426f + +}; -From c101af35720cf2a697c17ba245c5b22b7a4679f8 Mon Sep 17 00:00:00 2001 +From 607f0c1c019d629d3d179e6b824aef2ec0aa8418 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 7 Mar 2017 14:51:03 -0800 -Subject: [PATCH 221/305] drm/vc4: Allow using more than 256MB of CMA memory. +Subject: [PATCH 221/333] drm/vc4: Allow using more than 256MB of CMA memory. Until now, we've had to limit Raspberry Pi to 256MB of CMA memory to keep from triggering the hardware addressing bug between of the tile @@ -158235,10 +158235,10 @@ index 9fd171c361c23b52a4d507919ec7e26fd1e87aac..59d808e2a6cc6f3173b1309cc4f49109 return 0; } -From 06e527d86a6359405901fd7fb682d478ca5ce451 Mon Sep 17 00:00:00 2001 +From 94286792225e974e8667b6febc8f7cb684b3e48a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 30 Mar 2017 10:23:27 -0700 -Subject: [PATCH 222/305] Revert "drm/vc4: Verify at boot that CMA doesn't +Subject: [PATCH 222/333] Revert "drm/vc4: Verify at boot that CMA doesn't cross a 256MB boundary." This reverts commit 016c804fa69381bd23a1a13cba08a3c4557fcdff. The @@ -158319,10 +158319,10 @@ index b50245282a18bc790da0f901944c2e670ffac2d2..c960459eda7e640ea55be1d4ed80c6a9 static unsigned long cma_bitmap_aligned_mask(const struct cma *cma, int align_order) -From 88921924d479d4cae78c3a6e5dc6d4ca238715a6 Mon Sep 17 00:00:00 2001 +From 33ced544c3e7f483edc8dce3eb1afb14aaad056e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 27 Feb 2017 12:28:02 -0800 -Subject: [PATCH 223/305] drm/vc4: Add HDMI audio support +Subject: [PATCH 223/333] drm/vc4: Add HDMI audio support The HDMI encoder IP embeds all needed blocks to output audio, with a custom DAI called MAI moving audio between the two parts of the HDMI @@ -159091,10 +159091,10 @@ index 385405a2df05eb3dd86d4f687aa8205331bec3cc..932093936178674173a84002b33e07e9 #define VC4_HD_VID_CTL 0x038 # define VC4_HD_VID_CTL_ENABLE BIT(31) -From 4e8ca7d531bcb9c18c3a684f5aebbefb76242af6 Mon Sep 17 00:00:00 2001 +From 9d11289f04b7dc30f9bfa9f09f0d3531d0ba3656 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 2 Feb 2017 11:37:36 +0100 -Subject: [PATCH 224/305] ARM: dts: bcm283x: Add HDMI audio related properties +Subject: [PATCH 224/333] ARM: dts: bcm283x: Add HDMI audio related properties Add the dmas and dma-names properties to support HDMI audio. @@ -159119,10 +159119,10 @@ index 348c71bbc913644c04bab43fcb95abe9b6c9c640..7d58cd79ac6bd99f0b47a909ac827c61 }; -From be7726f5eb345ff0fe1dd229a9177551f934c36d Mon Sep 17 00:00:00 2001 +From 36ad9d32063f6be517c1e56b1c974206a09738bd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Apr 2017 17:52:56 -0700 -Subject: [PATCH 225/305] panel-raspberrypi-touchscreen: Fix NULL deref if +Subject: [PATCH 225/333] panel-raspberrypi-touchscreen: Fix NULL deref if probe order goes wrong. If the i2c driver hadn't pobed before the panel driver probes, then @@ -159149,10 +159149,10 @@ index 7f315f04b109621ca7f3861fdd8acf956e752629..b57b7ad9aa4c5048186e98553af59ec9 } -From ec8fcfa9cfe40b5ccefdd2946c09f2e1628d838e Mon Sep 17 00:00:00 2001 +From 485bf1413d951f2e5141ee39ed63e045a7b8996c Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Wed, 19 Apr 2017 09:59:21 -0700 -Subject: [PATCH 226/305] smsc75xx: use skb_cow_head() to deal with cloned skbs +Subject: [PATCH 226/333] smsc75xx: use skb_cow_head() to deal with cloned skbs We need to ensure there is enough headroom to push extra header, but we also need to check if we are allowed to change headers. @@ -159188,10 +159188,10 @@ index 9af9799935dbbd4baed06eb03402803e0ce8d9c8..4cb9b11a545a9572ab6d248742ec5abe tx_cmd_a = (u32)(skb->len & TX_CMD_A_LEN) | TX_CMD_A_FCS; -From 5dc8bc82994dfdd5946d43c5654c6a66590096fe Mon Sep 17 00:00:00 2001 +From 30d950cc2e0f40dad19d782d1bf619cca0955004 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Wed, 19 Apr 2017 11:13:40 +0100 -Subject: [PATCH 227/305] smsc95xx: Use skb_cow_head to deal with cloned skbs +Subject: [PATCH 227/333] smsc95xx: Use skb_cow_head to deal with cloned skbs The driver was failing to check that the SKB wasn't cloned before adding checksum data. @@ -159231,10 +159231,10 @@ index df60c989fc229bf0aab3c27e95ccd45323367840..f6661e388f6e801c1b88e48a3b71407b if (csum) { -From 339ba44d0abb66b6290fca8bae42fdcb73b319b7 Mon Sep 17 00:00:00 2001 +From abeb1310d7753fdd401c8369e8f2bfa8e3f4c366 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 23 Apr 2017 19:36:53 +0100 -Subject: [PATCH 228/305] BCM270X_DT: Add bme280 and bmp180 to i2c-sensor +Subject: [PATCH 228/333] BCM270X_DT: Add bme280 and bmp180 to i2c-sensor overlay Signed-off-by: Phil Elwell @@ -159308,10 +159308,10 @@ index 606b2d5012abf2e85712be631c42ea40a0b512c5..e23e34b32a0a8927c14203d7384e8008 lm75 = <&lm75>,"status"; lm75addr = <&lm75>,"reg:0"; -From 6399697afb20d138662a2c4f45f52df77a969160 Mon Sep 17 00:00:00 2001 +From 7eb319e3ce8ffe48add486232552ba8c81020e57 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 23 Apr 2017 19:38:06 +0100 -Subject: [PATCH 229/305] config: Add CONFIG_BMP280 (and CONFIG_BMP280_I2C) +Subject: [PATCH 229/333] config: Add CONFIG_BMP280 (and CONFIG_BMP280_I2C) Signed-off-by: Phil Elwell --- @@ -159396,10 +159396,10 @@ index fd535ff21e7dab6717eb61f1b966b7d92791ec8d..7948b445f1232064dea01273393f3e3b CONFIG_PWM_PCA9685=m CONFIG_RASPBERRYPI_FIRMWARE=y -From cebc7ddfe5e162584f93677dc7edc0ba266714f0 Mon Sep 17 00:00:00 2001 +From 794046ee5fc5daf16a2f6f1c1352865467a0ce2a Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Tue, 25 Apr 2017 10:46:09 -0400 -Subject: [PATCH 230/305] config: Enable TI TMP102 temp sensor module +Subject: [PATCH 230/333] config: Enable TI TMP102 temp sensor module Signed-off-by: Scott Ellis --- @@ -159432,10 +159432,10 @@ index 7948b445f1232064dea01273393f3e3b135b4576..a338c313de9e9db3a338d066b5fad989 CONFIG_THERMAL_BCM2835=y CONFIG_WATCHDOG=y -From f94d7347e407f7f513887eba3167414e21f3fcdb Mon Sep 17 00:00:00 2001 +From 2d103a546fe00ad26eb82b2b444c6218b867efc8 Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Tue, 25 Apr 2017 13:05:42 -0400 -Subject: [PATCH 231/305] BCM270X_DT: Add tmp102 to i2c sensor overlay +Subject: [PATCH 231/333] BCM270X_DT: Add tmp102 to i2c sensor overlay Signed-off-by: Scott Ellis --- @@ -159515,10 +159515,10 @@ index e23e34b32a0a8927c14203d7384e800878627347..e86a13f92c3f75c14fa4425cdfb081d6 }; }; -From 0f03a9eadfec0fc66365e8cb53a9d169f570f392 Mon Sep 17 00:00:00 2001 +From d2073302b71f082d072dc3573bc6ad6ef2a15626 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 26 Apr 2017 16:51:48 +0100 -Subject: [PATCH 232/305] dwc_otg: Add the dependency on FIQ +Subject: [PATCH 232/333] dwc_otg: Add the dependency on FIQ Signed-off-by: popcornmix --- @@ -159539,10 +159539,10 @@ index f17b939c149562527937f49d90e23c7ab8b72328..5a5f6c925f43147082dcfaab15f9e05e The Synopsis DWC controller is a dual-role host/peripheral/OTG ("On The Go") USB controllers. -From 8d6000ef2b4d05c200209be892e5c7ef0ffc7e96 Mon Sep 17 00:00:00 2001 +From d166c5b1310fb61274ed459910f7ad3ae196bef7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 26 Apr 2017 17:28:47 +0100 -Subject: [PATCH 233/305] clk: bcm2835: Limit PCM clock to OSC and PLLD_PER +Subject: [PATCH 233/333] clk: bcm2835: Limit PCM clock to OSC and PLLD_PER It is unwise to use sources other than the oscillator and PLLD_PER for the PCM peripheral (and perhaps others - TBD) because their rate can @@ -159587,10 +159587,10 @@ index fe3298b54cdfb96bd90fb4f39e13921d2e1d4356..c24b4defb2b046e4ecdc109befc2b224 [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( .name = "pwm", -From 2c40231160da1f20d2f3a4ea03a4e3a1f973d6eb Mon Sep 17 00:00:00 2001 +From f79983ec34d4d14531ad1a40bd2ff7c895f17e69 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 27 Apr 2017 16:24:34 +0100 -Subject: [PATCH 234/305] dwc_otg: make nak_holdoff work as intended with empty +Subject: [PATCH 234/333] dwc_otg: make nak_holdoff work as intended with empty queues If URBs reading from non-periodic split endpoints were dequeued and @@ -159674,10 +159674,10 @@ index c2dff94e8e6edd22e4427aaa1eac7aad972cb6bd..85a6d431ca54b47dc10573aa72d1ad69 } else { uint16_t frame_number = dwc_otg_hcd_get_frame_number(hcd); -From b0610522d07c08d3ab1852beb7b4ef17b3119531 Mon Sep 17 00:00:00 2001 +From 168712958e11c0ffc26bc73e35ce7cb3a998013b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 235/305] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH 235/333] vc4_fkms: Apply firmware overscan offset to hardware cursor --- @@ -159734,10 +159734,10 @@ index da818a207bfa639b8cea48d94bcf4566f97db816..943cbb38f1f2e6fc7c06870be7904677 return 0; -From 9e33ea0d490b3a2ede6fa9227465b34a18617312 Mon Sep 17 00:00:00 2001 +From 1bf8e2758d4dcbb83975c3f95d8a5a6a8c4b88ed Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 2 May 2017 16:31:15 +0100 -Subject: [PATCH 236/305] dwc_otg: fix split transaction data toggle handling +Subject: [PATCH 236/333] dwc_otg: fix split transaction data toggle handling around dequeues See https://github.com/raspberrypi/linux/issues/1709 @@ -159825,10 +159825,10 @@ index 608e036be2c9484465ab836de70129335d3d2d96..718a1accc0c219a1764ce53d291de6a2 } qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list); -From 5a52a93c6e26d04f672ec91d7b58e3f917c3066d Mon Sep 17 00:00:00 2001 +From 16357db27f7861f74415d9611872e2013ab213e6 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 4 May 2017 14:56:08 +0100 -Subject: [PATCH 237/305] fiq_fsm: Use correct states when starting isoc OUT +Subject: [PATCH 237/333] fiq_fsm: Use correct states when starting isoc OUT transfers (#1991) * fiq_fsm: Use correct states when starting isoc OUT transfers @@ -159867,10 +159867,10 @@ index 9304279592cb5b388086ef91cb52f1e9f94868ce..208252645c09d1d17bf07673989f91b7 break; } -From 6733150f9d6ec93c636a65c258a84d855764885c Mon Sep 17 00:00:00 2001 +From 9ae64a039d82cfacca5ce5f6e3e961258f250a67 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 2 May 2017 16:36:05 +0100 -Subject: [PATCH 238/305] vcsm: Treat EBUSY as success rather than SIGBUS +Subject: [PATCH 238/333] vcsm: Treat EBUSY as success rather than SIGBUS Currently if two cores access the same page concurrently one will return VM_FAULT_NOPAGE and the other VM_FAULT_SIGBUS crashing the user code. @@ -159908,10 +159908,10 @@ index 1db6716c2c0c8b2013203391501f92d09db258af..ee4e05948c439a9045e0b65566d57587 } } -From 7cdea4f7af4b010f73a9ca37871cb05820776845 Mon Sep 17 00:00:00 2001 +From 21bf125fd837fff80bc28ffaa5152e7ed4dbddf0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 4 May 2017 17:38:22 +0100 -Subject: [PATCH 239/305] bcm2708_fb: Avoid firmware mbox call in vc_mem_copy +Subject: [PATCH 239/333] bcm2708_fb: Avoid firmware mbox call in vc_mem_copy If firmware has locked up it is useful to get vcdbg log out without a firmware mbox response. Issue the mbox call at probe time instead. @@ -159975,10 +159975,10 @@ index 53c5a0bdadb4be9251affdabed66305842a08e72..612293cf9f1bd93ad2f2aefdd7ca0f5e if (ret == 0) { platform_set_drvdata(dev, fb); -From 3957edf63b084c54c5bdedfbbe299f0a1677757d Mon Sep 17 00:00:00 2001 +From 3e176540405995d25f98c12a46bc16422ac2827a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 5 May 2017 13:23:10 +0100 -Subject: [PATCH 240/305] Revert "serial: 8250: Don't crash when nr_uarts is 0" +Subject: [PATCH 240/333] Revert "serial: 8250: Don't crash when nr_uarts is 0" This reverts commit 9c297d9ebd0d8c6d5e6e8675d527d6a221613abc. --- @@ -159999,10 +159999,10 @@ index cf9c7d2e3f95e1a19410247a89c2e49c1a2747a8..e8819aa20415603c80547e382838a8fa for (i = 0; i < nr_uarts; i++) { struct uart_8250_port *up = &serial8250_ports[i]; -From 2543c750c26e61704d5c5d6269ac59944388d770 Mon Sep 17 00:00:00 2001 +From ab94260ae25bcc9733808c68cc4869bbe1fc8439 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:30:18 +0100 -Subject: [PATCH 241/305] ARM: dts: bcm283x: Reserve first page for firmware +Subject: [PATCH 241/333] ARM: dts: bcm283x: Reserve first page for firmware The Raspberry Pi startup stub files for multi-core BCM27XX processors make the secondary CPUs spin until the corresponding mailbox is @@ -160049,10 +160049,10 @@ index 7d58cd79ac6bd99f0b47a909ac827c61aac642d9..0bc1932cde435bd151ffc2364bca5cd9 * bcm2835 and bcm2836 implementations, leaving the CPU configuration to * bcm2835.dtsi and bcm2836.dtsi. -From 7eff299716f5658789ba463a2dc3c0a9ebf0b527 Mon Sep 17 00:00:00 2001 +From 0d3cc0ca8989d95c86fcffee944d797e3091533c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:43:40 +0100 -Subject: [PATCH 242/305] irq_bcm2836: Send event when onlining sleeping cores +Subject: [PATCH 242/333] 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 @@ -160088,10 +160088,10 @@ index e10597c1a1e51e5e27aa574b6a26d87181f26221..6dccdf94f6f3b4c6a3f6cb1cae5a6ab2 } -From a0d47f428b18b51172bf3db46c4813653f8c5edc Mon Sep 17 00:00:00 2001 +From 2e4f49e37bf452002579128fef17de082b1e0891 Mon Sep 17 00:00:00 2001 From: Nisar Sayed Date: Tue, 9 May 2017 18:51:42 +0100 -Subject: [PATCH 243/305] According to RFC 2460, IPv6 UDP calculated checksum +Subject: [PATCH 243/333] According to RFC 2460, IPv6 UDP calculated checksum yields a result of zero must be changed to 0xffff, however this feature is not supported by smsc95xx family hence enable csum offload only for IPv4 TCP/UDP packets. @@ -160136,10 +160136,10 @@ index f6661e388f6e801c1b88e48a3b71407bd70cf56e..b84e98508b5d97165b68dfc30240950e smsc95xx_init_mac_address(dev); -From 23df46b4bf493b334c0b5be1480e3b34c5dc3ad9 Mon Sep 17 00:00:00 2001 +From cc514e539451e24b14f28401e288d321be555b21 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 10 May 2017 12:47:46 +0100 -Subject: [PATCH 244/305] dwcotg: Allow to build without FIQ on ARM64 +Subject: [PATCH 244/333] dwcotg: Allow to build without FIQ on ARM64 Signed-off-by: popcornmix --- @@ -160160,10 +160160,10 @@ index 5a5f6c925f43147082dcfaab15f9e05ed966838c..c50476b3d72471faf94c280aab756599 The Synopsis DWC controller is a dual-role host/peripheral/OTG ("On The Go") USB controllers. -From 5c268166a7521080658e9609aa0e55a9d9ffb4b5 Mon Sep 17 00:00:00 2001 +From 9d1b844e6417a723fae56ac71d9eae775a698bc4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 May 2017 16:58:16 +0100 -Subject: [PATCH 245/305] BCM270X_DT: Tidy up mmc, sdhost, sdio overlays +Subject: [PATCH 245/333] BCM270X_DT: Tidy up mmc, sdhost, sdio overlays The mmc, sdhost, sdio and sdio-1bit overlays had a few anachronisms and oddities which were overdue for fixing. @@ -160272,10 +160272,10 @@ index 398bd812c716c9e472fbac5aba4fe882114c65d1..215d5e3e8a8ca4363457fed1f7425427 }; }; -From 490a73cd7c31efbf1f79f342e1ac178e74f55246 Mon Sep 17 00:00:00 2001 +From c840f59c62e330e6bd5a2d66f6f6a790e8438b5d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 May 2017 22:00:20 +0100 -Subject: [PATCH 246/305] SQUASH: BCM270X_DT: Fix typo in mmc overlay +Subject: [PATCH 246/333] SQUASH: BCM270X_DT: Fix typo in mmc overlay Signed-off-by: Phil Elwell --- @@ -160296,10 +160296,10 @@ index 64f1ff6684b19e76cfd00e6950919ac55227b44b..88251ad653917674f80c2975de2e425f }; }; -From ffefd34181cc1591c862298179df965083f1b455 Mon Sep 17 00:00:00 2001 +From 57ba5d357aaef5417c9108f3209931a03ae9fb44 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 12 May 2017 12:24:00 +0100 -Subject: [PATCH 247/305] dwc_otg: fix several potential crash sources +Subject: [PATCH 247/333] dwc_otg: fix several potential crash sources On root port disconnect events, the host driver state is cleared and in-progress host channels are forcibly stopped. This doesn't play @@ -160495,10 +160495,10 @@ index 718a1accc0c219a1764ce53d291de6a2b6f93608..cf23baaa388562b5843be4cfa6c206cb release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_URB_COMPLETE); break; -From 463a15bd951aeee9e3065756a89b2fb3482560a0 Mon Sep 17 00:00:00 2001 +From 76e694d0f9191daa78e9545ff38a3b00d4a20dce Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 15 May 2017 14:27:48 +0100 -Subject: [PATCH 248/305] dwc_otg: delete hcd->channel_lock +Subject: [PATCH 248/333] dwc_otg: delete hcd->channel_lock The lock serves no purpose as it is only held while the HCD spinlock is already being held. @@ -160650,10 +160650,10 @@ index cf23baaa388562b5843be4cfa6c206cbdc4e780d..a4355afc77b68718fdaba6c5d4be257d /* Try to queue more transfers now that there's a free channel. */ -From 112235c8ca7fe2d477c6da058705a4f0532c7266 Mon Sep 17 00:00:00 2001 +From b72dbc61685967882f1cd5d0922582866499b4de Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 15 May 2017 14:51:42 +0100 -Subject: [PATCH 249/305] dwc_otg: remove unnecessary dma-mode channel halts on +Subject: [PATCH 249/333] dwc_otg: remove unnecessary dma-mode channel halts on disconnect interrupt Host channels are already halted in kill_urbs_in_qh_list() with the @@ -160721,10 +160721,10 @@ index 5ec991624c7865901b22ea01b9f2c58c8535ecfd..a2dc6337836b2719f4c954edeeb2a713 if(fiq_enable) { -From 31ab4f56811854594c6f204fcb4d95952f48422f Mon Sep 17 00:00:00 2001 +From b3a893d51b1f2ac6861a4cf01e2e78b187b4ffa5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 15 May 2017 09:28:36 -0700 -Subject: [PATCH 250/305] drm/vc4: Mark the device as active when enabling +Subject: [PATCH 250/333] drm/vc4: Mark the device as active when enabling runtime PM. Failing to do so meant that we got a resume() callback on first use of @@ -160750,10 +160750,10 @@ index 882ec06225f1d5caca71bdb5c69664188192c2e2..77ed4ef3b8c8685a3cd8c871bbd249de pm_runtime_set_autosuspend_delay(dev, 40); /* a little over 2 frames. */ pm_runtime_enable(dev); -From daac5920226d6c880ae13cf13b0bfa583076c36d Mon Sep 17 00:00:00 2001 +From da1e4bc2d29b19304155cadd5a1cd1ac9eb6cb92 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 15 May 2017 11:35:13 -0700 -Subject: [PATCH 251/305] BCM270X: Drop position requirement for CMA in VC4 +Subject: [PATCH 251/333] BCM270X: Drop position requirement for CMA in VC4 overlay. No longer necessary since 2aefcd576195a739a7a256099571c9c4a401005f, @@ -160811,10 +160811,10 @@ index c57e795824e9261e0f60bcb40d6a57241019fd91..bf9395041face775d335177583e0b222 }; -From c907ae9c1dfc0cdf9cb40cfc76517834b7ea1d70 Mon Sep 17 00:00:00 2001 +From 0e6727de71632f70778e6fa5e2f123f15b4e462d Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Mon, 15 May 2017 16:55:56 +0200 -Subject: [PATCH 252/305] config: Add Goodix touch controller module +Subject: [PATCH 252/333] config: Add Goodix touch controller module Signed-off-by: Ahmet Inan --- @@ -160847,10 +160847,10 @@ index a338c313de9e9db3a338d066b5fad989f6ece1ad..c274e53142ce231819e6421df1257e8a CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m -From 1b676078a6e12f70317421b65203a45a9860fe44 Mon Sep 17 00:00:00 2001 +From 80fc0f5612459a1753987b256abb30751efb4296 Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Mon, 15 May 2017 17:10:53 +0200 -Subject: [PATCH 253/305] overlays: Add Goodix overlay +Subject: [PATCH 253/333] overlays: Add Goodix overlay Add support for I2C connected Goodix gt9271 multiple touch controller using GPIOs 4 and 17 (pins 7 and 11 on GPIO header) for interrupt and reset. @@ -160947,10 +160947,10 @@ index 0000000000000000000000000000000000000000..084f74042ed6379ebd9281374d5391a7 + }; +}; -From be5d9a800381ee60c446f628cd4c004066f031fc Mon Sep 17 00:00:00 2001 +From f17cd9d83cb354ecc84ee3e3070d4007ce286399 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 16 May 2017 16:55:36 +0100 -Subject: [PATCH 254/305] config: Drop CONFIG_TOUCHSCREEN_EKTF2127 +Subject: [PATCH 254/333] config: Drop CONFIG_TOUCHSCREEN_EKTF2127 --- arch/arm/configs/bcm2709_defconfig | 1 - @@ -160969,10 +160969,10 @@ index c4c5b42016e54d87b9f8f99354b164a0548980f7..fdd17f5625e889257e69c90a0679dc9b CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m -From b85241e64affe0446bcdcc4ba6bed0a2a734becf Mon Sep 17 00:00:00 2001 +From a9c0beafcd3f9ec2e971405780d54a5e8e200d64 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 16 May 2017 15:58:00 +0100 -Subject: [PATCH 255/305] config: Add CONFIG_TOUCHSCREEN_EDT_FT5X06 +Subject: [PATCH 255/333] config: Add CONFIG_TOUCHSCREEN_EDT_FT5X06 --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -161004,10 +161004,10 @@ index c274e53142ce231819e6421df1257e8a3544fd94..d50e88455b4ba5a891a47c2416a09f94 CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m -From 48012ce823f271c6e805ce578f32aa9ec2d4997a Mon Sep 17 00:00:00 2001 +From b51aec114d4f2affb21ea94532f3511f7c1fe6e1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 16 May 2017 19:34:52 +0100 -Subject: [PATCH 256/305] config: Add CONFIG_I2C_ROBOTFUZZ_OSIF +Subject: [PATCH 256/333] config: Add CONFIG_I2C_ROBOTFUZZ_OSIF --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -161039,10 +161039,10 @@ index d50e88455b4ba5a891a47c2416a09f9402435b90..9699c93fbb6934b3fded4704316f1ad4 CONFIG_SPI_BCM2835=m CONFIG_SPI_BCM2835AUX=m -From 19d58ad1708adb37981d8d8c4985037661306bb4 Mon Sep 17 00:00:00 2001 +From 685081d8ac8e82071ead3a59dee070fdae2fb7bd Mon Sep 17 00:00:00 2001 From: chenzhiwo Date: Wed, 17 May 2017 16:34:57 +0800 -Subject: [PATCH 257/305] Add device tree overlay for GPIO connected rotary +Subject: [PATCH 257/333] Add device tree overlay for GPIO connected rotary encoder. See Documentation/input/rotary-encoder.txt for more information. --- @@ -161134,10 +161134,10 @@ index 0000000000000000000000000000000000000000..c0c6bccff60cc15d9a9bf59d2c7cba41 + }; +}; -From 8ec8edc1fd98ddb21846c8dd5235ccb3ad68928a Mon Sep 17 00:00:00 2001 +From ce77df08f9a2ccf10ff7dd1b90b4c5f7c767e287 Mon Sep 17 00:00:00 2001 From: Ed Blake Date: Thu, 10 Nov 2016 18:07:54 +0000 -Subject: [PATCH 258/305] serial: 8250: Add IrDA to UART capabilities +Subject: [PATCH 258/333] serial: 8250: Add IrDA to UART capabilities commit 98838d95075a5295f3478ceba18bcccf472e30f4 upstream. @@ -161218,10 +161218,10 @@ index 48ec7651989b093fc015e44b59657c7000e11012..04185e03d7bec56197cb765377320044 #endif -From f11b6a3d4dea9a821bad6e0fc2ee7f5c083384ed Mon Sep 17 00:00:00 2001 +From eb5caa4dadecd01d73c9f1172cb315fe2f265eae Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 19 May 2017 15:07:27 +0100 -Subject: [PATCH 259/305] serial: 8250: Add CAP_MINI, set for bcm2835aux +Subject: [PATCH 259/333] serial: 8250: Add CAP_MINI, set for bcm2835aux The AUX/mini-UART in the BCM2835 family of procesors is a cut-down 8250 clone. In particular it is lacking support for the following @@ -161290,10 +161290,10 @@ index f24d3030b98c8d7543ac52e3ebadc65ecfe745ee..2d7a63f69b90415d6e1b6eb1c10612f4 baud = serial8250_get_baud_rate(port, termios, old); -From a3d7fd03b3e8e2aad38b2a16546c168972bcf25f Mon Sep 17 00:00:00 2001 +From f7bae75b97c5d87eae36628d61b365e3b49fb539 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 18 May 2017 11:40:43 +0100 -Subject: [PATCH 260/305] config: Add FB_TFT_ST7789V module +Subject: [PATCH 260/333] config: Add FB_TFT_ST7789V module --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -161325,10 +161325,10 @@ index 9699c93fbb6934b3fded4704316f1ad4c4a639d6..b4554044aad7faabd4db57a87c11dba8 CONFIG_FB_TFT_TLS8204=m CONFIG_FB_TFT_UC1701=m -From 0347406f27599b9d64ab3751f3fbb9aecd3b1016 Mon Sep 17 00:00:00 2001 +From dcf10f9971cf2ee34d93953b03236d1a2b2986ac Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Tue, 18 Mar 2014 23:33:27 +0000 -Subject: [PATCH 261/305] usb/serial/ch341: Add parity support +Subject: [PATCH 261/333] usb/serial/ch341: Add parity support Based on wireshark packet traces from a windows machine. @@ -161393,10 +161393,10 @@ index e98590aab633cd6491f2886842179d314ded5fe6..4f25aba5bdfcabe7304b18860be85275 if (C_BAUD(tty) == B0) priv->line_control &= ~(CH341_BIT_DTR | CH341_BIT_RTS); -From 10eeb1be0aee5ae942462976cb7959c7280aba93 Mon Sep 17 00:00:00 2001 +From 07b2abebb614d1152ff82aca23d414dcac0d0cd4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 20 May 2017 22:10:14 +0100 -Subject: [PATCH 262/305] overlays: README: remove vestigial SDIO parameters +Subject: [PATCH 262/333] overlays: README: remove vestigial SDIO parameters Signed-off-by: Phil Elwell --- @@ -161450,10 +161450,10 @@ index 95600381448b0b485dbbbeb592ae1e82a8acec08..d5aebbe2d514c07c0fae72f80173c086 (default on: polling once at boot-time) -From b04d8e1044a9bc05fcd14fd0c1ec2a7c5f59a904 Mon Sep 17 00:00:00 2001 +From 2108434163690dc2cc2061bab350d60133f348e6 Mon Sep 17 00:00:00 2001 From: Liviu Dudau Date: Wed, 1 Mar 2017 12:26:28 +0000 -Subject: [PATCH 263/305] ASoC: TLV320AIC23: Unquote NULL from control name +Subject: [PATCH 263/333] ASoC: TLV320AIC23: Unquote NULL from control name commit a03faba972cb0f9b3a46d8054e674d5492e06c38 upstream. @@ -161494,10 +161494,10 @@ index 410cae0f2060474313872d6b9110bf05d3368e43..628a8eeaab689eb85b6d3dba54ec5a98 /* input mux */ {"Capture Source", "Line", "Line Input"}, -From 37e50f264a8297bc649337a871d4d101b4e73951 Mon Sep 17 00:00:00 2001 +From 4287c82bb88f5d3058b98197b8c7ad962d990518 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 May 2017 15:28:27 +0100 -Subject: [PATCH 264/305] config: Add CONFIG_IPV6_ROUTE_INFO +Subject: [PATCH 264/333] config: Add CONFIG_IPV6_ROUTE_INFO --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -161529,10 +161529,10 @@ index b4554044aad7faabd4db57a87c11dba8e088d7d4..d92392cbdfa6b76184bf22da7c69ecb0 CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m -From e40dd8c0c847874d396f72753709365de9f459f6 Mon Sep 17 00:00:00 2001 +From 4cdd20852cf6846415befdab805c4dc8e2b3073d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 May 2017 13:35:28 +0100 -Subject: [PATCH 265/305] config: Add CONFIG_IPV6_SIT_6RD +Subject: [PATCH 265/333] config: Add CONFIG_IPV6_SIT_6RD --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -161564,10 +161564,10 @@ index d92392cbdfa6b76184bf22da7c69ecb09ffdc842..65f16f4f64dd7ad9e9d4a337ec64d769 CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y -From 359bf250157840153dbafffb543bc5bd24ece1bf Mon Sep 17 00:00:00 2001 +From 46e2963b6b6cb7631fa47dca146577a967fbf906 Mon Sep 17 00:00:00 2001 From: Anton Onishchenko Date: Tue, 23 May 2017 18:55:46 +0300 -Subject: [PATCH 266/305] mpu6050 device tree overlay (#2031) +Subject: [PATCH 266/333] mpu6050 device tree overlay (#2031) Add overlay and config options for InvenSense MPU6050 6-axis motion detector. @@ -161682,10 +161682,10 @@ index 65f16f4f64dd7ad9e9d4a337ec64d769bbff2bee..442eb48d4cb418d596e0dbad4bf0742d CONFIG_PWM_BCM2835=m CONFIG_PWM_PCA9685=m -From 11605abeb458d621455e30d59262b4275d13e648 Mon Sep 17 00:00:00 2001 +From a34daf1b62d42a19b883e1c6f9c0b216f4fca580 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 22 May 2017 13:56:41 +0100 -Subject: [PATCH 267/305] clk: bcm2835: Minimise clock jitter for PCM clock +Subject: [PATCH 267/333] clk: bcm2835: Minimise clock jitter for PCM clock Fractional clock dividers generate accurate average frequencies but with jitter, particularly when the integer divisor is small. @@ -161810,10 +161810,10 @@ index c24b4defb2b046e4ecdc109befc2b22497060647..db3ba74acf78f4dfec0d2206b58bc7c3 .tcnt_mux = 23), [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( -From bc7652be6fbd93e460c8de2f7411d70dca9f2287 Mon Sep 17 00:00:00 2001 +From e3e4efa9924fe7dc0415bb220abff5917dc35899 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 24 May 2017 18:06:02 +0100 -Subject: [PATCH 268/305] Revert "hid: Reduce default mouse polling interval to +Subject: [PATCH 268/333] Revert "hid: Reduce default mouse polling interval to 60Hz" This reverts commit b45c0448b60d691508251cdccf242ea43bbabb14. @@ -161850,10 +161850,10 @@ index 4a7af9d0b910f59d17421ce14138400dfd5834f3..ae83af649a607f67239f1a64bf45dd4b ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { -From 50be44a48e60fb53d94746c9f6153683f868a1a5 Mon Sep 17 00:00:00 2001 +From 93230aa606fb581f583513f775372e1d6ee4f5a6 Mon Sep 17 00:00:00 2001 From: Tobias Jakobi Date: Sat, 25 Feb 2017 20:27:27 +0100 -Subject: [PATCH 269/305] HID: usbhid: extend polling interval configuration to +Subject: [PATCH 269/333] HID: usbhid: extend polling interval configuration to joysticks For mouse devices we can currently change the polling interval @@ -161922,10 +161922,10 @@ index ae83af649a607f67239f1a64bf45dd4b5770cc7d..f7a692f9e50cdc80ebebab1ea260cde2 ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { -From 600845fe2736cede780074bc674046b88d24bcec Mon Sep 17 00:00:00 2001 +From 7801e65c2b98efe75cd9f68da5ee5d1ec0c40305 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 270/305] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 270/333] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -161957,10 +161957,10 @@ index f7a692f9e50cdc80ebebab1ea260cde29b32d147..dbe506d3ceecb6d47e21f060d0bbac2b break; case HID_GD_JOYSTICK: -From cb08472f4ee59309cad227a3c8df76a473c65670 Mon Sep 17 00:00:00 2001 +From 05e0ab348409d7c24fdc3c37579ec0847c53b1f8 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 25 May 2017 16:04:53 +0100 -Subject: [PATCH 271/305] dwc_otg: make periodic scheduling behave properly for +Subject: [PATCH 271/333] dwc_otg: make periodic scheduling behave properly for FS buses If the root port is in full-speed mode, transfer times at 12mbit/s @@ -162131,10 +162131,10 @@ index 85a6d431ca54b47dc10573aa72d1ad69d06f2e36..4b1dd9de99e9e08b2e006fb5f8a7ef92 status = check_max_xfer_size(hcd, qh); if (status) { -From bad5a9beb71519961754efc15579463a04752c70 Mon Sep 17 00:00:00 2001 +From fd4c4da43248f7bb2f1a590bc4b8583eaeb0e3fe Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 31 May 2017 09:33:55 +0100 -Subject: [PATCH 272/305] config: Adding SENSOR_JC42 +Subject: [PATCH 272/333] config: Adding SENSOR_JC42 The jc42 module supports a number of I2C-based temperature sensor modules. @@ -162190,10 +162190,10 @@ index 442eb48d4cb418d596e0dbad4bf0742d9e8e80b0..9dc64f7985cc1f91952ea382fac7920e CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHTC1=m -From d40d6afc796dbe38fe266d6cbd6e80fe5cf495d8 Mon Sep 17 00:00:00 2001 +From 24ab2aea1f6d4b40d377ee0929a517fbb7e04432 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 31 May 2017 15:27:39 +0100 -Subject: [PATCH 273/305] BCM270X_DT: Improve i2c-sensor and i2c-rtc overlay +Subject: [PATCH 273/333] BCM270X_DT: Improve i2c-sensor and i2c-rtc overlay Use the "__dormant__" feature to permit multiple instances of each overlay, which is more useful now that changing the "reg" property @@ -162554,10 +162554,10 @@ index e86a13f92c3f75c14fa4425cdfb081d6795ff76a..d2f0008addfadac8f6ed774a6e4f3f97 }; }; -From 24ae795e0ab2f8147423da4c14988ef01ba81743 Mon Sep 17 00:00:00 2001 +From 2bc599913046e69786fbc6f636661774705728c4 Mon Sep 17 00:00:00 2001 From: Stefan Tatschner Date: Mon, 29 May 2017 21:46:16 +0200 -Subject: [PATCH 274/305] Add device tree config for htu21 +Subject: [PATCH 274/333] Add device tree config for htu21 See: https://github.com/raspberrypi/linux/pull/2041 @@ -162639,10 +162639,10 @@ index d2f0008addfadac8f6ed774a6e4f3f97871c0d61..17c27e3b666a7a83619471b50c63bb93 }; }; -From 99a71a6c154986e69b25817d8eebd7688d0f1de6 Mon Sep 17 00:00:00 2001 +From a93908bf6c589d140eb36b8b4722393446340ed2 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 26 May 2017 12:50:31 +0100 -Subject: [PATCH 275/305] dwc_otg: fiq_fsm: Make isochronous compatibility +Subject: [PATCH 275/333] dwc_otg: fiq_fsm: Make isochronous compatibility checks work properly Get rid of the spammy printk and local pointer mangling. @@ -162706,10 +162706,10 @@ index 38bf5fc792d32352f9e208e0e90f968599b9bc31..71834cf365e67d7ad995bba7869216c4 return 1; } -From 4e7b343c8e589baf28430d197538821650983bad Mon Sep 17 00:00:00 2001 +From 2c08498a0bf124753fbc5753e080ebb9aa7c36f0 Mon Sep 17 00:00:00 2001 From: sandeepal Date: Fri, 2 Jun 2017 18:59:46 +0530 -Subject: [PATCH 276/305] Allo Digione Driver (#2048) +Subject: [PATCH 276/333] Allo Digione Driver (#2048) Driver for the Allo Digione soundcard --- @@ -163139,10 +163139,10 @@ index 0000000000000000000000000000000000000000..e3664e44c699d0102120ecf99e8b780a +MODULE_DESCRIPTION("ASoC Driver for Allo DigiOne"); +MODULE_LICENSE("GPL v2"); -From 27ca0234d2bcf6bebb336f6e4ff2f6117e3e25fa Mon Sep 17 00:00:00 2001 +From 1abd35c6c8bafe31da661ebb52fc9f2bd16127e9 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Fri, 28 Apr 2017 15:14:55 -0400 -Subject: [PATCH 277/305] cgroup_get() expected to be called only on live +Subject: [PATCH 277/333] cgroup_get() expected to be called only on live cgroups and triggers warning on a dead cgroup; however, cgroup_sk_alloc() may be called while cloning a socket which is left in an empty and removed cgroup and thus may legitimately duplicate its reference on a dead cgroup. This @@ -163278,10 +163278,10 @@ index e22af4287b4ba084a7cfe7b6fcbf28956796b113..84f45a33d69fc7f187cab1ee7374afe9 return; } -From a156fa530007d19880994f47d185148b495b87bc Mon Sep 17 00:00:00 2001 +From 266eb4bd80dbe16bcad8bfbe72688a1ac22c0ffd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 May 2017 13:03:41 +0100 -Subject: [PATCH 278/305] BCM270X_DT: Add midi-uart1 overlay +Subject: [PATCH 278/333] BCM270X_DT: Add midi-uart1 overlay Add a scaler to the ttyS0 clock so that requesting 38400 baud results in an approximately 31250 baud signal. This is analagous to @@ -163379,10 +163379,10 @@ index 0000000000000000000000000000000000000000..e0bc410acbff3a7a175dd5d53b3ab0d0 + }; +}; -From 0a0b11755a929dc43aa16385d482e5c412f787e9 Mon Sep 17 00:00:00 2001 +From 168e8203f307185abf2772430d9f64be5f115e64 Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 5 Jun 2017 16:40:38 +0100 -Subject: [PATCH 279/305] dma-bcm2708: Fix module compilation of +Subject: [PATCH 279/333] dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708 bcm2708-dmaengine.c defines functions like bcm_dma_start which are @@ -163425,10 +163425,10 @@ index c5bfff2765be4606077e6c8af73040ec13ee8974..6ca874d332a8bc666b1c9576ac51f479 #endif /* _PLAT_BCM2708_DMA_H */ -From 6ae8c6dc14d3662deadde5f5370f3fcd26eb6b73 Mon Sep 17 00:00:00 2001 +From 08c119c9441dd1858703eeb30567a04a62545455 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 7 Jun 2017 08:53:36 +0100 -Subject: [PATCH 280/305] overlays: Fix i2c-rtc order and fragment numbering +Subject: [PATCH 280/333] overlays: Fix i2c-rtc order and fragment numbering See: https://github.com/raspberrypi/linux/issues/2059 @@ -163479,10 +163479,10 @@ index b73f902289c8e52705665d8da6d0e904eeaaaf18..6140f172a86b8731782f938f76cb5dac }; }; -From 532e3156aa6ea5754f90474249b440fc3c4dc0bd Mon Sep 17 00:00:00 2001 +From d7dcd5bc22e547f1b50b07390ade818abc34636b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 5 Jun 2017 12:16:10 -0700 -Subject: [PATCH 281/305] drm/vc4: Add T-format scanout support. +Subject: [PATCH 281/333] drm/vc4: Add T-format scanout support. The T tiling format is what V3D uses for textures, with no raster support at all until later revisions of the hardware (and always at a @@ -163664,10 +163664,10 @@ index a5890bf44c0afa3b78d1cfa66308b097d1c38710..4fccf9b898b1242877362ca0be872478 } #endif -From a8d844ca3a3085a7cd2d8187b9e2856f50c25b8f Mon Sep 17 00:00:00 2001 +From 47ac4ecc4fe4d2e5f56ddceb591c2fbd911cd0de Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 5 Jun 2017 14:00:45 -0700 -Subject: [PATCH 282/305] drm/vc4: Add get/set tiling ioctls. +Subject: [PATCH 282/333] drm/vc4: Add get/set tiling ioctls. This allows mesa to set the tiling format for a BO and have that tiling format be respected by mesa on the other side of an @@ -163912,10 +163912,10 @@ index f07a090167261131076438960c1dec175d7d376e..6ac4c5c014cb9b98343f25721f74b727 } #endif -From 26d5ae3d4a282490696904a186aa12c98c6ef54c Mon Sep 17 00:00:00 2001 +From e41b6a52c61c4560dfe948039576235cf40a0bd9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 7 Jun 2017 14:39:49 -0700 -Subject: [PATCH 283/305] drm/vc4: Add FB modifier support to firmwarekms. +Subject: [PATCH 283/333] drm/vc4: Add FB modifier support to firmwarekms. Signed-off-by: Eric Anholt --- @@ -163946,10 +163946,10 @@ index 943cbb38f1f2e6fc7c06870be7904677e0a9c7a3..40a0cdc179ceabafb387724e1b835895 * set to nonzero, the configured pitch gets overwritten with * the previous pitch. So, to get the configured pitch -From 60be33928c5b79c21defe47cf6de96b348601f10 Mon Sep 17 00:00:00 2001 +From 64b3d330cbbcb4a1994ec149fce72eaab52c84c8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 12 Jun 2017 13:05:43 +0100 -Subject: [PATCH 284/305] config: Add CONFIG_CAN_GS_USB +Subject: [PATCH 284/333] config: Add CONFIG_CAN_GS_USB --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -163981,10 +163981,10 @@ index 372bfe1ca1fb638d78b1ece096ca1a8e5f5a13a8..83cfb1e8738bdb7ef3ee1502b9a64d65 CONFIG_IRLAN=m CONFIG_IRNET=m -From b0eaba9a38164cead5ad05fc384932ccb5e9573b Mon Sep 17 00:00:00 2001 +From fef954c6c6271140748c6a0bc82c33d546ca52ed Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 12 Jun 2017 16:10:03 +0100 -Subject: [PATCH 285/305] dwc_otg: add module parameter int_ep_interval_min +Subject: [PATCH 285/333] dwc_otg: add module parameter int_ep_interval_min Add a module parameter (defaulting to ignored) that clamps the polling rate of high-speed Interrupt endpoints to a minimum microframe interval. @@ -164066,10 +164066,10 @@ index 4b1dd9de99e9e08b2e006fb5f8a7ef92f20c2553..fe8e8f841f03660c2ad49ab8e66193be DWC_DEBUGPL(DBG_HCD, "DWC OTG HCD QH Initialized\n"); -From b248733d5e32dafa86c0bf7b9dcc3fb3d91c0ccc Mon Sep 17 00:00:00 2001 +From cf548216ee3abe5a06a07dade541763ec9c0a4c2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 13 Jun 2017 15:06:22 +0100 -Subject: [PATCH 286/305] Revert "drm/vc4: Add FB modifier support to +Subject: [PATCH 286/333] Revert "drm/vc4: Add FB modifier support to firmwarekms." This reverts commit 9183dfdbf2cb3ec8e981204847b345f7ab95662d. @@ -164101,10 +164101,10 @@ index 40a0cdc179ceabafb387724e1b835895fa3e2ca2..943cbb38f1f2e6fc7c06870be7904677 * set to nonzero, the configured pitch gets overwritten with * the previous pitch. So, to get the configured pitch -From 46be68eb92eed7df464b2974ff8ae5bee7c7a05b Mon Sep 17 00:00:00 2001 +From e377dfa9afce4e8eab425ca91f7af1fa90ae569f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 13 Jun 2017 15:06:24 +0100 -Subject: [PATCH 287/305] Revert "drm/vc4: Add get/set tiling ioctls." +Subject: [PATCH 287/333] Revert "drm/vc4: Add get/set tiling ioctls." This reverts commit 3ea95503a626b7e4157afa0745d11908546654b1. --- @@ -164344,10 +164344,10 @@ index 6ac4c5c014cb9b98343f25721f74b727a88f2bb5..f07a090167261131076438960c1dec17 } #endif -From 5a340c227213a85b63fc7a411d333a1e925b2546 Mon Sep 17 00:00:00 2001 +From c6253356f64fab7e34e34acc3023d251dfe547cc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 13 Jun 2017 15:06:25 +0100 -Subject: [PATCH 288/305] Revert "drm/vc4: Add T-format scanout support." +Subject: [PATCH 288/333] Revert "drm/vc4: Add T-format scanout support." This reverts commit 85e9ae254717d2e4a313945a465230a3102cad42. --- @@ -164504,10 +164504,10 @@ index 4fccf9b898b1242877362ca0be872478c1f0ec8d..a5890bf44c0afa3b78d1cfa66308b097 } #endif -From 5bf833343957e53f3c74386124def88931fcb15b Mon Sep 17 00:00:00 2001 +From e327b551f367198a23f6f6553e34b5031b7198b6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 5 Jun 2017 12:16:10 -0700 -Subject: [PATCH 289/305] drm/vc4: Add T-format scanout support. +Subject: [PATCH 289/333] drm/vc4: Add T-format scanout support. The T tiling format is what V3D uses for textures, with no raster support at all until later revisions of the hardware (and always at a @@ -164689,10 +164689,10 @@ index a5890bf44c0afa3b78d1cfa66308b097d1c38710..4fccf9b898b1242877362ca0be872478 } #endif -From 159aa96f948a1f52a4e88cf61ca2c8f053f7e149 Mon Sep 17 00:00:00 2001 +From 764f61666360ac1a2604fc875d9fa232b2a8f1f1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 5 Jun 2017 14:00:45 -0700 -Subject: [PATCH 290/305] drm/vc4: Add get/set tiling ioctls. +Subject: [PATCH 290/333] drm/vc4: Add get/set tiling ioctls. This allows mesa to set the tiling format for a BO and have that tiling format be respected by mesa on the other side of an @@ -164937,10 +164937,10 @@ index f07a090167261131076438960c1dec175d7d376e..6ac4c5c014cb9b98343f25721f74b727 } #endif -From 567afa31d5e52d04d094a70bee991d78b36334e6 Mon Sep 17 00:00:00 2001 +From 74897a8bf790f6fac28ba1400ad4313cdc0a2757 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 7 Jun 2017 14:39:49 -0700 -Subject: [PATCH 291/305] drm/vc4: Add FB modifier support to firmwarekms. +Subject: [PATCH 291/333] drm/vc4: Add FB modifier support to firmwarekms. Signed-off-by: Eric Anholt --- @@ -164971,10 +164971,10 @@ index 943cbb38f1f2e6fc7c06870be7904677e0a9c7a3..40a0cdc179ceabafb387724e1b835895 * set to nonzero, the configured pitch gets overwritten with * the previous pitch. So, to get the configured pitch -From 2194d686cc9236aaf8509148e90c955b425f4ee1 Mon Sep 17 00:00:00 2001 +From 741369600330784321f1f924ad5ba041789fecc9 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Fri, 6 Jan 2017 19:15:23 +0100 -Subject: [PATCH 292/305] USB: serial: ch341: change initial line-control +Subject: [PATCH 292/333] USB: serial: ch341: change initial line-control settings commit 7c61b0d5e82bfe29b8dda55745afbf65b6ccc901 upstream. @@ -165306,10 +165306,10 @@ index 4f25aba5bdfcabe7304b18860be8527587390467..b27593a02734a1def9412e848c91feb5 return usb_serial_generic_resume(serial); -From 9e381fa0502e45e35fed132290b5d9c859c47d38 Mon Sep 17 00:00:00 2001 +From 50c672324f2051d72d40391bcfd35517361f70ea Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 20 Jun 2017 13:44:01 +0100 -Subject: [PATCH 293/305] dwc_otg: fiq_fsm: Add non-periodic TT exclusivity +Subject: [PATCH 293/333] dwc_otg: fiq_fsm: Add non-periodic TT exclusivity constraints Certain hub types do not discriminate between pipe direction (IN or OUT) @@ -165476,10 +165476,10 @@ index 71834cf365e67d7ad995bba7869216c4091c3a74..7710370b30363e3170bf9bf522597c5f st->fsm = FIQ_PER_SSPLIT_STARTED; } else { -From 2310d30585b5fa865c133a179fafe5f543194103 Mon Sep 17 00:00:00 2001 +From 0dc359762f0c226cafa2759ab5d5cd80412fb35b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 20 Jun 2017 17:51:47 +0100 -Subject: [PATCH 294/305] bcm2835-cpufreq: Change licence to GPLv2 +Subject: [PATCH 294/333] bcm2835-cpufreq: Change licence to GPLv2 Signed-off-by: Eben Upton Signed-off-by: Dom Cobley @@ -165532,10 +165532,10 @@ index 414fbdc10dfbfc6e4bb47870a7af3fd5780f9c9a..99345969b0e4d651fd9033d67de2febb /* ---------- INCLUDES ---------- */ #include -From 7889c33408eac5140410e993fde3def6e51709d9 Mon Sep 17 00:00:00 2001 +From 9ac3f346887e09e58a1c472a27b877bac89582f8 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 21 Jun 2017 09:03:51 -0700 -Subject: [PATCH 295/305] bcm2708: Drop CMA alignment from FKMS mode as well. +Subject: [PATCH 295/333] bcm2708: Drop CMA alignment from FKMS mode as well. I dropped it from KMS mode in d88274d88ed81de1ade8e18e4c0ed91792ec82ea and should have done both of them at that time. @@ -165591,10 +165591,10 @@ index 95a595a35cb4fbb707bf4b18161f6a46860aa4ae..36fbf6c8c2e612a6dc5aa02d77cc8173 }; -From a23b416acd38c5323be774e555ca2d117a6d759c Mon Sep 17 00:00:00 2001 +From 0f60cb178bf41470b7cb53bd956a5a56d9796bc4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 21 Jun 2017 17:19:04 +0100 -Subject: [PATCH 296/305] serial: 8250: Fix THRE flag usage for CAP_MINI +Subject: [PATCH 296/333] serial: 8250: Fix THRE flag usage for CAP_MINI The BCM2835 MINI UART has non-standard THRE semantics. Conventionally the bit means that the FIFO is empty (although there may still be a @@ -165638,10 +165638,10 @@ index 2d7a63f69b90415d6e1b6eb1c10612f4aa9fbed2..d2ecdb80e5f2d6bcb7e4edbb28280853 if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) -From fe0e2484ec702fff8d0e2f5b8c3bb1d8045ccd7e Mon Sep 17 00:00:00 2001 +From bcb4b3ba98eec33066664521d21bd7a63f501d56 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Jun 2016 16:37:46 +0100 -Subject: [PATCH 297/305] mmc: Apply ERASE_BROKEN quirks correctly +Subject: [PATCH 297/333] mmc: Apply ERASE_BROKEN quirks correctly Signed-off-by: Phil Elwell --- @@ -165669,10 +165669,10 @@ index 894c105be9ce7f83147a62c433c787b90a5e7c17..f1aeab19e10a465bffe69d24fc3331c8 END_FIXUP }; -From 7008aa63f65db75fc7057e6da19527e8004ccd0c Mon Sep 17 00:00:00 2001 +From 225735557eea19ca5e44e755a4ec23f449ea0d8f Mon Sep 17 00:00:00 2001 From: Steve Conner Date: Thu, 29 Jun 2017 15:56:19 +0100 -Subject: [PATCH 298/305] New i2c-rtc-gpio device overlay (#2092) +Subject: [PATCH 298/333] New i2c-rtc-gpio device overlay (#2092) Created new i2c-rtc-gpio device overlay by combining i2c-rtc and i2c-gpio. Tested with PCF2127 on CM3. --- @@ -165936,10 +165936,10 @@ index 0000000000000000000000000000000000000000..8415e6081428fba9a47682964174fc02 + }; +}; -From e1a4ad113967eacc936c19fcc79335b8df174cc3 Mon Sep 17 00:00:00 2001 +From 7c6ac602c69560f94517b01ed5dfd85c9f3489c4 Mon Sep 17 00:00:00 2001 From: Allo Date: Mon, 3 Jul 2017 15:45:20 +0530 -Subject: [PATCH 299/305] PianoPlus: Dual Mono & Dual Stereo features added +Subject: [PATCH 299/333] PianoPlus: Dual Mono & Dual Stereo features added (#2069) --- @@ -166228,10 +166228,10 @@ index 56e43f98846b41e487b3089813f7edc3c08517eb..d4e99e3c6a383d92fb0cf9e8c1cd1e76 } -From 7c6b5d91f231a1543ac00bfe452d33b73a1f1734 Mon Sep 17 00:00:00 2001 +From a6425c2965290598a5b43e5e2655fc79e6439307 Mon Sep 17 00:00:00 2001 From: Marta Lofstedt Date: Mon, 5 Dec 2016 14:04:08 +0200 -Subject: [PATCH 300/305] drm: allow changing DPMS mode +Subject: [PATCH 300/333] drm: allow changing DPMS mode The drm_atomic_helper_connector_dpms will set the connector back the old DPMS state @@ -166269,10 +166269,10 @@ index 50acd799babe1824e47e4bba6b9f03875429c17a..06572ffdb4082fe290b51bbd4c54b84c return ret; -From 1752286157f8017a5a21163c1206df43362052bb Mon Sep 17 00:00:00 2001 +From f54bd7ba1b7b9827af318be1297ba366cceaaa5e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 6 Jul 2017 11:45:48 -0700 -Subject: [PATCH 301/305] drm/vc4: Add support for setting DPMS in firmwarekms. +Subject: [PATCH 301/333] drm/vc4: Add support for setting DPMS in firmwarekms. This ensures that the screen goes blank during DPMS (screensaver), including the cursor. Planes don't necessarily get disabled during @@ -166375,10 +166375,10 @@ index 40a0cdc179ceabafb387724e1b835895fa3e2ca2..c85cae7d2f5f88cd41d3cf41dafa1449 if (!vc4_encoder) return -ENOMEM; -From 2f978a18335396172a43ab837f391fed419ef446 Mon Sep 17 00:00:00 2001 +From 4692536cfc9b105e3ebb22a99df3e0f0eccc8c89 Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Sun, 9 Jul 2017 15:15:22 +0200 -Subject: [PATCH 302/305] overlays: Add gpio-shutdown overlay (#2103) +Subject: [PATCH 302/333] overlays: Add gpio-shutdown overlay (#2103) This overlay facilitates the addition of a powerbutton by converting GPIO edges into KEY_POWER keypresses, which can be handled by @@ -166534,10 +166534,10 @@ index 0000000000000000000000000000000000000000..863fb395c8539734b658682b900e1fbd + +}; -From 0cc897e19bb87825805834fbff13fe58392d3e13 Mon Sep 17 00:00:00 2001 +From 17acc639c52ff93002826a84c0014d3f6c03b60f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 10 Jul 2017 11:05:17 +0200 -Subject: [PATCH 303/305] config: enable generic S/PDIF codec drivers (#2104) +Subject: [PATCH 303/333] config: enable generic S/PDIF codec drivers (#2104) These drivers can be used as dummy ADC/DAC drivers for attaching general codecs that don't need to be configured. @@ -166594,10 +166594,5476 @@ index 83cfb1e8738bdb7ef3ee1502b9a64d654de80c1b..646d69bea48befde89bec7c85895d41c CONFIG_SND_SIMPLE_CARD=m CONFIG_SOUND_PRIME=m -From 86f8b06fb2dffeee207f12048aa801c9f66e3dc5 Mon Sep 17 00:00:00 2001 +From 8201c8267c802f049cf465fd9d79b31f8199dadd Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Wed, 12 Jul 2017 17:34:59 +0100 +Subject: [PATCH 304/333] fixups from rpi-4.9.y + +--- + drivers/hv/channel.c | 5 ----- + drivers/i2c/busses/i2c-bcm2835.c | 4 +++- + 2 files changed, 3 insertions(+), 6 deletions(-) + +diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c +index 9aff4f6f5423a3b03fa834d4f69d4bb5cbc07a07..1606e7f08f4b36750be747feb5d0e9f36b3e6dd0 100644 +--- a/drivers/hv/channel.c ++++ b/drivers/hv/channel.c +@@ -506,11 +506,6 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle) + + wait_for_completion(&info->waitevent); + +- if (channel->rescind) { +- ret = -ENODEV; +- goto post_msg_err; +- } +- + post_msg_err: + /* + * If the channel has been rescinded; +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index 8642f580ce41803bd22c76a0fa80d083d0747be1..47167f403cc8329bd811b47c7011c299b8ecafee 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -279,7 +279,9 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + } + + if (val & BCM2835_I2C_S_DONE) { +- if (i2c_dev->curr_msg->flags & I2C_M_RD) { ++ if (!i2c_dev->curr_msg) { ++ dev_err(i2c_dev->dev, "Got unexpected interrupt (from firmware?)\n"); ++ } else if (i2c_dev->curr_msg->flags & I2C_M_RD) { + bcm2835_drain_rxfifo(i2c_dev); + val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); + } + +From 35f03168af4dfa6aaf1e1a04d7eacc41256eb61c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Thu, 26 Jan 2017 23:56:03 +0100 +Subject: [PATCH 305/333] drm: debugfs: Remove all files automatically on + cleanup +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Instead of having the drivers call drm_debugfs_remove_files() in +their drm_driver->debugfs_cleanup hook, do it automatically by +traversing minor->debugfs_list. +Also use debugfs_remove_recursive() so drivers who add their own +debugfs files don't have to keep track of them for removal. + +Signed-off-by: Noralf Trønnes +Signed-off-by: Daniel Vetter +Link: http://patchwork.freedesktop.org/patch/msgid/20170126225621.12314-2-noralf@tronnes.org +[rebased on 4.9] +Signed-off-by: Noralf Trønnes +--- + drivers/gpu/drm/drm_debugfs.c | 20 +++++++++++++++++--- + 1 file changed, 17 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c +index 1205790ed960c755780e2efa32300ac775c15fa1..0ea2ecca76d18d4b0b76bb29cb9d04bf3c522f4d 100644 +--- a/drivers/gpu/drm/drm_debugfs.c ++++ b/drivers/gpu/drm/drm_debugfs.c +@@ -79,7 +79,8 @@ static const struct file_operations drm_debugfs_fops = { + * \return Zero on success, non-zero on failure + * + * Create a given set of debugfs files represented by an array of +- * gdm_debugfs_lists in the given root directory. ++ * &drm_info_list in the given root directory. These files will be removed ++ * automatically on drm_debugfs_cleanup(). + */ + int drm_debugfs_create_files(const struct drm_info_list *files, int count, + struct dentry *root, struct drm_minor *minor) +@@ -208,6 +209,19 @@ int drm_debugfs_remove_files(const struct drm_info_list *files, int count, + } + EXPORT_SYMBOL(drm_debugfs_remove_files); + ++static void drm_debugfs_remove_all_files(struct drm_minor *minor) ++{ ++ struct drm_info_node *node, *tmp; ++ ++ mutex_lock(&minor->debugfs_lock); ++ list_for_each_entry_safe(node, tmp, &minor->debugfs_list, list) { ++ debugfs_remove(node->dent); ++ list_del(&node->list); ++ kfree(node); ++ } ++ mutex_unlock(&minor->debugfs_lock); ++} ++ + /** + * Cleanup the debugfs filesystem resources. + * +@@ -226,9 +240,9 @@ int drm_debugfs_cleanup(struct drm_minor *minor) + if (dev->driver->debugfs_cleanup) + dev->driver->debugfs_cleanup(minor); + +- drm_debugfs_remove_files(drm_debugfs_list, DRM_DEBUGFS_ENTRIES, minor); ++ drm_debugfs_remove_all_files(minor); + +- debugfs_remove(minor->debugfs_root); ++ debugfs_remove_recursive(minor->debugfs_root); + minor->debugfs_root = NULL; + + return 0; + +From 5e878d65434dcb0769238d0d5bf27e9a313517ce Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Sun, 22 Jan 2017 00:15:00 +0100 +Subject: [PATCH 306/333] drm: Add DRM support for tiny LCD displays +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +tinydrm provides helpers for very simple displays that can use +CMA backed framebuffers and need flushing on changes. + +Signed-off-by: Noralf Trønnes +Acked-by: Daniel Vetter +Acked-by: Thierry Reding +[rebased on 4.9] +Signed-off-by: Noralf Trønnes +--- + Documentation/gpu/index.rst | 1 + + Documentation/gpu/tinydrm.rst | 21 ++ + drivers/gpu/drm/Kconfig | 2 + + drivers/gpu/drm/Makefile | 1 + + drivers/gpu/drm/tinydrm/Kconfig | 8 + + drivers/gpu/drm/tinydrm/Makefile | 1 + + drivers/gpu/drm/tinydrm/core/Makefile | 3 + + drivers/gpu/drm/tinydrm/core/tinydrm-core.c | 358 ++++++++++++++++++++++++++++ + drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 235 ++++++++++++++++++ + include/drm/tinydrm/tinydrm.h | 118 +++++++++ + 10 files changed, 748 insertions(+) + create mode 100644 Documentation/gpu/tinydrm.rst + create mode 100644 drivers/gpu/drm/tinydrm/Kconfig + create mode 100644 drivers/gpu/drm/tinydrm/Makefile + create mode 100644 drivers/gpu/drm/tinydrm/core/Makefile + create mode 100644 drivers/gpu/drm/tinydrm/core/tinydrm-core.c + create mode 100644 drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c + create mode 100644 include/drm/tinydrm/tinydrm.h + +diff --git a/Documentation/gpu/index.rst b/Documentation/gpu/index.rst +index be0dafcf5556df17509a9d376e29e2800c14ca61..7c01fbe76e1d1248e6e5ecb9d1f9859c1ffe110e 100644 +--- a/Documentation/gpu/index.rst ++++ b/Documentation/gpu/index.rst +@@ -11,6 +11,7 @@ Linux GPU Driver Developer's Guide + drm-kms-helpers + drm-uapi + i915 ++ tinydrm + vga-switcheroo + vgaarbiter + +diff --git a/Documentation/gpu/tinydrm.rst b/Documentation/gpu/tinydrm.rst +new file mode 100644 +index 0000000000000000000000000000000000000000..ec4a20d7496b86b335cc290306d54a47d79c3c66 +--- /dev/null ++++ b/Documentation/gpu/tinydrm.rst +@@ -0,0 +1,21 @@ ++========================== ++drm/tinydrm Driver library ++========================== ++ ++.. kernel-doc:: drivers/gpu/drm/tinydrm/core/tinydrm-core.c ++ :doc: overview ++ ++Core functionality ++================== ++ ++.. kernel-doc:: drivers/gpu/drm/tinydrm/core/tinydrm-core.c ++ :doc: core ++ ++.. kernel-doc:: include/drm/tinydrm/tinydrm.h ++ :internal: ++ ++.. kernel-doc:: drivers/gpu/drm/tinydrm/core/tinydrm-core.c ++ :export: ++ ++.. kernel-doc:: drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c ++ :export: +diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig +index 483059a22b1b714461303fb3f67d783bbce19a07..293012d7a48962e73547013cf1ced33bc3e216c2 100644 +--- a/drivers/gpu/drm/Kconfig ++++ b/drivers/gpu/drm/Kconfig +@@ -223,6 +223,8 @@ source "drivers/gpu/drm/hisilicon/Kconfig" + + source "drivers/gpu/drm/mediatek/Kconfig" + ++source "drivers/gpu/drm/tinydrm/Kconfig" ++ + # Keep legacy drivers last + + menuconfig DRM_LEGACY +diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile +index 25c720454017e69a004fccfd7efe8147cdf60b46..cf435dc29d01f068eb2d6d913378c05bcf06efd1 100644 +--- a/drivers/gpu/drm/Makefile ++++ b/drivers/gpu/drm/Makefile +@@ -86,3 +86,4 @@ obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/ + obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/ + obj-$(CONFIG_DRM_ARCPGU)+= arc/ + obj-y += hisilicon/ ++obj-$(CONFIG_DRM_TINYDRM) += tinydrm/ +diff --git a/drivers/gpu/drm/tinydrm/Kconfig b/drivers/gpu/drm/tinydrm/Kconfig +new file mode 100644 +index 0000000000000000000000000000000000000000..ffb873ffc92fe14c1e8b06283c8e81ceeebf468e +--- /dev/null ++++ b/drivers/gpu/drm/tinydrm/Kconfig +@@ -0,0 +1,8 @@ ++menuconfig DRM_TINYDRM ++ tristate "Support for simple displays" ++ depends on DRM ++ select DRM_KMS_HELPER ++ select DRM_KMS_CMA_HELPER ++ help ++ Choose this option if you have a tinydrm supported display. ++ If M is selected the module will be called tinydrm. +diff --git a/drivers/gpu/drm/tinydrm/Makefile b/drivers/gpu/drm/tinydrm/Makefile +new file mode 100644 +index 0000000000000000000000000000000000000000..7476ed1a98c09f8739b702cc0fee370b96cac5b1 +--- /dev/null ++++ b/drivers/gpu/drm/tinydrm/Makefile +@@ -0,0 +1 @@ ++obj-$(CONFIG_DRM_TINYDRM) += core/ +diff --git a/drivers/gpu/drm/tinydrm/core/Makefile b/drivers/gpu/drm/tinydrm/core/Makefile +new file mode 100644 +index 0000000000000000000000000000000000000000..4f14a0f766e20aee1d4b4236faef58715d462562 +--- /dev/null ++++ b/drivers/gpu/drm/tinydrm/core/Makefile +@@ -0,0 +1,3 @@ ++tinydrm-y := tinydrm-core.o tinydrm-pipe.o ++ ++obj-$(CONFIG_DRM_TINYDRM) += tinydrm.o +diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-core.c b/drivers/gpu/drm/tinydrm/core/tinydrm-core.c +new file mode 100644 +index 0000000000000000000000000000000000000000..bae7454f99d66dffefa34847d1b0f133eadc4120 +--- /dev/null ++++ b/drivers/gpu/drm/tinydrm/core/tinydrm-core.c +@@ -0,0 +1,358 @@ ++/* ++ * Copyright (C) 2016 Noralf Trønnes ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/** ++ * DOC: overview ++ * ++ * This library provides driver helpers for very simple display hardware. ++ * ++ * It is based on &drm_simple_display_pipe coupled with a &drm_connector which ++ * has only one fixed &drm_display_mode. The framebuffers are backed by the ++ * cma helper and have support for framebuffer flushing (dirty). ++ * fbdev support is also included. ++ * ++ */ ++ ++/** ++ * DOC: core ++ * ++ * The driver allocates &tinydrm_device, initializes it using ++ * devm_tinydrm_init(), sets up the pipeline using tinydrm_display_pipe_init() ++ * and registers the DRM device using devm_tinydrm_register(). ++ */ ++ ++/** ++ * tinydrm_lastclose - DRM lastclose helper ++ * @drm: DRM device ++ * ++ * This function ensures that fbdev is restored when drm_lastclose() is called ++ * on the last drm_release(). Drivers can use this as their ++ * &drm_driver->lastclose callback. ++ */ ++void tinydrm_lastclose(struct drm_device *drm) ++{ ++ struct tinydrm_device *tdev = drm->dev_private; ++ ++ DRM_DEBUG_KMS("\n"); ++ drm_fbdev_cma_restore_mode(tdev->fbdev_cma); ++} ++EXPORT_SYMBOL(tinydrm_lastclose); ++ ++/** ++ * tinydrm_gem_cma_prime_import_sg_table - Produce a CMA GEM object from ++ * another driver's scatter/gather table of pinned pages ++ * @drm: DRM device to import into ++ * @attach: DMA-BUF attachment ++ * @sgt: Scatter/gather table of pinned pages ++ * ++ * This function imports a scatter/gather table exported via DMA-BUF by ++ * another driver using drm_gem_cma_prime_import_sg_table(). It sets the ++ * kernel virtual address on the CMA object. Drivers should use this as their ++ * &drm_driver->gem_prime_import_sg_table callback if they need the virtual ++ * address. tinydrm_gem_cma_free_object() should be used in combination with ++ * this function. ++ * ++ * Returns: ++ * A pointer to a newly created GEM object or an ERR_PTR-encoded negative ++ * error code on failure. ++ */ ++struct drm_gem_object * ++tinydrm_gem_cma_prime_import_sg_table(struct drm_device *drm, ++ struct dma_buf_attachment *attach, ++ struct sg_table *sgt) ++{ ++ struct drm_gem_cma_object *cma_obj; ++ struct drm_gem_object *obj; ++ void *vaddr; ++ ++ vaddr = dma_buf_vmap(attach->dmabuf); ++ if (!vaddr) { ++ DRM_ERROR("Failed to vmap PRIME buffer\n"); ++ return ERR_PTR(-ENOMEM); ++ } ++ ++ obj = drm_gem_cma_prime_import_sg_table(drm, attach, sgt); ++ if (IS_ERR(obj)) { ++ dma_buf_vunmap(attach->dmabuf, vaddr); ++ return obj; ++ } ++ ++ cma_obj = to_drm_gem_cma_obj(obj); ++ cma_obj->vaddr = vaddr; ++ ++ return obj; ++} ++EXPORT_SYMBOL(tinydrm_gem_cma_prime_import_sg_table); ++ ++/** ++ * tinydrm_gem_cma_free_object - Free resources associated with a CMA GEM ++ * object ++ * @gem_obj: GEM object to free ++ * ++ * This function frees the backing memory of the CMA GEM object, cleans up the ++ * GEM object state and frees the memory used to store the object itself using ++ * drm_gem_cma_free_object(). It also handles PRIME buffers which has the kernel ++ * virtual address set by tinydrm_gem_cma_prime_import_sg_table(). Drivers ++ * can use this as their &drm_driver->gem_free_object callback. ++ */ ++void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj) ++{ ++ if (gem_obj->import_attach) { ++ struct drm_gem_cma_object *cma_obj; ++ ++ cma_obj = to_drm_gem_cma_obj(gem_obj); ++ dma_buf_vunmap(gem_obj->import_attach->dmabuf, cma_obj->vaddr); ++ cma_obj->vaddr = NULL; ++ } ++ ++ drm_gem_cma_free_object(gem_obj); ++} ++EXPORT_SYMBOL_GPL(tinydrm_gem_cma_free_object); ++ ++const struct file_operations tinydrm_fops = { ++ .owner = THIS_MODULE, ++ .open = drm_open, ++ .release = drm_release, ++ .unlocked_ioctl = drm_ioctl, ++#ifdef CONFIG_COMPAT ++ .compat_ioctl = drm_compat_ioctl, ++#endif ++ .poll = drm_poll, ++ .read = drm_read, ++ .llseek = no_llseek, ++ .mmap = drm_gem_cma_mmap, ++}; ++EXPORT_SYMBOL(tinydrm_fops); ++ ++static struct drm_framebuffer * ++tinydrm_fb_create(struct drm_device *drm, struct drm_file *file_priv, ++ const struct drm_mode_fb_cmd2 *mode_cmd) ++{ ++ struct tinydrm_device *tdev = drm->dev_private; ++ ++ return drm_fb_cma_create_with_funcs(drm, file_priv, mode_cmd, ++ tdev->fb_funcs); ++} ++ ++static const struct drm_mode_config_funcs tinydrm_mode_config_funcs = { ++ .fb_create = tinydrm_fb_create, ++ .atomic_check = drm_atomic_helper_check, ++ .atomic_commit = drm_atomic_helper_commit, ++}; ++ ++static int tinydrm_init(struct device *parent, struct tinydrm_device *tdev, ++ const struct drm_framebuffer_funcs *fb_funcs, ++ struct drm_driver *driver) ++{ ++ struct drm_device *drm; ++ ++ mutex_init(&tdev->dirty_lock); ++ tdev->fb_funcs = fb_funcs; ++ ++ /* ++ * We don't embed drm_device, because that prevent us from using ++ * devm_kzalloc() to allocate tinydrm_device in the driver since ++ * drm_dev_unref() frees the structure. The devm_ functions provide ++ * for easy error handling. ++ */ ++ drm = drm_dev_alloc(driver, parent); ++ if (IS_ERR(drm)) ++ return PTR_ERR(drm); ++ ++ tdev->drm = drm; ++ drm->dev_private = tdev; ++ drm_mode_config_init(drm); ++ drm->mode_config.funcs = &tinydrm_mode_config_funcs; ++ ++ return 0; ++} ++ ++static void tinydrm_fini(struct tinydrm_device *tdev) ++{ ++ drm_mode_config_cleanup(tdev->drm); ++ mutex_destroy(&tdev->dirty_lock); ++ tdev->drm->dev_private = NULL; ++ drm_dev_unref(tdev->drm); ++} ++ ++static void devm_tinydrm_release(void *data) ++{ ++ tinydrm_fini(data); ++} ++ ++/** ++ * devm_tinydrm_init - Initialize tinydrm device ++ * @parent: Parent device object ++ * @tdev: tinydrm device ++ * @fb_funcs: Framebuffer functions ++ * @driver: DRM driver ++ * ++ * This function initializes @tdev, the underlying DRM device and it's ++ * mode_config. Resources will be automatically freed on driver detach (devres) ++ * using drm_mode_config_cleanup() and drm_dev_unref(). ++ * ++ * Returns: ++ * Zero on success, negative error code on failure. ++ */ ++int devm_tinydrm_init(struct device *parent, struct tinydrm_device *tdev, ++ const struct drm_framebuffer_funcs *fb_funcs, ++ struct drm_driver *driver) ++{ ++ int ret; ++ ++ ret = tinydrm_init(parent, tdev, fb_funcs, driver); ++ if (ret) ++ return ret; ++ ++ ret = devm_add_action(parent, devm_tinydrm_release, tdev); ++ if (ret) ++ tinydrm_fini(tdev); ++ ++ return ret; ++} ++EXPORT_SYMBOL(devm_tinydrm_init); ++ ++static int tinydrm_fbdev_create(struct drm_fb_helper *helper, ++ struct drm_fb_helper_surface_size *sizes) ++{ ++ struct tinydrm_device *tdev = helper->dev->dev_private; ++ ++ return drm_fbdev_cma_create_with_funcs(helper, sizes, tdev->fb_funcs); ++} ++ ++static const struct drm_fb_helper_funcs tinydrm_fb_helper_funcs = { ++ .fb_probe = tinydrm_fbdev_create, ++}; ++ ++static int tinydrm_register(struct tinydrm_device *tdev) ++{ ++ struct drm_device *drm = tdev->drm; ++ int bpp = drm->mode_config.preferred_depth; ++ struct drm_fbdev_cma *fbdev; ++ int ret; ++ ++ ret = drm_dev_register(tdev->drm, 0); ++ if (ret) ++ return ret; ++ ++ fbdev = drm_fbdev_cma_init_with_funcs(drm, bpp ? bpp : 32, ++ drm->mode_config.num_crtc, ++ drm->mode_config.num_connector, ++ &tinydrm_fb_helper_funcs); ++ if (IS_ERR(fbdev)) ++ DRM_ERROR("Failed to initialize fbdev: %ld\n", PTR_ERR(fbdev)); ++ else ++ tdev->fbdev_cma = fbdev; ++ ++ return 0; ++} ++ ++static void tinydrm_unregister(struct tinydrm_device *tdev) ++{ ++ struct drm_fbdev_cma *fbdev_cma = tdev->fbdev_cma; ++ ++ drm_crtc_force_disable_all(tdev->drm); ++ /* don't restore fbdev in lastclose, keep pipeline disabled */ ++ tdev->fbdev_cma = NULL; ++ drm_dev_unregister(tdev->drm); ++ if (fbdev_cma) ++ drm_fbdev_cma_fini(fbdev_cma); ++} ++ ++static void devm_tinydrm_register_release(void *data) ++{ ++ tinydrm_unregister(data); ++} ++ ++/** ++ * devm_tinydrm_register - Register tinydrm device ++ * @tdev: tinydrm device ++ * ++ * This function registers the underlying DRM device and fbdev. ++ * These resources will be automatically unregistered on driver detach (devres) ++ * and the display pipeline will be disabled. ++ * ++ * Returns: ++ * Zero on success, negative error code on failure. ++ */ ++int devm_tinydrm_register(struct tinydrm_device *tdev) ++{ ++ struct device *dev = tdev->drm->dev; ++ int ret; ++ ++ ret = tinydrm_register(tdev); ++ if (ret) ++ return ret; ++ ++ ret = devm_add_action(dev, devm_tinydrm_register_release, tdev); ++ if (ret) ++ tinydrm_unregister(tdev); ++ ++ return ret; ++} ++EXPORT_SYMBOL(devm_tinydrm_register); ++ ++/** ++ * tinydrm_shutdown - Shutdown tinydrm ++ * @tdev: tinydrm device ++ * ++ * This function makes sure that the display pipeline is disabled. ++ * Used by drivers in their shutdown callback to turn off the display ++ * on machine shutdown and reboot. ++ */ ++void tinydrm_shutdown(struct tinydrm_device *tdev) ++{ ++ drm_crtc_force_disable_all(tdev->drm); ++} ++EXPORT_SYMBOL(tinydrm_shutdown); ++ ++/** ++ * tinydrm_suspend - Suspend tinydrm ++ * @tdev: tinydrm device ++ * ++ * Used in driver PM operations to suspend tinydrm. ++ * Suspends fbdev and DRM. ++ * Resume with tinydrm_resume(). ++ * ++ * Returns: ++ * Zero on success, negative error code on failure. ++ */ ++int tinydrm_suspend(struct tinydrm_device *tdev) ++{ ++ /* Removed in backport since Pi doesn't use it */ ++ return 0; ++} ++EXPORT_SYMBOL(tinydrm_suspend); ++ ++/** ++ * tinydrm_resume - Resume tinydrm ++ * @tdev: tinydrm device ++ * ++ * Used in driver PM operations to resume tinydrm. ++ * Suspend with tinydrm_suspend(). ++ * ++ * Returns: ++ * Zero on success, negative error code on failure. ++ */ ++int tinydrm_resume(struct tinydrm_device *tdev) ++{ ++ /* Removed in backport since Pi doesn't use it */ ++ return 0; ++} ++EXPORT_SYMBOL(tinydrm_resume); ++ ++MODULE_LICENSE("GPL"); +diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c +new file mode 100644 +index 0000000000000000000000000000000000000000..029d13fe8cacff3a6082a188441850cf8cdd30b2 +--- /dev/null ++++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c +@@ -0,0 +1,235 @@ ++/* ++ * Copyright (C) 2016 Noralf Trønnes ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ */ ++ ++#include ++#include ++#include ++#include ++ ++struct tinydrm_connector { ++ struct drm_connector base; ++ const struct drm_display_mode *mode; ++}; ++ ++static inline struct tinydrm_connector * ++to_tinydrm_connector(struct drm_connector *connector) ++{ ++ return container_of(connector, struct tinydrm_connector, base); ++} ++ ++static int tinydrm_connector_get_modes(struct drm_connector *connector) ++{ ++ struct tinydrm_connector *tconn = to_tinydrm_connector(connector); ++ struct drm_display_mode *mode; ++ ++ mode = drm_mode_duplicate(connector->dev, tconn->mode); ++ if (!mode) { ++ DRM_ERROR("Failed to duplicate mode\n"); ++ return 0; ++ } ++ ++ if (mode->name[0] == '\0') ++ drm_mode_set_name(mode); ++ ++ mode->type |= DRM_MODE_TYPE_PREFERRED; ++ drm_mode_probed_add(connector, mode); ++ ++ if (mode->width_mm) { ++ connector->display_info.width_mm = mode->width_mm; ++ connector->display_info.height_mm = mode->height_mm; ++ } ++ ++ return 1; ++} ++ ++static const struct drm_connector_helper_funcs tinydrm_connector_hfuncs = { ++ .get_modes = tinydrm_connector_get_modes, ++ .best_encoder = drm_atomic_helper_best_encoder, ++}; ++ ++static enum drm_connector_status ++tinydrm_connector_detect(struct drm_connector *connector, bool force) ++{ ++ if (drm_device_is_unplugged(connector->dev)) ++ return connector_status_disconnected; ++ ++ return connector->status; ++} ++ ++static void tinydrm_connector_destroy(struct drm_connector *connector) ++{ ++ struct tinydrm_connector *tconn = to_tinydrm_connector(connector); ++ ++ drm_connector_cleanup(connector); ++ kfree(tconn); ++} ++ ++static const struct drm_connector_funcs tinydrm_connector_funcs = { ++ .dpms = drm_atomic_helper_connector_dpms, ++ .reset = drm_atomic_helper_connector_reset, ++ .detect = tinydrm_connector_detect, ++ .fill_modes = drm_helper_probe_single_connector_modes, ++ .destroy = tinydrm_connector_destroy, ++ .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, ++ .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, ++}; ++ ++struct drm_connector * ++tinydrm_connector_create(struct drm_device *drm, ++ const struct drm_display_mode *mode, ++ int connector_type) ++{ ++ struct tinydrm_connector *tconn; ++ struct drm_connector *connector; ++ int ret; ++ ++ tconn = kzalloc(sizeof(*tconn), GFP_KERNEL); ++ if (!tconn) ++ return ERR_PTR(-ENOMEM); ++ ++ tconn->mode = mode; ++ connector = &tconn->base; ++ ++ drm_connector_helper_add(connector, &tinydrm_connector_hfuncs); ++ ret = drm_connector_init(drm, connector, &tinydrm_connector_funcs, ++ connector_type); ++ if (ret) { ++ kfree(tconn); ++ return ERR_PTR(ret); ++ } ++ ++ connector->status = connector_status_connected; ++ ++ return connector; ++} ++ ++/** ++ * tinydrm_display_pipe_update - Display pipe update helper ++ * @pipe: Simple display pipe ++ * @old_state: Old plane state ++ * ++ * This function does a full framebuffer flush if the plane framebuffer ++ * has changed. It also handles vblank events. Drivers can use this as their ++ * &drm_simple_display_pipe_funcs->update callback. ++ */ ++void tinydrm_display_pipe_update(struct drm_simple_display_pipe *pipe, ++ struct drm_plane_state *old_state) ++{ ++ struct tinydrm_device *tdev = pipe_to_tinydrm(pipe); ++ struct drm_framebuffer *fb = pipe->plane.state->fb; ++ struct drm_crtc *crtc = &tdev->pipe.crtc; ++ ++ if (fb && (fb != old_state->fb)) { ++ pipe->plane.fb = fb; ++ if (fb->funcs->dirty) ++ fb->funcs->dirty(fb, NULL, 0, 0, NULL, 0); ++ } ++ ++ if (crtc->state->event) { ++ spin_lock_irq(&crtc->dev->event_lock); ++ drm_crtc_send_vblank_event(crtc, crtc->state->event); ++ spin_unlock_irq(&crtc->dev->event_lock); ++ crtc->state->event = NULL; ++ } ++} ++EXPORT_SYMBOL(tinydrm_display_pipe_update); ++ ++/** ++ * tinydrm_display_pipe_prepare_fb - Display pipe prepare_fb helper ++ * @pipe: Simple display pipe ++ * @plane_state: Plane state ++ * ++ * This function uses drm_fb_cma_prepare_fb() to check if the plane FB has an ++ * dma-buf attached, extracts the exclusive fence and attaches it to plane ++ * state for the atomic helper to wait on. Drivers can use this as their ++ * &drm_simple_display_pipe_funcs->prepare_fb callback. ++ */ ++int tinydrm_display_pipe_prepare_fb(struct drm_simple_display_pipe *pipe, ++ struct drm_plane_state *plane_state) ++{ ++ /* drm_fb_cma_prepare_fb() isn't available in 4.9 */ ++ return 0; ++} ++EXPORT_SYMBOL(tinydrm_display_pipe_prepare_fb); ++ ++static int tinydrm_rotate_mode(struct drm_display_mode *mode, ++ unsigned int rotation) ++{ ++ if (rotation == 0 || rotation == 180) { ++ return 0; ++ } else if (rotation == 90 || rotation == 270) { ++ swap(mode->hdisplay, mode->vdisplay); ++ swap(mode->hsync_start, mode->vsync_start); ++ swap(mode->hsync_end, mode->vsync_end); ++ swap(mode->htotal, mode->vtotal); ++ swap(mode->width_mm, mode->height_mm); ++ return 0; ++ } else { ++ return -EINVAL; ++ } ++} ++ ++/** ++ * tinydrm_display_pipe_init - Initialize display pipe ++ * @tdev: tinydrm device ++ * @funcs: Display pipe functions ++ * @connector_type: Connector type ++ * @formats: Array of supported formats (DRM_FORMAT\_\*) ++ * @format_count: Number of elements in @formats ++ * @mode: Supported mode ++ * @rotation: Initial @mode rotation in degrees Counter Clock Wise ++ * ++ * This function sets up a &drm_simple_display_pipe with a &drm_connector that ++ * has one fixed &drm_display_mode which is rotated according to @rotation. ++ * ++ * Returns: ++ * Zero on success, negative error code on failure. ++ */ ++int ++tinydrm_display_pipe_init(struct tinydrm_device *tdev, ++ const struct drm_simple_display_pipe_funcs *funcs, ++ int connector_type, ++ const uint32_t *formats, ++ unsigned int format_count, ++ const struct drm_display_mode *mode, ++ unsigned int rotation) ++{ ++ struct drm_device *drm = tdev->drm; ++ struct drm_display_mode *mode_copy; ++ struct drm_connector *connector; ++ int ret; ++ ++ mode_copy = devm_kmalloc(drm->dev, sizeof(*mode_copy), GFP_KERNEL); ++ if (!mode_copy) ++ return -ENOMEM; ++ ++ *mode_copy = *mode; ++ ret = tinydrm_rotate_mode(mode_copy, rotation); ++ if (ret) { ++ DRM_ERROR("Illegal rotation value %u\n", rotation); ++ return -EINVAL; ++ } ++ ++ drm->mode_config.min_width = mode_copy->hdisplay; ++ drm->mode_config.max_width = mode_copy->hdisplay; ++ drm->mode_config.min_height = mode_copy->vdisplay; ++ drm->mode_config.max_height = mode_copy->vdisplay; ++ ++ connector = tinydrm_connector_create(drm, mode_copy, connector_type); ++ if (IS_ERR(connector)) ++ return PTR_ERR(connector); ++ ++ ret = drm_simple_display_pipe_init(drm, &tdev->pipe, funcs, formats, ++ format_count, connector); ++ if (ret) ++ return ret; ++ ++ return 0; ++} ++EXPORT_SYMBOL(tinydrm_display_pipe_init); +diff --git a/include/drm/tinydrm/tinydrm.h b/include/drm/tinydrm/tinydrm.h +new file mode 100644 +index 0000000000000000000000000000000000000000..468cd4aaa59ef66700fd41fbdb029997231a0b39 +--- /dev/null ++++ b/include/drm/tinydrm/tinydrm.h +@@ -0,0 +1,118 @@ ++/* ++ * Copyright (C) 2016 Noralf Trønnes ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ */ ++ ++#ifndef __LINUX_TINYDRM_H ++#define __LINUX_TINYDRM_H ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/** ++ * struct tinydrm_device - tinydrm device ++ * @drm: DRM device ++ * @pipe: Display pipe structure ++ * @dirty_lock: Serializes framebuffer flushing ++ * @fbdev_cma: CMA fbdev structure ++ * @suspend_state: Atomic state when suspended ++ * @fb_funcs: Framebuffer functions used when creating framebuffers ++ */ ++struct tinydrm_device { ++ struct drm_device *drm; ++ struct drm_simple_display_pipe pipe; ++ struct mutex dirty_lock; ++ struct drm_fbdev_cma *fbdev_cma; ++ struct drm_atomic_state *suspend_state; ++ const struct drm_framebuffer_funcs *fb_funcs; ++}; ++ ++static inline struct tinydrm_device * ++pipe_to_tinydrm(struct drm_simple_display_pipe *pipe) ++{ ++ return container_of(pipe, struct tinydrm_device, pipe); ++} ++ ++/** ++ * TINYDRM_GEM_DRIVER_OPS - default tinydrm gem operations ++ * ++ * This macro provides a shortcut for setting the tinydrm GEM operations in ++ * the &drm_driver structure. ++ */ ++#define TINYDRM_GEM_DRIVER_OPS \ ++ .gem_free_object = tinydrm_gem_cma_free_object, \ ++ .gem_vm_ops = &drm_gem_cma_vm_ops, \ ++ .prime_handle_to_fd = drm_gem_prime_handle_to_fd, \ ++ .prime_fd_to_handle = drm_gem_prime_fd_to_handle, \ ++ .gem_prime_import = drm_gem_prime_import, \ ++ .gem_prime_export = drm_gem_prime_export, \ ++ .gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table, \ ++ .gem_prime_import_sg_table = tinydrm_gem_cma_prime_import_sg_table, \ ++ .gem_prime_vmap = drm_gem_cma_prime_vmap, \ ++ .gem_prime_vunmap = drm_gem_cma_prime_vunmap, \ ++ .gem_prime_mmap = drm_gem_cma_prime_mmap, \ ++ .dumb_create = drm_gem_cma_dumb_create, \ ++ .dumb_map_offset = drm_gem_cma_dumb_map_offset, \ ++ .dumb_destroy = drm_gem_dumb_destroy, \ ++ .fops = &tinydrm_fops ++ ++/** ++ * TINYDRM_MODE - tinydrm display mode ++ * @hd: Horizontal resolution, width ++ * @vd: Vertical resolution, height ++ * @hd_mm: Display width in millimeters ++ * @vd_mm: Display height in millimeters ++ * ++ * This macro creates a &drm_display_mode for use with tinydrm. ++ */ ++#define TINYDRM_MODE(hd, vd, hd_mm, vd_mm) \ ++ .hdisplay = (hd), \ ++ .hsync_start = (hd), \ ++ .hsync_end = (hd), \ ++ .htotal = (hd), \ ++ .vdisplay = (vd), \ ++ .vsync_start = (vd), \ ++ .vsync_end = (vd), \ ++ .vtotal = (vd), \ ++ .width_mm = (hd_mm), \ ++ .height_mm = (vd_mm), \ ++ .type = DRM_MODE_TYPE_DRIVER, \ ++ .clock = 1 /* pass validation */ ++ ++extern const struct file_operations tinydrm_fops; ++void tinydrm_lastclose(struct drm_device *drm); ++void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj); ++struct drm_gem_object * ++tinydrm_gem_cma_prime_import_sg_table(struct drm_device *drm, ++ struct dma_buf_attachment *attach, ++ struct sg_table *sgt); ++int devm_tinydrm_init(struct device *parent, struct tinydrm_device *tdev, ++ const struct drm_framebuffer_funcs *fb_funcs, ++ struct drm_driver *driver); ++int devm_tinydrm_register(struct tinydrm_device *tdev); ++void tinydrm_shutdown(struct tinydrm_device *tdev); ++int tinydrm_suspend(struct tinydrm_device *tdev); ++int tinydrm_resume(struct tinydrm_device *tdev); ++ ++void tinydrm_display_pipe_update(struct drm_simple_display_pipe *pipe, ++ struct drm_plane_state *old_state); ++int tinydrm_display_pipe_prepare_fb(struct drm_simple_display_pipe *pipe, ++ struct drm_plane_state *plane_state); ++int ++tinydrm_display_pipe_init(struct tinydrm_device *tdev, ++ const struct drm_simple_display_pipe_funcs *funcs, ++ int connector_type, ++ const uint32_t *formats, ++ unsigned int format_count, ++ const struct drm_display_mode *mode, ++ unsigned int rotation); ++ ++#endif /* __LINUX_TINYDRM_H */ + +From 4e612e87ec5b67573c6156138bce170fe095357b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Sun, 22 Jan 2017 00:19:51 +0100 +Subject: [PATCH 307/333] drm/tinydrm: Add helper functions +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add common functionality needed by many tinydrm drivers. + +Signed-off-by: Noralf Trønnes +Acked-by: Daniel Vetter +Acked-by: Thierry Reding +[rebased on 4.9] +Signed-off-by: Noralf Trønnes +--- + Documentation/gpu/tinydrm.rst | 9 + + drivers/gpu/drm/tinydrm/Kconfig | 2 + + drivers/gpu/drm/tinydrm/core/Makefile | 2 +- + drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c | 460 +++++++++++++++++++++++++ + include/drm/tinydrm/tinydrm-helpers.h | 100 ++++++ + 5 files changed, 572 insertions(+), 1 deletion(-) + create mode 100644 drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c + create mode 100644 include/drm/tinydrm/tinydrm-helpers.h + +diff --git a/Documentation/gpu/tinydrm.rst b/Documentation/gpu/tinydrm.rst +index ec4a20d7496b86b335cc290306d54a47d79c3c66..fb256d2178f553937d1c1862965f05ef4e01b770 100644 +--- a/Documentation/gpu/tinydrm.rst ++++ b/Documentation/gpu/tinydrm.rst +@@ -19,3 +19,12 @@ Core functionality + + .. kernel-doc:: drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c + :export: ++ ++Additional helpers ++================== ++ ++.. kernel-doc:: include/drm/tinydrm/tinydrm-helpers.h ++ :internal: ++ ++.. kernel-doc:: drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c ++ :export: +diff --git a/drivers/gpu/drm/tinydrm/Kconfig b/drivers/gpu/drm/tinydrm/Kconfig +index ffb873ffc92fe14c1e8b06283c8e81ceeebf468e..adf36262bca255b98af6005e3704557e7bb11590 100644 +--- a/drivers/gpu/drm/tinydrm/Kconfig ++++ b/drivers/gpu/drm/tinydrm/Kconfig +@@ -3,6 +3,8 @@ menuconfig DRM_TINYDRM + depends on DRM + select DRM_KMS_HELPER + select DRM_KMS_CMA_HELPER ++ select BACKLIGHT_LCD_SUPPORT ++ select BACKLIGHT_CLASS_DEVICE + help + Choose this option if you have a tinydrm supported display. + If M is selected the module will be called tinydrm. +diff --git a/drivers/gpu/drm/tinydrm/core/Makefile b/drivers/gpu/drm/tinydrm/core/Makefile +index 4f14a0f766e20aee1d4b4236faef58715d462562..fb221e6f8885d81626b97d65e21c0c6ed3993836 100644 +--- a/drivers/gpu/drm/tinydrm/core/Makefile ++++ b/drivers/gpu/drm/tinydrm/core/Makefile +@@ -1,3 +1,3 @@ +-tinydrm-y := tinydrm-core.o tinydrm-pipe.o ++tinydrm-y := tinydrm-core.o tinydrm-pipe.o tinydrm-helpers.o + + obj-$(CONFIG_DRM_TINYDRM) += tinydrm.o +diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c +new file mode 100644 +index 0000000000000000000000000000000000000000..4dbf19cedf1400e8ce785838fb9c3be80d529358 +--- /dev/null ++++ b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c +@@ -0,0 +1,460 @@ ++/* ++ * Copyright (C) 2016 Noralf Trønnes ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static unsigned int spi_max; ++module_param(spi_max, uint, 0400); ++MODULE_PARM_DESC(spi_max, "Set a lower SPI max transfer size"); ++ ++/** ++ * tinydrm_merge_clips - Merge clip rectangles ++ * @dst: Destination clip rectangle ++ * @src: Source clip rectangle(s) ++ * @num_clips: Number of @src clip rectangles ++ * @flags: Dirty fb ioctl flags ++ * @max_width: Maximum width of @dst ++ * @max_height: Maximum height of @dst ++ * ++ * This function merges @src clip rectangle(s) into @dst. If @src is NULL, ++ * @max_width and @min_width is used to set a full @dst clip rectangle. ++ * ++ * Returns: ++ * true if it's a full clip, false otherwise ++ */ ++bool tinydrm_merge_clips(struct drm_clip_rect *dst, ++ struct drm_clip_rect *src, unsigned int num_clips, ++ unsigned int flags, u32 max_width, u32 max_height) ++{ ++ unsigned int i; ++ ++ if (!src || !num_clips) { ++ dst->x1 = 0; ++ dst->x2 = max_width; ++ dst->y1 = 0; ++ dst->y2 = max_height; ++ return true; ++ } ++ ++ dst->x1 = ~0; ++ dst->y1 = ~0; ++ dst->x2 = 0; ++ dst->y2 = 0; ++ ++ for (i = 0; i < num_clips; i++) { ++ if (flags & DRM_MODE_FB_DIRTY_ANNOTATE_COPY) ++ i++; ++ dst->x1 = min(dst->x1, src[i].x1); ++ dst->x2 = max(dst->x2, src[i].x2); ++ dst->y1 = min(dst->y1, src[i].y1); ++ dst->y2 = max(dst->y2, src[i].y2); ++ } ++ ++ if (dst->x2 > max_width || dst->y2 > max_height || ++ dst->x1 >= dst->x2 || dst->y1 >= dst->y2) { ++ DRM_DEBUG_KMS("Illegal clip: x1=%u, x2=%u, y1=%u, y2=%u\n", ++ dst->x1, dst->x2, dst->y1, dst->y2); ++ dst->x1 = 0; ++ dst->y1 = 0; ++ dst->x2 = max_width; ++ dst->y2 = max_height; ++ } ++ ++ return (dst->x2 - dst->x1) == max_width && ++ (dst->y2 - dst->y1) == max_height; ++} ++EXPORT_SYMBOL(tinydrm_merge_clips); ++ ++/** ++ * tinydrm_memcpy - Copy clip buffer ++ * @dst: Destination buffer ++ * @vaddr: Source buffer ++ * @fb: DRM framebuffer ++ * @clip: Clip rectangle area to copy ++ */ ++void tinydrm_memcpy(void *dst, void *vaddr, struct drm_framebuffer *fb, ++ struct drm_clip_rect *clip) ++{ ++ unsigned int cpp = drm_format_plane_cpp(fb->pixel_format, 0); ++ unsigned int pitch = fb->pitches[0]; ++ void *src = vaddr + (clip->y1 * pitch) + (clip->x1 * cpp); ++ size_t len = (clip->x2 - clip->x1) * cpp; ++ unsigned int y; ++ ++ for (y = clip->y1; y < clip->y2; y++) { ++ memcpy(dst, src, len); ++ src += pitch; ++ dst += len; ++ } ++} ++EXPORT_SYMBOL(tinydrm_memcpy); ++ ++/** ++ * tinydrm_swab16 - Swap bytes into clip buffer ++ * @dst: RGB565 destination buffer ++ * @vaddr: RGB565 source buffer ++ * @fb: DRM framebuffer ++ * @clip: Clip rectangle area to copy ++ */ ++void tinydrm_swab16(u16 *dst, void *vaddr, struct drm_framebuffer *fb, ++ struct drm_clip_rect *clip) ++{ ++ size_t len = (clip->x2 - clip->x1) * sizeof(u16); ++ unsigned int x, y; ++ u16 *src, *buf; ++ ++ /* ++ * The cma memory is write-combined so reads are uncached. ++ * Speed up by fetching one line at a time. ++ */ ++ buf = kmalloc(len, GFP_KERNEL); ++ if (!buf) ++ return; ++ ++ for (y = clip->y1; y < clip->y2; y++) { ++ src = vaddr + (y * fb->pitches[0]); ++ src += clip->x1; ++ memcpy(buf, src, len); ++ src = buf; ++ for (x = clip->x1; x < clip->x2; x++) ++ *dst++ = swab16(*src++); ++ } ++ ++ kfree(buf); ++} ++EXPORT_SYMBOL(tinydrm_swab16); ++ ++/** ++ * tinydrm_xrgb8888_to_rgb565 - Convert XRGB8888 to RGB565 clip buffer ++ * @dst: RGB565 destination buffer ++ * @vaddr: XRGB8888 source buffer ++ * @fb: DRM framebuffer ++ * @clip: Clip rectangle area to copy ++ * @swap: Swap bytes ++ * ++ * Drivers can use this function for RGB565 devices that don't natively ++ * support XRGB8888. ++ */ ++void tinydrm_xrgb8888_to_rgb565(u16 *dst, void *vaddr, ++ struct drm_framebuffer *fb, ++ struct drm_clip_rect *clip, bool swap) ++{ ++ size_t len = (clip->x2 - clip->x1) * sizeof(u32); ++ unsigned int x, y; ++ u32 *src, *buf; ++ u16 val16; ++ ++ buf = kmalloc(len, GFP_KERNEL); ++ if (!buf) ++ return; ++ ++ for (y = clip->y1; y < clip->y2; y++) { ++ src = vaddr + (y * fb->pitches[0]); ++ src += clip->x1; ++ memcpy(buf, src, len); ++ src = buf; ++ for (x = clip->x1; x < clip->x2; x++) { ++ val16 = ((*src & 0x00F80000) >> 8) | ++ ((*src & 0x0000FC00) >> 5) | ++ ((*src & 0x000000F8) >> 3); ++ src++; ++ if (swap) ++ *dst++ = swab16(val16); ++ else ++ *dst++ = val16; ++ } ++ } ++ ++ kfree(buf); ++} ++EXPORT_SYMBOL(tinydrm_xrgb8888_to_rgb565); ++ ++/** ++ * tinydrm_of_find_backlight - Find backlight device in device-tree ++ * @dev: Device ++ * ++ * This function looks for a DT node pointed to by a property named 'backlight' ++ * and uses of_find_backlight_by_node() to get the backlight device. ++ * Additionally if the brightness property is zero, it is set to ++ * max_brightness. ++ * ++ * Returns: ++ * NULL if there's no backlight property. ++ * Error pointer -EPROBE_DEFER if the DT node is found, but no backlight device ++ * is found. ++ * If the backlight device is found, a pointer to the structure is returned. ++ */ ++struct backlight_device *tinydrm_of_find_backlight(struct device *dev) ++{ ++ struct backlight_device *backlight; ++ struct device_node *np; ++ ++ np = of_parse_phandle(dev->of_node, "backlight", 0); ++ if (!np) ++ return NULL; ++ ++ backlight = of_find_backlight_by_node(np); ++ of_node_put(np); ++ ++ if (!backlight) ++ return ERR_PTR(-EPROBE_DEFER); ++ ++ if (!backlight->props.brightness) { ++ backlight->props.brightness = backlight->props.max_brightness; ++ DRM_DEBUG_KMS("Backlight brightness set to %d\n", ++ backlight->props.brightness); ++ } ++ ++ return backlight; ++} ++EXPORT_SYMBOL(tinydrm_of_find_backlight); ++ ++/** ++ * tinydrm_enable_backlight - Enable backlight helper ++ * @backlight: Backlight device ++ * ++ * Returns: ++ * Zero on success, negative error code on failure. ++ */ ++int tinydrm_enable_backlight(struct backlight_device *backlight) ++{ ++ unsigned int old_state; ++ int ret; ++ ++ if (!backlight) ++ return 0; ++ ++ old_state = backlight->props.state; ++ backlight->props.state &= ~BL_CORE_FBBLANK; ++ DRM_DEBUG_KMS("Backlight state: 0x%x -> 0x%x\n", old_state, ++ backlight->props.state); ++ ++ ret = backlight_update_status(backlight); ++ if (ret) ++ DRM_ERROR("Failed to enable backlight %d\n", ret); ++ ++ return ret; ++} ++EXPORT_SYMBOL(tinydrm_enable_backlight); ++ ++/** ++ * tinydrm_disable_backlight - Disable backlight helper ++ * @backlight: Backlight device ++ * ++ * Returns: ++ * Zero on success, negative error code on failure. ++ */ ++int tinydrm_disable_backlight(struct backlight_device *backlight) ++{ ++ unsigned int old_state; ++ int ret; ++ ++ if (!backlight) ++ return 0; ++ ++ old_state = backlight->props.state; ++ backlight->props.state |= BL_CORE_FBBLANK; ++ DRM_DEBUG_KMS("Backlight state: 0x%x -> 0x%x\n", old_state, ++ backlight->props.state); ++ ret = backlight_update_status(backlight); ++ if (ret) ++ DRM_ERROR("Failed to disable backlight %d\n", ret); ++ ++ return ret; ++} ++EXPORT_SYMBOL(tinydrm_disable_backlight); ++ ++#if IS_ENABLED(CONFIG_SPI) ++ ++/** ++ * tinydrm_spi_max_transfer_size - Determine max SPI transfer size ++ * @spi: SPI device ++ * @max_len: Maximum buffer size needed (optional) ++ * ++ * This function returns the maximum size to use for SPI transfers. It checks ++ * the SPI master, the optional @max_len and the module parameter spi_max and ++ * returns the smallest. ++ * ++ * Returns: ++ * Maximum size for SPI transfers ++ */ ++size_t tinydrm_spi_max_transfer_size(struct spi_device *spi, size_t max_len) ++{ ++ size_t ret; ++ ++ ret = min(spi_max_transfer_size(spi), spi->master->max_dma_len); ++ if (max_len) ++ ret = min(ret, max_len); ++ if (spi_max) ++ ret = min_t(size_t, ret, spi_max); ++ ret &= ~0x3; ++ if (ret < 4) ++ ret = 4; ++ ++ return ret; ++} ++EXPORT_SYMBOL(tinydrm_spi_max_transfer_size); ++ ++/** ++ * tinydrm_spi_bpw_supported - Check if bits per word is supported ++ * @spi: SPI device ++ * @bpw: Bits per word ++ * ++ * This function checks to see if the SPI master driver supports @bpw. ++ * ++ * Returns: ++ * True if @bpw is supported, false otherwise. ++ */ ++bool tinydrm_spi_bpw_supported(struct spi_device *spi, u8 bpw) ++{ ++ u32 bpw_mask = spi->master->bits_per_word_mask; ++ ++ if (bpw == 8) ++ return true; ++ ++ if (!bpw_mask) { ++ dev_warn_once(&spi->dev, ++ "bits_per_word_mask not set, assume 8-bit only\n"); ++ return false; ++ } ++ ++ if (bpw_mask & SPI_BPW_MASK(bpw)) ++ return true; ++ ++ return false; ++} ++EXPORT_SYMBOL(tinydrm_spi_bpw_supported); ++ ++static void ++tinydrm_dbg_spi_print(struct spi_device *spi, struct spi_transfer *tr, ++ const void *buf, int idx, bool tx) ++{ ++ u32 speed_hz = tr->speed_hz ? tr->speed_hz : spi->max_speed_hz; ++ char linebuf[3 * 32]; ++ ++ hex_dump_to_buffer(buf, tr->len, 16, ++ DIV_ROUND_UP(tr->bits_per_word, 8), ++ linebuf, sizeof(linebuf), false); ++ ++ printk(KERN_DEBUG ++ " tr(%i): speed=%u%s, bpw=%i, len=%u, %s_buf=[%s%s]\n", idx, ++ speed_hz > 1000000 ? speed_hz / 1000000 : speed_hz / 1000, ++ speed_hz > 1000000 ? "MHz" : "kHz", tr->bits_per_word, tr->len, ++ tx ? "tx" : "rx", linebuf, tr->len > 16 ? " ..." : ""); ++} ++ ++/* called through tinydrm_dbg_spi_message() */ ++void _tinydrm_dbg_spi_message(struct spi_device *spi, struct spi_message *m) ++{ ++ struct spi_transfer *tmp; ++ struct list_head *pos; ++ int i = 0; ++ ++ list_for_each(pos, &m->transfers) { ++ tmp = list_entry(pos, struct spi_transfer, transfer_list); ++ ++ if (tmp->tx_buf) ++ tinydrm_dbg_spi_print(spi, tmp, tmp->tx_buf, i, true); ++ if (tmp->rx_buf) ++ tinydrm_dbg_spi_print(spi, tmp, tmp->rx_buf, i, false); ++ i++; ++ } ++} ++EXPORT_SYMBOL(_tinydrm_dbg_spi_message); ++ ++/** ++ * tinydrm_spi_transfer - SPI transfer helper ++ * @spi: SPI device ++ * @speed_hz: Override speed (optional) ++ * @header: Optional header transfer ++ * @bpw: Bits per word ++ * @buf: Buffer to transfer ++ * @len: Buffer length ++ * ++ * This SPI transfer helper breaks up the transfer of @buf into chunks which ++ * the SPI master driver can handle. If the machine is Little Endian and the ++ * SPI master driver doesn't support 16 bits per word, it swaps the bytes and ++ * does a 8-bit transfer. ++ * If @header is set, it is prepended to each SPI message. ++ * ++ * Returns: ++ * Zero on success, negative error code on failure. ++ */ ++int tinydrm_spi_transfer(struct spi_device *spi, u32 speed_hz, ++ struct spi_transfer *header, u8 bpw, const void *buf, ++ size_t len) ++{ ++ struct spi_transfer tr = { ++ .bits_per_word = bpw, ++ .speed_hz = speed_hz, ++ }; ++ struct spi_message m; ++ u16 *swap_buf = NULL; ++ size_t max_chunk; ++ size_t chunk; ++ int ret = 0; ++ ++ if (WARN_ON_ONCE(bpw != 8 && bpw != 16)) ++ return -EINVAL; ++ ++ max_chunk = tinydrm_spi_max_transfer_size(spi, 0); ++ ++ if (drm_debug & DRM_UT_DRIVER) ++ pr_debug("[drm:%s] bpw=%u, max_chunk=%zu, transfers:\n", ++ __func__, bpw, max_chunk); ++ ++ if (bpw == 16 && !tinydrm_spi_bpw_supported(spi, 16)) { ++ tr.bits_per_word = 8; ++ if (tinydrm_machine_little_endian()) { ++ swap_buf = kmalloc(min(len, max_chunk), GFP_KERNEL); ++ if (!swap_buf) ++ return -ENOMEM; ++ } ++ } ++ ++ spi_message_init(&m); ++ if (header) ++ spi_message_add_tail(header, &m); ++ spi_message_add_tail(&tr, &m); ++ ++ while (len) { ++ chunk = min(len, max_chunk); ++ ++ tr.tx_buf = buf; ++ tr.len = chunk; ++ ++ if (swap_buf) { ++ const u16 *buf16 = buf; ++ unsigned int i; ++ ++ for (i = 0; i < chunk / 2; i++) ++ swap_buf[i] = swab16(buf16[i]); ++ ++ tr.tx_buf = swap_buf; ++ } ++ ++ buf += chunk; ++ len -= chunk; ++ ++ tinydrm_dbg_spi_message(spi, &m); ++ ret = spi_sync(spi, &m); ++ if (ret) ++ return ret; ++ }; ++ ++ return 0; ++} ++EXPORT_SYMBOL(tinydrm_spi_transfer); ++ ++#endif /* CONFIG_SPI */ +diff --git a/include/drm/tinydrm/tinydrm-helpers.h b/include/drm/tinydrm/tinydrm-helpers.h +new file mode 100644 +index 0000000000000000000000000000000000000000..78175fe6ab228d7d8b17464e6cf8104ded706958 +--- /dev/null ++++ b/include/drm/tinydrm/tinydrm-helpers.h +@@ -0,0 +1,100 @@ ++/* ++ * Copyright (C) 2016 Noralf Trønnes ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ */ ++ ++#ifndef __LINUX_TINYDRM_HELPERS_H ++#define __LINUX_TINYDRM_HELPERS_H ++ ++struct backlight_device; ++struct tinydrm_device; ++struct drm_clip_rect; ++struct spi_transfer; ++struct spi_message; ++struct spi_device; ++struct device; ++ ++/** ++ * tinydrm_machine_little_endian - Machine is little endian ++ * ++ * Returns: ++ * true if *defined(__LITTLE_ENDIAN)*, false otherwise ++ */ ++static inline bool tinydrm_machine_little_endian(void) ++{ ++#if defined(__LITTLE_ENDIAN) ++ return true; ++#else ++ return false; ++#endif ++} ++ ++bool tinydrm_merge_clips(struct drm_clip_rect *dst, ++ struct drm_clip_rect *src, unsigned int num_clips, ++ unsigned int flags, u32 max_width, u32 max_height); ++void tinydrm_memcpy(void *dst, void *vaddr, struct drm_framebuffer *fb, ++ struct drm_clip_rect *clip); ++void tinydrm_swab16(u16 *dst, void *vaddr, struct drm_framebuffer *fb, ++ struct drm_clip_rect *clip); ++void tinydrm_xrgb8888_to_rgb565(u16 *dst, void *vaddr, ++ struct drm_framebuffer *fb, ++ struct drm_clip_rect *clip, bool swap); ++ ++#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE ++struct backlight_device *tinydrm_of_find_backlight(struct device *dev); ++int tinydrm_enable_backlight(struct backlight_device *backlight); ++int tinydrm_disable_backlight(struct backlight_device *backlight); ++#else ++static inline struct backlight_device * ++tinydrm_of_find_backlight(struct device *dev) ++{ ++ return NULL; ++} ++ ++static inline int tinydrm_enable_backlight(struct backlight_device *backlight) ++{ ++ return 0; ++} ++ ++static inline int ++tinydrm_disable_backlight(struct backlight_device *backlight) ++{ ++ return 0; ++} ++#endif ++ ++size_t tinydrm_spi_max_transfer_size(struct spi_device *spi, size_t max_len); ++bool tinydrm_spi_bpw_supported(struct spi_device *spi, u8 bpw); ++int tinydrm_spi_transfer(struct spi_device *spi, u32 speed_hz, ++ struct spi_transfer *header, u8 bpw, const void *buf, ++ size_t len); ++void _tinydrm_dbg_spi_message(struct spi_device *spi, struct spi_message *m); ++ ++#ifdef DEBUG ++/** ++ * tinydrm_dbg_spi_message - Dump SPI message ++ * @spi: SPI device ++ * @m: SPI message ++ * ++ * Dumps info about the transfers in a SPI message including buffer content. ++ * DEBUG has to be defined for this function to be enabled alongside setting ++ * the DRM_UT_DRIVER bit of &drm_debug. ++ */ ++static inline void tinydrm_dbg_spi_message(struct spi_device *spi, ++ struct spi_message *m) ++{ ++ if (drm_debug & DRM_UT_DRIVER) ++ _tinydrm_dbg_spi_message(spi, m); ++} ++#else ++static inline void tinydrm_dbg_spi_message(struct spi_device *spi, ++ struct spi_message *m) ++{ ++} ++#endif /* DEBUG */ ++ ++#endif /* __LINUX_TINYDRM_HELPERS_H */ + +From 8910f004aba94734c51b9dfc1c7cce0498c17a39 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Sun, 22 Jan 2017 00:30:47 +0100 +Subject: [PATCH 308/333] drm/tinydrm: Add MIPI DBI support +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add support for MIPI DBI compatible controllers. +Interface type C option 1 and 3 are supported (SPI). + +Signed-off-by: Noralf Trønnes +Acked-by: Thierry Reding +[rebased on 4.9] +Signed-off-by: Noralf Trønnes +--- + Documentation/gpu/tinydrm.rst | 12 + + drivers/gpu/drm/tinydrm/Kconfig | 3 + + drivers/gpu/drm/tinydrm/Makefile | 3 + + drivers/gpu/drm/tinydrm/mipi-dbi.c | 1003 ++++++++++++++++++++++++++++++++++++ + include/drm/tinydrm/mipi-dbi.h | 107 ++++ + 5 files changed, 1128 insertions(+) + create mode 100644 drivers/gpu/drm/tinydrm/mipi-dbi.c + create mode 100644 include/drm/tinydrm/mipi-dbi.h + +diff --git a/Documentation/gpu/tinydrm.rst b/Documentation/gpu/tinydrm.rst +index fb256d2178f553937d1c1862965f05ef4e01b770..a913644bfc198d0764e0cbabbcfedf6ac0e6e117 100644 +--- a/Documentation/gpu/tinydrm.rst ++++ b/Documentation/gpu/tinydrm.rst +@@ -28,3 +28,15 @@ Additional helpers + + .. kernel-doc:: drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c + :export: ++ ++MIPI DBI Compatible Controllers ++=============================== ++ ++.. kernel-doc:: drivers/gpu/drm/tinydrm/mipi-dbi.c ++ :doc: overview ++ ++.. kernel-doc:: include/drm/tinydrm/mipi-dbi.h ++ :internal: ++ ++.. kernel-doc:: drivers/gpu/drm/tinydrm/mipi-dbi.c ++ :export: +diff --git a/drivers/gpu/drm/tinydrm/Kconfig b/drivers/gpu/drm/tinydrm/Kconfig +index adf36262bca255b98af6005e3704557e7bb11590..e00bcfca3088a1b89a9c4f91f49c02dbe73a7afc 100644 +--- a/drivers/gpu/drm/tinydrm/Kconfig ++++ b/drivers/gpu/drm/tinydrm/Kconfig +@@ -8,3 +8,6 @@ menuconfig DRM_TINYDRM + help + Choose this option if you have a tinydrm supported display. + If M is selected the module will be called tinydrm. ++ ++config TINYDRM_MIPI_DBI ++ tristate +diff --git a/drivers/gpu/drm/tinydrm/Makefile b/drivers/gpu/drm/tinydrm/Makefile +index 7476ed1a98c09f8739b702cc0fee370b96cac5b1..fe5d4c619e77272ae93ecba48a37ba7f6bd6a893 100644 +--- a/drivers/gpu/drm/tinydrm/Makefile ++++ b/drivers/gpu/drm/tinydrm/Makefile +@@ -1 +1,4 @@ + obj-$(CONFIG_DRM_TINYDRM) += core/ ++ ++# Controllers ++obj-$(CONFIG_TINYDRM_MIPI_DBI) += mipi-dbi.o +diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c b/drivers/gpu/drm/tinydrm/mipi-dbi.c +new file mode 100644 +index 0000000000000000000000000000000000000000..80dfac7ba7ed611cfc1873c2052b26163c2a8e77 +--- /dev/null ++++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c +@@ -0,0 +1,1003 @@ ++/* ++ * MIPI Display Bus Interface (DBI) LCD controller support ++ * ++ * Copyright 2016 Noralf Trønnes ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include