From d86a21c411cd6459dc9baf88032a1cd4348a0a8f Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 24 May 2017 17:42:56 +0100 Subject: [PATCH 1/2] RPi/RPi2: update linux support patches for linux 4.9.29 --- .../patches/linux/linux-01-RPi_support.patch | 3270 ++++++++++++++--- .../patches/linux/linux-02-RPi_clk_fix.patch | 127 - .../patches/linux/linux-01-RPi_support.patch | 3270 ++++++++++++++--- .../patches/linux/linux-02-RPi_clk_fix.patch | 127 - 4 files changed, 5400 insertions(+), 1394 deletions(-) delete mode 100644 projects/RPi/patches/linux/linux-02-RPi_clk_fix.patch delete mode 100644 projects/RPi2/patches/linux/linux-02-RPi_clk_fix.patch diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 842bb93d56..fe35e11120 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 cb8066936db1d23446c81d21d6b4bb55056acc30 Mon Sep 17 00:00:00 2001 +From 79015824ce4b54ba9699bed89dc186b3c50b762e Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 001/237] smsx95xx: fix crimes against truesize +Subject: [PATCH 001/269] 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 32919b70d04f9735170481b00f6ba04a12a40895 Mon Sep 17 00:00:00 2001 +From 732a0b24284eb08d1265a280c39f08e5fa57bd9a Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 002/237] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 002/269] 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 e4dd221bccc5aa86f27569bf87c623972e11df63 Mon Sep 17 00:00:00 2001 +From 43376d16055cd5782e3b3ced15da7c6cd0f5bf60 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 003/237] Allow mac address to be set in smsc95xx +Subject: [PATCH 003/269] 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 b94bb3ddcf5368a84e9dc00864dd63dd8cae8b58 Mon Sep 17 00:00:00 2001 +From caec1794edbfc3ab80abdcb3d65a47f885c8fe87 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 004/237] Protect __release_resource against resources without +Subject: [PATCH 004/269] 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 9269e1fb3edbbe45407f327ec8192095795e2894 Mon Sep 17 00:00:00 2001 +From b486dc6bb81c88815f8ed3fcb9662e1d931341aa Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 005/237] mm: Remove the PFN busy warning +Subject: [PATCH 005/269] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -239,10 +239,10 @@ Signed-off-by: Eric Anholt 1 file changed, 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index e5b159b88e3968857c2b02d4c6bb0589a83930b3..84271c72e2b98ab0135908776cb220c790a9cd4c 100644 +index 5b06fb385dd714847143bc15a07fd086ff343992..83ae950cff28bc79c46b7acf35e0af8a3c7715bc 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7323,8 +7323,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, +@@ -7324,8 +7324,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, /* Make sure the range is really isolated. */ if (test_pages_isolated(outer_start, end, false)) { @@ -252,10 +252,10 @@ index e5b159b88e3968857c2b02d4c6bb0589a83930b3..84271c72e2b98ab0135908776cb220c7 goto done; } -From a3d0748addb1db79bf2938b2f73f2787c8142c0d Mon Sep 17 00:00:00 2001 +From d19c9df4f4c53747d9077428647b8020460f88ec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 006/237] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/269] 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 ef009f2619a7cef201c14af374391cbe2bb804b6 Mon Sep 17 00:00:00 2001 +From 2acf37b5d17ebfbb754f21fb4bfb30cc3cbf91f4 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/237] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 007/269] 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 62aaeef510e9438692129b3dddcbf42f0329736d Mon Sep 17 00:00:00 2001 +From b4d77f69db5e28050db4de7b62217f2aa298ab47 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/237] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 008/269] 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 2cbc1ae91a761b3d13e536207025681a6f9b07aa Mon Sep 17 00:00:00 2001 +From a89119580285bc108c1507723ec5b0ab511be9ff Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 009/237] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 009/269] 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 cbf8e59e110417902cc0a33d80846e92668d0959 Mon Sep 17 00:00:00 2001 +From f48bb049bc5cd3efe385c0202f268b65a1e824f8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 30 Jun 2015 14:12:42 +0100 -Subject: [PATCH 010/237] serial: 8250: Don't crash when nr_uarts is 0 +Subject: [PATCH 010/269] 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 cd51d76d165de45326a6dd1c2de3bfe7bf1cae3f Mon Sep 17 00:00:00 2001 +From 52fceb45cd09ed8a6169a6ef43089e3dcf4b0fff Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 011/237] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 011/269] 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 3c9de5fca5b74c711b41abe6b6395b1f37c65892 Mon Sep 17 00:00:00 2001 +From abef3b2d3950764fc95d2677a60725826a8d8697 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 012/237] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 012/269] 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 feeffef9b6523e4435355de13920f47d01e0b4d8 Mon Sep 17 00:00:00 2001 +From ea406cc2d3889cbdaa8049cd190d030d6340d085 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 013/237] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 013/269] 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 ff925faea8508f57604e78ee21a1025e748c47f0 Mon Sep 17 00:00:00 2001 +From 7d03ef81a2071d491f72c3361b6638efd4e8f490 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 May 2016 12:32:47 +0100 -Subject: [PATCH 014/237] pinctrl-bcm2835: Return pins to inputs when freed +Subject: [PATCH 014/269] 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 0f7a0e45617c0f98ed82c08971d26b95597b8988 Mon Sep 17 00:00:00 2001 +From d85d172287e58dbb99e40666d9822d6db01e1f5c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 015/237] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 015/269] 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 ff0aa7f8e9c8f79130dc2f63b87156683b1b54b1 Mon Sep 17 00:00:00 2001 +From 2586dbdfee1bc39270dd390e5e8bef0e0e506ffc Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 016/237] spi-bcm2835: Disable forced software CS +Subject: [PATCH 016/269] 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 770219991e8e487d9eda05b0aff7d2977b4ba56b Mon Sep 17 00:00:00 2001 +From 2648dc560f4a9c92eed36c537880640ae2de0173 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 017/237] spi-bcm2835: Remove unused code +Subject: [PATCH 017/269] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -1023,10 +1023,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From 6fab21d4b1999469dbf9d4a8428f38fffe98dea2 Mon Sep 17 00:00:00 2001 +From 8fe2ebf8cbfb79647aa63d7cc8d76ffecc585628 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/237] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 018/269] 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 fae16613c032abcd4e39076a1ba35b1d5828a783 Mon Sep 17 00:00:00 2001 +From 14fd76962dee82784349d1a39a7f419e046acf88 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/237] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 019/269] 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 e18dc596cf2447fa9ef7e41b62d9396e29043426..80d35f760b4a4a51e60c355a84d538ba MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From bec04405036485dd65f6fc47e84348ae853562af Mon Sep 17 00:00:00 2001 +From d696a17375d536f12298e92daceb600dc76204d4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 020/237] firmware: Updated mailbox header +Subject: [PATCH 020/269] 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 82f922d58232d082f55ad3b710f82c3210b35683 Mon Sep 17 00:00:00 2001 +From af5f7cea1b68d9493451c236bfd885b874e5abb4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 021/237] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 021/269] 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 5cd10e36b0a4b7a94c019db2595ca6a196c7e8ca Mon Sep 17 00:00:00 2001 +From bc8a0df1f9fa1ab79f34d941d6849d7468d79469 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 022/237] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 022/269] 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 441b7b516839ee78346d0fd9278e4b2ebdf8ae2c Mon Sep 17 00:00:00 2001 +From f4109d9f80f848317c141ea72bf2a3d4d0a411a3 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/237] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 023/269] 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 e15fd788eff11cf229e0049e075a6a3a956398a8 Mon Sep 17 00:00:00 2001 +From 92fd7c705b975f380ed3b4882e24f7f9d32e2f58 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 024/237] reboot: Use power off rather than busy spinning when +Subject: [PATCH 024/269] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1468,10 +1468,10 @@ index 3fa867a2aae672755c6ce6448f4148c989dbf964..80dca8dcd6709034b643c6a3f35729e0 /* -From 6665032094afa9ac298d8f60d8b900169d545509 Mon Sep 17 00:00:00 2001 +From ba07abff2715476c89b49f06063c3a16bd688ea6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 025/237] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 025/269] 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 5151700add5effb47213ab307c1e67a0cdee9c0c Mon Sep 17 00:00:00 2001 +From 7f075a5e8d20e793329859e52b28f83a8aa5fe79 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 026/237] Register the clocks early during the boot process, so +Subject: [PATCH 026/269] 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 107b440406fad9cfec531d1c67921047d96bcb14 Mon Sep 17 00:00:00 2001 +From ea22a6e92e62ecf4466cf0d9eae0ee772e8183dc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 027/237] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 027/269] 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 878e5404accdb54a7dbdb04fca64fd388b519c27 Mon Sep 17 00:00:00 2001 +From a6c91433ce9d179a872ebbd3b6b8712ec0dfd2a1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 028/237] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 028/269] 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 01111f91ba6ca8650464a2d63be3a5efbecc286b Mon Sep 17 00:00:00 2001 +From 0d7da923aa7bb70d36b7dcb55d2285cc18bbeb00 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 029/237] BCM2835_DT: Fix I2S register map +Subject: [PATCH 029/269] 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 fc3efa2b58407f9120532a75a0eb31e3d946e324 Mon Sep 17 00:00:00 2001 +From 4f4d87ae96216a2c749f5c60e5f8b208b9b60e6c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 030/237] Main bcm2708/bcm2709 linux port +Subject: [PATCH 030/269] 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 e6b0c3acbc8ed89dec1a97037fda008a0d65c554 Mon Sep 17 00:00:00 2001 +From 7bff94f3aa10014a64ff85746934309d4834409d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 031/237] Add dwc_otg driver +Subject: [PATCH 031/269] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2546,10 +2546,10 @@ index 358ca8dd784fe43700ae070764fa783500a792fe..abaac7c7142d8887c1516957fc52162c return i; } diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 35fb2bef0e45971568dbbafd2699fe0b1d3a4e5b..28d781209de161d4dd02ee9dcf2b86e43c8858a3 100644 +index 579900640faabb84b68f344951193f860fab598d..1704f1d8c2f5d174e4b059dd7fda6b75e6c3ec0d 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5016,7 +5016,7 @@ static void port_event(struct usb_hub *hub, int port1) +@@ -5025,7 +5025,7 @@ static void port_event(struct usb_hub *hub, int port1) if (portchange & USB_PORT_STAT_C_OVERCURRENT) { u16 status = 0, unused; @@ -62901,10 +62901,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From 720b024065112322f1f8d8adad09e24d9b8b3a33 Mon Sep 17 00:00:00 2001 +From 50fa5fe5e07da8f2d41c99486f4bb8c3b7d6cc7f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 032/237] bcm2708 framebuffer driver +Subject: [PATCH 032/269] 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 5170d3020760803904fb33f948a08e3f2fe9c99a Mon Sep 17 00:00:00 2001 +From b5792c84a6067b64d0e594bde8b3b8e699f166d7 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 033/237] dmaengine: Add support for BCM2708 +Subject: [PATCH 033/269] 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 65050c0d8eee5ee8951136cf37ab79a16714a439 Mon Sep 17 00:00:00 2001 +From 31ef18993d95147073260061725da8b7408a5729 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 034/237] MMC: added alternative MMC driver +Subject: [PATCH 034/269] 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 11a2ec26cc0c9a4a901683bcc5db431495785c73 Mon Sep 17 00:00:00 2001 +From 099cfb48eaa9d6c2aa9009188d25dfe6c9b3e9c3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 035/237] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 035/269] 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 2d193c7dae8a2303209a2fe91fda9ae8533c5f20 Mon Sep 17 00:00:00 2001 +From 4610911ae7d2ab9c6e51ecb5e5fb5545e1acf083 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2016 12:50:33 +0100 -Subject: [PATCH 036/237] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards +Subject: [PATCH 036/269] 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 bf2cb577cae2292835fa1b23d6a7bc4e6e57cd83 Mon Sep 17 00:00:00 2001 +From ff78d0a7689b0a5c4aab838a8acabbad47e0128d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 037/237] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 037/269] 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 007cc2317a385a0ee577ad7c10ae670445961824 Mon Sep 17 00:00:00 2001 +From 476d9005edbd948a8650cd9c191438a51d17ea1a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 038/237] bcm2708: alsa sound driver +Subject: [PATCH 038/269] 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 d65ea31e609388eda13399b5d76fa78b83962c0a Mon Sep 17 00:00:00 2001 +From 97ed9e26481ecb89c62fe2f205308843690fe2d3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 039/237] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 039/269] 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 6ec4aeb958e0f4369097c42dee73a2e3ea56acd2 Mon Sep 17 00:00:00 2001 +From ab0ea172ef575913b63f7893a0c41da050b8ad75 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 040/237] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 040/269] 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 50677b57028c716da928d1f37ee2660d7f047986 Mon Sep 17 00:00:00 2001 +From e52946361a8e8e795a8001c27a8a5381f045c274 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 041/237] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 041/269] 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 37c315c77e0854a6f0d0cbd59e59b423b2dafbd5 Mon Sep 17 00:00:00 2001 +From 08d0749e9c634b24e4aa793b8f4aa4fcb25470be Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 042/237] Add SMI driver +Subject: [PATCH 042/269] Add SMI driver Signed-off-by: Luke Wren --- @@ -82579,10 +82579,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From c45bdc33fcdc9b8fc27f73e5856a0cda534c6df1 Mon Sep 17 00:00:00 2001 +From 11400a6db1c81cbce1bb6dce8d225231f82b6859 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 043/237] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 043/269] 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 04f085b20286938b2edbaee180d154792ed2c8b3 Mon Sep 17 00:00:00 2001 +From 74a992992502f182c76e414c4adc46b48b23dc6c Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 044/237] Add SMI NAND driver +Subject: [PATCH 044/269] 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 703a412e030de0a175b587b44bc0738354de2e4c Mon Sep 17 00:00:00 2001 +From 911feabd59b70016a059eed6aa5d5103a8777eee Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 045/237] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 045/269] 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 3a261e33ae9c95d3772670611169ac85607b5be9 Mon Sep 17 00:00:00 2001 +From 2178915a09cce0414ad54d991a3a648eb7d74f19 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 046/237] Add cpufreq driver +Subject: [PATCH 046/269] 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 c1737e0db817d17df8147e80d45eeb095e27a7a9 Mon Sep 17 00:00:00 2001 +From 321d95c9c599c0c4a3d320c7f22dfa61c19606cf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 047/237] Added hwmon/thermal driver for reporting core +Subject: [PATCH 047/269] 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 f73a86da3d30b9a334b262026ddfe87bfd9ae8c1 Mon Sep 17 00:00:00 2001 +From ec44ec502547d427fb6b1bf148dbde31c3000261 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 048/237] Add Chris Boot's i2c driver +Subject: [PATCH 048/269] 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 1db902a5f1e80f377cf093db330ad9617375ea45 Mon Sep 17 00:00:00 2001 +From ceb9c52e8528b600055dd8125b9247702a3dd0a6 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/237] char: broadcom: Add vcio module +Subject: [PATCH 049/269] 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 53ce66f55753253f3e9adcec3d59640e1c797560 Mon Sep 17 00:00:00 2001 +From 89388ba84f0c79ae29ce5c3ca7fd4cbbc7116648 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/237] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 050/269] 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 9ae97b240e6285f7a47b6d5aa1a13aa01609f3ad Mon Sep 17 00:00:00 2001 +From 0cf6d0049c108b7613c4a902694aad08ba74d4c5 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 051/237] bcm2835: add v4l2 camera device +Subject: [PATCH 051/269] 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 a15ffe27fd20c8835a1404679e70e0a6f4c312a6 Mon Sep 17 00:00:00 2001 +From 94396fb17f4db40a5ad4a3373005013a9a789cb3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 052/237] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 052/269] 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 03ab2da6d25acf5c13aab3dba565e9ad498ef0b4 Mon Sep 17 00:00:00 2001 +From 9cebc064fccb57147ed38a40fbc85450e817912b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:49:15 +0100 -Subject: [PATCH 053/237] scripts/dtc: Update to upstream version 1.4.1 +Subject: [PATCH 053/269] 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 8ade2c47ccf954e386bfec5ff051435975a669dc Mon Sep 17 00:00:00 2001 +From 24eaf4ba165808168d4780fc09554965044399e0 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 054/237] BCM2708: Add core Device Tree support +Subject: [PATCH 054/269] 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 a1262117d6c9ed2e113a57eb004ac3b0bbfb138c Mon Sep 17 00:00:00 2001 +From 9343c744be717bfeb6ff750eedada9ce1962730e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 055/237] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 055/269] 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 71d39d01810797ce92e8f29cf824a64d2e8104d8 Mon Sep 17 00:00:00 2001 +From adfcfa34ccbb5819fced283fcf792d5daf6df55d Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 056/237] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 056/269] 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 d75614a783a4c69c60d7b19bcf141f8503bcfa22 Mon Sep 17 00:00:00 2001 +From 0033178bba78f6f6d2a19a5c6a7b6c201a8e28cf Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 057/237] Speed up console framebuffer imageblit function +Subject: [PATCH 057/269] 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 5797ce2ede3c2df641c6a9e70d410b2f2b098911 Mon Sep 17 00:00:00 2001 +From ad863573d9b4897c225463b30772858427afc96b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 058/237] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 058/269] 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 fa6abecb69649f6d5133765e12e061762b9771c0 Mon Sep 17 00:00:00 2001 +From 57d3f0cf1f645fd8bd8101fa008525c7591f5bf1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 059/237] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 059/269] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -107613,10 +107613,10 @@ index a3d2aad2443f3314396d25086d891eca22317cf8..45db7dee21858fc80e571f463717e51a * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From b3765f904e1b2c27caebe76a5e6b36d725bce865 Mon Sep 17 00:00:00 2001 +From 800020ec64d0125524ad6900ad9e5e48081520b2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 060/237] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 060/269] 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 834b20139f0b0d0e6dd5fc5723bb8392ceb1d5a8 Mon Sep 17 00:00:00 2001 +From d8a72ba362b98060fdb0ac3da3f195f914c40d27 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 061/237] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 061/269] 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 e552ea44bf00da0eaf4cce2b1d16cbb4d4e2f005 Mon Sep 17 00:00:00 2001 +From 9b5ec1177407b8ab94ec2e7379f2b3c76443483d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 062/237] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 062/269] 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 c957dd5e968f1186317182272e2c272710223075 Mon Sep 17 00:00:00 2001 +From 52ee4b138ebb31b1cdc49fac30425d7b6565ee26 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 063/237] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 063/269] 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 2c0fa7eaf95b36dbb20a9e299db0cb28d16659b9 Mon Sep 17 00:00:00 2001 +From 7af6a352ddc4a4aebd73719d86b091aa957e42e3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 064/237] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 064/269] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -110497,10 +110497,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From 635c6c3a8c9bb3e0b3b09864be3804b6159e67fb Mon Sep 17 00:00:00 2001 +From 6383fcdd234ae04b11f5c6d39bf67be87443744b Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 065/237] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 065/269] 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 8d853b78203004907baf19d3ec6a5345bfe0b87b Mon Sep 17 00:00:00 2001 +From 26b6f466e82f8cdf82a037c3b4b7a8bdac1f2bca Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 066/237] ASoC: Add support for Rpi-DAC +Subject: [PATCH 066/269] 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 14c325ff3cb21be8eca83fccc368984d9291efa5 Mon Sep 17 00:00:00 2001 +From 54bce83bc79f84b40e93f42266daa1c116819246 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 067/237] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 067/269] 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 76354bbe47add02b605501aa81621fc5c80bbe3a Mon Sep 17 00:00:00 2001 +From fa059db83ae953d6f104c56b0f118a3c1b95d123 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 068/237] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 068/269] 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 d0a0dd2d070e493b337366f0d711a2906314246c Mon Sep 17 00:00:00 2001 +From 976d11db746a5621b01a13ac1fc1d6829a3033fa Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 069/237] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 069/269] 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 ea022ee87d5cf2f7f0e6b7bdca133d953e99eb10 Mon Sep 17 00:00:00 2001 +From cdb9c4a0d174c8e35d6ff6c0a61cd7bf5a27052b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jul 2016 17:06:50 +0100 -Subject: [PATCH 070/237] iqaudio-dac: Compile fix - untested +Subject: [PATCH 070/269] 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 7a8c28b93fc1defeb5ec83c142d95e316cb7961d Mon Sep 17 00:00:00 2001 +From 32645a1dac87204737663854c325811cd41a413e Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 071/237] Added support for HiFiBerry DAC+ +Subject: [PATCH 071/269] 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. @@ -111761,7 +111761,7 @@ Signed-off-by: DigitalDreamtime create mode 100644 sound/soc/bcm/hifiberry_dacplus.c diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index 925081ec14c04935e1eb17bf2709640c7ae3ae10..2b6fcd8abf79da77aa85fdc53512aafd09f836cb 100644 +index 42042c0a936c0408ee91f5d0b5a0162b6fc710b9..5ae5237accf2ebd80b38065d37984554e3f0f939 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -26,6 +26,7 @@ obj-$(CONFIG_ARCH_CLPS711X) += clk-clps711x.o @@ -112354,10 +112354,10 @@ index 72b19e62f6267698aea45d2410d616d91c1825cb..c6839ef6e16754ed9de2698507b8986a dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 9ae0b65ff30cd16fdc186047bf54dec2d1d3c60c Mon Sep 17 00:00:00 2001 +From 5fa4f242e074f3f7ca33ef31c099c93a6d1cb25b Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 072/237] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 072/269] 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 acfc389b25ea347d0123d42d88522d7817f0d94d Mon Sep 17 00:00:00 2001 +From b620a6dc0b07848c1ececeb779b8ad87b75886f1 Mon Sep 17 00:00:00 2001 From: Ryan Coe Date: Sat, 31 Jan 2015 18:25:49 -0700 -Subject: [PATCH 073/237] Update ds1307 driver for device-tree support +Subject: [PATCH 073/269] Update ds1307 driver for device-tree support Signed-off-by: Ryan Coe --- @@ -113227,10 +113227,10 @@ index 4e31036ee2596dec93accd26f627c5b95591ae9f..b92044cf03e750afa521a93519500e9d .driver = { .name = "rtc-ds1307", -From 8debf3c070d425fa884fadcaad69d1de45fac7d0 Mon Sep 17 00:00:00 2001 +From 4bd384e4f3039ac2b10763e5fce5452d9a85b8a1 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 074/237] Add driver for rpi-proto +Subject: [PATCH 074/269] 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 889f3b4276e597124b2ba594fa92f3ebdb0b45c2 Mon Sep 17 00:00:00 2001 +From 426ea22201429e2d4ea2e32817eb2517d5798f5f Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 075/237] RaspiDAC3 support +Subject: [PATCH 075/269] 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 8d5fe08f07c614db89b03d36e03f4be366e3276d Mon Sep 17 00:00:00 2001 +From d3ffc86453d9c6faaad26f4a1b5c679d140597cd Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 076/237] Add Support for JustBoom Audio boards +Subject: [PATCH 076/269] 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 2e6bca7b964c9cda92cc8ddb69154da052edd12e Mon Sep 17 00:00:00 2001 +From 5ac19586717d639a422648b5e8ab74ee3ab21432 Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 077/237] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 077/269] 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 d7d8f613b5c8fbeb8cf8eb03aa6cdf71d68ef5c3 Mon Sep 17 00:00:00 2001 +From e3a8db083e0d33b1ca2bd8359beb495681192333 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 078/237] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 078/269] 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 0d92055d78e96a0fe7d8d385e4f80bd425fdacbc Mon Sep 17 00:00:00 2001 +From 2ffdbfa91860d7c0fd6e7bb34a65726e35fd41eb Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 079/237] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 079/269] 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 e31dc5d781898f532f2a2142b256a83337e8bffb Mon Sep 17 00:00:00 2001 +From 1cdbc4130e598ad8cd32503e38339ed3a9e99a58 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 080/237] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 080/269] 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 356cfde76cf644fbaec8e2ffc5a5e5b1d1aa62fa Mon Sep 17 00:00:00 2001 +From 8a2204cd8e782bc5d3aaef71b0c1e67d914d0b56 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 081/237] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 081/269] 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 7c8d5ee6164655cd7e6daaba643aac644dcab6f8 Mon Sep 17 00:00:00 2001 +From 48b62591ffd63a84b65d6a31efc9c993db75176f Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 082/237] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 082/269] 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 bc39b1bc2466b34898a1946819b0450aec13d478 Mon Sep 17 00:00:00 2001 +From 8d0c8d76aca2bea8df8fca2fc7bf6b6cd4166782 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 083/237] Support for Blokas Labs pisound board +Subject: [PATCH 083/269] 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 02f7fcf65d264ce919b21ca635f0cac9665706b3 Mon Sep 17 00:00:00 2001 +From 4c67995f8c22187e16ef3ff79e8b07108b8bb007 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 084/237] rpi_display: add backlight driver and overlay +Subject: [PATCH 084/269] 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 b4bcaf4e215e603abf4c9d9af7082b6cb910d6e5 Mon Sep 17 00:00:00 2001 +From 61fb1bd55d8a32aba77c179589a9111cd6b7946f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 085/237] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 085/269] 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 239b27f5bd650568073df24f891be0fcb5d67ab6 Mon Sep 17 00:00:00 2001 +From 3cf12d62433ad0b06197a895e7a5524bc139a661 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 086/237] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 086/269] 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 279365bf09f676b3ecd6f0d01e2f2c3cadc93290 Mon Sep 17 00:00:00 2001 +From 770a744fce53d99aadfa995ea826112730df9584 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 087/237] OF: DT-Overlay configfs interface +Subject: [PATCH 087/269] 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 c024e084635fd30c1703ac0c98e6696c371ac702 Mon Sep 17 00:00:00 2001 +From 7e65bb1597e90ed605c43e65e289064922ea1eec Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 088/237] brcm: adds support for BCM43341 wifi +Subject: [PATCH 088/269] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -118015,10 +118015,10 @@ index d0407d9ad7827cd756b6311410ffe2d9a7cacc78..f1fb8a3c7a3211e8429585861f2f42e0 #define BRCM_CC_4335_CHIP_ID 0x4335 #define BRCM_CC_4339_CHIP_ID 0x4339 -From a7d5d0f1e433e70204cc2e4a09dacaa0083915fb Mon Sep 17 00:00:00 2001 +From 7b41569a2a8b2c8073c9877fd4bcee35672f946f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 089/237] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 089/269] 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 5f5e40fdf42dae8a5bdc07bbc6e204c47d964464 Mon Sep 17 00:00:00 2001 +From b7ef0b7ecd67f609c172d13d969f63ea90aa1618 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 090/237] config: Add default configs +Subject: [PATCH 090/269] 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 af5d5e6c0831f4949b571b50639fe647dfc9a45b Mon Sep 17 00:00:00 2001 +From 444787979857bef59d2c9e7c3c10db80591bfb62 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 091/237] Add arm64 configuration and device tree differences. +Subject: [PATCH 091/269] 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 e6d12b9ef1a29ab5d7475f4d3f0183f5f4af50e7 Mon Sep 17 00:00:00 2001 +From 46933ecb02977c39375083ebae2edb806ea9ba38 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 15:05:11 +0000 -Subject: [PATCH 092/237] vchiq_arm: Tweak the logging output +Subject: [PATCH 092/269] vchiq_arm: Tweak the logging output Signed-off-by: Phil Elwell --- @@ -122167,10 +122167,10 @@ index 2c98da4307dff994a00dc246574ef0aaee05d5da..160db24aeea33a8296923501009c1f02 switch (type) { -From 16340528fe3b320f5e35781da4a51887815d374c Mon Sep 17 00:00:00 2001 +From bc9e796c9a5a6d54ab745ad2c60375a30fea36fa Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 14:16:25 +0000 -Subject: [PATCH 093/237] vchiq_arm: Access the dequeue_pending flag locked +Subject: [PATCH 093/269] 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 3da3be83c95e7b54708fb101987ad26a8303533a Mon Sep 17 00:00:00 2001 +From 51412de6b7ff20c5c2c9ba2bb91e605217f759fd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 20:53:47 +0000 -Subject: [PATCH 094/237] vchiq_arm: Service callbacks must not fail +Subject: [PATCH 094/269] 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 1a03b3264a21dd0c6d0cb149d15abe2903b9baf6 Mon Sep 17 00:00:00 2001 +From 214a4a348965b0dfc215a4eb793fbe8376943073 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Apr 2016 13:49:32 +0100 -Subject: [PATCH 095/237] vchiq_arm: Add completion records under the mutex +Subject: [PATCH 095/269] 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 9d82c45be9f4d1e744bf22a8632564ee66307df4 Mon Sep 17 00:00:00 2001 +From 0178bac3eaccf0df78011c49309d0d7bfec7c610 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 20 Jun 2016 13:51:44 +0100 -Subject: [PATCH 096/237] vchiq_arm: Avoid use of mutex in add_completion +Subject: [PATCH 096/269] 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 4bf3bde8baacd8c008c610c9c123b7442048ac8e Mon Sep 17 00:00:00 2001 +From 5e9ea98df8770d36acc27e6e57f3fdd17220cad1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Oct 2016 10:14:10 -0700 -Subject: [PATCH 097/237] staging/vchi: Convert to current get_user_pages() +Subject: [PATCH 097/269] 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 2828ec478e1dce7be71a3ce5b1529d69ac891dca Mon Sep 17 00:00:00 2001 +From 4918a6e968d302e1572a148205d0899de121deda Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Oct 2016 10:16:03 -0700 -Subject: [PATCH 098/237] staging/vchi: Update for rename of +Subject: [PATCH 098/269] 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 556f3681e1f62442bf52ab2ae0071bc66ee62cf8 Mon Sep 17 00:00:00 2001 +From 98f7ab2f25b47f304b724dab8c432c67b1582369 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Oct 2016 10:21:17 -0700 -Subject: [PATCH 099/237] drivers/vchi: Remove dependency on CONFIG_BROKEN. +Subject: [PATCH 099/269] 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 69c4be81b79e2287ff6f43eb9c2b95ce29ae93b4 Mon Sep 17 00:00:00 2001 +From 056024e6d4a399172716ea53bae6b6726bf4f741 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 100/237] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 100/269] 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 c04cb0547307b93f81960c5c3ef95a13fce083a1 Mon Sep 17 00:00:00 2001 +From 8b94268c00fd97fe98a5149b4a0c5f81ba2b72e6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:18:09 +0100 -Subject: [PATCH 101/237] raspberrypi-firmware: Define the MBOX channel in the +Subject: [PATCH 101/269] 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 f9314abed2e205bf28a7327ce6f550c2977a92f8 Mon Sep 17 00:00:00 2001 +From 2454c6f20b2c892d6807aa67c3840605ffcf64ad Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 102/237] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 102/269] 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 a811d4cbf5516196d62c57ccdd532e173bcaf6a7 Mon Sep 17 00:00:00 2001 +From d590e0a75b1bdf54ec40fa5cba6fe1456fa1c35b 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/237] i2c: bcm2835: Protect against unexpected TXW/RXR +Subject: [PATCH 103/269] 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 5a57e0b3969a1c263d5296759d4b226e7fcd39c2 Mon Sep 17 00:00:00 2001 +From d6ce79564eb31ba3fe92772b6e19eb1d7fff372d 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/237] i2c: bcm2835: Use dev_dbg logging on transfer errors +Subject: [PATCH 104/269] 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 89e078bc9475cb73f84ff3990ec0c11f386bcad5 Mon Sep 17 00:00:00 2001 +From d0042963f07b66371d97dd146f8c0c67f1925de8 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/237] i2c: bcm2835: Can't support I2C_M_IGNORE_NAK +Subject: [PATCH 105/269] 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 b8fb669100aac3d9f6af05e439a2d30b9e6d49bc Mon Sep 17 00:00:00 2001 +From a57cd62b8f6e515caf6ac5f86a22dc0472e1ec1b 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/237] i2c: bcm2835: Add support for Repeated Start +Subject: [PATCH 106/269] 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 adf0d322dd9d7c6dfef75cac8aff33f5ff1bc261 Mon Sep 17 00:00:00 2001 +From a31352ef30492721335e4ca695e4b74d380db80e 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/237] i2c: bcm2835: Support i2c-dev ioctl I2C_TIMEOUT +Subject: [PATCH 107/269] 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 0bcc59e8b82fbdef69e1ba66ae37189abb95dfe6 Mon Sep 17 00:00:00 2001 +From 1e22c3a0caef822de0c25ca6f93562e52a84d992 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/237] i2c: bcm2835: Add support for dynamic clock +Subject: [PATCH 108/269] 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 a65590150a0e8c23b8c895067fa689be7e28f098 Mon Sep 17 00:00:00 2001 +From f3df2e3003af536614907cb0db26d42aa339396d 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/237] i2c: bcm2835: Add debug support +Subject: [PATCH 109/269] 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 9d1a1e1b6879dfe801941172a6f6edd21d8114b2 Mon Sep 17 00:00:00 2001 +From 772a2bc20c10aa7675c8a8eb395e3de8dcd278e8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 31 Dec 2016 14:15:50 +0000 -Subject: [PATCH 110/237] arm64: Add CONFIG_ARCH_BCM2835 +Subject: [PATCH 110/269] 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 f6923268d1117d4d2ac1e9010c1331bed88cd0c8 Mon Sep 17 00:00:00 2001 +From 89f35cb59dd5281e7ad66e7c6afb12229a86de8b Mon Sep 17 00:00:00 2001 From: Alex Tucker Date: Tue, 13 Dec 2016 19:50:18 +0000 -Subject: [PATCH 111/237] Add support for Silicon Labs Si7013/20/21 +Subject: [PATCH 111/269] Add support for Silicon Labs Si7013/20/21 humidity/temperature sensor. --- @@ -124318,10 +124318,10 @@ index f6d134c095af2398fc55ae7d2b0e86456c30627c..31bda8da4cb6a56bfe493a81b9189009 }; }; -From 67eebada5accda08ca69b53129dada6819d3c9cd Mon Sep 17 00:00:00 2001 +From 8f567a8fd736cb2637761ba100d7d759e45401c5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Jan 2017 21:27:46 +0000 -Subject: [PATCH 112/237] Document the si7020 option +Subject: [PATCH 112/269] 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 35683d7fd37ccd5e17050607cde70e60f85aecbd Mon Sep 17 00:00:00 2001 +From b395d0b06ace0b43219f73da425ca2839998ac4e Mon Sep 17 00:00:00 2001 From: Giedrius Trainavicius Date: Thu, 5 Jan 2017 02:38:16 +0200 -Subject: [PATCH 113/237] pisound improvements: +Subject: [PATCH 113/269] 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 5df097366962738fa3a1d564017bcbcfb48d559e Mon Sep 17 00:00:00 2001 +From 6c4ae519e04992c1dd6816e1227234075f21f245 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Tue, 10 Jan 2017 16:05:41 +0000 -Subject: [PATCH 114/237] Add driver_name property +Subject: [PATCH 114/269] 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 2c67c77c3df137be73d70d9600148f074d98240f Mon Sep 17 00:00:00 2001 +From a027a9645d93afa0ae99c46ead3d29851faee82e Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Tue, 10 Jan 2017 16:11:04 +0000 -Subject: [PATCH 115/237] Add driver_name paramater +Subject: [PATCH 115/269] 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 228322f72491e7aa686de8b3587e6679185b960a Mon Sep 17 00:00:00 2001 +From 565dc6bbc215b231ff756b3ba8d67360b52af333 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Jan 2017 13:01:21 +0000 -Subject: [PATCH 116/237] BCM270X_DT: Add pi3-disable-wifi overlay +Subject: [PATCH 116/269] 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 d96d1fb83759c48a3162b8b0015bb97819bbd501 Mon Sep 17 00:00:00 2001 +From 862bda77c8696cf9505e47203c6451d908c17cdd Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 117/237] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 117/269] 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 329b0ca2291207bbca9fd2204e5f93506af8f04e Mon Sep 17 00:00:00 2001 +From 5d408444f1beb55ecb96301fea7d204379840fca Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 118/237] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 118/269] 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 02c145e0707d4da050c1af68e24f6d9bb8b9d051 Mon Sep 17 00:00:00 2001 +From 083def6f1a370b3511679cf710a3df60ef0507f9 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 119/237] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 119/269] 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 45b3cb059efceb1e1853010cd7c31ffa7da6542e Mon Sep 17 00:00:00 2001 +From 4cbe4cc4fd52a6f81e6e84a6d3cbe41d6feffccf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 16 Jan 2017 14:53:12 +0000 -Subject: [PATCH 120/237] BCM270X_DT: Add spi0-cs overlay +Subject: [PATCH 120/269] 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 d6f4f1823202566e17696373b3411bfcbd862ed2 Mon Sep 17 00:00:00 2001 +From cb1dd524a34034616c63f3506c7c8e28a7258f0f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 121/237] spi-bcm2835: Disable forced software CS +Subject: [PATCH 121/269] 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 33c7730d9e8f0348dffbbf695f3b1c3ff23cf37c Mon Sep 17 00:00:00 2001 +From e2d9c3dae2dec8478317936cfbc451477bb5c4ad Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 16 Jan 2017 16:33:54 +0000 -Subject: [PATCH 122/237] config: Add CONFIG_TCP_CONG_BBR See: +Subject: [PATCH 122/269] 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 20ee59f2f4a7a568febeda4b810dbb1ece11a7b5 Mon Sep 17 00:00:00 2001 +From 85276a1c75389311370999f568fcb9c853edf52b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Jan 2017 11:34:58 +0000 -Subject: [PATCH 123/237] BCM270X_DT: Enable UART0 on CM3 +Subject: [PATCH 123/269] 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 40188e4190fcbfcc13dc1c3388f75c448ce6f36e Mon Sep 17 00:00:00 2001 +From 0641d754211b34c6dea150fed3ab4500edf6e100 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Jan 2017 14:39:39 +0000 -Subject: [PATCH 124/237] config: Add CONFIG_MD_M25P80 and CONFIG_MD_SPI_NOR +Subject: [PATCH 124/269] 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 9261ac625bc56b9249d95bcdd9467a0974264981 Mon Sep 17 00:00:00 2001 +From 01042ae26b288e092169323d79fa70b385337e92 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 125/237] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 125/269] 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 2508fd0a4fe2d9c87041c12a3728d3347dd7e073 Mon Sep 17 00:00:00 2001 +From 406bbc0a91e1f18603b396e3901ffc534666a5d7 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 126/237] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 126/269] 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 e4d6e2cac42bd8f1ccee0093a9b576427168927e Mon Sep 17 00:00:00 2001 +From d122d3c1bf7ba8c87b7f732cafdc253a0a8fac6d Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 127/237] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 127/269] 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 584906a742798f26e39b288d4de67e2057e47da6 Mon Sep 17 00:00:00 2001 +From 9b05f4da446413be9549298b19056d978a7a8df6 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:46:04 -0800 -Subject: [PATCH 128/237] ARM64: Use dwc_otg driver by default for USB. +Subject: [PATCH 128/269] 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 d5de8376d9f5707a6f22a39e17e19d4f7aeeb219 Mon Sep 17 00:00:00 2001 +From 0db182d163fca2e9092e3f59a2f368cc92b8f0bd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 23 Jan 2017 17:36:50 +0000 -Subject: [PATCH 129/237] BCM270X_DT: Add reference to audio_pins to CM dtb +Subject: [PATCH 129/269] 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 1a02bd9037dfd6ef7cb1cb6505694d3ca3ef131f Mon Sep 17 00:00:00 2001 +From fd85f1b1fb028559bece5c168e2f295373c2920e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 25 Jan 2017 11:30:38 +0000 -Subject: [PATCH 130/237] config: Add additional network scheduling modules +Subject: [PATCH 130/269] 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 45d4266632a321cb7865e066c2f7b7d115c6a896 Mon Sep 17 00:00:00 2001 +From a00a45f2d0e3558ce7d1b7231cdcac1dd4f50160 Mon Sep 17 00:00:00 2001 From: chris johnson Date: Sun, 22 Jan 2017 03:27:31 +0000 -Subject: [PATCH 131/237] ASoC: A simple-card overlay for ADAU7002 +Subject: [PATCH 131/269] ASoC: A simple-card overlay for ADAU7002 Usage: `dtoverlay=adau7002-simple` --- @@ -126109,10 +126109,10 @@ index 0000000000000000000000000000000000000000..e67e6625d7967abc92cf00cb604d4c12 + }; +}; -From 4f3422aa9928ece5dce37429a0e2eb577fe73b47 Mon Sep 17 00:00:00 2001 +From 407ac69a801b923ea3b802dd46780c95f959afa4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Jan 2017 21:17:23 +0000 -Subject: [PATCH 132/237] config: Add SND_SOC_ADAU7002 codec module +Subject: [PATCH 132/269] 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 72a88dc1f555b8d253218df7c50a69e4ed2a00f7 Mon Sep 17 00:00:00 2001 +From 4a36c6f1d7752712eb2c99d5de16d48eac14f8ef Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Fri, 27 Jan 2017 06:42:42 -0500 -Subject: [PATCH 133/237] Add overlay for mcp3008 adc (#1818) +Subject: [PATCH 133/269] Add overlay for mcp3008 adc (#1818) Some example usage: @@ -126436,10 +126436,10 @@ index 0000000000000000000000000000000000000000..06bf4264959c380d8a9f90f74e780397 + }; +}; -From 00134e84111c2b8bee4dbe8da4618d4e878544a5 Mon Sep 17 00:00:00 2001 +From f357cec2b0951db19978e5ab96be4990a890386b Mon Sep 17 00:00:00 2001 From: ED6E0F17 Date: Fri, 3 Feb 2017 14:52:42 +0000 -Subject: [PATCH 134/237] usb: dwc2: Avoid suspending if we're in gadget mode +Subject: [PATCH 134/269] 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 2bf613918e6cc5f3544244c66c1b40e7c30db1c7 Mon Sep 17 00:00:00 2001 +From 7e11c3845d325b6853f8341523bf6e1d9fafd06c Mon Sep 17 00:00:00 2001 From: JamesH65 Date: Mon, 6 Feb 2017 15:24:47 +0000 -Subject: [PATCH 135/237] gpio_mem: Remove unnecessary dev_info output (#1830) +Subject: [PATCH 135/269] 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 dbc8ddc7f2cc1e8df91094f1dbab20d94299d4b5 Mon Sep 17 00:00:00 2001 +From c679dac6774aa47321b448e5fe9c5df0a524f0b7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:36 +0100 -Subject: [PATCH 136/237] config: Enable regulator support +Subject: [PATCH 136/269] 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 0ca99ad9d5ce543c03109a1a063f4dad2a2b7ed0 Mon Sep 17 00:00:00 2001 +From 90036eb53e5f3912aa06960282a18b60a9b58ce5 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:36 +0100 -Subject: [PATCH 137/237] BCM270x DT: expose 3.3V and 5V system rails +Subject: [PATCH 137/269] BCM270x DT: expose 3.3V and 5V system rails Signed-off-by: Matthias Reichl --- @@ -126590,10 +126590,10 @@ index a46cb4a8b1419edd95e0e07c18b0f373222dc2bf..36d853715f2379e1952ce3d3be58dd67 + }; }; -From d751bc0986050039f15455c46238e5b7e790388a Mon Sep 17 00:00:00 2001 +From b1cf376677e437a354c47e103784001d1f82721f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:36 +0100 -Subject: [PATCH 138/237] BCM270x DT: Consolidate audio card overlays +Subject: [PATCH 138/269] 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 5b1c34da852169c289dbabaca9f4bf7d836656b2 Mon Sep 17 00:00:00 2001 +From 7d144e423572838549369774143f2f396e78391d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 139/237] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 139/269] 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 81728af326fd02feb19689f6d551488d664e206b Mon Sep 17 00:00:00 2001 +From 819acde6b44a9aaa6693b58e37cefafcbf18dc23 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 140/237] config: enable Cirrus Logic Audio Card +Subject: [PATCH 140/269] 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 f0eccd12b58f3757d5829ecca5d61842ec8c1ee7 Mon Sep 17 00:00:00 2001 +From cd8e08e2a75007fd2f9d1bf1ed9ca6d99d47b74a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 141/237] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 141/269] 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 acc648016c30c9f2abb06baf608b673c52649892 Mon Sep 17 00:00:00 2001 +From 983954c6c0113f7b0466e3dfe5002b4e9de74046 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 142/237] sound: Demote deferral errors to INFO level +Subject: [PATCH 142/269] 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 c0bbcd9032613a78aef551ce697cabc792880bad..a2504d8c83d74d7227e65be142a26cc9 goto _err_defer; } -From 295dc75430c67d342cbf068bdcbf04f59f13a6f1 Mon Sep 17 00:00:00 2001 +From df52afbfd051ab9768238de5c9f1a965d03ee4d6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:40:33 +0000 -Subject: [PATCH 143/237] sound: Suppress error message about deferrals +Subject: [PATCH 143/269] 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 48947e9c2f8db7f1918c760f66cddb38bbc850b4 Mon Sep 17 00:00:00 2001 +From ecbaee0e39dcf28b4c6f5dc60375b218e581395b Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 144/237] Update vfpmodule.c +Subject: [PATCH 144/269] 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 1d2d9271b8955bc723d1f6a8018b191e4fef343e Mon Sep 17 00:00:00 2001 +From 664d3815fe18c5215242e27c104efd12aa101fdf Mon Sep 17 00:00:00 2001 From: Martin Cerveny Date: Mon, 13 Feb 2017 17:23:47 +0100 -Subject: [PATCH 145/237] dwc_otg: fix summarize urb->actual_length for +Subject: [PATCH 145/269] 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 5ea7c39f2f0e2c28b982ead1ac5cca479437437b Mon Sep 17 00:00:00 2001 +From c3123867d09256cc952f574d5252258d9adbb902 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 1 Dec 2016 22:00:19 +0100 -Subject: [PATCH 146/237] clk: bcm: Support rate change propagation on bcm2835 +Subject: [PATCH 146/269] 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 c83a0a5ad3a24bf391328e81a0518c5b31a63db8 Mon Sep 17 00:00:00 2001 +From 9a4e2e6a6391621567638620f13baaf983842c16 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 1 Dec 2016 22:00:20 +0100 -Subject: [PATCH 147/237] clk: bcm: Allow rate change propagation to PLLH_AUX +Subject: [PATCH 147/269] 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 79a06b2dee5b6ec750d68fcf07d0baa50adef1b0 Mon Sep 17 00:00:00 2001 +From 775c2c3bc8c33fe331211f26cd0b9b63971fbfd9 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Mon, 12 Dec 2016 09:00:53 +0100 -Subject: [PATCH 148/237] clk: bcm: Fix 'maybe-uninitialized' warning in +Subject: [PATCH 148/269] 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 9b61b5f1335a69bab36b6dbb7b019eed70d5f99c Mon Sep 17 00:00:00 2001 +From 622fc529526eea0833138036509ed311d40bdf8b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 18 Jan 2017 07:31:55 +1100 -Subject: [PATCH 149/237] clk: bcm2835: Don't rate change PLLs on behalf of DSI +Subject: [PATCH 149/269] 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 b46ebd4ac9e2ed4a3345d58c5e0fa0fff6751607 Mon Sep 17 00:00:00 2001 +From 30801d8b04094f6b70029e1f44e68c3fc7fc4787 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 18 Jan 2017 07:31:56 +1100 -Subject: [PATCH 150/237] clk: bcm2835: Register the DSI0/DSI1 pixel clocks. +Subject: [PATCH 150/269] 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 27a84d8e2367ac6e02e11846a44937374f9a4da5 Mon Sep 17 00:00:00 2001 +From becfa52776c0b6841c5da28f76ee381271480872 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 18 Jan 2017 07:31:57 +1100 -Subject: [PATCH 151/237] clk: bcm2835: Add leaf clock measurement support, +Subject: [PATCH 151/269] 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 0809f622983067a31ea4eb5cf71e55ca17237fce Mon Sep 17 00:00:00 2001 +From 9b69201bb11e75d042085cf0ad87434d1a02f32a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2016 13:46:13 -0700 -Subject: [PATCH 152/237] drm/panel: Add support for the Raspberry Pi 7" +Subject: [PATCH 152/269] 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 f2c949af5bfff2fdfca4f2e9561824a781121b3e Mon Sep 17 00:00:00 2001 +From 1b5605926a00a2f41fa422a3b3b188770cac6696 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 12:29:45 -0700 -Subject: [PATCH 153/237] BCM270X: Add the DSI panel to the defconfig. +Subject: [PATCH 153/269] 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 eadc4d16bc211c3e80a2c76916987d738c784d4d Mon Sep 17 00:00:00 2001 +From 235128aeb90a0fcce31f7437245211c808239311 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 13 Dec 2016 15:15:10 -0800 -Subject: [PATCH 154/237] ARM: bcm2835: dt: Add the DSI module nodes and +Subject: [PATCH 154/269] 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 458e495e84b709def416e208ddba0fd2d5305a05 Mon Sep 17 00:00:00 2001 +From 70321de284e9cac0b2222c68c01de38f9de3ca0e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 15:09:35 -0700 -Subject: [PATCH 155/237] BCM270X: Enable the DSI panel node in the VC4 +Subject: [PATCH 155/269] 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 1f250ad365d5039de93eb01a5162f36edc480183 Mon Sep 17 00:00:00 2001 +From 61da2e14ac9447cc4f1a9e81ed4a485724293728 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 3 Nov 2016 18:53:10 -0700 -Subject: [PATCH 156/237] drm/vc4: Add support for rendering with ETC1 +Subject: [PATCH 156/269] 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 1f9a23e602c9c57524af55bfc17e05e53fa5f041 Mon Sep 17 00:00:00 2001 +From 4baae56b542704259ba0853709bb2a2b67ce97c7 Mon Sep 17 00:00:00 2001 From: Jonas Pfeil Date: Tue, 8 Nov 2016 00:18:39 +0100 -Subject: [PATCH 157/237] drm/vc4: Add fragment shader threading support +Subject: [PATCH 157/269] 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 99bcd348931c80b9b53ca04f2bffc936584eab8c Mon Sep 17 00:00:00 2001 +From d192b83ab1c6af390d4cc2692ca833621b697058 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:09 +0100 -Subject: [PATCH 158/237] drm: Add TV connector states to drm_connector_state +Subject: [PATCH 158/269] 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 ac9d7d8e0e43a807e9fc9a0b66de5f26b49d3348..2645e803857253ff98eb94aa1bacc825 /** -From 818cb71d370a8f726947de5c0e5edce65e9a25ff Mon Sep 17 00:00:00 2001 +From f87fb38e402437d64c20ff9064be77d0fcbb53ca Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:08 +0100 -Subject: [PATCH 159/237] drm: Turn DRM_MODE_SUBCONNECTOR_xx definitions into +Subject: [PATCH 159/269] 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 b1a717494c26ed03332bbde342c0911c23e59318 Mon Sep 17 00:00:00 2001 +From 3cc14c6165143f9086528f14318e496f31ae1370 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:10 +0100 -Subject: [PATCH 160/237] drm/vc4: Add support for the VEC (Video Encoder) IP +Subject: [PATCH 160/269] 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 cdc23ee39e860afd34aaea8ab667f7e72df82c75 Mon Sep 17 00:00:00 2001 +From e5719838142ba3ac3e07a6b51bc28706bf66661d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 15 Sep 2016 15:25:23 +0100 -Subject: [PATCH 161/237] drm/vc4: Set up SCALER_DISPCTRL at boot. +Subject: [PATCH 161/269] 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 6b3026786493925e1feefb12b0798338add1220a Mon Sep 17 00:00:00 2001 +From 96cae40ca7cf676d5225c1d2279b3364cd13eb44 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 10 Feb 2016 16:17:29 -0800 -Subject: [PATCH 162/237] drm/vc4: Add support for feeding DSI encoders from +Subject: [PATCH 162/269] 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 0156e797c22c0a4e6014297a980d790b45dd2758 Mon Sep 17 00:00:00 2001 +From 75985f22a474066700ecc466f480c5fe9d2b1f19 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 10 Feb 2016 11:42:32 -0800 -Subject: [PATCH 163/237] drm/vc4: Add DSI driver +Subject: [PATCH 163/269] 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 f78a65cebf37f2e4751e8660dff24ab57d749ba6 Mon Sep 17 00:00:00 2001 +From 762f3576707e21a2ed1bb77a8571468016fb8451 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:12 +0100 -Subject: [PATCH 164/237] ARM: dts: bcm283x: Add VEC node in bcm283x.dtsi +Subject: [PATCH 164/269] 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 0de628346c6d6a01f101391a23d725543ffc9d89 Mon Sep 17 00:00:00 2001 +From 9cef0c51873c19bb846dd1eeb909bbb6d6706130 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:13 +0100 -Subject: [PATCH 165/237] ARM: dts: bcm283x: Enable the VEC IP on all +Subject: [PATCH 165/269] 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 e0bd7b07e560306b0aa2b7c9a42e6bf984928a16 Mon Sep 17 00:00:00 2001 +From 5c15341b00c9ca553477984365cedb69971ec5d2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 23 Jan 2017 11:41:54 -0800 -Subject: [PATCH 166/237] BCM270X: Disable VEC unless vc4-kms-v3d is present. +Subject: [PATCH 166/269] 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 443bc21a0d74a27037eeafca5e0adade5d73b2eb Mon Sep 17 00:00:00 2001 +From daa86e71b7c1e317e960bcce7bea1f251593e4f4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 167/237] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 167/269] 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 59c3f3c5af2c0bd5186bafe7f1c0389b18a2dbd6 Mon Sep 17 00:00:00 2001 +From db0a0b4de860ec95379ed850ff075fd0bf0eff9c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 168/237] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 168/269] 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 ef3cd45b62eb24823495d045fbcd0404316386ee Mon Sep 17 00:00:00 2001 +From ef91655787d87e1bd96bb59a032e9f5576b5e4ab Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 169/237] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 169/269] 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 20736ccfd02e80dc0f7b7fdff8fd879f3811960a Mon Sep 17 00:00:00 2001 +From ef5e5782a94171e684b0507967336e80070c0b96 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 8 Feb 2017 15:00:54 -0800 -Subject: [PATCH 170/237] drm/vc4: Fulfill user BO creation requests from the +Subject: [PATCH 170/269] 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 3f6704cf6608d7be47637c6aa585de087b7f74ee..5ec14f25625dde6fd61e10415092fa25 cma_obj = drm_gem_cma_create(dev, size); -From 6bfa14fcdb8b38474a3ba3cfe17a4161e4339562 Mon Sep 17 00:00:00 2001 +From de9cd3e6a506fbbb3c5e4d29ade8c257cd9e7e5b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 9 Feb 2017 09:23:34 -0800 -Subject: [PATCH 171/237] drm/vc4: Fix OOPSes from trying to cache a partially +Subject: [PATCH 171/269] drm/vc4: Fix OOPSes from trying to cache a partially constructed BO. If a CMA allocation failed, the partially constructed BO would be @@ -134145,10 +134145,10 @@ index 5ec14f25625dde6fd61e10415092fa25527cc151..fd83a28076564b9ea5cf0f2ba29b884e if (!cache_list) { vc4_bo_destroy(bo); -From 55604ce9775b79ddd7dff7b09e5617b7869f1d23 Mon Sep 17 00:00:00 2001 +From b6685b56027450e43707136f7098150951bada75 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 12 Oct 2015 08:58:08 -0700 -Subject: [PATCH 172/237] drm/vc4: Verify at boot that CMA doesn't cross a +Subject: [PATCH 172/269] 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 @@ -134231,10 +134231,10 @@ index c960459eda7e640ea55be1d4ed80c6a9125a8877..b50245282a18bc790da0f901944c2e67 static unsigned long cma_bitmap_aligned_mask(const struct cma *cma, int align_order) -From 15127bcdcf0630b967af1f6184229a5769753afa Mon Sep 17 00:00:00 2001 +From 80374437351a33f7d64c01fef4e4bfb1c4c042a3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 09:47:11 +0000 -Subject: [PATCH 173/237] BCM270X_DT: Add SMSC ethernet controller to DT +Subject: [PATCH 173/269] 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 @@ -134297,10 +134297,10 @@ index d29ba72de727fe26b5a586e0bd0a41181c68ae04..78101849441679baf3624cf67a0ff7a2 / { model = "Raspberry Pi 3 Model B"; -From 4c8d6d724fff8999b4c71da491efdba69dc0193e Mon Sep 17 00:00:00 2001 +From b0cb31fe043a29bab491cf2dffd206ccf0e0ad9b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 174/237] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 174/269] 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 @@ -134339,10 +134339,10 @@ index 4051780f64f44a5ce522babe6c371a1beb79a824..b081673abcb4aa72d70d8e0834b608f6 /* locate firmware version number for ethtool */ ptr = strrchr(buf, ' ') + 1; -From 9a0146372d3922d3c8733239249cff90f3eb5273 Mon Sep 17 00:00:00 2001 +From 513c64a4d56f1264613dfede5291d4ef3d85c9fe Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 175/237] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 175/269] 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 @@ -134370,10 +134370,10 @@ index 136e5d28f9eaeaa10d45382a0f31da9f4adb91ef..4192863778c8009aacfc9a49ee38ad1c divider->data = data; -From 8d02ed58f2633bbfc16b7cfb9f32e5718d72c443 Mon Sep 17 00:00:00 2001 +From c0f136cc0137125ac2d61bdb82b25fa14cfb414a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 176/237] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 176/269] 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, @@ -134508,10 +134508,10 @@ index 4192863778c8009aacfc9a49ee38ad1ca62a01e4..6b245357e4e93c19a839eee92a82f95a sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From f04f16b8fbf827753cbb0999f337792fe477af30 Mon Sep 17 00:00:00 2001 +From 2ec24e41fc219ca78b2f308966339b2a6d1f0d68 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 20 Feb 2017 20:01:16 +0100 -Subject: [PATCH 177/237] dmaengine: bcm2835: Fix cyclic DMA period splitting +Subject: [PATCH 177/269] dmaengine: bcm2835: Fix cyclic DMA period splitting The code responsible for splitting periods into chunks that can be handled by the DMA controller missed to update total_len, @@ -134550,10 +134550,10 @@ index 80d35f760b4a4a51e60c355a84d538bac3892a4d..599c218dc8a73172dd4bd4a058fc8f95 /* calculate the length that remains to reach period_length */ control_block->length = period_len - *total_len; -From 50a4a643f0c8c0bd3b26c108ae0721b894ef5255 Mon Sep 17 00:00:00 2001 +From 28467850c080bc39eb4c2b312000d7d837615b3b Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Thu, 23 Feb 2017 11:56:20 -0500 -Subject: [PATCH 178/237] Add ads1015 driver to config +Subject: [PATCH 178/269] Add ads1015 driver to config --- arch/arm/configs/bcm2709_defconfig | 3 ++- @@ -134607,10 +134607,10 @@ index 9a9cd1cdcb2f76d4408568681ec80885293bae48..554fed3a4fbfd1940422b808046c6d2b CONFIG_FB=y CONFIG_FB_BCM2708=y -From fc20fb8d93973a8f9f94d8198fda00d8496dc1c9 Mon Sep 17 00:00:00 2001 +From 6c66d4fba197c6d4fb21b07b08e151a34a0a5981 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 27 Jan 2017 18:49:30 +0000 -Subject: [PATCH 179/237] config: add slcan kernel module +Subject: [PATCH 179/269] config: add slcan kernel module See: https://github.com/raspberrypi/linux/issues/1819 --- @@ -134643,10 +134643,10 @@ index 554fed3a4fbfd1940422b808046c6d2b1f508394..99888182259b280790a7506b248a8130 CONFIG_IRDA=m CONFIG_IRLAN=m -From ee72678fe2122b09d4de11a6e73c981147fbb72d Mon Sep 17 00:00:00 2001 +From 47708a39cde7788759726c36b8f70405725577dd Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 180/237] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 180/269] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -134910,10 +134910,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From afb54b61f48a3bfa0fb446138a5651e2a245d0a9 Mon Sep 17 00:00:00 2001 +From 569f6ff5c211030fc48f0333ecedf72b4451ff43 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 26 Feb 2017 01:13:02 +0000 -Subject: [PATCH 181/237] SQUASH: Add LOCO-V2 overlay from last commit +Subject: [PATCH 181/269] SQUASH: Add LOCO-V2 overlay from last commit --- .../dts/overlays/dionaudio-loco-v2-overlay.dts | 49 ++++++++++++++++++++++ @@ -134976,10 +134976,10 @@ index 0000000000000000000000000000000000000000..a1af93de30119734e8d14cbd454589d3 + }; +}; -From a8c871a4d8b6bc509e4913b6a5169b5afc42ab48 Mon Sep 17 00:00:00 2001 +From a761535375a9a35f93e747d37faf323ae6801aa9 Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 182/237] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 182/269] 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. @@ -135328,10 +135328,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From 90d99181e7634f82d0256ee21f0d5f4fb697a96c Mon Sep 17 00:00:00 2001 +From 27f214e9a240c68ebc591e9301aa21a41f63d84f Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Wed, 1 Mar 2017 07:22:24 -0500 -Subject: [PATCH 183/237] Add overlay for ads1115 ADCs (#1864) +Subject: [PATCH 183/269] Add overlay for ads1115 ADCs (#1864) --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -135495,10 +135495,10 @@ index 0000000000000000000000000000000000000000..7c16a1af3172d14e1a976b1776b9f167 + }; +}; -From f8b4049a41ea47546a3fc3c79b4e513671a8bb80 Mon Sep 17 00:00:00 2001 +From 04733c82affa7a309018d1eaac371d3c38326f5d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:06:53 +0000 -Subject: [PATCH 184/237] clk-bcm2835: Correct the prediv logic +Subject: [PATCH 184/269] 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. @@ -135525,10 +135525,10 @@ index 6b245357e4e93c19a839eee92a82f95aec996e4e..8ea29fbc8dc451b9cff502bc1a918ae6 return bcm2835_pll_rate_from_divisors(parent_rate, ndiv, fdiv, pdiv); } -From 13434358519f09482dabb9160395bcc36d2916b7 Mon Sep 17 00:00:00 2001 +From 9dd418e3b4eb50ce763bcbcf4953cb8b75c2d14e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 185/237] amba_pl011: Round input clock up +Subject: [PATCH 185/269] 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 @@ -135614,10 +135614,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 26fa531ed7fef11ba6a8f2f8a3cabe85a4be442e Mon Sep 17 00:00:00 2001 +From a4391cb7bb1e9b9ab427ab0d3683a970eee19280 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 13 Feb 2017 11:10:50 +0000 -Subject: [PATCH 186/237] BCM2835-V4L2: Ensure H264 header bytes get a sensible +Subject: [PATCH 186/269] BCM2835-V4L2: Ensure H264 header bytes get a sensible timestamp H264 header come off VC with 0 timestamps, which means they get a @@ -135706,10 +135706,10 @@ index e6aeb7e7e381de65d6c6586205069a4c5cd33274..7f8a68916a67001bc9241bce2928519a struct vchiq_mmal_port *port; /* port being used for capture */ /* camera port being used for capture */ -From 49d310b50699c6f78eccfdd45116756b1fa7d8e9 Mon Sep 17 00:00:00 2001 +From 5334a85c956c34c35462d0dd20704b2e57283342 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 13 Feb 2017 13:11:41 +0000 -Subject: [PATCH 187/237] BCM2835-V4L2: Correctly denote key frames in encoded +Subject: [PATCH 187/269] BCM2835-V4L2: Correctly denote key frames in encoded data Forward MMAL key frame flags to the V4L2 buffers. @@ -135734,10 +135734,10 @@ index e69731320f4e59249933bc21843913deab4a1209..6bdec0806126044cf7146d53326e4da5 "Buffer has ts %llu", dev->capture.last_timestamp); -From 59e9fd898af8b0cbe625e6f09730094ba1456765 Mon Sep 17 00:00:00 2001 +From 8f780a7c3e2b50d36405cb523b14cc9433f5dc67 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 188/237] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 188/269] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -136155,10 +136155,10 @@ index 2859db09e25bb945251e85edb39bc43430857168..56b3f0fe1ea3d22fcf207e6df90b640e /* Dispmanx TAGS */ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, -From 1e7c344ccec38ab39766eead40d96cdd731ea72e Mon Sep 17 00:00:00 2001 +From 97c97764b0c9f476503170f31d13d710e770b809 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 May 2016 16:30:05 +0100 -Subject: [PATCH 189/237] BCM270X_DT: Add bcm2708-rpi-0-w.dts +Subject: [PATCH 189/269] 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. @@ -136386,10 +136386,10 @@ index 0000000000000000000000000000000000000000..db0f99ddf2f46e83827d56e21c4846dd + }; +}; -From 2dc3d4e4cb05188a0bbd64d47da1a1cbbe1c08ec Mon Sep 17 00:00:00 2001 +From 4a49a02337cf20f4e58e331dd280cc11ffca3137 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 190/237] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 190/269] 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 @@ -136517,10 +136517,10 @@ index 8ea29fbc8dc451b9cff502bc1a918ae65fb1b306..fe3298b54cdfb96bd90fb4f39e13921d for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From 785c9a7803546af956b795f8e3b3f66463e121aa Mon Sep 17 00:00:00 2001 +From 9212faa329aed60c9bfc0130923a808934400b41 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 7 Mar 2017 19:48:23 +0000 -Subject: [PATCH 191/237] config: Add CONFIG_CRYPTO_LZ4 +Subject: [PATCH 191/269] config: Add CONFIG_CRYPTO_LZ4 Enabling this options allows LZ4 memory compression. @@ -136557,10 +136557,10 @@ index 2c124bbfa343bf2c160250d055e1509678a80850..1748fcb84bdc3853ffccba93a41cd2dc # CONFIG_CRYPTO_HW is not set CONFIG_ARM_CRYPTO=y -From 493fb5163721bf86c0f6392e967cd6aa55a84a45 Mon Sep 17 00:00:00 2001 +From 3463f2cc120c004b83ff1aa772cf0c45b21c0afe Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 23 Feb 2017 17:54:31 -0800 -Subject: [PATCH 192/237] drm/vc4: Don't wait for vblank when updating the +Subject: [PATCH 192/269] drm/vc4: Don't wait for vblank when updating the cursor Commonly used desktop environments such as xfce4 and gnome @@ -136617,10 +136617,10 @@ index 881bf489478b01b34e9e4df6013fe608c42215ee..14d69bb4967dedcd3bbc475639a8c27e * expected change from the drm_mode_cursor_universal() * helper. -From 60e2c00cff1cc4fcba55d815f77c69c41ffe7d48 Mon Sep 17 00:00:00 2001 +From 5afef1347eea10e84cced76f1d0a2b26c6266502 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 6 Mar 2017 12:17:16 -0800 -Subject: [PATCH 193/237] panel-raspberrypi-touchscreen: Round up clk rate to +Subject: [PATCH 193/269] panel-raspberrypi-touchscreen: Round up clk rate to fix DSI panel. Commit 488f9bc8e3def93e0baef53cee2026c2cb0d8956 slightly increased the @@ -136655,10 +136655,10 @@ index 1a536fe4d040f5fafe324baee110a6225dd0be08..7f315f04b109621ca7f3861fdd8acf95 .hsync_start = HACT + HFP, .hsync_end = HACT + HFP + HSW, -From eeacc0d121d040ffe81783a2bdb58762f4d8abaa Mon Sep 17 00:00:00 2001 +From 573328094f77dd6c6b79ad91e1723ec360b5b673 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 194/237] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 194/269] Add support for the AudioInjector.net Octo sound card --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -137129,10 +137129,10 @@ index 0000000000000000000000000000000000000000..9effea725798640887755dfa688da453 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From 7c90c6d9c0a0cdf586358cee036dd369f3711461 Mon Sep 17 00:00:00 2001 +From 624cbd152a9dfb1705adf73d59f0a0eada4e9888 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 195/237] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 195/269] 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. @@ -137161,10 +137161,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..c8dd065aea8414b47aa2ea4fc04168b5 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From 70e55629cb63f0613b6a090380c46e8834fe55d2 Mon Sep 17 00:00:00 2001 +From 5f8dbf43641bbdbf6b98838e50035f912ddc6066 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 Mar 2017 14:43:15 +0000 -Subject: [PATCH 196/237] bcm2835-v4l2: Fix buffer overflow problem +Subject: [PATCH 196/269] bcm2835-v4l2: Fix buffer overflow problem https://github.com/raspberrypi/linux/issues/1447 port_parameter_get() failed to account for the header @@ -137200,10 +137200,10 @@ index 781322542d5a8295f3d7d5a3eaaf0cac29930c30..e4b243b33f58913f3d2952c97d2a2e3f * but report true size of parameter */ -From d231d55217800d1734eb16d80a7217d826df9efa Mon Sep 17 00:00:00 2001 +From fa4d8eb488f238a4176a01283151c657254ae0af Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 197/237] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 197/269] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -137228,10 +137228,10 @@ index 3635b8662724569d3338ebb620d603c644fe38b7..822fefeb1cd0aa2dc8398f885cf28e9b dtbs: prepare scripts -From 993e0ab68895e604488ddd9db4d4e0acac6e3542 Mon Sep 17 00:00:00 2001 +From 898f4c920f2b1051fce8884a886bc44e49ced7e3 Mon Sep 17 00:00:00 2001 From: John Greb Date: Wed, 8 Mar 2017 15:12:29 +0000 -Subject: [PATCH 198/237] Match dwc2 device-tree fifo sizes to the hardware +Subject: [PATCH 198/269] 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. @@ -137262,10 +137262,10 @@ index 527abc9f0ddf71f4dc7d58336d87684c931cc2f3..265a16bab008453edba198cf2366c423 }; }; -From d36ced802c0124557c564deeac558d79bf48f8dd Mon Sep 17 00:00:00 2001 +From a431769232a1185b995d57027f9d2a6b5731690e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 5 Mar 2017 11:46:41 +0000 -Subject: [PATCH 199/237] config: Add RTL8XXXU wifi module +Subject: [PATCH 199/269] config: Add RTL8XXXU wifi module --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -137297,10 +137297,10 @@ index bf52db66afb2aa18d6f6f9fb9b64dcbd97e24521..4bc0f8b52b7f39f99d650cb9c4cdfdba CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From d575e8be358d5ae2bd75c62d5bf70d246a738a85 Mon Sep 17 00:00:00 2001 +From 1129ad96ef886cbbb908887f4e08fe68926c3b64 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Mar 2017 12:18:20 +0000 -Subject: [PATCH 200/237] BCM270X_DT: Invert Pi3 power LED to match fw change +Subject: [PATCH 200/269] BCM270X_DT: Invert Pi3 power LED to match fw change Firmware expgpio driver reworked due to complaint over hotplug detect. @@ -137326,10 +137326,10 @@ index 173103aaca503833b5e29530ed94e14c7cab0444..b21d2866d204adc533b46d581028f290 }; -From ae3e0f5d2246ed71ad9b567a95c523bbce0b7298 Mon Sep 17 00:00:00 2001 +From 327873c238d5f0f023e56597026339ba1ac32c18 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Mar 2017 09:10:05 +0000 -Subject: [PATCH 201/237] BCM270X_DT: Add lm75 to i2c-sensor overlay +Subject: [PATCH 201/269] BCM270X_DT: Add lm75 to i2c-sensor overlay See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=177236 @@ -137392,10 +137392,10 @@ index 31bda8da4cb6a56bfe493a81b918900995fb0589..606b2d5012abf2e85712be631c42ea40 }; }; -From 5c3d7b7821bf428b2d8fdc69ff43fd5e156af9b7 Mon Sep 17 00:00:00 2001 +From 8f06ec5e33e3464eabfca97c08dcaa838ae0d6de Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Mar 2017 14:23:06 +0000 -Subject: [PATCH 202/237] bcm2835-gpio-exp: Copy/paste error adding base twice +Subject: [PATCH 202/269] 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. @@ -137421,10 +137421,10 @@ index 681a91492d4c33bdfd42416e069218e8611cc4d9..d68adafaee4ad406f45f4ff0d6b7c1ad set.state = val; /* Output state */ -From 09b7e8d0f8ef8847ff48b8fa663117516a705de6 Mon Sep 17 00:00:00 2001 +From fc57975bd64ad13252abdaa2741dba5387f67cb9 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Mar 2017 11:12:40 +0000 -Subject: [PATCH 203/237] bcm2835-camera: Correct port_parameter_get return +Subject: [PATCH 203/269] bcm2835-camera: Correct port_parameter_get return value The API for port_parameter_get() requires that the @@ -137482,10 +137482,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 c8806ad9d2ef6ff2c236086c6763dcd7edcb57e1 Mon Sep 17 00:00:00 2001 +From 4bed6cdea45f3ae764c67ad7660e7ca54675c45d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Mar 2017 12:24:41 +0000 -Subject: [PATCH 204/237] config: Make spidev a loadable module +Subject: [PATCH 204/269] 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. @@ -137541,10 +137541,10 @@ index 4bc0f8b52b7f39f99d650cb9c4cdfdba6fac59dd..8d64ce4465f6f276b2d58ed1e2e45fb0 CONFIG_SND_SIMPLE_CARD=m CONFIG_SOUND_PRIME=m -From 0512363b0d40100cc49eac637f203bab682925f4 Mon Sep 17 00:00:00 2001 +From 29ab3cd7b0f4c536cdee960a22fa7eacde342412 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 205/237] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 205/269] 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 @@ -137569,10 +137569,10 @@ index 9824cdd04b0c11c45b8cedd0187a0eba8f1dc2d4..c0b88d43df0de283c58ed6158680bc7e config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From 7921bb046a51c3e23dc5f419d4ce3d1fff0a028d Mon Sep 17 00:00:00 2001 +From e453f0cd398e6efe9d34b885ec58ce1ca413af3a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 206/237] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 206/269] 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 @@ -137736,10 +137736,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From 288876dcd451f50a68747681185df3fbbb46ce46 Mon Sep 17 00:00:00 2001 +From 4b0a5af47900cc059c0685a4269e3f17d35a6d17 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 17:08:44 +0000 -Subject: [PATCH 207/237] BCM270X_DT: Enable AUX interrupt controller in DT +Subject: [PATCH 207/269] BCM270X_DT: Enable AUX interrupt controller in DT See: https://github.com/raspberrypi/linux/issues/1484 https://github.com/raspberrypi/linux/issues/1573 @@ -137792,10 +137792,10 @@ index d3cc586661f903e67a840189c0446aa80e16a44e..348c71bbc913644c04bab43fcb95abe9 #address-cells = <1>; #size-cells = <0>; -From f3c618cb8e9f8c8675a4f09a787d01197f672d1d Mon Sep 17 00:00:00 2001 +From 5f68e7371778455f08e928b4d56971ca7f13f1b9 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 27 Mar 2017 22:26:49 +1100 -Subject: [PATCH 208/237] Audioinjector addons dts : add reset and regulators +Subject: [PATCH 208/269] Audioinjector addons dts : add reset and regulators for the Octo product. This patch adds a reset GPIO for the AudioInjector.net octo sound card. @@ -137862,10 +137862,10 @@ index dbf2f3cacc2e6bf5b7116fbadd97f2781580a79c..a36fa85a61f7eaab35ca481ed1dac621 codec = <&cs42448>; status = "okay"; -From c1d6139d9dc649f1105494e4e4f9ea6e44a0ef8a Mon Sep 17 00:00:00 2001 +From d81f6a1d789f57d1c36b91258c08a69f4eeb0815 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 27 Mar 2017 22:27:26 +1100 -Subject: [PATCH 209/237] AudioInjector Octo : Consolidate sample rates and add +Subject: [PATCH 209/269] AudioInjector Octo : Consolidate sample rates and add a codec reset. This patch consolidates the sample rates which the audioinjector.net octo @@ -138005,10 +138005,10 @@ index 9effea725798640887755dfa688da45338718afc..1198c36c4563b8673e5d386d1dfa92d4 dai->cpu_dai_name = NULL; dai->cpu_of_node = i2s_node; -From 4f4af1697ae71163c3df30a9a89dfb316df91f54 Mon Sep 17 00:00:00 2001 +From b447153a8938ff4f13c114075abbbcc788ecb5bd Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 210/237] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 210/269] Driver support for Google voiceHAT soundcard. --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -138513,10 +138513,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From f1e30badc4fff365114ced22d06e5c32142bbfbf Mon Sep 17 00:00:00 2001 +From 4c8836c546f27ecdc18e88a8d833dc371041d1ed Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 211/237] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 211/269] 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. @@ -139144,10 +139144,10 @@ index 0000000000000000000000000000000000000000..f66f42abadbd5f9d3fe000676e8297ed +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From b7568ecadadc39853151e4e89946d95f6cf1b525 Mon Sep 17 00:00:00 2001 +From d16f9d078175353c6da66595257a53021eb29969 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 212/237] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 212/269] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -139279,7 +139279,7 @@ index 0000000000000000000000000000000000000000..7df335a3d82f7043d31ba69331cdf318 + }; +}; diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index 2b6fcd8abf79da77aa85fdc53512aafd09f836cb..b1b3cf5d3a09fe8bd38dfed880dd7e6ac0ccc3d7 100644 +index 5ae5237accf2ebd80b38065d37984554e3f0f939..a9ad66c714f14de828d164d0d55f2ca63644b750 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -17,6 +17,7 @@ endif @@ -139877,10 +139877,10 @@ index 0000000000000000000000000000000000000000..c080e31065d99ab309ab3bdf41a44adf +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From c84313cfa77b65d5576f3caa47e71d6f78d06a66 Mon Sep 17 00:00:00 2001 +From 5ef08bf183f85e2dbcaa7ca98f5ce752fd0c89fe Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Mar 2017 14:22:20 +0100 -Subject: [PATCH 213/237] BCM270X_DT: Allow multiple instances of w1-gpio +Subject: [PATCH 213/269] BCM270X_DT: Allow multiple instances of w1-gpio overlays Upcoming firmware will modify the address portion of node names when @@ -139945,10 +139945,10 @@ index 66a98f6c9601f51483f27803995bec772bb3350e..ef8bfbcabdb31231075d5c281df3b38b <&w1_pins>,"brcm,pins:4"; pullup = <&w1>,"rpi,parasitic-power:0"; -From bc3acd3f3e97f5651d867eb012794f5fc93dfb1c Mon Sep 17 00:00:00 2001 +From 6cdb836ec8164ce463556fe15cad56d7b34f348f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Mar 2017 17:41:30 +0100 -Subject: [PATCH 214/237] leds-gpio: Remove stray assignment to brightness_set +Subject: [PATCH 214/269] 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. @@ -139974,10 +139974,10 @@ index 6a27a693034825de2897bb7b338b60cc10c9e59f..a6b352cb003ff5e6c87cf6d37d6502b6 if (template->default_state == LEDS_GPIO_DEFSTATE_KEEP) { state = gpiod_get_value_cansleep(led_dat->gpiod); -From 3c54afd4c99d8ada1a6054616922c3486c75c05d Mon Sep 17 00:00:00 2001 +From 60158a9060ede8284904061f1954eee844d18792 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Thu, 30 Mar 2017 11:43:57 +1100 -Subject: [PATCH 215/237] Audioinjector Octo : add extra sample rates, fix rst +Subject: [PATCH 215/269] 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 @@ -140139,10 +140139,10 @@ index 1198c36c4563b8673e5d386d1dfa92d43689e297..dcf403ab37639ba79e38278d7e4b1ade if (i2s_node && codec_node) { dai->cpu_dai_name = NULL; -From 62e20c6a0498717a70c777cd0484b1bc3659e8aa Mon Sep 17 00:00:00 2001 +From cd3fd500ae9e4e4a84d8a7228c7b13e1fb8eb0dc Mon Sep 17 00:00:00 2001 From: BabuSubashChandar C Date: Thu, 30 Mar 2017 20:17:27 +0530 -Subject: [PATCH 216/237] Add support for new clock rate and mute gpios. +Subject: [PATCH 216/269] Add support for new clock rate and mute gpios. Signed-off-by: Baswaraj K Reviewed-by: Deepak @@ -140184,7 +140184,7 @@ index 38c52eb831715ec6c2ce3555c7a4d9e5383e35d5..6a95db4edd5680f3c8889a3a41d0589b CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m CONFIG_SND_PISOUND=m diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index b1b3cf5d3a09fe8bd38dfed880dd7e6ac0ccc3d7..eb521affd5b7d30290dd6120e32c3c2a0b0b60f0 100644 +index a9ad66c714f14de828d164d0d55f2ca63644b750..d83d0fa76994120f207d13526ff03083bf16c505 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -17,7 +17,7 @@ endif @@ -140795,10 +140795,10 @@ index c080e31065d99ab309ab3bdf41a44adfdd8f8039..203ab76c7045b081578e23bda1099dd1 } -From bd50ea18d3a875c5097e0666091be743a18a61c7 Mon Sep 17 00:00:00 2001 +From 05f49e701939bcdc7e6c94926c564e319499fa14 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Sat, 1 Apr 2017 00:46:52 +0530 -Subject: [PATCH 217/237] Add clock changes and mute gpios (#1938) +Subject: [PATCH 217/269] Add clock changes and mute gpios (#1938) Also improve code style and adhere to ALSA coding conventions. @@ -141491,10 +141491,10 @@ index f66f42abadbd5f9d3fe000676e8297ed91630e47..56e43f98846b41e487b3089813f7edc3 } -From 5fd9bce1a72c4880e9f3d08f61c4f2a51ca8abf8 Mon Sep 17 00:00:00 2001 +From 683456e9671d1b32c57b5169e47999f380471a1c Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 4 Apr 2017 19:20:59 +1000 -Subject: [PATCH 218/237] Audioinjector : make the octo and pi sound cards have +Subject: [PATCH 218/269] Audioinjector : make the octo and pi sound cards have different driver names This patch gives the audioinjector octo and pi soundcards different driver @@ -141531,10 +141531,10 @@ index ef54e0f07ea03f59e9957b5d98f3e7fdc998e469..491906bbf446826e55dd843f28e4860f .of_match_table = audioinjector_pi_soundcard_of_match, }, -From a4134c246d7a67e8ff4b05756e504ae453585a2d Mon Sep 17 00:00:00 2001 +From bcecdbafb8a1e3129c0a3b839d44e77dc8a103ab Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 4 Apr 2017 19:23:04 +1000 -Subject: [PATCH 219/237] Audioinjector octo : Make the playback and capture +Subject: [PATCH 219/269] Audioinjector octo : Make the playback and capture symmetric This patch ensures that the sample rate and channel count of the audioinjector @@ -141557,10 +141557,10 @@ index 49115c8e20ce1a2ba5a99feb8983a1cafb052ca2..5e79f4eff93a21ed3495c77a90f73525 }; -From 0f24c46e348dceb43595e384d042a132613b2526 Mon Sep 17 00:00:00 2001 +From d03c6c96e186c92359d791d33515af4bdf39dc11 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 7 Mar 2017 14:51:03 -0800 -Subject: [PATCH 220/237] drm/vc4: Allow using more than 256MB of CMA memory. +Subject: [PATCH 220/269] 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 @@ -142045,10 +142045,10 @@ index 9fd171c361c23b52a4d507919ec7e26fd1e87aac..59d808e2a6cc6f3173b1309cc4f49109 return 0; } -From 95157328c4b88b4c4f8758b41eda27699f2518cb Mon Sep 17 00:00:00 2001 +From 6bab44ea5a558bac94b3fb1579d3e7badb113df2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 30 Mar 2017 10:23:27 -0700 -Subject: [PATCH 221/237] Revert "drm/vc4: Verify at boot that CMA doesn't +Subject: [PATCH 221/269] Revert "drm/vc4: Verify at boot that CMA doesn't cross a 256MB boundary." This reverts commit 016c804fa69381bd23a1a13cba08a3c4557fcdff. The @@ -142129,10 +142129,10 @@ index b50245282a18bc790da0f901944c2e670ffac2d2..c960459eda7e640ea55be1d4ed80c6a9 static unsigned long cma_bitmap_aligned_mask(const struct cma *cma, int align_order) -From fab8861c8e48222d18b70fd2e6fcf094ecaa7a60 Mon Sep 17 00:00:00 2001 +From 0d4a532da7dab2d62ee4bfd0f5949f7a1febaff9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 27 Feb 2017 12:28:02 -0800 -Subject: [PATCH 222/237] drm/vc4: Add HDMI audio support +Subject: [PATCH 222/269] 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 @@ -142901,10 +142901,10 @@ index 385405a2df05eb3dd86d4f687aa8205331bec3cc..932093936178674173a84002b33e07e9 #define VC4_HD_VID_CTL 0x038 # define VC4_HD_VID_CTL_ENABLE BIT(31) -From 42e5f1e4217fd163519ff02935f43436b2e05ac1 Mon Sep 17 00:00:00 2001 +From af76c5218bd78ffb38a2b3646233a01730e2dbb0 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 2 Feb 2017 11:37:36 +0100 -Subject: [PATCH 223/237] ARM: dts: bcm283x: Add HDMI audio related properties +Subject: [PATCH 223/269] ARM: dts: bcm283x: Add HDMI audio related properties Add the dmas and dma-names properties to support HDMI audio. @@ -142929,10 +142929,10 @@ index 348c71bbc913644c04bab43fcb95abe9b6c9c640..7d58cd79ac6bd99f0b47a909ac827c61 }; -From 9e293a0abe7da52ae8ae4e03f8c5f7a6a97b3865 Mon Sep 17 00:00:00 2001 +From f46d33a24b5389dcab17fe7c485c804d527675ab Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 224/237] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 224/269] 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. @@ -159064,10 +159064,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From b83ca1086e94b87136a820fde8d19dbd99818987 Mon Sep 17 00:00:00 2001 +From 7f8d91d7608e454ef727917e4ef8482e235f6b73 Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Thu, 22 Dec 2016 15:34:12 +0900 -Subject: [PATCH 225/237] BCM2708: Add Raspberry Pi TV HAT Device Tree Support +Subject: [PATCH 225/269] 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 @@ -159163,10 +159163,10 @@ index 0000000000000000000000000000000000000000..a68f6f793d8efd8b2e2adf9f2fb6426f + +}; -From 8f03acc4b270b95027b56428bf948f2b5c5129ac Mon Sep 17 00:00:00 2001 +From 3ecd305ad5f28f9ad9ab5962f6b53daae3f2bad0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Apr 2017 17:52:56 -0700 -Subject: [PATCH 226/237] panel-raspberrypi-touchscreen: Fix NULL deref if +Subject: [PATCH 226/269] panel-raspberrypi-touchscreen: Fix NULL deref if probe order goes wrong. If the i2c driver hadn't pobed before the panel driver probes, then @@ -159193,10 +159193,10 @@ index 7f315f04b109621ca7f3861fdd8acf956e752629..b57b7ad9aa4c5048186e98553af59ec9 } -From 08a747dda946d65b3714496cfcd22aef266ad9ca Mon Sep 17 00:00:00 2001 +From 9bcf9e12ae13d1e928af0d769182a3c663c059f2 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Wed, 19 Apr 2017 09:59:21 -0700 -Subject: [PATCH 227/237] smsc75xx: use skb_cow_head() to deal with cloned skbs +Subject: [PATCH 227/269] 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. @@ -159232,10 +159232,10 @@ index 9af9799935dbbd4baed06eb03402803e0ce8d9c8..4cb9b11a545a9572ab6d248742ec5abe tx_cmd_a = (u32)(skb->len & TX_CMD_A_LEN) | TX_CMD_A_FCS; -From 8fc9824b3ceaf0e79fdcf2ef22614ab7cae779e5 Mon Sep 17 00:00:00 2001 +From 416209e2665c0d88ecf205fe77c86aeeaa392a29 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Wed, 19 Apr 2017 11:13:40 +0100 -Subject: [PATCH 228/237] smsc95xx: Use skb_cow_head to deal with cloned skbs +Subject: [PATCH 228/269] 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. @@ -159275,10 +159275,10 @@ index df60c989fc229bf0aab3c27e95ccd45323367840..f6661e388f6e801c1b88e48a3b71407b if (csum) { -From 27981a7bfa796f4860c435066bd026aa028d0134 Mon Sep 17 00:00:00 2001 +From b913417a2368cb15a90a2dbfb34bea855bf55347 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Apr 2017 18:26:52 +0100 -Subject: [PATCH 229/237] i2c-bcm2835: Ignore unexpected interrupt +Subject: [PATCH 229/269] i2c-bcm2835: Ignore unexpected interrupt --- drivers/i2c/busses/i2c-bcm2835.c | 4 +++- @@ -159300,10 +159300,10 @@ index 8642f580ce41803bd22c76a0fa80d083d0747be1..47167f403cc8329bd811b47c7011c299 val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); } -From c7260c4c703f06040c5623ac13e8ec77dab81de5 Mon Sep 17 00:00:00 2001 +From ff6c45239866c15264dab3f6af013a0a76793ced Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 23 Apr 2017 19:36:53 +0100 -Subject: [PATCH 230/237] BCM270X_DT: Add bme280 and bmp180 to i2c-sensor +Subject: [PATCH 230/269] BCM270X_DT: Add bme280 and bmp180 to i2c-sensor overlay Signed-off-by: Phil Elwell @@ -159377,10 +159377,10 @@ index 606b2d5012abf2e85712be631c42ea40a0b512c5..e23e34b32a0a8927c14203d7384e8008 lm75 = <&lm75>,"status"; lm75addr = <&lm75>,"reg:0"; -From 5c0b1e35f94751a998056883784154e30d57e822 Mon Sep 17 00:00:00 2001 +From 984a27388b849bbf306a576d410049fdace4d571 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 23 Apr 2017 19:38:06 +0100 -Subject: [PATCH 231/237] config: Add CONFIG_BMP280 (and CONFIG_BMP280_I2C) +Subject: [PATCH 231/269] config: Add CONFIG_BMP280 (and CONFIG_BMP280_I2C) Signed-off-by: Phil Elwell --- @@ -159465,10 +159465,10 @@ index fd535ff21e7dab6717eb61f1b966b7d92791ec8d..7948b445f1232064dea01273393f3e3b CONFIG_PWM_PCA9685=m CONFIG_RASPBERRYPI_FIRMWARE=y -From 9fa1abdb02f98a1c14c4181bcb20678fb4f5e13d Mon Sep 17 00:00:00 2001 +From 8bb03fb7ba375e21ca3c9d05bc90fd5659e94f90 Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Tue, 25 Apr 2017 10:46:09 -0400 -Subject: [PATCH 232/237] config: Enable TI TMP102 temp sensor module +Subject: [PATCH 232/269] config: Enable TI TMP102 temp sensor module Signed-off-by: Scott Ellis --- @@ -159501,10 +159501,10 @@ index 7948b445f1232064dea01273393f3e3b135b4576..a338c313de9e9db3a338d066b5fad989 CONFIG_THERMAL_BCM2835=y CONFIG_WATCHDOG=y -From 34399ca07de79c65745a91e4c78f46656262cd4d Mon Sep 17 00:00:00 2001 +From 1c39224fab012cffdb7f94aed1d05ad00229c10d Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Tue, 25 Apr 2017 13:05:42 -0400 -Subject: [PATCH 233/237] BCM270X_DT: Add tmp102 to i2c sensor overlay +Subject: [PATCH 233/269] BCM270X_DT: Add tmp102 to i2c sensor overlay Signed-off-by: Scott Ellis --- @@ -159584,103 +159584,10 @@ index e23e34b32a0a8927c14203d7384e800878627347..e86a13f92c3f75c14fa4425cdfb081d6 }; }; -From 510a650c09aac767c4bd49236b88b42ece9f9915 Mon Sep 17 00:00:00 2001 -From: James Hughes -Date: Mon, 24 Apr 2017 12:40:50 +0100 -Subject: [PATCH 234/237] brcmfmac: Ensure pointer correctly set if skb data - location changes - -The incoming skb header may be resized if header space is -insufficient, which might change the data adddress in the skb. -Ensure that a cached pointer to that data is correctly set by -moving assignment to after any possible changes. - -Signed-off-by: James Hughes - -Acked-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -index 5eaac13e231723b903a7c11e373018ee6669b30a..9b7c19a508ac57c86bec0662f8a16a0790eef125 100644 ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -@@ -198,7 +198,7 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb, - int ret; - struct brcmf_if *ifp = netdev_priv(ndev); - struct brcmf_pub *drvr = ifp->drvr; -- struct ethhdr *eh = (struct ethhdr *)(skb->data); -+ struct ethhdr *eh; - - brcmf_dbg(DATA, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx); - -@@ -236,6 +236,8 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb, - goto done; - } - -+ eh = (struct ethhdr *)(skb->data); -+ - if (eh->h_proto == htons(ETH_P_PAE)) - atomic_inc(&ifp->pend_8021x_cnt); - - -From 9a33a4e9eb6c3979db6acecb84b0004638fb3df4 Mon Sep 17 00:00:00 2001 -From: James Hughes -Date: Tue, 25 Apr 2017 10:15:06 +0100 -Subject: [PATCH 235/237] brcmfmac: Make skb header writable before use - -The driver was making changes to the skb_header without -ensuring it was writable (i.e. uncloned). -This patch also removes some boiler plate header size -checking/adjustment code as that is also handled by the -skb_cow_header function used to make header writable. - -Signed-off-by: James Hughes -Acked-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - .../net/wireless/broadcom/brcm80211/brcmfmac/core.c | 19 +++++-------------- - 1 file changed, 5 insertions(+), 14 deletions(-) - -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -index 9b7c19a508ac57c86bec0662f8a16a0790eef125..f877301c9454b2e75715937cd015fbfe87fc271b 100644 ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -@@ -211,22 +211,13 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb, - goto done; - } - -- /* Make sure there's enough room for any header */ -- if (skb_headroom(skb) < drvr->hdrlen) { -- struct sk_buff *skb2; -- -- brcmf_dbg(INFO, "%s: insufficient headroom\n", -+ /* Make sure there's enough writable headroom*/ -+ ret = skb_cow_head(skb, drvr->hdrlen); -+ if (ret < 0) { -+ brcmf_err("%s: skb_cow_head failed\n", - brcmf_ifname(ifp)); -- drvr->bus_if->tx_realloc++; -- skb2 = skb_realloc_headroom(skb, drvr->hdrlen); - dev_kfree_skb(skb); -- skb = skb2; -- if (skb == NULL) { -- brcmf_err("%s: skb_realloc_headroom failed\n", -- brcmf_ifname(ifp)); -- ret = -ENOMEM; -- goto done; -- } -+ goto done; - } - - /* validate length for ether packet */ - -From 967b7f238a933878c49da4c590ebcaf035382182 Mon Sep 17 00:00:00 2001 +From cd695ae66d57e78fba7d191b2ea3711d1ba56343 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 26 Apr 2017 16:51:48 +0100 -Subject: [PATCH 236/237] dwc_otg: Add the dependency on FIQ +Subject: [PATCH 234/269] dwc_otg: Add the dependency on FIQ Signed-off-by: popcornmix --- @@ -159701,10 +159608,10 @@ index f17b939c149562527937f49d90e23c7ab8b72328..5a5f6c925f43147082dcfaab15f9e05e The Synopsis DWC controller is a dual-role host/peripheral/OTG ("On The Go") USB controllers. -From 99c0379ae6edf8fe29c6bd4ff47d2fb658277328 Mon Sep 17 00:00:00 2001 +From 1dabdb616b40654daa67f9608c0b1fb21e2cdc3a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 26 Apr 2017 17:28:47 +0100 -Subject: [PATCH 237/237] clk: bcm2835: Limit PCM clock to OSC and PLLD_PER +Subject: [PATCH 235/269] 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 @@ -159748,3 +159655,2226 @@ index fe3298b54cdfb96bd90fb4f39e13921d2e1d4356..c24b4defb2b046e4ecdc109befc2b224 .tcnt_mux = 23), [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( .name = "pwm", + +From 643d427136232f669268e0fb8b226d1e51025f4a Mon Sep 17 00:00:00 2001 +From: P33M +Date: Thu, 27 Apr 2017 16:24:34 +0100 +Subject: [PATCH 236/269] dwc_otg: make nak_holdoff work as intended with empty + queues + +If URBs reading from non-periodic split endpoints were dequeued and +the last transfer from the endpoint was a NAK handshake, the resulting +qh->nak_frame value was stale which would result in unnecessarily long +polling intervals for the first subsequent transfer with a fresh URB. + +Fixup qh->nak_frame in dwc_otg_hcd_urb_dequeue and also guard against +a case where a single URB is submitted to the endpoint, a NAK was +received on the transfer immediately prior to receiving data and the +device subsequently resubmits another URB past the qh->nak_frame interval. + +Fixes https://github.com/raspberrypi/linux/issues/1709 +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 4 +++- + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 10 ++++++---- + drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c | 4 ++++ + 3 files changed, 13 insertions(+), 5 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 0eb335f4bc8ec30fa68f830fc3e382330302686e..4852d08d542f66880244d3dac3bbd35e7f4feb4e 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -616,7 +616,7 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd, + if (fiq_fsm_enable && (hcd->fiq_state->channel[n].fsm != FIQ_PASSTHROUGH)) { + qh->channel->halt_status = DWC_OTG_HC_XFER_URB_DEQUEUE; + qh->channel->halt_pending = 1; +- hcd->fiq_state->channel[n].fsm = FIQ_DEQUEUE_ISSUED; ++ //hcd->fiq_state->channel[n].fsm = FIQ_DEQUEUE_ISSUED; + } else { + dwc_otg_hc_halt(hcd->core_if, qh->channel, + DWC_OTG_HC_XFER_URB_DEQUEUE); +@@ -634,6 +634,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd, + hcd->core_if->dma_desc_enable?"DMA ":""); + if (!hcd->core_if->dma_desc_enable) { + uint8_t b = urb_qtd->in_process; ++ if (nak_holdoff && qh->do_split && dwc_qh_is_non_per(qh)) ++ qh->nak_frame = 0xFFFF; + dwc_otg_hcd_qtd_remove_and_free(hcd, urb_qtd, qh); + if (b) { + dwc_otg_hcd_qh_deactivate(hcd, qh, 0); +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index b2618c15d1f1f0b062d4146672de5ae50e9e2d33..608e036be2c9484465ab836de70129335d3d2d96 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -2382,15 +2382,17 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + fiq_print(FIQDBG_INT, hcd->fiq_state, "OUT %01d %01d ", num , st->fsm); + + hostchannels = hcd->available_host_channels; ++ if (hc->halt_pending) { ++ /* Dequeue: The FIQ was allowed to complete the transfer but state has been cleared. */ ++ release_channel(hcd, hc, NULL, hc->halt_status); ++ return; ++ } + switch (st->fsm) { + case FIQ_TEST: + break; + + case FIQ_DEQUEUE_ISSUED: +- /* hc_halt was called. QTD no longer exists. */ +- /* TODO: for a nonperiodic split transaction, need to issue a +- * CLEAR_TT_BUFFER hub command if we were in the start-split phase. +- */ ++ /* Handled above, but keep for posterity */ + release_channel(hcd, hc, NULL, hc->halt_status); + break; + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c +index c2dff94e8e6edd22e4427aaa1eac7aad972cb6bd..85a6d431ca54b47dc10573aa72d1ad69d06f2e36 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c +@@ -793,6 +793,10 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, + /* Add back to inactive non-periodic schedule. */ + dwc_otg_hcd_qh_add(hcd, qh); + //hcd->fiq_state->kick_np_queues = 1; ++ } else { ++ if(nak_holdoff && qh->do_split) { ++ qh->nak_frame = 0xFFFF; ++ } + } + } else { + uint16_t frame_number = dwc_otg_hcd_get_frame_number(hcd); + +From 291636002ab8241f052b0ac81f3051e63a8f2431 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 18 Apr 2017 21:43:46 +0100 +Subject: [PATCH 237/269] vc4_fkms: Apply firmware overscan offset to hardware + cursor + +--- + drivers/gpu/drm/vc4/vc4_firmware_kms.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c +index da818a207bfa639b8cea48d94bcf4566f97db816..943cbb38f1f2e6fc7c06870be7904677e0a9c7a3 100644 +--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c ++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c +@@ -40,6 +40,7 @@ struct vc4_crtc { + void __iomem *regs; + + struct drm_pending_vblank_event *event; ++ u32 overscan[4]; + }; + + static inline struct vc4_crtc *to_vc4_crtc(struct drm_crtc *crtc) +@@ -181,6 +182,7 @@ static void vc4_cursor_plane_atomic_update(struct drm_plane *plane, + struct drm_plane_state *old_state) + { + struct vc4_dev *vc4 = to_vc4_dev(plane->dev); ++ struct vc4_crtc *vc4_crtc = to_vc4_crtc(plane->crtc); + struct drm_plane_state *state = plane->state; + struct drm_framebuffer *fb = state->fb; + struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0); +@@ -202,6 +204,12 @@ static void vc4_cursor_plane_atomic_update(struct drm_plane *plane, + bo->paddr + fb->offsets[0], + fb->pitches[0]); + ++ /* add on the top/left offsets when overscan is active */ ++ if (vc4_crtc) { ++ packet_state[1] += vc4_crtc->overscan[0]; ++ packet_state[2] += vc4_crtc->overscan[1]; ++ } ++ + ret = rpi_firmware_property(vc4->firmware, + RPI_FIRMWARE_SET_CURSOR_STATE, + &packet_state, +@@ -645,6 +653,15 @@ static int vc4_fkms_bind(struct device *dev, struct device *master, void *data) + if (ret) + goto err_destroy_connector; + ++ ret = rpi_firmware_property(vc4->firmware, ++ RPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN, ++ &vc4_crtc->overscan, ++ sizeof(vc4_crtc->overscan)); ++ if (ret) { ++ DRM_ERROR("Failed to get overscan state: 0x%08x\n", vc4_crtc->overscan[0]); ++ memset(&vc4_crtc->overscan, 0, sizeof(vc4_crtc->overscan)); ++ } ++ + platform_set_drvdata(pdev, vc4_crtc); + + return 0; + +From d7af8f271c9f2f94bfe8ddbf8deedc3a921a338e Mon Sep 17 00:00:00 2001 +From: P33M +Date: Tue, 2 May 2017 16:31:15 +0100 +Subject: [PATCH 238/269] dwc_otg: fix split transaction data toggle handling + around dequeues + +See https://github.com/raspberrypi/linux/issues/1709 + +Fix several issues regarding endpoint state when URBs are dequeued +- If the HCD is disconnected, flush FIQ-enabled channels properly +- Save the data toggle state for bulk endpoints if the last transfer + from an endpoint where URBs were dequeued returned a data packet +- Reset hc->start_pkt_count properly in assign_and_init_hc() +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 10 ++++++++-- + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 19 ++++++++++++++++--- + 2 files changed, 24 insertions(+), 5 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 4852d08d542f66880244d3dac3bbd35e7f4feb4e..37c9d7d38287b616fcd335e80aa4110521fa98ca 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -193,8 +193,13 @@ static void kill_urbs_in_qh_list(dwc_otg_hcd_t * hcd, dwc_list_link_t * qh_list) + * It is possible that the channel has already halted + * but not yet been through the IRQ handler. + */ +- dwc_otg_hc_halt(hcd->core_if, qh->channel, +- DWC_OTG_HC_XFER_URB_DEQUEUE); ++ if (fiq_fsm_enable && (hcd->fiq_state->channel[qh->channel->hc_num].fsm != FIQ_PASSTHROUGH)) { ++ qh->channel->halt_status = DWC_OTG_HC_XFER_URB_DEQUEUE; ++ qh->channel->halt_pending = 1; ++ } else { ++ dwc_otg_hc_halt(hcd->core_if, qh->channel, ++ DWC_OTG_HC_XFER_URB_DEQUEUE); ++ } + if(microframe_schedule) + hcd->available_host_channels++; + qh->channel = NULL; +@@ -1270,6 +1275,7 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) + if (qh->do_split) { + uint32_t hub_addr, port_addr; + hc->do_split = 1; ++ hc->start_pkt_count = 1; + hc->xact_pos = qtd->isoc_split_pos; + /* We don't need to do complete splits anymore */ + // if(fiq_fsm_enable) +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index 608e036be2c9484465ab836de70129335d3d2d96..718a1accc0c219a1764ce53d291de6a2b6f93608 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -2378,12 +2378,20 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + dwc_otg_qh_t *qh = hc->qh; + dwc_otg_hc_regs_t *hc_regs = hcd->core_if->host_if->hc_regs[num]; + hcint_data_t hcint = hcd->fiq_state->channel[num].hcint_copy; ++ hctsiz_data_t hctsiz = hcd->fiq_state->channel[num].hctsiz_copy; + int hostchannels = 0; + fiq_print(FIQDBG_INT, hcd->fiq_state, "OUT %01d %01d ", num , st->fsm); + + hostchannels = hcd->available_host_channels; + if (hc->halt_pending) { + /* Dequeue: The FIQ was allowed to complete the transfer but state has been cleared. */ ++ if (st->fsm == FIQ_NP_SPLIT_DONE && hcint.b.xfercomp && qh->ep_type == UE_BULK) { ++ if (hctsiz.b.pid == DWC_HCTSIZ_DATA0) { ++ qh->data_toggle = DWC_OTG_HC_PID_DATA1; ++ } else { ++ qh->data_toggle = DWC_OTG_HC_PID_DATA0; ++ } ++ } + release_channel(hcd, hc, NULL, hc->halt_status); + return; + } +@@ -2641,10 +2649,15 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num) + hc = dwc_otg_hcd->hc_ptr_array[num]; + hc_regs = dwc_otg_hcd->core_if->host_if->hc_regs[num]; + if(hc->halt_status == DWC_OTG_HC_XFER_URB_DEQUEUE) { +- /* We are responding to a channel disable. Driver +- * state is cleared - our qtd has gone away. ++ /* A dequeue was issued for this transfer. Our QTD has gone away ++ * but in the case of a FIQ transfer, the transfer would have run ++ * to completion. + */ +- release_channel(dwc_otg_hcd, hc, NULL, hc->halt_status); ++ if (fiq_fsm_enable && dwc_otg_hcd->fiq_state->channel[num].fsm != FIQ_PASSTHROUGH) { ++ dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd, num); ++ } else { ++ release_channel(dwc_otg_hcd, hc, NULL, hc->halt_status); ++ } + return 1; + } + qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list); + +From 6f0c7340045599e48f44fc3a9e2af40dcc73eba9 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Thu, 4 May 2017 14:56:08 +0100 +Subject: [PATCH 239/269] fiq_fsm: Use correct states when starting isoc OUT + transfers (#1991) + +* fiq_fsm: Use correct states when starting isoc OUT transfers + +In fiq_fsm_start_next_periodic() if an isochronous OUT transfer +was selected, no regard was given as to whether this was a single-packet +transfer or a multi-packet staged transfer. + +For single-packet transfers, this had the effect of repeatedly sending +OUT packets with bogus data and lengths. + +Eventually if the channel was repeatedly enabled enough times, this +would lock up the OTG core and no further bus transfers would happen. + +Set the FSM state up properly if we select a single-packet transfer. + +Fixes https://github.com/raspberrypi/linux/issues/1842 +--- + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +index 9304279592cb5b388086ef91cb52f1e9f94868ce..208252645c09d1d17bf07673989f91b7f4b3ef7a 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +@@ -491,7 +491,10 @@ static void notrace noinline fiq_fsm_start_next_periodic(struct fiq_state *st, i + if (st->channel[n].fsm == FIQ_PER_ISO_OUT_PENDING) { + if (!fiq_fsm_tt_in_use(st, num_channels, n)) { + fiq_print(FIQDBG_INT, st, "NEXTISO "); +- st->channel[n].fsm = FIQ_PER_ISO_OUT_ACTIVE; ++ if (st->channel[n].nrpackets == 1) ++ st->channel[n].fsm = FIQ_PER_ISO_OUT_LAST; ++ else ++ st->channel[n].fsm = FIQ_PER_ISO_OUT_ACTIVE; + fiq_fsm_restart_channel(st, n, 0); + break; + } + +From 7427ad0c899ca7540629c334ac7ff152f33d3923 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 2 May 2017 16:36:05 +0100 +Subject: [PATCH 240/269] 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. + +Also report when mapping fails. + +Signed-off-by: popcornmix +--- + drivers/char/broadcom/vc_sm/vmcs_sm.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c +index 1db6716c2c0c8b2013203391501f92d09db258af..ee4e05948c439a9045e0b65566d57587177a32e2 100644 +--- a/drivers/char/broadcom/vc_sm/vmcs_sm.c ++++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c +@@ -1181,11 +1181,20 @@ static int vcsm_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf) + switch (ret) { + case 0: + case -ERESTARTSYS: ++ /* ++ * EBUSY is ok: this just means that another thread ++ * already did the job. ++ */ ++ case -EBUSY: + return VM_FAULT_NOPAGE; + case -ENOMEM: + case -EAGAIN: ++ pr_err("[%s]: failed to map page pfn:%lx virt:%lx ret:%d\n", __func__, ++ pfn, (unsigned long)vmf->virtual_address, ret); + return VM_FAULT_OOM; + default: ++ pr_err("[%s]: failed to map page pfn:%lx virt:%lx ret:%d\n", __func__, ++ pfn, (unsigned long)vmf->virtual_address, ret); + return VM_FAULT_SIGBUS; + } + } + +From 5e1fb5bbead087e173a638c7d27daa60cadd8a41 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 4 May 2017 17:38:22 +0100 +Subject: [PATCH 241/269] 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. + +Signed-off-by: popcornmix +--- + drivers/video/fbdev/bcm2708_fb.c | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c +index 53c5a0bdadb4be9251affdabed66305842a08e72..612293cf9f1bd93ad2f2aefdd7ca0f5eb2a412f0 100644 +--- a/drivers/video/fbdev/bcm2708_fb.c ++++ b/drivers/video/fbdev/bcm2708_fb.c +@@ -96,6 +96,7 @@ struct bcm2708_fb { + wait_queue_head_t dma_waitq; + struct bcm2708_fb_stats stats; + unsigned long fb_bus_address; ++ struct { u32 base, length; } gpu; + }; + + #define to_bcm2708(info) container_of(info, struct bcm2708_fb, fb) +@@ -472,7 +473,6 @@ static long vc_mem_copy(struct bcm2708_fb *fb, unsigned long arg) + dma_addr_t bus_addr; + long rc = 0; + size_t offset; +- struct { u32 base, length; } gpu = {}; + + /* restrict this to root user */ + if (!uid_eq(current_euid(), GLOBAL_ROOT_UID)) +@@ -491,16 +491,13 @@ static long vc_mem_copy(struct bcm2708_fb *fb, unsigned long arg) + goto out; + } + +- rc = rpi_firmware_property(fb->fw, +- RPI_FIRMWARE_GET_VC_MEMORY, +- &gpu, sizeof(gpu)); +- if (rc != 0 || gpu.base == 0 || gpu.length == 0) { +- pr_err("[%s]: Unable to determine gpu memory %ld,%x,%x)\n", __func__, rc, gpu.base, gpu.length); ++ if (fb->gpu.base == 0 || fb->gpu.length == 0) { ++ pr_err("[%s]: Unable to determine gpu memory (%x,%x)\n", __func__, fb->gpu.base, fb->gpu.length); + return -EFAULT; + } + +- if (INTALIAS_NORMAL(ioparam.src) < gpu.base || INTALIAS_NORMAL(ioparam.src) >= gpu.base + gpu.length) { +- pr_err("[%s]: Invalid memory access %x (%x-%x)", __func__, INTALIAS_NORMAL(ioparam.src), gpu.base, gpu.base + gpu.length); ++ if (INTALIAS_NORMAL(ioparam.src) < fb->gpu.base || INTALIAS_NORMAL(ioparam.src) >= fb->gpu.base + fb->gpu.length) { ++ pr_err("[%s]: Invalid memory access %x (%x-%x)", __func__, INTALIAS_NORMAL(ioparam.src), fb->gpu.base, fb->gpu.base + fb->gpu.length); + return -EFAULT; + } + +@@ -869,6 +866,11 @@ static int bcm2708_fb_probe(struct platform_device *dev) + fb->dev = dev; + fb->fb.device = &dev->dev; + ++ // failure here isn't fatal, but we'll fail in vc_mem_copy if fb->gpu is not valid ++ rpi_firmware_property(fb->fw, ++ RPI_FIRMWARE_GET_VC_MEMORY, ++ &fb->gpu, sizeof(fb->gpu)); ++ + ret = bcm2708_fb_register(fb); + if (ret == 0) { + platform_set_drvdata(dev, fb); + +From 6432aba0e1eff51f3c1c54fe78f9c6683cd4cd59 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 22 May 2017 15:28:27 +0100 +Subject: [PATCH 242/269] config: Add CONFIG_IPV6_ROUTE_INFO + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index d5624bbf15a669dccdde489e14c1d5c56a8cfa5c..a763d05190d83feaa8a05920056605b6ddd921a8 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -103,6 +103,7 @@ CONFIG_TCP_CONG_ADVANCED=y + CONFIG_TCP_CONG_BBR=m + CONFIG_IPV6=m + CONFIG_IPV6_ROUTER_PREF=y ++CONFIG_IPV6_ROUTE_INFO=y + CONFIG_INET6_AH=m + CONFIG_INET6_ESP=m + CONFIG_INET6_IPCOMP=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index a338c313de9e9db3a338d066b5fad989f6ece1ad..1d528ab1129223c580a4b30dc4058efbba7b00aa 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -99,6 +99,7 @@ CONFIG_TCP_CONG_ADVANCED=y + CONFIG_TCP_CONG_BBR=m + CONFIG_IPV6=m + CONFIG_IPV6_ROUTER_PREF=y ++CONFIG_IPV6_ROUTE_INFO=y + CONFIG_INET6_AH=m + CONFIG_INET6_ESP=m + CONFIG_INET6_IPCOMP=m + +From e44f9961ef5536f75176909c7f2ec15c5ac49707 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 22 May 2017 13:35:28 +0100 +Subject: [PATCH 243/269] config: Add CONFIG_IPV6_SIT_6RD + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index a763d05190d83feaa8a05920056605b6ddd921a8..bd4750b30f3b30955506bac80a8ae7bc0dae0da6 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -107,6 +107,7 @@ CONFIG_IPV6_ROUTE_INFO=y + CONFIG_INET6_AH=m + CONFIG_INET6_ESP=m + CONFIG_INET6_IPCOMP=m ++CONFIG_IPV6_SIT_6RD=y + CONFIG_IPV6_TUNNEL=m + CONFIG_IPV6_MULTIPLE_TABLES=y + CONFIG_IPV6_SUBTREES=y +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 1d528ab1129223c580a4b30dc4058efbba7b00aa..390171b4a7a377f9523001e2928c47b5ab0801ab 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -103,6 +103,7 @@ CONFIG_IPV6_ROUTE_INFO=y + CONFIG_INET6_AH=m + CONFIG_INET6_ESP=m + CONFIG_INET6_IPCOMP=m ++CONFIG_IPV6_SIT_6RD=y + CONFIG_IPV6_TUNNEL=m + CONFIG_IPV6_MULTIPLE_TABLES=y + CONFIG_IPV6_SUBTREES=y + +From d2c492c6079988ff647931dc9a2178a20d8987a9 Mon Sep 17 00:00:00 2001 +From: Anton Onishchenko +Date: Tue, 23 May 2017 18:55:46 +0300 +Subject: [PATCH 244/269] mpu6050 device tree overlay (#2031) + +Add overlay and config options for InvenSense MPU6050 6-axis motion +detector. +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 6 ++++++ + arch/arm/boot/dts/overlays/mpu6050-overlay.dts | 28 ++++++++++++++++++++++++++ + arch/arm/configs/bcm2709_defconfig | 3 +-- + arch/arm/configs/bcmrpi_defconfig | 3 +-- + 5 files changed, 37 insertions(+), 4 deletions(-) + create mode 100644 arch/arm/boot/dts/overlays/mpu6050-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index e2f66a55dc5afe13d690c2c17827054ac94b7168..0eb0e87c5746a8449162549384eb4a63895ba3c6 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -57,6 +57,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + mcp3008.dtbo \ + midi-uart0.dtbo \ + mmc.dtbo \ ++ mpu6050.dtbo \ + mz61581.dtbo \ + pi3-act-led.dtbo \ + pi3-disable-bt.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 32e5fc4a9968c368e1063aef5fea95caedfba36f..843734740c2cd7438ecd9c956c87371f5803ba06 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -883,6 +883,12 @@ Params: overclock_50 Clock (in MHz) to use when the MMC framework + requests 50MHz + + ++Name: mpu6050 ++Info: Overlay for i2c connected mpu6050 imu ++Load: dtoverlay=mpu6050,= ++Params: interrupt GPIO pin for interrupt (default 4) ++ ++ + Name: mz61581 + Info: MZ61581 display by Tontec + Load: dtoverlay=mz61581,= +diff --git a/arch/arm/boot/dts/overlays/mpu6050-overlay.dts b/arch/arm/boot/dts/overlays/mpu6050-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..06037969c3abba270b3cad45875342f3c730506e +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/mpu6050-overlay.dts +@@ -0,0 +1,28 @@ ++// Definitions for MPU6050 ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ clock-frequency = <400000>; ++ ++ mpu6050: mpu6050@68 { ++ compatible = "invensense,mpu6050"; ++ reg = <0x68>; ++ interrupt-parent = <&gpio>; ++ interrupts = <4 1>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ interrupt = <&mpu6050>,"interrupts:0"; ++ }; ++}; +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index bd4750b30f3b30955506bac80a8ae7bc0dae0da6..6e67f6744780cb6c3a92c5cdea9270e629cef946 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -1170,13 +1170,12 @@ CONFIG_RASPBERRYPI_POWER=y + CONFIG_EXTCON=m + CONFIG_EXTCON_ARIZONA=m + CONFIG_IIO=m +-CONFIG_IIO_BUFFER=y + CONFIG_IIO_BUFFER_CB=m +-CONFIG_IIO_KFIFO_BUF=m + CONFIG_MCP320X=m + CONFIG_MCP3422=m + CONFIG_DHT11=m + CONFIG_HTU21=m ++CONFIG_INV_MPU6050_I2C=m + CONFIG_BMP280=m + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 390171b4a7a377f9523001e2928c47b5ab0801ab..8dd491e75834ede8221919a97099037b69d43f2c 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -1178,13 +1178,12 @@ CONFIG_RASPBERRYPI_POWER=y + CONFIG_EXTCON=m + CONFIG_EXTCON_ARIZONA=m + CONFIG_IIO=m +-CONFIG_IIO_BUFFER=y + CONFIG_IIO_BUFFER_CB=m +-CONFIG_IIO_KFIFO_BUF=m + CONFIG_MCP320X=m + CONFIG_MCP3422=m + CONFIG_DHT11=m + CONFIG_HTU21=m ++CONFIG_INV_MPU6050_I2C=m + CONFIG_BMP280=m + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + +From 1db1cea7b2bf5291fdd701602789d7fc52ebb622 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 22 May 2017 13:56:41 +0100 +Subject: [PATCH 245/269] 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. + +Introduce a new metric of clock accuracy to penalise clocks with a good +average but worse jitter compared to clocks with an average which is no +better but with lower jitter. The metric is the ideal rate minus the +worse deviation from that ideal using the nearest integer divisors. + +Use this metric for parent selection for clocks requiring low jitter +(currently just PCM). + +Signed-off-by: Phil Elwell +--- + drivers/clk/bcm/clk-bcm2835.c | 39 ++++++++++++++++++++++++++++++++++----- + 1 file changed, 34 insertions(+), 5 deletions(-) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index c24b4defb2b046e4ecdc109befc2b22497060647..db3ba74acf78f4dfec0d2206b58bc7c3a09f72fe 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -534,6 +534,7 @@ struct bcm2835_clock_data { + + bool is_vpu_clock; + bool is_mash_clock; ++ bool low_jitter; + + u32 tcnt_mux; + }; +@@ -1154,7 +1155,8 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, + int parent_idx, + unsigned long rate, + u32 *div, +- unsigned long *prate) ++ unsigned long *prate, ++ unsigned long *avgrate) + { + struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); + struct bcm2835_cprman *cprman = clock->cprman; +@@ -1166,11 +1168,33 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, + parent = clk_hw_get_parent_by_index(hw, parent_idx); + + if (!(BIT(parent_idx) & data->set_rate_parent)) { ++ unsigned long tmp_rate; ++ + *prate = clk_hw_get_rate(parent); + *div = bcm2835_clock_choose_div(hw, rate, *prate, true); + +- return bcm2835_clock_rate_from_divisor(clock, *prate, +- *div); ++ tmp_rate = bcm2835_clock_rate_from_divisor(clock, *prate, *div); ++ *avgrate = tmp_rate; ++ ++ if (data->low_jitter && (*div & CM_DIV_FRAC_MASK)) { ++ unsigned long high, low; ++ u32 idiv = *div & ~CM_DIV_FRAC_MASK; ++ ++ high = bcm2835_clock_rate_from_divisor(clock, *prate, ++ idiv); ++ idiv += CM_DIV_FRAC_MASK + 1; ++ low = bcm2835_clock_rate_from_divisor(clock, *prate, ++ idiv); ++ ++ /* Return a value which is the maximum deviation ++ * below the ideal rate, for use as a metric. ++ */ ++ if ((tmp_rate - low) < (high - tmp_rate)) ++ tmp_rate = low; ++ else ++ tmp_rate -= high - tmp_rate; ++ } ++ return tmp_rate; + } + + if (data->frac_bits) +@@ -1197,6 +1221,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, + + *div = curdiv << CM_DIV_FRAC_BITS; + *prate = curdiv * best_rate; ++ *avgrate = best_rate; + + return best_rate; + } +@@ -1208,6 +1233,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, + bool current_parent_is_pllc; + unsigned long rate, best_rate = 0; + unsigned long prate, best_prate = 0; ++ unsigned long avgrate, best_avgrate = 0; + size_t i; + u32 div; + +@@ -1232,11 +1258,13 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, + continue; + + rate = bcm2835_clock_choose_div_and_prate(hw, i, req->rate, +- &div, &prate); ++ &div, &prate, ++ &avgrate); + if (rate > best_rate && rate <= req->rate) { + best_parent = parent; + best_prate = prate; + best_rate = rate; ++ best_avgrate = avgrate; + } + } + +@@ -1246,7 +1274,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, + req->best_parent_hw = best_parent; + req->best_parent_rate = best_prate; + +- req->rate = best_rate; ++ req->rate = best_avgrate; + + return 0; + } +@@ -2061,6 +2089,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { + .int_bits = 12, + .frac_bits = 12, + .is_mash_clock = true, ++ .low_jitter = true, + .parents = bcm2835_pcm_per_parents, + .tcnt_mux = 23), + [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( + +From 9ca0b52c448cb05df5fe0cabe04ae2a8babb0700 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 8 May 2017 16:30:18 +0100 +Subject: [PATCH 246/269] 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 +written. These stubs are loaded at physical address 0x00000xxx (as seen +by the ARMs), but this page will be reused by the kernel unless it is +explicitly reserved, causing the waiting cores to execute random code. + +Use the /memreserve/ Device Tree directive to mark the first page as +off-limits to the kernel. + +See: https://github.com/raspberrypi/linux/issues/1989 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 4 ---- + arch/arm/boot/dts/bcm283x.dtsi | 2 ++ + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts +index b21d2866d204adc533b46d581028f290e5c34a3d..cbec919208f3a7fdc2d07b46ed534c0951a76cd6 100644 +--- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts +@@ -1,9 +1,5 @@ + /dts-v1/; + +-#ifdef RPI364 +-/memreserve/ 0x00000000 0x00001000; +-#endif +- + #include "bcm2710.dtsi" + #include "bcm283x-rpi-smsc9514.dtsi" + +diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi +index 7d58cd79ac6bd99f0b47a909ac827c61aac642d9..0bc1932cde435bd151ffc2364bca5cd90eef8eb1 100644 +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -3,6 +3,8 @@ + #include + #include + ++/memreserve/ 0x00000000 0x00001000; ++ + /* This include file covers the common peripherals and configuration between + * bcm2835 and bcm2836 implementations, leaving the CPU configuration to + * bcm2835.dtsi and bcm2836.dtsi. + +From a721f7ae4739afe5ccfba390baac901171fe397b Mon Sep 17 00:00:00 2001 +From: P33M +Date: Fri, 12 May 2017 12:24:00 +0100 +Subject: [PATCH 247/269] 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 +well with the FIQ running in the background, so: +- Guard the disconnect callback with both the host spinlock and FIQ + spinlock +- Move qtd dereference in dwc_otg_handle_hc_fsm() after the early-out + so we don't dereference a qtd that has gone away +- Turn catch-all BUG()s in dwc_otg_handle_hc_fsm() into warnings. +--- + drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c | 2 ++ + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 27 +++++++++++++++++++---- + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 33 +++++++++++++++++++---------- + 3 files changed, 47 insertions(+), 15 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c +index 96c76e38cd372b8ca8c375ae8d8653f32a3faf80..9fb7229f43ae4561c9dc1980065381a48711ae41 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c +@@ -973,7 +973,9 @@ int32_t dwc_otg_handle_disconnect_intr(dwc_otg_core_if_t * core_if) + } else { + if (core_if->op_state == A_HOST) { + /* A-Cable still connected but device disconnected. */ ++ DWC_SPINUNLOCK(core_if->lock); + cil_hcd_disconnect(core_if); ++ DWC_SPINLOCK(core_if->lock); + if (core_if->adp_enable) { + gpwrdn_data_t gpwrdn = { .d32 = 0 }; + cil_hcd_stop(core_if); +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 37c9d7d38287b616fcd335e80aa4110521fa98ca..9a647b75027378e25eef00b5fc2a9166514b5c59 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -290,13 +290,16 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) + gintsts_data_t intr; + dwc_otg_hcd_t *dwc_otg_hcd = p; + ++ DWC_SPINLOCK(dwc_otg_hcd->lock); + /* + * Set status flags for the hub driver. + */ + dwc_otg_hcd->flags.b.port_connect_status_change = 1; + dwc_otg_hcd->flags.b.port_connect_status = 0; +- if(fiq_enable) ++ if(fiq_enable) { + local_fiq_disable(); ++ fiq_fsm_spin_lock(&dwc_otg_hcd->fiq_state->lock); ++ } + /* + * Shutdown any transfers in process by clearing the Tx FIFO Empty + * interrupt mask and status bits and disabling subsequent host +@@ -389,7 +392,8 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) + * in release_channel_ddma(). Which called from ep_disable + * when device disconnect. + */ +- channel->qh = NULL; ++ if (dwc_otg_hcd->core_if->dma_desc_enable) ++ channel->qh = NULL; + } + } + if(fiq_fsm_enable) { +@@ -400,13 +404,16 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) + + } + +- if(fiq_enable) ++ if(fiq_enable) { ++ fiq_fsm_spin_unlock(&dwc_otg_hcd->fiq_state->lock); + local_fiq_enable(); ++ } + + if (dwc_otg_hcd->fops->disconnect) { + dwc_otg_hcd->fops->disconnect(dwc_otg_hcd); + } + ++ DWC_SPINUNLOCK(dwc_otg_hcd->lock); + return 1; + } + +@@ -1750,8 +1757,20 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh) + int hub_addr, port_addr, frame, uframe; + struct fiq_channel_state *st = &hcd->fiq_state->channel[hc->hc_num]; + +- if (st->fsm != FIQ_PASSTHROUGH) ++ /* ++ * Non-periodic channel assignments stay in the non_periodic_active queue. ++ * Therefore we get repeatedly called until the FIQ's done processing this channel. ++ */ ++ if (qh->channel->xfer_started == 1) + return 0; ++ ++ if (st->fsm != FIQ_PASSTHROUGH) { ++ pr_warn_ratelimited("%s:%d: Queue called for an active channel\n", __func__, __LINE__); ++ return 0; ++ } ++ ++ qh->channel->xfer_started = 1; ++ + st->nr_errors = 0; + + st->hcchar_copy.d32 = 0; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index 718a1accc0c219a1764ce53d291de6a2b6f93608..cf23baaa388562b5843be4cfa6c206cbdc4e780d 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -2374,8 +2374,7 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + { + struct fiq_channel_state *st = &hcd->fiq_state->channel[num]; + dwc_hc_t *hc = hcd->hc_ptr_array[num]; +- dwc_otg_qtd_t *qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list); +- dwc_otg_qh_t *qh = hc->qh; ++ dwc_otg_qtd_t *qtd; + dwc_otg_hc_regs_t *hc_regs = hcd->core_if->host_if->hc_regs[num]; + hcint_data_t hcint = hcd->fiq_state->channel[num].hcint_copy; + hctsiz_data_t hctsiz = hcd->fiq_state->channel[num].hctsiz_copy; +@@ -2385,16 +2384,19 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + hostchannels = hcd->available_host_channels; + if (hc->halt_pending) { + /* Dequeue: The FIQ was allowed to complete the transfer but state has been cleared. */ +- if (st->fsm == FIQ_NP_SPLIT_DONE && hcint.b.xfercomp && qh->ep_type == UE_BULK) { ++ if (hc->qh && st->fsm == FIQ_NP_SPLIT_DONE && ++ hcint.b.xfercomp && hc->qh->ep_type == UE_BULK) { + if (hctsiz.b.pid == DWC_HCTSIZ_DATA0) { +- qh->data_toggle = DWC_OTG_HC_PID_DATA1; ++ hc->qh->data_toggle = DWC_OTG_HC_PID_DATA1; + } else { +- qh->data_toggle = DWC_OTG_HC_PID_DATA0; ++ hc->qh->data_toggle = DWC_OTG_HC_PID_DATA0; + } + } + release_channel(hcd, hc, NULL, hc->halt_status); + return; + } ++ ++ qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list); + switch (st->fsm) { + case FIQ_TEST: + break; +@@ -2413,6 +2415,11 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + handle_hc_xfercomp_intr(hcd, hc, hc_regs, qtd); + } else if (hcint.b.nak) { + handle_hc_nak_intr(hcd, hc, hc_regs, qtd); ++ } else { ++ DWC_WARN("Unexpected IRQ state on FSM transaction:" ++ "dev_addr=%d ep=%d fsm=%d, hcint=0x%08x\n", ++ hc->dev_addr, hc->ep_num, st->fsm, hcint.d32); ++ release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_NO_HALT_STATUS); + } + break; + +@@ -2428,8 +2435,10 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + } else if (hcint.b.ahberr) { + handle_hc_ahberr_intr(hcd, hc, hc_regs, qtd); + } else { +- local_fiq_disable(); +- BUG(); ++ DWC_WARN("Unexpected IRQ state on FSM transaction:" ++ "dev_addr=%d ep=%d fsm=%d, hcint=0x%08x\n", ++ hc->dev_addr, hc->ep_num, st->fsm, hcint.d32); ++ release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_NO_HALT_STATUS); + } + break; + +@@ -2445,8 +2454,10 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + } else if (hcint.b.ahberr) { + handle_hc_ahberr_intr(hcd, hc, hc_regs, qtd); + } else { +- local_fiq_disable(); +- BUG(); ++ DWC_WARN("Unexpected IRQ state on FSM transaction:" ++ "dev_addr=%d ep=%d fsm=%d, hcint=0x%08x\n", ++ hc->dev_addr, hc->ep_num, st->fsm, hcint.d32); ++ release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_NO_HALT_STATUS); + } + break; + +@@ -2504,7 +2515,7 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + } else { + frame_desc->status = 0; + /* Unswizzle dma */ +- len = dwc_otg_fiq_unsetup_per_dma(hcd, qh, qtd, num); ++ len = dwc_otg_fiq_unsetup_per_dma(hcd, hc->qh, qtd, num); + frame_desc->actual_length = len; + } + qtd->isoc_frame_index++; +@@ -2566,7 +2577,7 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + * The status is recorded as the interrupt state should the transaction + * fail. + */ +- dwc_otg_fiq_unmangle_isoc(hcd, qh, qtd, num); ++ dwc_otg_fiq_unmangle_isoc(hcd, hc->qh, qtd, num); + hcd->fops->complete(hcd, qtd->urb->priv, qtd->urb, 0); + release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_URB_COMPLETE); + break; + +From 3bad002726b9272b1e3f4f2024ac292def30a1b9 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Mon, 15 May 2017 14:27:48 +0100 +Subject: [PATCH 248/269] dwc_otg: delete hcd->channel_lock + +The lock serves no purpose as it is only held while the HCD spinlock +is already being held. +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 15 --------------- + drivers/usb/host/dwc_otg/dwc_otg_hcd.h | 1 - + drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c | 5 ----- + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 4 ---- + 4 files changed, 25 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 9a647b75027378e25eef00b5fc2a9166514b5c59..5ec991624c7865901b22ea01b9f2c58c8535ecfd 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -938,7 +938,6 @@ static void dwc_otg_hcd_free(dwc_otg_hcd_t * dwc_otg_hcd) + } else if (dwc_otg_hcd->status_buf != NULL) { + DWC_FREE(dwc_otg_hcd->status_buf); + } +- DWC_SPINLOCK_FREE(dwc_otg_hcd->channel_lock); + DWC_SPINLOCK_FREE(dwc_otg_hcd->lock); + /* Set core_if's lock pointer to NULL */ + dwc_otg_hcd->core_if->lock = NULL; +@@ -969,10 +968,8 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if) + + #if (defined(DWC_LINUX) && defined(CONFIG_DEBUG_SPINLOCK)) + DWC_SPINLOCK_ALLOC_LINUX_DEBUG(hcd->lock); +- DWC_SPINLOCK_ALLOC_LINUX_DEBUG(hcd->channel_lock); + #else + hcd->lock = DWC_SPINLOCK_ALLOC(); +- hcd->channel_lock = DWC_SPINLOCK_ALLOC(); + #endif + DWC_DEBUGPL(DBG_HCDV, "init of HCD %p given core_if %p\n", + hcd, core_if); +@@ -1997,7 +1994,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) + dwc_otg_qh_t *qh; + int num_channels; + dwc_irqflags_t flags; +- dwc_spinlock_t *channel_lock = hcd->channel_lock; + dwc_otg_transaction_type_e ret_val = DWC_OTG_TRANSACTION_NONE; + + #ifdef DEBUG_HOST_CHANNELS +@@ -2016,13 +2012,10 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) + + if (microframe_schedule) { + // Make sure we leave one channel for non periodic transactions. +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + if (hcd->available_host_channels <= 1) { +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + break; + } + hcd->available_host_channels--; +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + #ifdef DEBUG_HOST_CHANNELS + last_sel_trans_num_per_scheduled++; + #endif /* DEBUG_HOST_CHANNELS */ +@@ -2035,10 +2028,8 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) + * periodic assigned schedule. + */ + qh_ptr = DWC_LIST_NEXT(qh_ptr); +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_assigned, + &qh->qh_list_entry); +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + } + + /* +@@ -2076,13 +2067,10 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) + } + + if (microframe_schedule) { +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + if (hcd->available_host_channels < 1) { +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + break; + } + hcd->available_host_channels--; +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + #ifdef DEBUG_HOST_CHANNELS + last_sel_trans_num_nonper_scheduled++; + #endif /* DEBUG_HOST_CHANNELS */ +@@ -2095,11 +2083,8 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) + * non-periodic active schedule. + */ + qh_ptr = DWC_LIST_NEXT(qh_ptr); +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + DWC_LIST_MOVE_HEAD(&hcd->non_periodic_sched_active, + &qh->qh_list_entry); +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); +- + + if (!microframe_schedule) + hcd->non_periodic_channels++; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +index 4539cd7b802d3e49ac9a6cb3f1d88b475a1ace16..7f7e9eaffd6a3c3d898855562fbec11289f77f53 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +@@ -568,7 +568,6 @@ struct dwc_otg_hcd { + + /* */ + dwc_spinlock_t *lock; +- dwc_spinlock_t *channel_lock; + /** + * Private data that could be used by OS wrapper. + */ +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c +index 126e99ab2fc43f11d89a08ff0476181ead84029f..bd8a20403713442f6748137d6b5de67e94c3893f 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c +@@ -279,17 +279,12 @@ void dump_frame_list(dwc_otg_hcd_t * hcd) + + static void release_channel_ddma(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) + { +- dwc_irqflags_t flags; +- dwc_spinlock_t *channel_lock = hcd->channel_lock; +- + dwc_hc_t *hc = qh->channel; + if (dwc_qh_is_non_per(qh)) { +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + if (!microframe_schedule) + hcd->non_periodic_channels--; + else + hcd->available_host_channels++; +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + } else + update_frame_list(hcd, qh, 0); + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index cf23baaa388562b5843be4cfa6c206cbdc4e780d..a4355afc77b68718fdaba6c5d4be257dadc75036 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -945,7 +945,6 @@ static void release_channel(dwc_otg_hcd_t * hcd, + dwc_otg_transaction_type_e tr_type; + int free_qtd; + dwc_irqflags_t flags; +- dwc_spinlock_t *channel_lock = hcd->channel_lock; + + int hog_port = 0; + +@@ -1034,11 +1033,8 @@ static void release_channel(dwc_otg_hcd_t * hcd, + break; + } + } else { +- +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + hcd->available_host_channels++; + fiq_print(FIQDBG_INT, hcd->fiq_state, "AHC = %d ", hcd->available_host_channels); +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + } + + /* Try to queue more transfers now that there's a free channel. */ + +From 0c2cccd2448ffde803fb8b9f600d3c4f89e61b76 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Mon, 15 May 2017 14:51:42 +0100 +Subject: [PATCH 249/269] dwc_otg: remove unnecessary dma-mode channel halts on + disconnect interrupt + +Host channels are already halted in kill_urbs_in_qh_list() with the +subsequent interrupt processing behaving as if the URB was dequeued +via HCD callback. + +There's no need to clobber the host channel registers a second time +as this exposes races between the driver and host channel resulting +in hcd->free_hc_list becoming corrupted. +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 30 ------------------------------ + 1 file changed, 30 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 5ec991624c7865901b22ea01b9f2c58c8535ecfd..a2dc6337836b2719f4c954edeeb2a71301931b04 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -200,8 +200,6 @@ static void kill_urbs_in_qh_list(dwc_otg_hcd_t * hcd, dwc_list_link_t * qh_list) + dwc_otg_hc_halt(hcd->core_if, qh->channel, + DWC_OTG_HC_XFER_URB_DEQUEUE); + } +- if(microframe_schedule) +- hcd->available_host_channels++; + qh->channel = NULL; + } + dwc_otg_hcd_qh_remove(hcd, qh); +@@ -369,39 +367,11 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) + } + } + +- for (i = 0; i < num_channels; i++) { +- channel = dwc_otg_hcd->hc_ptr_array[i]; +- if (DWC_CIRCLEQ_EMPTY_ENTRY(channel, hc_list_entry)) { +- hc_regs = +- dwc_otg_hcd->core_if->host_if->hc_regs[i]; +- hcchar.d32 = DWC_READ_REG32(&hc_regs->hcchar); +- if (hcchar.b.chen) { +- /* Halt the channel. */ +- hcchar.b.chdis = 1; +- DWC_WRITE_REG32(&hc_regs->hcchar, +- hcchar.d32); +- } +- +- dwc_otg_hc_cleanup(dwc_otg_hcd->core_if, +- channel); +- DWC_CIRCLEQ_INSERT_TAIL +- (&dwc_otg_hcd->free_hc_list, channel, +- hc_list_entry); +- /* +- * Added for Descriptor DMA to prevent channel double cleanup +- * in release_channel_ddma(). Which called from ep_disable +- * when device disconnect. +- */ +- if (dwc_otg_hcd->core_if->dma_desc_enable) +- channel->qh = NULL; +- } +- } + if(fiq_fsm_enable) { + for(i=0; i < 128; i++) { + dwc_otg_hcd->hub_port[i] = 0; + } + } +- + } + + if(fiq_enable) { + +From 4adcb9be792ebf709234627923b525e602b73c14 Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Mon, 15 May 2017 09:28:36 -0700 +Subject: [PATCH 250/269] 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 +the device, so we would leak the bin BO that we allocated during +probe. + +Signed-off-by: Eric Anholt +Fixes: 553c942f8b2c ("drm/vc4: Allow using more than 256MB of CMA memory.") +--- + drivers/gpu/drm/vc4/vc4_v3d.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_v3d.c b/drivers/gpu/drm/vc4/vc4_v3d.c +index 882ec06225f1d5caca71bdb5c69664188192c2e2..77ed4ef3b8c8685a3cd8c871bbd249debc4e2ac4 100644 +--- a/drivers/gpu/drm/vc4/vc4_v3d.c ++++ b/drivers/gpu/drm/vc4/vc4_v3d.c +@@ -372,6 +372,7 @@ static int vc4_v3d_bind(struct device *dev, struct device *master, void *data) + return ret; + } + ++ pm_runtime_set_active(dev); + pm_runtime_use_autosuspend(dev); + pm_runtime_set_autosuspend_delay(dev, 40); /* a little over 2 frames. */ + pm_runtime_enable(dev); + +From 888ae724a02d0b7e81afb0c0a8fde554154e5a76 Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Mon, 15 May 2017 11:35:13 -0700 +Subject: [PATCH 251/269] BCM270X: Drop position requirement for CMA in VC4 + overlay. + +No longer necessary since 2aefcd576195a739a7a256099571c9c4a401005f, +and will probably let peeople that want to choose a larger CMA +allocation (particularly on pi0/1). + +Signed-off-by: Eric Anholt +--- + arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +index c57e795824e9261e0f60bcb40d6a57241019fd91..bf9395041face775d335177583e0b222eb735189 100644 +--- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts ++++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +@@ -13,35 +13,35 @@ + fragment@0 { + target-path = "/chosen"; + __overlay__ { +- bootargs = "cma=256M@256M"; ++ bootargs = "cma=256M"; + }; + }; + + fragment@1 { + target-path = "/chosen"; + __dormant__ { +- bootargs = "cma=192M@256M"; ++ bootargs = "cma=192M"; + }; + }; + + fragment@2 { + target-path = "/chosen"; + __dormant__ { +- bootargs = "cma=128M@128M"; ++ bootargs = "cma=128M"; + }; + }; + + fragment@3 { + target-path = "/chosen"; + __dormant__ { +- bootargs = "cma=96M@128M"; ++ bootargs = "cma=96M"; + }; + }; + + fragment@4 { + target-path = "/chosen"; + __dormant__ { +- bootargs = "cma=64M@64M"; ++ bootargs = "cma=64M"; + }; + }; + + +From c45ad09ce5906f17631ec87d440a5442a3fec75a Mon Sep 17 00:00:00 2001 +From: Ahmet Inan +Date: Mon, 15 May 2017 16:55:56 +0200 +Subject: [PATCH 252/269] config: Add Goodix touch controller module + +Signed-off-by: Ahmet Inan +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index 6e67f6744780cb6c3a92c5cdea9270e629cef946..b8937da67d842393ee293f4ad83de10595e32da5 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -571,6 +571,7 @@ CONFIG_JOYSTICK_RPISENSE=m + CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m ++CONFIG_TOUCHSCREEN_GOODIX=m + CONFIG_TOUCHSCREEN_EKTF2127=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 8dd491e75834ede8221919a97099037b69d43f2c..20740aaa943d6875f24a2dcfa18078967d2bd829 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -567,6 +567,7 @@ CONFIG_JOYSTICK_RPISENSE=m + CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m ++CONFIG_TOUCHSCREEN_GOODIX=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + CONFIG_TOUCHSCREEN_USB_COMPOSITE=m + CONFIG_TOUCHSCREEN_STMPE=m + +From c01f2d9d1a69c3508c1aeb07eda39504b8c395dc Mon Sep 17 00:00:00 2001 +From: Ahmet Inan +Date: Mon, 15 May 2017 17:10:53 +0200 +Subject: [PATCH 253/269] 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. + +Signed-off-by: Ahmet Inan +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 8 +++++ + arch/arm/boot/dts/overlays/goodix-overlay.dts | 46 +++++++++++++++++++++++++++ + 3 files changed, 55 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/goodix-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 0eb0e87c5746a8449162549384eb4a63895ba3c6..315ee19036ab85431f2a077101054ba21b2db888 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -25,6 +25,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + enc28j60.dtbo \ + enc28j60-spi2.dtbo \ + fe-pi-audio.dtbo \ ++ goodix.dtbo \ + googlevoicehat-soundcard.dtbo \ + gpio-ir.dtbo \ + gpio-poweroff.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 843734740c2cd7438ecd9c956c87371f5803ba06..2dade3155e11387de52e5e6150c9a1e9fc4c36cf 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -459,6 +459,14 @@ Load: dtoverlay=fe-pi-audio + Params: + + ++Name: goodix ++Info: Enables I2C connected Goodix gt9271 multiple touch controller using ++ GPIOs 4 and 17 (pins 7 and 11 on GPIO header) for interrupt and reset. ++Load: dtoverlay=goodix,= ++Params: interrupt GPIO used for interrupt (default 4) ++ reset GPIO used for reset (default 17) ++ ++ + Name: googlevoicehat-soundcard + Info: Configures the Google voiceHAT soundcard + Load: dtoverlay=googlevoicehat-soundcard +diff --git a/arch/arm/boot/dts/overlays/goodix-overlay.dts b/arch/arm/boot/dts/overlays/goodix-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..084f74042ed6379ebd9281374d5391a7e23a431e +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/goodix-overlay.dts +@@ -0,0 +1,46 @@ ++// Device tree overlay for I2C connected Goodix gt9271 multiple touch controller ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&gpio>; ++ __overlay__ { ++ goodix_pins: goodix_pins { ++ brcm,pins = <4 17>; // interrupt and reset ++ brcm,function = <0 0>; // in ++ brcm,pull = <2 2>; // pull-up ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ gt9271: gt9271@14 { ++ compatible = "goodix,gt9271"; ++ reg = <0x14>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&goodix_pins>; ++ interrupt-parent = <&gpio>; ++ interrupts = <4 2>; // high-to-low edge triggered ++ irq-gpios = <&gpio 4 0>; // Pin7 on GPIO header ++ reset-gpios = <&gpio 17 0>; // Pin11 on GPIO header ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ interrupt = <&goodix_pins>,"brcm,pins:0", ++ <>9271>,"interrupts:0", ++ <>9271>,"irq-gpios:4"; ++ reset = <&goodix_pins>,"brcm,pins:4", ++ <>9271>,"reset-gpios:4"; ++ }; ++}; + +From 8b0da256d949f4721185fd2990932ac397359ed7 Mon Sep 17 00:00:00 2001 +From: chenzhiwo +Date: Wed, 17 May 2017 16:34:57 +0800 +Subject: [PATCH 254/269] Add device tree overlay for GPIO connected rotary + encoder. See Documentation/input/rotary-encoder.txt for more information. + +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 9 +++++ + .../boot/dts/overlays/rotary-encoder-overlay.dts | 43 ++++++++++++++++++++++ + 3 files changed, 53 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 315ee19036ab85431f2a077101054ba21b2db888..a2670d3ab9479f34886e0ea5431de39c8bcc21e4 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -76,6 +76,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + pwm-2chan.dtbo \ + qca7000.dtbo \ + raspidac3.dtbo \ ++ rotary-encoder.dtbo \ + rpi-backlight.dtbo \ + rpi-cirrus-wm5102.dtbo \ + rpi-dac.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 2dade3155e11387de52e5e6150c9a1e9fc4c36cf..c0b37e2db6ded6e0f209ab6c7831bd514c4e2bcd 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1121,6 +1121,15 @@ Load: dtoverlay=raspidac3 + Params: + + ++Name: rotary-encoder ++Info: Overlay for GPIO connected rotary encoder. ++Load: dtoverlay=rotary-encoder,= ++Params: rotary0_pin_a GPIO connected to rotary encoder channel A ++ (default 4). ++ rotary0_pin_b GPIO connected to rotary encoder channel B ++ (default 17). ++ ++ + Name: rpi-backlight + Info: Raspberry Pi official display backlight driver + Load: dtoverlay=rpi-backlight +diff --git a/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts b/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..c0c6bccff60cc15d9a9bf59d2c7cba41eb9c1cdc +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts +@@ -0,0 +1,43 @@ ++// Device tree overlay for GPIO connected rotary encoder. ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&gpio>; ++ __overlay__ { ++ rotary0_pins: rotary0_pins { ++ brcm,pins = <4 17>; /* gpio 4 17 */ ++ brcm,function = <0 0>; /* input */ ++ brcm,pull = <2 2>; /* pull-up */ ++ }; ++ ++ }; ++ }; ++ ++ fragment@1 { ++ target-path = "/"; ++ __overlay__ { ++ rotary0: rotary@0 { ++ compatible = "rotary-encoder"; ++ status = "okay"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&rotary0_pins>; ++ gpios = <&gpio 4 0>, <&gpio 17 0>; ++ linux,axis = <0>; /* REL_X */ ++ rotary-encoder,encoding = "gray"; ++ rotary-encoder,relative-axis; ++ }; ++ }; ++ ++ }; ++ ++ __overrides__ { ++ rotary0_pin_a = <&rotary0>,"gpios:4", ++ <&rotary0_pins>,"brcm,pins:0"; ++ rotary0_pin_b = <&rotary0>,"gpios:16", ++ <&rotary0_pins>,"brcm,pins:4"; ++ }; ++}; + +From d18c0f6cab6149a21be496f581611923a37618cb Mon Sep 17 00:00:00 2001 +From: Ed Blake +Date: Thu, 10 Nov 2016 18:07:54 +0000 +Subject: [PATCH 255/269] serial: 8250: Add IrDA to UART capabilities + +commit 98838d95075a5295f3478ceba18bcccf472e30f4 upstream. + +Add an IrDA UART capability flag and change the type of +uart_8250_port.capabilities to be u32 rather than unsigned short to +accommodate the additional flag. + +Signed-off-by: Ed Blake +Signed-off-by: Greg Kroah-Hartman +--- + arch/x86/platform/ce4100/ce4100.c | 2 +- + drivers/tty/serial/8250/8250.h | 1 + + drivers/tty/serial/8250/8250_core.c | 4 ++-- + include/linux/serial_8250.h | 4 ++-- + 4 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/arch/x86/platform/ce4100/ce4100.c b/arch/x86/platform/ce4100/ce4100.c +index b27bccd4390f65ca361f4ea7c0ea17031d055a6a..821cb41f00e6ee9528e5d46a8ae6afd8e82b5204 100644 +--- a/arch/x86/platform/ce4100/ce4100.c ++++ b/arch/x86/platform/ce4100/ce4100.c +@@ -89,7 +89,7 @@ static void ce4100_mem_serial_out(struct uart_port *p, int offset, int value) + } + + static void ce4100_serial_fixup(int port, struct uart_port *up, +- unsigned short *capabilites) ++ u32 *capabilites) + { + #ifdef CONFIG_EARLY_PRINTK + /* +diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h +index a697a8585ddc346a72de6e30cdb77785a5688e71..0c23b0079a51977275a16a3c3849dc70f6cb7267 100644 +--- a/drivers/tty/serial/8250/8250.h ++++ b/drivers/tty/serial/8250/8250.h +@@ -80,6 +80,7 @@ struct serial8250_config { + #define UART_CAP_RTOIE (1 << 13) /* UART needs IER bit 4 set (Xscale, Tegra) */ + #define UART_CAP_HFIFO (1 << 14) /* UART has a "hidden" FIFO */ + #define UART_CAP_RPM (1 << 15) /* Runtime PM is active while idle */ ++#define UART_CAP_IRDA (1 << 16) /* UART supports IrDA line discipline */ + + #define UART_BUG_QUOT (1 << 0) /* UART has buggy quot LSB */ + #define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ +diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c +index cf9c7d2e3f95e1a19410247a89c2e49c1a2747a8..2d45863da0e3fecaf339f3e9cdf3c385081f1a9b 100644 +--- a/drivers/tty/serial/8250/8250_core.c ++++ b/drivers/tty/serial/8250/8250_core.c +@@ -425,10 +425,10 @@ struct uart_8250_port *serial8250_get_port(int line) + EXPORT_SYMBOL_GPL(serial8250_get_port); + + static void (*serial8250_isa_config)(int port, struct uart_port *up, +- unsigned short *capabilities); ++ u32 *capabilities); + + void serial8250_set_isa_configurator( +- void (*v)(int port, struct uart_port *up, unsigned short *capabilities)) ++ void (*v)(int port, struct uart_port *up, u32 *capabilities)) + { + serial8250_isa_config = v; + } +diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h +index 48ec7651989b093fc015e44b59657c7000e11012..04185e03d7bec56197cb7653773200449f11b65c 100644 +--- a/include/linux/serial_8250.h ++++ b/include/linux/serial_8250.h +@@ -94,7 +94,7 @@ struct uart_8250_port { + struct uart_port port; + struct timer_list timer; /* "no irq" timer */ + struct list_head list; /* ports on this IRQ */ +- unsigned short capabilities; /* port capabilities */ ++ u32 capabilities; /* port capabilities */ + unsigned short bugs; /* port bugs */ + bool fifo_bug; /* min RX trigger if enabled */ + unsigned int tx_loadsz; /* transmit fifo load size */ +@@ -168,6 +168,6 @@ int serial8250_console_setup(struct uart_port *port, char *options, bool probe); + + extern void serial8250_set_isa_configurator(void (*v) + (int port, struct uart_port *up, +- unsigned short *capabilities)); ++ u32 *capabilities)); + + #endif + +From 6017b95d474d641bc430a1e98e774607bf5a205c Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 19 May 2017 15:07:27 +0100 +Subject: [PATCH 256/269] 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 +features: CSTOPB PARENB PARODD CMSPAR CS5 CS6 + +Add a new capability (UART_CAP_MINI) that exposes the restrictions to +the user of the termios API by turning off the unsupported features in +the request. + +N.B. It is almost possible to automatically discover the missing +features by reading back the LCR register, but the CSIZE bits don't +cooperate (contrary to the documentation, both bits are significant, +but CS5 and CS6 are mapped to CS7) and the code is much longer. + +See: https://github.com/raspberrypi/linux/issues/1561 + +Signed-off-by: Phil Elwell +--- + drivers/tty/serial/8250/8250.h | 3 +++ + drivers/tty/serial/8250/8250_bcm2835aux.c | 2 +- + drivers/tty/serial/8250/8250_port.c | 6 ++++++ + 3 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h +index 0c23b0079a51977275a16a3c3849dc70f6cb7267..5258a82e73758ec156781b601407eb1840657999 100644 +--- a/drivers/tty/serial/8250/8250.h ++++ b/drivers/tty/serial/8250/8250.h +@@ -81,6 +81,9 @@ struct serial8250_config { + #define UART_CAP_HFIFO (1 << 14) /* UART has a "hidden" FIFO */ + #define UART_CAP_RPM (1 << 15) /* Runtime PM is active while idle */ + #define UART_CAP_IRDA (1 << 16) /* UART supports IrDA line discipline */ ++#define UART_CAP_MINI (1 << 17) /* Mini UART on BCM283X family lacks: ++ * STOP PARITY EPAR SPAR WLEN5 WLEN6 ++ */ + + #define UART_BUG_QUOT (1 << 0) /* UART has buggy quot LSB */ + #define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ +diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c +index e10f1244409b344b850ffbbd4af5757a66c875f1..a23c7da42ea81342efc26fb35a92a69d535b7cd0 100644 +--- a/drivers/tty/serial/8250/8250_bcm2835aux.c ++++ b/drivers/tty/serial/8250/8250_bcm2835aux.c +@@ -39,7 +39,7 @@ static int bcm2835aux_serial_probe(struct platform_device *pdev) + + /* initialize data */ + spin_lock_init(&data->uart.port.lock); +- data->uart.capabilities = UART_CAP_FIFO; ++ data->uart.capabilities = UART_CAP_FIFO | UART_CAP_MINI; + data->uart.port.dev = &pdev->dev; + data->uart.port.regshift = 2; + data->uart.port.type = PORT_16550; +diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c +index 080d5a59d0a7f41ee0578d1f6e2fbecf00409bce..6d0d42d06670eba7cd56204083efd6f60a1f1ee1 100644 +--- a/drivers/tty/serial/8250/8250_port.c ++++ b/drivers/tty/serial/8250/8250_port.c +@@ -2558,6 +2558,12 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, + unsigned long flags; + unsigned int baud, quot, frac = 0; + ++ if (up->capabilities & UART_CAP_MINI) { ++ termios->c_cflag &= ~(CSTOPB | PARENB | PARODD | CMSPAR); ++ if ((termios->c_cflag & CSIZE) == CS5 || ++ (termios->c_cflag & CSIZE) == CS6) ++ termios->c_cflag = (termios->c_cflag & ~CSIZE) | CS7; ++ } + cval = serial8250_compute_lcr(up, termios->c_cflag); + + baud = serial8250_get_baud_rate(port, termios, old); + +From 610ddaec2bdfbbb5a181d0b994e9a8abf0ac45ea Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 18 May 2017 11:40:43 +0100 +Subject: [PATCH 257/269] config: Add FB_TFT_ST7789V module + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index b8937da67d842393ee293f4ad83de10595e32da5..d6f3db7620639f1cf377a935dd93710db4ec9c82 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -1157,6 +1157,7 @@ CONFIG_FB_TFT_SSD1306=m + CONFIG_FB_TFT_SSD1331=m + CONFIG_FB_TFT_SSD1351=m + CONFIG_FB_TFT_ST7735R=m ++CONFIG_FB_TFT_ST7789V=m + CONFIG_FB_TFT_TINYLCD=m + CONFIG_FB_TFT_TLS8204=m + CONFIG_FB_TFT_UC1701=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 20740aaa943d6875f24a2dcfa18078967d2bd829..e3878cdcbc8d17ee7cb1af10592477b56308669b 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -1165,6 +1165,7 @@ CONFIG_FB_TFT_SSD1306=m + CONFIG_FB_TFT_SSD1331=m + CONFIG_FB_TFT_SSD1351=m + CONFIG_FB_TFT_ST7735R=m ++CONFIG_FB_TFT_ST7789V=m + CONFIG_FB_TFT_TINYLCD=m + CONFIG_FB_TFT_TLS8204=m + CONFIG_FB_TFT_UC1701=m + +From 71c3f3b39cabeada04087460b92d382ee31abc57 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 8 May 2017 16:43:40 +0100 +Subject: [PATCH 258/269] 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 +be started. The wfe instruction causes a core to wait until an event +or interrupt arrives before continuing to the next instruction. +The sev instruction sends a wakeup event to the other cores, so call +it from bcm2836_smp_boot_secondary, the function that wakes up the +waiting cores during booting. + +It is harmless to use this patch without the corresponding change +adding wfe to the ARMv7/ARMv8-32 stubs, but if the stubs are updated +and this patch is not applied then the other cores will sleep forever. + +See: https://github.com/raspberrypi/linux/issues/1989 + +Signed-off-by: Phil Elwell +--- + drivers/irqchip/irq-bcm2836.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c +index e10597c1a1e51e5e27aa574b6a26d87181f26221..6dccdf94f6f3b4c6a3f6cb1cae5a6ab2879a38cc 100644 +--- a/drivers/irqchip/irq-bcm2836.c ++++ b/drivers/irqchip/irq-bcm2836.c +@@ -248,6 +248,9 @@ static int __init bcm2836_smp_boot_secondary(unsigned int cpu, + writel(secondary_startup_phys, + intc.base + LOCAL_MAILBOX3_SET0 + 16 * cpu); + ++ dsb(sy); /* Ensure write has completed before waking the other CPUs */ ++ sev(); ++ + return 0; + } + + +From 94b13af3bf364587f3ebfaad846dc040412b0ebe Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Sat, 20 May 2017 22:10:14 +0100 +Subject: [PATCH 259/269] overlays: README: remove vestigial SDIO parameters + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/README | 24 ++---------------------- + 1 file changed, 2 insertions(+), 22 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index c0b37e2db6ded6e0f209ab6c7831bd514c4e2bcd..2f762bcf23859ccb0e922935ad158227514b34c5 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1231,19 +1231,9 @@ Name: sdio + Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock, + and enables SDIO via GPIOs 22-27. + Load: dtoverlay=sdio,= +-Params: overclock_50 SD Clock (in MHz) to use when the MMC framework +- requests 50MHz +- +- sdio_overclock SDIO Clock (in MHz) to use when the MMC ++Params: sdio_overclock SDIO Clock (in MHz) to use when the MMC + framework requests 50MHz + +- force_pio Disable DMA support (default off) +- +- pio_limit Number of blocks above which to use DMA +- (default 1) +- +- debug Enable debug output (default off) +- + poll_once Disable SDIO-device polling every second + (default on: polling once at boot-time) + +@@ -1254,19 +1244,9 @@ Name: sdio-1bit + Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock, + and enables 1-bit SDIO via GPIOs 22-25. + Load: dtoverlay=sdio-1bit,= +-Params: overclock_50 SD Clock (in MHz) to use when the MMC framework +- requests 50MHz +- +- sdio_overclock SDIO Clock (in MHz) to use when the MMC ++Params: sdio_overclock SDIO Clock (in MHz) to use when the MMC + framework requests 50MHz + +- force_pio Disable DMA support (default off) +- +- pio_limit Number of blocks above which to use DMA +- (default 1) +- +- debug Enable debug output (default off) +- + poll_once Disable SDIO-device polling every second + (default on: polling once at boot-time) + + +From 955b9301c6a4cf750817d3a2a60173433213fb38 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 11 May 2017 16:58:16 +0100 +Subject: [PATCH 260/269] 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. +The new versions should be functionally equivalent. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/mmc-overlay.dts | 1 + + arch/arm/boot/dts/overlays/sdhost-overlay.dts | 1 - + arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts | 11 ++++++----- + arch/arm/boot/dts/overlays/sdio-overlay.dts | 11 ++++++----- + 4 files changed, 13 insertions(+), 11 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/mmc-overlay.dts b/arch/arm/boot/dts/overlays/mmc-overlay.dts +index d32b02ca01ced5ab3de00d66d5412c8fda4bc510..64f1ff6684b19e76cfd00e6950919ac55227b44b 100644 +--- a/arch/arm/boot/dts/overlays/mmc-overlay.dts ++++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts +@@ -21,6 +21,7 @@ + mmc_pins: mmc_pins { + brcm,pins = <48 49 50 51 52 53>; + brcm,function = <7>; /* alt3 */ ++ brcm.pull = <0 2 2 2 2 2>; + }; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/sdhost-overlay.dts b/arch/arm/boot/dts/overlays/sdhost-overlay.dts +index a431177a1c9d320d5432ea448ad4d0f696c34525..de3d1b0a5e403057a8e94f85695de4076d77e31f 100644 +--- a/arch/arm/boot/dts/overlays/sdhost-overlay.dts ++++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts +@@ -11,7 +11,6 @@ + frag0: __overlay__ { + brcm,overclock-50 = <0>; + brcm,pio-limit = <1>; +- brcm,debug-flags = <0>; + status = "okay"; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts b/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts +index 46d453859b31f5c700a8a2e39a2c209330bc108f..0b7f2c6f2603b631e1985df7fbf66749149566d6 100644 +--- a/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts ++++ b/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts +@@ -1,11 +1,12 @@ +-/* Enable 1-bit SDIO from MMC interface via GPIOs 22-25. Includes sdhost overlay. */ ++/dts-v1/; ++/plugin/; + +-/include/ "sdhost-overlay.dts" ++/* Enable 1-bit SDIO from MMC interface via GPIOs 22-25. Includes sdhost overlay. */ + + /{ + compatible = "brcm,bcm2708"; + +- fragment@3 { ++ fragment@0 { + target = <&mmc>; + sdio_mmc: __overlay__ { + compatible = "brcm,bcm2835-mmc"; +@@ -18,12 +19,12 @@ + }; + }; + +- fragment@4 { ++ fragment@1 { + target = <&gpio>; + __overlay__ { + sdio_pins: sdio_pins { + brcm,pins = <22 23 24 25>; +- brcm,function = <7 7 7 7>; /* ALT3 = SD1 */ ++ brcm,function = <7>; /* ALT3 = SD1 */ + brcm,pull = <0 2 2 2>; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/sdio-overlay.dts b/arch/arm/boot/dts/overlays/sdio-overlay.dts +index 398bd812c716c9e472fbac5aba4fe882114c65d1..215d5e3e8a8ca4363457fed1f7425427bb5086d7 100644 +--- a/arch/arm/boot/dts/overlays/sdio-overlay.dts ++++ b/arch/arm/boot/dts/overlays/sdio-overlay.dts +@@ -1,11 +1,12 @@ +-/* Enable SDIO from MMC interface via GPIOs 22-27. Includes sdhost overlay. */ ++/dts-v1/; ++/plugin/; + +-/include/ "sdhost-overlay.dts" ++/* Enable SDIO from MMC interface via GPIOs 22-27. Includes sdhost overlay. */ + + /{ + compatible = "brcm,bcm2708"; + +- fragment@3 { ++ fragment@0 { + target = <&mmc>; + sdio_mmc: __overlay__ { + pinctrl-names = "default"; +@@ -17,12 +18,12 @@ + }; + }; + +- fragment@4 { ++ fragment@1 { + target = <&gpio>; + __overlay__ { + sdio_pins: sdio_pins { + brcm,pins = <22 23 24 25 26 27>; +- brcm,function = <7 7 7 7 7 7>; /* ALT3 = SD1 */ ++ brcm,function = <7>; /* ALT3 = SD1 */ + brcm,pull = <0 2 2 2 2 2>; + }; + }; + +From 8163070dc6a469b9c64512f82f7a160d2ad0509c Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 11 May 2017 22:00:20 +0100 +Subject: [PATCH 261/269] SQUASH: BCM270X_DT: Fix typo in mmc overlay + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/mmc-overlay.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/overlays/mmc-overlay.dts b/arch/arm/boot/dts/overlays/mmc-overlay.dts +index 64f1ff6684b19e76cfd00e6950919ac55227b44b..88251ad653917674f80c2975de2e425fca00b71f 100644 +--- a/arch/arm/boot/dts/overlays/mmc-overlay.dts ++++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts +@@ -21,7 +21,7 @@ + mmc_pins: mmc_pins { + brcm,pins = <48 49 50 51 52 53>; + brcm,function = <7>; /* alt3 */ +- brcm.pull = <0 2 2 2 2 2>; ++ brcm,pull = <0 2 2 2 2 2>; + }; + }; + }; + +From 32e01de8efab7210d864eb2daff3d3eccbc12ffc Mon Sep 17 00:00:00 2001 +From: Nisar Sayed +Date: Tue, 9 May 2017 18:51:42 +0100 +Subject: [PATCH 262/269] 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. + +Signed-off-by: Nisar Sayed + +Reported-by: popcorn mix +--- + drivers/net/usb/smsc95xx.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c +index f6661e388f6e801c1b88e48a3b71407bd70cf56e..b84e98508b5d97165b68dfc30240950e78bb14c3 100644 +--- a/drivers/net/usb/smsc95xx.c ++++ b/drivers/net/usb/smsc95xx.c +@@ -694,7 +694,7 @@ static int smsc95xx_set_features(struct net_device *netdev, + if (ret < 0) + return ret; + +- if (features & NETIF_F_HW_CSUM) ++ if (features & NETIF_F_IP_CSUM) + read_buf |= Tx_COE_EN_; + else + read_buf &= ~Tx_COE_EN_; +@@ -1342,12 +1342,16 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) + + spin_lock_init(&pdata->mac_cr_lock); + ++ /* RFC 2460, IPv6 UDP calculated checksum yields a result of zero must be ++ * changed to 0xffff, this feature is not supported by smsc95xx family, ++ * hence enable csum offload only for IPv4 TCP/UDP packets. ++ */ + if (DEFAULT_TX_CSUM_ENABLE) +- dev->net->features |= NETIF_F_HW_CSUM; ++ dev->net->features |= NETIF_F_IP_CSUM; + if (DEFAULT_RX_CSUM_ENABLE) + dev->net->features |= NETIF_F_RXCSUM; + +- dev->net->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM; ++ dev->net->hw_features = NETIF_F_IP_CSUM | NETIF_F_RXCSUM; + + smsc95xx_init_mac_address(dev); + + +From 2af672ce3d6de0430b4e1578561347fa5c28175c Mon Sep 17 00:00:00 2001 +From: Karl Palsson +Date: Tue, 18 Mar 2014 23:33:27 +0000 +Subject: [PATCH 263/269] usb/serial/ch341: Add parity support + +Based on wireshark packet traces from a windows machine. + +ch340 and ch341 both seem to support all parity modes, but only the ch341 +appears to support variable data bits and variable stop bits, so those are left +unimplemented, as before. + +Tested on a generic usb-rs485 dongle with the chip label scratched off, and +some Modbus/RTU devices that required various parity settings. + +Signed-off-by: Karl Palsson +--- + drivers/usb/serial/ch341.c | 27 ++++++++++++++++++++++++++- + 1 file changed, 26 insertions(+), 1 deletion(-) + +diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c +index e98590aab633cd6491f2886842179d314ded5fe6..4f25aba5bdfcabe7304b18860be8527587390467 100644 +--- a/drivers/usb/serial/ch341.c ++++ b/drivers/usb/serial/ch341.c +@@ -358,6 +358,7 @@ static void ch341_set_termios(struct tty_struct *tty, + struct ch341_private *priv = usb_get_serial_port_data(port); + unsigned baud_rate; + unsigned long flags; ++ unsigned int par_flags; + + baud_rate = tty_get_baud_rate(tty); + +@@ -368,10 +369,34 @@ static void ch341_set_termios(struct tty_struct *tty, + + /* Unimplemented: + * (cflag & CSIZE) : data bits [5, 8] +- * (cflag & PARENB) : parity {NONE, EVEN, ODD} + * (cflag & CSTOPB) : stop bits [1, 2] + */ + ++ /* CH340 doesn't appear to support variable stop bits or data bits */ ++ if (C_PARENB(tty)) { ++ if (C_PARODD(tty)) { ++ if (tty->termios.c_cflag & CMSPAR) { ++ dev_dbg(&port->dev, "parity = mark\n"); ++ par_flags = 0xeb; ++ } else { ++ dev_dbg(&port->dev, "parity = odd\n"); ++ par_flags = 0xcb; ++ } ++ } else { ++ if (tty->termios.c_cflag & CMSPAR) { ++ dev_dbg(&port->dev, "parity = space\n"); ++ par_flags = 0xfb; ++ } else { ++ dev_dbg(&port->dev, "parity = even\n"); ++ par_flags = 0xdb; ++ } ++ } ++ } else { ++ dev_dbg(&port->dev, "parity = none\n"); ++ par_flags = 0xc3; ++ } ++ ch341_control_out(port->serial->dev, 0x9a, 0x2518, par_flags); ++ + spin_lock_irqsave(&priv->lock, flags); + if (C_BAUD(tty) == B0) + priv->line_control &= ~(CH341_BIT_DTR | CH341_BIT_RTS); + +From 6f7b4c2fd93af047338593994594b651f863f3e9 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 5 May 2017 13:23:10 +0100 +Subject: [PATCH 264/269] Revert "serial: 8250: Don't crash when nr_uarts is 0" + +This reverts commit 9c297d9ebd0d8c6d5e6e8675d527d6a221613abc. +--- + drivers/tty/serial/8250/8250_core.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c +index 2d45863da0e3fecaf339f3e9cdf3c385081f1a9b..9bfdb0e549e626082be8fd6f350e9f801e1a1eed 100644 +--- a/drivers/tty/serial/8250/8250_core.c ++++ b/drivers/tty/serial/8250/8250_core.c +@@ -509,8 +509,6 @@ static void __init serial8250_isa_init_ports(void) + + if (nr_uarts > UART_NR) + nr_uarts = UART_NR; +- if (!nr_uarts) +- return; + + for (i = 0; i < nr_uarts; i++) { + struct uart_8250_port *up = &serial8250_ports[i]; + +From 8fe8bab6cdfd41751ec0c74e95857b98dbc5c193 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Wed, 10 May 2017 12:47:46 +0100 +Subject: [PATCH 265/269] dwcotg: Allow to build without FIQ on ARM64 + +Signed-off-by: popcornmix +--- + drivers/usb/host/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig +index 5a5f6c925f43147082dcfaab15f9e05ed966838c..c50476b3d72471faf94c280aab756599fe55ac90 100644 +--- a/drivers/usb/host/Kconfig ++++ b/drivers/usb/host/Kconfig +@@ -764,7 +764,7 @@ config USB_HWA_HCD + + config USB_DWCOTG + tristate "Synopsis DWC host support" +- depends on USB && FIQ ++ depends on USB && (FIQ || ARM64) + help + The Synopsis DWC controller is a dual-role + host/peripheral/OTG ("On The Go") USB controllers. + +From a017d2c8d33ea20e73ae94b931d361d60b76c664 Mon Sep 17 00:00:00 2001 +From: Liviu Dudau +Date: Wed, 1 Mar 2017 12:26:28 +0000 +Subject: [PATCH 266/269] ASoC: TLV320AIC23: Unquote NULL from control name + +commit a03faba972cb0f9b3a46d8054e674d5492e06c38 upstream. + +Without this I am getting the following messages at boot on my Trimslice: + tlv320aic23-codec 2-001a: Control not supported for path LLINEIN -> [NULL] -> Line Input + tlv320aic23-codec 2-001a: ASoC: no dapm match for LLINEIN --> NULL --> Line Input + tlv320aic23-codec 2-001a: ASoC: Failed to add route LLINEIN -> NULL -> Line Input + tlv320aic23-codec 2-001a: Control not supported for path RLINEIN -> [NULL] -> Line Input + tlv320aic23-codec 2-001a: ASoC: no dapm match for RLINEIN --> NULL --> Line Input + tlv320aic23-codec 2-001a: ASoC: Failed to add route RLINEIN -> NULL -> Line Input + tlv320aic23-codec 2-001a: Control not supported for path MICIN -> [NULL] -> Mic Input + tlv320aic23-codec 2-001a: ASoC: no dapm match for MICIN --> NULL --> Mic Input + tlv320aic23-codec 2-001a: ASoC: Failed to add route MICIN -> NULL -> Mic Input + tegra-snd-trimslice sound: tlv320aic23-hifi <-> 70002800.i2s mapping ok + +Signed-off-by: Liviu Dudau +Signed-off-by: Mark Brown +--- + sound/soc/codecs/tlv320aic23.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/sound/soc/codecs/tlv320aic23.c b/sound/soc/codecs/tlv320aic23.c +index 410cae0f2060474313872d6b9110bf05d3368e43..628a8eeaab689eb85b6d3dba54ec5a98aefe6da0 100644 +--- a/sound/soc/codecs/tlv320aic23.c ++++ b/sound/soc/codecs/tlv320aic23.c +@@ -174,10 +174,9 @@ static const struct snd_soc_dapm_route tlv320aic23_intercon[] = { + {"ROUT", NULL, "Output Mixer"}, + + /* Inputs */ +- {"Line Input", "NULL", "LLINEIN"}, +- {"Line Input", "NULL", "RLINEIN"}, +- +- {"Mic Input", "NULL", "MICIN"}, ++ {"Line Input", NULL, "LLINEIN"}, ++ {"Line Input", NULL, "RLINEIN"}, ++ {"Mic Input", NULL, "MICIN"}, + + /* input mux */ + {"Capture Source", "Line", "Line Input"}, + +From 553e258c1407e42f4b4eba21806fd2b2cf855280 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 16 May 2017 16:55:36 +0100 +Subject: [PATCH 267/269] config: Drop CONFIG_TOUCHSCREEN_EKTF2127 + +--- + arch/arm/configs/bcm2709_defconfig | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index d6f3db7620639f1cf377a935dd93710db4ec9c82..dc3523343c39cacdf6f913fe8fbcaa38c5f5374a 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -572,7 +572,6 @@ CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m + CONFIG_TOUCHSCREEN_GOODIX=m +-CONFIG_TOUCHSCREEN_EKTF2127=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + CONFIG_TOUCHSCREEN_USB_COMPOSITE=m + CONFIG_TOUCHSCREEN_STMPE=m + +From 6132c29f1f8aeef3b19cc7a9ed53e82e447908af Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 16 May 2017 15:58:00 +0100 +Subject: [PATCH 268/269] config: Add CONFIG_TOUCHSCREEN_EDT_FT5X06 + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index dc3523343c39cacdf6f913fe8fbcaa38c5f5374a..b4eb06e990b2d6b11e4645d9c79ae6a75fc2655b 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -572,6 +572,7 @@ CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m + CONFIG_TOUCHSCREEN_GOODIX=m ++CONFIG_TOUCHSCREEN_EDT_FT5X06=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + CONFIG_TOUCHSCREEN_USB_COMPOSITE=m + CONFIG_TOUCHSCREEN_STMPE=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index e3878cdcbc8d17ee7cb1af10592477b56308669b..693ac252ce29f3aae94424e892c6206d48be3265 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -568,6 +568,7 @@ CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m + CONFIG_TOUCHSCREEN_GOODIX=m ++CONFIG_TOUCHSCREEN_EDT_FT5X06=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + CONFIG_TOUCHSCREEN_USB_COMPOSITE=m + CONFIG_TOUCHSCREEN_STMPE=m + +From 435c831bb5f68a59f4c9b4e6eb5d74d714a74766 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 16 May 2017 19:34:52 +0100 +Subject: [PATCH 269/269] config: Add CONFIG_I2C_ROBOTFUZZ_OSIF + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index b4eb06e990b2d6b11e4645d9c79ae6a75fc2655b..17fac298f4e5a07fb5292f5e42d43a09208b21c5 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -621,6 +621,7 @@ CONFIG_I2C_MUX_PCA954x=m + CONFIG_I2C_BCM2708=m + CONFIG_I2C_BCM2835=m + CONFIG_I2C_GPIO=m ++CONFIG_I2C_ROBOTFUZZ_OSIF=m + CONFIG_SPI=y + CONFIG_SPI_BCM2835=m + CONFIG_SPI_BCM2835AUX=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 693ac252ce29f3aae94424e892c6206d48be3265..442eb48d4cb418d596e0dbad4bf0742d9e8e80b0 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -617,6 +617,7 @@ CONFIG_I2C_MUX_PCA954x=m + CONFIG_I2C_BCM2708=m + CONFIG_I2C_BCM2835=m + CONFIG_I2C_GPIO=m ++CONFIG_I2C_ROBOTFUZZ_OSIF=m + CONFIG_SPI=y + CONFIG_SPI_BCM2835=m + CONFIG_SPI_BCM2835AUX=m diff --git a/projects/RPi/patches/linux/linux-02-RPi_clk_fix.patch b/projects/RPi/patches/linux/linux-02-RPi_clk_fix.patch deleted file mode 100644 index 6c88610655..0000000000 --- a/projects/RPi/patches/linux/linux-02-RPi_clk_fix.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 76527b4e6a5dbe55e0b2d8ab533c2388b36c86be Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Mon, 22 May 2017 13:56:41 +0100 -Subject: [PATCH] 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. - -Introduce a new metric of clock accuracy to penalise clocks with a good -average but worse jitter compared to clocks with an average which is no -better but with lower jitter. The metric is the ideal rate minus the -worse deviation from that ideal using the nearest integer divisors. - -Use this metric for parent selection for clocks requiring low jitter -(currently just PCM). - -Signed-off-by: Phil Elwell ---- - drivers/clk/bcm/clk-bcm2835.c | 39 ++++++++++++++++++++++++++++++++++----- - 1 file changed, 34 insertions(+), 5 deletions(-) - -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index c24b4de..db3ba74 100644 ---- a/drivers/clk/bcm/clk-bcm2835.c -+++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -534,6 +534,7 @@ struct bcm2835_clock_data { - - bool is_vpu_clock; - bool is_mash_clock; -+ bool low_jitter; - - u32 tcnt_mux; - }; -@@ -1154,7 +1155,8 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - int parent_idx, - unsigned long rate, - u32 *div, -- unsigned long *prate) -+ unsigned long *prate, -+ unsigned long *avgrate) - { - struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); - struct bcm2835_cprman *cprman = clock->cprman; -@@ -1166,11 +1168,33 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - parent = clk_hw_get_parent_by_index(hw, parent_idx); - - if (!(BIT(parent_idx) & data->set_rate_parent)) { -+ unsigned long tmp_rate; -+ - *prate = clk_hw_get_rate(parent); - *div = bcm2835_clock_choose_div(hw, rate, *prate, true); - -- return bcm2835_clock_rate_from_divisor(clock, *prate, -- *div); -+ tmp_rate = bcm2835_clock_rate_from_divisor(clock, *prate, *div); -+ *avgrate = tmp_rate; -+ -+ if (data->low_jitter && (*div & CM_DIV_FRAC_MASK)) { -+ unsigned long high, low; -+ u32 idiv = *div & ~CM_DIV_FRAC_MASK; -+ -+ high = bcm2835_clock_rate_from_divisor(clock, *prate, -+ idiv); -+ idiv += CM_DIV_FRAC_MASK + 1; -+ low = bcm2835_clock_rate_from_divisor(clock, *prate, -+ idiv); -+ -+ /* Return a value which is the maximum deviation -+ * below the ideal rate, for use as a metric. -+ */ -+ if ((tmp_rate - low) < (high - tmp_rate)) -+ tmp_rate = low; -+ else -+ tmp_rate -= high - tmp_rate; -+ } -+ return tmp_rate; - } - - if (data->frac_bits) -@@ -1197,6 +1221,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - - *div = curdiv << CM_DIV_FRAC_BITS; - *prate = curdiv * best_rate; -+ *avgrate = best_rate; - - return best_rate; - } -@@ -1208,6 +1233,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - bool current_parent_is_pllc; - unsigned long rate, best_rate = 0; - unsigned long prate, best_prate = 0; -+ unsigned long avgrate, best_avgrate = 0; - size_t i; - u32 div; - -@@ -1232,11 +1258,13 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - continue; - - rate = bcm2835_clock_choose_div_and_prate(hw, i, req->rate, -- &div, &prate); -+ &div, &prate, -+ &avgrate); - if (rate > best_rate && rate <= req->rate) { - best_parent = parent; - best_prate = prate; - best_rate = rate; -+ best_avgrate = avgrate; - } - } - -@@ -1246,7 +1274,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - req->best_parent_hw = best_parent; - req->best_parent_rate = best_prate; - -- req->rate = best_rate; -+ req->rate = best_avgrate; - - return 0; - } -@@ -2061,6 +2089,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { - .int_bits = 12, - .frac_bits = 12, - .is_mash_clock = true, -+ .low_jitter = true, - .parents = bcm2835_pcm_per_parents, - .tcnt_mux = 23), - [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( diff --git a/projects/RPi2/patches/linux/linux-01-RPi_support.patch b/projects/RPi2/patches/linux/linux-01-RPi_support.patch index 842bb93d56..fe35e11120 100644 --- a/projects/RPi2/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi2/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ -From cb8066936db1d23446c81d21d6b4bb55056acc30 Mon Sep 17 00:00:00 2001 +From 79015824ce4b54ba9699bed89dc186b3c50b762e Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 001/237] smsx95xx: fix crimes against truesize +Subject: [PATCH 001/269] 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 32919b70d04f9735170481b00f6ba04a12a40895 Mon Sep 17 00:00:00 2001 +From 732a0b24284eb08d1265a280c39f08e5fa57bd9a Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 002/237] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 002/269] 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 e4dd221bccc5aa86f27569bf87c623972e11df63 Mon Sep 17 00:00:00 2001 +From 43376d16055cd5782e3b3ced15da7c6cd0f5bf60 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 003/237] Allow mac address to be set in smsc95xx +Subject: [PATCH 003/269] 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 b94bb3ddcf5368a84e9dc00864dd63dd8cae8b58 Mon Sep 17 00:00:00 2001 +From caec1794edbfc3ab80abdcb3d65a47f885c8fe87 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 004/237] Protect __release_resource against resources without +Subject: [PATCH 004/269] 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 9269e1fb3edbbe45407f327ec8192095795e2894 Mon Sep 17 00:00:00 2001 +From b486dc6bb81c88815f8ed3fcb9662e1d931341aa Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 005/237] mm: Remove the PFN busy warning +Subject: [PATCH 005/269] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -239,10 +239,10 @@ Signed-off-by: Eric Anholt 1 file changed, 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index e5b159b88e3968857c2b02d4c6bb0589a83930b3..84271c72e2b98ab0135908776cb220c790a9cd4c 100644 +index 5b06fb385dd714847143bc15a07fd086ff343992..83ae950cff28bc79c46b7acf35e0af8a3c7715bc 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7323,8 +7323,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, +@@ -7324,8 +7324,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, /* Make sure the range is really isolated. */ if (test_pages_isolated(outer_start, end, false)) { @@ -252,10 +252,10 @@ index e5b159b88e3968857c2b02d4c6bb0589a83930b3..84271c72e2b98ab0135908776cb220c7 goto done; } -From a3d0748addb1db79bf2938b2f73f2787c8142c0d Mon Sep 17 00:00:00 2001 +From d19c9df4f4c53747d9077428647b8020460f88ec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 006/237] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/269] 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 ef009f2619a7cef201c14af374391cbe2bb804b6 Mon Sep 17 00:00:00 2001 +From 2acf37b5d17ebfbb754f21fb4bfb30cc3cbf91f4 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/237] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 007/269] 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 62aaeef510e9438692129b3dddcbf42f0329736d Mon Sep 17 00:00:00 2001 +From b4d77f69db5e28050db4de7b62217f2aa298ab47 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/237] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 008/269] 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 2cbc1ae91a761b3d13e536207025681a6f9b07aa Mon Sep 17 00:00:00 2001 +From a89119580285bc108c1507723ec5b0ab511be9ff Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 009/237] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 009/269] 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 cbf8e59e110417902cc0a33d80846e92668d0959 Mon Sep 17 00:00:00 2001 +From f48bb049bc5cd3efe385c0202f268b65a1e824f8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 30 Jun 2015 14:12:42 +0100 -Subject: [PATCH 010/237] serial: 8250: Don't crash when nr_uarts is 0 +Subject: [PATCH 010/269] 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 cd51d76d165de45326a6dd1c2de3bfe7bf1cae3f Mon Sep 17 00:00:00 2001 +From 52fceb45cd09ed8a6169a6ef43089e3dcf4b0fff Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 011/237] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 011/269] 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 3c9de5fca5b74c711b41abe6b6395b1f37c65892 Mon Sep 17 00:00:00 2001 +From abef3b2d3950764fc95d2677a60725826a8d8697 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 012/237] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 012/269] 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 feeffef9b6523e4435355de13920f47d01e0b4d8 Mon Sep 17 00:00:00 2001 +From ea406cc2d3889cbdaa8049cd190d030d6340d085 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 013/237] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 013/269] 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 ff925faea8508f57604e78ee21a1025e748c47f0 Mon Sep 17 00:00:00 2001 +From 7d03ef81a2071d491f72c3361b6638efd4e8f490 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 May 2016 12:32:47 +0100 -Subject: [PATCH 014/237] pinctrl-bcm2835: Return pins to inputs when freed +Subject: [PATCH 014/269] 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 0f7a0e45617c0f98ed82c08971d26b95597b8988 Mon Sep 17 00:00:00 2001 +From d85d172287e58dbb99e40666d9822d6db01e1f5c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 015/237] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 015/269] 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 ff0aa7f8e9c8f79130dc2f63b87156683b1b54b1 Mon Sep 17 00:00:00 2001 +From 2586dbdfee1bc39270dd390e5e8bef0e0e506ffc Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 016/237] spi-bcm2835: Disable forced software CS +Subject: [PATCH 016/269] 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 770219991e8e487d9eda05b0aff7d2977b4ba56b Mon Sep 17 00:00:00 2001 +From 2648dc560f4a9c92eed36c537880640ae2de0173 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 017/237] spi-bcm2835: Remove unused code +Subject: [PATCH 017/269] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -1023,10 +1023,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From 6fab21d4b1999469dbf9d4a8428f38fffe98dea2 Mon Sep 17 00:00:00 2001 +From 8fe2ebf8cbfb79647aa63d7cc8d76ffecc585628 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/237] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 018/269] 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 fae16613c032abcd4e39076a1ba35b1d5828a783 Mon Sep 17 00:00:00 2001 +From 14fd76962dee82784349d1a39a7f419e046acf88 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/237] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 019/269] 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 e18dc596cf2447fa9ef7e41b62d9396e29043426..80d35f760b4a4a51e60c355a84d538ba MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From bec04405036485dd65f6fc47e84348ae853562af Mon Sep 17 00:00:00 2001 +From d696a17375d536f12298e92daceb600dc76204d4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 020/237] firmware: Updated mailbox header +Subject: [PATCH 020/269] 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 82f922d58232d082f55ad3b710f82c3210b35683 Mon Sep 17 00:00:00 2001 +From af5f7cea1b68d9493451c236bfd885b874e5abb4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 021/237] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 021/269] 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 5cd10e36b0a4b7a94c019db2595ca6a196c7e8ca Mon Sep 17 00:00:00 2001 +From bc8a0df1f9fa1ab79f34d941d6849d7468d79469 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 022/237] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 022/269] 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 441b7b516839ee78346d0fd9278e4b2ebdf8ae2c Mon Sep 17 00:00:00 2001 +From f4109d9f80f848317c141ea72bf2a3d4d0a411a3 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/237] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 023/269] 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 e15fd788eff11cf229e0049e075a6a3a956398a8 Mon Sep 17 00:00:00 2001 +From 92fd7c705b975f380ed3b4882e24f7f9d32e2f58 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 024/237] reboot: Use power off rather than busy spinning when +Subject: [PATCH 024/269] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1468,10 +1468,10 @@ index 3fa867a2aae672755c6ce6448f4148c989dbf964..80dca8dcd6709034b643c6a3f35729e0 /* -From 6665032094afa9ac298d8f60d8b900169d545509 Mon Sep 17 00:00:00 2001 +From ba07abff2715476c89b49f06063c3a16bd688ea6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 025/237] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 025/269] 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 5151700add5effb47213ab307c1e67a0cdee9c0c Mon Sep 17 00:00:00 2001 +From 7f075a5e8d20e793329859e52b28f83a8aa5fe79 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 026/237] Register the clocks early during the boot process, so +Subject: [PATCH 026/269] 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 107b440406fad9cfec531d1c67921047d96bcb14 Mon Sep 17 00:00:00 2001 +From ea22a6e92e62ecf4466cf0d9eae0ee772e8183dc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 027/237] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 027/269] 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 878e5404accdb54a7dbdb04fca64fd388b519c27 Mon Sep 17 00:00:00 2001 +From a6c91433ce9d179a872ebbd3b6b8712ec0dfd2a1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 028/237] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 028/269] 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 01111f91ba6ca8650464a2d63be3a5efbecc286b Mon Sep 17 00:00:00 2001 +From 0d7da923aa7bb70d36b7dcb55d2285cc18bbeb00 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 029/237] BCM2835_DT: Fix I2S register map +Subject: [PATCH 029/269] 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 fc3efa2b58407f9120532a75a0eb31e3d946e324 Mon Sep 17 00:00:00 2001 +From 4f4d87ae96216a2c749f5c60e5f8b208b9b60e6c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 030/237] Main bcm2708/bcm2709 linux port +Subject: [PATCH 030/269] 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 e6b0c3acbc8ed89dec1a97037fda008a0d65c554 Mon Sep 17 00:00:00 2001 +From 7bff94f3aa10014a64ff85746934309d4834409d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 031/237] Add dwc_otg driver +Subject: [PATCH 031/269] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2546,10 +2546,10 @@ index 358ca8dd784fe43700ae070764fa783500a792fe..abaac7c7142d8887c1516957fc52162c return i; } diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 35fb2bef0e45971568dbbafd2699fe0b1d3a4e5b..28d781209de161d4dd02ee9dcf2b86e43c8858a3 100644 +index 579900640faabb84b68f344951193f860fab598d..1704f1d8c2f5d174e4b059dd7fda6b75e6c3ec0d 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5016,7 +5016,7 @@ static void port_event(struct usb_hub *hub, int port1) +@@ -5025,7 +5025,7 @@ static void port_event(struct usb_hub *hub, int port1) if (portchange & USB_PORT_STAT_C_OVERCURRENT) { u16 status = 0, unused; @@ -62901,10 +62901,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From 720b024065112322f1f8d8adad09e24d9b8b3a33 Mon Sep 17 00:00:00 2001 +From 50fa5fe5e07da8f2d41c99486f4bb8c3b7d6cc7f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 032/237] bcm2708 framebuffer driver +Subject: [PATCH 032/269] 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 5170d3020760803904fb33f948a08e3f2fe9c99a Mon Sep 17 00:00:00 2001 +From b5792c84a6067b64d0e594bde8b3b8e699f166d7 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 033/237] dmaengine: Add support for BCM2708 +Subject: [PATCH 033/269] 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 65050c0d8eee5ee8951136cf37ab79a16714a439 Mon Sep 17 00:00:00 2001 +From 31ef18993d95147073260061725da8b7408a5729 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 034/237] MMC: added alternative MMC driver +Subject: [PATCH 034/269] 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 11a2ec26cc0c9a4a901683bcc5db431495785c73 Mon Sep 17 00:00:00 2001 +From 099cfb48eaa9d6c2aa9009188d25dfe6c9b3e9c3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 035/237] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 035/269] 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 2d193c7dae8a2303209a2fe91fda9ae8533c5f20 Mon Sep 17 00:00:00 2001 +From 4610911ae7d2ab9c6e51ecb5e5fb5545e1acf083 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2016 12:50:33 +0100 -Subject: [PATCH 036/237] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards +Subject: [PATCH 036/269] 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 bf2cb577cae2292835fa1b23d6a7bc4e6e57cd83 Mon Sep 17 00:00:00 2001 +From ff78d0a7689b0a5c4aab838a8acabbad47e0128d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 037/237] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 037/269] 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 007cc2317a385a0ee577ad7c10ae670445961824 Mon Sep 17 00:00:00 2001 +From 476d9005edbd948a8650cd9c191438a51d17ea1a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 038/237] bcm2708: alsa sound driver +Subject: [PATCH 038/269] 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 d65ea31e609388eda13399b5d76fa78b83962c0a Mon Sep 17 00:00:00 2001 +From 97ed9e26481ecb89c62fe2f205308843690fe2d3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 039/237] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 039/269] 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 6ec4aeb958e0f4369097c42dee73a2e3ea56acd2 Mon Sep 17 00:00:00 2001 +From ab0ea172ef575913b63f7893a0c41da050b8ad75 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 040/237] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 040/269] 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 50677b57028c716da928d1f37ee2660d7f047986 Mon Sep 17 00:00:00 2001 +From e52946361a8e8e795a8001c27a8a5381f045c274 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 041/237] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 041/269] 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 37c315c77e0854a6f0d0cbd59e59b423b2dafbd5 Mon Sep 17 00:00:00 2001 +From 08d0749e9c634b24e4aa793b8f4aa4fcb25470be Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 042/237] Add SMI driver +Subject: [PATCH 042/269] Add SMI driver Signed-off-by: Luke Wren --- @@ -82579,10 +82579,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From c45bdc33fcdc9b8fc27f73e5856a0cda534c6df1 Mon Sep 17 00:00:00 2001 +From 11400a6db1c81cbce1bb6dce8d225231f82b6859 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 043/237] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 043/269] 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 04f085b20286938b2edbaee180d154792ed2c8b3 Mon Sep 17 00:00:00 2001 +From 74a992992502f182c76e414c4adc46b48b23dc6c Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 044/237] Add SMI NAND driver +Subject: [PATCH 044/269] 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 703a412e030de0a175b587b44bc0738354de2e4c Mon Sep 17 00:00:00 2001 +From 911feabd59b70016a059eed6aa5d5103a8777eee Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 045/237] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 045/269] 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 3a261e33ae9c95d3772670611169ac85607b5be9 Mon Sep 17 00:00:00 2001 +From 2178915a09cce0414ad54d991a3a648eb7d74f19 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 046/237] Add cpufreq driver +Subject: [PATCH 046/269] 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 c1737e0db817d17df8147e80d45eeb095e27a7a9 Mon Sep 17 00:00:00 2001 +From 321d95c9c599c0c4a3d320c7f22dfa61c19606cf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 047/237] Added hwmon/thermal driver for reporting core +Subject: [PATCH 047/269] 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 f73a86da3d30b9a334b262026ddfe87bfd9ae8c1 Mon Sep 17 00:00:00 2001 +From ec44ec502547d427fb6b1bf148dbde31c3000261 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 048/237] Add Chris Boot's i2c driver +Subject: [PATCH 048/269] 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 1db902a5f1e80f377cf093db330ad9617375ea45 Mon Sep 17 00:00:00 2001 +From ceb9c52e8528b600055dd8125b9247702a3dd0a6 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/237] char: broadcom: Add vcio module +Subject: [PATCH 049/269] 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 53ce66f55753253f3e9adcec3d59640e1c797560 Mon Sep 17 00:00:00 2001 +From 89388ba84f0c79ae29ce5c3ca7fd4cbbc7116648 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/237] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 050/269] 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 9ae97b240e6285f7a47b6d5aa1a13aa01609f3ad Mon Sep 17 00:00:00 2001 +From 0cf6d0049c108b7613c4a902694aad08ba74d4c5 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 051/237] bcm2835: add v4l2 camera device +Subject: [PATCH 051/269] 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 a15ffe27fd20c8835a1404679e70e0a6f4c312a6 Mon Sep 17 00:00:00 2001 +From 94396fb17f4db40a5ad4a3373005013a9a789cb3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 052/237] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 052/269] 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 03ab2da6d25acf5c13aab3dba565e9ad498ef0b4 Mon Sep 17 00:00:00 2001 +From 9cebc064fccb57147ed38a40fbc85450e817912b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:49:15 +0100 -Subject: [PATCH 053/237] scripts/dtc: Update to upstream version 1.4.1 +Subject: [PATCH 053/269] 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 8ade2c47ccf954e386bfec5ff051435975a669dc Mon Sep 17 00:00:00 2001 +From 24eaf4ba165808168d4780fc09554965044399e0 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 054/237] BCM2708: Add core Device Tree support +Subject: [PATCH 054/269] 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 a1262117d6c9ed2e113a57eb004ac3b0bbfb138c Mon Sep 17 00:00:00 2001 +From 9343c744be717bfeb6ff750eedada9ce1962730e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 055/237] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 055/269] 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 71d39d01810797ce92e8f29cf824a64d2e8104d8 Mon Sep 17 00:00:00 2001 +From adfcfa34ccbb5819fced283fcf792d5daf6df55d Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 056/237] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 056/269] 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 d75614a783a4c69c60d7b19bcf141f8503bcfa22 Mon Sep 17 00:00:00 2001 +From 0033178bba78f6f6d2a19a5c6a7b6c201a8e28cf Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 057/237] Speed up console framebuffer imageblit function +Subject: [PATCH 057/269] 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 5797ce2ede3c2df641c6a9e70d410b2f2b098911 Mon Sep 17 00:00:00 2001 +From ad863573d9b4897c225463b30772858427afc96b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 058/237] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 058/269] 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 fa6abecb69649f6d5133765e12e061762b9771c0 Mon Sep 17 00:00:00 2001 +From 57d3f0cf1f645fd8bd8101fa008525c7591f5bf1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 059/237] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 059/269] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -107613,10 +107613,10 @@ index a3d2aad2443f3314396d25086d891eca22317cf8..45db7dee21858fc80e571f463717e51a * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From b3765f904e1b2c27caebe76a5e6b36d725bce865 Mon Sep 17 00:00:00 2001 +From 800020ec64d0125524ad6900ad9e5e48081520b2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 060/237] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 060/269] 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 834b20139f0b0d0e6dd5fc5723bb8392ceb1d5a8 Mon Sep 17 00:00:00 2001 +From d8a72ba362b98060fdb0ac3da3f195f914c40d27 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 061/237] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 061/269] 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 e552ea44bf00da0eaf4cce2b1d16cbb4d4e2f005 Mon Sep 17 00:00:00 2001 +From 9b5ec1177407b8ab94ec2e7379f2b3c76443483d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 062/237] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 062/269] 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 c957dd5e968f1186317182272e2c272710223075 Mon Sep 17 00:00:00 2001 +From 52ee4b138ebb31b1cdc49fac30425d7b6565ee26 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 063/237] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 063/269] 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 2c0fa7eaf95b36dbb20a9e299db0cb28d16659b9 Mon Sep 17 00:00:00 2001 +From 7af6a352ddc4a4aebd73719d86b091aa957e42e3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 064/237] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 064/269] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -110497,10 +110497,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From 635c6c3a8c9bb3e0b3b09864be3804b6159e67fb Mon Sep 17 00:00:00 2001 +From 6383fcdd234ae04b11f5c6d39bf67be87443744b Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 065/237] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 065/269] 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 8d853b78203004907baf19d3ec6a5345bfe0b87b Mon Sep 17 00:00:00 2001 +From 26b6f466e82f8cdf82a037c3b4b7a8bdac1f2bca Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 066/237] ASoC: Add support for Rpi-DAC +Subject: [PATCH 066/269] 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 14c325ff3cb21be8eca83fccc368984d9291efa5 Mon Sep 17 00:00:00 2001 +From 54bce83bc79f84b40e93f42266daa1c116819246 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 067/237] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 067/269] 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 76354bbe47add02b605501aa81621fc5c80bbe3a Mon Sep 17 00:00:00 2001 +From fa059db83ae953d6f104c56b0f118a3c1b95d123 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 068/237] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 068/269] 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 d0a0dd2d070e493b337366f0d711a2906314246c Mon Sep 17 00:00:00 2001 +From 976d11db746a5621b01a13ac1fc1d6829a3033fa Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 069/237] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 069/269] 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 ea022ee87d5cf2f7f0e6b7bdca133d953e99eb10 Mon Sep 17 00:00:00 2001 +From cdb9c4a0d174c8e35d6ff6c0a61cd7bf5a27052b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jul 2016 17:06:50 +0100 -Subject: [PATCH 070/237] iqaudio-dac: Compile fix - untested +Subject: [PATCH 070/269] 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 7a8c28b93fc1defeb5ec83c142d95e316cb7961d Mon Sep 17 00:00:00 2001 +From 32645a1dac87204737663854c325811cd41a413e Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 071/237] Added support for HiFiBerry DAC+ +Subject: [PATCH 071/269] 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. @@ -111761,7 +111761,7 @@ Signed-off-by: DigitalDreamtime create mode 100644 sound/soc/bcm/hifiberry_dacplus.c diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index 925081ec14c04935e1eb17bf2709640c7ae3ae10..2b6fcd8abf79da77aa85fdc53512aafd09f836cb 100644 +index 42042c0a936c0408ee91f5d0b5a0162b6fc710b9..5ae5237accf2ebd80b38065d37984554e3f0f939 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -26,6 +26,7 @@ obj-$(CONFIG_ARCH_CLPS711X) += clk-clps711x.o @@ -112354,10 +112354,10 @@ index 72b19e62f6267698aea45d2410d616d91c1825cb..c6839ef6e16754ed9de2698507b8986a dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 9ae0b65ff30cd16fdc186047bf54dec2d1d3c60c Mon Sep 17 00:00:00 2001 +From 5fa4f242e074f3f7ca33ef31c099c93a6d1cb25b Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 072/237] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 072/269] 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 acfc389b25ea347d0123d42d88522d7817f0d94d Mon Sep 17 00:00:00 2001 +From b620a6dc0b07848c1ececeb779b8ad87b75886f1 Mon Sep 17 00:00:00 2001 From: Ryan Coe Date: Sat, 31 Jan 2015 18:25:49 -0700 -Subject: [PATCH 073/237] Update ds1307 driver for device-tree support +Subject: [PATCH 073/269] Update ds1307 driver for device-tree support Signed-off-by: Ryan Coe --- @@ -113227,10 +113227,10 @@ index 4e31036ee2596dec93accd26f627c5b95591ae9f..b92044cf03e750afa521a93519500e9d .driver = { .name = "rtc-ds1307", -From 8debf3c070d425fa884fadcaad69d1de45fac7d0 Mon Sep 17 00:00:00 2001 +From 4bd384e4f3039ac2b10763e5fce5452d9a85b8a1 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 074/237] Add driver for rpi-proto +Subject: [PATCH 074/269] 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 889f3b4276e597124b2ba594fa92f3ebdb0b45c2 Mon Sep 17 00:00:00 2001 +From 426ea22201429e2d4ea2e32817eb2517d5798f5f Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 075/237] RaspiDAC3 support +Subject: [PATCH 075/269] 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 8d5fe08f07c614db89b03d36e03f4be366e3276d Mon Sep 17 00:00:00 2001 +From d3ffc86453d9c6faaad26f4a1b5c679d140597cd Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 076/237] Add Support for JustBoom Audio boards +Subject: [PATCH 076/269] 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 2e6bca7b964c9cda92cc8ddb69154da052edd12e Mon Sep 17 00:00:00 2001 +From 5ac19586717d639a422648b5e8ab74ee3ab21432 Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 077/237] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 077/269] 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 d7d8f613b5c8fbeb8cf8eb03aa6cdf71d68ef5c3 Mon Sep 17 00:00:00 2001 +From e3a8db083e0d33b1ca2bd8359beb495681192333 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 078/237] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 078/269] 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 0d92055d78e96a0fe7d8d385e4f80bd425fdacbc Mon Sep 17 00:00:00 2001 +From 2ffdbfa91860d7c0fd6e7bb34a65726e35fd41eb Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 079/237] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 079/269] 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 e31dc5d781898f532f2a2142b256a83337e8bffb Mon Sep 17 00:00:00 2001 +From 1cdbc4130e598ad8cd32503e38339ed3a9e99a58 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 080/237] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 080/269] 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 356cfde76cf644fbaec8e2ffc5a5e5b1d1aa62fa Mon Sep 17 00:00:00 2001 +From 8a2204cd8e782bc5d3aaef71b0c1e67d914d0b56 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 081/237] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 081/269] 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 7c8d5ee6164655cd7e6daaba643aac644dcab6f8 Mon Sep 17 00:00:00 2001 +From 48b62591ffd63a84b65d6a31efc9c993db75176f Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 082/237] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 082/269] 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 bc39b1bc2466b34898a1946819b0450aec13d478 Mon Sep 17 00:00:00 2001 +From 8d0c8d76aca2bea8df8fca2fc7bf6b6cd4166782 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 083/237] Support for Blokas Labs pisound board +Subject: [PATCH 083/269] 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 02f7fcf65d264ce919b21ca635f0cac9665706b3 Mon Sep 17 00:00:00 2001 +From 4c67995f8c22187e16ef3ff79e8b07108b8bb007 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 084/237] rpi_display: add backlight driver and overlay +Subject: [PATCH 084/269] 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 b4bcaf4e215e603abf4c9d9af7082b6cb910d6e5 Mon Sep 17 00:00:00 2001 +From 61fb1bd55d8a32aba77c179589a9111cd6b7946f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 085/237] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 085/269] 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 239b27f5bd650568073df24f891be0fcb5d67ab6 Mon Sep 17 00:00:00 2001 +From 3cf12d62433ad0b06197a895e7a5524bc139a661 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 086/237] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 086/269] 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 279365bf09f676b3ecd6f0d01e2f2c3cadc93290 Mon Sep 17 00:00:00 2001 +From 770a744fce53d99aadfa995ea826112730df9584 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 087/237] OF: DT-Overlay configfs interface +Subject: [PATCH 087/269] 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 c024e084635fd30c1703ac0c98e6696c371ac702 Mon Sep 17 00:00:00 2001 +From 7e65bb1597e90ed605c43e65e289064922ea1eec Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 088/237] brcm: adds support for BCM43341 wifi +Subject: [PATCH 088/269] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -118015,10 +118015,10 @@ index d0407d9ad7827cd756b6311410ffe2d9a7cacc78..f1fb8a3c7a3211e8429585861f2f42e0 #define BRCM_CC_4335_CHIP_ID 0x4335 #define BRCM_CC_4339_CHIP_ID 0x4339 -From a7d5d0f1e433e70204cc2e4a09dacaa0083915fb Mon Sep 17 00:00:00 2001 +From 7b41569a2a8b2c8073c9877fd4bcee35672f946f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 089/237] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 089/269] 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 5f5e40fdf42dae8a5bdc07bbc6e204c47d964464 Mon Sep 17 00:00:00 2001 +From b7ef0b7ecd67f609c172d13d969f63ea90aa1618 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 090/237] config: Add default configs +Subject: [PATCH 090/269] 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 af5d5e6c0831f4949b571b50639fe647dfc9a45b Mon Sep 17 00:00:00 2001 +From 444787979857bef59d2c9e7c3c10db80591bfb62 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 091/237] Add arm64 configuration and device tree differences. +Subject: [PATCH 091/269] 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 e6d12b9ef1a29ab5d7475f4d3f0183f5f4af50e7 Mon Sep 17 00:00:00 2001 +From 46933ecb02977c39375083ebae2edb806ea9ba38 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 15:05:11 +0000 -Subject: [PATCH 092/237] vchiq_arm: Tweak the logging output +Subject: [PATCH 092/269] vchiq_arm: Tweak the logging output Signed-off-by: Phil Elwell --- @@ -122167,10 +122167,10 @@ index 2c98da4307dff994a00dc246574ef0aaee05d5da..160db24aeea33a8296923501009c1f02 switch (type) { -From 16340528fe3b320f5e35781da4a51887815d374c Mon Sep 17 00:00:00 2001 +From bc9e796c9a5a6d54ab745ad2c60375a30fea36fa Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 14:16:25 +0000 -Subject: [PATCH 093/237] vchiq_arm: Access the dequeue_pending flag locked +Subject: [PATCH 093/269] 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 3da3be83c95e7b54708fb101987ad26a8303533a Mon Sep 17 00:00:00 2001 +From 51412de6b7ff20c5c2c9ba2bb91e605217f759fd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 20:53:47 +0000 -Subject: [PATCH 094/237] vchiq_arm: Service callbacks must not fail +Subject: [PATCH 094/269] 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 1a03b3264a21dd0c6d0cb149d15abe2903b9baf6 Mon Sep 17 00:00:00 2001 +From 214a4a348965b0dfc215a4eb793fbe8376943073 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Apr 2016 13:49:32 +0100 -Subject: [PATCH 095/237] vchiq_arm: Add completion records under the mutex +Subject: [PATCH 095/269] 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 9d82c45be9f4d1e744bf22a8632564ee66307df4 Mon Sep 17 00:00:00 2001 +From 0178bac3eaccf0df78011c49309d0d7bfec7c610 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 20 Jun 2016 13:51:44 +0100 -Subject: [PATCH 096/237] vchiq_arm: Avoid use of mutex in add_completion +Subject: [PATCH 096/269] 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 4bf3bde8baacd8c008c610c9c123b7442048ac8e Mon Sep 17 00:00:00 2001 +From 5e9ea98df8770d36acc27e6e57f3fdd17220cad1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Oct 2016 10:14:10 -0700 -Subject: [PATCH 097/237] staging/vchi: Convert to current get_user_pages() +Subject: [PATCH 097/269] 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 2828ec478e1dce7be71a3ce5b1529d69ac891dca Mon Sep 17 00:00:00 2001 +From 4918a6e968d302e1572a148205d0899de121deda Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Oct 2016 10:16:03 -0700 -Subject: [PATCH 098/237] staging/vchi: Update for rename of +Subject: [PATCH 098/269] 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 556f3681e1f62442bf52ab2ae0071bc66ee62cf8 Mon Sep 17 00:00:00 2001 +From 98f7ab2f25b47f304b724dab8c432c67b1582369 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Oct 2016 10:21:17 -0700 -Subject: [PATCH 099/237] drivers/vchi: Remove dependency on CONFIG_BROKEN. +Subject: [PATCH 099/269] 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 69c4be81b79e2287ff6f43eb9c2b95ce29ae93b4 Mon Sep 17 00:00:00 2001 +From 056024e6d4a399172716ea53bae6b6726bf4f741 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 100/237] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 100/269] 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 c04cb0547307b93f81960c5c3ef95a13fce083a1 Mon Sep 17 00:00:00 2001 +From 8b94268c00fd97fe98a5149b4a0c5f81ba2b72e6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:18:09 +0100 -Subject: [PATCH 101/237] raspberrypi-firmware: Define the MBOX channel in the +Subject: [PATCH 101/269] 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 f9314abed2e205bf28a7327ce6f550c2977a92f8 Mon Sep 17 00:00:00 2001 +From 2454c6f20b2c892d6807aa67c3840605ffcf64ad Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 102/237] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 102/269] 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 a811d4cbf5516196d62c57ccdd532e173bcaf6a7 Mon Sep 17 00:00:00 2001 +From d590e0a75b1bdf54ec40fa5cba6fe1456fa1c35b 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/237] i2c: bcm2835: Protect against unexpected TXW/RXR +Subject: [PATCH 103/269] 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 5a57e0b3969a1c263d5296759d4b226e7fcd39c2 Mon Sep 17 00:00:00 2001 +From d6ce79564eb31ba3fe92772b6e19eb1d7fff372d 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/237] i2c: bcm2835: Use dev_dbg logging on transfer errors +Subject: [PATCH 104/269] 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 89e078bc9475cb73f84ff3990ec0c11f386bcad5 Mon Sep 17 00:00:00 2001 +From d0042963f07b66371d97dd146f8c0c67f1925de8 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/237] i2c: bcm2835: Can't support I2C_M_IGNORE_NAK +Subject: [PATCH 105/269] 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 b8fb669100aac3d9f6af05e439a2d30b9e6d49bc Mon Sep 17 00:00:00 2001 +From a57cd62b8f6e515caf6ac5f86a22dc0472e1ec1b 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/237] i2c: bcm2835: Add support for Repeated Start +Subject: [PATCH 106/269] 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 adf0d322dd9d7c6dfef75cac8aff33f5ff1bc261 Mon Sep 17 00:00:00 2001 +From a31352ef30492721335e4ca695e4b74d380db80e 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/237] i2c: bcm2835: Support i2c-dev ioctl I2C_TIMEOUT +Subject: [PATCH 107/269] 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 0bcc59e8b82fbdef69e1ba66ae37189abb95dfe6 Mon Sep 17 00:00:00 2001 +From 1e22c3a0caef822de0c25ca6f93562e52a84d992 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/237] i2c: bcm2835: Add support for dynamic clock +Subject: [PATCH 108/269] 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 a65590150a0e8c23b8c895067fa689be7e28f098 Mon Sep 17 00:00:00 2001 +From f3df2e3003af536614907cb0db26d42aa339396d 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/237] i2c: bcm2835: Add debug support +Subject: [PATCH 109/269] 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 9d1a1e1b6879dfe801941172a6f6edd21d8114b2 Mon Sep 17 00:00:00 2001 +From 772a2bc20c10aa7675c8a8eb395e3de8dcd278e8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 31 Dec 2016 14:15:50 +0000 -Subject: [PATCH 110/237] arm64: Add CONFIG_ARCH_BCM2835 +Subject: [PATCH 110/269] 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 f6923268d1117d4d2ac1e9010c1331bed88cd0c8 Mon Sep 17 00:00:00 2001 +From 89f35cb59dd5281e7ad66e7c6afb12229a86de8b Mon Sep 17 00:00:00 2001 From: Alex Tucker Date: Tue, 13 Dec 2016 19:50:18 +0000 -Subject: [PATCH 111/237] Add support for Silicon Labs Si7013/20/21 +Subject: [PATCH 111/269] Add support for Silicon Labs Si7013/20/21 humidity/temperature sensor. --- @@ -124318,10 +124318,10 @@ index f6d134c095af2398fc55ae7d2b0e86456c30627c..31bda8da4cb6a56bfe493a81b9189009 }; }; -From 67eebada5accda08ca69b53129dada6819d3c9cd Mon Sep 17 00:00:00 2001 +From 8f567a8fd736cb2637761ba100d7d759e45401c5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Jan 2017 21:27:46 +0000 -Subject: [PATCH 112/237] Document the si7020 option +Subject: [PATCH 112/269] 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 35683d7fd37ccd5e17050607cde70e60f85aecbd Mon Sep 17 00:00:00 2001 +From b395d0b06ace0b43219f73da425ca2839998ac4e Mon Sep 17 00:00:00 2001 From: Giedrius Trainavicius Date: Thu, 5 Jan 2017 02:38:16 +0200 -Subject: [PATCH 113/237] pisound improvements: +Subject: [PATCH 113/269] 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 5df097366962738fa3a1d564017bcbcfb48d559e Mon Sep 17 00:00:00 2001 +From 6c4ae519e04992c1dd6816e1227234075f21f245 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Tue, 10 Jan 2017 16:05:41 +0000 -Subject: [PATCH 114/237] Add driver_name property +Subject: [PATCH 114/269] 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 2c67c77c3df137be73d70d9600148f074d98240f Mon Sep 17 00:00:00 2001 +From a027a9645d93afa0ae99c46ead3d29851faee82e Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Tue, 10 Jan 2017 16:11:04 +0000 -Subject: [PATCH 115/237] Add driver_name paramater +Subject: [PATCH 115/269] 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 228322f72491e7aa686de8b3587e6679185b960a Mon Sep 17 00:00:00 2001 +From 565dc6bbc215b231ff756b3ba8d67360b52af333 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Jan 2017 13:01:21 +0000 -Subject: [PATCH 116/237] BCM270X_DT: Add pi3-disable-wifi overlay +Subject: [PATCH 116/269] 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 d96d1fb83759c48a3162b8b0015bb97819bbd501 Mon Sep 17 00:00:00 2001 +From 862bda77c8696cf9505e47203c6451d908c17cdd Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 117/237] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 117/269] 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 329b0ca2291207bbca9fd2204e5f93506af8f04e Mon Sep 17 00:00:00 2001 +From 5d408444f1beb55ecb96301fea7d204379840fca Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 118/237] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 118/269] 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 02c145e0707d4da050c1af68e24f6d9bb8b9d051 Mon Sep 17 00:00:00 2001 +From 083def6f1a370b3511679cf710a3df60ef0507f9 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 119/237] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 119/269] 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 45b3cb059efceb1e1853010cd7c31ffa7da6542e Mon Sep 17 00:00:00 2001 +From 4cbe4cc4fd52a6f81e6e84a6d3cbe41d6feffccf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 16 Jan 2017 14:53:12 +0000 -Subject: [PATCH 120/237] BCM270X_DT: Add spi0-cs overlay +Subject: [PATCH 120/269] 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 d6f4f1823202566e17696373b3411bfcbd862ed2 Mon Sep 17 00:00:00 2001 +From cb1dd524a34034616c63f3506c7c8e28a7258f0f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 121/237] spi-bcm2835: Disable forced software CS +Subject: [PATCH 121/269] 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 33c7730d9e8f0348dffbbf695f3b1c3ff23cf37c Mon Sep 17 00:00:00 2001 +From e2d9c3dae2dec8478317936cfbc451477bb5c4ad Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 16 Jan 2017 16:33:54 +0000 -Subject: [PATCH 122/237] config: Add CONFIG_TCP_CONG_BBR See: +Subject: [PATCH 122/269] 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 20ee59f2f4a7a568febeda4b810dbb1ece11a7b5 Mon Sep 17 00:00:00 2001 +From 85276a1c75389311370999f568fcb9c853edf52b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Jan 2017 11:34:58 +0000 -Subject: [PATCH 123/237] BCM270X_DT: Enable UART0 on CM3 +Subject: [PATCH 123/269] 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 40188e4190fcbfcc13dc1c3388f75c448ce6f36e Mon Sep 17 00:00:00 2001 +From 0641d754211b34c6dea150fed3ab4500edf6e100 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Jan 2017 14:39:39 +0000 -Subject: [PATCH 124/237] config: Add CONFIG_MD_M25P80 and CONFIG_MD_SPI_NOR +Subject: [PATCH 124/269] 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 9261ac625bc56b9249d95bcdd9467a0974264981 Mon Sep 17 00:00:00 2001 +From 01042ae26b288e092169323d79fa70b385337e92 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 125/237] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 125/269] 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 2508fd0a4fe2d9c87041c12a3728d3347dd7e073 Mon Sep 17 00:00:00 2001 +From 406bbc0a91e1f18603b396e3901ffc534666a5d7 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 126/237] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 126/269] 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 e4d6e2cac42bd8f1ccee0093a9b576427168927e Mon Sep 17 00:00:00 2001 +From d122d3c1bf7ba8c87b7f732cafdc253a0a8fac6d Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 127/237] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 127/269] 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 584906a742798f26e39b288d4de67e2057e47da6 Mon Sep 17 00:00:00 2001 +From 9b05f4da446413be9549298b19056d978a7a8df6 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:46:04 -0800 -Subject: [PATCH 128/237] ARM64: Use dwc_otg driver by default for USB. +Subject: [PATCH 128/269] 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 d5de8376d9f5707a6f22a39e17e19d4f7aeeb219 Mon Sep 17 00:00:00 2001 +From 0db182d163fca2e9092e3f59a2f368cc92b8f0bd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 23 Jan 2017 17:36:50 +0000 -Subject: [PATCH 129/237] BCM270X_DT: Add reference to audio_pins to CM dtb +Subject: [PATCH 129/269] 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 1a02bd9037dfd6ef7cb1cb6505694d3ca3ef131f Mon Sep 17 00:00:00 2001 +From fd85f1b1fb028559bece5c168e2f295373c2920e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 25 Jan 2017 11:30:38 +0000 -Subject: [PATCH 130/237] config: Add additional network scheduling modules +Subject: [PATCH 130/269] 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 45d4266632a321cb7865e066c2f7b7d115c6a896 Mon Sep 17 00:00:00 2001 +From a00a45f2d0e3558ce7d1b7231cdcac1dd4f50160 Mon Sep 17 00:00:00 2001 From: chris johnson Date: Sun, 22 Jan 2017 03:27:31 +0000 -Subject: [PATCH 131/237] ASoC: A simple-card overlay for ADAU7002 +Subject: [PATCH 131/269] ASoC: A simple-card overlay for ADAU7002 Usage: `dtoverlay=adau7002-simple` --- @@ -126109,10 +126109,10 @@ index 0000000000000000000000000000000000000000..e67e6625d7967abc92cf00cb604d4c12 + }; +}; -From 4f3422aa9928ece5dce37429a0e2eb577fe73b47 Mon Sep 17 00:00:00 2001 +From 407ac69a801b923ea3b802dd46780c95f959afa4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Jan 2017 21:17:23 +0000 -Subject: [PATCH 132/237] config: Add SND_SOC_ADAU7002 codec module +Subject: [PATCH 132/269] 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 72a88dc1f555b8d253218df7c50a69e4ed2a00f7 Mon Sep 17 00:00:00 2001 +From 4a36c6f1d7752712eb2c99d5de16d48eac14f8ef Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Fri, 27 Jan 2017 06:42:42 -0500 -Subject: [PATCH 133/237] Add overlay for mcp3008 adc (#1818) +Subject: [PATCH 133/269] Add overlay for mcp3008 adc (#1818) Some example usage: @@ -126436,10 +126436,10 @@ index 0000000000000000000000000000000000000000..06bf4264959c380d8a9f90f74e780397 + }; +}; -From 00134e84111c2b8bee4dbe8da4618d4e878544a5 Mon Sep 17 00:00:00 2001 +From f357cec2b0951db19978e5ab96be4990a890386b Mon Sep 17 00:00:00 2001 From: ED6E0F17 Date: Fri, 3 Feb 2017 14:52:42 +0000 -Subject: [PATCH 134/237] usb: dwc2: Avoid suspending if we're in gadget mode +Subject: [PATCH 134/269] 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 2bf613918e6cc5f3544244c66c1b40e7c30db1c7 Mon Sep 17 00:00:00 2001 +From 7e11c3845d325b6853f8341523bf6e1d9fafd06c Mon Sep 17 00:00:00 2001 From: JamesH65 Date: Mon, 6 Feb 2017 15:24:47 +0000 -Subject: [PATCH 135/237] gpio_mem: Remove unnecessary dev_info output (#1830) +Subject: [PATCH 135/269] 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 dbc8ddc7f2cc1e8df91094f1dbab20d94299d4b5 Mon Sep 17 00:00:00 2001 +From c679dac6774aa47321b448e5fe9c5df0a524f0b7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:36 +0100 -Subject: [PATCH 136/237] config: Enable regulator support +Subject: [PATCH 136/269] 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 0ca99ad9d5ce543c03109a1a063f4dad2a2b7ed0 Mon Sep 17 00:00:00 2001 +From 90036eb53e5f3912aa06960282a18b60a9b58ce5 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:36 +0100 -Subject: [PATCH 137/237] BCM270x DT: expose 3.3V and 5V system rails +Subject: [PATCH 137/269] BCM270x DT: expose 3.3V and 5V system rails Signed-off-by: Matthias Reichl --- @@ -126590,10 +126590,10 @@ index a46cb4a8b1419edd95e0e07c18b0f373222dc2bf..36d853715f2379e1952ce3d3be58dd67 + }; }; -From d751bc0986050039f15455c46238e5b7e790388a Mon Sep 17 00:00:00 2001 +From b1cf376677e437a354c47e103784001d1f82721f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:36 +0100 -Subject: [PATCH 138/237] BCM270x DT: Consolidate audio card overlays +Subject: [PATCH 138/269] 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 5b1c34da852169c289dbabaca9f4bf7d836656b2 Mon Sep 17 00:00:00 2001 +From 7d144e423572838549369774143f2f396e78391d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 139/237] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 139/269] 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 81728af326fd02feb19689f6d551488d664e206b Mon Sep 17 00:00:00 2001 +From 819acde6b44a9aaa6693b58e37cefafcbf18dc23 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 140/237] config: enable Cirrus Logic Audio Card +Subject: [PATCH 140/269] 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 f0eccd12b58f3757d5829ecca5d61842ec8c1ee7 Mon Sep 17 00:00:00 2001 +From cd8e08e2a75007fd2f9d1bf1ed9ca6d99d47b74a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 141/237] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 141/269] 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 acc648016c30c9f2abb06baf608b673c52649892 Mon Sep 17 00:00:00 2001 +From 983954c6c0113f7b0466e3dfe5002b4e9de74046 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 142/237] sound: Demote deferral errors to INFO level +Subject: [PATCH 142/269] 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 c0bbcd9032613a78aef551ce697cabc792880bad..a2504d8c83d74d7227e65be142a26cc9 goto _err_defer; } -From 295dc75430c67d342cbf068bdcbf04f59f13a6f1 Mon Sep 17 00:00:00 2001 +From df52afbfd051ab9768238de5c9f1a965d03ee4d6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:40:33 +0000 -Subject: [PATCH 143/237] sound: Suppress error message about deferrals +Subject: [PATCH 143/269] 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 48947e9c2f8db7f1918c760f66cddb38bbc850b4 Mon Sep 17 00:00:00 2001 +From ecbaee0e39dcf28b4c6f5dc60375b218e581395b Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 144/237] Update vfpmodule.c +Subject: [PATCH 144/269] 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 1d2d9271b8955bc723d1f6a8018b191e4fef343e Mon Sep 17 00:00:00 2001 +From 664d3815fe18c5215242e27c104efd12aa101fdf Mon Sep 17 00:00:00 2001 From: Martin Cerveny Date: Mon, 13 Feb 2017 17:23:47 +0100 -Subject: [PATCH 145/237] dwc_otg: fix summarize urb->actual_length for +Subject: [PATCH 145/269] 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 5ea7c39f2f0e2c28b982ead1ac5cca479437437b Mon Sep 17 00:00:00 2001 +From c3123867d09256cc952f574d5252258d9adbb902 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 1 Dec 2016 22:00:19 +0100 -Subject: [PATCH 146/237] clk: bcm: Support rate change propagation on bcm2835 +Subject: [PATCH 146/269] 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 c83a0a5ad3a24bf391328e81a0518c5b31a63db8 Mon Sep 17 00:00:00 2001 +From 9a4e2e6a6391621567638620f13baaf983842c16 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 1 Dec 2016 22:00:20 +0100 -Subject: [PATCH 147/237] clk: bcm: Allow rate change propagation to PLLH_AUX +Subject: [PATCH 147/269] 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 79a06b2dee5b6ec750d68fcf07d0baa50adef1b0 Mon Sep 17 00:00:00 2001 +From 775c2c3bc8c33fe331211f26cd0b9b63971fbfd9 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Mon, 12 Dec 2016 09:00:53 +0100 -Subject: [PATCH 148/237] clk: bcm: Fix 'maybe-uninitialized' warning in +Subject: [PATCH 148/269] 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 9b61b5f1335a69bab36b6dbb7b019eed70d5f99c Mon Sep 17 00:00:00 2001 +From 622fc529526eea0833138036509ed311d40bdf8b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 18 Jan 2017 07:31:55 +1100 -Subject: [PATCH 149/237] clk: bcm2835: Don't rate change PLLs on behalf of DSI +Subject: [PATCH 149/269] 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 b46ebd4ac9e2ed4a3345d58c5e0fa0fff6751607 Mon Sep 17 00:00:00 2001 +From 30801d8b04094f6b70029e1f44e68c3fc7fc4787 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 18 Jan 2017 07:31:56 +1100 -Subject: [PATCH 150/237] clk: bcm2835: Register the DSI0/DSI1 pixel clocks. +Subject: [PATCH 150/269] 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 27a84d8e2367ac6e02e11846a44937374f9a4da5 Mon Sep 17 00:00:00 2001 +From becfa52776c0b6841c5da28f76ee381271480872 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 18 Jan 2017 07:31:57 +1100 -Subject: [PATCH 151/237] clk: bcm2835: Add leaf clock measurement support, +Subject: [PATCH 151/269] 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 0809f622983067a31ea4eb5cf71e55ca17237fce Mon Sep 17 00:00:00 2001 +From 9b69201bb11e75d042085cf0ad87434d1a02f32a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2016 13:46:13 -0700 -Subject: [PATCH 152/237] drm/panel: Add support for the Raspberry Pi 7" +Subject: [PATCH 152/269] 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 f2c949af5bfff2fdfca4f2e9561824a781121b3e Mon Sep 17 00:00:00 2001 +From 1b5605926a00a2f41fa422a3b3b188770cac6696 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 12:29:45 -0700 -Subject: [PATCH 153/237] BCM270X: Add the DSI panel to the defconfig. +Subject: [PATCH 153/269] 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 eadc4d16bc211c3e80a2c76916987d738c784d4d Mon Sep 17 00:00:00 2001 +From 235128aeb90a0fcce31f7437245211c808239311 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 13 Dec 2016 15:15:10 -0800 -Subject: [PATCH 154/237] ARM: bcm2835: dt: Add the DSI module nodes and +Subject: [PATCH 154/269] 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 458e495e84b709def416e208ddba0fd2d5305a05 Mon Sep 17 00:00:00 2001 +From 70321de284e9cac0b2222c68c01de38f9de3ca0e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 15:09:35 -0700 -Subject: [PATCH 155/237] BCM270X: Enable the DSI panel node in the VC4 +Subject: [PATCH 155/269] 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 1f250ad365d5039de93eb01a5162f36edc480183 Mon Sep 17 00:00:00 2001 +From 61da2e14ac9447cc4f1a9e81ed4a485724293728 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 3 Nov 2016 18:53:10 -0700 -Subject: [PATCH 156/237] drm/vc4: Add support for rendering with ETC1 +Subject: [PATCH 156/269] 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 1f9a23e602c9c57524af55bfc17e05e53fa5f041 Mon Sep 17 00:00:00 2001 +From 4baae56b542704259ba0853709bb2a2b67ce97c7 Mon Sep 17 00:00:00 2001 From: Jonas Pfeil Date: Tue, 8 Nov 2016 00:18:39 +0100 -Subject: [PATCH 157/237] drm/vc4: Add fragment shader threading support +Subject: [PATCH 157/269] 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 99bcd348931c80b9b53ca04f2bffc936584eab8c Mon Sep 17 00:00:00 2001 +From d192b83ab1c6af390d4cc2692ca833621b697058 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:09 +0100 -Subject: [PATCH 158/237] drm: Add TV connector states to drm_connector_state +Subject: [PATCH 158/269] 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 ac9d7d8e0e43a807e9fc9a0b66de5f26b49d3348..2645e803857253ff98eb94aa1bacc825 /** -From 818cb71d370a8f726947de5c0e5edce65e9a25ff Mon Sep 17 00:00:00 2001 +From f87fb38e402437d64c20ff9064be77d0fcbb53ca Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:08 +0100 -Subject: [PATCH 159/237] drm: Turn DRM_MODE_SUBCONNECTOR_xx definitions into +Subject: [PATCH 159/269] 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 b1a717494c26ed03332bbde342c0911c23e59318 Mon Sep 17 00:00:00 2001 +From 3cc14c6165143f9086528f14318e496f31ae1370 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:10 +0100 -Subject: [PATCH 160/237] drm/vc4: Add support for the VEC (Video Encoder) IP +Subject: [PATCH 160/269] 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 cdc23ee39e860afd34aaea8ab667f7e72df82c75 Mon Sep 17 00:00:00 2001 +From e5719838142ba3ac3e07a6b51bc28706bf66661d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 15 Sep 2016 15:25:23 +0100 -Subject: [PATCH 161/237] drm/vc4: Set up SCALER_DISPCTRL at boot. +Subject: [PATCH 161/269] 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 6b3026786493925e1feefb12b0798338add1220a Mon Sep 17 00:00:00 2001 +From 96cae40ca7cf676d5225c1d2279b3364cd13eb44 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 10 Feb 2016 16:17:29 -0800 -Subject: [PATCH 162/237] drm/vc4: Add support for feeding DSI encoders from +Subject: [PATCH 162/269] 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 0156e797c22c0a4e6014297a980d790b45dd2758 Mon Sep 17 00:00:00 2001 +From 75985f22a474066700ecc466f480c5fe9d2b1f19 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 10 Feb 2016 11:42:32 -0800 -Subject: [PATCH 163/237] drm/vc4: Add DSI driver +Subject: [PATCH 163/269] 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 f78a65cebf37f2e4751e8660dff24ab57d749ba6 Mon Sep 17 00:00:00 2001 +From 762f3576707e21a2ed1bb77a8571468016fb8451 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:12 +0100 -Subject: [PATCH 164/237] ARM: dts: bcm283x: Add VEC node in bcm283x.dtsi +Subject: [PATCH 164/269] 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 0de628346c6d6a01f101391a23d725543ffc9d89 Mon Sep 17 00:00:00 2001 +From 9cef0c51873c19bb846dd1eeb909bbb6d6706130 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Dec 2016 14:48:13 +0100 -Subject: [PATCH 165/237] ARM: dts: bcm283x: Enable the VEC IP on all +Subject: [PATCH 165/269] 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 e0bd7b07e560306b0aa2b7c9a42e6bf984928a16 Mon Sep 17 00:00:00 2001 +From 5c15341b00c9ca553477984365cedb69971ec5d2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 23 Jan 2017 11:41:54 -0800 -Subject: [PATCH 166/237] BCM270X: Disable VEC unless vc4-kms-v3d is present. +Subject: [PATCH 166/269] 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 443bc21a0d74a27037eeafca5e0adade5d73b2eb Mon Sep 17 00:00:00 2001 +From daa86e71b7c1e317e960bcce7bea1f251593e4f4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 167/237] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 167/269] 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 59c3f3c5af2c0bd5186bafe7f1c0389b18a2dbd6 Mon Sep 17 00:00:00 2001 +From db0a0b4de860ec95379ed850ff075fd0bf0eff9c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 168/237] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 168/269] 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 ef3cd45b62eb24823495d045fbcd0404316386ee Mon Sep 17 00:00:00 2001 +From ef91655787d87e1bd96bb59a032e9f5576b5e4ab Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 169/237] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 169/269] 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 20736ccfd02e80dc0f7b7fdff8fd879f3811960a Mon Sep 17 00:00:00 2001 +From ef5e5782a94171e684b0507967336e80070c0b96 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 8 Feb 2017 15:00:54 -0800 -Subject: [PATCH 170/237] drm/vc4: Fulfill user BO creation requests from the +Subject: [PATCH 170/269] 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 3f6704cf6608d7be47637c6aa585de087b7f74ee..5ec14f25625dde6fd61e10415092fa25 cma_obj = drm_gem_cma_create(dev, size); -From 6bfa14fcdb8b38474a3ba3cfe17a4161e4339562 Mon Sep 17 00:00:00 2001 +From de9cd3e6a506fbbb3c5e4d29ade8c257cd9e7e5b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 9 Feb 2017 09:23:34 -0800 -Subject: [PATCH 171/237] drm/vc4: Fix OOPSes from trying to cache a partially +Subject: [PATCH 171/269] drm/vc4: Fix OOPSes from trying to cache a partially constructed BO. If a CMA allocation failed, the partially constructed BO would be @@ -134145,10 +134145,10 @@ index 5ec14f25625dde6fd61e10415092fa25527cc151..fd83a28076564b9ea5cf0f2ba29b884e if (!cache_list) { vc4_bo_destroy(bo); -From 55604ce9775b79ddd7dff7b09e5617b7869f1d23 Mon Sep 17 00:00:00 2001 +From b6685b56027450e43707136f7098150951bada75 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 12 Oct 2015 08:58:08 -0700 -Subject: [PATCH 172/237] drm/vc4: Verify at boot that CMA doesn't cross a +Subject: [PATCH 172/269] 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 @@ -134231,10 +134231,10 @@ index c960459eda7e640ea55be1d4ed80c6a9125a8877..b50245282a18bc790da0f901944c2e67 static unsigned long cma_bitmap_aligned_mask(const struct cma *cma, int align_order) -From 15127bcdcf0630b967af1f6184229a5769753afa Mon Sep 17 00:00:00 2001 +From 80374437351a33f7d64c01fef4e4bfb1c4c042a3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 09:47:11 +0000 -Subject: [PATCH 173/237] BCM270X_DT: Add SMSC ethernet controller to DT +Subject: [PATCH 173/269] 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 @@ -134297,10 +134297,10 @@ index d29ba72de727fe26b5a586e0bd0a41181c68ae04..78101849441679baf3624cf67a0ff7a2 / { model = "Raspberry Pi 3 Model B"; -From 4c8d6d724fff8999b4c71da491efdba69dc0193e Mon Sep 17 00:00:00 2001 +From b0cb31fe043a29bab491cf2dffd206ccf0e0ad9b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 174/237] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 174/269] 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 @@ -134339,10 +134339,10 @@ index 4051780f64f44a5ce522babe6c371a1beb79a824..b081673abcb4aa72d70d8e0834b608f6 /* locate firmware version number for ethtool */ ptr = strrchr(buf, ' ') + 1; -From 9a0146372d3922d3c8733239249cff90f3eb5273 Mon Sep 17 00:00:00 2001 +From 513c64a4d56f1264613dfede5291d4ef3d85c9fe Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 175/237] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 175/269] 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 @@ -134370,10 +134370,10 @@ index 136e5d28f9eaeaa10d45382a0f31da9f4adb91ef..4192863778c8009aacfc9a49ee38ad1c divider->data = data; -From 8d02ed58f2633bbfc16b7cfb9f32e5718d72c443 Mon Sep 17 00:00:00 2001 +From c0f136cc0137125ac2d61bdb82b25fa14cfb414a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 176/237] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 176/269] 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, @@ -134508,10 +134508,10 @@ index 4192863778c8009aacfc9a49ee38ad1ca62a01e4..6b245357e4e93c19a839eee92a82f95a sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From f04f16b8fbf827753cbb0999f337792fe477af30 Mon Sep 17 00:00:00 2001 +From 2ec24e41fc219ca78b2f308966339b2a6d1f0d68 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 20 Feb 2017 20:01:16 +0100 -Subject: [PATCH 177/237] dmaengine: bcm2835: Fix cyclic DMA period splitting +Subject: [PATCH 177/269] dmaengine: bcm2835: Fix cyclic DMA period splitting The code responsible for splitting periods into chunks that can be handled by the DMA controller missed to update total_len, @@ -134550,10 +134550,10 @@ index 80d35f760b4a4a51e60c355a84d538bac3892a4d..599c218dc8a73172dd4bd4a058fc8f95 /* calculate the length that remains to reach period_length */ control_block->length = period_len - *total_len; -From 50a4a643f0c8c0bd3b26c108ae0721b894ef5255 Mon Sep 17 00:00:00 2001 +From 28467850c080bc39eb4c2b312000d7d837615b3b Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Thu, 23 Feb 2017 11:56:20 -0500 -Subject: [PATCH 178/237] Add ads1015 driver to config +Subject: [PATCH 178/269] Add ads1015 driver to config --- arch/arm/configs/bcm2709_defconfig | 3 ++- @@ -134607,10 +134607,10 @@ index 9a9cd1cdcb2f76d4408568681ec80885293bae48..554fed3a4fbfd1940422b808046c6d2b CONFIG_FB=y CONFIG_FB_BCM2708=y -From fc20fb8d93973a8f9f94d8198fda00d8496dc1c9 Mon Sep 17 00:00:00 2001 +From 6c66d4fba197c6d4fb21b07b08e151a34a0a5981 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 27 Jan 2017 18:49:30 +0000 -Subject: [PATCH 179/237] config: add slcan kernel module +Subject: [PATCH 179/269] config: add slcan kernel module See: https://github.com/raspberrypi/linux/issues/1819 --- @@ -134643,10 +134643,10 @@ index 554fed3a4fbfd1940422b808046c6d2b1f508394..99888182259b280790a7506b248a8130 CONFIG_IRDA=m CONFIG_IRLAN=m -From ee72678fe2122b09d4de11a6e73c981147fbb72d Mon Sep 17 00:00:00 2001 +From 47708a39cde7788759726c36b8f70405725577dd Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 180/237] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 180/269] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -134910,10 +134910,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From afb54b61f48a3bfa0fb446138a5651e2a245d0a9 Mon Sep 17 00:00:00 2001 +From 569f6ff5c211030fc48f0333ecedf72b4451ff43 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 26 Feb 2017 01:13:02 +0000 -Subject: [PATCH 181/237] SQUASH: Add LOCO-V2 overlay from last commit +Subject: [PATCH 181/269] SQUASH: Add LOCO-V2 overlay from last commit --- .../dts/overlays/dionaudio-loco-v2-overlay.dts | 49 ++++++++++++++++++++++ @@ -134976,10 +134976,10 @@ index 0000000000000000000000000000000000000000..a1af93de30119734e8d14cbd454589d3 + }; +}; -From a8c871a4d8b6bc509e4913b6a5169b5afc42ab48 Mon Sep 17 00:00:00 2001 +From a761535375a9a35f93e747d37faf323ae6801aa9 Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 182/237] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 182/269] 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. @@ -135328,10 +135328,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From 90d99181e7634f82d0256ee21f0d5f4fb697a96c Mon Sep 17 00:00:00 2001 +From 27f214e9a240c68ebc591e9301aa21a41f63d84f Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Wed, 1 Mar 2017 07:22:24 -0500 -Subject: [PATCH 183/237] Add overlay for ads1115 ADCs (#1864) +Subject: [PATCH 183/269] Add overlay for ads1115 ADCs (#1864) --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -135495,10 +135495,10 @@ index 0000000000000000000000000000000000000000..7c16a1af3172d14e1a976b1776b9f167 + }; +}; -From f8b4049a41ea47546a3fc3c79b4e513671a8bb80 Mon Sep 17 00:00:00 2001 +From 04733c82affa7a309018d1eaac371d3c38326f5d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:06:53 +0000 -Subject: [PATCH 184/237] clk-bcm2835: Correct the prediv logic +Subject: [PATCH 184/269] 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. @@ -135525,10 +135525,10 @@ index 6b245357e4e93c19a839eee92a82f95aec996e4e..8ea29fbc8dc451b9cff502bc1a918ae6 return bcm2835_pll_rate_from_divisors(parent_rate, ndiv, fdiv, pdiv); } -From 13434358519f09482dabb9160395bcc36d2916b7 Mon Sep 17 00:00:00 2001 +From 9dd418e3b4eb50ce763bcbcf4953cb8b75c2d14e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 185/237] amba_pl011: Round input clock up +Subject: [PATCH 185/269] 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 @@ -135614,10 +135614,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 26fa531ed7fef11ba6a8f2f8a3cabe85a4be442e Mon Sep 17 00:00:00 2001 +From a4391cb7bb1e9b9ab427ab0d3683a970eee19280 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 13 Feb 2017 11:10:50 +0000 -Subject: [PATCH 186/237] BCM2835-V4L2: Ensure H264 header bytes get a sensible +Subject: [PATCH 186/269] BCM2835-V4L2: Ensure H264 header bytes get a sensible timestamp H264 header come off VC with 0 timestamps, which means they get a @@ -135706,10 +135706,10 @@ index e6aeb7e7e381de65d6c6586205069a4c5cd33274..7f8a68916a67001bc9241bce2928519a struct vchiq_mmal_port *port; /* port being used for capture */ /* camera port being used for capture */ -From 49d310b50699c6f78eccfdd45116756b1fa7d8e9 Mon Sep 17 00:00:00 2001 +From 5334a85c956c34c35462d0dd20704b2e57283342 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 13 Feb 2017 13:11:41 +0000 -Subject: [PATCH 187/237] BCM2835-V4L2: Correctly denote key frames in encoded +Subject: [PATCH 187/269] BCM2835-V4L2: Correctly denote key frames in encoded data Forward MMAL key frame flags to the V4L2 buffers. @@ -135734,10 +135734,10 @@ index e69731320f4e59249933bc21843913deab4a1209..6bdec0806126044cf7146d53326e4da5 "Buffer has ts %llu", dev->capture.last_timestamp); -From 59e9fd898af8b0cbe625e6f09730094ba1456765 Mon Sep 17 00:00:00 2001 +From 8f780a7c3e2b50d36405cb523b14cc9433f5dc67 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 188/237] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 188/269] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -136155,10 +136155,10 @@ index 2859db09e25bb945251e85edb39bc43430857168..56b3f0fe1ea3d22fcf207e6df90b640e /* Dispmanx TAGS */ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, -From 1e7c344ccec38ab39766eead40d96cdd731ea72e Mon Sep 17 00:00:00 2001 +From 97c97764b0c9f476503170f31d13d710e770b809 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 May 2016 16:30:05 +0100 -Subject: [PATCH 189/237] BCM270X_DT: Add bcm2708-rpi-0-w.dts +Subject: [PATCH 189/269] 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. @@ -136386,10 +136386,10 @@ index 0000000000000000000000000000000000000000..db0f99ddf2f46e83827d56e21c4846dd + }; +}; -From 2dc3d4e4cb05188a0bbd64d47da1a1cbbe1c08ec Mon Sep 17 00:00:00 2001 +From 4a49a02337cf20f4e58e331dd280cc11ffca3137 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 190/237] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 190/269] 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 @@ -136517,10 +136517,10 @@ index 8ea29fbc8dc451b9cff502bc1a918ae65fb1b306..fe3298b54cdfb96bd90fb4f39e13921d for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From 785c9a7803546af956b795f8e3b3f66463e121aa Mon Sep 17 00:00:00 2001 +From 9212faa329aed60c9bfc0130923a808934400b41 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 7 Mar 2017 19:48:23 +0000 -Subject: [PATCH 191/237] config: Add CONFIG_CRYPTO_LZ4 +Subject: [PATCH 191/269] config: Add CONFIG_CRYPTO_LZ4 Enabling this options allows LZ4 memory compression. @@ -136557,10 +136557,10 @@ index 2c124bbfa343bf2c160250d055e1509678a80850..1748fcb84bdc3853ffccba93a41cd2dc # CONFIG_CRYPTO_HW is not set CONFIG_ARM_CRYPTO=y -From 493fb5163721bf86c0f6392e967cd6aa55a84a45 Mon Sep 17 00:00:00 2001 +From 3463f2cc120c004b83ff1aa772cf0c45b21c0afe Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 23 Feb 2017 17:54:31 -0800 -Subject: [PATCH 192/237] drm/vc4: Don't wait for vblank when updating the +Subject: [PATCH 192/269] drm/vc4: Don't wait for vblank when updating the cursor Commonly used desktop environments such as xfce4 and gnome @@ -136617,10 +136617,10 @@ index 881bf489478b01b34e9e4df6013fe608c42215ee..14d69bb4967dedcd3bbc475639a8c27e * expected change from the drm_mode_cursor_universal() * helper. -From 60e2c00cff1cc4fcba55d815f77c69c41ffe7d48 Mon Sep 17 00:00:00 2001 +From 5afef1347eea10e84cced76f1d0a2b26c6266502 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 6 Mar 2017 12:17:16 -0800 -Subject: [PATCH 193/237] panel-raspberrypi-touchscreen: Round up clk rate to +Subject: [PATCH 193/269] panel-raspberrypi-touchscreen: Round up clk rate to fix DSI panel. Commit 488f9bc8e3def93e0baef53cee2026c2cb0d8956 slightly increased the @@ -136655,10 +136655,10 @@ index 1a536fe4d040f5fafe324baee110a6225dd0be08..7f315f04b109621ca7f3861fdd8acf95 .hsync_start = HACT + HFP, .hsync_end = HACT + HFP + HSW, -From eeacc0d121d040ffe81783a2bdb58762f4d8abaa Mon Sep 17 00:00:00 2001 +From 573328094f77dd6c6b79ad91e1723ec360b5b673 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 194/237] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 194/269] Add support for the AudioInjector.net Octo sound card --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -137129,10 +137129,10 @@ index 0000000000000000000000000000000000000000..9effea725798640887755dfa688da453 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From 7c90c6d9c0a0cdf586358cee036dd369f3711461 Mon Sep 17 00:00:00 2001 +From 624cbd152a9dfb1705adf73d59f0a0eada4e9888 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 195/237] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 195/269] 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. @@ -137161,10 +137161,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..c8dd065aea8414b47aa2ea4fc04168b5 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From 70e55629cb63f0613b6a090380c46e8834fe55d2 Mon Sep 17 00:00:00 2001 +From 5f8dbf43641bbdbf6b98838e50035f912ddc6066 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 Mar 2017 14:43:15 +0000 -Subject: [PATCH 196/237] bcm2835-v4l2: Fix buffer overflow problem +Subject: [PATCH 196/269] bcm2835-v4l2: Fix buffer overflow problem https://github.com/raspberrypi/linux/issues/1447 port_parameter_get() failed to account for the header @@ -137200,10 +137200,10 @@ index 781322542d5a8295f3d7d5a3eaaf0cac29930c30..e4b243b33f58913f3d2952c97d2a2e3f * but report true size of parameter */ -From d231d55217800d1734eb16d80a7217d826df9efa Mon Sep 17 00:00:00 2001 +From fa4d8eb488f238a4176a01283151c657254ae0af Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 197/237] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 197/269] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -137228,10 +137228,10 @@ index 3635b8662724569d3338ebb620d603c644fe38b7..822fefeb1cd0aa2dc8398f885cf28e9b dtbs: prepare scripts -From 993e0ab68895e604488ddd9db4d4e0acac6e3542 Mon Sep 17 00:00:00 2001 +From 898f4c920f2b1051fce8884a886bc44e49ced7e3 Mon Sep 17 00:00:00 2001 From: John Greb Date: Wed, 8 Mar 2017 15:12:29 +0000 -Subject: [PATCH 198/237] Match dwc2 device-tree fifo sizes to the hardware +Subject: [PATCH 198/269] 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. @@ -137262,10 +137262,10 @@ index 527abc9f0ddf71f4dc7d58336d87684c931cc2f3..265a16bab008453edba198cf2366c423 }; }; -From d36ced802c0124557c564deeac558d79bf48f8dd Mon Sep 17 00:00:00 2001 +From a431769232a1185b995d57027f9d2a6b5731690e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 5 Mar 2017 11:46:41 +0000 -Subject: [PATCH 199/237] config: Add RTL8XXXU wifi module +Subject: [PATCH 199/269] config: Add RTL8XXXU wifi module --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -137297,10 +137297,10 @@ index bf52db66afb2aa18d6f6f9fb9b64dcbd97e24521..4bc0f8b52b7f39f99d650cb9c4cdfdba CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From d575e8be358d5ae2bd75c62d5bf70d246a738a85 Mon Sep 17 00:00:00 2001 +From 1129ad96ef886cbbb908887f4e08fe68926c3b64 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Mar 2017 12:18:20 +0000 -Subject: [PATCH 200/237] BCM270X_DT: Invert Pi3 power LED to match fw change +Subject: [PATCH 200/269] BCM270X_DT: Invert Pi3 power LED to match fw change Firmware expgpio driver reworked due to complaint over hotplug detect. @@ -137326,10 +137326,10 @@ index 173103aaca503833b5e29530ed94e14c7cab0444..b21d2866d204adc533b46d581028f290 }; -From ae3e0f5d2246ed71ad9b567a95c523bbce0b7298 Mon Sep 17 00:00:00 2001 +From 327873c238d5f0f023e56597026339ba1ac32c18 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Mar 2017 09:10:05 +0000 -Subject: [PATCH 201/237] BCM270X_DT: Add lm75 to i2c-sensor overlay +Subject: [PATCH 201/269] BCM270X_DT: Add lm75 to i2c-sensor overlay See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=177236 @@ -137392,10 +137392,10 @@ index 31bda8da4cb6a56bfe493a81b918900995fb0589..606b2d5012abf2e85712be631c42ea40 }; }; -From 5c3d7b7821bf428b2d8fdc69ff43fd5e156af9b7 Mon Sep 17 00:00:00 2001 +From 8f06ec5e33e3464eabfca97c08dcaa838ae0d6de Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Mar 2017 14:23:06 +0000 -Subject: [PATCH 202/237] bcm2835-gpio-exp: Copy/paste error adding base twice +Subject: [PATCH 202/269] 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. @@ -137421,10 +137421,10 @@ index 681a91492d4c33bdfd42416e069218e8611cc4d9..d68adafaee4ad406f45f4ff0d6b7c1ad set.state = val; /* Output state */ -From 09b7e8d0f8ef8847ff48b8fa663117516a705de6 Mon Sep 17 00:00:00 2001 +From fc57975bd64ad13252abdaa2741dba5387f67cb9 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Mar 2017 11:12:40 +0000 -Subject: [PATCH 203/237] bcm2835-camera: Correct port_parameter_get return +Subject: [PATCH 203/269] bcm2835-camera: Correct port_parameter_get return value The API for port_parameter_get() requires that the @@ -137482,10 +137482,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 c8806ad9d2ef6ff2c236086c6763dcd7edcb57e1 Mon Sep 17 00:00:00 2001 +From 4bed6cdea45f3ae764c67ad7660e7ca54675c45d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Mar 2017 12:24:41 +0000 -Subject: [PATCH 204/237] config: Make spidev a loadable module +Subject: [PATCH 204/269] 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. @@ -137541,10 +137541,10 @@ index 4bc0f8b52b7f39f99d650cb9c4cdfdba6fac59dd..8d64ce4465f6f276b2d58ed1e2e45fb0 CONFIG_SND_SIMPLE_CARD=m CONFIG_SOUND_PRIME=m -From 0512363b0d40100cc49eac637f203bab682925f4 Mon Sep 17 00:00:00 2001 +From 29ab3cd7b0f4c536cdee960a22fa7eacde342412 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 205/237] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 205/269] 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 @@ -137569,10 +137569,10 @@ index 9824cdd04b0c11c45b8cedd0187a0eba8f1dc2d4..c0b88d43df0de283c58ed6158680bc7e config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From 7921bb046a51c3e23dc5f419d4ce3d1fff0a028d Mon Sep 17 00:00:00 2001 +From e453f0cd398e6efe9d34b885ec58ce1ca413af3a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 206/237] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 206/269] 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 @@ -137736,10 +137736,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From 288876dcd451f50a68747681185df3fbbb46ce46 Mon Sep 17 00:00:00 2001 +From 4b0a5af47900cc059c0685a4269e3f17d35a6d17 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 17:08:44 +0000 -Subject: [PATCH 207/237] BCM270X_DT: Enable AUX interrupt controller in DT +Subject: [PATCH 207/269] BCM270X_DT: Enable AUX interrupt controller in DT See: https://github.com/raspberrypi/linux/issues/1484 https://github.com/raspberrypi/linux/issues/1573 @@ -137792,10 +137792,10 @@ index d3cc586661f903e67a840189c0446aa80e16a44e..348c71bbc913644c04bab43fcb95abe9 #address-cells = <1>; #size-cells = <0>; -From f3c618cb8e9f8c8675a4f09a787d01197f672d1d Mon Sep 17 00:00:00 2001 +From 5f68e7371778455f08e928b4d56971ca7f13f1b9 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 27 Mar 2017 22:26:49 +1100 -Subject: [PATCH 208/237] Audioinjector addons dts : add reset and regulators +Subject: [PATCH 208/269] Audioinjector addons dts : add reset and regulators for the Octo product. This patch adds a reset GPIO for the AudioInjector.net octo sound card. @@ -137862,10 +137862,10 @@ index dbf2f3cacc2e6bf5b7116fbadd97f2781580a79c..a36fa85a61f7eaab35ca481ed1dac621 codec = <&cs42448>; status = "okay"; -From c1d6139d9dc649f1105494e4e4f9ea6e44a0ef8a Mon Sep 17 00:00:00 2001 +From d81f6a1d789f57d1c36b91258c08a69f4eeb0815 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 27 Mar 2017 22:27:26 +1100 -Subject: [PATCH 209/237] AudioInjector Octo : Consolidate sample rates and add +Subject: [PATCH 209/269] AudioInjector Octo : Consolidate sample rates and add a codec reset. This patch consolidates the sample rates which the audioinjector.net octo @@ -138005,10 +138005,10 @@ index 9effea725798640887755dfa688da45338718afc..1198c36c4563b8673e5d386d1dfa92d4 dai->cpu_dai_name = NULL; dai->cpu_of_node = i2s_node; -From 4f4af1697ae71163c3df30a9a89dfb316df91f54 Mon Sep 17 00:00:00 2001 +From b447153a8938ff4f13c114075abbbcc788ecb5bd Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 210/237] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 210/269] Driver support for Google voiceHAT soundcard. --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -138513,10 +138513,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From f1e30badc4fff365114ced22d06e5c32142bbfbf Mon Sep 17 00:00:00 2001 +From 4c8836c546f27ecdc18e88a8d833dc371041d1ed Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 211/237] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 211/269] 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. @@ -139144,10 +139144,10 @@ index 0000000000000000000000000000000000000000..f66f42abadbd5f9d3fe000676e8297ed +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From b7568ecadadc39853151e4e89946d95f6cf1b525 Mon Sep 17 00:00:00 2001 +From d16f9d078175353c6da66595257a53021eb29969 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 212/237] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 212/269] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -139279,7 +139279,7 @@ index 0000000000000000000000000000000000000000..7df335a3d82f7043d31ba69331cdf318 + }; +}; diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index 2b6fcd8abf79da77aa85fdc53512aafd09f836cb..b1b3cf5d3a09fe8bd38dfed880dd7e6ac0ccc3d7 100644 +index 5ae5237accf2ebd80b38065d37984554e3f0f939..a9ad66c714f14de828d164d0d55f2ca63644b750 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -17,6 +17,7 @@ endif @@ -139877,10 +139877,10 @@ index 0000000000000000000000000000000000000000..c080e31065d99ab309ab3bdf41a44adf +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From c84313cfa77b65d5576f3caa47e71d6f78d06a66 Mon Sep 17 00:00:00 2001 +From 5ef08bf183f85e2dbcaa7ca98f5ce752fd0c89fe Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Mar 2017 14:22:20 +0100 -Subject: [PATCH 213/237] BCM270X_DT: Allow multiple instances of w1-gpio +Subject: [PATCH 213/269] BCM270X_DT: Allow multiple instances of w1-gpio overlays Upcoming firmware will modify the address portion of node names when @@ -139945,10 +139945,10 @@ index 66a98f6c9601f51483f27803995bec772bb3350e..ef8bfbcabdb31231075d5c281df3b38b <&w1_pins>,"brcm,pins:4"; pullup = <&w1>,"rpi,parasitic-power:0"; -From bc3acd3f3e97f5651d867eb012794f5fc93dfb1c Mon Sep 17 00:00:00 2001 +From 6cdb836ec8164ce463556fe15cad56d7b34f348f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Mar 2017 17:41:30 +0100 -Subject: [PATCH 214/237] leds-gpio: Remove stray assignment to brightness_set +Subject: [PATCH 214/269] 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. @@ -139974,10 +139974,10 @@ index 6a27a693034825de2897bb7b338b60cc10c9e59f..a6b352cb003ff5e6c87cf6d37d6502b6 if (template->default_state == LEDS_GPIO_DEFSTATE_KEEP) { state = gpiod_get_value_cansleep(led_dat->gpiod); -From 3c54afd4c99d8ada1a6054616922c3486c75c05d Mon Sep 17 00:00:00 2001 +From 60158a9060ede8284904061f1954eee844d18792 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Thu, 30 Mar 2017 11:43:57 +1100 -Subject: [PATCH 215/237] Audioinjector Octo : add extra sample rates, fix rst +Subject: [PATCH 215/269] 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 @@ -140139,10 +140139,10 @@ index 1198c36c4563b8673e5d386d1dfa92d43689e297..dcf403ab37639ba79e38278d7e4b1ade if (i2s_node && codec_node) { dai->cpu_dai_name = NULL; -From 62e20c6a0498717a70c777cd0484b1bc3659e8aa Mon Sep 17 00:00:00 2001 +From cd3fd500ae9e4e4a84d8a7228c7b13e1fb8eb0dc Mon Sep 17 00:00:00 2001 From: BabuSubashChandar C Date: Thu, 30 Mar 2017 20:17:27 +0530 -Subject: [PATCH 216/237] Add support for new clock rate and mute gpios. +Subject: [PATCH 216/269] Add support for new clock rate and mute gpios. Signed-off-by: Baswaraj K Reviewed-by: Deepak @@ -140184,7 +140184,7 @@ index 38c52eb831715ec6c2ce3555c7a4d9e5383e35d5..6a95db4edd5680f3c8889a3a41d0589b CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m CONFIG_SND_PISOUND=m diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index b1b3cf5d3a09fe8bd38dfed880dd7e6ac0ccc3d7..eb521affd5b7d30290dd6120e32c3c2a0b0b60f0 100644 +index a9ad66c714f14de828d164d0d55f2ca63644b750..d83d0fa76994120f207d13526ff03083bf16c505 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -17,7 +17,7 @@ endif @@ -140795,10 +140795,10 @@ index c080e31065d99ab309ab3bdf41a44adfdd8f8039..203ab76c7045b081578e23bda1099dd1 } -From bd50ea18d3a875c5097e0666091be743a18a61c7 Mon Sep 17 00:00:00 2001 +From 05f49e701939bcdc7e6c94926c564e319499fa14 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Sat, 1 Apr 2017 00:46:52 +0530 -Subject: [PATCH 217/237] Add clock changes and mute gpios (#1938) +Subject: [PATCH 217/269] Add clock changes and mute gpios (#1938) Also improve code style and adhere to ALSA coding conventions. @@ -141491,10 +141491,10 @@ index f66f42abadbd5f9d3fe000676e8297ed91630e47..56e43f98846b41e487b3089813f7edc3 } -From 5fd9bce1a72c4880e9f3d08f61c4f2a51ca8abf8 Mon Sep 17 00:00:00 2001 +From 683456e9671d1b32c57b5169e47999f380471a1c Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 4 Apr 2017 19:20:59 +1000 -Subject: [PATCH 218/237] Audioinjector : make the octo and pi sound cards have +Subject: [PATCH 218/269] Audioinjector : make the octo and pi sound cards have different driver names This patch gives the audioinjector octo and pi soundcards different driver @@ -141531,10 +141531,10 @@ index ef54e0f07ea03f59e9957b5d98f3e7fdc998e469..491906bbf446826e55dd843f28e4860f .of_match_table = audioinjector_pi_soundcard_of_match, }, -From a4134c246d7a67e8ff4b05756e504ae453585a2d Mon Sep 17 00:00:00 2001 +From bcecdbafb8a1e3129c0a3b839d44e77dc8a103ab Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 4 Apr 2017 19:23:04 +1000 -Subject: [PATCH 219/237] Audioinjector octo : Make the playback and capture +Subject: [PATCH 219/269] Audioinjector octo : Make the playback and capture symmetric This patch ensures that the sample rate and channel count of the audioinjector @@ -141557,10 +141557,10 @@ index 49115c8e20ce1a2ba5a99feb8983a1cafb052ca2..5e79f4eff93a21ed3495c77a90f73525 }; -From 0f24c46e348dceb43595e384d042a132613b2526 Mon Sep 17 00:00:00 2001 +From d03c6c96e186c92359d791d33515af4bdf39dc11 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 7 Mar 2017 14:51:03 -0800 -Subject: [PATCH 220/237] drm/vc4: Allow using more than 256MB of CMA memory. +Subject: [PATCH 220/269] 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 @@ -142045,10 +142045,10 @@ index 9fd171c361c23b52a4d507919ec7e26fd1e87aac..59d808e2a6cc6f3173b1309cc4f49109 return 0; } -From 95157328c4b88b4c4f8758b41eda27699f2518cb Mon Sep 17 00:00:00 2001 +From 6bab44ea5a558bac94b3fb1579d3e7badb113df2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 30 Mar 2017 10:23:27 -0700 -Subject: [PATCH 221/237] Revert "drm/vc4: Verify at boot that CMA doesn't +Subject: [PATCH 221/269] Revert "drm/vc4: Verify at boot that CMA doesn't cross a 256MB boundary." This reverts commit 016c804fa69381bd23a1a13cba08a3c4557fcdff. The @@ -142129,10 +142129,10 @@ index b50245282a18bc790da0f901944c2e670ffac2d2..c960459eda7e640ea55be1d4ed80c6a9 static unsigned long cma_bitmap_aligned_mask(const struct cma *cma, int align_order) -From fab8861c8e48222d18b70fd2e6fcf094ecaa7a60 Mon Sep 17 00:00:00 2001 +From 0d4a532da7dab2d62ee4bfd0f5949f7a1febaff9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 27 Feb 2017 12:28:02 -0800 -Subject: [PATCH 222/237] drm/vc4: Add HDMI audio support +Subject: [PATCH 222/269] 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 @@ -142901,10 +142901,10 @@ index 385405a2df05eb3dd86d4f687aa8205331bec3cc..932093936178674173a84002b33e07e9 #define VC4_HD_VID_CTL 0x038 # define VC4_HD_VID_CTL_ENABLE BIT(31) -From 42e5f1e4217fd163519ff02935f43436b2e05ac1 Mon Sep 17 00:00:00 2001 +From af76c5218bd78ffb38a2b3646233a01730e2dbb0 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 2 Feb 2017 11:37:36 +0100 -Subject: [PATCH 223/237] ARM: dts: bcm283x: Add HDMI audio related properties +Subject: [PATCH 223/269] ARM: dts: bcm283x: Add HDMI audio related properties Add the dmas and dma-names properties to support HDMI audio. @@ -142929,10 +142929,10 @@ index 348c71bbc913644c04bab43fcb95abe9b6c9c640..7d58cd79ac6bd99f0b47a909ac827c61 }; -From 9e293a0abe7da52ae8ae4e03f8c5f7a6a97b3865 Mon Sep 17 00:00:00 2001 +From f46d33a24b5389dcab17fe7c485c804d527675ab Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 224/237] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 224/269] 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. @@ -159064,10 +159064,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From b83ca1086e94b87136a820fde8d19dbd99818987 Mon Sep 17 00:00:00 2001 +From 7f8d91d7608e454ef727917e4ef8482e235f6b73 Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Thu, 22 Dec 2016 15:34:12 +0900 -Subject: [PATCH 225/237] BCM2708: Add Raspberry Pi TV HAT Device Tree Support +Subject: [PATCH 225/269] 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 @@ -159163,10 +159163,10 @@ index 0000000000000000000000000000000000000000..a68f6f793d8efd8b2e2adf9f2fb6426f + +}; -From 8f03acc4b270b95027b56428bf948f2b5c5129ac Mon Sep 17 00:00:00 2001 +From 3ecd305ad5f28f9ad9ab5962f6b53daae3f2bad0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Apr 2017 17:52:56 -0700 -Subject: [PATCH 226/237] panel-raspberrypi-touchscreen: Fix NULL deref if +Subject: [PATCH 226/269] panel-raspberrypi-touchscreen: Fix NULL deref if probe order goes wrong. If the i2c driver hadn't pobed before the panel driver probes, then @@ -159193,10 +159193,10 @@ index 7f315f04b109621ca7f3861fdd8acf956e752629..b57b7ad9aa4c5048186e98553af59ec9 } -From 08a747dda946d65b3714496cfcd22aef266ad9ca Mon Sep 17 00:00:00 2001 +From 9bcf9e12ae13d1e928af0d769182a3c663c059f2 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Wed, 19 Apr 2017 09:59:21 -0700 -Subject: [PATCH 227/237] smsc75xx: use skb_cow_head() to deal with cloned skbs +Subject: [PATCH 227/269] 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. @@ -159232,10 +159232,10 @@ index 9af9799935dbbd4baed06eb03402803e0ce8d9c8..4cb9b11a545a9572ab6d248742ec5abe tx_cmd_a = (u32)(skb->len & TX_CMD_A_LEN) | TX_CMD_A_FCS; -From 8fc9824b3ceaf0e79fdcf2ef22614ab7cae779e5 Mon Sep 17 00:00:00 2001 +From 416209e2665c0d88ecf205fe77c86aeeaa392a29 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Wed, 19 Apr 2017 11:13:40 +0100 -Subject: [PATCH 228/237] smsc95xx: Use skb_cow_head to deal with cloned skbs +Subject: [PATCH 228/269] 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. @@ -159275,10 +159275,10 @@ index df60c989fc229bf0aab3c27e95ccd45323367840..f6661e388f6e801c1b88e48a3b71407b if (csum) { -From 27981a7bfa796f4860c435066bd026aa028d0134 Mon Sep 17 00:00:00 2001 +From b913417a2368cb15a90a2dbfb34bea855bf55347 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Apr 2017 18:26:52 +0100 -Subject: [PATCH 229/237] i2c-bcm2835: Ignore unexpected interrupt +Subject: [PATCH 229/269] i2c-bcm2835: Ignore unexpected interrupt --- drivers/i2c/busses/i2c-bcm2835.c | 4 +++- @@ -159300,10 +159300,10 @@ index 8642f580ce41803bd22c76a0fa80d083d0747be1..47167f403cc8329bd811b47c7011c299 val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); } -From c7260c4c703f06040c5623ac13e8ec77dab81de5 Mon Sep 17 00:00:00 2001 +From ff6c45239866c15264dab3f6af013a0a76793ced Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 23 Apr 2017 19:36:53 +0100 -Subject: [PATCH 230/237] BCM270X_DT: Add bme280 and bmp180 to i2c-sensor +Subject: [PATCH 230/269] BCM270X_DT: Add bme280 and bmp180 to i2c-sensor overlay Signed-off-by: Phil Elwell @@ -159377,10 +159377,10 @@ index 606b2d5012abf2e85712be631c42ea40a0b512c5..e23e34b32a0a8927c14203d7384e8008 lm75 = <&lm75>,"status"; lm75addr = <&lm75>,"reg:0"; -From 5c0b1e35f94751a998056883784154e30d57e822 Mon Sep 17 00:00:00 2001 +From 984a27388b849bbf306a576d410049fdace4d571 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 23 Apr 2017 19:38:06 +0100 -Subject: [PATCH 231/237] config: Add CONFIG_BMP280 (and CONFIG_BMP280_I2C) +Subject: [PATCH 231/269] config: Add CONFIG_BMP280 (and CONFIG_BMP280_I2C) Signed-off-by: Phil Elwell --- @@ -159465,10 +159465,10 @@ index fd535ff21e7dab6717eb61f1b966b7d92791ec8d..7948b445f1232064dea01273393f3e3b CONFIG_PWM_PCA9685=m CONFIG_RASPBERRYPI_FIRMWARE=y -From 9fa1abdb02f98a1c14c4181bcb20678fb4f5e13d Mon Sep 17 00:00:00 2001 +From 8bb03fb7ba375e21ca3c9d05bc90fd5659e94f90 Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Tue, 25 Apr 2017 10:46:09 -0400 -Subject: [PATCH 232/237] config: Enable TI TMP102 temp sensor module +Subject: [PATCH 232/269] config: Enable TI TMP102 temp sensor module Signed-off-by: Scott Ellis --- @@ -159501,10 +159501,10 @@ index 7948b445f1232064dea01273393f3e3b135b4576..a338c313de9e9db3a338d066b5fad989 CONFIG_THERMAL_BCM2835=y CONFIG_WATCHDOG=y -From 34399ca07de79c65745a91e4c78f46656262cd4d Mon Sep 17 00:00:00 2001 +From 1c39224fab012cffdb7f94aed1d05ad00229c10d Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Tue, 25 Apr 2017 13:05:42 -0400 -Subject: [PATCH 233/237] BCM270X_DT: Add tmp102 to i2c sensor overlay +Subject: [PATCH 233/269] BCM270X_DT: Add tmp102 to i2c sensor overlay Signed-off-by: Scott Ellis --- @@ -159584,103 +159584,10 @@ index e23e34b32a0a8927c14203d7384e800878627347..e86a13f92c3f75c14fa4425cdfb081d6 }; }; -From 510a650c09aac767c4bd49236b88b42ece9f9915 Mon Sep 17 00:00:00 2001 -From: James Hughes -Date: Mon, 24 Apr 2017 12:40:50 +0100 -Subject: [PATCH 234/237] brcmfmac: Ensure pointer correctly set if skb data - location changes - -The incoming skb header may be resized if header space is -insufficient, which might change the data adddress in the skb. -Ensure that a cached pointer to that data is correctly set by -moving assignment to after any possible changes. - -Signed-off-by: James Hughes - -Acked-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -index 5eaac13e231723b903a7c11e373018ee6669b30a..9b7c19a508ac57c86bec0662f8a16a0790eef125 100644 ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -@@ -198,7 +198,7 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb, - int ret; - struct brcmf_if *ifp = netdev_priv(ndev); - struct brcmf_pub *drvr = ifp->drvr; -- struct ethhdr *eh = (struct ethhdr *)(skb->data); -+ struct ethhdr *eh; - - brcmf_dbg(DATA, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx); - -@@ -236,6 +236,8 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb, - goto done; - } - -+ eh = (struct ethhdr *)(skb->data); -+ - if (eh->h_proto == htons(ETH_P_PAE)) - atomic_inc(&ifp->pend_8021x_cnt); - - -From 9a33a4e9eb6c3979db6acecb84b0004638fb3df4 Mon Sep 17 00:00:00 2001 -From: James Hughes -Date: Tue, 25 Apr 2017 10:15:06 +0100 -Subject: [PATCH 235/237] brcmfmac: Make skb header writable before use - -The driver was making changes to the skb_header without -ensuring it was writable (i.e. uncloned). -This patch also removes some boiler plate header size -checking/adjustment code as that is also handled by the -skb_cow_header function used to make header writable. - -Signed-off-by: James Hughes -Acked-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - .../net/wireless/broadcom/brcm80211/brcmfmac/core.c | 19 +++++-------------- - 1 file changed, 5 insertions(+), 14 deletions(-) - -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -index 9b7c19a508ac57c86bec0662f8a16a0790eef125..f877301c9454b2e75715937cd015fbfe87fc271b 100644 ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -@@ -211,22 +211,13 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb, - goto done; - } - -- /* Make sure there's enough room for any header */ -- if (skb_headroom(skb) < drvr->hdrlen) { -- struct sk_buff *skb2; -- -- brcmf_dbg(INFO, "%s: insufficient headroom\n", -+ /* Make sure there's enough writable headroom*/ -+ ret = skb_cow_head(skb, drvr->hdrlen); -+ if (ret < 0) { -+ brcmf_err("%s: skb_cow_head failed\n", - brcmf_ifname(ifp)); -- drvr->bus_if->tx_realloc++; -- skb2 = skb_realloc_headroom(skb, drvr->hdrlen); - dev_kfree_skb(skb); -- skb = skb2; -- if (skb == NULL) { -- brcmf_err("%s: skb_realloc_headroom failed\n", -- brcmf_ifname(ifp)); -- ret = -ENOMEM; -- goto done; -- } -+ goto done; - } - - /* validate length for ether packet */ - -From 967b7f238a933878c49da4c590ebcaf035382182 Mon Sep 17 00:00:00 2001 +From cd695ae66d57e78fba7d191b2ea3711d1ba56343 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 26 Apr 2017 16:51:48 +0100 -Subject: [PATCH 236/237] dwc_otg: Add the dependency on FIQ +Subject: [PATCH 234/269] dwc_otg: Add the dependency on FIQ Signed-off-by: popcornmix --- @@ -159701,10 +159608,10 @@ index f17b939c149562527937f49d90e23c7ab8b72328..5a5f6c925f43147082dcfaab15f9e05e The Synopsis DWC controller is a dual-role host/peripheral/OTG ("On The Go") USB controllers. -From 99c0379ae6edf8fe29c6bd4ff47d2fb658277328 Mon Sep 17 00:00:00 2001 +From 1dabdb616b40654daa67f9608c0b1fb21e2cdc3a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 26 Apr 2017 17:28:47 +0100 -Subject: [PATCH 237/237] clk: bcm2835: Limit PCM clock to OSC and PLLD_PER +Subject: [PATCH 235/269] 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 @@ -159748,3 +159655,2226 @@ index fe3298b54cdfb96bd90fb4f39e13921d2e1d4356..c24b4defb2b046e4ecdc109befc2b224 .tcnt_mux = 23), [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( .name = "pwm", + +From 643d427136232f669268e0fb8b226d1e51025f4a Mon Sep 17 00:00:00 2001 +From: P33M +Date: Thu, 27 Apr 2017 16:24:34 +0100 +Subject: [PATCH 236/269] dwc_otg: make nak_holdoff work as intended with empty + queues + +If URBs reading from non-periodic split endpoints were dequeued and +the last transfer from the endpoint was a NAK handshake, the resulting +qh->nak_frame value was stale which would result in unnecessarily long +polling intervals for the first subsequent transfer with a fresh URB. + +Fixup qh->nak_frame in dwc_otg_hcd_urb_dequeue and also guard against +a case where a single URB is submitted to the endpoint, a NAK was +received on the transfer immediately prior to receiving data and the +device subsequently resubmits another URB past the qh->nak_frame interval. + +Fixes https://github.com/raspberrypi/linux/issues/1709 +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 4 +++- + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 10 ++++++---- + drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c | 4 ++++ + 3 files changed, 13 insertions(+), 5 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 0eb335f4bc8ec30fa68f830fc3e382330302686e..4852d08d542f66880244d3dac3bbd35e7f4feb4e 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -616,7 +616,7 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd, + if (fiq_fsm_enable && (hcd->fiq_state->channel[n].fsm != FIQ_PASSTHROUGH)) { + qh->channel->halt_status = DWC_OTG_HC_XFER_URB_DEQUEUE; + qh->channel->halt_pending = 1; +- hcd->fiq_state->channel[n].fsm = FIQ_DEQUEUE_ISSUED; ++ //hcd->fiq_state->channel[n].fsm = FIQ_DEQUEUE_ISSUED; + } else { + dwc_otg_hc_halt(hcd->core_if, qh->channel, + DWC_OTG_HC_XFER_URB_DEQUEUE); +@@ -634,6 +634,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd, + hcd->core_if->dma_desc_enable?"DMA ":""); + if (!hcd->core_if->dma_desc_enable) { + uint8_t b = urb_qtd->in_process; ++ if (nak_holdoff && qh->do_split && dwc_qh_is_non_per(qh)) ++ qh->nak_frame = 0xFFFF; + dwc_otg_hcd_qtd_remove_and_free(hcd, urb_qtd, qh); + if (b) { + dwc_otg_hcd_qh_deactivate(hcd, qh, 0); +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index b2618c15d1f1f0b062d4146672de5ae50e9e2d33..608e036be2c9484465ab836de70129335d3d2d96 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -2382,15 +2382,17 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + fiq_print(FIQDBG_INT, hcd->fiq_state, "OUT %01d %01d ", num , st->fsm); + + hostchannels = hcd->available_host_channels; ++ if (hc->halt_pending) { ++ /* Dequeue: The FIQ was allowed to complete the transfer but state has been cleared. */ ++ release_channel(hcd, hc, NULL, hc->halt_status); ++ return; ++ } + switch (st->fsm) { + case FIQ_TEST: + break; + + case FIQ_DEQUEUE_ISSUED: +- /* hc_halt was called. QTD no longer exists. */ +- /* TODO: for a nonperiodic split transaction, need to issue a +- * CLEAR_TT_BUFFER hub command if we were in the start-split phase. +- */ ++ /* Handled above, but keep for posterity */ + release_channel(hcd, hc, NULL, hc->halt_status); + break; + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c +index c2dff94e8e6edd22e4427aaa1eac7aad972cb6bd..85a6d431ca54b47dc10573aa72d1ad69d06f2e36 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c +@@ -793,6 +793,10 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, + /* Add back to inactive non-periodic schedule. */ + dwc_otg_hcd_qh_add(hcd, qh); + //hcd->fiq_state->kick_np_queues = 1; ++ } else { ++ if(nak_holdoff && qh->do_split) { ++ qh->nak_frame = 0xFFFF; ++ } + } + } else { + uint16_t frame_number = dwc_otg_hcd_get_frame_number(hcd); + +From 291636002ab8241f052b0ac81f3051e63a8f2431 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 18 Apr 2017 21:43:46 +0100 +Subject: [PATCH 237/269] vc4_fkms: Apply firmware overscan offset to hardware + cursor + +--- + drivers/gpu/drm/vc4/vc4_firmware_kms.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c +index da818a207bfa639b8cea48d94bcf4566f97db816..943cbb38f1f2e6fc7c06870be7904677e0a9c7a3 100644 +--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c ++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c +@@ -40,6 +40,7 @@ struct vc4_crtc { + void __iomem *regs; + + struct drm_pending_vblank_event *event; ++ u32 overscan[4]; + }; + + static inline struct vc4_crtc *to_vc4_crtc(struct drm_crtc *crtc) +@@ -181,6 +182,7 @@ static void vc4_cursor_plane_atomic_update(struct drm_plane *plane, + struct drm_plane_state *old_state) + { + struct vc4_dev *vc4 = to_vc4_dev(plane->dev); ++ struct vc4_crtc *vc4_crtc = to_vc4_crtc(plane->crtc); + struct drm_plane_state *state = plane->state; + struct drm_framebuffer *fb = state->fb; + struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0); +@@ -202,6 +204,12 @@ static void vc4_cursor_plane_atomic_update(struct drm_plane *plane, + bo->paddr + fb->offsets[0], + fb->pitches[0]); + ++ /* add on the top/left offsets when overscan is active */ ++ if (vc4_crtc) { ++ packet_state[1] += vc4_crtc->overscan[0]; ++ packet_state[2] += vc4_crtc->overscan[1]; ++ } ++ + ret = rpi_firmware_property(vc4->firmware, + RPI_FIRMWARE_SET_CURSOR_STATE, + &packet_state, +@@ -645,6 +653,15 @@ static int vc4_fkms_bind(struct device *dev, struct device *master, void *data) + if (ret) + goto err_destroy_connector; + ++ ret = rpi_firmware_property(vc4->firmware, ++ RPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN, ++ &vc4_crtc->overscan, ++ sizeof(vc4_crtc->overscan)); ++ if (ret) { ++ DRM_ERROR("Failed to get overscan state: 0x%08x\n", vc4_crtc->overscan[0]); ++ memset(&vc4_crtc->overscan, 0, sizeof(vc4_crtc->overscan)); ++ } ++ + platform_set_drvdata(pdev, vc4_crtc); + + return 0; + +From d7af8f271c9f2f94bfe8ddbf8deedc3a921a338e Mon Sep 17 00:00:00 2001 +From: P33M +Date: Tue, 2 May 2017 16:31:15 +0100 +Subject: [PATCH 238/269] dwc_otg: fix split transaction data toggle handling + around dequeues + +See https://github.com/raspberrypi/linux/issues/1709 + +Fix several issues regarding endpoint state when URBs are dequeued +- If the HCD is disconnected, flush FIQ-enabled channels properly +- Save the data toggle state for bulk endpoints if the last transfer + from an endpoint where URBs were dequeued returned a data packet +- Reset hc->start_pkt_count properly in assign_and_init_hc() +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 10 ++++++++-- + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 19 ++++++++++++++++--- + 2 files changed, 24 insertions(+), 5 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 4852d08d542f66880244d3dac3bbd35e7f4feb4e..37c9d7d38287b616fcd335e80aa4110521fa98ca 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -193,8 +193,13 @@ static void kill_urbs_in_qh_list(dwc_otg_hcd_t * hcd, dwc_list_link_t * qh_list) + * It is possible that the channel has already halted + * but not yet been through the IRQ handler. + */ +- dwc_otg_hc_halt(hcd->core_if, qh->channel, +- DWC_OTG_HC_XFER_URB_DEQUEUE); ++ if (fiq_fsm_enable && (hcd->fiq_state->channel[qh->channel->hc_num].fsm != FIQ_PASSTHROUGH)) { ++ qh->channel->halt_status = DWC_OTG_HC_XFER_URB_DEQUEUE; ++ qh->channel->halt_pending = 1; ++ } else { ++ dwc_otg_hc_halt(hcd->core_if, qh->channel, ++ DWC_OTG_HC_XFER_URB_DEQUEUE); ++ } + if(microframe_schedule) + hcd->available_host_channels++; + qh->channel = NULL; +@@ -1270,6 +1275,7 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) + if (qh->do_split) { + uint32_t hub_addr, port_addr; + hc->do_split = 1; ++ hc->start_pkt_count = 1; + hc->xact_pos = qtd->isoc_split_pos; + /* We don't need to do complete splits anymore */ + // if(fiq_fsm_enable) +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index 608e036be2c9484465ab836de70129335d3d2d96..718a1accc0c219a1764ce53d291de6a2b6f93608 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -2378,12 +2378,20 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + dwc_otg_qh_t *qh = hc->qh; + dwc_otg_hc_regs_t *hc_regs = hcd->core_if->host_if->hc_regs[num]; + hcint_data_t hcint = hcd->fiq_state->channel[num].hcint_copy; ++ hctsiz_data_t hctsiz = hcd->fiq_state->channel[num].hctsiz_copy; + int hostchannels = 0; + fiq_print(FIQDBG_INT, hcd->fiq_state, "OUT %01d %01d ", num , st->fsm); + + hostchannels = hcd->available_host_channels; + if (hc->halt_pending) { + /* Dequeue: The FIQ was allowed to complete the transfer but state has been cleared. */ ++ if (st->fsm == FIQ_NP_SPLIT_DONE && hcint.b.xfercomp && qh->ep_type == UE_BULK) { ++ if (hctsiz.b.pid == DWC_HCTSIZ_DATA0) { ++ qh->data_toggle = DWC_OTG_HC_PID_DATA1; ++ } else { ++ qh->data_toggle = DWC_OTG_HC_PID_DATA0; ++ } ++ } + release_channel(hcd, hc, NULL, hc->halt_status); + return; + } +@@ -2641,10 +2649,15 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num) + hc = dwc_otg_hcd->hc_ptr_array[num]; + hc_regs = dwc_otg_hcd->core_if->host_if->hc_regs[num]; + if(hc->halt_status == DWC_OTG_HC_XFER_URB_DEQUEUE) { +- /* We are responding to a channel disable. Driver +- * state is cleared - our qtd has gone away. ++ /* A dequeue was issued for this transfer. Our QTD has gone away ++ * but in the case of a FIQ transfer, the transfer would have run ++ * to completion. + */ +- release_channel(dwc_otg_hcd, hc, NULL, hc->halt_status); ++ if (fiq_fsm_enable && dwc_otg_hcd->fiq_state->channel[num].fsm != FIQ_PASSTHROUGH) { ++ dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd, num); ++ } else { ++ release_channel(dwc_otg_hcd, hc, NULL, hc->halt_status); ++ } + return 1; + } + qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list); + +From 6f0c7340045599e48f44fc3a9e2af40dcc73eba9 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Thu, 4 May 2017 14:56:08 +0100 +Subject: [PATCH 239/269] fiq_fsm: Use correct states when starting isoc OUT + transfers (#1991) + +* fiq_fsm: Use correct states when starting isoc OUT transfers + +In fiq_fsm_start_next_periodic() if an isochronous OUT transfer +was selected, no regard was given as to whether this was a single-packet +transfer or a multi-packet staged transfer. + +For single-packet transfers, this had the effect of repeatedly sending +OUT packets with bogus data and lengths. + +Eventually if the channel was repeatedly enabled enough times, this +would lock up the OTG core and no further bus transfers would happen. + +Set the FSM state up properly if we select a single-packet transfer. + +Fixes https://github.com/raspberrypi/linux/issues/1842 +--- + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +index 9304279592cb5b388086ef91cb52f1e9f94868ce..208252645c09d1d17bf07673989f91b7f4b3ef7a 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +@@ -491,7 +491,10 @@ static void notrace noinline fiq_fsm_start_next_periodic(struct fiq_state *st, i + if (st->channel[n].fsm == FIQ_PER_ISO_OUT_PENDING) { + if (!fiq_fsm_tt_in_use(st, num_channels, n)) { + fiq_print(FIQDBG_INT, st, "NEXTISO "); +- st->channel[n].fsm = FIQ_PER_ISO_OUT_ACTIVE; ++ if (st->channel[n].nrpackets == 1) ++ st->channel[n].fsm = FIQ_PER_ISO_OUT_LAST; ++ else ++ st->channel[n].fsm = FIQ_PER_ISO_OUT_ACTIVE; + fiq_fsm_restart_channel(st, n, 0); + break; + } + +From 7427ad0c899ca7540629c334ac7ff152f33d3923 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 2 May 2017 16:36:05 +0100 +Subject: [PATCH 240/269] 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. + +Also report when mapping fails. + +Signed-off-by: popcornmix +--- + drivers/char/broadcom/vc_sm/vmcs_sm.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c +index 1db6716c2c0c8b2013203391501f92d09db258af..ee4e05948c439a9045e0b65566d57587177a32e2 100644 +--- a/drivers/char/broadcom/vc_sm/vmcs_sm.c ++++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c +@@ -1181,11 +1181,20 @@ static int vcsm_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf) + switch (ret) { + case 0: + case -ERESTARTSYS: ++ /* ++ * EBUSY is ok: this just means that another thread ++ * already did the job. ++ */ ++ case -EBUSY: + return VM_FAULT_NOPAGE; + case -ENOMEM: + case -EAGAIN: ++ pr_err("[%s]: failed to map page pfn:%lx virt:%lx ret:%d\n", __func__, ++ pfn, (unsigned long)vmf->virtual_address, ret); + return VM_FAULT_OOM; + default: ++ pr_err("[%s]: failed to map page pfn:%lx virt:%lx ret:%d\n", __func__, ++ pfn, (unsigned long)vmf->virtual_address, ret); + return VM_FAULT_SIGBUS; + } + } + +From 5e1fb5bbead087e173a638c7d27daa60cadd8a41 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 4 May 2017 17:38:22 +0100 +Subject: [PATCH 241/269] 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. + +Signed-off-by: popcornmix +--- + drivers/video/fbdev/bcm2708_fb.c | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c +index 53c5a0bdadb4be9251affdabed66305842a08e72..612293cf9f1bd93ad2f2aefdd7ca0f5eb2a412f0 100644 +--- a/drivers/video/fbdev/bcm2708_fb.c ++++ b/drivers/video/fbdev/bcm2708_fb.c +@@ -96,6 +96,7 @@ struct bcm2708_fb { + wait_queue_head_t dma_waitq; + struct bcm2708_fb_stats stats; + unsigned long fb_bus_address; ++ struct { u32 base, length; } gpu; + }; + + #define to_bcm2708(info) container_of(info, struct bcm2708_fb, fb) +@@ -472,7 +473,6 @@ static long vc_mem_copy(struct bcm2708_fb *fb, unsigned long arg) + dma_addr_t bus_addr; + long rc = 0; + size_t offset; +- struct { u32 base, length; } gpu = {}; + + /* restrict this to root user */ + if (!uid_eq(current_euid(), GLOBAL_ROOT_UID)) +@@ -491,16 +491,13 @@ static long vc_mem_copy(struct bcm2708_fb *fb, unsigned long arg) + goto out; + } + +- rc = rpi_firmware_property(fb->fw, +- RPI_FIRMWARE_GET_VC_MEMORY, +- &gpu, sizeof(gpu)); +- if (rc != 0 || gpu.base == 0 || gpu.length == 0) { +- pr_err("[%s]: Unable to determine gpu memory %ld,%x,%x)\n", __func__, rc, gpu.base, gpu.length); ++ if (fb->gpu.base == 0 || fb->gpu.length == 0) { ++ pr_err("[%s]: Unable to determine gpu memory (%x,%x)\n", __func__, fb->gpu.base, fb->gpu.length); + return -EFAULT; + } + +- if (INTALIAS_NORMAL(ioparam.src) < gpu.base || INTALIAS_NORMAL(ioparam.src) >= gpu.base + gpu.length) { +- pr_err("[%s]: Invalid memory access %x (%x-%x)", __func__, INTALIAS_NORMAL(ioparam.src), gpu.base, gpu.base + gpu.length); ++ if (INTALIAS_NORMAL(ioparam.src) < fb->gpu.base || INTALIAS_NORMAL(ioparam.src) >= fb->gpu.base + fb->gpu.length) { ++ pr_err("[%s]: Invalid memory access %x (%x-%x)", __func__, INTALIAS_NORMAL(ioparam.src), fb->gpu.base, fb->gpu.base + fb->gpu.length); + return -EFAULT; + } + +@@ -869,6 +866,11 @@ static int bcm2708_fb_probe(struct platform_device *dev) + fb->dev = dev; + fb->fb.device = &dev->dev; + ++ // failure here isn't fatal, but we'll fail in vc_mem_copy if fb->gpu is not valid ++ rpi_firmware_property(fb->fw, ++ RPI_FIRMWARE_GET_VC_MEMORY, ++ &fb->gpu, sizeof(fb->gpu)); ++ + ret = bcm2708_fb_register(fb); + if (ret == 0) { + platform_set_drvdata(dev, fb); + +From 6432aba0e1eff51f3c1c54fe78f9c6683cd4cd59 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 22 May 2017 15:28:27 +0100 +Subject: [PATCH 242/269] config: Add CONFIG_IPV6_ROUTE_INFO + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index d5624bbf15a669dccdde489e14c1d5c56a8cfa5c..a763d05190d83feaa8a05920056605b6ddd921a8 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -103,6 +103,7 @@ CONFIG_TCP_CONG_ADVANCED=y + CONFIG_TCP_CONG_BBR=m + CONFIG_IPV6=m + CONFIG_IPV6_ROUTER_PREF=y ++CONFIG_IPV6_ROUTE_INFO=y + CONFIG_INET6_AH=m + CONFIG_INET6_ESP=m + CONFIG_INET6_IPCOMP=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index a338c313de9e9db3a338d066b5fad989f6ece1ad..1d528ab1129223c580a4b30dc4058efbba7b00aa 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -99,6 +99,7 @@ CONFIG_TCP_CONG_ADVANCED=y + CONFIG_TCP_CONG_BBR=m + CONFIG_IPV6=m + CONFIG_IPV6_ROUTER_PREF=y ++CONFIG_IPV6_ROUTE_INFO=y + CONFIG_INET6_AH=m + CONFIG_INET6_ESP=m + CONFIG_INET6_IPCOMP=m + +From e44f9961ef5536f75176909c7f2ec15c5ac49707 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 22 May 2017 13:35:28 +0100 +Subject: [PATCH 243/269] config: Add CONFIG_IPV6_SIT_6RD + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index a763d05190d83feaa8a05920056605b6ddd921a8..bd4750b30f3b30955506bac80a8ae7bc0dae0da6 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -107,6 +107,7 @@ CONFIG_IPV6_ROUTE_INFO=y + CONFIG_INET6_AH=m + CONFIG_INET6_ESP=m + CONFIG_INET6_IPCOMP=m ++CONFIG_IPV6_SIT_6RD=y + CONFIG_IPV6_TUNNEL=m + CONFIG_IPV6_MULTIPLE_TABLES=y + CONFIG_IPV6_SUBTREES=y +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 1d528ab1129223c580a4b30dc4058efbba7b00aa..390171b4a7a377f9523001e2928c47b5ab0801ab 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -103,6 +103,7 @@ CONFIG_IPV6_ROUTE_INFO=y + CONFIG_INET6_AH=m + CONFIG_INET6_ESP=m + CONFIG_INET6_IPCOMP=m ++CONFIG_IPV6_SIT_6RD=y + CONFIG_IPV6_TUNNEL=m + CONFIG_IPV6_MULTIPLE_TABLES=y + CONFIG_IPV6_SUBTREES=y + +From d2c492c6079988ff647931dc9a2178a20d8987a9 Mon Sep 17 00:00:00 2001 +From: Anton Onishchenko +Date: Tue, 23 May 2017 18:55:46 +0300 +Subject: [PATCH 244/269] mpu6050 device tree overlay (#2031) + +Add overlay and config options for InvenSense MPU6050 6-axis motion +detector. +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 6 ++++++ + arch/arm/boot/dts/overlays/mpu6050-overlay.dts | 28 ++++++++++++++++++++++++++ + arch/arm/configs/bcm2709_defconfig | 3 +-- + arch/arm/configs/bcmrpi_defconfig | 3 +-- + 5 files changed, 37 insertions(+), 4 deletions(-) + create mode 100644 arch/arm/boot/dts/overlays/mpu6050-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index e2f66a55dc5afe13d690c2c17827054ac94b7168..0eb0e87c5746a8449162549384eb4a63895ba3c6 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -57,6 +57,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + mcp3008.dtbo \ + midi-uart0.dtbo \ + mmc.dtbo \ ++ mpu6050.dtbo \ + mz61581.dtbo \ + pi3-act-led.dtbo \ + pi3-disable-bt.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 32e5fc4a9968c368e1063aef5fea95caedfba36f..843734740c2cd7438ecd9c956c87371f5803ba06 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -883,6 +883,12 @@ Params: overclock_50 Clock (in MHz) to use when the MMC framework + requests 50MHz + + ++Name: mpu6050 ++Info: Overlay for i2c connected mpu6050 imu ++Load: dtoverlay=mpu6050,= ++Params: interrupt GPIO pin for interrupt (default 4) ++ ++ + Name: mz61581 + Info: MZ61581 display by Tontec + Load: dtoverlay=mz61581,= +diff --git a/arch/arm/boot/dts/overlays/mpu6050-overlay.dts b/arch/arm/boot/dts/overlays/mpu6050-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..06037969c3abba270b3cad45875342f3c730506e +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/mpu6050-overlay.dts +@@ -0,0 +1,28 @@ ++// Definitions for MPU6050 ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ clock-frequency = <400000>; ++ ++ mpu6050: mpu6050@68 { ++ compatible = "invensense,mpu6050"; ++ reg = <0x68>; ++ interrupt-parent = <&gpio>; ++ interrupts = <4 1>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ interrupt = <&mpu6050>,"interrupts:0"; ++ }; ++}; +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index bd4750b30f3b30955506bac80a8ae7bc0dae0da6..6e67f6744780cb6c3a92c5cdea9270e629cef946 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -1170,13 +1170,12 @@ CONFIG_RASPBERRYPI_POWER=y + CONFIG_EXTCON=m + CONFIG_EXTCON_ARIZONA=m + CONFIG_IIO=m +-CONFIG_IIO_BUFFER=y + CONFIG_IIO_BUFFER_CB=m +-CONFIG_IIO_KFIFO_BUF=m + CONFIG_MCP320X=m + CONFIG_MCP3422=m + CONFIG_DHT11=m + CONFIG_HTU21=m ++CONFIG_INV_MPU6050_I2C=m + CONFIG_BMP280=m + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 390171b4a7a377f9523001e2928c47b5ab0801ab..8dd491e75834ede8221919a97099037b69d43f2c 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -1178,13 +1178,12 @@ CONFIG_RASPBERRYPI_POWER=y + CONFIG_EXTCON=m + CONFIG_EXTCON_ARIZONA=m + CONFIG_IIO=m +-CONFIG_IIO_BUFFER=y + CONFIG_IIO_BUFFER_CB=m +-CONFIG_IIO_KFIFO_BUF=m + CONFIG_MCP320X=m + CONFIG_MCP3422=m + CONFIG_DHT11=m + CONFIG_HTU21=m ++CONFIG_INV_MPU6050_I2C=m + CONFIG_BMP280=m + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + +From 1db1cea7b2bf5291fdd701602789d7fc52ebb622 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 22 May 2017 13:56:41 +0100 +Subject: [PATCH 245/269] 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. + +Introduce a new metric of clock accuracy to penalise clocks with a good +average but worse jitter compared to clocks with an average which is no +better but with lower jitter. The metric is the ideal rate minus the +worse deviation from that ideal using the nearest integer divisors. + +Use this metric for parent selection for clocks requiring low jitter +(currently just PCM). + +Signed-off-by: Phil Elwell +--- + drivers/clk/bcm/clk-bcm2835.c | 39 ++++++++++++++++++++++++++++++++++----- + 1 file changed, 34 insertions(+), 5 deletions(-) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index c24b4defb2b046e4ecdc109befc2b22497060647..db3ba74acf78f4dfec0d2206b58bc7c3a09f72fe 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -534,6 +534,7 @@ struct bcm2835_clock_data { + + bool is_vpu_clock; + bool is_mash_clock; ++ bool low_jitter; + + u32 tcnt_mux; + }; +@@ -1154,7 +1155,8 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, + int parent_idx, + unsigned long rate, + u32 *div, +- unsigned long *prate) ++ unsigned long *prate, ++ unsigned long *avgrate) + { + struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); + struct bcm2835_cprman *cprman = clock->cprman; +@@ -1166,11 +1168,33 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, + parent = clk_hw_get_parent_by_index(hw, parent_idx); + + if (!(BIT(parent_idx) & data->set_rate_parent)) { ++ unsigned long tmp_rate; ++ + *prate = clk_hw_get_rate(parent); + *div = bcm2835_clock_choose_div(hw, rate, *prate, true); + +- return bcm2835_clock_rate_from_divisor(clock, *prate, +- *div); ++ tmp_rate = bcm2835_clock_rate_from_divisor(clock, *prate, *div); ++ *avgrate = tmp_rate; ++ ++ if (data->low_jitter && (*div & CM_DIV_FRAC_MASK)) { ++ unsigned long high, low; ++ u32 idiv = *div & ~CM_DIV_FRAC_MASK; ++ ++ high = bcm2835_clock_rate_from_divisor(clock, *prate, ++ idiv); ++ idiv += CM_DIV_FRAC_MASK + 1; ++ low = bcm2835_clock_rate_from_divisor(clock, *prate, ++ idiv); ++ ++ /* Return a value which is the maximum deviation ++ * below the ideal rate, for use as a metric. ++ */ ++ if ((tmp_rate - low) < (high - tmp_rate)) ++ tmp_rate = low; ++ else ++ tmp_rate -= high - tmp_rate; ++ } ++ return tmp_rate; + } + + if (data->frac_bits) +@@ -1197,6 +1221,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, + + *div = curdiv << CM_DIV_FRAC_BITS; + *prate = curdiv * best_rate; ++ *avgrate = best_rate; + + return best_rate; + } +@@ -1208,6 +1233,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, + bool current_parent_is_pllc; + unsigned long rate, best_rate = 0; + unsigned long prate, best_prate = 0; ++ unsigned long avgrate, best_avgrate = 0; + size_t i; + u32 div; + +@@ -1232,11 +1258,13 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, + continue; + + rate = bcm2835_clock_choose_div_and_prate(hw, i, req->rate, +- &div, &prate); ++ &div, &prate, ++ &avgrate); + if (rate > best_rate && rate <= req->rate) { + best_parent = parent; + best_prate = prate; + best_rate = rate; ++ best_avgrate = avgrate; + } + } + +@@ -1246,7 +1274,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, + req->best_parent_hw = best_parent; + req->best_parent_rate = best_prate; + +- req->rate = best_rate; ++ req->rate = best_avgrate; + + return 0; + } +@@ -2061,6 +2089,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { + .int_bits = 12, + .frac_bits = 12, + .is_mash_clock = true, ++ .low_jitter = true, + .parents = bcm2835_pcm_per_parents, + .tcnt_mux = 23), + [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( + +From 9ca0b52c448cb05df5fe0cabe04ae2a8babb0700 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 8 May 2017 16:30:18 +0100 +Subject: [PATCH 246/269] 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 +written. These stubs are loaded at physical address 0x00000xxx (as seen +by the ARMs), but this page will be reused by the kernel unless it is +explicitly reserved, causing the waiting cores to execute random code. + +Use the /memreserve/ Device Tree directive to mark the first page as +off-limits to the kernel. + +See: https://github.com/raspberrypi/linux/issues/1989 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 4 ---- + arch/arm/boot/dts/bcm283x.dtsi | 2 ++ + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts +index b21d2866d204adc533b46d581028f290e5c34a3d..cbec919208f3a7fdc2d07b46ed534c0951a76cd6 100644 +--- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts +@@ -1,9 +1,5 @@ + /dts-v1/; + +-#ifdef RPI364 +-/memreserve/ 0x00000000 0x00001000; +-#endif +- + #include "bcm2710.dtsi" + #include "bcm283x-rpi-smsc9514.dtsi" + +diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi +index 7d58cd79ac6bd99f0b47a909ac827c61aac642d9..0bc1932cde435bd151ffc2364bca5cd90eef8eb1 100644 +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -3,6 +3,8 @@ + #include + #include + ++/memreserve/ 0x00000000 0x00001000; ++ + /* This include file covers the common peripherals and configuration between + * bcm2835 and bcm2836 implementations, leaving the CPU configuration to + * bcm2835.dtsi and bcm2836.dtsi. + +From a721f7ae4739afe5ccfba390baac901171fe397b Mon Sep 17 00:00:00 2001 +From: P33M +Date: Fri, 12 May 2017 12:24:00 +0100 +Subject: [PATCH 247/269] 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 +well with the FIQ running in the background, so: +- Guard the disconnect callback with both the host spinlock and FIQ + spinlock +- Move qtd dereference in dwc_otg_handle_hc_fsm() after the early-out + so we don't dereference a qtd that has gone away +- Turn catch-all BUG()s in dwc_otg_handle_hc_fsm() into warnings. +--- + drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c | 2 ++ + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 27 +++++++++++++++++++---- + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 33 +++++++++++++++++++---------- + 3 files changed, 47 insertions(+), 15 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c +index 96c76e38cd372b8ca8c375ae8d8653f32a3faf80..9fb7229f43ae4561c9dc1980065381a48711ae41 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c +@@ -973,7 +973,9 @@ int32_t dwc_otg_handle_disconnect_intr(dwc_otg_core_if_t * core_if) + } else { + if (core_if->op_state == A_HOST) { + /* A-Cable still connected but device disconnected. */ ++ DWC_SPINUNLOCK(core_if->lock); + cil_hcd_disconnect(core_if); ++ DWC_SPINLOCK(core_if->lock); + if (core_if->adp_enable) { + gpwrdn_data_t gpwrdn = { .d32 = 0 }; + cil_hcd_stop(core_if); +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 37c9d7d38287b616fcd335e80aa4110521fa98ca..9a647b75027378e25eef00b5fc2a9166514b5c59 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -290,13 +290,16 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) + gintsts_data_t intr; + dwc_otg_hcd_t *dwc_otg_hcd = p; + ++ DWC_SPINLOCK(dwc_otg_hcd->lock); + /* + * Set status flags for the hub driver. + */ + dwc_otg_hcd->flags.b.port_connect_status_change = 1; + dwc_otg_hcd->flags.b.port_connect_status = 0; +- if(fiq_enable) ++ if(fiq_enable) { + local_fiq_disable(); ++ fiq_fsm_spin_lock(&dwc_otg_hcd->fiq_state->lock); ++ } + /* + * Shutdown any transfers in process by clearing the Tx FIFO Empty + * interrupt mask and status bits and disabling subsequent host +@@ -389,7 +392,8 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) + * in release_channel_ddma(). Which called from ep_disable + * when device disconnect. + */ +- channel->qh = NULL; ++ if (dwc_otg_hcd->core_if->dma_desc_enable) ++ channel->qh = NULL; + } + } + if(fiq_fsm_enable) { +@@ -400,13 +404,16 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) + + } + +- if(fiq_enable) ++ if(fiq_enable) { ++ fiq_fsm_spin_unlock(&dwc_otg_hcd->fiq_state->lock); + local_fiq_enable(); ++ } + + if (dwc_otg_hcd->fops->disconnect) { + dwc_otg_hcd->fops->disconnect(dwc_otg_hcd); + } + ++ DWC_SPINUNLOCK(dwc_otg_hcd->lock); + return 1; + } + +@@ -1750,8 +1757,20 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh) + int hub_addr, port_addr, frame, uframe; + struct fiq_channel_state *st = &hcd->fiq_state->channel[hc->hc_num]; + +- if (st->fsm != FIQ_PASSTHROUGH) ++ /* ++ * Non-periodic channel assignments stay in the non_periodic_active queue. ++ * Therefore we get repeatedly called until the FIQ's done processing this channel. ++ */ ++ if (qh->channel->xfer_started == 1) + return 0; ++ ++ if (st->fsm != FIQ_PASSTHROUGH) { ++ pr_warn_ratelimited("%s:%d: Queue called for an active channel\n", __func__, __LINE__); ++ return 0; ++ } ++ ++ qh->channel->xfer_started = 1; ++ + st->nr_errors = 0; + + st->hcchar_copy.d32 = 0; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index 718a1accc0c219a1764ce53d291de6a2b6f93608..cf23baaa388562b5843be4cfa6c206cbdc4e780d 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -2374,8 +2374,7 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + { + struct fiq_channel_state *st = &hcd->fiq_state->channel[num]; + dwc_hc_t *hc = hcd->hc_ptr_array[num]; +- dwc_otg_qtd_t *qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list); +- dwc_otg_qh_t *qh = hc->qh; ++ dwc_otg_qtd_t *qtd; + dwc_otg_hc_regs_t *hc_regs = hcd->core_if->host_if->hc_regs[num]; + hcint_data_t hcint = hcd->fiq_state->channel[num].hcint_copy; + hctsiz_data_t hctsiz = hcd->fiq_state->channel[num].hctsiz_copy; +@@ -2385,16 +2384,19 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + hostchannels = hcd->available_host_channels; + if (hc->halt_pending) { + /* Dequeue: The FIQ was allowed to complete the transfer but state has been cleared. */ +- if (st->fsm == FIQ_NP_SPLIT_DONE && hcint.b.xfercomp && qh->ep_type == UE_BULK) { ++ if (hc->qh && st->fsm == FIQ_NP_SPLIT_DONE && ++ hcint.b.xfercomp && hc->qh->ep_type == UE_BULK) { + if (hctsiz.b.pid == DWC_HCTSIZ_DATA0) { +- qh->data_toggle = DWC_OTG_HC_PID_DATA1; ++ hc->qh->data_toggle = DWC_OTG_HC_PID_DATA1; + } else { +- qh->data_toggle = DWC_OTG_HC_PID_DATA0; ++ hc->qh->data_toggle = DWC_OTG_HC_PID_DATA0; + } + } + release_channel(hcd, hc, NULL, hc->halt_status); + return; + } ++ ++ qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list); + switch (st->fsm) { + case FIQ_TEST: + break; +@@ -2413,6 +2415,11 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + handle_hc_xfercomp_intr(hcd, hc, hc_regs, qtd); + } else if (hcint.b.nak) { + handle_hc_nak_intr(hcd, hc, hc_regs, qtd); ++ } else { ++ DWC_WARN("Unexpected IRQ state on FSM transaction:" ++ "dev_addr=%d ep=%d fsm=%d, hcint=0x%08x\n", ++ hc->dev_addr, hc->ep_num, st->fsm, hcint.d32); ++ release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_NO_HALT_STATUS); + } + break; + +@@ -2428,8 +2435,10 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + } else if (hcint.b.ahberr) { + handle_hc_ahberr_intr(hcd, hc, hc_regs, qtd); + } else { +- local_fiq_disable(); +- BUG(); ++ DWC_WARN("Unexpected IRQ state on FSM transaction:" ++ "dev_addr=%d ep=%d fsm=%d, hcint=0x%08x\n", ++ hc->dev_addr, hc->ep_num, st->fsm, hcint.d32); ++ release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_NO_HALT_STATUS); + } + break; + +@@ -2445,8 +2454,10 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + } else if (hcint.b.ahberr) { + handle_hc_ahberr_intr(hcd, hc, hc_regs, qtd); + } else { +- local_fiq_disable(); +- BUG(); ++ DWC_WARN("Unexpected IRQ state on FSM transaction:" ++ "dev_addr=%d ep=%d fsm=%d, hcint=0x%08x\n", ++ hc->dev_addr, hc->ep_num, st->fsm, hcint.d32); ++ release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_NO_HALT_STATUS); + } + break; + +@@ -2504,7 +2515,7 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + } else { + frame_desc->status = 0; + /* Unswizzle dma */ +- len = dwc_otg_fiq_unsetup_per_dma(hcd, qh, qtd, num); ++ len = dwc_otg_fiq_unsetup_per_dma(hcd, hc->qh, qtd, num); + frame_desc->actual_length = len; + } + qtd->isoc_frame_index++; +@@ -2566,7 +2577,7 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + * The status is recorded as the interrupt state should the transaction + * fail. + */ +- dwc_otg_fiq_unmangle_isoc(hcd, qh, qtd, num); ++ dwc_otg_fiq_unmangle_isoc(hcd, hc->qh, qtd, num); + hcd->fops->complete(hcd, qtd->urb->priv, qtd->urb, 0); + release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_URB_COMPLETE); + break; + +From 3bad002726b9272b1e3f4f2024ac292def30a1b9 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Mon, 15 May 2017 14:27:48 +0100 +Subject: [PATCH 248/269] dwc_otg: delete hcd->channel_lock + +The lock serves no purpose as it is only held while the HCD spinlock +is already being held. +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 15 --------------- + drivers/usb/host/dwc_otg/dwc_otg_hcd.h | 1 - + drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c | 5 ----- + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 4 ---- + 4 files changed, 25 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 9a647b75027378e25eef00b5fc2a9166514b5c59..5ec991624c7865901b22ea01b9f2c58c8535ecfd 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -938,7 +938,6 @@ static void dwc_otg_hcd_free(dwc_otg_hcd_t * dwc_otg_hcd) + } else if (dwc_otg_hcd->status_buf != NULL) { + DWC_FREE(dwc_otg_hcd->status_buf); + } +- DWC_SPINLOCK_FREE(dwc_otg_hcd->channel_lock); + DWC_SPINLOCK_FREE(dwc_otg_hcd->lock); + /* Set core_if's lock pointer to NULL */ + dwc_otg_hcd->core_if->lock = NULL; +@@ -969,10 +968,8 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if) + + #if (defined(DWC_LINUX) && defined(CONFIG_DEBUG_SPINLOCK)) + DWC_SPINLOCK_ALLOC_LINUX_DEBUG(hcd->lock); +- DWC_SPINLOCK_ALLOC_LINUX_DEBUG(hcd->channel_lock); + #else + hcd->lock = DWC_SPINLOCK_ALLOC(); +- hcd->channel_lock = DWC_SPINLOCK_ALLOC(); + #endif + DWC_DEBUGPL(DBG_HCDV, "init of HCD %p given core_if %p\n", + hcd, core_if); +@@ -1997,7 +1994,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) + dwc_otg_qh_t *qh; + int num_channels; + dwc_irqflags_t flags; +- dwc_spinlock_t *channel_lock = hcd->channel_lock; + dwc_otg_transaction_type_e ret_val = DWC_OTG_TRANSACTION_NONE; + + #ifdef DEBUG_HOST_CHANNELS +@@ -2016,13 +2012,10 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) + + if (microframe_schedule) { + // Make sure we leave one channel for non periodic transactions. +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + if (hcd->available_host_channels <= 1) { +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + break; + } + hcd->available_host_channels--; +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + #ifdef DEBUG_HOST_CHANNELS + last_sel_trans_num_per_scheduled++; + #endif /* DEBUG_HOST_CHANNELS */ +@@ -2035,10 +2028,8 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) + * periodic assigned schedule. + */ + qh_ptr = DWC_LIST_NEXT(qh_ptr); +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_assigned, + &qh->qh_list_entry); +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + } + + /* +@@ -2076,13 +2067,10 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) + } + + if (microframe_schedule) { +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + if (hcd->available_host_channels < 1) { +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + break; + } + hcd->available_host_channels--; +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + #ifdef DEBUG_HOST_CHANNELS + last_sel_trans_num_nonper_scheduled++; + #endif /* DEBUG_HOST_CHANNELS */ +@@ -2095,11 +2083,8 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) + * non-periodic active schedule. + */ + qh_ptr = DWC_LIST_NEXT(qh_ptr); +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + DWC_LIST_MOVE_HEAD(&hcd->non_periodic_sched_active, + &qh->qh_list_entry); +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); +- + + if (!microframe_schedule) + hcd->non_periodic_channels++; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +index 4539cd7b802d3e49ac9a6cb3f1d88b475a1ace16..7f7e9eaffd6a3c3d898855562fbec11289f77f53 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +@@ -568,7 +568,6 @@ struct dwc_otg_hcd { + + /* */ + dwc_spinlock_t *lock; +- dwc_spinlock_t *channel_lock; + /** + * Private data that could be used by OS wrapper. + */ +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c +index 126e99ab2fc43f11d89a08ff0476181ead84029f..bd8a20403713442f6748137d6b5de67e94c3893f 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c +@@ -279,17 +279,12 @@ void dump_frame_list(dwc_otg_hcd_t * hcd) + + static void release_channel_ddma(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) + { +- dwc_irqflags_t flags; +- dwc_spinlock_t *channel_lock = hcd->channel_lock; +- + dwc_hc_t *hc = qh->channel; + if (dwc_qh_is_non_per(qh)) { +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + if (!microframe_schedule) + hcd->non_periodic_channels--; + else + hcd->available_host_channels++; +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + } else + update_frame_list(hcd, qh, 0); + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index cf23baaa388562b5843be4cfa6c206cbdc4e780d..a4355afc77b68718fdaba6c5d4be257dadc75036 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -945,7 +945,6 @@ static void release_channel(dwc_otg_hcd_t * hcd, + dwc_otg_transaction_type_e tr_type; + int free_qtd; + dwc_irqflags_t flags; +- dwc_spinlock_t *channel_lock = hcd->channel_lock; + + int hog_port = 0; + +@@ -1034,11 +1033,8 @@ static void release_channel(dwc_otg_hcd_t * hcd, + break; + } + } else { +- +- DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); + hcd->available_host_channels++; + fiq_print(FIQDBG_INT, hcd->fiq_state, "AHC = %d ", hcd->available_host_channels); +- DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); + } + + /* Try to queue more transfers now that there's a free channel. */ + +From 0c2cccd2448ffde803fb8b9f600d3c4f89e61b76 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Mon, 15 May 2017 14:51:42 +0100 +Subject: [PATCH 249/269] dwc_otg: remove unnecessary dma-mode channel halts on + disconnect interrupt + +Host channels are already halted in kill_urbs_in_qh_list() with the +subsequent interrupt processing behaving as if the URB was dequeued +via HCD callback. + +There's no need to clobber the host channel registers a second time +as this exposes races between the driver and host channel resulting +in hcd->free_hc_list becoming corrupted. +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 30 ------------------------------ + 1 file changed, 30 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 5ec991624c7865901b22ea01b9f2c58c8535ecfd..a2dc6337836b2719f4c954edeeb2a71301931b04 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -200,8 +200,6 @@ static void kill_urbs_in_qh_list(dwc_otg_hcd_t * hcd, dwc_list_link_t * qh_list) + dwc_otg_hc_halt(hcd->core_if, qh->channel, + DWC_OTG_HC_XFER_URB_DEQUEUE); + } +- if(microframe_schedule) +- hcd->available_host_channels++; + qh->channel = NULL; + } + dwc_otg_hcd_qh_remove(hcd, qh); +@@ -369,39 +367,11 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) + } + } + +- for (i = 0; i < num_channels; i++) { +- channel = dwc_otg_hcd->hc_ptr_array[i]; +- if (DWC_CIRCLEQ_EMPTY_ENTRY(channel, hc_list_entry)) { +- hc_regs = +- dwc_otg_hcd->core_if->host_if->hc_regs[i]; +- hcchar.d32 = DWC_READ_REG32(&hc_regs->hcchar); +- if (hcchar.b.chen) { +- /* Halt the channel. */ +- hcchar.b.chdis = 1; +- DWC_WRITE_REG32(&hc_regs->hcchar, +- hcchar.d32); +- } +- +- dwc_otg_hc_cleanup(dwc_otg_hcd->core_if, +- channel); +- DWC_CIRCLEQ_INSERT_TAIL +- (&dwc_otg_hcd->free_hc_list, channel, +- hc_list_entry); +- /* +- * Added for Descriptor DMA to prevent channel double cleanup +- * in release_channel_ddma(). Which called from ep_disable +- * when device disconnect. +- */ +- if (dwc_otg_hcd->core_if->dma_desc_enable) +- channel->qh = NULL; +- } +- } + if(fiq_fsm_enable) { + for(i=0; i < 128; i++) { + dwc_otg_hcd->hub_port[i] = 0; + } + } +- + } + + if(fiq_enable) { + +From 4adcb9be792ebf709234627923b525e602b73c14 Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Mon, 15 May 2017 09:28:36 -0700 +Subject: [PATCH 250/269] 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 +the device, so we would leak the bin BO that we allocated during +probe. + +Signed-off-by: Eric Anholt +Fixes: 553c942f8b2c ("drm/vc4: Allow using more than 256MB of CMA memory.") +--- + drivers/gpu/drm/vc4/vc4_v3d.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_v3d.c b/drivers/gpu/drm/vc4/vc4_v3d.c +index 882ec06225f1d5caca71bdb5c69664188192c2e2..77ed4ef3b8c8685a3cd8c871bbd249debc4e2ac4 100644 +--- a/drivers/gpu/drm/vc4/vc4_v3d.c ++++ b/drivers/gpu/drm/vc4/vc4_v3d.c +@@ -372,6 +372,7 @@ static int vc4_v3d_bind(struct device *dev, struct device *master, void *data) + return ret; + } + ++ pm_runtime_set_active(dev); + pm_runtime_use_autosuspend(dev); + pm_runtime_set_autosuspend_delay(dev, 40); /* a little over 2 frames. */ + pm_runtime_enable(dev); + +From 888ae724a02d0b7e81afb0c0a8fde554154e5a76 Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Mon, 15 May 2017 11:35:13 -0700 +Subject: [PATCH 251/269] BCM270X: Drop position requirement for CMA in VC4 + overlay. + +No longer necessary since 2aefcd576195a739a7a256099571c9c4a401005f, +and will probably let peeople that want to choose a larger CMA +allocation (particularly on pi0/1). + +Signed-off-by: Eric Anholt +--- + arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +index c57e795824e9261e0f60bcb40d6a57241019fd91..bf9395041face775d335177583e0b222eb735189 100644 +--- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts ++++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +@@ -13,35 +13,35 @@ + fragment@0 { + target-path = "/chosen"; + __overlay__ { +- bootargs = "cma=256M@256M"; ++ bootargs = "cma=256M"; + }; + }; + + fragment@1 { + target-path = "/chosen"; + __dormant__ { +- bootargs = "cma=192M@256M"; ++ bootargs = "cma=192M"; + }; + }; + + fragment@2 { + target-path = "/chosen"; + __dormant__ { +- bootargs = "cma=128M@128M"; ++ bootargs = "cma=128M"; + }; + }; + + fragment@3 { + target-path = "/chosen"; + __dormant__ { +- bootargs = "cma=96M@128M"; ++ bootargs = "cma=96M"; + }; + }; + + fragment@4 { + target-path = "/chosen"; + __dormant__ { +- bootargs = "cma=64M@64M"; ++ bootargs = "cma=64M"; + }; + }; + + +From c45ad09ce5906f17631ec87d440a5442a3fec75a Mon Sep 17 00:00:00 2001 +From: Ahmet Inan +Date: Mon, 15 May 2017 16:55:56 +0200 +Subject: [PATCH 252/269] config: Add Goodix touch controller module + +Signed-off-by: Ahmet Inan +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index 6e67f6744780cb6c3a92c5cdea9270e629cef946..b8937da67d842393ee293f4ad83de10595e32da5 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -571,6 +571,7 @@ CONFIG_JOYSTICK_RPISENSE=m + CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m ++CONFIG_TOUCHSCREEN_GOODIX=m + CONFIG_TOUCHSCREEN_EKTF2127=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 8dd491e75834ede8221919a97099037b69d43f2c..20740aaa943d6875f24a2dcfa18078967d2bd829 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -567,6 +567,7 @@ CONFIG_JOYSTICK_RPISENSE=m + CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m ++CONFIG_TOUCHSCREEN_GOODIX=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + CONFIG_TOUCHSCREEN_USB_COMPOSITE=m + CONFIG_TOUCHSCREEN_STMPE=m + +From c01f2d9d1a69c3508c1aeb07eda39504b8c395dc Mon Sep 17 00:00:00 2001 +From: Ahmet Inan +Date: Mon, 15 May 2017 17:10:53 +0200 +Subject: [PATCH 253/269] 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. + +Signed-off-by: Ahmet Inan +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 8 +++++ + arch/arm/boot/dts/overlays/goodix-overlay.dts | 46 +++++++++++++++++++++++++++ + 3 files changed, 55 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/goodix-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 0eb0e87c5746a8449162549384eb4a63895ba3c6..315ee19036ab85431f2a077101054ba21b2db888 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -25,6 +25,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + enc28j60.dtbo \ + enc28j60-spi2.dtbo \ + fe-pi-audio.dtbo \ ++ goodix.dtbo \ + googlevoicehat-soundcard.dtbo \ + gpio-ir.dtbo \ + gpio-poweroff.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 843734740c2cd7438ecd9c956c87371f5803ba06..2dade3155e11387de52e5e6150c9a1e9fc4c36cf 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -459,6 +459,14 @@ Load: dtoverlay=fe-pi-audio + Params: + + ++Name: goodix ++Info: Enables I2C connected Goodix gt9271 multiple touch controller using ++ GPIOs 4 and 17 (pins 7 and 11 on GPIO header) for interrupt and reset. ++Load: dtoverlay=goodix,= ++Params: interrupt GPIO used for interrupt (default 4) ++ reset GPIO used for reset (default 17) ++ ++ + Name: googlevoicehat-soundcard + Info: Configures the Google voiceHAT soundcard + Load: dtoverlay=googlevoicehat-soundcard +diff --git a/arch/arm/boot/dts/overlays/goodix-overlay.dts b/arch/arm/boot/dts/overlays/goodix-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..084f74042ed6379ebd9281374d5391a7e23a431e +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/goodix-overlay.dts +@@ -0,0 +1,46 @@ ++// Device tree overlay for I2C connected Goodix gt9271 multiple touch controller ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&gpio>; ++ __overlay__ { ++ goodix_pins: goodix_pins { ++ brcm,pins = <4 17>; // interrupt and reset ++ brcm,function = <0 0>; // in ++ brcm,pull = <2 2>; // pull-up ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ gt9271: gt9271@14 { ++ compatible = "goodix,gt9271"; ++ reg = <0x14>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&goodix_pins>; ++ interrupt-parent = <&gpio>; ++ interrupts = <4 2>; // high-to-low edge triggered ++ irq-gpios = <&gpio 4 0>; // Pin7 on GPIO header ++ reset-gpios = <&gpio 17 0>; // Pin11 on GPIO header ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ interrupt = <&goodix_pins>,"brcm,pins:0", ++ <>9271>,"interrupts:0", ++ <>9271>,"irq-gpios:4"; ++ reset = <&goodix_pins>,"brcm,pins:4", ++ <>9271>,"reset-gpios:4"; ++ }; ++}; + +From 8b0da256d949f4721185fd2990932ac397359ed7 Mon Sep 17 00:00:00 2001 +From: chenzhiwo +Date: Wed, 17 May 2017 16:34:57 +0800 +Subject: [PATCH 254/269] Add device tree overlay for GPIO connected rotary + encoder. See Documentation/input/rotary-encoder.txt for more information. + +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 9 +++++ + .../boot/dts/overlays/rotary-encoder-overlay.dts | 43 ++++++++++++++++++++++ + 3 files changed, 53 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 315ee19036ab85431f2a077101054ba21b2db888..a2670d3ab9479f34886e0ea5431de39c8bcc21e4 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -76,6 +76,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + pwm-2chan.dtbo \ + qca7000.dtbo \ + raspidac3.dtbo \ ++ rotary-encoder.dtbo \ + rpi-backlight.dtbo \ + rpi-cirrus-wm5102.dtbo \ + rpi-dac.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 2dade3155e11387de52e5e6150c9a1e9fc4c36cf..c0b37e2db6ded6e0f209ab6c7831bd514c4e2bcd 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1121,6 +1121,15 @@ Load: dtoverlay=raspidac3 + Params: + + ++Name: rotary-encoder ++Info: Overlay for GPIO connected rotary encoder. ++Load: dtoverlay=rotary-encoder,= ++Params: rotary0_pin_a GPIO connected to rotary encoder channel A ++ (default 4). ++ rotary0_pin_b GPIO connected to rotary encoder channel B ++ (default 17). ++ ++ + Name: rpi-backlight + Info: Raspberry Pi official display backlight driver + Load: dtoverlay=rpi-backlight +diff --git a/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts b/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..c0c6bccff60cc15d9a9bf59d2c7cba41eb9c1cdc +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts +@@ -0,0 +1,43 @@ ++// Device tree overlay for GPIO connected rotary encoder. ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&gpio>; ++ __overlay__ { ++ rotary0_pins: rotary0_pins { ++ brcm,pins = <4 17>; /* gpio 4 17 */ ++ brcm,function = <0 0>; /* input */ ++ brcm,pull = <2 2>; /* pull-up */ ++ }; ++ ++ }; ++ }; ++ ++ fragment@1 { ++ target-path = "/"; ++ __overlay__ { ++ rotary0: rotary@0 { ++ compatible = "rotary-encoder"; ++ status = "okay"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&rotary0_pins>; ++ gpios = <&gpio 4 0>, <&gpio 17 0>; ++ linux,axis = <0>; /* REL_X */ ++ rotary-encoder,encoding = "gray"; ++ rotary-encoder,relative-axis; ++ }; ++ }; ++ ++ }; ++ ++ __overrides__ { ++ rotary0_pin_a = <&rotary0>,"gpios:4", ++ <&rotary0_pins>,"brcm,pins:0"; ++ rotary0_pin_b = <&rotary0>,"gpios:16", ++ <&rotary0_pins>,"brcm,pins:4"; ++ }; ++}; + +From d18c0f6cab6149a21be496f581611923a37618cb Mon Sep 17 00:00:00 2001 +From: Ed Blake +Date: Thu, 10 Nov 2016 18:07:54 +0000 +Subject: [PATCH 255/269] serial: 8250: Add IrDA to UART capabilities + +commit 98838d95075a5295f3478ceba18bcccf472e30f4 upstream. + +Add an IrDA UART capability flag and change the type of +uart_8250_port.capabilities to be u32 rather than unsigned short to +accommodate the additional flag. + +Signed-off-by: Ed Blake +Signed-off-by: Greg Kroah-Hartman +--- + arch/x86/platform/ce4100/ce4100.c | 2 +- + drivers/tty/serial/8250/8250.h | 1 + + drivers/tty/serial/8250/8250_core.c | 4 ++-- + include/linux/serial_8250.h | 4 ++-- + 4 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/arch/x86/platform/ce4100/ce4100.c b/arch/x86/platform/ce4100/ce4100.c +index b27bccd4390f65ca361f4ea7c0ea17031d055a6a..821cb41f00e6ee9528e5d46a8ae6afd8e82b5204 100644 +--- a/arch/x86/platform/ce4100/ce4100.c ++++ b/arch/x86/platform/ce4100/ce4100.c +@@ -89,7 +89,7 @@ static void ce4100_mem_serial_out(struct uart_port *p, int offset, int value) + } + + static void ce4100_serial_fixup(int port, struct uart_port *up, +- unsigned short *capabilites) ++ u32 *capabilites) + { + #ifdef CONFIG_EARLY_PRINTK + /* +diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h +index a697a8585ddc346a72de6e30cdb77785a5688e71..0c23b0079a51977275a16a3c3849dc70f6cb7267 100644 +--- a/drivers/tty/serial/8250/8250.h ++++ b/drivers/tty/serial/8250/8250.h +@@ -80,6 +80,7 @@ struct serial8250_config { + #define UART_CAP_RTOIE (1 << 13) /* UART needs IER bit 4 set (Xscale, Tegra) */ + #define UART_CAP_HFIFO (1 << 14) /* UART has a "hidden" FIFO */ + #define UART_CAP_RPM (1 << 15) /* Runtime PM is active while idle */ ++#define UART_CAP_IRDA (1 << 16) /* UART supports IrDA line discipline */ + + #define UART_BUG_QUOT (1 << 0) /* UART has buggy quot LSB */ + #define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ +diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c +index cf9c7d2e3f95e1a19410247a89c2e49c1a2747a8..2d45863da0e3fecaf339f3e9cdf3c385081f1a9b 100644 +--- a/drivers/tty/serial/8250/8250_core.c ++++ b/drivers/tty/serial/8250/8250_core.c +@@ -425,10 +425,10 @@ struct uart_8250_port *serial8250_get_port(int line) + EXPORT_SYMBOL_GPL(serial8250_get_port); + + static void (*serial8250_isa_config)(int port, struct uart_port *up, +- unsigned short *capabilities); ++ u32 *capabilities); + + void serial8250_set_isa_configurator( +- void (*v)(int port, struct uart_port *up, unsigned short *capabilities)) ++ void (*v)(int port, struct uart_port *up, u32 *capabilities)) + { + serial8250_isa_config = v; + } +diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h +index 48ec7651989b093fc015e44b59657c7000e11012..04185e03d7bec56197cb7653773200449f11b65c 100644 +--- a/include/linux/serial_8250.h ++++ b/include/linux/serial_8250.h +@@ -94,7 +94,7 @@ struct uart_8250_port { + struct uart_port port; + struct timer_list timer; /* "no irq" timer */ + struct list_head list; /* ports on this IRQ */ +- unsigned short capabilities; /* port capabilities */ ++ u32 capabilities; /* port capabilities */ + unsigned short bugs; /* port bugs */ + bool fifo_bug; /* min RX trigger if enabled */ + unsigned int tx_loadsz; /* transmit fifo load size */ +@@ -168,6 +168,6 @@ int serial8250_console_setup(struct uart_port *port, char *options, bool probe); + + extern void serial8250_set_isa_configurator(void (*v) + (int port, struct uart_port *up, +- unsigned short *capabilities)); ++ u32 *capabilities)); + + #endif + +From 6017b95d474d641bc430a1e98e774607bf5a205c Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 19 May 2017 15:07:27 +0100 +Subject: [PATCH 256/269] 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 +features: CSTOPB PARENB PARODD CMSPAR CS5 CS6 + +Add a new capability (UART_CAP_MINI) that exposes the restrictions to +the user of the termios API by turning off the unsupported features in +the request. + +N.B. It is almost possible to automatically discover the missing +features by reading back the LCR register, but the CSIZE bits don't +cooperate (contrary to the documentation, both bits are significant, +but CS5 and CS6 are mapped to CS7) and the code is much longer. + +See: https://github.com/raspberrypi/linux/issues/1561 + +Signed-off-by: Phil Elwell +--- + drivers/tty/serial/8250/8250.h | 3 +++ + drivers/tty/serial/8250/8250_bcm2835aux.c | 2 +- + drivers/tty/serial/8250/8250_port.c | 6 ++++++ + 3 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h +index 0c23b0079a51977275a16a3c3849dc70f6cb7267..5258a82e73758ec156781b601407eb1840657999 100644 +--- a/drivers/tty/serial/8250/8250.h ++++ b/drivers/tty/serial/8250/8250.h +@@ -81,6 +81,9 @@ struct serial8250_config { + #define UART_CAP_HFIFO (1 << 14) /* UART has a "hidden" FIFO */ + #define UART_CAP_RPM (1 << 15) /* Runtime PM is active while idle */ + #define UART_CAP_IRDA (1 << 16) /* UART supports IrDA line discipline */ ++#define UART_CAP_MINI (1 << 17) /* Mini UART on BCM283X family lacks: ++ * STOP PARITY EPAR SPAR WLEN5 WLEN6 ++ */ + + #define UART_BUG_QUOT (1 << 0) /* UART has buggy quot LSB */ + #define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ +diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c +index e10f1244409b344b850ffbbd4af5757a66c875f1..a23c7da42ea81342efc26fb35a92a69d535b7cd0 100644 +--- a/drivers/tty/serial/8250/8250_bcm2835aux.c ++++ b/drivers/tty/serial/8250/8250_bcm2835aux.c +@@ -39,7 +39,7 @@ static int bcm2835aux_serial_probe(struct platform_device *pdev) + + /* initialize data */ + spin_lock_init(&data->uart.port.lock); +- data->uart.capabilities = UART_CAP_FIFO; ++ data->uart.capabilities = UART_CAP_FIFO | UART_CAP_MINI; + data->uart.port.dev = &pdev->dev; + data->uart.port.regshift = 2; + data->uart.port.type = PORT_16550; +diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c +index 080d5a59d0a7f41ee0578d1f6e2fbecf00409bce..6d0d42d06670eba7cd56204083efd6f60a1f1ee1 100644 +--- a/drivers/tty/serial/8250/8250_port.c ++++ b/drivers/tty/serial/8250/8250_port.c +@@ -2558,6 +2558,12 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, + unsigned long flags; + unsigned int baud, quot, frac = 0; + ++ if (up->capabilities & UART_CAP_MINI) { ++ termios->c_cflag &= ~(CSTOPB | PARENB | PARODD | CMSPAR); ++ if ((termios->c_cflag & CSIZE) == CS5 || ++ (termios->c_cflag & CSIZE) == CS6) ++ termios->c_cflag = (termios->c_cflag & ~CSIZE) | CS7; ++ } + cval = serial8250_compute_lcr(up, termios->c_cflag); + + baud = serial8250_get_baud_rate(port, termios, old); + +From 610ddaec2bdfbbb5a181d0b994e9a8abf0ac45ea Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 18 May 2017 11:40:43 +0100 +Subject: [PATCH 257/269] config: Add FB_TFT_ST7789V module + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index b8937da67d842393ee293f4ad83de10595e32da5..d6f3db7620639f1cf377a935dd93710db4ec9c82 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -1157,6 +1157,7 @@ CONFIG_FB_TFT_SSD1306=m + CONFIG_FB_TFT_SSD1331=m + CONFIG_FB_TFT_SSD1351=m + CONFIG_FB_TFT_ST7735R=m ++CONFIG_FB_TFT_ST7789V=m + CONFIG_FB_TFT_TINYLCD=m + CONFIG_FB_TFT_TLS8204=m + CONFIG_FB_TFT_UC1701=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 20740aaa943d6875f24a2dcfa18078967d2bd829..e3878cdcbc8d17ee7cb1af10592477b56308669b 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -1165,6 +1165,7 @@ CONFIG_FB_TFT_SSD1306=m + CONFIG_FB_TFT_SSD1331=m + CONFIG_FB_TFT_SSD1351=m + CONFIG_FB_TFT_ST7735R=m ++CONFIG_FB_TFT_ST7789V=m + CONFIG_FB_TFT_TINYLCD=m + CONFIG_FB_TFT_TLS8204=m + CONFIG_FB_TFT_UC1701=m + +From 71c3f3b39cabeada04087460b92d382ee31abc57 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 8 May 2017 16:43:40 +0100 +Subject: [PATCH 258/269] 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 +be started. The wfe instruction causes a core to wait until an event +or interrupt arrives before continuing to the next instruction. +The sev instruction sends a wakeup event to the other cores, so call +it from bcm2836_smp_boot_secondary, the function that wakes up the +waiting cores during booting. + +It is harmless to use this patch without the corresponding change +adding wfe to the ARMv7/ARMv8-32 stubs, but if the stubs are updated +and this patch is not applied then the other cores will sleep forever. + +See: https://github.com/raspberrypi/linux/issues/1989 + +Signed-off-by: Phil Elwell +--- + drivers/irqchip/irq-bcm2836.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c +index e10597c1a1e51e5e27aa574b6a26d87181f26221..6dccdf94f6f3b4c6a3f6cb1cae5a6ab2879a38cc 100644 +--- a/drivers/irqchip/irq-bcm2836.c ++++ b/drivers/irqchip/irq-bcm2836.c +@@ -248,6 +248,9 @@ static int __init bcm2836_smp_boot_secondary(unsigned int cpu, + writel(secondary_startup_phys, + intc.base + LOCAL_MAILBOX3_SET0 + 16 * cpu); + ++ dsb(sy); /* Ensure write has completed before waking the other CPUs */ ++ sev(); ++ + return 0; + } + + +From 94b13af3bf364587f3ebfaad846dc040412b0ebe Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Sat, 20 May 2017 22:10:14 +0100 +Subject: [PATCH 259/269] overlays: README: remove vestigial SDIO parameters + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/README | 24 ++---------------------- + 1 file changed, 2 insertions(+), 22 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index c0b37e2db6ded6e0f209ab6c7831bd514c4e2bcd..2f762bcf23859ccb0e922935ad158227514b34c5 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1231,19 +1231,9 @@ Name: sdio + Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock, + and enables SDIO via GPIOs 22-27. + Load: dtoverlay=sdio,= +-Params: overclock_50 SD Clock (in MHz) to use when the MMC framework +- requests 50MHz +- +- sdio_overclock SDIO Clock (in MHz) to use when the MMC ++Params: sdio_overclock SDIO Clock (in MHz) to use when the MMC + framework requests 50MHz + +- force_pio Disable DMA support (default off) +- +- pio_limit Number of blocks above which to use DMA +- (default 1) +- +- debug Enable debug output (default off) +- + poll_once Disable SDIO-device polling every second + (default on: polling once at boot-time) + +@@ -1254,19 +1244,9 @@ Name: sdio-1bit + Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock, + and enables 1-bit SDIO via GPIOs 22-25. + Load: dtoverlay=sdio-1bit,= +-Params: overclock_50 SD Clock (in MHz) to use when the MMC framework +- requests 50MHz +- +- sdio_overclock SDIO Clock (in MHz) to use when the MMC ++Params: sdio_overclock SDIO Clock (in MHz) to use when the MMC + framework requests 50MHz + +- force_pio Disable DMA support (default off) +- +- pio_limit Number of blocks above which to use DMA +- (default 1) +- +- debug Enable debug output (default off) +- + poll_once Disable SDIO-device polling every second + (default on: polling once at boot-time) + + +From 955b9301c6a4cf750817d3a2a60173433213fb38 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 11 May 2017 16:58:16 +0100 +Subject: [PATCH 260/269] 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. +The new versions should be functionally equivalent. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/mmc-overlay.dts | 1 + + arch/arm/boot/dts/overlays/sdhost-overlay.dts | 1 - + arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts | 11 ++++++----- + arch/arm/boot/dts/overlays/sdio-overlay.dts | 11 ++++++----- + 4 files changed, 13 insertions(+), 11 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/mmc-overlay.dts b/arch/arm/boot/dts/overlays/mmc-overlay.dts +index d32b02ca01ced5ab3de00d66d5412c8fda4bc510..64f1ff6684b19e76cfd00e6950919ac55227b44b 100644 +--- a/arch/arm/boot/dts/overlays/mmc-overlay.dts ++++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts +@@ -21,6 +21,7 @@ + mmc_pins: mmc_pins { + brcm,pins = <48 49 50 51 52 53>; + brcm,function = <7>; /* alt3 */ ++ brcm.pull = <0 2 2 2 2 2>; + }; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/sdhost-overlay.dts b/arch/arm/boot/dts/overlays/sdhost-overlay.dts +index a431177a1c9d320d5432ea448ad4d0f696c34525..de3d1b0a5e403057a8e94f85695de4076d77e31f 100644 +--- a/arch/arm/boot/dts/overlays/sdhost-overlay.dts ++++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts +@@ -11,7 +11,6 @@ + frag0: __overlay__ { + brcm,overclock-50 = <0>; + brcm,pio-limit = <1>; +- brcm,debug-flags = <0>; + status = "okay"; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts b/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts +index 46d453859b31f5c700a8a2e39a2c209330bc108f..0b7f2c6f2603b631e1985df7fbf66749149566d6 100644 +--- a/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts ++++ b/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts +@@ -1,11 +1,12 @@ +-/* Enable 1-bit SDIO from MMC interface via GPIOs 22-25. Includes sdhost overlay. */ ++/dts-v1/; ++/plugin/; + +-/include/ "sdhost-overlay.dts" ++/* Enable 1-bit SDIO from MMC interface via GPIOs 22-25. Includes sdhost overlay. */ + + /{ + compatible = "brcm,bcm2708"; + +- fragment@3 { ++ fragment@0 { + target = <&mmc>; + sdio_mmc: __overlay__ { + compatible = "brcm,bcm2835-mmc"; +@@ -18,12 +19,12 @@ + }; + }; + +- fragment@4 { ++ fragment@1 { + target = <&gpio>; + __overlay__ { + sdio_pins: sdio_pins { + brcm,pins = <22 23 24 25>; +- brcm,function = <7 7 7 7>; /* ALT3 = SD1 */ ++ brcm,function = <7>; /* ALT3 = SD1 */ + brcm,pull = <0 2 2 2>; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/sdio-overlay.dts b/arch/arm/boot/dts/overlays/sdio-overlay.dts +index 398bd812c716c9e472fbac5aba4fe882114c65d1..215d5e3e8a8ca4363457fed1f7425427bb5086d7 100644 +--- a/arch/arm/boot/dts/overlays/sdio-overlay.dts ++++ b/arch/arm/boot/dts/overlays/sdio-overlay.dts +@@ -1,11 +1,12 @@ +-/* Enable SDIO from MMC interface via GPIOs 22-27. Includes sdhost overlay. */ ++/dts-v1/; ++/plugin/; + +-/include/ "sdhost-overlay.dts" ++/* Enable SDIO from MMC interface via GPIOs 22-27. Includes sdhost overlay. */ + + /{ + compatible = "brcm,bcm2708"; + +- fragment@3 { ++ fragment@0 { + target = <&mmc>; + sdio_mmc: __overlay__ { + pinctrl-names = "default"; +@@ -17,12 +18,12 @@ + }; + }; + +- fragment@4 { ++ fragment@1 { + target = <&gpio>; + __overlay__ { + sdio_pins: sdio_pins { + brcm,pins = <22 23 24 25 26 27>; +- brcm,function = <7 7 7 7 7 7>; /* ALT3 = SD1 */ ++ brcm,function = <7>; /* ALT3 = SD1 */ + brcm,pull = <0 2 2 2 2 2>; + }; + }; + +From 8163070dc6a469b9c64512f82f7a160d2ad0509c Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 11 May 2017 22:00:20 +0100 +Subject: [PATCH 261/269] SQUASH: BCM270X_DT: Fix typo in mmc overlay + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/mmc-overlay.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/overlays/mmc-overlay.dts b/arch/arm/boot/dts/overlays/mmc-overlay.dts +index 64f1ff6684b19e76cfd00e6950919ac55227b44b..88251ad653917674f80c2975de2e425fca00b71f 100644 +--- a/arch/arm/boot/dts/overlays/mmc-overlay.dts ++++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts +@@ -21,7 +21,7 @@ + mmc_pins: mmc_pins { + brcm,pins = <48 49 50 51 52 53>; + brcm,function = <7>; /* alt3 */ +- brcm.pull = <0 2 2 2 2 2>; ++ brcm,pull = <0 2 2 2 2 2>; + }; + }; + }; + +From 32e01de8efab7210d864eb2daff3d3eccbc12ffc Mon Sep 17 00:00:00 2001 +From: Nisar Sayed +Date: Tue, 9 May 2017 18:51:42 +0100 +Subject: [PATCH 262/269] 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. + +Signed-off-by: Nisar Sayed + +Reported-by: popcorn mix +--- + drivers/net/usb/smsc95xx.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c +index f6661e388f6e801c1b88e48a3b71407bd70cf56e..b84e98508b5d97165b68dfc30240950e78bb14c3 100644 +--- a/drivers/net/usb/smsc95xx.c ++++ b/drivers/net/usb/smsc95xx.c +@@ -694,7 +694,7 @@ static int smsc95xx_set_features(struct net_device *netdev, + if (ret < 0) + return ret; + +- if (features & NETIF_F_HW_CSUM) ++ if (features & NETIF_F_IP_CSUM) + read_buf |= Tx_COE_EN_; + else + read_buf &= ~Tx_COE_EN_; +@@ -1342,12 +1342,16 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) + + spin_lock_init(&pdata->mac_cr_lock); + ++ /* RFC 2460, IPv6 UDP calculated checksum yields a result of zero must be ++ * changed to 0xffff, this feature is not supported by smsc95xx family, ++ * hence enable csum offload only for IPv4 TCP/UDP packets. ++ */ + if (DEFAULT_TX_CSUM_ENABLE) +- dev->net->features |= NETIF_F_HW_CSUM; ++ dev->net->features |= NETIF_F_IP_CSUM; + if (DEFAULT_RX_CSUM_ENABLE) + dev->net->features |= NETIF_F_RXCSUM; + +- dev->net->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM; ++ dev->net->hw_features = NETIF_F_IP_CSUM | NETIF_F_RXCSUM; + + smsc95xx_init_mac_address(dev); + + +From 2af672ce3d6de0430b4e1578561347fa5c28175c Mon Sep 17 00:00:00 2001 +From: Karl Palsson +Date: Tue, 18 Mar 2014 23:33:27 +0000 +Subject: [PATCH 263/269] usb/serial/ch341: Add parity support + +Based on wireshark packet traces from a windows machine. + +ch340 and ch341 both seem to support all parity modes, but only the ch341 +appears to support variable data bits and variable stop bits, so those are left +unimplemented, as before. + +Tested on a generic usb-rs485 dongle with the chip label scratched off, and +some Modbus/RTU devices that required various parity settings. + +Signed-off-by: Karl Palsson +--- + drivers/usb/serial/ch341.c | 27 ++++++++++++++++++++++++++- + 1 file changed, 26 insertions(+), 1 deletion(-) + +diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c +index e98590aab633cd6491f2886842179d314ded5fe6..4f25aba5bdfcabe7304b18860be8527587390467 100644 +--- a/drivers/usb/serial/ch341.c ++++ b/drivers/usb/serial/ch341.c +@@ -358,6 +358,7 @@ static void ch341_set_termios(struct tty_struct *tty, + struct ch341_private *priv = usb_get_serial_port_data(port); + unsigned baud_rate; + unsigned long flags; ++ unsigned int par_flags; + + baud_rate = tty_get_baud_rate(tty); + +@@ -368,10 +369,34 @@ static void ch341_set_termios(struct tty_struct *tty, + + /* Unimplemented: + * (cflag & CSIZE) : data bits [5, 8] +- * (cflag & PARENB) : parity {NONE, EVEN, ODD} + * (cflag & CSTOPB) : stop bits [1, 2] + */ + ++ /* CH340 doesn't appear to support variable stop bits or data bits */ ++ if (C_PARENB(tty)) { ++ if (C_PARODD(tty)) { ++ if (tty->termios.c_cflag & CMSPAR) { ++ dev_dbg(&port->dev, "parity = mark\n"); ++ par_flags = 0xeb; ++ } else { ++ dev_dbg(&port->dev, "parity = odd\n"); ++ par_flags = 0xcb; ++ } ++ } else { ++ if (tty->termios.c_cflag & CMSPAR) { ++ dev_dbg(&port->dev, "parity = space\n"); ++ par_flags = 0xfb; ++ } else { ++ dev_dbg(&port->dev, "parity = even\n"); ++ par_flags = 0xdb; ++ } ++ } ++ } else { ++ dev_dbg(&port->dev, "parity = none\n"); ++ par_flags = 0xc3; ++ } ++ ch341_control_out(port->serial->dev, 0x9a, 0x2518, par_flags); ++ + spin_lock_irqsave(&priv->lock, flags); + if (C_BAUD(tty) == B0) + priv->line_control &= ~(CH341_BIT_DTR | CH341_BIT_RTS); + +From 6f7b4c2fd93af047338593994594b651f863f3e9 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 5 May 2017 13:23:10 +0100 +Subject: [PATCH 264/269] Revert "serial: 8250: Don't crash when nr_uarts is 0" + +This reverts commit 9c297d9ebd0d8c6d5e6e8675d527d6a221613abc. +--- + drivers/tty/serial/8250/8250_core.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c +index 2d45863da0e3fecaf339f3e9cdf3c385081f1a9b..9bfdb0e549e626082be8fd6f350e9f801e1a1eed 100644 +--- a/drivers/tty/serial/8250/8250_core.c ++++ b/drivers/tty/serial/8250/8250_core.c +@@ -509,8 +509,6 @@ static void __init serial8250_isa_init_ports(void) + + if (nr_uarts > UART_NR) + nr_uarts = UART_NR; +- if (!nr_uarts) +- return; + + for (i = 0; i < nr_uarts; i++) { + struct uart_8250_port *up = &serial8250_ports[i]; + +From 8fe8bab6cdfd41751ec0c74e95857b98dbc5c193 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Wed, 10 May 2017 12:47:46 +0100 +Subject: [PATCH 265/269] dwcotg: Allow to build without FIQ on ARM64 + +Signed-off-by: popcornmix +--- + drivers/usb/host/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig +index 5a5f6c925f43147082dcfaab15f9e05ed966838c..c50476b3d72471faf94c280aab756599fe55ac90 100644 +--- a/drivers/usb/host/Kconfig ++++ b/drivers/usb/host/Kconfig +@@ -764,7 +764,7 @@ config USB_HWA_HCD + + config USB_DWCOTG + tristate "Synopsis DWC host support" +- depends on USB && FIQ ++ depends on USB && (FIQ || ARM64) + help + The Synopsis DWC controller is a dual-role + host/peripheral/OTG ("On The Go") USB controllers. + +From a017d2c8d33ea20e73ae94b931d361d60b76c664 Mon Sep 17 00:00:00 2001 +From: Liviu Dudau +Date: Wed, 1 Mar 2017 12:26:28 +0000 +Subject: [PATCH 266/269] ASoC: TLV320AIC23: Unquote NULL from control name + +commit a03faba972cb0f9b3a46d8054e674d5492e06c38 upstream. + +Without this I am getting the following messages at boot on my Trimslice: + tlv320aic23-codec 2-001a: Control not supported for path LLINEIN -> [NULL] -> Line Input + tlv320aic23-codec 2-001a: ASoC: no dapm match for LLINEIN --> NULL --> Line Input + tlv320aic23-codec 2-001a: ASoC: Failed to add route LLINEIN -> NULL -> Line Input + tlv320aic23-codec 2-001a: Control not supported for path RLINEIN -> [NULL] -> Line Input + tlv320aic23-codec 2-001a: ASoC: no dapm match for RLINEIN --> NULL --> Line Input + tlv320aic23-codec 2-001a: ASoC: Failed to add route RLINEIN -> NULL -> Line Input + tlv320aic23-codec 2-001a: Control not supported for path MICIN -> [NULL] -> Mic Input + tlv320aic23-codec 2-001a: ASoC: no dapm match for MICIN --> NULL --> Mic Input + tlv320aic23-codec 2-001a: ASoC: Failed to add route MICIN -> NULL -> Mic Input + tegra-snd-trimslice sound: tlv320aic23-hifi <-> 70002800.i2s mapping ok + +Signed-off-by: Liviu Dudau +Signed-off-by: Mark Brown +--- + sound/soc/codecs/tlv320aic23.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/sound/soc/codecs/tlv320aic23.c b/sound/soc/codecs/tlv320aic23.c +index 410cae0f2060474313872d6b9110bf05d3368e43..628a8eeaab689eb85b6d3dba54ec5a98aefe6da0 100644 +--- a/sound/soc/codecs/tlv320aic23.c ++++ b/sound/soc/codecs/tlv320aic23.c +@@ -174,10 +174,9 @@ static const struct snd_soc_dapm_route tlv320aic23_intercon[] = { + {"ROUT", NULL, "Output Mixer"}, + + /* Inputs */ +- {"Line Input", "NULL", "LLINEIN"}, +- {"Line Input", "NULL", "RLINEIN"}, +- +- {"Mic Input", "NULL", "MICIN"}, ++ {"Line Input", NULL, "LLINEIN"}, ++ {"Line Input", NULL, "RLINEIN"}, ++ {"Mic Input", NULL, "MICIN"}, + + /* input mux */ + {"Capture Source", "Line", "Line Input"}, + +From 553e258c1407e42f4b4eba21806fd2b2cf855280 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 16 May 2017 16:55:36 +0100 +Subject: [PATCH 267/269] config: Drop CONFIG_TOUCHSCREEN_EKTF2127 + +--- + arch/arm/configs/bcm2709_defconfig | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index d6f3db7620639f1cf377a935dd93710db4ec9c82..dc3523343c39cacdf6f913fe8fbcaa38c5f5374a 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -572,7 +572,6 @@ CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m + CONFIG_TOUCHSCREEN_GOODIX=m +-CONFIG_TOUCHSCREEN_EKTF2127=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + CONFIG_TOUCHSCREEN_USB_COMPOSITE=m + CONFIG_TOUCHSCREEN_STMPE=m + +From 6132c29f1f8aeef3b19cc7a9ed53e82e447908af Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 16 May 2017 15:58:00 +0100 +Subject: [PATCH 268/269] config: Add CONFIG_TOUCHSCREEN_EDT_FT5X06 + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index dc3523343c39cacdf6f913fe8fbcaa38c5f5374a..b4eb06e990b2d6b11e4645d9c79ae6a75fc2655b 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -572,6 +572,7 @@ CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m + CONFIG_TOUCHSCREEN_GOODIX=m ++CONFIG_TOUCHSCREEN_EDT_FT5X06=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + CONFIG_TOUCHSCREEN_USB_COMPOSITE=m + CONFIG_TOUCHSCREEN_STMPE=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index e3878cdcbc8d17ee7cb1af10592477b56308669b..693ac252ce29f3aae94424e892c6206d48be3265 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -568,6 +568,7 @@ CONFIG_INPUT_TOUCHSCREEN=y + CONFIG_TOUCHSCREEN_ADS7846=m + CONFIG_TOUCHSCREEN_EGALAX=m + CONFIG_TOUCHSCREEN_GOODIX=m ++CONFIG_TOUCHSCREEN_EDT_FT5X06=m + CONFIG_TOUCHSCREEN_RPI_FT5406=m + CONFIG_TOUCHSCREEN_USB_COMPOSITE=m + CONFIG_TOUCHSCREEN_STMPE=m + +From 435c831bb5f68a59f4c9b4e6eb5d74d714a74766 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 16 May 2017 19:34:52 +0100 +Subject: [PATCH 269/269] config: Add CONFIG_I2C_ROBOTFUZZ_OSIF + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index b4eb06e990b2d6b11e4645d9c79ae6a75fc2655b..17fac298f4e5a07fb5292f5e42d43a09208b21c5 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -621,6 +621,7 @@ CONFIG_I2C_MUX_PCA954x=m + CONFIG_I2C_BCM2708=m + CONFIG_I2C_BCM2835=m + CONFIG_I2C_GPIO=m ++CONFIG_I2C_ROBOTFUZZ_OSIF=m + CONFIG_SPI=y + CONFIG_SPI_BCM2835=m + CONFIG_SPI_BCM2835AUX=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 693ac252ce29f3aae94424e892c6206d48be3265..442eb48d4cb418d596e0dbad4bf0742d9e8e80b0 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -617,6 +617,7 @@ CONFIG_I2C_MUX_PCA954x=m + CONFIG_I2C_BCM2708=m + CONFIG_I2C_BCM2835=m + CONFIG_I2C_GPIO=m ++CONFIG_I2C_ROBOTFUZZ_OSIF=m + CONFIG_SPI=y + CONFIG_SPI_BCM2835=m + CONFIG_SPI_BCM2835AUX=m diff --git a/projects/RPi2/patches/linux/linux-02-RPi_clk_fix.patch b/projects/RPi2/patches/linux/linux-02-RPi_clk_fix.patch deleted file mode 100644 index 6c88610655..0000000000 --- a/projects/RPi2/patches/linux/linux-02-RPi_clk_fix.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 76527b4e6a5dbe55e0b2d8ab533c2388b36c86be Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Mon, 22 May 2017 13:56:41 +0100 -Subject: [PATCH] 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. - -Introduce a new metric of clock accuracy to penalise clocks with a good -average but worse jitter compared to clocks with an average which is no -better but with lower jitter. The metric is the ideal rate minus the -worse deviation from that ideal using the nearest integer divisors. - -Use this metric for parent selection for clocks requiring low jitter -(currently just PCM). - -Signed-off-by: Phil Elwell ---- - drivers/clk/bcm/clk-bcm2835.c | 39 ++++++++++++++++++++++++++++++++++----- - 1 file changed, 34 insertions(+), 5 deletions(-) - -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index c24b4de..db3ba74 100644 ---- a/drivers/clk/bcm/clk-bcm2835.c -+++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -534,6 +534,7 @@ struct bcm2835_clock_data { - - bool is_vpu_clock; - bool is_mash_clock; -+ bool low_jitter; - - u32 tcnt_mux; - }; -@@ -1154,7 +1155,8 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - int parent_idx, - unsigned long rate, - u32 *div, -- unsigned long *prate) -+ unsigned long *prate, -+ unsigned long *avgrate) - { - struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); - struct bcm2835_cprman *cprman = clock->cprman; -@@ -1166,11 +1168,33 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - parent = clk_hw_get_parent_by_index(hw, parent_idx); - - if (!(BIT(parent_idx) & data->set_rate_parent)) { -+ unsigned long tmp_rate; -+ - *prate = clk_hw_get_rate(parent); - *div = bcm2835_clock_choose_div(hw, rate, *prate, true); - -- return bcm2835_clock_rate_from_divisor(clock, *prate, -- *div); -+ tmp_rate = bcm2835_clock_rate_from_divisor(clock, *prate, *div); -+ *avgrate = tmp_rate; -+ -+ if (data->low_jitter && (*div & CM_DIV_FRAC_MASK)) { -+ unsigned long high, low; -+ u32 idiv = *div & ~CM_DIV_FRAC_MASK; -+ -+ high = bcm2835_clock_rate_from_divisor(clock, *prate, -+ idiv); -+ idiv += CM_DIV_FRAC_MASK + 1; -+ low = bcm2835_clock_rate_from_divisor(clock, *prate, -+ idiv); -+ -+ /* Return a value which is the maximum deviation -+ * below the ideal rate, for use as a metric. -+ */ -+ if ((tmp_rate - low) < (high - tmp_rate)) -+ tmp_rate = low; -+ else -+ tmp_rate -= high - tmp_rate; -+ } -+ return tmp_rate; - } - - if (data->frac_bits) -@@ -1197,6 +1221,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - - *div = curdiv << CM_DIV_FRAC_BITS; - *prate = curdiv * best_rate; -+ *avgrate = best_rate; - - return best_rate; - } -@@ -1208,6 +1233,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - bool current_parent_is_pllc; - unsigned long rate, best_rate = 0; - unsigned long prate, best_prate = 0; -+ unsigned long avgrate, best_avgrate = 0; - size_t i; - u32 div; - -@@ -1232,11 +1258,13 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - continue; - - rate = bcm2835_clock_choose_div_and_prate(hw, i, req->rate, -- &div, &prate); -+ &div, &prate, -+ &avgrate); - if (rate > best_rate && rate <= req->rate) { - best_parent = parent; - best_prate = prate; - best_rate = rate; -+ best_avgrate = avgrate; - } - } - -@@ -1246,7 +1274,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - req->best_parent_hw = best_parent; - req->best_parent_rate = best_prate; - -- req->rate = best_rate; -+ req->rate = best_avgrate; - - return 0; - } -@@ -2061,6 +2089,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { - .int_bits = 12, - .frac_bits = 12, - .is_mash_clock = true, -+ .low_jitter = true, - .parents = bcm2835_pcm_per_parents, - .tcnt_mux = 23), - [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( From 1bf09aea4e6027b1c12d19966d6d962702fa8479 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 24 May 2017 17:44:55 +0100 Subject: [PATCH 2/2] linux: update to linux-4.9.29 --- 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 33faf920aa..063cc8d091 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" ;; *) - PKG_VERSION="4.9.24" + PKG_VERSION="4.9.29" PKG_URL="http://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_PATCH_DIRS="default" ;;