From 442804d1b3f38a569c4c2e3b890f3819cebccb85 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Fri, 1 Apr 2016 14:20:00 +0100 Subject: [PATCH] RPi/RPi2: Update linux support patches for linux 4.4.6 --- .../patches/linux/linux-01-RPi_support.patch | 2394 ++++++++++------- .../patches/linux/linux-01-RPi_support.patch | 2394 ++++++++++------- 2 files changed, 2738 insertions(+), 2050 deletions(-) diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index c2039a5f5b..403d52b6e3 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ From 23b133903a357066adb48bceb76aba8bd30d8c66 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 001/212] smsx95xx: fix crimes against truesize +Subject: [PATCH 001/220] 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. @@ -35,14 +35,11 @@ index 66b3ab9..b544181 usbnet_skb_return(dev, ax_skb); } --- -2.5.0 - From e7515ee9af1d150d50b55d8f8f53d735a23cb253 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 17 Apr 2015 16:58:45 +0100 -Subject: [PATCH 002/212] smsc95xx: Disable turbo mode by default +Subject: [PATCH 002/220] smsc95xx: Disable turbo mode by default --- drivers/net/usb/smsc95xx.c | 2 +- @@ -61,14 +58,11 @@ index b544181..9c0da18 100755 module_param(turbo_mode, bool, 0644); MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction"); --- -2.5.0 - From 849ff5353023c95d40040ecfd279e216074b3d1c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Jun 2014 13:42:01 +0100 -Subject: [PATCH 003/212] vmstat: Workaround for issue where dirty page count +Subject: [PATCH 003/220] vmstat: Workaround for issue where dirty page count goes negative See: @@ -94,14 +88,11 @@ index 3e5d907..2539068 100644 } static inline void __inc_zone_page_state(struct page *page, --- -2.5.0 - From d29365673ed37e7688bd3f35c4a5ad719f878190 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 004/212] BCM2835_DT: Fix I2S register map +Subject: [PATCH 004/220] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -154,14 +145,11 @@ index aef64de..864a3ef 100644 dmas = <&dma 2>, <&dma 3>; --- -2.5.0 - From c891de13b385afb3e4b2c97ac5bbea7e2d97252f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 005/212] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 005/220] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -191,14 +179,11 @@ index f687082..4cd8ebe 100644 u32 hwirq = ffs(stat) - 1; handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs); --- -2.5.0 - From 60f7ee79b375d72f5ef46ec542b925b1f1428bad 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 006/212] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 006/220] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -326,14 +311,11 @@ index bf9cc5f..3f601f9 100644 return 0; } --- -2.5.0 - From 890dccbb9c60be182adefb61b3ede805ccba1a91 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 007/212] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 007/220] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -428,14 +410,11 @@ index 3f601f9..20deb28 100644 /* Make a duplicate irq range which is used to enable FIQ */ for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { --- -2.5.0 - From 9a27662aac88f95b3de1915333a0265614f88a0d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 30 Jun 2015 14:12:42 +0100 -Subject: [PATCH 008/212] serial: 8250: Don't crash when nr_uarts is 0 +Subject: [PATCH 008/220] serial: 8250: Don't crash when nr_uarts is 0 --- drivers/tty/serial/8250/8250_core.c | 2 ++ @@ -454,14 +433,11 @@ index 3912646..b51a59c 100644 for (i = 0; i < nr_uarts; i++) { struct uart_8250_port *up = &serial8250_ports[i]; --- -2.5.0 - From 4d7ff05e4d4d8d8adb4e7b4dd5fa8f63ae2be0f6 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 009/212] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 009/220] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -482,14 +458,11 @@ index 2e6ca69..62cc363 100644 .ngpio = BCM2835_NUM_GPIOS, .can_sleep = false, }; --- -2.5.0 - From 969dc44a700e1be13c3f80445d40c1fe51cc4370 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 010/212] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 010/220] pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53 Contrary to the documentation, the BCM2835 GPIO controller actually has @@ -634,14 +607,11 @@ index 62cc363..ab345f4 100644 .of_match_table = bcm2835_pinctrl_match, }, }; --- -2.5.0 - From b949246bf51fa852bad45136cdd6bcd91a29539e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 011/212] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 011/220] pinctrl-bcm2835: Only request the interrupts listed in the DTB Although the GPIO controller can generate three interrupts (four counting @@ -667,14 +637,11 @@ index ab345f4..640e3b0 100644 pc->irq_data[i].pc = pc; pc->irq_data[i].irqgroup = i; --- -2.5.0 - From 19bcdacc5a67abe6a2d604a39ddfed5a54c77b2e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 012/212] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 012/220] 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 @@ -754,14 +721,11 @@ index cf04960..a2b1f45 100644 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", --- -2.5.0 - From 7ce5cbfba6e930c2178f342a4390972f1efd75ef 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 013/212] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 013/220] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -818,14 +782,11 @@ index 0f7b9ea..1e6f1cf 100644 } static const char * const bcm2835_compat[] = { --- -2.5.0 - From 569baa856d805e594011f2d1444b6849c291544d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 16:44:05 +0200 -Subject: [PATCH 014/212] bcm2835-i2s: get base address for DMA from devicetree +Subject: [PATCH 014/220] bcm2835-i2s: get base address for DMA from devicetree Code copied from spi-bcm2835. Get physical address from devicetree instead of using hardcoded constant. @@ -889,14 +850,11 @@ index 8c435be..0bc4f47 100644 /* Set the bus width */ dev->dma_data[SNDRV_PCM_STREAM_PLAYBACK].addr_width = --- -2.5.0 - From c61a7aef15a1aee86e1de59dca2ad7002995f9cf Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:21:16 +0200 -Subject: [PATCH 015/212] bcm2835-i2s: add 24bit support, update bclk_ratio to +Subject: [PATCH 015/220] bcm2835-i2s: add 24bit support, update bclk_ratio to more correct values Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -974,14 +932,11 @@ index 0bc4f47..cf60390 100644 | SNDRV_PCM_FMTBIT_S32_LE }, .ops = &bcm2835_i2s_dai_ops, --- -2.5.0 - From e2a75ce0e2b6319150e14401f9822adba7895c9c Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:25:51 +0200 -Subject: [PATCH 016/212] bcm2835-i2s: setup clock only if CPU is clock master +Subject: [PATCH 016/220] bcm2835-i2s: setup clock only if CPU is clock master Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -1035,14 +990,11 @@ index cf60390..4ac4e92 100644 /* Setup the frame format */ format = BCM2835_I2S_CHEN; --- -2.5.0 - From 433841fc5958e1ddbd503b579a022fb67defd74b Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:49:51 +0200 -Subject: [PATCH 017/212] bcm2835-i2s: Eliminate debugfs directory error +Subject: [PATCH 017/220] bcm2835-i2s: Eliminate debugfs directory error Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -1077,14 +1029,11 @@ index 4ac4e92..aab3df9 100644 }, }; --- -2.5.0 - From 7b4481818fe920904457496db40d59dd3d0a83bb Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:35:20 +0200 -Subject: [PATCH 018/212] bcm2835-i2s: Register PCM device +Subject: [PATCH 018/220] bcm2835-i2s: Register PCM device Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -1146,14 +1095,11 @@ index aab3df9..0e5c787 100644 if (ret) { dev_err(&pdev->dev, "Could not register PCM: %d\n", ret); return ret; --- -2.5.0 - From 027ba808e84799c97ae1c64f8424ac8eb7235cc4 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:55:21 +0200 -Subject: [PATCH 019/212] bcm2835-i2s: Enable MMAP support via a DT property +Subject: [PATCH 019/220] bcm2835-i2s: Enable MMAP support via a DT property Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -1196,14 +1142,11 @@ index 0e5c787..04c1d13 100644 /* Request both ioareas */ for (i = 0; i <= 1; i++) { void __iomem *base; --- -2.5.0 - From 8a349301238aabb40c9da5ca8c8492b6b8d146f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 9 Apr 2015 12:34:11 +0200 -Subject: [PATCH 020/212] dmaengine: bcm2835: Add slave dma support +Subject: [PATCH 020/220] dmaengine: bcm2835: Add slave dma support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1522,14 +1465,11 @@ index 996c4b0..b278c66 100644 MODULE_AUTHOR("Florian Meier "); +MODULE_AUTHOR("Gellert Weisz "); MODULE_LICENSE("GPL v2"); --- -2.5.0 - From 290f55520c62025da992d6be0002fc1e3738cfdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 15:58:59 +0200 -Subject: [PATCH 021/212] dmaengine: bcm2835: set residue_granularity field +Subject: [PATCH 021/220] dmaengine: bcm2835: set residue_granularity field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1557,14 +1497,11 @@ index b278c66..696fb30 100644 od->ddev.dev = &pdev->dev; INIT_LIST_HEAD(&od->ddev.channels); spin_lock_init(&od->lock); --- -2.5.0 - From 6f56fff39c811953809b011f59c49a2122c4d173 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 022/212] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 022/220] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1663,14 +1600,11 @@ index 696fb30..5db0a95 100644 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); --- -2.5.0 - From df03f00c5e21559185b5a61ea5e8238e10959ab1 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sat, 10 Oct 2015 12:29:18 +0200 -Subject: [PATCH 023/212] bcm2835-dma: Fix dreq not set for slave transfers +Subject: [PATCH 023/220] bcm2835-dma: Fix dreq not set for slave transfers Set dreq to slave_id if it is not set like in bcm2708-dmaengine. --- @@ -1690,14 +1624,11 @@ index 5db0a95..fe1fd60 100644 return 0; } --- -2.5.0 - From 052c2005b6ecedc5abad86632f5781adda310aa7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 12:28:30 +0200 -Subject: [PATCH 024/212] bcm2835-dma: Limit cyclic transfers on lite channels +Subject: [PATCH 024/220] bcm2835-dma: Limit cyclic transfers on lite channels to 32k Transfers larger than 32k cause repeated clicking with I2S soundcards. @@ -1733,14 +1664,11 @@ index fe1fd60..0adc347 100644 else max_size = MAX_NORMAL_TRANSFER; period_len = min(period_len, max_size); --- -2.5.0 - From a72021ae99021409319d552dad744572b20febfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 15 Aug 2015 20:50:02 +0200 -Subject: [PATCH 025/212] bcm2835: Add support for uart1 +Subject: [PATCH 025/220] bcm2835: Add support for uart1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1796,14 +1724,11 @@ index 1e6f1cf..ea36eec 100644 } static const char * const bcm2835_compat[] = { --- -2.5.0 - From 4364707caa6d3d9edf84fa8469a04f33e1ba5d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:21:20 +0200 -Subject: [PATCH 026/212] firmware: bcm2835: Add missing property tags +Subject: [PATCH 026/220] firmware: bcm2835: Add missing property tags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1864,14 +1789,11 @@ index c07d74a..525816d 100644 RPI_FIRMWARE_GET_COMMAND_LINE = 0x00050001, RPI_FIRMWARE_GET_DMA_CHANNELS = 0x00060001, --- -2.5.0 - From cd721670ab8c729d0c62e99a1d173c2575b63282 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 027/212] Main bcm2708/bcm2709 linux port +Subject: [PATCH 027/220] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -4385,14 +4307,11 @@ index 8673ffe..ad22ebb 100644 mmc_pm_flag_t pm_caps; /* supported pm features */ --- -2.5.0 - From 812484cc27980e3351360200478e7044de983f40 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 11 Nov 2015 21:01:15 +0000 -Subject: [PATCH 028/212] squash: include ARCH_BCM2708 / ARCH_BCM2709 +Subject: [PATCH 028/220] squash: include ARCH_BCM2708 / ARCH_BCM2709 --- drivers/char/hw_random/Kconfig | 2 +- @@ -4543,14 +4462,11 @@ index 6a834e1..c5070ae 100644 select SND_SOC_GENERIC_DMAENGINE_PCM select REGMAP_MMIO help --- -2.5.0 - From 7efc2851a46faa1aceda5f6ec255d0e814812ccf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 029/212] Add dwc_otg driver +Subject: [PATCH 029/220] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -65528,14 +65444,11 @@ index 0000000..cdc9963 + +test_main(); +0; --- -2.5.0 - From d3b7394edae550f295e185be4651ed43529e7042 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 030/212] bcm2708 framebuffer driver +Subject: [PATCH 030/220] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -68996,14 +68909,11 @@ index 3c14e43..7626beb 100644 +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 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 --- -2.5.0 - From 99b7c3cfd05f5898e96d7c44c5970880f2c0cd16 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 031/212] dmaengine: Add support for BCM2708 +Subject: [PATCH 031/220] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69175,7 +69085,7 @@ index 060306e..33e36b9 100644 tristate "AM33xx CPPI41 DMA support" depends on ARCH_OMAP diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile -index ef9c099..e0cf5e61 100644 +index ef9c099..e0cf5e6 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_AT_HDMAC) += at_hdmac.o @@ -69622,14 +69532,11 @@ index 0000000..99cc7fd +#endif /* CONFIG_DMA_BCM2708 */ + +#endif /* _PLAT_BCM2708_DMA_H */ --- -2.5.0 - From 65c8aadfd88010efb2d2a2821fea7aac978b6c78 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 032/212] MMC: added alternative MMC driver +Subject: [PATCH 032/220] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -71326,14 +71233,11 @@ index 0000000..43aed6e +MODULE_DESCRIPTION("BCM2835 SDHCI driver"); +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Gellert Weisz"); --- -2.5.0 - From c58bec0d84082837415562c6567396e9e5ba62f7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 033/212] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 033/220] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -71448,7 +71352,7 @@ index 6cf6457..df27ae9 100644 obj-$(CONFIG_MMC_AU1X) += au1xmmc.o diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c new file mode 100644 -index 0000000..da089985 +index 0000000..da08998 --- /dev/null +++ b/drivers/mmc/host/bcm2835-sdhost.c @@ -0,0 +1,1907 @@ @@ -73359,14 +73263,11 @@ index 0000000..da089985 +MODULE_DESCRIPTION("BCM2835 SDHost driver"); +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); --- -2.5.0 - From 36d8db53953365eecdf56695944e9f9919634de0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 034/212] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 034/220] cma: Add vc_cma driver to enable use of CMA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -74708,14 +74609,11 @@ index 0000000..be2819d +#endif + +#endif /* VC_CMA_H */ --- -2.5.0 - From 2dd634f97c4fb77d9e81be289a8da29c390a0309 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 035/212] bcm2708: alsa sound driver +Subject: [PATCH 035/220] bcm2708: alsa sound driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -74770,7 +74668,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 sound/arm/vc_vchi_audioserv_defs.h diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig -index e040621..7746e5d2 100644 +index e040621..7746e5d 100644 --- a/sound/arm/Kconfig +++ b/sound/arm/Kconfig @@ -40,5 +40,13 @@ config SND_PXA2XX_AC97 @@ -77412,14 +77310,11 @@ index 0000000..af3e6eb +} VC_AUDIO_MSG_T; + +#endif // _VC_AUDIO_DEFS_H_ --- -2.5.0 - From 112360f76c91c892f1a29825eb2807bbf86ac67d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 2 Jul 2013 23:42:01 +0100 -Subject: [PATCH 036/212] bcm2708 vchiq driver +Subject: [PATCH 036/220] bcm2708 vchiq driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -90723,14 +90618,11 @@ index 0000000..b6bfa21 +{ + return vchiq_build_time; +} --- -2.5.0 - From b0acaf43055bacef7918c835517ff6ea7da26e83 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 16:07:06 +0100 -Subject: [PATCH 037/212] vc_mem: Add vc_mem driver +Subject: [PATCH 037/220] vc_mem: Add vc_mem driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -91734,14 +91626,11 @@ index 0000000..20a4753 +#endif + +#endif /* _VC_MEM_H */ --- -2.5.0 - From 5f05accd033e4b032f64717a0276d7174f697919 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 038/212] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 038/220] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -96156,14 +96045,11 @@ index 0000000..334f36d +/* ---- Function Prototypes ---------------------------------------------- */ + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ --- -2.5.0 - From 1ee3b49a62efe1416a6b40fb5c6032288f3d2b08 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 039/212] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 039/220] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -96473,14 +96359,11 @@ index 0000000..911f5b7 +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); --- -2.5.0 - From e19c303e7d54d986e0bd3e47107a83e30329c1d0 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 040/212] Add SMI driver +Subject: [PATCH 040/220] Add SMI driver Signed-off-by: Luke Wren --- @@ -98430,14 +98313,11 @@ index 0000000..ee3a75e +#endif /* BCM2835_SMI_IMPLEMENTATION */ + +#endif /* BCM2835_SMI_H */ --- -2.5.0 - From c0fe401b61ae4d002f6fc84438ce69c5917c580a Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 041/212] Add SMI NAND driver +Subject: [PATCH 041/220] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -98802,14 +98682,11 @@ index 0000000..b747326 +MODULE_DESCRIPTION + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); --- -2.5.0 - From 0bc00c67aea43098c7b066e7b123379b260cc7de Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 042/212] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 042/220] 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 @@ -99657,14 +99534,11 @@ index 0000000..fb69624 + bcm2708_gpio_pull_t value); + +#endif --- -2.5.0 - From 007ef35b2cf5d8a0197e81e712b38fb72cebae2e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 043/212] Add cpufreq driver +Subject: [PATCH 043/220] Add cpufreq driver Signed-off-by: popcornmix --- @@ -99925,14 +99799,11 @@ index 0000000..3eb9e93 + +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); --- -2.5.0 - From 9f251fdbaaf3bd895c2901413748679d68a0c644 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 044/212] Added hwmon/thermal driver for reporting core +Subject: [PATCH 044/220] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -100129,14 +100000,11 @@ index 0000000..08d8dc7 +MODULE_AUTHOR("Noralf Trønnes"); +MODULE_DESCRIPTION("Thermal driver for bcm2835 chip"); +MODULE_LICENSE("GPL"); --- -2.5.0 - From 28a4399bf03eeb3ec5b7b56c9445b296e1427665 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 045/212] Add Chris Boot's i2c driver +Subject: [PATCH 045/220] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -100775,14 +100643,11 @@ index 0000000..85f411c +MODULE_AUTHOR("Chris Boot "); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); --- -2.5.0 - From 75804edaed6c45d813dcee866d39445130d82539 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 046/212] char: broadcom: Add vcio module +Subject: [PATCH 046/220] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101007,14 +100872,11 @@ index 0000000..c19bc20 +MODULE_AUTHOR("Noralf Trønnes"); +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); --- -2.5.0 - From 80b7c5e2cc3d633b3d3a1afbdb537e2ccfe906c7 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 047/212] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 047/220] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101030,7 +100892,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index dd506cd3..b980d53 100644 +index dd506cd..b980d53 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -28,6 +28,8 @@ struct rpi_firmware { @@ -101119,14 +100981,11 @@ index dd506cd3..b980d53 100644 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); --- -2.5.0 - From e15fddd4332bd3a762d0feef48ff2b5e3df10af0 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 048/212] bcm2835: add v4l2 camera device +Subject: [PATCH 048/220] bcm2835: add v4l2 camera device - Supports raw YUV capture, preview, JPEG and H264. - Uses videobuf2 for data transfer, using dma_buf. @@ -106406,7 +106265,7 @@ index 0000000..aa0fd18 +}; diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.c b/drivers/media/platform/bcm2835/mmal-vchiq.c new file mode 100644 -index 0000000..78132254 +index 0000000..7813225 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-vchiq.c @@ -0,0 +1,1916 @@ @@ -108510,14 +108369,11 @@ index 0000000..9d1d11e + struct mmal_buffer *buf); + +#endif /* MMAL_VCHIQ_H */ --- -2.5.0 - From 91e833ab0b220bb0bb810bb9605b0a03cd76baa8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 049/212] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 049/220] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -108981,14 +108837,11 @@ index 0000000..3998d43 + my $val = $configs->{$wanted} || 'n'; + return (($val eq 'y') || ($val eq '1')); +} --- -2.5.0 - From 918b9e451bbaebb775725a292fd3b6e3d4cf804f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 5 Dec 2014 17:26:26 +0000 -Subject: [PATCH 050/212] fdt: Add support for the CONFIG_CMDLINE_EXTEND option +Subject: [PATCH 050/220] fdt: Add support for the CONFIG_CMDLINE_EXTEND option --- drivers/of/fdt.c | 29 ++++++++++++++++++++++++----- @@ -109042,14 +108895,11 @@ index 655f79d..fdc4501 100644 #endif /* CONFIG_CMDLINE */ pr_debug("Command line is: %s\n", (char*)data); --- -2.5.0 - From d1fdaf68df66e82bea1081b490ebeea414d69203 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 051/212] BCM2708: Add core Device Tree support +Subject: [PATCH 051/220] BCM2708: Add core Device Tree support Add the bare minimum needed to boot BCM2708 from a Device Tree. @@ -113774,14 +113624,11 @@ index 0000000..66a98f6 + pullup = <&w1>,"rpi,parasitic-power:0"; + }; +}; --- -2.5.0 - From da7cdef4979282624e0e7527c3c8334a59f39676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 15 Aug 2015 20:47:07 +0200 -Subject: [PATCH 052/212] bcm2835: Match with BCM2708 Device Trees +Subject: [PATCH 052/220] bcm2835: Match with BCM2708 Device Trees MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -114298,14 +114145,11 @@ index 864a3ef..3256bff 100644 +&watchdog { + status = "okay"; +}; --- -2.5.0 - From b28366cb5b514e5c59586f9a5509d3afff5337d5 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 053/212] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 053/220] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -114397,14 +114241,11 @@ index fb795c3..fa72af0 100644 #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ #define FB_TYPE_PLANES 1 /* Non interleaved planes */ --- -2.5.0 - -From e68c4a4b1033c1d9aeb528d7d47c2b9ca038e7c2 Mon Sep 17 00:00:00 2001 +From b4596a50cab2130b5370cd2ecddf0827c014b2ca Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 054/212] Speed up console framebuffer imageblit function +Subject: [PATCH 054/220] 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 @@ -114612,14 +114453,11 @@ index a2bb276..436494f 100644 slow_imageblit(image, p, dst1, fgcolor, bgcolor, start_index, pitch_index); } else --- -2.5.0 - -From 17639169a94391cb42ca31e7237cabebf1b12422 Mon Sep 17 00:00:00 2001 +From e5141ba61decc8952b87bdc91fab78f5be7e2b33 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 055/212] Allow mac address to be set in smsc95xx +Subject: [PATCH 055/220] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -114709,14 +114547,11 @@ index 9c0da18..3244a90 100755 /* try reading mac address from EEPROM */ if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN, dev->net->dev_addr) == 0) { --- -2.5.0 - -From 5a93579be93ad956dae57d474401333ae97590ea Mon Sep 17 00:00:00 2001 +From 53408f20f48db00c8d71311ed885f91e2ba41b3f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 056/212] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 056/220] 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 @@ -114965,14 +114800,11 @@ index d58594a..feae942 100644 void (*enable_external_pullup)(int enable); unsigned int ext_pullup_enable_pin; unsigned int pullup_duration; --- -2.5.0 - -From daf3cfd1062a6fc173f4dc2475f1c07b52cd6cae Mon Sep 17 00:00:00 2001 +From 85c41b7e97631944a2e224c3b3d966f8bc240575 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 057/212] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 057/220] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -115020,14 +114852,11 @@ index fb1ecfd..888d308 100644 /** * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest --- -2.5.0 - -From b7437ee59d30a334efa61158f1a579307b2bf72d Mon Sep 17 00:00:00 2001 +From c5c0ae52947ae5062cf1c75174c57a466408247e Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:59:51 +0100 -Subject: [PATCH 058/212] ASoC: Add support for PCM5102A codec +Subject: [PATCH 058/220] ASoC: Add support for PCM5102A codec Some definitions to support the PCM5102A codec by Texas Instruments. @@ -115159,14 +114988,11 @@ index 0000000..7c6598e +MODULE_DESCRIPTION("ASoC PCM5102A codec driver"); +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From d4500551e35ce29d539316941347f78d5bbb4e9a Mon Sep 17 00:00:00 2001 +From a84f726a98074d1a59f3c7b7e78de23f02eac00f Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 059/212] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 059/220] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -115335,14 +115161,11 @@ index 0000000..3ab0f47 +MODULE_AUTHOR("Florian Meier "); +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From f34036f9682e66adfb024a2e2a4c411c9abc85c3 Mon Sep 17 00:00:00 2001 +From 2dcfef900197d433421c0bda384725ad4a9d6ef6 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:21:34 +0100 -Subject: [PATCH 060/212] ASoC: Add support for Rpi-DAC +Subject: [PATCH 060/220] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -115628,14 +115451,11 @@ index 0000000..afe1b41 +MODULE_DESCRIPTION("ASoC PCM1794A codec driver"); +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From 1ddb922071cbe8a3f747a4971538d983a1b1715a Mon Sep 17 00:00:00 2001 +From 597b34d19fe280ccf307bf4aaa299f400a45b1eb Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 061/212] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 061/220] 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 @@ -115674,14 +115494,11 @@ index 8d91470..5795fb1 100644 #define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \ --- -2.5.0 - -From d131f2daebd4eb4ece7b6db2e3f3a1180b94c2c2 Mon Sep 17 00:00:00 2001 +From 4834b496fe213ad958d035eb917af3e3a00a43ad Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 062/212] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 062/220] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -115967,14 +115784,11 @@ index 0000000..80732b8 +MODULE_AUTHOR("Daniel Matuschek "); +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From b0f5c51bb26e93f672217fcd472da7f2b2c88e6b Mon Sep 17 00:00:00 2001 +From 6f5d23ea45251f2fa5ec014befd31f43cc869f4c Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:36:35 +0100 -Subject: [PATCH 063/212] ASoC: wm8804: Set idle_bias_off to false Idle bias +Subject: [PATCH 063/220] ASoC: wm8804: Set idle_bias_off to false Idle bias has been change to remove warning on driver startup Signed-off-by: Daniel Matuschek @@ -115995,14 +115809,11 @@ index 5795fb1..c846716 100644 .dapm_widgets = wm8804_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(wm8804_dapm_widgets), --- -2.5.0 - -From 152ebb776340c3073c0a32106167a7fe467d3456 Mon Sep 17 00:00:00 2001 +From c320e752d4a779b44f257b4784ca8665c66ea2f2 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 064/212] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 064/220] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -116184,14 +115995,11 @@ index 0000000..37038d4 +MODULE_AUTHOR("Florian Meier "); +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From c37587c1c15e2f2f8bad810115c0e32cc0d4093f Mon Sep 17 00:00:00 2001 +From 43b360019a8d5c10c560102a4e0e84cca2489f83 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 065/212] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 065/220] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -116226,14 +116034,11 @@ index 5dd426f..9ae0cd5 100644 ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { --- -2.5.0 - -From f893beacf8b0975e20d0099d3a443ab5fb483db6 Mon Sep 17 00:00:00 2001 +From 655fec62e4702ba6ef037aa285275cca6b95fab9 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 066/212] Added support for HiFiBerry DAC+ +Subject: [PATCH 066/220] 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. @@ -116427,14 +116232,11 @@ index 0000000..11e4f39 +MODULE_AUTHOR("Daniel Matuschek "); +MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From b4d78cb8345c9d0ed833a765f3c90a2c4b83ba82 Mon Sep 17 00:00:00 2001 +From b19ad321a57b85b83b4bf4380ced71885f36e6b2 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 067/212] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 067/220] 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. @@ -117264,14 +117066,11 @@ index 0000000..8f019e0 + + +#endif /* _TAS5713_H */ --- -2.5.0 - -From 4ac6bff6336e2a6c482919e8dc39de114e9651cd Mon Sep 17 00:00:00 2001 +From 194e0f05820a1b92eec669902d26999001480e85 Mon Sep 17 00:00:00 2001 From: Ryan Coe Date: Sat, 31 Jan 2015 18:25:49 -0700 -Subject: [PATCH 068/212] Update ds1307 driver for device-tree support +Subject: [PATCH 068/220] Update ds1307 driver for device-tree support Signed-off-by: Ryan Coe --- @@ -117279,7 +117078,7 @@ Signed-off-by: Ryan Coe 1 file changed, 8 insertions(+) diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c -index aa705bb..1cb13fee 100644 +index aa705bb..1cb13fe 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -1207,6 +1207,14 @@ static int ds1307_remove(struct i2c_client *client) @@ -117297,14 +117096,11 @@ index aa705bb..1cb13fee 100644 static struct i2c_driver ds1307_driver = { .driver = { .name = "rtc-ds1307", --- -2.5.0 - -From f341ac7091d56c69c1b7cc0d3cffed6f8091f8d8 Mon Sep 17 00:00:00 2001 +From e0f8460b71d3130d5d21452049ffdcb8bbb15be0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 069/212] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 069/220] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -117482,14 +117278,11 @@ index fa359c7..4b25a1a 100644 /* Set LED brightness level */ /* Must not sleep, use a workqueue if needed */ --- -2.5.0 - -From af6a88df92cf2a08abc429822f8c9309ecdb26a1 Mon Sep 17 00:00:00 2001 +From 7560266f8cc30e6cb31db57c9092773287447cc0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 27 Feb 2015 15:10:24 +0000 -Subject: [PATCH 070/212] enc28j60: Add device tree compatible string and an +Subject: [PATCH 070/220] enc28j60: Add device tree compatible string and an overlay --- @@ -117517,14 +117310,11 @@ index 86ea17e..a1b20c1 100644 }, .probe = enc28j60_probe, .remove = enc28j60_remove, --- -2.5.0 - -From 32f267566e1a67e6170cb37a59a907e5b167600a Mon Sep 17 00:00:00 2001 +From 3bda1a355570493dbdec3f0ffb97128c9aaf2c08 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 071/212] Add driver for rpi-proto +Subject: [PATCH 071/220] 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 @@ -117738,14 +117528,11 @@ index 0000000..c6e45a0 +MODULE_AUTHOR("Florian Meier"); +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); --- -2.5.0 - -From cd9d2d406b40d4f03e7060e4795a64a31d14d41b Mon Sep 17 00:00:00 2001 +From e8f36f5d9e4728580868ba048a8c842ba7a5187d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 072/212] config: Add default configs +Subject: [PATCH 072/220] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1254 +++++++++++++++++++++++++++++++++++ @@ -120285,14 +120072,11 @@ index 0000000..1d1b799 +CONFIG_CRYPTO_AES_ARM=m +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y --- -2.5.0 - -From 9a8719a7ae9fa9145e24bdaee98da18798088ce8 Mon Sep 17 00:00:00 2001 +From 4f6ecced6a6f13da5e91319f10f79131fbe00385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 29 Apr 2015 17:24:02 +0200 -Subject: [PATCH 073/212] bcm2835: bcm2835_defconfig +Subject: [PATCH 073/220] bcm2835: bcm2835_defconfig MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -121717,14 +121501,11 @@ index 31cb073..fdb2e2a 100644 +CONFIG_LIBCRC32C=y # CONFIG_XZ_DEC_ARM is not set # CONFIG_XZ_DEC_ARMTHUMB is not set --- -2.5.0 - -From e84f83b441f7900f2a968ef2e72c644d76084c9a Mon Sep 17 00:00:00 2001 +From 720dc241d47fd83550602fa897e3a723153a4b9b Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 074/212] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 074/220] 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 @@ -122018,14 +121799,11 @@ index 0000000..b27dbee +MODULE_AUTHOR("Gordon Hollingworth"); +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); --- -2.5.0 - -From 3e7f9b8176516fb739849da22fc9f6ac3fd32678 Mon Sep 17 00:00:00 2001 +From a86f1cf0661f306457bd8b8a53647abce2d3490f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Oct 2014 11:47:53 +0100 -Subject: [PATCH 075/212] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 075/220] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -123563,14 +123341,11 @@ index 588bbc2..c29df92 100644 static unsigned long noinline __clear_user_memset(void __user *addr, unsigned long n) --- -2.5.0 - -From 5364f52d5d68ee0f2c8effff82a49cd0fd050e80 Mon Sep 17 00:00:00 2001 +From 0a5bb180e28f3f7a5fcbdda7f00825f1a5b3912a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 076/212] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 076/220] 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 @@ -123604,14 +123379,11 @@ index be3d81f..a030ae9 100644 dev_err(&pdev->dev, "%s: pm_power_off function already registered", __func__); --- -2.5.0 - -From 463afd111279575433b3af7bdbe99470bba74dac Mon Sep 17 00:00:00 2001 +From 93b0d9103ea1679f844514d91419861673e626a6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 077/212] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 077/220] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -123631,14 +123403,11 @@ index d0e7dfc..57b0760 100644 {}, }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); --- -2.5.0 - -From dbf49b74de1fdfb29ebd736bbc7234aed612e765 Mon Sep 17 00:00:00 2001 +From 9097d8fb3892fc3e1201383f0195c650b00aa9aa Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 17:00:18 +0100 -Subject: [PATCH 078/212] scripts/dtc: Add overlay support +Subject: [PATCH 078/220] scripts/dtc: Add overlay support --- scripts/dtc/checks.c | 119 ++- @@ -123654,7 +123423,7 @@ Subject: [PATCH 078/212] scripts/dtc: Add overlay support 10 files changed, 1685 insertions(+), 1145 deletions(-) diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c -index e81a8c74..efd1bc6 100644 +index e81a8c7..efd1bc6 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -458,21 +458,91 @@ static void fixup_phandle_references(struct check *c, struct node *dt, @@ -128042,14 +127811,11 @@ index 5b8c7d5..86b7338 100644 @@ -1 +1 @@ -#define DTC_VERSION "DTC 1.4.1-g9d3649bd" +#define DTC_VERSION "DTC 1.4.1-g9d3649bd-dirty" --- -2.5.0 - -From 5f01f9a24681e7695fb2102af1d342fde0b97c2a Mon Sep 17 00:00:00 2001 +From 6ce5de5b5c39618afcb44a67b5c124c7f7e184ff Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 079/212] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 079/220] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -128914,14 +128680,11 @@ index 0000000..56196dc + + +#endif --- -2.5.0 - -From 77199aeb92c0c5ce60a151d59793b225864a0ce0 Mon Sep 17 00:00:00 2001 +From f4ffbbe422e65f54f81f727eb03077e0e60abbc0 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 080/212] RaspiDAC3 support +Subject: [PATCH 080/220] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -129168,14 +128931,11 @@ index 0000000..3cabf5b +MODULE_AUTHOR("Jan Grulich "); +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From cc2397b92c6c93e59cc331ce393bd176180924e0 Mon Sep 17 00:00:00 2001 +From 160bb52c33e5e9d3873725007920a5ab034df633 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:02:34 +0100 -Subject: [PATCH 081/212] tpa6130a2: Add headphone switch control +Subject: [PATCH 081/220] tpa6130a2: Add headphone switch control Signed-off-by: Jan Grulich --- @@ -129265,14 +129025,11 @@ index 11d85c5..3caaa17 100644 }; /* --- -2.5.0 - -From 46913983d3c4cb9bea875cd370b860fb256ebfa5 Mon Sep 17 00:00:00 2001 +From 959618842cac2f89aca253058941864fc09453de Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Sep 2015 23:38:59 +0100 -Subject: [PATCH 082/212] irq-bcm2835: Fix building with 2708 +Subject: [PATCH 082/220] irq-bcm2835: Fix building with 2708 --- drivers/irqchip/irq-bcm2835.c | 3 ++- @@ -129299,14 +129056,11 @@ index 20deb28..c02bf8a 100644 } } init_FIQ(FIQ_START); --- -2.5.0 - -From 65ad56a247b8f7dccad07dab71035fddf6395a7c Mon Sep 17 00:00:00 2001 +From eab058f164321b98332847fd7e33ce76a416b953 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 083/212] rpi_display: add backlight driver and overlay +Subject: [PATCH 083/220] 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 @@ -129573,14 +129327,11 @@ index 525816d..b011489 100644 RPI_FIRMWARE_VCHIQ_INIT = 0x00048010, --- -2.5.0 - -From cba1e5bd58f1906f211403a627927e0b264d9c77 Mon Sep 17 00:00:00 2001 +From 265b00fd10fd38d5fc40057f0dc9a27f9e643f13 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 16 Nov 2015 14:05:35 +0000 -Subject: [PATCH 084/212] bcm2835-dma: Fix up convert to DMA pool +Subject: [PATCH 084/220] bcm2835-dma: Fix up convert to DMA pool --- drivers/dma/bcm2835-dma.c | 36 ++++++++++++++++++++++++++---------- @@ -129664,14 +129415,11 @@ index 0adc347..985019b 100644 } else { /* Next block is empty. */ control_block->next = 0; --- -2.5.0 - -From 543f475d54bec825bbc0a385ce353fdaae9ccd57 Mon Sep 17 00:00:00 2001 +From 4b0129fc722f7157ef9a0bd717f796b33582f009 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Nov 2015 11:38:59 +0000 -Subject: [PATCH 085/212] scripts: Multi-platform support for mkknlimg and +Subject: [PATCH 085/220] scripts: Multi-platform support for mkknlimg and knlinfo The firmware uses tags in the kernel trailer to choose which dtb file @@ -129919,14 +129667,11 @@ index 3998d43..005f404 100755 - my $val = $configs->{$wanted} || 'n'; - return (($val eq 'y') || ($val eq '1')); -} --- -2.5.0 - -From 056cc2def7c928c6a98851b1b77cb2dae362d56a Mon Sep 17 00:00:00 2001 +From a015d1fdd7a5313ba90af71ff370fe0b7625ef1c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 2 Mar 2015 13:01:12 -0800 -Subject: [PATCH 086/212] drm/vc4: Add suport for 3D rendering using the V3D +Subject: [PATCH 086/220] drm/vc4: Add suport for 3D rendering using the V3D engine. This is a squash of the out-of-tree development series. Since that @@ -130618,7 +130363,7 @@ index 265064c..3be2720 100644 .cursor_set = NULL, /* handled by drm_mode_cursor_universal */ .cursor_move = NULL, /* handled by drm_mode_cursor_universal */ diff --git a/drivers/gpu/drm/vc4/vc4_debugfs.c b/drivers/gpu/drm/vc4/vc4_debugfs.c -index 4297b0a5..d76ad10 100644 +index 4297b0a..d76ad10 100644 --- a/drivers/gpu/drm/vc4/vc4_debugfs.c +++ b/drivers/gpu/drm/vc4/vc4_debugfs.c @@ -16,11 +16,14 @@ @@ -135530,14 +135275,11 @@ index 0000000..499daae +}; + +#endif /* _UAPI_VC4_DRM_H_ */ --- -2.5.0 - -From 2a813115480d8c0f081c8c6c0e549109cc0075dc Mon Sep 17 00:00:00 2001 +From 2a2d56e55de5ced7d01cb4db7a80bdcdccd3f2c4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Oct 2015 11:32:14 -0700 -Subject: [PATCH 087/212] drm/vc4: Force HDMI to connected. +Subject: [PATCH 087/220] drm/vc4: Force HDMI to connected. For some reason on the downstream tree, the HPD GPIO isn't working. @@ -135559,14 +135301,11 @@ index da9a36d..d15c529 100644 if (vc4->hdmi->hpd_gpio) { if (gpio_get_value(vc4->hdmi->hpd_gpio)) return connector_status_connected; --- -2.5.0 - -From cf791fbae0d308fb1f2186d18397790114a1e649 Mon Sep 17 00:00:00 2001 +From ca205a3bef8b9c080363a12148a3e6f013081b8a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Oct 2015 08:23:18 -0700 -Subject: [PATCH 088/212] drm/vc4: bo cache locking fixes. +Subject: [PATCH 088/220] drm/vc4: bo cache locking fixes. Signed-off-by: Eric Anholt --- @@ -135714,14 +135453,11 @@ index 8cc89d1..c079b82 100644 /* Sequence number for the last job queued in job_list. * Starts at 0 (no jobs emitted). --- -2.5.0 - -From db80c3ad79b1ac13b5f3a7f42ab2156fb555b11e Mon Sep 17 00:00:00 2001 +From e8481325c7efc10d87d62cafc3b0c4495cef1dd5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Oct 2015 08:29:41 -0700 -Subject: [PATCH 089/212] drm/vc4: bo cache locking cleanup. +Subject: [PATCH 089/220] drm/vc4: bo cache locking cleanup. Signed-off-by: Eric Anholt --- @@ -135812,14 +135548,11 @@ index af0fde6..acd360c 100644 } static void vc4_bo_cache_time_timer(unsigned long data) --- -2.5.0 - -From 89ebd35d75433420fe36f43bb509fcaf45c8d646 Mon Sep 17 00:00:00 2001 +From f8c7534d294a7b6ca6c91075d9b0b09b6e980a6c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Oct 2015 08:32:24 -0700 -Subject: [PATCH 090/212] drm/vc4: Use job_lock to protect seqno_cb_list. +Subject: [PATCH 090/220] drm/vc4: Use job_lock to protect seqno_cb_list. We're (mostly) not supposed to be using struct_mutex in drivers these days. @@ -135872,14 +135605,11 @@ index 361390b..b1853b2 100644 return ret; } --- -2.5.0 - -From 36c69d93940d99aba7de5f185c546f6a52da1e8d Mon Sep 17 00:00:00 2001 +From d49c98713ffe0b1a3d8b8007b8257022f7d6323b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Oct 2015 08:44:35 -0700 -Subject: [PATCH 091/212] drm/vc4: Drop struct_mutex around CL validation. +Subject: [PATCH 091/220] drm/vc4: Drop struct_mutex around CL validation. We were using it so that we could make sure that shader validation state didn't change while we were validating, but now shader @@ -135941,14 +135671,11 @@ index b1853b2..32f375a 100644 return ret; } --- -2.5.0 - -From 9f70809d45f431a273e1c51f33d9e058de218e10 Mon Sep 17 00:00:00 2001 +From 682d611be0b0f07eae31a1eb4815d94adccd7d9c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Oct 2015 08:44:35 -0700 -Subject: [PATCH 092/212] drm/vc4: Drop struct_mutex around CL validation. +Subject: [PATCH 092/220] drm/vc4: Drop struct_mutex around CL validation. We were using it so that we could make sure that shader validation state didn't change while we were validating, but now shader @@ -136021,14 +135748,11 @@ index 32f375a..55551ea 100644 return ret; } --- -2.5.0 - -From fed19f5e27f3cf921df7d769dab2149a14eef879 Mon Sep 17 00:00:00 2001 +From cbe583e0c4f78ec7ee058b3fed31cc312e08fdb1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 20 Oct 2015 13:59:15 +0100 -Subject: [PATCH 093/212] drm/vc4: Add support for more display plane formats. +Subject: [PATCH 093/220] drm/vc4: Add support for more display plane formats. Signed-off-by: Eric Anholt --- @@ -136062,14 +135786,11 @@ index 65e5455..0f85eb5 100644 }; static const struct hvs_format *vc4_get_hvs_format(u32 drm_format) --- -2.5.0 - -From 36ffe6c581f978a23a52303240104d8271841396 Mon Sep 17 00:00:00 2001 +From 06bd9769b3230b383894c73906efb804861823e9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 23 Oct 2015 12:31:56 +0100 -Subject: [PATCH 094/212] drm/vc4: No need to stop the stopped threads. +Subject: [PATCH 094/220] drm/vc4: No need to stop the stopped threads. This was leftover debug code from the hackdriver. We never submit unless the thread is already idle. @@ -136094,14 +135815,11 @@ index 55551ea..eeb0925 100644 V3D_WRITE(V3D_CTNCA(thread), start); barrier(); --- -2.5.0 - -From 34edb58810f0250eb4ef20c63a3c54d2e10aaf5a Mon Sep 17 00:00:00 2001 +From b13e80df9779eb71b316db4bd63e9cc4dbbe1221 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 23 Oct 2015 12:33:43 +0100 -Subject: [PATCH 095/212] drm/vc4: Remove extra barrier()s aroudn CTnCA/CTnEA +Subject: [PATCH 095/220] drm/vc4: Remove extra barrier()s aroudn CTnCA/CTnEA setup. The writel() that these expand to already does barriers. @@ -136133,14 +135851,11 @@ index eeb0925..0cea723 100644 } int --- -2.5.0 - -From ffa05b4688ba9471d4f1825047428e73f3226abd Mon Sep 17 00:00:00 2001 +From 54aab1fc2b80dbb3a1d26bda40bf0072c8b6e9b3 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 23 Oct 2015 14:57:22 +0100 -Subject: [PATCH 096/212] drm/vc4: Fix a typo in a V3D debug register. +Subject: [PATCH 096/220] drm/vc4: Fix a typo in a V3D debug register. Signed-off-by: Eric Anholt --- @@ -136174,14 +135889,11 @@ index b9cb7cf..cf35f58 100644 REGDEF(V3D_FDBGO), REGDEF(V3D_FDBGB), REGDEF(V3D_FDBGR), --- -2.5.0 - -From 0d927d46afb62aa0e68627362dae3d9e1849b214 Mon Sep 17 00:00:00 2001 +From e24ed8459d7ceb69f4b2bb1b110316fd66d70156 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 2 Nov 2015 17:07:33 +0000 -Subject: [PATCH 097/212] drm/vc4: Enable VC4 modules, and increase CMA size +Subject: [PATCH 097/220] drm/vc4: Enable VC4 modules, and increase CMA size with overlay If using the overlay, be careful not to boot to GUI or run startx, @@ -136340,14 +136052,11 @@ index 146add9..d6aa058 100644 CONFIG_FB=y CONFIG_FB_BCM2708=y CONFIG_FB_UDL=m --- -2.5.0 - -From 63af9035dbaaceed5f1d63107bc7f7b31d425c6d Mon Sep 17 00:00:00 2001 +From a1f76174a22bad4e7dab94718e30df2458b7e59a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Nov 2015 18:29:58 +0000 -Subject: [PATCH 098/212] squash: fixups +Subject: [PATCH 098/220] squash: fixups --- drivers/gpu/drm/vc4/Kconfig | 2 +- @@ -136393,14 +136102,11 @@ index c83287a..2082713 100644 drm_atomic_helper_commit_modeset_enables(dev, state); --- -2.5.0 - -From 011e5c58f30ad2f3510f88a65da2356a93f09818 Mon Sep 17 00:00:00 2001 +From c302ddb4c02a7f7459d0ce5d9abdfb01c322d82e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Nov 2015 20:26:03 +0000 -Subject: [PATCH 099/212] squash: add missing vc4-kms-v3d-overlay.dtb to +Subject: [PATCH 099/220] squash: add missing vc4-kms-v3d-overlay.dtb to makefile --- @@ -136419,14 +136125,11 @@ index fb7ac49..fc09bfb 100644 dtb-$(RPI_DT_OVERLAYS) += vga666-overlay.dtb dtb-$(RPI_DT_OVERLAYS) += w1-gpio-overlay.dtb dtb-$(RPI_DT_OVERLAYS) += w1-gpio-pullup-overlay.dtb --- -2.5.0 - -From da11a97037709e598c7a8b769290a2b5ef5b45d9 Mon Sep 17 00:00:00 2001 +From dd4882f9fbce68acd27f04792805473ae2bfb417 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 12 Oct 2015 11:23:34 -0700 -Subject: [PATCH 100/212] clk: bcm2835: Also build the driver for downstream +Subject: [PATCH 100/220] clk: bcm2835: Also build the driver for downstream kernels. Signed-off-by: Eric Anholt @@ -136447,14 +136150,11 @@ index 3fc9506..a1b4cbc 100644 obj-$(CONFIG_COMMON_CLK_IPROC) += clk-ns2.o obj-$(CONFIG_ARCH_BCM_CYGNUS) += clk-cygnus.o obj-$(CONFIG_ARCH_BCM_NSP) += clk-nsp.o --- -2.5.0 - -From 7414a68fb326de9e255ad834337181a49a0b1451 Mon Sep 17 00:00:00 2001 +From 5462b88624200a29baca5adaef048d3dbc4626e7 Mon Sep 17 00:00:00 2001 From: Holger Steinhaus Date: Sat, 14 Nov 2015 18:37:43 +0100 -Subject: [PATCH 101/212] dts: Added overlay for gpio_ir_recv driver +Subject: [PATCH 101/220] dts: Added overlay for gpio_ir_recv driver --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -136562,14 +136262,11 @@ index 0000000..a2d6bc7 + rc-map-name = <&gpio_ir>,"linux,rc-map-name"; // default rc map + }; +}; --- -2.5.0 - -From 7ee4b08baeeed3173d07236ffaa28028fc9f2f28 Mon Sep 17 00:00:00 2001 +From 83785d0e067305676bcf0f7f80ca87022263937b Mon Sep 17 00:00:00 2001 From: Alistair Buxton Date: Sun, 1 Nov 2015 22:27:56 +0000 -Subject: [PATCH 102/212] Build i2c_gpio module and add a device tree overlay +Subject: [PATCH 102/220] Build i2c_gpio module and add a device tree overlay to configure it. --- @@ -136677,14 +136374,11 @@ index d6aa058..51dc019 100644 CONFIG_SPI=y CONFIG_SPI_BCM2835=m CONFIG_SPI_SPIDEV=y --- -2.5.0 - -From 7ab460fb0d3ed6b0c396a50cf4f02e38c0c47a89 Mon Sep 17 00:00:00 2001 +From 1c711a92bac72da22ac8ea9623991ebc4ba9f990 Mon Sep 17 00:00:00 2001 From: mwilliams03 Date: Sun, 18 Oct 2015 17:07:24 -0700 -Subject: [PATCH 103/212] New overlay for PiScreen2r +Subject: [PATCH 103/220] New overlay for PiScreen2r --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -136836,14 +136530,11 @@ index 0000000..7c018e0 + }; +}; + --- -2.5.0 - -From 34aa337eb59b8aefb9d02080f2e9cbdf497652c1 Mon Sep 17 00:00:00 2001 +From 846de308457febf0a988a7d1fcb416103771810c Mon Sep 17 00:00:00 2001 From: Ondrej Wisniewski Date: Fri, 6 Nov 2015 15:01:28 +0100 -Subject: [PATCH 104/212] dts: Added overlay for Adafruit PiTFT 2.8" capacitive +Subject: [PATCH 104/220] dts: Added overlay for Adafruit PiTFT 2.8" capacitive touch screen --- @@ -136992,14 +136683,11 @@ index 0000000..48920e9 + touch-swapxy = <&ft6236>,"touchscreen-swapped-x-y?"; + }; +}; --- -2.5.0 - -From 5c184dc77f6902787f498878c9675fd968ecc09e Mon Sep 17 00:00:00 2001 +From cd601889aedcb4d49590fc91d5c2988cad2e6d85 Mon Sep 17 00:00:00 2001 From: Stuart MacLean Date: Fri, 2 Oct 2015 15:12:59 +0100 -Subject: [PATCH 105/212] Add support for the HiFiBerry DAC+ Pro. +Subject: [PATCH 105/220] Add support for the HiFiBerry DAC+ Pro. The HiFiBerry DAC+ and DAC+ Pro products both use the existing bcm sound driver with the DAC+ Pro having a special clock device driver representing the two high precision oscillators. @@ -137060,7 +136748,7 @@ index deb9c62..f923a48 100644 }; }; diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index 820714c..94ccf038 100644 +index 820714c..94ccf03 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -24,6 +24,7 @@ obj-$(CONFIG_COMMON_CLK_CDCE706) += clk-cdce706.o @@ -137546,14 +137234,11 @@ index 047c489..090fe0e 100644 if (lrclk_div == 0) { dev_err(dev, "No LRCLK?\n"); return -EINVAL; --- -2.5.0 - -From 0c2baf70040e2b5584ada2b0ba2a3604f16e3fdd Mon Sep 17 00:00:00 2001 +From 7a6f317933c0a1319bbf955fd705cc0fa33364a5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 5 Oct 2015 10:47:45 +0100 -Subject: [PATCH 106/212] BCM270X_DT: Add at86rf233 overlay +Subject: [PATCH 106/220] BCM270X_DT: Add at86rf233 overlay Add an overlay to support the Atmel AT86RF233 WPAN transceiver on spi0.0. @@ -137687,14 +137372,11 @@ index 0000000..0460269 + trim = <&lowpan0>, "xtal-trim.0"; + }; +}; --- -2.5.0 - -From f47e2fc8f4302c4ee94b128b219001e9ae911948 Mon Sep 17 00:00:00 2001 +From e8bb4b5844abce1cdb3911c6904931687b401e6d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 107/212] mm: Remove the PFN busy warning +Subject: [PATCH 107/220] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -137718,14 +137400,11 @@ index 9d666df..b682acc 100644 ret = -EBUSY; goto done; } --- -2.5.0 - -From 9c0106493da20fe3181733ac0fe6d2d5a1fdd920 Mon Sep 17 00:00:00 2001 +From f856eef0133f2109a85b25cf6129479578c3bde2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 19 Nov 2014 12:06:38 -0800 -Subject: [PATCH 108/212] drm: Put an optional field in the driver struct for +Subject: [PATCH 108/220] drm: Put an optional field in the driver struct for GEM obj struct size. This allows a driver to derive from the CMA object without copying all @@ -137766,14 +137445,11 @@ index 0a271ca..54f5469 100644 const struct drm_ioctl_desc *ioctls; int num_ioctls; const struct file_operations *fops; --- -2.5.0 - -From 65a65dd777707a226c59a3492663154c28e756f1 Mon Sep 17 00:00:00 2001 +From 95aeeb5d4186e0727d7d6b50bc614fdf470e55bd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 30 Oct 2015 10:09:02 -0700 -Subject: [PATCH 109/212] drm/vc4: Add an interface for capturing the GPU state +Subject: [PATCH 109/220] drm/vc4: Add an interface for capturing the GPU state after a hang. This can be parsed with vc4-gpu-tools tools for trying to figure out @@ -138113,14 +137789,11 @@ index 499daae..4a8d19f 100644 +}; + #endif /* _UAPI_VC4_DRM_H_ */ --- -2.5.0 - -From f775356d50749c9d9aa85715f73947622bb3b87d Mon Sep 17 00:00:00 2001 +From 7278374ce28d2cd82d233e8aec4c9068c36ce82f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 4 Dec 2015 11:35:34 -0800 -Subject: [PATCH 110/212] drm/vc4: Update a bunch of code to match upstream +Subject: [PATCH 110/220] drm/vc4: Update a bunch of code to match upstream submission. This gets almost everything matching, except for the MSAA support and @@ -140039,14 +139712,11 @@ index 54f5469..987c25a 100644 const struct drm_ioctl_desc *ioctls; int num_ioctls; const struct file_operations *fops; --- -2.5.0 - -From 4124ae18d51739d55e3074c8cdaa683f88bb57d7 Mon Sep 17 00:00:00 2001 +From ca8ee4d96868132b2a5aa571dd682c498af9df99 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 11 Dec 2015 19:45:03 -0800 -Subject: [PATCH 111/212] drm: Use the driver's gem_object_free function from +Subject: [PATCH 111/220] drm: Use the driver's gem_object_free function from CMA helpers. VC4 wraps the CMA objects in its own structures, so it needs to do its @@ -140106,14 +139776,11 @@ index 0f7b00b..e5df53b 100644 return ERR_PTR(ret); } --- -2.5.0 - -From 558f0e9dd21472a7aa6c58905fd22bd5004c6bdc Mon Sep 17 00:00:00 2001 +From 7a514565486b690808d3b7cef20a59cd61c5936e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 17 Jul 2015 13:15:50 -0700 -Subject: [PATCH 112/212] drm/vc4: Add support for MSAA rendering. +Subject: [PATCH 112/220] drm/vc4: Add support for MSAA rendering. For MSAA, you set a bit in the binner that halves the size of tiles in each direction, so you can pack 4 samples per pixel in the tile @@ -140636,14 +140303,11 @@ index 4a8d19f..49cd992 100644 uint32_t clear_color[2]; uint32_t clear_z; uint8_t clear_s; --- -2.5.0 - -From 45a2f6d868c6e3240a7e3fffc033c67ba80caa7d Mon Sep 17 00:00:00 2001 +From 495d61b459efb475fe3b4b8dd170cece45943a3d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 8 Dec 2015 14:00:43 -0800 -Subject: [PATCH 113/212] drm/vc4: A few more non-functional changes to sync to +Subject: [PATCH 113/220] drm/vc4: A few more non-functional changes to sync to upstream. At this point all that's left is the force-enable of HDMI connector, @@ -140986,14 +140650,11 @@ index 49cd992..eeb37e3 100644 }; #endif /* _UAPI_VC4_DRM_H_ */ --- -2.5.0 - -From 90a59a430589d9e6cd6f81e670bb59281e6e5607 Mon Sep 17 00:00:00 2001 +From 6062beb756ae5a95f1dd224977839f0e039fd8a6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 15 Dec 2015 23:46:32 +0000 -Subject: [PATCH 114/212] drm/vc4: Use "hpd-gpios" for HDMI GPIO, like what +Subject: [PATCH 114/220] drm/vc4: Use "hpd-gpios" for HDMI GPIO, like what landed upstream. Signed-off-by: Eric Anholt @@ -141014,14 +140675,11 @@ index cf5d5c9..da37483 100644 clocks = <&cprman BCM2835_PLLH_PIX>, <&cprman BCM2835_CLOCK_HSM>; clock-names = "pixel", "hdmi"; --- -2.5.0 - -From a2c8c4439951f905abeea055cddf6f3077f96035 Mon Sep 17 00:00:00 2001 +From faba9403c11d146bed41008f4d499f8a7bc976af Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 7 Dec 2015 12:35:01 -0800 -Subject: [PATCH 115/212] drm/vc4: Synchronize validation code for v2 +Subject: [PATCH 115/220] drm/vc4: Synchronize validation code for v2 submission upstream. Signed-off-by: Eric Anholt @@ -141637,14 +141295,11 @@ index 2f22f19..0fb5b99 100644 if (ret) return ret; } --- -2.5.0 - -From afb5127383dd765c242485c0c37f0c21527dbfaf Mon Sep 17 00:00:00 2001 +From ea387e5f3e007f44c7ad197b3459238b673e01be Mon Sep 17 00:00:00 2001 From: janluca Date: Sun, 27 Dec 2015 14:34:04 +0100 -Subject: [PATCH 116/212] MMC: Do not use mmc_debug if CONFIG_MMC_BCM2835 is +Subject: [PATCH 116/220] MMC: Do not use mmc_debug if CONFIG_MMC_BCM2835 is not set If CONFIG_MMC_BCM2835 was not set the compiling of the kernel failed @@ -141680,14 +141335,11 @@ index 87ae2e9..b79fe14 100644 +#endif } EXPORT_SYMBOL(mmc_fixup_device); --- -2.5.0 - -From c5107c1a576bb26003c4369d95d7ef60249a60cf Mon Sep 17 00:00:00 2001 +From dd859db6e150624692719e6b3eb94af686350414 Mon Sep 17 00:00:00 2001 From: Devon Fyson Date: Wed, 30 Dec 2015 16:40:47 -0500 -Subject: [PATCH 117/212] Extend clock timeout, fix modprobe baudrate +Subject: [PATCH 117/220] Extend clock timeout, fix modprobe baudrate parameter. Set the BSC_CLKT clock streching timeout to 35ms as per SMBus specs.\n- Increase priority of baudrate parameter passed to modprobe (in /etc/modprobe.d/*.conf or command line). Currently custom baudrates don't work because they are overridden by clock-frequency in the platform_device passed to the function. @@ -141794,14 +141446,11 @@ index 85f411c..b152639 100644 dev_info(&pdev->dev, "BSC%d Controller at 0x%08lx (irq %d) (baudrate %d)\n", pdev->id, (unsigned long)regs->start, irq, baudrate); --- -2.5.0 - -From fd4c982472e595a262ea849b97084c6115cda9b0 Mon Sep 17 00:00:00 2001 +From 43719e41a45ad4d3e421fe1ddf78e27422befbda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 31 Dec 2015 16:44:58 +0100 -Subject: [PATCH 118/212] bcm270x_dt: Add dwc2 and dwc-otg overlays +Subject: [PATCH 118/220] bcm270x_dt: Add dwc2 and dwc-otg overlays --- arch/arm/boot/dts/overlays/Makefile | 2 ++ @@ -141918,14 +141567,11 @@ index 0000000..90c9811 + g-tx-fifo-size = <&usb>,"g-tx-fifo-size:0"; + }; +}; --- -2.5.0 - -From ed645c6641fba36237a97d65a883777be63df916 Mon Sep 17 00:00:00 2001 +From ec1679965feef848b8b0e6066f03d8fba01abe9c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 4 Jan 2016 14:42:17 +0000 -Subject: [PATCH 119/212] BCM270X_DT: Add the sdtweak overlay, for tuning +Subject: [PATCH 119/220] BCM270X_DT: Add the sdtweak overlay, for tuning sdhost The sdhost overlay declares the sdhost interface and allows parameters @@ -142003,14 +141649,11 @@ index 0000000..74c168d + debug = <&frag1>,"brcm,debug?"; + }; +}; --- -2.5.0 - -From 3acef3b02e2c93056fb1097e7d50ae038a69fac9 Mon Sep 17 00:00:00 2001 +From 275052b001c067a064e516f8268f58885bf835cc Mon Sep 17 00:00:00 2001 From: Andrew Litt Date: Mon, 11 Jan 2016 07:54:21 +0000 -Subject: [PATCH 120/212] bcm2835-mmc: Don't override bus width capabilities +Subject: [PATCH 120/220] bcm2835-mmc: Don't override bus width capabilities from devicetree Take out the force setting of the MMC_CAP_4_BIT_DATA host capability @@ -142033,14 +141676,11 @@ index 43aed6e..104f93e 100644 mmc->caps2 |= MMC_CAP2_SDIO_IRQ_NOTHREAD; --- -2.5.0 - -From 91f811cbf707c53384de0084455e2f9d60b084f1 Mon Sep 17 00:00:00 2001 +From 9d44aa6fb5dd55e9bcaa8423e0e16a484ff5c773 Mon Sep 17 00:00:00 2001 From: Andrew Litt Date: Mon, 11 Jan 2016 07:55:54 +0000 -Subject: [PATCH 121/212] SDIO-overlay: add bus_width parameter +Subject: [PATCH 121/220] SDIO-overlay: add bus_width parameter Allow setting of the SDIO bus width capability of the bcm2835-mmc host. This is helpful when only a 1 bit wide bus is connected @@ -142083,14 +141723,11 @@ index afc8742..7935e7a 100644 + bus_width = <&sdio_mmc>,"bus-width:0"; }; }; --- -2.5.0 - -From a012473e3bb7f7e075b655de7bb32b47a0adc127 Mon Sep 17 00:00:00 2001 +From a9243cdee427aceed2240ab4231ee106aad8df74 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:41:45 +0100 -Subject: [PATCH 122/212] bcm2835: extend allowed range of channels and +Subject: [PATCH 122/220] bcm2835: extend allowed range of channels and samplerates Allow everything the videocore accepts. @@ -142126,14 +141763,11 @@ index 8c86375..31e3131 100755 .buffer_bytes_max = 128 * 1024, .period_bytes_min = 1 * 1024, .period_bytes_max = 128 * 1024, --- -2.5.0 - -From a09d3d4ae3cf7bf71876125e8971122ee19ed49e Mon Sep 17 00:00:00 2001 +From bfc200a71120b8e2f69cf8ad7fc4c361f0697555 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:42:18 +0100 -Subject: [PATCH 123/212] bcm2835: restrict channels*rate to 8*960000 +Subject: [PATCH 123/220] bcm2835: restrict channels*rate to 8*960000 This is required at least for SPDIF. If the bitrate goes above, videocore will either resample the audio or corrupt it due to @@ -142212,14 +141846,11 @@ index 31e3131..b17ed32 100755 chip->alsa_stream[idx] = alsa_stream; chip->opened |= (1 << idx); --- -2.5.0 - -From 078830307a9c15381bf15efc16ea06ece73aa289 Mon Sep 17 00:00:00 2001 +From 3a6cc8186dcb6b4a2c789cb7bbb20c0e0499c2f8 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:42:48 +0100 -Subject: [PATCH 124/212] rpi: update vc_vchi_audioserv_defs.h +Subject: [PATCH 124/220] rpi: update vc_vchi_audioserv_defs.h Add audioserv 3 extensions. The changes were taken from the paste linked here: @@ -142284,14 +141915,11 @@ index af3e6eb..5f4409f 100644 -#endif // _VC_AUDIO_DEFS_H_ +#endif // _VC_AUDIO_DEFS_H_ \ No newline at end of file --- -2.5.0 - -From df7e0fcfc9c38f0de7da12c279be70c270c9d59c Mon Sep 17 00:00:00 2001 +From 00c8442a992bff22ce3fe81157910d6d2e93b63b Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:43:12 +0100 -Subject: [PATCH 125/212] bcm2835: implement channel map API +Subject: [PATCH 125/220] bcm2835: implement channel map API Report all layouts supported by the HDMI protocol to userspace. Make the videocore set the correct layout according to the @@ -142717,14 +142345,11 @@ index 0f71c5d..997fb69 100755 int bcm2835_audio_open(bcm2835_alsa_stream_t * alsa_stream); int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream); int bcm2835_audio_set_params(bcm2835_alsa_stream_t * alsa_stream, --- -2.5.0 - -From ff6e9741269962792a0088f07b8607eec4d50aad Mon Sep 17 00:00:00 2001 +From 49fad443a79e7ada4ef59e12aa750961facf82ad Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:43:35 +0100 -Subject: [PATCH 126/212] bcm2835: access controls under the audio mutex +Subject: [PATCH 126/220] bcm2835: access controls under the audio mutex I don't think the ALSA framework provides any kind of automatic synchronization within the control callbacks. We most likely need @@ -142737,7 +142362,7 @@ probably always be called under our own audio lock. 2 files changed, 66 insertions(+), 12 deletions(-) diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c -index 92d3f76..5b8e6bd2 100755 +index 92d3f76..5b8e6bd 100755 --- a/sound/arm/bcm2835-ctl.c +++ b/sound/arm/bcm2835-ctl.c @@ -94,6 +94,9 @@ static int snd_bcm2835_ctl_get(struct snd_kcontrol *kcontrol, @@ -142962,14 +142587,11 @@ index 1067460..48da3bb 100755 audio_info(" .. OUT\n"); return 0; } --- -2.5.0 - -From 80028c7c862f81d645d55e5ec86ce76d4d430dfe Mon Sep 17 00:00:00 2001 +From 74dd5403957ba3601438bced4a7d78a2c1fd04bd Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:44:03 +0100 -Subject: [PATCH 127/212] bcm2835: always use 2/4/8 channels for multichannel +Subject: [PATCH 127/220] bcm2835: always use 2/4/8 channels for multichannel layouts Pad the unused channels with NA. This means userspace needs to write @@ -142982,7 +142604,7 @@ Works around noise at the following channel counts: 3, 5, 6, 7 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c -index 5b8e6bd2..dec052b 100755 +index 5b8e6bd..dec052b 100755 --- a/sound/arm/bcm2835-ctl.c +++ b/sound/arm/bcm2835-ctl.c @@ -349,6 +349,7 @@ struct cea_channel_speaker_allocation { @@ -143107,14 +142729,11 @@ index 5b8e6bd2..dec052b 100755 { .ca_index = 0x31, .speakers = { FRW, FLW, RR, RL, FC, LFE, FR, FL } }, }; --- -2.5.0 - -From 3a99b76e72196621895b660c1ea3956001d142a8 Mon Sep 17 00:00:00 2001 +From 95bd31380c7ffb1e5cff735bd88e9f9691535dfa Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:44:24 +0100 -Subject: [PATCH 128/212] bcm2835: only allow stereo if analogue jack is +Subject: [PATCH 128/220] bcm2835: only allow stereo if analogue jack is selected Sending more than 2 channels to videocore while outputting to analogue @@ -143175,14 +142794,11 @@ index dec052b..e930718 100755 memset(remap, 0, sizeof(remap)); for (x = 0; x < substream->runtime->channels; x++) { int sp = ucontrol->value.integer.value[x]; --- -2.5.0 - -From 6ef4a201d74800ab3c3b7872388ffb46dc8ddd4b Mon Sep 17 00:00:00 2001 +From cbc5b12c5730e1a2396e737a3d23978f308b3596 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:44:47 +0100 -Subject: [PATCH 129/212] bcm2835: interpolate audio delay +Subject: [PATCH 129/220] bcm2835: interpolate audio delay It appears the GPU only sends us a message all 10ms to update the playback progress. Other than this, the playback position @@ -143273,14 +142889,11 @@ index 997fb69..20ef108 100755 uint32_t enable_fifo_irq; irq_handler_t fifo_irq_handler; --- -2.5.0 - -From 2e8ff846aafe99f7ba4adb548d6d544bfecd8b62 Mon Sep 17 00:00:00 2001 +From 9384914ddb90620248e22cade8a42951aa656dec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Jan 2016 17:16:38 +0000 -Subject: [PATCH 130/212] bcm2835-sdhost: Add workaround for odd behaviour on +Subject: [PATCH 130/220] bcm2835-sdhost: Add workaround for odd behaviour on some cards For reasons not understood, the sdhost driver fails when reading @@ -143294,7 +142907,7 @@ that problem which ensures those sectors are always read singly. 1 file changed, 52 insertions(+), 9 deletions(-) diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c -index da089985..309633c 100644 +index da08998..309633c 100644 --- a/drivers/mmc/host/bcm2835-sdhost.c +++ b/drivers/mmc/host/bcm2835-sdhost.c @@ -173,6 +173,9 @@ struct bcm2835_host { @@ -143416,14 +143029,11 @@ index da089985..309633c 100644 return blk_size; } --- -2.5.0 - -From f67d16104899ead42512ad6353dc0cf2b84e10d5 Mon Sep 17 00:00:00 2001 +From e26a12cf41c4c4e4a993708b3251fb964de7f1c6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 22 Jan 2016 16:03:24 +0000 -Subject: [PATCH 131/212] bcm2835-sdhost: Add debug_flags dtparam +Subject: [PATCH 131/220] bcm2835-sdhost: Add debug_flags dtparam Bit zero disables the single-read-sectors map: @@ -143546,14 +143156,11 @@ index 309633c..ef9b1e6 100644 if (host->allow_dma) { if (node) { host->dma_chan_tx = --- -2.5.0 - -From 5e61b24ec5c5aab7342f7c319d297c66eb369c0a Mon Sep 17 00:00:00 2001 +From ee03a11c1190604888fecd077b83b61899f2876e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 25 Jan 2016 09:12:06 +0000 -Subject: [PATCH 132/212] BCM270X_DT: Add sdio_overclock parameter to sdio +Subject: [PATCH 132/220] BCM270X_DT: Add sdio_overclock parameter to sdio overlay The sdio_overclock parameter is like the overclock_50 parameter, i.e. @@ -143623,14 +143230,11 @@ index 7935e7a..398bd81 100644 + sdio_overclock = <&sdio_mmc>,"brcm,overclock-50:0"; }; }; --- -2.5.0 - -From 8c403ccd42234846cf57496b32948b9af14f06d1 Mon Sep 17 00:00:00 2001 +From a5f0a2e15ae5d6012aaf28087e4a7460599be817 Mon Sep 17 00:00:00 2001 From: Michael Lange Date: Thu, 21 Jan 2016 18:10:16 +0100 -Subject: [PATCH 133/212] rtc: ds1307: add support for the DT property +Subject: [PATCH 133/220] rtc: ds1307: add support for the DT property 'wakeup-source' For RTC chips with no IRQ directly connected to the SoC, the RTC chip @@ -143660,7 +143264,7 @@ Signed-off-by: Alexandre Belloni 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c -index 1cb13fee..28ca4bf 100644 +index 1cb13fe..28ca4bf 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -860,6 +860,7 @@ static int ds1307_probe(struct i2c_client *client, @@ -143723,14 +143327,11 @@ index 1cb13fee..28ca4bf 100644 if (want_irq) { err = devm_request_threaded_irq(&client->dev, client->irq, NULL, irq_handler, --- -2.5.0 - -From e5b28cae15b25c2ab427cbde47d462547c4b004b Mon Sep 17 00:00:00 2001 +From 6e362fc24cc878bdc05587a65e1a4c29f6839cb6 Mon Sep 17 00:00:00 2001 From: vitalogy Date: Tue, 19 Jan 2016 07:02:02 +0100 -Subject: [PATCH 134/212] dt-overlay: add wittypi-overlay.dts +Subject: [PATCH 134/220] dt-overlay: add wittypi-overlay.dts --- arch/arm/boot/dts/overlays/wittypi-overlay.dts | 44 ++++++++++++++++++++++++++ @@ -143787,14 +143388,11 @@ index 0000000..be5987d + }; + +}; --- -2.5.0 - -From aba5d4af2234386f97b9fb79e015c7557c6ab899 Mon Sep 17 00:00:00 2001 +From f006101804897fc9da5d6a5d45fcf2f871325189 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Jan 2016 16:28:05 +0000 -Subject: [PATCH 135/212] FIXUP i2c_bcm2708: Don't change module baudrate +Subject: [PATCH 135/220] FIXUP i2c_bcm2708: Don't change module baudrate parameter Overwriting the baudrate module parameter creates an apparent @@ -143892,14 +143490,11 @@ index b152639..c9b8e5c 100644 return 0; --- -2.5.0 - -From 11ad0c1a8fcfe6de7b6b33dd66709ba82b63cce9 Mon Sep 17 00:00:00 2001 +From 47cf0578d6686f32a1385a6821a2d4fe6652cdd0 Mon Sep 17 00:00:00 2001 From: Digital Dreamtime Date: Thu, 4 Feb 2016 14:14:44 +0000 -Subject: [PATCH 136/212] Allow up to 24dB digital gain to be applied when +Subject: [PATCH 136/220] Allow up to 24dB digital gain to be applied when using IQAudIO DAC+ 24db_digital_gain DT param can be used to specify that PCM512x @@ -144001,14 +143596,11 @@ index 37038d4..124d7a9 100644 } ret = snd_soc_register_card(&snd_rpi_iqaudio_dac); --- -2.5.0 - -From 08248da930abc0946b75fcb46b76dc7522b47c69 Mon Sep 17 00:00:00 2001 +From 7e2dcd8334b6eacd2f1a2cf4c6f2059ad1617be5 Mon Sep 17 00:00:00 2001 From: Digital Dreamtime Date: Thu, 4 Feb 2016 20:04:00 +0000 -Subject: [PATCH 137/212] Limit PCM512x "Digital" gain to 0dB by default with +Subject: [PATCH 137/220] Limit PCM512x "Digital" gain to 0dB by default with HiFiBerry DAC+ 24db_digital_gain DT param can be used to specify that PCM512x @@ -144109,14 +143701,11 @@ index a6b651c..153dbcd 100644 } ret = snd_soc_register_card(&snd_rpi_hifiberry_dacplus); --- -2.5.0 - -From cb87abec84007f53e1ff4c86c1fddd07b07ead8d Mon Sep 17 00:00:00 2001 +From c98ef367b9b550f7ed9bd95730d20aee5ae9d9c2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 Feb 2016 09:46:33 +0000 -Subject: [PATCH 138/212] BCM270X_DT: Adjust overlay README formatting +Subject: [PATCH 138/220] BCM270X_DT: Adjust overlay README formatting --- arch/arm/boot/dts/overlays/README | 414 +++++++++++++++++++------------------- @@ -144844,14 +144433,11 @@ index 296184f..f987565 100644 Troubleshooting --- -2.5.0 - -From 415be23999f27b9d2095f5c3b118887589da7b9c Mon Sep 17 00:00:00 2001 +From 335e207701ba241a9e9d834379cd9b96cc42c696 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 9 Feb 2016 09:52:13 +0000 -Subject: [PATCH 139/212] pinctrl-bcm2835: Fix cut-and-paste error in "pull" +Subject: [PATCH 139/220] pinctrl-bcm2835: Fix cut-and-paste error in "pull" parsing The DT bindings for pinctrl-bcm2835 allow both the function and pull @@ -144875,14 +144461,11 @@ index 640e3b0..32f779e 100644 if (err) goto out; err = bcm2835_pctl_dt_node_to_map_pull(pc, np, pin, --- -2.5.0 - -From 24f55761e0dc84d32e244587a535b32ea7d2ef19 Mon Sep 17 00:00:00 2001 +From 0fa4261b8ebb18c2c8f4424b65c9ccbb67160c0f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Feb 2016 16:51:01 +0000 -Subject: [PATCH 140/212] bcm2835-sdhost: Major revision +Subject: [PATCH 140/220] bcm2835-sdhost: Major revision This is a significant revision of the bcm2835-sdhost driver. It improves on the original in a number of ways: @@ -146950,14 +146533,11 @@ index ef9b1e6..262180b 100644 static struct platform_driver bcm2835_sdhost_driver = { .probe = bcm2835_sdhost_probe, .remove = bcm2835_sdhost_remove, --- -2.5.0 - -From b7326af0e71cfcbde46bb22a295bef9606ca6f13 Mon Sep 17 00:00:00 2001 +From d243f0173dc4f7f61979272fec65d70abe9cab76 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 12 Feb 2016 15:38:00 +0000 -Subject: [PATCH 141/212] BCM270X_DT: Add dtparams for the SD interface +Subject: [PATCH 141/220] BCM270X_DT: Add dtparams for the SD interface Add new base dtparams sd_overclock, sd_force_pio, sd_pio_limit and sd_debug. @@ -147209,14 +146789,11 @@ index b0b208c..e4a4677 100644 + debug = <&frag0>,"brcm,debug?"; }; }; --- -2.5.0 - -From e4e7ecb342e186a35cefd2e515ded768263ba41c Mon Sep 17 00:00:00 2001 +From 75c60d3c472b2f63a364b83b5aeb8b2c8f228e86 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 12 Feb 2016 14:50:25 +0000 -Subject: [PATCH 142/212] dcw_otg: trim xfer length when buffer larger than +Subject: [PATCH 142/220] dcw_otg: trim xfer length when buffer larger than allocated size is received --- @@ -147252,14 +146829,11 @@ index 8db3dfc..d672a76 100644 /* non DWORD-aligned buffer case handling. */ if (hc->align_buff && bytes_transferred && hc->ep_is_in) { dwc_memcpy(urb->buf + urb->actual_length, hc->qh->dw_align_buf, --- -2.5.0 - -From e95065aaae7ce07c033d2a6f2f0c1d70aef2e126 Mon Sep 17 00:00:00 2001 +From 45d3be195a6547d98e9d1979b9dff4b6e25f3511 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 15 Feb 2016 10:00:27 +0000 -Subject: [PATCH 143/212] bcm2835-sdhost: Restore ATOMIC flag to PIO sg mapping +Subject: [PATCH 143/220] bcm2835-sdhost: Restore ATOMIC flag to PIO sg mapping Allocation problems have been seen in a wireless driver, and this is the only change which might have been responsible. @@ -147290,14 +146864,11 @@ index 262180b..d66385c 100644 sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags); host->blocks = data->blocks; } --- -2.5.0 - -From 0ad399d93387ff3b50f1f3ee2891f9bafd5adfa0 Mon Sep 17 00:00:00 2001 +From 4bca411d6d79bb963a99b0f344d2e166ea387b1b Mon Sep 17 00:00:00 2001 From: Craig Roberts Date: Tue, 16 Feb 2016 10:03:42 +0000 -Subject: [PATCH 144/212] Updated smsc95xx driver to check for a valid MAC +Subject: [PATCH 144/220] Updated smsc95xx driver to check for a valid MAC address in eeprom before using smsc95xx.macaddr parameter passed on command line. @@ -147336,14 +146907,11 @@ index 3244a90..7483222 100755 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); } --- -2.5.0 - -From b5ef1237577219944bc9594e7860e06c7d1d4307 Mon Sep 17 00:00:00 2001 +From 49c7acf19713e3b277e75564c9adf11c8837b7cb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Feb 2016 19:02:31 +0000 -Subject: [PATCH 145/212] dcw_otg: Make trimming messages less noisy +Subject: [PATCH 145/220] dcw_otg: Make trimming messages less noisy --- drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 6 ++++-- @@ -147373,14 +146941,11 @@ index d672a76..e6b38ac 100644 bytes_transferred = urb->length - urb->actual_length; } --- -2.5.0 - -From aaa26a79a5887736a946f9f959adce468fecd1cf Mon Sep 17 00:00:00 2001 +From 17daf96d1897ecb234a14166a59a25f89b0b3691 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 18 Feb 2016 15:28:14 +0000 -Subject: [PATCH 146/212] BCM270X_DT: at86rf233 overlay - drop to 3MHz +Subject: [PATCH 146/220] BCM270X_DT: at86rf233 overlay - drop to 3MHz The consensus is that 6MHz is too fast, but that 3MHz is OK. @@ -147417,14 +146982,11 @@ index 0460269..eab4052 100644 xtal-trim = /bits/ 8 <0xf>; }; }; --- -2.5.0 - -From 374767b7cbade15fbfa8e15bdc770127d5590b25 Mon Sep 17 00:00:00 2001 +From 1b5cbad94db73906e9730434f137ca9f09ac8df4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 19 Feb 2016 12:04:48 +0000 -Subject: [PATCH 147/212] bcm2835-sdhost: Downgrade log message status +Subject: [PATCH 147/220] bcm2835-sdhost: Downgrade log message status --- drivers/mmc/host/bcm2835-sdhost.c | 4 ++-- @@ -147445,14 +147007,11 @@ index d66385c..4f6cab5 100644 timer_base = ioremap_nocache(bus_to_phys + 0x7e003000, SZ_4K); if (!timer_base) pr_err("sdhost: failed to remap timer\n"); --- -2.5.0 - -From 8c32ef025a5e8946dd33da5028b812a667eee823 Mon Sep 17 00:00:00 2001 +From 6d7968ac9deb4d9e1e1e2f0fdb6ebf587040b1d3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 15 Jan 2016 16:48:27 +0000 -Subject: [PATCH 148/212] config: Enable HCI over UARTs +Subject: [PATCH 148/220] config: Enable HCI over UARTs --- arch/arm/configs/bcm2709_defconfig | 3 +++ @@ -147486,14 +147045,11 @@ index 51dc019..4368f0d 100644 CONFIG_BT_HCIBCM203X=m CONFIG_BT_HCIBPA10X=m CONFIG_BT_HCIBFUSB=m --- -2.5.0 - -From f2f74adffe62e1ae486ca4830a6340e65d5324fb Mon Sep 17 00:00:00 2001 +From c48b71c5495da90df40a5ab608d370a380ee55c7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 149/212] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 149/220] 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. @@ -147515,14 +147071,11 @@ index abee221..2825833 100644 } else if (memcmp(data, conf_rsp, 2) == 0) { if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 7); --- -2.5.0 - -From c7944a877f516a6974059711820093dc5a4052bf Mon Sep 17 00:00:00 2001 +From 9590600fd83051b01b94541bcdbd44126a74c233 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 150/212] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 150/220] 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 @@ -147550,14 +147103,11 @@ index 899a771..68b3353 100644 uap->old_cr = 0; uap->port.dev = dev; --- -2.5.0 - -From f77097a5484b7f2b3e74a426646ef50957224a39 Mon Sep 17 00:00:00 2001 +From 6f9eebcb207c54cc025a0fa03a0a0aec6872bcb1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 15 Dec 2015 15:35:57 -0800 -Subject: [PATCH 151/212] clk: bcm2835: Add bindings for the auxiliary +Subject: [PATCH 151/220] clk: bcm2835: Add bindings for the auxiliary peripheral clock gates. These will be used for enabling UART1, SPI1, and SPI2. @@ -147632,14 +147182,11 @@ index 0000000..d91156e +#define BCM2835_AUX_CLOCK_SPI1 1 +#define BCM2835_AUX_CLOCK_SPI2 2 +#define BCM2835_AUX_CLOCK_COUNT 3 --- -2.5.0 - -From 80fb61da72241cde200e07c044e8c86ed5b45bc1 Mon Sep 17 00:00:00 2001 +From 29fb950e3ba56af92a2183a46555b173cf964674 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 15 Dec 2015 15:35:58 -0800 -Subject: [PATCH 152/212] clk: bcm2835: Add a driver for the auxiliary +Subject: [PATCH 152/220] clk: bcm2835: Add a driver for the auxiliary peripheral clock gates. There are a pair of SPI masters and a mini UART that were last minute @@ -147759,14 +147306,11 @@ index 0000000..e4f89e2 +MODULE_AUTHOR("Eric Anholt "); +MODULE_DESCRIPTION("BCM2835 auxiliary peripheral clock driver"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From 9c1a31196fa5ffc0ddbf7af89f0b87ecf54b517f Mon Sep 17 00:00:00 2001 +From 1bf2851444db1c73de9084f05866b2b976136616 Mon Sep 17 00:00:00 2001 From: Fraser Date: Tue, 23 Feb 2016 10:04:37 +1100 -Subject: [PATCH 153/212] Aux SPI 1&2 implementation +Subject: [PATCH 153/220] Aux SPI 1&2 implementation Adds aux spi 1 & 2 devices to compatible raspberry PIs. * Minor config of the driver build environment to ensure they get built @@ -148495,14 +148039,11 @@ index e842e86..c9d1558 100644 depends on GPIOLIB help This selects a driver for the Broadcom BCM2835 SPI aux master. --- -2.5.0 - -From a98503ac7da42217919f0d5c2efcfa7473cf6d75 Mon Sep 17 00:00:00 2001 +From f0fc0526b27dfa7e01162255512440f6ca925377 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 23 Feb 2016 17:28:23 +0100 -Subject: [PATCH 154/212] ASoC: bcm: add missing .owner fields in sound card +Subject: [PATCH 154/220] ASoC: bcm: add missing .owner fields in sound card drivers If snd_soc_card.owner is not set the kernel won't do usage refcounting @@ -148623,14 +148164,11 @@ index c6e45a0..9db678e 100644 .dai_link = snd_rpi_proto_dai, .num_links = ARRAY_SIZE(snd_rpi_proto_dai), }; --- -2.5.0 - -From d32fc7cbb16dd0a8d44cda715688c030fbed20ce Mon Sep 17 00:00:00 2001 +From 5e4a21532c063cde668062146d4e9736f443a5a2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 20 Jan 2016 17:50:09 +0000 -Subject: [PATCH 155/212] smsx95xx: Add option to disable the crimes against +Subject: [PATCH 155/220] smsx95xx: Add option to disable the crimes against truesize fix It may improve iperf numbers on Pi 1, but may generate dmesg warnings and possibly cause network issues @@ -148675,14 +148213,11 @@ index 7483222..a61bd08 usbnet_skb_return(dev, ax_skb); } --- -2.5.0 - -From a3747dd75561206cbfb7ff536ceac9bd23df982f Mon Sep 17 00:00:00 2001 +From 9cc01e6746ad770056575a80e55844828d0f91a5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 156/212] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 156/220] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -148934,14 +148469,11 @@ index b011489..c844968 100644 RPI_FIRMWARE_FRAMEBUFFER_RELEASE = 0x00048001, RPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003, RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT = 0x00044004, --- -2.5.0 - -From 3992e10e19e4fdee00b1ae74f5fc74594f83a744 Mon Sep 17 00:00:00 2001 +From 74bf9e6bacea9547dbc61259c5b1fd6c582a09d0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Jan 2016 17:57:49 +0000 -Subject: [PATCH 157/212] BCM270X_DT: Add Pi3 support +Subject: [PATCH 157/220] BCM270X_DT: Add Pi3 support --- arch/arm/boot/dts/Makefile | 1 + @@ -149269,14 +148801,11 @@ index 0000000..1a48686 + interrupt-parent = <&local_intc>; + interrupts = <8>; +}; --- -2.5.0 - -From 0c58748a6303f42568c49c6971729df36827b76d Mon Sep 17 00:00:00 2001 +From 77f8ba7aa00715d205de661d389c8285eba54cd1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson <6by9@users.noreply.github.com> Date: Mon, 8 Feb 2016 23:49:41 +0000 -Subject: [PATCH 158/212] DT: Add overlays to configure I2C pins +Subject: [PATCH 158/220] DT: Add overlays to configure I2C pins Lifted from https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=120938&p=825883 @@ -149417,14 +148946,11 @@ index 0000000..e303b9c + pin_func = <&i2c1_pins>,"brcm,function:0"; + }; +}; --- -2.5.0 - -From 4068e875bf7cb8498635d72166557d227d7243a3 Mon Sep 17 00:00:00 2001 +From ff3a72f926b23ea449bc5af9e4b1edc5dd194d3f Mon Sep 17 00:00:00 2001 From: Dhiraj Goel Date: Thu, 3 Mar 2016 21:10:50 -0800 -Subject: [PATCH 159/212] bcm2835-camera: fix a bug in computation of frame +Subject: [PATCH 159/220] bcm2835-camera: fix a bug in computation of frame timestamp Fixes #1318 @@ -149446,14 +148972,11 @@ index e83334c..98a892e 100644 buf->vb.timestamp.tv_usec = dev->capture.kernel_start_ts.tv_usec + rem; --- -2.5.0 - -From 4adfed725c209453a215ba42d24fc4b8cfb3a401 Mon Sep 17 00:00:00 2001 +From 9e60aeea4162ec229e5ebed7b2af695d98309369 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 2 Mar 2016 10:59:05 +0000 -Subject: [PATCH 160/212] BCM270X_DT: Add pi3-disable-bt overlay +Subject: [PATCH 160/220] BCM270X_DT: Add pi3-disable-bt overlay Disable Bluetooth and restore UART0/ttyAMA0 over GPIOs 14 & 15. To disable the systemd service that initialises the modem so it doesn't use the UART: @@ -149553,14 +149076,11 @@ index 0000000..05403e2 + }; + }; +}; --- -2.5.0 - -From 4449ab94c62979b57fec60f5c5ba1b4954a85988 Mon Sep 17 00:00:00 2001 +From 49ee7100969f66f5754c1304b2a5d6dfff5f66c4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 09:53:03 +0000 -Subject: [PATCH 161/212] BCM270X_DT: Add pi3-miniuart-bt DT overlay +Subject: [PATCH 161/220] BCM270X_DT: Add pi3-miniuart-bt DT overlay Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum @@ -149681,14 +149201,11 @@ index 0000000..ae1292a + }; + }; +}; --- -2.5.0 - -From 72c4fbe3e30b0fb7ab8f0b26cb51b4fc869a34a4 Mon Sep 17 00:00:00 2001 +From fdcbe65fa8272570e4d8385360c54d6084c527e5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 13:38:39 +0000 -Subject: [PATCH 162/212] Pi3 DT: Add dtparams for the SD interface +Subject: [PATCH 162/220] Pi3 DT: Add dtparams for the SD interface Add new base dtparams sd_overclock, sd_force_pio, sd_pio_limit and sd_debug. These were missed out of the initial Pi3 DTB. @@ -149712,14 +149229,11 @@ index cc06089..36972d8 100644 + sd_debug = <&sdhost>,"brcm,debug"; }; }; --- -2.5.0 - -From dcc0c1cb720d89d4ec64353753e8c6bdf3ad590b Mon Sep 17 00:00:00 2001 +From 6807d1de189d9a85ba25d3d54e1db36d9b67470f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 15:05:11 +0000 -Subject: [PATCH 163/212] vchiq_arm: Tweak the logging output +Subject: [PATCH 163/220] vchiq_arm: Tweak the logging output Signed-off-by: Phil Elwell --- @@ -149793,14 +149307,11 @@ index 2c98da4..160db24 100644 } switch (type) { --- -2.5.0 - -From 94f1af91e237587bcbf12aba4cef19807f8bbb72 Mon Sep 17 00:00:00 2001 +From a56dfcc0d7fbb6c0953fe7faa7391a14fbaf98cc Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 16:46:39 +0000 -Subject: [PATCH 164/212] bcm2835-sdhost: Only claim one DMA channel +Subject: [PATCH 164/220] bcm2835-sdhost: Only claim one DMA channel With both MMC controllers enabled there are few DMA channels left. The bcm2835-sdhost driver only uses DMA in one direction at a time, so it @@ -149961,14 +149472,11 @@ index 4f6cab5..4cc4272 100644 dma_request_channel(mask, NULL, NULL); } } --- -2.5.0 - -From 76b2574366bed59d626ac8bcba92df246aff1354 Mon Sep 17 00:00:00 2001 +From a1577083ab3d03c878c74153aba00ba6be3501a1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Mar 2016 09:49:16 +0000 -Subject: [PATCH 165/212] bcm2835-mmc: Only claim one DMA channel +Subject: [PATCH 165/220] bcm2835-mmc: Only claim one DMA channel With both MMC controllers enabled there are few DMA channels left. The bcm2835-mmc driver only uses DMA in one direction at a time, so it @@ -150139,14 +149647,11 @@ index 104f93e..ceb3793 100644 } #endif clk = devm_clk_get(dev, NULL); --- -2.5.0 - -From 7658391939ddd59e52b90a9164eb85350669fda3 Mon Sep 17 00:00:00 2001 +From 8a0c59cffa4e265e12d412be162e6e7e79538085 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 8 Mar 2016 17:08:39 +0000 -Subject: [PATCH 166/212] config: rebuild with savedefconfig +Subject: [PATCH 166/220] config: rebuild with savedefconfig --- arch/arm/configs/bcm2709_defconfig | 3 +-- @@ -150173,14 +149678,11 @@ index 6d6b519..116002b 100644 CONFIG_IIO_KFIFO_BUF=m CONFIG_MCP320X=m CONFIG_DHT11=m --- -2.5.0 - -From 3710f5f0d09adcdfa82da57ae653e32d8ce18704 Mon Sep 17 00:00:00 2001 +From e429d262078d082532f8538c3272ad41d00dcbe2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 8 Mar 2016 17:06:33 +0000 -Subject: [PATCH 167/212] config: Add module for mcp3422 ADC +Subject: [PATCH 167/220] config: Add module for mcp3422 ADC --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -150211,14 +149713,11 @@ index 1ca1695..f09be87 100644 CONFIG_DHT11=m CONFIG_PWM_BCM2835=m CONFIG_RASPBERRYPI_FIRMWARE=y --- -2.5.0 - -From d6922f32d4324a8556ccb28048ff3fadf9573995 Mon Sep 17 00:00:00 2001 +From 1021df7fe1b5bffc4f6e6020fac272c4cbe359eb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Mar 2016 16:18:57 +0000 -Subject: [PATCH 168/212] Pi3 DT: Add pull-ups on the UART RX lines +Subject: [PATCH 168/220] Pi3 DT: Add pull-ups on the UART RX lines Signed-off-by: Phil Elwell --- @@ -150259,14 +149758,11 @@ index ae1292a..0b8f0ca 100644 }; }; }; --- -2.5.0 - -From 0c427324249a0a6e691dec7b09f4911b952c8722 Mon Sep 17 00:00:00 2001 +From ee3a4aed77c36c19f325e9aac6e46fbde2ab6e09 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 17:25:59 +0000 -Subject: [PATCH 169/212] brcmfmac: Disable power management +Subject: [PATCH 169/220] brcmfmac: Disable power management Disable wireless power saving in the brcmfmac WLAN driver. This is a temporary measure until the connectivity loss resulting from power @@ -150290,14 +149786,11 @@ index deb5f78..90f65d9 100644 cfg->pwr_save = enabled; if (!check_vif_up(ifp->vif)) { --- -2.5.0 - -From 1c639a4618ee2f1c46da57f921fc797662853564 Mon Sep 17 00:00:00 2001 +From 7426f9f0a5a62e36f31d1db185277c92bfa3d844 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 21:28:52 +0000 -Subject: [PATCH 170/212] BCM270X_DT: rpi-display overlay - add swapxy param +Subject: [PATCH 170/220] BCM270X_DT: rpi-display overlay - add swapxy param Signed-off-by: Phil Elwell --- @@ -150336,14 +149829,11 @@ index a8fa974..ccb296e 100644 + swapxy = <&rpidisplay_ts>,"ti,swap-xy?"; }; }; --- -2.5.0 - -From 0cefbfe0e1b4bfaed991394978938177204cc91d Mon Sep 17 00:00:00 2001 +From 2de2cb38722b8fbdbe8f0fb5cef7e0ec2230a2a8 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Fri, 11 Mar 2016 11:44:35 +0000 -Subject: [PATCH 171/212] Remove I2S config from bt_pins. +Subject: [PATCH 171/220] Remove I2S config from bt_pins. Remove I2S config from bt_pins. Causes issues with clock alignment when I2S is used by an external DAC via GPIO header. @@ -150382,14 +149872,11 @@ index 0b8f0ca..f07afcb 100644 status = "okay"; }; }; --- -2.5.0 - -From a05e949b3366bf0722d1dde41b1658469c5d7879 Mon Sep 17 00:00:00 2001 +From 86ad245b6a404b9a7390439598c3a1990888199e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:44:59 +0100 -Subject: [PATCH 172/212] Revert "scripts/dtc: Add overlay support" +Subject: [PATCH 172/220] Revert "scripts/dtc: Add overlay support" This reverts commit fa6d1755c2fdd9451077d8248e3804f0619f19b9. --- @@ -150406,7 +149893,7 @@ This reverts commit fa6d1755c2fdd9451077d8248e3804f0619f19b9. 10 files changed, 1145 insertions(+), 1685 deletions(-) diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c -index efd1bc6..e81a8c74 100644 +index efd1bc6..e81a8c7 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -458,91 +458,21 @@ static void fixup_phandle_references(struct check *c, struct node *dt, @@ -154793,14 +154280,11 @@ index 86b7338..5b8c7d5 100644 @@ -1 +1 @@ -#define DTC_VERSION "DTC 1.4.1-g9d3649bd-dirty" +#define DTC_VERSION "DTC 1.4.1-g9d3649bd" --- -2.5.0 - -From d382779bec89ee69044498641c17f30bccdd9fc2 Mon Sep 17 00:00:00 2001 +From 4f8951170ab9ba34bd30d822a01d9882b00db581 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:49:15 +0100 -Subject: [PATCH 173/212] scripts/dtc: Update to upstream version 1.4.1 +Subject: [PATCH 173/220] scripts/dtc: Update to upstream version 1.4.1 Includes the new localfixups format. @@ -154819,7 +154303,7 @@ Signed-off-by: Phil Elwell 10 files changed, 1021 insertions(+), 622 deletions(-) diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c -index e81a8c74..540a3ea 100644 +index e81a8c7..540a3ea 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -458,6 +458,8 @@ static void fixup_phandle_references(struct check *c, struct node *dt, @@ -157553,14 +157037,11 @@ index 5b8c7d5..2595dfd 100644 @@ -1 +1 @@ -#define DTC_VERSION "DTC 1.4.1-g9d3649bd" +#define DTC_VERSION "DTC 1.4.1-g25efc119" --- -2.5.0 - -From b5636f4c891e18774ceaa09d14151ee8b21401e2 Mon Sep 17 00:00:00 2001 +From e8886384ffc0f93c0a4ed3553e74a7f20b940128 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Thu, 22 Oct 2015 23:30:04 +0300 -Subject: [PATCH 174/212] configfs: implement binary attributes +Subject: [PATCH 174/220] configfs: implement binary attributes ConfigFS lacked binary attributes up until now. This patch introduces support for binary attributes in a somewhat similar @@ -158208,14 +157689,11 @@ index 758a029..f7300d0 100644 /* * If allow_link() exists, the item can symlink(2) out to other * items. If the item is a group, it may support mkdir(2). --- -2.5.0 - -From c1cbbf13f7c0a13c2087fd37ac5272d58f8cd604 Mon Sep 17 00:00:00 2001 +From 9003030b2ba018274c3139f4656045194b3e44f8 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 175/212] OF: DT-Overlay configfs interface +Subject: [PATCH 175/220] 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. @@ -158630,14 +158108,11 @@ index 0000000..7b66deb + return ret; +} +late_initcall(of_cfs_init); --- -2.5.0 - -From a73f8e98f1a96fca0e7c21f3ac8a1f5ca36d92ff Mon Sep 17 00:00:00 2001 +From a0591a6a9b4541411c9cb87bc03b3bcae9705d3e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 176/212] Protect __release_resource against resources without +Subject: [PATCH 176/220] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -158648,7 +158123,7 @@ Signed-off-by: Phil Elwell 1 file changed, 6 insertions(+) diff --git a/kernel/resource.c b/kernel/resource.c -index 249b1eb..eb973a53 100644 +index 249b1eb..eb973a5 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -237,6 +237,12 @@ static int __release_resource(struct resource *old) @@ -158664,14 +158139,11 @@ index 249b1eb..eb973a53 100644 p = &old->parent->child; for (;;) { tmp = *p; --- -2.5.0 - -From fa4e1d1a1a7dbc7d8375a72503f31d55f22e6095 Mon Sep 17 00:00:00 2001 +From 8b7b2a51cdf796abc04fdfb5f86b13593e3c6bf3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 20:00:21 +0000 -Subject: [PATCH 177/212] BCM270X_DT: Add a .dtbo target, use for overlays +Subject: [PATCH 177/220] BCM270X_DT: Add a .dtbo target, use for overlays Change the filenames and extensions to keep the pre-DDT style of overlay (-overlay.dtb) distinct from new ones that use a @@ -158847,7 +158319,7 @@ index 687cc7c..d81fa09 100644 +always := $(dtbo-y) +clean-files := *.dtbo diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index 79e8661..7209d622 100644 +index 79e8661..7209d62 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -292,6 +292,16 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ @@ -158867,14 +158339,11 @@ index 79e8661..7209d622 100644 dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp) # Bzip2 --- -2.5.0 - -From 25c63fa16a6aa48cbf99265bc27e80a08aa84a1b Mon Sep 17 00:00:00 2001 +From a7154908e508d14ddb89aab7cf15b0b3d3105129 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 May 2015 11:18:58 +0100 -Subject: [PATCH 178/212] scripts/knlinfo: Decode DDTK atom +Subject: [PATCH 178/220] scripts/knlinfo: Decode DDTK atom Show the DDTK atom as being a boolean. @@ -158904,14 +158373,11 @@ index b9ef124..263ec93 100755 } sub format_int --- -2.5.0 - -From 326b9503455a448c6c610f9b482767d9fcb5559a Mon Sep 17 00:00:00 2001 +From ac5908f541bf375c752837d7f4adc5ffd741919a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 May 2015 11:48:59 +0100 -Subject: [PATCH 179/212] Enable Dynamic Device Tree for bcmrpi_defconfig and +Subject: [PATCH 179/220] Enable Dynamic Device Tree for bcmrpi_defconfig and bcm2709_defconfig Signed-off-by: Phil Elwell @@ -158952,14 +158418,11 @@ index f09be87..2db41e6 100644 CONFIG_ZRAM=m CONFIG_ZRAM_LZ4_COMPRESS=y CONFIG_BLK_DEV_LOOP=y --- -2.5.0 - -From 097557a49914162c5de1eba0c69d7a33a69600bb Mon Sep 17 00:00:00 2001 +From f554341c8348fdf9880fc07ae20fc61035c783e2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 13 Mar 2016 16:14:44 +0000 -Subject: [PATCH 180/212] SQUASH: Add CONFIG_OF_CONFIGFS to bcmrpi_defconfig +Subject: [PATCH 180/220] SQUASH: Add CONFIG_OF_CONFIGFS to bcmrpi_defconfig Signed-off-by: Phil Elwell --- @@ -158987,14 +158450,11 @@ index 2db41e6..74149cf 100644 CONFIG_ECRYPT_FS=m CONFIG_HFS_FS=m CONFIG_HFSPLUS_FS=m --- -2.5.0 - -From 521d08e97d9c65c9fc9b587253ca44fecff0d603 Mon Sep 17 00:00:00 2001 +From 16c43ba7a356906480cb05eaf06b94118089b7b2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 14 Mar 2016 16:56:54 +0000 -Subject: [PATCH 181/212] dts, kbuild: dtbs_install installs .dtbo files too +Subject: [PATCH 181/220] dts, kbuild: dtbs_install installs .dtbo files too Signed-off-by: Phil Elwell --- @@ -159035,14 +158495,11 @@ index 1c15717..43647b3 100644 +__dtbs_install: $(dtbinst-files) $(dtboinst-files) $(dtbinst-dirs) .PHONY: $(PHONY) --- -2.5.0 - -From 3f9b9614e3e1c169285d04c3183bd68fb4a743d0 Mon Sep 17 00:00:00 2001 +From 2074555a2f018ca6d480536a11c8946a87ddf055 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Mar 2016 14:10:29 +0000 -Subject: [PATCH 182/212] bcm2835-sdhost: Workaround for "slow" sectors +Subject: [PATCH 182/220] bcm2835-sdhost: Workaround for "slow" sectors Some cards have been seen to cause timeouts after certain sectors are read. This workaround enforces a minimum delay between the stop after @@ -159159,14 +158616,11 @@ index 4cc4272..f43aae0 100644 do_gettimeofday(&host->stop_time); } } else { --- -2.5.0 - -From 4f6ba307c5ca47f6d67cf3af83b536d6b512d835 Mon Sep 17 00:00:00 2001 +From 6a95fda69fd5cd47a91438c34e60884005b2cf60 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Mar 2016 15:49:16 +0000 -Subject: [PATCH 183/212] BCM270X_DT: Add labels to spidev nodes +Subject: [PATCH 183/220] BCM270X_DT: Add labels to spidev nodes Signed-off-by: Phil Elwell --- @@ -159244,7 +158698,7 @@ index 8bcafb4..954896e 100755 reg = <1>; /* CE1 */ #address-cells = <1>; diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts -index aca253f..66523d6f 100644 +index aca253f..66523d6 100644 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts @@ -59,7 +59,7 @@ @@ -159287,14 +158741,11 @@ index 2cb7d43..1ce4ea2 100644 compatible = "spidev"; reg = <1>; /* CE1 */ #address-cells = <1>; --- -2.5.0 - -From 47c38ad4901f42a05ec66da812ab59cf071f9493 Mon Sep 17 00:00:00 2001 +From 373c4c25a9a663812eeb60f9a21d0b4328a89e7b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Mar 2016 16:27:26 +0000 -Subject: [PATCH 184/212] BCM270X_DT: Use spidev labels in overlays +Subject: [PATCH 184/220] BCM270X_DT: Use spidev labels in overlays --- arch/arm/boot/dts/overlays/ads7846-overlay.dts | 22 ++++++++++------- @@ -159947,14 +159398,11 @@ index f7102c8..33c0651 100644 target-path = "/soc"; __overlay__ { keypad: keypad { --- -2.5.0 - -From 1379d524f5915c349e03308cf75fdb83d7bfc492 Mon Sep 17 00:00:00 2001 +From 5c59de05cd3c183f48a2c53e15dcbf748a58c686 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Mar 2016 16:41:37 +0000 -Subject: [PATCH 185/212] BCM270X_DT: Build and document the wittypi overlay +Subject: [PATCH 185/220] BCM270X_DT: Build and document the wittypi overlay Signed-off-by: Phil Elwell --- @@ -160007,14 +159455,11 @@ index be5987d..8498134 100644 led_trigger = <&wittypi_led>,"linux,default-trigger"; }; --- -2.5.0 - -From aa17ecdb23d2505d7fb0b4ddb30200a85128f789 Mon Sep 17 00:00:00 2001 +From 61b564dad484329b527fbcf14167b9fd28d34c0e Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 15 Mar 2016 21:13:39 +0100 -Subject: [PATCH 186/212] scripts/dtc: Fix UMR causing corrupt dtbo overlay +Subject: [PATCH 186/220] scripts/dtc: Fix UMR causing corrupt dtbo overlay files struct fixup_entry is allocated from the heap but it's member @@ -160040,14 +159485,11 @@ index 540a3ea..2b3b3a7 100644 /* append it to the local fixups */ fep = &dt->local_fixups; --- -2.5.0 - -From c2264c1cccd9cb6e6ae7c76e3a058aeb6299c84e Mon Sep 17 00:00:00 2001 +From c827bc6f8936ec9954718625774663148e4476f2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 16 Mar 2016 08:35:06 +0000 -Subject: [PATCH 187/212] BCM270X_DT: Add dtparam for uart1 +Subject: [PATCH 187/220] BCM270X_DT: Add dtparam for uart1 Signed-off-by: Phil Elwell --- @@ -160096,7 +159538,7 @@ index 954896e..cd0e1ac 100755 spi = <&spi0>,"status"; i2c0 = <&i2c0>,"status"; diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts -index 66523d6f..9176d57 100644 +index 66523d6..9176d57 100644 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts @@ -120,6 +120,7 @@ @@ -160133,14 +159575,11 @@ index d939739..4ce7921 100644 watchdog Set to "on" to enable the hardware watchdog (default "off") --- -2.5.0 - -From 9611f112a5e627b0f377cccfecd0e84799e650a5 Mon Sep 17 00:00:00 2001 +From 9ba1d22a7f422b0e33a83b5523a8b82e5c3fa96b Mon Sep 17 00:00:00 2001 From: Przemek Rudy Date: Fri, 11 Mar 2016 22:41:26 +0100 -Subject: [PATCH 188/212] dwc-overlay: Use label so overrides can apply. +Subject: [PATCH 188/220] dwc-overlay: Use label so overrides can apply. --- arch/arm/boot/dts/overlays/dwc2-overlay.dts | 10 +++++----- @@ -160173,14 +159612,11 @@ index 90c9811..527abc9 100644 + g-tx-fifo-size = <&dwc2_usb>,"g-tx-fifo-size:0"; }; }; --- -2.5.0 - -From c648d4f19f07b090f14ddd8679ea4154f01ce5d0 Mon Sep 17 00:00:00 2001 +From 2f1acd3434a9830ae49f28d2908770ada3d3384a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 22 Jan 2016 13:06:39 -0800 -Subject: [PATCH 189/212] drm/vc4: Add a debugfs node for tracking execution +Subject: [PATCH 189/220] drm/vc4: Add a debugfs node for tracking execution state. Signed-off-by: Eric Anholt @@ -160239,14 +159675,11 @@ index 39f29e7..1243f4e 100644 static void vc4_queue_hangcheck(struct drm_device *dev) { --- -2.5.0 - -From 4902ce61be294705ca6b1bdf84d6f1935ae78cc8 Mon Sep 17 00:00:00 2001 +From de506b61b93bf234a0e1be0d87d4cda23994d3ab Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:03:33 -0800 -Subject: [PATCH 190/212] drm/vc4: Include vc4_drm.h in uapi in downstream +Subject: [PATCH 190/220] drm/vc4: Include vc4_drm.h in uapi in downstream build. Signed-off-by: Eric Anholt @@ -160266,14 +159699,11 @@ index 38d4370..23381b5 100644 header-y += via_drm.h header-y += vmwgfx_drm.h header-y += msm_drm.h --- -2.5.0 - -From e9364538abf2079525c72496c649d28d40f2b7f9 Mon Sep 17 00:00:00 2001 +From 8fbb3e933a4bd43764228037fa15defc1dff9fcf Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:05:00 -0800 -Subject: [PATCH 191/212] drm/vc4: Validate that WAIT_BO padding is cleared. +Subject: [PATCH 191/220] drm/vc4: Validate that WAIT_BO padding is cleared. This is ABI future-proofing if we ever want to extend the pad to mean something. @@ -160297,14 +159727,11 @@ index 1243f4e..849d374 100644 gem_obj = drm_gem_object_lookup(dev, file_priv, args->handle); if (!gem_obj) { DRM_ERROR("Failed to look up GEM BO %d\n", args->handle); --- -2.5.0 - -From 87d958a5f2547128db8962d9539749ddf994984d Mon Sep 17 00:00:00 2001 +From ef720c38f364c54cce4a78d2651f45692864b186 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:52:41 -0800 -Subject: [PATCH 192/212] drm/vc4: Fix the clear color for the first tile +Subject: [PATCH 192/220] drm/vc4: Fix the clear color for the first tile rendered. Apparently in hardware (as opposed to simulation), the clear colors @@ -160352,14 +159779,11 @@ index 8a2a312..dea97f4 100644 for (y = min_y_tile; y <= max_y_tile; y++) { for (x = min_x_tile; x <= max_x_tile; x++) { bool first = (x == min_x_tile && y == min_y_tile); --- -2.5.0 - -From faa71a44d64ed4e07131355ac726fe90da932534 Mon Sep 17 00:00:00 2001 +From 50b3b6fe802180225e112ee995a76fd893abf578 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 14:13:12 -0800 -Subject: [PATCH 193/212] drm/vc4: Return an ERR_PTR from BO creation instead +Subject: [PATCH 193/220] drm/vc4: Return an ERR_PTR from BO creation instead of NULL. Fixes igt vc4_create_bo/create-bo-0 by returning -EINVAL from the @@ -160503,14 +159927,11 @@ index 0fb5b99..8396960 100644 list_add_tail(&tile_bo->unref_head, &exec->unref_list); /* tile alloc address. */ --- -2.5.0 - -From 623176f2f83b693f0200107f838cd9e81462b352 Mon Sep 17 00:00:00 2001 +From 0f16ca83c0f2657fbfada3502bcfca2316d8221e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 14:32:41 -0800 -Subject: [PATCH 194/212] drm/vc4: Fix -ERESTARTSYS error return from BO waits. +Subject: [PATCH 194/220] drm/vc4: Fix -ERESTARTSYS error return from BO waits. This caused the wait ioctls to claim that waiting had completed when we actually got interrupted by a signal before it was done. Fixes @@ -160541,14 +159962,11 @@ index f8c003a..dc3044d 100644 } static void --- -2.5.0 - -From f1598fe20200c9270f7704dc1c8934134aee553c Mon Sep 17 00:00:00 2001 +From 4c0fab266928bd56412ca57b2e58d05a7ecb3fbd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 14:33:50 -0800 -Subject: [PATCH 195/212] drm/vc4: Drop error message on seqno wait timeouts. +Subject: [PATCH 195/220] drm/vc4: Drop error message on seqno wait timeouts. These ioctls end up getting exposed to userspace, and having normal user requests print DRM errors is obviously wrong. The message was @@ -160574,14 +159992,11 @@ index dc3044d..a6fa63f 100644 return ret; } --- -2.5.0 - -From 7f87241605ce81fa96ed6db02ccf1f9a7efb9701 Mon Sep 17 00:00:00 2001 +From 6943e0f06fad8f66a1f64aa65d69e5fd090b24a1 Mon Sep 17 00:00:00 2001 From: campag Date: Wed, 24 Feb 2016 16:45:42 +0000 -Subject: [PATCH 196/212] BCM270X_DT: Add 1-bit SDIO using minimal pins... +Subject: [PATCH 196/220] BCM270X_DT: Add 1-bit SDIO using minimal pins... ... for that mode: GPIOs 22-25. --- @@ -160664,14 +160079,11 @@ index 0000000..46d4538 + sdio_overclock = <&sdio_mmc>,"brcm,overclock-50:0"; + }; +}; --- -2.5.0 - -From 2d8f51979e764adc684bb97ccabaa6e65ea9784f Mon Sep 17 00:00:00 2001 +From 793561d4d88992ffe5532e850592a99d9cd4e1f2 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 197/212] brcm: adds support for BCM43341 wifi +Subject: [PATCH 197/220] brcm: adds support for BCM43341 wifi --- drivers/net/wireless/brcm80211/brcmfmac/sdio.c | 5 +++++ @@ -160720,14 +160132,11 @@ index aa06ea2..f3ae83d 100644 #define BRCM_CC_43362_CHIP_ID 43362 #define BRCM_CC_4335_CHIP_ID 0x4335 #define BRCM_CC_4339_CHIP_ID 0x4339 --- -2.5.0 - -From 51686bb53ddd56289868a746a01ff7b01c8099c7 Mon Sep 17 00:00:00 2001 +From 2982e9b263d5ee0db255ab5407b57da6fa7e0749 Mon Sep 17 00:00:00 2001 From: Michael Heimpold Date: Fri, 29 Jan 2016 12:00:37 +0100 -Subject: [PATCH 198/212] Add overlay and enable support for QCA7000 board +Subject: [PATCH 198/220] Add overlay and enable support for QCA7000 board This adds a device tree overlay for the QCA7000 which can be used when attaching an I2SE's PLC Stamp micro EVK to the Raspberry Pi. @@ -160862,14 +160271,11 @@ index 74149cf..e720c74 100644 CONFIG_MDIO_BITBANG=m CONFIG_PPP=m CONFIG_PPP_BSDCOMP=m --- -2.5.0 - -From f49137d032857588f47edd41164968f0924e026f Mon Sep 17 00:00:00 2001 +From 54705f156e1cf790f116fb3b8308c7ce413919c0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 13:28:24 +0000 -Subject: [PATCH 199/212] serial: Take care starting a hung-up tty's port +Subject: [PATCH 199/220] serial: Take care starting a hung-up tty's port tty_port_hangup sets a port's tty field to NULL (holding the port lock), but uart_tx_stopped, called from __uart_start (with the port lock), @@ -160896,14 +160302,11 @@ index 297d4fa..00ce6c6 100644 return 1; return 0; } --- -2.5.0 - -From 7b430f6efc914a23ce58900619ae212b16a46ba4 Mon Sep 17 00:00:00 2001 +From aeacbad0b72cce451d6ca651ca264aa086b31117 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Mar 2016 10:16:16 +0000 -Subject: [PATCH 200/212] pi3-miniuart-bt-overlay: Correct and clarify info +Subject: [PATCH 200/220] pi3-miniuart-bt-overlay: Correct and clarify info Signed-off-by: Phil Elwell --- @@ -160945,14 +160348,11 @@ index f07afcb..38ed33b 100644 If cmdline.txt uses the alias serial0 to refer to the user-accessable port then the firmware will replace with the appropriate port whether or not --- -2.5.0 - -From 334bc7c31a21f7bce55866107699f2a1e31f07b4 Mon Sep 17 00:00:00 2001 +From 53476038ee92e175f761c56ec03f3160b37c3f0f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Mar 2016 10:41:56 +0000 -Subject: [PATCH 201/212] pwm overlays: Params must have in-overlay targets +Subject: [PATCH 201/220] pwm overlays: Params must have in-overlay targets --- arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts | 9 ++++++++- @@ -161005,14 +160405,11 @@ index ddd67ff..bf030a6 100644 + clock = <&frag2>,"clock-frequency:0"; }; }; --- -2.5.0 - -From a56b30a387d234e82cd586f22ccd1b2734c170fe Mon Sep 17 00:00:00 2001 +From 20fbefa704973bf5390a112aa8a41f9579e17295 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 18 Mar 2016 13:06:29 +0000 -Subject: [PATCH 202/212] BCM270X_DT: Switch Compute Module to MMC +Subject: [PATCH 202/220] BCM270X_DT: Switch Compute Module to MMC Signed-off-by: Phil Elwell --- @@ -161064,14 +160461,11 @@ index e09e499..90e330d 100644 + sd_overclock = <&mmc>,"brcm,overclock-50:0"; }; }; --- -2.5.0 - -From 0af6e86d99b38cc25814b2b1c058fc7dc8a09e0a Mon Sep 17 00:00:00 2001 +From c185b46ac9d6c2e97a08117ff34d8c9afc4b691b Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 18 Mar 2016 17:38:37 +0000 -Subject: [PATCH 203/212] dwc_otg: Don't free qh align buffers in atomic +Subject: [PATCH 203/220] dwc_otg: Don't free qh align buffers in atomic context --- @@ -161114,14 +160508,11 @@ index acd0dd7..3b2a607 100644 return; } --- -2.5.0 - -From 713b15634de730a60c3f8a633beddf83e8270659 Mon Sep 17 00:00:00 2001 +From 8a072f7bbbedeeb4a5f1861f4fdc6c3d7b5df84d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 21 Mar 2016 15:38:38 +0000 -Subject: [PATCH 204/212] dwc_otg: Enable the hack for Split Interrupt +Subject: [PATCH 204/220] dwc_otg: Enable the hack for Split Interrupt transactions by default dwc_otg.fiq_fsm_mask=0xF has long been a suggestion for users with audio stutters or other USB bandwidth issues. @@ -161148,14 +160539,11 @@ index 95edadf..cb060a7 100644 /** * This function shows the Driver Version. --- -2.5.0 - -From bc34eb8e494f45f0a18c56603f3d06e378035fb7 Mon Sep 17 00:00:00 2001 +From c807958f0a33033ff8f08bf79e97b246e949a254 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 19 Mar 2016 16:51:37 +0000 -Subject: [PATCH 205/212] BCM270X_DT: Remove explicit claiming of UART pins +Subject: [PATCH 205/220] BCM270X_DT: Remove explicit claiming of UART pins It is convenient to be able to map a different function to the UART pins (e.g. DPI for vga666) without having to disable the UART first. @@ -161247,14 +160635,11 @@ index 38ed33b..17d04cf 100644 target-path = "/aliases"; __overlay__ { serial0 = "/soc/uart@7e201000"; --- -2.5.0 - -From cc50f3828fe7e3c53178d88b978f8947965af004 Mon Sep 17 00:00:00 2001 +From 9655dc3cac7fd783da12d4f73f273d331d132d2e Mon Sep 17 00:00:00 2001 From: Rodrigo Freire Date: Tue, 22 Mar 2016 12:40:33 -0300 -Subject: [PATCH 206/212] lirc_rpi: Lower IR reception error to debug +Subject: [PATCH 206/220] lirc_rpi: Lower IR reception error to debug Lowers a IR reception error condition message to KERNEL_DEBUG --- @@ -161274,14 +160659,11 @@ index cd09c99..0624439 100644 ": AIEEEE: %d %d %lx %lx %lx %lx\n", signal, sense, tv.tv_sec, lasttv.tv_sec, tv.tv_usec, lasttv.tv_usec); --- -2.5.0 - -From e73df5dd62f01c4f81043b9892d4571a844f53f0 Mon Sep 17 00:00:00 2001 +From 373adf3fbcc120470fe4692744706f98bf5a3030 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 14:16:25 +0000 -Subject: [PATCH 207/212] vchiq_arm: Access the dequeue_pending flag locked +Subject: [PATCH 207/220] vchiq_arm: Access the dequeue_pending flag locked Reading through this code looking for another problem (now found in userland) the use of dequeue_pending outside a lock didn't seem safe. @@ -161338,14 +160720,11 @@ index e11c0e0..71883e5 100644 DEBUG_TRACE(SERVICE_CALLBACK_LINE); return add_completion(instance, reason, header, user_service, --- -2.5.0 - -From 0c0b0bcf4da549395576b4fe0f86c7323d223d8a Mon Sep 17 00:00:00 2001 +From 1323236521122fc9c55557680a79e44edfdbeab0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 15:57:14 +0000 -Subject: [PATCH 208/212] BCM270X_DT: Add pi3-act-led overlay +Subject: [PATCH 208/220] BCM270X_DT: Add pi3-act-led overlay Signed-off-by: Phil Elwell --- @@ -161443,14 +160822,11 @@ index 0000000..14a59dc + activelow = <&frag0>,"gpios:8"; + }; +}; --- -2.5.0 - -From 3b2aa82be15317803d4b789f0580551d29cd3689 Mon Sep 17 00:00:00 2001 +From b5a4fa8f9d9e97bf938acdda3806b4dfdd4cad62 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 20:53:47 +0000 -Subject: [PATCH 209/212] vchiq_arm: Service callbacks must not fail +Subject: [PATCH 209/220] vchiq_arm: Service callbacks must not fail Service callbacks are not allowed to return an error. The internal callback that delivers events and messages to user tasks does not enqueue them if @@ -161475,14 +160851,11 @@ index 71883e5..a5cc385 100644 } DEBUG_TRACE(SERVICE_CALLBACK_LINE); } --- -2.5.0 - -From 8058dba3efbfbaab969fec06d9ddc6e7bfe39112 Mon Sep 17 00:00:00 2001 +From 66dd57b8f4b8c8fcea6d755425b117ff97b8f37b Mon Sep 17 00:00:00 2001 From: Dave Stevenson <6by9@users.noreply.github.com> Date: Thu, 17 Mar 2016 18:16:16 +0000 -Subject: [PATCH 210/212] Add configs and overlay for PCA9548 I2C mux +Subject: [PATCH 210/220] Add configs and overlay for PCA9548 I2C mux Adds kernel configs for I2C muxes and a dt overlay for PCA9548 that adds the 8 muxed I2C buses and mux device. @@ -161623,14 +160996,11 @@ index e720c74..f6e2d84 100644 CONFIG_SPI=y CONFIG_SPI_BCM2835=m CONFIG_SPI_BCM2835AUX=m --- -2.5.0 - -From 29add1ee331555e816078c211619e7ae651f9d85 Mon Sep 17 00:00:00 2001 +From 05986749a2eaac35aa623be4a3d3804466c999bd Mon Sep 17 00:00:00 2001 From: Nicolas Boullis Date: Wed, 23 Mar 2016 23:40:15 +0100 -Subject: [PATCH 211/212] BCM270X_DT: Add DS1339 to i2c-rtc overlay +Subject: [PATCH 211/220] BCM270X_DT: Add DS1339 to i2c-rtc overlay --- arch/arm/boot/dts/overlays/README | 4 ++++ @@ -161689,14 +161059,11 @@ index fed4bd8..eecec16 100644 + trickle-resistor-ohms = <&ds1339>,"trickle-resistor-ohms:0"; }; }; --- -2.5.0 - -From 37869b99dabaa84934387962d3c31bb1cd56aec3 Mon Sep 17 00:00:00 2001 +From 1b76cf64a27889e293c10306126fe955bf1a9402 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 29 Mar 2016 15:32:30 +0100 -Subject: [PATCH 212/212] copy_from_user: CPU_SW_DOMAIN_PAN compatibility +Subject: [PATCH 212/220] copy_from_user: CPU_SW_DOMAIN_PAN compatibility The downstream copy_from_user acceleration must also play nice with CONFIG_CPU_SW_DOMAIN_PAN. @@ -161748,6 +161115,983 @@ index c29df92..6681df5 100644 } static unsigned long noinline --- -2.5.0 +From 1b07b9eba23bb72e9754b035ef5b806a278b3a7d Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 30 Mar 2016 16:33:09 +0100 +Subject: [PATCH 213/220] bcm2835-sdhost: Adjust to core clock changes + +The SDHOST block uses the core clock, so previously it has been +necessary to prevent the core clock from changing in order to maintain +performance and prevent accidental SD bus overclocking. + +With this patch the sdhost driver is notified of clock changes, allowing +it to delay them while an SD access is outstanding and to delay new SD +accesses while the clock is changing. This feature is disabled in the +case where the core frequency can never change. + +Now that the driver copes with changes to the core clock, it is safe +to disable the io_is_busy feature of the on-demand governor. + +Signed-off-by: Phil Elwell +--- + drivers/mmc/host/Kconfig | 1 + + drivers/mmc/host/bcm2835-sdhost.c | 140 ++++++++++++++++++++++++++++++++------ + 2 files changed, 119 insertions(+), 22 deletions(-) + +diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig +index d509d10..98a7fa5 100644 +--- a/drivers/mmc/host/Kconfig ++++ b/drivers/mmc/host/Kconfig +@@ -36,6 +36,7 @@ config MMC_BCM2835_PIO_DMA_BARRIER + config MMC_BCM2835_SDHOST + tristate "Support for the SDHost controller on BCM2708/9" + depends on MACH_BCM2708 || MACH_BCM2709 || ARCH_BCM2835 ++ depends on RASPBERRYPI_FIRMWARE + help + This selects the SDHost controller on BCM2835/6. + +diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c +index f43aae0..1deecef 100644 +--- a/drivers/mmc/host/bcm2835-sdhost.c ++++ b/drivers/mmc/host/bcm2835-sdhost.c +@@ -50,6 +50,10 @@ + #include + #include + #include ++#include ++#include ++#include ++ + + #define DRIVER_NAME "sdhost-bcm2835" + +@@ -136,6 +140,8 @@ + + #define MHZ 1000000 + ++#define RPI_FIRMWARE_CLOCK_CORE 4 ++ + + struct bcm2835_host { + spinlock_t lock; +@@ -151,7 +157,9 @@ struct bcm2835_host { + + bool slow_card; /* Force 11-bit divisor */ + +- unsigned int max_clk; /* Max possible freq */ ++ unsigned int max_clk; /* Max src clock freq */ ++ unsigned int min_clk; /* Min src clock freq */ ++ unsigned int cur_clk; /* Current src clock freq */ + + struct tasklet_struct finish_tasklet; /* Tasklet structures */ + +@@ -183,6 +191,7 @@ struct bcm2835_host { + unsigned int use_sbc:1; /* Send CMD23 */ + + unsigned int debug:1; /* Enable debug output */ ++ unsigned int variable_clock:1; /* The core clock may change */ + + /*DMA part*/ + struct dma_chan *dma_chan_rxtx; /* DMA channel for reads and writes */ +@@ -208,6 +217,9 @@ struct bcm2835_host { + u32 pio_limit; /* Maximum block count for PIO (0 = always DMA) */ + + u32 sectors; /* Cached card size in sectors */ ++ ++ struct notifier_block cpufreq_nb; /* The cpufreq callback list item */ ++ struct semaphore cpufreq_semaphore; /* Interlock between SD activity and cpufreq changes */ + }; + + #if ENABLE_LOG +@@ -227,6 +239,10 @@ static u32 sdhost_log_idx; + static spinlock_t log_lock; + static void __iomem *timer_base; + ++static int bcm2835_sdhost_cpufreq_callback(struct notifier_block *nb, ++ unsigned long action, void *data); ++static unsigned int get_core_clock(unsigned int mode); ++ + #define LOG_ENTRIES (256*1) + #define LOG_SIZE (sizeof(LOG_ENTRY_T)*LOG_ENTRIES) + +@@ -448,20 +464,14 @@ static void bcm2835_sdhost_reset(struct mmc_host *mmc) + + static void bcm2835_sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios); + +-static void bcm2835_sdhost_init(struct bcm2835_host *host, int soft) ++static void bcm2835_sdhost_init(struct bcm2835_host *host) + { +- pr_debug("bcm2835_sdhost_init(%d)\n", soft); ++ pr_debug("bcm2835_sdhost_init()\n"); + + /* Set interrupt enables */ + host->hcfg = SDHCFG_BUSY_IRPT_EN; + + bcm2835_sdhost_reset_internal(host); +- +- if (soft) { +- /* force clock reconfiguration */ +- host->clock = 0; +- bcm2835_sdhost_set_ios(host->mmc, &host->mmc->ios); +- } + } + + static void bcm2835_sdhost_wait_transfer_complete(struct bcm2835_host *host) +@@ -1499,10 +1509,10 @@ static irqreturn_t bcm2835_sdhost_irq(int irq, void *dev_id) + return result; + } + +-void bcm2835_sdhost_set_clock(struct bcm2835_host *host, unsigned int clock) ++void bcm2835_sdhost_set_clock(struct bcm2835_host *host) + { + int div = 0; /* Initialized for compiler warning */ +- unsigned int input_clock = clock; ++ unsigned int clock = host->clock; + + if (host->debug) + pr_info("%s: set_clock(%d)\n", mmc_hostname(host->mmc), clock); +@@ -1543,17 +1553,17 @@ void bcm2835_sdhost_set_clock(struct bcm2835_host *host, unsigned int clock) + return; + } + +- div = host->max_clk / clock; ++ div = host->cur_clk / clock; + if (div < 2) + div = 2; +- if ((host->max_clk / div) > clock) ++ if ((host->cur_clk / div) > clock) + div++; + div -= 2; + + if (div > SDCDIV_MAX_CDIV) + div = SDCDIV_MAX_CDIV; + +- clock = host->max_clk / (div + 2); ++ clock = host->cur_clk / (div + 2); + host->mmc->actual_clock = clock; + + /* Calibrate some delays */ +@@ -1561,7 +1571,7 @@ void bcm2835_sdhost_set_clock(struct bcm2835_host *host, unsigned int clock) + host->ns_per_fifo_word = (1000000000/clock) * + ((host->mmc->caps & MMC_CAP_4_BIT_DATA) ? 8 : 32); + +- if (clock > input_clock) { ++ if (clock > host->clock) { + /* Save the closest value, to make it easier + to reduce in the event of error */ + host->overclock_50 = (clock/MHZ); +@@ -1587,9 +1597,9 @@ void bcm2835_sdhost_set_clock(struct bcm2835_host *host, unsigned int clock) + bcm2835_sdhost_write(host, host->mmc->actual_clock/2, SDTOUT); + + if (host->debug) +- pr_info("%s: clock=%d -> max_clk=%d, cdiv=%x (actual clock %d)\n", +- mmc_hostname(host->mmc), input_clock, +- host->max_clk, host->cdiv, host->mmc->actual_clock); ++ pr_info("%s: clock=%d -> cur_clk=%d, cdiv=%x (actual clock %d)\n", ++ mmc_hostname(host->mmc), host->clock, ++ host->cur_clk, host->cdiv, host->mmc->actual_clock); + } + + static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq) +@@ -1638,6 +1648,13 @@ static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq + (mrq->data->blocks > host->pio_limit)) + bcm2835_sdhost_prepare_dma(host, mrq->data); + ++ if (host->variable_clock && ++ (down_killable(&host->cpufreq_semaphore) != 0)) { ++ mrq->cmd->error = -EINTR; ++ mmc_request_done(mmc, mrq); ++ return; ++ } ++ + spin_lock_irqsave(&host->lock, flags); + + WARN_ON(host->mrq != NULL); +@@ -1687,6 +1704,52 @@ static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq + spin_unlock_irqrestore(&host->lock, flags); + } + ++static int bcm2835_sdhost_cpufreq_callback(struct notifier_block *nb, ++ unsigned long action, void *data) ++{ ++ struct cpufreq_freqs *freq = data; ++ struct bcm2835_host *host; ++ ++ host = container_of(nb, struct bcm2835_host, cpufreq_nb); ++ ++ if (freq->cpu == 0) { ++ switch (action) { ++ case CPUFREQ_PRECHANGE: ++ if (down_killable(&host->cpufreq_semaphore) != 0) ++ return NOTIFY_BAD; ++ break; ++ case CPUFREQ_POSTCHANGE: ++ if (freq->new > freq->old) ++ host->cur_clk = host->max_clk; ++ else ++ host->cur_clk = host->min_clk; ++ bcm2835_sdhost_set_clock(host); ++ up(&host->cpufreq_semaphore); ++ break; ++ default: ++ break; ++ } ++ } ++ return NOTIFY_OK; ++} ++ ++static unsigned int get_core_clock(unsigned int mode) ++{ ++ struct rpi_firmware *fw = rpi_firmware_get(NULL); ++ struct { ++ u32 id; ++ u32 val; ++ } packet; ++ int ret; ++ ++ packet.id = RPI_FIRMWARE_CLOCK_CORE; ++ ret = rpi_firmware_property(fw, mode, &packet, sizeof(packet)); ++ if (ret) ++ return 0; ++ ++ return packet.val; ++} ++ + static void bcm2835_sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) + { + +@@ -1700,13 +1763,16 @@ static void bcm2835_sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) + ios->clock, ios->power_mode, ios->bus_width, + ios->timing, ios->signal_voltage, ios->drv_type); + ++ if (ios->clock && !host->cur_clk) ++ host->cur_clk = get_core_clock(RPI_FIRMWARE_GET_CLOCK_RATE); ++ + spin_lock_irqsave(&host->lock, flags); + + log_event("IOS<", ios->clock, 0); + + if (!ios->clock || ios->clock != host->clock) { +- bcm2835_sdhost_set_clock(host, ios->clock); + host->clock = ios->clock; ++ bcm2835_sdhost_set_clock(host); + } + + /* set bus width */ +@@ -1795,7 +1861,7 @@ static void bcm2835_sdhost_tasklet_finish(unsigned long param) + host->overclock_50--; + pr_warn("%s: reducing overclock due to errors\n", + mmc_hostname(host->mmc)); +- bcm2835_sdhost_set_clock(host,50*MHZ); ++ bcm2835_sdhost_set_clock(host); + mrq->cmd->error = -EILSEQ; + mrq->cmd->retries = 1; + } +@@ -1813,6 +1879,9 @@ static void bcm2835_sdhost_tasklet_finish(unsigned long param) + + spin_unlock_irqrestore(&host->lock, flags); + ++ if (host->variable_clock) ++ up(&host->cpufreq_semaphore); ++ + if (terminate_chan) + { + int err = dmaengine_terminate_all(terminate_chan); +@@ -1915,10 +1984,10 @@ int bcm2835_sdhost_add_host(struct bcm2835_host *host) + setup_timer(&host->timer, bcm2835_sdhost_timeout, + (unsigned long)host); + +- bcm2835_sdhost_init(host, 0); ++ bcm2835_sdhost_init(host); + + ret = request_irq(host->irq, bcm2835_sdhost_irq, 0 /*IRQF_SHARED*/, +- mmc_hostname(mmc), host); ++ mmc_hostname(mmc), host); + if (ret) { + pr_err("%s: failed to request IRQ %d: %d\n", + mmc_hostname(mmc), host->irq, ret); +@@ -1953,6 +2022,7 @@ static int bcm2835_sdhost_probe(struct platform_device *pdev) + struct bcm2835_host *host; + struct mmc_host *mmc; + const __be32 *addr; ++ unsigned int max_clk; + int ret; + + pr_debug("bcm2835_sdhost_probe\n"); +@@ -2062,6 +2132,28 @@ static int bcm2835_sdhost_probe(struct platform_device *pdev) + if (ret) + goto err; + ++ /* Query the core clock frequencies */ ++ host->min_clk = get_core_clock(RPI_FIRMWARE_GET_MIN_CLOCK_RATE); ++ max_clk = get_core_clock(RPI_FIRMWARE_GET_MAX_CLOCK_RATE); ++ if (max_clk != host->max_clk) { ++ pr_warn("%s: Expected max clock %d, found %d\n", ++ mmc_hostname(mmc), host->max_clk, max_clk); ++ host->max_clk = max_clk; ++ } ++ ++ if (host->min_clk != host->max_clk) { ++ host->cpufreq_nb.notifier_call = ++ bcm2835_sdhost_cpufreq_callback; ++ sema_init(&host->cpufreq_semaphore, 1); ++ cpufreq_register_notifier(&host->cpufreq_nb, ++ CPUFREQ_TRANSITION_NOTIFIER); ++ host->variable_clock = 1; ++ host->cur_clk = 0; /* Get this later */ ++ } else { ++ host->variable_clock = 0; ++ host->cur_clk = host->max_clk; ++ } ++ + platform_set_drvdata(pdev, host); + + pr_debug("bcm2835_sdhost_probe -> OK\n"); +@@ -2081,6 +2173,10 @@ static int bcm2835_sdhost_remove(struct platform_device *pdev) + + pr_debug("bcm2835_sdhost_remove\n"); + ++ if (host->variable_clock) ++ cpufreq_unregister_notifier(&host->cpufreq_nb, ++ CPUFREQ_TRANSITION_NOTIFIER); ++ + mmc_remove_host(host->mmc); + + bcm2835_sdhost_set_power(host, false); + +From 5218b8ec0c8bcc1c30812dd67978c12b91cb7237 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 30 Mar 2016 17:07:15 +0100 +Subject: [PATCH 214/220] BCM270X_DT: Document hazards of sdhost overlay + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/README | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index e88e7c8..337be4a 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -712,7 +712,11 @@ Params: + + + Name: sdhost +-Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock ++Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock. ++ N.B. This overlay is designed for situations where the mmc driver is ++ the default, so it disables the other (mmc) interface - this will kill ++ WiFi on a Pi3. If this isn't what you want, either use the sdtweak ++ overlay or the new sd_* dtparams of the base DTBs. + Load: dtoverlay=sdhost,= + Params: overclock_50 Clock (in MHz) to use when the MMC framework + requests 50MHz +@@ -771,6 +775,8 @@ Params: overclock_50 SD Clock (in MHz) to use when the MMC framework + + Name: sdtweak + Info: Tunes the bcm2835-sdhost SD/MMC driver ++ N.B. This functionality is now available via the sd_* dtparams in the ++ base DTB. + Load: dtoverlay=sdtweak,= + Params: overclock_50 Clock (in MHz) to use when the MMC framework + requests 50MHz + +From 543bfd50bf9f77cc2f88607f305e272f268d9a01 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 30 Mar 2016 17:23:15 +0100 +Subject: [PATCH 215/220] cpufreq: Temporarily ignore io_is_busy=1 + +To speed testing of the new sdhost driver that adapts to changes in +core_freq, hack the on-demand governor to treat io_is_busy=1 as +io_is_busy=0. The io_is_busy feature can still be forced using +io_is_busy=2. + +Signed-off-by: Phil Elwell +--- + drivers/cpufreq/cpufreq_ondemand.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c +index 03ac6ce..99a9610 100644 +--- a/drivers/cpufreq/cpufreq_ondemand.c ++++ b/drivers/cpufreq/cpufreq_ondemand.c +@@ -307,7 +307,12 @@ static ssize_t store_io_is_busy(struct dbs_data *dbs_data, const char *buf, + ret = sscanf(buf, "%u", &input); + if (ret != 1) + return -EINVAL; +- od_tuners->io_is_busy = !!input; ++ // XXX temporary hack ++ if (input > 1) ++ input = 1; ++ else ++ input = 0; ++ od_tuners->io_is_busy = input; + + /* we need to re-evaluate prev_cpu_idle */ + for_each_online_cpu(j) { + +From be52d947f0b06bf64639d20a88d0700b56ee25fa Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 30 Mar 2016 20:18:38 +0100 +Subject: [PATCH 216/220] Revert "cpufreq: Temporarily ignore io_is_busy=1" + +This reverts commit 2af1218a8a0220fec526f64d03977b8451afb4c8. +--- + drivers/cpufreq/cpufreq_ondemand.c | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c +index 99a9610..03ac6ce 100644 +--- a/drivers/cpufreq/cpufreq_ondemand.c ++++ b/drivers/cpufreq/cpufreq_ondemand.c +@@ -307,12 +307,7 @@ static ssize_t store_io_is_busy(struct dbs_data *dbs_data, const char *buf, + ret = sscanf(buf, "%u", &input); + if (ret != 1) + return -EINVAL; +- // XXX temporary hack +- if (input > 1) +- input = 1; +- else +- input = 0; +- od_tuners->io_is_busy = input; ++ od_tuners->io_is_busy = !!input; + + /* we need to re-evaluate prev_cpu_idle */ + for_each_online_cpu(j) { + +From 2163c89a75611d21451e5a5723160cefe1d276b5 Mon Sep 17 00:00:00 2001 +From: Daniel Borkmann +Date: Thu, 7 Jan 2016 15:50:22 +0100 +Subject: [PATCH 217/220] net, sched: add skb_at_tc_ingress helper + +Add a skb_at_tc_ingress() as this will be needed elsewhere as well and +can hide the ugly ifdef. + +Signed-off-by: Daniel Borkmann +Acked-by: Alexei Starovoitov +Signed-off-by: David S. Miller +--- + include/net/sch_generic.h | 9 +++++++++ + net/sched/cls_bpf.c | 6 +----- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h +index b2a8e63..636a362 100644 +--- a/include/net/sch_generic.h ++++ b/include/net/sch_generic.h +@@ -407,6 +407,15 @@ bool tcf_destroy(struct tcf_proto *tp, bool force); + void tcf_destroy_chain(struct tcf_proto __rcu **fl); + int skb_do_redirect(struct sk_buff *); + ++static inline bool skb_at_tc_ingress(const struct sk_buff *skb) ++{ ++#ifdef CONFIG_NET_CLS_ACT ++ return G_TC_AT(skb->tc_verd) & AT_INGRESS; ++#else ++ return false; ++#endif ++} ++ + /* Reset all TX qdiscs greater then index of a device. */ + static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i) + { +diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c +index 5faaa54..b3c8bb4 100644 +--- a/net/sched/cls_bpf.c ++++ b/net/sched/cls_bpf.c +@@ -79,12 +79,8 @@ static int cls_bpf_classify(struct sk_buff *skb, const struct tcf_proto *tp, + struct tcf_result *res) + { + struct cls_bpf_head *head = rcu_dereference_bh(tp->root); ++ bool at_ingress = skb_at_tc_ingress(skb); + struct cls_bpf_prog *prog; +-#ifdef CONFIG_NET_CLS_ACT +- bool at_ingress = G_TC_AT(skb->tc_verd) & AT_INGRESS; +-#else +- bool at_ingress = false; +-#endif + int ret = -1; + + if (unlikely(!skb_mac_header_was_set(skb))) + +From 2ed858c4003bb16683124b3d5848c9e0a4f6d4f2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Linus=20L=C3=BCssing?= +Date: Wed, 24 Feb 2016 04:21:42 +0100 +Subject: [PATCH 218/220] net: fix bridge multicast packet checksum validation +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We need to update the skb->csum after pulling the skb, otherwise +an unnecessary checksum (re)computation can ocure for IGMP/MLD packets +in the bridge code. Additionally this fixes the following splats for +network devices / bridge ports with support for and enabled RX checksum +offloading: + +[...] +[ 43.986968] eth0: hw csum failure +[ 43.990344] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.4.0 #2 +[ 43.996193] Hardware name: BCM2709 +[ 43.999647] [<800204e0>] (unwind_backtrace) from [<8001cf14>] (show_stack+0x10/0x14) +[ 44.007432] [<8001cf14>] (show_stack) from [<801ab614>] (dump_stack+0x80/0x90) +[ 44.014695] [<801ab614>] (dump_stack) from [<802e4548>] (__skb_checksum_complete+0x6c/0xac) +[ 44.023090] [<802e4548>] (__skb_checksum_complete) from [<803a055c>] (ipv6_mc_validate_checksum+0x104/0x178) +[ 44.032959] [<803a055c>] (ipv6_mc_validate_checksum) from [<802e111c>] (skb_checksum_trimmed+0x130/0x188) +[ 44.042565] [<802e111c>] (skb_checksum_trimmed) from [<803a06e8>] (ipv6_mc_check_mld+0x118/0x338) +[ 44.051501] [<803a06e8>] (ipv6_mc_check_mld) from [<803b2c98>] (br_multicast_rcv+0x5dc/0xd00) +[ 44.060077] [<803b2c98>] (br_multicast_rcv) from [<803aa510>] (br_handle_frame_finish+0xac/0x51c) +[...] + +Fixes: 9afd85c9e455 ("net: Export IGMP/MLD message validation code") +Reported-by: Álvaro Fernández Rojas +Signed-off-by: Linus Lüssing +Signed-off-by: David S. Miller +--- + net/core/skbuff.c | 22 ++++++++++++++++++++-- + 1 file changed, 20 insertions(+), 2 deletions(-) + +diff --git a/net/core/skbuff.c b/net/core/skbuff.c +index 5bf88f5..8616d11 100644 +--- a/net/core/skbuff.c ++++ b/net/core/skbuff.c +@@ -2948,6 +2948,24 @@ int skb_append_pagefrags(struct sk_buff *skb, struct page *page, + EXPORT_SYMBOL_GPL(skb_append_pagefrags); + + /** ++ * skb_push_rcsum - push skb and update receive checksum ++ * @skb: buffer to update ++ * @len: length of data pulled ++ * ++ * This function performs an skb_push on the packet and updates ++ * the CHECKSUM_COMPLETE checksum. It should be used on ++ * receive path processing instead of skb_push unless you know ++ * that the checksum difference is zero (e.g., a valid IP header) ++ * or you are setting ip_summed to CHECKSUM_NONE. ++ */ ++static unsigned char *skb_push_rcsum(struct sk_buff *skb, unsigned len) ++{ ++ skb_push(skb, len); ++ skb_postpush_rcsum(skb, skb->data, len); ++ return skb->data; ++} ++ ++/** + * skb_pull_rcsum - pull skb and update receive checksum + * @skb: buffer to update + * @len: length of data pulled +@@ -4084,9 +4102,9 @@ struct sk_buff *skb_checksum_trimmed(struct sk_buff *skb, + if (!pskb_may_pull(skb_chk, offset)) + goto err; + +- __skb_pull(skb_chk, offset); ++ skb_pull_rcsum(skb_chk, offset); + ret = skb_chkf(skb_chk); +- __skb_push(skb_chk, offset); ++ skb_push_rcsum(skb_chk, offset); + + if (ret) + goto err; + +From 8df7ac6bc025d2d4862c95cb5f954519533b75a7 Mon Sep 17 00:00:00 2001 +From: Daniel Borkmann +Date: Thu, 7 Jan 2016 15:50:23 +0100 +Subject: [PATCH 219/220] bpf: add skb_postpush_rcsum and fix dev_forward_skb + occasions + +Add a small helper skb_postpush_rcsum() and fix up redirect locations +that need CHECKSUM_COMPLETE fixups on ingress. dev_forward_skb() expects +a proper csum that covers also Ethernet header, f.e. since 2c26d34bbcc0 +("net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding"), we +also do skb_postpull_rcsum() after pulling Ethernet header off via +eth_type_trans(). + +When using eBPF in a netns setup f.e. with vxlan in collect metadata mode, +I can trigger the following csum issue with an IPv6 setup: + + [ 505.144065] dummy1: hw csum failure + [...] + [ 505.144108] Call Trace: + [ 505.144112] [] dump_stack+0x44/0x5c + [ 505.144134] [] netdev_rx_csum_fault+0x3a/0x40 + [ 505.144142] [] __skb_checksum_complete+0xcf/0xe0 + [ 505.144149] [] nf_ip6_checksum+0xb2/0x120 + [ 505.144161] [] icmpv6_error+0x17e/0x328 [nf_conntrack_ipv6] + [ 505.144170] [] ? ip6t_do_table+0x2fa/0x645 [ip6_tables] + [ 505.144177] [] ? ipv6_get_l4proto+0x65/0xd0 [nf_conntrack_ipv6] + [ 505.144189] [] nf_conntrack_in+0xc2/0x5a0 [nf_conntrack] + [ 505.144196] [] ipv6_conntrack_in+0x1c/0x20 [nf_conntrack_ipv6] + [ 505.144204] [] nf_iterate+0x5d/0x70 + [ 505.144210] [] nf_hook_slow+0x66/0xc0 + [ 505.144218] [] ipv6_rcv+0x3f2/0x4f0 + [ 505.144225] [] ? ip6_make_skb+0x1b0/0x1b0 + [ 505.144232] [] __netif_receive_skb_core+0x36b/0x9a0 + [ 505.144239] [] ? __netif_receive_skb+0x18/0x60 + [ 505.144245] [] __netif_receive_skb+0x18/0x60 + [ 505.144252] [] process_backlog+0x9f/0x140 + [ 505.144259] [] net_rx_action+0x145/0x320 + [...] + +What happens is that on ingress, we push Ethernet header back in, either +from cls_bpf or right before skb_do_redirect(), but without updating csum. +The "hw csum failure" can be fixed by using the new skb_postpush_rcsum() +helper for the dev_forward_skb() case to correct the csum diff again. + +Thanks to Hannes Frederic Sowa for the csum_partial() idea! + +Fixes: 3896d655f4d4 ("bpf: introduce bpf_clone_redirect() helper") +Fixes: 27b29f63058d ("bpf: add bpf_redirect() helper") +Signed-off-by: Daniel Borkmann +Acked-by: Alexei Starovoitov +Signed-off-by: David S. Miller +--- + include/linux/skbuff.h | 17 +++++++++++++++++ + net/core/filter.c | 17 +++++++++++++---- + 2 files changed, 30 insertions(+), 4 deletions(-) + +diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h +index 75f136a..d84c593 100644 +--- a/include/linux/skbuff.h ++++ b/include/linux/skbuff.h +@@ -2724,6 +2724,23 @@ static inline void skb_postpull_rcsum(struct sk_buff *skb, + + unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len); + ++static inline void skb_postpush_rcsum(struct sk_buff *skb, ++ const void *start, unsigned int len) ++{ ++ /* For performing the reverse operation to skb_postpull_rcsum(), ++ * we can instead of ... ++ * ++ * skb->csum = csum_add(skb->csum, csum_partial(start, len, 0)); ++ * ++ * ... just use this equivalent version here to save a few ++ * instructions. Feeding csum of 0 in csum_partial() and later ++ * on adding skb->csum is equivalent to feed skb->csum in the ++ * first place. ++ */ ++ if (skb->ip_summed == CHECKSUM_COMPLETE) ++ skb->csum = csum_partial(start, len, skb->csum); ++} ++ + /** + * pskb_trim_rcsum - trim received skb and update checksum + * @skb: buffer to trim +diff --git a/net/core/filter.c b/net/core/filter.c +index 37157c4..6e337ea 100644 +--- a/net/core/filter.c ++++ b/net/core/filter.c +@@ -1288,8 +1288,9 @@ static u64 bpf_skb_store_bytes(u64 r1, u64 r2, u64 r3, u64 r4, u64 flags) + /* skb_store_bits cannot return -EFAULT here */ + skb_store_bits(skb, offset, ptr, len); + +- if (BPF_RECOMPUTE_CSUM(flags) && skb->ip_summed == CHECKSUM_COMPLETE) +- skb->csum = csum_add(skb->csum, csum_partial(ptr, len, 0)); ++ if (BPF_RECOMPUTE_CSUM(flags)) ++ skb_postpush_rcsum(skb, ptr, len); ++ + return 0; + } + +@@ -1415,8 +1416,12 @@ static u64 bpf_clone_redirect(u64 r1, u64 ifindex, u64 flags, u64 r4, u64 r5) + if (unlikely(!skb2)) + return -ENOMEM; + +- if (BPF_IS_REDIRECT_INGRESS(flags)) ++ if (BPF_IS_REDIRECT_INGRESS(flags)) { ++ if (skb_at_tc_ingress(skb2)) ++ skb_postpush_rcsum(skb2, skb_mac_header(skb2), ++ skb2->mac_len); + return dev_forward_skb(dev, skb2); ++ } + + skb2->dev = dev; + skb_sender_cpu_clear(skb2); +@@ -1459,8 +1464,12 @@ int skb_do_redirect(struct sk_buff *skb) + return -EINVAL; + } + +- if (BPF_IS_REDIRECT_INGRESS(ri->flags)) ++ if (BPF_IS_REDIRECT_INGRESS(ri->flags)) { ++ if (skb_at_tc_ingress(skb)) ++ skb_postpush_rcsum(skb, skb_mac_header(skb), ++ skb->mac_len); + return dev_forward_skb(dev, skb); ++ } + + skb->dev = dev; + skb_sender_cpu_clear(skb); + +From d7266f9f0bf5a3b3ed41f904d615b2bbf6e48289 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 31 Mar 2016 15:44:53 +0100 +Subject: [PATCH 220/220] bcm2835-sdhost: Precalc divisors and overclocks + +Recalculating the clock divisors when the core clock changes is wasteful +and makes it harder to manage the overclock settings. Instead, +precalculate them and only report significant changes. + +Signed-off-by: Phil Elwell +--- + drivers/mmc/host/bcm2835-sdhost.c | 152 ++++++++++++++++++++++---------------- + 1 file changed, 88 insertions(+), 64 deletions(-) + +diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c +index 1deecef..cc18ec8 100644 +--- a/drivers/mmc/host/bcm2835-sdhost.c ++++ b/drivers/mmc/host/bcm2835-sdhost.c +@@ -154,12 +154,15 @@ struct bcm2835_host { + u32 pio_timeout; /* In jiffies */ + + int clock; /* Current clock speed */ ++ int clocks[2]; + + bool slow_card; /* Force 11-bit divisor */ + + unsigned int max_clk; /* Max src clock freq */ +- unsigned int min_clk; /* Min src clock freq */ +- unsigned int cur_clk; /* Current src clock freq */ ++ unsigned int src_clks[2]; /* Min/max src clock freqs */ ++ unsigned int cur_clk_idx; /* Index of current clock */ ++ unsigned int next_clk_idx; /* Next clock index */ ++ unsigned int cdivs[2]; + + struct tasklet_struct finish_tasklet; /* Tasklet structures */ + +@@ -213,7 +216,7 @@ struct bcm2835_host { + u32 delay_after_stop; /* minimum time between stop and subsequent data transfer */ + u32 delay_after_this_stop; /* minimum time between this stop and subsequent data transfer */ + u32 overclock_50; /* frequency to use when 50MHz is requested (in MHz) */ +- u32 overclock; /* Current frequency if overclocked, else zero */ ++ u32 prev_overclock_50; + u32 pio_limit; /* Maximum block count for PIO (0 = always DMA) */ + + u32 sectors; /* Cached card size in sectors */ +@@ -1509,10 +1512,35 @@ static irqreturn_t bcm2835_sdhost_irq(int irq, void *dev_id) + return result; + } + ++static void bcm2835_sdhost_select_clock(struct bcm2835_host *host, int idx) ++{ ++ unsigned int clock = host->clocks[idx]; ++ unsigned int cdiv = host->cdivs[idx]; ++ ++ host->mmc->actual_clock = clock; ++ host->ns_per_fifo_word = (1000000000/clock) * ++ ((host->mmc->caps & MMC_CAP_4_BIT_DATA) ? 8 : 32); ++ ++ host->cdiv = cdiv; ++ bcm2835_sdhost_write(host, host->cdiv, SDCDIV); ++ ++ /* Set the timeout to 500ms */ ++ bcm2835_sdhost_write(host, clock/2, SDTOUT); ++ ++ host->cur_clk_idx = host->next_clk_idx = idx; ++ ++ if (host->debug) ++ pr_info("%s: clock=%d -> src_clk=%d, cdiv=%x (actual %d)\n", ++ mmc_hostname(host->mmc), host->clock, ++ host->src_clks[idx], host->cdiv, ++ host->mmc->actual_clock); ++} ++ + void bcm2835_sdhost_set_clock(struct bcm2835_host *host) + { + int div = 0; /* Initialized for compiler warning */ + unsigned int clock = host->clock; ++ int clk_idx; + + if (host->debug) + pr_info("%s: set_clock(%d)\n", mmc_hostname(host->mmc), clock); +@@ -1553,53 +1581,45 @@ void bcm2835_sdhost_set_clock(struct bcm2835_host *host) + return; + } + +- div = host->cur_clk / clock; +- if (div < 2) +- div = 2; +- if ((host->cur_clk / div) > clock) +- div++; +- div -= 2; +- +- if (div > SDCDIV_MAX_CDIV) +- div = SDCDIV_MAX_CDIV; +- +- clock = host->cur_clk / (div + 2); +- host->mmc->actual_clock = clock; +- +- /* Calibrate some delays */ +- +- host->ns_per_fifo_word = (1000000000/clock) * +- ((host->mmc->caps & MMC_CAP_4_BIT_DATA) ? 8 : 32); +- +- if (clock > host->clock) { +- /* Save the closest value, to make it easier +- to reduce in the event of error */ +- host->overclock_50 = (clock/MHZ); +- +- if (clock != host->overclock) { +- pr_warn("%s: overclocking to %dHz\n", +- mmc_hostname(host->mmc), clock); +- host->overclock = clock; +- } +- } +- else if (host->overclock) ++ /* Calculate the clock divisors */ ++ for (clk_idx = 0; clk_idx <= host->variable_clock; clk_idx++) + { +- host->overclock = 0; +- if (clock == 50 * MHZ) +- pr_warn("%s: cancelling overclock\n", +- mmc_hostname(host->mmc)); ++ unsigned int cur_clk = host->src_clks[clk_idx]; ++ unsigned int actual_clock; ++ ++ div = cur_clk / clock; ++ if (div < 2) ++ div = 2; ++ if ((cur_clk / div) > clock) ++ div++; ++ div -= 2; ++ ++ if (div > SDCDIV_MAX_CDIV) ++ div = SDCDIV_MAX_CDIV; ++ actual_clock = cur_clk / (div + 2); ++ ++ host->cdivs[clk_idx] = div; ++ host->clocks[clk_idx] = actual_clock; ++ ++ if (host->overclock_50 != host->prev_overclock_50) { ++ const char *clk_name = ""; ++ if (host->variable_clock) ++ clk_name = clk_idx ? " (turbo)" : " (normal)"; ++ if (actual_clock > host->clock) ++ pr_info("%s: overclocking to %dHz%s\n", ++ mmc_hostname(host->mmc), ++ actual_clock, clk_name); ++ else if ((host->overclock_50 < 50) && (clk_idx == 0)) ++ pr_info("%s: cancelling overclock%s\n", ++ mmc_hostname(host->mmc), ++ host->variable_clock ? "s" : ""); ++ } + } + +- host->cdiv = div; +- bcm2835_sdhost_write(host, host->cdiv, SDCDIV); +- +- /* Set the timeout to 500ms */ +- bcm2835_sdhost_write(host, host->mmc->actual_clock/2, SDTOUT); ++ if (host->clock == 50*MHZ) ++ host->prev_overclock_50 = host->overclock_50; + +- if (host->debug) +- pr_info("%s: clock=%d -> cur_clk=%d, cdiv=%x (actual clock %d)\n", +- mmc_hostname(host->mmc), host->clock, +- host->cur_clk, host->cdiv, host->mmc->actual_clock); ++ bcm2835_sdhost_select_clock(host, host->cur_clk_idx); + } + + static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq) +@@ -1657,6 +1677,9 @@ static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq + + spin_lock_irqsave(&host->lock, flags); + ++ if (host->next_clk_idx != host->cur_clk_idx) ++ bcm2835_sdhost_select_clock(host, host->next_clk_idx); ++ + WARN_ON(host->mrq != NULL); + host->mrq = mrq; + +@@ -1719,11 +1742,7 @@ static int bcm2835_sdhost_cpufreq_callback(struct notifier_block *nb, + return NOTIFY_BAD; + break; + case CPUFREQ_POSTCHANGE: +- if (freq->new > freq->old) +- host->cur_clk = host->max_clk; +- else +- host->cur_clk = host->min_clk; +- bcm2835_sdhost_set_clock(host); ++ host->next_clk_idx = (freq->new > freq->old); + up(&host->cpufreq_semaphore); + break; + default: +@@ -1763,8 +1782,11 @@ static void bcm2835_sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) + ios->clock, ios->power_mode, ios->bus_width, + ios->timing, ios->signal_voltage, ios->drv_type); + +- if (ios->clock && !host->cur_clk) +- host->cur_clk = get_core_clock(RPI_FIRMWARE_GET_CLOCK_RATE); ++ if (ios->clock && (host->cur_clk_idx == -1)) { ++ unsigned int cur_clk = ++ get_core_clock(RPI_FIRMWARE_GET_CLOCK_RATE); ++ host->cur_clk_idx = (cur_clk == host->src_clks[0]) ? 0 : 1; ++ } + + spin_lock_irqsave(&host->lock, flags); + +@@ -1854,11 +1876,12 @@ static void bcm2835_sdhost_tasklet_finish(unsigned long param) + + /* Drop the overclock after any data corruption, or after any + error overclocked */ +- if (host->overclock) { ++ if (host->clock > 50*MHZ) { + if ((mrq->cmd && mrq->cmd->error) || + (mrq->data && mrq->data->error) || + (mrq->stop && mrq->stop->error)) { +- host->overclock_50--; ++ host->overclock_50 = (host->clock/MHZ) - 1; ++ + pr_warn("%s: reducing overclock due to errors\n", + mmc_hostname(host->mmc)); + bcm2835_sdhost_set_clock(host); +@@ -2022,7 +2045,7 @@ static int bcm2835_sdhost_probe(struct platform_device *pdev) + struct bcm2835_host *host; + struct mmc_host *mmc; + const __be32 *addr; +- unsigned int max_clk; ++ unsigned int max_clk, min_clk; + int ret; + + pr_debug("bcm2835_sdhost_probe\n"); +@@ -2128,12 +2151,8 @@ static int bcm2835_sdhost_probe(struct platform_device *pdev) + else + mmc->caps |= MMC_CAP_4_BIT_DATA; + +- ret = bcm2835_sdhost_add_host(host); +- if (ret) +- goto err; +- + /* Query the core clock frequencies */ +- host->min_clk = get_core_clock(RPI_FIRMWARE_GET_MIN_CLOCK_RATE); ++ min_clk = get_core_clock(RPI_FIRMWARE_GET_MIN_CLOCK_RATE); + max_clk = get_core_clock(RPI_FIRMWARE_GET_MAX_CLOCK_RATE); + if (max_clk != host->max_clk) { + pr_warn("%s: Expected max clock %d, found %d\n", +@@ -2141,19 +2160,24 @@ static int bcm2835_sdhost_probe(struct platform_device *pdev) + host->max_clk = max_clk; + } + +- if (host->min_clk != host->max_clk) { ++ host->src_clks[0] = min_clk; ++ host->cur_clk_idx = -1; ++ if (max_clk != min_clk) { ++ host->src_clks[1] = max_clk; + host->cpufreq_nb.notifier_call = + bcm2835_sdhost_cpufreq_callback; + sema_init(&host->cpufreq_semaphore, 1); + cpufreq_register_notifier(&host->cpufreq_nb, + CPUFREQ_TRANSITION_NOTIFIER); + host->variable_clock = 1; +- host->cur_clk = 0; /* Get this later */ + } else { + host->variable_clock = 0; +- host->cur_clk = host->max_clk; + } + ++ ret = bcm2835_sdhost_add_host(host); ++ if (ret) ++ goto err; ++ + platform_set_drvdata(pdev, host); + + pr_debug("bcm2835_sdhost_probe -> OK\n"); diff --git a/projects/RPi2/patches/linux/linux-01-RPi_support.patch b/projects/RPi2/patches/linux/linux-01-RPi_support.patch index c2039a5f5b..403d52b6e3 100644 --- a/projects/RPi2/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi2/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ From 23b133903a357066adb48bceb76aba8bd30d8c66 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 001/212] smsx95xx: fix crimes against truesize +Subject: [PATCH 001/220] 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. @@ -35,14 +35,11 @@ index 66b3ab9..b544181 usbnet_skb_return(dev, ax_skb); } --- -2.5.0 - From e7515ee9af1d150d50b55d8f8f53d735a23cb253 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 17 Apr 2015 16:58:45 +0100 -Subject: [PATCH 002/212] smsc95xx: Disable turbo mode by default +Subject: [PATCH 002/220] smsc95xx: Disable turbo mode by default --- drivers/net/usb/smsc95xx.c | 2 +- @@ -61,14 +58,11 @@ index b544181..9c0da18 100755 module_param(turbo_mode, bool, 0644); MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction"); --- -2.5.0 - From 849ff5353023c95d40040ecfd279e216074b3d1c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Jun 2014 13:42:01 +0100 -Subject: [PATCH 003/212] vmstat: Workaround for issue where dirty page count +Subject: [PATCH 003/220] vmstat: Workaround for issue where dirty page count goes negative See: @@ -94,14 +88,11 @@ index 3e5d907..2539068 100644 } static inline void __inc_zone_page_state(struct page *page, --- -2.5.0 - From d29365673ed37e7688bd3f35c4a5ad719f878190 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 004/212] BCM2835_DT: Fix I2S register map +Subject: [PATCH 004/220] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -154,14 +145,11 @@ index aef64de..864a3ef 100644 dmas = <&dma 2>, <&dma 3>; --- -2.5.0 - From c891de13b385afb3e4b2c97ac5bbea7e2d97252f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 005/212] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 005/220] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -191,14 +179,11 @@ index f687082..4cd8ebe 100644 u32 hwirq = ffs(stat) - 1; handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs); --- -2.5.0 - From 60f7ee79b375d72f5ef46ec542b925b1f1428bad 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 006/212] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 006/220] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -326,14 +311,11 @@ index bf9cc5f..3f601f9 100644 return 0; } --- -2.5.0 - From 890dccbb9c60be182adefb61b3ede805ccba1a91 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 007/212] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 007/220] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -428,14 +410,11 @@ index 3f601f9..20deb28 100644 /* Make a duplicate irq range which is used to enable FIQ */ for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { --- -2.5.0 - From 9a27662aac88f95b3de1915333a0265614f88a0d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 30 Jun 2015 14:12:42 +0100 -Subject: [PATCH 008/212] serial: 8250: Don't crash when nr_uarts is 0 +Subject: [PATCH 008/220] serial: 8250: Don't crash when nr_uarts is 0 --- drivers/tty/serial/8250/8250_core.c | 2 ++ @@ -454,14 +433,11 @@ index 3912646..b51a59c 100644 for (i = 0; i < nr_uarts; i++) { struct uart_8250_port *up = &serial8250_ports[i]; --- -2.5.0 - From 4d7ff05e4d4d8d8adb4e7b4dd5fa8f63ae2be0f6 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 009/212] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 009/220] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -482,14 +458,11 @@ index 2e6ca69..62cc363 100644 .ngpio = BCM2835_NUM_GPIOS, .can_sleep = false, }; --- -2.5.0 - From 969dc44a700e1be13c3f80445d40c1fe51cc4370 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 010/212] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 010/220] pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53 Contrary to the documentation, the BCM2835 GPIO controller actually has @@ -634,14 +607,11 @@ index 62cc363..ab345f4 100644 .of_match_table = bcm2835_pinctrl_match, }, }; --- -2.5.0 - From b949246bf51fa852bad45136cdd6bcd91a29539e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 011/212] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 011/220] pinctrl-bcm2835: Only request the interrupts listed in the DTB Although the GPIO controller can generate three interrupts (four counting @@ -667,14 +637,11 @@ index ab345f4..640e3b0 100644 pc->irq_data[i].pc = pc; pc->irq_data[i].irqgroup = i; --- -2.5.0 - From 19bcdacc5a67abe6a2d604a39ddfed5a54c77b2e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 012/212] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 012/220] 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 @@ -754,14 +721,11 @@ index cf04960..a2b1f45 100644 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", --- -2.5.0 - From 7ce5cbfba6e930c2178f342a4390972f1efd75ef 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 013/212] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 013/220] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -818,14 +782,11 @@ index 0f7b9ea..1e6f1cf 100644 } static const char * const bcm2835_compat[] = { --- -2.5.0 - From 569baa856d805e594011f2d1444b6849c291544d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 16:44:05 +0200 -Subject: [PATCH 014/212] bcm2835-i2s: get base address for DMA from devicetree +Subject: [PATCH 014/220] bcm2835-i2s: get base address for DMA from devicetree Code copied from spi-bcm2835. Get physical address from devicetree instead of using hardcoded constant. @@ -889,14 +850,11 @@ index 8c435be..0bc4f47 100644 /* Set the bus width */ dev->dma_data[SNDRV_PCM_STREAM_PLAYBACK].addr_width = --- -2.5.0 - From c61a7aef15a1aee86e1de59dca2ad7002995f9cf Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:21:16 +0200 -Subject: [PATCH 015/212] bcm2835-i2s: add 24bit support, update bclk_ratio to +Subject: [PATCH 015/220] bcm2835-i2s: add 24bit support, update bclk_ratio to more correct values Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -974,14 +932,11 @@ index 0bc4f47..cf60390 100644 | SNDRV_PCM_FMTBIT_S32_LE }, .ops = &bcm2835_i2s_dai_ops, --- -2.5.0 - From e2a75ce0e2b6319150e14401f9822adba7895c9c Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:25:51 +0200 -Subject: [PATCH 016/212] bcm2835-i2s: setup clock only if CPU is clock master +Subject: [PATCH 016/220] bcm2835-i2s: setup clock only if CPU is clock master Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -1035,14 +990,11 @@ index cf60390..4ac4e92 100644 /* Setup the frame format */ format = BCM2835_I2S_CHEN; --- -2.5.0 - From 433841fc5958e1ddbd503b579a022fb67defd74b Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:49:51 +0200 -Subject: [PATCH 017/212] bcm2835-i2s: Eliminate debugfs directory error +Subject: [PATCH 017/220] bcm2835-i2s: Eliminate debugfs directory error Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -1077,14 +1029,11 @@ index 4ac4e92..aab3df9 100644 }, }; --- -2.5.0 - From 7b4481818fe920904457496db40d59dd3d0a83bb Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:35:20 +0200 -Subject: [PATCH 018/212] bcm2835-i2s: Register PCM device +Subject: [PATCH 018/220] bcm2835-i2s: Register PCM device Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -1146,14 +1095,11 @@ index aab3df9..0e5c787 100644 if (ret) { dev_err(&pdev->dev, "Could not register PCM: %d\n", ret); return ret; --- -2.5.0 - From 027ba808e84799c97ae1c64f8424ac8eb7235cc4 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:55:21 +0200 -Subject: [PATCH 019/212] bcm2835-i2s: Enable MMAP support via a DT property +Subject: [PATCH 019/220] bcm2835-i2s: Enable MMAP support via a DT property Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -1196,14 +1142,11 @@ index 0e5c787..04c1d13 100644 /* Request both ioareas */ for (i = 0; i <= 1; i++) { void __iomem *base; --- -2.5.0 - From 8a349301238aabb40c9da5ca8c8492b6b8d146f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 9 Apr 2015 12:34:11 +0200 -Subject: [PATCH 020/212] dmaengine: bcm2835: Add slave dma support +Subject: [PATCH 020/220] dmaengine: bcm2835: Add slave dma support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1522,14 +1465,11 @@ index 996c4b0..b278c66 100644 MODULE_AUTHOR("Florian Meier "); +MODULE_AUTHOR("Gellert Weisz "); MODULE_LICENSE("GPL v2"); --- -2.5.0 - From 290f55520c62025da992d6be0002fc1e3738cfdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 15:58:59 +0200 -Subject: [PATCH 021/212] dmaengine: bcm2835: set residue_granularity field +Subject: [PATCH 021/220] dmaengine: bcm2835: set residue_granularity field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1557,14 +1497,11 @@ index b278c66..696fb30 100644 od->ddev.dev = &pdev->dev; INIT_LIST_HEAD(&od->ddev.channels); spin_lock_init(&od->lock); --- -2.5.0 - From 6f56fff39c811953809b011f59c49a2122c4d173 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 022/212] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 022/220] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1663,14 +1600,11 @@ index 696fb30..5db0a95 100644 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); --- -2.5.0 - From df03f00c5e21559185b5a61ea5e8238e10959ab1 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sat, 10 Oct 2015 12:29:18 +0200 -Subject: [PATCH 023/212] bcm2835-dma: Fix dreq not set for slave transfers +Subject: [PATCH 023/220] bcm2835-dma: Fix dreq not set for slave transfers Set dreq to slave_id if it is not set like in bcm2708-dmaengine. --- @@ -1690,14 +1624,11 @@ index 5db0a95..fe1fd60 100644 return 0; } --- -2.5.0 - From 052c2005b6ecedc5abad86632f5781adda310aa7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 12:28:30 +0200 -Subject: [PATCH 024/212] bcm2835-dma: Limit cyclic transfers on lite channels +Subject: [PATCH 024/220] bcm2835-dma: Limit cyclic transfers on lite channels to 32k Transfers larger than 32k cause repeated clicking with I2S soundcards. @@ -1733,14 +1664,11 @@ index fe1fd60..0adc347 100644 else max_size = MAX_NORMAL_TRANSFER; period_len = min(period_len, max_size); --- -2.5.0 - From a72021ae99021409319d552dad744572b20febfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 15 Aug 2015 20:50:02 +0200 -Subject: [PATCH 025/212] bcm2835: Add support for uart1 +Subject: [PATCH 025/220] bcm2835: Add support for uart1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1796,14 +1724,11 @@ index 1e6f1cf..ea36eec 100644 } static const char * const bcm2835_compat[] = { --- -2.5.0 - From 4364707caa6d3d9edf84fa8469a04f33e1ba5d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:21:20 +0200 -Subject: [PATCH 026/212] firmware: bcm2835: Add missing property tags +Subject: [PATCH 026/220] firmware: bcm2835: Add missing property tags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1864,14 +1789,11 @@ index c07d74a..525816d 100644 RPI_FIRMWARE_GET_COMMAND_LINE = 0x00050001, RPI_FIRMWARE_GET_DMA_CHANNELS = 0x00060001, --- -2.5.0 - From cd721670ab8c729d0c62e99a1d173c2575b63282 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 027/212] Main bcm2708/bcm2709 linux port +Subject: [PATCH 027/220] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -4385,14 +4307,11 @@ index 8673ffe..ad22ebb 100644 mmc_pm_flag_t pm_caps; /* supported pm features */ --- -2.5.0 - From 812484cc27980e3351360200478e7044de983f40 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 11 Nov 2015 21:01:15 +0000 -Subject: [PATCH 028/212] squash: include ARCH_BCM2708 / ARCH_BCM2709 +Subject: [PATCH 028/220] squash: include ARCH_BCM2708 / ARCH_BCM2709 --- drivers/char/hw_random/Kconfig | 2 +- @@ -4543,14 +4462,11 @@ index 6a834e1..c5070ae 100644 select SND_SOC_GENERIC_DMAENGINE_PCM select REGMAP_MMIO help --- -2.5.0 - From 7efc2851a46faa1aceda5f6ec255d0e814812ccf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 029/212] Add dwc_otg driver +Subject: [PATCH 029/220] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -65528,14 +65444,11 @@ index 0000000..cdc9963 + +test_main(); +0; --- -2.5.0 - From d3b7394edae550f295e185be4651ed43529e7042 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 030/212] bcm2708 framebuffer driver +Subject: [PATCH 030/220] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -68996,14 +68909,11 @@ index 3c14e43..7626beb 100644 +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 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 --- -2.5.0 - From 99b7c3cfd05f5898e96d7c44c5970880f2c0cd16 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 031/212] dmaengine: Add support for BCM2708 +Subject: [PATCH 031/220] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69175,7 +69085,7 @@ index 060306e..33e36b9 100644 tristate "AM33xx CPPI41 DMA support" depends on ARCH_OMAP diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile -index ef9c099..e0cf5e61 100644 +index ef9c099..e0cf5e6 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_AT_HDMAC) += at_hdmac.o @@ -69622,14 +69532,11 @@ index 0000000..99cc7fd +#endif /* CONFIG_DMA_BCM2708 */ + +#endif /* _PLAT_BCM2708_DMA_H */ --- -2.5.0 - From 65c8aadfd88010efb2d2a2821fea7aac978b6c78 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 032/212] MMC: added alternative MMC driver +Subject: [PATCH 032/220] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -71326,14 +71233,11 @@ index 0000000..43aed6e +MODULE_DESCRIPTION("BCM2835 SDHCI driver"); +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Gellert Weisz"); --- -2.5.0 - From c58bec0d84082837415562c6567396e9e5ba62f7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 033/212] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 033/220] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -71448,7 +71352,7 @@ index 6cf6457..df27ae9 100644 obj-$(CONFIG_MMC_AU1X) += au1xmmc.o diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c new file mode 100644 -index 0000000..da089985 +index 0000000..da08998 --- /dev/null +++ b/drivers/mmc/host/bcm2835-sdhost.c @@ -0,0 +1,1907 @@ @@ -73359,14 +73263,11 @@ index 0000000..da089985 +MODULE_DESCRIPTION("BCM2835 SDHost driver"); +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); --- -2.5.0 - From 36d8db53953365eecdf56695944e9f9919634de0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 034/212] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 034/220] cma: Add vc_cma driver to enable use of CMA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -74708,14 +74609,11 @@ index 0000000..be2819d +#endif + +#endif /* VC_CMA_H */ --- -2.5.0 - From 2dd634f97c4fb77d9e81be289a8da29c390a0309 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 035/212] bcm2708: alsa sound driver +Subject: [PATCH 035/220] bcm2708: alsa sound driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -74770,7 +74668,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 sound/arm/vc_vchi_audioserv_defs.h diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig -index e040621..7746e5d2 100644 +index e040621..7746e5d 100644 --- a/sound/arm/Kconfig +++ b/sound/arm/Kconfig @@ -40,5 +40,13 @@ config SND_PXA2XX_AC97 @@ -77412,14 +77310,11 @@ index 0000000..af3e6eb +} VC_AUDIO_MSG_T; + +#endif // _VC_AUDIO_DEFS_H_ --- -2.5.0 - From 112360f76c91c892f1a29825eb2807bbf86ac67d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 2 Jul 2013 23:42:01 +0100 -Subject: [PATCH 036/212] bcm2708 vchiq driver +Subject: [PATCH 036/220] bcm2708 vchiq driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -90723,14 +90618,11 @@ index 0000000..b6bfa21 +{ + return vchiq_build_time; +} --- -2.5.0 - From b0acaf43055bacef7918c835517ff6ea7da26e83 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 16:07:06 +0100 -Subject: [PATCH 037/212] vc_mem: Add vc_mem driver +Subject: [PATCH 037/220] vc_mem: Add vc_mem driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -91734,14 +91626,11 @@ index 0000000..20a4753 +#endif + +#endif /* _VC_MEM_H */ --- -2.5.0 - From 5f05accd033e4b032f64717a0276d7174f697919 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 038/212] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 038/220] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -96156,14 +96045,11 @@ index 0000000..334f36d +/* ---- Function Prototypes ---------------------------------------------- */ + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ --- -2.5.0 - From 1ee3b49a62efe1416a6b40fb5c6032288f3d2b08 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 039/212] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 039/220] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -96473,14 +96359,11 @@ index 0000000..911f5b7 +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); --- -2.5.0 - From e19c303e7d54d986e0bd3e47107a83e30329c1d0 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 040/212] Add SMI driver +Subject: [PATCH 040/220] Add SMI driver Signed-off-by: Luke Wren --- @@ -98430,14 +98313,11 @@ index 0000000..ee3a75e +#endif /* BCM2835_SMI_IMPLEMENTATION */ + +#endif /* BCM2835_SMI_H */ --- -2.5.0 - From c0fe401b61ae4d002f6fc84438ce69c5917c580a Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 041/212] Add SMI NAND driver +Subject: [PATCH 041/220] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -98802,14 +98682,11 @@ index 0000000..b747326 +MODULE_DESCRIPTION + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); --- -2.5.0 - From 0bc00c67aea43098c7b066e7b123379b260cc7de Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 042/212] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 042/220] 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 @@ -99657,14 +99534,11 @@ index 0000000..fb69624 + bcm2708_gpio_pull_t value); + +#endif --- -2.5.0 - From 007ef35b2cf5d8a0197e81e712b38fb72cebae2e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 043/212] Add cpufreq driver +Subject: [PATCH 043/220] Add cpufreq driver Signed-off-by: popcornmix --- @@ -99925,14 +99799,11 @@ index 0000000..3eb9e93 + +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); --- -2.5.0 - From 9f251fdbaaf3bd895c2901413748679d68a0c644 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 044/212] Added hwmon/thermal driver for reporting core +Subject: [PATCH 044/220] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -100129,14 +100000,11 @@ index 0000000..08d8dc7 +MODULE_AUTHOR("Noralf Trønnes"); +MODULE_DESCRIPTION("Thermal driver for bcm2835 chip"); +MODULE_LICENSE("GPL"); --- -2.5.0 - From 28a4399bf03eeb3ec5b7b56c9445b296e1427665 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 045/212] Add Chris Boot's i2c driver +Subject: [PATCH 045/220] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -100775,14 +100643,11 @@ index 0000000..85f411c +MODULE_AUTHOR("Chris Boot "); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); --- -2.5.0 - From 75804edaed6c45d813dcee866d39445130d82539 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 046/212] char: broadcom: Add vcio module +Subject: [PATCH 046/220] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101007,14 +100872,11 @@ index 0000000..c19bc20 +MODULE_AUTHOR("Noralf Trønnes"); +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); --- -2.5.0 - From 80b7c5e2cc3d633b3d3a1afbdb537e2ccfe906c7 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 047/212] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 047/220] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101030,7 +100892,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index dd506cd3..b980d53 100644 +index dd506cd..b980d53 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -28,6 +28,8 @@ struct rpi_firmware { @@ -101119,14 +100981,11 @@ index dd506cd3..b980d53 100644 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); --- -2.5.0 - From e15fddd4332bd3a762d0feef48ff2b5e3df10af0 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 048/212] bcm2835: add v4l2 camera device +Subject: [PATCH 048/220] bcm2835: add v4l2 camera device - Supports raw YUV capture, preview, JPEG and H264. - Uses videobuf2 for data transfer, using dma_buf. @@ -106406,7 +106265,7 @@ index 0000000..aa0fd18 +}; diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.c b/drivers/media/platform/bcm2835/mmal-vchiq.c new file mode 100644 -index 0000000..78132254 +index 0000000..7813225 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-vchiq.c @@ -0,0 +1,1916 @@ @@ -108510,14 +108369,11 @@ index 0000000..9d1d11e + struct mmal_buffer *buf); + +#endif /* MMAL_VCHIQ_H */ --- -2.5.0 - From 91e833ab0b220bb0bb810bb9605b0a03cd76baa8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 049/212] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 049/220] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -108981,14 +108837,11 @@ index 0000000..3998d43 + my $val = $configs->{$wanted} || 'n'; + return (($val eq 'y') || ($val eq '1')); +} --- -2.5.0 - From 918b9e451bbaebb775725a292fd3b6e3d4cf804f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 5 Dec 2014 17:26:26 +0000 -Subject: [PATCH 050/212] fdt: Add support for the CONFIG_CMDLINE_EXTEND option +Subject: [PATCH 050/220] fdt: Add support for the CONFIG_CMDLINE_EXTEND option --- drivers/of/fdt.c | 29 ++++++++++++++++++++++++----- @@ -109042,14 +108895,11 @@ index 655f79d..fdc4501 100644 #endif /* CONFIG_CMDLINE */ pr_debug("Command line is: %s\n", (char*)data); --- -2.5.0 - From d1fdaf68df66e82bea1081b490ebeea414d69203 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 051/212] BCM2708: Add core Device Tree support +Subject: [PATCH 051/220] BCM2708: Add core Device Tree support Add the bare minimum needed to boot BCM2708 from a Device Tree. @@ -113774,14 +113624,11 @@ index 0000000..66a98f6 + pullup = <&w1>,"rpi,parasitic-power:0"; + }; +}; --- -2.5.0 - From da7cdef4979282624e0e7527c3c8334a59f39676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 15 Aug 2015 20:47:07 +0200 -Subject: [PATCH 052/212] bcm2835: Match with BCM2708 Device Trees +Subject: [PATCH 052/220] bcm2835: Match with BCM2708 Device Trees MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -114298,14 +114145,11 @@ index 864a3ef..3256bff 100644 +&watchdog { + status = "okay"; +}; --- -2.5.0 - From b28366cb5b514e5c59586f9a5509d3afff5337d5 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 053/212] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 053/220] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -114397,14 +114241,11 @@ index fb795c3..fa72af0 100644 #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ #define FB_TYPE_PLANES 1 /* Non interleaved planes */ --- -2.5.0 - -From e68c4a4b1033c1d9aeb528d7d47c2b9ca038e7c2 Mon Sep 17 00:00:00 2001 +From b4596a50cab2130b5370cd2ecddf0827c014b2ca Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 054/212] Speed up console framebuffer imageblit function +Subject: [PATCH 054/220] 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 @@ -114612,14 +114453,11 @@ index a2bb276..436494f 100644 slow_imageblit(image, p, dst1, fgcolor, bgcolor, start_index, pitch_index); } else --- -2.5.0 - -From 17639169a94391cb42ca31e7237cabebf1b12422 Mon Sep 17 00:00:00 2001 +From e5141ba61decc8952b87bdc91fab78f5be7e2b33 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 055/212] Allow mac address to be set in smsc95xx +Subject: [PATCH 055/220] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -114709,14 +114547,11 @@ index 9c0da18..3244a90 100755 /* try reading mac address from EEPROM */ if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN, dev->net->dev_addr) == 0) { --- -2.5.0 - -From 5a93579be93ad956dae57d474401333ae97590ea Mon Sep 17 00:00:00 2001 +From 53408f20f48db00c8d71311ed885f91e2ba41b3f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 056/212] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 056/220] 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 @@ -114965,14 +114800,11 @@ index d58594a..feae942 100644 void (*enable_external_pullup)(int enable); unsigned int ext_pullup_enable_pin; unsigned int pullup_duration; --- -2.5.0 - -From daf3cfd1062a6fc173f4dc2475f1c07b52cd6cae Mon Sep 17 00:00:00 2001 +From 85c41b7e97631944a2e224c3b3d966f8bc240575 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 057/212] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 057/220] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -115020,14 +114852,11 @@ index fb1ecfd..888d308 100644 /** * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest --- -2.5.0 - -From b7437ee59d30a334efa61158f1a579307b2bf72d Mon Sep 17 00:00:00 2001 +From c5c0ae52947ae5062cf1c75174c57a466408247e Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:59:51 +0100 -Subject: [PATCH 058/212] ASoC: Add support for PCM5102A codec +Subject: [PATCH 058/220] ASoC: Add support for PCM5102A codec Some definitions to support the PCM5102A codec by Texas Instruments. @@ -115159,14 +114988,11 @@ index 0000000..7c6598e +MODULE_DESCRIPTION("ASoC PCM5102A codec driver"); +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From d4500551e35ce29d539316941347f78d5bbb4e9a Mon Sep 17 00:00:00 2001 +From a84f726a98074d1a59f3c7b7e78de23f02eac00f Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 059/212] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 059/220] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -115335,14 +115161,11 @@ index 0000000..3ab0f47 +MODULE_AUTHOR("Florian Meier "); +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From f34036f9682e66adfb024a2e2a4c411c9abc85c3 Mon Sep 17 00:00:00 2001 +From 2dcfef900197d433421c0bda384725ad4a9d6ef6 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:21:34 +0100 -Subject: [PATCH 060/212] ASoC: Add support for Rpi-DAC +Subject: [PATCH 060/220] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -115628,14 +115451,11 @@ index 0000000..afe1b41 +MODULE_DESCRIPTION("ASoC PCM1794A codec driver"); +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From 1ddb922071cbe8a3f747a4971538d983a1b1715a Mon Sep 17 00:00:00 2001 +From 597b34d19fe280ccf307bf4aaa299f400a45b1eb Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 061/212] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 061/220] 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 @@ -115674,14 +115494,11 @@ index 8d91470..5795fb1 100644 #define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \ --- -2.5.0 - -From d131f2daebd4eb4ece7b6db2e3f3a1180b94c2c2 Mon Sep 17 00:00:00 2001 +From 4834b496fe213ad958d035eb917af3e3a00a43ad Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 062/212] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 062/220] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -115967,14 +115784,11 @@ index 0000000..80732b8 +MODULE_AUTHOR("Daniel Matuschek "); +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From b0f5c51bb26e93f672217fcd472da7f2b2c88e6b Mon Sep 17 00:00:00 2001 +From 6f5d23ea45251f2fa5ec014befd31f43cc869f4c Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:36:35 +0100 -Subject: [PATCH 063/212] ASoC: wm8804: Set idle_bias_off to false Idle bias +Subject: [PATCH 063/220] ASoC: wm8804: Set idle_bias_off to false Idle bias has been change to remove warning on driver startup Signed-off-by: Daniel Matuschek @@ -115995,14 +115809,11 @@ index 5795fb1..c846716 100644 .dapm_widgets = wm8804_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(wm8804_dapm_widgets), --- -2.5.0 - -From 152ebb776340c3073c0a32106167a7fe467d3456 Mon Sep 17 00:00:00 2001 +From c320e752d4a779b44f257b4784ca8665c66ea2f2 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 064/212] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 064/220] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -116184,14 +115995,11 @@ index 0000000..37038d4 +MODULE_AUTHOR("Florian Meier "); +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From c37587c1c15e2f2f8bad810115c0e32cc0d4093f Mon Sep 17 00:00:00 2001 +From 43b360019a8d5c10c560102a4e0e84cca2489f83 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 065/212] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 065/220] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -116226,14 +116034,11 @@ index 5dd426f..9ae0cd5 100644 ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { --- -2.5.0 - -From f893beacf8b0975e20d0099d3a443ab5fb483db6 Mon Sep 17 00:00:00 2001 +From 655fec62e4702ba6ef037aa285275cca6b95fab9 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 066/212] Added support for HiFiBerry DAC+ +Subject: [PATCH 066/220] 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. @@ -116427,14 +116232,11 @@ index 0000000..11e4f39 +MODULE_AUTHOR("Daniel Matuschek "); +MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From b4d78cb8345c9d0ed833a765f3c90a2c4b83ba82 Mon Sep 17 00:00:00 2001 +From b19ad321a57b85b83b4bf4380ced71885f36e6b2 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 067/212] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 067/220] 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. @@ -117264,14 +117066,11 @@ index 0000000..8f019e0 + + +#endif /* _TAS5713_H */ --- -2.5.0 - -From 4ac6bff6336e2a6c482919e8dc39de114e9651cd Mon Sep 17 00:00:00 2001 +From 194e0f05820a1b92eec669902d26999001480e85 Mon Sep 17 00:00:00 2001 From: Ryan Coe Date: Sat, 31 Jan 2015 18:25:49 -0700 -Subject: [PATCH 068/212] Update ds1307 driver for device-tree support +Subject: [PATCH 068/220] Update ds1307 driver for device-tree support Signed-off-by: Ryan Coe --- @@ -117279,7 +117078,7 @@ Signed-off-by: Ryan Coe 1 file changed, 8 insertions(+) diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c -index aa705bb..1cb13fee 100644 +index aa705bb..1cb13fe 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -1207,6 +1207,14 @@ static int ds1307_remove(struct i2c_client *client) @@ -117297,14 +117096,11 @@ index aa705bb..1cb13fee 100644 static struct i2c_driver ds1307_driver = { .driver = { .name = "rtc-ds1307", --- -2.5.0 - -From f341ac7091d56c69c1b7cc0d3cffed6f8091f8d8 Mon Sep 17 00:00:00 2001 +From e0f8460b71d3130d5d21452049ffdcb8bbb15be0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 069/212] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 069/220] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -117482,14 +117278,11 @@ index fa359c7..4b25a1a 100644 /* Set LED brightness level */ /* Must not sleep, use a workqueue if needed */ --- -2.5.0 - -From af6a88df92cf2a08abc429822f8c9309ecdb26a1 Mon Sep 17 00:00:00 2001 +From 7560266f8cc30e6cb31db57c9092773287447cc0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 27 Feb 2015 15:10:24 +0000 -Subject: [PATCH 070/212] enc28j60: Add device tree compatible string and an +Subject: [PATCH 070/220] enc28j60: Add device tree compatible string and an overlay --- @@ -117517,14 +117310,11 @@ index 86ea17e..a1b20c1 100644 }, .probe = enc28j60_probe, .remove = enc28j60_remove, --- -2.5.0 - -From 32f267566e1a67e6170cb37a59a907e5b167600a Mon Sep 17 00:00:00 2001 +From 3bda1a355570493dbdec3f0ffb97128c9aaf2c08 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 071/212] Add driver for rpi-proto +Subject: [PATCH 071/220] 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 @@ -117738,14 +117528,11 @@ index 0000000..c6e45a0 +MODULE_AUTHOR("Florian Meier"); +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); --- -2.5.0 - -From cd9d2d406b40d4f03e7060e4795a64a31d14d41b Mon Sep 17 00:00:00 2001 +From e8f36f5d9e4728580868ba048a8c842ba7a5187d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 072/212] config: Add default configs +Subject: [PATCH 072/220] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1254 +++++++++++++++++++++++++++++++++++ @@ -120285,14 +120072,11 @@ index 0000000..1d1b799 +CONFIG_CRYPTO_AES_ARM=m +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y --- -2.5.0 - -From 9a8719a7ae9fa9145e24bdaee98da18798088ce8 Mon Sep 17 00:00:00 2001 +From 4f6ecced6a6f13da5e91319f10f79131fbe00385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 29 Apr 2015 17:24:02 +0200 -Subject: [PATCH 073/212] bcm2835: bcm2835_defconfig +Subject: [PATCH 073/220] bcm2835: bcm2835_defconfig MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -121717,14 +121501,11 @@ index 31cb073..fdb2e2a 100644 +CONFIG_LIBCRC32C=y # CONFIG_XZ_DEC_ARM is not set # CONFIG_XZ_DEC_ARMTHUMB is not set --- -2.5.0 - -From e84f83b441f7900f2a968ef2e72c644d76084c9a Mon Sep 17 00:00:00 2001 +From 720dc241d47fd83550602fa897e3a723153a4b9b Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 074/212] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 074/220] 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 @@ -122018,14 +121799,11 @@ index 0000000..b27dbee +MODULE_AUTHOR("Gordon Hollingworth"); +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); --- -2.5.0 - -From 3e7f9b8176516fb739849da22fc9f6ac3fd32678 Mon Sep 17 00:00:00 2001 +From a86f1cf0661f306457bd8b8a53647abce2d3490f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Oct 2014 11:47:53 +0100 -Subject: [PATCH 075/212] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 075/220] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -123563,14 +123341,11 @@ index 588bbc2..c29df92 100644 static unsigned long noinline __clear_user_memset(void __user *addr, unsigned long n) --- -2.5.0 - -From 5364f52d5d68ee0f2c8effff82a49cd0fd050e80 Mon Sep 17 00:00:00 2001 +From 0a5bb180e28f3f7a5fcbdda7f00825f1a5b3912a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 076/212] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 076/220] 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 @@ -123604,14 +123379,11 @@ index be3d81f..a030ae9 100644 dev_err(&pdev->dev, "%s: pm_power_off function already registered", __func__); --- -2.5.0 - -From 463afd111279575433b3af7bdbe99470bba74dac Mon Sep 17 00:00:00 2001 +From 93b0d9103ea1679f844514d91419861673e626a6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 077/212] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 077/220] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -123631,14 +123403,11 @@ index d0e7dfc..57b0760 100644 {}, }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); --- -2.5.0 - -From dbf49b74de1fdfb29ebd736bbc7234aed612e765 Mon Sep 17 00:00:00 2001 +From 9097d8fb3892fc3e1201383f0195c650b00aa9aa Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 17:00:18 +0100 -Subject: [PATCH 078/212] scripts/dtc: Add overlay support +Subject: [PATCH 078/220] scripts/dtc: Add overlay support --- scripts/dtc/checks.c | 119 ++- @@ -123654,7 +123423,7 @@ Subject: [PATCH 078/212] scripts/dtc: Add overlay support 10 files changed, 1685 insertions(+), 1145 deletions(-) diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c -index e81a8c74..efd1bc6 100644 +index e81a8c7..efd1bc6 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -458,21 +458,91 @@ static void fixup_phandle_references(struct check *c, struct node *dt, @@ -128042,14 +127811,11 @@ index 5b8c7d5..86b7338 100644 @@ -1 +1 @@ -#define DTC_VERSION "DTC 1.4.1-g9d3649bd" +#define DTC_VERSION "DTC 1.4.1-g9d3649bd-dirty" --- -2.5.0 - -From 5f01f9a24681e7695fb2102af1d342fde0b97c2a Mon Sep 17 00:00:00 2001 +From 6ce5de5b5c39618afcb44a67b5c124c7f7e184ff Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 079/212] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 079/220] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -128914,14 +128680,11 @@ index 0000000..56196dc + + +#endif --- -2.5.0 - -From 77199aeb92c0c5ce60a151d59793b225864a0ce0 Mon Sep 17 00:00:00 2001 +From f4ffbbe422e65f54f81f727eb03077e0e60abbc0 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 080/212] RaspiDAC3 support +Subject: [PATCH 080/220] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -129168,14 +128931,11 @@ index 0000000..3cabf5b +MODULE_AUTHOR("Jan Grulich "); +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From cc2397b92c6c93e59cc331ce393bd176180924e0 Mon Sep 17 00:00:00 2001 +From 160bb52c33e5e9d3873725007920a5ab034df633 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:02:34 +0100 -Subject: [PATCH 081/212] tpa6130a2: Add headphone switch control +Subject: [PATCH 081/220] tpa6130a2: Add headphone switch control Signed-off-by: Jan Grulich --- @@ -129265,14 +129025,11 @@ index 11d85c5..3caaa17 100644 }; /* --- -2.5.0 - -From 46913983d3c4cb9bea875cd370b860fb256ebfa5 Mon Sep 17 00:00:00 2001 +From 959618842cac2f89aca253058941864fc09453de Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Sep 2015 23:38:59 +0100 -Subject: [PATCH 082/212] irq-bcm2835: Fix building with 2708 +Subject: [PATCH 082/220] irq-bcm2835: Fix building with 2708 --- drivers/irqchip/irq-bcm2835.c | 3 ++- @@ -129299,14 +129056,11 @@ index 20deb28..c02bf8a 100644 } } init_FIQ(FIQ_START); --- -2.5.0 - -From 65ad56a247b8f7dccad07dab71035fddf6395a7c Mon Sep 17 00:00:00 2001 +From eab058f164321b98332847fd7e33ce76a416b953 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 083/212] rpi_display: add backlight driver and overlay +Subject: [PATCH 083/220] 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 @@ -129573,14 +129327,11 @@ index 525816d..b011489 100644 RPI_FIRMWARE_VCHIQ_INIT = 0x00048010, --- -2.5.0 - -From cba1e5bd58f1906f211403a627927e0b264d9c77 Mon Sep 17 00:00:00 2001 +From 265b00fd10fd38d5fc40057f0dc9a27f9e643f13 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 16 Nov 2015 14:05:35 +0000 -Subject: [PATCH 084/212] bcm2835-dma: Fix up convert to DMA pool +Subject: [PATCH 084/220] bcm2835-dma: Fix up convert to DMA pool --- drivers/dma/bcm2835-dma.c | 36 ++++++++++++++++++++++++++---------- @@ -129664,14 +129415,11 @@ index 0adc347..985019b 100644 } else { /* Next block is empty. */ control_block->next = 0; --- -2.5.0 - -From 543f475d54bec825bbc0a385ce353fdaae9ccd57 Mon Sep 17 00:00:00 2001 +From 4b0129fc722f7157ef9a0bd717f796b33582f009 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Nov 2015 11:38:59 +0000 -Subject: [PATCH 085/212] scripts: Multi-platform support for mkknlimg and +Subject: [PATCH 085/220] scripts: Multi-platform support for mkknlimg and knlinfo The firmware uses tags in the kernel trailer to choose which dtb file @@ -129919,14 +129667,11 @@ index 3998d43..005f404 100755 - my $val = $configs->{$wanted} || 'n'; - return (($val eq 'y') || ($val eq '1')); -} --- -2.5.0 - -From 056cc2def7c928c6a98851b1b77cb2dae362d56a Mon Sep 17 00:00:00 2001 +From a015d1fdd7a5313ba90af71ff370fe0b7625ef1c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 2 Mar 2015 13:01:12 -0800 -Subject: [PATCH 086/212] drm/vc4: Add suport for 3D rendering using the V3D +Subject: [PATCH 086/220] drm/vc4: Add suport for 3D rendering using the V3D engine. This is a squash of the out-of-tree development series. Since that @@ -130618,7 +130363,7 @@ index 265064c..3be2720 100644 .cursor_set = NULL, /* handled by drm_mode_cursor_universal */ .cursor_move = NULL, /* handled by drm_mode_cursor_universal */ diff --git a/drivers/gpu/drm/vc4/vc4_debugfs.c b/drivers/gpu/drm/vc4/vc4_debugfs.c -index 4297b0a5..d76ad10 100644 +index 4297b0a..d76ad10 100644 --- a/drivers/gpu/drm/vc4/vc4_debugfs.c +++ b/drivers/gpu/drm/vc4/vc4_debugfs.c @@ -16,11 +16,14 @@ @@ -135530,14 +135275,11 @@ index 0000000..499daae +}; + +#endif /* _UAPI_VC4_DRM_H_ */ --- -2.5.0 - -From 2a813115480d8c0f081c8c6c0e549109cc0075dc Mon Sep 17 00:00:00 2001 +From 2a2d56e55de5ced7d01cb4db7a80bdcdccd3f2c4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Oct 2015 11:32:14 -0700 -Subject: [PATCH 087/212] drm/vc4: Force HDMI to connected. +Subject: [PATCH 087/220] drm/vc4: Force HDMI to connected. For some reason on the downstream tree, the HPD GPIO isn't working. @@ -135559,14 +135301,11 @@ index da9a36d..d15c529 100644 if (vc4->hdmi->hpd_gpio) { if (gpio_get_value(vc4->hdmi->hpd_gpio)) return connector_status_connected; --- -2.5.0 - -From cf791fbae0d308fb1f2186d18397790114a1e649 Mon Sep 17 00:00:00 2001 +From ca205a3bef8b9c080363a12148a3e6f013081b8a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Oct 2015 08:23:18 -0700 -Subject: [PATCH 088/212] drm/vc4: bo cache locking fixes. +Subject: [PATCH 088/220] drm/vc4: bo cache locking fixes. Signed-off-by: Eric Anholt --- @@ -135714,14 +135453,11 @@ index 8cc89d1..c079b82 100644 /* Sequence number for the last job queued in job_list. * Starts at 0 (no jobs emitted). --- -2.5.0 - -From db80c3ad79b1ac13b5f3a7f42ab2156fb555b11e Mon Sep 17 00:00:00 2001 +From e8481325c7efc10d87d62cafc3b0c4495cef1dd5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Oct 2015 08:29:41 -0700 -Subject: [PATCH 089/212] drm/vc4: bo cache locking cleanup. +Subject: [PATCH 089/220] drm/vc4: bo cache locking cleanup. Signed-off-by: Eric Anholt --- @@ -135812,14 +135548,11 @@ index af0fde6..acd360c 100644 } static void vc4_bo_cache_time_timer(unsigned long data) --- -2.5.0 - -From 89ebd35d75433420fe36f43bb509fcaf45c8d646 Mon Sep 17 00:00:00 2001 +From f8c7534d294a7b6ca6c91075d9b0b09b6e980a6c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Oct 2015 08:32:24 -0700 -Subject: [PATCH 090/212] drm/vc4: Use job_lock to protect seqno_cb_list. +Subject: [PATCH 090/220] drm/vc4: Use job_lock to protect seqno_cb_list. We're (mostly) not supposed to be using struct_mutex in drivers these days. @@ -135872,14 +135605,11 @@ index 361390b..b1853b2 100644 return ret; } --- -2.5.0 - -From 36c69d93940d99aba7de5f185c546f6a52da1e8d Mon Sep 17 00:00:00 2001 +From d49c98713ffe0b1a3d8b8007b8257022f7d6323b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Oct 2015 08:44:35 -0700 -Subject: [PATCH 091/212] drm/vc4: Drop struct_mutex around CL validation. +Subject: [PATCH 091/220] drm/vc4: Drop struct_mutex around CL validation. We were using it so that we could make sure that shader validation state didn't change while we were validating, but now shader @@ -135941,14 +135671,11 @@ index b1853b2..32f375a 100644 return ret; } --- -2.5.0 - -From 9f70809d45f431a273e1c51f33d9e058de218e10 Mon Sep 17 00:00:00 2001 +From 682d611be0b0f07eae31a1eb4815d94adccd7d9c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Oct 2015 08:44:35 -0700 -Subject: [PATCH 092/212] drm/vc4: Drop struct_mutex around CL validation. +Subject: [PATCH 092/220] drm/vc4: Drop struct_mutex around CL validation. We were using it so that we could make sure that shader validation state didn't change while we were validating, but now shader @@ -136021,14 +135748,11 @@ index 32f375a..55551ea 100644 return ret; } --- -2.5.0 - -From fed19f5e27f3cf921df7d769dab2149a14eef879 Mon Sep 17 00:00:00 2001 +From cbe583e0c4f78ec7ee058b3fed31cc312e08fdb1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 20 Oct 2015 13:59:15 +0100 -Subject: [PATCH 093/212] drm/vc4: Add support for more display plane formats. +Subject: [PATCH 093/220] drm/vc4: Add support for more display plane formats. Signed-off-by: Eric Anholt --- @@ -136062,14 +135786,11 @@ index 65e5455..0f85eb5 100644 }; static const struct hvs_format *vc4_get_hvs_format(u32 drm_format) --- -2.5.0 - -From 36ffe6c581f978a23a52303240104d8271841396 Mon Sep 17 00:00:00 2001 +From 06bd9769b3230b383894c73906efb804861823e9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 23 Oct 2015 12:31:56 +0100 -Subject: [PATCH 094/212] drm/vc4: No need to stop the stopped threads. +Subject: [PATCH 094/220] drm/vc4: No need to stop the stopped threads. This was leftover debug code from the hackdriver. We never submit unless the thread is already idle. @@ -136094,14 +135815,11 @@ index 55551ea..eeb0925 100644 V3D_WRITE(V3D_CTNCA(thread), start); barrier(); --- -2.5.0 - -From 34edb58810f0250eb4ef20c63a3c54d2e10aaf5a Mon Sep 17 00:00:00 2001 +From b13e80df9779eb71b316db4bd63e9cc4dbbe1221 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 23 Oct 2015 12:33:43 +0100 -Subject: [PATCH 095/212] drm/vc4: Remove extra barrier()s aroudn CTnCA/CTnEA +Subject: [PATCH 095/220] drm/vc4: Remove extra barrier()s aroudn CTnCA/CTnEA setup. The writel() that these expand to already does barriers. @@ -136133,14 +135851,11 @@ index eeb0925..0cea723 100644 } int --- -2.5.0 - -From ffa05b4688ba9471d4f1825047428e73f3226abd Mon Sep 17 00:00:00 2001 +From 54aab1fc2b80dbb3a1d26bda40bf0072c8b6e9b3 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 23 Oct 2015 14:57:22 +0100 -Subject: [PATCH 096/212] drm/vc4: Fix a typo in a V3D debug register. +Subject: [PATCH 096/220] drm/vc4: Fix a typo in a V3D debug register. Signed-off-by: Eric Anholt --- @@ -136174,14 +135889,11 @@ index b9cb7cf..cf35f58 100644 REGDEF(V3D_FDBGO), REGDEF(V3D_FDBGB), REGDEF(V3D_FDBGR), --- -2.5.0 - -From 0d927d46afb62aa0e68627362dae3d9e1849b214 Mon Sep 17 00:00:00 2001 +From e24ed8459d7ceb69f4b2bb1b110316fd66d70156 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 2 Nov 2015 17:07:33 +0000 -Subject: [PATCH 097/212] drm/vc4: Enable VC4 modules, and increase CMA size +Subject: [PATCH 097/220] drm/vc4: Enable VC4 modules, and increase CMA size with overlay If using the overlay, be careful not to boot to GUI or run startx, @@ -136340,14 +136052,11 @@ index 146add9..d6aa058 100644 CONFIG_FB=y CONFIG_FB_BCM2708=y CONFIG_FB_UDL=m --- -2.5.0 - -From 63af9035dbaaceed5f1d63107bc7f7b31d425c6d Mon Sep 17 00:00:00 2001 +From a1f76174a22bad4e7dab94718e30df2458b7e59a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Nov 2015 18:29:58 +0000 -Subject: [PATCH 098/212] squash: fixups +Subject: [PATCH 098/220] squash: fixups --- drivers/gpu/drm/vc4/Kconfig | 2 +- @@ -136393,14 +136102,11 @@ index c83287a..2082713 100644 drm_atomic_helper_commit_modeset_enables(dev, state); --- -2.5.0 - -From 011e5c58f30ad2f3510f88a65da2356a93f09818 Mon Sep 17 00:00:00 2001 +From c302ddb4c02a7f7459d0ce5d9abdfb01c322d82e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Nov 2015 20:26:03 +0000 -Subject: [PATCH 099/212] squash: add missing vc4-kms-v3d-overlay.dtb to +Subject: [PATCH 099/220] squash: add missing vc4-kms-v3d-overlay.dtb to makefile --- @@ -136419,14 +136125,11 @@ index fb7ac49..fc09bfb 100644 dtb-$(RPI_DT_OVERLAYS) += vga666-overlay.dtb dtb-$(RPI_DT_OVERLAYS) += w1-gpio-overlay.dtb dtb-$(RPI_DT_OVERLAYS) += w1-gpio-pullup-overlay.dtb --- -2.5.0 - -From da11a97037709e598c7a8b769290a2b5ef5b45d9 Mon Sep 17 00:00:00 2001 +From dd4882f9fbce68acd27f04792805473ae2bfb417 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 12 Oct 2015 11:23:34 -0700 -Subject: [PATCH 100/212] clk: bcm2835: Also build the driver for downstream +Subject: [PATCH 100/220] clk: bcm2835: Also build the driver for downstream kernels. Signed-off-by: Eric Anholt @@ -136447,14 +136150,11 @@ index 3fc9506..a1b4cbc 100644 obj-$(CONFIG_COMMON_CLK_IPROC) += clk-ns2.o obj-$(CONFIG_ARCH_BCM_CYGNUS) += clk-cygnus.o obj-$(CONFIG_ARCH_BCM_NSP) += clk-nsp.o --- -2.5.0 - -From 7414a68fb326de9e255ad834337181a49a0b1451 Mon Sep 17 00:00:00 2001 +From 5462b88624200a29baca5adaef048d3dbc4626e7 Mon Sep 17 00:00:00 2001 From: Holger Steinhaus Date: Sat, 14 Nov 2015 18:37:43 +0100 -Subject: [PATCH 101/212] dts: Added overlay for gpio_ir_recv driver +Subject: [PATCH 101/220] dts: Added overlay for gpio_ir_recv driver --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -136562,14 +136262,11 @@ index 0000000..a2d6bc7 + rc-map-name = <&gpio_ir>,"linux,rc-map-name"; // default rc map + }; +}; --- -2.5.0 - -From 7ee4b08baeeed3173d07236ffaa28028fc9f2f28 Mon Sep 17 00:00:00 2001 +From 83785d0e067305676bcf0f7f80ca87022263937b Mon Sep 17 00:00:00 2001 From: Alistair Buxton Date: Sun, 1 Nov 2015 22:27:56 +0000 -Subject: [PATCH 102/212] Build i2c_gpio module and add a device tree overlay +Subject: [PATCH 102/220] Build i2c_gpio module and add a device tree overlay to configure it. --- @@ -136677,14 +136374,11 @@ index d6aa058..51dc019 100644 CONFIG_SPI=y CONFIG_SPI_BCM2835=m CONFIG_SPI_SPIDEV=y --- -2.5.0 - -From 7ab460fb0d3ed6b0c396a50cf4f02e38c0c47a89 Mon Sep 17 00:00:00 2001 +From 1c711a92bac72da22ac8ea9623991ebc4ba9f990 Mon Sep 17 00:00:00 2001 From: mwilliams03 Date: Sun, 18 Oct 2015 17:07:24 -0700 -Subject: [PATCH 103/212] New overlay for PiScreen2r +Subject: [PATCH 103/220] New overlay for PiScreen2r --- arch/arm/boot/dts/overlays/Makefile | 1 + @@ -136836,14 +136530,11 @@ index 0000000..7c018e0 + }; +}; + --- -2.5.0 - -From 34aa337eb59b8aefb9d02080f2e9cbdf497652c1 Mon Sep 17 00:00:00 2001 +From 846de308457febf0a988a7d1fcb416103771810c Mon Sep 17 00:00:00 2001 From: Ondrej Wisniewski Date: Fri, 6 Nov 2015 15:01:28 +0100 -Subject: [PATCH 104/212] dts: Added overlay for Adafruit PiTFT 2.8" capacitive +Subject: [PATCH 104/220] dts: Added overlay for Adafruit PiTFT 2.8" capacitive touch screen --- @@ -136992,14 +136683,11 @@ index 0000000..48920e9 + touch-swapxy = <&ft6236>,"touchscreen-swapped-x-y?"; + }; +}; --- -2.5.0 - -From 5c184dc77f6902787f498878c9675fd968ecc09e Mon Sep 17 00:00:00 2001 +From cd601889aedcb4d49590fc91d5c2988cad2e6d85 Mon Sep 17 00:00:00 2001 From: Stuart MacLean Date: Fri, 2 Oct 2015 15:12:59 +0100 -Subject: [PATCH 105/212] Add support for the HiFiBerry DAC+ Pro. +Subject: [PATCH 105/220] Add support for the HiFiBerry DAC+ Pro. The HiFiBerry DAC+ and DAC+ Pro products both use the existing bcm sound driver with the DAC+ Pro having a special clock device driver representing the two high precision oscillators. @@ -137060,7 +136748,7 @@ index deb9c62..f923a48 100644 }; }; diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index 820714c..94ccf038 100644 +index 820714c..94ccf03 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -24,6 +24,7 @@ obj-$(CONFIG_COMMON_CLK_CDCE706) += clk-cdce706.o @@ -137546,14 +137234,11 @@ index 047c489..090fe0e 100644 if (lrclk_div == 0) { dev_err(dev, "No LRCLK?\n"); return -EINVAL; --- -2.5.0 - -From 0c2baf70040e2b5584ada2b0ba2a3604f16e3fdd Mon Sep 17 00:00:00 2001 +From 7a6f317933c0a1319bbf955fd705cc0fa33364a5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 5 Oct 2015 10:47:45 +0100 -Subject: [PATCH 106/212] BCM270X_DT: Add at86rf233 overlay +Subject: [PATCH 106/220] BCM270X_DT: Add at86rf233 overlay Add an overlay to support the Atmel AT86RF233 WPAN transceiver on spi0.0. @@ -137687,14 +137372,11 @@ index 0000000..0460269 + trim = <&lowpan0>, "xtal-trim.0"; + }; +}; --- -2.5.0 - -From f47e2fc8f4302c4ee94b128b219001e9ae911948 Mon Sep 17 00:00:00 2001 +From e8bb4b5844abce1cdb3911c6904931687b401e6d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 107/212] mm: Remove the PFN busy warning +Subject: [PATCH 107/220] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -137718,14 +137400,11 @@ index 9d666df..b682acc 100644 ret = -EBUSY; goto done; } --- -2.5.0 - -From 9c0106493da20fe3181733ac0fe6d2d5a1fdd920 Mon Sep 17 00:00:00 2001 +From f856eef0133f2109a85b25cf6129479578c3bde2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 19 Nov 2014 12:06:38 -0800 -Subject: [PATCH 108/212] drm: Put an optional field in the driver struct for +Subject: [PATCH 108/220] drm: Put an optional field in the driver struct for GEM obj struct size. This allows a driver to derive from the CMA object without copying all @@ -137766,14 +137445,11 @@ index 0a271ca..54f5469 100644 const struct drm_ioctl_desc *ioctls; int num_ioctls; const struct file_operations *fops; --- -2.5.0 - -From 65a65dd777707a226c59a3492663154c28e756f1 Mon Sep 17 00:00:00 2001 +From 95aeeb5d4186e0727d7d6b50bc614fdf470e55bd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 30 Oct 2015 10:09:02 -0700 -Subject: [PATCH 109/212] drm/vc4: Add an interface for capturing the GPU state +Subject: [PATCH 109/220] drm/vc4: Add an interface for capturing the GPU state after a hang. This can be parsed with vc4-gpu-tools tools for trying to figure out @@ -138113,14 +137789,11 @@ index 499daae..4a8d19f 100644 +}; + #endif /* _UAPI_VC4_DRM_H_ */ --- -2.5.0 - -From f775356d50749c9d9aa85715f73947622bb3b87d Mon Sep 17 00:00:00 2001 +From 7278374ce28d2cd82d233e8aec4c9068c36ce82f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 4 Dec 2015 11:35:34 -0800 -Subject: [PATCH 110/212] drm/vc4: Update a bunch of code to match upstream +Subject: [PATCH 110/220] drm/vc4: Update a bunch of code to match upstream submission. This gets almost everything matching, except for the MSAA support and @@ -140039,14 +139712,11 @@ index 54f5469..987c25a 100644 const struct drm_ioctl_desc *ioctls; int num_ioctls; const struct file_operations *fops; --- -2.5.0 - -From 4124ae18d51739d55e3074c8cdaa683f88bb57d7 Mon Sep 17 00:00:00 2001 +From ca8ee4d96868132b2a5aa571dd682c498af9df99 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 11 Dec 2015 19:45:03 -0800 -Subject: [PATCH 111/212] drm: Use the driver's gem_object_free function from +Subject: [PATCH 111/220] drm: Use the driver's gem_object_free function from CMA helpers. VC4 wraps the CMA objects in its own structures, so it needs to do its @@ -140106,14 +139776,11 @@ index 0f7b00b..e5df53b 100644 return ERR_PTR(ret); } --- -2.5.0 - -From 558f0e9dd21472a7aa6c58905fd22bd5004c6bdc Mon Sep 17 00:00:00 2001 +From 7a514565486b690808d3b7cef20a59cd61c5936e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 17 Jul 2015 13:15:50 -0700 -Subject: [PATCH 112/212] drm/vc4: Add support for MSAA rendering. +Subject: [PATCH 112/220] drm/vc4: Add support for MSAA rendering. For MSAA, you set a bit in the binner that halves the size of tiles in each direction, so you can pack 4 samples per pixel in the tile @@ -140636,14 +140303,11 @@ index 4a8d19f..49cd992 100644 uint32_t clear_color[2]; uint32_t clear_z; uint8_t clear_s; --- -2.5.0 - -From 45a2f6d868c6e3240a7e3fffc033c67ba80caa7d Mon Sep 17 00:00:00 2001 +From 495d61b459efb475fe3b4b8dd170cece45943a3d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 8 Dec 2015 14:00:43 -0800 -Subject: [PATCH 113/212] drm/vc4: A few more non-functional changes to sync to +Subject: [PATCH 113/220] drm/vc4: A few more non-functional changes to sync to upstream. At this point all that's left is the force-enable of HDMI connector, @@ -140986,14 +140650,11 @@ index 49cd992..eeb37e3 100644 }; #endif /* _UAPI_VC4_DRM_H_ */ --- -2.5.0 - -From 90a59a430589d9e6cd6f81e670bb59281e6e5607 Mon Sep 17 00:00:00 2001 +From 6062beb756ae5a95f1dd224977839f0e039fd8a6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 15 Dec 2015 23:46:32 +0000 -Subject: [PATCH 114/212] drm/vc4: Use "hpd-gpios" for HDMI GPIO, like what +Subject: [PATCH 114/220] drm/vc4: Use "hpd-gpios" for HDMI GPIO, like what landed upstream. Signed-off-by: Eric Anholt @@ -141014,14 +140675,11 @@ index cf5d5c9..da37483 100644 clocks = <&cprman BCM2835_PLLH_PIX>, <&cprman BCM2835_CLOCK_HSM>; clock-names = "pixel", "hdmi"; --- -2.5.0 - -From a2c8c4439951f905abeea055cddf6f3077f96035 Mon Sep 17 00:00:00 2001 +From faba9403c11d146bed41008f4d499f8a7bc976af Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 7 Dec 2015 12:35:01 -0800 -Subject: [PATCH 115/212] drm/vc4: Synchronize validation code for v2 +Subject: [PATCH 115/220] drm/vc4: Synchronize validation code for v2 submission upstream. Signed-off-by: Eric Anholt @@ -141637,14 +141295,11 @@ index 2f22f19..0fb5b99 100644 if (ret) return ret; } --- -2.5.0 - -From afb5127383dd765c242485c0c37f0c21527dbfaf Mon Sep 17 00:00:00 2001 +From ea387e5f3e007f44c7ad197b3459238b673e01be Mon Sep 17 00:00:00 2001 From: janluca Date: Sun, 27 Dec 2015 14:34:04 +0100 -Subject: [PATCH 116/212] MMC: Do not use mmc_debug if CONFIG_MMC_BCM2835 is +Subject: [PATCH 116/220] MMC: Do not use mmc_debug if CONFIG_MMC_BCM2835 is not set If CONFIG_MMC_BCM2835 was not set the compiling of the kernel failed @@ -141680,14 +141335,11 @@ index 87ae2e9..b79fe14 100644 +#endif } EXPORT_SYMBOL(mmc_fixup_device); --- -2.5.0 - -From c5107c1a576bb26003c4369d95d7ef60249a60cf Mon Sep 17 00:00:00 2001 +From dd859db6e150624692719e6b3eb94af686350414 Mon Sep 17 00:00:00 2001 From: Devon Fyson Date: Wed, 30 Dec 2015 16:40:47 -0500 -Subject: [PATCH 117/212] Extend clock timeout, fix modprobe baudrate +Subject: [PATCH 117/220] Extend clock timeout, fix modprobe baudrate parameter. Set the BSC_CLKT clock streching timeout to 35ms as per SMBus specs.\n- Increase priority of baudrate parameter passed to modprobe (in /etc/modprobe.d/*.conf or command line). Currently custom baudrates don't work because they are overridden by clock-frequency in the platform_device passed to the function. @@ -141794,14 +141446,11 @@ index 85f411c..b152639 100644 dev_info(&pdev->dev, "BSC%d Controller at 0x%08lx (irq %d) (baudrate %d)\n", pdev->id, (unsigned long)regs->start, irq, baudrate); --- -2.5.0 - -From fd4c982472e595a262ea849b97084c6115cda9b0 Mon Sep 17 00:00:00 2001 +From 43719e41a45ad4d3e421fe1ddf78e27422befbda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 31 Dec 2015 16:44:58 +0100 -Subject: [PATCH 118/212] bcm270x_dt: Add dwc2 and dwc-otg overlays +Subject: [PATCH 118/220] bcm270x_dt: Add dwc2 and dwc-otg overlays --- arch/arm/boot/dts/overlays/Makefile | 2 ++ @@ -141918,14 +141567,11 @@ index 0000000..90c9811 + g-tx-fifo-size = <&usb>,"g-tx-fifo-size:0"; + }; +}; --- -2.5.0 - -From ed645c6641fba36237a97d65a883777be63df916 Mon Sep 17 00:00:00 2001 +From ec1679965feef848b8b0e6066f03d8fba01abe9c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 4 Jan 2016 14:42:17 +0000 -Subject: [PATCH 119/212] BCM270X_DT: Add the sdtweak overlay, for tuning +Subject: [PATCH 119/220] BCM270X_DT: Add the sdtweak overlay, for tuning sdhost The sdhost overlay declares the sdhost interface and allows parameters @@ -142003,14 +141649,11 @@ index 0000000..74c168d + debug = <&frag1>,"brcm,debug?"; + }; +}; --- -2.5.0 - -From 3acef3b02e2c93056fb1097e7d50ae038a69fac9 Mon Sep 17 00:00:00 2001 +From 275052b001c067a064e516f8268f58885bf835cc Mon Sep 17 00:00:00 2001 From: Andrew Litt Date: Mon, 11 Jan 2016 07:54:21 +0000 -Subject: [PATCH 120/212] bcm2835-mmc: Don't override bus width capabilities +Subject: [PATCH 120/220] bcm2835-mmc: Don't override bus width capabilities from devicetree Take out the force setting of the MMC_CAP_4_BIT_DATA host capability @@ -142033,14 +141676,11 @@ index 43aed6e..104f93e 100644 mmc->caps2 |= MMC_CAP2_SDIO_IRQ_NOTHREAD; --- -2.5.0 - -From 91f811cbf707c53384de0084455e2f9d60b084f1 Mon Sep 17 00:00:00 2001 +From 9d44aa6fb5dd55e9bcaa8423e0e16a484ff5c773 Mon Sep 17 00:00:00 2001 From: Andrew Litt Date: Mon, 11 Jan 2016 07:55:54 +0000 -Subject: [PATCH 121/212] SDIO-overlay: add bus_width parameter +Subject: [PATCH 121/220] SDIO-overlay: add bus_width parameter Allow setting of the SDIO bus width capability of the bcm2835-mmc host. This is helpful when only a 1 bit wide bus is connected @@ -142083,14 +141723,11 @@ index afc8742..7935e7a 100644 + bus_width = <&sdio_mmc>,"bus-width:0"; }; }; --- -2.5.0 - -From a012473e3bb7f7e075b655de7bb32b47a0adc127 Mon Sep 17 00:00:00 2001 +From a9243cdee427aceed2240ab4231ee106aad8df74 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:41:45 +0100 -Subject: [PATCH 122/212] bcm2835: extend allowed range of channels and +Subject: [PATCH 122/220] bcm2835: extend allowed range of channels and samplerates Allow everything the videocore accepts. @@ -142126,14 +141763,11 @@ index 8c86375..31e3131 100755 .buffer_bytes_max = 128 * 1024, .period_bytes_min = 1 * 1024, .period_bytes_max = 128 * 1024, --- -2.5.0 - -From a09d3d4ae3cf7bf71876125e8971122ee19ed49e Mon Sep 17 00:00:00 2001 +From bfc200a71120b8e2f69cf8ad7fc4c361f0697555 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:42:18 +0100 -Subject: [PATCH 123/212] bcm2835: restrict channels*rate to 8*960000 +Subject: [PATCH 123/220] bcm2835: restrict channels*rate to 8*960000 This is required at least for SPDIF. If the bitrate goes above, videocore will either resample the audio or corrupt it due to @@ -142212,14 +141846,11 @@ index 31e3131..b17ed32 100755 chip->alsa_stream[idx] = alsa_stream; chip->opened |= (1 << idx); --- -2.5.0 - -From 078830307a9c15381bf15efc16ea06ece73aa289 Mon Sep 17 00:00:00 2001 +From 3a6cc8186dcb6b4a2c789cb7bbb20c0e0499c2f8 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:42:48 +0100 -Subject: [PATCH 124/212] rpi: update vc_vchi_audioserv_defs.h +Subject: [PATCH 124/220] rpi: update vc_vchi_audioserv_defs.h Add audioserv 3 extensions. The changes were taken from the paste linked here: @@ -142284,14 +141915,11 @@ index af3e6eb..5f4409f 100644 -#endif // _VC_AUDIO_DEFS_H_ +#endif // _VC_AUDIO_DEFS_H_ \ No newline at end of file --- -2.5.0 - -From df7e0fcfc9c38f0de7da12c279be70c270c9d59c Mon Sep 17 00:00:00 2001 +From 00c8442a992bff22ce3fe81157910d6d2e93b63b Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:43:12 +0100 -Subject: [PATCH 125/212] bcm2835: implement channel map API +Subject: [PATCH 125/220] bcm2835: implement channel map API Report all layouts supported by the HDMI protocol to userspace. Make the videocore set the correct layout according to the @@ -142717,14 +142345,11 @@ index 0f71c5d..997fb69 100755 int bcm2835_audio_open(bcm2835_alsa_stream_t * alsa_stream); int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream); int bcm2835_audio_set_params(bcm2835_alsa_stream_t * alsa_stream, --- -2.5.0 - -From ff6e9741269962792a0088f07b8607eec4d50aad Mon Sep 17 00:00:00 2001 +From 49fad443a79e7ada4ef59e12aa750961facf82ad Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:43:35 +0100 -Subject: [PATCH 126/212] bcm2835: access controls under the audio mutex +Subject: [PATCH 126/220] bcm2835: access controls under the audio mutex I don't think the ALSA framework provides any kind of automatic synchronization within the control callbacks. We most likely need @@ -142737,7 +142362,7 @@ probably always be called under our own audio lock. 2 files changed, 66 insertions(+), 12 deletions(-) diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c -index 92d3f76..5b8e6bd2 100755 +index 92d3f76..5b8e6bd 100755 --- a/sound/arm/bcm2835-ctl.c +++ b/sound/arm/bcm2835-ctl.c @@ -94,6 +94,9 @@ static int snd_bcm2835_ctl_get(struct snd_kcontrol *kcontrol, @@ -142962,14 +142587,11 @@ index 1067460..48da3bb 100755 audio_info(" .. OUT\n"); return 0; } --- -2.5.0 - -From 80028c7c862f81d645d55e5ec86ce76d4d430dfe Mon Sep 17 00:00:00 2001 +From 74dd5403957ba3601438bced4a7d78a2c1fd04bd Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:44:03 +0100 -Subject: [PATCH 127/212] bcm2835: always use 2/4/8 channels for multichannel +Subject: [PATCH 127/220] bcm2835: always use 2/4/8 channels for multichannel layouts Pad the unused channels with NA. This means userspace needs to write @@ -142982,7 +142604,7 @@ Works around noise at the following channel counts: 3, 5, 6, 7 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c -index 5b8e6bd2..dec052b 100755 +index 5b8e6bd..dec052b 100755 --- a/sound/arm/bcm2835-ctl.c +++ b/sound/arm/bcm2835-ctl.c @@ -349,6 +349,7 @@ struct cea_channel_speaker_allocation { @@ -143107,14 +142729,11 @@ index 5b8e6bd2..dec052b 100755 { .ca_index = 0x31, .speakers = { FRW, FLW, RR, RL, FC, LFE, FR, FL } }, }; --- -2.5.0 - -From 3a99b76e72196621895b660c1ea3956001d142a8 Mon Sep 17 00:00:00 2001 +From 95bd31380c7ffb1e5cff735bd88e9f9691535dfa Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:44:24 +0100 -Subject: [PATCH 128/212] bcm2835: only allow stereo if analogue jack is +Subject: [PATCH 128/220] bcm2835: only allow stereo if analogue jack is selected Sending more than 2 channels to videocore while outputting to analogue @@ -143175,14 +142794,11 @@ index dec052b..e930718 100755 memset(remap, 0, sizeof(remap)); for (x = 0; x < substream->runtime->channels; x++) { int sp = ucontrol->value.integer.value[x]; --- -2.5.0 - -From 6ef4a201d74800ab3c3b7872388ffb46dc8ddd4b Mon Sep 17 00:00:00 2001 +From cbc5b12c5730e1a2396e737a3d23978f308b3596 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 13 Jan 2016 19:44:47 +0100 -Subject: [PATCH 129/212] bcm2835: interpolate audio delay +Subject: [PATCH 129/220] bcm2835: interpolate audio delay It appears the GPU only sends us a message all 10ms to update the playback progress. Other than this, the playback position @@ -143273,14 +142889,11 @@ index 997fb69..20ef108 100755 uint32_t enable_fifo_irq; irq_handler_t fifo_irq_handler; --- -2.5.0 - -From 2e8ff846aafe99f7ba4adb548d6d544bfecd8b62 Mon Sep 17 00:00:00 2001 +From 9384914ddb90620248e22cade8a42951aa656dec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Jan 2016 17:16:38 +0000 -Subject: [PATCH 130/212] bcm2835-sdhost: Add workaround for odd behaviour on +Subject: [PATCH 130/220] bcm2835-sdhost: Add workaround for odd behaviour on some cards For reasons not understood, the sdhost driver fails when reading @@ -143294,7 +142907,7 @@ that problem which ensures those sectors are always read singly. 1 file changed, 52 insertions(+), 9 deletions(-) diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c -index da089985..309633c 100644 +index da08998..309633c 100644 --- a/drivers/mmc/host/bcm2835-sdhost.c +++ b/drivers/mmc/host/bcm2835-sdhost.c @@ -173,6 +173,9 @@ struct bcm2835_host { @@ -143416,14 +143029,11 @@ index da089985..309633c 100644 return blk_size; } --- -2.5.0 - -From f67d16104899ead42512ad6353dc0cf2b84e10d5 Mon Sep 17 00:00:00 2001 +From e26a12cf41c4c4e4a993708b3251fb964de7f1c6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 22 Jan 2016 16:03:24 +0000 -Subject: [PATCH 131/212] bcm2835-sdhost: Add debug_flags dtparam +Subject: [PATCH 131/220] bcm2835-sdhost: Add debug_flags dtparam Bit zero disables the single-read-sectors map: @@ -143546,14 +143156,11 @@ index 309633c..ef9b1e6 100644 if (host->allow_dma) { if (node) { host->dma_chan_tx = --- -2.5.0 - -From 5e61b24ec5c5aab7342f7c319d297c66eb369c0a Mon Sep 17 00:00:00 2001 +From ee03a11c1190604888fecd077b83b61899f2876e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 25 Jan 2016 09:12:06 +0000 -Subject: [PATCH 132/212] BCM270X_DT: Add sdio_overclock parameter to sdio +Subject: [PATCH 132/220] BCM270X_DT: Add sdio_overclock parameter to sdio overlay The sdio_overclock parameter is like the overclock_50 parameter, i.e. @@ -143623,14 +143230,11 @@ index 7935e7a..398bd81 100644 + sdio_overclock = <&sdio_mmc>,"brcm,overclock-50:0"; }; }; --- -2.5.0 - -From 8c403ccd42234846cf57496b32948b9af14f06d1 Mon Sep 17 00:00:00 2001 +From a5f0a2e15ae5d6012aaf28087e4a7460599be817 Mon Sep 17 00:00:00 2001 From: Michael Lange Date: Thu, 21 Jan 2016 18:10:16 +0100 -Subject: [PATCH 133/212] rtc: ds1307: add support for the DT property +Subject: [PATCH 133/220] rtc: ds1307: add support for the DT property 'wakeup-source' For RTC chips with no IRQ directly connected to the SoC, the RTC chip @@ -143660,7 +143264,7 @@ Signed-off-by: Alexandre Belloni 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c -index 1cb13fee..28ca4bf 100644 +index 1cb13fe..28ca4bf 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -860,6 +860,7 @@ static int ds1307_probe(struct i2c_client *client, @@ -143723,14 +143327,11 @@ index 1cb13fee..28ca4bf 100644 if (want_irq) { err = devm_request_threaded_irq(&client->dev, client->irq, NULL, irq_handler, --- -2.5.0 - -From e5b28cae15b25c2ab427cbde47d462547c4b004b Mon Sep 17 00:00:00 2001 +From 6e362fc24cc878bdc05587a65e1a4c29f6839cb6 Mon Sep 17 00:00:00 2001 From: vitalogy Date: Tue, 19 Jan 2016 07:02:02 +0100 -Subject: [PATCH 134/212] dt-overlay: add wittypi-overlay.dts +Subject: [PATCH 134/220] dt-overlay: add wittypi-overlay.dts --- arch/arm/boot/dts/overlays/wittypi-overlay.dts | 44 ++++++++++++++++++++++++++ @@ -143787,14 +143388,11 @@ index 0000000..be5987d + }; + +}; --- -2.5.0 - -From aba5d4af2234386f97b9fb79e015c7557c6ab899 Mon Sep 17 00:00:00 2001 +From f006101804897fc9da5d6a5d45fcf2f871325189 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Jan 2016 16:28:05 +0000 -Subject: [PATCH 135/212] FIXUP i2c_bcm2708: Don't change module baudrate +Subject: [PATCH 135/220] FIXUP i2c_bcm2708: Don't change module baudrate parameter Overwriting the baudrate module parameter creates an apparent @@ -143892,14 +143490,11 @@ index b152639..c9b8e5c 100644 return 0; --- -2.5.0 - -From 11ad0c1a8fcfe6de7b6b33dd66709ba82b63cce9 Mon Sep 17 00:00:00 2001 +From 47cf0578d6686f32a1385a6821a2d4fe6652cdd0 Mon Sep 17 00:00:00 2001 From: Digital Dreamtime Date: Thu, 4 Feb 2016 14:14:44 +0000 -Subject: [PATCH 136/212] Allow up to 24dB digital gain to be applied when +Subject: [PATCH 136/220] Allow up to 24dB digital gain to be applied when using IQAudIO DAC+ 24db_digital_gain DT param can be used to specify that PCM512x @@ -144001,14 +143596,11 @@ index 37038d4..124d7a9 100644 } ret = snd_soc_register_card(&snd_rpi_iqaudio_dac); --- -2.5.0 - -From 08248da930abc0946b75fcb46b76dc7522b47c69 Mon Sep 17 00:00:00 2001 +From 7e2dcd8334b6eacd2f1a2cf4c6f2059ad1617be5 Mon Sep 17 00:00:00 2001 From: Digital Dreamtime Date: Thu, 4 Feb 2016 20:04:00 +0000 -Subject: [PATCH 137/212] Limit PCM512x "Digital" gain to 0dB by default with +Subject: [PATCH 137/220] Limit PCM512x "Digital" gain to 0dB by default with HiFiBerry DAC+ 24db_digital_gain DT param can be used to specify that PCM512x @@ -144109,14 +143701,11 @@ index a6b651c..153dbcd 100644 } ret = snd_soc_register_card(&snd_rpi_hifiberry_dacplus); --- -2.5.0 - -From cb87abec84007f53e1ff4c86c1fddd07b07ead8d Mon Sep 17 00:00:00 2001 +From c98ef367b9b550f7ed9bd95730d20aee5ae9d9c2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 Feb 2016 09:46:33 +0000 -Subject: [PATCH 138/212] BCM270X_DT: Adjust overlay README formatting +Subject: [PATCH 138/220] BCM270X_DT: Adjust overlay README formatting --- arch/arm/boot/dts/overlays/README | 414 +++++++++++++++++++------------------- @@ -144844,14 +144433,11 @@ index 296184f..f987565 100644 Troubleshooting --- -2.5.0 - -From 415be23999f27b9d2095f5c3b118887589da7b9c Mon Sep 17 00:00:00 2001 +From 335e207701ba241a9e9d834379cd9b96cc42c696 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 9 Feb 2016 09:52:13 +0000 -Subject: [PATCH 139/212] pinctrl-bcm2835: Fix cut-and-paste error in "pull" +Subject: [PATCH 139/220] pinctrl-bcm2835: Fix cut-and-paste error in "pull" parsing The DT bindings for pinctrl-bcm2835 allow both the function and pull @@ -144875,14 +144461,11 @@ index 640e3b0..32f779e 100644 if (err) goto out; err = bcm2835_pctl_dt_node_to_map_pull(pc, np, pin, --- -2.5.0 - -From 24f55761e0dc84d32e244587a535b32ea7d2ef19 Mon Sep 17 00:00:00 2001 +From 0fa4261b8ebb18c2c8f4424b65c9ccbb67160c0f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Feb 2016 16:51:01 +0000 -Subject: [PATCH 140/212] bcm2835-sdhost: Major revision +Subject: [PATCH 140/220] bcm2835-sdhost: Major revision This is a significant revision of the bcm2835-sdhost driver. It improves on the original in a number of ways: @@ -146950,14 +146533,11 @@ index ef9b1e6..262180b 100644 static struct platform_driver bcm2835_sdhost_driver = { .probe = bcm2835_sdhost_probe, .remove = bcm2835_sdhost_remove, --- -2.5.0 - -From b7326af0e71cfcbde46bb22a295bef9606ca6f13 Mon Sep 17 00:00:00 2001 +From d243f0173dc4f7f61979272fec65d70abe9cab76 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 12 Feb 2016 15:38:00 +0000 -Subject: [PATCH 141/212] BCM270X_DT: Add dtparams for the SD interface +Subject: [PATCH 141/220] BCM270X_DT: Add dtparams for the SD interface Add new base dtparams sd_overclock, sd_force_pio, sd_pio_limit and sd_debug. @@ -147209,14 +146789,11 @@ index b0b208c..e4a4677 100644 + debug = <&frag0>,"brcm,debug?"; }; }; --- -2.5.0 - -From e4e7ecb342e186a35cefd2e515ded768263ba41c Mon Sep 17 00:00:00 2001 +From 75c60d3c472b2f63a364b83b5aeb8b2c8f228e86 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 12 Feb 2016 14:50:25 +0000 -Subject: [PATCH 142/212] dcw_otg: trim xfer length when buffer larger than +Subject: [PATCH 142/220] dcw_otg: trim xfer length when buffer larger than allocated size is received --- @@ -147252,14 +146829,11 @@ index 8db3dfc..d672a76 100644 /* non DWORD-aligned buffer case handling. */ if (hc->align_buff && bytes_transferred && hc->ep_is_in) { dwc_memcpy(urb->buf + urb->actual_length, hc->qh->dw_align_buf, --- -2.5.0 - -From e95065aaae7ce07c033d2a6f2f0c1d70aef2e126 Mon Sep 17 00:00:00 2001 +From 45d3be195a6547d98e9d1979b9dff4b6e25f3511 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 15 Feb 2016 10:00:27 +0000 -Subject: [PATCH 143/212] bcm2835-sdhost: Restore ATOMIC flag to PIO sg mapping +Subject: [PATCH 143/220] bcm2835-sdhost: Restore ATOMIC flag to PIO sg mapping Allocation problems have been seen in a wireless driver, and this is the only change which might have been responsible. @@ -147290,14 +146864,11 @@ index 262180b..d66385c 100644 sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags); host->blocks = data->blocks; } --- -2.5.0 - -From 0ad399d93387ff3b50f1f3ee2891f9bafd5adfa0 Mon Sep 17 00:00:00 2001 +From 4bca411d6d79bb963a99b0f344d2e166ea387b1b Mon Sep 17 00:00:00 2001 From: Craig Roberts Date: Tue, 16 Feb 2016 10:03:42 +0000 -Subject: [PATCH 144/212] Updated smsc95xx driver to check for a valid MAC +Subject: [PATCH 144/220] Updated smsc95xx driver to check for a valid MAC address in eeprom before using smsc95xx.macaddr parameter passed on command line. @@ -147336,14 +146907,11 @@ index 3244a90..7483222 100755 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); } --- -2.5.0 - -From b5ef1237577219944bc9594e7860e06c7d1d4307 Mon Sep 17 00:00:00 2001 +From 49c7acf19713e3b277e75564c9adf11c8837b7cb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Feb 2016 19:02:31 +0000 -Subject: [PATCH 145/212] dcw_otg: Make trimming messages less noisy +Subject: [PATCH 145/220] dcw_otg: Make trimming messages less noisy --- drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 6 ++++-- @@ -147373,14 +146941,11 @@ index d672a76..e6b38ac 100644 bytes_transferred = urb->length - urb->actual_length; } --- -2.5.0 - -From aaa26a79a5887736a946f9f959adce468fecd1cf Mon Sep 17 00:00:00 2001 +From 17daf96d1897ecb234a14166a59a25f89b0b3691 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 18 Feb 2016 15:28:14 +0000 -Subject: [PATCH 146/212] BCM270X_DT: at86rf233 overlay - drop to 3MHz +Subject: [PATCH 146/220] BCM270X_DT: at86rf233 overlay - drop to 3MHz The consensus is that 6MHz is too fast, but that 3MHz is OK. @@ -147417,14 +146982,11 @@ index 0460269..eab4052 100644 xtal-trim = /bits/ 8 <0xf>; }; }; --- -2.5.0 - -From 374767b7cbade15fbfa8e15bdc770127d5590b25 Mon Sep 17 00:00:00 2001 +From 1b5cbad94db73906e9730434f137ca9f09ac8df4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 19 Feb 2016 12:04:48 +0000 -Subject: [PATCH 147/212] bcm2835-sdhost: Downgrade log message status +Subject: [PATCH 147/220] bcm2835-sdhost: Downgrade log message status --- drivers/mmc/host/bcm2835-sdhost.c | 4 ++-- @@ -147445,14 +147007,11 @@ index d66385c..4f6cab5 100644 timer_base = ioremap_nocache(bus_to_phys + 0x7e003000, SZ_4K); if (!timer_base) pr_err("sdhost: failed to remap timer\n"); --- -2.5.0 - -From 8c32ef025a5e8946dd33da5028b812a667eee823 Mon Sep 17 00:00:00 2001 +From 6d7968ac9deb4d9e1e1e2f0fdb6ebf587040b1d3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 15 Jan 2016 16:48:27 +0000 -Subject: [PATCH 148/212] config: Enable HCI over UARTs +Subject: [PATCH 148/220] config: Enable HCI over UARTs --- arch/arm/configs/bcm2709_defconfig | 3 +++ @@ -147486,14 +147045,11 @@ index 51dc019..4368f0d 100644 CONFIG_BT_HCIBCM203X=m CONFIG_BT_HCIBPA10X=m CONFIG_BT_HCIBFUSB=m --- -2.5.0 - -From f2f74adffe62e1ae486ca4830a6340e65d5324fb Mon Sep 17 00:00:00 2001 +From c48b71c5495da90df40a5ab608d370a380ee55c7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 149/212] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 149/220] 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. @@ -147515,14 +147071,11 @@ index abee221..2825833 100644 } else if (memcmp(data, conf_rsp, 2) == 0) { if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 7); --- -2.5.0 - -From c7944a877f516a6974059711820093dc5a4052bf Mon Sep 17 00:00:00 2001 +From 9590600fd83051b01b94541bcdbd44126a74c233 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 150/212] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 150/220] 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 @@ -147550,14 +147103,11 @@ index 899a771..68b3353 100644 uap->old_cr = 0; uap->port.dev = dev; --- -2.5.0 - -From f77097a5484b7f2b3e74a426646ef50957224a39 Mon Sep 17 00:00:00 2001 +From 6f9eebcb207c54cc025a0fa03a0a0aec6872bcb1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 15 Dec 2015 15:35:57 -0800 -Subject: [PATCH 151/212] clk: bcm2835: Add bindings for the auxiliary +Subject: [PATCH 151/220] clk: bcm2835: Add bindings for the auxiliary peripheral clock gates. These will be used for enabling UART1, SPI1, and SPI2. @@ -147632,14 +147182,11 @@ index 0000000..d91156e +#define BCM2835_AUX_CLOCK_SPI1 1 +#define BCM2835_AUX_CLOCK_SPI2 2 +#define BCM2835_AUX_CLOCK_COUNT 3 --- -2.5.0 - -From 80fb61da72241cde200e07c044e8c86ed5b45bc1 Mon Sep 17 00:00:00 2001 +From 29fb950e3ba56af92a2183a46555b173cf964674 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 15 Dec 2015 15:35:58 -0800 -Subject: [PATCH 152/212] clk: bcm2835: Add a driver for the auxiliary +Subject: [PATCH 152/220] clk: bcm2835: Add a driver for the auxiliary peripheral clock gates. There are a pair of SPI masters and a mini UART that were last minute @@ -147759,14 +147306,11 @@ index 0000000..e4f89e2 +MODULE_AUTHOR("Eric Anholt "); +MODULE_DESCRIPTION("BCM2835 auxiliary peripheral clock driver"); +MODULE_LICENSE("GPL v2"); --- -2.5.0 - -From 9c1a31196fa5ffc0ddbf7af89f0b87ecf54b517f Mon Sep 17 00:00:00 2001 +From 1bf2851444db1c73de9084f05866b2b976136616 Mon Sep 17 00:00:00 2001 From: Fraser Date: Tue, 23 Feb 2016 10:04:37 +1100 -Subject: [PATCH 153/212] Aux SPI 1&2 implementation +Subject: [PATCH 153/220] Aux SPI 1&2 implementation Adds aux spi 1 & 2 devices to compatible raspberry PIs. * Minor config of the driver build environment to ensure they get built @@ -148495,14 +148039,11 @@ index e842e86..c9d1558 100644 depends on GPIOLIB help This selects a driver for the Broadcom BCM2835 SPI aux master. --- -2.5.0 - -From a98503ac7da42217919f0d5c2efcfa7473cf6d75 Mon Sep 17 00:00:00 2001 +From f0fc0526b27dfa7e01162255512440f6ca925377 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 23 Feb 2016 17:28:23 +0100 -Subject: [PATCH 154/212] ASoC: bcm: add missing .owner fields in sound card +Subject: [PATCH 154/220] ASoC: bcm: add missing .owner fields in sound card drivers If snd_soc_card.owner is not set the kernel won't do usage refcounting @@ -148623,14 +148164,11 @@ index c6e45a0..9db678e 100644 .dai_link = snd_rpi_proto_dai, .num_links = ARRAY_SIZE(snd_rpi_proto_dai), }; --- -2.5.0 - -From d32fc7cbb16dd0a8d44cda715688c030fbed20ce Mon Sep 17 00:00:00 2001 +From 5e4a21532c063cde668062146d4e9736f443a5a2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 20 Jan 2016 17:50:09 +0000 -Subject: [PATCH 155/212] smsx95xx: Add option to disable the crimes against +Subject: [PATCH 155/220] smsx95xx: Add option to disable the crimes against truesize fix It may improve iperf numbers on Pi 1, but may generate dmesg warnings and possibly cause network issues @@ -148675,14 +148213,11 @@ index 7483222..a61bd08 usbnet_skb_return(dev, ax_skb); } --- -2.5.0 - -From a3747dd75561206cbfb7ff536ceac9bd23df982f Mon Sep 17 00:00:00 2001 +From 9cc01e6746ad770056575a80e55844828d0f91a5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 156/212] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 156/220] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -148934,14 +148469,11 @@ index b011489..c844968 100644 RPI_FIRMWARE_FRAMEBUFFER_RELEASE = 0x00048001, RPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003, RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT = 0x00044004, --- -2.5.0 - -From 3992e10e19e4fdee00b1ae74f5fc74594f83a744 Mon Sep 17 00:00:00 2001 +From 74bf9e6bacea9547dbc61259c5b1fd6c582a09d0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Jan 2016 17:57:49 +0000 -Subject: [PATCH 157/212] BCM270X_DT: Add Pi3 support +Subject: [PATCH 157/220] BCM270X_DT: Add Pi3 support --- arch/arm/boot/dts/Makefile | 1 + @@ -149269,14 +148801,11 @@ index 0000000..1a48686 + interrupt-parent = <&local_intc>; + interrupts = <8>; +}; --- -2.5.0 - -From 0c58748a6303f42568c49c6971729df36827b76d Mon Sep 17 00:00:00 2001 +From 77f8ba7aa00715d205de661d389c8285eba54cd1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson <6by9@users.noreply.github.com> Date: Mon, 8 Feb 2016 23:49:41 +0000 -Subject: [PATCH 158/212] DT: Add overlays to configure I2C pins +Subject: [PATCH 158/220] DT: Add overlays to configure I2C pins Lifted from https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=120938&p=825883 @@ -149417,14 +148946,11 @@ index 0000000..e303b9c + pin_func = <&i2c1_pins>,"brcm,function:0"; + }; +}; --- -2.5.0 - -From 4068e875bf7cb8498635d72166557d227d7243a3 Mon Sep 17 00:00:00 2001 +From ff3a72f926b23ea449bc5af9e4b1edc5dd194d3f Mon Sep 17 00:00:00 2001 From: Dhiraj Goel Date: Thu, 3 Mar 2016 21:10:50 -0800 -Subject: [PATCH 159/212] bcm2835-camera: fix a bug in computation of frame +Subject: [PATCH 159/220] bcm2835-camera: fix a bug in computation of frame timestamp Fixes #1318 @@ -149446,14 +148972,11 @@ index e83334c..98a892e 100644 buf->vb.timestamp.tv_usec = dev->capture.kernel_start_ts.tv_usec + rem; --- -2.5.0 - -From 4adfed725c209453a215ba42d24fc4b8cfb3a401 Mon Sep 17 00:00:00 2001 +From 9e60aeea4162ec229e5ebed7b2af695d98309369 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 2 Mar 2016 10:59:05 +0000 -Subject: [PATCH 160/212] BCM270X_DT: Add pi3-disable-bt overlay +Subject: [PATCH 160/220] BCM270X_DT: Add pi3-disable-bt overlay Disable Bluetooth and restore UART0/ttyAMA0 over GPIOs 14 & 15. To disable the systemd service that initialises the modem so it doesn't use the UART: @@ -149553,14 +149076,11 @@ index 0000000..05403e2 + }; + }; +}; --- -2.5.0 - -From 4449ab94c62979b57fec60f5c5ba1b4954a85988 Mon Sep 17 00:00:00 2001 +From 49ee7100969f66f5754c1304b2a5d6dfff5f66c4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 09:53:03 +0000 -Subject: [PATCH 161/212] BCM270X_DT: Add pi3-miniuart-bt DT overlay +Subject: [PATCH 161/220] BCM270X_DT: Add pi3-miniuart-bt DT overlay Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum @@ -149681,14 +149201,11 @@ index 0000000..ae1292a + }; + }; +}; --- -2.5.0 - -From 72c4fbe3e30b0fb7ab8f0b26cb51b4fc869a34a4 Mon Sep 17 00:00:00 2001 +From fdcbe65fa8272570e4d8385360c54d6084c527e5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 13:38:39 +0000 -Subject: [PATCH 162/212] Pi3 DT: Add dtparams for the SD interface +Subject: [PATCH 162/220] Pi3 DT: Add dtparams for the SD interface Add new base dtparams sd_overclock, sd_force_pio, sd_pio_limit and sd_debug. These were missed out of the initial Pi3 DTB. @@ -149712,14 +149229,11 @@ index cc06089..36972d8 100644 + sd_debug = <&sdhost>,"brcm,debug"; }; }; --- -2.5.0 - -From dcc0c1cb720d89d4ec64353753e8c6bdf3ad590b Mon Sep 17 00:00:00 2001 +From 6807d1de189d9a85ba25d3d54e1db36d9b67470f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 15:05:11 +0000 -Subject: [PATCH 163/212] vchiq_arm: Tweak the logging output +Subject: [PATCH 163/220] vchiq_arm: Tweak the logging output Signed-off-by: Phil Elwell --- @@ -149793,14 +149307,11 @@ index 2c98da4..160db24 100644 } switch (type) { --- -2.5.0 - -From 94f1af91e237587bcbf12aba4cef19807f8bbb72 Mon Sep 17 00:00:00 2001 +From a56dfcc0d7fbb6c0953fe7faa7391a14fbaf98cc Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2016 16:46:39 +0000 -Subject: [PATCH 164/212] bcm2835-sdhost: Only claim one DMA channel +Subject: [PATCH 164/220] bcm2835-sdhost: Only claim one DMA channel With both MMC controllers enabled there are few DMA channels left. The bcm2835-sdhost driver only uses DMA in one direction at a time, so it @@ -149961,14 +149472,11 @@ index 4f6cab5..4cc4272 100644 dma_request_channel(mask, NULL, NULL); } } --- -2.5.0 - -From 76b2574366bed59d626ac8bcba92df246aff1354 Mon Sep 17 00:00:00 2001 +From a1577083ab3d03c878c74153aba00ba6be3501a1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Mar 2016 09:49:16 +0000 -Subject: [PATCH 165/212] bcm2835-mmc: Only claim one DMA channel +Subject: [PATCH 165/220] bcm2835-mmc: Only claim one DMA channel With both MMC controllers enabled there are few DMA channels left. The bcm2835-mmc driver only uses DMA in one direction at a time, so it @@ -150139,14 +149647,11 @@ index 104f93e..ceb3793 100644 } #endif clk = devm_clk_get(dev, NULL); --- -2.5.0 - -From 7658391939ddd59e52b90a9164eb85350669fda3 Mon Sep 17 00:00:00 2001 +From 8a0c59cffa4e265e12d412be162e6e7e79538085 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 8 Mar 2016 17:08:39 +0000 -Subject: [PATCH 166/212] config: rebuild with savedefconfig +Subject: [PATCH 166/220] config: rebuild with savedefconfig --- arch/arm/configs/bcm2709_defconfig | 3 +-- @@ -150173,14 +149678,11 @@ index 6d6b519..116002b 100644 CONFIG_IIO_KFIFO_BUF=m CONFIG_MCP320X=m CONFIG_DHT11=m --- -2.5.0 - -From 3710f5f0d09adcdfa82da57ae653e32d8ce18704 Mon Sep 17 00:00:00 2001 +From e429d262078d082532f8538c3272ad41d00dcbe2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 8 Mar 2016 17:06:33 +0000 -Subject: [PATCH 167/212] config: Add module for mcp3422 ADC +Subject: [PATCH 167/220] config: Add module for mcp3422 ADC --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -150211,14 +149713,11 @@ index 1ca1695..f09be87 100644 CONFIG_DHT11=m CONFIG_PWM_BCM2835=m CONFIG_RASPBERRYPI_FIRMWARE=y --- -2.5.0 - -From d6922f32d4324a8556ccb28048ff3fadf9573995 Mon Sep 17 00:00:00 2001 +From 1021df7fe1b5bffc4f6e6020fac272c4cbe359eb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Mar 2016 16:18:57 +0000 -Subject: [PATCH 168/212] Pi3 DT: Add pull-ups on the UART RX lines +Subject: [PATCH 168/220] Pi3 DT: Add pull-ups on the UART RX lines Signed-off-by: Phil Elwell --- @@ -150259,14 +149758,11 @@ index ae1292a..0b8f0ca 100644 }; }; }; --- -2.5.0 - -From 0c427324249a0a6e691dec7b09f4911b952c8722 Mon Sep 17 00:00:00 2001 +From ee3a4aed77c36c19f325e9aac6e46fbde2ab6e09 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 17:25:59 +0000 -Subject: [PATCH 169/212] brcmfmac: Disable power management +Subject: [PATCH 169/220] brcmfmac: Disable power management Disable wireless power saving in the brcmfmac WLAN driver. This is a temporary measure until the connectivity loss resulting from power @@ -150290,14 +149786,11 @@ index deb5f78..90f65d9 100644 cfg->pwr_save = enabled; if (!check_vif_up(ifp->vif)) { --- -2.5.0 - -From 1c639a4618ee2f1c46da57f921fc797662853564 Mon Sep 17 00:00:00 2001 +From 7426f9f0a5a62e36f31d1db185277c92bfa3d844 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 21:28:52 +0000 -Subject: [PATCH 170/212] BCM270X_DT: rpi-display overlay - add swapxy param +Subject: [PATCH 170/220] BCM270X_DT: rpi-display overlay - add swapxy param Signed-off-by: Phil Elwell --- @@ -150336,14 +149829,11 @@ index a8fa974..ccb296e 100644 + swapxy = <&rpidisplay_ts>,"ti,swap-xy?"; }; }; --- -2.5.0 - -From 0cefbfe0e1b4bfaed991394978938177204cc91d Mon Sep 17 00:00:00 2001 +From 2de2cb38722b8fbdbe8f0fb5cef7e0ec2230a2a8 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Fri, 11 Mar 2016 11:44:35 +0000 -Subject: [PATCH 171/212] Remove I2S config from bt_pins. +Subject: [PATCH 171/220] Remove I2S config from bt_pins. Remove I2S config from bt_pins. Causes issues with clock alignment when I2S is used by an external DAC via GPIO header. @@ -150382,14 +149872,11 @@ index 0b8f0ca..f07afcb 100644 status = "okay"; }; }; --- -2.5.0 - -From a05e949b3366bf0722d1dde41b1658469c5d7879 Mon Sep 17 00:00:00 2001 +From 86ad245b6a404b9a7390439598c3a1990888199e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:44:59 +0100 -Subject: [PATCH 172/212] Revert "scripts/dtc: Add overlay support" +Subject: [PATCH 172/220] Revert "scripts/dtc: Add overlay support" This reverts commit fa6d1755c2fdd9451077d8248e3804f0619f19b9. --- @@ -150406,7 +149893,7 @@ This reverts commit fa6d1755c2fdd9451077d8248e3804f0619f19b9. 10 files changed, 1145 insertions(+), 1685 deletions(-) diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c -index efd1bc6..e81a8c74 100644 +index efd1bc6..e81a8c7 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -458,91 +458,21 @@ static void fixup_phandle_references(struct check *c, struct node *dt, @@ -154793,14 +154280,11 @@ index 86b7338..5b8c7d5 100644 @@ -1 +1 @@ -#define DTC_VERSION "DTC 1.4.1-g9d3649bd-dirty" +#define DTC_VERSION "DTC 1.4.1-g9d3649bd" --- -2.5.0 - -From d382779bec89ee69044498641c17f30bccdd9fc2 Mon Sep 17 00:00:00 2001 +From 4f8951170ab9ba34bd30d822a01d9882b00db581 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:49:15 +0100 -Subject: [PATCH 173/212] scripts/dtc: Update to upstream version 1.4.1 +Subject: [PATCH 173/220] scripts/dtc: Update to upstream version 1.4.1 Includes the new localfixups format. @@ -154819,7 +154303,7 @@ Signed-off-by: Phil Elwell 10 files changed, 1021 insertions(+), 622 deletions(-) diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c -index e81a8c74..540a3ea 100644 +index e81a8c7..540a3ea 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -458,6 +458,8 @@ static void fixup_phandle_references(struct check *c, struct node *dt, @@ -157553,14 +157037,11 @@ index 5b8c7d5..2595dfd 100644 @@ -1 +1 @@ -#define DTC_VERSION "DTC 1.4.1-g9d3649bd" +#define DTC_VERSION "DTC 1.4.1-g25efc119" --- -2.5.0 - -From b5636f4c891e18774ceaa09d14151ee8b21401e2 Mon Sep 17 00:00:00 2001 +From e8886384ffc0f93c0a4ed3553e74a7f20b940128 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Thu, 22 Oct 2015 23:30:04 +0300 -Subject: [PATCH 174/212] configfs: implement binary attributes +Subject: [PATCH 174/220] configfs: implement binary attributes ConfigFS lacked binary attributes up until now. This patch introduces support for binary attributes in a somewhat similar @@ -158208,14 +157689,11 @@ index 758a029..f7300d0 100644 /* * If allow_link() exists, the item can symlink(2) out to other * items. If the item is a group, it may support mkdir(2). --- -2.5.0 - -From c1cbbf13f7c0a13c2087fd37ac5272d58f8cd604 Mon Sep 17 00:00:00 2001 +From 9003030b2ba018274c3139f4656045194b3e44f8 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 175/212] OF: DT-Overlay configfs interface +Subject: [PATCH 175/220] 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. @@ -158630,14 +158108,11 @@ index 0000000..7b66deb + return ret; +} +late_initcall(of_cfs_init); --- -2.5.0 - -From a73f8e98f1a96fca0e7c21f3ac8a1f5ca36d92ff Mon Sep 17 00:00:00 2001 +From a0591a6a9b4541411c9cb87bc03b3bcae9705d3e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 176/212] Protect __release_resource against resources without +Subject: [PATCH 176/220] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -158648,7 +158123,7 @@ Signed-off-by: Phil Elwell 1 file changed, 6 insertions(+) diff --git a/kernel/resource.c b/kernel/resource.c -index 249b1eb..eb973a53 100644 +index 249b1eb..eb973a5 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -237,6 +237,12 @@ static int __release_resource(struct resource *old) @@ -158664,14 +158139,11 @@ index 249b1eb..eb973a53 100644 p = &old->parent->child; for (;;) { tmp = *p; --- -2.5.0 - -From fa4e1d1a1a7dbc7d8375a72503f31d55f22e6095 Mon Sep 17 00:00:00 2001 +From 8b7b2a51cdf796abc04fdfb5f86b13593e3c6bf3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 20:00:21 +0000 -Subject: [PATCH 177/212] BCM270X_DT: Add a .dtbo target, use for overlays +Subject: [PATCH 177/220] BCM270X_DT: Add a .dtbo target, use for overlays Change the filenames and extensions to keep the pre-DDT style of overlay (-overlay.dtb) distinct from new ones that use a @@ -158847,7 +158319,7 @@ index 687cc7c..d81fa09 100644 +always := $(dtbo-y) +clean-files := *.dtbo diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index 79e8661..7209d622 100644 +index 79e8661..7209d62 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -292,6 +292,16 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ @@ -158867,14 +158339,11 @@ index 79e8661..7209d622 100644 dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp) # Bzip2 --- -2.5.0 - -From 25c63fa16a6aa48cbf99265bc27e80a08aa84a1b Mon Sep 17 00:00:00 2001 +From a7154908e508d14ddb89aab7cf15b0b3d3105129 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 May 2015 11:18:58 +0100 -Subject: [PATCH 178/212] scripts/knlinfo: Decode DDTK atom +Subject: [PATCH 178/220] scripts/knlinfo: Decode DDTK atom Show the DDTK atom as being a boolean. @@ -158904,14 +158373,11 @@ index b9ef124..263ec93 100755 } sub format_int --- -2.5.0 - -From 326b9503455a448c6c610f9b482767d9fcb5559a Mon Sep 17 00:00:00 2001 +From ac5908f541bf375c752837d7f4adc5ffd741919a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 May 2015 11:48:59 +0100 -Subject: [PATCH 179/212] Enable Dynamic Device Tree for bcmrpi_defconfig and +Subject: [PATCH 179/220] Enable Dynamic Device Tree for bcmrpi_defconfig and bcm2709_defconfig Signed-off-by: Phil Elwell @@ -158952,14 +158418,11 @@ index f09be87..2db41e6 100644 CONFIG_ZRAM=m CONFIG_ZRAM_LZ4_COMPRESS=y CONFIG_BLK_DEV_LOOP=y --- -2.5.0 - -From 097557a49914162c5de1eba0c69d7a33a69600bb Mon Sep 17 00:00:00 2001 +From f554341c8348fdf9880fc07ae20fc61035c783e2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 13 Mar 2016 16:14:44 +0000 -Subject: [PATCH 180/212] SQUASH: Add CONFIG_OF_CONFIGFS to bcmrpi_defconfig +Subject: [PATCH 180/220] SQUASH: Add CONFIG_OF_CONFIGFS to bcmrpi_defconfig Signed-off-by: Phil Elwell --- @@ -158987,14 +158450,11 @@ index 2db41e6..74149cf 100644 CONFIG_ECRYPT_FS=m CONFIG_HFS_FS=m CONFIG_HFSPLUS_FS=m --- -2.5.0 - -From 521d08e97d9c65c9fc9b587253ca44fecff0d603 Mon Sep 17 00:00:00 2001 +From 16c43ba7a356906480cb05eaf06b94118089b7b2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 14 Mar 2016 16:56:54 +0000 -Subject: [PATCH 181/212] dts, kbuild: dtbs_install installs .dtbo files too +Subject: [PATCH 181/220] dts, kbuild: dtbs_install installs .dtbo files too Signed-off-by: Phil Elwell --- @@ -159035,14 +158495,11 @@ index 1c15717..43647b3 100644 +__dtbs_install: $(dtbinst-files) $(dtboinst-files) $(dtbinst-dirs) .PHONY: $(PHONY) --- -2.5.0 - -From 3f9b9614e3e1c169285d04c3183bd68fb4a743d0 Mon Sep 17 00:00:00 2001 +From 2074555a2f018ca6d480536a11c8946a87ddf055 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Mar 2016 14:10:29 +0000 -Subject: [PATCH 182/212] bcm2835-sdhost: Workaround for "slow" sectors +Subject: [PATCH 182/220] bcm2835-sdhost: Workaround for "slow" sectors Some cards have been seen to cause timeouts after certain sectors are read. This workaround enforces a minimum delay between the stop after @@ -159159,14 +158616,11 @@ index 4cc4272..f43aae0 100644 do_gettimeofday(&host->stop_time); } } else { --- -2.5.0 - -From 4f6ba307c5ca47f6d67cf3af83b536d6b512d835 Mon Sep 17 00:00:00 2001 +From 6a95fda69fd5cd47a91438c34e60884005b2cf60 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Mar 2016 15:49:16 +0000 -Subject: [PATCH 183/212] BCM270X_DT: Add labels to spidev nodes +Subject: [PATCH 183/220] BCM270X_DT: Add labels to spidev nodes Signed-off-by: Phil Elwell --- @@ -159244,7 +158698,7 @@ index 8bcafb4..954896e 100755 reg = <1>; /* CE1 */ #address-cells = <1>; diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts -index aca253f..66523d6f 100644 +index aca253f..66523d6 100644 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts @@ -59,7 +59,7 @@ @@ -159287,14 +158741,11 @@ index 2cb7d43..1ce4ea2 100644 compatible = "spidev"; reg = <1>; /* CE1 */ #address-cells = <1>; --- -2.5.0 - -From 47c38ad4901f42a05ec66da812ab59cf071f9493 Mon Sep 17 00:00:00 2001 +From 373c4c25a9a663812eeb60f9a21d0b4328a89e7b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Mar 2016 16:27:26 +0000 -Subject: [PATCH 184/212] BCM270X_DT: Use spidev labels in overlays +Subject: [PATCH 184/220] BCM270X_DT: Use spidev labels in overlays --- arch/arm/boot/dts/overlays/ads7846-overlay.dts | 22 ++++++++++------- @@ -159947,14 +159398,11 @@ index f7102c8..33c0651 100644 target-path = "/soc"; __overlay__ { keypad: keypad { --- -2.5.0 - -From 1379d524f5915c349e03308cf75fdb83d7bfc492 Mon Sep 17 00:00:00 2001 +From 5c59de05cd3c183f48a2c53e15dcbf748a58c686 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Mar 2016 16:41:37 +0000 -Subject: [PATCH 185/212] BCM270X_DT: Build and document the wittypi overlay +Subject: [PATCH 185/220] BCM270X_DT: Build and document the wittypi overlay Signed-off-by: Phil Elwell --- @@ -160007,14 +159455,11 @@ index be5987d..8498134 100644 led_trigger = <&wittypi_led>,"linux,default-trigger"; }; --- -2.5.0 - -From aa17ecdb23d2505d7fb0b4ddb30200a85128f789 Mon Sep 17 00:00:00 2001 +From 61b564dad484329b527fbcf14167b9fd28d34c0e Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 15 Mar 2016 21:13:39 +0100 -Subject: [PATCH 186/212] scripts/dtc: Fix UMR causing corrupt dtbo overlay +Subject: [PATCH 186/220] scripts/dtc: Fix UMR causing corrupt dtbo overlay files struct fixup_entry is allocated from the heap but it's member @@ -160040,14 +159485,11 @@ index 540a3ea..2b3b3a7 100644 /* append it to the local fixups */ fep = &dt->local_fixups; --- -2.5.0 - -From c2264c1cccd9cb6e6ae7c76e3a058aeb6299c84e Mon Sep 17 00:00:00 2001 +From c827bc6f8936ec9954718625774663148e4476f2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 16 Mar 2016 08:35:06 +0000 -Subject: [PATCH 187/212] BCM270X_DT: Add dtparam for uart1 +Subject: [PATCH 187/220] BCM270X_DT: Add dtparam for uart1 Signed-off-by: Phil Elwell --- @@ -160096,7 +159538,7 @@ index 954896e..cd0e1ac 100755 spi = <&spi0>,"status"; i2c0 = <&i2c0>,"status"; diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts -index 66523d6f..9176d57 100644 +index 66523d6..9176d57 100644 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts @@ -120,6 +120,7 @@ @@ -160133,14 +159575,11 @@ index d939739..4ce7921 100644 watchdog Set to "on" to enable the hardware watchdog (default "off") --- -2.5.0 - -From 9611f112a5e627b0f377cccfecd0e84799e650a5 Mon Sep 17 00:00:00 2001 +From 9ba1d22a7f422b0e33a83b5523a8b82e5c3fa96b Mon Sep 17 00:00:00 2001 From: Przemek Rudy Date: Fri, 11 Mar 2016 22:41:26 +0100 -Subject: [PATCH 188/212] dwc-overlay: Use label so overrides can apply. +Subject: [PATCH 188/220] dwc-overlay: Use label so overrides can apply. --- arch/arm/boot/dts/overlays/dwc2-overlay.dts | 10 +++++----- @@ -160173,14 +159612,11 @@ index 90c9811..527abc9 100644 + g-tx-fifo-size = <&dwc2_usb>,"g-tx-fifo-size:0"; }; }; --- -2.5.0 - -From c648d4f19f07b090f14ddd8679ea4154f01ce5d0 Mon Sep 17 00:00:00 2001 +From 2f1acd3434a9830ae49f28d2908770ada3d3384a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 22 Jan 2016 13:06:39 -0800 -Subject: [PATCH 189/212] drm/vc4: Add a debugfs node for tracking execution +Subject: [PATCH 189/220] drm/vc4: Add a debugfs node for tracking execution state. Signed-off-by: Eric Anholt @@ -160239,14 +159675,11 @@ index 39f29e7..1243f4e 100644 static void vc4_queue_hangcheck(struct drm_device *dev) { --- -2.5.0 - -From 4902ce61be294705ca6b1bdf84d6f1935ae78cc8 Mon Sep 17 00:00:00 2001 +From de506b61b93bf234a0e1be0d87d4cda23994d3ab Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:03:33 -0800 -Subject: [PATCH 190/212] drm/vc4: Include vc4_drm.h in uapi in downstream +Subject: [PATCH 190/220] drm/vc4: Include vc4_drm.h in uapi in downstream build. Signed-off-by: Eric Anholt @@ -160266,14 +159699,11 @@ index 38d4370..23381b5 100644 header-y += via_drm.h header-y += vmwgfx_drm.h header-y += msm_drm.h --- -2.5.0 - -From e9364538abf2079525c72496c649d28d40f2b7f9 Mon Sep 17 00:00:00 2001 +From 8fbb3e933a4bd43764228037fa15defc1dff9fcf Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:05:00 -0800 -Subject: [PATCH 191/212] drm/vc4: Validate that WAIT_BO padding is cleared. +Subject: [PATCH 191/220] drm/vc4: Validate that WAIT_BO padding is cleared. This is ABI future-proofing if we ever want to extend the pad to mean something. @@ -160297,14 +159727,11 @@ index 1243f4e..849d374 100644 gem_obj = drm_gem_object_lookup(dev, file_priv, args->handle); if (!gem_obj) { DRM_ERROR("Failed to look up GEM BO %d\n", args->handle); --- -2.5.0 - -From 87d958a5f2547128db8962d9539749ddf994984d Mon Sep 17 00:00:00 2001 +From ef720c38f364c54cce4a78d2651f45692864b186 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:52:41 -0800 -Subject: [PATCH 192/212] drm/vc4: Fix the clear color for the first tile +Subject: [PATCH 192/220] drm/vc4: Fix the clear color for the first tile rendered. Apparently in hardware (as opposed to simulation), the clear colors @@ -160352,14 +159779,11 @@ index 8a2a312..dea97f4 100644 for (y = min_y_tile; y <= max_y_tile; y++) { for (x = min_x_tile; x <= max_x_tile; x++) { bool first = (x == min_x_tile && y == min_y_tile); --- -2.5.0 - -From faa71a44d64ed4e07131355ac726fe90da932534 Mon Sep 17 00:00:00 2001 +From 50b3b6fe802180225e112ee995a76fd893abf578 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 14:13:12 -0800 -Subject: [PATCH 193/212] drm/vc4: Return an ERR_PTR from BO creation instead +Subject: [PATCH 193/220] drm/vc4: Return an ERR_PTR from BO creation instead of NULL. Fixes igt vc4_create_bo/create-bo-0 by returning -EINVAL from the @@ -160503,14 +159927,11 @@ index 0fb5b99..8396960 100644 list_add_tail(&tile_bo->unref_head, &exec->unref_list); /* tile alloc address. */ --- -2.5.0 - -From 623176f2f83b693f0200107f838cd9e81462b352 Mon Sep 17 00:00:00 2001 +From 0f16ca83c0f2657fbfada3502bcfca2316d8221e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 14:32:41 -0800 -Subject: [PATCH 194/212] drm/vc4: Fix -ERESTARTSYS error return from BO waits. +Subject: [PATCH 194/220] drm/vc4: Fix -ERESTARTSYS error return from BO waits. This caused the wait ioctls to claim that waiting had completed when we actually got interrupted by a signal before it was done. Fixes @@ -160541,14 +159962,11 @@ index f8c003a..dc3044d 100644 } static void --- -2.5.0 - -From f1598fe20200c9270f7704dc1c8934134aee553c Mon Sep 17 00:00:00 2001 +From 4c0fab266928bd56412ca57b2e58d05a7ecb3fbd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 14:33:50 -0800 -Subject: [PATCH 195/212] drm/vc4: Drop error message on seqno wait timeouts. +Subject: [PATCH 195/220] drm/vc4: Drop error message on seqno wait timeouts. These ioctls end up getting exposed to userspace, and having normal user requests print DRM errors is obviously wrong. The message was @@ -160574,14 +159992,11 @@ index dc3044d..a6fa63f 100644 return ret; } --- -2.5.0 - -From 7f87241605ce81fa96ed6db02ccf1f9a7efb9701 Mon Sep 17 00:00:00 2001 +From 6943e0f06fad8f66a1f64aa65d69e5fd090b24a1 Mon Sep 17 00:00:00 2001 From: campag Date: Wed, 24 Feb 2016 16:45:42 +0000 -Subject: [PATCH 196/212] BCM270X_DT: Add 1-bit SDIO using minimal pins... +Subject: [PATCH 196/220] BCM270X_DT: Add 1-bit SDIO using minimal pins... ... for that mode: GPIOs 22-25. --- @@ -160664,14 +160079,11 @@ index 0000000..46d4538 + sdio_overclock = <&sdio_mmc>,"brcm,overclock-50:0"; + }; +}; --- -2.5.0 - -From 2d8f51979e764adc684bb97ccabaa6e65ea9784f Mon Sep 17 00:00:00 2001 +From 793561d4d88992ffe5532e850592a99d9cd4e1f2 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 197/212] brcm: adds support for BCM43341 wifi +Subject: [PATCH 197/220] brcm: adds support for BCM43341 wifi --- drivers/net/wireless/brcm80211/brcmfmac/sdio.c | 5 +++++ @@ -160720,14 +160132,11 @@ index aa06ea2..f3ae83d 100644 #define BRCM_CC_43362_CHIP_ID 43362 #define BRCM_CC_4335_CHIP_ID 0x4335 #define BRCM_CC_4339_CHIP_ID 0x4339 --- -2.5.0 - -From 51686bb53ddd56289868a746a01ff7b01c8099c7 Mon Sep 17 00:00:00 2001 +From 2982e9b263d5ee0db255ab5407b57da6fa7e0749 Mon Sep 17 00:00:00 2001 From: Michael Heimpold Date: Fri, 29 Jan 2016 12:00:37 +0100 -Subject: [PATCH 198/212] Add overlay and enable support for QCA7000 board +Subject: [PATCH 198/220] Add overlay and enable support for QCA7000 board This adds a device tree overlay for the QCA7000 which can be used when attaching an I2SE's PLC Stamp micro EVK to the Raspberry Pi. @@ -160862,14 +160271,11 @@ index 74149cf..e720c74 100644 CONFIG_MDIO_BITBANG=m CONFIG_PPP=m CONFIG_PPP_BSDCOMP=m --- -2.5.0 - -From f49137d032857588f47edd41164968f0924e026f Mon Sep 17 00:00:00 2001 +From 54705f156e1cf790f116fb3b8308c7ce413919c0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 13:28:24 +0000 -Subject: [PATCH 199/212] serial: Take care starting a hung-up tty's port +Subject: [PATCH 199/220] serial: Take care starting a hung-up tty's port tty_port_hangup sets a port's tty field to NULL (holding the port lock), but uart_tx_stopped, called from __uart_start (with the port lock), @@ -160896,14 +160302,11 @@ index 297d4fa..00ce6c6 100644 return 1; return 0; } --- -2.5.0 - -From 7b430f6efc914a23ce58900619ae212b16a46ba4 Mon Sep 17 00:00:00 2001 +From aeacbad0b72cce451d6ca651ca264aa086b31117 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Mar 2016 10:16:16 +0000 -Subject: [PATCH 200/212] pi3-miniuart-bt-overlay: Correct and clarify info +Subject: [PATCH 200/220] pi3-miniuart-bt-overlay: Correct and clarify info Signed-off-by: Phil Elwell --- @@ -160945,14 +160348,11 @@ index f07afcb..38ed33b 100644 If cmdline.txt uses the alias serial0 to refer to the user-accessable port then the firmware will replace with the appropriate port whether or not --- -2.5.0 - -From 334bc7c31a21f7bce55866107699f2a1e31f07b4 Mon Sep 17 00:00:00 2001 +From 53476038ee92e175f761c56ec03f3160b37c3f0f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Mar 2016 10:41:56 +0000 -Subject: [PATCH 201/212] pwm overlays: Params must have in-overlay targets +Subject: [PATCH 201/220] pwm overlays: Params must have in-overlay targets --- arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts | 9 ++++++++- @@ -161005,14 +160405,11 @@ index ddd67ff..bf030a6 100644 + clock = <&frag2>,"clock-frequency:0"; }; }; --- -2.5.0 - -From a56b30a387d234e82cd586f22ccd1b2734c170fe Mon Sep 17 00:00:00 2001 +From 20fbefa704973bf5390a112aa8a41f9579e17295 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 18 Mar 2016 13:06:29 +0000 -Subject: [PATCH 202/212] BCM270X_DT: Switch Compute Module to MMC +Subject: [PATCH 202/220] BCM270X_DT: Switch Compute Module to MMC Signed-off-by: Phil Elwell --- @@ -161064,14 +160461,11 @@ index e09e499..90e330d 100644 + sd_overclock = <&mmc>,"brcm,overclock-50:0"; }; }; --- -2.5.0 - -From 0af6e86d99b38cc25814b2b1c058fc7dc8a09e0a Mon Sep 17 00:00:00 2001 +From c185b46ac9d6c2e97a08117ff34d8c9afc4b691b Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 18 Mar 2016 17:38:37 +0000 -Subject: [PATCH 203/212] dwc_otg: Don't free qh align buffers in atomic +Subject: [PATCH 203/220] dwc_otg: Don't free qh align buffers in atomic context --- @@ -161114,14 +160508,11 @@ index acd0dd7..3b2a607 100644 return; } --- -2.5.0 - -From 713b15634de730a60c3f8a633beddf83e8270659 Mon Sep 17 00:00:00 2001 +From 8a072f7bbbedeeb4a5f1861f4fdc6c3d7b5df84d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 21 Mar 2016 15:38:38 +0000 -Subject: [PATCH 204/212] dwc_otg: Enable the hack for Split Interrupt +Subject: [PATCH 204/220] dwc_otg: Enable the hack for Split Interrupt transactions by default dwc_otg.fiq_fsm_mask=0xF has long been a suggestion for users with audio stutters or other USB bandwidth issues. @@ -161148,14 +160539,11 @@ index 95edadf..cb060a7 100644 /** * This function shows the Driver Version. --- -2.5.0 - -From bc34eb8e494f45f0a18c56603f3d06e378035fb7 Mon Sep 17 00:00:00 2001 +From c807958f0a33033ff8f08bf79e97b246e949a254 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 19 Mar 2016 16:51:37 +0000 -Subject: [PATCH 205/212] BCM270X_DT: Remove explicit claiming of UART pins +Subject: [PATCH 205/220] BCM270X_DT: Remove explicit claiming of UART pins It is convenient to be able to map a different function to the UART pins (e.g. DPI for vga666) without having to disable the UART first. @@ -161247,14 +160635,11 @@ index 38ed33b..17d04cf 100644 target-path = "/aliases"; __overlay__ { serial0 = "/soc/uart@7e201000"; --- -2.5.0 - -From cc50f3828fe7e3c53178d88b978f8947965af004 Mon Sep 17 00:00:00 2001 +From 9655dc3cac7fd783da12d4f73f273d331d132d2e Mon Sep 17 00:00:00 2001 From: Rodrigo Freire Date: Tue, 22 Mar 2016 12:40:33 -0300 -Subject: [PATCH 206/212] lirc_rpi: Lower IR reception error to debug +Subject: [PATCH 206/220] lirc_rpi: Lower IR reception error to debug Lowers a IR reception error condition message to KERNEL_DEBUG --- @@ -161274,14 +160659,11 @@ index cd09c99..0624439 100644 ": AIEEEE: %d %d %lx %lx %lx %lx\n", signal, sense, tv.tv_sec, lasttv.tv_sec, tv.tv_usec, lasttv.tv_usec); --- -2.5.0 - -From e73df5dd62f01c4f81043b9892d4571a844f53f0 Mon Sep 17 00:00:00 2001 +From 373adf3fbcc120470fe4692744706f98bf5a3030 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 14:16:25 +0000 -Subject: [PATCH 207/212] vchiq_arm: Access the dequeue_pending flag locked +Subject: [PATCH 207/220] vchiq_arm: Access the dequeue_pending flag locked Reading through this code looking for another problem (now found in userland) the use of dequeue_pending outside a lock didn't seem safe. @@ -161338,14 +160720,11 @@ index e11c0e0..71883e5 100644 DEBUG_TRACE(SERVICE_CALLBACK_LINE); return add_completion(instance, reason, header, user_service, --- -2.5.0 - -From 0c0b0bcf4da549395576b4fe0f86c7323d223d8a Mon Sep 17 00:00:00 2001 +From 1323236521122fc9c55557680a79e44edfdbeab0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 15:57:14 +0000 -Subject: [PATCH 208/212] BCM270X_DT: Add pi3-act-led overlay +Subject: [PATCH 208/220] BCM270X_DT: Add pi3-act-led overlay Signed-off-by: Phil Elwell --- @@ -161443,14 +160822,11 @@ index 0000000..14a59dc + activelow = <&frag0>,"gpios:8"; + }; +}; --- -2.5.0 - -From 3b2aa82be15317803d4b789f0580551d29cd3689 Mon Sep 17 00:00:00 2001 +From b5a4fa8f9d9e97bf938acdda3806b4dfdd4cad62 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2016 20:53:47 +0000 -Subject: [PATCH 209/212] vchiq_arm: Service callbacks must not fail +Subject: [PATCH 209/220] vchiq_arm: Service callbacks must not fail Service callbacks are not allowed to return an error. The internal callback that delivers events and messages to user tasks does not enqueue them if @@ -161475,14 +160851,11 @@ index 71883e5..a5cc385 100644 } DEBUG_TRACE(SERVICE_CALLBACK_LINE); } --- -2.5.0 - -From 8058dba3efbfbaab969fec06d9ddc6e7bfe39112 Mon Sep 17 00:00:00 2001 +From 66dd57b8f4b8c8fcea6d755425b117ff97b8f37b Mon Sep 17 00:00:00 2001 From: Dave Stevenson <6by9@users.noreply.github.com> Date: Thu, 17 Mar 2016 18:16:16 +0000 -Subject: [PATCH 210/212] Add configs and overlay for PCA9548 I2C mux +Subject: [PATCH 210/220] Add configs and overlay for PCA9548 I2C mux Adds kernel configs for I2C muxes and a dt overlay for PCA9548 that adds the 8 muxed I2C buses and mux device. @@ -161623,14 +160996,11 @@ index e720c74..f6e2d84 100644 CONFIG_SPI=y CONFIG_SPI_BCM2835=m CONFIG_SPI_BCM2835AUX=m --- -2.5.0 - -From 29add1ee331555e816078c211619e7ae651f9d85 Mon Sep 17 00:00:00 2001 +From 05986749a2eaac35aa623be4a3d3804466c999bd Mon Sep 17 00:00:00 2001 From: Nicolas Boullis Date: Wed, 23 Mar 2016 23:40:15 +0100 -Subject: [PATCH 211/212] BCM270X_DT: Add DS1339 to i2c-rtc overlay +Subject: [PATCH 211/220] BCM270X_DT: Add DS1339 to i2c-rtc overlay --- arch/arm/boot/dts/overlays/README | 4 ++++ @@ -161689,14 +161059,11 @@ index fed4bd8..eecec16 100644 + trickle-resistor-ohms = <&ds1339>,"trickle-resistor-ohms:0"; }; }; --- -2.5.0 - -From 37869b99dabaa84934387962d3c31bb1cd56aec3 Mon Sep 17 00:00:00 2001 +From 1b76cf64a27889e293c10306126fe955bf1a9402 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 29 Mar 2016 15:32:30 +0100 -Subject: [PATCH 212/212] copy_from_user: CPU_SW_DOMAIN_PAN compatibility +Subject: [PATCH 212/220] copy_from_user: CPU_SW_DOMAIN_PAN compatibility The downstream copy_from_user acceleration must also play nice with CONFIG_CPU_SW_DOMAIN_PAN. @@ -161748,6 +161115,983 @@ index c29df92..6681df5 100644 } static unsigned long noinline --- -2.5.0 +From 1b07b9eba23bb72e9754b035ef5b806a278b3a7d Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 30 Mar 2016 16:33:09 +0100 +Subject: [PATCH 213/220] bcm2835-sdhost: Adjust to core clock changes + +The SDHOST block uses the core clock, so previously it has been +necessary to prevent the core clock from changing in order to maintain +performance and prevent accidental SD bus overclocking. + +With this patch the sdhost driver is notified of clock changes, allowing +it to delay them while an SD access is outstanding and to delay new SD +accesses while the clock is changing. This feature is disabled in the +case where the core frequency can never change. + +Now that the driver copes with changes to the core clock, it is safe +to disable the io_is_busy feature of the on-demand governor. + +Signed-off-by: Phil Elwell +--- + drivers/mmc/host/Kconfig | 1 + + drivers/mmc/host/bcm2835-sdhost.c | 140 ++++++++++++++++++++++++++++++++------ + 2 files changed, 119 insertions(+), 22 deletions(-) + +diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig +index d509d10..98a7fa5 100644 +--- a/drivers/mmc/host/Kconfig ++++ b/drivers/mmc/host/Kconfig +@@ -36,6 +36,7 @@ config MMC_BCM2835_PIO_DMA_BARRIER + config MMC_BCM2835_SDHOST + tristate "Support for the SDHost controller on BCM2708/9" + depends on MACH_BCM2708 || MACH_BCM2709 || ARCH_BCM2835 ++ depends on RASPBERRYPI_FIRMWARE + help + This selects the SDHost controller on BCM2835/6. + +diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c +index f43aae0..1deecef 100644 +--- a/drivers/mmc/host/bcm2835-sdhost.c ++++ b/drivers/mmc/host/bcm2835-sdhost.c +@@ -50,6 +50,10 @@ + #include + #include + #include ++#include ++#include ++#include ++ + + #define DRIVER_NAME "sdhost-bcm2835" + +@@ -136,6 +140,8 @@ + + #define MHZ 1000000 + ++#define RPI_FIRMWARE_CLOCK_CORE 4 ++ + + struct bcm2835_host { + spinlock_t lock; +@@ -151,7 +157,9 @@ struct bcm2835_host { + + bool slow_card; /* Force 11-bit divisor */ + +- unsigned int max_clk; /* Max possible freq */ ++ unsigned int max_clk; /* Max src clock freq */ ++ unsigned int min_clk; /* Min src clock freq */ ++ unsigned int cur_clk; /* Current src clock freq */ + + struct tasklet_struct finish_tasklet; /* Tasklet structures */ + +@@ -183,6 +191,7 @@ struct bcm2835_host { + unsigned int use_sbc:1; /* Send CMD23 */ + + unsigned int debug:1; /* Enable debug output */ ++ unsigned int variable_clock:1; /* The core clock may change */ + + /*DMA part*/ + struct dma_chan *dma_chan_rxtx; /* DMA channel for reads and writes */ +@@ -208,6 +217,9 @@ struct bcm2835_host { + u32 pio_limit; /* Maximum block count for PIO (0 = always DMA) */ + + u32 sectors; /* Cached card size in sectors */ ++ ++ struct notifier_block cpufreq_nb; /* The cpufreq callback list item */ ++ struct semaphore cpufreq_semaphore; /* Interlock between SD activity and cpufreq changes */ + }; + + #if ENABLE_LOG +@@ -227,6 +239,10 @@ static u32 sdhost_log_idx; + static spinlock_t log_lock; + static void __iomem *timer_base; + ++static int bcm2835_sdhost_cpufreq_callback(struct notifier_block *nb, ++ unsigned long action, void *data); ++static unsigned int get_core_clock(unsigned int mode); ++ + #define LOG_ENTRIES (256*1) + #define LOG_SIZE (sizeof(LOG_ENTRY_T)*LOG_ENTRIES) + +@@ -448,20 +464,14 @@ static void bcm2835_sdhost_reset(struct mmc_host *mmc) + + static void bcm2835_sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios); + +-static void bcm2835_sdhost_init(struct bcm2835_host *host, int soft) ++static void bcm2835_sdhost_init(struct bcm2835_host *host) + { +- pr_debug("bcm2835_sdhost_init(%d)\n", soft); ++ pr_debug("bcm2835_sdhost_init()\n"); + + /* Set interrupt enables */ + host->hcfg = SDHCFG_BUSY_IRPT_EN; + + bcm2835_sdhost_reset_internal(host); +- +- if (soft) { +- /* force clock reconfiguration */ +- host->clock = 0; +- bcm2835_sdhost_set_ios(host->mmc, &host->mmc->ios); +- } + } + + static void bcm2835_sdhost_wait_transfer_complete(struct bcm2835_host *host) +@@ -1499,10 +1509,10 @@ static irqreturn_t bcm2835_sdhost_irq(int irq, void *dev_id) + return result; + } + +-void bcm2835_sdhost_set_clock(struct bcm2835_host *host, unsigned int clock) ++void bcm2835_sdhost_set_clock(struct bcm2835_host *host) + { + int div = 0; /* Initialized for compiler warning */ +- unsigned int input_clock = clock; ++ unsigned int clock = host->clock; + + if (host->debug) + pr_info("%s: set_clock(%d)\n", mmc_hostname(host->mmc), clock); +@@ -1543,17 +1553,17 @@ void bcm2835_sdhost_set_clock(struct bcm2835_host *host, unsigned int clock) + return; + } + +- div = host->max_clk / clock; ++ div = host->cur_clk / clock; + if (div < 2) + div = 2; +- if ((host->max_clk / div) > clock) ++ if ((host->cur_clk / div) > clock) + div++; + div -= 2; + + if (div > SDCDIV_MAX_CDIV) + div = SDCDIV_MAX_CDIV; + +- clock = host->max_clk / (div + 2); ++ clock = host->cur_clk / (div + 2); + host->mmc->actual_clock = clock; + + /* Calibrate some delays */ +@@ -1561,7 +1571,7 @@ void bcm2835_sdhost_set_clock(struct bcm2835_host *host, unsigned int clock) + host->ns_per_fifo_word = (1000000000/clock) * + ((host->mmc->caps & MMC_CAP_4_BIT_DATA) ? 8 : 32); + +- if (clock > input_clock) { ++ if (clock > host->clock) { + /* Save the closest value, to make it easier + to reduce in the event of error */ + host->overclock_50 = (clock/MHZ); +@@ -1587,9 +1597,9 @@ void bcm2835_sdhost_set_clock(struct bcm2835_host *host, unsigned int clock) + bcm2835_sdhost_write(host, host->mmc->actual_clock/2, SDTOUT); + + if (host->debug) +- pr_info("%s: clock=%d -> max_clk=%d, cdiv=%x (actual clock %d)\n", +- mmc_hostname(host->mmc), input_clock, +- host->max_clk, host->cdiv, host->mmc->actual_clock); ++ pr_info("%s: clock=%d -> cur_clk=%d, cdiv=%x (actual clock %d)\n", ++ mmc_hostname(host->mmc), host->clock, ++ host->cur_clk, host->cdiv, host->mmc->actual_clock); + } + + static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq) +@@ -1638,6 +1648,13 @@ static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq + (mrq->data->blocks > host->pio_limit)) + bcm2835_sdhost_prepare_dma(host, mrq->data); + ++ if (host->variable_clock && ++ (down_killable(&host->cpufreq_semaphore) != 0)) { ++ mrq->cmd->error = -EINTR; ++ mmc_request_done(mmc, mrq); ++ return; ++ } ++ + spin_lock_irqsave(&host->lock, flags); + + WARN_ON(host->mrq != NULL); +@@ -1687,6 +1704,52 @@ static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq + spin_unlock_irqrestore(&host->lock, flags); + } + ++static int bcm2835_sdhost_cpufreq_callback(struct notifier_block *nb, ++ unsigned long action, void *data) ++{ ++ struct cpufreq_freqs *freq = data; ++ struct bcm2835_host *host; ++ ++ host = container_of(nb, struct bcm2835_host, cpufreq_nb); ++ ++ if (freq->cpu == 0) { ++ switch (action) { ++ case CPUFREQ_PRECHANGE: ++ if (down_killable(&host->cpufreq_semaphore) != 0) ++ return NOTIFY_BAD; ++ break; ++ case CPUFREQ_POSTCHANGE: ++ if (freq->new > freq->old) ++ host->cur_clk = host->max_clk; ++ else ++ host->cur_clk = host->min_clk; ++ bcm2835_sdhost_set_clock(host); ++ up(&host->cpufreq_semaphore); ++ break; ++ default: ++ break; ++ } ++ } ++ return NOTIFY_OK; ++} ++ ++static unsigned int get_core_clock(unsigned int mode) ++{ ++ struct rpi_firmware *fw = rpi_firmware_get(NULL); ++ struct { ++ u32 id; ++ u32 val; ++ } packet; ++ int ret; ++ ++ packet.id = RPI_FIRMWARE_CLOCK_CORE; ++ ret = rpi_firmware_property(fw, mode, &packet, sizeof(packet)); ++ if (ret) ++ return 0; ++ ++ return packet.val; ++} ++ + static void bcm2835_sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) + { + +@@ -1700,13 +1763,16 @@ static void bcm2835_sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) + ios->clock, ios->power_mode, ios->bus_width, + ios->timing, ios->signal_voltage, ios->drv_type); + ++ if (ios->clock && !host->cur_clk) ++ host->cur_clk = get_core_clock(RPI_FIRMWARE_GET_CLOCK_RATE); ++ + spin_lock_irqsave(&host->lock, flags); + + log_event("IOS<", ios->clock, 0); + + if (!ios->clock || ios->clock != host->clock) { +- bcm2835_sdhost_set_clock(host, ios->clock); + host->clock = ios->clock; ++ bcm2835_sdhost_set_clock(host); + } + + /* set bus width */ +@@ -1795,7 +1861,7 @@ static void bcm2835_sdhost_tasklet_finish(unsigned long param) + host->overclock_50--; + pr_warn("%s: reducing overclock due to errors\n", + mmc_hostname(host->mmc)); +- bcm2835_sdhost_set_clock(host,50*MHZ); ++ bcm2835_sdhost_set_clock(host); + mrq->cmd->error = -EILSEQ; + mrq->cmd->retries = 1; + } +@@ -1813,6 +1879,9 @@ static void bcm2835_sdhost_tasklet_finish(unsigned long param) + + spin_unlock_irqrestore(&host->lock, flags); + ++ if (host->variable_clock) ++ up(&host->cpufreq_semaphore); ++ + if (terminate_chan) + { + int err = dmaengine_terminate_all(terminate_chan); +@@ -1915,10 +1984,10 @@ int bcm2835_sdhost_add_host(struct bcm2835_host *host) + setup_timer(&host->timer, bcm2835_sdhost_timeout, + (unsigned long)host); + +- bcm2835_sdhost_init(host, 0); ++ bcm2835_sdhost_init(host); + + ret = request_irq(host->irq, bcm2835_sdhost_irq, 0 /*IRQF_SHARED*/, +- mmc_hostname(mmc), host); ++ mmc_hostname(mmc), host); + if (ret) { + pr_err("%s: failed to request IRQ %d: %d\n", + mmc_hostname(mmc), host->irq, ret); +@@ -1953,6 +2022,7 @@ static int bcm2835_sdhost_probe(struct platform_device *pdev) + struct bcm2835_host *host; + struct mmc_host *mmc; + const __be32 *addr; ++ unsigned int max_clk; + int ret; + + pr_debug("bcm2835_sdhost_probe\n"); +@@ -2062,6 +2132,28 @@ static int bcm2835_sdhost_probe(struct platform_device *pdev) + if (ret) + goto err; + ++ /* Query the core clock frequencies */ ++ host->min_clk = get_core_clock(RPI_FIRMWARE_GET_MIN_CLOCK_RATE); ++ max_clk = get_core_clock(RPI_FIRMWARE_GET_MAX_CLOCK_RATE); ++ if (max_clk != host->max_clk) { ++ pr_warn("%s: Expected max clock %d, found %d\n", ++ mmc_hostname(mmc), host->max_clk, max_clk); ++ host->max_clk = max_clk; ++ } ++ ++ if (host->min_clk != host->max_clk) { ++ host->cpufreq_nb.notifier_call = ++ bcm2835_sdhost_cpufreq_callback; ++ sema_init(&host->cpufreq_semaphore, 1); ++ cpufreq_register_notifier(&host->cpufreq_nb, ++ CPUFREQ_TRANSITION_NOTIFIER); ++ host->variable_clock = 1; ++ host->cur_clk = 0; /* Get this later */ ++ } else { ++ host->variable_clock = 0; ++ host->cur_clk = host->max_clk; ++ } ++ + platform_set_drvdata(pdev, host); + + pr_debug("bcm2835_sdhost_probe -> OK\n"); +@@ -2081,6 +2173,10 @@ static int bcm2835_sdhost_remove(struct platform_device *pdev) + + pr_debug("bcm2835_sdhost_remove\n"); + ++ if (host->variable_clock) ++ cpufreq_unregister_notifier(&host->cpufreq_nb, ++ CPUFREQ_TRANSITION_NOTIFIER); ++ + mmc_remove_host(host->mmc); + + bcm2835_sdhost_set_power(host, false); + +From 5218b8ec0c8bcc1c30812dd67978c12b91cb7237 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 30 Mar 2016 17:07:15 +0100 +Subject: [PATCH 214/220] BCM270X_DT: Document hazards of sdhost overlay + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/README | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index e88e7c8..337be4a 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -712,7 +712,11 @@ Params: + + + Name: sdhost +-Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock ++Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock. ++ N.B. This overlay is designed for situations where the mmc driver is ++ the default, so it disables the other (mmc) interface - this will kill ++ WiFi on a Pi3. If this isn't what you want, either use the sdtweak ++ overlay or the new sd_* dtparams of the base DTBs. + Load: dtoverlay=sdhost,= + Params: overclock_50 Clock (in MHz) to use when the MMC framework + requests 50MHz +@@ -771,6 +775,8 @@ Params: overclock_50 SD Clock (in MHz) to use when the MMC framework + + Name: sdtweak + Info: Tunes the bcm2835-sdhost SD/MMC driver ++ N.B. This functionality is now available via the sd_* dtparams in the ++ base DTB. + Load: dtoverlay=sdtweak,= + Params: overclock_50 Clock (in MHz) to use when the MMC framework + requests 50MHz + +From 543bfd50bf9f77cc2f88607f305e272f268d9a01 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 30 Mar 2016 17:23:15 +0100 +Subject: [PATCH 215/220] cpufreq: Temporarily ignore io_is_busy=1 + +To speed testing of the new sdhost driver that adapts to changes in +core_freq, hack the on-demand governor to treat io_is_busy=1 as +io_is_busy=0. The io_is_busy feature can still be forced using +io_is_busy=2. + +Signed-off-by: Phil Elwell +--- + drivers/cpufreq/cpufreq_ondemand.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c +index 03ac6ce..99a9610 100644 +--- a/drivers/cpufreq/cpufreq_ondemand.c ++++ b/drivers/cpufreq/cpufreq_ondemand.c +@@ -307,7 +307,12 @@ static ssize_t store_io_is_busy(struct dbs_data *dbs_data, const char *buf, + ret = sscanf(buf, "%u", &input); + if (ret != 1) + return -EINVAL; +- od_tuners->io_is_busy = !!input; ++ // XXX temporary hack ++ if (input > 1) ++ input = 1; ++ else ++ input = 0; ++ od_tuners->io_is_busy = input; + + /* we need to re-evaluate prev_cpu_idle */ + for_each_online_cpu(j) { + +From be52d947f0b06bf64639d20a88d0700b56ee25fa Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 30 Mar 2016 20:18:38 +0100 +Subject: [PATCH 216/220] Revert "cpufreq: Temporarily ignore io_is_busy=1" + +This reverts commit 2af1218a8a0220fec526f64d03977b8451afb4c8. +--- + drivers/cpufreq/cpufreq_ondemand.c | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c +index 99a9610..03ac6ce 100644 +--- a/drivers/cpufreq/cpufreq_ondemand.c ++++ b/drivers/cpufreq/cpufreq_ondemand.c +@@ -307,12 +307,7 @@ static ssize_t store_io_is_busy(struct dbs_data *dbs_data, const char *buf, + ret = sscanf(buf, "%u", &input); + if (ret != 1) + return -EINVAL; +- // XXX temporary hack +- if (input > 1) +- input = 1; +- else +- input = 0; +- od_tuners->io_is_busy = input; ++ od_tuners->io_is_busy = !!input; + + /* we need to re-evaluate prev_cpu_idle */ + for_each_online_cpu(j) { + +From 2163c89a75611d21451e5a5723160cefe1d276b5 Mon Sep 17 00:00:00 2001 +From: Daniel Borkmann +Date: Thu, 7 Jan 2016 15:50:22 +0100 +Subject: [PATCH 217/220] net, sched: add skb_at_tc_ingress helper + +Add a skb_at_tc_ingress() as this will be needed elsewhere as well and +can hide the ugly ifdef. + +Signed-off-by: Daniel Borkmann +Acked-by: Alexei Starovoitov +Signed-off-by: David S. Miller +--- + include/net/sch_generic.h | 9 +++++++++ + net/sched/cls_bpf.c | 6 +----- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h +index b2a8e63..636a362 100644 +--- a/include/net/sch_generic.h ++++ b/include/net/sch_generic.h +@@ -407,6 +407,15 @@ bool tcf_destroy(struct tcf_proto *tp, bool force); + void tcf_destroy_chain(struct tcf_proto __rcu **fl); + int skb_do_redirect(struct sk_buff *); + ++static inline bool skb_at_tc_ingress(const struct sk_buff *skb) ++{ ++#ifdef CONFIG_NET_CLS_ACT ++ return G_TC_AT(skb->tc_verd) & AT_INGRESS; ++#else ++ return false; ++#endif ++} ++ + /* Reset all TX qdiscs greater then index of a device. */ + static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i) + { +diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c +index 5faaa54..b3c8bb4 100644 +--- a/net/sched/cls_bpf.c ++++ b/net/sched/cls_bpf.c +@@ -79,12 +79,8 @@ static int cls_bpf_classify(struct sk_buff *skb, const struct tcf_proto *tp, + struct tcf_result *res) + { + struct cls_bpf_head *head = rcu_dereference_bh(tp->root); ++ bool at_ingress = skb_at_tc_ingress(skb); + struct cls_bpf_prog *prog; +-#ifdef CONFIG_NET_CLS_ACT +- bool at_ingress = G_TC_AT(skb->tc_verd) & AT_INGRESS; +-#else +- bool at_ingress = false; +-#endif + int ret = -1; + + if (unlikely(!skb_mac_header_was_set(skb))) + +From 2ed858c4003bb16683124b3d5848c9e0a4f6d4f2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Linus=20L=C3=BCssing?= +Date: Wed, 24 Feb 2016 04:21:42 +0100 +Subject: [PATCH 218/220] net: fix bridge multicast packet checksum validation +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We need to update the skb->csum after pulling the skb, otherwise +an unnecessary checksum (re)computation can ocure for IGMP/MLD packets +in the bridge code. Additionally this fixes the following splats for +network devices / bridge ports with support for and enabled RX checksum +offloading: + +[...] +[ 43.986968] eth0: hw csum failure +[ 43.990344] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.4.0 #2 +[ 43.996193] Hardware name: BCM2709 +[ 43.999647] [<800204e0>] (unwind_backtrace) from [<8001cf14>] (show_stack+0x10/0x14) +[ 44.007432] [<8001cf14>] (show_stack) from [<801ab614>] (dump_stack+0x80/0x90) +[ 44.014695] [<801ab614>] (dump_stack) from [<802e4548>] (__skb_checksum_complete+0x6c/0xac) +[ 44.023090] [<802e4548>] (__skb_checksum_complete) from [<803a055c>] (ipv6_mc_validate_checksum+0x104/0x178) +[ 44.032959] [<803a055c>] (ipv6_mc_validate_checksum) from [<802e111c>] (skb_checksum_trimmed+0x130/0x188) +[ 44.042565] [<802e111c>] (skb_checksum_trimmed) from [<803a06e8>] (ipv6_mc_check_mld+0x118/0x338) +[ 44.051501] [<803a06e8>] (ipv6_mc_check_mld) from [<803b2c98>] (br_multicast_rcv+0x5dc/0xd00) +[ 44.060077] [<803b2c98>] (br_multicast_rcv) from [<803aa510>] (br_handle_frame_finish+0xac/0x51c) +[...] + +Fixes: 9afd85c9e455 ("net: Export IGMP/MLD message validation code") +Reported-by: Álvaro Fernández Rojas +Signed-off-by: Linus Lüssing +Signed-off-by: David S. Miller +--- + net/core/skbuff.c | 22 ++++++++++++++++++++-- + 1 file changed, 20 insertions(+), 2 deletions(-) + +diff --git a/net/core/skbuff.c b/net/core/skbuff.c +index 5bf88f5..8616d11 100644 +--- a/net/core/skbuff.c ++++ b/net/core/skbuff.c +@@ -2948,6 +2948,24 @@ int skb_append_pagefrags(struct sk_buff *skb, struct page *page, + EXPORT_SYMBOL_GPL(skb_append_pagefrags); + + /** ++ * skb_push_rcsum - push skb and update receive checksum ++ * @skb: buffer to update ++ * @len: length of data pulled ++ * ++ * This function performs an skb_push on the packet and updates ++ * the CHECKSUM_COMPLETE checksum. It should be used on ++ * receive path processing instead of skb_push unless you know ++ * that the checksum difference is zero (e.g., a valid IP header) ++ * or you are setting ip_summed to CHECKSUM_NONE. ++ */ ++static unsigned char *skb_push_rcsum(struct sk_buff *skb, unsigned len) ++{ ++ skb_push(skb, len); ++ skb_postpush_rcsum(skb, skb->data, len); ++ return skb->data; ++} ++ ++/** + * skb_pull_rcsum - pull skb and update receive checksum + * @skb: buffer to update + * @len: length of data pulled +@@ -4084,9 +4102,9 @@ struct sk_buff *skb_checksum_trimmed(struct sk_buff *skb, + if (!pskb_may_pull(skb_chk, offset)) + goto err; + +- __skb_pull(skb_chk, offset); ++ skb_pull_rcsum(skb_chk, offset); + ret = skb_chkf(skb_chk); +- __skb_push(skb_chk, offset); ++ skb_push_rcsum(skb_chk, offset); + + if (ret) + goto err; + +From 8df7ac6bc025d2d4862c95cb5f954519533b75a7 Mon Sep 17 00:00:00 2001 +From: Daniel Borkmann +Date: Thu, 7 Jan 2016 15:50:23 +0100 +Subject: [PATCH 219/220] bpf: add skb_postpush_rcsum and fix dev_forward_skb + occasions + +Add a small helper skb_postpush_rcsum() and fix up redirect locations +that need CHECKSUM_COMPLETE fixups on ingress. dev_forward_skb() expects +a proper csum that covers also Ethernet header, f.e. since 2c26d34bbcc0 +("net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding"), we +also do skb_postpull_rcsum() after pulling Ethernet header off via +eth_type_trans(). + +When using eBPF in a netns setup f.e. with vxlan in collect metadata mode, +I can trigger the following csum issue with an IPv6 setup: + + [ 505.144065] dummy1: hw csum failure + [...] + [ 505.144108] Call Trace: + [ 505.144112] [] dump_stack+0x44/0x5c + [ 505.144134] [] netdev_rx_csum_fault+0x3a/0x40 + [ 505.144142] [] __skb_checksum_complete+0xcf/0xe0 + [ 505.144149] [] nf_ip6_checksum+0xb2/0x120 + [ 505.144161] [] icmpv6_error+0x17e/0x328 [nf_conntrack_ipv6] + [ 505.144170] [] ? ip6t_do_table+0x2fa/0x645 [ip6_tables] + [ 505.144177] [] ? ipv6_get_l4proto+0x65/0xd0 [nf_conntrack_ipv6] + [ 505.144189] [] nf_conntrack_in+0xc2/0x5a0 [nf_conntrack] + [ 505.144196] [] ipv6_conntrack_in+0x1c/0x20 [nf_conntrack_ipv6] + [ 505.144204] [] nf_iterate+0x5d/0x70 + [ 505.144210] [] nf_hook_slow+0x66/0xc0 + [ 505.144218] [] ipv6_rcv+0x3f2/0x4f0 + [ 505.144225] [] ? ip6_make_skb+0x1b0/0x1b0 + [ 505.144232] [] __netif_receive_skb_core+0x36b/0x9a0 + [ 505.144239] [] ? __netif_receive_skb+0x18/0x60 + [ 505.144245] [] __netif_receive_skb+0x18/0x60 + [ 505.144252] [] process_backlog+0x9f/0x140 + [ 505.144259] [] net_rx_action+0x145/0x320 + [...] + +What happens is that on ingress, we push Ethernet header back in, either +from cls_bpf or right before skb_do_redirect(), but without updating csum. +The "hw csum failure" can be fixed by using the new skb_postpush_rcsum() +helper for the dev_forward_skb() case to correct the csum diff again. + +Thanks to Hannes Frederic Sowa for the csum_partial() idea! + +Fixes: 3896d655f4d4 ("bpf: introduce bpf_clone_redirect() helper") +Fixes: 27b29f63058d ("bpf: add bpf_redirect() helper") +Signed-off-by: Daniel Borkmann +Acked-by: Alexei Starovoitov +Signed-off-by: David S. Miller +--- + include/linux/skbuff.h | 17 +++++++++++++++++ + net/core/filter.c | 17 +++++++++++++---- + 2 files changed, 30 insertions(+), 4 deletions(-) + +diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h +index 75f136a..d84c593 100644 +--- a/include/linux/skbuff.h ++++ b/include/linux/skbuff.h +@@ -2724,6 +2724,23 @@ static inline void skb_postpull_rcsum(struct sk_buff *skb, + + unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len); + ++static inline void skb_postpush_rcsum(struct sk_buff *skb, ++ const void *start, unsigned int len) ++{ ++ /* For performing the reverse operation to skb_postpull_rcsum(), ++ * we can instead of ... ++ * ++ * skb->csum = csum_add(skb->csum, csum_partial(start, len, 0)); ++ * ++ * ... just use this equivalent version here to save a few ++ * instructions. Feeding csum of 0 in csum_partial() and later ++ * on adding skb->csum is equivalent to feed skb->csum in the ++ * first place. ++ */ ++ if (skb->ip_summed == CHECKSUM_COMPLETE) ++ skb->csum = csum_partial(start, len, skb->csum); ++} ++ + /** + * pskb_trim_rcsum - trim received skb and update checksum + * @skb: buffer to trim +diff --git a/net/core/filter.c b/net/core/filter.c +index 37157c4..6e337ea 100644 +--- a/net/core/filter.c ++++ b/net/core/filter.c +@@ -1288,8 +1288,9 @@ static u64 bpf_skb_store_bytes(u64 r1, u64 r2, u64 r3, u64 r4, u64 flags) + /* skb_store_bits cannot return -EFAULT here */ + skb_store_bits(skb, offset, ptr, len); + +- if (BPF_RECOMPUTE_CSUM(flags) && skb->ip_summed == CHECKSUM_COMPLETE) +- skb->csum = csum_add(skb->csum, csum_partial(ptr, len, 0)); ++ if (BPF_RECOMPUTE_CSUM(flags)) ++ skb_postpush_rcsum(skb, ptr, len); ++ + return 0; + } + +@@ -1415,8 +1416,12 @@ static u64 bpf_clone_redirect(u64 r1, u64 ifindex, u64 flags, u64 r4, u64 r5) + if (unlikely(!skb2)) + return -ENOMEM; + +- if (BPF_IS_REDIRECT_INGRESS(flags)) ++ if (BPF_IS_REDIRECT_INGRESS(flags)) { ++ if (skb_at_tc_ingress(skb2)) ++ skb_postpush_rcsum(skb2, skb_mac_header(skb2), ++ skb2->mac_len); + return dev_forward_skb(dev, skb2); ++ } + + skb2->dev = dev; + skb_sender_cpu_clear(skb2); +@@ -1459,8 +1464,12 @@ int skb_do_redirect(struct sk_buff *skb) + return -EINVAL; + } + +- if (BPF_IS_REDIRECT_INGRESS(ri->flags)) ++ if (BPF_IS_REDIRECT_INGRESS(ri->flags)) { ++ if (skb_at_tc_ingress(skb)) ++ skb_postpush_rcsum(skb, skb_mac_header(skb), ++ skb->mac_len); + return dev_forward_skb(dev, skb); ++ } + + skb->dev = dev; + skb_sender_cpu_clear(skb); + +From d7266f9f0bf5a3b3ed41f904d615b2bbf6e48289 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 31 Mar 2016 15:44:53 +0100 +Subject: [PATCH 220/220] bcm2835-sdhost: Precalc divisors and overclocks + +Recalculating the clock divisors when the core clock changes is wasteful +and makes it harder to manage the overclock settings. Instead, +precalculate them and only report significant changes. + +Signed-off-by: Phil Elwell +--- + drivers/mmc/host/bcm2835-sdhost.c | 152 ++++++++++++++++++++++---------------- + 1 file changed, 88 insertions(+), 64 deletions(-) + +diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c +index 1deecef..cc18ec8 100644 +--- a/drivers/mmc/host/bcm2835-sdhost.c ++++ b/drivers/mmc/host/bcm2835-sdhost.c +@@ -154,12 +154,15 @@ struct bcm2835_host { + u32 pio_timeout; /* In jiffies */ + + int clock; /* Current clock speed */ ++ int clocks[2]; + + bool slow_card; /* Force 11-bit divisor */ + + unsigned int max_clk; /* Max src clock freq */ +- unsigned int min_clk; /* Min src clock freq */ +- unsigned int cur_clk; /* Current src clock freq */ ++ unsigned int src_clks[2]; /* Min/max src clock freqs */ ++ unsigned int cur_clk_idx; /* Index of current clock */ ++ unsigned int next_clk_idx; /* Next clock index */ ++ unsigned int cdivs[2]; + + struct tasklet_struct finish_tasklet; /* Tasklet structures */ + +@@ -213,7 +216,7 @@ struct bcm2835_host { + u32 delay_after_stop; /* minimum time between stop and subsequent data transfer */ + u32 delay_after_this_stop; /* minimum time between this stop and subsequent data transfer */ + u32 overclock_50; /* frequency to use when 50MHz is requested (in MHz) */ +- u32 overclock; /* Current frequency if overclocked, else zero */ ++ u32 prev_overclock_50; + u32 pio_limit; /* Maximum block count for PIO (0 = always DMA) */ + + u32 sectors; /* Cached card size in sectors */ +@@ -1509,10 +1512,35 @@ static irqreturn_t bcm2835_sdhost_irq(int irq, void *dev_id) + return result; + } + ++static void bcm2835_sdhost_select_clock(struct bcm2835_host *host, int idx) ++{ ++ unsigned int clock = host->clocks[idx]; ++ unsigned int cdiv = host->cdivs[idx]; ++ ++ host->mmc->actual_clock = clock; ++ host->ns_per_fifo_word = (1000000000/clock) * ++ ((host->mmc->caps & MMC_CAP_4_BIT_DATA) ? 8 : 32); ++ ++ host->cdiv = cdiv; ++ bcm2835_sdhost_write(host, host->cdiv, SDCDIV); ++ ++ /* Set the timeout to 500ms */ ++ bcm2835_sdhost_write(host, clock/2, SDTOUT); ++ ++ host->cur_clk_idx = host->next_clk_idx = idx; ++ ++ if (host->debug) ++ pr_info("%s: clock=%d -> src_clk=%d, cdiv=%x (actual %d)\n", ++ mmc_hostname(host->mmc), host->clock, ++ host->src_clks[idx], host->cdiv, ++ host->mmc->actual_clock); ++} ++ + void bcm2835_sdhost_set_clock(struct bcm2835_host *host) + { + int div = 0; /* Initialized for compiler warning */ + unsigned int clock = host->clock; ++ int clk_idx; + + if (host->debug) + pr_info("%s: set_clock(%d)\n", mmc_hostname(host->mmc), clock); +@@ -1553,53 +1581,45 @@ void bcm2835_sdhost_set_clock(struct bcm2835_host *host) + return; + } + +- div = host->cur_clk / clock; +- if (div < 2) +- div = 2; +- if ((host->cur_clk / div) > clock) +- div++; +- div -= 2; +- +- if (div > SDCDIV_MAX_CDIV) +- div = SDCDIV_MAX_CDIV; +- +- clock = host->cur_clk / (div + 2); +- host->mmc->actual_clock = clock; +- +- /* Calibrate some delays */ +- +- host->ns_per_fifo_word = (1000000000/clock) * +- ((host->mmc->caps & MMC_CAP_4_BIT_DATA) ? 8 : 32); +- +- if (clock > host->clock) { +- /* Save the closest value, to make it easier +- to reduce in the event of error */ +- host->overclock_50 = (clock/MHZ); +- +- if (clock != host->overclock) { +- pr_warn("%s: overclocking to %dHz\n", +- mmc_hostname(host->mmc), clock); +- host->overclock = clock; +- } +- } +- else if (host->overclock) ++ /* Calculate the clock divisors */ ++ for (clk_idx = 0; clk_idx <= host->variable_clock; clk_idx++) + { +- host->overclock = 0; +- if (clock == 50 * MHZ) +- pr_warn("%s: cancelling overclock\n", +- mmc_hostname(host->mmc)); ++ unsigned int cur_clk = host->src_clks[clk_idx]; ++ unsigned int actual_clock; ++ ++ div = cur_clk / clock; ++ if (div < 2) ++ div = 2; ++ if ((cur_clk / div) > clock) ++ div++; ++ div -= 2; ++ ++ if (div > SDCDIV_MAX_CDIV) ++ div = SDCDIV_MAX_CDIV; ++ actual_clock = cur_clk / (div + 2); ++ ++ host->cdivs[clk_idx] = div; ++ host->clocks[clk_idx] = actual_clock; ++ ++ if (host->overclock_50 != host->prev_overclock_50) { ++ const char *clk_name = ""; ++ if (host->variable_clock) ++ clk_name = clk_idx ? " (turbo)" : " (normal)"; ++ if (actual_clock > host->clock) ++ pr_info("%s: overclocking to %dHz%s\n", ++ mmc_hostname(host->mmc), ++ actual_clock, clk_name); ++ else if ((host->overclock_50 < 50) && (clk_idx == 0)) ++ pr_info("%s: cancelling overclock%s\n", ++ mmc_hostname(host->mmc), ++ host->variable_clock ? "s" : ""); ++ } + } + +- host->cdiv = div; +- bcm2835_sdhost_write(host, host->cdiv, SDCDIV); +- +- /* Set the timeout to 500ms */ +- bcm2835_sdhost_write(host, host->mmc->actual_clock/2, SDTOUT); ++ if (host->clock == 50*MHZ) ++ host->prev_overclock_50 = host->overclock_50; + +- if (host->debug) +- pr_info("%s: clock=%d -> cur_clk=%d, cdiv=%x (actual clock %d)\n", +- mmc_hostname(host->mmc), host->clock, +- host->cur_clk, host->cdiv, host->mmc->actual_clock); ++ bcm2835_sdhost_select_clock(host, host->cur_clk_idx); + } + + static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq) +@@ -1657,6 +1677,9 @@ static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq + + spin_lock_irqsave(&host->lock, flags); + ++ if (host->next_clk_idx != host->cur_clk_idx) ++ bcm2835_sdhost_select_clock(host, host->next_clk_idx); ++ + WARN_ON(host->mrq != NULL); + host->mrq = mrq; + +@@ -1719,11 +1742,7 @@ static int bcm2835_sdhost_cpufreq_callback(struct notifier_block *nb, + return NOTIFY_BAD; + break; + case CPUFREQ_POSTCHANGE: +- if (freq->new > freq->old) +- host->cur_clk = host->max_clk; +- else +- host->cur_clk = host->min_clk; +- bcm2835_sdhost_set_clock(host); ++ host->next_clk_idx = (freq->new > freq->old); + up(&host->cpufreq_semaphore); + break; + default: +@@ -1763,8 +1782,11 @@ static void bcm2835_sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) + ios->clock, ios->power_mode, ios->bus_width, + ios->timing, ios->signal_voltage, ios->drv_type); + +- if (ios->clock && !host->cur_clk) +- host->cur_clk = get_core_clock(RPI_FIRMWARE_GET_CLOCK_RATE); ++ if (ios->clock && (host->cur_clk_idx == -1)) { ++ unsigned int cur_clk = ++ get_core_clock(RPI_FIRMWARE_GET_CLOCK_RATE); ++ host->cur_clk_idx = (cur_clk == host->src_clks[0]) ? 0 : 1; ++ } + + spin_lock_irqsave(&host->lock, flags); + +@@ -1854,11 +1876,12 @@ static void bcm2835_sdhost_tasklet_finish(unsigned long param) + + /* Drop the overclock after any data corruption, or after any + error overclocked */ +- if (host->overclock) { ++ if (host->clock > 50*MHZ) { + if ((mrq->cmd && mrq->cmd->error) || + (mrq->data && mrq->data->error) || + (mrq->stop && mrq->stop->error)) { +- host->overclock_50--; ++ host->overclock_50 = (host->clock/MHZ) - 1; ++ + pr_warn("%s: reducing overclock due to errors\n", + mmc_hostname(host->mmc)); + bcm2835_sdhost_set_clock(host); +@@ -2022,7 +2045,7 @@ static int bcm2835_sdhost_probe(struct platform_device *pdev) + struct bcm2835_host *host; + struct mmc_host *mmc; + const __be32 *addr; +- unsigned int max_clk; ++ unsigned int max_clk, min_clk; + int ret; + + pr_debug("bcm2835_sdhost_probe\n"); +@@ -2128,12 +2151,8 @@ static int bcm2835_sdhost_probe(struct platform_device *pdev) + else + mmc->caps |= MMC_CAP_4_BIT_DATA; + +- ret = bcm2835_sdhost_add_host(host); +- if (ret) +- goto err; +- + /* Query the core clock frequencies */ +- host->min_clk = get_core_clock(RPI_FIRMWARE_GET_MIN_CLOCK_RATE); ++ min_clk = get_core_clock(RPI_FIRMWARE_GET_MIN_CLOCK_RATE); + max_clk = get_core_clock(RPI_FIRMWARE_GET_MAX_CLOCK_RATE); + if (max_clk != host->max_clk) { + pr_warn("%s: Expected max clock %d, found %d\n", +@@ -2141,19 +2160,24 @@ static int bcm2835_sdhost_probe(struct platform_device *pdev) + host->max_clk = max_clk; + } + +- if (host->min_clk != host->max_clk) { ++ host->src_clks[0] = min_clk; ++ host->cur_clk_idx = -1; ++ if (max_clk != min_clk) { ++ host->src_clks[1] = max_clk; + host->cpufreq_nb.notifier_call = + bcm2835_sdhost_cpufreq_callback; + sema_init(&host->cpufreq_semaphore, 1); + cpufreq_register_notifier(&host->cpufreq_nb, + CPUFREQ_TRANSITION_NOTIFIER); + host->variable_clock = 1; +- host->cur_clk = 0; /* Get this later */ + } else { + host->variable_clock = 0; +- host->cur_clk = host->max_clk; + } + ++ ret = bcm2835_sdhost_add_host(host); ++ if (ret) ++ goto err; ++ + platform_set_drvdata(pdev, host); + + pr_debug("bcm2835_sdhost_probe -> OK\n");