diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 06bcdd1f1a..5b68505438 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,115 @@ -From dfeebde57d29a9dca773393d6e1a256c239c1827 Mon Sep 17 00:00:00 2001 +From 5be495ed448ba74872820e66748cabe2d4b43f49 Mon Sep 17 00:00:00 2001 +From: Dan Pasanen +Date: Thu, 21 Sep 2017 09:55:42 -0500 +Subject: [PATCH 001/130] arm: partially revert + 702b94bff3c50542a6e4ab9a4f4cef093262fe65 + +* Re-expose some dmi APIs for use in VCSM +--- + arch/arm/include/asm/cacheflush.h | 21 +++++++++++++++++++++ + arch/arm/include/asm/glue-cache.h | 2 ++ + arch/arm/mm/proc-macros.S | 2 ++ + arch/arm/mm/proc-syms.c | 3 +++ + 4 files changed, 28 insertions(+) + +diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h +index 74504b154256e36ff4897ed1c7df43eb4d91bdef..8ccb358b7043cabeb3d2b6769ef4eb11827d78ed 100644 +--- a/arch/arm/include/asm/cacheflush.h ++++ b/arch/arm/include/asm/cacheflush.h +@@ -94,6 +94,21 @@ + * DMA Cache Coherency + * =================== + * ++ * dma_inv_range(start, end) ++ * ++ * Invalidate (discard) the specified virtual address range. ++ * May not write back any entries. If 'start' or 'end' ++ * are not cache line aligned, those lines must be written ++ * back. ++ * - start - virtual start address ++ * - end - virtual end address ++ * ++ * dma_clean_range(start, end) ++ * ++ * Clean (write back) the specified virtual address range. ++ * - start - virtual start address ++ * - end - virtual end address ++ * + * dma_flush_range(start, end) + * + * Clean and invalidate the specified virtual address range. +@@ -115,6 +130,8 @@ struct cpu_cache_fns { + void (*dma_map_area)(const void *, size_t, int); + void (*dma_unmap_area)(const void *, size_t, int); + ++ void (*dma_inv_range)(const void *, const void *); ++ void (*dma_clean_range)(const void *, const void *); + void (*dma_flush_range)(const void *, const void *); + } __no_randomize_layout; + +@@ -140,6 +157,8 @@ extern struct cpu_cache_fns cpu_cache; + * is visible to DMA, or data written by DMA to system memory is + * visible to the CPU. + */ ++#define dmac_inv_range cpu_cache.dma_inv_range ++#define dmac_clean_range cpu_cache.dma_clean_range + #define dmac_flush_range cpu_cache.dma_flush_range + + #else +@@ -159,6 +178,8 @@ extern void __cpuc_flush_dcache_area(void *, size_t); + * is visible to DMA, or data written by DMA to system memory is + * visible to the CPU. + */ ++extern void dmac_inv_range(const void *, const void *); ++extern void dmac_clean_range(const void *, const void *); + extern void dmac_flush_range(const void *, const void *); + + #endif +diff --git a/arch/arm/include/asm/glue-cache.h b/arch/arm/include/asm/glue-cache.h +index 01c3d92624e5ed3e0035c4305ca5b6797ba1888b..99f29f1963aec25c0016c5eadeb4a042e75bd4c9 100644 +--- a/arch/arm/include/asm/glue-cache.h ++++ b/arch/arm/include/asm/glue-cache.h +@@ -154,6 +154,8 @@ static inline void nop_dma_unmap_area(const void *s, size_t l, int f) { } + #define __cpuc_coherent_user_range __glue(_CACHE,_coherent_user_range) + #define __cpuc_flush_dcache_area __glue(_CACHE,_flush_kern_dcache_area) + ++#define dmac_inv_range __glue(_CACHE,_dma_inv_range) ++#define dmac_clean_range __glue(_CACHE,_dma_clean_range) + #define dmac_flush_range __glue(_CACHE,_dma_flush_range) + #endif + +diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S +index f944836da8a222cd97c4e29070afa3aa370e0cbb..e6abed8db42b247ac731e49415bdc4fe92826095 100644 +--- a/arch/arm/mm/proc-macros.S ++++ b/arch/arm/mm/proc-macros.S +@@ -323,6 +323,8 @@ ENTRY(\name\()_cache_fns) + .long \name\()_flush_kern_dcache_area + .long \name\()_dma_map_area + .long \name\()_dma_unmap_area ++ .long \name\()_dma_inv_range ++ .long \name\()_dma_clean_range + .long \name\()_dma_flush_range + .size \name\()_cache_fns, . - \name\()_cache_fns + .endm +diff --git a/arch/arm/mm/proc-syms.c b/arch/arm/mm/proc-syms.c +index 054b491ff7649ca067ff821770aec80a4da42102..70e8b7d3443467ae9595924f1a9d043b984e2c93 100644 +--- a/arch/arm/mm/proc-syms.c ++++ b/arch/arm/mm/proc-syms.c +@@ -30,6 +30,9 @@ EXPORT_SYMBOL(__cpuc_flush_user_all); + EXPORT_SYMBOL(__cpuc_flush_user_range); + EXPORT_SYMBOL(__cpuc_coherent_kern_range); + EXPORT_SYMBOL(__cpuc_flush_dcache_area); ++EXPORT_SYMBOL(dmac_inv_range); ++EXPORT_SYMBOL(dmac_clean_range); ++EXPORT_SYMBOL(dmac_flush_range); + #else + EXPORT_SYMBOL(cpu_cache); + #endif + +From 37a351c2b42ef5e1def96605d0907d1e6a96bded Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 001/133] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/130] 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 +156,10 @@ index 309b88acd3d0b6ca1528dde7b27a23926f9be952..25e37195ceb00cfc0ced7638e8b571a1 usbnet_skb_return(dev, ax_skb); } -From 97c66f25a3d42d3c494fa3a40f24989a3b4cbb7a Mon Sep 17 00:00:00 2001 +From c2b6bb91bc2ea6fec36cdddbd2ee56feb96b6e97 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 002/133] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 003/130] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -94,10 +202,10 @@ index 25e37195ceb00cfc0ced7638e8b571a1b0b8e6f1..09c7d4a07299e70b1cdc9df2c2c4cb39 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From e2b28bbceea3fbedf1bca3d48440b5488c098ef1 Mon Sep 17 00:00:00 2001 +From b24a046d5d11b83f7f22dcbff2cbd8d35c681280 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 003/133] Allow mac address to be set in smsc95xx +Subject: [PATCH 004/130] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -193,10 +301,10 @@ index 09c7d4a07299e70b1cdc9df2c2c4cb39d2207c37..4d9704d0b184df9bd7ddbe6769e40a75 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From 64ba83c020c7cde43a7a1f6cf93da3d0aff77918 Mon Sep 17 00:00:00 2001 +From e4f65a2d62322ce74d230045ccad54bcb85824de Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 004/133] Protect __release_resource against resources without +Subject: [PATCH 005/130] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -224,10 +332,10 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From a557f6a08d7e054e10e5f9656aa138203692e9e4 Mon Sep 17 00:00:00 2001 +From 0e791c7b2a29cf59924b27d3d9f6ae177a70bcfe Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 005/133] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/130] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -254,10 +362,10 @@ index dc8c1e3eafe794a3af83dd987a6d6362d14dd5ee..e8204d9af58f1b893505c06902a83390 #endif } else if (stat) { -From df2ac2c344488b0dfb7799cad415ad5910dd1330 Mon Sep 17 00:00:00 2001 +From 0c7dd68f6c1c4851f2d40b0e63a8691f0676399b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 006/133] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 007/130] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -281,10 +389,10 @@ index e8204d9af58f1b893505c06902a83390c2ea8509..6e3fab9587b782e026c01fa6b6e40338 static void -From 149f4ccf4d8b88c3fda40186413fef8536c9a805 Mon Sep 17 00:00:00 2001 +From 712c6e7138df94ef6e97cd8dbedafa792a695c7f 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/133] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 008/130] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -413,10 +521,10 @@ index d2da8a1e6b1b71381e382d034e7a94e865a6c3da..c4903360eabc2bef04f8e745782cea26 } -From 9d9828d21ee5d8a8077edaab6c65d67c2c697665 Mon Sep 17 00:00:00 2001 +From c3194f9c12e867bde87183d18fe37b1d99a204c4 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/133] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 009/130] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -515,10 +623,10 @@ index c4903360eabc2bef04f8e745782cea268fb22897..13356d3b7bcd508f058c6a9e3c4b0b38 for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From 4885da004a54d1010ae49f79131a668409a0a86c Mon Sep 17 00:00:00 2001 +From fb530a239b9ca01d2962352c8c7f162470a61535 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:43:40 +0100 -Subject: [PATCH 009/133] irq_bcm2836: Send event when onlining sleeping cores +Subject: [PATCH 010/130] 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 @@ -554,10 +662,10 @@ index 6e3fab9587b782e026c01fa6b6e40338ef0c8d0a..86b357ae027bf8ba1ac32cd150a8cf21 } -From ead2a1d0ec38a9d63c107cd08083419a7f69e455 Mon Sep 17 00:00:00 2001 +From 0bbfb7e77bf0edd346e9b61f8af8eb7539f482c9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 010/133] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 011/130] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -578,10 +686,10 @@ index cda10719d1d1b21b32866d2b79363faa461ab8e1..4f3779d3aa0960640506725bde918075 }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From 50236d0b75f80795543a75e8ce75b2629cc22447 Mon Sep 17 00:00:00 2001 +From 0d61d621b9f9684646c8e8bc2064f13b932d7564 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 011/133] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 012/130] 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 @@ -662,10 +770,10 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From c8b2d1b9dff63207dba18d98577f0f79403f881f Mon Sep 17 00:00:00 2001 +From 6bbb03a06ad869b3e52964cce7bfaa93236ec6e2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 012/133] spi-bcm2835: Disable forced software CS +Subject: [PATCH 013/130] 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 @@ -699,10 +807,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From 4db5462964e25f6848c7b7d552254415581cd430 Mon Sep 17 00:00:00 2001 +From 619bf25637a348d9fec5c304436e0488c5c653b0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 013/133] spi-bcm2835: Remove unused code +Subject: [PATCH 014/130] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -790,10 +898,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From ffd68a619a02bf2341830bd8e2bdb7a55315a58a Mon Sep 17 00:00:00 2001 +From ee40ee0db039ed86bae45024a674256ff73e1549 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 014/133] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 015/130] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -846,10 +954,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From c231acde4de10abed0feff0359851539ddf82f50 Mon Sep 17 00:00:00 2001 +From 1ef2b98fdd7f45a8f522c8606c35ff4e81914391 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 015/133] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 016/130] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -952,10 +1060,10 @@ index 6204cc32d09c5096df8aec304c3c37b3bcb6be44..599c218dc8a73172dd4bd4a058fc8f95 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From c75ae9a2a3d74fb2deae4cbeff2279599578f2ea Mon Sep 17 00:00:00 2001 +From 95a8806bc885da30964ba6972106a292eb10d902 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 016/133] firmware: Updated mailbox header +Subject: [PATCH 017/130] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 9 +++++++++ @@ -1016,10 +1124,10 @@ index cb979ad90401e299344dd5fae38d09c489d8bd58..30fb37fe175df604a738258a2a632bca RPI_FIRMWARE_VCHIQ_INIT = 0x00048010, -From b2cd2ffe21fad9ec65d80d0e0c8930ee7dec2b7b Mon Sep 17 00:00:00 2001 +From 0ef66e525de84cf46eda201ea3d34f2345924932 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 017/133] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 018/130] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1039,10 +1147,10 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From 9908a4f5cac46e90e4bd078d79bf685a613ce838 Mon Sep 17 00:00:00 2001 +From 9f17d988e60f7ee7016119863ede1aadd32f221b 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 018/133] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 019/130] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1144,10 +1252,10 @@ index b339e0e67b4c1275fd4992fea4f1e24c0575b783..26b7177573fac2af1cd4ab5488d2686f static int bcm2835_wdt_probe(struct platform_device *pdev) -From 0a9c3acb1c42a50da90cea496597f30b8a098440 Mon Sep 17 00:00:00 2001 +From 5e64993e30a7c24d5530d82522e8699548f433fa Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 019/133] reboot: Use power off rather than busy spinning when +Subject: [PATCH 020/130] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1170,10 +1278,10 @@ index 3b2aa9a9fe268d45335f781c4aa22cf573753a1b..0180d89a34af45c56243fe0f17fbe209 /* -From 85bbafddf6a1866bffdbd1eb6120e506b1f90521 Mon Sep 17 00:00:00 2001 +From 04fe878beca15de1af9d9eb898f2dcb63310ba67 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 020/133] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 021/130] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -1192,10 +1300,10 @@ index 49f1e2a75d614bc21db152327c7b425ae2504f8d..dccd2374ed00631abd441e3e9d78ee74 help This enables support for the RPi power domains which can be enabled -From ee70b59ef2377d1a705f4db4238e24eb968193a6 Mon Sep 17 00:00:00 2001 +From c9c26c8e84d36c8df7ae2b7dda624954dc8347cf Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 021/133] Register the clocks early during the boot process, so +Subject: [PATCH 022/130] 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. @@ -1240,10 +1348,10 @@ index 58ce6af8452db9ca8b4d3c380a06e448919f6a8d..11d89d106026f15719ea25047d6f357b MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From 66319e2fe16f5083605ca3f14ecc3740a9dab278 Mon Sep 17 00:00:00 2001 +From bb4be10f2aa0bedb943b0eb0988de071f7d61c68 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 022/133] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 023/130] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1269,10 +1377,10 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From 732d8250315713358247763e152dea8bcdcc8114 Mon Sep 17 00:00:00 2001 +From a05245275b56aef1c85e578b8b9099740076b13c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 023/133] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 024/130] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -1292,10 +1400,10 @@ index 9ffd3dda3889c56a7a72229bed21ff5c49d62856..00da6c9bacbf33334233e22ca5209ade esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From a7d0927a5545550b082f7c7ec030ee20a7eba427 Mon Sep 17 00:00:00 2001 +From 8e335e8b47368e9bcaade4bba0df4506acc3457b Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 024/133] BCM2835_DT: Fix I2S register map +Subject: [PATCH 025/130] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -1333,10 +1441,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 780884227d127ae2436ec349716d98229c035172 Mon Sep 17 00:00:00 2001 +From 7fca17c17a69af2be08c9d5b0ae2807465e852e5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 025/133] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 026/130] 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 @@ -1364,10 +1472,10 @@ index 11d89d106026f15719ea25047d6f357b4bfcb2c5..fe8f5d65f2749cb3ddc878df61664826 divider->data = data; -From 92c0eae037b1b0d2821b50c590cf201de88ce28f Mon Sep 17 00:00:00 2001 +From 664036d3273ca724cb206cbb9d37ab506d9c2f5c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 026/133] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 027/130] 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, @@ -1469,10 +1577,10 @@ index fe8f5d65f2749cb3ddc878df616648267441e0ee..92b5e0f5145b32d3bfc3592fe381e8be sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From 175d03360a667d3e6712e051fb93bce3d0423244 Mon Sep 17 00:00:00 2001 +From f5952759b74f8f27cd9fd3d09bd956fe97af41b5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 027/133] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 028/130] 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 @@ -1587,10 +1695,10 @@ index 92b5e0f5145b32d3bfc3592fe381e8be3cd90c72..336f8c9c44325d0a94e591a8557f7af2 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From a589e29d3511aa5a50592d8d1122654f6cc49fdb Mon Sep 17 00:00:00 2001 +From cf6f9b6a068c9eee3b5c2fd85b9c16d3f9ca91dd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 028/133] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 029/130] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -1628,10 +1736,10 @@ index 336f8c9c44325d0a94e591a8557f7af246adc857..caa05e5ad0b7b5cd683e04fb3591a3df * rate changes on at least of the parents. */ -From 382ab62102fa349c75975f80ef37f4f3f82aa2c6 Mon Sep 17 00:00:00 2001 +From 734a6aeefc41447c906a17996a320622cd2c9acc Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 029/133] sound: Demote deferral errors to INFO level +Subject: [PATCH 030/130] 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. @@ -1666,10 +1774,10 @@ index fee4b0ef5566cf9e8de0bf5c568706da9cab2ea2..c728a4148903e983d61b6ae65765ba11 goto _err_defer; } -From ad87d702d7331c819f5c3a1d446209c9ebdf3c07 Mon Sep 17 00:00:00 2001 +From e8b92ea8a6ac87ccd81b525510b00b8a34dedd25 Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 030/133] Update vfpmodule.c +Subject: [PATCH 031/130] 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 @@ -1806,10 +1914,10 @@ index a71a48e71fffa8626fe90106815376c44bbe679b..d6c0a5a0a5ae3510db3ace5e3f5d3410 /* * Save the userland NEON/VFP state. Under UP, -From 7643a93f971b15da001d55c9f028058cf609d29c Mon Sep 17 00:00:00 2001 +From 788946b55843e1433f55923c3330723be89ce5f7 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 031/133] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 032/130] 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. @@ -1830,10 +1938,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..56df7d8a43d0aac055a91b0d24aca8e1 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From 1c569940994309960bb760bd5209d9656e9db76d Mon Sep 17 00:00:00 2001 +From da0ad64afbf8eff5cc1efd1f572a9d9e00982ec0 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 032/133] i2c: bcm2835: Add debug support +Subject: [PATCH 033/130] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2022,10 +2130,10 @@ index cd07a69e2e9355540442785f95e90823b05c9d10..47167f403cc8329bd811b47c7011c299 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From db51edb3989eb3a0541bf20d0c35759f16d375a2 Mon Sep 17 00:00:00 2001 +From 6eb566dcfe5a061bdde09fd6f7b0d4e6e5e8c1f2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 033/133] mm: Remove the PFN busy warning +Subject: [PATCH 034/130] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -2037,10 +2145,10 @@ Signed-off-by: Eric Anholt 1 file changed, 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index c841af88836ad63d548a2f007220203e4a8ddf9a..9bbca2b7597fdc9a29ddbb714938501021994963 100644 +index 77e4d3c5c57b72dcd7e411a03707c26dc85c7c04..3f2f09b590dbfaf592749e8f901893c2d0cb4bb4 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7632,8 +7632,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, +@@ -7633,8 +7633,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)) { @@ -2050,10 +2158,10 @@ index c841af88836ad63d548a2f007220203e4a8ddf9a..9bbca2b7597fdc9a29ddbb7149385010 goto done; } -From 1a46e5f28c0eb4efb48b654012a1d70ca323e1b0 Mon Sep 17 00:00:00 2001 +From d80249764bc61d336f09a18ec45827bcf88fbe00 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 034/133] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 035/130] 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 @@ -2078,10 +2186,10 @@ index c367d11079bc90feec2ad0fa748d7ffc3035faba..91d5b531b69b49db97f7febbc60d33a2 config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From 2ec6aca3d8d71fbc852a044a23b09a33f1f077f6 Mon Sep 17 00:00:00 2001 +From 0bb7cbe82412605cc4495f86b73a2b7b791d42f5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 18 May 2017 15:36:46 +0100 -Subject: [PATCH 035/133] staging: bcm2835-audio: Fix memory corruption +Subject: [PATCH 036/130] staging: bcm2835-audio: Fix memory corruption I'm all for fixing memory leaks, but freeing a block while it is still being used is a recipe for hard-to-debug kernel exeptions. @@ -2116,10 +2224,10 @@ index 5f3d8f2339e34834d11edfa8de1d5819e3e32b4f..89f96f3c02805f4114ec9b488e18d00e return ret; } -From f615070a7eca77227ed1fa0e5065c920eda9943d Mon Sep 17 00:00:00 2001 +From 3980d5508b2089602256492156be0697b337c799 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 036/133] Main bcm2708/bcm2709 linux port +Subject: [PATCH 037/130] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2307,10 +2415,10 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From a5df330a419f37b851d39d7668d68a3132be9ce3 Mon Sep 17 00:00:00 2001 +From 4d4032b7b52b040898c02dee6b9ed73dd8baf969 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 037/133] Add dwc_otg driver +Subject: [PATCH 038/130] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -3129,7 +3237,7 @@ index bd3e0c5a6db25e7a162d922c6508de1ad0b68025..15c80079c97bb9eeec478932af88a293 return i; } diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 41eaf0b5251800c570736baf4775c35072e4d9fc..4aff5f417af7902a6505dbdd110f4e5009a3c1b0 100644 +index b5c73361382325127e5412c8b04c748749849954..99dc48bf6cdad1342aae5b006b740b8b40f9ed60 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -5052,7 +5052,7 @@ static void port_event(struct usb_hub *hub, int port1) @@ -3142,7 +3250,7 @@ index 41eaf0b5251800c570736baf4775c35072e4d9fc..4aff5f417af7902a6505dbdd110f4e50 USB_PORT_FEAT_C_OVER_CURRENT); msleep(100); /* Cool down */ diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index 4c38ea41ae969e6fac8ced209a655957322ba36f..abb0d9b614f469a4fb356f47ca22fb9684fffa2f 100644 +index 371a07d874a370bc70ad6ef1499debac8b34b6fe..30d4879d2d9b1433d71eb6f99aa67f653608e88e 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -1909,6 +1909,85 @@ int usb_set_configuration(struct usb_device *dev, int configuration) @@ -63583,10 +63691,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From 9d9d0cef4fb410c405a8eddf86fcc2fd9b6f144c Mon Sep 17 00:00:00 2001 +From 3bffdcd33ad6a8b7a2224601e1f13e3328f7ac4c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 038/133] bcm2708 framebuffer driver +Subject: [PATCH 039/130] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67045,10 +67153,10 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From e26ba709e0411faf8f4ac86990d6823771027993 Mon Sep 17 00:00:00 2001 +From 8c831cd80387944e9e0a4260d66302941d381b3b Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 039/133] dmaengine: Add support for BCM2708 +Subject: [PATCH 040/130] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67679,10 +67787,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From 549a500d2127ddfc30366346c74d365bd6a98ccf Mon Sep 17 00:00:00 2001 +From 2dc57c0cf22e52f08eee8f0e979616a7a4b19fcf Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 040/133] MMC: added alternative MMC driver +Subject: [PATCH 041/130] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67777,7 +67885,7 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/mmc/host/bcm2835-mmc.c diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c -index 29fc1e662891d7bc2157ff55740bd2f110f4e14d..6bc17be504192e2e06760913e33033643c974f3d 100644 +index 2ad7b5c691569e37cd366425c62c6ae0514f3857..b089ec42ce70d9af48136a142691a2e3596e13d9 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -126,6 +126,13 @@ static DEFINE_MUTEX(open_lock); @@ -67794,7 +67902,7 @@ index 29fc1e662891d7bc2157ff55740bd2f110f4e14d..6bc17be504192e2e06760913e3303364 static inline int mmc_blk_part_switch(struct mmc_card *card, unsigned int part_type); -@@ -2437,6 +2444,7 @@ static int mmc_blk_probe(struct mmc_card *card) +@@ -2434,6 +2441,7 @@ static int mmc_blk_probe(struct mmc_card *card) { struct mmc_blk_data *md, *part_md; char cap_str[10]; @@ -67802,7 +67910,7 @@ index 29fc1e662891d7bc2157ff55740bd2f110f4e14d..6bc17be504192e2e06760913e3303364 /* * Check that the card supports the command class(es) we need. -@@ -2444,7 +2452,16 @@ static int mmc_blk_probe(struct mmc_card *card) +@@ -2441,7 +2449,16 @@ static int mmc_blk_probe(struct mmc_card *card) if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -67820,7 +67928,7 @@ index 29fc1e662891d7bc2157ff55740bd2f110f4e14d..6bc17be504192e2e06760913e3303364 md = mmc_blk_alloc(card); if (IS_ERR(md)) -@@ -2452,9 +2469,14 @@ static int mmc_blk_probe(struct mmc_card *card) +@@ -2449,9 +2466,14 @@ static int mmc_blk_probe(struct mmc_card *card) string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, cap_str, sizeof(cap_str)); @@ -69562,10 +69670,10 @@ index 279b39008a33bb68745d9ea55ea5dd7ed522fd1c..49bdea5791a289251019a89419804dde unsigned int erase_size; /* erase size in sectors */ -From e9dc7a1fdfcbf4057b59460faf2d958bd2373ec8 Mon Sep 17 00:00:00 2001 +From 4bc7b4246b35b0ecc2b9db2c2174fd05ccebad45 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 041/133] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 042/130] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -71971,10 +72079,10 @@ index 0000000000000000000000000000000000000000..9c6f199a7830959f31012d86bc1f8b1a +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From 3a580c2b4f316c68e5111bffb9002f3d5dc3182d Mon Sep 17 00:00:00 2001 +From fd6b5676d3bb97ddc50cc4c7c61f7396fd9c4274 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 042/133] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 043/130] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -72499,10 +72607,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From 473d5efd8de86f0f47b90b69c9e8e95f9a81ebbe Mon Sep 17 00:00:00 2001 +From d3644eec0a55b0101b96802b762b7e04f1bc11ba Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 043/133] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 044/130] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -72564,6 +72672,16 @@ Takes a dmabuf, and then calls over to the VPU to wrap it into a suitable handle. Signed-off-by: Dave Stevenson + +vcsm: fix multi-platform build + +vcsm: add macros for cache functions + +vcsm: use dma APIs for cache functions + +* Will handle multi-platform builds + +vcsm: Fix up macros to avoid breaking numbers used by existing apps --- drivers/char/Kconfig | 2 + drivers/char/Makefile | 1 + @@ -72571,12 +72689,12 @@ Signed-off-by: Dave Stevenson drivers/char/broadcom/Makefile | 1 + drivers/char/broadcom/vc_sm/Makefile | 9 + drivers/char/broadcom/vc_sm/vc_sm_defs.h | 237 ++ - drivers/char/broadcom/vc_sm/vc_sm_knl.h | 53 + + drivers/char/broadcom/vc_sm/vc_sm_knl.h | 58 + drivers/char/broadcom/vc_sm/vc_vchi_sm.c | 516 +++++ drivers/char/broadcom/vc_sm/vc_vchi_sm.h | 102 + - drivers/char/broadcom/vc_sm/vmcs_sm.c | 3505 ++++++++++++++++++++++++++++++ + drivers/char/broadcom/vc_sm/vmcs_sm.c | 3493 ++++++++++++++++++++++++++++++ include/linux/broadcom/vmcs_sm_ioctl.h | 280 +++ - 11 files changed, 4715 insertions(+) + 11 files changed, 4708 insertions(+) create mode 100644 drivers/char/broadcom/vc_sm/Makefile create mode 100644 drivers/char/broadcom/vc_sm/vc_sm_defs.h create mode 100644 drivers/char/broadcom/vc_sm/vc_sm_knl.h @@ -72891,10 +73009,10 @@ index 0000000000000000000000000000000000000000..de6afe9f65af45582c79a62abd41c688 +#endif /* __VC_SM_DEFS_H__INCLUDED__ */ diff --git a/drivers/char/broadcom/vc_sm/vc_sm_knl.h b/drivers/char/broadcom/vc_sm/vc_sm_knl.h new file mode 100644 -index 0000000000000000000000000000000000000000..f7f74750d8358779c61dfcd6fc841aa1789a2c5e +index 0000000000000000000000000000000000000000..4f120421c2d11f7ae46752c38b073a4dfdf712c6 --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vc_sm_knl.h -@@ -0,0 +1,53 @@ +@@ -0,0 +1,58 @@ +/* + **************************************************************************** + * Copyright 2011 Broadcom Corporation. All rights reserved. @@ -72924,6 +73042,11 @@ index 0000000000000000000000000000000000000000..f7f74750d8358779c61dfcd6fc841aa1 + VC_SM_LOCK_NON_CACHED, +}; + ++/* Cache functions */ ++#define VCSM_CACHE_OP_INV 0x01 ++#define VCSM_CACHE_OP_CLEAN 0x02 ++#define VCSM_CACHE_OP_FLUSH 0x03 ++ +/* Allocate a shared memory handle and block. */ +int vc_sm_alloc(struct vc_sm_alloc_t *alloc, int *handle); + @@ -73580,10 +73703,10 @@ index 0000000000000000000000000000000000000000..abe4ed15836f2be756083d3fdb4edb54 +#endif /* __VC_VCHI_SM_H__INCLUDED__ */ diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c new file mode 100644 -index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cde051f32a +index 0000000000000000000000000000000000000000..53843054d7617716761b74d8a3d91551b91ffb75 --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c -@@ -0,0 +1,3505 @@ +@@ -0,0 +1,3493 @@ +/* + **************************************************************************** + * Copyright 2011-2012 Broadcom Corporation. All rights reserved. @@ -73804,32 +73927,6 @@ index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cd +}; +#endif + -+typedef void cache_flush_op_fn(const void *, const void *); -+ -+#if defined(CONFIG_CPU_CACHE_V7) -+extern cache_flush_op_fn v7_dma_inv_range; -+extern cache_flush_op_fn v7_dma_clean_range; -+static cache_flush_op_fn * const flushops[4] = -+{ -+ 0, -+ v7_dma_inv_range, -+ v7_dma_clean_range, -+ v7_dma_flush_range, -+}; -+#elif defined(CONFIG_CPU_CACHE_V6) -+extern cache_flush_op_fn v6_dma_inv_range; -+extern cache_flush_op_fn v6_dma_clean_range; -+static cache_flush_op_fn * const flushops[4] = -+{ -+ 0, -+ v6_dma_inv_range, -+ v6_dma_clean_range, -+ v6_dma_flush_range, -+}; -+#else -+#error Unknown cache config -+#endif -+ +/* ---- Private Function Prototypes -------------------------------------- */ + +/* ---- Private Functions ------------------------------------------------ */ @@ -74159,8 +74256,8 @@ index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cd + resource->attach); + seq_printf(s, " SGT %p\n", + resource->sgt); -+ seq_printf(s, " DMA_ADDR 0x%08X\n", -+ resource->dma_addr); ++ seq_printf(s, " DMA_ADDR %pad\n", ++ &resource->dma_addr); + } + } + seq_printf(s, "\n\nTotal resource count: %d\n\n", resource_count); @@ -76548,12 +76645,9 @@ index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cd + } + for (i = 0; i < sizeof(ioparam.s) / sizeof(*ioparam.s); i++) { + switch (ioparam.s[i].cmd) { -+ default: -+ case 0: -+ break; /* NOOP */ -+ case 1: /* L1/L2 invalidate virtual range */ -+ case 2: /* L1/L2 clean physical range */ -+ case 3: /* L1/L2 clean+invalidate all */ ++ case VCSM_CACHE_OP_INV: /* L1/L2 invalidate virtual range */ ++ case VCSM_CACHE_OP_FLUSH: /* L1/L2 clean physical range */ ++ case VCSM_CACHE_OP_CLEAN: /* L1/L2 clean+invalidate all */ + /* Locate resource from GUID. */ + resource = + vmcs_sm_acquire_resource(file_data, ioparam.s[i].handle); @@ -76577,6 +76671,8 @@ index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cd + vmcs_sm_release_resource(resource, 0); + + break; ++ default: ++ break; /* NOOP */ + } + } + } @@ -76613,7 +76709,22 @@ index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cd + + for (i = 0; i < ioparam.op_count; i++) { + const struct vmcs_sm_ioctl_clean_invalid_block * const op = block + i; -+ cache_flush_op_fn * const op_fn = flushops[op->invalidate_mode & 3]; ++ void (*op_fn)(const void *, const void *); ++ ++ switch(op->invalidate_mode & 3) { ++ case VCSM_CACHE_OP_INV: ++ op_fn = dmac_inv_range; ++ break; ++ case VCSM_CACHE_OP_CLEAN: ++ op_fn = dmac_clean_range; ++ break; ++ case VCSM_CACHE_OP_FLUSH: ++ op_fn = dmac_flush_range; ++ break; ++ default: ++ op_fn = 0; ++ break; ++ } + + if ((op->invalidate_mode & ~3) != 0) { + ret = -EINVAL; @@ -77376,10 +77487,10 @@ index 0000000000000000000000000000000000000000..b75729d762f25aace133f7a008633b40 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 7d5a81700ad0b91062def922f9c3cd0559925b38 Mon Sep 17 00:00:00 2001 +From 9edf68591933c764411dbc83395e0a19305c08d9 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 044/133] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 045/130] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -77687,10 +77798,10 @@ index 0000000000000000000000000000000000000000..f5e7f1ba8fb6f18dee77fad06a17480c +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From 57055ec2801b783b4458527ef7e139e39075118f Mon Sep 17 00:00:00 2001 +From 8ab04ec42776c3df60aa5187d2dfb041ef038fc9 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 045/133] Add SMI driver +Subject: [PATCH 046/130] Add SMI driver Signed-off-by: Luke Wren --- @@ -79641,10 +79752,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From 9f93613ed10af9ddc21db21002df4e403651586c Mon Sep 17 00:00:00 2001 +From 49bacfe87b0c03b7282d99ffcd4fa85886a420d5 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 046/133] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 047/130] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -79814,10 +79925,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From 9714411d0885ec693a7c9fa5f0d53aebb422d5e6 Mon Sep 17 00:00:00 2001 +From f2de11d64b5afd119bfd47bcd5fefc4f8306c638 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 047/133] Add SMI NAND driver +Subject: [PATCH 048/130] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -80182,10 +80293,10 @@ index 0000000000000000000000000000000000000000..c4826ea1c2bae555ce780e61f1076ddd + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From 9a319f127b97c058624f42990b3e98c118e187cf Mon Sep 17 00:00:00 2001 +From 359ba5be9b2be8ca88eae66a115cb739b082a694 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 048/133] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 049/130] 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 @@ -81045,10 +81156,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From 69e74a52ed35a0c9f5ac6dd156c58f1e6df25d9f Mon Sep 17 00:00:00 2001 +From ebad0bf0058c9489e1f9dd480bc9041f711f583e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 049/133] Add cpufreq driver +Subject: [PATCH 050/130] Add cpufreq driver Signed-off-by: popcornmix @@ -81312,10 +81423,10 @@ index 0000000000000000000000000000000000000000..99345969b0e4d651fd9033d67de2febb +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From 793c6b20911271e65bdf4f3d3d90307fb14aae39 Mon Sep 17 00:00:00 2001 +From 56f5dee78ba61de1f50835610484be098492be94 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 050/133] Add Chris Boot's i2c driver +Subject: [PATCH 051/130] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -81419,7 +81530,7 @@ both bcm2708_bsc_fifo_fill and ~drain are changed as well. create mode 100644 drivers/i2c/busses/i2c-bcm2708.c diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index c06dce2c1da745fab9727715f5ffaa01a40d4d04..0e994077db9c2d8fd9d58c73d8377bac349d652b 100644 +index 45a3f3ca29b383ce7edfbb34e6d3fd506c5173b6..9dbd9e7619f44d73368fcd76e67487c340dfb55d 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -8,6 +8,25 @@ menu "I2C Hardware Bus support" @@ -81980,10 +82091,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From 19e6034718572f53fb35ce0e24f0c859b3f365cc Mon Sep 17 00:00:00 2001 +From 85745c8eb316484aa05f603969c24159bcd5d108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 051/133] char: broadcom: Add vcio module +Subject: [PATCH 052/130] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82208,10 +82319,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From 45ec3f14bff9d1a5aa81ea14e677c91193bf814c Mon Sep 17 00:00:00 2001 +From 2fb54faa76f9e2c94a24b44e5448d5085b414b91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 052/133] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 053/130] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82294,10 +82405,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From 4bb294dc13985b02ea5e208fc41666bccb424e1c Mon Sep 17 00:00:00 2001 +From f192d5e18210e35cf801bb74538a2eceded38f31 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 053/133] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 054/130] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -82824,10 +82935,10 @@ index 0000000000000000000000000000000000000000..84be2593ec1de8f97b0167ff06b3e05d + return $trailer; +} -From 4c1abfc3c8639babf371d5cf660c32d600ee017f Mon Sep 17 00:00:00 2001 +From adec14343df536f27fa8640fb127b1d75fb74b85 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 054/133] BCM2708: Add core Device Tree support +Subject: [PATCH 055/130] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -95064,10 +95175,10 @@ index 5e975fee0f5b44343807d2f4e92954cb521497dc..3cf3f3eef6abdac2695d321c3d1bbc94 # Bzip2 -From b879327b9bf90157687d3079d07ac30041599537 Mon Sep 17 00:00:00 2001 +From 4c72e08b983f7d88d7aa60c8e70ca5926b234ea5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 055/133] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 056/130] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -95242,10 +95353,10 @@ index bf6db4fe895bcd67e04ee65e8f76ea104af6299f..8741dca6dba65e2d72fbdbc1702139c2 /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -From 7dfd7ec18af11900e4d791daaf17f0565246c06a Mon Sep 17 00:00:00 2001 +From d30b1d38425ba3ef90ecc7995c05172dc55f3f44 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 056/133] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 057/130] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -95513,10 +95624,10 @@ index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..703fa8a70574323abe2fb32599254582 __u32 dx; /* screen-relative */ __u32 dy; -From 5612737e5e77700998d6a6c6218726a3f64e8f81 Mon Sep 17 00:00:00 2001 +From 14d4141e9481665611a0317a698d48b8ed5033ec Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 057/133] Speed up console framebuffer imageblit function +Subject: [PATCH 058/130] 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 @@ -95725,10 +95836,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From 1975b013c4b9086a9da4f51013bf2db9f2ea8746 Mon Sep 17 00:00:00 2001 +From c17498905d3dc4d6d6bae47425ab68f433eb8324 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 058/133] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 059/130] 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 @@ -95978,10 +96089,10 @@ index 5b2972946dda5f9ad415f1eaeaab67743a5cc0f0..b3558b7c9efb2484b40e31312aee197b u8, w1_slave_found_callback); }; -From 7042aba0ff407d1c93969fe6326a1aa7403377c6 Mon Sep 17 00:00:00 2001 +From 4d40b3c611ec78310ac422d24c11926c38a071bb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 059/133] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 060/130] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -96013,10 +96124,10 @@ index 089bad8a9a21d6b35742df8819fabb4da5036730..c18a6e634e5f0760339990554d790502 break; case HID_GD_JOYSTICK: -From f6c3a05947f36c911d1b1a8e35bc9233b6ca2d47 Mon Sep 17 00:00:00 2001 +From 6f28bae1fc9aedeb680a378d3a63f8160e28bae9 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 060/133] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 061/130] 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 @@ -96374,10 +96485,10 @@ index 30fb37fe175df604a738258a2a632bca3bfff33f..4a3d79d3b48eb483a4e4bf498f617515 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From c44f99547e9563262d3b58ef75f7e73e780dadd4 Mon Sep 17 00:00:00 2001 +From 2a5abc2e5a7113b9cd213a843467735d1d061498 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 061/133] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 062/130] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -97957,10 +98068,10 @@ index 17ec37811c32f09126ed42753037e055c5cec115..c08f81812d0d56a0d90c1eb6777d0622 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From 35ccffd1227127b568cbed564406e73d17455e63 Mon Sep 17 00:00:00 2001 +From a37c7db17fdaca8cb35b764bfff0df952e653944 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 062/133] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 063/130] 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 @@ -97995,10 +98106,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 8e673fc1c166673be2b9cf676624a9f49d4c85a5 Mon Sep 17 00:00:00 2001 +From 6560e4712b4aad4004e759b92bda314c10c1a282 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 063/133] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 064/130] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -98863,10 +98974,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From a28cf4cf09106bf468c679d4cc9009c140f99d99 Mon Sep 17 00:00:00 2001 +From 602471d54876e59e958045231c4e8ccf7029e5df Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 064/133] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 065/130] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -99041,10 +99152,10 @@ index 0000000000000000000000000000000000000000..ee9f133953544629282631e5ef3f73fe +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From d8fd9ff8a4ba8c61c919b2c284ff53f5f6fae67f Mon Sep 17 00:00:00 2001 +From 34d67e2b58fc7d635f4ed75d9323748e86c5674d Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 065/133] ASoC: Add support for Rpi-DAC +Subject: [PATCH 066/130] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -99328,10 +99439,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 1694ac973f07a9391852a2661ffa240617cf46e9 Mon Sep 17 00:00:00 2001 +From 99f1b68ffd0bdced5be5179f61ff4e1df5e9a6e5 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 066/133] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 067/130] 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 @@ -99380,10 +99491,10 @@ index fc69b87443d80489382b97332de6d5ad12a58ec8..d8fdce81b297dcf02e144bdead0c6193 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From 7fe15c18b1e6b046a54ec71cc833e4464c0ad8eb Mon Sep 17 00:00:00 2001 +From 02d22fec4beb09ba105ce2fce974aaa0de9f946e Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 067/133] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 068/130] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -99727,10 +99838,10 @@ index 0000000000000000000000000000000000000000..7620dd02de40b6d644ff038b445d375d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From bcdbfb6fb10d8fb4f89fffe0234280f10617c223 Mon Sep 17 00:00:00 2001 +From 15179ea09468a873921e43b3133b533535c99204 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 068/133] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 069/130] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -100065,10 +100176,10 @@ index 0000000000000000000000000000000000000000..1ee4097c846376666775272ed692ca33 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 3131f83b72bbea23d2f4882ad082d13a68c32376 Mon Sep 17 00:00:00 2001 +From 6c1ba8de5146ffa67106b9f7a3669b576f3030c5 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 069/133] Added support for HiFiBerry DAC+ +Subject: [PATCH 070/130] 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. @@ -100698,10 +100809,10 @@ index 68feae262476492ae3a0b30855dbb09e96fa187e..f7b0977017ed5a6c02eafa0147d49d66 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From f1c22c559c35254777975379ecf077788e35326a Mon Sep 17 00:00:00 2001 +From 834ba011d0baa0f202c0d78f231d26dc825e0901 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 070/133] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 071/130] 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. @@ -101536,10 +101647,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From e5de7d8aa3462a0255395e60b5218d19a6f4fb0e Mon Sep 17 00:00:00 2001 +From 3477ee32ad2231800570ac6a650f37fe7aba5c59 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 071/133] Add driver for rpi-proto +Subject: [PATCH 072/130] 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 @@ -101754,10 +101865,10 @@ index 0000000000000000000000000000000000000000..fadbfade100228aaafabb0d3bdf35c01 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From 33554968be01af5989b60535400e5a6dd47fd951 Mon Sep 17 00:00:00 2001 +From ce84ff630240181daa2d174e53794c822de40f43 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 072/133] RaspiDAC3 support +Subject: [PATCH 073/130] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -102000,10 +102111,10 @@ index 0000000000000000000000000000000000000000..ad2b5b89bc8213dc2e277306ef50d6e3 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From 73598aac0b08deb6796ea777516bbebc9e8691b9 Mon Sep 17 00:00:00 2001 +From 2e5b14c852b6ea224e3638ffd1305dd509fa7038 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 073/133] Add Support for JustBoom Audio boards +Subject: [PATCH 074/130] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -102459,10 +102570,10 @@ index 0000000000000000000000000000000000000000..909cf8928f2f4313982316f9c5b8a709 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From 30d2eda912f1e9f34b568bc9ea42b563a22de770 Mon Sep 17 00:00:00 2001 +From 19d9ea17cf8a6ecbcca76701a693050c1ba9afdd Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 074/133] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 075/130] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -102644,10 +102755,10 @@ index 0000000000000000000000000000000000000000..f3d7e5db7bb912e1d7ca6f8e8d42df5f +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 6ecb9ecd951f7d1e1e98156dba4da8131d649384 Mon Sep 17 00:00:00 2001 +From 896c30d4a38a4a612f3e946d41ec24ad250754c6 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 075/133] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 076/130] 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. @@ -102898,10 +103009,10 @@ index 0000000000000000000000000000000000000000..491906bbf446826e55dd843f28e4860f +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From 964c4474e325618bff7a4825115d5412fada2b69 Mon Sep 17 00:00:00 2001 +From 5c9cfd99d7b2dd6b91b0f088f740acdf5fc2fa52 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 076/133] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 077/130] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -103201,10 +103312,10 @@ index 0000000000000000000000000000000000000000..33aa2be8a43a12a12cfb5d844dd9732c +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From 25830fedfcacf467361205bad457d8da38631bc9 Mon Sep 17 00:00:00 2001 +From fd6d63e73cbdcc91697c27ddb1d7dfdc791e1151 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 077/133] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 078/130] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -103677,10 +103788,10 @@ index 0000000000000000000000000000000000000000..f200688bb4ae32b90a0ced555aed94b0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 71be045ca9b1f4a94f04177064ea779d9b9fca6a Mon Sep 17 00:00:00 2001 +From afefb5caa3153c6ef418db1585598babbd7b0815 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 078/133] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 079/130] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -103853,10 +103964,10 @@ index 0000000000000000000000000000000000000000..65e03741d349a2dc5bd91f69855ea952 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From b6c57d673769759efc113b0ad9f764d8168ea132 Mon Sep 17 00:00:00 2001 +From 002a3e4d5f7dce48335d720b1807874ed7909ad1 Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 079/133] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 080/130] 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, @@ -104063,10 +104174,10 @@ index 0000000000000000000000000000000000000000..eaf50fb6dbca1970ae1c6f8662088b0f +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From 8c6d72e7a2fc7b79141dc92810afddbe40845d4e Mon Sep 17 00:00:00 2001 +From 64826ab7e23fee202dab1323e8201dfe6dc8307f Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 080/133] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 081/130] 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. @@ -104935,10 +105046,10 @@ index 0000000000000000000000000000000000000000..d4e99e3c6a383d92fb0cf9e8c1cd1e76 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From 01304071e9d8ed1892fab185e1c04823e784daa7 Mon Sep 17 00:00:00 2001 +From 215efee88e57aedaccce50a9b4063af5044d03f0 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 081/133] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 082/130] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -105641,10 +105752,10 @@ index 0000000000000000000000000000000000000000..203ab76c7045b081578e23bda1099dd1 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From 914f6e567a511d3aefd51347a641503bc256b256 Mon Sep 17 00:00:00 2001 +From a913d16963ab5abafdc13ba95eada00a07ecb497 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 082/133] Support for Blokas Labs pisound board +Subject: [PATCH 083/130] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) @@ -106843,10 +106954,10 @@ index 0000000000000000000000000000000000000000..06ff1e53dc9d860946965b6303577762 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From 101b2d973cbaa780ca0dd1d146a6778d33e99551 Mon Sep 17 00:00:00 2001 +From 73bd3e426030f62de3d7db4023e66cb3a21050cd Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 083/133] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 084/130] 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 @@ -107911,10 +108022,10 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From e02ffcf3e883f80f42ff2701e0b3860afc6a9a54 Mon Sep 17 00:00:00 2001 +From 9841e8d8b5d324efe658f9e59008c89aef23d9c3 Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 084/133] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 085/130] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -108109,10 +108220,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From 6d3b3c8176b41876b69047451fe6119a481aa36e Mon Sep 17 00:00:00 2001 +From 185e5520a8f1f2e69399c889ab26eaefa63e14b4 Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 085/133] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 086/130] 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. @@ -108326,10 +108437,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From cc355a615d4afa188259d0059981f05f0af26a9d Mon Sep 17 00:00:00 2001 +From fd8e7f6f443778b7124c2ead870d45c12f900dfa Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 086/133] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 087/130] Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset @@ -108738,10 +108849,10 @@ index 0000000000000000000000000000000000000000..5e79f4eff93a21ed3495c77a90f73525 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From 11586207d56483587750c2acbfb70b4eec974f33 Mon Sep 17 00:00:00 2001 +From 35285fa3ba4067fe94562cde21fd30af2237bfbb Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 087/133] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 088/130] Driver support for Google voiceHAT soundcard. --- sound/soc/bcm/Kconfig | 7 ++ @@ -109132,10 +109243,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From b3070f1a812062b067c3849858a6786965aa413c Mon Sep 17 00:00:00 2001 +From 09e9070450f9b2c0cf1d64e0b3cefbc013a5d57f Mon Sep 17 00:00:00 2001 From: sandeepal Date: Fri, 2 Jun 2017 18:59:46 +0530 -Subject: [PATCH 088/133] Allo Digione Driver (#2048) +Subject: [PATCH 089/130] Allo Digione Driver (#2048) Driver for the Allo Digione soundcard --- @@ -109457,10 +109568,10 @@ index 0000000000000000000000000000000000000000..e3664e44c699d0102120ecf99e8b780a +MODULE_DESCRIPTION("ASoC Driver for Allo DigiOne"); +MODULE_LICENSE("GPL v2"); -From 601377dd82f9b54681fa070632c627bfb3e619a5 Mon Sep 17 00:00:00 2001 +From cb70fcd2b80c023f50f9a7f7a156ffc7df8aa1b8 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 089/133] rpi_display: add backlight driver and overlay +Subject: [PATCH 090/130] 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 @@ -109629,10 +109740,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From b13a5b7957c7f3bfac95f24da6ebe4773616ea19 Mon Sep 17 00:00:00 2001 +From 7ef9fe23ccd9a923bf9cd7056121e1bf080a28ff Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 090/133] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 091/130] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -109906,10 +110017,10 @@ index 4a3d79d3b48eb483a4e4bf498f617515e3ad158f..5f34e1257117fb48013c9926a8a223d6 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From a105bfe8b004d00f870fb9dac72b6cd847236931 Mon Sep 17 00:00:00 2001 +From 76d41da5fcb009cb8a8bd9ee954ecbb903218f30 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 091/133] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 092/130] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -110235,10 +110346,10 @@ index 5f34e1257117fb48013c9926a8a223d64a598ab7..c819c21b0158a59c1308882e5a40e3f3 /* Dispmanx TAGS */ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, -From 256c8e4b967e3e9aa85bb9daa0786725c9a6f71f Mon Sep 17 00:00:00 2001 +From c21dac85b4646ae687bdd0762fa2ca8f0a228805 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 092/133] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 093/130] 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 @@ -110267,10 +110378,10 @@ index 111e6a95077978c2c30bfe2a2de4a0d095e8d76e..584471add0962c0e26eb814fc0ef43ee uap->old_cr = 0; uap->port.dev = dev; -From 972d4ad41fb48d68b093cec6394125bb4579b2fd Mon Sep 17 00:00:00 2001 +From e76e00f9bd2376b88c0817f95a3c91cae1d32ec6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 093/133] amba_pl011: Round input clock up +Subject: [PATCH 094/130] 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 @@ -110356,10 +110467,10 @@ index 584471add0962c0e26eb814fc0ef43eea99b2d29..bfbc845d7be9ef804468d0a82da18d9b /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -From 903595ac8c2e6a787a57c3fa1f5fbd0937b3ecbd Mon Sep 17 00:00:00 2001 +From d736f522ef9192e9b1d9887c2deaefa961ed4412 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 094/133] OF: DT-Overlay configfs interface +Subject: [PATCH 095/130] 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. @@ -110791,10 +110902,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From 5b7e2f35df38510be06ba41bfcf0dd63672e87d5 Mon Sep 17 00:00:00 2001 +From 171844e84f0ad8c7c4b350c276c27c267060c866 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 095/133] brcm: adds support for BCM43341 wifi +Subject: [PATCH 096/130] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -110840,10 +110951,10 @@ Signed-off-by: Phil Elwell 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index aaed4ab503ad16c6f4de0e3ccec5b83c3f85c6a1..5e08f1c56bce96c695491cb769f20d498d501332 100644 +index 4157c90ad9736b9b20ab086585eca22ff80a60c9..2d3b5e2a3ef7cd6186487b48665b401249380d18 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2821,6 +2821,8 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2810,6 +2810,8 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, * preference in cfg struct to apply this to * FW later while initializing the dongle */ @@ -110852,7 +110963,7 @@ index aaed4ab503ad16c6f4de0e3ccec5b83c3f85c6a1..5e08f1c56bce96c695491cb769f20d49 cfg->pwr_save = enabled; if (!check_vif_up(ifp->vif)) { -@@ -6861,12 +6863,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -6862,12 +6864,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], struct brcmfmac_pd_cc *country_codes; struct brcmfmac_pd_cc_entry *cc; s32 found_index; @@ -110873,7 +110984,7 @@ index aaed4ab503ad16c6f4de0e3ccec5b83c3f85c6a1..5e08f1c56bce96c695491cb769f20d49 } if ((alpha2[0] == ccreq->country_abbrev[0]) && -@@ -6890,10 +6898,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -6891,10 +6899,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], brcmf_dbg(TRACE, "No country code match found\n"); return -EINVAL; } @@ -110926,10 +111037,10 @@ index 613caca7dc020a78985b22521422700022c37473..971c68a261f2d041806655dd66636aee BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -From 8500acf31201662bb917ed8e85385aa6d518a802 Mon Sep 17 00:00:00 2001 +From 25a3357620bb020cfac08cc519e3f2f72abdd18b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 096/133] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 097/130] brcmfmac: Mute expected startup 'errors' The brcmfmac WiFi driver always complains about the '00' country code. Modify the driver to ignore '00' silently. @@ -110940,10 +111051,10 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 5e08f1c56bce96c695491cb769f20d498d501332..9fefcceb16a761bd319e4fc81ac4355da43ce98b 100644 +index 2d3b5e2a3ef7cd6186487b48665b401249380d18..e417454f5d6ec136cda29e65af5449f2f89cba92 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -6929,6 +6929,8 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, +@@ -6930,6 +6930,8 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, /* ignore non-ISO3166 country codes */ for (i = 0; i < sizeof(req->alpha2); i++) if (req->alpha2[i] < 'A' || req->alpha2[i] > 'Z') { @@ -110953,10 +111064,10 @@ index 5e08f1c56bce96c695491cb769f20d498d501332..9fefcceb16a761bd319e4fc81ac4355d req->alpha2[0], req->alpha2[1]); return; -From 65402945333a07c1f82dea64f7814cf1ef43d31e Mon Sep 17 00:00:00 2001 +From 57e009d1bd7b78d6db2258e3cb079512f0a39875 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 097/133] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 098/130] 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. @@ -110979,10 +111090,10 @@ index c0e4e26dc30d7c3c6a771b7b86df88c8cf763646..7308287259eedcaf229f8a496a0e3826 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 8fc5e66f345972916446b199726237e73fab5892 Mon Sep 17 00:00:00 2001 +From ccf0b8bea74c1f128ebbfa263125f624bd6a5c01 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 098/133] config: Add default configs +Subject: [PATCH 099/130] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1326 +++++++++++++++++++++++++++++++++++ @@ -113661,10 +113772,10 @@ index 0000000000000000000000000000000000000000..e0dd8723047ff488e81a03ef42fdbc68 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From b8f5957bcec9811a225c9cf57b24a0b690361652 Mon Sep 17 00:00:00 2001 +From fe7608292f8b1004b8daaa12ac27c979170096aa Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 099/133] Add arm64 configuration and device tree differences. +Subject: [PATCH 100/130] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -115077,10 +115188,10 @@ index 0000000000000000000000000000000000000000..e6b09fafa27eed2b762e3d53b55041f7 +CONFIG_LIBCRC32C=y +CONFIG_BCM2835_VCHIQ=n -From e12969257baa9c7b6e5418a8cbe51d01e0fa4646 Mon Sep 17 00:00:00 2001 +From 57837eb89f0a1d4e1fca4b83ebd01889142d923a Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 100/133] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 101/130] 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. @@ -115490,10 +115601,10 @@ index e6b09fafa27eed2b762e3d53b55041f793683d27..c7e891d72969a388d9b135a36dbfc9c9 CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -From d46ea03dfba9eea455fdae910bff5c55cb34fb8e Mon Sep 17 00:00:00 2001 +From 07af768c396e8c0df2854649f0c4f3dc265206aa Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:10:07 -0800 -Subject: [PATCH 101/133] ARM64: Enable HDMI audio and vc04_services in +Subject: [PATCH 102/130] ARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig Signed-off-by: Michael Zoran @@ -115522,10 +115633,10 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..4b90f9b64abe9f089ba56b13d5a00de3 CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set -From 1466fb02284fe4f1599e436b2de015a3dac1e040 Mon Sep 17 00:00:00 2001 +From 2b9d88db8ce49a579126e3e86e785afc9dd36e87 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:14:03 -0800 -Subject: [PATCH 102/133] ARM64: Run bcmrpi3_defconfig through savedefconfig. +Subject: [PATCH 103/130] ARM64: Run bcmrpi3_defconfig through savedefconfig. Signed-off-by: Michael Zoran --- @@ -115570,10 +115681,10 @@ index 4b90f9b64abe9f089ba56b13d5a00de33343bfb9..dac962ca1634662ce7d966f1ffb53b5b CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m -From c888b68795e0b0b0843706a28cc0ba52b32bb409 Mon Sep 17 00:00:00 2001 +From 718244f3fe192bacbd4e533a85b74afea528c059 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 103/133] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 104/130] ARM64: Enable Kernel Address Space Randomization (#1792) Randomization allows the mapping between virtual addresses and physical @@ -115605,10 +115716,10 @@ index dac962ca1634662ce7d966f1ffb53b5bfa27c506..aae33b4b3c3e736ea7cd3ca242158ad6 CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From 60f65855dd78da805e66654fc4df84acc25122a1 Mon Sep 17 00:00:00 2001 +From 573f4f28c55b7ac621a43523e79efa91eb0e99ef Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 104/133] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 105/130] 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 @@ -115633,10 +115744,10 @@ index aae33b4b3c3e736ea7cd3ca242158ad6ba558aff..b7d762df19b85e369a32cd823dfd0621 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From dddc29d053b51a6a07190985a9bea2f875263dac Mon Sep 17 00:00:00 2001 +From 936b520f02f32a85d476875ff64c25e439fae164 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 105/133] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 106/130] 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 @@ -115979,10 +116090,10 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From ff2205a32bb9f26f1141e309aaaf4263e89fc605 Mon Sep 17 00:00:00 2001 +From 10be33ce66d67980de985c1c2af7f5f41e949242 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 106/133] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 107/130] 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 @@ -116056,10 +116167,10 @@ index 86b357ae027bf8ba1ac32cd150a8cf21e36597e2..05b17ca993f405c4c8e61a782ec58149 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From 23a0f80ff7f34c475de6b67422022d1818355a98 Mon Sep 17 00:00:00 2001 +From 5d04823e0c8aa010d5d2c8bc83411d20cd1cf547 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 107/133] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 108/130] ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran @@ -116080,10 +116191,10 @@ index b7d762df19b85e369a32cd823dfd062145bdefa7..4d85c231c5ea0244e1b05fb4a5e3c8fd CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From 6f5198fa4f2a678add13683ddd46d2672573189f Mon Sep 17 00:00:00 2001 +From d403646b7d041a0584538f62b410028eca4787c2 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 108/133] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 109/130] ARM64: Force hardware emulation of deprecated instructions. --- @@ -116091,7 +116202,7 @@ Subject: [PATCH 108/133] ARM64: Force hardware emulation of deprecated 1 file changed, 5 insertions(+) diff --git a/arch/arm64/kernel/armv8_deprecated.c b/arch/arm64/kernel/armv8_deprecated.c -index f0e6d717885b1fcf3b22f64c10c38f19c25f809d..0cb830d30fb6d2bd26ab572efe893649c7a28d3c 100644 +index d06fbe4cd38d7423c900aff64b0e728f995478d3..877b7c90f9555203d5d55d739359a256f16982ad 100644 --- a/arch/arm64/kernel/armv8_deprecated.c +++ b/arch/arm64/kernel/armv8_deprecated.c @@ -183,10 +183,15 @@ static void __init register_insn_emulation(struct insn_emulation_ops *ops) @@ -116111,10 +116222,10 @@ index f0e6d717885b1fcf3b22f64c10c38f19c25f809d..0cb830d30fb6d2bd26ab572efe893649 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -From 273941d31bc5323852f61ead739c9622de819edc Mon Sep 17 00:00:00 2001 +From 58fbc9238e5bad8b2e905c6d5aa9a63977a1f78e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 109/133] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 110/130] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -116139,10 +116250,10 @@ index 939b310913cf38cd7ca3136128fb5440340d7d12..8d90800c10f96efa428f5ed348fe7047 dtbs: prepare scripts -From ce4fa77db4a48d767071e561cf4145f5d90e0dfb Mon Sep 17 00:00:00 2001 +From b0b105ca599f992fbb57c15b5f650373aa04e0b2 Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Wed, 24 May 2017 10:52:50 +0200 -Subject: [PATCH 110/133] enable drivers for GPIO expander and vcio +Subject: [PATCH 111/130] enable drivers for GPIO expander and vcio --- arch/arm64/configs/bcmrpi3_defconfig | 3 +++ @@ -116170,10 +116281,10 @@ index 4d85c231c5ea0244e1b05fb4a5e3c8fd3e651ddf..9dcb58a519d041fadae99c81a7bda621 CONFIG_GPIO_ARIZONA=m CONFIG_GPIO_STMPE=y -From 7280d0998b636fdf1bb217a1f0c0ec34a4102a87 Mon Sep 17 00:00:00 2001 +From c4bca62fffa19ae7bb8e47762ed1a5cf4910f8ec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 111/133] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 112/130] 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 @@ -116337,10 +116448,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From d2c006da4983a1be01773d9099ef7aebfe9a1229 Mon Sep 17 00:00:00 2001 +From 6ab7d94f59c2768b402031b78bd07290b1a22efa Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 112/133] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 113/130] 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. @@ -132472,10 +132583,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From e829dce2e6b6aecb6e326069afa0b25b783bea33 Mon Sep 17 00:00:00 2001 +From b6749ff6f79672faee1dcadecdfe266fef1968b4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:18:09 +0100 -Subject: [PATCH 113/133] raspberrypi-firmware: Define the MBOX channel in the +Subject: [PATCH 114/130] raspberrypi-firmware: Define the MBOX channel in the header. Signed-off-by: Eric Anholt @@ -132497,10 +132608,10 @@ index c819c21b0158a59c1308882e5a40e3f3fe73cbdf..de2a3dcd562beb752266eaf0070e5586 enum rpi_firmware_property_status { -From ccded2d9f4697bb395c25bad2dd83e4c50b162fc Mon Sep 17 00:00:00 2001 +From fd08bbf521d7f5688f1e9028dedd9a811ed93228 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 114/133] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 115/130] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -132544,10 +132655,10 @@ index de2a3dcd562beb752266eaf0070e55861d553f5f..dc7fd58afd5dddebf9b17065bb069a1d #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From ec4b2e46b8363da94fe72f702be17d0968db2224 Mon Sep 17 00:00:00 2001 +From e8796af3a4ad5c476698efcbbc8e643e6836a22f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 115/133] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 116/130] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt @@ -133318,10 +133429,10 @@ index 0000000000000000000000000000000000000000..78c34305935501248b1ca548a1ee0175 + }, +}; -From 61ab8dff7d41537fa8123a32ae4d42116d45a16c Mon Sep 17 00:00:00 2001 +From cea10b5bd629189528b85fb5b4b6a412cab99a03 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 116/133] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 117/130] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. @@ -133345,10 +133456,10 @@ index 78c34305935501248b1ca548a1ee01753b8fa099..d9a5551d01a2155e3df1bbbd78a1ee2b if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From 5ca78032cb2cb42e95c9cce83e5c45f937029f86 Mon Sep 17 00:00:00 2001 +From babe98afe382e9294484bfca95377fecd2d72d44 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 117/133] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 118/130] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was @@ -133418,10 +133529,10 @@ index d9a5551d01a2155e3df1bbbd78a1ee2b961be946..e372666af0119b1876bad5167e6d0ff8 RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From 010689cbfbac316f20ef7014d0efe8e449cebec9 Mon Sep 17 00:00:00 2001 +From 4c0bbb3d4a147d9e49b2e898ca5c0ef0f8beb571 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 118/133] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 119/130] 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 @@ -133463,10 +133574,10 @@ index e372666af0119b1876bad5167e6d0ff8945d1b80..4d7b7f218cbbc9e7abcaa37743978060 static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From 17b9d8e4b6433ce16c901c2b0c717c8b6d25cbf7 Mon Sep 17 00:00:00 2001 +From 20930f676a58cd10e749e9d0600a75625e403fa4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 119/133] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH 120/130] vc4_fkms: Apply firmware overscan offset to hardware cursor --- @@ -133523,10 +133634,10 @@ index 4d7b7f218cbbc9e7abcaa37743978060b73fbdd1..d170775ccc985637ff018804f510a500 return 0; -From 799cd58f78605543be0ee0f087253fee2a130203 Mon Sep 17 00:00:00 2001 +From db95694af0b9b702c1b80492c9c9187ef9358f0f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 11:34:26 +0200 -Subject: [PATCH 120/133] ASoC: bcm2835: Add support for TDM modes +Subject: [PATCH 121/130] ASoC: bcm2835: Add support for TDM modes bcm2835 supports arbitrary positioning of channel data within a frame and thus is capable of supporting TDM modes. Since @@ -133928,10 +134039,10 @@ index 56df7d8a43d0aac055a91b0d24aca8e1b4e308e4..dcacf7f83c9371df539a788ea33fedcf dev->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, dev); -From 927d15bbe84061f98e16187f7b346fb2f84f82a2 Mon Sep 17 00:00:00 2001 +From dc03053d1302977b6cabd15a5538efb6574b88ab Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 15:30:50 +0200 -Subject: [PATCH 121/133] ASoC: bcm2835: Support left/right justified and DSP +Subject: [PATCH 122/130] ASoC: bcm2835: Support left/right justified and DSP modes DSP modes and left/right justified modes can be supported @@ -134177,10 +134288,10 @@ index dcacf7f83c9371df539a788ea33fedcf97d64690..3a706fda4f39e42efbe12f19d87af9b1 } -From 9d0789400216248e85c04839343e3db65d36b0da Mon Sep 17 00:00:00 2001 +From 1c1529bd2fb89ea618c52884d5ed66c0fdf234f6 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:19:54 +0200 -Subject: [PATCH 122/133] ASoC: bcm2835: Support additional samplerates up to +Subject: [PATCH 123/130] ASoC: bcm2835: Support additional samplerates up to 384kHz Sample rates are only restricted by the capabilities of the @@ -134223,10 +134334,10 @@ index 3a706fda4f39e42efbe12f19d87af9b100a348a5..43f5715a0d5dda851731ecf7ff27e76c | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE -From 10f2984ba70e11670a33a6fe1128f0aac7e8ce8c Mon Sep 17 00:00:00 2001 +From a3a81d894f13c422b7f4139461a74f46e7281629 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:24:57 +0200 -Subject: [PATCH 123/133] ASoC: bcm2835: Enforce full symmetry +Subject: [PATCH 124/130] ASoC: bcm2835: Enforce full symmetry bcm2835's configuration registers can't be changed when a stream is running, which means asymmetric configurations aren't supported. @@ -134262,10 +134373,10 @@ index 43f5715a0d5dda851731ecf7ff27e76c48fb6e57..2e449d7173fcecbcd647f90a26bd58b6 static bool bcm2835_i2s_volatile_reg(struct device *dev, unsigned int reg) -From f1cdcd4f5effd31d9bef4e2b7fdbb9af78bada42 Mon Sep 17 00:00:00 2001 +From 4ef6c4411dc74c27f57719332d15c88023305a4b Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 5 Jun 2017 16:40:38 +0100 -Subject: [PATCH 124/133] dma-bcm2708: Fix module compilation of +Subject: [PATCH 125/130] dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708 bcm2708-dmaengine.c defines functions like bcm_dma_start which are @@ -134308,10 +134419,10 @@ index c5bfff2765be4606077e6c8af73040ec13ee8974..6ca874d332a8bc666b1c9576ac51f479 #endif /* _PLAT_BCM2708_DMA_H */ -From 29ae85008e11470105483c08c1a9005bca82274a Mon Sep 17 00:00:00 2001 +From a1399f1ce0869b1d704d4835113a5343fae74e3f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 125/133] cache: export clean and invalidate +Subject: [PATCH 126/130] cache: export clean and invalidate --- arch/arm/mm/cache-v6.S | 4 ++-- @@ -134363,10 +134474,10 @@ index de78109d002db1a5e7c94a6c1bc8bb94161d07b8..4c850aa3af2b2439fced4e130441329a sub r3, r2, #1 bic r0, r0, r3 -From 3b2eee7de574e793c4ebdb911dba2b3e8ddb6995 Mon Sep 17 00:00:00 2001 +From 5c3d3df7ff0f8f7ca37a132f1b74526a04edd8c4 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 20 Sep 2017 11:52:41 +0200 -Subject: [PATCH 126/133] config: enable upstream IR TX drivers +Subject: [PATCH 127/130] config: enable upstream IR TX drivers Signed-off-by: Matthias Reichl --- @@ -134401,10 +134512,10 @@ index e0dd8723047ff488e81a03ef42fdbc68c43dc721..b397818f4a69d04c708101ea3f65e885 CONFIG_USB_VIDEO_CLASS=m CONFIG_USB_M5602=m -From 60633d65e7a4671484978dacfff5b6c5ce364ee1 Mon Sep 17 00:00:00 2001 +From 5442b4a04f74d27c4b3dafac70b670ba61eb8918 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 20 Sep 2017 11:52:42 +0200 -Subject: [PATCH 127/133] overlays: add gpio-ir-tx and pwm-ir-tx +Subject: [PATCH 128/130] overlays: add gpio-ir-tx and pwm-ir-tx Signed-off-by: Matthias Reichl --- @@ -134565,326 +134676,82 @@ index 0000000000000000000000000000000000000000..141c126fe33b90a16fea396b8e27692d + }; +}; -From cb3d5fd2e61991f67b58c8bed48bbfc461fecd4d Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Sun, 24 Sep 2017 22:43:16 +0100 -Subject: [PATCH 128/133] vc-sm: Fix a printf of a dma_addr_t from %u to %pad +From 9c51970021a492657c8d2d0a19cad002a2838a33 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 29 Sep 2017 10:32:19 +0100 +Subject: [PATCH 129/130] amba_pl011: Insert mb() for correct FIFO handling -Avoids issues when other build parameters result in -dma_addr_t being a 64 bit value. -See #2196. +The pl011 register accessor functions use the _relaxed versions of the +standard readl() and writel() functions, meaning that there are no +automatic memory barriers. When polling a FIFO status register to check +for fullness, it is necessary to ensure that any outstanding writes have +completed; otherwise the flags are effectively stale, making it possible +that the next write is to a full FIFO. -Signed-off-by: Dave Stevenson +Signed-off-by: Phil Elwell --- - drivers/char/broadcom/vc_sm/vmcs_sm.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + drivers/tty/serial/amba-pl011.c | 1 + + 1 file changed, 1 insertion(+) -diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c -index 034ae2f27f870621af9f49453501f1cde051f32a..e7ec639937974981ced068ef5825cc02f8914ab0 100644 ---- a/drivers/char/broadcom/vc_sm/vmcs_sm.c -+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c -@@ -573,8 +573,8 @@ static int vc_sm_global_state_show(struct seq_file *s, void *v) - resource->attach); - seq_printf(s, " SGT %p\n", - resource->sgt); -- seq_printf(s, " DMA_ADDR 0x%08X\n", -- resource->dma_addr); -+ seq_printf(s, " DMA_ADDR %pad\n", -+ &resource->dma_addr); - } - } - seq_printf(s, "\n\nTotal resource count: %d\n\n", resource_count); - -From c3936c23476b566ff75daa3c540a201e0ae64be5 Mon Sep 17 00:00:00 2001 -From: Dan Pasanen -Date: Wed, 20 Sep 2017 10:17:41 -0500 -Subject: [PATCH 129/133] vcsm: fix multi-platform build - ---- - drivers/char/broadcom/vc_sm/vmcs_sm.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c -index e7ec639937974981ced068ef5825cc02f8914ab0..e4895b6c238afcf122bc347c476d702515ff1997 100644 ---- a/drivers/char/broadcom/vc_sm/vmcs_sm.c -+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c -@@ -223,6 +223,7 @@ typedef void cache_flush_op_fn(const void *, const void *); - #if defined(CONFIG_CPU_CACHE_V7) - extern cache_flush_op_fn v7_dma_inv_range; - extern cache_flush_op_fn v7_dma_clean_range; -+extern cache_flush_op_fn v7_dma_flush_range; - static cache_flush_op_fn * const flushops[4] = - { - 0, -@@ -233,6 +234,7 @@ static cache_flush_op_fn * const flushops[4] = - #elif defined(CONFIG_CPU_CACHE_V6) - extern cache_flush_op_fn v6_dma_inv_range; - extern cache_flush_op_fn v6_dma_clean_range; -+extern cache_flush_op_fn v6_dma_flush_range; - static cache_flush_op_fn * const flushops[4] = - { - 0, - -From 5236f7523335c4ef47b92bc95e89a6803862ee0b Mon Sep 17 00:00:00 2001 -From: Dan Pasanen -Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 130/133] arm: partially revert - 702b94bff3c50542a6e4ab9a4f4cef093262fe65 - -* Re-expose some dmi APIs for use in VCSM ---- - arch/arm/include/asm/cacheflush.h | 21 +++++++++++++++++++++ - arch/arm/include/asm/glue-cache.h | 2 ++ - arch/arm/mm/proc-macros.S | 2 ++ - arch/arm/mm/proc-syms.c | 3 +++ - 4 files changed, 28 insertions(+) - -diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h -index 74504b154256e36ff4897ed1c7df43eb4d91bdef..8ccb358b7043cabeb3d2b6769ef4eb11827d78ed 100644 ---- a/arch/arm/include/asm/cacheflush.h -+++ b/arch/arm/include/asm/cacheflush.h -@@ -94,6 +94,21 @@ - * DMA Cache Coherency - * =================== - * -+ * dma_inv_range(start, end) -+ * -+ * Invalidate (discard) the specified virtual address range. -+ * May not write back any entries. If 'start' or 'end' -+ * are not cache line aligned, those lines must be written -+ * back. -+ * - start - virtual start address -+ * - end - virtual end address -+ * -+ * dma_clean_range(start, end) -+ * -+ * Clean (write back) the specified virtual address range. -+ * - start - virtual start address -+ * - end - virtual end address -+ * - * dma_flush_range(start, end) - * - * Clean and invalidate the specified virtual address range. -@@ -115,6 +130,8 @@ struct cpu_cache_fns { - void (*dma_map_area)(const void *, size_t, int); - void (*dma_unmap_area)(const void *, size_t, int); +diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c +index bfbc845d7be9ef804468d0a82da18d9b67857216..424bdc500864a86e5d431763ba416b5298c777dc 100644 +--- a/drivers/tty/serial/amba-pl011.c ++++ b/drivers/tty/serial/amba-pl011.c +@@ -1403,6 +1403,7 @@ static bool pl011_tx_char(struct uart_amba_port *uap, unsigned char c, + return false; /* unable to transmit character */ -+ void (*dma_inv_range)(const void *, const void *); -+ void (*dma_clean_range)(const void *, const void *); - void (*dma_flush_range)(const void *, const void *); - } __no_randomize_layout; + pl011_write(c, uap, REG_DR); ++ mb(); + uap->port.icount.tx++; -@@ -140,6 +157,8 @@ extern struct cpu_cache_fns cpu_cache; - * is visible to DMA, or data written by DMA to system memory is - * visible to the CPU. - */ -+#define dmac_inv_range cpu_cache.dma_inv_range -+#define dmac_clean_range cpu_cache.dma_clean_range - #define dmac_flush_range cpu_cache.dma_flush_range - - #else -@@ -159,6 +178,8 @@ extern void __cpuc_flush_dcache_area(void *, size_t); - * is visible to DMA, or data written by DMA to system memory is - * visible to the CPU. - */ -+extern void dmac_inv_range(const void *, const void *); -+extern void dmac_clean_range(const void *, const void *); - extern void dmac_flush_range(const void *, const void *); - - #endif -diff --git a/arch/arm/include/asm/glue-cache.h b/arch/arm/include/asm/glue-cache.h -index 01c3d92624e5ed3e0035c4305ca5b6797ba1888b..99f29f1963aec25c0016c5eadeb4a042e75bd4c9 100644 ---- a/arch/arm/include/asm/glue-cache.h -+++ b/arch/arm/include/asm/glue-cache.h -@@ -154,6 +154,8 @@ static inline void nop_dma_unmap_area(const void *s, size_t l, int f) { } - #define __cpuc_coherent_user_range __glue(_CACHE,_coherent_user_range) - #define __cpuc_flush_dcache_area __glue(_CACHE,_flush_kern_dcache_area) - -+#define dmac_inv_range __glue(_CACHE,_dma_inv_range) -+#define dmac_clean_range __glue(_CACHE,_dma_clean_range) - #define dmac_flush_range __glue(_CACHE,_dma_flush_range) - #endif - -diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S -index f944836da8a222cd97c4e29070afa3aa370e0cbb..e6abed8db42b247ac731e49415bdc4fe92826095 100644 ---- a/arch/arm/mm/proc-macros.S -+++ b/arch/arm/mm/proc-macros.S -@@ -323,6 +323,8 @@ ENTRY(\name\()_cache_fns) - .long \name\()_flush_kern_dcache_area - .long \name\()_dma_map_area - .long \name\()_dma_unmap_area -+ .long \name\()_dma_inv_range -+ .long \name\()_dma_clean_range - .long \name\()_dma_flush_range - .size \name\()_cache_fns, . - \name\()_cache_fns - .endm -diff --git a/arch/arm/mm/proc-syms.c b/arch/arm/mm/proc-syms.c -index 054b491ff7649ca067ff821770aec80a4da42102..70e8b7d3443467ae9595924f1a9d043b984e2c93 100644 ---- a/arch/arm/mm/proc-syms.c -+++ b/arch/arm/mm/proc-syms.c -@@ -30,6 +30,9 @@ EXPORT_SYMBOL(__cpuc_flush_user_all); - EXPORT_SYMBOL(__cpuc_flush_user_range); - EXPORT_SYMBOL(__cpuc_coherent_kern_range); - EXPORT_SYMBOL(__cpuc_flush_dcache_area); -+EXPORT_SYMBOL(dmac_inv_range); -+EXPORT_SYMBOL(dmac_clean_range); -+EXPORT_SYMBOL(dmac_flush_range); - #else - EXPORT_SYMBOL(cpu_cache); - #endif + return true; -From 4781eacdede411635dbdfeb484893ac607d8439d Mon Sep 17 00:00:00 2001 -From: Dan Pasanen -Date: Thu, 21 Sep 2017 09:57:44 -0500 -Subject: [PATCH 131/133] vcsm: add macros for cache functions - ---- - drivers/char/broadcom/vc_sm/vc_sm_knl.h | 5 +++++ - drivers/char/broadcom/vc_sm/vmcs_sm.c | 11 +++++------ - 2 files changed, 10 insertions(+), 6 deletions(-) - -diff --git a/drivers/char/broadcom/vc_sm/vc_sm_knl.h b/drivers/char/broadcom/vc_sm/vc_sm_knl.h -index f7f74750d8358779c61dfcd6fc841aa1789a2c5e..e50fd8eaecef7a3c8451c040ffc3888cc37e28fc 100644 ---- a/drivers/char/broadcom/vc_sm/vc_sm_knl.h -+++ b/drivers/char/broadcom/vc_sm/vc_sm_knl.h -@@ -27,6 +27,11 @@ enum vc_sm_lock_cache_mode { - VC_SM_LOCK_NON_CACHED, - }; - -+/* Cache functions */ -+#define VCSM_CACHE_OP_INV 0x01 -+#define VCSM_CACHE_OP_FLUSH 0x02 -+#define VCSM_CACHE_OP_CLEAN 0x03 -+ - /* Allocate a shared memory handle and block. */ - int vc_sm_alloc(struct vc_sm_alloc_t *alloc, int *handle); - -diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c -index e4895b6c238afcf122bc347c476d702515ff1997..8853f2eb28fea0a5b0c0de4146a3c0272706c73d 100644 ---- a/drivers/char/broadcom/vc_sm/vmcs_sm.c -+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c -@@ -2964,12 +2964,9 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - } - for (i = 0; i < sizeof(ioparam.s) / sizeof(*ioparam.s); i++) { - switch (ioparam.s[i].cmd) { -- default: -- case 0: -- break; /* NOOP */ -- case 1: /* L1/L2 invalidate virtual range */ -- case 2: /* L1/L2 clean physical range */ -- case 3: /* L1/L2 clean+invalidate all */ -+ case VCSM_CACHE_OP_INV: /* L1/L2 invalidate virtual range */ -+ case VCSM_CACHE_OP_FLUSH: /* L1/L2 clean physical range */ -+ case VCSM_CACHE_OP_CLEAN: /* L1/L2 clean+invalidate all */ - /* Locate resource from GUID. */ - resource = - vmcs_sm_acquire_resource(file_data, ioparam.s[i].handle); -@@ -2993,6 +2990,8 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - vmcs_sm_release_resource(resource, 0); - - break; -+ default: -+ break; /* NOOP */ - } - } - } - -From 3e0309a482eb6d9057f6e968a6ee78c34fcca0e1 Mon Sep 17 00:00:00 2001 -From: Dan Pasanen -Date: Thu, 21 Sep 2017 07:41:02 -0500 -Subject: [PATCH 132/133] vcsm: use dma APIs for cache functions - -* Will handle multi-platform builds ---- - drivers/char/broadcom/vc_sm/vmcs_sm.c | 45 +++++++++++++---------------------- - 1 file changed, 16 insertions(+), 29 deletions(-) - -diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c -index 8853f2eb28fea0a5b0c0de4146a3c0272706c73d..53843054d7617716761b74d8a3d91551b91ffb75 100644 ---- a/drivers/char/broadcom/vc_sm/vmcs_sm.c -+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c -@@ -218,34 +218,6 @@ static const char *const sm_cache_map_vector[] = { - }; - #endif - --typedef void cache_flush_op_fn(const void *, const void *); -- --#if defined(CONFIG_CPU_CACHE_V7) --extern cache_flush_op_fn v7_dma_inv_range; --extern cache_flush_op_fn v7_dma_clean_range; --extern cache_flush_op_fn v7_dma_flush_range; --static cache_flush_op_fn * const flushops[4] = --{ -- 0, -- v7_dma_inv_range, -- v7_dma_clean_range, -- v7_dma_flush_range, --}; --#elif defined(CONFIG_CPU_CACHE_V6) --extern cache_flush_op_fn v6_dma_inv_range; --extern cache_flush_op_fn v6_dma_clean_range; --extern cache_flush_op_fn v6_dma_flush_range; --static cache_flush_op_fn * const flushops[4] = --{ -- 0, -- v6_dma_inv_range, -- v6_dma_clean_range, -- v6_dma_flush_range, --}; --#else --#error Unknown cache config --#endif -- - /* ---- Private Function Prototypes -------------------------------------- */ - - /* ---- Private Functions ------------------------------------------------ */ -@@ -3028,7 +3000,22 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - - for (i = 0; i < ioparam.op_count; i++) { - const struct vmcs_sm_ioctl_clean_invalid_block * const op = block + i; -- cache_flush_op_fn * const op_fn = flushops[op->invalidate_mode & 3]; -+ void (*op_fn)(const void *, const void *); -+ -+ switch(op->invalidate_mode & 3) { -+ case VCSM_CACHE_OP_INV: -+ op_fn = dmac_inv_range; -+ break; -+ case VCSM_CACHE_OP_CLEAN: -+ op_fn = dmac_clean_range; -+ break; -+ case VCSM_CACHE_OP_FLUSH: -+ op_fn = dmac_flush_range; -+ break; -+ default: -+ op_fn = 0; -+ break; -+ } - - if ((op->invalidate_mode & ~3) != 0) { - ret = -EINVAL; - -From 95035b64a31d34c065e57b754a362a891f332f8d Mon Sep 17 00:00:00 2001 +From 0991175095d184c983c35931daeebaeda309e2a5 Mon Sep 17 00:00:00 2001 From: popcornmix -Date: Fri, 29 Sep 2017 16:15:01 +0100 -Subject: [PATCH 133/133] vcsm: Fix up macros to avoid breaking numbers used by - existing apps +Date: Fri, 13 Oct 2017 00:21:48 +0100 +Subject: [PATCH 130/130] dwc_otg: Fixup change to DRIVER_ATTR interface --- - drivers/char/broadcom/vc_sm/vc_sm_knl.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + drivers/usb/host/dwc_otg/dwc_otg_driver.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) -diff --git a/drivers/char/broadcom/vc_sm/vc_sm_knl.h b/drivers/char/broadcom/vc_sm/vc_sm_knl.h -index e50fd8eaecef7a3c8451c040ffc3888cc37e28fc..4f120421c2d11f7ae46752c38b073a4dfdf712c6 100644 ---- a/drivers/char/broadcom/vc_sm/vc_sm_knl.h -+++ b/drivers/char/broadcom/vc_sm/vc_sm_knl.h -@@ -29,8 +29,8 @@ enum vc_sm_lock_cache_mode { +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c +index 95943e07528276b26b51ea2d57a1f433f280aaef..af123d01f3ef9f99450c78efdf766ca35e15cbc9 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_driver.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c +@@ -259,7 +259,7 @@ static ssize_t version_show(struct device_driver *dev, char *buf) + DWC_DRIVER_VERSION); + } - /* Cache functions */ - #define VCSM_CACHE_OP_INV 0x01 --#define VCSM_CACHE_OP_FLUSH 0x02 --#define VCSM_CACHE_OP_CLEAN 0x03 -+#define VCSM_CACHE_OP_CLEAN 0x02 -+#define VCSM_CACHE_OP_FLUSH 0x03 +-static DRIVER_ATTR(version, S_IRUGO, version_show, NULL); ++static DRIVER_ATTR_RO(version); - /* Allocate a shared memory handle and block. */ - int vc_sm_alloc(struct vc_sm_alloc_t *alloc, int *handle); + /** + * Global Debug Level Mask. +@@ -269,7 +269,7 @@ uint32_t g_dbg_lvl = 0; /* OFF */ + /** + * This function shows the driver Debug Level. + */ +-static ssize_t dbg_level_show(struct device_driver *drv, char *buf) ++static ssize_t debuglevel_show(struct device_driver *drv, char *buf) + { + return sprintf(buf, "0x%0x\n", g_dbg_lvl); + } +@@ -277,15 +277,14 @@ static ssize_t dbg_level_show(struct device_driver *drv, char *buf) + /** + * This function stores the driver Debug Level. + */ +-static ssize_t dbg_level_store(struct device_driver *drv, const char *buf, ++static ssize_t debuglevel_store(struct device_driver *drv, const char *buf, + size_t count) + { + g_dbg_lvl = simple_strtoul(buf, NULL, 16); + return count; + } + +-static DRIVER_ATTR(debuglevel, S_IRUGO | S_IWUSR, dbg_level_show, +- dbg_level_store); ++static DRIVER_ATTR_RW(debuglevel); + + /** + * This function is called during module intialization