diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 6c2c59ff51..818e851c84 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 151f1cdedd02433972d8f09fc709bc6b87afdde6 Mon Sep 17 00:00:00 2001 +From 45b9387552913aec62a1e570e24a29f4de690b9a Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 001/134] smsx95xx: fix crimes against truesize +Subject: [PATCH 001/138] 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. @@ -13,7 +13,7 @@ Signed-off-by: Steve Glendinning 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 765400b62168436b278d8a09fa0dd1fd8566bcb7..1d31e182f035c6acddc9bc34ad71e5a6a0516213 100644 +index 2dfca96a63b60283b89efab676932a711024a499..88843b36182f0f12175df06e3a6fb55a3a8f47e5 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -82,6 +82,10 @@ static bool turbo_mode = true; @@ -27,7 +27,7 @@ index 765400b62168436b278d8a09fa0dd1fd8566bcb7..1d31e182f035c6acddc9bc34ad71e5a6 static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -1952,7 +1956,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) +@@ -1959,7 +1963,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(skb); skb_trim(skb, skb->len - 4); /* remove fcs */ @@ -37,7 +37,7 @@ index 765400b62168436b278d8a09fa0dd1fd8566bcb7..1d31e182f035c6acddc9bc34ad71e5a6 return 1; } -@@ -1970,7 +1975,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) +@@ -1977,7 +1982,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(ax_skb); skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */ @@ -48,10 +48,10 @@ index 765400b62168436b278d8a09fa0dd1fd8566bcb7..1d31e182f035c6acddc9bc34ad71e5a6 usbnet_skb_return(dev, ax_skb); } -From 02788c82626f3775b96256af81a24ad0c19bbaac Mon Sep 17 00:00:00 2001 +From fd5be4b0126998430984309848f8b968b8c7d493 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 002/134] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 002/138] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -60,7 +60,7 @@ See: http://forum.kodi.tv/showthread.php?tid=285288 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 1d31e182f035c6acddc9bc34ad71e5a6a0516213..1d5d4f77f3fe73c32804e52de46e91360ee4e64a 100644 +index 88843b36182f0f12175df06e3a6fb55a3a8f47e5..27813c57707c4b001646a26d8b1174a0162c55ec 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -86,6 +86,10 @@ static bool truesize_mode = false; @@ -94,10 +94,10 @@ index 1d31e182f035c6acddc9bc34ad71e5a6a0516213..1d5d4f77f3fe73c32804e52de46e9136 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From 07cf10fed752d695f14cb35a948e68e92fa4d340 Mon Sep 17 00:00:00 2001 +From b88143006ef6b6a3a78224fbbd58fc291e39f590 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 003/134] Allow mac address to be set in smsc95xx +Subject: [PATCH 003/138] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -105,7 +105,7 @@ Signed-off-by: popcornmix 1 file changed, 56 insertions(+) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 1d5d4f77f3fe73c32804e52de46e91360ee4e64a..c60e5dff69f4522909e1a75a6e06df15f872d905 100644 +index 27813c57707c4b001646a26d8b1174a0162c55ec..fac7a5f8642030a7dca7807e6c4808ea61e3e640 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -60,6 +60,7 @@ @@ -193,58 +193,10 @@ index 1d5d4f77f3fe73c32804e52de46e91360ee4e64a..c60e5dff69f4522909e1a75a6e06df15 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From 8a8c187ae0da77762b1d8ca2a5f99927dad640ba Mon Sep 17 00:00:00 2001 -From: Nisar Sayed -Date: Tue, 9 May 2017 18:51:42 +0100 -Subject: [PATCH 004/134] According to RFC 2460, IPv6 UDP calculated checksum - yields a result of zero must be changed to 0xffff, however this feature is - not supported by smsc95xx family hence enable csum offload only for IPv4 - TCP/UDP packets. - -Signed-off-by: Nisar Sayed - -Reported-by: popcorn mix ---- - drivers/net/usb/smsc95xx.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index c60e5dff69f4522909e1a75a6e06df15f872d905..ee4945f55f4151790acbf82649a876743458e4df 100644 ---- a/drivers/net/usb/smsc95xx.c -+++ b/drivers/net/usb/smsc95xx.c -@@ -694,7 +694,7 @@ static int smsc95xx_set_features(struct net_device *netdev, - if (ret < 0) - return ret; - -- if (features & NETIF_F_HW_CSUM) -+ if (features & NETIF_F_IP_CSUM) - read_buf |= Tx_COE_EN_; - else - read_buf &= ~Tx_COE_EN_; -@@ -1343,12 +1343,16 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) - - spin_lock_init(&pdata->mac_cr_lock); - -+ /* RFC 2460, IPv6 UDP calculated checksum yields a result of zero must be -+ * changed to 0xffff, this feature is not supported by smsc95xx family, -+ * hence enable csum offload only for IPv4 TCP/UDP packets. -+ */ - if (DEFAULT_TX_CSUM_ENABLE) -- dev->net->features |= NETIF_F_HW_CSUM; -+ dev->net->features |= NETIF_F_IP_CSUM; - if (DEFAULT_RX_CSUM_ENABLE) - dev->net->features |= NETIF_F_RXCSUM; - -- dev->net->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM; -+ dev->net->hw_features = NETIF_F_IP_CSUM | NETIF_F_RXCSUM; - - smsc95xx_init_mac_address(dev); - - -From 89e5adf945d832ee26ebca55d9c7a046727dc7b2 Mon Sep 17 00:00:00 2001 +From e2ea470b27b10eb89f85b4e918e7fddf924cd946 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 005/134] Protect __release_resource against resources without +Subject: [PATCH 004/138] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -272,10 +224,10 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From 4f90100cc5566f59a0d99965b1be9bcc4d6f2e32 Mon Sep 17 00:00:00 2001 +From cffbc40e07f1a394eb8b6524ef0d2fb5d35db01f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 006/134] mm: Remove the PFN busy warning +Subject: [PATCH 005/138] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -287,10 +239,10 @@ Signed-off-by: Eric Anholt 1 file changed, 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index f9e450c6b6e414d61b00d5a61be9cdea3b773e1b..c8ce217418ac59358d35281c787608e94bc28164 100644 +index 2302f250d6b1ba150e3c2e4e17cfb6c99574ab5b..f434dbb4aaa8845318e2d40153339b0805a69cc8 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7554,8 +7554,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, +@@ -7567,8 +7567,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, /* Make sure the range is really isolated. */ if (test_pages_isolated(outer_start, end, false)) { @@ -300,10 +252,10 @@ index f9e450c6b6e414d61b00d5a61be9cdea3b773e1b..c8ce217418ac59358d35281c787608e9 goto done; } -From fa34513c7d30d1cd409758b55dd48fc654cba2b4 Mon Sep 17 00:00:00 2001 +From 09e00baea00eae30c3a506aeaee4440e9ee50aed Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 007/134] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/138] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -330,10 +282,10 @@ index e7463e3c08143acae3e8cc5682f918c6a0b07ebd..a8db33b50ad9ff83d284fa54fe4d3b65 #endif } else if (stat) { -From 9e0a35dd45ec6c7c2df27bdcd435930d464b01d5 Mon Sep 17 00:00:00 2001 +From 72d48467cda5fa5ab517740f696341e044db562f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 008/134] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 007/138] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -357,10 +309,10 @@ index a8db33b50ad9ff83d284fa54fe4d3b65f859df0f..c4e151451cf8c8ebde5225515eac2786 static void -From 424c8124b155d6a2b3b5a0aba076977eab5784dd Mon Sep 17 00:00:00 2001 +From 5e5e1d81393d84bc11e9c7bee4b4f44047f591b2 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 009/134] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 008/138] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -489,10 +441,10 @@ index 44d7c38dde479d771f3552e914bf8c1c1f5019f7..42ff5e6a8e0d532f5b60a1e7af7cc4d9 } -From c25be4bf3ce8a3eaf60cb567e726dad889129514 Mon Sep 17 00:00:00 2001 +From 901339dac7c408935388477000fb540683b91e80 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 010/134] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 009/138] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -591,10 +543,10 @@ index 42ff5e6a8e0d532f5b60a1e7af7cc4d941bd5008..eccf6ed025299cb480884f5bcbe77abf for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From 4ef30a14db1099aa4b4fd238d2e836b72ed03c7a Mon Sep 17 00:00:00 2001 +From edbeb0bf629aca5835f5d0b86e4ba9d7e04015d0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 011/134] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 010/138] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -615,10 +567,10 @@ index 9a2a79a871ba009fcfa8b7e2b52002c8845d94ce..4ffd24e8c50fd0df03cbb1257448c202 }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From dc5cb8060f11d984f0517ee99732d85371be04d3 Mon Sep 17 00:00:00 2001 +From 69342813ed2f2c909b03086e9da48c7265666f8d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 3 Jan 2017 18:25:01 +0000 -Subject: [PATCH 012/134] Revert "pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP" +Subject: [PATCH 011/138] Revert "pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP" This reverts commit 85ae9e512f437cd09bf61564bdba29ab88bab3e3. --- @@ -912,10 +864,10 @@ index 85d0091128644c446aed878e87769e82c77c3ebf..4f2621272bfd5cbc0d691d2fabe89e2e if (IS_ERR(pc->pctl_dev)) { gpiochip_remove(&pc->gpio_chip); -From 58375107998b87b0b9cd8f8371d8589eebc210c7 Mon Sep 17 00:00:00 2001 +From 94c6ae4ad29a780d63c952ef805e991707ed2e8c Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 013/134] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 012/138] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -937,10 +889,10 @@ index 4f2621272bfd5cbc0d691d2fabe89e2ee428d6db..5b7cb4c415e19f98e25b221ab0ad36b6 .can_sleep = false, }; -From 1f3c2d0d1983bfc72bc615f422c792f2fed61925 Mon Sep 17 00:00:00 2001 +From bf9f3058b01c5a77c02dbe0a161a014650bee990 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 014/134] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 013/138] pinctrl-bcm2835: Only request the interrupts listed in the DTB Although the GPIO controller can generate three interrupts (four counting @@ -967,10 +919,10 @@ index 5b7cb4c415e19f98e25b221ab0ad36b6885dae4c..6351fe7f8e314ac5ebb102dd20847b38 pc->irq_data[i].irqgroup = i; -From a3a31ac4fa08364279ab630c06ae80429a327f2e Mon Sep 17 00:00:00 2001 +From ec4e8b458bbfab3bcba7862e0d83ea091b13ef9e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 015/134] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 014/138] 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 @@ -1051,10 +1003,10 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From 8e9ee7ba491be80c51b33b31cf4593b8ff7388f6 Mon Sep 17 00:00:00 2001 +From 01dadb53b95901d3f568a951db71c67ccd8ff025 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 016/134] spi-bcm2835: Disable forced software CS +Subject: [PATCH 015/138] spi-bcm2835: Disable forced software CS Select software CS in bcm2708_common.dtsi, and disable the automatic conversion in the driver to allow hardware CS to be re-enabled with an @@ -1088,10 +1040,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From 50ed462f7576dca3909075b35956a86f1a39d41e Mon Sep 17 00:00:00 2001 +From 145e0be4a5d378731afd55360d0946f86285dfc2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 017/134] spi-bcm2835: Remove unused code +Subject: [PATCH 016/138] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -1179,10 +1131,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From 8a9ac0088a172630bb0f932c561a56ac5c124ea3 Mon Sep 17 00:00:00 2001 +From b6d45e08a8e1e7dd2741a34f6a663b098226d922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 018/134] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 017/138] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1235,10 +1187,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From bc4115257eaca267c6622bbd81bffe970edefd4d Mon Sep 17 00:00:00 2001 +From bc1adaac858d5020eed2983a02aaac8e2d78a1fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 019/134] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 018/138] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1341,10 +1293,10 @@ index 6204cc32d09c5096df8aec304c3c37b3bcb6be44..599c218dc8a73172dd4bd4a058fc8f95 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From bfa88b454e0f0b0ddb755ffa43bd64edb06f7286 Mon Sep 17 00:00:00 2001 +From 6fce8da3329d883f0f2c08f7b1c6a05b0cd96725 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 020/134] firmware: Updated mailbox header +Subject: [PATCH 019/138] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 9 +++++++++ @@ -1405,10 +1357,10 @@ index cb979ad90401e299344dd5fae38d09c489d8bd58..30fb37fe175df604a738258a2a632bca RPI_FIRMWARE_VCHIQ_INIT = 0x00048010, -From c30970cbe8c00f9e201b9140f5ac97a62ef7b58d Mon Sep 17 00:00:00 2001 +From 2050b9a1f421ae57c65a6ada2f9216e5fcd86320 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 021/134] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 020/138] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1428,10 +1380,10 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From 0542aaf3934044e4a63c367a7af9256d37ad2490 Mon Sep 17 00:00:00 2001 +From 0902be6c55fae5820ce49e933b005401bb662238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 022/134] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 021/138] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1533,10 +1485,10 @@ index b339e0e67b4c1275fd4992fea4f1e24c0575b783..26b7177573fac2af1cd4ab5488d2686f static int bcm2835_wdt_probe(struct platform_device *pdev) -From 07b1d7154c123edc365b7d97b2dca7f1168a490a Mon Sep 17 00:00:00 2001 +From 7a37aad3a6fd16a8589f5d0076df49430d3510df Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 023/134] reboot: Use power off rather than busy spinning when +Subject: [PATCH 022/138] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1559,10 +1511,10 @@ index 3b2aa9a9fe268d45335f781c4aa22cf573753a1b..0180d89a34af45c56243fe0f17fbe209 /* -From ef22d31211b4cc4d4b7a8cd6ee891c03c9d8ab24 Mon Sep 17 00:00:00 2001 +From 04712e1753014f2ea6ee20600b5c10e7c1e49b58 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 024/134] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 023/138] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -1581,10 +1533,10 @@ index a39b0d58ddd0fdf0ac1cc7295f8aafb12546e226..e037a6dd79d1881a09e3ca9115782709 help This enables support for the RPi power domains which can be enabled -From a27c8fd916df10ed7fe883276015014d05bb2368 Mon Sep 17 00:00:00 2001 +From 9a37ab975644b7ea9ae443fdd91abc0ded7763a3 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 025/134] Register the clocks early during the boot process, so +Subject: [PATCH 024/138] Register the clocks early during the boot process, so that special/critical clocks can get enabled early on in the boot process avoiding the risk of disabling a clock, pll_divider or pll when a claiming driver fails to install propperly - maybe it needs to defer. @@ -1629,10 +1581,10 @@ index 02585387061967ac9408e18ac1bce67e9e9414c0..283d2de45e4f29406d01f24ab1cae3f9 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From e19f2d167c6bc1022ea8b27af6a94d49e78dedf0 Mon Sep 17 00:00:00 2001 +From 9bf5fedae8dbd66fb196676ea530b19a79625da3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 026/134] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 025/138] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1658,10 +1610,10 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From e067ae0b929429a6fe4dcb9f34964f6ea7e52178 Mon Sep 17 00:00:00 2001 +From 92b7d11529ed0a0cf8f75a9d5911b10b50533e99 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 027/134] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 026/138] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -1681,10 +1633,10 @@ index 61f87a99bf0a1c512e572d3cbdcf4b4b5d7ae785..0a5e36778eacf7dc589486f8bc8033f5 esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From 26f794a4a1ec2fc5906fcc5b586cfd56d9baca0e Mon Sep 17 00:00:00 2001 +From 87cc10c6280c58919227c415eb51fca8d1243de6 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 028/134] BCM2835_DT: Fix I2S register map +Subject: [PATCH 027/138] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -1722,10 +1674,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 3356cc64087a7f9e79c7f1917950a8c63bcea4ab Mon Sep 17 00:00:00 2001 +From 6cd0b6036203fd0867bf1506cf595ed5aaa3c191 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 029/134] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 028/138] clk-bcm2835: Mark used PLLs and dividers CRITICAL The VPU configures and relies on several PLLs and dividers. Mark all enabled dividers and their PLLs as CRITICAL to prevent the kernel from @@ -1753,10 +1705,10 @@ index 283d2de45e4f29406d01f24ab1cae3f9f879234a..85df8c74a309f0b877ef65f1c55b086f divider->data = data; -From 9010e5cb1843ecc8211dc47ce0b8a6de814c2b37 Mon Sep 17 00:00:00 2001 +From fda07632cf172d3da46be6ac5da3b544ec305b07 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 030/134] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 029/138] clk-bcm2835: Add claim-clocks property The claim-clocks property can be used to prevent PLLs and dividers from being marked as critical. It contains a vector of clock IDs, @@ -1858,10 +1810,10 @@ index 85df8c74a309f0b877ef65f1c55b086f1bb774a1..eec6735505c074c0a76ae647bf0e1bb6 sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From 25d50a982e06e003f5eb1ba2b572322a8ce58870 Mon Sep 17 00:00:00 2001 +From 1954dd42272a2df11d5d726169e3a5c6967c9e9f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:06:53 +0000 -Subject: [PATCH 031/134] clk-bcm2835: Correct the prediv logic +Subject: [PATCH 030/138] clk-bcm2835: Correct the prediv logic If a clock has the prediv flag set, both the integer and fractional parts must be scaled when calculating the resulting frequency. @@ -1888,10 +1840,10 @@ index eec6735505c074c0a76ae647bf0e1bb68ab3a488..e0d28add45efdf70d1eba590282a3a26 return bcm2835_pll_rate_from_divisors(parent_rate, ndiv, fdiv, pdiv); } -From 784f4a932c22edf1a4f59b36712cc779a1276e25 Mon Sep 17 00:00:00 2001 +From fa484c386dacb2d47ae99a78161bb27b5eaabb23 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 032/134] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 031/138] clk-bcm2835: Read max core clock from firmware The VPU is responsible for managing the core clock, usually under direction from the bcm2835-cpufreq driver but not via the clk-bcm2835 @@ -2006,10 +1958,10 @@ index e0d28add45efdf70d1eba590282a3a2654af328d..39f72da6ba1f6ec6ec41d5dc1bf46344 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From c42a2992e8bc03bcd4c4a8aec6dc8a7349e36101 Mon Sep 17 00:00:00 2001 +From bc75fb5af600cd63221033bd18cd0ca2221316c6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 033/134] sound: Demote deferral errors to INFO level +Subject: [PATCH 032/138] sound: Demote deferral errors to INFO level At present there is no mechanism to specify driver load order, which can lead to deferrals and repeated retries until successful. @@ -2044,10 +1996,10 @@ index aae099c0e50280d67f153d6769ac4237d531e169..de76fefb878bb2e6b71eb75bf62e8022 goto _err_defer; } -From 58f7b0828a36fe21c74d8cdf84e4dee701b9af32 Mon Sep 17 00:00:00 2001 +From 4bd2b93588ce30aeaafb8ce72301cca89f1d38ea Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 034/134] Update vfpmodule.c +Subject: [PATCH 033/138] Update vfpmodule.c Christopher Alexander Tobias Schulze - May 2, 2015, 11:57 a.m. This patch fixes a problem with VFP state save and restore related @@ -2184,10 +2136,10 @@ index a71a48e71fffa8626fe90106815376c44bbe679b..d6c0a5a0a5ae3510db3ace5e3f5d3410 /* * Save the userland NEON/VFP state. Under UP, -From a8b9f9851c3934173e3ad5cb11317ce74ee45f74 Mon Sep 17 00:00:00 2001 +From 68c00e299deb2be055fac9c0e86ed639e013ddc3 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 035/134] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 034/138] ASoC: bcm2835_i2s.c: relax the ch2 register setting for 8 channels This patch allows ch2 registers to be set for 8 channels of audio. @@ -2208,10 +2160,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..56df7d8a43d0aac055a91b0d24aca8e1 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From 4370581c73bbf8eaf89815d991f03fe2dc90ac1e Mon Sep 17 00:00:00 2001 +From c906e1238f12595a0eb080b27b509012e6107431 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 1 Nov 2016 15:15:41 +0100 -Subject: [PATCH 036/134] i2c: bcm2835: Add debug support +Subject: [PATCH 035/138] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2400,10 +2352,10 @@ index cd07a69e2e9355540442785f95e90823b05c9d10..47167f403cc8329bd811b47c7011c299 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From c1b63aec64fb089a9e7035f9dd2a645e73ff3e8a Mon Sep 17 00:00:00 2001 +From 359433f5e65a3f8b5790b463d52f333b815b16e5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 037/134] Main bcm2708/bcm2709 linux port +Subject: [PATCH 036/138] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2591,10 +2543,10 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From f7b1d3eaa890eeebbcb88782c3cc96e93e4b8425 Mon Sep 17 00:00:00 2001 +From d4dca928a3ebbed5ab53a6974abbff9b7180cd7a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 038/134] Add dwc_otg driver +Subject: [PATCH 037/138] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -63736,10 +63688,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From b197cc2131091ff673a2a415fc13bf347f8c665a Mon Sep 17 00:00:00 2001 +From 4595a396dd199449fe86e1f8644dae131f9e409a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 039/134] bcm2708 framebuffer driver +Subject: [PATCH 038/138] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67198,10 +67150,10 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From 7949539f234107a0875b70076d2f9dbbf9778fce Mon Sep 17 00:00:00 2001 +From 38128cc407317c777d9a9c2cc9ab09be4514f30c Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 040/134] dmaengine: Add support for BCM2708 +Subject: [PATCH 039/138] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67832,10 +67784,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From 6b2a39b5cd66235715c52f1622a46d3156ad9b4d Mon Sep 17 00:00:00 2001 +From ffb02e7edb512ff80f36a414ee7a4a1c6fe4fdf6 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 041/134] MMC: added alternative MMC driver +Subject: [PATCH 040/138] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69557,10 +69509,10 @@ index 0000000000000000000000000000000000000000..4fe8d1fe44578fbefcd48f8c327ba3d0 +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Gellert Weisz"); -From 29038a5057584d723dc05c759f2b5139f7faa668 Mon Sep 17 00:00:00 2001 +From 800ec12c29238518de2a701569c7ae14d5a9fd7f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 042/134] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 041/138] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -71966,10 +71918,10 @@ index 0000000000000000000000000000000000000000..9c6f199a7830959f31012d86bc1f8b1a +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From 809a0dffbc985286b74f27759d7c2e607a6a0817 Mon Sep 17 00:00:00 2001 +From 7e5b604219821749decde3d306271fe45679faa0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 043/134] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 042/138] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -72494,10 +72446,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From 6952d79707b63996f0d42d0dda2b70a059447ca8 Mon Sep 17 00:00:00 2001 +From 23585ce9139db1579c019b19856f097178bee78c Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 044/134] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 043/138] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -76952,10 +76904,10 @@ index 0000000000000000000000000000000000000000..334f36d0d697b047df2922b5f2db67f3 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From ba7395e4c6fb0435003beae02f3c8b2bc8791cf4 Mon Sep 17 00:00:00 2001 +From 6a6d947e2fe34171fcf0dd1ee5c4ce16dcdbd43d Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 045/134] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 044/138] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -77263,10 +77215,10 @@ index 0000000000000000000000000000000000000000..f5e7f1ba8fb6f18dee77fad06a17480c +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From 515a938fe8576bc8cc4a3601c86d73ba4b6551ca Mon Sep 17 00:00:00 2001 +From aeda902bae70d98cdf40fc59f807e97fec6674bb Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 046/134] Add SMI driver +Subject: [PATCH 045/138] Add SMI driver Signed-off-by: Luke Wren --- @@ -79217,10 +79169,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From 72783ecf88bd49e4260f9f9f0c07662f90b7eab8 Mon Sep 17 00:00:00 2001 +From 089fd9e5afaee3de551370f43b0db96004c77ebe Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 047/134] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 046/138] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -79390,10 +79342,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From aa1fdfae8bf8b75cc9d97ce03fdde2c9925f2415 Mon Sep 17 00:00:00 2001 +From d208019b8e86e11d5463f12a8ea19d704ae5488d Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 048/134] Add SMI NAND driver +Subject: [PATCH 047/138] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -79758,10 +79710,10 @@ index 0000000000000000000000000000000000000000..02adda6da18bd0ba9ab19a104975b79d + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From 6d55d11f5e25cf0bc8ed3a011fcca9aca259324b Mon Sep 17 00:00:00 2001 +From bea77e620b5fabaa1391f7d2a5f74299cbbcc286 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 049/134] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 048/138] 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 @@ -80622,10 +80574,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From 48f95755c474182114162618044ac0f1175c7f89 Mon Sep 17 00:00:00 2001 +From 9e5fb801a6c5d5656c069c1082c81f2b7d2ec57a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 050/134] Add cpufreq driver +Subject: [PATCH 049/138] Add cpufreq driver Signed-off-by: popcornmix --- @@ -80636,10 +80588,10 @@ Signed-off-by: popcornmix create mode 100644 drivers/cpufreq/bcm2835-cpufreq.c diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm -index 74ed7e9a7f27cd333a6bdf48144c0de4e6e7469e..f752ce90a1d46f6f605e49db6fae010d27269ad0 100644 +index 2011fec2d6ad9d5b4ad1b089c38a1be23baeb509..32caf32c8b247244930cbe27e8e5981728b8f3ac 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm -@@ -233,6 +233,15 @@ config ARM_STI_CPUFREQ +@@ -242,6 +242,15 @@ config ARM_STI_CPUFREQ this config option if you wish to add CPUFreq support for STi based SoCs. @@ -80656,7 +80608,7 @@ index 74ed7e9a7f27cd333a6bdf48144c0de4e6e7469e..f752ce90a1d46f6f605e49db6fae010d bool "Tegra20 CPUFreq support" depends on ARCH_TEGRA diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile -index b7e78f063c4f1d373bc892f84f68d6b8000a3051..da7b9bab804b9305f02033be188519284dd8c136 100644 +index ab3a42cd29ef210bcf0cad2ee48c74cb954b14f2..f81761612a9bef474090a868305bb86ee57cd930 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -75,6 +75,7 @@ obj-$(CONFIG_ARM_SA1110_CPUFREQ) += sa1110-cpufreq.o @@ -80892,10 +80844,10 @@ index 0000000000000000000000000000000000000000..414fbdc10dfbfc6e4bb47870a7af3fd5 +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From 0bf5a3595ea205edec12f78627f951f57d55a138 Mon Sep 17 00:00:00 2001 +From d2f0ef9841b6c3356c104ab3868168106a3877c0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 051/134] Added hwmon/thermal driver for reporting core +Subject: [PATCH 050/138] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -81078,10 +81030,10 @@ index 0000000000000000000000000000000000000000..25b78c3eac1503fbc9e679b963a6284b +MODULE_DESCRIPTION("Thermal driver for bcm2835 chip"); +MODULE_LICENSE("GPL"); -From b1495be3d315402a0db42644dd5ecc53fecb5deb Mon Sep 17 00:00:00 2001 +From 050f6820d63258585019d322630b7a05b466d3ed Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 052/134] Add Chris Boot's i2c driver +Subject: [PATCH 051/138] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -81746,10 +81698,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From ab9a6fe8d650c560be66560575e74fd340e78c5f Mon Sep 17 00:00:00 2001 +From ef07a4a1cf2432f650de042092e5dc0eb6e986cd 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 053/134] char: broadcom: Add vcio module +Subject: [PATCH 052/138] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -81974,10 +81926,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From 1e19f0206104e59cd027f18fb5c5fc9ced464c10 Mon Sep 17 00:00:00 2001 +From 7a02dd1698ca400ca779706bd9ca546e3b09cd62 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 054/134] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 053/138] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82060,10 +82012,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From 1584499b7961aa2c6efd0e532fc240f2d537b2a7 Mon Sep 17 00:00:00 2001 +From 670f084213515ea37dc185333d4425cc76215518 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 055/134] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 054/138] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -82590,10 +82542,10 @@ index 0000000000000000000000000000000000000000..84be2593ec1de8f97b0167ff06b3e05d + return $trailer; +} -From 1ad57d32fa61983dc993af793ca1de7656541adc Mon Sep 17 00:00:00 2001 +From 845d135b770df45b2946c4e4bc35c9cad8a2ff62 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 056/134] BCM2708: Add core Device Tree support +Subject: [PATCH 055/138] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -94038,10 +93990,10 @@ index 58c05e5d9870b6c18a72da7dc44ff3112994946d..9842523b225a88505d796cc689c04f40 # Bzip2 -From 9b16807890be501e8b292dc1f91ed23ecb3b019e Mon Sep 17 00:00:00 2001 +From d5100acdcdd38d35e916dfab4bf05c2a451cd966 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 057/134] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 056/138] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -94216,10 +94168,10 @@ index 64c56d454f7df9f864a5242ce4212df586f66886..3fd74c8737871cb56f0355c858fc135e /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -From e673adf32af6d1024f72f179daff0cba7ae0299d Mon Sep 17 00:00:00 2001 +From e080648b8e3f0c279f2b62c3a4a5b3fafb5fb25f Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 058/134] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 057/138] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -94487,10 +94439,10 @@ index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..703fa8a70574323abe2fb32599254582 __u32 dx; /* screen-relative */ __u32 dy; -From d67b3ca2c17e8a84328d0f528431ca6cecfe8832 Mon Sep 17 00:00:00 2001 +From 8f6352d0c0d217a0e4568908c5f77b5582a61d8d Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 059/134] Speed up console framebuffer imageblit function +Subject: [PATCH 058/138] 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 @@ -94699,10 +94651,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From 7e23eb9405f97370323fe4067ee84ce7b2a6fbe8 Mon Sep 17 00:00:00 2001 +From 0511196fc39737614173dac908833be1b1c20b47 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 060/134] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 059/138] 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 @@ -94952,10 +94904,10 @@ index d58594a3232492e33f1dd4babd3798b03e0f0203..feae94256256316fd9d850c3d83325af unsigned int ext_pullup_enable_pin; unsigned int pullup_duration; -From 0ea6eedffcfc2ce99a3ea3607c55f46273537425 Mon Sep 17 00:00:00 2001 +From 25e9f48e33c637400cddfb23b0c3a19aa49c0622 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 061/134] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 060/138] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -94987,10 +94939,10 @@ index 83772fa7d92a6f6178cd3a4a5c0fea28350040b5..3f4a7e34b3f775e712b1b4d6afe27a2a break; case HID_GD_JOYSTICK: -From 339f5fb3cfa5c0f02a83928ee8a882ba2a55072a Mon Sep 17 00:00:00 2001 +From 7e929c828d49eaeae6b43855e4753cdc94cc7c27 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 062/134] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 061/138] 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 @@ -95348,10 +95300,10 @@ index 30fb37fe175df604a738258a2a632bca3bfff33f..4a3d79d3b48eb483a4e4bf498f617515 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From c4b4250fd395c0be4b711507fb9eabd921b44b67 Mon Sep 17 00:00:00 2001 +From 6ed9f4574d4bb10ac99a98ec70830dc495422501 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 063/134] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 062/138] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -96926,10 +96878,10 @@ index 567601148318bf4a5fbc581d6c9881d9e190c409..45ea7866761a71470bd335f6f37ea603 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From 11c1df4f712118eda289c584c7fa220a64a30ef5 Mon Sep 17 00:00:00 2001 +From 8ecdc4173f29cd927327265e1074a44abc5fd9b8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 064/134] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 063/138] 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 @@ -96964,10 +96916,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 7a82effd690ec3312c60297da20a0bf2da2b0f1e Mon Sep 17 00:00:00 2001 +From 598cceecfced84f3053101783d889170a8503885 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 065/134] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 064/138] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -97832,10 +97784,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From 644a0e25034a704720de0a6ee5b12572c3c63147 Mon Sep 17 00:00:00 2001 +From bf05fae4a376fbaa507eb7320bd58495c015bbb4 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 066/134] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 065/138] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -98010,10 +97962,10 @@ index 0000000000000000000000000000000000000000..ee9f133953544629282631e5ef3f73fe +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From 18db604c90230ab4386547d077cb219d661568b1 Mon Sep 17 00:00:00 2001 +From 685fd1f14b790aa35c5490102a2a51cf972b5fdd Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 067/134] ASoC: Add support for Rpi-DAC +Subject: [PATCH 066/138] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -98297,10 +98249,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From c598b93c8d732538708591e682d33ec46fc42ff8 Mon Sep 17 00:00:00 2001 +From c6117d939ff79362509a7e4b1b1bc9982e8b57bd Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 068/134] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 067/138] 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 @@ -98349,10 +98301,10 @@ index af95d648265b3e92e345101542b332aee35191d4..513f56ba132929662802d15cdc653af3 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From e84c80f2e668fe752aac76c478ccef648cc9eab6 Mon Sep 17 00:00:00 2001 +From 29321b2162246adf4ba45f35eed43fa6baacdd0f Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 069/134] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 068/138] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -98696,10 +98648,10 @@ index 0000000000000000000000000000000000000000..7620dd02de40b6d644ff038b445d375d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From d193f3f66930b94a717d209ee0a4e7a9edbcbd77 Mon Sep 17 00:00:00 2001 +From e140feacf717a7b902d5e85c0715b9ee9455f0be Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 070/134] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 069/138] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -99034,10 +98986,10 @@ index 0000000000000000000000000000000000000000..1ee4097c846376666775272ed692ca33 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 73068c3a8482046b21515105df80e74075e6868c Mon Sep 17 00:00:00 2001 +From 96e7935a85cfe0bdc46d5c34403e32b70741c316 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 071/134] Added support for HiFiBerry DAC+ +Subject: [PATCH 070/138] 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. @@ -99667,10 +99619,10 @@ index 72b19e62f6267698aea45d2410d616d91c1825cb..c6839ef6e16754ed9de2698507b8986a dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 065823044ad50b8de36a7db8022437707921b04b Mon Sep 17 00:00:00 2001 +From d68c3ee84d23503ad265f6983facbdc8f60debf2 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 072/134] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 071/138] 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. @@ -100505,10 +100457,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From a8f72ba9386d9b928939d53462e2d125eafdefb0 Mon Sep 17 00:00:00 2001 +From 6db451391ad114d13ae6bdef54a4698e85946982 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 073/134] Add driver for rpi-proto +Subject: [PATCH 072/138] 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 @@ -100723,10 +100675,10 @@ index 0000000000000000000000000000000000000000..fadbfade100228aaafabb0d3bdf35c01 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From 38fa8a51f9230da582d433cb67acbe75ce4b1417 Mon Sep 17 00:00:00 2001 +From 02f62db0653e423135b2ee3e430bcbe1bb7615a3 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 074/134] RaspiDAC3 support +Subject: [PATCH 073/138] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -100969,10 +100921,10 @@ index 0000000000000000000000000000000000000000..ad2b5b89bc8213dc2e277306ef50d6e3 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From ac2e94092d5112fab507ff026191bc45235230b1 Mon Sep 17 00:00:00 2001 +From 83f06146b88a30f0a6849b2251b94661432ab031 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 075/134] Add Support for JustBoom Audio boards +Subject: [PATCH 074/138] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -101428,10 +101380,10 @@ index 0000000000000000000000000000000000000000..909cf8928f2f4313982316f9c5b8a709 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From da337bbc4d6488e7e2c019a76c35b115ffda939f Mon Sep 17 00:00:00 2001 +From ab50413a66132bddb9ed5e617c1e9b7d9de817da Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 076/134] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 075/138] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -101613,10 +101565,10 @@ index 0000000000000000000000000000000000000000..f3d7e5db7bb912e1d7ca6f8e8d42df5f +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 6425a4b66d65405ddabd9a728a508a9c08de17f0 Mon Sep 17 00:00:00 2001 +From 6f0138a12e224666e8e03db9291119e390e42e2b Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 077/134] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 076/138] New AudioInjector.net Pi soundcard with low jitter audio in and out. Contains the sound/soc/bcm ALSA machine driver and necessary alterations to the Kconfig and Makefile. @@ -101867,10 +101819,10 @@ index 0000000000000000000000000000000000000000..ef54e0f07ea03f59e9957b5d98f3e7fd +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From 420a0501be7011cc483e59a117c1d84253ae3253 Mon Sep 17 00:00:00 2001 +From 7c2f12d87cd584a200246a858509562041c7c30b Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 078/134] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 077/138] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -102170,10 +102122,10 @@ index 0000000000000000000000000000000000000000..33aa2be8a43a12a12cfb5d844dd9732c +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From bccf55222180f5899ac499f2b0339f7b12527e4b Mon Sep 17 00:00:00 2001 +From 2ba3cc0451d42deb412f715f753b6657030d984e Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 079/134] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 078/138] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -102646,10 +102598,10 @@ index 0000000000000000000000000000000000000000..f200688bb4ae32b90a0ced555aed94b0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From f9002317442917ebd445c3f3a70aca0d6ddf9c9d Mon Sep 17 00:00:00 2001 +From c1b210515faa212a49a9d05f897f95c0dfede2e9 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 080/134] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 079/138] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -102822,10 +102774,10 @@ index 0000000000000000000000000000000000000000..65e03741d349a2dc5bd91f69855ea952 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From 1184ae3d88ed83ca48127fcdfe32b684cb4366ce Mon Sep 17 00:00:00 2001 +From 5852afb4a784edba3f72deb32b43015ffa0464e3 Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 081/134] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 080/138] Allo Piano DAC boards: Initial 2 channel (stereo) support (#1645) Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards, @@ -103032,10 +102984,10 @@ index 0000000000000000000000000000000000000000..eaf50fb6dbca1970ae1c6f8662088b0f +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From 1913487324a6c8f2321ddd6f7a338a28a0fd1955 Mon Sep 17 00:00:00 2001 +From 787199c7e2f96b691b4234b5c3604d2982ae8fed Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 082/134] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 081/138] Add support for Allo Piano DAC 2.1 plus add-on board for Raspberry Pi. The Piano DAC 2.1 has support for 4 channels with subwoofer. @@ -103780,10 +103732,10 @@ index 0000000000000000000000000000000000000000..56e43f98846b41e487b3089813f7edc3 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From 7636a70c6eaf31dbca62bca37b57514bad8ea4b3 Mon Sep 17 00:00:00 2001 +From 985ca07eaecaf07e27229a2c3b290acb0194e227 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 083/134] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 082/138] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -104486,10 +104438,10 @@ index 0000000000000000000000000000000000000000..203ab76c7045b081578e23bda1099dd1 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From 8715359a928fd3b967c634e686bba50f9ff16574 Mon Sep 17 00:00:00 2001 +From c81ec9e5752592ff68b250cfd7e342a9871212d9 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 084/134] Support for Blokas Labs pisound board +Subject: [PATCH 083/138] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) @@ -105688,10 +105640,10 @@ index 0000000000000000000000000000000000000000..06ff1e53dc9d860946965b6303577762 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From 47e32b4fb6e969d6dfb54ae28f744000311fe1cf Mon Sep 17 00:00:00 2001 +From 3b78427a4257452b05948a381a473c0a65f6dc71 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 085/134] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 084/138] ASoC: Add driver for Cirrus Logic Audio Card Note: due to problems with deferred probing of regulators the following softdep should be added to a modprobe.d file @@ -106756,10 +106708,10 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From 4e143b19b087a6dd8003b0c1b459d88e19d1cfc6 Mon Sep 17 00:00:00 2001 +From 23f1acf6e66837b9cbd63e3c8250f28abd8622c7 Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 086/134] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 085/138] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -106954,10 +106906,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From e28ea5d3f4cc3a113e3990b50298986010d3df03 Mon Sep 17 00:00:00 2001 +From 67e01e7d17c7f55a6b03778db2bc3e263eaaa9fc Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 087/134] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 086/138] Add support for Fe-Pi audio sound card. (#1867) Fe-Pi Audio Sound Card is based on NXP SGTL5000 codec. Mechanical specification of the board is the same the Raspberry Pi Zero. @@ -107171,10 +107123,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From ed01edad88a4b01a9ada97274887e4847cc87c81 Mon Sep 17 00:00:00 2001 +From 93f3bae6f80d20231f744a0dd9533d6e2e8a084a Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 088/134] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 087/138] Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset @@ -107576,10 +107528,10 @@ index 0000000000000000000000000000000000000000..dcf403ab37639ba79e38278d7e4b1ade +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From 3512ab8694fcf335c62cf0535fa972691579a8ce Mon Sep 17 00:00:00 2001 +From da32206effecb697373b5de48bf69fac36dde6cc Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 089/134] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 088/138] Driver support for Google voiceHAT soundcard. --- sound/soc/bcm/Kconfig | 7 ++ @@ -107970,10 +107922,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From b121eeed23b64d5d9f635e75751b5a3588d63664 Mon Sep 17 00:00:00 2001 +From 69a57f107f293df3f7b7ee41a8b28a2cc54452a6 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 090/134] rpi_display: add backlight driver and overlay +Subject: [PATCH 089/138] 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 @@ -108142,10 +108094,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 8c3c104f83d5a21d265abb8692fc0b915ec31e08 Mon Sep 17 00:00:00 2001 +From 2e5133f48c1cf815722477fe28e8f7fa248f4991 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 091/134] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 090/138] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -108419,10 +108371,10 @@ index 4a3d79d3b48eb483a4e4bf498f617515e3ad158f..5f34e1257117fb48013c9926a8a223d6 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From 93b3a1f4664e27cd54eb4d8b85553c4e7176bb0b Mon Sep 17 00:00:00 2001 +From 1f4250d265fdf713468488f67aa25d8f11cb6804 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 092/134] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 091/138] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -108748,10 +108700,10 @@ index 5f34e1257117fb48013c9926a8a223d64a598ab7..c819c21b0158a59c1308882e5a40e3f3 /* Dispmanx TAGS */ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, -From 043439d91b12f2fbf6cc06b8894a7ff6a6f7f6b8 Mon Sep 17 00:00:00 2001 +From 5110556546d74775de69d34ae71da4b747308910 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 093/134] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 092/138] 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 @@ -108780,10 +108732,10 @@ index 8a857bb34fbb26c6d60784d3fe7576730a9aa5b3..0afd6f3ee7e8d021d6e324915af4dc7c uap->old_cr = 0; uap->port.dev = dev; -From 833a807e2dbdea1e15e445419918348096f8bddc Mon Sep 17 00:00:00 2001 +From 7d92ec93243c053fe624e474a104b95b705873f1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 094/134] amba_pl011: Round input clock up +Subject: [PATCH 093/138] amba_pl011: Round input clock up The UART clock is initialised to be as close to the requested frequency as possible without exceeding it. Now that there is a @@ -108869,10 +108821,10 @@ index 0afd6f3ee7e8d021d6e324915af4dc7c7db56083..be4aa91bac66982b1fd9a13e9f971b3b /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -From e7087fa8090e50eeb09dfd041d45be57d4ace7a9 Mon Sep 17 00:00:00 2001 +From e63511f281c4154f35496041ab03dc3d0559438f Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 095/134] OF: DT-Overlay configfs interface +Subject: [PATCH 094/138] 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. @@ -109304,10 +109256,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From 4aaa5b2985ad761fb8f7be374033c61df1083731 Mon Sep 17 00:00:00 2001 +From ecd0912d0de1249d5daf18f981f4e8d51dbe241e Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 096/134] brcm: adds support for BCM43341 wifi +Subject: [PATCH 095/138] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -109458,10 +109410,10 @@ index fc64b8913aa6a11c0111fec3b9d900174dc250c3..fe6bfd3ba350a2459d89957d768651a6 BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -From 36a17a79b120dabcc742510b12d2d2e0ff434f48 Mon Sep 17 00:00:00 2001 +From 14557d9009cd7dc9626c286dc64e5944fa82ab98 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 097/134] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 096/138] brcmfmac: Mute expected startup 'errors' The brcmfmac WiFi driver always complains about the '00' country code. Modify the driver to ignore '00' silently. @@ -109485,10 +109437,10 @@ index 844bd80458a53e3134c8a54d3958e559c39c5551..0e3c71dc0da4c21954ab1a1b329549a1 req->alpha2[0], req->alpha2[1]); return; -From be720865d0cefb780779087cd6d7d7c3adb0c2bb Mon Sep 17 00:00:00 2001 +From 4c67cb76317bef19f63551d46f3904221fe318a0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 098/134] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 097/138] 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. @@ -109511,10 +109463,10 @@ index 90d0456b67446bcc624fab4b1542c4eaf21531b1..f9adeac3bbba6418dcca298c55706356 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 75d4851a65758685f0b45943e6ca3c0d2c535ccb Mon Sep 17 00:00:00 2001 +From f26e9bbdcc6c4674adca920ff2c513ddbcc01514 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 099/134] config: Add default configs +Subject: [PATCH 098/138] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1314 +++++++++++++++++++++++++++++++++++ @@ -112172,10 +112124,10 @@ index 0000000000000000000000000000000000000000..ace19d6f5bc04091130bd28b65ce25e8 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From 156e426810bad66c92b9036785d7bd409a78e3ab Mon Sep 17 00:00:00 2001 +From 89a79e23d30ebacfe0c452c38acae8524fa0f5fe Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 100/134] Add arm64 configuration and device tree differences. +Subject: [PATCH 099/138] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -113589,10 +113541,10 @@ index 0000000000000000000000000000000000000000..e6b09fafa27eed2b762e3d53b55041f7 +CONFIG_LIBCRC32C=y +CONFIG_BCM2835_VCHIQ=n -From 34288242eca9ccdc18ea111c09b0fde8381632c0 Mon Sep 17 00:00:00 2001 +From 920cdbadd13908fa72b953e49ead286f59cb91bb Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 101/134] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 100/138] ARM64: Make it work again on 4.9 (#1790) * Invoke the dtc compiler with the same options used in arm mode. * ARM64 now uses the bcm2835 platform just like ARM32. @@ -113995,10 +113947,10 @@ index e6b09fafa27eed2b762e3d53b55041f793683d27..c7e891d72969a388d9b135a36dbfc9c9 CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -From 64107fc00b05535cbf16a0413102d63051e92752 Mon Sep 17 00:00:00 2001 +From cfde0146b14fdd3d0d5b29f435f5dde1720a1467 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:10:07 -0800 -Subject: [PATCH 102/134] ARM64: Enable HDMI audio and vc04_services in +Subject: [PATCH 101/138] ARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig Signed-off-by: Michael Zoran @@ -114027,10 +113979,10 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..4b90f9b64abe9f089ba56b13d5a00de3 CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set -From e3b54390f9c4d857d8a756efb262c93a2d1affc4 Mon Sep 17 00:00:00 2001 +From 357d032cb4351f367c230720f100aebee3c80a9b Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:14:03 -0800 -Subject: [PATCH 103/134] ARM64: Run bcmrpi3_defconfig through savedefconfig. +Subject: [PATCH 102/138] ARM64: Run bcmrpi3_defconfig through savedefconfig. Signed-off-by: Michael Zoran --- @@ -114075,10 +114027,10 @@ index 4b90f9b64abe9f089ba56b13d5a00de33343bfb9..dac962ca1634662ce7d966f1ffb53b5b CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m -From 6062f5de07513f58cc95ce2e10a1deab1e6e387b Mon Sep 17 00:00:00 2001 +From 10c1fe3492d2010117b17189f073a07c10aa1fca Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 104/134] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 103/138] ARM64: Enable Kernel Address Space Randomization (#1792) Randomization allows the mapping between virtual addresses and physical @@ -114110,10 +114062,10 @@ index dac962ca1634662ce7d966f1ffb53b5bfa27c506..aae33b4b3c3e736ea7cd3ca242158ad6 CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From 57f25b247a910ba2b8cf8df6b392877c01ea1880 Mon Sep 17 00:00:00 2001 +From 85f0f70754cd3501b73138c6af59ae79a746f011 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 105/134] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 104/138] ARM64: Enable RTL8187/RTL8192CU wifi in build config These drivers build now, so they can be enabled back in the build configuration just like they are for @@ -114138,10 +114090,10 @@ index aae33b4b3c3e736ea7cd3ca242158ad6ba558aff..b7d762df19b85e369a32cd823dfd0621 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From eb2ff297aba6ead0a2ef326a5f0d2717bc5b63ea Mon Sep 17 00:00:00 2001 +From da471af23ea806551ae958c71a7a03b8130bb974 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 106/134] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 105/138] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 In ARM64, the FIQ mechanism used by this driver is not current implemented. As a workaround, reqular IRQ is used instead @@ -114484,10 +114436,10 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From 506fd947e46e8665d6e51ce217265a665a11602c Mon Sep 17 00:00:00 2001 +From 184e66185b0fd426fc4939c7ba30a8400210c431 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 107/134] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 106/138] ARM64: Round-Robin dispatch IRQs between CPUs. IRQ-CPU mapping is round robined on ARM64 to increase concurrency and allow multiple interrupts to be serviced @@ -114561,10 +114513,10 @@ index c4e151451cf8c8ebde5225515eac2786d6f61d46..9a7ee04ee0d9b7aa734cf3159ed59c19 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From 9f8a6d0f2fc7283eae2fbb3e23ea9cf6ab09d074 Mon Sep 17 00:00:00 2001 +From f8ccd56fd143914c926201d256a4c038ed1d34fc Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 108/134] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 107/138] ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran @@ -114585,10 +114537,10 @@ index b7d762df19b85e369a32cd823dfd062145bdefa7..4d85c231c5ea0244e1b05fb4a5e3c8fd CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From c91f45839c13fd0c214509cb0e5b4689e5950671 Mon Sep 17 00:00:00 2001 +From ae1b0fe98682e79fc733effbb511305cb872d9ab Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 109/134] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 108/138] ARM64: Force hardware emulation of deprecated instructions. --- @@ -114616,10 +114568,10 @@ index f0e6d717885b1fcf3b22f64c10c38f19c25f809d..0cb830d30fb6d2bd26ab572efe893649 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -From 37d7ce51746684ccd5ec9dc08d20d2e21d94866b Mon Sep 17 00:00:00 2001 +From e23f01e0de13c9d24f6588d10fc31ef4faadadeb Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 110/134] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 109/138] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -114644,10 +114596,10 @@ index f839ecd919f934c54a73d8e9f8179aff3d3cba26..a4010b3cc8ef11d449bcff8018522667 dtbs: prepare scripts -From 137be81a46763dd4c8bd071d7191dd4d26e5cf30 Mon Sep 17 00:00:00 2001 +From af1b446c2ec2105754d00100bd47ad395c7e36db Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 111/134] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 110/138] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -114685,10 +114637,10 @@ index 39f72da6ba1f6ec6ec41d5dc1bf46344aab008da..fe3298b54cdfb96bd90fb4f39e13921d * rate changes on at least of the parents. */ -From 87731386a16961ecc8d599608ed473b86b5fa0f4 Mon Sep 17 00:00:00 2001 +From 38b475a3f866f1d2717c4b89176e080a71ca22fa Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 112/134] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 111/138] pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53 Contrary to the documentation, the BCM2835 GPIO controller actually has @@ -114721,10 +114673,10 @@ index 6351fe7f8e314ac5ebb102dd20847b383fd5b857..28745af5aadf3cb91fa7ff39118385c3 }, }; -From 50c1a2e2cb0dc9c572c69f42657a83b4e33ca3f7 Mon Sep 17 00:00:00 2001 +From c9bdbebebbb6016ba3bf80a6aba584bfb4e44872 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 113/134] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 112/138] ASoC: Add prompt for ICS43432 codec Without a prompt string, a config setting can't be included in a defconfig. Give CONFIG_SND_SOC_ICS43432 a prompt so that Pi soundcards @@ -114749,10 +114701,10 @@ index adf3b7b75e303430d6a03a2b457d389596f39c1a..ba4a36dd0196e8eece5e22ad6717c189 config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From e31bf57f91f41b06d092fc0093b464ca1f6b01b3 Mon Sep 17 00:00:00 2001 +From e5ed4750aa24c06c4c54f4daa839b5004cb5a975 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 114/134] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 113/138] bcm2835-aux: Add aux interrupt controller The AUX block has a shared interrupt line with a register indicating which devices have active IRQs. Expose this as a nested interrupt @@ -114916,10 +114868,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From 0c93163f0b638831d331b8284eb43396c38305b6 Mon Sep 17 00:00:00 2001 +From 9f0ae40ca5f96e15eee99b14ea776fb430019eba Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 29 Apr 2016 10:32:17 -0700 -Subject: [PATCH 115/134] mmc: read mmc alias from device tree +Subject: [PATCH 114/138] mmc: read mmc alias from device tree To get the SD/MMC host device ID, read the alias from the device tree. @@ -114976,10 +114928,10 @@ index 3f8c85d5aa094b43666904c7dbbe5e62c9763c19..4dbd0e8e27a496bfbe67d188cf795ecc kfree(host); return NULL; -From 2d57e1d93c7596058a6f08f21ce74b45f54a4f5d Mon Sep 17 00:00:00 2001 +From c8c234082c1947dc0bbd24dd80a18401a5dd0459 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2016 12:50:33 +0100 -Subject: [PATCH 116/134] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards +Subject: [PATCH 115/138] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards Some SD cards have been found that corrupt data when small blocks are erased. Add a quirk to indicate that ERASE should not be used, @@ -115119,10 +115071,10 @@ index aad015e0152b7f1d32f92c500825b723498d1be9..d44a9c84a90a02388c05a427814fb8fc unsigned int erase_size; /* erase size in sectors */ -From 617bafcff4a60b78c02f14f1908902db7502d91a Mon Sep 17 00:00:00 2001 +From 713e03f2cf51f1b8dd0cbcb03ffa21f6dd97d229 Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 117/134] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 116/138] This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator. It includes the CXD2880 driver and the CXD2880 SPI adapter. The current CXD2880 driver version is 1.4.1 - 1.0.1 released on April 13, 2017. @@ -131254,10 +131206,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From c5645e6290ba3b38fd6e72f961b253d010e33714 Mon Sep 17 00:00:00 2001 +From a8c8ae7ea4e0469394b976ed043cae2e04a7de02 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:18:09 +0100 -Subject: [PATCH 118/134] raspberrypi-firmware: Define the MBOX channel in the +Subject: [PATCH 117/138] raspberrypi-firmware: Define the MBOX channel in the header. Signed-off-by: Eric Anholt @@ -131279,10 +131231,10 @@ index c819c21b0158a59c1308882e5a40e3f3fe73cbdf..de2a3dcd562beb752266eaf0070e5586 enum rpi_firmware_property_status { -From 374b27bc790642e431596320ff2b2a2ebf418ca5 Mon Sep 17 00:00:00 2001 +From a287bf2f30d594f2b472b4947711072a3752659c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 119/134] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 118/138] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -131326,10 +131278,10 @@ index de2a3dcd562beb752266eaf0070e55861d553f5f..dc7fd58afd5dddebf9b17065bb069a1d #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From 1bd16b096644cbb6cb0f57543b34f89175f4d166 Mon Sep 17 00:00:00 2001 +From c37d535778e57f981239490f3a6226a44b08da36 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 120/134] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 119/138] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt @@ -132102,10 +132054,10 @@ index 0000000000000000000000000000000000000000..1e09980c61a91246156c4ab661c03779 + }, +}; -From d25b18dc18acfd66d367bf29b5dec9fc17cc8e1a Mon Sep 17 00:00:00 2001 +From 7ab434923076414e0c7ecfb77f221559ab742403 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 121/134] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 120/138] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. @@ -132129,10 +132081,10 @@ index 1e09980c61a91246156c4ab661c03779baa1fc97..174a2f90c5bd78798ed47cca243b68a9 if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From bed4aacf7045c0c45e05f9fcf61d7d00008d5b1a Mon Sep 17 00:00:00 2001 +From 781356cf3f4c229b2475c66ebae21a89b8953b37 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 122/134] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 121/138] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was @@ -132202,10 +132154,10 @@ index 174a2f90c5bd78798ed47cca243b68a968e6e735..611a3c6d622deb9b511fe70c363d201b RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From ee8a77d112711673bc90e43f659c7099b4963977 Mon Sep 17 00:00:00 2001 +From 4509950c00fd9fdc628d389e84c0c1b35319e6d5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 123/134] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 122/138] drm/vc4: Fix sending of page flip completion events in FKMS mode. In the rewrite of vc4_crtc.c for fkms, I dropped the part of the @@ -132247,10 +132199,10 @@ index 611a3c6d622deb9b511fe70c363d201b091c414a..eb97443533c5a8fb5e142541adb1165b static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From e5fa50e219df7aabf415f172b65f6273da43b46b Mon Sep 17 00:00:00 2001 +From b7f699bc16d6fd8f0cc2ea786bb3b07575fc8484 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 124/134] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH 123/138] vc4_fkms: Apply firmware overscan offset to hardware cursor --- @@ -132307,10 +132259,10 @@ index eb97443533c5a8fb5e142541adb1165b55e32aea..aa0ab7bcd904b775f64045c4d5baf39a return 0; -From 79c9e731dedef00608ecbfab8f0d958afe926128 Mon Sep 17 00:00:00 2001 +From d9d687bf184a801f395690bd7389be53ad74ad4c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 15 May 2017 09:28:36 -0700 -Subject: [PATCH 125/134] drm/vc4: Mark the device as active when enabling +Subject: [PATCH 124/138] drm/vc4: Mark the device as active when enabling runtime PM. Failing to do so meant that we got a resume() callback on first use of @@ -132336,10 +132288,10 @@ index 7cc346ad9b0baed63701d1fae8f0306aa7713129..c82326ff994d03719a66d42f8f9ac0e2 pm_runtime_set_autosuspend_delay(dev, 40); /* a little over 2 frames. */ pm_runtime_enable(dev); -From 81b4c921a67ed9362a990a9ee9e49c48903789df Mon Sep 17 00:00:00 2001 +From 7fa1571e047eac343ae44a268983422d32e88f06 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 16 May 2017 14:39:49 +0100 -Subject: [PATCH 126/134] mmc: Change downstream MMC driver CONFIG option +Subject: [PATCH 125/138] mmc: Change downstream MMC driver CONFIG option The upstream SDHOST driver has now claimed CONFIG_MMC_BCM2835, which clashes with the downstream MMC driver. Rename the downstream option to @@ -132387,10 +132339,10 @@ index f4b8951af214fd0b0392d4fb38b29a0b41c7340e..d352fabf6b61c803fef3e10f974214bf obj-$(CONFIG_MMC_WBSD) += wbsd.o obj-$(CONFIG_MMC_AU1X) += au1xmmc.o -From 9ac1b87065ff7ab130a3c14866ec91687ffd3d79 Mon Sep 17 00:00:00 2001 +From 1fe5b6ac8eee33a3ba6640b83645e35c29ec33da Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 16 May 2017 19:34:52 +0100 -Subject: [PATCH 127/134] config: Add CONFIG_I2C_ROBOTFUZZ_OSIF +Subject: [PATCH 126/138] config: Add CONFIG_I2C_ROBOTFUZZ_OSIF --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132422,10 +132374,10 @@ index ace19d6f5bc04091130bd28b65ce25e863117a43..17952377907afac28fd982ca2f910206 CONFIG_SPI_BCM2835=m CONFIG_SPI_BCM2835AUX=m -From eb7c240dc101bc8fdd76e59ad5957b89c1d14a8b Mon Sep 17 00:00:00 2001 +From 1b5dfe1870af7d0e03d4af8dd79560ac366d845a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 18 May 2017 11:40:43 +0100 -Subject: [PATCH 128/134] config: Add FB_TFT_ST7789V module +Subject: [PATCH 127/138] config: Add FB_TFT_ST7789V module --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132457,10 +132409,10 @@ index 17952377907afac28fd982ca2f9102067a062d6e..ef7bfc431c43eec6deb7c52e8cdac317 CONFIG_FB_TFT_TLS8204=m CONFIG_FB_TFT_UC1701=m -From 1ae29fb7999bcb07609c20d7ee3f287764c56340 Mon Sep 17 00:00:00 2001 +From a131f322f79922c179639810ae374ee4d9e3fcb1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:30:18 +0100 -Subject: [PATCH 129/134] ARM: dts: bcm283x: Reserve first page for firmware +Subject: [PATCH 128/138] ARM: dts: bcm283x: Reserve first page for firmware The Raspberry Pi startup stub files for multi-core BCM27XX processors make the secondary CPUs spin until the corresponding mailbox is @@ -132507,10 +132459,10 @@ index dae54df8dfc945962cf6f0680159e8d369142ab0..3fde8a3d24c2dea123c6c741f16b8677 * bcm2835 and bcm2836 implementations, leaving the CPU configuration to * bcm2835.dtsi and bcm2836.dtsi. -From 347a76682f6f9d2b607982eb205577c6ce38f2f6 Mon Sep 17 00:00:00 2001 +From f64a430aee7b22bc7cf9f5af21b8f45bc9eb038c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 18 May 2017 15:36:46 +0100 -Subject: [PATCH 130/134] staging: bcm2835-audio: Fix memory corruption +Subject: [PATCH 129/138] staging: bcm2835-audio: Fix memory corruption I'm all for fixing memory leaks, but freeing a block while it is still being used is a recipe for hard-to-debug kernel exeptions. @@ -132545,10 +132497,10 @@ index 5f3d8f2339e34834d11edfa8de1d5819e3e32b4f..89f96f3c02805f4114ec9b488e18d00e return ret; } -From c841a92f697a659fe8a78c5b8548382de3e703e9 Mon Sep 17 00:00:00 2001 +From e11a323562ee85101bb5546fab8ab924fc3f043a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 15 May 2017 16:40:05 +0100 -Subject: [PATCH 131/134] config: Add CONFIG_TOUCHSCREEN_GOODIX +Subject: [PATCH 130/138] config: Add CONFIG_TOUCHSCREEN_GOODIX --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132580,10 +132532,10 @@ index ef7bfc431c43eec6deb7c52e8cdac31794ccccbe..573cbd71ca0990b7a7e48fa3bbc98eec CONFIG_TOUCHSCREEN_RPI_FT5406=m CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -From 637d33d715b013eab3fd385a793cffd0c3f17a40 Mon Sep 17 00:00:00 2001 +From 6d4d49595581d6dbead7003588e88b6da738dc14 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 16 May 2017 15:58:00 +0100 -Subject: [PATCH 132/134] config: Add CONFIG_TOUCHSCREEN_EDT_FT5X06 +Subject: [PATCH 131/138] config: Add CONFIG_TOUCHSCREEN_EDT_FT5X06 --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132615,10 +132567,10 @@ index 573cbd71ca0990b7a7e48fa3bbc98eec2d3d776f..6c4d62cdea7e4ed642e265861c6f1c1a CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m -From f087e354642b53ed764a0a3d39241cab3d2fbb8b Mon Sep 17 00:00:00 2001 +From f4feeabdb39080e464b93397b2d2c922488955c4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 May 2017 13:35:28 +0100 -Subject: [PATCH 133/134] config: Add CONFIG_IPV6_SIT_6RD +Subject: [PATCH 132/138] config: Add CONFIG_IPV6_SIT_6RD --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132650,10 +132602,10 @@ index 6c4d62cdea7e4ed642e265861c6f1c1a964e331c..676dfebfbab8f1cba521bc032b8d2137 CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y -From 6eb651c59852a50342ace0bf671fdb01f3ca92df Mon Sep 17 00:00:00 2001 +From eeb2a23afc4a8a620a166459dfdfd3275f857b30 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 May 2017 15:28:27 +0100 -Subject: [PATCH 134/134] config: Add CONFIG_IPV6_ROUTE_INFO +Subject: [PATCH 133/138] config: Add CONFIG_IPV6_ROUTE_INFO --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132684,3 +132636,496 @@ index 676dfebfbab8f1cba521bc032b8d21371c38abfa..4ae560370a972b9c56e8af38a537b1db CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m + +From bf5e5212f6c16a47c2be4cb6e5d948f634d50bed Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 26 Apr 2017 17:28:47 +0100 +Subject: [PATCH 134/138] clk: bcm2835: Limit PCM clock to OSC and PLLD_PER + +It is unwise to use sources other than the oscillator and PLLD_PER for +the PCM peripheral (and perhaps others - TBD) because their rate can +change and they may even be switched off, so explicitly restrict the +choice using dummy entries in the list of potential parents (item index +is significant). + +See: https://github.com/raspberrypi/linux/issues/1949 + +Signed-off-by: Phil Elwell +--- + drivers/clk/bcm/clk-bcm2835.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index fe3298b54cdfb96bd90fb4f39e13921d2e1d4356..c24b4defb2b046e4ecdc109befc2b22497060647 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -1562,6 +1562,16 @@ static const char *const bcm2835_clock_per_parents[] = { + "pllh_aux", + }; + ++static const char *const bcm2835_pcm_per_parents[] = { ++ "-", ++ "xosc", ++ "-", ++ "-", ++ "-", ++ "-", ++ "plld_per", ++}; ++ + #define REGISTER_PER_CLK(...) REGISTER_CLK( \ + .num_mux_parents = ARRAY_SIZE(bcm2835_clock_per_parents), \ + .parents = bcm2835_clock_per_parents, \ +@@ -2051,6 +2061,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { + .int_bits = 12, + .frac_bits = 12, + .is_mash_clock = true, ++ .parents = bcm2835_pcm_per_parents, + .tcnt_mux = 23), + [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( + .name = "pwm", + +From 990d52e2371fbd1ec675eba03aa24909800938cd Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 22 May 2017 13:56:41 +0100 +Subject: [PATCH 135/138] clk: bcm2835: Minimise clock jitter for PCM clock + +Fractional clock dividers generate accurate average frequencies but +with jitter, particularly when the integer divisor is small. + +Introduce a new metric of clock accuracy to penalise clocks with a good +average but worse jitter compared to clocks with an average which is no +better but with lower jitter. The metric is the ideal rate minus the +worse deviation from that ideal using the nearest integer divisors. + +Use this metric for parent selection for clocks requiring low jitter +(currently just PCM). + +Signed-off-by: Phil Elwell +--- + drivers/clk/bcm/clk-bcm2835.c | 39 ++++++++++++++++++++++++++++++++++----- + 1 file changed, 34 insertions(+), 5 deletions(-) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index c24b4defb2b046e4ecdc109befc2b22497060647..db3ba74acf78f4dfec0d2206b58bc7c3a09f72fe 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -534,6 +534,7 @@ struct bcm2835_clock_data { + + bool is_vpu_clock; + bool is_mash_clock; ++ bool low_jitter; + + u32 tcnt_mux; + }; +@@ -1154,7 +1155,8 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, + int parent_idx, + unsigned long rate, + u32 *div, +- unsigned long *prate) ++ unsigned long *prate, ++ unsigned long *avgrate) + { + struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); + struct bcm2835_cprman *cprman = clock->cprman; +@@ -1166,11 +1168,33 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, + parent = clk_hw_get_parent_by_index(hw, parent_idx); + + if (!(BIT(parent_idx) & data->set_rate_parent)) { ++ unsigned long tmp_rate; ++ + *prate = clk_hw_get_rate(parent); + *div = bcm2835_clock_choose_div(hw, rate, *prate, true); + +- return bcm2835_clock_rate_from_divisor(clock, *prate, +- *div); ++ tmp_rate = bcm2835_clock_rate_from_divisor(clock, *prate, *div); ++ *avgrate = tmp_rate; ++ ++ if (data->low_jitter && (*div & CM_DIV_FRAC_MASK)) { ++ unsigned long high, low; ++ u32 idiv = *div & ~CM_DIV_FRAC_MASK; ++ ++ high = bcm2835_clock_rate_from_divisor(clock, *prate, ++ idiv); ++ idiv += CM_DIV_FRAC_MASK + 1; ++ low = bcm2835_clock_rate_from_divisor(clock, *prate, ++ idiv); ++ ++ /* Return a value which is the maximum deviation ++ * below the ideal rate, for use as a metric. ++ */ ++ if ((tmp_rate - low) < (high - tmp_rate)) ++ tmp_rate = low; ++ else ++ tmp_rate -= high - tmp_rate; ++ } ++ return tmp_rate; + } + + if (data->frac_bits) +@@ -1197,6 +1221,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, + + *div = curdiv << CM_DIV_FRAC_BITS; + *prate = curdiv * best_rate; ++ *avgrate = best_rate; + + return best_rate; + } +@@ -1208,6 +1233,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, + bool current_parent_is_pllc; + unsigned long rate, best_rate = 0; + unsigned long prate, best_prate = 0; ++ unsigned long avgrate, best_avgrate = 0; + size_t i; + u32 div; + +@@ -1232,11 +1258,13 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, + continue; + + rate = bcm2835_clock_choose_div_and_prate(hw, i, req->rate, +- &div, &prate); ++ &div, &prate, ++ &avgrate); + if (rate > best_rate && rate <= req->rate) { + best_parent = parent; + best_prate = prate; + best_rate = rate; ++ best_avgrate = avgrate; + } + } + +@@ -1246,7 +1274,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, + req->best_parent_hw = best_parent; + req->best_parent_rate = best_prate; + +- req->rate = best_rate; ++ req->rate = best_avgrate; + + return 0; + } +@@ -2061,6 +2089,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { + .int_bits = 12, + .frac_bits = 12, + .is_mash_clock = true, ++ .low_jitter = true, + .parents = bcm2835_pcm_per_parents, + .tcnt_mux = 23), + [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( + +From d19a4baf690a8a00e2779952153d5a3b315f459d Mon Sep 17 00:00:00 2001 +From: P33M +Date: Thu, 25 May 2017 16:04:53 +0100 +Subject: [PATCH 136/138] dwc_otg: make periodic scheduling behave properly for + FS buses + +If the root port is in full-speed mode, transfer times at 12mbit/s +would be calculated but matched against high-speed quotas. + +Reinitialise hcd->frame_usecs[i] on each port enable event so that +full-speed bandwidth can be tracked sensibly. + +Also, don't bother using the FIQ for transfers when in full-speed +mode - at the slower bus speed, interrupt frequency is reduced by +an order of magnitude. + +Related issue: https://github.com/raspberrypi/linux/issues/2020 +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 15 ++++++++++----- + drivers/usb/host/dwc_otg/dwc_otg_hcd.h | 7 +++++-- + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 4 ++++ + drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c | 19 ++++++++++++------- + 4 files changed, 31 insertions(+), 14 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index a2dc6337836b2719f4c954edeeb2a71301931b04..38bf5fc792d32352f9e208e0e90f968599b9bc31 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -926,8 +926,6 @@ static void dwc_otg_hcd_free(dwc_otg_hcd_t * dwc_otg_hcd) + DWC_FREE(dwc_otg_hcd); + } + +-int init_hcd_usecs(dwc_otg_hcd_t *_hcd); +- + int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if) + { + struct device *dev = dwc_otg_hcd_to_dev(hcd); +@@ -1429,6 +1427,7 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) + + /** + * fiq_fsm_transaction_suitable() - Test a QH for compatibility with the FIQ ++ * @hcd: Pointer to the dwc_otg_hcd struct + * @qh: pointer to the endpoint's queue head + * + * Transaction start/end control flow is grafted onto the existing dwc_otg +@@ -1438,8 +1437,14 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) + * Returns: 0 for unsuitable, 1 implies the FIQ can be enabled for this transaction. + */ + +-int fiq_fsm_transaction_suitable(dwc_otg_qh_t *qh) ++int fiq_fsm_transaction_suitable(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh) + { ++ /* There is little benefit in using the FIQ to perform transfers if ++ * the root port is not in high-speed mode. ++ */ ++ if (hcd->flags.b.port_speed != DWC_HPRT0_PRTSPD_HIGH_SPEED) ++ return 0; ++ + if (qh->do_split) { + switch (qh->ep_type) { + case UE_CONTROL: +@@ -2218,7 +2223,7 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd) + continue; + } + +- if (fiq_fsm_enable && fiq_fsm_transaction_suitable(qh)) { ++ if (fiq_fsm_enable && fiq_fsm_transaction_suitable(hcd, qh)) { + if (qh->do_split) + fiq_fsm_queue_split_transaction(hcd, qh); + else +@@ -2355,7 +2360,7 @@ static void process_non_periodic_channels(dwc_otg_hcd_t * hcd) + qh = DWC_LIST_ENTRY(hcd->non_periodic_qh_ptr, dwc_otg_qh_t, + qh_list_entry); + +- if(fiq_fsm_enable && fiq_fsm_transaction_suitable(qh)) { ++ if(fiq_fsm_enable && fiq_fsm_transaction_suitable(hcd, qh)) { + fiq_fsm_queue_split_transaction(hcd, qh); + } else { + status = queue_transaction(hcd, qh->channel, +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +index 7f7e9eaffd6a3c3d898855562fbec11289f77f53..5ed8dccf03959a610849aa6c8946ca745dbae207 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +@@ -410,7 +410,8 @@ struct dwc_otg_hcd { + unsigned port_suspend_change:1; + unsigned port_over_current_change:1; + unsigned port_l1_change:1; +- unsigned reserved:26; ++ unsigned port_speed:2; ++ unsigned reserved:24; + } b; + } flags; + +@@ -629,7 +630,7 @@ int dwc_otg_hcd_allocate_port(dwc_otg_hcd_t * hcd, dwc_otg_qh_t *qh); + void dwc_otg_hcd_release_port(dwc_otg_hcd_t * dwc_otg_hcd, dwc_otg_qh_t *qh); + + extern int fiq_fsm_queue_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh); +-extern int fiq_fsm_transaction_suitable(dwc_otg_qh_t *qh); ++extern int fiq_fsm_transaction_suitable(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh); + extern void dwc_otg_cleanup_fiq_channel(dwc_otg_hcd_t *hcd, uint32_t num); + + /** @} */ +@@ -823,6 +824,8 @@ static inline uint16_t dwc_micro_frame_num(uint16_t frame) + return frame & 0x7; + } + ++extern void init_hcd_usecs(dwc_otg_hcd_t *_hcd); ++ + void dwc_otg_hcd_save_data_toggle(dwc_hc_t * hc, + dwc_otg_hc_regs_t * hc_regs, + dwc_otg_qtd_t * qtd); +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index a4355afc77b68718fdaba6c5d4be257dadc75036..c8f52709a7d24974c0a38dcf1708f91073e96b0e 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -515,6 +515,10 @@ int32_t dwc_otg_hcd_handle_port_intr(dwc_otg_hcd_t * dwc_otg_hcd) + dwc_otg_host_if_t *host_if = + dwc_otg_hcd->core_if->host_if; + ++ dwc_otg_hcd->flags.b.port_speed = hprt0.b.prtspd; ++ if (microframe_schedule) ++ init_hcd_usecs(dwc_otg_hcd); ++ + /* Every time when port enables calculate + * HFIR.FrInterval + */ +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c +index 85a6d431ca54b47dc10573aa72d1ad69d06f2e36..4b1dd9de99e9e08b2e006fb5f8a7ef92f20c2553 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c +@@ -408,13 +408,17 @@ const unsigned short max_uframe_usecs[]={ 100, 100, 100, 100, 100, 100, 30, 0 }; + /* + * called from dwc_otg_hcd.c:dwc_otg_hcd_init + */ +-int init_hcd_usecs(dwc_otg_hcd_t *_hcd) ++void init_hcd_usecs(dwc_otg_hcd_t *_hcd) + { + int i; +- for (i=0; i<8; i++) { +- _hcd->frame_usecs[i] = max_uframe_usecs[i]; ++ if (_hcd->flags.b.port_speed == DWC_HPRT0_PRTSPD_FULL_SPEED) { ++ _hcd->frame_usecs[0] = 900; ++ for (i = 1; i < 8; i++) ++ _hcd->frame_usecs[i] = 0; ++ } else { ++ for (i = 0; i < 8; i++) ++ _hcd->frame_usecs[i] = max_uframe_usecs[i]; + } +- return 0; + } + + static int find_single_uframe(dwc_otg_hcd_t * _hcd, dwc_otg_qh_t * _qh) +@@ -541,8 +545,9 @@ static int find_uframe(dwc_otg_hcd_t * _hcd, dwc_otg_qh_t * _qh) + int ret; + ret = -1; + +- if (_qh->speed == USB_SPEED_HIGH) { +- /* if this is a hs transaction we need a full frame */ ++ if (_qh->speed == USB_SPEED_HIGH || ++ _hcd->flags.b.port_speed == DWC_HPRT0_PRTSPD_FULL_SPEED) { ++ /* if this is a hs transaction we need a full frame - or account for FS usecs */ + ret = find_single_uframe(_hcd, _qh); + } else { + /* if this is a fs transaction we may need a sequence of frames */ +@@ -627,7 +632,7 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) + if (status) { + DWC_INFO("%s: Insufficient periodic bandwidth for " + "periodic transfer.\n", __func__); +- return status; ++ return -DWC_E_NO_SPACE; + } + status = check_max_xfer_size(hcd, qh); + if (status) { + +From 24d4251216506b32bf79ca89713bf77d7421f32b Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 19 May 2017 16:07:23 +0100 +Subject: [PATCH 137/138] serial: 8250: Add CAP_MINI, set for bcm2835aux + +commit d087e7a991f1f61ee2c07db1be7c5cc2aa373f5d upstream. + +The AUX/mini-UART in the BCM2835 family of procesors is a cut-down +8250 clone. In particular it is lacking support for the following +features: CSTOPB PARENB PARODD CMSPAR CS5 CS6 + +Add a new capability (UART_CAP_MINI) that exposes the restrictions to +the user of the termios API by turning off the unsupported features in +the request. + +N.B. It is almost possible to automatically discover the missing +features by reading back the LCR register, but the CSIZE bits don't +cooperate (contrary to the documentation, both bits are significant, +but CS5 and CS6 are mapped to CS7) and the code is much longer. + +See: https://github.com/raspberrypi/linux/issues/1561 + +Signed-off-by: Phil Elwell +Acked-by: Eric Anholt +Signed-off-by: Greg Kroah-Hartman +--- + drivers/tty/serial/8250/8250.h | 3 +++ + drivers/tty/serial/8250/8250_bcm2835aux.c | 2 +- + drivers/tty/serial/8250/8250_port.c | 6 ++++++ + 3 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h +index ce8d4ffcc425b045377305f176aa8fa85af0068f..b2bdc35f74955fe134606ad9103811d227de8abf 100644 +--- a/drivers/tty/serial/8250/8250.h ++++ b/drivers/tty/serial/8250/8250.h +@@ -81,6 +81,9 @@ struct serial8250_config { + #define UART_CAP_HFIFO (1 << 14) /* UART has a "hidden" FIFO */ + #define UART_CAP_RPM (1 << 15) /* Runtime PM is active while idle */ + #define UART_CAP_IRDA (1 << 16) /* UART supports IrDA line discipline */ ++#define UART_CAP_MINI (1 << 17) /* Mini UART on BCM283X family lacks: ++ * STOP PARITY EPAR SPAR WLEN5 WLEN6 ++ */ + + #define UART_BUG_QUOT (1 << 0) /* UART has buggy quot LSB */ + #define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ +diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c +index e10f1244409b344b850ffbbd4af5757a66c875f1..a23c7da42ea81342efc26fb35a92a69d535b7cd0 100644 +--- a/drivers/tty/serial/8250/8250_bcm2835aux.c ++++ b/drivers/tty/serial/8250/8250_bcm2835aux.c +@@ -39,7 +39,7 @@ static int bcm2835aux_serial_probe(struct platform_device *pdev) + + /* initialize data */ + spin_lock_init(&data->uart.port.lock); +- data->uart.capabilities = UART_CAP_FIFO; ++ data->uart.capabilities = UART_CAP_FIFO | UART_CAP_MINI; + data->uart.port.dev = &pdev->dev; + data->uart.port.regshift = 2; + data->uart.port.type = PORT_16550; +diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c +index 68fd045a7025047726860547ecd661b95d61ac80..af954e278d78002cc5d07086dcc69608ac3019ee 100644 +--- a/drivers/tty/serial/8250/8250_port.c ++++ b/drivers/tty/serial/8250/8250_port.c +@@ -2585,6 +2585,12 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, + unsigned long flags; + unsigned int baud, quot, frac = 0; + ++ if (up->capabilities & UART_CAP_MINI) { ++ termios->c_cflag &= ~(CSTOPB | PARENB | PARODD | CMSPAR); ++ if ((termios->c_cflag & CSIZE) == CS5 || ++ (termios->c_cflag & CSIZE) == CS6) ++ termios->c_cflag = (termios->c_cflag & ~CSIZE) | CS7; ++ } + cval = serial8250_compute_lcr(up, termios->c_cflag); + + baud = serial8250_get_baud_rate(port, termios, old); + +From 75ebe239fe51658df1c93fc65897cd69e61f3277 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Fri, 26 May 2017 12:50:31 +0100 +Subject: [PATCH 138/138] dwc_otg: fiq_fsm: Make isochronous compatibility + checks work properly + +Get rid of the spammy printk and local pointer mangling. +Also, there is a nominal benefit for using fiq_fsm for isochronous +transfers in FS mode (~1.1k IRQs per second vs 2.1k IRQs per second) +so remove the root port speed check. +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 24 ++++++------------------ + 1 file changed, 6 insertions(+), 18 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 38bf5fc792d32352f9e208e0e90f968599b9bc31..71834cf365e67d7ad995bba7869216c4091c3a74 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -1439,12 +1439,6 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) + + int fiq_fsm_transaction_suitable(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh) + { +- /* There is little benefit in using the FIQ to perform transfers if +- * the root port is not in high-speed mode. +- */ +- if (hcd->flags.b.port_speed != DWC_HPRT0_PRTSPD_HIGH_SPEED) +- return 0; +- + if (qh->do_split) { + switch (qh->ep_type) { + case UE_CONTROL: +@@ -1462,28 +1456,22 @@ int fiq_fsm_transaction_suitable(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh) + } + } else if (qh->ep_type == UE_ISOCHRONOUS) { + if (fiq_fsm_mask & (1 << 2)) { +- /* HS ISOCH support. We test for compatibility: ++ /* ISOCH support. We test for compatibility: + * - DWORD aligned buffers + * - Must be at least 2 transfers (otherwise pointless to use the FIQ) + * If yes, then the fsm enqueue function will handle the state machine setup. + */ + dwc_otg_qtd_t *qtd = DWC_CIRCLEQ_FIRST(&qh->qtd_list); + dwc_otg_hcd_urb_t *urb = qtd->urb; +- struct dwc_otg_hcd_iso_packet_desc (*iso_descs)[0] = &urb->iso_descs; +- int nr_iso_frames = urb->packet_count; ++ dwc_dma_t ptr; + int i; +- uint32_t ptr; + +- if (nr_iso_frames < 2) ++ if (urb->packet_count < 2) + return 0; +- for (i = 0; i < nr_iso_frames; i++) { +- ptr = urb->dma + iso_descs[i]->offset; +- if (ptr & 0x3) { +- printk_ratelimited("%s: Non-Dword aligned isochronous frame offset." +- " Cannot queue FIQ-accelerated transfer to device %d endpoint %d\n", +- __FUNCTION__, qh->channel->dev_addr, qh->channel->ep_num); ++ for (i = 0; i < urb->packet_count; i++) { ++ ptr = urb->dma + urb->iso_descs[i].offset; ++ if (ptr & 0x3) + return 0; +- } + } + return 1; + }