diff --git a/.raspberrypi2.metadata b/.raspberrypi2.metadata index 3f5abc1..2eb1190 100644 --- a/.raspberrypi2.metadata +++ b/.raspberrypi2.metadata @@ -1,3 +1,3 @@ be0b909f1fbb760cc2d5cf146e1da3b2af0cf899 SOURCES/linux-5.10.tar.xz -5c44721d2e366f1ac21b1937b3826a36de578696 SOURCES/d016a6eb01c8c7326a89cb42809fed2a21525de5.tar.gz -4ee420818a2cc8a8025bb594f0033cce150a005b SOURCES/patch-5.10.2.xz +5a9ea09069d43d227f521a7ed4162097d82d9487 SOURCES/7d91570f20378afc9414107dccdad70705a8a342.tar.gz +887aa46cfb2b9df912cdc93ebedc0c77918624a1 SOURCES/patch-5.10.14.xz diff --git a/SOURCES/bcm2709_selinux_config.patch b/SOURCES/bcm2709_selinux_config.patch index 0ea6586..a240f91 100644 --- a/SOURCES/bcm2709_selinux_config.patch +++ b/SOURCES/bcm2709_selinux_config.patch @@ -11,7 +11,7 @@ diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defco index 4f2a92e..cd1b662 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -1441,8 +1441,6 @@ CONFIG_NLS_KOI8_R=m +@@ -1444,8 +1444,6 @@ CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_DLM=m CONFIG_SECURITY=y @@ -19,8 +19,8 @@ index 4f2a92e..cd1b662 100644 -CONFIG_LSM="" CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_CHACHA20POLY1305=m - CONFIG_CRYPTO_XCBC=m -@@ -1475,3 +1473,35 @@ CONFIG_IRQSOFF_TRACER=y + CONFIG_CRYPTO_ADIANTUM=m +@@ -1479,3 +1477,35 @@ CONFIG_IRQSOFF_TRACER=y CONFIG_SCHED_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y # CONFIG_UPROBE_EVENTS is not set diff --git a/SOURCES/bcm2711_selinux_config.patch b/SOURCES/bcm2711_selinux_config.patch index bcbd13d..0a7ea72 100644 --- a/SOURCES/bcm2711_selinux_config.patch +++ b/SOURCES/bcm2711_selinux_config.patch @@ -12,7 +12,7 @@ diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defco index 113e10d..646daec 100644 --- a/arch/arm/configs/bcm2711_defconfig +++ b/arch/arm/configs/bcm2711_defconfig -@@ -1476,8 +1476,6 @@ CONFIG_NLS_KOI8_R=m +@@ -1481,8 +1481,6 @@ CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_DLM=m CONFIG_SECURITY=y @@ -20,8 +20,8 @@ index 113e10d..646daec 100644 -CONFIG_LSM="" CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_CHACHA20POLY1305=m - CONFIG_CRYPTO_XCBC=m -@@ -1510,3 +1508,35 @@ CONFIG_IRQSOFF_TRACER=y + CONFIG_CRYPTO_ADIANTUM=m +@@ -1516,3 +1514,35 @@ CONFIG_IRQSOFF_TRACER=y CONFIG_SCHED_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y # CONFIG_UPROBE_EVENTS is not set @@ -61,7 +61,7 @@ diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_d index 325ff25..ffaec50 100644 --- a/arch/arm64/configs/bcm2711_defconfig +++ b/arch/arm64/configs/bcm2711_defconfig -@@ -1477,8 +1477,6 @@ CONFIG_NLS_KOI8_R=m +@@ -1483,8 +1483,6 @@ CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_DLM=m CONFIG_SECURITY=y @@ -69,8 +69,8 @@ index 325ff25..ffaec50 100644 -CONFIG_LSM="" CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_CHACHA20POLY1305=m - CONFIG_CRYPTO_XCBC=m -@@ -1510,3 +1508,35 @@ CONFIG_IRQSOFF_TRACER=y + CONFIG_CRYPTO_ADIANTUM=m +@@ -1517,3 +1515,35 @@ CONFIG_IRQSOFF_TRACER=y CONFIG_SCHED_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y # CONFIG_UPROBE_EVENTS is not set diff --git a/SOURCES/rpi-5.10.x.patch b/SOURCES/rpi-5.10.x.patch index 495a864..d18f848 100644 --- a/SOURCES/rpi-5.10.x.patch +++ b/SOURCES/rpi-5.10.x.patch @@ -1,7 +1,7 @@ -From 39a182445120baf23a451c93bf5898cbf7b35764 Mon Sep 17 00:00:00 2001 +From ad3beb7a396fc1250c10da70800846d7a08c5e1e Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 001/457] arm: partially revert +Subject: [PATCH 001/533] arm: partially revert 702b94bff3c50542a6e4ab9a4f4cef093262fe65 * Re-expose some dmi APIs for use in VCSM @@ -109,10 +109,10 @@ index e21249548e9f..33e4a9b8f1ba 100644 2.18.4 -From 763d2362e1eb77824f61ac60252eb7f28ea6ef48 Mon Sep 17 00:00:00 2001 +From 863d53f37b1faf60d4c2e4e5d847cb7595fcb816 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 29 Oct 2018 14:45:45 +0000 -Subject: [PATCH 002/457] Revert "rtc: pcf8523: properly handle oscillator stop +Subject: [PATCH 002/533] Revert "rtc: pcf8523: properly handle oscillator stop bit" This reverts commit ede44c908d44b166a5b6bd7caacd105c2ff5a70f. @@ -171,10 +171,10 @@ index 57d351dfe272..0aa1e8f9ee75 100644 2.18.4 -From c726ccf7befb93e4406be69cc35145770432f2ad Mon Sep 17 00:00:00 2001 +From 8a5cb80ad3b3168a34e5001f73f21ff47b55856e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 15 Mar 2019 21:11:10 +0000 -Subject: [PATCH 003/457] Revert "staging: bcm2835-audio: Drop DT dependency" +Subject: [PATCH 003/533] Revert "staging: bcm2835-audio: Drop DT dependency" This reverts commit b7491a9fca2dc2535b9dc922550a37c5baae9d3d. --- @@ -273,10 +273,10 @@ index cf5f80f5ca6b..86b921030db7 100644 2.18.4 -From ad17b4ab4dc088f4a42f7420206fc2766418b27f Mon Sep 17 00:00:00 2001 +From 307e5fe3e6c4c895b4c95bd5e1a0a9cbc57bffdb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 20 Apr 2020 13:41:10 +0100 -Subject: [PATCH 004/457] Revert "spi: spidev: Fix CS polarity if GPIO +Subject: [PATCH 004/533] Revert "spi: spidev: Fix CS polarity if GPIO descriptors are used" This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28. @@ -311,10 +311,10 @@ index 859910ec8d9f..225577709c03 100644 2.18.4 -From 361b919131c59a6e8c72a8cb41f005f3bd09ceb6 Mon Sep 17 00:00:00 2001 +From 89f3f8bfb14ae6d1ead6cacd1bbc100a137f4ba1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Nov 2020 11:49:53 +0000 -Subject: [PATCH 005/457] Revert "mailbox: avoid timer start from callback" +Subject: [PATCH 005/533] Revert "mailbox: avoid timer start from callback" This reverts commit c7dacf5b0f32957b24ef29df1207dc2cd8307743. @@ -375,10 +375,10 @@ index 3e7d4b20ab34..0b821a5b2db8 100644 2.18.4 -From 8ae329053d49879688135d7bfd5186c2cbe94937 Mon Sep 17 00:00:00 2001 +From bb03c98c54afc64e6c3c3ae9f9b334e9feec19c8 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 006/457] smsx95xx: fix crimes against truesize +Subject: [PATCH 006/533] 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. @@ -428,10 +428,10 @@ index ea0d5f04dc3a..a7591ceca30f 100644 2.18.4 -From ef423b4acf34302c743051dcc4eb63f7a6b9b63a Mon Sep 17 00:00:00 2001 +From 0df840a2f5e5bf766bc4159797c29818b965ce62 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 007/457] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 007/533] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -477,10 +477,10 @@ index a7591ceca30f..d16620941d76 100644 2.18.4 -From 6b5aedbd466e54db3be9d15eb73b681ca9caf9d9 Mon Sep 17 00:00:00 2001 +From a78bbb9f90a5dd64319b071b3c4900842822d58e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 008/457] Allow mac address to be set in smsc95xx +Subject: [PATCH 008/533] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -579,10 +579,10 @@ index d16620941d76..09d4c1963b2c 100644 2.18.4 -From b8f42a6790762c0ae47c93e2ca1d4c61f1b99f00 Mon Sep 17 00:00:00 2001 +From c2eb82849eb42e7de9c397f65b91228da0d28134 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 009/457] Protect __release_resource against resources without +Subject: [PATCH 009/533] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -613,10 +613,10 @@ index 3ae2f56cc79d..2f1a85c23e8b 100644 2.18.4 -From 609361ed16b6e9d6ca88e196bc1700e6970bcd29 Mon Sep 17 00:00:00 2001 +From 43816db28ac13b1bca0442aff7df036ba69a0e47 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 010/457] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 010/533] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -643,10 +643,10 @@ index cbc7c740e4dc..f4247c257581 100644 2.18.4 -From 69eab2e54568c1f5ec58b2b09f749d3fffd90bc7 Mon Sep 17 00:00:00 2001 +From b7c2cfe0ad0237e1804b9926457b92e5842decad 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 011/457] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 011/533] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -778,10 +778,10 @@ index a1e004af23e7..50a03f8c9c57 100644 2.18.4 -From f3b096aae1e00be93941718cee0ab4726a04a4e8 Mon Sep 17 00:00:00 2001 +From 1762ed0260320c46d2b358124491ebd74e111f3d 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 012/457] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 012/533] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -883,10 +883,10 @@ index 50a03f8c9c57..b3219aa763a6 100644 2.18.4 -From 7c2dc4755f820c2528ff47b19d056fd9c3a39c5c Mon Sep 17 00:00:00 2001 +From 298688f13b75be38f7cca3dbffd5d28806ae0929 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 013/457] spi: spidev: Completely disable the spidev warning +Subject: [PATCH 013/533] spi: spidev: Completely disable the spidev warning An alternative strategy would be to use "rpi,spidev" instead, but that would require many Raspberry Pi Device Tree changes. @@ -913,10 +913,10 @@ index 225577709c03..a262479f0a92 100644 2.18.4 -From 73cb111f7ce33b2091ba880c6f0b8d8f3b236cf2 Mon Sep 17 00:00:00 2001 +From bbe3d11b2fe2473874250395def5c57cd1e025ed 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 014/457] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 014/533] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1022,10 +1022,10 @@ index 630dfbb01a40..bf7ba96a39f9 100644 2.18.4 -From 90853232ef8876ffd02382eaeb3da25b2f124431 Mon Sep 17 00:00:00 2001 +From e2aabf6587951b4cbf72652ee3b79e4f76b0bc27 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 015/457] firmware: Updated mailbox header +Subject: [PATCH 015/533] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 3 +++ @@ -1055,10 +1055,10 @@ index cc9cdbc66403..212cceffcc5c 100644 2.18.4 -From 1d2519db80cbe4dc78ccd6e780deb9bfb2145998 Mon Sep 17 00:00:00 2001 +From d7e8354bb60c482b461ab795f35a17742444444b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 016/457] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 016/533] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1081,10 +1081,10 @@ index c3691fa4210e..ead1fd376d2d 100644 2.18.4 -From a8f1b94cde68980138386f3ff43b291eebb805a7 Mon Sep 17 00:00:00 2001 +From f01323bc58169dcc66f210817695ed19645e8c35 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 017/457] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 017/533] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1189,10 +1189,10 @@ index dec6ca019bea..62937e6f83ca 100644 2.18.4 -From 3e5f267dc0558a22c8b29a02391288d0b53fb85b Mon Sep 17 00:00:00 2001 +From 3cfda2e0e7b8e541dbe7d51c3a767607c8d93ac2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 018/457] reboot: Use power off rather than busy spinning when +Subject: [PATCH 018/533] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1218,10 +1218,10 @@ index 0ce388f15422..63373adab475 100644 2.18.4 -From d1f9d671cf9966d33fe4c61449ffdd5d831a3b89 Mon Sep 17 00:00:00 2001 +From aa5c256f6b829a6083da616535f2470dc466150c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 019/457] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 019/533] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -1243,10 +1243,10 @@ index 24f92a6e882a..a6a705ec30c7 100644 2.18.4 -From c0258f67a028c2828ac972ae4b9055e1ca25a38e Mon Sep 17 00:00:00 2001 +From 61fb34f29a15dd828873ab5d1bd8e0ae185bf64d Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 020/457] Register the clocks early during the boot process, so +Subject: [PATCH 020/533] 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. @@ -1294,10 +1294,10 @@ index 1ac803e14fa3..2482458795c2 100644 2.18.4 -From 6fc25fdbd131e0429121338647b3ad2de7003127 Mon Sep 17 00:00:00 2001 +From 7c4894ac5812f023dc7a0bee095923ffd8c251cb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 021/457] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 021/533] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1325,10 +1325,10 @@ index 1a7c43b43c6b..ee47667d0710 100644 2.18.4 -From cb59b561edfea285bc3dd13427274f88e466eb6f Mon Sep 17 00:00:00 2001 +From 042f218eaee9d7f7e2e285f36c87ca314fff3876 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 022/457] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 022/533] 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 @@ -1359,10 +1359,10 @@ index 2482458795c2..0f716cb070a7 100644 2.18.4 -From f0a4b927ab3b7812f0191456d93325612f7a757c Mon Sep 17 00:00:00 2001 +From dcd57038d494c8870e685d2e715c0f00950a6e9d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 023/457] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 023/533] 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, @@ -1485,10 +1485,10 @@ index 0f716cb070a7..50f018fbb562 100644 2.18.4 -From a821ac440cc05019f8dc79f9ac3db5d853ccf8b1 Mon Sep 17 00:00:00 2001 +From 5c60a9f248fec38c51afb4a42dfd6bba500cad16 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 024/457] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 024/533] 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 @@ -1606,10 +1606,10 @@ index 50f018fbb562..f1ef788c1194 100644 2.18.4 -From 6bb946f7dc646509fa8dcbf2f9cf0be6af2e5a28 Mon Sep 17 00:00:00 2001 +From 1dac0908ab6acf51707e5eedd5adc3ac7ebdd93f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 025/457] sound: Demote deferral errors to INFO level +Subject: [PATCH 025/533] 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. @@ -1647,10 +1647,10 @@ index 05a085f6dc7c..392e6c90829e 100644 2.18.4 -From 36773c608554cc0e83cda3b9ab62ea5d1c38d25e Mon Sep 17 00:00:00 2001 +From 0853285f713e3f0504d968c62ddf1f3c82881d5b Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 026/457] Update vfpmodule.c +Subject: [PATCH 026/533] 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 @@ -1709,7 +1709,7 @@ Signed-off-by: Christopher Alexander Tobias Schulze 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c -index 8c9e7f9f0277..f0ceb1975964 100644 +index 2cb355c1b5b7..1e2dcf81aefa 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c @@ -176,8 +176,11 @@ static int vfp_notifier(struct notifier_block *self, unsigned long cmd, void *v) @@ -1776,7 +1776,7 @@ index 8c9e7f9f0277..f0ceb1975964 100644 hwstate->fpexc = fpexc; hwstate->fpinst = ufp_exc->fpinst; -@@ -682,7 +694,8 @@ void kernel_neon_begin(void) +@@ -726,7 +738,8 @@ void kernel_neon_begin(void) cpu = get_cpu(); fpexc = fmrx(FPEXC) | FPEXC_EN; @@ -1790,10 +1790,10 @@ index 8c9e7f9f0277..f0ceb1975964 100644 2.18.4 -From 737ece1428a766b860be7cd9ccec90aa48209b13 Mon Sep 17 00:00:00 2001 +From 9c828c7e1107dcf106640ef7e6d8d9b68741333e 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 027/457] i2c: bcm2835: Add debug support +Subject: [PATCH 027/533] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1985,10 +1985,10 @@ index 37443edbf754..18b2e9e3d752 100644 2.18.4 -From edcefb3d5886fad8199fdd08a8dd4b23de2c1188 Mon Sep 17 00:00:00 2001 +From 4a3b034d04ac6d434128fd9f340a97571f1c534b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 028/457] mm: Remove the PFN busy warning +Subject: [PATCH 028/533] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -2000,10 +2000,10 @@ Signed-off-by: Eric Anholt 1 file changed, 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index eaa227a479e4..bf4b5a11b081 100644 +index 88639706ae17..623c47d1e26d 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -8576,8 +8576,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, +@@ -8580,8 +8580,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, 0)) { @@ -2016,10 +2016,10 @@ index eaa227a479e4..bf4b5a11b081 100644 2.18.4 -From 6a13b6f428c0b2ab0237b0711c0bf4b29e625e48 Mon Sep 17 00:00:00 2001 +From d82a55402c9d5a10ff62de00f188f375beed2769 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Jan 2018 16:52:45 +0000 -Subject: [PATCH 029/457] irqchip: irq-bcm2836: Remove regmap and syscon use +Subject: [PATCH 029/533] irqchip: irq-bcm2836: Remove regmap and syscon use The syscon node defines a register range that duplicates that used by the local_intc node on bcm2836/7. Since irq-bcm2835 and irq-bcm2836 are @@ -2136,10 +2136,10 @@ index f4247c257581..2187672e5be3 100644 2.18.4 -From db7516d22018abb5a3b6adc661084e61b78d8fb2 Mon Sep 17 00:00:00 2001 +From c1ec906d059393d566aec8190538abab71231693 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 15:04:29 +0100 -Subject: [PATCH 030/457] lan78xx: Enable LEDs and auto-negotiation +Subject: [PATCH 030/533] lan78xx: Enable LEDs and auto-negotiation For applications of the LAN78xx that don't have valid programmed EEPROMs or OTPs, enabling both LEDs and auto-negotiation by default @@ -2190,10 +2190,10 @@ index 65b315bc60ab..306bf917d4ed 100644 2.18.4 -From 58f3b4a50ca6c518150911bdcb33198c93a10af6 Mon Sep 17 00:00:00 2001 +From f9b66e9e9d2f09047a096635698584e047f83193 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 031/457] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 031/533] 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 @@ -2225,10 +2225,10 @@ index 87dc3fc15694..fe48193de094 100644 2.18.4 -From 68bb95ea7c306082d9e8a9c09b7f500fdb040e71 Mon Sep 17 00:00:00 2001 +From 7cc5ff4e4d01a4af0dfe0ba52fa95ba140e43125 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 032/457] amba_pl011: Round input clock up +Subject: [PATCH 032/533] 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 @@ -2317,10 +2317,10 @@ index fe48193de094..339ecce1ad0d 100644 2.18.4 -From bee92e305ec12740ea7bed16d79c41abd5d667d1 Mon Sep 17 00:00:00 2001 +From 5f34e5840d268b9b8c77997661721b9155528255 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 033/457] amba_pl011: Insert mb() for correct FIFO handling +Subject: [PATCH 033/533] amba_pl011: Insert mb() for correct FIFO handling The pl011 register accessor functions use the _relaxed versions of the standard readl() and writel() functions, meaning that there are no @@ -2350,10 +2350,10 @@ index 339ecce1ad0d..afb0175bf592 100644 2.18.4 -From 484b7593eb0deba1dd922adbbe9d078249df7749 Mon Sep 17 00:00:00 2001 +From 33d2be390316bda3f6d198800853fa81238bc6a2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 034/457] amba_pl011: Add cts-event-workaround DT property +Subject: [PATCH 034/533] amba_pl011: Add cts-event-workaround DT property The BCM2835 PL011 implementation seems to have a bug that can lead to a transmission lockup if CTS changes frequently. A workaround was added to @@ -2408,10 +2408,10 @@ index afb0175bf592..17ef9c2a4d72 100644 2.18.4 -From cc0b31cafac7336f56e68402cce147ede531a677 Mon Sep 17 00:00:00 2001 +From dcd8df52dc62059e484108b6150380976e730d19 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Jul 2019 13:13:39 +0100 -Subject: [PATCH 035/457] tty: amba-pl011: Make TX optimisation conditional +Subject: [PATCH 035/533] tty: amba-pl011: Make TX optimisation conditional pl011_tx_chars takes a "from_irq" parameter to reduce the number of register accesses. When from_irq is true the function assumes that the @@ -2499,10 +2499,10 @@ index 17ef9c2a4d72..8b1f8167c85d 100644 2.18.4 -From dedcb3bb37e329e9c8788b1d20f4545d147abedd Mon Sep 17 00:00:00 2001 +From 5b3aeefb346bfa81976287739b6d59f32c3c9e8d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 24 Jan 2020 11:38:28 +0000 -Subject: [PATCH 036/457] tty: amba-pl011: Add un/throttle support +Subject: [PATCH 036/533] tty: amba-pl011: Add un/throttle support The PL011 driver lacks throttle and unthrottle methods. As a result, sending more data to the Pi than it can immediately sink while CRTSCTS @@ -2566,10 +2566,10 @@ index 8b1f8167c85d..9df9bc8f9dfd 100644 2.18.4 -From 4d10549977e155d2fbb3cf781ab5970b3a4c6d37 Mon Sep 17 00:00:00 2001 +From b8e60be690954dc57901f73adf7d863aeac58ad8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 Jan 2020 09:35:19 +0000 -Subject: [PATCH 037/457] tty: amba-pl011: Avoid rare write-when-full error +Subject: [PATCH 037/533] tty: amba-pl011: Avoid rare write-when-full error Under some circumstances on BCM283x processors data loss can be observed - a single byte missing from the TX output stream. These bytes @@ -2614,10 +2614,10 @@ index 9df9bc8f9dfd..760301512509 100644 2.18.4 -From a8a29e793c2c87ff1d19a9403a80b22643591fd9 Mon Sep 17 00:00:00 2001 +From f34a78205bf1b3c93fa1c729db1f95eec187be21 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 038/457] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 038/533] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -2642,10 +2642,10 @@ index 1d21129f7751..bbf761c41dc5 100644 2.18.4 -From 8536ae594802e160ed3ddce0ec262da4a8126037 Mon Sep 17 00:00:00 2001 +From 05cfe32c2a806b999d0e1484b013022c1ef848c9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 039/457] Main bcm2708/bcm2709 linux port +Subject: [PATCH 039/533] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2804,10 +2804,10 @@ index 39761d190545..9766d8b50778 100644 2.18.4 -From bbf62c0654e4f3feadd7515d928bb18ca2649db3 Mon Sep 17 00:00:00 2001 +From 0dcdc0eebe515f570001c2ea3536edc5390b22cb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 040/457] Add dwc_otg driver +Subject: [PATCH 040/533] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -64627,10 +64627,10 @@ index 000000000000..cdc9963176e5 2.18.4 -From 98a9b6a920917d45464bdec6b1f9e774b2f7bbd9 Mon Sep 17 00:00:00 2001 +From eaef7069d263d3e6eaf9093fbd2c19d28b05a3cb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 041/457] bcm2708 framebuffer driver +Subject: [PATCH 041/533] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -68201,10 +68201,10 @@ index 212cceffcc5c..2f5509d53fc3 100644 2.18.4 -From 4dc943b56e6f3109e68abbd094331e0c7b7b7294 Mon Sep 17 00:00:00 2001 +From 0613e309cd6ec50e49647bc35b52d0e21622be15 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 14 Mar 2019 13:27:54 +0000 -Subject: [PATCH 042/457] Pulled in the multi frame buffer support from the Pi3 +Subject: [PATCH 042/533] Pulled in the multi frame buffer support from the Pi3 repo --- @@ -69036,10 +69036,10 @@ index 2f5509d53fc3..16253b6875c9 100644 2.18.4 -From fd8c453d821539b45998aa2229242bf0fd9b757d Mon Sep 17 00:00:00 2001 +From 78ed311e50e9f30d9826502082eb968528716f31 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 043/457] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 043/533] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -69383,10 +69383,10 @@ index 4c14e8be7267..3c6f12b76214 100644 2.18.4 -From 62860d0ebd144bc5382c88378106cb4803f07073 Mon Sep 17 00:00:00 2001 +From 7cfc6fb134c3b0346a72bfa773a75e309dc1c910 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 044/457] Speed up console framebuffer imageblit function +Subject: [PATCH 044/533] 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 @@ -69598,10 +69598,10 @@ index a2bb276a8b24..436494fba15a 100644 2.18.4 -From c57882ab57447e961d0ecc77102eb26c5c36079c Mon Sep 17 00:00:00 2001 +From 3af6df0812cc283383627b5e102ade1852d15a4e Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 045/457] dmaengine: Add support for BCM2708 +Subject: [PATCH 045/533] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -70252,10 +70252,10 @@ index 000000000000..6ca874d332a8 2.18.4 -From 0bcb929b9d4fd98ce44d9e8ce6445eb94f44c23c Mon Sep 17 00:00:00 2001 +From 8321f0c5e7b54d820f0d720aafac83cbffd9858c Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 046/457] MMC: added alternative MMC driver +Subject: [PATCH 046/533] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -72204,10 +72204,10 @@ index 42df06c6b19c..e7f45a2b0c72 100644 2.18.4 -From 0490312fce60adab4893f371630e98906c079518 Mon Sep 17 00:00:00 2001 +From 86ae3d4b14de3efa5e8a026e908baebe676d6a4c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 047/457] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 047/533] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -74696,10 +74696,10 @@ index 000000000000..7caba5e12f79 2.18.4 -From 32d5d65b44dd9f42e5c96669e8e4118dd3c91fab Mon Sep 17 00:00:00 2001 +From ad4672eac8575c8d520aa5886ab512db3e49db4a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 048/457] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 048/533] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -75200,10 +75200,10 @@ index 000000000000..3c7079237496 2.18.4 -From ca226ac73f62648a94bb15bf0ba06e53f7106c79 Mon Sep 17 00:00:00 2001 +From 868c3df654526714ee6cdae36ea5ff7c4fde29ea Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 049/457] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 049/533] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -75510,10 +75510,10 @@ index 000000000000..f5e7f1ba8fb6 2.18.4 -From 8b854c8463cefef19a2c72371975c66e50f8c12b Mon Sep 17 00:00:00 2001 +From 6f69a8ab08837dd4f40108fa662577c8c87df19d Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 050/457] Add SMI driver +Subject: [PATCH 050/533] Add SMI driver Signed-off-by: Luke Wren @@ -77447,10 +77447,10 @@ index 000000000000..ee3a75edfc03 2.18.4 -From a48166ffc0e814bb83863aabbed84ea454721762 Mon Sep 17 00:00:00 2001 +From e86373757c8632477caeb71b6db1851aed485f77 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 051/457] Add Chris Boot's i2c driver +Subject: [PATCH 051/533] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -77554,7 +77554,7 @@ both bcm2708_bsc_fifo_fill and ~drain are changed as well. create mode 100644 drivers/i2c/busses/i2c-bcm2708.c diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index a49e0ed4a599..3013edfb8e51 100644 +index 7e693dcbdd19..b62bcddeaa4a 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -9,6 +9,25 @@ menu "I2C Hardware Bus support" @@ -78118,10 +78118,10 @@ index 000000000000..962f2e5c7455 2.18.4 -From 4a476f34218d10521bb096e22fe930b46966f181 Mon Sep 17 00:00:00 2001 +From f8e9d91ce2519256b884be942bd7f6cdc9b73522 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 052/457] char: broadcom: Add vcio module +Subject: [PATCH 052/533] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -78383,10 +78383,10 @@ index 000000000000..d2598663a2b5 2.18.4 -From c5f1ef1e14e7895e21e194e8e93212df7eae0571 Mon Sep 17 00:00:00 2001 +From cbfccea48c76ca2bb5fca94bd1f5031b6ef0223c 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 053/457] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 053/533] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -78472,10 +78472,10 @@ index 2371d08bdd17..5fec4accb24f 100644 2.18.4 -From d49a4a5a5e22827d9b1764559e160847ad7e098c Mon Sep 17 00:00:00 2001 +From c4ce7533677d0ab7695efcb0246fb00ee8b53dfd Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 054/457] BCM2708: Add core Device Tree support +Subject: [PATCH 054/533] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -104958,10 +104958,10 @@ index 94133708889d..9c0df5bde46c 100644 2.18.4 -From 75193f68a367dac293aa8b839ebfc18f52fb4a2d Mon Sep 17 00:00:00 2001 +From 8cefd45ef5cb74d7b613e20434cd0c6dbd98ca62 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 055/457] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 055/533] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -105142,10 +105142,10 @@ index 6a8d6409c993..aefab0783075 100644 2.18.4 -From 41de70eb037b5a376219c7738f97768f70713080 Mon Sep 17 00:00:00 2001 +From d7835e2db892c9e7519dcfcdf55443353b487ec6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:54:08 +0100 -Subject: [PATCH 056/457] Added Device IDs for August DVB-T 205 +Subject: [PATCH 056/533] Added Device IDs for August DVB-T 205 --- drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++ @@ -105170,10 +105170,10 @@ index 91460e4d0c30..637cf99d81ed 100644 2.18.4 -From 4bbf559b082927d9481c4a34c6aa61f2928706b7 Mon Sep 17 00:00:00 2001 +From 5469d8b1872a2a7df728d72284cbe6a87bd28314 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 057/457] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 057/533] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -106793,10 +106793,10 @@ index 084734d3da5c..6af65533dbea 100644 2.18.4 -From 170aaf1b1d795c562cafb38518e424b6e001027b Mon Sep 17 00:00:00 2001 +From 151650c52f9ca483cd0f98d216f0d0ca3d37a4c2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 058/457] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 058/533] 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 @@ -106834,10 +106834,10 @@ index c5067eb75370..e458fa7b8848 100644 2.18.4 -From 10bfd0b1444460a3aa610e21044a4c0e75c9422e Mon Sep 17 00:00:00 2001 +From 8019410f8b409e8f5e63d05f09e749c0d5bb27ba Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 059/457] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 059/533] mfd: Add Raspberry Pi Sense HAT core driver mfd: Add rpi_sense_core of compatible string --- @@ -107048,7 +107048,7 @@ index 000000000000..6a416769065d +MODULE_AUTHOR("Serge Schneider "); +MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index 8b99a13669bf..499c8856b7a4 100644 +index 4789507f325b..2aa44318b6c3 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -11,6 +11,14 @@ config MFD_CORE @@ -107720,10 +107720,10 @@ index 000000000000..56196dc2af10 2.18.4 -From 25d04e15dd17a2a05844e4508015c7f4ce3cec56 Mon Sep 17 00:00:00 2001 +From 77aeb2e4bf36ac1f7ee956cc7f3d185335962ea0 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 060/457] Add support for all the downstream rpi sound card +Subject: [PATCH 060/533] Add support for all the downstream rpi sound card drivers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -122966,10 +122966,10 @@ index 392e6c90829e..550be21f6f84 100644 2.18.4 -From f14de15d63f12a6f780395b2396c1ba2e76609ee Mon Sep 17 00:00:00 2001 +From 080833ec537a6c1cfe9d4bbb4caae812204ca97d Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Fri, 16 Oct 2020 15:17:07 +0200 -Subject: [PATCH 061/457] Fixes a problem when module probes before i2c module +Subject: [PATCH 061/533] Fixes a problem when module probes before i2c module is available The driver crashed while a NULL pointer returned by i2c_get_adapter() @@ -123018,10 +123018,10 @@ index a6d078bc4a9a..157ab4c2cc85 100644 2.18.4 -From 0e43167164c58e10f381cb5689490f679b877882 Mon Sep 17 00:00:00 2001 +From ee67602c2a70051c226d7109e05f467e64df94d0 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 062/457] rpi_display: add backlight driver and overlay +Subject: [PATCH 062/533] 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 @@ -123201,10 +123201,10 @@ index 000000000000..14a0d9b03739 2.18.4 -From e518f83a5f4a8f703cfc53fa868bae99f9379753 Mon Sep 17 00:00:00 2001 +From 5ff27735895dea45f874e3a0d1a42aef2c665fb5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 063/457] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 063/533] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -123216,7 +123216,7 @@ request that the VPU toggles LEDs. create mode 100644 drivers/gpio/gpio-bcm-virt.c diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index 5d4de5cd6759..a30f0910742d 100644 +index f20ac3d69424..eb6e824a1965 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -193,6 +193,12 @@ config GPIO_BCM_XGS_IPROC @@ -123468,10 +123468,10 @@ index 000000000000..49e28ad9760e 2.18.4 -From d00a1ffa659e36f0e06f546d998c8d5d12d6c0d8 Mon Sep 17 00:00:00 2001 +From 83b447eb0d91161f837c1465a3064dc4f5c73a29 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 064/457] OF: DT-Overlay configfs interface +Subject: [PATCH 064/533] 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. @@ -123909,10 +123909,10 @@ index 000000000000..178f0629b0f0 2.18.4 -From e9029f2fb76fbc3ca7d9b42e46a5cee4b72a82b4 Mon Sep 17 00:00:00 2001 +From 838cc2df461165f076851eeb963034f9b099dd5d Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 065/457] brcm: adds support for BCM43341 wifi +Subject: [PATCH 065/533] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -123971,10 +123971,10 @@ Signed-off-by: Phil Elwell 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index a2dbbb977d0c..9555e78d9f93 100644 +index 0ee421f30aa2..28dba5d86ee6 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2936,7 +2936,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2937,7 +2937,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, brcmf_dbg(INFO, "Do not enable power save for P2P clients\n"); pm = PM_OFF; } @@ -123983,7 +123983,7 @@ index a2dbbb977d0c..9555e78d9f93 100644 err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PM, pm); if (err) { -@@ -7349,12 +7349,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -7350,12 +7350,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], struct brcmfmac_pd_cc *country_codes; struct brcmfmac_pd_cc_entry *cc; s32 found_index; @@ -124004,7 +124004,7 @@ index a2dbbb977d0c..9555e78d9f93 100644 } if ((alpha2[0] == ccreq->country_abbrev[0]) && -@@ -7378,10 +7384,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -7379,10 +7385,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], brcmf_dbg(TRACE, "No country code match found\n"); return -EINVAL; } @@ -124036,7 +124036,7 @@ index e3758bd86acf..591dcd04b4b4 100644 MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine"); diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 99987a789e7e..df0bb4dd6829 100644 +index 59c2b2b6027d..2b642886430d 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -611,6 +611,7 @@ BRCMF_FW_DEF(4329, "brcmfmac4329-sdio"); @@ -124060,10 +124060,10 @@ index 99987a789e7e..df0bb4dd6829 100644 2.18.4 -From a3d62315d075600792401e5448d44dcb4e02adcc Mon Sep 17 00:00:00 2001 +From cb25e8037150811bc90aa26c2b554e66717f2106 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 066/457] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 066/533] 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. @@ -124072,10 +124072,10 @@ other with conf_req and conf_rsp messages, in a demented game of tag. 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c -index 981d96cc7695..2ade3106c080 100644 +index 78d635f1d156..1981a5a73fd2 100644 --- a/drivers/bluetooth/hci_h5.c +++ b/drivers/bluetooth/hci_h5.c -@@ -340,7 +340,8 @@ static void h5_handle_internal_rx(struct hci_uart *hu) +@@ -343,7 +343,8 @@ static void h5_handle_internal_rx(struct hci_uart *hu) h5_link_control(hu, conf_req, 3); } else if (memcmp(data, conf_req, 2) == 0) { h5_link_control(hu, conf_rsp, 2); @@ -124089,10 +124089,10 @@ index 981d96cc7695..2ade3106c080 100644 2.18.4 -From 624057da173a5c56d27f6fcc5ead80221c6c8299 Mon Sep 17 00:00:00 2001 +From 7ef59c6b94d49e467a9cc3613b4f68a25a4ed3bb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 067/457] config: Add default configs +Subject: [PATCH 067/533] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1473 +++++++++++++++++++++++++ @@ -131467,10 +131467,10 @@ index 000000000000..d542d2522076 2.18.4 -From cec37e8bf07aaf723782d112472b7892e2066150 Mon Sep 17 00:00:00 2001 +From ac26e81ead8a4a1dc091309b40cbee559cba3b72 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 068/457] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 068/533] 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 @@ -131547,10 +131547,10 @@ index 2187672e5be3..0b2af88b69a0 100644 2.18.4 -From 99a484a34de835901b01c9032af8960740291440 Mon Sep 17 00:00:00 2001 +From 4906432f9feed544ad0029f154d254877d046b9e Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 069/457] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 069/533] ARM64: Force hardware emulation of deprecated instructions. --- @@ -131581,10 +131581,10 @@ index 7364de008bab..a11467132346 100644 2.18.4 -From 662279bc8dce8f0af932e996597c583130626e9d Mon Sep 17 00:00:00 2001 +From e12f123278cc7fb6f29b097954f6fdb1aac7153d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 070/457] cache: export clean and invalidate +Subject: [PATCH 070/533] cache: export clean and invalidate hack: cache: Fix linker error --- @@ -131642,10 +131642,10 @@ index dc8f152f3556..536df5db66e4 100644 2.18.4 -From cc9dd6ca8b2dd78e777f8ba6557e643d208c98d0 Mon Sep 17 00:00:00 2001 +From 88fc9a273a711667552f6b9cff3983c22a49bc7c Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 14 Nov 2017 15:13:15 +0000 -Subject: [PATCH 071/457] AXI performance monitor driver (#2222) +Subject: [PATCH 071/533] AXI performance monitor driver (#2222) Uses the debugfs I/F to provide access to the AXI bus performance monitors. @@ -132344,10 +132344,10 @@ index 000000000000..5ae2bdaa88b4 2.18.4 -From db30104aa27a6d819a15b8103413a4a215118084 Mon Sep 17 00:00:00 2001 +From d8dd670083619ecf2763d254e6137941962d3c00 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 27 Nov 2017 17:14:54 +0000 -Subject: [PATCH 072/457] cgroup: Disable cgroup "memory" by default +Subject: [PATCH 072/533] cgroup: Disable cgroup "memory" by default Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: @@ -132420,10 +132420,10 @@ index e41c21819ba0..09d145eb6f4d 100644 2.18.4 -From 915e26d21268b9ac62b07c1cc7806a5552615b2b Mon Sep 17 00:00:00 2001 +From dada4b52189b00e9304fe6b02c51a9d7025620ef 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 073/457] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 073/533] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -132489,10 +132489,10 @@ index bfc556f76720..73ec2427fbcf 100644 2.18.4 -From 1a496b1ddde4e3ede3f8cc5aca64a60648a38d69 Mon Sep 17 00:00:00 2001 +From c098a33824415e8a5f3329d8da6ec08bdebdd687 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 16 Jul 2018 14:40:13 +0100 -Subject: [PATCH 074/457] dwc-otg: FIQ: Fix "bad mode in data abort handler" +Subject: [PATCH 074/533] dwc-otg: FIQ: Fix "bad mode in data abort handler" Create a semi-static mapping for the USB registers early in the boot process, before additional kernel threads are started, so all threads @@ -132611,10 +132611,10 @@ index 73ec2427fbcf..9b6c921106b5 100644 2.18.4 -From fdc85b4a131e628888be4aa021c5ba5c24bb3393 Mon Sep 17 00:00:00 2001 +From 9433094c94ed86cb70940c7cf7441cb8ee6bb25b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Dec 2017 09:18:32 +0000 -Subject: [PATCH 075/457] ARM: Activate FIQs to avoid __irq_startup warnings +Subject: [PATCH 075/533] ARM: Activate FIQs to avoid __irq_startup warnings There is a new test in __irq_startup that the IRQ is activated, which hasn't been the case for FIQs since they bypass some of the usual setup. @@ -132653,10 +132653,10 @@ index 98ca3e3fa847..c3fe7d3cf482 100644 2.18.4 -From 0a7c6f550f44af985025a76030ddbde713463117 Mon Sep 17 00:00:00 2001 +From 77b2ed6dcf650482d240ab43a730647e02ef2d83 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 076/457] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 076/533] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -132691,10 +132691,10 @@ index 5fec4accb24f..abb16e80a36c 100644 2.18.4 -From 403c73300c30d4ebe50b9062b88716d12d50f2cb Mon Sep 17 00:00:00 2001 +From 9180a9fd4254b50c1b578166790316f24061a527 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 20 Feb 2018 10:07:27 +0000 -Subject: [PATCH 077/457] i2c-gpio: Also set bus numbers from reg property +Subject: [PATCH 077/533] i2c-gpio: Also set bus numbers from reg property I2C busses can be assigned specific bus numbers using aliases in Device Tree - string properties where the name is the alias and the @@ -132732,10 +132732,10 @@ index a4a6825c8758..cfbcf3952ddc 100644 2.18.4 -From 3320a410452ce426dc41772333ca3b6d5b9c7b44 Mon Sep 17 00:00:00 2001 +From dbeb62f8110344f2b45e7f0f47a97eb0035eaee0 Mon Sep 17 00:00:00 2001 From: hdoverobinson Date: Tue, 13 Mar 2018 06:58:39 -0400 -Subject: [PATCH 078/457] added capture_clear option to pps-gpio via dtoverlay +Subject: [PATCH 078/533] added capture_clear option to pps-gpio via dtoverlay (#2433) --- @@ -132759,10 +132759,10 @@ index e0de1df2ede0..ee7d8f4e7f2e 100644 2.18.4 -From 2a6c4723f87b0753502aa316ffa8e305b6174cef Mon Sep 17 00:00:00 2001 +From cfd31e2df53b27d2952a520c56fd6ceb3aa82bf6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 9 Mar 2018 12:01:00 +0000 -Subject: [PATCH 079/457] lan78xx: Read initial EEE status from DT +Subject: [PATCH 079/533] lan78xx: Read initial EEE status from DT Add two new DT properties: * microchip,eee-enabled - a boolean to enable EEE @@ -132805,10 +132805,10 @@ index 306bf917d4ed..8e234a7c84ef 100644 2.18.4 -From d5bc452d34d4c141306983fe38b998a35d498ead Mon Sep 17 00:00:00 2001 +From c4c972afef6097d7674ed91fcdd156cd0c5e1879 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 080/457] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 080/533] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -132843,10 +132843,10 @@ index 17a29ee0ac6c..1134d543e5d6 100644 2.18.4 -From be536648bebb3ecf439c1b702fd396ad0f15cb4f Mon Sep 17 00:00:00 2001 +From d1d87e562c04e9c5ae1c1b0fb9ee48f740680c1b Mon Sep 17 00:00:00 2001 From: Nick Bulleid Date: Thu, 10 May 2018 21:57:02 +0100 -Subject: [PATCH 081/457] Add ability to export gpio used by gpio-poweroff +Subject: [PATCH 081/533] Add ability to export gpio used by gpio-poweroff Signed-off-by: Nick Bulleid @@ -132908,10 +132908,10 @@ index e458fa7b8848..3acbe711b792 100644 2.18.4 -From 8033fc3bcd1391e2ce06aaa796df5b335d830a68 Mon Sep 17 00:00:00 2001 +From 41db89e312b398a8b8e631e197b7c84f1968dc63 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 12 May 2018 21:35:43 +0100 -Subject: [PATCH 082/457] firmware/raspberrypi: Notify firmware of a reboot +Subject: [PATCH 082/533] firmware/raspberrypi: Notify firmware of a reboot Register for reboot notifications, sending RPI_FIRMWARE_NOTIFY_REBOOT over the mailbox interface on reception. @@ -132998,10 +132998,10 @@ index abb16e80a36c..05a0ae2a8eb7 100644 2.18.4 -From 00a6fdff5c815543bb7127abaea7fd93ef8b7b8e Mon Sep 17 00:00:00 2001 +From dbd97258a9a343bd978e61407fd9f9fdfaeef781 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 14 Jun 2018 11:21:04 +0100 -Subject: [PATCH 083/457] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time +Subject: [PATCH 083/533] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time ad83c7cb2f37 ("irqchip/irq-bcm2836: Add support for DT interrupt polarity") changed the way that the BCM2836/7 local interrupts are mapped; instead @@ -133070,10 +133070,10 @@ index 18b7483588c2..0e6c0811dc1e 100644 2.18.4 -From 730512fa5df12248b0f58f56e55592c659a26f47 Mon Sep 17 00:00:00 2001 +From 9c329650de944493a62cd0ed3beaabb096b1c72b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 14 Jun 2018 15:07:26 +0100 -Subject: [PATCH 084/457] of: configfs: Use of_overlay_fdt_apply API call +Subject: [PATCH 084/533] of: configfs: Use of_overlay_fdt_apply API call The published API to the dynamic overlay application mechanism now takes a Flattened Device Tree blob as input so that it can manage the @@ -133190,10 +133190,10 @@ index 178f0629b0f0..ac04301dabe1 100644 2.18.4 -From a97ba8a426c771ddc16f31446feb8492a234be9d Mon Sep 17 00:00:00 2001 +From 7ebce0a0018aac040413e423a146ea7b9313c08d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Jun 2018 15:21:10 +0100 -Subject: [PATCH 085/457] net: lan78xx: Disable TCP Segmentation Offload (TSO) +Subject: [PATCH 085/533] net: lan78xx: Disable TCP Segmentation Offload (TSO) TSO seems to be having issues when packets are dropped and the remote end uses Selective Acknowledge (SACK) to denote that @@ -133252,10 +133252,10 @@ index 8e234a7c84ef..681a6b949140 100644 2.18.4 -From a74adb83e563eb457e684e4fb88aaa0352e797d5 Mon Sep 17 00:00:00 2001 +From 750342217deba2777cfe42e957fcaf723da3a2ed Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 Jun 2018 12:20:01 +0100 -Subject: [PATCH 086/457] brcmfmac: Re-enable firmware roaming support +Subject: [PATCH 086/533] brcmfmac: Re-enable firmware roaming support As of 4.18, a firmware that implements the update_connect_params method but doesn't claim to support roaming causes an error. We @@ -133287,10 +133287,10 @@ index 591dcd04b4b4..e3758bd86acf 100644 2.18.4 -From a27eabeedbbd1a372e50c356bd8bd872bb8631d6 Mon Sep 17 00:00:00 2001 +From 9ce953595ae17626a9d04e598f3e0bf7af983920 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 5 Apr 2018 14:46:11 +0100 -Subject: [PATCH 087/457] lan78xx: Move enabling of EEE into PHY init code +Subject: [PATCH 087/533] lan78xx: Move enabling of EEE into PHY init code Enable EEE mode as soon as possible after connecting to the PHY, and before phy_start. This avoids a second link negotiation, which speeds @@ -133357,10 +133357,10 @@ index 681a6b949140..68d0aec53f3a 100644 2.18.4 -From cb1544fc6d859293c7a9e60d179eed6dba50567f Mon Sep 17 00:00:00 2001 +From b3215d28bf2da8385892e73d9b38f4d1eea7a30a Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 9 Jul 2018 12:54:25 +0100 -Subject: [PATCH 088/457] Add rpi-poe-fan driver +Subject: [PATCH 088/533] Add rpi-poe-fan driver Signed-off-by: Serge Schneider @@ -133955,10 +133955,10 @@ index 000000000000..c9654e9e9f2d 2.18.4 -From 90c3d26394d795937ca375ff9b0b44dfbb5fe102 Mon Sep 17 00:00:00 2001 +From 0a20ca55289382bd970ab267d56464657a77fc40 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 17 Sep 2018 17:31:18 +0100 -Subject: [PATCH 089/457] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 +Subject: [PATCH 089/533] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with MEDIA_SUBDRV_AUTOSELECT --- @@ -133981,10 +133981,10 @@ index 857ef4ace6e9..deae75ea3c44 100644 2.18.4 -From eda0d50899e85c6dcb3959edad72954bd01a612b Mon Sep 17 00:00:00 2001 +From 52c8f8ce6a4dc16a28eb7109f37d3a0e09e5e91e Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 6 Oct 2018 16:46:18 +0200 -Subject: [PATCH 090/457] hwmon: raspberrypi: Prevent voltage low warnings from +Subject: [PATCH 090/533] hwmon: raspberrypi: Prevent voltage low warnings from filling log Although the correct fix for low voltage warnings is to @@ -134062,10 +134062,10 @@ index d3a64a35f7a9..db3b03438dd0 100644 2.18.4 -From 60b2eb5b01a6f4e7e3c30627fafc58473b24473f Mon Sep 17 00:00:00 2001 +From 23729e0f704e4bd1824b1de09f55baaa5197aa94 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 13 Oct 2018 13:31:21 +0200 -Subject: [PATCH 091/457] firmware: raspberrypi: Add backward compatible +Subject: [PATCH 091/533] firmware: raspberrypi: Add backward compatible get_throttled Avoid a hard userspace ABI change by adding a compatible get_throttled @@ -134147,10 +134147,10 @@ index 05a0ae2a8eb7..f7d605a62801 100644 2.18.4 -From e7cd9b4ee7990478a29221e537c80aa58c7c1818 Mon Sep 17 00:00:00 2001 +From 471bfd9b630ce023c42e49074af5fde67a83c0c4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 6 Nov 2018 12:57:48 +0000 -Subject: [PATCH 092/457] sc16is7xx: Don't spin if no data received +Subject: [PATCH 092/533] sc16is7xx: Don't spin if no data received See: https://github.com/raspberrypi/linux/issues/2676 @@ -134176,10 +134176,10 @@ index f86ec2d2635b..ae48749d72fd 100644 2.18.4 -From 6bb1f573e058197d3e6deeba32b0246240e2fda5 Mon Sep 17 00:00:00 2001 +From a66d8b0f959743139a10bbe57cbc2872d852896d Mon Sep 17 00:00:00 2001 From: Ram Chandrasekar Date: Mon, 7 May 2018 11:54:08 -0600 -Subject: [PATCH 093/457] drivers: thermal: step_wise: add support for +Subject: [PATCH 093/533] drivers: thermal: step_wise: add support for hysteresis Step wise governor increases the mitigation level when the temperature @@ -134276,10 +134276,10 @@ index 2ae7198d3067..abe34cfe21fe 100644 2.18.4 -From fea7f87ce1304010e7a461b35bd51899dc270077 Mon Sep 17 00:00:00 2001 +From dff382c1b8bb1bb66b627e894b4817e7a9efa745 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Tue, 2 Oct 2018 11:14:15 +0100 -Subject: [PATCH 094/457] drivers: thermal: step_wise: avoid throttling at +Subject: [PATCH 094/533] drivers: thermal: step_wise: avoid throttling at hysteresis temperature after dropping below it Signed-off-by: Serge Schneider @@ -134304,10 +134304,10 @@ index abe34cfe21fe..5c8602933201 100644 2.18.4 -From b3894ccd75d4374640e72b8fe1f7481fec192926 Mon Sep 17 00:00:00 2001 +From 1d0c19df372a6ba00fe6d7b069a57e58c7caa936 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Fri, 2 Nov 2018 11:55:49 +0000 -Subject: [PATCH 095/457] Update issue templates (#2736) +Subject: [PATCH 095/533] Update issue templates (#2736) --- .github/ISSUE_TEMPLATE/bug_report.md | 34 ++++++++++++++++++++++++++++ @@ -134358,10 +134358,10 @@ index 000000000000..09bdc4a96838 2.18.4 -From 8e58b0d1acfa9f9740f10d9820e429ebbbd2b86c Mon Sep 17 00:00:00 2001 +From bbb0d3cb8de3a23e30a842151f677088bdb08d7b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Nov 2018 19:46:58 +0000 -Subject: [PATCH 096/457] net: lan78xx: Support auto-downshift to 100Mb/s +Subject: [PATCH 096/533] net: lan78xx: Support auto-downshift to 100Mb/s Ethernet cables with faulty or missing pairs (specifically pairs C and D) allow auto-negotiation to 1000Mbs, but do not support the successful @@ -134459,10 +134459,10 @@ index 517288da19fd..626c450d71f4 100644 2.18.4 -From fc7d85565f3a7d7cb83dfa66d80d6b98485c356b Mon Sep 17 00:00:00 2001 +From ef0d017fd2fbb1cfd1bba6eef8fc3b1ddf34fe1a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 10 Jan 2019 17:58:06 +0000 -Subject: [PATCH 097/457] firmware: raspberrypi: Report the fw variant during +Subject: [PATCH 097/533] firmware: raspberrypi: Report the fw variant during probe The driver already reported the firmware build date during probe. @@ -134568,10 +134568,10 @@ index 16253b6875c9..d0c827064999 100644 2.18.4 -From cb2e0377b359c927836e441ed8432807ff7ceec3 Mon Sep 17 00:00:00 2001 +From 85c3e363a70c058800227352cbd7fc8aa7916dde Mon Sep 17 00:00:00 2001 From: Joshua Emele Date: Wed, 7 Nov 2018 16:07:40 -0800 -Subject: [PATCH 098/457] lan78xx: Debounce link events to minimize poll storm +Subject: [PATCH 098/533] lan78xx: Debounce link events to minimize poll storm The bInterval is set to 4 (i.e. 8 microframes => 1ms) and the only bit that the driver pays attention to is "link was reset". If there's a @@ -134619,10 +134619,10 @@ index 68d0aec53f3a..e5bd18aa1cfa 100644 2.18.4 -From d739e6254982370b43ec5d9bba7895a55710df0a Mon Sep 17 00:00:00 2001 +From 0e2858d4d474c735e6ee28711248635edd7b7b48 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 Mar 2019 09:51:22 +0000 -Subject: [PATCH 099/457] lan78xx: EEE support is now a PHY property +Subject: [PATCH 099/533] lan78xx: EEE support is now a PHY property Now that EEE support is a property of the PHY, use the PHY's DT node when querying the EEE-related properties. @@ -134651,10 +134651,10 @@ index e5bd18aa1cfa..a03bcbdd04f3 100644 2.18.4 -From fb853c2887bded3619c167a1889581fd4745f20b Mon Sep 17 00:00:00 2001 +From d1ff6ffa226283cf1216648cef7abfad57c80969 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 20 Jul 2018 22:03:41 +0100 -Subject: [PATCH 100/457] bcm2835-dma: Add support for per-channel flags +Subject: [PATCH 100/533] bcm2835-dma: Add support for per-channel flags Add the ability to interpret the high bits of the dreq specifier as flags to be included in the DMA_CS register. The motivation for this @@ -134705,10 +134705,10 @@ index bf7ba96a39f9..87b5d0bef355 100644 2.18.4 -From f093f12bb7a2e65f1770998bf8cdba27a56ed6ff Mon Sep 17 00:00:00 2001 +From befdec008a056ef81bacfc1c39bf42f729cc0b56 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 29 Mar 2019 10:53:14 +0000 -Subject: [PATCH 101/457] rtc: rv3028: Add backup switchover mode support +Subject: [PATCH 101/533] rtc: rv3028: Add backup switchover mode support Signed-off-by: Phil Howard --- @@ -134761,10 +134761,10 @@ index fa226f0fe67d..20baf2257631 100644 2.18.4 -From 4b0bbe04f7d8ef4b9f419e758e718e22ec753dd6 Mon Sep 17 00:00:00 2001 +From 2da42b13162678e828ca50ada7592d162661ccb2 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 2 May 2019 11:53:45 +0100 -Subject: [PATCH 102/457] lan78xx: use default alignment for rx buffers +Subject: [PATCH 102/533] lan78xx: use default alignment for rx buffers The lan78xx uses a 12-byte hardware rx header, so there is no need to allocate SKBs with NET_IP_ALIGN set. Removes alignment faults @@ -134790,10 +134790,10 @@ index a03bcbdd04f3..58f5b90f11d4 100644 2.18.4 -From 47f43a36ec17dfc834bae088a4b7984103d1e209 Mon Sep 17 00:00:00 2001 +From c2bcfff4a08f8a9a10c3c3018839592b37f56882 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:55:37 +0000 -Subject: [PATCH 103/457] media: ov5647: Add set_fmt and get_fmt calls. +Subject: [PATCH 103/533] media: ov5647: Add set_fmt and get_fmt calls. There's no way to query the subdevice for the supported resolutions. @@ -134843,10 +134843,10 @@ index e7d2e5b4ad4b..3e587eb0a30e 100644 2.18.4 -From 68b04714eb1b097a9de3df079c4ba46f48e29985 Mon Sep 17 00:00:00 2001 +From 67ed1aa90a1cb8010f92846072040c9fd137eefc Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:56:33 +0000 -Subject: [PATCH 104/457] media: ov5647: Add support for PWDN GPIO. +Subject: [PATCH 104/533] media: ov5647: Add support for PWDN GPIO. Add support for an optional GPIO connected to PWDN on the sensor. @@ -134941,10 +134941,10 @@ index 3e587eb0a30e..c39e3d20e3ef 100644 2.18.4 -From 6f192ae97fc81683bad13403c719aeb45ad477dd Mon Sep 17 00:00:00 2001 +From 5b78847db8ff79f44e40d468c598d90b4fd0237d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:56:47 +0000 -Subject: [PATCH 105/457] media: ov5647: Add support for non-continuous clock +Subject: [PATCH 105/533] media: ov5647: Add support for non-continuous clock mode The driver was only supporting continuous clock mode @@ -135026,10 +135026,10 @@ index c39e3d20e3ef..8a1a515388e0 100644 2.18.4 -From 4e69e32e15377eec33b55e753108f85721905408 Mon Sep 17 00:00:00 2001 +From 8f6fe71b9a74d5fe95b8560d6f15cab6c4d72e01 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:56:59 +0000 -Subject: [PATCH 106/457] media: tc358743: Increase FIFO level to 374. +Subject: [PATCH 106/533] media: tc358743: Increase FIFO level to 374. The existing fixed value of 16 worked for UYVY 720P60 over 2 lanes at 594MHz, or UYVY 1080P60 over 4 lanes. (RGB888 @@ -135063,10 +135063,10 @@ index 831b5b54fd78..8ca6d67a2b3e 100644 2.18.4 -From e115629096122d408158ec484ceb2af526405183 Mon Sep 17 00:00:00 2001 +From e6a14cd01256895ce4a34c5e0e9c1699b0425790 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Thu, 21 Sep 2017 17:30:24 +0200 -Subject: [PATCH 107/457] media: tc358743: fix connected/active CSI-2 lane +Subject: [PATCH 107/533] media: tc358743: fix connected/active CSI-2 lane reporting g_mbus_config was supposed to indicate all supported lane numbers, not @@ -135123,7 +135123,7 @@ index 8ca6d67a2b3e..46ea2d034580 100644 err = tc358743_probe_of(state); if (err == -ENODEV) diff --git a/include/media/v4l2-mediabus.h b/include/media/v4l2-mediabus.h -index 59b1de197114..2fd44f3dfc70 100644 +index c20e2dc6d432..396fb88266be 100644 --- a/include/media/v4l2-mediabus.h +++ b/include/media/v4l2-mediabus.h @@ -92,6 +92,14 @@ @@ -135145,10 +135145,10 @@ index 59b1de197114..2fd44f3dfc70 100644 2.18.4 -From ca557308ef3ea3efa71a3d5a00047b3f4b4c69c9 Mon Sep 17 00:00:00 2001 +From a3118c7b13b5bff98f77cb7bde5375b7d36b9f90 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:21 +0000 -Subject: [PATCH 108/457] media: tc358743: Add support for 972Mbit/s link freq. +Subject: [PATCH 108/533] media: tc358743: Add support for 972Mbit/s link freq. Adds register setups for running the CSI lanes at 972Mbit/s, which allows 1080P50 UYVY down 2 lanes. @@ -135230,10 +135230,10 @@ index 46ea2d034580..0856a711ee33 100644 2.18.4 -From 36a85d4b5831ca86bb47830d880670b4c51b0af2 Mon Sep 17 00:00:00 2001 +From ae747eafbaa5596b9eaef9636c991280962110ad Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:34 +0000 -Subject: [PATCH 109/457] media: tc358743: Check I2C succeeded during probe. +Subject: [PATCH 109/533] media: tc358743: Check I2C succeeded during probe. The probe for the TC358743 reads the CHIPID register from the device and compares it to the expected value of 0. @@ -135334,10 +135334,10 @@ index 0856a711ee33..056fc6b884dd 100644 2.18.4 -From 9eea5027a913b43210c57cbf7ee8e4710ba63bc5 Mon Sep 17 00:00:00 2001 +From 2733b76fd8dd7c85e5cffd5238a4e016ac9834c8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:46 +0000 -Subject: [PATCH 110/457] media: adv7180: Default to the first valid input +Subject: [PATCH 110/533] media: adv7180: Default to the first valid input The hardware default is differential CVBS on AIN1 & 2, which isn't very useful. @@ -135385,10 +135385,10 @@ index 4498d14d3429..e98dd2bee1e5 100644 2.18.4 -From 629b6abade0626ff89b86ca242ea81443d29c576 Mon Sep 17 00:00:00 2001 +From 4c9decda42299a2ebd9e3a25ed49e9d372098f97 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:56 +0000 -Subject: [PATCH 111/457] media: adv7180: Add YPrPb support for ADV7282M +Subject: [PATCH 111/533] media: adv7180: Add YPrPb support for ADV7282M The ADV7282M can support YPbPr on AIN1-3, but this was not selectable from the driver. Add it to the list of @@ -135415,10 +135415,10 @@ index e98dd2bee1e5..4103690a71df 100644 2.18.4 -From 1cc9cabc02513a5d736c0d03832be734746be43e Mon Sep 17 00:00:00 2001 +From b9088e51587f8b5d8b9b56d43f22dabc62d371cc Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:58:08 +0000 -Subject: [PATCH 112/457] media: videodev2: Add helper defines for printing +Subject: [PATCH 112/533] media: videodev2: Add helper defines for printing FOURCCs New helper defines that allow printing of a FOURCC using @@ -135449,10 +135449,10 @@ index 534eaa4d39bc..56c443cc2c3d 100644 2.18.4 -From 6cf249e00b0abdf387d81f0bbc2a4d034613ac48 Mon Sep 17 00:00:00 2001 +From e084333c51430b0e22cdee5b2b85040cd9c7e0f1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:59:06 +0000 -Subject: [PATCH 113/457] dt-bindings: Document BCM283x CSI2/CCP2 receiver +Subject: [PATCH 113/533] dt-bindings: Document BCM283x CSI2/CCP2 receiver Document the DT bindings for the CSI2/CCP2 receiver peripheral (known as Unicam) on BCM283x SoCs. @@ -135559,10 +135559,10 @@ index 000000000000..7714fb374b34 2.18.4 -From 6fb545ad29bf9f0caea29738ce3f10b952ef0fc9 Mon Sep 17 00:00:00 2001 +From 6cd7b0f4204388e4d3c1c2da48e50c9fc1157b67 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:59:40 +0000 -Subject: [PATCH 114/457] MAINTAINERS: Add entry for BCM2835 Unicam driver +Subject: [PATCH 114/533] MAINTAINERS: Add entry for BCM2835 Unicam driver Adds entry for the new BCM2835 Unicam (CSI-2 receiver) driver @@ -135593,10 +135593,10 @@ index 281de213ef47..29c300b73e89 100644 2.18.4 -From d522d7c8a364b863f663e95dd2746d4612d47a67 Mon Sep 17 00:00:00 2001 +From a98684565b5bce2d10f3d31e65420f150a39a848 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 22 Nov 2018 17:31:06 +0000 -Subject: [PATCH 115/457] media: tc358743: Return an appropriate colorspace +Subject: [PATCH 115/533] media: tc358743: Return an appropriate colorspace from tc358743_set_fmt When calling tc358743_set_fmt, the code was calling tc358743_get_fmt @@ -135697,10 +135697,10 @@ index 056fc6b884dd..0a8a25ff7872 100644 2.18.4 -From 3909202ef284635502ffe8ea8f5f40e3212cada6 Mon Sep 17 00:00:00 2001 +From 91c1cca21b60837aebcbc1adcc81beba6fcffa6b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 16:20:46 +0000 -Subject: [PATCH 116/457] staging: mmal-vchiq: Avoid use of bool in structures +Subject: [PATCH 116/533] staging: mmal-vchiq: Avoid use of bool in structures Fixes up a checkpatch error "Avoid using bool structure members because of possible alignment issues". @@ -135727,10 +135727,10 @@ index 9097bcbd67d8..8734a09498b1 100644 2.18.4 -From 88f3c13b00d3f5fc66d437be209fa9dabc26bc20 Mon Sep 17 00:00:00 2001 +From ab77207069db87a5f89835f895946590a8048e15 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 18:15:38 +0100 -Subject: [PATCH 117/457] staging: mmal-vchiq: Add support for event callbacks. +Subject: [PATCH 117/533] staging: mmal-vchiq: Add support for event callbacks. (Preparation for the codec driver). The codec uses the event mechanism to report things such as @@ -136095,10 +136095,10 @@ index 1dc81ecf9268..e87f88f99338 100644 2.18.4 -From fffcd287a0237ccb54a1edb2d6577035e15b2305 Mon Sep 17 00:00:00 2001 +From 636de4223cbcbe67a0072758efbd3d922d84d585 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 18:26:02 +0100 -Subject: [PATCH 118/457] staging: vc04_services: Support sending data to MMAL +Subject: [PATCH 118/533] staging: vc04_services: Support sending data to MMAL ports Add the ability to send data to ports. This only supports @@ -136143,10 +136143,10 @@ index 1a66c9484aa7..2361a11f1e20 100644 2.18.4 -From d73b9a130074fe39e77e2e667bbff6aa43b0cf6d Mon Sep 17 00:00:00 2001 +From e744db217f232a8c27cce9b9fcf32ec180b567dd Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 17:57:45 +0000 -Subject: [PATCH 119/457] media: videobuf2: Allow exporting of a struct dmabuf +Subject: [PATCH 119/533] media: videobuf2: Allow exporting of a struct dmabuf videobuf2 only allowed exporting a dmabuf as a file descriptor, but there are instances where having the struct dma_buf is @@ -136234,10 +136234,10 @@ index bbb3f26fbde9..7a4aa9cb28c9 100644 2.18.4 -From 2a78afef53b8a1cbaaee009766a39e80a95e2b38 Mon Sep 17 00:00:00 2001 +From feca5a02956480e0892fb0e99066153b15d14be5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 22 Jan 2019 12:04:09 +0000 -Subject: [PATCH 120/457] staging: mmal-vchiq: Fix client_component for 64 bit +Subject: [PATCH 120/533] staging: mmal-vchiq: Fix client_component for 64 bit kernel The MMAL client_component field is used with the event @@ -136275,10 +136275,10 @@ index 2361a11f1e20..3e2209847761 100644 2.18.4 -From 8e7aa22e98b491705378f54f7d94fadd934fd0c7 Mon Sep 17 00:00:00 2001 +From 133bb6011e91bd357fcc25bca08d4fe86bd1b24b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 15:09:28 +0000 -Subject: [PATCH 121/457] clk: clk-bcm2835: Use %zd when printing size_t +Subject: [PATCH 121/533] clk: clk-bcm2835: Use %zd when printing size_t The debug text for how many clocks have been registered uses "%d" with a size_t. Correct it to "%zd". @@ -136305,10 +136305,10 @@ index f1ef788c1194..2674b979a072 100644 2.18.4 -From 0de7aa103dd8b86188c5f01fbd0ca0f908d7bd24 Mon Sep 17 00:00:00 2001 +From c1fd5de672e408f657fa35d4032f362b98e1284e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 18 Sep 2018 11:08:51 +0100 -Subject: [PATCH 122/457] media: ov5647: Use gpiod_set_value_cansleep +Subject: [PATCH 122/533] media: ov5647: Use gpiod_set_value_cansleep All calls to the gpio library are in contexts that can sleep, therefore there is no issue with having those GPIOs controlled @@ -136365,10 +136365,10 @@ index 8a1a515388e0..07550377be2e 100644 2.18.4 -From 6cd3650d22a1e07fe254832abf7c2b6d96babf35 Mon Sep 17 00:00:00 2001 +From 9673f79a108b1c6c87d1ce3a7bcd3f6c2cb51665 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Feb 2019 12:33:29 +0000 -Subject: [PATCH 123/457] staging: mmal_vchiq: Add in the Bayer encoding +Subject: [PATCH 123/533] staging: mmal_vchiq: Add in the Bayer encoding formats The list of formats was copied before Bayer support was added. @@ -136422,10 +136422,10 @@ index 2be9941a1f30..44ba91aa6d47 100644 2.18.4 -From 9d6071901bfe6026d2e23fbcd22e49bdde02af82 Mon Sep 17 00:00:00 2001 +From 92c4ab419d87eeda455081dbc49c973e1563c4b1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 18 Feb 2019 15:52:29 +0000 -Subject: [PATCH 124/457] staging: mmal-vchiq: Update mmal_parameters.h with +Subject: [PATCH 124/533] staging: mmal-vchiq: Update mmal_parameters.h with recently defined params mmal_parameters.h hasn't been updated to reflect additions made @@ -136484,10 +136484,10 @@ index a1e39b1b1701..1793103b18fd 100644 2.18.4 -From 2ac2dc8e3245fb2b215b7698176453a0a81b0eb0 Mon Sep 17 00:00:00 2001 +From 0ee4f9668484e4115e2dcde5bc076f5827d70076 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 1 May 2019 13:27:23 +0100 -Subject: [PATCH 125/457] staging: mmal-vchiq: Free the event context for +Subject: [PATCH 125/533] staging: mmal-vchiq: Free the event context for control ports vchiq_mmal_component_init calls init_event_context for the @@ -136518,10 +136518,10 @@ index 3e2209847761..d4d9ad3500b6 100644 2.18.4 -From 0b7533eb6b9b2c19a36a6174f39d867607ca45c3 Mon Sep 17 00:00:00 2001 +From afba95156f71fe79de7349f65d038eb1faebcb2e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 May 2019 15:50:01 +0100 -Subject: [PATCH 126/457] staging: mmal-vchiq: Fix memory leak in error path +Subject: [PATCH 126/533] staging: mmal-vchiq: Fix memory leak in error path On error, vchiq_mmal_component_init could leave the event context allocated for ports. @@ -136600,10 +136600,10 @@ index d4d9ad3500b6..14bdfdea5770 100644 2.18.4 -From e56869c27c6cf81e1b3bd5ab94187b4a9fb11ff1 Mon Sep 17 00:00:00 2001 +From 36d440baf6050984083e056ee32e738751febdcc Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jun 2019 17:15:05 +0100 -Subject: [PATCH 127/457] w1: w1-gpio: Make GPIO an output for strong pullup +Subject: [PATCH 127/533] w1: w1-gpio: Make GPIO an output for strong pullup The logic to drive the data line high to implement a strong pullup assumed that the pin was already an output - setting a value does @@ -136633,10 +136633,10 @@ index d4632aace402..4832cd8c2596 100644 2.18.4 -From bf46446459685b85c4b67e8408732b9f546d334f Mon Sep 17 00:00:00 2001 +From bc197ad99e6e2baf0f0cc7cf188840795bb6e852 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 Feb 2019 08:49:39 +0000 -Subject: [PATCH 128/457] arm: bcm2835: Fix FIQ early ioremap +Subject: [PATCH 128/533] arm: bcm2835: Fix FIQ early ioremap The ioremapping creates mappings within the vmalloc area. The equivalent early function, create_mapping, now checks that the @@ -136712,10 +136712,10 @@ index 9b6c921106b5..9bd9842da59f 100644 2.18.4 -From c5d25988b6af2b32a43248475036e89934c17e68 Mon Sep 17 00:00:00 2001 +From c7ada481be302f1a857807bd41a8187bed8308d0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 May 2019 15:47:42 +0100 -Subject: [PATCH 129/457] arm: bcm2835: DMA can only address 1GB +Subject: [PATCH 129/533] arm: bcm2835: DMA can only address 1GB The legacy peripherals can only address the first gigabyte of RAM, so ensure that DMA allocations are restricted to that region. @@ -136743,10 +136743,10 @@ index 9bd9842da59f..7d59a9364175 100644 2.18.4 -From b2f0430a65b783aacadc959ca01626ec7571a905 Mon Sep 17 00:00:00 2001 +From 9a03565e4ba895c7661193e20bdd23a994a33ec7 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 4 May 2019 17:06:15 +0200 -Subject: [PATCH 130/457] hwrng: iproc-rng200: Add BCM2838 support +Subject: [PATCH 130/533] hwrng: iproc-rng200: Add BCM2838 support The HWRNG on the BCM2838 is compatible to iproc-rng200, so add the support to this driver instead of bcm2835-rng. @@ -136766,7 +136766,7 @@ Signed-off-by: Phil Elwell 2 files changed, 76 insertions(+), 4 deletions(-) diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig -index e92c4d9469d8..8cde1918a970 100644 +index 5952210526aa..e0f22ae01d97 100644 --- a/drivers/char/hw_random/Kconfig +++ b/drivers/char/hw_random/Kconfig @@ -104,7 +104,7 @@ config HW_RANDOM_IPROC_RNG200 @@ -136904,10 +136904,10 @@ index 01583faf9893..2a92ea658096 100644 2.18.4 -From 8986a9a870c9c66afe664e5e38ec696850195e3e Mon Sep 17 00:00:00 2001 +From b66e84c2df50515654931056a5f30c604a5ce5d4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 2 Aug 2019 15:20:11 +0100 -Subject: [PATCH 131/457] mmc: sdhci-iproc: Fix vmmc regulators on iProc +Subject: [PATCH 131/533] mmc: sdhci-iproc: Fix vmmc regulators on iProc The Linux support for controlling card power via regulators appears to be contentious. I would argue that the default behaviour is contrary to @@ -136956,10 +136956,10 @@ index c9434b461aab..a7191341a47b 100644 2.18.4 -From 696633ce8bbf3354eccfb97fec228d20fc5cd5e3 Mon Sep 17 00:00:00 2001 +From f5df17336f9a5e9e9eb052952d8d9b7ee015cd06 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 1 Nov 2018 17:31:37 +0000 -Subject: [PATCH 132/457] vchiq: Add 36-bit address support +Subject: [PATCH 132/533] vchiq: Add 36-bit address support Conditional on a new compatible string, change the pagelist encoding such that the top 24 bits are the pfn, leaving 8 bits for run length @@ -137168,10 +137168,10 @@ index 0784c5002417..f8b1c005af62 100644 2.18.4 -From edcc06bbd56bcdc9042d1e51b1362a9381516e4d Mon Sep 17 00:00:00 2001 +From 3f4f7a7a44e6acd7d2037b8e5f1f62c5a3b6c09e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 30 Apr 2019 19:15:30 +0100 -Subject: [PATCH 133/457] bcm2835-pcm.c: Support multichannel audio +Subject: [PATCH 133/533] bcm2835-pcm.c: Support multichannel audio --- .../vc04_services/bcm2835-audio/bcm2835-pcm.c | 17 +++++++++-------- @@ -137220,10 +137220,10 @@ index f783b632141b..446724e718f9 100644 2.18.4 -From af5525913d85c3948954f6ae5ff903a952d8aaea Mon Sep 17 00:00:00 2001 +From 755c69870dcfe0525fc2dd5822753f0778453b64 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 12 Sep 2018 14:44:53 +0100 -Subject: [PATCH 134/457] bcmgenet: constrain max DMA burst length +Subject: [PATCH 134/533] bcmgenet: constrain max DMA burst length --- drivers/net/ethernet/broadcom/genet/bcmgenet.h | 2 +- @@ -137246,10 +137246,10 @@ index f6ca01da141d..45ea07829b8c 100644 2.18.4 -From 0f07cc8fc509bb49c0f755b63b8c77b181455500 Mon Sep 17 00:00:00 2001 +From 4f49b7e34212ef702551f376c9b01e6b054202fe Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 27 Mar 2019 13:45:46 +0000 -Subject: [PATCH 135/457] bcmgenet: Better coalescing parameter defaults +Subject: [PATCH 135/533] bcmgenet: Better coalescing parameter defaults Set defaults for TX and RX packet coalescing to be equivalent to: @@ -137265,7 +137265,7 @@ Signed-off-by: Phil Elwell 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index be85dad2e3bc..9831185cc502 100644 +index fcca023f22e5..848c29c5c33d 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -2594,7 +2594,7 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_priv *priv, @@ -137295,10 +137295,10 @@ index be85dad2e3bc..9831185cc502 100644 2.18.4 -From d1ca4c134d65d8c7b718b5ef1fa61a97b4a181b7 Mon Sep 17 00:00:00 2001 +From 1ffe9ffff57a6f1e418e3ee26f44d0c511c269e5 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 14 May 2019 17:17:59 +0100 -Subject: [PATCH 136/457] net: genet: enable link energy detect powerdown for +Subject: [PATCH 136/533] net: genet: enable link energy detect powerdown for external PHYs There are several warts surrounding bcmgenet_mii_probe() as this @@ -137332,10 +137332,10 @@ index 6fb6c3556285..2e516f4c435e 100644 2.18.4 -From 3e719aa2e827ddac7557c45beb75e7242b6a6b69 Mon Sep 17 00:00:00 2001 +From 2695afea021f03f1a79f76519f42a0b11e1f5840 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Fri, 22 Mar 2019 09:47:14 +0000 -Subject: [PATCH 137/457] usb: xhci: Disable the XHCI 5 second timeout +Subject: [PATCH 137/533] usb: xhci: Disable the XHCI 5 second timeout If the VL805 EEPROM has not been programmed then boot will hang for five seconds. The timeout seems to be arbitrary and is an unecessary @@ -137349,7 +137349,7 @@ on the first boot. 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c -index d4a8d0efbbc4..001d3c1fac92 100644 +index 73f1373d517a..360f64183e03 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -196,8 +196,9 @@ int xhci_reset(struct xhci_hcd *xhci) @@ -137367,10 +137367,10 @@ index d4a8d0efbbc4..001d3c1fac92 100644 2.18.4 -From b26320876eb831865c05f88da1f681f10e41d579 Mon Sep 17 00:00:00 2001 +From 05d79ad667147e4681790a9515049ce4c0a440b6 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Mon, 13 May 2019 11:05:27 +0000 -Subject: [PATCH 138/457] spi: bcm2835: enable shared interrupt support +Subject: [PATCH 138/533] spi: bcm2835: enable shared interrupt support Add shared interrupt support for this driver. @@ -137408,10 +137408,10 @@ index 197485f2c2b2..5c7aa77f504e 100644 2.18.4 -From 5f65cde898841a931c77245b9031a1c05a1b15bf Mon Sep 17 00:00:00 2001 +From 0301e7dea82d59b8b768c3df7319ad4bbd05df5a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Jan 2019 16:11:50 +0000 -Subject: [PATCH 139/457] clk-bcm2835: Don't wait for pllh lock +Subject: [PATCH 139/533] clk-bcm2835: Don't wait for pllh lock Signed-off-by: Phil Elwell --- @@ -137452,10 +137452,10 @@ index 2674b979a072..38f97f1707d2 100644 2.18.4 -From 5ee5af9bc934e1867f3be9f5c037860f5abea8a6 Mon Sep 17 00:00:00 2001 +From 32aff97c4d239a80cdc90e493445654efb5da053 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 11 Jan 2019 17:31:07 -0800 -Subject: [PATCH 140/457] soc: bcm: bcm2835-pm: Add support for 2711. +Subject: [PATCH 140/533] soc: bcm: bcm2835-pm: Add support for 2711. Without the actual power management part any more, there's a lot less to set up for V3D. We just need to clear the RSTN field for the power @@ -137564,10 +137564,10 @@ index ed37dc40e82a..b2d157091e12 100644 2.18.4 -From 862a8b336535bd3ae73925e6870e31cdedef47d7 Mon Sep 17 00:00:00 2001 +From 652e6bab7337c8ef6e9ec365c7a81df2b2eea0c3 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 15:11:05 -0700 -Subject: [PATCH 141/457] clk: bcm2835: Add support for setting leaf clock +Subject: [PATCH 141/533] clk: bcm2835: Add support for setting leaf clock rates while running. As long as you wait for !BUSY, you can do glitch-free updates of clock @@ -137623,10 +137623,10 @@ index 38f97f1707d2..4cf4f5e12fe2 100644 2.18.4 -From 33baf841f0c312c034d2341c7c0c2c81ed35e02f Mon Sep 17 00:00:00 2001 +From b9da01668c40dcf1b0d3c4c34de67759c480ddf7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 15:24:04 -0700 -Subject: [PATCH 142/457] clk: bcm2835: Allow reparenting leaf clocks while +Subject: [PATCH 142/533] clk: bcm2835: Allow reparenting leaf clocks while they're running. This falls under the same "we can reprogram glitch-free as long as we @@ -137700,10 +137700,10 @@ index 4cf4f5e12fe2..3c55594684cd 100644 2.18.4 -From 03233bedad6493d41d8c5518c6e32f42ca3947bd Mon Sep 17 00:00:00 2001 +From 6511faf9543bb5dc4d2ee6ff9e831e41b13291ce Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 10:55:00 +0100 -Subject: [PATCH 143/457] usb: add plumbing for updating interrupt endpoint +Subject: [PATCH 143/533] usb: add plumbing for updating interrupt endpoint interval state xHCI caches device and endpoint data after the interface is configured, @@ -137816,10 +137816,10 @@ index 3dbb42c637c1..a60b7fc02fce 100644 2.18.4 -From f24a6e6630f4e75a3b6e8d69f4c8d62103772c45 Mon Sep 17 00:00:00 2001 +From 1b5e218edba4b013cd41c330d5cd8f82f18e91b4 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 11:33:39 +0100 -Subject: [PATCH 144/457] xhci: implement xhci_fixup_endpoint for interval +Subject: [PATCH 144/533] xhci: implement xhci_fixup_endpoint for interval adjustments Must be called in a non-atomic context, after the endpoint @@ -137832,7 +137832,7 @@ Signed-off-by: Jonathan Bell 1 file changed, 98 insertions(+) diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c -index 001d3c1fac92..e3cceec8ee13 100644 +index 360f64183e03..1bf56351f556 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -1455,6 +1455,103 @@ static int xhci_check_maxpacket(struct xhci_hcd *xhci, unsigned int slot_id, @@ -137951,10 +137951,10 @@ index 001d3c1fac92..e3cceec8ee13 100644 2.18.4 -From 9eb3b84cb6df2fe377bdc35dbfdeb013ed10debf Mon Sep 17 00:00:00 2001 +From 5138d8ca0947a267c0d832e66cd20f0aaf99c29b Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 11:42:03 +0100 -Subject: [PATCH 145/457] usbhid: call usb_fixup_endpoint after mangling +Subject: [PATCH 145/533] usbhid: call usb_fixup_endpoint after mangling intervals Lets the mousepoll override mechanism work with xhci. @@ -137980,10 +137980,10 @@ index 1134d543e5d6..3d5d82f7176f 100644 2.18.4 -From d0369ddec44400f08ee13fa3d5b27f020ef1124a Mon Sep 17 00:00:00 2001 +From c49528ff9b129ed89f9016a52df13b497d460091 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 11 Jun 2019 17:38:28 +0100 -Subject: [PATCH 146/457] arm: bcm2835: Add bcm2838 compatible string. +Subject: [PATCH 146/533] arm: bcm2835: Add bcm2838 compatible string. Signed-off-by: Phil Elwell --- @@ -138006,10 +138006,10 @@ index 7d59a9364175..282a023027fc 100644 2.18.4 -From 3196785b7c35bb97c3765f08b50595de0cf66f72 Mon Sep 17 00:00:00 2001 +From b410d6259b96655e9f42804abe2a4f7bba073877 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 4 Oct 2018 17:22:43 -0700 -Subject: [PATCH 147/457] drm/v3d: Add support for 2711. +Subject: [PATCH 147/533] drm/v3d: Add support for 2711. Signed-off-by: Eric Anholt --- @@ -138032,10 +138032,10 @@ index 9f7c26193831..a463f8c0ad4c 100644 2.18.4 -From a20ba39579e65ab648d04aee964ae4bf2eee7bf5 Mon Sep 17 00:00:00 2001 +From 0ba3009f496d50bf11888b73a5ddb6daf7443d70 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 12:35:43 -0800 -Subject: [PATCH 148/457] drm/v3d: Skip MMU flush if the device is currently +Subject: [PATCH 148/533] drm/v3d: Skip MMU flush if the device is currently off. If it's off, we know it will be reset on poweron, so the MMU won't @@ -138090,10 +138090,10 @@ index 5a453532901f..8986e7b96461 100644 2.18.4 -From 30bba538a02af209cc5fb9fc6dfbcb391f3712ab Mon Sep 17 00:00:00 2001 +From bbc122585c3481ebd35e5b0f500752349b8cf8fa Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 14:47:57 -0800 -Subject: [PATCH 149/457] drm/v3d: Hook up the runtime PM ops. +Subject: [PATCH 149/533] drm/v3d: Hook up the runtime PM ops. In translating the runtime PM code from vc4, I missed the ".pm" assignment to actually connect them up. Fixes missing MMU setup if @@ -138130,10 +138130,10 @@ index a463f8c0ad4c..5f581fe8c918 100644 2.18.4 -From 25a45e94586c2fc69f1a50e9557fc34779a73589 Mon Sep 17 00:00:00 2001 +From 1c30de2e76553fe59202ee7a41d7454ee7fa9db0 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 11 Jul 2019 17:55:43 +0100 -Subject: [PATCH 150/457] xhci: add quirk for host controllers that don't +Subject: [PATCH 150/533] xhci: add quirk for host controllers that don't update endpoint DCS Seen on a VLI VL805 PCIe to USB controller. For non-stream endpoints @@ -138170,7 +138170,7 @@ index 84da8406d5b4..551ef6445c6b 100644 if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index 167dae117f73..f7504a78e245 100644 +index db8612ec82d3..6cf0b04d2f6f 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -533,7 +533,10 @@ void xhci_find_new_dequeue_state(struct xhci_hcd *xhci, @@ -138230,10 +138230,10 @@ index d90c0d5df3b3..0aa1ccede6b1 100644 2.18.4 -From 6f3458a080e5b5c02dff2d963b301ebe92848360 Mon Sep 17 00:00:00 2001 +From 04436fa1506f95535b2bc49d6937f95ce4de2f85 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 12 Jul 2019 15:38:35 +0100 -Subject: [PATCH 151/457] i2c: bcm2835: Set clock-stretch timeout to 35ms +Subject: [PATCH 151/533] i2c: bcm2835: Set clock-stretch timeout to 35ms The BCM2835 I2C blocks have a register to set the clock-stretch timeout - how long the device is allowed to hold SCL low - in bus @@ -138283,10 +138283,10 @@ index 18b2e9e3d752..5b2589b6b9cc 100644 2.18.4 -From 0145699150ee83b7565e004efe946f6074e28f24 Mon Sep 17 00:00:00 2001 +From 1119680cc7bde1c2b925cb5e6d5dd7ecfc223510 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Aug 2019 15:23:14 +0100 -Subject: [PATCH 152/457] clk-bcm2835: Avoid null pointer exception +Subject: [PATCH 152/533] clk-bcm2835: Avoid null pointer exception clk_desc_array[BCM2835_PLLB] doesn't exist so we dereference null when iterating @@ -138318,10 +138318,10 @@ index 3c55594684cd..d686c51a68a9 100644 2.18.4 -From 080b132164e057e3bbaae9e9a63e14fef9a39866 Mon Sep 17 00:00:00 2001 +From 0072e87a348f348a7fea3d76eb6b7d823ced028d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 15:13:17 -0800 -Subject: [PATCH 153/457] drm/v3d: HACK: gut runtime pm for now. +Subject: [PATCH 153/533] drm/v3d: HACK: gut runtime pm for now. Something is still unstable -- on starting a new glxgears from an idle X11, I get an MMU violation in high addresses. The CTS also failed @@ -138435,10 +138435,10 @@ index 5f581fe8c918..e6dffb116eb3 100644 2.18.4 -From 1d80c358016377ee484d4445fbecf67e68772b2f Mon Sep 17 00:00:00 2001 +From 335eca6fb6d48012815335cba5595086f0332475 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 13:22:53 -0700 -Subject: [PATCH 154/457] drm/v3d: Clock V3D down when not in use. +Subject: [PATCH 154/533] drm/v3d: Clock V3D down when not in use. My various attempts at re-enabling runtime PM have failed, so just crank the clock down when V3D is idle to reduce power consumption. @@ -138606,10 +138606,10 @@ index 182c586525eb..b7b439de8660 100644 2.18.4 -From 69f1f387ab3ebedeaca34e3311c12a3f361719d8 Mon Sep 17 00:00:00 2001 +From 78b4fd2795a91ef2dfd84320022d3f15481eee50 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 9 May 2019 14:30:37 +0100 -Subject: [PATCH 155/457] drivers: char: add chardev for mmap'ing the RPiVid +Subject: [PATCH 155/533] drivers: char: add chardev for mmap'ing the RPiVid control registers Based on the gpiomem driver, allow mapping of the decoder register @@ -139064,10 +139064,10 @@ index b2d157091e12..f70a810c55f7 100644 2.18.4 -From b1493ef698ae3a3f466d0a40ebab20a678389d4c Mon Sep 17 00:00:00 2001 +From 02d22e7f6ce95a48a120f0e3baf485bcc05f31fd Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 1 Aug 2019 16:41:20 +0100 -Subject: [PATCH 156/457] hid: usb: Add device quirks for Freeway Airmouse T3 +Subject: [PATCH 156/533] hid: usb: Add device quirks for Freeway Airmouse T3 and MX3 These wireless mouse/keyboard combo remote control devices specify @@ -139088,7 +139088,7 @@ Signed-off-by: Jonathan Bell 2 files changed, 8 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index f170feaac40b..c5da2a86833d 100644 +index 94180c63571e..95fa95ee0012 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -220,6 +220,9 @@ @@ -139101,7 +139101,7 @@ index f170feaac40b..c5da2a86833d 100644 #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1259,6 +1262,9 @@ +@@ -1260,6 +1263,9 @@ #define USB_VENDOR_ID_XAT 0x2505 #define USB_DEVICE_ID_XAT_CSR 0x0220 @@ -139135,10 +139135,10 @@ index bf7ecab5d9e5..3cde18e1be7b 100644 2.18.4 -From 1e135e15aa525dc669ce3fdd52adc070f93bd93d Mon Sep 17 00:00:00 2001 +From e6ad903dd58b610bb2864e9b727ec110f4b75ed2 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 16 Jul 2019 12:18:21 +0100 -Subject: [PATCH 157/457] Add HDMI1 facility to the driver. +Subject: [PATCH 157/533] Add HDMI1 facility to the driver. For generic ALSA, all you need is the bcm2835.h change, but have also added structures for IEC958 HDMI. Not sure how to @@ -139228,10 +139228,10 @@ index 1b36475872d6..02f50768af96 100644 2.18.4 -From 63a5035b1649da2bdd05fdd53c7e285554f688ac Mon Sep 17 00:00:00 2001 +From 9e3561b2c9ea5536dd9052f00fc2bf00826faa7a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 9 Aug 2019 08:51:43 +0100 -Subject: [PATCH 158/457] net: bcmgenet: Workaround #2 for Pi4 Ethernet fail +Subject: [PATCH 158/533] net: bcmgenet: Workaround #2 for Pi4 Ethernet fail Some combinations of Pi 4Bs and Ethernet switches don't reliably get a DCHP-assigned IP address, leaving the unit with a self=assigned 169.254 @@ -139256,7 +139256,7 @@ Signed-off-by: Phil Elwell 1 file changed, 8 insertions(+) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index 9831185cc502..fdfc547da0e5 100644 +index 848c29c5c33d..8336558e4738 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -67,6 +67,9 @@ @@ -139285,10 +139285,10 @@ index 9831185cc502..fdfc547da0e5 100644 2.18.4 -From 8d260c1e06617e317a46de84d85bdac2d5620504 Mon Sep 17 00:00:00 2001 +From 93d750a46e6fc3d690ae1d3a07ee90b87705275b Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 13 Aug 2019 15:53:29 +0100 -Subject: [PATCH 159/457] xhci: Use more event ring segment table entries +Subject: [PATCH 159/533] xhci: Use more event ring segment table entries Users have reported log spam created by "Event Ring Full" xHC event TRBs. These are caused by interrupt latency in conjunction with a very @@ -139353,10 +139353,10 @@ index 0aa1ccede6b1..b814cf58b39b 100644 2.18.4 -From e05b74c6bb8b2af3f0828c9532b202870a54c866 Mon Sep 17 00:00:00 2001 +From 8b35023503f7ab20c0bca42bde0eb88551daa90c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 15 Aug 2019 12:02:34 +0100 -Subject: [PATCH 160/457] configs: arm64/bcm2711: Enable V3D +Subject: [PATCH 160/533] configs: arm64/bcm2711: Enable V3D Enable the V3D driver, which depends on BCM2835_POWER. @@ -139387,10 +139387,10 @@ index 9a5c44606337..b0e048697964 100644 2.18.4 -From 4ea823c6493dc3b3adb606454816e06f410019b6 Mon Sep 17 00:00:00 2001 +From e82dd3682a3436f03f7b4e3403ad6d6f5f8a3734 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Sep 2019 18:16:56 +0100 -Subject: [PATCH 161/457] arch/arm: Add model string to cpuinfo +Subject: [PATCH 161/533] arch/arm: Add model string to cpuinfo Signed-off-by: Phil Elwell --- @@ -139429,10 +139429,10 @@ index 3f65d0ac9f63..6f39d21f4254 100644 2.18.4 -From 9688f9f295406edb3df26dd98896cd8396863642 Mon Sep 17 00:00:00 2001 +From 5077b2f211efa5106fea7b8e7aa02c941b042725 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Sep 2019 18:17:25 +0100 -Subject: [PATCH 162/457] arch/arm64: Add Revision, Serial, Model to cpuinfo +Subject: [PATCH 162/533] arch/arm64: Add Revision, Serial, Model to cpuinfo Signed-off-by: Phil Elwell --- @@ -139493,10 +139493,10 @@ index 77605aec25fe..721350d21074 100644 2.18.4 -From 0f1c6130b65c127597c289205ceebf3c30b8c296 Mon Sep 17 00:00:00 2001 +From 997cfc6d6e19146a4f3a68a2f43ca1fb68dd66f3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 28 Aug 2019 13:34:30 +0100 -Subject: [PATCH 163/457] media: dt-bindings: Add binding for the Sony IMX219 +Subject: [PATCH 163/533] media: dt-bindings: Add binding for the Sony IMX219 sensor The IMX219 is an 8MPix CSI2 sensor, supporting 2 or 4 data lanes. @@ -139577,10 +139577,10 @@ index 000000000000..a02f1ce1e120 2.18.4 -From 9993bdd1faf0fd1cbea4ad3422896b0ac30f250a Mon Sep 17 00:00:00 2001 +From f0aaa0fc380f7eec15899c909aaaaeb6e41a95cc Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 15:04:51 +0100 -Subject: [PATCH 164/457] v4l2: Add a Greyworld AWB mode. +Subject: [PATCH 164/533] v4l2: Add a Greyworld AWB mode. Adds a simple greyworld white balance preset, mainly for use with cameras without an IR filter (eg Raspberry Pi NoIR) @@ -139619,10 +139619,10 @@ index a184c4939438..fbe96b80a748 100644 2.18.4 -From 0faa420538a02bea6dc5c3b789c1f7b03e2ff844 Mon Sep 17 00:00:00 2001 +From 07ae0a0601bc46a63ca472cb204fd9b9e19a6ed8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 15:13:06 +0100 -Subject: [PATCH 165/457] staging: bcm2835-camera: Add greyworld AWB mode +Subject: [PATCH 165/533] staging: bcm2835-camera: Add greyworld AWB mode This is mainly used for the NoIR camera which has no IR filter and can completely confuse normal AWB presets. @@ -139664,10 +139664,10 @@ index 1793103b18fd..27bafc5f01d2 100644 2.18.4 -From 3cf1d8f8ca733d0a8440c3cc62f0acfecf8b36e8 Mon Sep 17 00:00:00 2001 +From 23d3873c4c3e70b5e69764cbf5659486354dceb1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 18 Sep 2019 17:22:36 +0100 -Subject: [PATCH 166/457] drm/v3d: Delete pm_runtime support +Subject: [PATCH 166/533] drm/v3d: Delete pm_runtime support The pm_runtime was blocking changelist submission, so delete it as a temporary workaround. @@ -139734,10 +139734,10 @@ index 8986e7b96461..618503f2f2f1 100644 2.18.4 -From 65ebf1d67d00768de4602511cd598a4c484ba213 Mon Sep 17 00:00:00 2001 +From 0b940a5201be4236254ab28217c2c3d9d9e1cf15 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 23 Sep 2019 09:26:41 +0100 -Subject: [PATCH 167/457] kbuild: Allow .dtbo overlays to be built piecemeal +Subject: [PATCH 167/533] kbuild: Allow .dtbo overlays to be built piecemeal Before 4.20, it was possible to build an arbitrary overlay by copying it to arm/boot/dts/overlays/mytest-overlay.dts and running: @@ -139759,7 +139759,7 @@ Signed-off-by: Phil Elwell 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile -index 44f4cd2e58a8..1538a68dbe7f 100644 +index bb3770be9779..68fbdd575b57 100644 --- a/Makefile +++ b/Makefile @@ -1337,6 +1337,9 @@ ifneq ($(dtstree),) @@ -139776,10 +139776,10 @@ index 44f4cd2e58a8..1538a68dbe7f 100644 2.18.4 -From b180411c7da29b64f5149a30fc26bdee3ed0c4c0 Mon Sep 17 00:00:00 2001 +From 6d4ec57abaf000d6b88586b49eb3febaee530f62 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Thu, 19 Sep 2019 20:45:30 +0200 -Subject: [PATCH 168/457] ARM: bcm: Switch board, clk and pinctrl to bcm2711 +Subject: [PATCH 168/533] ARM: bcm: Switch board, clk and pinctrl to bcm2711 compatible After the decision to use bcm2711 compatible for upstream, we should @@ -139808,10 +139808,10 @@ index 282a023027fc..e538e0f899a5 100644 2.18.4 -From d0925039410b5783c1938d49430a312283851aca Mon Sep 17 00:00:00 2001 +From 792723a589a66198599d3ed6112138df32b1b9d5 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 24 Sep 2019 18:26:55 +0100 -Subject: [PATCH 169/457] Rename HDMI ALSA device names, check for enable state +Subject: [PATCH 169/533] Rename HDMI ALSA device names, check for enable state HDMI Alsa devices renamed to match names used by DRM, to HDMI 1 and HDMI 2 @@ -139953,10 +139953,10 @@ index 4d5b99d8ae9d..2f465dba54bf 100644 2.18.4 -From 254294725e7f31fb8b508a1339d5d6576a56eaba Mon Sep 17 00:00:00 2001 +From fc0aa180867315c304d305c9ced86608603d5271 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Thu, 10 Oct 2019 19:12:08 +0200 -Subject: [PATCH 170/457] dt-bindings: Add binding for the Infineon IRS1125 +Subject: [PATCH 170/533] dt-bindings: Add binding for the Infineon IRS1125 sensor Adds a binding for the Infineon IRS1125 time-of-flight depth @@ -140026,10 +140026,10 @@ index 000000000000..25a48028c957 2.18.4 -From 5a10d4f7d229c37b4cab4f32ac388074ca10beba Mon Sep 17 00:00:00 2001 +From d635cac221d39dd8a96a19906dcb6568d892c0b1 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Thu, 10 Oct 2019 19:12:36 +0200 -Subject: [PATCH 171/457] media: i2c: Add a driver for the Infineon IRS1125 +Subject: [PATCH 171/533] media: i2c: Add a driver for the Infineon IRS1125 depth sensor The Infineon IRS1125 is a time of flight depth sensor that @@ -141271,10 +141271,10 @@ index 000000000000..dccaca23aa76 2.18.4 -From 59434570753379ef678be984d64c16914163933e Mon Sep 17 00:00:00 2001 +From d5a9574179534e6df5be61e8a57d45308d7028ce Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Nov 2019 14:01:41 +0000 -Subject: [PATCH 172/457] drm/v3d: Don't clear MMU control bits on exception +Subject: [PATCH 172/533] drm/v3d: Don't clear MMU control bits on exception MMU exception conditions are reported in the V3D_MMU_CTRL register as write-1-to-clear (W1C) bits. The MMU interrupt handling code clears any @@ -141311,10 +141311,10 @@ index c88686489b88..b804783e2795 100644 2.18.4 -From 2fe6cdd47259abf017a3e580788ae7063a9ba3cb Mon Sep 17 00:00:00 2001 +From d2ade2d9b1559b75308af5b3743023b13305ee99 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Nov 2019 20:18:08 +0000 -Subject: [PATCH 173/457] drm/v3d: Suppress all but the first MMU error +Subject: [PATCH 173/533] drm/v3d: Suppress all but the first MMU error The v3d driver currently encounters a lot of MMU PTE exceptions, so only log the first to avoid swamping the kernel log. @@ -141356,10 +141356,10 @@ index b804783e2795..063418907a19 100644 2.18.4 -From 8b9c60a9a8002bb562e942e498a40f7159b5361d Mon Sep 17 00:00:00 2001 +From 212b954a6df4ee03abae2416b3de1ae3102340ec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 12 Nov 2019 16:41:21 +0000 -Subject: [PATCH 174/457] drm/v3d: Plug dma_fence leak +Subject: [PATCH 174/533] drm/v3d: Plug dma_fence leak The irq_fence and done_fence are given a reference that is never released. The necessary dma_fence_put()s seem to have been @@ -141390,10 +141390,10 @@ index 49c7920608e2..bfbe33a9492d 100644 2.18.4 -From d81ec1e146786bf8fa0fcfc7fcb458b18ef32158 Mon Sep 17 00:00:00 2001 +From 757e8596357f3d4ab9d3f28005f1144bd98d97d2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 Nov 2019 13:57:48 +0000 -Subject: [PATCH 175/457] staging: vchiq_arm: Register vcsm-cma as a platform +Subject: [PATCH 175/533] staging: vchiq_arm: Register vcsm-cma as a platform driver Following the same pattern as bcm2835-camera and bcm2835-audio, @@ -141436,10 +141436,10 @@ index 4d10e6025926..e4781e8544ce 100644 2.18.4 -From a1ffe9246ec37655ec95de21790eca798a393cb1 Mon Sep 17 00:00:00 2001 +From 0205c8df401e278f57716fda9eb41a65d9038a00 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 Nov 2019 13:57:58 +0000 -Subject: [PATCH 176/457] staging: vchiq_arm: Register bcm2835-codec as a +Subject: [PATCH 176/533] staging: vchiq_arm: Register bcm2835-codec as a platform driver Following the same pattern as bcm2835-camera and bcm2835-audio, @@ -141482,10 +141482,10 @@ index e4781e8544ce..3a2a7c1539af 100644 2.18.4 -From 853e2ee54b0bd374e67738f923589e0aa5504cc6 Mon Sep 17 00:00:00 2001 +From d6fa26929c5685bcdfdaa7464d4d60c8d739b304 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 14 Nov 2019 11:59:01 +0000 -Subject: [PATCH 177/457] net: bcmgenet: The second IRQ is optional +Subject: [PATCH 177/533] net: bcmgenet: The second IRQ is optional As of 5.4, the kernel logs errors for absent IRQs unless requested with platform_get_irq_optional. @@ -141512,10 +141512,10 @@ index 063418907a19..0f7a23f051df 100644 2.18.4 -From 4b50080e4a457ba6b07bb8509c71d60a349b96e1 Mon Sep 17 00:00:00 2001 +From d2a3d289a05acecf3fd88de9e08c3c8565a09e36 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 31 Oct 2019 14:39:44 +0000 -Subject: [PATCH 178/457] net:phy:2711 Allow ethernet LED mode to be set via +Subject: [PATCH 178/533] net:phy:2711 Allow ethernet LED mode to be set via device tree Add device tree entries and code to allow the specification of @@ -141564,10 +141564,10 @@ index cd271de9609b..457b214d3601 100644 2.18.4 -From 09da51b70460f15ba7282614de7fb8d6b1ba511d Mon Sep 17 00:00:00 2001 +From af76817931ed07566d9f08f649a2d9efb9e11f9e Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 7 Nov 2019 14:59:59 +0000 -Subject: [PATCH 179/457] net:phy:2711 Change the default ethernet LED actions +Subject: [PATCH 179/533] net:phy:2711 Change the default ethernet LED actions This should return default behaviour back to that of previous releases. @@ -141603,10 +141603,10 @@ index 457b214d3601..84ec5f2fae73 100644 2.18.4 -From c42b1977e9a1dc40e6fa2509dcc32d1ba276c22f Mon Sep 17 00:00:00 2001 +From 23fce296535c10b544868f68c5e71f8cf19884d5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 23 Aug 2019 16:34:38 +0100 -Subject: [PATCH 180/457] v3d_drv: Handle missing clock more gracefully +Subject: [PATCH 180/533] v3d_drv: Handle missing clock more gracefully Signed-off-by: popcornmix --- @@ -141636,10 +141636,10 @@ index 065fb20cc4a8..bfbea29c6c1f 100644 2.18.4 -From 852bf21b2adc1f44f5e8f6551c7cddb976e9b39b Mon Sep 17 00:00:00 2001 +From a898ca9f059d09982f02bab2c0946b6ec4ec7fc7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 5 Sep 2019 17:59:14 +0100 -Subject: [PATCH 181/457] v3d_gem: Kick the clock so firmware knows we are +Subject: [PATCH 181/533] v3d_gem: Kick the clock so firmware knows we are using firmware clock interface Setting the v3d clock to low value allows firmware to handle dvfs in case @@ -141669,10 +141669,10 @@ index bfbe33a9492d..b4fb899a9409 100644 2.18.4 -From 40e1c70995957233aa7a6ed046443da5ff204ca1 Mon Sep 17 00:00:00 2001 +From 883b1ac008e5ddff98a889bb39d24567739e1e98 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 9 Sep 2019 15:49:56 +0100 -Subject: [PATCH 182/457] clk-raspberrypi: Allow cpufreq driver to also adjust +Subject: [PATCH 182/533] clk-raspberrypi: Allow cpufreq driver to also adjust gpu clocks For performance/power it is beneficial to adjust gpu clocks with arm clock. @@ -141700,10 +141700,10 @@ index f89b9cfc4309..f4884a5b598a 100644 2.18.4 -From 1478686df61c416ef7d5feda06677f88580a1929 Mon Sep 17 00:00:00 2001 +From e170aadc50db963283a487f0e37a9997b5ea9c96 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 3 Sep 2019 20:28:00 +0100 -Subject: [PATCH 183/457] clk-bcm2835: Disable v3d clock +Subject: [PATCH 183/533] clk-bcm2835: Disable v3d clock This is controlled by firmware, see clk-raspberrypi.c @@ -141764,10 +141764,10 @@ index d686c51a68a9..84f24244d1b5 100644 2.18.4 -From 42e66c1ec1a077e47a01d744fc0812ee36e82d1d Mon Sep 17 00:00:00 2001 +From 0ddd5798a4d4dd1cf9bf5f839a4f6b4967295af0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 22 Nov 2019 16:23:32 +0000 -Subject: [PATCH 184/457] drm/v3d: Set dma_mask as well as coherent_dma_mask +Subject: [PATCH 184/533] drm/v3d: Set dma_mask as well as coherent_dma_mask Both coherent_dma_mask and dma_mask act as constraints on allocations and bounce buffer usage, so be sure to set dma_mask to the appropriate @@ -141797,10 +141797,10 @@ index bfbea29c6c1f..3237f47a4792 100644 2.18.4 -From 1a7f6e67f59db2a0cfda172109711ab82051641b Mon Sep 17 00:00:00 2001 +From 730c3fba120337f3665d3ba25412d08f61dbc927 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 29 Jan 2019 16:13:25 +0000 -Subject: [PATCH 185/457] staging: vchiq_arm: Set up dma ranges on child +Subject: [PATCH 185/533] staging: vchiq_arm: Set up dma ranges on child devices The VCHIQ driver now loads the audio, camera, codec, and vc-sm @@ -141836,10 +141836,10 @@ index 3a2a7c1539af..a9502b0a53a5 100644 2.18.4 -From c9ca339616de92150068e49a65463b0439cd8f0d Mon Sep 17 00:00:00 2001 +From 5f4f65eed056fcdec61039f13f62e0f97d970831 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 18 Jun 2019 12:15:50 +0100 -Subject: [PATCH 186/457] staging: vchiq: Use the old dma controller for OF +Subject: [PATCH 186/533] staging: vchiq: Use the old dma controller for OF config on platform devices vchiq on Pi4 is no longer under the soc node, therefore it @@ -141893,10 +141893,10 @@ index a9502b0a53a5..afbf76c83cf6 100644 2.18.4 -From b210a8793e73cc39db8249cf098f2ee250b1d40f Mon Sep 17 00:00:00 2001 +From 42865be8bee66f5c1adb23de4c588b3c1647e920 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Fri, 27 Dec 2019 11:40:56 +0100 -Subject: [PATCH 187/457] ARM: bcm: Backport BCM2711 support from upstream +Subject: [PATCH 187/533] ARM: bcm: Backport BCM2711 support from upstream Make the BCM2711 a different machine, but keep it in board_bcm2835. @@ -141946,10 +141946,10 @@ index e538e0f899a5..91a758c61f48 100644 2.18.4 -From 497038790b0c4a301a267865eeecaefa3c91e554 Mon Sep 17 00:00:00 2001 +From b797c423c0c087fc57980994f3f511d2c91fbb2f Mon Sep 17 00:00:00 2001 From: Luke Hinds <7058938+lukehinds@users.noreply.github.com> Date: Wed, 22 Jan 2020 16:03:00 +0000 -Subject: [PATCH 188/457] Initialise rpi-firmware before clk-bcm2835 +Subject: [PATCH 188/533] Initialise rpi-firmware before clk-bcm2835 The IMA (Integrity Measurement Architecture) looks for a TPM (Trusted Platform Module) having been registered when it initialises; otherwise @@ -142001,10 +142001,10 @@ index e7df000f8b2c..8da5be17b906 100644 2.18.4 -From b26a84bbd28b452925733c71d5984b9354ed2fc8 Mon Sep 17 00:00:00 2001 +From 3170ba63d5322dc90f6b72d2fb52dff327b99c3c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 3 Feb 2020 17:30:46 +0000 -Subject: [PATCH 189/457] staging: vchiq_arm: Give vchiq children DT nodes +Subject: [PATCH 189/533] staging: vchiq_arm: Give vchiq children DT nodes vchiq kernel clients are now instantiated as platform drivers rather than using DT, but the children of the vchiq interface may still @@ -142046,10 +142046,10 @@ index afbf76c83cf6..0da9b267797d 100644 2.18.4 -From 6c7f949c39213dab40db21c00f19d7bff4a36404 Mon Sep 17 00:00:00 2001 +From dc1e742ab0c6a142c71cdf26f9c3dee653787bc6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Jan 2020 16:04:30 +0000 -Subject: [PATCH 190/457] pinctrl: bcm2835: Remove gpiochip on error +Subject: [PATCH 190/533] pinctrl: bcm2835: Remove gpiochip on error A failure in gpiochip_irqchip_add leads to a leak of a gpiochip. Fix the leak with the use of devm_gpiochip_add_data. @@ -142077,10 +142077,10 @@ index bbf761c41dc5..2696029e1689 100644 2.18.4 -From fc70fcf09b58bff5aa7512d061fcdfe3256f7126 Mon Sep 17 00:00:00 2001 +From e8c396c4387a47e57993eee9dd29f46188db0a86 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Jan 2020 14:05:42 +0000 -Subject: [PATCH 191/457] pinctrl: bcm2835: Change init order for gpio hogs +Subject: [PATCH 191/533] pinctrl: bcm2835: Change init order for gpio hogs pinctrl-bcm2835 is a combined pinctrl/gpio driver. Currently the gpio side is registered first, but this breaks gpio hogs (which are @@ -142161,10 +142161,10 @@ index 2696029e1689..edb3a863871d 100644 2.18.4 -From db3b0e96c25cca11a617978b04b190d14162e11c Mon Sep 17 00:00:00 2001 +From 2720a96b132e32fca87f3f6db478eda9e3f93b01 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 25 Feb 2020 17:38:20 +0000 -Subject: [PATCH 192/457] pinctrl: bcm2835: Accept fewer than expected IRQs +Subject: [PATCH 192/533] pinctrl: bcm2835: Accept fewer than expected IRQs The downstream .dts files only request two GPIO IRQs. Truncate the array of parent IRQs when irq_of_parse_and_map returns 0. @@ -142198,10 +142198,10 @@ index edb3a863871d..bda29f421e78 100644 2.18.4 -From 6835941413ab0e83a4065e74a6acbb288ac5484a Mon Sep 17 00:00:00 2001 +From 0e6f455a0efb90b01c076500bd69b7c3ba28f1b7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 2 Mar 2020 14:40:19 +0000 -Subject: [PATCH 193/457] drivers: char: vcio: Use common compat header +Subject: [PATCH 193/533] drivers: char: vcio: Use common compat header The definition of compat_ptr is now common for most platforms, but requires the inclusion of . @@ -142227,10 +142227,10 @@ index d2598663a2b5..a39155a94fb7 100644 2.18.4 -From a178029f1a7592ef654819a6fa2b38e4a199e4b7 Mon Sep 17 00:00:00 2001 +From 9c17dfe44f03399a75dfa3138916c0dd28a58f73 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 2 Mar 2020 14:42:23 +0000 -Subject: [PATCH 194/457] video: fbdev: bcm2708_fb: Use common compat header +Subject: [PATCH 194/533] video: fbdev: bcm2708_fb: Use common compat header The definition of compat_ptr is now common for most platforms, but requires the inclusion of . @@ -142256,10 +142256,10 @@ index 0e9ec3f593b8..17e9260655e4 100644 2.18.4 -From adcd5087c9077a7030504939a96b5002bd473c1b Mon Sep 17 00:00:00 2001 +From 07adaedb7ff22d373b92147e1741bfb13f940ed0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 6 Feb 2020 12:23:15 +0000 -Subject: [PATCH 195/457] of: overlay: Correct symbol path fixups +Subject: [PATCH 195/533] of: overlay: Correct symbol path fixups When symbols from overlays are added to the live tree their paths must be rebased. The translated symbol is normally the result of joining @@ -142299,10 +142299,10 @@ index 50bbe0edf538..7e585d201ba0 100644 2.18.4 -From 16f0a7799dd8dfc5e2ad02cd3bfac7b03da83020 Mon Sep 17 00:00:00 2001 +From 99137021272b09c31f0e58d2c7ae726f763d7916 Mon Sep 17 00:00:00 2001 From: Jim Quinlan Date: Mon, 15 Jan 2018 18:28:39 -0500 -Subject: [PATCH 196/457] dt-bindings: pci: Add DT docs for Brcmstb PCIe device +Subject: [PATCH 196/533] dt-bindings: pci: Add DT docs for Brcmstb PCIe device The DT bindings description of the Brcmstb PCIe device is described. This node can be used by almost all Broadcom settop box chips, using @@ -142383,10 +142383,10 @@ index 000000000000..a1a9ad5e70ca 2.18.4 -From 92fecf8713ada7fcca2044a09a2bc0baeccff993 Mon Sep 17 00:00:00 2001 +From 0dd4d16a4b5f25d3c93c121f05d25f22f9cfdde9 Mon Sep 17 00:00:00 2001 From: Nataliya Korovkina Date: Thu, 12 Mar 2020 17:22:53 -0400 -Subject: [PATCH 197/457] Kbuild: Allow .dtbo overlays to be built, adjust. +Subject: [PATCH 197/533] Kbuild: Allow .dtbo overlays to be built, adjust. This is adjustment to commit d368ceaacdccd7732dc97d1d7987bdf7149d62e3 "kbuild: Allow .dtbo overlays to be built piecemeal" @@ -142399,7 +142399,7 @@ Signed-off-by: Nataliya Korovkina 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 1538a68dbe7f..112709fbcca8 100644 +index 68fbdd575b57..dc34b4a48f29 100644 --- a/Makefile +++ b/Makefile @@ -1337,7 +1337,7 @@ ifneq ($(dtstree),) @@ -142415,10 +142415,10 @@ index 1538a68dbe7f..112709fbcca8 100644 2.18.4 -From 3195ca124bd4e3cd1d3e9d267675780f8aeea66d Mon Sep 17 00:00:00 2001 +From 376e0894a8a61d6ab73a97abcc6ed38fb5c207e0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 Apr 2020 11:22:44 +0100 -Subject: [PATCH 198/457] bcmgenet: Disable skip_umac_reset by default +Subject: [PATCH 198/533] bcmgenet: Disable skip_umac_reset by default Possible fixed upstream by 'net: bcmgenet: keep MAC in reset until PHY is up' @@ -142428,7 +142428,7 @@ Signed-off-by: popcornmix 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index fdfc547da0e5..d71f4cc26024 100644 +index 8336558e4738..ae7011c1e1f7 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -67,7 +67,7 @@ @@ -142444,10 +142444,10 @@ index fdfc547da0e5..d71f4cc26024 100644 2.18.4 -From e86326dad140844069ade9ce3f78de5db5439ace Mon Sep 17 00:00:00 2001 +From 30e8209d6230dc02469433c622854fcbd37b4a03 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 24 Jan 2020 14:22:06 +0000 -Subject: [PATCH 199/457] drm/fourcc: Add packed 10bit YUV 4:2:0 format +Subject: [PATCH 199/533] drm/fourcc: Add packed 10bit YUV 4:2:0 format Adds a format that is 3 10bit YUV 4:2:0 samples packed into a 32bit work (with 2 spare bits). @@ -142507,10 +142507,10 @@ index 82f327801267..f6fae56328de 100644 2.18.4 -From 34693566d7be449bd951ba9f53dd1307a5489165 Mon Sep 17 00:00:00 2001 +From 7d551b89c23c353f45578031461e4b1dc05e4c0c Mon Sep 17 00:00:00 2001 From: Jernej Skrabec Date: Fri, 13 Dec 2019 17:04:25 +0100 -Subject: [PATCH 200/457] media: uapi: hevc: Add scaling matrix control +Subject: [PATCH 200/533] media: uapi: hevc: Add scaling matrix control Taken from https://patchwork.linuxtv.org/patch/60728/ Changes (mainly documentation) have been requested. @@ -142669,10 +142669,10 @@ index 1009cf0891cc..1592e52c3614 100644 2.18.4 -From 2eecadcc024da2101f6f2f0ef8c83220154311cc Mon Sep 17 00:00:00 2001 +From cb23faf1e027f68114a6d9f378b8b2d9482cdb99 Mon Sep 17 00:00:00 2001 From: Jernej Skrabec Date: Fri, 13 Dec 2019 17:04:27 +0100 -Subject: [PATCH 201/457] media: uapi: hevc: Add segment address field +Subject: [PATCH 201/533] media: uapi: hevc: Add segment address field From https://patchwork.linuxtv.org/patch/60725/ Changes requested, but mainly docs. @@ -142738,10 +142738,10 @@ index 1592e52c3614..3e2e32098312 100644 2.18.4 -From 3ae57c6f936d7d73fa048338bf0b5b7dc51ae6b1 Mon Sep 17 00:00:00 2001 +From d2d5060ea61f3fc106a9bc1d9182a451414abc5c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 23 Mar 2020 18:34:01 +0000 -Subject: [PATCH 202/457] media: hevc_ctrls: Add slice param dependent slice +Subject: [PATCH 202/533] media: hevc_ctrls: Add slice param dependent slice segment Adds V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT define. @@ -142767,10 +142767,10 @@ index 3e2e32098312..0ba7735465a2 100644 2.18.4 -From cd1cc83cab4c69a0c10a414c3b87412cb6cff8e8 Mon Sep 17 00:00:00 2001 +From 35174ef2a64fc6f8d8e9b9ac9ba509f482aad618 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 23 Mar 2020 19:00:17 +0000 -Subject: [PATCH 203/457] media: uapi: Add hevc ctrls for WPP decoding +Subject: [PATCH 203/533] media: uapi: Add hevc ctrls for WPP decoding WPP can allow greater parallelism within the decode, but needs offset information to be passed in. @@ -142813,10 +142813,10 @@ index 0ba7735465a2..9c976b3cf092 100644 2.18.4 -From 2213a89603078f0671f727879cb3aa74ce193cfb Mon Sep 17 00:00:00 2001 +From b8241a32f510502a507c0b3cb8d366c70ec3dde1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 24 Jan 2020 14:28:21 +0000 -Subject: [PATCH 204/457] media: videodev2.h: Add a format for column YUV4:2:0 +Subject: [PATCH 204/533] media: videodev2.h: Add a format for column YUV4:2:0 modes Some of the Broadcom codec blocks use a column based YUV4:2:0 image @@ -143130,10 +143130,10 @@ index 56c443cc2c3d..568801746d2d 100644 2.18.4 -From 14c8c1e58d4c0f9e3c40cd41b33a4341b1553fee Mon Sep 17 00:00:00 2001 +From c697257831bb26d0160d98764e14f61343dbe875 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 5 Mar 2020 14:46:54 +0000 -Subject: [PATCH 205/457] media: v4l2-mem2mem: allow request job buffer +Subject: [PATCH 205/533] media: v4l2-mem2mem: allow request job buffer processing after job finish Allow the capture buffer to be detached from a v4l2 request job such @@ -143412,10 +143412,10 @@ index c203047eb834..260593fffbc8 100644 2.18.4 -From 938aa03ae2327f4f9c6298128838cad96e697ad9 Mon Sep 17 00:00:00 2001 +From 09fbd70b77b993b888df2f0f5f62fdc8eca04f72 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 17 Mar 2020 10:53:16 +0000 -Subject: [PATCH 206/457] media: dt-bindings: media: Add binding for the +Subject: [PATCH 206/533] media: dt-bindings: media: Add binding for the Raspberry PI HEVC decoder Adds a binding for the HEVC decoder found on the BCM2711 / Raspberry Pi 4. @@ -143527,10 +143527,10 @@ index 29c300b73e89..f0dc2b9527e0 100644 2.18.4 -From 5e6ac99372e9b45c444a8e30742d848698ce049d Mon Sep 17 00:00:00 2001 +From 71fd2116cf0992588e99247ea3ded42be5c11228 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 5 Mar 2020 18:30:41 +0000 -Subject: [PATCH 207/457] staging: media: Add Raspberry Pi V4L2 H265 decoder +Subject: [PATCH 207/533] staging: media: Add Raspberry Pi V4L2 H265 decoder This driver is for the HEVC/H265 decoder block on the Raspberry Pi 4, and conforms to the V4L2 stateless decoder API. @@ -147909,10 +147909,10 @@ index 000000000000..9c4f3fb2f9f6 2.18.4 -From db995bda85474a23745f5a25a37b013b2d967b16 Mon Sep 17 00:00:00 2001 +From b586d8b93b26d4cf1016f83dce5a5a6ed36be8be Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 6 Dec 2019 13:05:27 +0100 -Subject: [PATCH 208/457] mmc: sdhci: Silence MMC warnings +Subject: [PATCH 208/533] mmc: sdhci: Silence MMC warnings When the MMC isn't plugged in, the driver will spam the console which is pretty annoying when using NFS. @@ -147957,10 +147957,10 @@ index 3561ae8a481a..97c6634ecf9c 100644 2.18.4 -From 7136249bbc33b0f5fc37a05ef76d296ed4f639e9 Mon Sep 17 00:00:00 2001 +From 9219e9d64f52806761098d58a92f4fc4ef0fd4f7 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 13 Feb 2020 17:51:09 +0100 -Subject: [PATCH 209/457] dt-bindings: clock: Add a binding for the RPi +Subject: [PATCH 209/533] dt-bindings: clock: Add a binding for the RPi Firmware clocks The firmare running on the RPi VideoCore can be used to discover and @@ -148027,10 +148027,10 @@ index 000000000000..d37bc311321d 2.18.4 -From 0a1f1e259c126e68caf6dd3972527b45d4867be3 Mon Sep 17 00:00:00 2001 +From ed866079ce08738c0f9e06ba245d897df05e4c0b Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 13 Feb 2020 16:45:24 +0100 -Subject: [PATCH 210/457] dt-bindings: display: vc4: hdmi: Add BCM2711 HDMI +Subject: [PATCH 210/533] dt-bindings: display: vc4: hdmi: Add BCM2711 HDMI controllers bindings The HDMI controllers found in the BCM2711 SoC need some adjustments to the @@ -148207,10 +148207,10 @@ index f54b4e4808f0..899d8cfa1731 100644 2.18.4 -From 9090afddbf59af6f1bc4e4b9f988f8d11da6bc74 Mon Sep 17 00:00:00 2001 +From 682b4b3ad78dd17a1dfb070136bf12140379e911 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 27 Jan 2020 10:22:44 +0000 -Subject: [PATCH 211/457] drm: Checking of the pitch is only valid for linear +Subject: [PATCH 211/533] drm: Checking of the pitch is only valid for linear formats framebuffer_check was computing a minimum pitch value and ensuring @@ -148253,10 +148253,10 @@ index 2f5b0c2bb0fe..89ced6af9c5c 100644 2.18.4 -From e66bcdf3f314acaf3f2708cfd869ccc53e08d2ee Mon Sep 17 00:00:00 2001 +From a7fde87e0a2ebcb741f80bd4d610430f401093ee Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 8 Apr 2020 11:59:39 +0100 -Subject: [PATCH 212/457] overlays: Fix dtc warnings in i2c-gpio +Subject: [PATCH 212/533] overlays: Fix dtc warnings in i2c-gpio Better late than never. @@ -148283,10 +148283,10 @@ index 63231b5d7c0c..2323a61edf07 100644 2.18.4 -From 05ac419e0cb4089257190e218b9a67110340377d Mon Sep 17 00:00:00 2001 +From 9bf3a2e0be8e7bc5836053e96c528ac423e54c91 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 20 Apr 2020 22:18:52 +0100 -Subject: [PATCH 213/457] driver: char: rpivid: Remove legacy name support +Subject: [PATCH 213/533] driver: char: rpivid: Remove legacy name support Signed-off-by: Phil Elwell --- @@ -148342,10 +148342,10 @@ index fbf3d4f3fe0c..5f4c91924ec1 100644 2.18.4 -From 468053ba71e49ad7cf0b7310945b9a48619fec4f Mon Sep 17 00:00:00 2001 +From f056e2c11e82998c7399448e3d5601cfb2855bcf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Apr 2020 10:46:19 +0100 -Subject: [PATCH 214/457] spi: Force CS_HIGH if GPIO descriptors are used +Subject: [PATCH 214/533] spi: Force CS_HIGH if GPIO descriptors are used Commit f3186dd87669 ("spi: Optionally use GPIO descriptors for CS GPIOs") amended of_spi_parse_dt() to always set SPI_CS_HIGH for SPI slaves whose @@ -148375,10 +148375,10 @@ Signed-off-by: Phil Elwell 1 file changed, 9 insertions(+) diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c -index fc9a59788d2e..cc63d7e56caf 100644 +index 7694e1ae5b0b..994576ff2da9 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c -@@ -3317,6 +3317,7 @@ static int __spi_validate_bits_per_word(struct spi_controller *ctlr, +@@ -3322,6 +3322,7 @@ static int __spi_validate_bits_per_word(struct spi_controller *ctlr, */ int spi_setup(struct spi_device *spi) { @@ -148386,7 +148386,7 @@ index fc9a59788d2e..cc63d7e56caf 100644 unsigned bad_bits, ugly_bits; int status; -@@ -3334,6 +3335,14 @@ int spi_setup(struct spi_device *spi) +@@ -3339,6 +3340,14 @@ int spi_setup(struct spi_device *spi) (SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL | SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL))) return -EINVAL; @@ -148405,10 +148405,10 @@ index fc9a59788d2e..cc63d7e56caf 100644 2.18.4 -From 96b7d024cc3580433bceb4dc67b8c19eaa1af5ca Mon Sep 17 00:00:00 2001 +From 2527d2609d18c6ae6ab57d54f66c43b573f53fab Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 21 Apr 2020 11:30:23 +0100 -Subject: [PATCH 215/457] driver: char: rpivid: Don't map more than wanted +Subject: [PATCH 215/533] driver: char: rpivid: Don't map more than wanted Limit mappings to the permitted range, but don't map more than asked for otherwise we walk off the end of the allocated VMA. @@ -148462,10 +148462,10 @@ index 5f4c91924ec1..9f38083f4cb6 100644 2.18.4 -From d451965bafbbaa574c618d7e7328170e5a59b624 Mon Sep 17 00:00:00 2001 +From 80d2b5894cbb37d3bb631f0ec9f87124ff6ec7e6 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 1 Apr 2020 08:39:49 +0100 -Subject: [PATCH 216/457] media: bcm2835-unicam: Driver for CCP2/CSI2 camera +Subject: [PATCH 216/533] media: bcm2835-unicam: Driver for CCP2/CSI2 camera interface Add driver for the Unicam camera receiver block on @@ -151193,10 +151193,10 @@ index 000000000000..ae059a171d0f 2.18.4 -From 493cfc8fe60417ec5c89953c5c6aad807554dd37 Mon Sep 17 00:00:00 2001 +From 582a5c62f6fe950dc1a4d54542f213410432a04a Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 1 Apr 2020 08:46:29 +0100 -Subject: [PATCH 217/457] media: uapi: v4l2-core: Add sensor ancillary data +Subject: [PATCH 217/533] media: uapi: v4l2-core: Add sensor ancillary data V4L2 foucc type. Add V4L2_META_FMT_SENSOR_DATA format 4CC. @@ -151291,10 +151291,10 @@ index 568801746d2d..d93d5bb7059b 100644 2.18.4 -From cf000d44e695ef162fe2015f54b19dc5992b6433 Mon Sep 17 00:00:00 2001 +From 15b562797785acadf19cdbdcb67e5e0722723415 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Jan 2020 14:06:47 +0000 -Subject: [PATCH 218/457] media: uapi: Add MEDIA_BUS_FMT_SENSOR_DATA media bus +Subject: [PATCH 218/533] media: uapi: Add MEDIA_BUS_FMT_SENSOR_DATA media bus format This patch adds MEDIA_BUS_FMT_SENSOR_DATA used by the bcm2835-unicam @@ -151363,10 +151363,10 @@ index 84fa53ffb13f..3c2848e91c1b 100644 2.18.4 -From 5244af2eab8c6ed33e5358c4a2d2afe990e53e6b Mon Sep 17 00:00:00 2001 +From c83dfc817584523fdd362064943eec5350284fe3 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 7 Apr 2020 10:42:14 +0100 -Subject: [PATCH 219/457] media: bcm2835-unicam: Add support for mulitple +Subject: [PATCH 219/533] media: bcm2835-unicam: Add support for mulitple device nodes. Move device node specific state out of the device state structure and @@ -152452,10 +152452,10 @@ index 9da9f22c3db5..b34551a3f44b 100644 2.18.4 -From e6e27d0afa3e63357b11011e1bdc5ed919971c18 Mon Sep 17 00:00:00 2001 +From 22590666518605432f6732c20a9359a163f32c1e Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 16 Apr 2020 11:35:41 +0100 -Subject: [PATCH 220/457] media: bcm2835-unicam: Add embedded data node. +Subject: [PATCH 220/533] media: bcm2835-unicam: Add embedded data node. This patch adds a new node in the bcm2835-unicam driver to support CSI-2 embedded data streams. The subdevice is queried to see if @@ -153626,10 +153626,10 @@ index b34551a3f44b..d5e0f70b600c 100644 2.18.4 -From c7a9c463511e2a806be6ff7ce0a300e763938d76 Mon Sep 17 00:00:00 2001 +From b051e49739cec3b29e578cb6f89e1f2f4b7fbbde Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 2 Apr 2020 16:08:51 +0100 -Subject: [PATCH 221/457] media: bcm2835-unicam: Use dummy buffer if none have +Subject: [PATCH 221/533] media: bcm2835-unicam: Use dummy buffer if none have been queued If no buffer has been queued by a userland application, we use an @@ -153940,10 +153940,10 @@ index d5e0f70b600c..933f1ba49e3d 100644 2.18.4 -From 0fc5bee4eb7a408e877e1209800065b06daa58e4 Mon Sep 17 00:00:00 2001 +From 65fdad481d1938015255b778feccd9a6178cd1c5 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 24 Mar 2020 23:13:02 +0200 -Subject: [PATCH 222/457] media: bcm2835-unicam: Disable event-related ioctls +Subject: [PATCH 222/533] media: bcm2835-unicam: Disable event-related ioctls on metadata node The unicam driver supports both the SOURCE_CHANGE and CTRL events. Both @@ -153977,10 +153977,10 @@ index 933f1ba49e3d..2d4c7a247fc5 100644 2.18.4 -From ea214c14ad2c1cfebf0fe0e959ea8f0c8684b366 Mon Sep 17 00:00:00 2001 +From 56a4fdab2b42f8ee3266729ff259326f595e1b33 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 24 Mar 2020 23:13:02 +0200 -Subject: [PATCH 223/457] media: bcm2835-unicam: Add support for the FRAME_SYNC +Subject: [PATCH 223/533] media: bcm2835-unicam: Add support for the FRAME_SYNC event The FRAME_SYNC event is useful for userspace image processing algorithms @@ -154038,10 +154038,10 @@ index 2d4c7a247fc5..21d3a8585118 100644 2.18.4 -From 0282e5b67866366e3e079e032d2a8a1a6099f728 Mon Sep 17 00:00:00 2001 +From 91ba5de49b1f375c3b0abefa9bebc6cebb85c361 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 12 Mar 2020 14:09:38 +0000 -Subject: [PATCH 224/457] media: imx219: Advertise embedded data node on media +Subject: [PATCH 224/533] media: imx219: Advertise embedded data node on media pad 1 This commit updates the imx219 driver to adverise support for embedded @@ -154059,7 +154059,7 @@ Signed-off-by: Naushir Patuck 1 file changed, 155 insertions(+), 71 deletions(-) diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c -index 1cee45e35355..2fcee687145f 100644 +index 0ae66091a696..aec43b602649 100644 --- a/drivers/media/i2c/imx219.c +++ b/drivers/media/i2c/imx219.c @@ -118,6 +118,16 @@ @@ -154358,7 +154358,7 @@ index 1cee45e35355..2fcee687145f 100644 } mutex_unlock(&imx219->mutex); -@@ -1501,13 +1584,14 @@ static int imx219_probe(struct i2c_client *client) +@@ -1502,13 +1585,14 @@ static int imx219_probe(struct i2c_client *client) imx219->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; imx219->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; @@ -154380,10 +154380,10 @@ index 1cee45e35355..2fcee687145f 100644 2.18.4 -From 87cf2e02f56488b4f72afa180e9876fcc3971e3a Mon Sep 17 00:00:00 2001 +From 0ce996014905cc065bc0a35c6387e7ce1e1bdb37 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Apr 2020 16:26:03 +0100 -Subject: [PATCH 225/457] media: bcm2835-unicam: Re-fetch mbus code from subdev +Subject: [PATCH 225/533] media: bcm2835-unicam: Re-fetch mbus code from subdev on a g_fmt call The sensor subdevice may change the Bayer order if a H/V flip is @@ -154435,10 +154435,10 @@ index 21d3a8585118..d4684fb2797f 100644 2.18.4 -From 0734c509a26e72fac42d290fa150e8d00799d425 Mon Sep 17 00:00:00 2001 +From d32214c609c8f1eca824ecb89fbd49da0716e770 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 23 Apr 2020 10:20:26 +0100 -Subject: [PATCH 226/457] media: uapi: v4l2-core: Add ISP statistics output +Subject: [PATCH 226/533] media: uapi: v4l2-core: Add ISP statistics output V4L2 fourcc type Add V4L2_META_FMT_BCM2835_ISP_STATS V4L2 format type. @@ -154542,10 +154542,10 @@ index d93d5bb7059b..e9fbb04a3519 100644 2.18.4 -From 1cf845f137c4ae1e0e25d5f2e093c10c926be6cd Mon Sep 17 00:00:00 2001 +From 5fdb89a1fdbcee51ef9a149f656455810be75ecc Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Apr 2020 15:06:19 +0100 -Subject: [PATCH 227/457] media: uapi: v4l-ctrls: Add CID base for the +Subject: [PATCH 227/533] media: uapi: v4l-ctrls: Add CID base for the bcm2835-isp driver We are reserving controls for the new bcm2835-isp driver. @@ -154722,10 +154722,10 @@ index fbe96b80a748..0b8ae128b961 100644 2.18.4 -From 4178f569c75b9a54306cbb12f91b8543a97cd16a Mon Sep 17 00:00:00 2001 +From 12ada49869add6f0e3b4772c17a91df959538a7f Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 22 Apr 2020 08:32:32 +0100 -Subject: [PATCH 228/457] staging: vchiq: Load bcm2835_isp driver from vchiq +Subject: [PATCH 228/533] staging: vchiq: Load bcm2835_isp driver from vchiq bcmn2835_isp is a platform driver dependent on vchiq, therefore add the load/unload functions for it to vchiq. @@ -154767,10 +154767,10 @@ index 0da9b267797d..e585534c7df6 100644 2.18.4 -From 4edd5adafc8434d41e46d28e849dbc1dfd655428 Mon Sep 17 00:00:00 2001 +From 5e1d1682a60837d7a568029ea07c31eda548f527 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 4 Apr 2019 13:33:47 +0100 -Subject: [PATCH 229/457] bcm2835-dma: Add proper 40-bit DMA support +Subject: [PATCH 229/533] bcm2835-dma: Add proper 40-bit DMA support BCM2711 has 4 DMA channels with a 40-bit address range, allowing them to access the full 4GB of memory on a Pi 4. @@ -155573,10 +155573,10 @@ index 87b5d0bef355..ac0458a8027f 100644 2.18.4 -From d03c3a8147191d14df214e41fa50918389caaa47 Mon Sep 17 00:00:00 2001 +From 08dcc96a4b7b5401be1337add9e470deb7e42c09 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 May 2020 17:56:13 +0100 -Subject: [PATCH 230/457] overlays: Make the i2c-gpio overlay safe again +Subject: [PATCH 230/533] overlays: Make the i2c-gpio overlay safe again Like many overlays, the i2c-gpio overlay goes to efforts to avoid generating warnings about #address-cells and #size-cells not @@ -155611,10 +155611,10 @@ index 2323a61edf07..63231b5d7c0c 100644 2.18.4 -From ca258a0dca5154aa6fd1fe22d99e6e4a1027ddc4 Mon Sep 17 00:00:00 2001 +From 5ad23563cfef6d79daf33a93a63c63b8f3aad2f6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Apr 2020 11:01:21 +0100 -Subject: [PATCH 231/457] media: i2c: imx219: Declare that the driver can +Subject: [PATCH 231/533] media: i2c: imx219: Declare that the driver can create events The flag V4L2_SUBDEV_FL_HAS_EVENTS is required if the subdev can @@ -155627,10 +155627,10 @@ Signed-off-by: Dave Stevenson 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c -index 2fcee687145f..c95d9d62caeb 100644 +index aec43b602649..473134c1e40f 100644 --- a/drivers/media/i2c/imx219.c +++ b/drivers/media/i2c/imx219.c -@@ -1581,7 +1581,8 @@ static int imx219_probe(struct i2c_client *client) +@@ -1582,7 +1582,8 @@ static int imx219_probe(struct i2c_client *client) /* Initialize subdev */ imx219->sd.internal_ops = &imx219_internal_ops; @@ -155644,10 +155644,10 @@ index 2fcee687145f..c95d9d62caeb 100644 2.18.4 -From c3422c45b76ab02215ac96336ebde3bc520b41f8 Mon Sep 17 00:00:00 2001 +From b29cfbd7c1b7e25d6ab313110d3d8bb8c1aac43e Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 15 Jan 2020 13:40:38 +0000 -Subject: [PATCH 232/457] media: ov5647: Fix return codes from +Subject: [PATCH 232/533] media: ov5647: Fix return codes from ov5647_write/ov5647_read functions. Previously they were returning positive non-zero codes for success, @@ -155724,10 +155724,10 @@ index 07550377be2e..6ecc018ac431 100644 2.18.4 -From ee6921628e24fab3b4925b178357403b41ca7718 Mon Sep 17 00:00:00 2001 +From 379cd3756b08337a51f898561ce6a018956db04b Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 29 Jan 2020 15:30:53 +0000 -Subject: [PATCH 233/457] media: ov5647: Add basic support for multiple sensor +Subject: [PATCH 233/533] media: ov5647: Add basic support for multiple sensor modes. Specifically: @@ -156137,10 +156137,10 @@ index 6ecc018ac431..0d84b7640cf3 100644 2.18.4 -From c25cf28e6436a2a581c286944a6774a1ba450c5d Mon Sep 17 00:00:00 2001 +From 8bdd65c172430f607310bb664de4f714c0614844 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 29 Jan 2020 15:31:23 +0000 -Subject: [PATCH 234/457] media: ov5647: Add V4L2 controls for analogue gain, +Subject: [PATCH 234/533] media: ov5647: Add V4L2 controls for analogue gain, exposure and AWB Added basic v4l2_ctrl_handler infrastructure (there was none @@ -156420,10 +156420,10 @@ index 0d84b7640cf3..16cfafc9cf9c 100644 2.18.4 -From f8c0bcbda6368dbc35c7da49b77817df24e81fba Mon Sep 17 00:00:00 2001 +From 8bec26cb1a156535c8df76dd623cbcf19258d9d1 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 29 Jan 2020 15:31:28 +0000 -Subject: [PATCH 235/457] media: ov5647: Add extra 10-bit sensor modes. +Subject: [PATCH 235/533] media: ov5647: Add extra 10-bit sensor modes. The 8-bit VGA mode remains, we add the following 10-bit modes: @@ -156975,10 +156975,10 @@ index 16cfafc9cf9c..fc6c5d9c4532 100644 2.18.4 -From db14924945182ddc4a71a990a793a71ceb433b03 Mon Sep 17 00:00:00 2001 +From c25c5c64ae73e4f4504c99807a3f060286398894 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 29 Jan 2020 15:31:32 +0000 -Subject: [PATCH 236/457] media: ov5647: change defaults to better match raw +Subject: [PATCH 236/533] media: ov5647: change defaults to better match raw camera applications. Specifically: @@ -157040,10 +157040,10 @@ index fc6c5d9c4532..66b3ee5cc190 100644 2.18.4 -From b2b9f7e390461249d1c058aa76ef85add9df3af8 Mon Sep 17 00:00:00 2001 +From 89a6a455617814cc6d3ce8686f8777d26ccbef14 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 11:46:07 +0100 -Subject: [PATCH 237/457] media: i2c: ov5647: Add support for g_selection to +Subject: [PATCH 237/533] media: i2c: ov5647: Add support for g_selection to reflect cropping/binning In order to apply lens shading correctly the client needs to know how @@ -157252,10 +157252,10 @@ index 66b3ee5cc190..e7c7e3ab4b38 100644 2.18.4 -From 66fec2556d16bd3b08eb3a406f3fe96e6680a148 Mon Sep 17 00:00:00 2001 +From 37095d7e15f561b6fbb7074338b3e2f4c6b063c7 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 11:50:52 +0100 -Subject: [PATCH 238/457] media: i2c: ov5467: Fixup error path to release mutex +Subject: [PATCH 238/533] media: i2c: ov5467: Fixup error path to release mutex "87f3ab9 media: ov5647: Add basic support for multiple sensor modes." added a return path ov5647_set_fmt that didn't release the device @@ -157287,10 +157287,10 @@ index e7c7e3ab4b38..09d68b0b4a13 100644 2.18.4 -From 47bb03b79def1ce0b190e945a4eaf89009d9a2bf Mon Sep 17 00:00:00 2001 +From 14abfdeb65d3b878d1451a60c6838c5cdd021a82 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 12:25:13 +0100 -Subject: [PATCH 239/457] media: i2c: ov5647: Support V4L2_CID_PIXEL_RATE +Subject: [PATCH 239/533] media: i2c: ov5647: Support V4L2_CID_PIXEL_RATE Clients need to know the pixel rate in order to compute exposure and frame rate values. @@ -157424,10 +157424,10 @@ index 09d68b0b4a13..02d72feb837e 100644 2.18.4 -From 59b89ed41d8abc20e23d2cfc9077144ea64318f6 Mon Sep 17 00:00:00 2001 +From de2d3e7ba5b1b9dedb199c3e0acbd3357409abf2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 17:25:56 +0100 -Subject: [PATCH 240/457] media: i2c: ov5647: Set V4L2_SUBDEV_FL_HAS_EVENTS +Subject: [PATCH 240/533] media: i2c: ov5647: Set V4L2_SUBDEV_FL_HAS_EVENTS flag The ov5647 subdev can generate control events, therefore set @@ -157573,10 +157573,10 @@ index 02d72feb837e..c012e0b3d68b 100644 2.18.4 -From a8ff3a75922f236a66001ade29b6798ca3ae5063 Mon Sep 17 00:00:00 2001 +From ed1457bed035ce7c5f1003d85aae3e970d4822f8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 21:39:58 +0100 -Subject: [PATCH 241/457] media: i2c: ov5647: Add support for V4L2_CID_VBLANK +Subject: [PATCH 241/533] media: i2c: ov5647: Add support for V4L2_CID_VBLANK Adds vblank control to allow for frame rate control. @@ -157784,10 +157784,10 @@ index c012e0b3d68b..445a0ce186ec 100644 2.18.4 -From 3111be3e0b530cef6a4cd7ad5357743fbb4c016f Mon Sep 17 00:00:00 2001 +From b499c11a2ef9e8e9b40b245f0b983b5440388fe3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 21:47:25 +0100 -Subject: [PATCH 242/457] media: i2c: ov5647: Neither analogue gain nor +Subject: [PATCH 242/533] media: i2c: ov5647: Neither analogue gain nor exposure need EXECUTE_ON_WRITE The controls for analogue gain and exposure were defined with @@ -157848,10 +157848,10 @@ index 445a0ce186ec..49247711221c 100644 2.18.4 -From a2501ad1266a563298b00fc50037663abd31deb6 Mon Sep 17 00:00:00 2001 +From 41703fe8e06e35c0ca80d0a183710077e5f49532 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 22:11:01 +0100 -Subject: [PATCH 243/457] media: i2c: ov5647: Use member names in mode tables +Subject: [PATCH 243/533] media: i2c: ov5647: Use member names in mode tables To make adding new members to the mode structures easier, use the member names in the initialisers. @@ -157965,10 +157965,10 @@ index 49247711221c..da4ef30d8f32 100644 2.18.4 -From 3699278856a9dc8ec3da2e2cdd2cf95ef1b10746 Mon Sep 17 00:00:00 2001 +From 05b0b02f8c6143c72b71f380c531600dd59f8d5a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 30 Apr 2020 11:03:00 +0100 -Subject: [PATCH 244/457] media: i2c: ov5647: Advertise the correct exposure +Subject: [PATCH 244/533] media: i2c: ov5647: Advertise the correct exposure range Exposure is clipped by the VTS of the mode, so needs to be updated as @@ -158090,10 +158090,10 @@ index da4ef30d8f32..6d84d2785f74 100644 2.18.4 -From 3c004d41454679cd212f50be1b9906333e970084 Mon Sep 17 00:00:00 2001 +From 916907e7243086c85a17557845ba92695a3f07b4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 16:45:02 +0100 -Subject: [PATCH 245/457] media: bcm2835-unicam: Add support for +Subject: [PATCH 245/533] media: bcm2835-unicam: Add support for VIDIOC_[S|G]_SELECTION Sensors are now reflecting cropping and scaling parameters through @@ -158178,10 +158178,10 @@ index d4684fb2797f..0e1d525a0b35 100644 2.18.4 -From e9f84bc02b7e043733ec99dd990c9a5011ae0a6e Mon Sep 17 00:00:00 2001 +From b6ecd88e522376ab6aaea1f2174404e51d6a98af Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 22:05:09 +0100 -Subject: [PATCH 246/457] media: bcm2835-unicam: Do not stop streaming in +Subject: [PATCH 246/533] media: bcm2835-unicam: Do not stop streaming in unicam_release unicam_release calls _vb2_fop_release, which will call stop_streaming @@ -158212,10 +158212,10 @@ index 0e1d525a0b35..c7e211d04ed3 100644 2.18.4 -From ccf8ad463e1766c109ae42c4ff4f5ed87a14a699 Mon Sep 17 00:00:00 2001 +From c695c07cfc8d38f4f7fa0d49e8057e38481b1047 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 30 Apr 2020 09:52:50 +0100 -Subject: [PATCH 247/457] media: bcm2835-unicam: Fix reference counting in +Subject: [PATCH 247/533] media: bcm2835-unicam: Fix reference counting in unicam_open The reference counting of node->open was only incremented after @@ -158256,10 +158256,10 @@ index c7e211d04ed3..a79fc4d99d36 100644 2.18.4 -From ce7190f6d4edf097f5b969e4748d7100caec661c Mon Sep 17 00:00:00 2001 +From c2bea8986a9219ef1419ed7a89ddbaab6248dd60 Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:28:14 +0200 -Subject: [PATCH 248/457] media: i2c: tc358743: Fix fallthrough warning +Subject: [PATCH 248/533] media: i2c: tc358743: Fix fallthrough warning Signed-off-by: Jacko Dirks --- @@ -158282,10 +158282,10 @@ index 0a8a25ff7872..b3b8d6e15ea2 100644 2.18.4 -From d76f4076307d6161e1bfd7094b1aef3ddad226a1 Mon Sep 17 00:00:00 2001 +From 483dd60799133bbbb9cf9a90df3842b7caafcc08 Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:33:31 +0200 -Subject: [PATCH 249/457] media: bcm2835: unicam: Fix uninitialized warning +Subject: [PATCH 249/533] media: bcm2835: unicam: Fix uninitialized warning Signed-off-by: Jacko Dirks --- @@ -158309,10 +158309,10 @@ index a79fc4d99d36..92e5deb4c6fd 100644 2.18.4 -From 4fab1f939c8dc96a03e7f4358af28ab7411a8f4d Mon Sep 17 00:00:00 2001 +From 996a38e4eb024249041ff8bc0553016a7c054f38 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 May 2020 19:45:41 +0100 -Subject: [PATCH 250/457] video: bcm2708_fb: Disable FB if no displays found +Subject: [PATCH 250/533] video: bcm2708_fb: Disable FB if no displays found If the firmware hasn't detected a display, the driver would assume one display was available, but because it had failed to retrieve the @@ -158349,10 +158349,10 @@ index 17e9260655e4..dac5c021ce52 100644 2.18.4 -From 3e9bb9e122c20a2c93e871d54f41ca2c1bc309ef Mon Sep 17 00:00:00 2001 +From 31fe6283fe055ddd1c143aa94cb7f214b81f1c1c Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 7 May 2020 15:50:54 +0100 -Subject: [PATCH 251/457] dt-bindings: media: i2c: Add IMX477 CMOS sensor +Subject: [PATCH 251/533] dt-bindings: media: i2c: Add IMX477 CMOS sensor binding Add YAML device tree binding for IMX477 CMOS image sensor. @@ -158486,10 +158486,10 @@ index 000000000000..0994e13e67f6 2.18.4 -From 922f9d6137ab3d9ea922d32615e26436cd728757 Mon Sep 17 00:00:00 2001 +From a49863874143c1397fb734616a26c0c38f291c8d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 May 2020 18:28:27 +0100 -Subject: [PATCH 252/457] media: bcm2835-unicam: Always service interrupts +Subject: [PATCH 252/533] media: bcm2835-unicam: Always service interrupts From when bringing up the driver, there was a check in the isr to ignore interrupts (claiming them handled) should the driver @@ -158543,10 +158543,10 @@ index 92e5deb4c6fd..52a534d932bf 100644 2.18.4 -From fa91b24dd4b0455b5a183ad13f3237b2499d0aa2 Mon Sep 17 00:00:00 2001 +From f13d2219f207e376e9fd0ccd3c07b88582dfb828 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 13 May 2020 20:10:15 +0100 -Subject: [PATCH 253/457] sc16is7xx: Fix for hardware flow control +Subject: [PATCH 253/533] sc16is7xx: Fix for hardware flow control The SC16IS7XX hardware flow control is mishandled by the driver in a number of ways: @@ -158619,10 +158619,10 @@ index ae48749d72fd..f6ce041d0c3d 100644 2.18.4 -From af57b6d68953bc37eb95c9d84118600ee046c81c Mon Sep 17 00:00:00 2001 +From 62c717ff64ef5fe811ed80efac5868a3a6618930 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 May 2020 13:42:10 +0100 -Subject: [PATCH 254/457] staging: vc04_services: mmal-vchiq: Update parameters +Subject: [PATCH 254/533] staging: vc04_services: mmal-vchiq: Update parameters list Adds in a couple of new MMAL parameter defines. @@ -158653,10 +158653,10 @@ index 27bafc5f01d2..89059bca0b77 100644 2.18.4 -From 3155160887a5bf62fb82614a8f1f89f07fd5580d Mon Sep 17 00:00:00 2001 +From 7356e10d8acc94817d6ce749cf3acec2748007c8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 May 2020 13:48:59 +0100 -Subject: [PATCH 255/457] staging:vc04_services: bcm2835-camera: Request +Subject: [PATCH 255/533] staging:vc04_services: bcm2835-camera: Request headers with I-frame V4L2 wishes to have the codec header bytes in the same buffer as the @@ -158689,10 +158689,10 @@ index df90c1f9d148..bea37cb163fc 100644 2.18.4 -From 071609a26551c943adeed68971f6c39219ec04ce Mon Sep 17 00:00:00 2001 +From ed5f6e3f6acb0c4b53c98a98da8307211d55719c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 8 Apr 2020 15:23:56 +0100 -Subject: [PATCH 256/457] kbuild: Disable gcc plugins +Subject: [PATCH 256/533] kbuild: Disable gcc plugins The GCC plugin feature leads to different kernel configurations on what ought to be equivalent build systems because they depend on the build @@ -158723,10 +158723,10 @@ index b79fd0bea838..c3d0c8fedbdd 100755 2.18.4 -From c55fa2ba81c4121eb7699a617b285929aac54c64 Mon Sep 17 00:00:00 2001 +From 428fd40f82b0167d0b8a5b5fa79075c7b443731a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 11:46:47 +0100 -Subject: [PATCH 257/457] media: bcm2835-unicam: Retain packing information on +Subject: [PATCH 257/533] media: bcm2835-unicam: Retain packing information on G_FMT The change to retrieve the pixel format always on g_fmt didn't @@ -158777,10 +158777,10 @@ index 52a534d932bf..b32b2d33a4e2 100644 2.18.4 -From c00a32d040ce63da3f7a79847e96106aa9d10c8b Mon Sep 17 00:00:00 2001 +From 0a2534a8cba65d0f80caf97524a8d209f3c01331 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 May 2020 15:23:32 +0100 -Subject: [PATCH 258/457] zswap: Defer zswap initialisation +Subject: [PATCH 258/533] zswap: Defer zswap initialisation Enabling zswap support in the kernel configuration costs about 1.5MB of RAM, even when zswap is not enabled at runtime. This cost can be @@ -158908,10 +158908,10 @@ index fbb782924ccc..0ca7f6a68d20 100644 2.18.4 -From 96ebdefd4d8532758dcf516b519c64eb9904afb7 Mon Sep 17 00:00:00 2001 +From 5e67c9804d372e45a0c506790ddea1ae9e107dd8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 22 May 2020 11:35:33 +0100 -Subject: [PATCH 259/457] SQUASH: pinctrl: bcm2835: Set base for bcm2711 GPIO +Subject: [PATCH 259/533] SQUASH: pinctrl: bcm2835: Set base for bcm2711 GPIO to 0 Without this patch GPIOs don't seem to work properly, primarily @@ -158941,10 +158941,10 @@ index bda29f421e78..c5d88157f4b2 100644 2.18.4 -From b680754486c440fe4b632aa50ecfa606fca0025c Mon Sep 17 00:00:00 2001 +From 6982a5288d3e35094c7bdde672f0d3c75a18357f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 May 2020 16:36:33 +0100 -Subject: [PATCH 260/457] staging: vchiq_arm: Clean up 40-bit DMA support +Subject: [PATCH 260/533] staging: vchiq_arm: Clean up 40-bit DMA support Manage the split between addresses for the VPU and addresses for the 40-bit DMA controller with a dedicated DMA device pointer that on non- @@ -159123,10 +159123,10 @@ index e585534c7df6..f85b9b932a4f 100644 2.18.4 -From 5703d20f68229277a88169bb0b9b7e98682e340a Mon Sep 17 00:00:00 2001 +From 57dbb7dcd64a988fe97219aa3c2d13b52bdc9700 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 28 May 2020 11:09:48 +0100 -Subject: [PATCH 261/457] media: bcm2835-unicam: change minimum number of +Subject: [PATCH 261/533] media: bcm2835-unicam: change minimum number of vb2_queue buffers to 1 Since the unicam driver was modified to write to a dummy buffer when no @@ -159157,10 +159157,10 @@ index b32b2d33a4e2..e76323af0952 100644 2.18.4 -From a7e3a35825713c0b36e804cc89990eac8972d1ba Mon Sep 17 00:00:00 2001 +From 6830c23703d0ee6c1bd802393d3abc6f1b6ab4c2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 May 2020 09:46:12 +0100 -Subject: [PATCH 262/457] brcmfmac: BCM43436 needs dedicated firmware +Subject: [PATCH 262/533] brcmfmac: BCM43436 needs dedicated firmware Signed-off-by: Phil Elwell --- @@ -159168,7 +159168,7 @@ Signed-off-by: Phil Elwell 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index df0bb4dd6829..85fb6ba0806b 100644 +index 2b642886430d..dce241d99684 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -618,6 +618,7 @@ BRCMF_FW_DEF(4339, "brcmfmac4339-sdio"); @@ -159193,10 +159193,10 @@ index df0bb4dd6829..85fb6ba0806b 100644 2.18.4 -From 6dd7241b8d865b7ae97578e4e8007b5d20c49e46 Mon Sep 17 00:00:00 2001 +From c8ecb4a66429c6c207c51f31e9b82af8282e9cc0 Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Fri, 5 Jun 2020 09:22:49 +0000 -Subject: [PATCH 263/457] snd_bcm2835: disable HDMI audio when vc4 is used +Subject: [PATCH 263/533] snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware @@ -159232,10 +159232,10 @@ index 2f465dba54bf..a53c39d1bbaa 100644 2.18.4 -From adcb185050081018bf06e77d440e4f401118ed5a Mon Sep 17 00:00:00 2001 +From 36eacae680de3890ccecfceda10f77b7d606b0c4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Apr 2018 14:42:27 +0100 -Subject: [PATCH 264/457] gpiolib: Don't prevent IRQ usage of output GPIOs +Subject: [PATCH 264/533] gpiolib: Don't prevent IRQ usage of output GPIOs Upstream Linux deems using output GPIOs to generate IRQs as a bogus use case, even though the BCM2835 GPIO controller is capable of doing @@ -159250,7 +159250,7 @@ Signed-off-by: Phil Elwell 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c -index 6e3c4d7a7d14..0491b7c7964c 100644 +index 4ad3c4b276dc..55bbc86107a9 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -51,6 +51,8 @@ @@ -159262,7 +159262,7 @@ index 6e3c4d7a7d14..0491b7c7964c 100644 /* Device and char device-related information */ static DEFINE_IDA(gpio_ida); static dev_t gpio_devt; -@@ -2430,8 +2432,8 @@ int gpiod_direction_output(struct gpio_desc *desc, int value) +@@ -2431,8 +2433,8 @@ int gpiod_direction_output(struct gpio_desc *desc, int value) value = !!value; /* GPIOs used for enabled IRQs shall not be set as output */ @@ -159273,7 +159273,7 @@ index 6e3c4d7a7d14..0491b7c7964c 100644 gpiod_err(desc, "%s: tried to set a GPIO tied to an IRQ as output\n", __func__); -@@ -3236,8 +3238,8 @@ int gpiochip_lock_as_irq(struct gpio_chip *gc, unsigned int offset) +@@ -3237,8 +3239,8 @@ int gpiochip_lock_as_irq(struct gpio_chip *gc, unsigned int offset) } /* To be valid for IRQ the line needs to be input or open drain */ @@ -159288,10 +159288,10 @@ index 6e3c4d7a7d14..0491b7c7964c 100644 2.18.4 -From 65019bc8e0fae9703ddfebd8643c344564133dde Mon Sep 17 00:00:00 2001 +From 6dda4a89284fd2d646dbd98839a3ddfd06e8bdcf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Jun 2020 09:57:03 +0100 -Subject: [PATCH 265/457] PCI: brcmstb: Add DT property to control L1SS +Subject: [PATCH 265/533] PCI: brcmstb: Add DT property to control L1SS The BRCM PCIe block has controls to enable control of the CLKREQ# signal by the L1SS, and to gate the refclk with the CLKREQ# input. @@ -159307,7 +159307,7 @@ Signed-off-by: Phil Elwell 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c -index bea86899bd5d..48036003b3ab 100644 +index 9c3d2982248d..fea54f6fb7b1 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -114,8 +114,9 @@ @@ -159330,7 +159330,7 @@ index bea86899bd5d..48036003b3ab 100644 int gen; u64 msi_target_addr; struct brcm_msi *msi; -@@ -1024,12 +1026,25 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie) +@@ -1025,12 +1027,25 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie) PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1_ENDIAN_MODE_BAR2_MASK); writel(tmp, base + PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1); @@ -159361,7 +159361,7 @@ index bea86899bd5d..48036003b3ab 100644 writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG); return 0; -@@ -1250,6 +1265,7 @@ static int brcm_pcie_probe(struct platform_device *pdev) +@@ -1251,6 +1266,7 @@ static int brcm_pcie_probe(struct platform_device *pdev) pcie->gen = (ret < 0) ? 0 : ret; pcie->ssc = of_property_read_bool(np, "brcm,enable-ssc"); @@ -159373,10 +159373,10 @@ index bea86899bd5d..48036003b3ab 100644 2.18.4 -From 32cd46cbd50f6dffe047eb84dac3316d0c7a1d2f Mon Sep 17 00:00:00 2001 +From 30e74de55bd84db439e81271462ea0d4ac5229c6 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:24:31 +0200 -Subject: [PATCH 266/457] media: irs1125: Using i2c_transfer for ic2 reads +Subject: [PATCH 266/533] media: irs1125: Using i2c_transfer for ic2 reads Reading data over i2c is done by using i2c_transfer to ensure that this operation can't be interrupted. @@ -159444,10 +159444,10 @@ index 25e1dd5a08ef..6680afea5894 100644 2.18.4 -From 490039469de9a7b7e390dfcbd3822a8aa099c38f Mon Sep 17 00:00:00 2001 +From a19771ac8827a1ad07a51cc6920ebd9a6e2d415e Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:27:42 +0200 -Subject: [PATCH 267/457] media: irs1125: Refactoring and debug messages +Subject: [PATCH 267/533] media: irs1125: Refactoring and debug messages Changed some variable names to comply with checkpatch --strict mode. Debug messages added. @@ -159573,10 +159573,10 @@ index 6680afea5894..289f0c25b141 100644 2.18.4 -From 497687f998cd85538335a5770f7d71bb70441b8d Mon Sep 17 00:00:00 2001 +From 11ffb48b79a01a25ac73c5e27cc14351ff53acdf Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:31:36 +0200 -Subject: [PATCH 268/457] media: irs1125: Atomic access to imager +Subject: [PATCH 268/533] media: irs1125: Atomic access to imager reconfiguration Instead of changing the exposure and framerate settings for all sequences, @@ -159962,10 +159962,10 @@ index dccaca23aa76..96d676123d5e 100644 2.18.4 -From 71f79c47e2ad966cf53cea441e2bd1214092fa08 Mon Sep 17 00:00:00 2001 +From 5f1a56c1b0ca21bccdc5b36c46a9ce8eb261856b Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:33:56 +0200 -Subject: [PATCH 269/457] media: irs1125: Keep HW in sync after imager reset +Subject: [PATCH 269/533] media: irs1125: Keep HW in sync after imager reset When closing the video device, the irs1125 is put in power down state. To keep V4L2 ctrls and the HW in sync, v4l2_ctrl_handler_setup is @@ -160149,10 +160149,10 @@ index d59e05004a03..30c3d2640386 100644 2.18.4 -From 86f16f51bfbc59a75905ccaa5db7a3a38b58ca15 Mon Sep 17 00:00:00 2001 +From e581889ecf6ef824a87f19ff4603bd1733a6f3a7 Mon Sep 17 00:00:00 2001 From: Maxim Mikityanskiy Date: Sat, 20 Jun 2020 15:40:00 +0300 -Subject: [PATCH 270/457] staging: bcm2835-audio: Add missing MODULE_ALIAS +Subject: [PATCH 270/533] staging: bcm2835-audio: Add missing MODULE_ALIAS Commit 8353fe6f1e0f ("Revert "staging: bcm2835-audio: Drop DT dependency"") reverts the upstream change and makes bcm2835-audio use @@ -160185,10 +160185,10 @@ index a53c39d1bbaa..b9716f3e264c 100644 2.18.4 -From 0b9f753c7eda5904495200fb77b48c5f2c742d12 Mon Sep 17 00:00:00 2001 +From 0523a52f931fe3622a573d7d3e5c76610ecd0904 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 Jun 2020 11:51:05 +0100 -Subject: [PATCH 271/457] brcmfmac: Prefer a ccode from OTP over nvram file +Subject: [PATCH 271/533] brcmfmac: Prefer a ccode from OTP over nvram file Allow the nvram file to set a default ccode (regulatory domain) without overriding one set in OTP. @@ -160200,7 +160200,7 @@ Signed-off-by: Phil Elwell 2 files changed, 47 insertions(+), 13 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 9555e78d9f93..b9d02e2c62c3 100644 +index 28dba5d86ee6..cdc1aeb72005 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -9,6 +9,7 @@ @@ -160211,7 +160211,7 @@ index 9555e78d9f93..b9d02e2c62c3 100644 #include #include #include -@@ -7406,31 +7407,45 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, +@@ -7407,31 +7408,45 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, struct brcmf_if *ifp = brcmf_get_ifp(cfg->pub, 0); struct brcmf_pub *drvr = cfg->pub; struct brcmf_fil_country_le ccreq; @@ -160322,10 +160322,10 @@ index d821a4758f8c..adfea97c9a43 100644 2.18.4 -From 0133d39a3aedcdf09bc827973f6b26fb7e13afb7 Mon Sep 17 00:00:00 2001 +From d51b2c3df0fca66a418bef0eeda588694f4b8aee Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 10:05:57 +0100 -Subject: [PATCH 272/457] drivers: media: Remove the downstream version of +Subject: [PATCH 272/533] drivers: media: Remove the downstream version of bcm2835-unicam About to be replaced by the upstream version. @@ -163513,10 +163513,10 @@ index ae059a171d0f..000000000000 2.18.4 -From 39938206c9673a313b98ee0ad0f5d429d52c1cc9 Mon Sep 17 00:00:00 2001 +From 1628e50c7cee3c46f924f643caf98b12d74c90fc Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 4 May 2020 12:25:41 +0300 -Subject: [PATCH 273/457] media: bcm2835-unicam: Driver for CCP2/CSI2 camera +Subject: [PATCH 273/533] media: bcm2835-unicam: Driver for CCP2/CSI2 camera interface Add a driver for the Unicam camera receiver block on BCM283x processors. @@ -166681,10 +166681,10 @@ index 000000000000..ae059a171d0f 2.18.4 -From 6de8cad7822ab49e18c172d38a3622651d9721e6 Mon Sep 17 00:00:00 2001 +From 6605c7fd4fbd1aa94e6ed46dc813b95c3c2a20be Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 14:32:51 +0100 -Subject: [PATCH 274/457] media: bcm2835-unicam: Add support for +Subject: [PATCH 274/533] media: bcm2835-unicam: Add support for get_mbus_config to set num lanes Use the get_mbus_config pad subdev call to allow a source to use @@ -166743,10 +166743,10 @@ index 2e9387cbc1e0..9adfb2d217af 100644 2.18.4 -From 22dfc3d5a553e31a22b9d768922ed39604baee7b Mon Sep 17 00:00:00 2001 +From 1134ff69653a31c9389df158df1794b32662e86b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Jun 2020 15:53:44 +0100 -Subject: [PATCH 275/457] media: bcm2835-unicam: Avoid gcc warning over {0} on +Subject: [PATCH 275/533] media: bcm2835-unicam: Avoid gcc warning over {0} on endpoint Older gcc versions object to = { 0 } initialisation if the first @@ -166776,10 +166776,10 @@ index 9adfb2d217af..a65e1da55142 100644 2.18.4 -From 439e0819bfb1f9eef1943876be762682f4faf759 Mon Sep 17 00:00:00 2001 +From e7a85934b77f90501661b701ce09132aa8aff8aa Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Fri, 12 Jun 2020 15:53:46 +0200 -Subject: [PATCH 276/457] media: i2c: imx290: set the format before +Subject: [PATCH 276/533] media: i2c: imx290: set the format before VIDIOC_SUBDEV_G_FMT is called Commit d46cfdc86c30d5ec768924f0b1e2683c8d20b671 upstream. @@ -166822,10 +166822,10 @@ index adcddf3204f7..ad2318390678 100644 2.18.4 -From d526f78b24fd78d92a68fec589942db5261fb467 Mon Sep 17 00:00:00 2001 +From f72b44a23998712cf191a21af8b36f112897b94b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 08:28:51 +0100 -Subject: [PATCH 277/457] media: i2c: imx290: Add support for 74.25MHz clock +Subject: [PATCH 277/533] media: i2c: imx290: Add support for 74.25MHz clock The existing driver only supported a clock of 37.125MHz, but the sensor also supports 74.25MHz. @@ -167092,10 +167092,10 @@ index ad2318390678..fe1078f7721e 100644 2.18.4 -From cc32a16c0add911341eb5bc648ad23a4918514e1 Mon Sep 17 00:00:00 2001 +From a92223f68f36b04f914663904f05ad3e295f7605 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 13:41:43 +0100 -Subject: [PATCH 278/457] media: i2c: imx290: Correct range for V4L2_CID_GAIN +Subject: [PATCH 278/533] media: i2c: imx290: Correct range for V4L2_CID_GAIN to 0-238 The datasheet lists the gain as being 0.0 to 72.0dB in 0.3dB steps, which @@ -167124,10 +167124,10 @@ index fe1078f7721e..c193b7b8d8e5 100644 2.18.4 -From eb437b097297b257746ae80faa2d056ba447f92f Mon Sep 17 00:00:00 2001 +From 9e13043718522fd0df9645880ce7fc59396b8b35 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 14:36:40 +0100 -Subject: [PATCH 279/457] media: i2c: imx290: Convert HMAX setting into +Subject: [PATCH 279/533] media: i2c: imx290: Convert HMAX setting into V4L2_CID_HBLANK Userspace needs to know HBLANK if it is to work out exposure times @@ -167289,10 +167289,10 @@ index c193b7b8d8e5..b12213f6355b 100644 2.18.4 -From 3b9facebdb4a289c30d0d30b949a5cf0c63981d7 Mon Sep 17 00:00:00 2001 +From e06827a59a93de503a49b6551cf40ac66b50c0c3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 18:09:12 +0100 -Subject: [PATCH 280/457] media: i2c: imx290: Add support for V4L2_CID_VBLANK +Subject: [PATCH 280/533] media: i2c: imx290: Add support for V4L2_CID_VBLANK In order to calculate framerate and durations userspace needs the vertical blanking information. This can be configurable, @@ -167436,10 +167436,10 @@ index b12213f6355b..357614af64f7 100644 2.18.4 -From 53c70e74879f89f70ebccbcaf6b49707e61c67af Mon Sep 17 00:00:00 2001 +From aac4ab649e663a132bd001d6c12b185a8ab28f9a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 18:19:13 +0100 -Subject: [PATCH 281/457] media: i2c: imx290: Add exposure control to the +Subject: [PATCH 281/533] media: i2c: imx290: Add exposure control to the driver. Adds support for V4L2_CID_EXPOSURE so that userspace can control @@ -167535,10 +167535,10 @@ index 357614af64f7..2eae36b0ad5c 100644 2.18.4 -From 20888edba3ced3cb36ddc10321bc3187d761aaa8 Mon Sep 17 00:00:00 2001 +From d497dbc581af292172e1413304b86e5a1c5a2a34 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 18:34:16 +0100 -Subject: [PATCH 282/457] media: i2c: imx290: Add H and V flip controls +Subject: [PATCH 282/533] media: i2c: imx290: Add H and V flip controls The sensor supports horizontal and vertical flips, so support them through V4L2_CID_HFLIP and V4L2_CID_VFLIP. @@ -167624,10 +167624,10 @@ index 2eae36b0ad5c..3d6734da7d64 100644 2.18.4 -From c43ca3d17fca6bb040ac5170a31cda6aae650ba0 Mon Sep 17 00:00:00 2001 +From a7922b41d46d4316ed6cb4ba508763c9cb3c2af2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 16:52:14 +0100 -Subject: [PATCH 283/457] media: dt-bindings: media: i2c: Add mono version to +Subject: [PATCH 283/533] media: dt-bindings: media: i2c: Add mono version to IMX290 bindings The IMX290 module is available as either monochrome or colour and @@ -167666,10 +167666,10 @@ index a3cc21410f7c..294e63650d9e 100644 2.18.4 -From da9380d8298ff5527748fded5c69a21905ef0979 Mon Sep 17 00:00:00 2001 +From b80971c06c613b80f6208cf3a0cf3653b9d3b543 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:03:11 +0100 -Subject: [PATCH 284/457] media : i2c: imx290: Add support for the mono sensor +Subject: [PATCH 284/533] media : i2c: imx290: Add support for the mono sensor variant. The IMX290 module is available as either mono or colour (Bayer). @@ -167857,10 +167857,10 @@ index 3d6734da7d64..09df70849928 100644 2.18.4 -From 36d4b4a067f062590fd7137454c5cb132b6a6ab7 Mon Sep 17 00:00:00 2001 +From 79dc1ccd82fbd99b7b01b4b57f6b6dca552226e8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Jun 2020 18:11:49 +0100 -Subject: [PATCH 285/457] media: i2c: imx290: Switch set_hmax to use +Subject: [PATCH 285/533] media: i2c: imx290: Switch set_hmax to use imx290_write_buffered_reg imx290_set_hmax was using two independent writes to set up hmax, @@ -167906,10 +167906,10 @@ index 09df70849928..b824dfe29bbd 100644 2.18.4 -From 014bd088358e4b98210f300e2f65689630d2377f Mon Sep 17 00:00:00 2001 +From c261848725dac5c4c0cf6133c4bd4d82bf1526e8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 2 Jul 2020 13:53:20 +0100 -Subject: [PATCH 286/457] serial: 8250: bcm2835aux - defer if clock is zero +Subject: [PATCH 286/533] serial: 8250: bcm2835aux - defer if clock is zero See: https://github.com/raspberrypi/linux/issues/3700 @@ -167940,10 +167940,10 @@ index fd95860cd661..fc36e5963e30 100644 2.18.4 -From 30058c54ea33a5b342e740594e063b06191aa1e3 Mon Sep 17 00:00:00 2001 +From 4fc6591dab548b4f0befdd605d9b5609423fffa7 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 May 2020 16:59:03 +0100 -Subject: [PATCH 287/457] media: Add a pixel format for MIPI packed 12bit luma +Subject: [PATCH 287/533] media: Add a pixel format for MIPI packed 12bit luma only. This is the format used by monochrome 12bit image sensors. @@ -168048,10 +168048,10 @@ index e9fbb04a3519..e72c28ea0235 100644 2.18.4 -From cd41c85a0a986d285fae64dd15b54f16c90ca086 Mon Sep 17 00:00:00 2001 +From e13e52cbc70e7596ea8fa1ee9f2bd9536f717796 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:51:03 +0100 -Subject: [PATCH 288/457] media: Add a pixel format for MIPI packed 14bit luma +Subject: [PATCH 288/533] media: Add a pixel format for MIPI packed 14bit luma only. This is the format used by monochrome 14bit image sensors. @@ -168165,10 +168165,10 @@ index e72c28ea0235..53d526dbe004 100644 2.18.4 -From c06ac95a5ddd695e5e1f7314e75278a3ff72a9bc Mon Sep 17 00:00:00 2001 +From 4e8a9290b1bb70a4d52fadc2450133b0bb6236f2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:53:32 +0100 -Subject: [PATCH 289/457] media: bcm2835-unicam: Add support for 12bit mono +Subject: [PATCH 289/533] media: bcm2835-unicam: Add support for 12bit mono packed format Now that V4L2_PIX_FMT_Y12P is defined, allow passing raw 12bit @@ -168196,10 +168196,10 @@ index a65e1da55142..5edb58cc9f03 100644 2.18.4 -From 68e5fe7a531a285a6b1d02d85908faabde3c1178 Mon Sep 17 00:00:00 2001 +From b0a3ce2e7f7aee9ac8e523f46b17a0c937e975b0 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 18:03:47 +0100 -Subject: [PATCH 290/457] media: bcm2835-unicam: Add support for 14bit mono +Subject: [PATCH 290/533] media: bcm2835-unicam: Add support for 14bit mono sources Now that V4L2_PIX_FMT_Y14 and V4L2_PIX_FMT_Y14P are defined, @@ -168231,10 +168231,10 @@ index 5edb58cc9f03..778153943160 100644 2.18.4 -From 7c767b1c861347b125e6042a935502aa4eba97a6 Mon Sep 17 00:00:00 2001 +From 7c9ec4d245a25539bae74dcc2d6206ee3796ea94 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 1 Jul 2020 10:57:57 +0100 -Subject: [PATCH 291/457] media: bcm2835-unicam: Add support for unpacked 14bit +Subject: [PATCH 291/533] media: bcm2835-unicam: Add support for unpacked 14bit Bayer formats Now that the 14bit non-packed Bayer formats are defined, add them @@ -168279,10 +168279,10 @@ index 778153943160..c97ecfc0e55b 100644 2.18.4 -From 370b03ce5bb6855c22e9d54683cc9910c5e725c6 Mon Sep 17 00:00:00 2001 +From c59638d6c3d8ad6d22a9d439670bc9fcaaa61f33 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Jul 2020 20:28:27 +0100 -Subject: [PATCH 292/457] bcm2835-dma: Add NO_WAIT_RESP flag +Subject: [PATCH 292/533] bcm2835-dma: Add NO_WAIT_RESP flag Use bit 27 of the dreq value (the second cell of the DT DMA descriptor) to request that the WAIT_RESP bit is not set. @@ -168339,10 +168339,10 @@ index ac0458a8027f..84b1009da23b 100644 2.18.4 -From 2f948ee8000544b7b039bd678fe84320dbad326b Mon Sep 17 00:00:00 2001 +From 8f33f6df54eb841b21eb05819ee70d78a31785f7 Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Fri, 17 May 2019 18:23:03 +0800 -Subject: [PATCH 293/457] media: i2c: add ov9281 driver. +Subject: [PATCH 293/533] media: i2c: add ov9281 driver. Change-Id: I7b77250bbc56d2f861450cf77271ad15f9b88ab1 Signed-off-by: Zefa Chen @@ -169568,10 +169568,10 @@ index 000000000000..4a6324a3e5da 2.18.4 -From 27739164f7b41c6d852fc62e2fd100d1957a3297 Mon Sep 17 00:00:00 2001 +From 9cbe0a75a9834ac3ae2e99978c2950f4a393908a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Apr 2020 15:47:09 +0100 -Subject: [PATCH 294/457] media: i2c: ov9281: fix mclk issue when probe +Subject: [PATCH 294/533] media: i2c: ov9281: fix mclk issue when probe multiple camera. Takes the ov9281 part only from the Rockchip's patch. @@ -169634,10 +169634,10 @@ index 4a6324a3e5da..0d6759942f79 100644 2.18.4 -From 81a308201b954ca35f2bd5e8e0b4aee1263f26cb Mon Sep 17 00:00:00 2001 +From 946e2963efed11af27e8d2a7475bacf9c7671512 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Apr 2020 15:51:50 +0100 -Subject: [PATCH 295/457] media: i2c: ov9281: add enum_frame_interval function +Subject: [PATCH 295/533] media: i2c: ov9281: add enum_frame_interval function for iq tool 2.2 and hal3 Adds the ov9281 parts of the Rockchip patch adding enum_frame_interval to @@ -169737,10 +169737,10 @@ index 0d6759942f79..273aa904683c 100644 2.18.4 -From 76bbd47334a451aca774fde9eb1ecba4e2df3cdb Mon Sep 17 00:00:00 2001 +From 9935ed8cf96d912d6b2d2c9f97fd05dbdcfd942b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Apr 2020 16:12:33 +0100 -Subject: [PATCH 296/457] media: i2c: ov9281: Fixup for recent kernel releases, +Subject: [PATCH 296/533] media: i2c: ov9281: Fixup for recent kernel releases, and remove custom code The Rockchip driver was based on a 4.4 kernel, and had several custom @@ -170420,10 +170420,10 @@ index 273aa904683c..7b9bea476cfb 100644 2.18.4 -From d372778da985ff055499568be3b9d71c47dfa67a Mon Sep 17 00:00:00 2001 +From 48401bbce8a685bea31f2b5dc93c59d227d30dad Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 6 Jul 2020 17:51:32 +0100 -Subject: [PATCH 297/457] media: i2c: ov9281: Read chip ID via 2 reads +Subject: [PATCH 297/533] media: i2c: ov9281: Read chip ID via 2 reads Vision Components have made an OV9281 module which blocks reading back the majority of registers to comply with NDAs, and in doing @@ -170468,10 +170468,10 @@ index 7b9bea476cfb..bb8efc3d3cba 100644 2.18.4 -From 4cae1209231114dcbe33534af4d56a43d24c7368 Mon Sep 17 00:00:00 2001 +From 933a9c6f8488cf1bda3b6855f16751943185e885 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 10:31:53 +0100 -Subject: [PATCH 298/457] media: i2c: imx290: Explicitly set v&h blank on mode +Subject: [PATCH 298/533] media: i2c: imx290: Explicitly set v&h blank on mode change __v4l2_ctrl_modify_range only updates the current value should @@ -170520,10 +170520,10 @@ index b824dfe29bbd..b28834823f86 100644 2.18.4 -From 84d93104c54393fee823f9b83740ed1d294698b5 Mon Sep 17 00:00:00 2001 +From e9dca93ab5f8ff51eb96627bc79fa3f988f139cc Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 11:23:48 +0100 -Subject: [PATCH 299/457] media: i2c: imx290: Add support for g_selection to +Subject: [PATCH 299/533] media: i2c: imx290: Add support for g_selection to report cropping Userspace needs to know the cropping arrangements for each mode, @@ -170682,10 +170682,10 @@ index b28834823f86..24bf40d729b7 100644 2.18.4 -From bfdb0334bd3639548dc5ca9dfc2203d86e51d15c Mon Sep 17 00:00:00 2001 +From 4743a9730093fe9b6b0a59ff5c277f3534c7d6b9 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 11:51:26 +0100 -Subject: [PATCH 300/457] media: i2c: imx290: Set the colorspace fields in the +Subject: [PATCH 300/533] media: i2c: imx290: Set the colorspace fields in the format The colorspace fields were left untouched in imx290_set_fmt @@ -170719,10 +170719,10 @@ index 24bf40d729b7..2e646fb01856 100644 2.18.4 -From b1ef475b38e9eec6a7f0ae0f0e13221b8dec18c2 Mon Sep 17 00:00:00 2001 +From 8df39644fd437e497a0574767ad712787d67faa2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 14:23:40 +0100 -Subject: [PATCH 301/457] media: bcm2835-unicam: Reinstate V4L2_CAP_READWRITE +Subject: [PATCH 301/533] media: bcm2835-unicam: Reinstate V4L2_CAP_READWRITE in the caps v4l2-compliance throws a failure if the device doesn't advertise @@ -170753,10 +170753,10 @@ index c97ecfc0e55b..20b46a9e04c3 100644 2.18.4 -From 229d79715cb0b91244e3e5e1b6cd03188485ddfc Mon Sep 17 00:00:00 2001 +From c5e1a925ddbb7de12d95af278ef88fdf5dec635c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 14:52:43 +0100 -Subject: [PATCH 302/457] media: bcm2835-unicam: Ensure type is VIDEO_CAPTURE +Subject: [PATCH 302/533] media: bcm2835-unicam: Ensure type is VIDEO_CAPTURE in [g|s]_selection [g|s]_selection pass in a buffer type that needs to be validated @@ -170795,10 +170795,10 @@ index 20b46a9e04c3..de288f87ff2f 100644 2.18.4 -From e6099f94f6dde9d99885875299fceac9817b72f9 Mon Sep 17 00:00:00 2001 +From d1bae625196e4e9c9ecfd3dd1b331c7b0da389e8 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 11 May 2020 13:02:22 +0100 -Subject: [PATCH 303/457] media: bcm2835: unicam: Set VPU min clock freq to +Subject: [PATCH 303/533] media: bcm2835: unicam: Set VPU min clock freq to 250Mhz. When streaming with Unicam, the VPU must have a clock frequency of at @@ -170928,10 +170928,10 @@ index de288f87ff2f..295db7564614 100644 2.18.4 -From 388dac920e87a2cbab52725c6ec84741d4527c7f Mon Sep 17 00:00:00 2001 +From 43d33beff9be0deafbe99df95f7d212642cbc8e0 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 11 May 2020 13:06:27 +0100 -Subject: [PATCH 304/457] dt-bindings: bcm2835-unicam: Update documentation +Subject: [PATCH 304/533] dt-bindings: bcm2835-unicam: Update documentation with new clock params Update the documentation to reflect the new "VPU" clock needed @@ -170972,10 +170972,10 @@ index 7714fb374b34..164d0377dcd2 100644 2.18.4 -From c6d9fe0b76c7411eff9f4ad6020968d3b37dbd86 Mon Sep 17 00:00:00 2001 +From 42d211b3e171c95d207555bfbbaa1ce0efd34457 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sat, 4 Jul 2020 01:45:08 +0300 -Subject: [PATCH 305/457] media: i2c: ov5647: Parse and register properties +Subject: [PATCH 305/533] media: i2c: ov5647: Parse and register properties Parse device properties and register controls for them using the V4L2 fwnode properties helpers. @@ -171027,10 +171027,10 @@ index 6d84d2785f74..86a821a172b3 100644 2.18.4 -From 0053e4d98126108d9961fdfc69966b911f38f665 Mon Sep 17 00:00:00 2001 +From c3da7e3e4d90f180caffe76157bcccfc26659b06 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Jul 2020 10:33:19 +0100 -Subject: [PATCH 306/457] leds: Add the actpwr trigger +Subject: [PATCH 306/533] leds: Add the actpwr trigger The actpwr trigger is a meta trigger that cycles between an inverted mmc0 and default-on. It is written in a way that could fairly easily @@ -171273,10 +171273,10 @@ index 000000000000..1a52107ceb03 2.18.4 -From 2f5d5b6ad1c429d9af4a922c9e6d53c683857d44 Mon Sep 17 00:00:00 2001 +From b53312afa6143dfd8e69a0e70030223661cce1eb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 21 Jul 2020 17:34:09 +0100 -Subject: [PATCH 307/457] staging: vchiq_arm: children inherit DMA config +Subject: [PATCH 307/533] staging: vchiq_arm: children inherit DMA config Although it is no longer necessary for vchiq's children to have a different DMA configuration to the parent, they do still need to @@ -171315,10 +171315,10 @@ index f85b9b932a4f..170a80e4fe46 100644 2.18.4 -From 5b5b2165b91b982c9e781ba2c6c367db2a444ab1 Mon Sep 17 00:00:00 2001 +From 9650825157097bbcfdbbe562b1081a7697ef15ba Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 22 Jul 2020 17:59:31 +0100 -Subject: [PATCH 308/457] bcm2835-dma: Advertise the full DMA range +Subject: [PATCH 308/533] bcm2835-dma: Advertise the full DMA range Unless the DMA mask is set wider than 32 bits, DMA mapping will use a bounce buffer. @@ -171398,10 +171398,10 @@ index 84b1009da23b..d1127b9058a4 100644 2.18.4 -From 4b2a25b731d1e51621f02d19a5b13e93c5dfe3a7 Mon Sep 17 00:00:00 2001 +From 64eb235079acd0fe52e9933c4661d14c0e6a8b3e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 Jul 2020 13:47:55 +0100 -Subject: [PATCH 309/457] ARM: proc-v7: Force misalignment of early stmia +Subject: [PATCH 309/533] ARM: proc-v7: Force misalignment of early stmia In an attempt to prevent the problem of CPUn not starting, explicitly misalign the scratch space used to save registers acros the cache @@ -171464,10 +171464,10 @@ index 28c9d32fa99a..3e77e8982df3 100644 2.18.4 -From 552646ffac25b226d2dbb93b8d08d9ed9f59202b Mon Sep 17 00:00:00 2001 +From 1ce82a0be94b589504d2d7b4f826abe88cc38572 Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Wed, 19 Aug 2020 17:02:22 +0300 -Subject: [PATCH 310/457] media: bcm2835: unicam: Select MEDIA_CONTROLLER and +Subject: [PATCH 310/533] media: bcm2835: unicam: Select MEDIA_CONTROLLER and VIDEO_V4L2_SUBDEV_API That is what almost all other drivers appear to be doing. @@ -171497,10 +171497,10 @@ index ec46e3ef053c..7d5a0e6ba762 100644 2.18.4 -From 0a6391f55e74ac0c100d392f7f4a61536de98c4b Mon Sep 17 00:00:00 2001 +From 6391ac02afc628b249e338cd68b6e81024d87db2 Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Wed, 19 Aug 2020 17:05:53 +0300 -Subject: [PATCH 311/457] staging: media: rpivid: Select MEDIA_CONTROLLER and +Subject: [PATCH 311/533] staging: media: rpivid: Select MEDIA_CONTROLLER and MEDIA_CONTROLLER_REQUEST_API MEDIA_CONTROLLER_REQUEST_API is a hidden option. If rpivid depends on it, @@ -171535,10 +171535,10 @@ index 58b470c80db1..304c3edf0e71 100644 2.18.4 -From 06230d5dfb8488829cf6098c1ac7cb5465572187 Mon Sep 17 00:00:00 2001 +From 5654f34cc43637e5f091f070dda4ff217d6e5f1b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 27 Aug 2020 16:30:26 +0100 -Subject: [PATCH 312/457] media: bcm2835-unicam: Drop WARN on uing direct cache +Subject: [PATCH 312/533] media: bcm2835-unicam: Drop WARN on uing direct cache alias Pi 0&1 pass all ARM accesses through the VPU L2 cache, therefore @@ -171575,10 +171575,10 @@ index 295db7564614..35ddb97f7f75 100644 2.18.4 -From 329f15e154a7552fdcb266527e1cf8e718f0272f Mon Sep 17 00:00:00 2001 +From 7b6d20094f1bdfba4d5448fe0f320fac24968d4a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 Jul 2020 12:40:50 +0100 -Subject: [PATCH 313/457] media: i2c: tc358743: Only allow supported pixel fmts +Subject: [PATCH 313/533] media: i2c: tc358743: Only allow supported pixel fmts in set_fmt Fix commit "media: tc358743: Return an appropriate colorspace from @@ -171611,10 +171611,10 @@ index b3b8d6e15ea2..eef6ab823c6c 100644 2.18.4 -From b74d62dac75c1feb84226ddbd9478e70f17e46c5 Mon Sep 17 00:00:00 2001 +From bebf393f4eb80c5b2e82b5fbc6d8fd3adcc35fbe Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 18:29:10 +0100 -Subject: [PATCH 314/457] media: i2c: ov9281: Add support for 8 bit readout +Subject: [PATCH 314/533] media: i2c: ov9281: Add support for 8 bit readout The sensor supports 8 bit mode as well as 10bit, so add the relevant code to allow selection of this. @@ -171805,10 +171805,10 @@ index bb8efc3d3cba..9610c24ceff1 100644 2.18.4 -From 8ffa2cf1bf45921d7aebe033b648ee046d0b2c9d Mon Sep 17 00:00:00 2001 +From 82768bfb26ecfe518eb680289219d929642d995c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 3 Sep 2020 14:02:21 +0100 -Subject: [PATCH 315/457] bcm2835-mmc: uninitialized_var is no more +Subject: [PATCH 315/533] bcm2835-mmc: uninitialized_var is no more --- drivers/mmc/host/bcm2835-mmc.c | 2 +- @@ -171831,10 +171831,10 @@ index caf46be8eb0d..cdc1318e5936 100644 2.18.4 -From e861dd7ff76e4e94b4bab93941028554b7c3a71f Mon Sep 17 00:00:00 2001 +From 467a919a413b6db21b2cbec92cc5083b37fca4f0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 3 Sep 2020 14:02:41 +0100 -Subject: [PATCH 316/457] dwc_otg: whitelist_table is now productlist_table +Subject: [PATCH 316/533] dwc_otg: whitelist_table is now productlist_table --- drivers/usb/core/otg_productlist.h | 2 +- @@ -171857,10 +171857,10 @@ index 1839e169469b..b16e528859a8 100644 2.18.4 -From 14a53a2459592a296a9c95af62599d7e4b3d7209 Mon Sep 17 00:00:00 2001 +From 0bf959690becd39bc7bd2d29ffa3073053a85cc1 Mon Sep 17 00:00:00 2001 From: detule Date: Tue, 2 Oct 2018 04:10:08 -0400 -Subject: [PATCH 317/457] vchiq_2835_arm: Implement a DMA pool for small bulk +Subject: [PATCH 317/533] vchiq_2835_arm: Implement a DMA pool for small bulk transfers (#2699) During a bulk transfer we request a DMA allocation to hold the @@ -171985,10 +171985,10 @@ index 76179739de12..2a1d8d6541b2 100644 2.18.4 -From a7390f8ab5246c8fedd6f007d921e6c99265b5f5 Mon Sep 17 00:00:00 2001 +From 7d71e3793f1a8789109d140c81f595050ff4ee0a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 3 Sep 2020 17:09:07 +0100 -Subject: [PATCH 318/457] include/firmware: Add enum for +Subject: [PATCH 318/533] include/firmware: Add enum for RPI_FIRMWARE_FRAMEBUFFER_GET_DISPLAY_ID Used by audio and FKMS. @@ -172014,38 +172014,10 @@ index d0c827064999..d0ee609a9043 100644 2.18.4 -From 650d5635e80f83abcfe86690be7b43779ab3c9ee Mon Sep 17 00:00:00 2001 -From: Dom Cobley -Date: Tue, 2 Jun 2020 19:31:49 +0100 -Subject: [PATCH 319/457] vc4: Set driver_name for card - -Allows use of the same alsa conf file for hdmi1 - -Signed-off-by: Dom Cobley ---- - drivers/gpu/drm/vc4/vc4_hdmi.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index afc178b0d89f..eaba98e15de4 100644 ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1268,6 +1268,7 @@ static int vc4_hdmi_audio_init(struct vc4_hdmi *vc4_hdmi) - card->dai_link = dai_link; - card->num_links = 1; - card->name = vc4_hdmi->variant->card_name; -+ card->driver_name = "vc4-hdmi"; - card->dev = dev; - card->owner = THIS_MODULE; - --- -2.18.4 - - -From ebaf92c7506aee93086efe7dd86b40087dfc629c Mon Sep 17 00:00:00 2001 +From dc31c78d6ecce23af297fbb5aac578e68341856c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Apr 2020 19:07:50 +0100 -Subject: [PATCH 320/457] vc4_hdmi: BCM2835 requires a fixed hsm clock for CEC +Subject: [PATCH 319/533] vc4_hdmi: BCM2835 requires a fixed hsm clock for CEC to work Signed-off-by: popcornmix @@ -172165,10 +172137,10 @@ index 0526a9cf608a..32d09132fb44 100644 2.18.4 -From dbd176d3653c8501f3524bf94be41c0804ffed79 Mon Sep 17 00:00:00 2001 +From 01894f1c42150a813ad3b54c42c92329c4ea3c84 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 7 May 2020 18:16:07 +0100 -Subject: [PATCH 321/457] vc4_hdmi: Fix register offset when sending longer CEC +Subject: [PATCH 320/533] vc4_hdmi: Fix register offset when sending longer CEC messages Signed-off-by: Dom Cobley @@ -172213,10 +172185,10 @@ index 3244fb620611..1538a9f7cbac 100644 2.18.4 -From da0fcfe6755381f9d52076ca000b4d75da0c009d Mon Sep 17 00:00:00 2001 +From 0dd50086dbb2b0c4c202eaaedef020c438da3ec5 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 7 May 2020 18:16:07 +0100 -Subject: [PATCH 322/457] vc4_hdmi: Fix up CEC registers +Subject: [PATCH 321/533] vc4_hdmi: Fix up CEC registers Fix an incorrect register address, add a missing one and reorder into address order @@ -172262,10 +172234,10 @@ index 7c6b4818f245..0548b7bb5006 100644 2.18.4 -From b200cc9618d79e5afe9673cde94d54238f68b0da Mon Sep 17 00:00:00 2001 +From 02e1733c040f1b7a846c69ede61033605cd8ff95 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 7 May 2020 18:16:07 +0100 -Subject: [PATCH 323/457] vc4_hdmi_regs: Add Intr2 register block +Subject: [PATCH 322/533] vc4_hdmi_regs: Add Intr2 register block Signed-off-by: Dom Cobley --- @@ -172366,10 +172338,10 @@ index 0548b7bb5006..2081287c7e2d 100644 2.18.4 -From 2310a7cc741bca3c0debf2be8ebddf1bd75b89c8 Mon Sep 17 00:00:00 2001 +From 496e16a177e2bd15b7e06cfc6d31fd5d2a1bb32a Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 7 May 2020 18:16:08 +0100 -Subject: [PATCH 324/457] vc4_hdmi_regs: Make interrupt mask variant specific +Subject: [PATCH 323/533] vc4_hdmi_regs: Make interrupt mask variant specific Signed-off-by: Dom Cobley --- @@ -172477,10 +172449,10 @@ index be2c32a519b3..39630e9de1b0 100644 2.18.4 -From 2e5dea7939ae76832656e61a35400d5f0c28a90c Mon Sep 17 00:00:00 2001 +From da3e33c0ad78a2715d588193cd75fe50ee895a2f Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 7 May 2020 18:16:08 +0100 -Subject: [PATCH 325/457] vc4_hdmi: Make irq shared +Subject: [PATCH 324/533] vc4_hdmi: Make irq shared Signed-off-by: Dom Cobley --- @@ -172505,10 +172477,10 @@ index 7e11043f0aa8..cdae04162fb0 100644 2.18.4 -From d8b4861062fbceac5bb74c58ef030bf9c7ce87ea Mon Sep 17 00:00:00 2001 +From 735af552f3e74d7fa43b4b4c856608e43f606faa Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 7 May 2020 18:16:08 +0100 -Subject: [PATCH 326/457] vc4_hdmi: Adjust CEC ref clock based on its input +Subject: [PATCH 325/533] vc4_hdmi: Adjust CEC ref clock based on its input clock 2711 uses a fixed 27MHz input, earlier models use the HSM clock @@ -172607,10 +172579,10 @@ index 16cc0e9abc36..60b099a40e4e 100644 2.18.4 -From b4b7dcd1bc0d6800516e65a85f78e3cd8c1f741e Mon Sep 17 00:00:00 2001 +From 061b9327a9a5d1e246a16ebaf440c86d17ee3e26 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 7 May 2020 18:16:09 +0100 -Subject: [PATCH 327/457] vc4_hdmi: Remove cec_available flag as always +Subject: [PATCH 326/533] vc4_hdmi: Remove cec_available flag as always supported Signed-off-by: Dom Cobley @@ -172659,10 +172631,10 @@ index 60b099a40e4e..77abacf043c4 100644 2.18.4 -From 3700dec26ca70bfcdb10e2ce52f08ae15dfae037 Mon Sep 17 00:00:00 2001 +From 67677d5bc740da5486fd2314cd91b6816af052cf Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 14:54:28 +0100 -Subject: [PATCH 328/457] drm/vc4: Adopt the dma configuration from the HVS or +Subject: [PATCH 327/533] drm/vc4: Adopt the dma configuration from the HVS or V3D component vc4_drv isn't necessarily under the /soc node in DT as it is a @@ -172719,10 +172691,10 @@ index 839610f8092a..de02c57ed276 100644 2.18.4 -From e991af57a84c3a67b1834ea5f37907bbb9eab0f5 Mon Sep 17 00:00:00 2001 +From fd38dff03e651368e82991147594a1c5a58815a6 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 23 Jun 2020 18:37:01 +0100 -Subject: [PATCH 329/457] vc4_hdmi: Set HD_CTL_WHOLSMP and HD_CTL_CHALIGN_SET +Subject: [PATCH 328/533] vc4_hdmi: Set HD_CTL_WHOLSMP and HD_CTL_CHALIGN_SET Symptom is random switching of speakers when using multichannel. @@ -172767,10 +172739,10 @@ index 09af5aac091f..5d39342a3ad3 100644 2.18.4 -From 9975fec05c8ff6f26a528b450dd800a9d613e9c0 Mon Sep 17 00:00:00 2001 +From 6357793347991a23fc07bbcfce566546cec019ad Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Mar 2020 22:21:15 +0000 -Subject: [PATCH 330/457] vc4_hdmi: Set HDMI_MAI_FMT +Subject: [PATCH 329/533] vc4_hdmi: Set HDMI_MAI_FMT The hardware uses this for generating the right audio data island packets when using formats other than PCM @@ -172899,10 +172871,10 @@ index 39630e9de1b0..c10402e103d6 100644 2.18.4 -From 88a476d2477d2749093821f2b57bfe45dfd2f94d Mon Sep 17 00:00:00 2001 +From a280ef4a319260137dc664b982e99e0c2d8e22a4 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 17 Mar 2020 12:12:22 +0100 -Subject: [PATCH 331/457] drm/vc4: add iec958 controls to vc4_hdmi +Subject: [PATCH 330/533] drm/vc4: add iec958 controls to vc4_hdmi Although vc4 get an IEC958 formatted stream passed in from userspace the driver needs the info from the channel status bits to properly @@ -173026,10 +172998,10 @@ index 77abacf043c4..d416d2eeed1a 100644 2.18.4 -From 52ed956dde563daef392a361490ca151a4c7e50b Mon Sep 17 00:00:00 2001 +From 3e2cae80e7233daec273b89180e034a677067ddd Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 19 Mar 2020 20:00:35 +0100 -Subject: [PATCH 332/457] drm/vc4: move setup from hw_params to prepare +Subject: [PATCH 331/533] drm/vc4: move setup from hw_params to prepare Configuring HDMI audio registers in prepare allows us to take IEC958 bits into account which are set by the alsa hook after @@ -173090,10 +173062,10 @@ index 119e49dcff7d..2e1eaea5d7ac 100644 2.18.4 -From 0fda03c2c64d6f6d3c14dedbc8c0f208cd95e26a Mon Sep 17 00:00:00 2001 +From b1cc872c3df3fa667b0abf4dff6652eb04d78317 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Fri, 10 Jul 2020 11:51:16 +0100 -Subject: [PATCH 333/457] drm/vc4: enable HBR MAI format on HBR streams +Subject: [PATCH 332/533] drm/vc4: enable HBR MAI format on HBR streams Signed-off-by: Matthias Reichl --- @@ -173121,10 +173093,10 @@ index 2e1eaea5d7ac..2013cbbd002a 100644 2.18.4 -From 8d027730869486ad4b411006d43caa95a434e995 Mon Sep 17 00:00:00 2001 +From 491b0428b6de47aeff9908eb5e6388004e1b62f5 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 25 Jun 2020 18:48:40 +0100 -Subject: [PATCH 334/457] vc4_hdmi: Remove firmware logic for MAI threshold +Subject: [PATCH 333/533] vc4_hdmi: Remove firmware logic for MAI threshold setting This was a workaround for bugs in hardware on earlier Pi models @@ -173174,10 +173146,10 @@ index 2013cbbd002a..f0f862ce9f1a 100644 2.18.4 -From 6925da22b8d810986b54d857498cccf1c7a71d9c Mon Sep 17 00:00:00 2001 +From 29b18bd61c1332c0c45243e4c620297f11d686cc Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 30 Jun 2020 11:23:49 +0100 -Subject: [PATCH 335/457] vc_hdmi: Set VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE +Subject: [PATCH 334/533] vc_hdmi: Set VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE Without this bit set, HDMI_MAI_FORMAT doesn't pick up the format and samplerate from DVP_CFG_MAI0_FMT and you @@ -173204,10 +173176,10 @@ index f0f862ce9f1a..2d014cbf5341 100644 2.18.4 -From e39ab24f64d62abeaa7f5e474fc1f14fac86675b Mon Sep 17 00:00:00 2001 +From e8b3d59dd07242a64cab87a759a538cc6f28f01a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 20 Apr 2020 18:00:38 +0100 -Subject: [PATCH 336/457] vc4: Report channel mapping back to userspace +Subject: [PATCH 335/533] vc4: Report channel mapping back to userspace This follows logic in hdmi-codec.c to use speaker layout from ELD to choose a suitable speaker mapping based on @@ -173716,10 +173688,10 @@ index d416d2eeed1a..e78ae694e359 100644 2.18.4 -From 3d315c9872114fe9df849964728df75c67056090 Mon Sep 17 00:00:00 2001 +From 7b025379b0543f8b373481cf10136f1af3cb008c Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 3 Jun 2020 12:20:19 +0100 -Subject: [PATCH 337/457] vc4: cec: Restore cec physical address on reconnect +Subject: [PATCH 336/533] vc4: cec: Restore cec physical address on reconnect Currently we call cec_phys_addr_invalidate on a hotplug deassert. That may be due to a TV power cycling, or an AVR being switched @@ -173778,10 +173750,10 @@ index 6e04c4d768f0..24da24f3f325 100644 2.18.4 -From 0ca47cd72b0729c90553e0b11c6b9f15f9b1d488 Mon Sep 17 00:00:00 2001 +From 02a89d978b0b7e066db6e1f537eb6ebbb92b91dd Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 24 Jan 2020 14:25:41 +0000 -Subject: [PATCH 338/457] drm/vc4: Add support for DRM_FORMAT_P030 to vc4 +Subject: [PATCH 337/533] drm/vc4: Add support for DRM_FORMAT_P030 to vc4 planes This currently doesn't handle non-zero source rectangles correctly, @@ -173796,7 +173768,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 57 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index 6b39cc2ca18d..31330fe0a8fe 100644 +index 5612cab55227..0346513be158 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -33,6 +33,7 @@ static const struct hvs_format { @@ -173820,7 +173792,7 @@ index 6b39cc2ca18d..31330fe0a8fe 100644 }; static const struct hvs_format *vc4_get_hvs_format(u32 drm_format) -@@ -756,27 +763,33 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -761,27 +768,33 @@ static int vc4_plane_mode_set(struct drm_plane *plane, uint32_t param = fourcc_mod_broadcom_param(fb->modifier); u32 tile_w, tile, x_off, pix_per_tile; @@ -173872,7 +173844,7 @@ index 6b39cc2ca18d..31330fe0a8fe 100644 return -EINVAL; } -@@ -786,6 +799,13 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -791,6 +804,13 @@ static int vc4_plane_mode_set(struct drm_plane *plane, /* Adjust the base pointer to the first pixel to be scanned * out. @@ -173886,7 +173858,7 @@ index 6b39cc2ca18d..31330fe0a8fe 100644 */ for (i = 0; i < num_planes; i++) { vc4_state->offsets[i] += param * tile_w * tile; -@@ -947,7 +967,8 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -952,7 +972,8 @@ static int vc4_plane_mode_set(struct drm_plane *plane, /* Pitch word 1/2 */ for (i = 1; i < num_planes; i++) { @@ -173896,7 +173868,7 @@ index 6b39cc2ca18d..31330fe0a8fe 100644 vc4_dlist_write(vc4_state, VC4_SET_FIELD(fb->pitches[i], SCALER_SRC_PITCH)); -@@ -1305,6 +1326,13 @@ static bool vc4_format_mod_supported(struct drm_plane *plane, +@@ -1310,6 +1331,13 @@ static bool vc4_format_mod_supported(struct drm_plane *plane, default: return false; } @@ -173910,7 +173882,7 @@ index 6b39cc2ca18d..31330fe0a8fe 100644 case DRM_FORMAT_RGBX1010102: case DRM_FORMAT_BGRX1010102: case DRM_FORMAT_RGBA1010102: -@@ -1337,8 +1365,11 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev, +@@ -1342,8 +1370,11 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev, struct drm_plane *plane = NULL; struct vc4_plane *vc4_plane; u32 formats[ARRAY_SIZE(hvs_formats)]; @@ -173922,7 +173894,7 @@ index 6b39cc2ca18d..31330fe0a8fe 100644 static const uint64_t modifiers[] = { DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED, DRM_FORMAT_MOD_BROADCOM_SAND128, -@@ -1353,13 +1384,17 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev, +@@ -1358,13 +1389,17 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev, if (!vc4_plane) return ERR_PTR(-ENOMEM); @@ -173947,10 +173919,10 @@ index 6b39cc2ca18d..31330fe0a8fe 100644 2.18.4 -From e5e15ab8154779f6194ed7338f0e0fe2462763d1 Mon Sep 17 00:00:00 2001 +From 4b3fbc4fe21d0b804c9372a17c2cf54e83ce0fe4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 17 Sep 2019 18:28:17 +0100 -Subject: [PATCH 339/457] drm/vc4: Add support for YUV color encodings and +Subject: [PATCH 338/533] drm/vc4: Add support for YUV color encodings and ranges The BT601/BT709 color encoding and limited vs full @@ -173966,10 +173938,10 @@ Signed-off-by: Dave Stevenson 2 files changed, 72 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index 31330fe0a8fe..100b3541bc6e 100644 +index 0346513be158..b5586c92bfe5 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -615,6 +615,53 @@ static int vc4_plane_allocate_lbm(struct drm_plane_state *state) +@@ -620,6 +620,53 @@ static int vc4_plane_allocate_lbm(struct drm_plane_state *state) return 0; } @@ -174023,7 +173995,7 @@ index 31330fe0a8fe..100b3541bc6e 100644 /* Writes out a full display list for an active plane to the plane's * private dlist state. */ -@@ -979,9 +1026,20 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -984,9 +1031,20 @@ static int vc4_plane_mode_set(struct drm_plane *plane, /* Colorspace conversion words */ if (vc4_state->is_yuv) { @@ -174047,7 +174019,7 @@ index 31330fe0a8fe..100b3541bc6e 100644 } vc4_state->lbm_offset = 0; -@@ -1408,6 +1466,14 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev, +@@ -1413,6 +1471,14 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev, DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y); @@ -174094,10 +174066,10 @@ index c10402e103d6..1f1ed7efaff7 100644 2.18.4 -From e50f459d896d60175b2426aca8951e5a75771d5b Mon Sep 17 00:00:00 2001 +From f0740a03e69c7e25caf2f8f1dd9247cc910dc6d2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 7 Sep 2020 17:32:27 +0100 -Subject: [PATCH 340/457] drm/vc4: Add firmware-kms mode +Subject: [PATCH 339/533] drm/vc4: Add firmware-kms mode This is a squash of all firmware-kms related patches from previous branches, up to and including @@ -176478,10 +176450,10 @@ index d0ee609a9043..05c6989ec4c6 100644 2.18.4 -From f4abc0e2bc5b2a7b59c3ff444413b203bbfba84a Mon Sep 17 00:00:00 2001 +From 31f05db82fe52c16e2aef60c7ed632700cb4e90f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 16:20:30 +0100 -Subject: [PATCH 341/457] drm/vc4: Add FKMS as an acceptable node for dma +Subject: [PATCH 340/533] drm/vc4: Add FKMS as an acceptable node for dma ranges. Under FKMS, the firmware (via FKMS) also requires the VideoCore cache @@ -176511,10 +176483,10 @@ index c8f9031fa946..d6576841d0fe 100644 2.18.4 -From 91ff9214253dd5273412ddb253e2d64290c76900 Mon Sep 17 00:00:00 2001 +From 2111687294da5802d033cbee96d5e05ec56d2eb4 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 8 May 2020 10:00:12 +0100 -Subject: [PATCH 342/457] media: i2c: Add driver for Sony IMX477 sensor +Subject: [PATCH 341/533] media: i2c: Add driver for Sony IMX477 sensor Adds a driver for the 12MPix Sony IMX477 CSI2 sensor. Whilst the sensor supports 2 or 4 CSI2 data lanes, this driver @@ -178790,10 +178762,10 @@ index 000000000000..ec56b0cfd57b 2.18.4 -From 96aa5103af3e004a1c873047ccfa974bb47523cb Mon Sep 17 00:00:00 2001 +From 4ad2885845629451ce253bc61664ebedcb7c8b6f Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 8 May 2020 09:41:17 +0100 -Subject: [PATCH 343/457] media: i2c: imx477: Add support for adaptive frame +Subject: [PATCH 342/533] media: i2c: imx477: Add support for adaptive frame control Use V4L2_CID_EXPOSURE_AUTO_PRIORITY to control if the driver should @@ -178978,10 +178950,10 @@ index ec56b0cfd57b..bd0e2c291a32 100644 2.18.4 -From c60a7e6fd76eb43b353c2b9839dee8e344bf70ce Mon Sep 17 00:00:00 2001 +From c811c4db9dad47ecb737802c7d6e0246676aefd1 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 19 May 2020 16:56:33 +0100 -Subject: [PATCH 344/457] media: i2c: imx477: Return correct result on sensor +Subject: [PATCH 343/533] media: i2c: imx477: Return correct result on sensor id verification The test should return -EIO if the register read id does not match @@ -179009,10 +178981,10 @@ index bd0e2c291a32..e42a8633087d 100644 2.18.4 -From 80c40851e7ff452a72239c5e156e1dd66d46b114 Mon Sep 17 00:00:00 2001 +From 5142b78129598a7662774b84ea4d8b615cd3c480 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sat, 4 Jul 2020 01:45:08 +0300 -Subject: [PATCH 345/457] media: i2c: imx477: Parse and register properties +Subject: [PATCH 344/533] media: i2c: imx477: Parse and register properties Parse device properties and register controls for them using the V4L2 fwnode properties helpers. @@ -179060,10 +179032,10 @@ index e42a8633087d..3fbb173fa079 100644 2.18.4 -From 75942bcfb97ea17ad705ac9035b9133cfbc8a31c Mon Sep 17 00:00:00 2001 +From d60050616cb2b56b62303d4550e75f47e7aa8a95 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 May 2020 18:28:27 +0100 -Subject: [PATCH 346/457] media: bcm2835-unicam: Always service interrupts +Subject: [PATCH 345/533] media: bcm2835-unicam: Always service interrupts From when bringing up the driver, there was a check in the isr to ignore interrupts (claiming them handled) should the driver @@ -179117,10 +179089,10 @@ index 35ddb97f7f75..d4ba911fe7e7 100644 2.18.4 -From faa979e6bff78c19339bd7aa93994cc971d411a4 Mon Sep 17 00:00:00 2001 +From 270e82ab97a8aba5510fceb6e00dea140632d46c Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:33:31 +0200 -Subject: [PATCH 347/457] media: bcm2835: unicam: Fix uninitialized warning +Subject: [PATCH 346/533] media: bcm2835: unicam: Fix uninitialized warning Signed-off-by: Jacko Dirks --- @@ -179144,10 +179116,10 @@ index d4ba911fe7e7..8b091d3a0d15 100644 2.18.4 -From c7530693d6a0ed69e399ed8534a56feb0c11bc59 Mon Sep 17 00:00:00 2001 +From ce573d190c7a821a1a83b9f8f4deda4e0ba170d3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 15:14:05 +0100 -Subject: [PATCH 348/457] media: bcm2835-unicam: Fixup review comments from +Subject: [PATCH 347/533] media: bcm2835-unicam: Fixup review comments from Hans. Updates the driver based on the upstream review comments from @@ -179396,10 +179368,10 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 2.18.4 -From 1be34bdaa9e4c166abfdcea2448b3dc20fd745c8 Mon Sep 17 00:00:00 2001 +From 46890f8a28514dc62c644611e8d27daf17ac2fe1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 11:46:47 +0100 -Subject: [PATCH 349/457] media: bcm2835-unicam: Retain packing information on +Subject: [PATCH 348/533] media: bcm2835-unicam: Retain packing information on G_FMT The change to retrieve the pixel format always on g_fmt didn't @@ -179450,10 +179422,10 @@ index 7dc96c3e8e83..98ae97c367ea 100644 2.18.4 -From e16664835dd012ea0f8d752193a877af2e4883b1 Mon Sep 17 00:00:00 2001 +From 5730d0ffbf44ce9e24b9b817cf9ea6b202cff33e Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 28 May 2020 11:09:48 +0100 -Subject: [PATCH 350/457] media: bcm2835-unicam: change minimum number of +Subject: [PATCH 349/533] media: bcm2835-unicam: change minimum number of vb2_queue buffers to 1 Since the unicam driver was modified to write to a dummy buffer when no @@ -179484,10 +179456,10 @@ index 98ae97c367ea..6501fb205e20 100644 2.18.4 -From 0da5da94fa36067e8c7f4d3c192030fb8378a8d5 Mon Sep 17 00:00:00 2001 +From 9b013cac165b2e2fd65bec9ca79f92408b4d44cf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 1 Sep 2020 18:15:27 +0100 -Subject: [PATCH 351/457] staging/fbtft: Add support for display variants +Subject: [PATCH 350/533] staging/fbtft: Add support for display variants Display variants are intended as a replacement for the now-deleted fbtft_device drivers. Drivers can register additional compatible @@ -179699,10 +179671,10 @@ index 76f8c090a837..f4f5ff0dc0c0 100644 2.18.4 -From 547e8db0722e59e72f6125c0ba4d8c5d14cb4a7b Mon Sep 17 00:00:00 2001 +From 546891023b0721320a522742d3e8dca4d8015eef Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 3 Feb 2020 09:32:22 +0000 -Subject: [PATCH 352/457] brcmfmac: Increase power saving delay to 2s +Subject: [PATCH 351/533] brcmfmac: Increase power saving delay to 2s Increase the delay before entering the lower power state to 2 seconds (the maximum allowed) in order to reduce the packet latencies, @@ -179714,10 +179686,10 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index b9d02e2c62c3..cd40ed5191f7 100644 +index cdc1aeb72005..525bf62d5b3c 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2937,7 +2937,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2938,7 +2938,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, brcmf_dbg(INFO, "Do not enable power save for P2P clients\n"); pm = PM_OFF; } @@ -179726,7 +179698,7 @@ index b9d02e2c62c3..cd40ed5191f7 100644 err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PM, pm); if (err) { -@@ -2947,6 +2947,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2948,6 +2948,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, bphy_err(drvr, "error (%d)\n", err); } @@ -179738,10 +179710,10 @@ index b9d02e2c62c3..cd40ed5191f7 100644 2.18.4 -From 9f9a54d7827ed470f77061f1071a05bb9f64f07d Mon Sep 17 00:00:00 2001 +From 99fd5ff2e57cbba2353487b1a370133182814746 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 21 Sep 2020 14:02:44 +0100 -Subject: [PATCH 353/457] rpivid_h265: Fix width/height typo +Subject: [PATCH 352/533] rpivid_h265: Fix width/height typo Signed-off-by: popcornmix --- @@ -179765,10 +179737,10 @@ index 47d4de42c584..b677910e237c 100644 2.18.4 -From d08d5b6b2ab3cca1b38f12c23c4ef3645d953d34 Mon Sep 17 00:00:00 2001 +From eb69ed11abcc231bfa94929e81a14c7c1cdcaf6a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 25 Sep 2020 15:07:23 +0100 -Subject: [PATCH 354/457] net: bcmgenet: Reset RBUF on first open +Subject: [PATCH 353/533] net: bcmgenet: Reset RBUF on first open If the RBUF logic is not reset when the kernel starts then there may be some data left over from any network boot loader. If the @@ -179790,7 +179762,7 @@ Signed-off-by: Phil Elwell 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index d71f4cc26024..62051e353278 100644 +index ae7011c1e1f7..3cbfe5bebc57 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -3243,7 +3243,7 @@ static void bcmgenet_get_hw_addr(struct bcmgenet_priv *priv, @@ -179828,7 +179800,7 @@ index d71f4cc26024..62051e353278 100644 /* Reinitialize TDMA and RDMA and SW housekeeping */ ret = bcmgenet_init_dma(priv); -@@ -4192,7 +4200,7 @@ static int bcmgenet_resume(struct device *d) +@@ -4194,7 +4202,7 @@ static int bcmgenet_resume(struct device *d) } /* Disable RX/TX DMA and flush TX queues */ @@ -179841,10 +179813,10 @@ index d71f4cc26024..62051e353278 100644 2.18.4 -From 68a5f0c7d953a7c8d121e8f5f7da65eec80e3ec6 Mon Sep 17 00:00:00 2001 +From 5e0c26899003ae6637bc32d19700f4274f98f8ee Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Sep 2020 20:23:30 +0100 -Subject: [PATCH 355/457] char: Add broadcom char drivers back to build files +Subject: [PATCH 354/533] char: Add broadcom char drivers back to build files See: https://github.com/raspberrypi/linux/issues/3875 Signed-off-by: popcornmix @@ -179879,10 +179851,10 @@ index ffce287ef415..463ff9f136e4 100644 2.18.4 -From 02acb3012d3e091454a0ae665c50ee6ad7f3567a Mon Sep 17 00:00:00 2001 +From 23f0d4b2b0e7706ad24fd5879693162c6522c438 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 30 Sep 2020 19:23:43 +0100 -Subject: [PATCH 356/457] USB: gadget: f_hid: avoid crashes and log spam +Subject: [PATCH 355/533] USB: gadget: f_hid: avoid crashes and log spam Disconnecting and reconnecting the USB cable can lead to crashes and a variety of kernel log spam. Try to fix or minimise both. @@ -179945,10 +179917,10 @@ index 1125f4715830..8315fca29cff 100644 2.18.4 -From 5b053bd0a3382cabd0e559f1731b004739df71c2 Mon Sep 17 00:00:00 2001 +From 1013c20deb7b5712f6621f31e0d191d3baed2b47 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 7 Oct 2020 15:09:29 +0100 -Subject: [PATCH 357/457] dwc_otg: initialise sched_frame for periodic QHs that +Subject: [PATCH 356/533] dwc_otg: initialise sched_frame for periodic QHs that were parked If a periodic QH has no remaining QTDs, then it is removed from all @@ -179984,10 +179956,10 @@ index 2823dc9af63f..4503af692aef 100644 2.18.4 -From b291386d77b4115a9f1dc503521c894fee4d2302 Mon Sep 17 00:00:00 2001 +From a11aa1f557a061b74a6b551d8e674bea0210688f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 8 Oct 2020 15:35:14 +0100 -Subject: [PATCH 358/457] staging: bcm2835-camera: Replace deprecated +Subject: [PATCH 357/533] staging: bcm2835-camera: Replace deprecated V4L2_PIX_FMT_BGR32 V4L2_PIX_FMT_BGR32 is deprecated as it is ambiguous over where @@ -180020,10 +179992,10 @@ index bea37cb163fc..e0a96dbb843d 100644 2.18.4 -From 5a3dad2e54fa1651b1c551df6ceee269e4f35ff2 Mon Sep 17 00:00:00 2001 +From 2251c8863bdb53f313a5692b4547559e25c56a8e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 8 Oct 2020 18:49:52 +0100 -Subject: [PATCH 359/457] staging: vc04_services: Add new vc-sm-cma driver +Subject: [PATCH 358/533] staging: vc04_services: Add new vc-sm-cma driver Add Broadcom VideoCore Shared Memory support. @@ -182984,10 +182956,10 @@ index 000000000000..988fdd967922 2.18.4 -From 81470edfb788cd04b0c33497f5e638c6ae6a9ca2 Mon Sep 17 00:00:00 2001 +From 026cd6aab19b04e9698cca1fc43df54257b0efad Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 May 2020 18:09:04 +0100 -Subject: [PATCH 360/457] staging: vchiq-mmal: Add support for 14bit Bayer +Subject: [PATCH 359/533] staging: vchiq-mmal: Add support for 14bit Bayer Add in the missing defines. @@ -183017,10 +182989,10 @@ index 44ba91aa6d47..be8af09a6c80 100644 2.18.4 -From cb107267dfcabfe28ba1d9625ff33bb5752a5e32 Mon Sep 17 00:00:00 2001 +From 5ee2b21bb27202cda21dc99e399a7b8e902fce43 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 May 2020 18:11:14 +0100 -Subject: [PATCH 361/457] staging: mmal-vchiq: Add monochrome image formats +Subject: [PATCH 360/533] staging: mmal-vchiq: Add monochrome image formats Adds support for monochrome image formats in the various MIPI packings. @@ -183052,10 +183024,10 @@ index be8af09a6c80..897e6cdf8dd9 100644 2.18.4 -From ef425806d151f8df02923425323957b469ff1b70 Mon Sep 17 00:00:00 2001 +From 9830166adf39e2a7df566d8d9dfc1e52456769a3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Sep 2018 16:07:55 +0100 -Subject: [PATCH 362/457] staging: mmal-vchiq: Use vc-sm-cma to support zero +Subject: [PATCH 361/533] staging: mmal-vchiq: Use vc-sm-cma to support zero copy With the vc-sm-cma driver we can support zero copy of buffers between @@ -183070,13 +183042,13 @@ Signed-off-by: Dave Stevenson 4 files changed, 69 insertions(+), 2 deletions(-) diff --git a/drivers/staging/vc04_services/vchiq-mmal/Kconfig b/drivers/staging/vc04_services/vchiq-mmal/Kconfig -index 500c0d12e4ff..106f71e709df 100644 +index c99525a0bb45..a7c1a7bf516e 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/Kconfig +++ b/drivers/staging/vc04_services/vchiq-mmal/Kconfig @@ -1,6 +1,7 @@ config BCM2835_VCHIQ_MMAL tristate "BCM2835 MMAL VCHIQ service" - depends on (ARCH_BCM2835 || COMPILE_TEST) + depends on BCM2835_VCHIQ + select BCM_VC_SM_CMA help Enables the MMAL API over VCHIQ interface as used for the @@ -183226,10 +183198,10 @@ index e87f88f99338..247521fbcc1d 100644 2.18.4 -From c11607c65eb517cf6ffa2319129d1f7f7a261db8 Mon Sep 17 00:00:00 2001 +From aedc5b3f0f8379ea3549cf1a4ffdbc5f2bdb012e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 8 Oct 2020 20:24:12 +0100 -Subject: [PATCH 363/457] staging: vc04_services: Add a V4L2 M2M codec driver +Subject: [PATCH 362/533] staging: vc04_services: Add a V4L2 M2M codec driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -186316,10 +186288,10 @@ index 000000000000..d490ff67f747 2.18.4 -From 80e986b41c1d2d2a0038fbd7da83f67edb921942 Mon Sep 17 00:00:00 2001 +From e24d0d1abb353078706e54d1393ad3156792339d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2020 00:48:55 +0200 -Subject: [PATCH 364/457] bcm2835-dma: only reserve channel 0 if legacy dma +Subject: [PATCH 363/533] bcm2835-dma: only reserve channel 0 if legacy dma driver is enabled If CONFIG_DMA_BCM2708 isn't enabled there's no need to mask out @@ -186354,10 +186326,10 @@ index d1127b9058a4..0cbfa9d559a2 100644 2.18.4 -From 35856d3b9eabc4e01a0466c9eeb831c0370dcc7e Mon Sep 17 00:00:00 2001 +From 78f336c9f6b2d3fd47f240c584137a432daa796f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 12 Oct 2020 17:03:14 +0100 -Subject: [PATCH 365/457] uapi: bcm2835-isp: Add bcm2835-isp uapi header file +Subject: [PATCH 364/533] uapi: bcm2835-isp: Add bcm2835-isp uapi header file This file defines the userland interface to the bcm2835-isp driver that will follow in a separate commit. @@ -186699,10 +186671,10 @@ index 000000000000..cf8c0437f159 2.18.4 -From 9e8c3dc683713530ea07ee0212a7900a4f18cf4b Mon Sep 17 00:00:00 2001 +From 21d335be8df277ae9350b74a070a1ba222e74fca Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 23 Apr 2020 10:17:37 +0100 -Subject: [PATCH 366/457] staging: vc04_services: ISP: Add a more complex ISP +Subject: [PATCH 365/533] staging: vc04_services: ISP: Add a more complex ISP processing component Driver for the BCM2835 ISP hardware block. This driver uses the MMAL @@ -189134,10 +189106,10 @@ index 89059bca0b77..5b596b5c057f 100644 2.18.4 -From 1d3ce36df4539ee178b99aaec0a63b34672b48ee Mon Sep 17 00:00:00 2001 +From 49b8037c029baaa22b32c5cf6da15a70cc25c2fb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 31 Jul 2019 17:36:34 +0100 -Subject: [PATCH 367/457] drm/vc4: A present but empty dmas disables audio +Subject: [PATCH 366/533] drm/vc4: A present but empty dmas disables audio Overlays are unable to remove properties in the base DTB, but they can overwrite them. Allow a present but empty 'dmas' property @@ -189173,10 +189145,10 @@ index 24da24f3f325..cd257ce10045 100644 2.18.4 -From 1ad0d079058973348802196e9293a4054ce004ac Mon Sep 17 00:00:00 2001 +From e31fc021b735309f1fdfedfbab7df69d7735d662 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 6 Oct 2020 18:44:42 +0100 -Subject: [PATCH 368/457] drm/vc4: Add debugfs node that dumps the current +Subject: [PATCH 367/533] drm/vc4: Add debugfs node that dumps the current display lists This allows easy analysis of display lists when debugging. @@ -189187,7 +189159,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 41 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index b72b2bd05a81..00c79e638f65 100644 +index ad691571d759..b5015d036d46 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -95,6 +95,45 @@ static int vc4_hvs_debugfs_underrun(struct seq_file *m, void *data) @@ -189249,10 +189221,10 @@ index b72b2bd05a81..00c79e638f65 100644 2.18.4 -From bcaeae159be06070ba1131cdde93c6937b3b79bb Mon Sep 17 00:00:00 2001 +From 8582d33919dbef3d3dfe160c7477c02b19e84e01 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 30 Sep 2020 12:00:54 +0100 -Subject: [PATCH 369/457] gpio: Add gpio-fsm driver +Subject: [PATCH 368/533] gpio: Add gpio-fsm driver The gpio-fsm driver implements simple state machines that allow GPIOs to be controlled in response to inputs from other GPIOs - real and @@ -189274,10 +189246,10 @@ Signed-off-by: Phil Elwell create mode 100644 include/dt-bindings/gpio/gpio-fsm.h diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index a30f0910742d..b593f4d8cba8 100644 +index eb6e824a1965..c33cce6d5256 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -1162,6 +1162,15 @@ config HTC_EGPIO +@@ -1163,6 +1163,15 @@ config HTC_EGPIO several HTC phones. It provides basic support for input pins, output pins, and irqs. @@ -190445,10 +190417,10 @@ index 000000000000..eb40cfdc71df 2.18.4 -From 013e831f25738dc206b0fed6f84c127b61daf35a Mon Sep 17 00:00:00 2001 +From 998fa2e95deab80c50b7eeb2a6939a70f43b8074 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 22 Oct 2020 12:05:43 +0100 -Subject: [PATCH 370/457] drm/vc4: Reading the hotplug register is only valid +Subject: [PATCH 369/533] drm/vc4: Reading the hotplug register is only valid if no GPIO defined The order of precedence should be: @@ -190485,10 +190457,10 @@ index cd257ce10045..08c78fa3ef1f 100644 2.18.4 -From bc098bd984cb900dd279d46f11622272910066ff Mon Sep 17 00:00:00 2001 +From ebefd4fff1e01cc73bde1d104673a24067f37230 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Oct 2020 18:34:56 +0100 -Subject: [PATCH 371/457] drm/vc4: Add all the HDMI registers into the debugfs +Subject: [PATCH 370/533] drm/vc4: Add all the HDMI registers into the debugfs dumps The vc5 HDMI registers hadn't been added into the debugfs @@ -190596,10 +190568,10 @@ index e78ae694e359..724e5de48ed1 100644 2.18.4 -From 3265869a9d1032104c15240ee8a7c3c9e426f931 Mon Sep 17 00:00:00 2001 +From 244cd4279f0bf8d1f83ef72da39900b6d67b1e97 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 19 Mar 2020 10:04:46 +0000 -Subject: [PATCH 372/457] ARM: dts: bcm271x: Use a53 pmu, drop RPI364 +Subject: [PATCH 371/533] ARM: dts: bcm271x: Use a53 pmu, drop RPI364 The upstream bcm2837.dtsi uses cortex-a53-pmu, so we can do the same but with a fallback to the cortex-a7-pmu which is supported by the @@ -190679,10 +190651,10 @@ index 1fd86f81f542..bf69a4b0b172 100644 2.18.4 -From 7bc571e7344fed18d2ec0bacb07a56dff6092691 Mon Sep 17 00:00:00 2001 +From 66d520a5e7f1d045111e5421543a16e961e83a06 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 23 Oct 2020 14:15:41 +0100 -Subject: [PATCH 373/457] overlays: Add option to disable composite to +Subject: [PATCH 372/533] overlays: Add option to disable composite to vc4-kms-v3d Composite gets enabled automatically if HDMI isn't detected, @@ -190723,10 +190695,10 @@ index 6d34a2bff49b..5a4efdeed663 100644 2.18.4 -From b3a7454c5b980d2bff03bb4c432881254bee6f53 Mon Sep 17 00:00:00 2001 +From 5d4251aa954317183c8e8f2e68a99f95bf2c3158 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 11 Mar 2020 12:07:57 +0000 -Subject: [PATCH 374/457] overlays: imx219: Correct link frequency to match the +Subject: [PATCH 373/533] overlays: imx219: Correct link frequency to match the upstream driver The upstream driver is checking the link frequency parameter, and @@ -190754,10 +190726,10 @@ index 3484bde5a9e8..dce07b335c4e 100644 2.18.4 -From d6761610539601e304994214192df95aaf38dd6f Mon Sep 17 00:00:00 2001 +From ad5713032b8538f7b40e8d037423431b27130949 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 23 Oct 2020 15:45:11 +0100 -Subject: [PATCH 375/457] dts: Add CM4 to arm64 dt files +Subject: [PATCH 374/533] dts: Add CM4 to arm64 dt files Signed-off-by: Dave Stevenson --- @@ -190791,10 +190763,10 @@ index 000000000000..8064a58155f1 2.18.4 -From 5c0330c38b066176ddd5793bc0d60ee750cf0333 Mon Sep 17 00:00:00 2001 +From d9fd4ec02c49597429bfcf066cd4a5d5e12c1168 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 26 Oct 2020 12:38:27 +0000 -Subject: [PATCH 376/457] drm/vc4: Add the 2711 HVS as a suitable DMA node +Subject: [PATCH 375/533] drm/vc4: Add the 2711 HVS as a suitable DMA node With vc4-drv node not being under /soc on Pi4, we need to adopt the correct DMA parameters from a suitable sub-component. @@ -190821,10 +190793,10 @@ index d6576841d0fe..617c113b033f 100644 2.18.4 -From 591e432c30c7f8c31f713a2bacdb993bff499096 Mon Sep 17 00:00:00 2001 +From 6f7c884e2f8862a7b444127245f966143a0f55be Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Mon, 26 Oct 2020 14:03:35 +0000 -Subject: [PATCH 377/457] xhci: quirks: add link TRB quirk for VL805 +Subject: [PATCH 376/533] xhci: quirks: add link TRB quirk for VL805 The VL805 controller can't cope with the TR Dequeue Pointer for an endpoint being set to a Link TRB. The hardware-maintained endpoint context ends up @@ -190856,7 +190828,7 @@ index 551ef6445c6b..f8e397962909 100644 if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index f7504a78e245..ec54fcf9b73a 100644 +index 6cf0b04d2f6f..6637f3c2562e 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -630,6 +630,16 @@ void xhci_find_new_dequeue_state(struct xhci_hcd *xhci, @@ -190892,10 +190864,10 @@ index b814cf58b39b..2f5996fd8709 100644 2.18.4 -From f9f43eb3aee921c270f3d1617bce1d467ef53b16 Mon Sep 17 00:00:00 2001 +From da49717b447abe5e4ba2f603a837a38d0b35bbfd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Oct 2020 15:01:21 +0000 -Subject: [PATCH 378/457] dts: Tidy the Raspberry Pi Makefile entries +Subject: [PATCH 377/533] dts: Tidy the Raspberry Pi Makefile entries Signed-off-by: Phil Elwell --- @@ -190943,10 +190915,10 @@ index 1e861e2bf2e0..996e670a6018 100644 2.18.4 -From 587e1c0de425620f7b5345a973b0b69e02b657f9 Mon Sep 17 00:00:00 2001 +From 3f4d236e87ce77234b8d1d85d1081309038b9139 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Oct 2020 10:23:22 +0000 -Subject: [PATCH 379/457] staging: bcm2835-audio: Add disable-headphones flag +Subject: [PATCH 378/533] staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. @@ -190983,10 +190955,10 @@ index b9716f3e264c..092ccbfd5243 100644 2.18.4 -From 67093e0eecc1b396f98ed873ddae1addbca4b9a9 Mon Sep 17 00:00:00 2001 +From 4d7b195126a6ef8da44961efaf554ffbf89f7f42 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Oct 2020 10:18:50 +0000 -Subject: [PATCH 380/457] ARM: dts: Disable headphone audio on Zeroes, CM4 +Subject: [PATCH 379/533] ARM: dts: Disable headphone audio on Zeroes, CM4 Signed-off-by: Phil Elwell --- @@ -191035,10 +191007,10 @@ index 0ca3a0126220..fa7b16040f36 100644 2.18.4 -From 14a5f259aa3710525eb50ebc8a5a2ef9c503656c Mon Sep 17 00:00:00 2001 +From d7378cdbfe0a8715ed713d1bf009d01e67867883 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Oct 2020 10:21:23 +0000 -Subject: [PATCH 381/457] overlays: Enable headphone audio in audremap +Subject: [PATCH 380/533] overlays: Enable headphone audio in audremap Signed-off-by: Phil Elwell --- @@ -191067,10 +191039,10 @@ index d624bb3a3fea..7324890ead86 100644 2.18.4 -From 1a5dc5f1d3be9c8457ce04f59c6039f6a66579fc Mon Sep 17 00:00:00 2001 +From 8beb2be5ae9b9e4bb560486f8865702f68940700 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 26 Oct 2020 16:38:21 +0000 -Subject: [PATCH 382/457] rpisense-fb: Set pseudo_pallete to prevent crash on +Subject: [PATCH 381/533] rpisense-fb: Set pseudo_pallete to prevent crash on fbcon takeover Signed-off-by: Serge Schneider @@ -191103,10 +191075,10 @@ index 26432a5a0b4b..325977def531 100644 2.18.4 -From 4366219e2da0a35c9cad1865da24c683b2d632cf Mon Sep 17 00:00:00 2001 +From 5bc9101710e7b9b7ec7fde76f85c942c8f6ca1a6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Oct 2020 10:35:43 +0000 -Subject: [PATCH 383/457] ARM: dts: Expand PCIe space on BCM2711 +Subject: [PATCH 382/533] ARM: dts: Expand PCIe space on BCM2711 Attempts to connect external GPUs to Compute Module 4's PCIe bus have highlighted that the existing "outbound window" - the fraction of the @@ -191139,10 +191111,10 @@ index b4a18b627359..8ad6c3012fe3 100644 2.18.4 -From 2c52c8d13a885dc158e17445262329ad9628cee6 Mon Sep 17 00:00:00 2001 +From b6459ccaee90c954492dbe1811b386d76e0fa191 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Oct 2020 21:51:29 +0000 -Subject: [PATCH 384/457] configs: Set RASPBERRYPI_FIRMWARE for arm64 bcm2711 +Subject: [PATCH 383/533] configs: Set RASPBERRYPI_FIRMWARE for arm64 bcm2711 RASPBERRYPI_FIRMWARE was missing from the arm64 bcm2711_defconfig. bcmrpi3_defconfig was also missing a few options. Add the misssing @@ -191293,10 +191265,10 @@ index d542d2522076..6247c74639f7 100644 2.18.4 -From e479c93f2accdf8ae5725527d26b0e6caba60aec Mon Sep 17 00:00:00 2001 +From a72eb0444ca61a15091eb93b1179aded8dd84695 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Oct 2020 09:59:49 +0000 -Subject: [PATCH 385/457] dwc_otg: Minimise header and fix build warnings +Subject: [PATCH 384/533] dwc_otg: Minimise header and fix build warnings Delete a large amount of unused declaration from "usb.h", some of which were causing build warnings, and get the module building cleanly. @@ -192198,10 +192170,10 @@ index e55ea9c74be4..76e94b4ebb43 100644 2.18.4 -From b2942beee6f30940aea0d2bcb321a1715439c01b Mon Sep 17 00:00:00 2001 +From df2ba6e4cf41ed8fbdb52447507f194d0902295a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Oct 2020 12:10:04 +0000 -Subject: [PATCH 386/457] gpio-fsm: Fix a build warning +Subject: [PATCH 385/533] gpio-fsm: Fix a build warning Signed-off-by: Phil Elwell --- @@ -192226,10 +192198,10 @@ index eb8b4d58d2d0..2cab50e51315 100644 2.18.4 -From 63ed507dd65d6fdb7b3225d049000921c39b64da Mon Sep 17 00:00:00 2001 +From 76f155876a2a1b515725237dbdfd3c929ae75ff9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Oct 2020 12:10:40 +0000 -Subject: [PATCH 387/457] rpivid_h625: Fix build warnings +Subject: [PATCH 386/533] rpivid_h625: Fix build warnings Signed-off-by: Phil Elwell --- @@ -192300,10 +192272,10 @@ index b677910e237c..fc3caed58187 100644 2.18.4 -From f36f45db76d3d05c343d6783e2b8c770df865b1e Mon Sep 17 00:00:00 2001 +From 60c256da657a9a95cd34ac89fcebc9f47e26ba76 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Oct 2020 12:12:22 +0000 -Subject: [PATCH 388/457] bcm2708_fb: Fix a build warning +Subject: [PATCH 387/533] bcm2708_fb: Fix a build warning Signed-off-by: Phil Elwell --- @@ -192328,10 +192300,10 @@ index dac5c021ce52..365c5b96b8a0 100644 2.18.4 -From 718f474dd07fecb5d41cdc9fab9ae96ed6d7d4a6 Mon Sep 17 00:00:00 2001 +From 45d75bde673b44f7158eae82ca6899e388612901 Mon Sep 17 00:00:00 2001 From: David Knell Date: Wed, 28 Oct 2020 14:18:42 +0000 -Subject: [PATCH 389/457] PiFi-40 defconfigs +Subject: [PATCH 388/533] PiFi-40 defconfigs Signed-off-by: David Knell --- @@ -192406,10 +192378,10 @@ index 6247c74639f7..bc02ce537715 100644 2.18.4 -From 6c4009bcfbb358d10026369952d22bd2f8015365 Mon Sep 17 00:00:00 2001 +From 450976bcf9f85c2b9b089db31f954e823da4c3af Mon Sep 17 00:00:00 2001 From: David Knell Date: Wed, 28 Oct 2020 14:20:56 +0000 -Subject: [PATCH 390/457] PiFi-40 Devicetree files +Subject: [PATCH 389/533] PiFi-40 Devicetree files Signed-off-by: David Knell --- @@ -192508,10 +192480,10 @@ index 000000000000..51a20e54977f 2.18.4 -From 9a7eedb71359bd263f73affffca38925db1b2593 Mon Sep 17 00:00:00 2001 +From 4a2716e6bce8c8a26a14bad4a362b51c1895a9b1 Mon Sep 17 00:00:00 2001 From: David Knell Date: Wed, 28 Oct 2020 14:21:37 +0000 -Subject: [PATCH 391/457] PiFi-40 driver, Makefile and Kconfig +Subject: [PATCH 390/533] PiFi-40 driver, Makefile and Kconfig Signed-off-by: David Knell --- @@ -192851,10 +192823,10 @@ index 000000000000..ae699fb0485c 2.18.4 -From 8476063ec357393691eb347d3278de933a7b85fd Mon Sep 17 00:00:00 2001 +From 5ca2286c4244f5488dfc6e0d1c9ddee1f23f2fdb Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 27 Oct 2020 12:24:14 +0000 -Subject: [PATCH 392/457] bcm2835-pcm: Fix up multichannel pcm audio +Subject: [PATCH 391/533] bcm2835-pcm: Fix up multichannel pcm audio Fixes: a9c1660ff5f02d048c5f31abf1fd1108ccf9ef87 Signed-off-by: Dom Cobley @@ -192912,10 +192884,10 @@ index 446724e718f9..d1e432709ca7 100644 2.18.4 -From b008520b74d14d459954e629c0fa7faacfefb5b2 Mon Sep 17 00:00:00 2001 +From 601edcdba822d3b79ae73c7c488b97a93f46bf06 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Thu, 22 Oct 2020 15:30:55 +0100 -Subject: [PATCH 393/457] watchdog: bcm2835: Ignore params after the partition +Subject: [PATCH 392/533] watchdog: bcm2835: Ignore params after the partition number Use sscanf to extract the partition number and ignore extra parameters @@ -192947,10 +192919,10 @@ index 62937e6f83ca..de25e3682f03 100644 2.18.4 -From ea2b36d672cb3f2b5f89733c0a550af69cb2bc4e Mon Sep 17 00:00:00 2001 +From 287159c1f57de1e6b46442caa56df15a351d7843 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 20 Oct 2020 11:55:37 +0100 -Subject: [PATCH 394/457] firmware: raspberrypi: Add support for tryonce reboot +Subject: [PATCH 393/533] firmware: raspberrypi: Add support for tryonce reboot flag Define a new mailbox (SET_REBOOT_FLAGS) which may be used to @@ -193027,10 +192999,10 @@ index 05c6989ec4c6..6b393bbe7f52 100644 2.18.4 -From 85fa3a8e124c834f010a9274d1c12f9816913e80 Mon Sep 17 00:00:00 2001 +From b19ab5e14a098420226bd48730e2c7f4cabf27e1 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 14 May 2019 17:00:41 +0100 -Subject: [PATCH 395/457] phy: broadcom: split out the BCM54213PE from the +Subject: [PATCH 394/533] phy: broadcom: split out the BCM54213PE from the BCM54210E IDs The last nibble is a revision ID, and the 54213pe is a later rev @@ -193105,10 +193077,10 @@ index d0bd226d6bd9..055e591f27c1 100644 2.18.4 -From c59683d834492b0639df022292fb63da47e0b268 Mon Sep 17 00:00:00 2001 +From 07e738f110523e598b12a7fb6ca1d766618fd1c3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 29 Oct 2020 14:10:56 +0000 -Subject: [PATCH 396/457] phy: broadcom: Add bcm54213pe configuration +Subject: [PATCH 395/533] phy: broadcom: Add bcm54213pe configuration Signed-off-by: Phil Elwell --- @@ -193146,10 +193118,10 @@ index e7aa799fc8e8..3130377108b1 100644 2.18.4 -From b0d17348f491c7d954a7668dc87b0076f6f78205 Mon Sep 17 00:00:00 2001 +From 4f3f899baf2cb029aa702486d8896c7fd328dcf5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 2 Nov 2020 14:56:18 +0000 -Subject: [PATCH 397/457] configs: Add CONFIG_MAX31856=m +Subject: [PATCH 396/533] configs: Add CONFIG_MAX31856=m Enable support for MAX31856 temperature sensors. @@ -193228,10 +193200,10 @@ index bc02ce537715..680b51ab0642 100644 2.18.4 -From a52d4657fefa42b0500ee95304a423b2df750e03 Mon Sep 17 00:00:00 2001 +From 6820f731ef0adbd698f3e8e3569fc8e39a653e1d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 22 Oct 2020 17:11:12 +0100 -Subject: [PATCH 398/457] overlays: Add MAX31856 support to maxtherm overlay +Subject: [PATCH 397/533] overlays: Add MAX31856 support to maxtherm overlay Extend the maxtherm overlay with support for the MAX31856. The driver reads the thermocouple type from a property, which is much @@ -193338,10 +193310,10 @@ index 34d5727069ec..9964e246c14f 100644 2.18.4 -From 1f7275a4d1a6b673c98b485f1fd35d35150e5dfe Mon Sep 17 00:00:00 2001 +From 863d7beb8a5472217b2c79b6ffd120988e6e7e89 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2020 14:21:33 +0100 -Subject: [PATCH 399/457] ARM: dts: Add bcm2711-rpi-400.dts +Subject: [PATCH 398/533] ARM: dts: Add bcm2711-rpi-400.dts Signed-off-by: Phil Elwell --- @@ -194009,10 +193981,10 @@ index 000000000000..90c2b5a195d4 2.18.4 -From 8302fdd311b9ba1310b5557f56a311fbd7056239 Mon Sep 17 00:00:00 2001 +From ed9f833cfe8d87bbdce25f1488613894a9cdfa70 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 4 Nov 2020 11:25:02 +0000 -Subject: [PATCH 400/457] overlays: Deprecate and delete the sdtweak overlay +Subject: [PATCH 399/533] overlays: Deprecate and delete the sdtweak overlay The sdtweak overlay has been superseded by the board-specific sd_* parameters such as sd_poll_once, sd_overclock etc. @@ -194134,10 +194106,10 @@ index 38157d2f9bf3..000000000000 2.18.4 -From 572423095e5dfb27a82a391ac0be6ca72aa11482 Mon Sep 17 00:00:00 2001 +From f12f7f7987dd14aad17eedba8cb92bd6f9122bac Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 5 Nov 2020 11:39:35 +0000 -Subject: [PATCH 401/457] ARM: dts: bcm27xx: Remove enable_headphones setting +Subject: [PATCH 400/533] ARM: dts: bcm27xx: Remove enable_headphones setting The enable_headphones parameter of the snd_bcm2835 module is forced to 1 if enable_compat_alsa is 0, so setting them both on the kernel @@ -194264,10 +194236,10 @@ index fa7b16040f36..49c69fdaef49 100644 2.18.4 -From 6c725401cb3c07d8326862bbf856472e2cab2b95 Mon Sep 17 00:00:00 2001 +From 4d5876e3dc9cc340609403357c9e89a4f61c2146 Mon Sep 17 00:00:00 2001 From: menschel Date: Fri, 6 Nov 2020 23:32:22 +0100 -Subject: [PATCH 402/457] configs: Add CAN_MCP251XFD=m and CAN_ISOTP=m +Subject: [PATCH 401/533] configs: Add CAN_MCP251XFD=m and CAN_ISOTP=m * Add mcp251xfd driver module to the RPi kernel builds. * Add isotp can protocol module to the RPi kernel builds. @@ -194359,10 +194331,10 @@ index 680b51ab0642..ff74c23ef24e 100644 2.18.4 -From 66be402fb61c4f259514de02b9a55b24b9c0d8b5 Mon Sep 17 00:00:00 2001 +From 3b7cb8e76b6e46ebeb14361ae57536b3281c58fb Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 9 Nov 2020 19:49:32 +0000 -Subject: [PATCH 403/457] vc4_hdmi: Report that 3d/stereo is allowed +Subject: [PATCH 402/533] vc4_hdmi: Report that 3d/stereo is allowed Signed-off-by: Dom Cobley --- @@ -194385,10 +194357,10 @@ index 9682b55f74dc..4f5146547850 100644 2.18.4 -From 8c2ac641a2ef3610360c58eaab88c5441e6a0bbd Mon Sep 17 00:00:00 2001 +From 7094aa24b65d44fd8ee22c89fb8450ee67362a87 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Nov 2020 17:08:33 +0000 -Subject: [PATCH 404/457] PCI: brcmstb: Restore initial fundamental reset +Subject: [PATCH 403/533] PCI: brcmstb: Restore initial fundamental reset [1] replaced a single reset function with a pointer to one of two implementations, but also removed the call asserting the reset @@ -194410,7 +194382,7 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+) diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c -index 48036003b3ab..e4b30b8246f7 100644 +index fea54f6fb7b1..bd0263d739c9 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -871,6 +871,8 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie) @@ -194426,10 +194398,10 @@ index 48036003b3ab..e4b30b8246f7 100644 2.18.4 -From ff3ebdf5c5de1b4da4841953601f93291a36d9c6 Mon Sep 17 00:00:00 2001 +From b53f83abf942a978e84632050de60ced21b451b1 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 10 Nov 2020 20:04:08 +0000 -Subject: [PATCH 405/457] vc4: Clear unused infoframe packet RAM registers +Subject: [PATCH 404/533] vc4: Clear unused infoframe packet RAM registers Using a hdmi analyser the bytes in packet ram registers beyond the length were visible in the @@ -194477,10 +194449,10 @@ index 4f5146547850..81f0cd7f846b 100644 2.18.4 -From bda8a07d1af5b4475b81ba747873f13867c40ada Mon Sep 17 00:00:00 2001 +From 01bdfb818c6cf0d90df5e221388ba8ae450d64a8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Nov 2020 18:45:10 +0000 -Subject: [PATCH 406/457] Input: edt-ft5x06: Poll the device if no interrupt is +Subject: [PATCH 405/533] Input: edt-ft5x06: Poll the device if no interrupt is configured. Not all systems have the interrupt line wired up, so switch to @@ -194580,10 +194552,10 @@ index 6ff81d48da86..7e8acc0c19be 100644 2.18.4 -From 039b9435b788d1914ee1a0179ae89dbb517ae1f9 Mon Sep 17 00:00:00 2001 +From 1b78a277adb95ba28913f88771a6b62859203b18 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Nov 2020 18:52:25 +0000 -Subject: [PATCH 407/457] dtoverlays: Add an overlay for the EDT FT5406 +Subject: [PATCH 406/533] dtoverlays: Add an overlay for the EDT FT5406 touchscreen This touchscreen controller is used by the 7" DSI panel, and @@ -194687,10 +194659,10 @@ index 000000000000..407af59bf468 2.18.4 -From 9e3961f10b7ac2db8f5d25120c7fd021c643495e Mon Sep 17 00:00:00 2001 +From 8ef25ea74c86d5a6a3bd835d98ef058a483b412a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 23 Apr 2020 10:17:18 +0100 -Subject: [PATCH 408/457] drm/panel/raspberrypi-touchscreen: Use independent +Subject: [PATCH 407/533] drm/panel/raspberrypi-touchscreen: Use independent I2C actions with delay. We now have the hardware I2C controller pinmuxed to the drive the @@ -194751,10 +194723,10 @@ index 5e9ccefb88f6..7ebb5ee2a47d 100644 2.18.4 -From 01184420d14547616351c25f841171bd02f1b739 Mon Sep 17 00:00:00 2001 +From 9f50d2bdc940b0283fe17738afba8d403f14e30e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 10 Nov 2020 11:21:56 +0000 -Subject: [PATCH 409/457] drm/panel/raspberrypi-ts: Insert delay before polling +Subject: [PATCH 408/533] drm/panel/raspberrypi-ts: Insert delay before polling for startup state In switching to the hardware I2C controller there is an issue @@ -194783,10 +194755,10 @@ index 7ebb5ee2a47d..abb8a8586b6f 100644 2.18.4 -From a9d0cd6affe3d19716e97e6787175fb11061eb4f Mon Sep 17 00:00:00 2001 +From 83b3f06afeaf6c7b5d580de53d3db1618608e2b2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 10 Nov 2020 17:49:35 +0000 -Subject: [PATCH 410/457] Add devicetree support for RaspberryPi 7" panel over +Subject: [PATCH 409/533] Add devicetree support for RaspberryPi 7" panel over DSI I2C Signed-off-by: Dave Stevenson @@ -194894,10 +194866,10 @@ index 000000000000..086f4ffd633a 2.18.4 -From b5f325fc93132fcff64f41321caa71d04de9fc00 Mon Sep 17 00:00:00 2001 +From c3c7349fb558079907994416ba15fe6cfcef09ae Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde Date: Fri, 15 Nov 2019 00:54:07 +0100 -Subject: [PATCH 411/457] mcp251xfd: add overlay +Subject: [PATCH 410/533] mcp251xfd: add overlay Signed-off-by: Marc Kleine-Budde --- @@ -195188,10 +195160,10 @@ index 000000000000..65c861bbd340 2.18.4 -From 00713130abd3fdc6484df6cdaa2bdf994b710758 Mon Sep 17 00:00:00 2001 +From a3a10077fb091ba0d5d7757fa6c7db3f0aa87339 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 23 Nov 2020 14:53:14 +0000 -Subject: [PATCH 412/457] configs: Regenerate the defconfigs +Subject: [PATCH 411/533] configs: Regenerate the defconfigs The CAN_ISOTP setting was in the wrong position, and it's better for bisecting and reverting if this doesn't get rolled into the next @@ -195303,10 +195275,10 @@ index ff74c23ef24e..6939accc59bf 100644 2.18.4 -From 71b7ca6a69564853149ad0c02f1919a82c410379 Mon Sep 17 00:00:00 2001 +From 06fa2f265bd71a3c6e0000b516d4b571dd057eb2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 23 Nov 2020 14:56:18 +0000 -Subject: [PATCH 413/457] configs: Restore BRIDGE_NETFILTER=m +Subject: [PATCH 412/533] configs: Restore BRIDGE_NETFILTER=m CONFIG_BRIDGE_NETFILTER=m used to be the default when CONFIG_NETFILTER was enabled, but that was removed in 5.9. The way that defconfigs work @@ -195388,10 +195360,10 @@ index 6939accc59bf..88ae301afcb4 100644 2.18.4 -From 796f198e799ec5bb391122795ea3c00860c0a827 Mon Sep 17 00:00:00 2001 +From f24002b41092a30db64a7dda209e8c7ed6fdf837 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Mon, 23 Nov 2020 16:17:31 +0100 -Subject: [PATCH 414/457] configs: Enable WireGuard kernel module on armhf +Subject: [PATCH 413/533] configs: Enable WireGuard kernel module on armhf configs CONFIG_WIREGUARD=m implies CONFIG_ARM_CRYPTO=y, hence the latter is removed. @@ -195467,10 +195439,10 @@ index d8484c28caed..77c400a1ecd9 100644 2.18.4 -From b85dc68986dc17ef88f9e89f0088991c4b71c901 Mon Sep 17 00:00:00 2001 +From 16a87e87d0f7b84593abd8597a449d2e7530372e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sun, 22 Nov 2020 11:01:08 +0000 -Subject: [PATCH 415/457] media: ov9281: Add 1280x720 and 640x480 modes +Subject: [PATCH 414/533] media: ov9281: Add 1280x720 and 640x480 modes Breaks out common register set and adds the different registers for 1280x720 (cropped) and 640x480 (skipped) modes @@ -195682,10 +195654,10 @@ index 9610c24ceff1..12621c2dccd5 100644 2.18.4 -From 618605a47cfe629fa9d69bbc3c854e022ff44e4b Mon Sep 17 00:00:00 2001 +From ecbcf62d79f5186c8438c558cb3bc3333574bab2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 11 Nov 2020 17:18:01 +0000 -Subject: [PATCH 416/457] drm/vc4: Add support for DSI0 +Subject: [PATCH 415/533] drm/vc4: Add support for DSI0 DSI0 was partially supported, but didn't register with the main driver, and the code was inconsistent as to whether it checked @@ -195763,10 +195735,10 @@ index eaf276978ee7..1680adf9fe31 100644 2.18.4 -From 26223da67184a61d578b71a23f4eb23251fd7168 Mon Sep 17 00:00:00 2001 +From e7bad0ba40d670982b1d9d14e3a7b4964e82469e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 12 Nov 2020 17:01:52 +0000 -Subject: [PATCH 417/457] dt-bindings: Add compatible for BCM2711 DSI1 +Subject: [PATCH 416/533] dt-bindings: Add compatible for BCM2711 DSI1 DSI1 on BCM2711 doesn't require the DMA workaround that is used on BCM2835/6/7, therefore it needs a new compatible string. @@ -195792,10 +195764,10 @@ index eb44e072b6e5..90ee069ada8d 100644 2.18.4 -From aad4a7c6559e3edfd36b3cb5d04af141923a0a9d Mon Sep 17 00:00:00 2001 +From 484bf1032a0f770b4493cf4aba749798945eb7bc Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 12 Nov 2020 17:18:13 +0000 -Subject: [PATCH 418/457] drm/vc4: Add configuration for BCM2711 DSI1. +Subject: [PATCH 417/533] drm/vc4: Add configuration for BCM2711 DSI1. BCM2711 DSI1 doesn't have the issue with the ARM not being able to write to the registers, therefore remove the DMA @@ -195837,10 +195809,10 @@ index 1680adf9fe31..0cd40d31e82d 100644 2.18.4 -From c238088d6a96fc77e5dff664ce3d42063d91b287 Mon Sep 17 00:00:00 2001 +From d76d56b8ff7226b6f70cff631a46c854186c714d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 12 Nov 2020 18:42:30 +0000 -Subject: [PATCH 419/457] dt: Use compatible string for BCM2711 DSI1 +Subject: [PATCH 418/533] dt: Use compatible string for BCM2711 DSI1 Updates the compatible string for DSI1 on BCM2711 to differentiate it from BCM2835. @@ -195866,10 +195838,10 @@ index 8ad6c3012fe3..7c2d374cb749 100644 2.18.4 -From 111f066c5f0a074dbe82e50cfd5f8d03710bcf65 Mon Sep 17 00:00:00 2001 +From 95a3ba7543d320edbd35557c37722a266a8056e6 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 22 Oct 2020 19:07:24 +0100 -Subject: [PATCH 420/457] vc4_hdmi: Move hdmi reset to bind +Subject: [PATCH 419/533] vc4_hdmi: Move hdmi reset to bind The hdmi reset got moved to a later point in "drm/vc4: hdmi: Add reset callback" @@ -195915,10 +195887,10 @@ index 81f0cd7f846b..452c4a514bfd 100644 2.18.4 -From e13040d27bdc0b2c4a11a1836e10f2b5759c7ab3 Mon Sep 17 00:00:00 2001 +From 9cbebf199b0a199010b154b36b91f094232aa0f5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 30 Nov 2020 16:16:03 +0000 -Subject: [PATCH 421/457] drm/vc4: Correct DSI register definition +Subject: [PATCH 420/533] drm/vc4: Correct DSI register definition The DSI1_PHY_AFEC0_PD_DLANE1 and DSI1_PHY_AFEC0_PD_DLANE3 register definitions were swapped, so trying to use more than a single data @@ -195955,10 +195927,10 @@ index 0cd40d31e82d..bac5e07c05de 100644 2.18.4 -From e248df3063e6d4146b06c809565ca20f2e6aab1a Mon Sep 17 00:00:00 2001 +From 85ba0f0b9861e1343f01230cae97ab4fd0ece132 Mon Sep 17 00:00:00 2001 From: Sudeep Date: Fri, 23 Oct 2020 15:47:17 +0530 -Subject: [PATCH 422/457] Allo boss2 driver +Subject: [PATCH 421/533] Allo boss2 driver Signed-off-by: Sudeep --- @@ -197151,10 +197123,10 @@ index 000000000000..5ad7f16964aa 2.18.4 -From 2f42ead9d4a4bc0751dff88f645b149f34f26bcf Mon Sep 17 00:00:00 2001 +From b1f8a472cf696da64ad43f19985c2276445d781e Mon Sep 17 00:00:00 2001 From: Sudeep Date: Fri, 23 Oct 2020 15:51:15 +0530 -Subject: [PATCH 423/457] Add allo boss2 overlay +Subject: [PATCH 422/533] Add allo boss2 overlay Signed-off-by: Sudeep --- @@ -197260,10 +197232,10 @@ index 000000000000..a6adfb495eb9 2.18.4 -From 1ef8cce9bd519b1853b1fb9badfa7b77b48e3e3a Mon Sep 17 00:00:00 2001 +From 00c195c2460d810b54a7845d768bf6146d5014bb Mon Sep 17 00:00:00 2001 From: Sudeep Date: Fri, 23 Oct 2020 15:52:38 +0530 -Subject: [PATCH 424/457] Add allo boss2 config +Subject: [PATCH 423/533] Add allo boss2 config Signed-off-by: Sudeep --- @@ -197338,10 +197310,10 @@ index 88ae301afcb4..2359f9c08650 100644 2.18.4 -From dc0afee08cdbfe3a36ff047154111aad10ca6739 Mon Sep 17 00:00:00 2001 +From 25a0bd2c9132d96903c7086760d0c27a30b712cd Mon Sep 17 00:00:00 2001 From: paul-1 <6473457+paul-1@users.noreply.github.com> Date: Wed, 4 Nov 2020 19:17:48 -0500 -Subject: [PATCH 425/457] Overlay: Update Allo Piano Plus dac driver for 5.4.y +Subject: [PATCH 424/533] Overlay: Update Allo Piano Plus dac driver for 5.4.y kernels. Create unique names for the two instances of the codec driver. @@ -197374,96 +197346,10 @@ index 374c553db062..d47a35def4f7 100644 2.18.4 -From eb2c86237304c15588f43fd6617d02cb606514b9 Mon Sep 17 00:00:00 2001 -From: Hans Verkuil -Date: Wed, 5 Aug 2020 12:57:21 +0200 -Subject: [PATCH 426/457] media: i2c: imx219: Selection compliance fixes - -To comply with the intended usage of the V4L2 selection target when -used to retrieve a sensor image properties, adjust the rectangles -returned by the imx219 driver. - -The top/left crop coordinates of the TGT_CROP rectangle were set to -(0, 0) instead of (8, 8) which is the offset from the larger physical -pixel array rectangle. This was also a mismatch with the default values -crop rectangle value, so this is corrected. Found with v4l2-compliance. - -While at it, add V4L2_SEL_TGT_CROP_BOUNDS support: CROP_DEFAULT and -CROP_BOUNDS have the same size as the non-active pixels are not readable -using the selection API. Found with v4l2-compliance. - -Fixes: e6d4ef7d58aa7 ("media: i2c: imx219: Implement get_selection") -Signed-off-by: Hans Verkuil -[reword commit message, use macros for pixel offsets] -Signed-off-by: Jacopo Mondi ---- - drivers/media/i2c/imx219.c | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c -index c95d9d62caeb..473134c1e40f 100644 ---- a/drivers/media/i2c/imx219.c -+++ b/drivers/media/i2c/imx219.c -@@ -483,8 +483,8 @@ static const struct imx219_mode supported_modes[] = { - .width = 3280, - .height = 2464, - .crop = { -- .left = 0, -- .top = 0, -+ .left = IMX219_PIXEL_ARRAY_LEFT, -+ .top = IMX219_PIXEL_ARRAY_TOP, - .width = 3280, - .height = 2464 - }, -@@ -499,8 +499,8 @@ static const struct imx219_mode supported_modes[] = { - .width = 1920, - .height = 1080, - .crop = { -- .left = 680, -- .top = 692, -+ .left = 688, -+ .top = 700, - .width = 1920, - .height = 1080 - }, -@@ -515,8 +515,8 @@ static const struct imx219_mode supported_modes[] = { - .width = 1640, - .height = 1232, - .crop = { -- .left = 0, -- .top = 0, -+ .left = IMX219_PIXEL_ARRAY_LEFT, -+ .top = IMX219_PIXEL_ARRAY_TOP, - .width = 3280, - .height = 2464 - }, -@@ -531,8 +531,8 @@ static const struct imx219_mode supported_modes[] = { - .width = 640, - .height = 480, - .crop = { -- .left = 1000, -- .top = 752, -+ .left = 1008, -+ .top = 760, - .width = 1280, - .height = 960 - }, -@@ -1091,6 +1091,7 @@ static int imx219_get_selection(struct v4l2_subdev *sd, - return 0; - - case V4L2_SEL_TGT_CROP_DEFAULT: -+ case V4L2_SEL_TGT_CROP_BOUNDS: - sel->r.top = IMX219_PIXEL_ARRAY_TOP; - sel->r.left = IMX219_PIXEL_ARRAY_LEFT; - sel->r.width = IMX219_PIXEL_ARRAY_WIDTH; --- -2.18.4 - - -From 216696dfb9fcc9b8c94f3189743f155dabebb3e4 Mon Sep 17 00:00:00 2001 +From c5c45e75ab5ba5ede3e97a588181b98506aef071 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 2 Dec 2020 15:22:23 +0000 -Subject: [PATCH 427/457] media: bcm2835-unicam: Correctly handle error +Subject: [PATCH 425/533] media: bcm2835-unicam: Correctly handle error propagation for stream on On a failure in start_streaming(), the error code would not propagate to @@ -197493,10 +197379,10 @@ index 6501fb205e20..c13a0a20fd12 100644 2.18.4 -From bf9b80417dd0de7dd412be7b33ce9e5010cf0e2e Mon Sep 17 00:00:00 2001 +From c35472fca8df385859478b8b392e73cad698ff2b Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 2 Dec 2020 15:26:09 +0000 -Subject: [PATCH 428/457] media: bcm2835-unicam: Return early from +Subject: [PATCH 426/533] media: bcm2835-unicam: Return early from stop_streaming() if stopped clk_disable_unprepare() is called unconditionally in stop_streaming(). @@ -197563,10 +197449,10 @@ index c13a0a20fd12..60309de02369 100644 2.18.4 -From 226743048445fb3e927c8681f9aadab83a5181b5 Mon Sep 17 00:00:00 2001 +From 2faab4b6271dc4b9e0986a1ce508c862560dc071 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 2 Dec 2020 16:48:41 +0000 -Subject: [PATCH 429/457] media: bcm2835-unicam: Clear clock state when +Subject: [PATCH 427/533] media: bcm2835-unicam: Clear clock state when stopping streaming Commit 65e08c465020d4c5b51afb452efc2246d80fd66f failed to clear the @@ -197594,10 +197480,10 @@ index 60309de02369..a8b3f5433f04 100644 2.18.4 -From 5febc7cfebb6024b6d2c0eed87620945c3c30b54 Mon Sep 17 00:00:00 2001 +From 5fafe25c43d587cdd564287517eb79162f3077ff Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 3 Dec 2020 13:44:42 +0000 -Subject: [PATCH 430/457] PCI: brcmstb: Advertise MSI-X support +Subject: [PATCH 428/533] PCI: brcmstb: Advertise MSI-X support Although the BRCMSTB PCIe interface doesn't technically support the MSI-X spec, in practise it seems to work provided no more than 32 @@ -197610,7 +197496,7 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c -index e4b30b8246f7..e8e0975ad32d 100644 +index bd0263d739c9..840f264f7a9b 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -463,7 +463,8 @@ static struct irq_chip brcm_msi_irq_chip = { @@ -197627,10 +197513,10 @@ index e4b30b8246f7..e8e0975ad32d 100644 2.18.4 -From ec0e685479719d6cdfdb845018884a1780c9fd9c Mon Sep 17 00:00:00 2001 +From 6fda9e6b9d06aa2e07f28d1eb5c70c30be2daf5d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Dec 2020 09:35:57 +0000 -Subject: [PATCH 431/457] ARM: dts: CM4 audio pins are not connected +Subject: [PATCH 429/533] ARM: dts: CM4 audio pins are not connected Signed-off-by: Phil Elwell --- @@ -197654,10 +197540,10 @@ index 49c69fdaef49..dbe8afe9ac5f 100644 2.18.4 -From dffb62c7c5a55805d3d3f6ac21a2616ad449f0da Mon Sep 17 00:00:00 2001 +From 8b99ea020ed3884e9bda9dcfb770b71ba30e7957 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Dec 2020 08:33:19 +0000 -Subject: [PATCH 432/457] configs: Add RTC_DRV_PCF85063=m +Subject: [PATCH 430/533] configs: Add RTC_DRV_PCF85063=m Include the driver module for the PCF85063 and PCF85063A RTC devices. @@ -197734,10 +197620,10 @@ index 2359f9c08650..5d6f27ec87f6 100644 2.18.4 -From cca18dfef531b97a0c39ea0a7852c6c7016a6b41 Mon Sep 17 00:00:00 2001 +From 9357644adde5e673a0b4543d5e5458257bcc8823 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Dec 2020 08:49:53 +0000 -Subject: [PATCH 433/457] overlays: Add PCF85063 and PCF85063A to i2c-rtc +Subject: [PATCH 431/533] overlays: Add PCF85063 and PCF85063A to i2c-rtc Add support for the PCF85063 and PCF85063A RTC devices to the i2c-rtc overlay. @@ -198081,10 +197967,10 @@ index 735ca303e4fa..759f532d5be1 100644 2.18.4 -From 2a1c4bcf6a16ee3f59ee4fd9b87a0451bf8db358 Mon Sep 17 00:00:00 2001 +From 4686cb82291ab0f02c1e9fc234c675c7d4e9adb2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Dec 2020 17:18:39 +0000 -Subject: [PATCH 434/457] overlays: Fix cut-and-paste error in README +Subject: [PATCH 432/533] overlays: Fix cut-and-paste error in README Signed-off-by: Phil Elwell --- @@ -198111,10 +197997,10 @@ index d4cf4176a54b..2fa2bbb943cd 100644 2.18.4 -From 262e40f8744d16a22558558a04fbfff49b0b52cd Mon Sep 17 00:00:00 2001 +From 04d12834adf7eca4817b56980af05bc19ea08452 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 4 Nov 2020 18:31:02 +0000 -Subject: [PATCH 435/457] staging/bcm2835-codec: Ensure OUTPUT timestamps are +Subject: [PATCH 433/533] staging/bcm2835-codec: Ensure OUTPUT timestamps are always forwarded The firmware by default tries to ensure that decoded frame @@ -198172,44 +198058,10 @@ index 5b596b5c057f..efda4dc039c3 100644 2.18.4 -From 3170967db30c4499d8ce1c8cfcf6272241fd8349 Mon Sep 17 00:00:00 2001 -From: Naushir Patuck -Date: Tue, 15 Dec 2020 14:51:55 +0000 -Subject: [PATCH 436/457] Revert "media: videobuf2: Fix length check for single - plane dmabuf queueing" - -This reverts commit 961d3b27a2aff52dda0b97d35085a743a27c2f46. - -The updated length check for dmabuf types broke existing usage in v4l2 -userland clients. - -Signed-off-by: Naushir Patuck ---- - drivers/media/common/videobuf2/videobuf2-v4l2.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/drivers/media/common/videobuf2/videobuf2-v4l2.c b/drivers/media/common/videobuf2/videobuf2-v4l2.c -index 96d3b2b2aa31..3f61f5863bf7 100644 ---- a/drivers/media/common/videobuf2/videobuf2-v4l2.c -+++ b/drivers/media/common/videobuf2/videobuf2-v4l2.c -@@ -118,8 +118,7 @@ static int __verify_length(struct vb2_buffer *vb, const struct v4l2_buffer *b) - return -EINVAL; - } - } else { -- length = (b->memory == VB2_MEMORY_USERPTR || -- b->memory == VB2_MEMORY_DMABUF) -+ length = (b->memory == VB2_MEMORY_USERPTR) - ? b->length : vb->planes[0].length; - - if (b->bytesused > length) --- -2.18.4 - - -From 4c2fef23a3744aaeb2a5ee182eddddd758cf1625 Mon Sep 17 00:00:00 2001 +From 4278a282570ebd2270df70a477a0fc3318050438 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Dec 2020 16:38:37 +0000 -Subject: [PATCH 437/457] net: lan78xx: Ack pending PHY ints when resetting +Subject: [PATCH 434/533] net: lan78xx: Ack pending PHY ints when resetting lan78xx_link_reset explicitly clears the MAC's view of the PHY's IRQ status. In doing so it potentially leaves the PHY with a pending @@ -198244,10 +198096,10 @@ index 58f5b90f11d4..3cf5ad0bf0c1 100644 2.18.4 -From 0a057fa83769c6380f0bc13ab807910f0a071019 Mon Sep 17 00:00:00 2001 +From af027848f118e76b770319bcfe0245adbc93070e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Dec 2020 17:02:17 +0000 -Subject: [PATCH 438/457] overlays: mpu6050: Add 'addr' parameter +Subject: [PATCH 435/533] overlays: mpu6050: Add 'addr' parameter The mpu6050 starts up at address 0x68 by default, but can be set to 0x69 if the ADO pin is pulled high. Give the overlay an addr parameter @@ -198288,10 +198140,10 @@ index 3109d90562ae..1b4c06535687 100644 2.18.4 -From c48cf49ffcbc5a3bc840ec45bf209b40e8e0b57c Mon Sep 17 00:00:00 2001 +From 812fff97e3b7e42274a2a477551ec73ab4669953 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 15 Dec 2020 16:26:51 +0000 -Subject: [PATCH 439/457] drm/vc4: Make normalize_zpos conditional on using +Subject: [PATCH 436/533] drm/vc4: Make normalize_zpos conditional on using fkms Eric's view was that there was no point in having zpos @@ -198323,10 +198175,10 @@ index 65513a90d606..5d0974cdeaaa 100644 2.18.4 -From 3af97aeda0df60c333b87ce0f6f150cc78ad87f6 Mon Sep 17 00:00:00 2001 +From cb651587c0eefb0b94bed0a62fd43130dad674b1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 16 Dec 2020 09:28:17 +0000 -Subject: [PATCH 440/457] overlays: Add missing addresses to ads1015/ads1115 +Subject: [PATCH 437/533] overlays: Add missing addresses to ads1015/ads1115 The overlays for the ads1015 and ads1115 I2C ADCs omitted the addresses in the main device node names. As well as breaking the conventions for @@ -198372,10 +198224,10 @@ index 4fc571c2db33..e44ced704ee2 100644 2.18.4 -From 9978d4527bc6ffa28846fa356a700ab99cb83f03 Mon Sep 17 00:00:00 2001 +From 863531aee85a735406f7b2e37b9a09227e21d1ec Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 9 Dec 2020 11:30:12 +0000 -Subject: [PATCH 441/457] media: i2c: imx477: Selection compliance fixes +Subject: [PATCH 438/533] media: i2c: imx477: Selection compliance fixes To comply with the intended usage of the V4L2 selection target when used to retrieve a sensor image properties, adjust the rectangles @@ -198458,10 +198310,10 @@ index 3fbb173fa079..f68e7718b09c 100644 2.18.4 -From 6935d53a37bcff56ef6842f7beca8abe469cd0b1 Mon Sep 17 00:00:00 2001 +From 077c225a2c1d66c0db4a3f7ade03783addbbda66 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sun, 13 Dec 2020 16:45:58 +0000 -Subject: [PATCH 442/457] staging/vc04_services/codec: Add support for CID +Subject: [PATCH 439/533] staging/vc04_services/codec: Add support for CID MPEG_HEADER_MODE Control V4L2_CID_MPEG_VIDEO_HEADER_MODE controls whether the encoder @@ -198528,10 +198380,10 @@ index 3791ab4b4244..c368246cbb6a 100644 2.18.4 -From 3c6e692e57be5bbd8f6e497f3f9c7deb964b7ae3 Mon Sep 17 00:00:00 2001 +From e898647df4eeebf0d46851f7c67c8810d1afdb38 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sun, 13 Dec 2020 16:54:43 +0000 -Subject: [PATCH 443/457] staging/vc04_services/codec: Clear last buf dequeued +Subject: [PATCH 440/533] staging/vc04_services/codec: Clear last buf dequeued flag on START It appears that the V4L2 M2M framework requires the driver to manually @@ -198571,10 +198423,10 @@ index c368246cbb6a..9673d807ca67 100644 2.18.4 -From 3e288694e36cad54fb5e68553da8766450b0d487 Mon Sep 17 00:00:00 2001 +From 3248f39d7ff5544b0d37162cba474cb313988e9a Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 8 Oct 2020 14:44:08 +0200 -Subject: [PATCH 444/457] drm/atomic: Pass the full state to CRTC atomic +Subject: [PATCH 441/533] drm/atomic: Pass the full state to CRTC atomic enable/disable Commit 351f950db4ab28c321a1bd4b92e4bb03e34c4703 upstream. @@ -198953,7 +198805,7 @@ index ce246b96330b..2b3888df22f8 100644 struct drm_device *dev = c->dev; struct atmel_hlcdc_crtc *crtc = drm_crtc_to_atmel_hlcdc_crtc(c); diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c -index f9170b4b22e7..dbac8d4e7ce4 100644 +index 8a871e5c3e26..f4cb330089f4 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -1093,7 +1093,7 @@ disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state) @@ -199844,10 +199696,10 @@ index 4efec30f8bad..bde42988c4b5 100644 2.18.4 -From 4b8f9330c75a8c2919d722b0cabc6a3143216a62 Mon Sep 17 00:00:00 2001 +From f37b6c65cbd9d4c9ce8db656c179b1178338f89e Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 28 Oct 2020 13:32:21 +0100 -Subject: [PATCH 445/457] drm/atomic: Pass the full state to CRTC atomic_check +Subject: [PATCH 442/533] drm/atomic: Pass the full state to CRTC atomic_check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -200248,7 +200100,7 @@ index 2b3888df22f8..0e533ded2a96 100644 ret = atmel_hlcdc_crtc_select_output_mode(s); diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c -index dbac8d4e7ce4..7f7bb3c564cd 100644 +index f4cb330089f4..30223b500c07 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -918,7 +918,7 @@ drm_atomic_helper_check_planes(struct drm_device *dev, @@ -200935,10 +200787,10 @@ index bde42988c4b5..b97441deaf93 100644 2.18.4 -From 1b076cc747abea3701dcbe6f41088f37cd7a2075 Mon Sep 17 00:00:00 2001 +From 37cfe71eebd350ddfae392f049f9dda1ef42bb34 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 28 Oct 2020 13:32:22 +0100 -Subject: [PATCH 446/457] drm/atomic: Pass the full state to CRTC atomic begin +Subject: [PATCH 443/533] drm/atomic: Pass the full state to CRTC atomic begin and flush MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -201329,7 +201181,7 @@ index 0e533ded2a96..c17571a3cc2b 100644 /* TODO: write common plane control register if available */ } diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c -index 7f7bb3c564cd..e196aed9ebf2 100644 +index 30223b500c07..134d3000fb18 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -2507,7 +2507,7 @@ void drm_atomic_helper_commit_planes(struct drm_device *dev, @@ -201887,7 +201739,7 @@ index cd5076e5006b..df6c69eb93d0 100644 void vc4_hvs_unmask_underrun(struct drm_device *dev, int channel); void vc4_hvs_mask_underrun(struct drm_device *dev, int channel); diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 00c79e638f65..c141b83c5e35 100644 +index b5015d036d46..484706f48e4b 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -453,8 +453,10 @@ void vc4_hvs_atomic_disable(struct drm_crtc *crtc, @@ -202033,10 +201885,10 @@ index b97441deaf93..f2de050085be 100644 2.18.4 -From 7545d821d217410aa43bf956f5f33b487243c449 Mon Sep 17 00:00:00 2001 +From 71047eba25dce3a8ef01b1fb4bf09b48d31afbc4 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 7 Dec 2020 16:57:11 +0100 -Subject: [PATCH 447/457] drm/vc4: hvs: Align the HVS atomic hooks to the new +Subject: [PATCH 444/533] drm/vc4: hvs: Align the HVS atomic hooks to the new API Since the CRTC setup in vc4 is split between the PixelValves/TXP and the @@ -202090,7 +201942,7 @@ index df6c69eb93d0..d01c051bdc14 100644 struct drm_atomic_state *state); void vc4_hvs_dump_state(struct drm_device *dev); diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index c141b83c5e35..f2a99579a8d0 100644 +index 484706f48e4b..3ceda2ff072b 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -430,11 +430,12 @@ static void vc4_hvs_update_dlist(struct drm_crtc *crtc) @@ -202154,10 +202006,10 @@ index 34612edcabbd..4a26750b5e93 100644 2.18.4 -From a3e5011186d1a4edd290116bb720be7af1f2141f Mon Sep 17 00:00:00 2001 +From 6bbdab0d30f7ba1de52465554ff164f719acf563 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 15 Dec 2020 16:42:36 +0100 -Subject: [PATCH 448/457] drm/vc4: Pass the atomic state to encoder hooks +Subject: [PATCH 445/533] drm/vc4: Pass the atomic state to encoder hooks We'll need to access the connector state in our encoder setup, so let's just pass the whole DRM state to our private encoder hooks. @@ -202325,10 +202177,10 @@ index 452c4a514bfd..72c58a2990bc 100644 2.18.4 -From 32ca33bd12c226a5bf65415c4ac47893bb35821e Mon Sep 17 00:00:00 2001 +From 431b5069bd0d2e9eede09d89b3c5ac1604de936e Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 15 Dec 2020 16:42:37 +0100 -Subject: [PATCH 449/457] drm/vc4: hdmi: Take into account the clock doubling +Subject: [PATCH 446/533] drm/vc4: hdmi: Take into account the clock doubling flag in atomic_check Commit 63495f6b4aed ("drm/vc4: hdmi: Make sure our clock rate is within @@ -202366,10 +202218,10 @@ index 72c58a2990bc..35e596916372 100644 2.18.4 -From b21ba5c21922baba66068e709626274a65178725 Mon Sep 17 00:00:00 2001 +From 4197cf93d07018e09bc895f7c7a03e0e4daef37e Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 15 Dec 2020 16:42:38 +0100 -Subject: [PATCH 450/457] drm/vc4: hdmi: Don't access the connector state in +Subject: [PATCH 447/533] drm/vc4: hdmi: Don't access the connector state in reset if kmalloc fails drm_atomic_helper_connector_reset uses kmalloc which, from an API @@ -202407,10 +202259,10 @@ index 35e596916372..e9a0b79ae2db 100644 2.18.4 -From a55df07afb214cb712e3a4804dc1eea6078d97d3 Mon Sep 17 00:00:00 2001 +From 83c2989a6919d4dea76c8e448836b0fb866a4208 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 15 Dec 2020 16:42:39 +0100 -Subject: [PATCH 451/457] drm/vc4: hdmi: Create a custom connector state +Subject: [PATCH 448/533] drm/vc4: hdmi: Create a custom connector state When run with a higher bpc than 8, the clock of the HDMI controller needs to be adjusted. Let's create a connector state that will be used at @@ -202503,10 +202355,10 @@ index 724e5de48ed1..fd08adad2ef1 100644 2.18.4 -From 694b1ea62722faa323d6036b76e6ff3104000ad2 Mon Sep 17 00:00:00 2001 +From 9213854f70e4f1e5dc07222a947ad7758ef5cc7f Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 15 Dec 2020 16:42:40 +0100 -Subject: [PATCH 452/457] drm/vc4: hdmi: Store pixel frequency in the connector +Subject: [PATCH 449/533] drm/vc4: hdmi: Store pixel frequency in the connector state The pixel rate is for now quite simple to compute, but with more features @@ -202608,10 +202460,10 @@ index fd08adad2ef1..6c3b1e094e3d 100644 2.18.4 -From 7ee7aed837437f7e1c63dbc9a976207a858073d7 Mon Sep 17 00:00:00 2001 +From 37f2147c28fd45520bc56eca89712a086dc15ed5 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 15 Dec 2020 16:42:41 +0100 -Subject: [PATCH 453/457] drm/vc4: hdmi: Use the connector state pixel rate for +Subject: [PATCH 450/533] drm/vc4: hdmi: Use the connector state pixel rate for the PHY The PHY initialisation parameters are not based on the pixel clock but @@ -202720,10 +202572,10 @@ index 057796b54c51..36535480f8e2 100644 2.18.4 -From 266a7264dbb05415db806a97d1d4f18941bd473b Mon Sep 17 00:00:00 2001 +From ebc8aae56474c11d0ab31aa250a94bf21e792fd6 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 15 Dec 2020 16:42:42 +0100 -Subject: [PATCH 454/457] drm/vc4: hdmi: Limit the BCM2711 to the max without +Subject: [PATCH 451/533] drm/vc4: hdmi: Limit the BCM2711 to the max without scrambling Unlike the previous generations, the HSM clock limitation is way above @@ -202771,10 +202623,10 @@ index 32d8b92cfb47..683c4f8415a9 100644 2.18.4 -From f18571e526af55b8ebaf8f38c613d5b33ae9af69 Mon Sep 17 00:00:00 2001 +From 85ae4a3660f66f1b01442b17f3b0c10279d0f322 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 15 Dec 2020 16:42:43 +0100 -Subject: [PATCH 455/457] drm/vc4: hdmi: Enable 10/12 bpc output +Subject: [PATCH 452/533] drm/vc4: hdmi: Enable 10/12 bpc output The BCM2711 supports higher bpc count than just 8, so let's support it in our driver. @@ -202984,10 +202836,10 @@ index 2081287c7e2d..149b4b4cfdde 100644 2.18.4 -From 52ebd1b612821d7a2c3929d0efb9670e7578ba65 Mon Sep 17 00:00:00 2001 +From d6e1372e6a26193f3119778d446f2210b4400d3f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 1 Dec 2020 14:57:41 +0000 -Subject: [PATCH 456/457] drm/vc4: Fixup fkms for API change +Subject: [PATCH 453/533] drm/vc4: Fixup fkms for API change Atomic flush and check changed API, so fix up the downstream-only FKMS driver. @@ -203040,10 +202892,10 @@ index f83efe013a5b..44b1addeb22e 100644 2.18.4 -From b1f47573c1fc640d360349f767568ff3a84e778d Mon Sep 17 00:00:00 2001 +From f2fe3e8a453ba91500dea76b5412a31a07a0b94a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 22 Dec 2020 16:13:17 +0000 -Subject: [PATCH 457/457] staging: vchiq: Fix bulk userdata handling +Subject: [PATCH 454/533] staging: vchiq: Fix bulk userdata handling The addition of the local 'userdata' pointer to vchiq_irq_queue_bulk_tx_rx omitted the case where neither BLOCKING nor @@ -203082,3 +202934,6390 @@ index 170a80e4fe46..e8e2e70ba314 100644 -- 2.18.4 + +From afd1e0c89af83566de819fc18cf98249edcdaa3a Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 30 Dec 2020 20:00:38 +0000 +Subject: [PATCH 455/533] overlays: Rebuild "upstream" with latest ovmerge + +The latest ovmerge drops disabled fragments, causing the "upstream" +overlay to change. + +Signed-off-by: Phil Elwell +--- + .../boot/dts/overlays/upstream-overlay.dts | 38 ++++------- + .../dts/overlays/upstream-pi4-overlay.dts | 66 +++++-------------- + 2 files changed, 31 insertions(+), 73 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/upstream-overlay.dts b/arch/arm/boot/dts/overlays/upstream-overlay.dts +index 2e9dcd4f5f0a..7c4071a7cb27 100644 +--- a/arch/arm/boot/dts/overlays/upstream-overlay.dts ++++ b/arch/arm/boot/dts/overlays/upstream-overlay.dts +@@ -8,96 +8,84 @@ + / { + compatible = "brcm,bcm2835"; + fragment@0 { +- target = <&cma>; +- __dormant__ { +- size = <0x10000000>; +- }; +- }; +- fragment@1 { + target = <&i2c2>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@2 { ++ fragment@1 { + target = <&fb>; + __overlay__ { + status = "disabled"; + }; + }; +- fragment@3 { ++ fragment@2 { + target = <&pixelvalve0>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@4 { ++ fragment@3 { + target = <&pixelvalve1>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@5 { ++ fragment@4 { + target = <&pixelvalve2>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@6 { ++ fragment@5 { + target = <&hvs>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@7 { ++ fragment@6 { + target = <&hdmi>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@8 { ++ fragment@7 { + target = <&v3d>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@9 { ++ fragment@8 { + target = <&vc4>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@10 { ++ fragment@9 { + target = <&clocks>; + __overlay__ { + claim-clocks = ; + }; + }; +- fragment@11 { ++ fragment@10 { + target = <&vec>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@12 { ++ fragment@11 { + target = <&txp>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@13 { +- target = <&hdmi>; +- __dormant__ { +- dmas; +- }; +- }; +- fragment@14 { ++ fragment@12 { + target = <&audio>; + __overlay__ { + brcm,disable-hdmi; + }; + }; +- fragment@15 { ++ fragment@13 { + target = <&usb>; + #address-cells = <1>; + #size-cells = <1>; +diff --git a/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts b/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts +index 6195e02bf9ff..e0f7cc8ba9ea 100644 +--- a/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts ++++ b/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts +@@ -8,144 +8,114 @@ + / { + compatible = "brcm,bcm2835"; + fragment@0 { +- target = <&cma>; +- __dormant__ { +- size = <0x10000000>; +- }; +- }; +- fragment@1 { + target = <&ddc0>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@2 { ++ fragment@1 { + target = <&ddc1>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@3 { ++ fragment@2 { + target = <&hdmi0>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@4 { ++ fragment@3 { + target = <&hdmi1>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@5 { ++ fragment@4 { + target = <&hvs>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@6 { ++ fragment@5 { + target = <&pixelvalve0>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@7 { ++ fragment@6 { + target = <&pixelvalve1>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@8 { ++ fragment@7 { + target = <&pixelvalve2>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@9 { ++ fragment@8 { + target = <&pixelvalve3>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@10 { ++ fragment@9 { + target = <&pixelvalve4>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@11 { ++ fragment@10 { + target = <&v3d>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@12 { ++ fragment@11 { + target = <&vc4>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@13 { ++ fragment@12 { + target = <&txp>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@14 { ++ fragment@13 { + target = <&fb>; + __overlay__ { + status = "disabled"; + }; + }; +- fragment@15 { ++ fragment@14 { + target = <&firmwarekms>; + __overlay__ { + status = "disabled"; + }; + }; +- fragment@16 { ++ fragment@15 { + target = <&vec>; + __overlay__ { + status = "disabled"; + }; + }; +- fragment@17 { +- target = <&hdmi0>; +- __dormant__ { +- dmas; +- }; +- }; +- fragment@18 { +- target = <&hdmi1>; +- __dormant__ { +- dmas; +- }; +- }; +- fragment@19 { ++ fragment@16 { + target = <&audio>; + __overlay__ { + brcm,disable-hdmi; + }; + }; +- fragment@20 { ++ fragment@17 { + target = <&dvp>; + __overlay__ { + status = "okay"; + }; + }; +- fragment@21 { +- target = <&pixelvalve3>; +- __dormant__ { +- status = "okay"; +- }; +- }; +- fragment@22 { +- target = <&vec>; +- __dormant__ { +- status = "okay"; +- }; +- }; +- fragment@23 { ++ fragment@18 { + target = <&usb>; + #address-cells = <1>; + #size-cells = <1>; +-- +2.18.4 + + +From c8f24cfd2e0df4571896898f948b5f3aaaafe3e0 Mon Sep 17 00:00:00 2001 +From: menschel +Date: Wed, 30 Dec 2020 21:55:34 +0100 +Subject: [PATCH 456/533] Add overlay for Seeed Studio CAN BUS FD HAT (#4034) + +This patch adds the overlay for the Seeed Studio CAN BUS FD HAT +with two CAN FD Channels and an RTC. +https://www.seeedstudio.com/CAN-BUS-FD-HAT-for-Raspberry-Pi-p-4742.html + +The overlay was generated by +ovmerge -c mcp251xfd-overlay.dts,spi0-0,interrupt=25 \ + mcp251xfd-overlay.dts,spi0-1,interrupt=24 \ + i2c-rtc-overlay.dts,pcf85063 + + +Also, add description on how to generate overlays + +Signed-off-by: Patrick Menschel +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 46 +++++++ + .../dts/overlays/seeed-can-fd-hat-overlay.dts | 117 ++++++++++++++++++ + 3 files changed, 164 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/seeed-can-fd-hat-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 873e15d1d7ba..667c489bfef3 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -161,6 +161,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + sc16is752-spi1.dtbo \ + sdhost.dtbo \ + sdio.dtbo \ ++ seeed-can-fd-hat.dtbo \ + sh1106-spi.dtbo \ + smi.dtbo \ + smi-dev.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index f1d2a424b3d5..eaaa8a726be0 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -81,6 +81,44 @@ Parameters usually have default values, although certain parameters are + mandatory. See the list of overlays below for a description of the parameters + and their defaults. + ++Making new Overlays based on existing Overlays ++============================================== ++ ++Recent overlays have been designed in a more general way, so that they can be ++adapted to hardware by changing their parameters. When you have additional ++hardware with more than one device of a kind, you end up using the same overlay ++multiple times with other parameters, e.g. ++ ++ # 2 CAN FD interfaces on spi but with different pins ++ dtoverlay=mcp251xfd,spi0-0,interrupt=25 ++ dtoverlay=mcp251xfd,spi0-1,interrupt=24 ++ ++ # a realtime clock on i2c ++ dtoverlay=i2c-rtc,pcf85063 ++ ++While this approach does work, it requires knowledge about the hardware design. ++It is more feasible to simplify things for the end user by providing a single ++overlay as it is done the traditional way. ++ ++A new overlay can be generated by using ovmerge utility. ++https://github.com/raspberrypi/utils/blob/master/ovmerge/ovmerge ++ ++To generate an overlay for the above configuration we pass the configuration ++to ovmerge and add the -c flag. ++ ++ ovmerge -c mcp251xfd-overlay.dts,spi0-0,interrupt=25 \ ++ mcp251xfd-overlay.dts,spi0-1,interrupt=24 \ ++ i2c-rtc-overlay.dts,pcf85063 \ ++ >> merged-overlay.dts ++ ++The -c option writes the command above as a comment into the overlay as ++a marker that this overlay is generated and how it was generated. ++After compiling the overlay it can be loaded in a single line. ++ ++ dtoverlay=merged ++ ++It does the same as the original configuration but without parameters. ++ + The Overlay and Parameter Reference + =================================== + +@@ -2466,6 +2504,14 @@ Info: This overlay is now deprecated. Use the sd_* dtparams in the + Load: + + ++Name: seeed-can-fd-hat ++Info: Overlay for Seeed Studio CAN BUS FD HAT with two CAN FD channels and an ++ RTC. ++ https://www.seeedstudio.com/CAN-BUS-FD-HAT-for-Raspberry-Pi-p-4742.html ++Load: dtoverlay=seeed-can-fd-hat ++Params: ++ ++ + Name: sh1106-spi + Info: Overlay for SH1106 OLED via SPI using fbtft staging driver. + Load: dtoverlay=sh1106-spi,= +diff --git a/arch/arm/boot/dts/overlays/seeed-can-fd-hat-overlay.dts b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-overlay.dts +new file mode 100644 +index 000000000000..e843d0b19745 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-overlay.dts +@@ -0,0 +1,117 @@ ++// redo: ovmerge -c mcp251xfd-overlay.dts,spi0-0,interrupt=25 mcp251xfd-overlay.dts,spi0-1,interrupt=24 i2c-rtc-overlay.dts,pcf85063 ++ ++// Device tree overlay for https://www.seeedstudio.com/CAN-BUS-FD-HAT-for-Raspberry-Pi-p-4742.html ++ ++/dts-v1/; ++/plugin/; ++ ++#include ++#include ++#include ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ fragment@0 { ++ target = <&spidev0>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ fragment@1 { ++ target = <&gpio>; ++ __overlay__ { ++ mcp251xfd_pins: mcp251xfd_spi0_0_pins { ++ brcm,pins = <25>; ++ brcm,function = ; ++ }; ++ }; ++ }; ++ fragment@2 { ++ target-path = "/clocks"; ++ __overlay__ { ++ clk_mcp251xfd_osc: mcp251xfd-spi0-0-osc { ++ #clock-cells = <0>; ++ compatible = "fixed-clock"; ++ clock-frequency = <40000000>; ++ }; ++ }; ++ }; ++ fragment@3 { ++ target = <&spi0>; ++ __overlay__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ mcp251xfd@0 { ++ compatible = "microchip,mcp251xfd"; ++ reg = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mcp251xfd_pins>; ++ spi-max-frequency = <20000000>; ++ interrupt-parent = <&gpio>; ++ interrupts = <25 IRQ_TYPE_LEVEL_LOW>; ++ clocks = <&clk_mcp251xfd_osc>; ++ }; ++ }; ++ }; ++ fragment@4 { ++ target = <&spidev1>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ fragment@5 { ++ target = <&gpio>; ++ __overlay__ { ++ mcp251xfd_pins_1: mcp251xfd_spi0_1_pins { ++ brcm,pins = <24>; ++ brcm,function = ; ++ }; ++ }; ++ }; ++ fragment@6 { ++ target-path = "/clocks"; ++ __overlay__ { ++ clk_mcp251xfd_osc_1: mcp251xfd-spi0-1-osc { ++ #clock-cells = <0>; ++ compatible = "fixed-clock"; ++ clock-frequency = <40000000>; ++ }; ++ }; ++ }; ++ fragment@7 { ++ target = <&spi0>; ++ __overlay__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ mcp251xfd@1 { ++ compatible = "microchip,mcp251xfd"; ++ reg = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mcp251xfd_pins_1>; ++ spi-max-frequency = <20000000>; ++ interrupt-parent = <&gpio>; ++ interrupts = <24 IRQ_TYPE_LEVEL_LOW>; ++ clocks = <&clk_mcp251xfd_osc_1>; ++ }; ++ }; ++ }; ++ fragment@8 { ++ target = <&i2cbus>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ pcf85063@51 { ++ compatible = "nxp,pcf85063"; ++ reg = <0x51>; ++ }; ++ }; ++ }; ++ fragment@9 { ++ target = <&i2c_arm>; ++ i2cbus: __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +-- +2.18.4 + + +From b1016f1d4bef3d526b64bf72722a3fe34e6a9c4d Mon Sep 17 00:00:00 2001 +From: gesangtome +Date: Fri, 1 Jan 2021 18:03:17 +0800 +Subject: [PATCH 457/533] vc-sm-cma: fixed kbuild problem + +error logs: + drivers/staging/vc04_services/vc-sm-cma/Kconfig:1:error: recursive dependency detected! + drivers/staging/vc04_services/vc-sm-cma/Kconfig:1: symbol BCM_VC_SM_CMA is selected by BCM2835_VCHIQ_MMAL + drivers/staging/vc04_services/vchiq-mmal/Kconfig:1: symbol BCM2835_VCHIQ_MMAL depends on BCM2835_VCHIQ + drivers/staging/vc04_services/Kconfig:14: symbol BCM2835_VCHIQ is selected by BCM_VC_SM_CMA + For a resolution refer to Documentation/kbuild/kconfig-language.rst + subsection "Kconfig recursive dependency limitations" + +Tested-by: make ARCH=arm64 bcm2711_defconfig +Test platform: fedora 33 +Branch: rpi-5.10.y +--- + drivers/staging/vc04_services/vchiq-mmal/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/staging/vc04_services/vchiq-mmal/Kconfig b/drivers/staging/vc04_services/vchiq-mmal/Kconfig +index a7c1a7bf516e..5df9198cdab1 100644 +--- a/drivers/staging/vc04_services/vchiq-mmal/Kconfig ++++ b/drivers/staging/vc04_services/vchiq-mmal/Kconfig +@@ -1,6 +1,6 @@ + config BCM2835_VCHIQ_MMAL + tristate "BCM2835 MMAL VCHIQ service" +- depends on BCM2835_VCHIQ ++ select BCM2835_VCHIQ + select BCM_VC_SM_CMA + help + Enables the MMAL API over VCHIQ interface as used for the +-- +2.18.4 + + +From 58ae0a4e168e945c28520b918cca5b96553f3fbb Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 4 Jan 2021 11:06:51 +0000 +Subject: [PATCH 458/533] staging: vchiq: Fix bulk transfers on 64-bit builds + +The recent change to the bulk transfer compat function missed the fact +the relevant ioctl command is VCHIQ_IOC_QUEUE_BULK_TRANSMIT32, not +VCHIQ_IOC_QUEUE_BULK_TRANSMIT, as any attempt to send a bulk block +to the VPU would have shown. + +Fixes: a4367cd2b231 ("staging: vchiq: convert compat bulk transfer") + +Signed-off-by: Phil Elwell +--- + drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +index e8e2e70ba314..a936102dbc34 100644 +--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c ++++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +@@ -1722,7 +1722,7 @@ vchiq_compat_ioctl_queue_bulk(struct file *file, + { + struct vchiq_queue_bulk_transfer32 args32; + struct vchiq_queue_bulk_transfer args; +- enum vchiq_bulk_dir dir = (cmd == VCHIQ_IOC_QUEUE_BULK_TRANSMIT) ? ++ enum vchiq_bulk_dir dir = (cmd == VCHIQ_IOC_QUEUE_BULK_TRANSMIT32) ? + VCHIQ_BULK_TRANSMIT : VCHIQ_BULK_RECEIVE; + + if (copy_from_user(&args32, argp, sizeof(args32))) +-- +2.18.4 + + +From b2c8d0a6590c3564cadbc66c684c166443f6af7d Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Sat, 2 Jan 2021 10:51:58 +0000 +Subject: [PATCH 459/533] staging/vc04-services/codec: Fix logical precedence + issue + +Two issues identified with operator precedence in logical +expressions. Fix them. + +https://github.com/raspberrypi/linux/issues/4040 + +Signed-off-by: Dave Stevenson +--- + .../staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +index 9673d807ca67..8a8f1e8db7d0 100644 +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -908,7 +908,7 @@ static void op_buffer_cb(struct vchiq_mmal_instance *instance, + /* stream ended, or buffer being returned during disable. */ + v4l2_dbg(2, debug, &ctx->dev->v4l2_dev, "%s: Empty buffer - flags %04x", + __func__, mmal_buf->mmal_flags); +- if (!mmal_buf->mmal_flags & MMAL_BUFFER_HEADER_FLAG_EOS) { ++ if (!(mmal_buf->mmal_flags & MMAL_BUFFER_HEADER_FLAG_EOS)) { + vb2_buffer_done(&vb2->vb2_buf, VB2_BUF_STATE_ERROR); + if (!port->enabled) + complete(&ctx->frame_cmplt); +@@ -1135,7 +1135,7 @@ static int vidioc_try_fmt(struct bcm2835_codec_ctx *ctx, struct v4l2_format *f, + if (f->fmt.pix_mp.height > MAX_H) + f->fmt.pix_mp.height = MAX_H; + +- if (!fmt->flags & V4L2_FMT_FLAG_COMPRESSED) { ++ if (!(fmt->flags & V4L2_FMT_FLAG_COMPRESSED)) { + /* Only clip min w/h on capture. Treat 0x0 as unknown. */ + if (f->fmt.pix_mp.width < MIN_W) + f->fmt.pix_mp.width = MIN_W; +-- +2.18.4 + + +From fc08a10335f22820c1fa0b90681ed5dfea338f6e Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 5 Jan 2021 14:34:20 +0000 +Subject: [PATCH 460/533] staging/mmal-vchiq: Fix incorrect static + vchiq_instance. + +For some reason lost in history function vchiq_mmal_init used +a static variable for storing the vchiq_instance. +This value is retrieved from vchiq per instance, so worked fine +until you try to call vchiq_mmal_init multiple times concurrently +when things then go wrong. This seemed to happen quite frequently +if using the cutdown firmware (no MMAL or VCSM services running) +as the vchiq_connect then failed, and one or other vchiq_shutdown +was working on an invalid handle. + +Remove the static so that each caller gets a unique vchiq_instance. + +Signed-off-by: Dave Stevenson +--- + drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +index 0f98494812c8..014fbace54cd 100644 +--- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c ++++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +@@ -2086,7 +2086,7 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance) + int status; + int err = -ENODEV; + struct vchiq_mmal_instance *instance; +- static struct vchiq_instance *vchiq_instance; ++ struct vchiq_instance *vchiq_instance; + struct vchiq_service_params_kernel params = { + .version = VC_MMAL_VER, + .version_min = VC_MMAL_MIN_VER, +-- +2.18.4 + + +From 11c32da0be4ec92bae84cc56cb4b1b5d791ef5ba Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 7 Jan 2021 10:43:20 +0000 +Subject: [PATCH 461/533] staging/vc04_services: Add additional unpacked raw + formats + +Support has been added for the unpacked (16bpp) versions of +the MIPI raw 10, 12, and 14 formats, so add the 4CCs for them. + +Signed-off-by: Dave Stevenson +--- + .../vc04_services/vchiq-mmal/mmal-encodings.h | 22 +++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-encodings.h b/drivers/staging/vc04_services/vchiq-mmal/mmal-encodings.h +index 8eb6334ee055..59f7ad3a5b3b 100644 +--- a/drivers/staging/vc04_services/vchiq-mmal/mmal-encodings.h ++++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-encodings.h +@@ -102,12 +102,34 @@ + #define MMAL_ENCODING_BAYER_SGRBG16 MMAL_FOURCC('G', 'R', '1', '6') + #define MMAL_ENCODING_BAYER_SRGGB16 MMAL_FOURCC('R', 'G', '1', '6') + ++/* 10 bit per pixel unpacked (16bit) Bayer formats. */ ++#define MMAL_ENCODING_BAYER_SBGGR10 MMAL_FOURCC('B', 'G', '1', '0') ++#define MMAL_ENCODING_BAYER_SGRBG10 MMAL_FOURCC('B', 'A', '1', '0') ++#define MMAL_ENCODING_BAYER_SGBRG10 MMAL_FOURCC('G', 'B', '1', '0') ++#define MMAL_ENCODING_BAYER_SRGGB10 MMAL_FOURCC('R', 'G', '1', '0') ++ ++/* 12 bit per pixel unpacked (16bit) Bayer formats */ ++#define MMAL_ENCODING_BAYER_SBGGR12 MMAL_FOURCC('B', 'G', '1', '2') ++#define MMAL_ENCODING_BAYER_SGRBG12 MMAL_FOURCC('B', 'A', '1', '2') ++#define MMAL_ENCODING_BAYER_SGBRG12 MMAL_FOURCC('G', 'B', '1', '2') ++#define MMAL_ENCODING_BAYER_SRGGB12 MMAL_FOURCC('R', 'G', '1', '2') ++ ++/* 14 bit per pixel unpacked (16bit) Bayer formats */ ++#define MMAL_ENCODING_BAYER_SBGGR14 MMAL_FOURCC('B', 'G', '1', '4') ++#define MMAL_ENCODING_BAYER_SGBRG14 MMAL_FOURCC('G', 'B', '1', '4') ++#define MMAL_ENCODING_BAYER_SGRBG14 MMAL_FOURCC('G', 'R', '1', '4') ++#define MMAL_ENCODING_BAYER_SRGGB14 MMAL_FOURCC('R', 'G', '1', '4') ++ + /* MIPI packed monochrome images */ + #define MMAL_ENCODING_GREY MMAL_FOURCC('G', 'R', 'E', 'Y') + #define MMAL_ENCODING_Y10P MMAL_FOURCC('Y', '1', '0', 'P') + #define MMAL_ENCODING_Y12P MMAL_FOURCC('Y', '1', '2', 'P') + #define MMAL_ENCODING_Y14P MMAL_FOURCC('Y', '1', '4', 'P') + #define MMAL_ENCODING_Y16 MMAL_FOURCC('Y', '1', '6', ' ') ++/* Unpacked monochrome formats (16bit per sample, but only N LSBs used) */ ++#define MMAL_ENCODING_Y10 MMAL_FOURCC('Y', '1', '0', ' ') ++#define MMAL_ENCODING_Y12 MMAL_FOURCC('Y', '1', '2', ' ') ++#define MMAL_ENCODING_Y14 MMAL_FOURCC('Y', '1', '4', ' ') + + /** An EGL image handle + */ +-- +2.18.4 + + +From 445235980df07fa05a32ed65a0225ad05d45c2f2 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 7 Jan 2021 10:45:16 +0000 +Subject: [PATCH 462/533] staging/bcm2835-codec: Add the unpacked (16bpp) raw + formats + +Now that the firmware supports the unpacked (16bpp) variants +of the MIPI raw formats, add the mappings. + +Signed-off-by: Dave Stevenson +--- + .../bcm2835-codec/bcm2835-v4l2-codec.c | 128 +++++++++++++++++- + 1 file changed, 126 insertions(+), 2 deletions(-) + +diff --git a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +index 8a8f1e8db7d0..c883db63808f 100644 +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -380,6 +380,106 @@ static const struct bcm2835_codec_fmt supported_formats[] = { + .mmal_fmt = MMAL_ENCODING_BAYER_SGBRG16, + .size_multiplier_x2 = 2, + .is_bayer = true, ++ }, { ++ /* Bayer formats unpacked to 16bpp */ ++ /* 10 bit */ ++ .fourcc = V4L2_PIX_FMT_SRGGB10, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SRGGB10, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SBGGR10, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SBGGR10, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGRBG10, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGRBG10, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGBRG10, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGBRG10, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ /* 12 bit */ ++ .fourcc = V4L2_PIX_FMT_SRGGB12, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SRGGB12, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SBGGR12, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SBGGR12, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGRBG12, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGRBG12, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGBRG12, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGBRG12, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ /* 14 bit */ ++ .fourcc = V4L2_PIX_FMT_SRGGB14, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SRGGB14, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SBGGR14, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SBGGR14, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGRBG14, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGRBG14, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGBRG14, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGBRG14, ++ .size_multiplier_x2 = 2, ++ .is_bayer = true, + }, { + /* Monochrome MIPI formats */ + /* 8 bit */ +@@ -421,6 +521,30 @@ static const struct bcm2835_codec_fmt supported_formats[] = { + .flags = 0, + .mmal_fmt = MMAL_ENCODING_Y16, + .size_multiplier_x2 = 2, ++ }, { ++ /* 10 bit as 16bpp */ ++ .fourcc = V4L2_PIX_FMT_Y10, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_Y10, ++ .size_multiplier_x2 = 2, ++ }, { ++ /* 12 bit as 16bpp */ ++ .fourcc = V4L2_PIX_FMT_Y12, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_Y12, ++ .size_multiplier_x2 = 2, ++ }, { ++ /* 14 bit as 16bpp */ ++ .fourcc = V4L2_PIX_FMT_Y14, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .flags = 0, ++ .mmal_fmt = MMAL_ENCODING_Y14, ++ .size_multiplier_x2 = 2, + }, { + /* Compressed formats */ + .fourcc = V4L2_PIX_FMT_H264, +@@ -2681,10 +2805,10 @@ static const struct v4l2_m2m_ops m2m_ops = { + + /* Size of the array to provide to the VPU when asking for the list of supported + * formats. +- * The ISP component currently advertises 44 input formats, so add a small ++ * The ISP component currently advertises 62 input formats, so add a small + * overhead on that. + */ +-#define MAX_SUPPORTED_ENCODINGS 50 ++#define MAX_SUPPORTED_ENCODINGS 70 + + /* Populate dev->supported_fmts with the formats supported by those ports. */ + static int bcm2835_codec_get_supported_fmts(struct bcm2835_codec_dev *dev) +-- +2.18.4 + + +From 5b26ccd0bc686bf7e7adf3d4dcfa68cac74a77e1 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 7 Jan 2021 11:41:26 +0000 +Subject: [PATCH 463/533] staging/bcm2835-codec: Log the number of excess + supported formats + +When logging that the firmware has provided more supported formats +than we had allocated storage for, log the number allocated and +returned. + +Signed-off-by: Dave Stevenson +--- + .../vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +index c883db63808f..94691ab7175a 100644 +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -2836,8 +2836,10 @@ static int bcm2835_codec_get_supported_fmts(struct bcm2835_codec_dev *dev) + + if (ret) { + if (ret == MMAL_MSG_STATUS_ENOSPC) { +- v4l2_err(&dev->v4l2_dev, "%s: port has more encoding than we provided space for. Some are dropped.\n", +- __func__); ++ v4l2_err(&dev->v4l2_dev, ++ "%s: port has more encodings than we provided space for. Some are dropped (%u vs %u).\n", ++ __func__, param_size / sizeof(u32), ++ MAX_SUPPORTED_ENCODINGS); + num_encodings = MAX_SUPPORTED_ENCODINGS; + } else { + v4l2_err(&dev->v4l2_dev, "%s: get_param ret %u.\n", +@@ -2880,8 +2882,10 @@ static int bcm2835_codec_get_supported_fmts(struct bcm2835_codec_dev *dev) + + if (ret) { + if (ret == MMAL_MSG_STATUS_ENOSPC) { +- v4l2_err(&dev->v4l2_dev, "%s: port has more encoding than we provided space for. Some are dropped.\n", +- __func__); ++ v4l2_err(&dev->v4l2_dev, ++ "%s: port has more encodings than we provided space for. Some are dropped (%u vs %u).\n", ++ __func__, param_size / sizeof(u32), ++ MAX_SUPPORTED_ENCODINGS); + num_encodings = MAX_SUPPORTED_ENCODINGS; + } else { + ret = -EINVAL; +-- +2.18.4 + + +From 04d9d9f883d2ec8efabd78debab9941c858136b0 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 7 Jan 2021 11:37:10 +0000 +Subject: [PATCH 464/533] staging/bcm2835-isp: Add the unpacked (16bpp) raw + formats + +Now that the firmware supports the unpacked (16bpp) variants +of the MIPI raw formats, add the mappings. + +Signed-off-by: Dave Stevenson +--- + .../bcm2835-isp/bcm2835-isp-fmts.h | 127 ++++++++++++++++++ + .../bcm2835-isp/bcm2835-v4l2-isp.c | 4 +- + 2 files changed, 129 insertions(+), 2 deletions(-) + +diff --git a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h +index acd0d5b8b0b8..12d8ec85d2c4 100644 +--- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h ++++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h +@@ -297,6 +297,106 @@ static const struct bcm2835_isp_fmt supported_formats[] = { + .size_multiplier_x2 = 2, + .colorspace = V4L2_COLORSPACE_RAW, + .step_size = 2, ++ }, { ++ /* Bayer formats unpacked to 16bpp */ ++ /* 10 bit */ ++ .fourcc = V4L2_PIX_FMT_SRGGB10, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SRGGB10, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SBGGR10, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SBGGR10, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGRBG10, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGRBG10, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGBRG10, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGBRG10, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ /* 12 bit */ ++ .fourcc = V4L2_PIX_FMT_SRGGB12, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SRGGB12, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SBGGR12, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SBGGR12, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGRBG12, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGRBG12, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGBRG12, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGBRG12, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ /* 14 bit */ ++ .fourcc = V4L2_PIX_FMT_SRGGB14, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SRGGB14, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SBGGR14, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SBGGR14, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGRBG14, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGRBG14, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ .fourcc = V4L2_PIX_FMT_SGBRG14, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_BAYER_SGBRG14, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, + }, { + /* Monochrome MIPI formats */ + /* 8 bit */ +@@ -343,6 +443,33 @@ static const struct bcm2835_isp_fmt supported_formats[] = { + .size_multiplier_x2 = 2, + .colorspace = V4L2_COLORSPACE_RAW, + .step_size = 2, ++ }, { ++ /* 10 bit as 16bpp */ ++ .fourcc = V4L2_PIX_FMT_Y10, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_Y10, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ /* 12 bit as 16bpp */ ++ .fourcc = V4L2_PIX_FMT_Y12, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_Y12, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, ++ }, { ++ /* 14 bit as 16bpp */ ++ .fourcc = V4L2_PIX_FMT_Y14, ++ .depth = 16, ++ .bytesperline_align = 32, ++ .mmal_fmt = MMAL_ENCODING_Y14, ++ .size_multiplier_x2 = 2, ++ .colorspace = V4L2_COLORSPACE_RAW, ++ .step_size = 2, + }, { + .fourcc = V4L2_META_FMT_BCM2835_ISP_STATS, + .mmal_fmt = MMAL_ENCODING_BRCM_STATS, +diff --git a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c +index 8bb3d115b27a..9a313ffcabf5 100644 +--- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c ++++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c +@@ -1146,11 +1146,11 @@ static const struct v4l2_ioctl_ops bcm2835_isp_node_ioctl_ops = { + * Size of the array to provide to the VPU when asking for the list of supported + * formats. + * +- * The ISP component currently advertises 44 input formats, so add a small ++ * The ISP component currently advertises 62 input formats, so add a small + * overhead on that. Should the component advertise more formats then the excess + * will be dropped and a warning logged. + */ +-#define MAX_SUPPORTED_ENCODINGS 50 ++#define MAX_SUPPORTED_ENCODINGS 70 + + /* Populate node->supported_fmts with the formats supported by those ports. */ + static int bcm2835_isp_get_supported_fmts(struct bcm2835_isp_node *node) +-- +2.18.4 + + +From 60683af93845a62aeea86f4f6e1c46d0232d31fe Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 7 Jan 2021 11:43:22 +0000 +Subject: [PATCH 465/533] staging/bcm2835-isp: Log the number of excess + supported formats + +When logging that the firmware has provided more supported formats +than we had allocated storage for, log the number allocated and +returned. + +Signed-off-by: Dave Stevenson +--- + drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c +index 9a313ffcabf5..afac2ad65790 100644 +--- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c ++++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c +@@ -1169,8 +1169,9 @@ static int bcm2835_isp_get_supported_fmts(struct bcm2835_isp_node *node) + if (ret) { + if (ret == MMAL_MSG_STATUS_ENOSPC) { + v4l2_err(&dev->v4l2_dev, +- "%s: port has more encoding than we provided space for. Some are dropped.\n", +- __func__); ++ "%s: port has more encodings than we provided space for. Some are dropped (%u vs %u).\n", ++ __func__, param_size / sizeof(u32), ++ MAX_SUPPORTED_ENCODINGS); + num_encodings = MAX_SUPPORTED_ENCODINGS; + } else { + v4l2_err(&dev->v4l2_dev, "%s: get_param ret %u.\n", +-- +2.18.4 + + +From b471e2fbd5f9a40496316e9d0e5b3d16b48a9074 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Wed, 30 Dec 2020 14:51:29 +0000 +Subject: [PATCH 466/533] bcm2835-dma: Add bcm2835-dma: Add DMA_WIDE_SOURCE and + DMA_WIDE_DEST flags + +Use (reserved) bits 24 and 25 of the dreq value +(the second cell of the DT DMA descriptor) to request +that wide source reads or wide dest writes are required + +Signed-off-by: Dom Cobley +--- + drivers/dma/bcm2835-dma.c | 19 ++++++++++++++++--- + 1 file changed, 16 insertions(+), 3 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 0cbfa9d559a2..5517d2135168 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -171,6 +171,17 @@ struct bcm2835_desc { + #define WAIT_RESP(x) ((x & BCM2835_DMA_NO_WAIT_RESP) ? \ + 0 : BCM2835_DMA_WAIT_RESP) + ++/* A fake bit to request that the driver requires wide reads */ ++#define BCM2835_DMA_WIDE_SOURCE BIT(24) ++#define WIDE_SOURCE(x) ((x & BCM2835_DMA_WIDE_SOURCE) ? \ ++ BCM2835_DMA_S_WIDTH : 0) ++ ++/* A fake bit to request that the driver requires wide writes */ ++#define BCM2835_DMA_WIDE_DEST BIT(25) ++#define WIDE_DEST(x) ((x & BCM2835_DMA_WIDE_DEST) ? \ ++ BCM2835_DMA_D_WIDTH : 0) ++ ++ + /* debug register bits */ + #define BCM2835_DMA_DEBUG_LAST_NOT_SET_ERR BIT(0) + #define BCM2835_DMA_DEBUG_FIFO_ERR BIT(1) +@@ -850,7 +861,8 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_memcpy( + { + struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); + struct bcm2835_desc *d; +- u32 info = BCM2835_DMA_D_INC | BCM2835_DMA_S_INC; ++ u32 info = BCM2835_DMA_D_INC | BCM2835_DMA_S_INC | ++ WIDE_SOURCE(c->dreq) | WIDE_DEST(c->dreq); + u32 extra = BCM2835_DMA_INT_EN | WAIT_RESP(c->dreq); + size_t max_len = bcm2835_dma_max_frame_length(c); + size_t frames; +@@ -881,7 +893,8 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg( + struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); + struct bcm2835_desc *d; + dma_addr_t src = 0, dst = 0; +- u32 info = WAIT_RESP(c->dreq); ++ u32 info = WAIT_RESP(c->dreq) | ++ WIDE_SOURCE(c->dreq) | WIDE_DEST(c->dreq); + u32 extra = BCM2835_DMA_INT_EN; + size_t frames; + +@@ -943,7 +956,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); + struct bcm2835_desc *d; + dma_addr_t src, dst; +- u32 info = WAIT_RESP(c->dreq); ++ u32 info = WAIT_RESP(c->dreq) | WIDE_SOURCE(c->dreq) | WIDE_DEST(c->dreq); + u32 extra = 0; + size_t max_len = bcm2835_dma_max_frame_length(c); + size_t frames; +-- +2.18.4 + + +From 88e66b9b0369853690edf8ede83c5458acfbe3df Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 11 Jan 2021 14:49:33 +0000 +Subject: [PATCH 467/533] bcm2835-dma: Move WAIT_RESP from extra to info + +Questionable: Might want to drop +Signed-off-by: popcornmix +--- + drivers/dma/bcm2835-dma.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 5517d2135168..8b97b9f10a1a 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -861,9 +861,9 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_memcpy( + { + struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); + struct bcm2835_desc *d; +- u32 info = BCM2835_DMA_D_INC | BCM2835_DMA_S_INC | ++ u32 info = BCM2835_DMA_D_INC | BCM2835_DMA_S_INC | WAIT_RESP(c->dreq) | + WIDE_SOURCE(c->dreq) | WIDE_DEST(c->dreq); +- u32 extra = BCM2835_DMA_INT_EN | WAIT_RESP(c->dreq); ++ u32 extra = BCM2835_DMA_INT_EN; + size_t max_len = bcm2835_dma_max_frame_length(c); + size_t frames; + +-- +2.18.4 + + +From 66c62885a5abe704178137a7d8c9655bb4cbb2cb Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Wed, 6 Jan 2021 18:16:10 +0000 +Subject: [PATCH 468/533] bcm2835-dma: Avoid losing CS flags after interrupt + +Signed-off-by: Dom Cobley +--- + drivers/dma/bcm2835-dma.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 8b97b9f10a1a..94a1b40b1645 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -715,7 +715,7 @@ static irqreturn_t bcm2835_dma_callback(int irq, void *data) + * if this IRQ handler is threaded.) If the channel is finished, it + * will remain idle despite the ACTIVE flag being set. + */ +- writel(BCM2835_DMA_INT | BCM2835_DMA_ACTIVE, ++ writel(BCM2835_DMA_INT | BCM2835_DMA_ACTIVE | BCM2835_DMA_CS_FLAGS(c->dreq), + c->chan_base + BCM2835_DMA_CS); + + d = c->desc; +-- +2.18.4 + + +From 04d1f724cad5e82f51c5767c376579d5484e4488 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 11 Jan 2021 13:06:23 +0000 +Subject: [PATCH 469/533] dt: Enable DMA_WIDE_SOURCE and DMA_WIDE_DEST for hdmi + audio + +Signed-off-by: popcornmix +--- + arch/arm/boot/dts/bcm2711-rpi.dtsi | 4 ++-- + arch/arm/boot/dts/bcm2835-common.dtsi | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2711-rpi.dtsi b/arch/arm/boot/dts/bcm2711-rpi.dtsi +index 4f903a787d65..3dbfd601ca39 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2711-rpi.dtsi +@@ -179,7 +179,7 @@ + }; + + &hdmi0 { +- dmas = <&dma (10|(1<<27))>; ++ dmas = <&dma (10|(1<<27)|(1<<24))>; + status = "disabled"; + }; + +@@ -188,7 +188,7 @@ + }; + + &hdmi1 { +- dmas = <&dma (17|(1<<27))>; ++ dmas = <&dma (17|(1<<27)|(1<<24))>; + status = "disabled"; + }; + +diff --git a/arch/arm/boot/dts/bcm2835-common.dtsi b/arch/arm/boot/dts/bcm2835-common.dtsi +index bd77ba3a3562..47b958428d0c 100644 +--- a/arch/arm/boot/dts/bcm2835-common.dtsi ++++ b/arch/arm/boot/dts/bcm2835-common.dtsi +@@ -123,7 +123,7 @@ + clocks = <&clocks BCM2835_PLLH_PIX>, + <&clocks BCM2835_CLOCK_HSM>; + clock-names = "pixel", "hdmi"; +- dmas = <&dma (17|(1<<27))>; ++ dmas = <&dma (17|(1<<27)|(1<<24))>; + dma-names = "audio-rx"; + status = "disabled"; + }; +-- +2.18.4 + + +From 78dc1d90d60f81b2a56e74ae6109eb108faaf922 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Wed, 6 Jan 2021 18:16:29 +0000 +Subject: [PATCH 470/533] bcm2711-rpi.dtsi: Bump hdmi audio dma panic priority + to max + +Set panic priority to 15 and leave normal priority at 0 + +Signed-off-by: Dom Cobley +--- + arch/arm/boot/dts/bcm2711-rpi.dtsi | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2711-rpi.dtsi b/arch/arm/boot/dts/bcm2711-rpi.dtsi +index 3dbfd601ca39..8053ef54acc8 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2711-rpi.dtsi +@@ -179,7 +179,7 @@ + }; + + &hdmi0 { +- dmas = <&dma (10|(1<<27)|(1<<24))>; ++ dmas = <&dma (10|(1<<27)|(1<<24)|(0<<16)|(15<<20))>; + status = "disabled"; + }; + +@@ -188,7 +188,7 @@ + }; + + &hdmi1 { +- dmas = <&dma (17|(1<<27)|(1<<24))>; ++ dmas = <&dma (17|(1<<27)|(1<<24)|(0<<16)|(15<<20))>; + status = "disabled"; + }; + +-- +2.18.4 + + +From afd48929117a00b135f26109615c4064178db6e7 Mon Sep 17 00:00:00 2001 +From: Paul Elder +Date: Tue, 22 Dec 2020 14:27:46 +0900 +Subject: [PATCH 471/533] media: i2c: ov5647: Selection compliance fixes + +To comply with the intended usage of the V4L2 selection target when +used to retrieve a sensor image properties, adjust the rectangles +returned by the ov5647 driver. + +The top/left crop coordinates of the TGT_CROP rectangle were set to +(0, 0) instead of (16, 16) which is the offset from the larger physical +pixel array rectangle. This was also a mismatch with the default values +crop rectangle value, so this is corrected. Found with v4l2-compliance. + +While at it, add V4L2_SEL_TGT_CROP_BOUNDS support: CROP_DEFAULT and +CROP_BOUNDS have the same size as the non-active pixels are not readable +using the selection API. Found with v4l2-compliance. + +Signed-off-by: Paul Elder +--- + drivers/media/i2c/ov5647.c | 21 +++++++++++---------- + 1 file changed, 11 insertions(+), 10 deletions(-) + +diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c +index 86a821a172b3..40d0d45a2481 100644 +--- a/drivers/media/i2c/ov5647.c ++++ b/drivers/media/i2c/ov5647.c +@@ -606,8 +606,8 @@ static struct ov5647_mode supported_modes_8bit[] = { + .height = 480 + }, + .crop = { +- .left = 0, +- .top = 0, ++ .left = OV5647_PIXEL_ARRAY_LEFT, ++ .top = OV5647_PIXEL_ARRAY_TOP, + .width = 1280, + .height = 960, + }, +@@ -632,8 +632,8 @@ static struct ov5647_mode supported_modes_10bit[] = { + .height = 1944 + }, + .crop = { +- .left = 0, +- .top = 0, ++ .left = OV5647_PIXEL_ARRAY_LEFT, ++ .top = OV5647_PIXEL_ARRAY_TOP, + .width = 2592, + .height = 1944 + }, +@@ -656,8 +656,8 @@ static struct ov5647_mode supported_modes_10bit[] = { + .height = 1080 + }, + .crop = { +- .left = 348, +- .top = 434, ++ .left = 364, ++ .top = 450, + .width = 1928, + .height = 1080, + }, +@@ -679,8 +679,8 @@ static struct ov5647_mode supported_modes_10bit[] = { + .height = 972 + }, + .crop = { +- .left = 0, +- .top = 0, ++ .left = OV5647_PIXEL_ARRAY_LEFT, ++ .top = OV5647_PIXEL_ARRAY_TOP, + .width = 2592, + .height = 1944, + }, +@@ -703,8 +703,8 @@ static struct ov5647_mode supported_modes_10bit[] = { + .height = 480 + }, + .crop = { +- .left = 16, +- .top = 0, ++ .left = OV5647_PIXEL_ARRAY_LEFT, ++ .top = OV5647_PIXEL_ARRAY_TOP, + .width = 2560, + .height = 1920, + }, +@@ -1080,6 +1080,7 @@ static int ov5647_get_selection(struct v4l2_subdev *sd, + return 0; + + case V4L2_SEL_TGT_CROP_DEFAULT: ++ case V4L2_SEL_TGT_CROP_BOUNDS: + sel->r.top = OV5647_PIXEL_ARRAY_TOP; + sel->r.left = OV5647_PIXEL_ARRAY_LEFT; + sel->r.width = OV5647_PIXEL_ARRAY_WIDTH; +-- +2.18.4 + + +From a15c7fb27600865bd65f7064fc66d82eb422cea8 Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde +Date: Sat, 2 Jan 2021 21:08:59 +0100 +Subject: [PATCH 472/533] overlays: give Seeed Studio CAN BUS FD HAT a -v2 + postfix + +There are several versions of the Seeed Studio CAN BUS FD HAT. This is the +second version, based on the mcp2518fd, so give it a -v2 postfix. + +Signed-off-by: Marc Kleine-Budde +--- + arch/arm/boot/dts/overlays/Makefile | 2 +- + arch/arm/boot/dts/overlays/README | 8 ++++---- + ...fd-hat-overlay.dts => seeed-can-fd-hat-v2-overlay.dts} | 0 + 3 files changed, 5 insertions(+), 5 deletions(-) + rename arch/arm/boot/dts/overlays/{seeed-can-fd-hat-overlay.dts => seeed-can-fd-hat-v2-overlay.dts} (100%) + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 667c489bfef3..3e05cb399323 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -161,7 +161,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + sc16is752-spi1.dtbo \ + sdhost.dtbo \ + sdio.dtbo \ +- seeed-can-fd-hat.dtbo \ ++ seeed-can-fd-hat-v2.dtbo \ + sh1106-spi.dtbo \ + smi.dtbo \ + smi-dev.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index eaaa8a726be0..cc7134913dd3 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -2504,11 +2504,11 @@ Info: This overlay is now deprecated. Use the sd_* dtparams in the + Load: + + +-Name: seeed-can-fd-hat +-Info: Overlay for Seeed Studio CAN BUS FD HAT with two CAN FD channels and an +- RTC. ++Name: seeed-can-fd-hat-v2 ++Info: Overlay for Seeed Studio CAN BUS FD HAT with two CAN FD channels ++ (based on the mcp2518fd) and an RTC. + https://www.seeedstudio.com/CAN-BUS-FD-HAT-for-Raspberry-Pi-p-4742.html +-Load: dtoverlay=seeed-can-fd-hat ++Load: dtoverlay=seeed-can-fd-hat-v2 + Params: + + +diff --git a/arch/arm/boot/dts/overlays/seeed-can-fd-hat-overlay.dts b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v2-overlay.dts +similarity index 100% +rename from arch/arm/boot/dts/overlays/seeed-can-fd-hat-overlay.dts +rename to arch/arm/boot/dts/overlays/seeed-can-fd-hat-v2-overlay.dts +-- +2.18.4 + + +From 4a66351ca8630771b1d3cd799e38688b8bf30cdc Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde +Date: Sat, 2 Jan 2021 21:38:58 +0100 +Subject: [PATCH 473/533] overlays: Add overlay for Seeed Studio CAN BUS FD HAT + v1 (based on mcp2517fd) + +This patch adds the overlay for the Seeed Studio CAN BUS FD HAT v1 with two CAN +FD Channels (based on mcp2517fd). + +https://www.seeedstudio.com/2-Channel-CAN-BUS-FD-Shield-for-Raspberry-Pi-p-4072.html + +The overlay was generated by: +ovmerge -c spi1-1cs-overlay.dts,cs0_pin=18,cs0_spidev=false \ + mcp251xfd-overlay.dts,spi0-0,interrupt=25 \ + mcp251xfd-overlay.dts,spi1-0,interrupt=24 + +Signed-off-by: Marc Kleine-Budde +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 8 + + .../overlays/seeed-can-fd-hat-v1-overlay.dts | 138 ++++++++++++++++++ + 3 files changed, 147 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/seeed-can-fd-hat-v1-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 3e05cb399323..23316003c0bc 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -161,6 +161,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + sc16is752-spi1.dtbo \ + sdhost.dtbo \ + sdio.dtbo \ ++ seeed-can-fd-hat-v1.dtbo \ + seeed-can-fd-hat-v2.dtbo \ + sh1106-spi.dtbo \ + smi.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index cc7134913dd3..1edf56bb46b4 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -2504,6 +2504,14 @@ Info: This overlay is now deprecated. Use the sd_* dtparams in the + Load: + + ++Name: seeed-can-fd-hat-v1 ++Info: Overlay for Seeed Studio CAN BUS FD HAT with two CAN FD channels ++ (based on the mcp2517fd). ++ https://www.seeedstudio.com/2-Channel-CAN-BUS-FD-Shield-for-Raspberry-Pi-p-4072.html ++Load: dtoverlay=seeed-can-fd-hat-v1 ++Params: ++ ++ + Name: seeed-can-fd-hat-v2 + Info: Overlay for Seeed Studio CAN BUS FD HAT with two CAN FD channels + (based on the mcp2518fd) and an RTC. +diff --git a/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v1-overlay.dts b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v1-overlay.dts +new file mode 100644 +index 000000000000..210d027a073e +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v1-overlay.dts +@@ -0,0 +1,138 @@ ++// redo: ovmerge -c spi1-1cs-overlay.dts,cs0_pin=18,cs0_spidev=false mcp251xfd-overlay.dts,spi0-0,interrupt=25 mcp251xfd-overlay.dts,spi1-0,interrupt=24 ++ ++// Device tree overlay for https://www.seeedstudio.com/2-Channel-CAN-BUS-FD-Shield-for-Raspberry-Pi-p-4072.html ++ ++/dts-v1/; ++/plugin/; ++ ++#include ++#include ++#include ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ fragment@0 { ++ target = <&gpio>; ++ __overlay__ { ++ spi1_pins: spi1_pins { ++ brcm,pins = <19 20 21>; ++ brcm,function = <3>; ++ }; ++ spi1_cs_pins: spi1_cs_pins { ++ brcm,pins = <18>; ++ brcm,function = <1>; ++ }; ++ }; ++ }; ++ fragment@1 { ++ target = <&spi1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&spi1_pins &spi1_cs_pins>; ++ cs-gpios = <&gpio 18 1>; ++ status = "okay"; ++ spidev@0 { ++ compatible = "spidev"; ++ reg = <0>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ spi-max-frequency = <125000000>; ++ status = "disabled"; ++ }; ++ }; ++ }; ++ fragment@2 { ++ target = <&aux>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ fragment@3 { ++ target = <&spidev0>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ fragment@4 { ++ target = <&gpio>; ++ __overlay__ { ++ mcp251xfd_pins: mcp251xfd_spi0_0_pins { ++ brcm,pins = <25>; ++ brcm,function = ; ++ }; ++ }; ++ }; ++ fragment@5 { ++ target-path = "/clocks"; ++ __overlay__ { ++ clk_mcp251xfd_osc: mcp251xfd-spi0-0-osc { ++ #clock-cells = <0>; ++ compatible = "fixed-clock"; ++ clock-frequency = <40000000>; ++ }; ++ }; ++ }; ++ fragment@6 { ++ target = <&spi0>; ++ __overlay__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ mcp251xfd@0 { ++ compatible = "microchip,mcp251xfd"; ++ reg = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mcp251xfd_pins>; ++ spi-max-frequency = <20000000>; ++ interrupt-parent = <&gpio>; ++ interrupts = <25 IRQ_TYPE_LEVEL_LOW>; ++ clocks = <&clk_mcp251xfd_osc>; ++ }; ++ }; ++ }; ++ fragment@7 { ++ target-path = "spi1/spidev@0"; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ fragment@8 { ++ target = <&gpio>; ++ __overlay__ { ++ mcp251xfd_pins_1: mcp251xfd_spi1_0_pins { ++ brcm,pins = <24>; ++ brcm,function = ; ++ }; ++ }; ++ }; ++ fragment@9 { ++ target-path = "/clocks"; ++ __overlay__ { ++ clk_mcp251xfd_osc_1: mcp251xfd-spi1-0-osc { ++ #clock-cells = <0>; ++ compatible = "fixed-clock"; ++ clock-frequency = <40000000>; ++ }; ++ }; ++ }; ++ fragment@10 { ++ target = <&spi1>; ++ __overlay__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ mcp251xfd@0 { ++ compatible = "microchip,mcp251xfd"; ++ reg = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mcp251xfd_pins_1>; ++ spi-max-frequency = <20000000>; ++ interrupt-parent = <&gpio>; ++ interrupts = <24 IRQ_TYPE_LEVEL_LOW>; ++ clocks = <&clk_mcp251xfd_osc_1>; ++ }; ++ }; ++ }; ++}; +-- +2.18.4 + + +From 82f16ad780c9c3c4b6b8914f79f3747d1fb839f1 Mon Sep 17 00:00:00 2001 +From: Aaron Shaw +Date: Sat, 2 Jan 2021 02:34:03 +0000 +Subject: [PATCH 474/533] overlays: add wm8960-soundcard overlay + +add overlay for waveshare wm8960 simple-audio-card + +Change-type: patch +Signed-off-by: Aaron Shaw +--- + arch/arm/boot/dts/overlays/Makefile | 3 +- + arch/arm/boot/dts/overlays/README | 7 ++ + .../dts/overlays/wm8960-soundcard-overlay.dts | 82 +++++++++++++++++++ + 3 files changed, 91 insertions(+), 1 deletion(-) + create mode 100644 arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 23316003c0bc..b8675fb47da5 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -213,7 +213,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + w1-gpio.dtbo \ + w1-gpio-pullup.dtbo \ + w5500.dtbo \ +- wittypi.dtbo ++ wittypi.dtbo \ ++ wm8960-soundcard.dtbo + + targets += dtbs dtbs_install + targets += $(dtbo-y) +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 1edf56bb46b4..2a4ec1623518 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -3127,6 +3127,13 @@ Params: led_gpio GPIO for LED (default "17") + "default-on") + + ++Name: wm8960-soundcard ++Info: Overlay for the Waveshare wm8960 soundcard ++Load: dtoverlay=wm8960-soundcard,= ++Params: alsaname Changes the card name in ALSA ++ compatible Changes the codec compatibility ++ ++ + Troubleshooting + =============== + +diff --git a/arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts b/arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts +new file mode 100644 +index 000000000000..289fa4dacdf1 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts +@@ -0,0 +1,82 @@ ++// Definitions for Waveshare WM8960 https://github.com/waveshare/WM8960-Audio-HAT ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&i2s>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target-path="/"; ++ __overlay__ { ++ wm8960_mclk: wm8960_mclk { ++ compatible = "fixed-clock"; ++ #clock-cells = <0>; ++ clock-frequency = <12288000>; ++ }; ++ }; ++ }; ++ fragment@2 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ wm8960: wm8960 { ++ compatible = "wlf,wm8960"; ++ reg = <0x1a>; ++ #sound-dai-cells = <0>; ++ AVDD-supply = <&vdd_5v0_reg>; ++ DVDD-supply = <&vdd_3v3_reg>; ++ }; ++ }; ++ }; ++ ++ ++ fragment@3 { ++ target = <&sound>; ++ slave_overlay: __overlay__ { ++ compatible = "simple-audio-card"; ++ simple-audio-card,format = "i2s"; ++ simple-audio-card,name = "wm8960-soundcard"; ++ status = "okay"; ++ ++ simple-audio-card,widgets = ++ "Microphone", "Mic Jack", ++ "Line", "Line In", ++ "Line", "Line Out", ++ "Speaker", "Speaker", ++ "Headphone", "Headphone Jack"; ++ simple-audio-card,routing = ++ "Headphone Jack", "HP_L", ++ "Headphone Jack", "HP_R", ++ "Speaker", "SPK_LP", ++ "Speaker", "SPK_LN", ++ "LINPUT1", "Mic Jack", ++ "LINPUT3", "Mic Jack", ++ "RINPUT1", "Mic Jack", ++ "RINPUT2", "Mic Jack"; ++ ++ simple-audio-card,cpu { ++ sound-dai = <&i2s>; ++ }; ++ dailink0_slave: simple-audio-card,codec { ++ sound-dai = <&wm8960>; ++ clocks = <&wm8960_mclk>; ++ clock-names = "mclk"; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ alsaname = <&slave_overlay>,"simple-audio-card,name"; ++ compatible = <&wm8960>,"compatible"; ++ }; ++}; +-- +2.18.4 + + +From 3458b13baa5866bf7486de79df9b5d4377acab72 Mon Sep 17 00:00:00 2001 +From: Aaron Shaw +Date: Sat, 26 Dec 2020 03:13:14 +0000 +Subject: [PATCH 475/533] overlays: add spi override to merus-amp overlay + +adds an override to the merus-amp overlay to turn the spi bus off + +Change-type: patch +Signed-off-by: Aaron Shaw +--- + arch/arm/boot/dts/overlays/README | 4 ++-- + arch/arm/boot/dts/overlays/merus-amp-overlay.dts | 10 ++++++++++ + 2 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 2a4ec1623518..5076ca440742 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1914,8 +1914,8 @@ Params: speed Display SPI bus speed + + Name: merus-amp + Info: Configures the merus-amp audio card +-Load: dtoverlay=merus-amp +-Params: ++Load: dtoverlay=merus-amp,= ++Params: spioff Turn SPI bus off + + + Name: midi-uart0 +diff --git a/arch/arm/boot/dts/overlays/merus-amp-overlay.dts b/arch/arm/boot/dts/overlays/merus-amp-overlay.dts +index 4501fbdc253d..bbffd7d26324 100644 +--- a/arch/arm/boot/dts/overlays/merus-amp-overlay.dts ++++ b/arch/arm/boot/dts/overlays/merus-amp-overlay.dts +@@ -57,4 +57,14 @@ + status = "okay"; + }; + }; ++ ++ fragment@4 { ++ target = <&spi0>; ++ frag4: __overlay__ { ++ }; ++ }; ++ ++ __overrides__ { ++ spioff = <&frag4>, "status=disabled"; ++ }; + }; +-- +2.18.4 + + +From caacec75294668f40df09c773d22aeb7afc46ff1 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Wed, 6 Jan 2021 17:28:57 +0000 +Subject: [PATCH 476/533] dt: Add a camera regulator node to all downstream Pi + platforms + +The current firmware fixup of camera sensor overlays is not +particularly nice, and it stops you being able to load them +dynamically. +It's also incompatible with creating a simple DT that can be +loaded for both CAM1 and CAM0 on a CM as they would both +try to claim the one GPIO. + +Almost all sensors have a hook of some form for a regulator, so +it's relatively straightforward to convert them all to use a +fixed regulator with GPIO control. + +Add a fixed regulator node for each platform with the GPIO +correctly configured for the camera shutdown line. (The LED line +is ignored). + +Signed-off-by: Dave Stevenson +--- + arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 5 +++++ + arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts | 5 +++++ + arch/arm/boot/dts/bcm2708-rpi-b.dts | 5 +++++ + arch/arm/boot/dts/bcm2708-rpi-cm.dts | 15 +++++++++++++++ + arch/arm/boot/dts/bcm2708-rpi-zero-w.dts | 5 +++++ + arch/arm/boot/dts/bcm2708-rpi-zero.dts | 5 +++++ + arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 5 +++++ + arch/arm/boot/dts/bcm2710-rpi-2-b.dts | 5 +++++ + arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts | 5 +++++ + arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 5 +++++ + arch/arm/boot/dts/bcm2710-rpi-cm3.dts | 15 +++++++++++++++ + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 5 +++++ + arch/arm/boot/dts/bcm2711-rpi-cm4.dts | 8 ++++++++ + arch/arm/boot/dts/bcm283x-rpi-cam1-regulator.dtsi | 10 ++++++++++ + 14 files changed, 98 insertions(+) + create mode 100644 arch/arm/boot/dts/bcm283x-rpi-cam1-regulator.dtsi + +diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts +index 98581eec4bdc..76bb3e11ce19 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts +@@ -5,6 +5,7 @@ + #include "bcm283x-rpi-smsc9514.dtsi" + #include "bcm283x-rpi-csi1-2lane.dtsi" + #include "bcm283x-rpi-i2c0mux_0_28.dtsi" ++#include "bcm283x-rpi-cam1-regulator.dtsi" + + / { + compatible = "raspberrypi,model-b-plus", "brcm,bcm2835"; +@@ -111,6 +112,10 @@ + pinctrl-0 = <&audio_pins>; + }; + ++&cam1_reg { ++ gpio = <&gpio 41 GPIO_ACTIVE_HIGH>; ++}; ++ + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts b/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts +index 7b554b465b27..a8a3926ef69f 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts +@@ -4,6 +4,7 @@ + #include "bcm2708-rpi.dtsi" + #include "bcm283x-rpi-smsc9512.dtsi" + #include "bcm283x-rpi-csi1-2lane.dtsi" ++#include "bcm283x-rpi-cam1-regulator.dtsi" + + / { + compatible = "raspberrypi,model-b", "brcm,bcm2835"; +@@ -118,6 +119,10 @@ i2c_csi_dsi: &i2c1 { + pinctrl-0 = <&audio_pins>; + }; + ++&cam1_reg { ++ gpio = <&gpio 27 GPIO_ACTIVE_HIGH>; ++}; ++ + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts +index 305f1dbde60f..5d4b7382e684 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts +@@ -5,6 +5,7 @@ + #include "bcm283x-rpi-smsc9512.dtsi" + #include "bcm283x-rpi-csi1-2lane.dtsi" + #include "bcm283x-rpi-i2c0mux_0_28.dtsi" ++#include "bcm283x-rpi-cam1-regulator.dtsi" + + / { + compatible = "raspberrypi,model-b", "brcm,bcm2835"; +@@ -105,6 +106,10 @@ + pinctrl-0 = <&audio_pins>; + }; + ++&cam1_reg { ++ gpio = <&gpio 21 GPIO_ACTIVE_HIGH>; ++}; ++ + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dts b/arch/arm/boot/dts/bcm2708-rpi-cm.dts +index 93062c4ffad2..f61e3418425a 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts +@@ -8,6 +8,21 @@ + / { + compatible = "raspberrypi,compute-module", "brcm,bcm2835"; + model = "Raspberry Pi Compute Module"; ++ ++ cam1_reg: cam1_reg { ++ compatible = "regulator-fixed"; ++ regulator-name = "cam1-regulator"; ++ gpio = <&gpio 2 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ status = "disabled"; ++ }; ++ cam0_reg: cam0_reg { ++ compatible = "regulator-fixed"; ++ regulator-name = "cam0-regulator"; ++ gpio = <&gpio 30 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ status = "disabled"; ++ }; + }; + + &uart0 { +diff --git a/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts b/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts +index 188f56b3a7f5..abf490f93b96 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts +@@ -5,6 +5,7 @@ + #include "bcm283x-rpi-csi1-2lane.dtsi" + #include "bcm283x-rpi-i2c0mux_0_28.dtsi" + #include "bcm2708-rpi-bt.dtsi" ++#include "bcm283x-rpi-cam1-regulator.dtsi" + + / { + compatible = "raspberrypi,model-zero-w", "brcm,bcm2835"; +@@ -155,6 +156,10 @@ + brcm,disable-headphones = <1>; + }; + ++&cam1_reg { ++ gpio = <&gpio 44 GPIO_ACTIVE_HIGH>; ++}; ++ + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2708-rpi-zero.dts b/arch/arm/boot/dts/bcm2708-rpi-zero.dts +index 8d20064dddc4..38fcd6e84796 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi-zero.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-zero.dts +@@ -4,6 +4,7 @@ + #include "bcm2708-rpi.dtsi" + #include "bcm283x-rpi-csi1-2lane.dtsi" + #include "bcm283x-rpi-i2c0mux_0_28.dtsi" ++#include "bcm283x-rpi-cam1-regulator.dtsi" + + / { + compatible = "raspberrypi,model-zero", "brcm,bcm2835"; +@@ -109,6 +110,10 @@ + brcm,disable-headphones = <1>; + }; + ++&cam1_reg { ++ gpio = <&gpio 41 GPIO_ACTIVE_HIGH>; ++}; ++ + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts +index 6b2e3c291d72..b0ccd8cd0705 100644 +--- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts ++++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts +@@ -5,6 +5,7 @@ + #include "bcm283x-rpi-smsc9514.dtsi" + #include "bcm283x-rpi-csi1-2lane.dtsi" + #include "bcm283x-rpi-i2c0mux_0_28.dtsi" ++#include "bcm283x-rpi-cam1-regulator.dtsi" + + / { + compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; +@@ -111,6 +112,10 @@ + pinctrl-0 = <&audio_pins>; + }; + ++&cam1_reg { ++ gpio = <&gpio 41 GPIO_ACTIVE_HIGH>; ++}; ++ + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2710-rpi-2-b.dts b/arch/arm/boot/dts/bcm2710-rpi-2-b.dts +index 49cfda63606e..b870b1cb9b93 100644 +--- a/arch/arm/boot/dts/bcm2710-rpi-2-b.dts ++++ b/arch/arm/boot/dts/bcm2710-rpi-2-b.dts +@@ -5,6 +5,7 @@ + #include "bcm283x-rpi-smsc9514.dtsi" + #include "bcm283x-rpi-csi1-2lane.dtsi" + #include "bcm283x-rpi-i2c0mux_0_28.dtsi" ++#include "bcm283x-rpi-cam1-regulator.dtsi" + + / { + compatible = "raspberrypi,2-model-b-rev2", "brcm,bcm2837"; +@@ -111,6 +112,10 @@ + pinctrl-0 = <&audio_pins>; + }; + ++&cam1_reg { ++ gpio = <&gpio 41 GPIO_ACTIVE_HIGH>; ++}; ++ + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts +index e7b7281d3c60..b713eca31221 100644 +--- a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts ++++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts +@@ -6,6 +6,7 @@ + #include "bcm283x-rpi-csi1-2lane.dtsi" + #include "bcm283x-rpi-i2c0mux_0_44.dtsi" + #include "bcm271x-rpi-bt.dtsi" ++#include "bcm283x-rpi-cam1-regulator.dtsi" + + / { + compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837"; +@@ -176,6 +177,10 @@ + microchip,downshift-after = <2>; + }; + ++&cam1_reg { ++ gpio = <&expgpio 5 GPIO_ACTIVE_HIGH>; ++}; ++ + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts +index d69d6a187e0c..ecab394195a4 100644 +--- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts +@@ -6,6 +6,7 @@ + #include "bcm283x-rpi-csi1-2lane.dtsi" + #include "bcm283x-rpi-i2c0mux_0_44.dtsi" + #include "bcm271x-rpi-bt.dtsi" ++#include "bcm283x-rpi-cam1-regulator.dtsi" + + / { + compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; +@@ -185,6 +186,10 @@ + pinctrl-0 = <&audio_pins>; + }; + ++&cam1_reg { ++ gpio = <&expgpio 5 GPIO_ACTIVE_HIGH>; ++}; ++ + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts +index f972979281f5..6743c984a316 100644 +--- a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts ++++ b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts +@@ -8,6 +8,21 @@ + / { + compatible = "raspberrypi,3-compute-module", "brcm,bcm2837"; + model = "Raspberry Pi Compute Module 3"; ++ ++ cam1_reg: cam1_reg { ++ compatible = "regulator-fixed"; ++ regulator-name = "cam1-regulator"; ++ gpio = <&gpio 2 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ status = "disabled"; ++ }; ++ cam0_reg: cam0_reg { ++ compatible = "regulator-fixed"; ++ regulator-name = "cam0-regulator"; ++ gpio = <&gpio 30 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ status = "disabled"; ++ }; + }; + + &uart0 { +diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +index 42a0d5226e7c..dae841ce309f 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -319,6 +319,7 @@ + #include "bcm2711-rpi.dtsi" + #include "bcm283x-rpi-csi1-2lane.dtsi" + #include "bcm283x-rpi-i2c0mux_0_44.dtsi" ++#include "bcm283x-rpi-cam1-regulator.dtsi" + + / { + chosen { +@@ -585,6 +586,10 @@ + pinctrl-0 = <&audio_pins>; + }; + ++&cam1_reg { ++ gpio = <&expgpio 5 GPIO_ACTIVE_HIGH>; ++}; ++ + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts +index dbe8afe9ac5f..7ab0aba5f1a3 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts +@@ -327,6 +327,14 @@ + }; + + /delete-node/ wifi-pwrseq; ++ ++ cam0_reg: cam1_reg: cam1_reg { ++ compatible = "regulator-fixed"; ++ regulator-name = "cam1-reg"; ++ gpio = <&expgpio 5 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ status = "disabled"; ++ }; + }; + + &mmcnr { +diff --git a/arch/arm/boot/dts/bcm283x-rpi-cam1-regulator.dtsi b/arch/arm/boot/dts/bcm283x-rpi-cam1-regulator.dtsi +new file mode 100644 +index 000000000000..55237d03ed94 +--- /dev/null ++++ b/arch/arm/boot/dts/bcm283x-rpi-cam1-regulator.dtsi +@@ -0,0 +1,10 @@ ++// SPDX-License-Identifier: GPL-2.0 ++ ++/ { ++ cam1_reg: cam1_reg { ++ compatible = "regulator-fixed"; ++ regulator-name = "cam1-reg"; ++ enable-active-high; ++ status = "disabled"; ++ }; ++}; +-- +2.18.4 + + +From 18f09422dfb2800ea6490764e7208e5950a6069d Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Wed, 6 Jan 2021 17:42:31 +0000 +Subject: [PATCH 477/533] dtoverlays: Update sensor overlays to use cam1_reg + where possible + +Update those overlays that use the regulator framework to use the +new cam1_reg node to control the camera shutdown line, and remove +the firmware workaround nodes. + +Signed-off-by: Dave Stevenson +--- + arch/arm/boot/dts/overlays/imx219-overlay.dts | 18 +++++--------- + .../boot/dts/overlays/imx290_327-overlay.dtsi | 18 +++++--------- + arch/arm/boot/dts/overlays/imx477-overlay.dts | 24 +++++++------------ + arch/arm/boot/dts/overlays/ov7251-overlay.dts | 18 +++++--------- + arch/arm/boot/dts/overlays/ov9281-overlay.dts | 19 ++++++--------- + 5 files changed, 34 insertions(+), 63 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/imx219-overlay.dts b/arch/arm/boot/dts/overlays/imx219-overlay.dts +index dce07b335c4e..0840e8b23b1a 100644 +--- a/arch/arm/boot/dts/overlays/imx219-overlay.dts ++++ b/arch/arm/boot/dts/overlays/imx219-overlay.dts +@@ -23,7 +23,7 @@ + clocks = <&imx219_clk>; + clock-names = "xclk"; + +- VANA-supply = <&imx219_vana>; /* 2.8v */ ++ VANA-supply = <&cam1_reg>; /* 2.8v */ + VDIG-supply = <&imx219_vdig>; /* 1.8v */ + VDDL-supply = <&imx219_vddl>; /* 1.2v */ + +@@ -69,14 +69,6 @@ + fragment@3 { + target-path="/"; + __overlay__ { +- imx219_vana: fixedregulator@0 { +- compatible = "regulator-fixed"; +- regulator-name = "imx219_vana"; +- regulator-min-microvolt = <2800000>; +- regulator-max-microvolt = <2800000>; +- gpio = <&gpio 41 GPIO_ACTIVE_HIGH>; +- enable-active-high; +- }; + imx219_vdig: fixedregulator@1 { + compatible = "regulator-fixed"; + regulator-name = "imx219_vdig"; +@@ -106,10 +98,12 @@ + }; + + fragment@5 { +- target-path="/__overrides__"; ++ target = <&cam1_reg>; + __overlay__ { +- cam0-pwdn-ctrl = <&imx219_vana>,"gpio:0"; +- cam0-pwdn = <&imx219_vana>,"gpio:4"; ++ status = "okay"; ++ regulator-name = "imx219_vana"; ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; + }; + }; + +diff --git a/arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi b/arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi +index 8f1dadb13f6a..6ecafdddbf0a 100644 +--- a/arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi ++++ b/arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi +@@ -24,7 +24,7 @@ + clock-names = "xclk"; + clock-frequency = <37125000>; + +- vdda-supply = <&imx290_vdda>; /* 2.8v */ ++ vdda-supply = <&cam1_reg>; /* 2.8v */ + vdddo-supply = <&imx290_vdddo>; /* 1.8v */ + vddd-supply = <&imx290_vddd>; /* 1.5v */ + +@@ -61,14 +61,6 @@ + fragment@3 { + target-path="/"; + __overlay__ { +- imx290_vdda: fixedregulator@0 { +- compatible = "regulator-fixed"; +- regulator-name = "imx290_vdda"; +- regulator-min-microvolt = <2800000>; +- regulator-max-microvolt = <2800000>; +- gpio = <&gpio 41 GPIO_ACTIVE_HIGH>; +- enable-active-high; +- }; + imx290_vdddo: fixedregulator@1 { + compatible = "regulator-fixed"; + regulator-name = "imx290_vdddo"; +@@ -98,10 +90,12 @@ + }; + + fragment@5 { +- target-path="/__overrides__"; ++ target = <&cam1_reg>; + __overlay__ { +- cam0-pwdn-ctrl = <&imx290_vdda>,"gpio:0"; +- cam0-pwdn = <&imx290_vdda>,"gpio:4"; ++ status = "okay"; ++ regulator-name = "imx290_vdda"; ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; + }; + }; + +diff --git a/arch/arm/boot/dts/overlays/imx477-overlay.dts b/arch/arm/boot/dts/overlays/imx477-overlay.dts +index 1a97eaaf4c82..0f1ebd2b663d 100644 +--- a/arch/arm/boot/dts/overlays/imx477-overlay.dts ++++ b/arch/arm/boot/dts/overlays/imx477-overlay.dts +@@ -23,7 +23,7 @@ + clocks = <&imx477_clk>; + clock-names = "xclk"; + +- VANA-supply = <&imx477_vana>; /* 2.8v */ ++ VANA-supply = <&cam1_reg>; /* 2.8v */ + VDIG-supply = <&imx477_vdig>; /* 1.05v */ + VDDL-supply = <&imx477_vddl>; /* 1.8v */ + +@@ -69,22 +69,13 @@ + fragment@3 { + target-path="/"; + __overlay__ { +- imx477_vana: fixedregulator@0 { +- compatible = "regulator-fixed"; +- regulator-name = "imx477_vana"; +- regulator-min-microvolt = <2800000>; +- regulator-max-microvolt = <2800000>; +- gpio = <&gpio 41 GPIO_ACTIVE_HIGH>; +- enable-active-high; +- startup-delay-us = <300000>; +- }; +- imx477_vdig: fixedregulator@1 { ++ imx477_vdig: fixedregulator@0 { + compatible = "regulator-fixed"; + regulator-name = "imx477_vdig"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + }; +- imx477_vddl: fixedregulator@2 { ++ imx477_vddl: fixedregulator@1 { + compatible = "regulator-fixed"; + regulator-name = "imx477_vddl"; + regulator-min-microvolt = <1800000>; +@@ -106,10 +97,13 @@ + }; + + fragment@5 { +- target-path="/__overrides__"; ++ target = <&cam1_reg>; + __overlay__ { +- cam0-pwdn-ctrl = <&imx477_vana>,"gpio:0"; +- cam0-pwdn = <&imx477_vana>,"gpio:4"; ++ status = "okay"; ++ regulator-name = "imx477_vana"; ++ startup-delay-us = <300000>; ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; + }; + }; + +diff --git a/arch/arm/boot/dts/overlays/ov7251-overlay.dts b/arch/arm/boot/dts/overlays/ov7251-overlay.dts +index f04eafd4adf9..da77a95c1296 100644 +--- a/arch/arm/boot/dts/overlays/ov7251-overlay.dts ++++ b/arch/arm/boot/dts/overlays/ov7251-overlay.dts +@@ -25,11 +25,9 @@ + clock-frequency = <24000000>; + + vdddo-supply = <&ov7251_dovdd>; +- vdda-supply = <&ov7251_avdd>; ++ vdda-supply = <&cam1_reg>; + vddd-supply = <&ov7251_dvdd>; + +- enable-gpios = <&gpio 41 GPIO_ACTIVE_HIGH>; +- + port { + ov7251_0: endpoint { + remote-endpoint = <&csi1_ep>; +@@ -68,12 +66,6 @@ + fragment@3 { + target-path="/"; + __overlay__ { +- ov7251_avdd: fixedregulator@0 { +- compatible = "regulator-fixed"; +- regulator-name = "ov7251_avdd"; +- regulator-min-microvolt = <2800000>; +- regulator-max-microvolt = <2800000>; +- }; + ov7251_dovdd: fixedregulator@1 { + compatible = "regulator-fixed"; + regulator-name = "ov7251_dovdd"; +@@ -102,10 +94,12 @@ + }; + + fragment@5 { +- target-path="/__overrides__"; ++ target = <&cam1_reg>; + __overlay__ { +- cam0-pwdn-ctrl = <&ov7251>,"enable-gpios:0"; +- cam0-pwdn = <&ov7251>,"enable-gpios:4"; ++ status = "okay"; ++ regulator-name = "ov7251_avdd"; ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; + }; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/ov9281-overlay.dts b/arch/arm/boot/dts/overlays/ov9281-overlay.dts +index 40b298d3dd86..b7a9c8c539da 100644 +--- a/arch/arm/boot/dts/overlays/ov9281-overlay.dts ++++ b/arch/arm/boot/dts/overlays/ov9281-overlay.dts +@@ -23,7 +23,7 @@ + clocks = <&ov9281_clk>; + clock-names = "xvclk"; + +- avdd-supply = <&ov9281_avdd>; ++ avdd-supply = <&cam1_reg>; + dovdd-supply = <&ov9281_dovdd>; + dvdd-supply = <&ov9281_dvdd>; + +@@ -66,14 +66,6 @@ + fragment@3 { + target-path="/"; + __overlay__ { +- ov9281_avdd: fixedregulator@0 { +- compatible = "regulator-fixed"; +- regulator-name = "ov9281_avdd"; +- regulator-min-microvolt = <2800000>; +- regulator-max-microvolt = <2800000>; +- gpio = <&gpio 41 GPIO_ACTIVE_HIGH>; +- enable-active-high; +- }; + ov9281_dovdd: fixedregulator@1 { + compatible = "regulator-fixed"; + regulator-name = "ov9281_dovdd"; +@@ -102,10 +94,13 @@ + }; + + fragment@5 { +- target-path="/__overrides__"; ++ target = <&cam1_reg>; + __overlay__ { +- cam0-pwdn-ctrl = <&ov9281_avdd>,"gpio:0"; +- cam0-pwdn = <&ov9281_avdd>,"gpio:4"; ++ status = "okay"; ++ regulator-name = "ov9281_avdd"; ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; + }; + }; ++ + }; +-- +2.18.4 + + +From 30d9b4b55ca3d4af3eb5bab6f0060dde5d30da5b Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde +Date: Sat, 9 Jan 2021 17:03:32 +0100 +Subject: [PATCH 478/533] overlays: seeed-can-fd-hat: clarify how to identify + HAT version + +It turns out the used CAN SPI chip is not a good way to identify the version of +the CAN HAT. + +There are two different board layouts of the Seeed Studio CAN BUS FD HAT. The +v1 board doesn't have a battery holder, while the v2 board has. Update the +overlay README accordinly. + +Link: https://github.com/Seeed-Studio/seeed-linux-dtoverlays/issues/13 +Cc: Patrick Menschel +Signed-off-by: Marc Kleine-Budde +--- + arch/arm/boot/dts/overlays/README | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 5076ca440742..bc889782a30b 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -2505,16 +2505,18 @@ Load: + + + Name: seeed-can-fd-hat-v1 +-Info: Overlay for Seeed Studio CAN BUS FD HAT with two CAN FD channels +- (based on the mcp2517fd). ++Info: Overlay for Seeed Studio CAN BUS FD HAT with two CAN FD ++ channels without RTC. Use this overlay if your HAT has no ++ battery holder. + https://www.seeedstudio.com/2-Channel-CAN-BUS-FD-Shield-for-Raspberry-Pi-p-4072.html + Load: dtoverlay=seeed-can-fd-hat-v1 + Params: + + + Name: seeed-can-fd-hat-v2 +-Info: Overlay for Seeed Studio CAN BUS FD HAT with two CAN FD channels +- (based on the mcp2518fd) and an RTC. ++Info: Overlay for Seeed Studio CAN BUS FD HAT with two CAN FD ++ channels and an RTC. Use this overlay if your HAT has a ++ battery holder. + https://www.seeedstudio.com/CAN-BUS-FD-HAT-for-Raspberry-Pi-p-4742.html + Load: dtoverlay=seeed-can-fd-hat-v2 + Params: +-- +2.18.4 + + +From 1c38bdf846684f2848d5332a61ded513c633b9d1 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 13 Jan 2021 21:25:38 +0000 +Subject: [PATCH 479/533] SQUASH: Revert: "overlays: Make the i2c-gpio overlay + safe again" + +This revert and its neighbour are opposites. When squashing, delete +the original commits as well. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts +index 63231b5d7c0c..2323a61edf07 100644 +--- a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts +@@ -11,6 +11,9 @@ + target-path = "/"; + + __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ + i2c_gpio: i2c@0 { + reg = <0xffffffff>; + compatible = "i2c-gpio"; +-- +2.18.4 + + +From 2632876de4e53d4382f811c876d8aab14cc9447b Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 13 Jan 2021 21:27:56 +0000 +Subject: [PATCH 480/533] SQUASH: Revert "overlays: Fix dtc warnings in + i2c-gpio" + +This reverts commit 1c15edc0dca002c8536e9f1f5e1ec43017815018. + +This revert and its neighbour are opposites. When squashing, delete +the original commits as well. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts +index 2323a61edf07..63231b5d7c0c 100644 +--- a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts +@@ -11,9 +11,6 @@ + target-path = "/"; + + __overlay__ { +- #address-cells = <1>; +- #size-cells = <0>; +- + i2c_gpio: i2c@0 { + reg = <0xffffffff>; + compatible = "i2c-gpio"; +-- +2.18.4 + + +From 5647e0da8b54c19de7bb6e52f30eb34ee190b8aa Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 19 Jan 2021 08:57:21 +0000 +Subject: [PATCH 481/533] configs: Enable BCM2835 thermal driver in kernel8 + +The arm64 version of bcm2711_defconfig is intended for Pi 4, but the +Raspberry Pi OS kernel8.img built from it is also used for Pi 3. It is +therefore necessary to include some legacy drivers such as the BCM2835 +thermal driver, otherwise there is no support for reading the CPU +temperature on a Pi 3 in 64-bit mode. + +See: https://github.com/raspberrypi/linux/issues/4077 + +Signed-off-by: Phil Elwell +--- + arch/arm64/configs/bcm2711_defconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 325ff25a243d..eeb52d96e26b 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -724,6 +724,7 @@ CONFIG_SENSORS_INA2XX=m + CONFIG_SENSORS_TMP102=m + CONFIG_THERMAL=y + CONFIG_BCM2711_THERMAL=y ++CONFIG_BCM2835_THERMAL=y + CONFIG_WATCHDOG=y + CONFIG_GPIO_WATCHDOG=m + CONFIG_BCM2835_WDT=y +-- +2.18.4 + + +From 817dd19f1219d5349b03573f998dba3da3142829 Mon Sep 17 00:00:00 2001 +From: Naushir Patuck +Date: Thu, 14 Jan 2021 09:18:42 +0000 +Subject: [PATCH 482/533] uapi: bcm2835-isp: Add colour denoise configuration + +Add a configuration structure for colour denoise to the bcm2835_isp +driver. + +Signed-off-by: Naushir Patuck +--- + include/uapi/linux/bcm2835-isp.h | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +diff --git a/include/uapi/linux/bcm2835-isp.h b/include/uapi/linux/bcm2835-isp.h +index cf8c0437f159..c50e3ca81565 100644 +--- a/include/uapi/linux/bcm2835-isp.h ++++ b/include/uapi/linux/bcm2835-isp.h +@@ -31,6 +31,8 @@ + (V4L2_CID_USER_BCM2835_ISP_BASE + 0x0007) + #define V4L2_CID_USER_BCM2835_ISP_DPC \ + (V4L2_CID_USER_BCM2835_ISP_BASE + 0x0008) ++#define V4L2_CID_USER_BCM2835_ISP_CDN \ ++ (V4L2_CID_USER_BCM2835_ISP_BASE + 0x0009) + + /* + * All structs below are directly mapped onto the equivalent structs in +@@ -175,6 +177,31 @@ struct bcm2835_isp_gamma { + __u16 y[BCM2835_NUM_GAMMA_PTS]; + }; + ++/** ++ * enum bcm2835_isp_cdn_mode - Mode of operation for colour denoise. ++ * ++ * @CDN_MODE_FAST: Fast (but lower quality) colour denoise ++ * algorithm, typically used for video recording. ++ * @CDN_HIGH_QUALITY: High quality (but slower) colour denoise ++ * algorithm, typically used for stills capture. ++ */ ++enum bcm2835_isp_cdn_mode { ++ CDN_MODE_FAST = 0, ++ CDN_MODE_HIGH_QUALITY = 1, ++}; ++ ++/** ++ * struct bcm2835_isp_cdn - Colour denoise parameters set with the ++ * V4L2_CID_USER_BCM2835_ISP_CDN ctrl. ++ * ++ * @enabled: Enable colour denoise. ++ * @mode: Colour denoise operating mode (see enum &bcm2835_isp_cdn_mode) ++ */ ++struct bcm2835_isp_cdn { ++ __u32 enabled; ++ __u32 mode; ++}; ++ + /** + * struct bcm2835_isp_denoise - Denoise parameters set with the + * V4L2_CID_USER_BCM2835_ISP_DENOISE ctrl. +-- +2.18.4 + + +From 3f11ae8ceac9e99e556ed668571bcf9c524d6670 Mon Sep 17 00:00:00 2001 +From: Naushir Patuck +Date: Thu, 14 Jan 2021 09:20:52 +0000 +Subject: [PATCH 483/533] staging: vc04_services: ISP: Add colour denoise + control + +Add colour denoise control to the bcm2835 driver through a new v4l2 +control: V4L2_CID_USER_BCM2835_ISP_CDN. + +Add the accompanying MMAL configuration structure definitions as well. + +Signed-off-by: Naushir Patuck +--- + .../vc04_services/bcm2835-isp/bcm2835-isp-ctrls.h | 5 +++++ + .../vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c | 5 +++++ + .../vc04_services/vchiq-mmal/mmal-parameters.h | 13 +++++++++++++ + 3 files changed, 23 insertions(+) + +diff --git a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-ctrls.h b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-ctrls.h +index cfbb1063aad1..172605718cdf 100644 +--- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-ctrls.h ++++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-ctrls.h +@@ -56,6 +56,11 @@ static const struct bcm2835_isp_custom_ctrl custom_ctrls[] = { + .id = V4L2_CID_USER_BCM2835_ISP_DENOISE, + .size = sizeof(struct bcm2835_isp_denoise), + .flags = 0 ++ }, { ++ .name = "Colour Denoise", ++ .id = V4L2_CID_USER_BCM2835_ISP_CDN, ++ .size = sizeof(struct bcm2835_isp_cdn), ++ .flags = 0 + }, { + .name = "Defective Pixel Correction", + .id = V4L2_CID_USER_BCM2835_ISP_DPC, +diff --git a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c +index afac2ad65790..4d24aec7203d 100644 +--- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c ++++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c +@@ -764,6 +764,11 @@ static int bcm2835_isp_s_ctrl(struct v4l2_ctrl *ctrl) + ctrl->p_new.p_u8, + sizeof(struct bcm2835_isp_denoise)); + break; ++ case V4L2_CID_USER_BCM2835_ISP_CDN: ++ ret = set_isp_param(node, MMAL_PARAMETER_CDN, ++ ctrl->p_new.p_u8, ++ sizeof(struct bcm2835_isp_cdn)); ++ break; + case V4L2_CID_USER_BCM2835_ISP_SHARPEN: + ret = set_isp_param(node, MMAL_PARAMETER_SHARPEN, + ctrl->p_new.p_u8, +diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h b/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h +index efda4dc039c3..79438d23912f 100644 +--- a/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h ++++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h +@@ -277,6 +277,8 @@ enum mmal_parameter_camera_type { + MMAL_PARAMETER_DPC, + /**< Tales a @ref MMAP_PARAMETER_GAMMA_T */ + MMAL_PARAMETER_GAMMA, ++ /**< Takes a @ref MMAL_PARAMETER_CDN_T */ ++ MMAL_PARAMETER_CDN, + }; + + struct mmal_parameter_rational { +@@ -913,6 +915,17 @@ struct mmal_parameter_gamma { + u16 y[MMAL_NUM_GAMMA_PTS]; + }; + ++enum mmal_parameter_cdn_mode { ++ MMAL_PARAM_CDN_FAST = 0, ++ MMAL_PARAM_CDN_HIGH_QUALITY = 1, ++ MMAL_PARAM_CDN_DUMMY = 0x7FFFFFFF ++}; ++ ++struct mmal_parameter_colour_denoise { ++ u32 enabled; ++ enum mmal_parameter_cdn_mode mode; ++}; ++ + struct mmal_parameter_denoise { + u32 enabled; + u32 constant; +-- +2.18.4 + + +From fb52aa470032d9cb9d88a16076d1503753eb29cd Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 21 Jan 2021 18:27:08 +0000 +Subject: [PATCH 484/533] configs: Add CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m + +Signed-off-by: popcornmix +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcm2711_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + arch/arm64/configs/bcm2711_defconfig | 1 + + arch/arm64/configs/bcmrpi3_defconfig | 1 + + 5 files changed, 5 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index 4f2a92e4aed6..94343b892cc5 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -208,6 +208,7 @@ CONFIG_NETFILTER_XT_MATCH_NFACCT=m + CONFIG_NETFILTER_XT_MATCH_OSF=m + CONFIG_NETFILTER_XT_MATCH_OWNER=m + CONFIG_NETFILTER_XT_MATCH_POLICY=m ++CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m + CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m + CONFIG_NETFILTER_XT_MATCH_QUOTA=m + CONFIG_NETFILTER_XT_MATCH_RATEEST=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 113e10dcf1cc..4daa5542b31d 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -209,6 +209,7 @@ CONFIG_NETFILTER_XT_MATCH_NFACCT=m + CONFIG_NETFILTER_XT_MATCH_OSF=m + CONFIG_NETFILTER_XT_MATCH_OWNER=m + CONFIG_NETFILTER_XT_MATCH_POLICY=m ++CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m + CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m + CONFIG_NETFILTER_XT_MATCH_QUOTA=m + CONFIG_NETFILTER_XT_MATCH_RATEEST=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index cb8b5cc5776b..74bda1eadf7c 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -202,6 +202,7 @@ CONFIG_NETFILTER_XT_MATCH_NFACCT=m + CONFIG_NETFILTER_XT_MATCH_OSF=m + CONFIG_NETFILTER_XT_MATCH_OWNER=m + CONFIG_NETFILTER_XT_MATCH_POLICY=m ++CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m + CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m + CONFIG_NETFILTER_XT_MATCH_QUOTA=m + CONFIG_NETFILTER_XT_MATCH_RATEEST=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index eeb52d96e26b..246ba6cf9357 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -206,6 +206,7 @@ CONFIG_NETFILTER_XT_MATCH_NFACCT=m + CONFIG_NETFILTER_XT_MATCH_OSF=m + CONFIG_NETFILTER_XT_MATCH_OWNER=m + CONFIG_NETFILTER_XT_MATCH_POLICY=m ++CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m + CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m + CONFIG_NETFILTER_XT_MATCH_QUOTA=m + CONFIG_NETFILTER_XT_MATCH_RATEEST=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 5d6f27ec87f6..5b6a5d59b394 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -205,6 +205,7 @@ CONFIG_NETFILTER_XT_MATCH_NFACCT=m + CONFIG_NETFILTER_XT_MATCH_OSF=m + CONFIG_NETFILTER_XT_MATCH_OWNER=m + CONFIG_NETFILTER_XT_MATCH_POLICY=m ++CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m + CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m + CONFIG_NETFILTER_XT_MATCH_QUOTA=m + CONFIG_NETFILTER_XT_MATCH_RATEEST=m +-- +2.18.4 + + +From 1f3e7de1f14217402221d824c6b68963cd7f017b Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 22 Jan 2021 09:28:06 +0000 +Subject: [PATCH 485/533] configs: Add CONFIG_USB_NET_AQC111=m + +See: https://github.com/raspberrypi/linux/pull/4086 + +Signed-off-by: Phil Elwell +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcm2711_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + arch/arm64/configs/bcm2711_defconfig | 1 + + arch/arm64/configs/bcmrpi3_defconfig | 1 + + 5 files changed, 5 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index 94343b892cc5..f1244e98f080 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -546,6 +546,7 @@ CONFIG_USB_NET_INT51X1=m + CONFIG_USB_IPHETH=m + CONFIG_USB_SIERRA_NET=m + CONFIG_USB_VL600=m ++CONFIG_USB_NET_AQC111=m + CONFIG_ATH9K=m + CONFIG_ATH9K_HTC=m + CONFIG_CARL9170=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 4daa5542b31d..5f34b9df0ad7 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -554,6 +554,7 @@ CONFIG_USB_NET_INT51X1=m + CONFIG_USB_IPHETH=m + CONFIG_USB_SIERRA_NET=m + CONFIG_USB_VL600=m ++CONFIG_USB_NET_AQC111=m + CONFIG_ATH9K=m + CONFIG_ATH9K_HTC=m + CONFIG_CARL9170=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 74bda1eadf7c..380f4139cd64 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -540,6 +540,7 @@ CONFIG_USB_NET_INT51X1=m + CONFIG_USB_IPHETH=m + CONFIG_USB_SIERRA_NET=m + CONFIG_USB_VL600=m ++CONFIG_USB_NET_AQC111=m + CONFIG_ATH9K=m + CONFIG_ATH9K_HTC=m + CONFIG_CARL9170=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 246ba6cf9357..590a235f9e25 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -548,6 +548,7 @@ CONFIG_USB_NET_INT51X1=m + CONFIG_USB_IPHETH=m + CONFIG_USB_SIERRA_NET=m + CONFIG_USB_VL600=m ++CONFIG_USB_NET_AQC111=m + CONFIG_ATH9K=m + CONFIG_ATH9K_HTC=m + CONFIG_CARL9170=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 5b6a5d59b394..655b1d87720b 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -536,6 +536,7 @@ CONFIG_USB_NET_INT51X1=m + CONFIG_USB_IPHETH=m + CONFIG_USB_SIERRA_NET=m + CONFIG_USB_VL600=m ++CONFIG_USB_NET_AQC111=m + CONFIG_ATH9K=m + CONFIG_ATH9K_HTC=m + CONFIG_CARL9170=m +-- +2.18.4 + + +From 3f1be6f5e5b8923aacf2c176630808eb7bf74206 Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne +Date: Thu, 10 Dec 2020 19:22:45 +0100 +Subject: [PATCH 486/533] dt-bindings: nvmem: Add bindings for rmem driver + +Firmware/co-processors might use reserved memory areas in order to pass +data stemming from an nvmem device otherwise non accessible to Linux. +For example an EEPROM memory only physically accessible to firmware, or +data only accessible early at boot time. + +Introduce the dt-bindings to nvmem's rmem. + +Signed-off-by: Nicolas Saenz Julienne + +--- + +Changes since v1: + - Update schema to new driver design +--- + .../devicetree/bindings/nvmem/rmem.yaml | 49 +++++++++++++++++++ + 1 file changed, 49 insertions(+) + create mode 100644 Documentation/devicetree/bindings/nvmem/rmem.yaml + +diff --git a/Documentation/devicetree/bindings/nvmem/rmem.yaml b/Documentation/devicetree/bindings/nvmem/rmem.yaml +new file mode 100644 +index 000000000000..29b53871aa02 +--- /dev/null ++++ b/Documentation/devicetree/bindings/nvmem/rmem.yaml +@@ -0,0 +1,49 @@ ++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) ++%YAML 1.2 ++--- ++$id: http://devicetree.org/schemas/nvmem/rmem.yaml# ++$schema: http://devicetree.org/meta-schemas/core.yaml# ++ ++title: Reserved Memory Based nvmem Device ++ ++maintainers: ++ - Nicolas Saenz Julienne ++ ++allOf: ++ - $ref: "nvmem.yaml#" ++ ++properties: ++ compatible: ++ items: ++ - enum: ++ - raspberrypi,bootloader-config ++ - const: nvmem-rmem ++ ++ no-map: ++ $ref: /schemas/types.yaml#/definitions/flag ++ description: ++ Avoid creating a virtual mapping of the region as part of the OS' ++ standard mapping of system memory. ++ ++required: ++ - compatible ++ - no-map ++ ++unevaluatedProperties: false ++ ++examples: ++ - | ++ reserved-memory { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ blconfig: nvram@10000000 { ++ compatible = "raspberrypi,bootloader-config", "nvmem-rmem"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ reg = <0x10000000 0x1000>; ++ no-map; ++ }; ++ }; ++ ++... +-- +2.18.4 + + +From dce86e6903d5bc6dfb084e5c1823a1f1d013196f Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne +Date: Thu, 10 Dec 2020 12:13:49 +0100 +Subject: [PATCH 487/533] nvmem: Add driver to expose reserved memory as nvmem + +Firmware/co-processors might use reserved memory areas in order to pass +data stemming from an nvmem device otherwise non accessible to Linux. +For example an EEPROM memory only physically accessible to firmware, or +data only accessible early at boot time. + +In order to expose this data to other drivers and user-space, the driver +models the reserved memory area as an nvmem device. + +Signed-off-by: Nicolas Saenz Julienne + +--- + +Changes since v1: + - Remove reserved memory phandle indirection by directly creating a + platform device from the reserved memory DT node + - Only map memory upon reading it to avoid corruption + - Small cosmetic cleanups +--- + drivers/nvmem/Kconfig | 8 ++++ + drivers/nvmem/Makefile | 2 + + drivers/nvmem/rmem.c | 97 ++++++++++++++++++++++++++++++++++++++++++ + drivers/of/platform.c | 1 + + 4 files changed, 108 insertions(+) + create mode 100644 drivers/nvmem/rmem.c + +diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig +index 954d3b4a52ab..fecc19b884bf 100644 +--- a/drivers/nvmem/Kconfig ++++ b/drivers/nvmem/Kconfig +@@ -270,4 +270,12 @@ config SPRD_EFUSE + This driver can also be built as a module. If so, the module + will be called nvmem-sprd-efuse. + ++config NVMEM_RMEM ++ tristate "Reserved Memory Based Driver Support" ++ help ++ This drivers maps reserved memory into an nvmem device. It might be ++ useful to expose information left by firmware in memory. ++ ++ This driver can also be built as a module. If so, the module ++ will be called nvmem-rmem. + endif +diff --git a/drivers/nvmem/Makefile b/drivers/nvmem/Makefile +index a7c377218341..5376b8e0dae5 100644 +--- a/drivers/nvmem/Makefile ++++ b/drivers/nvmem/Makefile +@@ -55,3 +55,5 @@ obj-$(CONFIG_NVMEM_ZYNQMP) += nvmem_zynqmp_nvmem.o + nvmem_zynqmp_nvmem-y := zynqmp_nvmem.o + obj-$(CONFIG_SPRD_EFUSE) += nvmem_sprd_efuse.o + nvmem_sprd_efuse-y := sprd-efuse.o ++obj-$(CONFIG_NVMEM_RMEM) += nvmem-rmem.o ++nvmem-rmem-y := rmem.o +diff --git a/drivers/nvmem/rmem.c b/drivers/nvmem/rmem.c +new file mode 100644 +index 000000000000..b11c3c974b3d +--- /dev/null ++++ b/drivers/nvmem/rmem.c +@@ -0,0 +1,97 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2020 Nicolas Saenz Julienne ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++struct rmem { ++ struct device *dev; ++ struct nvmem_device *nvmem; ++ struct reserved_mem *mem; ++ ++ phys_addr_t size; ++}; ++ ++static int rmem_read(void *context, unsigned int offset, ++ void *val, size_t bytes) ++{ ++ struct rmem *priv = context; ++ size_t available = priv->mem->size; ++ loff_t off = offset; ++ void *addr; ++ int count; ++ ++ /* ++ * Only map the reserved memory at this point to avoid potential rogue ++ * kernel threads inadvertently modifying it. Based on the current ++ * uses-cases for this driver, the performance hit isn't a concern. ++ * Nor is likely to be, given the nature of the subsystem. Most nvmem ++ * devices operate over slow buses to begin with. ++ * ++ * An alternative would be setting the memory as RO, set_memory_ro(), ++ * but as of Dec 2020 this isn't possible on arm64. ++ */ ++ addr = memremap(priv->mem->base, available, MEMREMAP_WB); ++ if (IS_ERR(addr)) { ++ dev_err(priv->dev, "Failed to remap memory region\n"); ++ return PTR_ERR(addr); ++ } ++ ++ count = memory_read_from_buffer(val, bytes, &off, addr, available); ++ ++ memunmap(addr); ++ ++ return count; ++} ++ ++static int rmem_probe(struct platform_device *pdev) ++{ ++ struct nvmem_config config = { }; ++ struct device *dev = &pdev->dev; ++ struct reserved_mem *mem; ++ struct rmem *priv; ++ ++ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); ++ if (!priv) ++ return -ENOMEM; ++ priv->dev = dev; ++ ++ mem = of_reserved_mem_lookup(dev->of_node); ++ if (!mem) { ++ dev_err(dev, "Failed to lookup reserved memory\n"); ++ return -EINVAL; ++ } ++ priv->mem = mem; ++ ++ config.dev = dev; ++ config.priv = priv; ++ config.name = "rmem"; ++ config.size = mem->size; ++ config.reg_read = rmem_read; ++ ++ return PTR_ERR_OR_ZERO(devm_nvmem_register(dev, &config)); ++} ++ ++static const struct of_device_id rmem_match[] = { ++ { .compatible = "nvmem-rmem", }, ++ { /* sentinel */ }, ++}; ++MODULE_DEVICE_TABLE(of, rmem_match); ++ ++static struct platform_driver rmem_driver = { ++ .probe = rmem_probe, ++ .driver = { ++ .name = "rmem", ++ .of_match_table = rmem_match, ++ }, ++}; ++module_platform_driver(rmem_driver); ++ ++MODULE_AUTHOR("Nicolas Saenz Julienne "); ++MODULE_DESCRIPTION("Reserved Memory Based nvmem Driver"); ++MODULE_LICENSE("GPL"); +diff --git a/drivers/of/platform.c b/drivers/of/platform.c +index b557a0fcd4ba..281856ac1988 100644 +--- a/drivers/of/platform.c ++++ b/drivers/of/platform.c +@@ -511,6 +511,7 @@ static const struct of_device_id reserved_mem_matches[] = { + { .compatible = "qcom,rmtfs-mem" }, + { .compatible = "qcom,cmd-db" }, + { .compatible = "ramoops" }, ++ { .compatible = "nvmem-rmem" }, + {} + }; + +-- +2.18.4 + + +From 9697ec0271181d2dbe8e987fe5c1782fafa4f7c7 Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne +Date: Fri, 11 Dec 2020 12:22:01 +0100 +Subject: [PATCH 488/533] ARM: dts: bcm2711: Add reserved memory template to + hold firmware configuration + +RPi4's co-processor will copy the board's bootloader[1] configuration +into memory for the OS to consume. Specifically, for the bootloader +configuration and upgrade user-space routines to query it through +nvmem's sysfs interface. + +Introduce a reserved-memory area template for the co-processor to edit +before booting the system so as for Linux not to overwrite that memory +and to expose it as an nvmem device. + +Signed-off-by: Nicolas Saenz Julienne + +[1] https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md +--- + +Changes since v1: + - Introduce compatible string + - Change alias name to something more explicit +--- + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +index dae841ce309f..22c562d4196a 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -24,6 +24,7 @@ + emmc2bus = &emmc2bus; + ethernet0 = &genet; + pcie0 = &pcie0; ++ blconfig = &blconfig; + }; + + leds { +@@ -215,6 +216,22 @@ + status = "okay"; + }; + ++&rmem { ++ /* ++ * RPi4's co-processor will copy the board's bootloader configuration ++ * into memory for the OS to consume. It'll also update this node with ++ * its placement information. ++ */ ++ blconfig: nvram@0 { ++ compatible = "raspberrypi,bootloader-config", "nvmem-rmem"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ reg = <0x0 0x0 0x0>; ++ no-map; ++ status = "disabled"; ++ }; ++}; ++ + /* SDHCI is used to control the SDIO for wireless */ + &sdhci { + #address-cells = <1>; +-- +2.18.4 + + +From 2223dd9a26304a863832d546339b42df620241c1 Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne +Date: Fri, 11 Dec 2020 13:04:37 +0100 +Subject: [PATCH 489/533] arm64: defconfig: Enable nvmem's rmem driver + +It'll be used by the RPi4 family of boards to access its bootloader +configuration. + +Signed-off-by: Nicolas Saenz Julienne +--- + arch/arm64/configs/defconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig +index 5cfe3cf6f2ac..a9f496d74639 100644 +--- a/arch/arm64/configs/defconfig ++++ b/arch/arm64/configs/defconfig +@@ -1027,6 +1027,7 @@ CONFIG_ROCKCHIP_EFUSE=y + CONFIG_NVMEM_SUNXI_SID=y + CONFIG_UNIPHIER_EFUSE=y + CONFIG_MESON_EFUSE=m ++CONFIG_NVMEM_RMEM=m + CONFIG_FPGA=y + CONFIG_FPGA_MGR_STRATIX10_SOC=m + CONFIG_FPGA_BRIDGE=m +-- +2.18.4 + + +From 38642f51e5379200430cfcf1c9ef62878e19f1b7 Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne +Date: Fri, 11 Dec 2020 13:15:41 +0100 +Subject: [PATCH 490/533] ARM: multi_v7_defconfig: Enable nvmem's rmem driver + +It'll be used by the RPi4 family of boards to access its bootloader +configuration. + +Signed-off-by: Nicolas Saenz Julienne +--- + arch/arm/configs/multi_v7_defconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig +index a611b0c1e540..ea2715c9f923 100644 +--- a/arch/arm/configs/multi_v7_defconfig ++++ b/arch/arm/configs/multi_v7_defconfig +@@ -1089,6 +1089,7 @@ CONFIG_ROCKCHIP_EFUSE=m + CONFIG_NVMEM_SUNXI_SID=y + CONFIG_NVMEM_VF610_OCOTP=y + CONFIG_MESON_MX_EFUSE=m ++CONFIG_NVMEM_RMEM=m + CONFIG_FSI=m + CONFIG_FSI_MASTER_GPIO=m + CONFIG_FSI_MASTER_HUB=m +-- +2.18.4 + + +From 091c14a0efe6b846c5af9682006692652038b84a Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 22 Jan 2021 12:08:19 +0000 +Subject: [PATCH 491/533] configs: Add NVMEM_RMEM=m for 2711 + +Signed-off-by: Phil Elwell +--- + arch/arm/configs/bcm2711_defconfig | 1 + + arch/arm64/configs/bcm2711_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 5f34b9df0ad7..d7a907b234fb 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -1363,6 +1363,7 @@ CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_GENERIC_PHY=y + CONFIG_RPI_AXIPERF=m ++CONFIG_NVMEM_RMEM=m + CONFIG_EXT4_FS=y + CONFIG_EXT4_FS_POSIX_ACL=y + CONFIG_EXT4_FS_SECURITY=y +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 590a235f9e25..4c4068953a97 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -1365,6 +1365,7 @@ CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_GENERIC_PHY=y + CONFIG_RPI_AXIPERF=m ++CONFIG_NVMEM_RMEM=m + CONFIG_EXT4_FS=y + CONFIG_EXT4_FS_POSIX_ACL=y + CONFIG_EXT4_FS_SECURITY=y +-- +2.18.4 + + +From 8ca722cdb3a54aa52f3a7fc4ad22310aef3d71b4 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 22 Jan 2021 16:15:06 +0000 +Subject: [PATCH 492/533] configs: Add CRYPTO_ADIANTUM=m + +See: https://github.com/raspberrypi/linux/issues/3648 + +Signed-off-by: Phil Elwell +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcm2711_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + arch/arm64/configs/bcm2711_defconfig | 1 + + arch/arm64/configs/bcmrpi3_defconfig | 1 + + 5 files changed, 5 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index f1244e98f080..4cd819e1cfd5 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -1447,6 +1447,7 @@ CONFIG_SECURITY_APPARMOR=y + CONFIG_LSM="" + CONFIG_CRYPTO_USER=m + CONFIG_CRYPTO_CHACHA20POLY1305=m ++CONFIG_CRYPTO_ADIANTUM=m + CONFIG_CRYPTO_XCBC=m + CONFIG_CRYPTO_TGR192=m + CONFIG_CRYPTO_WP512=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index d7a907b234fb..6abec1a9961d 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -1483,6 +1483,7 @@ CONFIG_SECURITY_APPARMOR=y + CONFIG_LSM="" + CONFIG_CRYPTO_USER=m + CONFIG_CRYPTO_CHACHA20POLY1305=m ++CONFIG_CRYPTO_ADIANTUM=m + CONFIG_CRYPTO_XCBC=m + CONFIG_CRYPTO_TGR192=m + CONFIG_CRYPTO_WP512=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 380f4139cd64..8882dcc64bb0 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -1460,6 +1460,7 @@ CONFIG_CRYPTO_CHACHA20POLY1305=m + CONFIG_CRYPTO_CBC=y + CONFIG_CRYPTO_CTS=m + CONFIG_CRYPTO_XTS=m ++CONFIG_CRYPTO_ADIANTUM=m + CONFIG_CRYPTO_XCBC=m + CONFIG_CRYPTO_TGR192=m + CONFIG_CRYPTO_WP512=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 4c4068953a97..fea890b2c925 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -1485,6 +1485,7 @@ CONFIG_SECURITY_APPARMOR=y + CONFIG_LSM="" + CONFIG_CRYPTO_USER=m + CONFIG_CRYPTO_CHACHA20POLY1305=m ++CONFIG_CRYPTO_ADIANTUM=m + CONFIG_CRYPTO_XCBC=m + CONFIG_CRYPTO_TGR192=m + CONFIG_CRYPTO_WP512=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 655b1d87720b..1ca2f13a2af5 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -1336,6 +1336,7 @@ CONFIG_SECURITY_APPARMOR=y + CONFIG_LSM="" + CONFIG_CRYPTO_USER=m + CONFIG_CRYPTO_CHACHA20POLY1305=m ++CONFIG_CRYPTO_ADIANTUM=m + CONFIG_CRYPTO_XCBC=m + CONFIG_CRYPTO_TGR192=m + CONFIG_CRYPTO_WP512=m +-- +2.18.4 + + +From 501b8622935b436fef00301720f0cc9ef7e51007 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 28 Jan 2021 11:30:04 +0000 +Subject: [PATCH 493/533] spi: bcm2835: Workaround/fix for zero-length + transfers + +A relatively recent commit ([1]) contained optimisation for the PIO +SPI FIFO-filling functions. The commit message includes the phrase +"[t]he blind and counted loops are always called with nonzero count". +This is technically true, but it is still possible for count to become +zero before the loop is entered - if tfr->len is zero. Moving the loop +exit condition to the end of the loop saves a few cycles, but results +in a near-infinite loop should the revised count be zero on entry. + +Strangely, zero-lengthed transfers aren't filtered by the SPI framework +and, even more strangely, the Python3 spidev library is triggering them +for no obvious reason. + +Avoid the problem completely by bailing out of the main transfer +function early if trf->len is zero, although there may be a case for +moving the mitigation into the framework. + +See: https://github.com/raspberrypi/linux/issues/4100 + +Signed-off-by: Phil Elwell + +[1] 26751de25d25 ("spi: bcm2835: Micro-optimise FIFO loops") +--- + drivers/spi/spi-bcm2835.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c +index 5c7aa77f504e..aab6c7e5c114 100644 +--- a/drivers/spi/spi-bcm2835.c ++++ b/drivers/spi/spi-bcm2835.c +@@ -1090,6 +1090,16 @@ static int bcm2835_spi_transfer_one(struct spi_controller *ctlr, + unsigned long hz_per_byte, byte_limit; + u32 cs = bs->prepare_cs[spi->chip_select]; + ++ if (unlikely(!tfr->len)) { ++ static int warned; ++ ++ if (!warned) ++ dev_warn(&spi->dev, ++ "zero-length SPI transfer ignored\n"); ++ warned = 1; ++ return 0; ++ } ++ + /* set clock */ + spi_hz = tfr->speed_hz; + clk_hz = clk_get_rate(bs->clk); +-- +2.18.4 + + +From 0fb6118136be0438aeb31453c1ec2a63a38ff001 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 29 Jan 2021 10:34:11 +0000 +Subject: [PATCH 494/533] kbuild: Silence unavoidable dtc overlay warnings + +Much effort has been put into finding ways to avoid warnings from dtc +about overlays, usually to do with the presence of #address-cells and +size-cells, but not exclusively so. Since the issues being warned about +are harmless, suppress the warnings to declutter the build output and +to avoid alarming users. + +Signed-off-by: Phil Elwell +--- + scripts/Makefile.lib | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib +index 9c0df5bde46c..43758c8d4b68 100644 +--- a/scripts/Makefile.lib ++++ b/scripts/Makefile.lib +@@ -348,6 +348,12 @@ cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; \ + $(DTC) -@ -H epapr -O dtb -o $@ -b 0 \ + -i $(dir $<) $(DTC_FLAGS) \ + -Wno-interrupts_property \ ++ -Wno-label_is_string \ ++ -Wno-reg_format \ ++ -Wno-pci_device_bus_num \ ++ -Wno-i2c_bus_reg \ ++ -Wno-spi_bus_reg \ ++ -Wno-avoid_default_addr_size \ + -d $(depfile).dtc.tmp $(dtc-tmp) ; \ + cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) + +-- +2.18.4 + + +From ad2b7a5a4a2f717fbfa2d515a5ce87d9f50541e8 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Fri, 29 Jan 2021 15:29:04 +0100 +Subject: [PATCH 495/533] drm/vc4: hvs: Fix buffer overflow with the dlist + handling + +Commit 0a038c1c29a7 ("drm/vc4: Move LBM creation out of +vc4_plane_mode_set()") changed the LBM allocation logic from first +allocating the LBM memory for the plane to running mode_set, +adding a gap in the LBM, and then running the dlist allocation filling +that gap. + +The gap was introduced by incrementing the dlist array index, but was +never checking whether or not we were over the array length, leading +eventually to memory corruptions if we ever crossed this limit. + +vc4_dlist_write had that logic though, and was reallocating a larger +dlist array when reaching the end of the buffer. Let's share the logic +between both functions. + +Cc: Boris Brezillon +Cc: Eric Anholt +Fixes: 0a038c1c29a7 ("drm/vc4: Move LBM creation out of vc4_plane_mode_set()") +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_plane.c | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c +index b5586c92bfe5..3d33fe3dacea 100644 +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -227,7 +227,7 @@ static void vc4_plane_reset(struct drm_plane *plane) + __drm_atomic_helper_plane_reset(plane, &vc4_state->base); + } + +-static void vc4_dlist_write(struct vc4_plane_state *vc4_state, u32 val) ++static void vc4_dlist_counter_increment(struct vc4_plane_state *vc4_state) + { + if (vc4_state->dlist_count == vc4_state->dlist_size) { + u32 new_size = max(4u, vc4_state->dlist_count * 2); +@@ -242,7 +242,15 @@ static void vc4_dlist_write(struct vc4_plane_state *vc4_state, u32 val) + vc4_state->dlist_size = new_size; + } + +- vc4_state->dlist[vc4_state->dlist_count++] = val; ++ vc4_state->dlist_count++; ++} ++ ++static void vc4_dlist_write(struct vc4_plane_state *vc4_state, u32 val) ++{ ++ unsigned int idx = vc4_state->dlist_count; ++ ++ vc4_dlist_counter_increment(vc4_state); ++ vc4_state->dlist[idx] = val; + } + + /* Returns the scl0/scl1 field based on whether the dimensions need to +@@ -1057,8 +1065,10 @@ static int vc4_plane_mode_set(struct drm_plane *plane, + * be set when calling vc4_plane_allocate_lbm(). + */ + if (vc4_state->y_scaling[0] != VC4_SCALING_NONE || +- vc4_state->y_scaling[1] != VC4_SCALING_NONE) +- vc4_state->lbm_offset = vc4_state->dlist_count++; ++ vc4_state->y_scaling[1] != VC4_SCALING_NONE) { ++ vc4_state->lbm_offset = vc4_state->dlist_count; ++ vc4_dlist_counter_increment(vc4_state); ++ } + + if (num_planes > 1) { + /* Emit Cb/Cr as channel 0 and Y as channel +-- +2.18.4 + + +From ae88eb5729194df5059f812a97a18a8a05a9fb15 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 1 Feb 2021 12:45:29 +0000 +Subject: [PATCH 496/533] configs: Enable CONFIG_MEDIA_CEC_RC + +See: https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=301072 +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcm2711_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 2 ++ + arch/arm64/configs/bcm2711_defconfig | 1 + + arch/arm64/configs/bcmrpi3_defconfig | 1 + + 5 files changed, 6 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index 4cd819e1cfd5..e67c4e2337f9 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -762,6 +762,7 @@ CONFIG_RC_LOOPBACK=m + CONFIG_IR_GPIO_CIR=m + CONFIG_IR_GPIO_TX=m + CONFIG_IR_PWM_TX=m ++CONFIG_MEDIA_CEC_RC=y + CONFIG_MEDIA_SUPPORT=m + CONFIG_MEDIA_USB_SUPPORT=y + CONFIG_USB_VIDEO_CLASS=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 6abec1a9961d..c2a24e99b2bb 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -772,6 +772,7 @@ CONFIG_RC_LOOPBACK=m + CONFIG_IR_GPIO_CIR=m + CONFIG_IR_GPIO_TX=m + CONFIG_IR_PWM_TX=m ++CONFIG_MEDIA_CEC_RC=y + CONFIG_MEDIA_SUPPORT=m + CONFIG_MEDIA_USB_SUPPORT=y + CONFIG_USB_VIDEO_CLASS=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 8882dcc64bb0..453af019ce99 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -755,6 +755,7 @@ CONFIG_RC_LOOPBACK=m + CONFIG_IR_GPIO_CIR=m + CONFIG_IR_GPIO_TX=m + CONFIG_IR_PWM_TX=m ++CONFIG_MEDIA_CEC_RC=y + CONFIG_MEDIA_SUPPORT=m + CONFIG_MEDIA_USB_SUPPORT=y + CONFIG_USB_VIDEO_CLASS=m +@@ -912,6 +913,7 @@ CONFIG_DRM_UDL=m + CONFIG_DRM_PANEL_SIMPLE=m + CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m + CONFIG_DRM_VC4=m ++CONFIG_DRM_VC4_HDMI_CEC=y + CONFIG_TINYDRM_ILI9225=m + CONFIG_TINYDRM_ILI9341=m + CONFIG_TINYDRM_MI0283QT=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index fea890b2c925..6acc0dbe9187 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -767,6 +767,7 @@ CONFIG_RC_LOOPBACK=m + CONFIG_IR_GPIO_CIR=m + CONFIG_IR_GPIO_TX=m + CONFIG_IR_PWM_TX=m ++CONFIG_MEDIA_CEC_RC=y + CONFIG_MEDIA_SUPPORT=m + CONFIG_MEDIA_USB_SUPPORT=y + CONFIG_USB_VIDEO_CLASS=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 1ca2f13a2af5..aa89eb5704cb 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -728,6 +728,7 @@ CONFIG_RC_LOOPBACK=m + CONFIG_IR_GPIO_CIR=m + CONFIG_IR_GPIO_TX=m + CONFIG_IR_PWM_TX=m ++CONFIG_MEDIA_CEC_RC=y + CONFIG_MEDIA_SUPPORT=m + CONFIG_MEDIA_USB_SUPPORT=y + CONFIG_USB_VIDEO_CLASS=m +-- +2.18.4 + + +From 8f16a60597cb69962d02e7a87a0a7989c1a6ef36 Mon Sep 17 00:00:00 2001 +From: Joerg Schambacher +Date: Fri, 29 Jan 2021 08:26:44 +0100 +Subject: [PATCH 497/533] Adds the DT-overlays to support Hifiberry AMP100 + +Adds new DT-overlay to control AMP100. + +Signed-off-by: Joerg Schambacher +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 30 ++++++++- + .../dts/overlays/hifiberry-amp100-overlay.dts | 64 +++++++++++++++++++ + 3 files changed, 94 insertions(+), 1 deletion(-) + create mode 100644 arch/arm/boot/dts/overlays/hifiberry-amp100-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index b8675fb47da5..2db8fa686a1d 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -61,6 +61,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + hd44780-lcd.dtbo \ + hdmi-backlight-hwhack-gpio.dtbo \ + hifiberry-amp.dtbo \ ++ hifiberry-amp100.dtbo \ + hifiberry-dac.dtbo \ + hifiberry-dacplus.dtbo \ + hifiberry-dacplusadc.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index bc889782a30b..e020bac74df1 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1059,8 +1059,36 @@ Load: dtoverlay=hifiberry-amp + Params: + + ++Name: hifiberry-amp100 ++Info: Configures the HifiBerry AMP100 audio card ++Load: dtoverlay=hifiberry-amp100,= ++Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec ++ Digital volume control. Enable with ++ "dtoverlay=hifiberry-amp100,24db_digital_gain" ++ (The default behaviour is that the Digital ++ volume control is limited to a maximum of ++ 0dB. ie. it can attenuate but not provide ++ gain. For most users, this will be desired ++ as it will prevent clipping. By appending ++ the 24dB_digital_gain parameter, the Digital ++ volume control will allow up to 24dB of ++ gain. If this parameter is enabled, it is the ++ responsibility of the user to ensure that ++ the Digital volume control is set to a value ++ that does not result in clipping/distortion!) ++ slave Force DAC+ Pro into slave mode, using Pi as ++ master for bit clock and frame clock. ++ leds_off If set to 'true' the onboard indicator LEDs ++ are switched off at all times. ++ auto_mute If set to 'true' the amplifier is automatically ++ muted when the DAC is not playing. ++ mute_ext_ctl The amplifier's HW mute control is enabled ++ in ALSA mixer and set to . ++ Will be overwritten by ALSA user settings. ++ ++ + Name: hifiberry-dac +-Info: Configures the HifiBerry DAC audio card ++Info: Configures the HifiBerry DAC audio cards + Load: dtoverlay=hifiberry-dac + Params: + +diff --git a/arch/arm/boot/dts/overlays/hifiberry-amp100-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-amp100-overlay.dts +new file mode 100644 +index 000000000000..ebdef55d6110 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/hifiberry-amp100-overlay.dts +@@ -0,0 +1,64 @@ ++// Definitions for HiFiBerry AMP100 ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target-path = "/"; ++ __overlay__ { ++ dacpro_osc: dacpro_osc { ++ compatible = "hifiberry,dacpro-clk"; ++ #clock-cells = <0>; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&i2s>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ pcm5122@4d { ++ #sound-dai-cells = <0>; ++ compatible = "ti,pcm5122"; ++ reg = <0x4d>; ++ clocks = <&dacpro_osc>; ++ AVDD-supply = <&vdd_3v3_reg>; ++ DVDD-supply = <&vdd_3v3_reg>; ++ CPVDD-supply = <&vdd_3v3_reg>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&sound>; ++ hifiberry_dacplus: __overlay__ { ++ compatible = "hifiberry,hifiberry-dacplus"; ++ i2s-controller = <&i2s>; ++ status = "okay"; ++ mute-gpio = <&gpio 4 0>; ++ reset-gpio = <&gpio 17 0x11>; ++ }; ++ }; ++ ++ __overrides__ { ++ 24db_digital_gain = ++ <&hifiberry_dacplus>,"hifiberry,24db_digital_gain?"; ++ slave = <&hifiberry_dacplus>,"hifiberry-dacplus,slave?"; ++ leds_off = <&hifiberry_dacplus>,"hifiberry-dacplus,leds_off?"; ++ mute_ext_ctl = <&hifiberry_dacplus>,"hifiberry-dacplus,mute_ext_ctl:0"; ++ auto_mute = <&hifiberry_dacplus>,"hifiberry-dacplus,auto_mute?"; ++ }; ++}; +-- +2.18.4 + + +From e6db4e01175880c665f403d8693fa9c000ff78d4 Mon Sep 17 00:00:00 2001 +From: Joerg Schambacher +Date: Fri, 29 Jan 2021 16:16:39 +0100 +Subject: [PATCH 498/533] Enhances the Hifiberry DAC+ driver for Hifiberry + AMP100 support + +Adds the necessary GPIO handling and ALSA mixer extensions. +Also fixes a problem with the PLL/CLK control when switching sample rates. +Thanks to Clive Messer for the support! + +Signed-off-by: Joerg Schambacher +--- + sound/soc/bcm/hifiberry_dacplus.c | 124 ++++++++++++++++++++++++++---- + 1 file changed, 111 insertions(+), 13 deletions(-) + +diff --git a/sound/soc/bcm/hifiberry_dacplus.c b/sound/soc/bcm/hifiberry_dacplus.c +index 157ab4c2cc85..bdcac1b6992c 100644 +--- a/sound/soc/bcm/hifiberry_dacplus.c ++++ b/sound/soc/bcm/hifiberry_dacplus.c +@@ -1,10 +1,10 @@ + /* +- * ASoC Driver for HiFiBerry DAC+ / DAC Pro ++ * ASoC Driver for HiFiBerry DAC+ / DAC Pro / AMP100 + * + * Author: Daniel Matuschek, Stuart MacLean + * Copyright 2014-2015 + * based on code by Florian Meier +- * Headphone added by Joerg Schambacher, joerg@i2audio.com ++ * Headphone/AMP100 Joerg Schambacher + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License +@@ -17,6 +17,8 @@ + */ + + #include ++#include ++#include <../drivers/gpio/gpiolib.h> + #include + #include + #include +@@ -53,6 +55,47 @@ static bool slave; + static bool snd_rpi_hifiberry_is_dacpro; + static bool digital_gain_0db_limit = true; + static bool leds_off; ++static bool auto_mute; ++static int mute_ext_ctl; ++static int mute_ext; ++static struct gpio_desc *snd_mute_gpio; ++static struct gpio_desc *snd_reset_gpio; ++static struct snd_soc_card snd_rpi_hifiberry_dacplus; ++ ++static int snd_rpi_hifiberry_dacplus_mute_set(int mute) ++{ ++ gpiod_set_value_cansleep(snd_mute_gpio, mute); ++ return 1; ++} ++ ++static int snd_rpi_hifiberry_dacplus_mute_get(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ ucontrol->value.integer.value[0] = mute_ext; ++ ++ return 0; ++} ++ ++static int snd_rpi_hifiberry_dacplus_mute_put(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ if (mute_ext == ucontrol->value.integer.value[0]) ++ return 0; ++ ++ mute_ext = ucontrol->value.integer.value[0]; ++ ++ return snd_rpi_hifiberry_dacplus_mute_set(mute_ext); ++} ++ ++static const char * const mute_text[] = {"Play", "Mute"}; ++static const struct soc_enum hb_dacplus_opt_mute_enum = ++ SOC_ENUM_SINGLE_EXT(2, mute_text); ++ ++static const struct snd_kcontrol_new hb_dacplus_opt_mute_controls[] = { ++ SOC_ENUM_EXT("Mute(ext)", hb_dacplus_opt_mute_enum, ++ snd_rpi_hifiberry_dacplus_mute_get, ++ snd_rpi_hifiberry_dacplus_mute_put), ++}; + + static void snd_rpi_hifiberry_dacplus_select_clk(struct snd_soc_component *component, + int clk_id) +@@ -68,6 +111,7 @@ static void snd_rpi_hifiberry_dacplus_select_clk(struct snd_soc_component *compo + snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x24, 0x04); + break; + } ++ usleep_range(2000, 2100); + } + + static void snd_rpi_hifiberry_dacplus_clk_gpio(struct snd_soc_component *component) +@@ -85,13 +129,6 @@ static bool snd_rpi_hifiberry_dacplus_is_sclk(struct snd_soc_component *componen + return (!(sck & 0x40)); + } + +-static bool snd_rpi_hifiberry_dacplus_is_sclk_sleep( +- struct snd_soc_component *component) +-{ +- msleep(2); +- return snd_rpi_hifiberry_dacplus_is_sclk(component); +-} +- + static bool snd_rpi_hifiberry_dacplus_is_pro_card(struct snd_soc_component *component) + { + bool isClk44EN, isClk48En, isNoClk; +@@ -99,13 +136,13 @@ static bool snd_rpi_hifiberry_dacplus_is_pro_card(struct snd_soc_component *comp + snd_rpi_hifiberry_dacplus_clk_gpio(component); + + snd_rpi_hifiberry_dacplus_select_clk(component, HIFIBERRY_DACPRO_CLK44EN); +- isClk44EN = snd_rpi_hifiberry_dacplus_is_sclk_sleep(component); ++ isClk44EN = snd_rpi_hifiberry_dacplus_is_sclk(component); + + snd_rpi_hifiberry_dacplus_select_clk(component, HIFIBERRY_DACPRO_NOCLOCK); +- isNoClk = snd_rpi_hifiberry_dacplus_is_sclk_sleep(component); ++ isNoClk = snd_rpi_hifiberry_dacplus_is_sclk(component); + + snd_rpi_hifiberry_dacplus_select_clk(component, HIFIBERRY_DACPRO_CLK48EN); +- isClk48En = snd_rpi_hifiberry_dacplus_is_sclk_sleep(component); ++ isClk48En = snd_rpi_hifiberry_dacplus_is_sclk(component); + + return (isClk44EN && isClk48En && !isNoClk); + } +@@ -149,6 +186,7 @@ static int snd_rpi_hifiberry_dacplus_init(struct snd_soc_pcm_runtime *rtd) + { + struct snd_soc_component *component = asoc_rtd_to_codec(rtd, 0)->component; + struct pcm512x_priv *priv; ++ struct snd_soc_card *card = &snd_rpi_hifiberry_dacplus; + + if (slave) + snd_rpi_hifiberry_is_dacpro = false; +@@ -187,6 +225,20 @@ static int snd_rpi_hifiberry_dacplus_init(struct snd_soc_pcm_runtime *rtd) + if (ret < 0) + dev_warn(card->dev, "Failed to set volume limit: %d\n", ret); + } ++ if (snd_reset_gpio) { ++ gpiod_set_value_cansleep(snd_reset_gpio, 0); ++ msleep(1); ++ gpiod_set_value_cansleep(snd_reset_gpio, 1); ++ msleep(1); ++ gpiod_set_value_cansleep(snd_reset_gpio, 0); ++ } ++ ++ if (mute_ext_ctl) ++ snd_soc_add_card_controls(card, hb_dacplus_opt_mute_controls, ++ ARRAY_SIZE(hb_dacplus_opt_mute_controls)); ++ ++ if (snd_mute_gpio) ++ gpiod_set_value_cansleep(snd_mute_gpio, mute_ext); + + return 0; + } +@@ -254,6 +306,8 @@ static int snd_rpi_hifiberry_dacplus_startup( + struct snd_soc_pcm_runtime *rtd = substream->private_data; + struct snd_soc_component *component = asoc_rtd_to_codec(rtd, 0)->component; + ++ if (auto_mute) ++ gpiod_set_value_cansleep(snd_mute_gpio, 0); + if (leds_off) + return 0; + snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); +@@ -267,6 +321,8 @@ static void snd_rpi_hifiberry_dacplus_shutdown( + struct snd_soc_component *component = asoc_rtd_to_codec(rtd, 0)->component; + + snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x00); ++ if (auto_mute) ++ gpiod_set_value_cansleep(snd_mute_gpio, 1); + } + + /* machine stream operations */ +@@ -342,6 +398,8 @@ static int snd_rpi_hifiberry_dacplus_probe(struct platform_device *pdev) + struct device_node *tpa_node; + struct property *tpa_prop; + struct of_changeset ocs; ++ struct property *pp; ++ int tmp; + + /* probe for head phone amp */ + ret = hb_hp_detect(); +@@ -396,6 +454,39 @@ static int snd_rpi_hifiberry_dacplus_probe(struct platform_device *pdev) + "hifiberry-dacplus,slave"); + leds_off = of_property_read_bool(pdev->dev.of_node, + "hifiberry-dacplus,leds_off"); ++ auto_mute = of_property_read_bool(pdev->dev.of_node, ++ "hifiberry-dacplus,auto_mute"); ++ ++ /* ++ * check for HW MUTE as defined in DT-overlay ++ * active high, therefore default to HIGH to MUTE ++ */ ++ snd_mute_gpio = devm_gpiod_get_optional(&pdev->dev, ++ "mute", GPIOD_OUT_HIGH); ++ if (IS_ERR(snd_mute_gpio)) { ++ dev_err(&pdev->dev, "Can't allocate GPIO (HW-MUTE)"); ++ return PTR_ERR(snd_mute_gpio); ++ } ++ ++ /* add ALSA control if requested in DT-overlay (AMP100) */ ++ pp = of_find_property(pdev->dev.of_node, ++ "hifiberry-dacplus,mute_ext_ctl", &tmp); ++ if (pp) { ++ if (!of_property_read_u32(pdev->dev.of_node, ++ "hifiberry-dacplus,mute_ext_ctl", &mute_ext)) { ++ /* ALSA control will be used */ ++ mute_ext_ctl = 1; ++ } ++ } ++ ++ /* check for HW RESET (AMP100) */ ++ snd_reset_gpio = devm_gpiod_get_optional(&pdev->dev, ++ "reset", GPIOD_OUT_HIGH); ++ if (IS_ERR(snd_reset_gpio)) { ++ dev_err(&pdev->dev, "Can't allocate GPIO (HW-RESET)"); ++ return PTR_ERR(snd_reset_gpio); ++ } ++ + } + + ret = devm_snd_soc_register_card(&pdev->dev, +@@ -403,7 +494,14 @@ static int snd_rpi_hifiberry_dacplus_probe(struct platform_device *pdev) + if (ret && ret != -EPROBE_DEFER) + dev_err(&pdev->dev, + "snd_soc_register_card() failed: %d\n", ret); +- ++ if (!ret) { ++ if (snd_mute_gpio) ++ dev_info(&pdev->dev, "GPIO%i for HW-MUTE selected", ++ gpio_chip_hwgpio(snd_mute_gpio)); ++ if (snd_reset_gpio) ++ dev_info(&pdev->dev, "GPIO%i for HW-RESET selected", ++ gpio_chip_hwgpio(snd_reset_gpio)); ++ } + return ret; + } + +-- +2.18.4 + + +From 6b13e1e2aa8618379326da20ed47948093b90940 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 3 Feb 2021 16:23:43 +0000 +Subject: [PATCH 499/533] ARM: dts: Declare Pi400 and CM4 have no audio pins + +The audio_pins node is left as a placeholder for the audremap overlay, +and it must have (empty) brcm,function and brcm,pins properties +otherwise it will be rejected by the pinctrl driver. + +See: https://www.raspberrypi.org/forums/viewtopic.php?f=98&t=301891 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2711-rpi-400.dts | 4 ++-- + arch/arm/boot/dts/bcm2711-rpi-cm4.dts | 2 ++ + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2711-rpi-400.dts b/arch/arm/boot/dts/bcm2711-rpi-400.dts +index b75591df87b1..2aab685dfc1a 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-400.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-400.dts +@@ -565,8 +565,8 @@ + + &gpio { + audio_pins: audio_pins { +- brcm,pins = <40 41>; +- brcm,function = <4>; ++ brcm,pins = <>; ++ brcm,function = <>; + }; + }; + +diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts +index 7ab0aba5f1a3..9ab2feb4424f 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts +@@ -556,6 +556,8 @@ + + &gpio { + audio_pins: audio_pins { ++ brcm,pins = <>; ++ brcm,function = <>; + }; + }; + +-- +2.18.4 + + +From af3c152d8a62f58da982910b3d8055dff68d20ba Mon Sep 17 00:00:00 2001 +From: David Plowman +Date: Thu, 4 Feb 2021 17:29:32 +0000 +Subject: [PATCH 500/533] media: i2c: imx290: Replace V4L2_CID_GAIN with + V4L2_CID_ANALOGUE_GAIN + +Most software (including libcamera) requires V4L2_CID_ANALOGUE_GAIN, +not V4L2_CID_GAIN. + +The range for the control is 0 to 100 for which the sensor uses only +analogue gain; higher values would involve digital gain which this +control should not apply. + +Signed-off-by: David Plowman +--- + drivers/media/i2c/imx290.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c +index 2e646fb01856..a2df46e4aabc 100644 +--- a/drivers/media/i2c/imx290.c ++++ b/drivers/media/i2c/imx290.c +@@ -647,7 +647,7 @@ static int imx290_set_ctrl(struct v4l2_ctrl *ctrl) + return 0; + + switch (ctrl->id) { +- case V4L2_CID_GAIN: ++ case V4L2_CID_ANALOGUE_GAIN: + ret = imx290_set_gain(imx290, ctrl->val); + break; + case V4L2_CID_EXPOSURE: +@@ -1331,7 +1331,7 @@ static int imx290_probe(struct i2c_client *client) + v4l2_ctrl_handler_init(&imx290->ctrls, 4); + + v4l2_ctrl_new_std(&imx290->ctrls, &imx290_ctrl_ops, +- V4L2_CID_GAIN, 0, 238, 1, 0); ++ V4L2_CID_ANALOGUE_GAIN, 0, 100, 1, 0); + + mode = imx290->current_mode; + imx290->hblank = v4l2_ctrl_new_std(&imx290->ctrls, &imx290_ctrl_ops, +-- +2.18.4 + + +From ffe67e8fb45c3e770c886a9b84da8c0f99541e44 Mon Sep 17 00:00:00 2001 +From: David Plowman +Date: Thu, 4 Feb 2021 21:21:44 +0000 +Subject: [PATCH 501/533] media: i2c: imx290: Fix number of controls in + v4l2_ctrl_handler_init + +The number is only a hint, but may as well be correct. + +Fixes: 471e0029e98aa ("media: i2c: imx290: Convert HMAX setting into V4L2_CID_HBLANK") +Fixes: be0b9b7ad1c27 ("media: i2c: imx290: Add support for V4L2_CID_VBLANK") +Fixes: 8483f0d7599aa ("media: i2c: imx290: Add exposure control to the driver.") +Fixes: 9764f3459c401 ("media: i2c: imx290: Add H and V flip controls") +Signed-off-by: David Plowman +--- + drivers/media/i2c/imx290.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c +index a2df46e4aabc..33ce80686163 100644 +--- a/drivers/media/i2c/imx290.c ++++ b/drivers/media/i2c/imx290.c +@@ -1328,7 +1328,7 @@ static int imx290_probe(struct i2c_client *client) + */ + imx290_entity_init_cfg(&imx290->sd, NULL); + +- v4l2_ctrl_handler_init(&imx290->ctrls, 4); ++ v4l2_ctrl_handler_init(&imx290->ctrls, 9); + + v4l2_ctrl_new_std(&imx290->ctrls, &imx290_ctrl_ops, + V4L2_CID_ANALOGUE_GAIN, 0, 100, 1, 0); +-- +2.18.4 + + +From 165d616ffcb79ed8a36af2c2406138bd1e7488fa Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 5 Feb 2021 09:20:31 +0000 +Subject: [PATCH 502/533] i2c: bcm2835: Handle untimely DONE signal + +Under certain circumstance the DONE flag can appear to be set early. +Fortunately the TA flag is often still set at that time, and it can be +used as an indication that DONE is invalid. + +Handle the other cases - when TA is not set but not all data is +available - by silently accepting it and hoping for a second DONE. + +See: https://github.com/raspberrypi/linux/issues/3064 + +Signed-off-by: Phil Elwell +--- + drivers/i2c/busses/i2c-bcm2835.c | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index 5b2589b6b9cc..90ca593d8ae3 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -373,6 +373,10 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + u32 val, err; + + val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_S, ++ BCM2835_I2C_S_CLKT | ++ BCM2835_I2C_S_ERR | ++ BCM2835_I2C_S_DONE); + bcm2835_debug_add(i2c_dev, val); + + err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR); +@@ -382,6 +386,9 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + } + + if (val & BCM2835_I2C_S_DONE) { ++ if (val & BCM2835_I2C_S_TA) ++ return IRQ_HANDLED; ++ + if (!i2c_dev->curr_msg) { + dev_err(i2c_dev->dev, "Got unexpected interrupt (from firmware?)\n"); + } else if (i2c_dev->curr_msg->flags & I2C_M_RD) { +@@ -389,7 +396,10 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); + } + +- if ((val & BCM2835_I2C_S_RXD) || i2c_dev->msg_buf_remaining) ++ if (i2c_dev->msg_buf_remaining) ++ return IRQ_HANDLED; ++ ++ if (val & BCM2835_I2C_S_RXD) + i2c_dev->msg_err = BCM2835_I2C_S_LEN; + else + i2c_dev->msg_err = 0; +@@ -426,8 +436,6 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + + complete: + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR); +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_S, BCM2835_I2C_S_CLKT | +- BCM2835_I2C_S_ERR | BCM2835_I2C_S_DONE); + complete(&i2c_dev->completion); + + return IRQ_HANDLED; +-- +2.18.4 + + +From 6a949e8051520a35ff9240e62e06d91723a668b0 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 5 Feb 2021 12:04:06 +0000 +Subject: [PATCH 503/533] configs: Add MICREL_PHY=y + +Signed-off-by: Phil Elwell +--- + arch/arm/configs/bcm2711_defconfig | 1 + + arch/arm64/configs/bcm2711_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index c2a24e99b2bb..9fe97bb713db 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -502,6 +502,7 @@ CONFIG_ENC28J60=m + CONFIG_QCA7000_SPI=m + CONFIG_WIZNET_W5100=m + CONFIG_WIZNET_W5100_SPI=m ++CONFIG_MICREL_PHY=y + CONFIG_MDIO_BITBANG=m + CONFIG_PPP=m + CONFIG_PPP_BSDCOMP=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 6acc0dbe9187..a2531896a8b6 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -496,6 +496,7 @@ CONFIG_ENC28J60=m + CONFIG_QCA7000_SPI=m + CONFIG_WIZNET_W5100=m + CONFIG_WIZNET_W5100_SPI=m ++CONFIG_MICREL_PHY=y + CONFIG_MDIO_BITBANG=m + CONFIG_PPP=m + CONFIG_PPP_BSDCOMP=m +-- +2.18.4 + + +From f924ef06a58e0d49291097911c84038212f47215 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Thu, 7 Jan 2021 17:00:54 +0000 +Subject: [PATCH 504/533] Revert "drm/vc4: hdmi: Limit the BCM2711 to the max + without scrambling" + +This reverts commit f5f5e195eea4a11585b2cba32c0ad65d6f0ed20b. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 2386c7303a21..17934259ab5a 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -404,8 +404,6 @@ static void hdmi_codec_eld_chmap(struct vc4_hdmi *vc4_hdmi) + vc4_hdmi->audio.chmap = hdmi_codec_stereo_chmaps; + } + +-#define HDMI_14_MAX_TMDS_CLK (340 * 1000 * 1000) +- + static int vc4_hdmi_debugfs_regs(struct seq_file *m, void *unused) + { + struct drm_info_node *node = (struct drm_info_node *)m->private; +@@ -2614,7 +2612,7 @@ static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { + .encoder_type = VC4_ENCODER_TYPE_HDMI0, + .debugfs_name = "hdmi0_regs", + .card_name = "vc4-hdmi-0", +- .max_pixel_clock = HDMI_14_MAX_TMDS_CLK, ++ .max_pixel_clock = 297000000, + .cec_input_clock = 27000000, + .registers = vc5_hdmi_hdmi0_fields, + .num_registers = ARRAY_SIZE(vc5_hdmi_hdmi0_fields), +@@ -2644,7 +2642,7 @@ static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { + .encoder_type = VC4_ENCODER_TYPE_HDMI1, + .debugfs_name = "hdmi1_regs", + .card_name = "vc4-hdmi-1", +- .max_pixel_clock = HDMI_14_MAX_TMDS_CLK, ++ .max_pixel_clock = 297000000, + .cec_input_clock = 27000000, + .registers = vc5_hdmi_hdmi1_fields, + .num_registers = ARRAY_SIZE(vc5_hdmi_hdmi1_fields), +-- +2.18.4 + + +From e9cc884e304be6b6865fa8343e5368c55c393438 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:11:26 +0100 +Subject: [PATCH 505/533] Revert "vc4_hdmi: Move hdmi reset to bind" + +This reverts commit fdb112d44c1b0659aec1ef841939dff0f0dee49e. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 17934259ab5a..5f2c83694a44 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1099,6 +1099,9 @@ static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder, + return; + } + ++ if (vc4_hdmi->variant->reset) ++ vc4_hdmi->variant->reset(vc4_hdmi); ++ + if (vc4_hdmi->variant->phy_init) + vc4_hdmi->variant->phy_init(vc4_hdmi, vc4_conn_state); + +@@ -2492,9 +2495,6 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) + vc4_hdmi->disable_wifi_frequencies = + of_property_read_bool(dev->of_node, "wifi-2.4ghz-coexistence"); + +- if (vc4_hdmi->variant->reset) +- vc4_hdmi->variant->reset(vc4_hdmi); +- + pm_runtime_enable(dev); + + drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); +-- +2.18.4 + + +From 45f8232dbe061851183e0a77f2d65bde75f1e4f9 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:12:17 +0100 +Subject: [PATCH 506/533] Revert "drm/vc4: Reading the hotplug register is only + valid if no GPIO defined" + +This reverts commit 266fd375dab37b8421671f6315ed261e59076bfb. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 5f2c83694a44..93351245c77e 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -460,9 +460,8 @@ vc4_hdmi_connector_detect(struct drm_connector *connector, bool force) + connected = true; + } else if (drm_probe_ddc(vc4_hdmi->ddc)) + connected = true; +- else if (HDMI_READ(HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED) ++ if (HDMI_READ(HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED) + connected = true; +- + if (connected) { + if (connector->status != connector_status_connected) { + struct edid *edid = drm_get_edid(connector, vc4_hdmi->ddc); +-- +2.18.4 + + +From 4d1b1d13ae9eee5036e3987ac86e1e70325be4f5 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:12:19 +0100 +Subject: [PATCH 507/533] Revert "vc4: cec: Restore cec physical address on + reconnect" + +This reverts commit 250344082a3957825d425ded325547e72a34fd65. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 25 ++++++++----------------- + 1 file changed, 8 insertions(+), 17 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 93351245c77e..6ba26f929bf7 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -452,29 +452,20 @@ static enum drm_connector_status + vc4_hdmi_connector_detect(struct drm_connector *connector, bool force) + { + struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector); +- bool connected = false; + + if (vc4_hdmi->hpd_gpio) { + if (gpio_get_value_cansleep(vc4_hdmi->hpd_gpio) ^ + vc4_hdmi->hpd_active_low) +- connected = true; +- } else if (drm_probe_ddc(vc4_hdmi->ddc)) +- connected = true; ++ return connector_status_connected; ++ cec_phys_addr_invalidate(vc4_hdmi->cec_adap); ++ return connector_status_disconnected; ++ } ++ ++ if (drm_probe_ddc(vc4_hdmi->ddc)) ++ return connector_status_connected; ++ + if (HDMI_READ(HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED) +- connected = true; +- if (connected) { +- if (connector->status != connector_status_connected) { +- struct edid *edid = drm_get_edid(connector, vc4_hdmi->ddc); +- +- if (edid) { +- cec_s_phys_addr_from_edid(vc4_hdmi->cec_adap, edid); +- vc4_hdmi->encoder.hdmi_monitor = drm_detect_hdmi_monitor(edid); +- drm_connector_update_edid_property(connector, edid); +- kfree(edid); +- } +- } + return connector_status_connected; +- } + cec_phys_addr_invalidate(vc4_hdmi->cec_adap); + return connector_status_disconnected; + } +-- +2.18.4 + + +From ebd085a4c7bd9243704ddec0278ffcde3dada4dc Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:12:54 +0100 +Subject: [PATCH 508/533] Revert "vc4_hdmi: Remove cec_available flag as always + supported" + +This reverts commit 855cef03d18c9bc023a2787f9feac5476dbb4179. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 4 ++++ + drivers/gpu/drm/vc4/vc4_hdmi.h | 3 +++ + 2 files changed, 7 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 6ba26f929bf7..4d6d88e21b08 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2146,6 +2146,9 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + u32 clk_cnt; + int ret; + ++ if (!vc4_hdmi->variant->cec_available) ++ return 0; ++ + vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, + vc4_hdmi, "vc4", + CEC_CAP_DEFAULTS | +@@ -2581,6 +2584,7 @@ static const struct vc4_hdmi_variant bcm2835_variant = { + .card_name = "vc4-hdmi", + .max_pixel_clock = 162000000, + .cec_input_clock = VC4_HSM_CLOCK, ++ .cec_available = true, + .registers = vc4_hdmi_fields, + .num_registers = ARRAY_SIZE(vc4_hdmi_fields), + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h +index 8682d8bbf839..988b672c7de8 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -42,6 +42,9 @@ struct vc4_hdmi_variant { + /* Filename to expose the registers in debugfs */ + const char *debugfs_name; + ++ /* Set to true when the CEC support is available */ ++ bool cec_available; ++ + /* Maximum pixel clock supported by the controller (in Hz) */ + unsigned long long max_pixel_clock; + +-- +2.18.4 + + +From a8e5c98af784d52314252e87465c5a77cbbdabe3 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:13:30 +0100 +Subject: [PATCH 509/533] Revert "vc4_hdmi: Adjust CEC ref clock based on its + input clock" + +This reverts commit 7269a05437b3157a842f57bcb665a0801225702b. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 14 +++----------- + drivers/gpu/drm/vc4/vc4_hdmi.h | 3 --- + 2 files changed, 3 insertions(+), 14 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 4d6d88e21b08..251b03382ae4 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -93,12 +93,8 @@ + # define VC4_HD_M_ENABLE BIT(0) + + #define CEC_CLOCK_FREQ 40000 +-/* Threshold for adjusting the BVB clock */ + #define VC4_HSM_MID_CLOCK 149985000 + +-/* Fixed HVS4 HSM clock rate */ +-#define VC4_HSM_CLOCK 163682864 +- + #define HDMI_CODEC_CHMAP_IDX_UNKNOWN -1 + + /* +@@ -1272,7 +1268,8 @@ static u32 vc4_hdmi_calc_hsm_clock(struct vc4_hdmi *vc4_hdmi, unsigned long pixe + * clock, so make it constant to avoid having to reconfigure CEC on + * every mode change. + */ +- return VC4_HSM_CLOCK; ++ ++ return 163682864; + } + + static u32 vc5_hdmi_calc_hsm_clock(struct vc4_hdmi *vc4_hdmi, unsigned long pixel_rate) +@@ -2143,7 +2140,6 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + struct cec_connector_info conn_info; + struct platform_device *pdev = vc4_hdmi->pdev; + u32 value; +- u32 clk_cnt; + int ret; + + if (!vc4_hdmi->variant->cec_available) +@@ -2168,9 +2164,8 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + * divider: the hsm_clock rate and this divider setting will + * give a 40 kHz CEC clock. + */ +- clk_cnt = vc4_hdmi->variant->cec_input_clock / CEC_CLOCK_FREQ; + value |= VC4_HDMI_CEC_ADDR_MASK | +- ((clk_cnt - 1) << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT); ++ (4091 << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT); + HDMI_WRITE(HDMI_CEC_CNTRL_1, value); + ret = devm_request_threaded_irq(&pdev->dev, platform_get_irq(pdev, 0), + vc4_cec_irq_handler, +@@ -2583,7 +2578,6 @@ static const struct vc4_hdmi_variant bcm2835_variant = { + .debugfs_name = "hdmi_regs", + .card_name = "vc4-hdmi", + .max_pixel_clock = 162000000, +- .cec_input_clock = VC4_HSM_CLOCK, + .cec_available = true, + .registers = vc4_hdmi_fields, + .num_registers = ARRAY_SIZE(vc4_hdmi_fields), +@@ -2607,7 +2601,6 @@ static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { + .debugfs_name = "hdmi0_regs", + .card_name = "vc4-hdmi-0", + .max_pixel_clock = 297000000, +- .cec_input_clock = 27000000, + .registers = vc5_hdmi_hdmi0_fields, + .num_registers = ARRAY_SIZE(vc5_hdmi_hdmi0_fields), + .phy_lane_mapping = { +@@ -2637,7 +2630,6 @@ static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { + .debugfs_name = "hdmi1_regs", + .card_name = "vc4-hdmi-1", + .max_pixel_clock = 297000000, +- .cec_input_clock = 27000000, + .registers = vc5_hdmi_hdmi1_fields, + .num_registers = ARRAY_SIZE(vc5_hdmi_hdmi1_fields), + .phy_lane_mapping = { +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h +index 988b672c7de8..b0baed2e1a78 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -48,9 +48,6 @@ struct vc4_hdmi_variant { + /* Maximum pixel clock supported by the controller (in Hz) */ + unsigned long long max_pixel_clock; + +- /* Input clock frequency of CEC block (in Hz) */ +- unsigned long cec_input_clock; +- + /* List of the registers available on that variant */ + const struct vc4_hdmi_register *registers; + +-- +2.18.4 + + +From ab63b6ab3f960ed53478e6c3b9546d408942e9d3 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:13:32 +0100 +Subject: [PATCH 510/533] Revert "vc4_hdmi: Make irq shared" + +This reverts commit cd59e087d8bba4ba834565b4d48ba983143b5f27. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 251b03382ae4..49040f88c228 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2169,8 +2169,7 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + HDMI_WRITE(HDMI_CEC_CNTRL_1, value); + ret = devm_request_threaded_irq(&pdev->dev, platform_get_irq(pdev, 0), + vc4_cec_irq_handler, +- vc4_cec_irq_handler_thread, +- IRQF_SHARED, ++ vc4_cec_irq_handler_thread, 0, + "vc4 hdmi cec", vc4_hdmi); + if (ret) + goto err_delete_cec_adap; +-- +2.18.4 + + +From 905561050a576a6b499df1ca5b62cb13da7b6c1b Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:13:33 +0100 +Subject: [PATCH 511/533] Revert "vc4_hdmi_regs: Make interrupt mask variant + specific" + +This reverts commit 37c74a07cf22a7385c93170a723d22b95ff20a51. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 14 ++++---------- + drivers/gpu/drm/vc4/vc4_hdmi.h | 3 --- + drivers/gpu/drm/vc4/vc4_regs.h | 9 --------- + 3 files changed, 4 insertions(+), 22 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 49040f88c228..b07a70e86bb7 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2026,7 +2026,7 @@ static irqreturn_t vc4_cec_irq_handler(int irq, void *priv) + u32 stat = HDMI_READ(HDMI_CEC_CPU_STATUS); + u32 cntrl1, cntrl5; + +- if (!(stat & vc4_hdmi->variant->cec_mask)) ++ if (!(stat & VC4_HDMI_CPU_CEC)) + return IRQ_NONE; + vc4_hdmi->cec_rx_msg.len = 0; + cntrl1 = HDMI_READ(HDMI_CEC_CNTRL_1); +@@ -2042,7 +2042,7 @@ static irqreturn_t vc4_cec_irq_handler(int irq, void *priv) + cntrl1 &= ~VC4_HDMI_CEC_START_XMIT_BEGIN; + } + HDMI_WRITE(HDMI_CEC_CNTRL_1, cntrl1); +- HDMI_WRITE(HDMI_CEC_CPU_CLEAR, vc4_hdmi->variant->cec_mask); ++ HDMI_WRITE(HDMI_CEC_CPU_CLEAR, VC4_HDMI_CPU_CEC); + + return IRQ_WAKE_THREAD; + } +@@ -2081,9 +2081,9 @@ static int vc4_hdmi_cec_adap_enable(struct cec_adapter *adap, bool enable) + ((3600 / usecs) << VC4_HDMI_CEC_CNT_TO_3600_US_SHIFT) | + ((3500 / usecs) << VC4_HDMI_CEC_CNT_TO_3500_US_SHIFT)); + +- HDMI_WRITE(HDMI_CEC_CPU_MASK_CLEAR, vc4_hdmi->variant->cec_mask); ++ HDMI_WRITE(HDMI_CEC_CPU_MASK_CLEAR, VC4_HDMI_CPU_CEC); + } else { +- HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, vc4_hdmi->variant->cec_mask); ++ HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, VC4_HDMI_CPU_CEC); + HDMI_WRITE(HDMI_CEC_CNTRL_5, val | + VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); + } +@@ -2591,8 +2591,6 @@ static const struct vc4_hdmi_variant bcm2835_variant = { + .phy_rng_disable = vc4_hdmi_phy_rng_disable, + .calc_hsm_clock = vc4_hdmi_calc_hsm_clock, + .channel_map = vc4_hdmi_channel_map, +- +- .cec_mask = VC4_HDMI_CPU_CEC, + }; + + static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { +@@ -2620,8 +2618,6 @@ static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { + .phy_rng_disable = vc5_hdmi_phy_rng_disable, + .calc_hsm_clock = vc5_hdmi_calc_hsm_clock, + .channel_map = vc5_hdmi_channel_map, +- +- .cec_mask = VC5_HDMI0_CPU_CEC_RX | VC5_HDMI0_CPU_CEC_TX, + }; + + static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { +@@ -2649,8 +2645,6 @@ static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { + .phy_rng_disable = vc5_hdmi_phy_rng_disable, + .calc_hsm_clock = vc5_hdmi_calc_hsm_clock, + .channel_map = vc5_hdmi_channel_map, +- +- .cec_mask = VC5_HDMI1_CPU_CEC_RX | VC5_HDMI1_CPU_CEC_TX, + }; + + static const struct of_device_id vc4_hdmi_dt_match[] = { +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h +index b0baed2e1a78..64d05f8af5f3 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -98,9 +98,6 @@ struct vc4_hdmi_variant { + + /* Callback to get channel map */ + u32 (*channel_map)(struct vc4_hdmi *vc4_hdmi, u32 channel_mask); +- +- /* Bitmask for CEC events */ +- u32 cec_mask; + }; + + /* HDMI audio information */ +diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h +index 1f1ed7efaff7..78fd28599aeb 100644 +--- a/drivers/gpu/drm/vc4/vc4_regs.h ++++ b/drivers/gpu/drm/vc4/vc4_regs.h +@@ -698,15 +698,6 @@ enum { + # define VC4_HDMI_CPU_CEC BIT(6) + # define VC4_HDMI_CPU_HOTPLUG BIT(0) + +-# define VC5_HDMI0_CPU_CEC_RX BIT(1) +-# define VC5_HDMI0_CPU_CEC_TX BIT(0) +-# define VC5_HDMI0_CPU_HOTPLUG_CONN BIT(4) +-# define VC5_HDMI0_CPU_HOTPLUG_REM BIT(5) +-# define VC5_HDMI1_CPU_CEC_RX BIT(7) +-# define VC5_HDMI1_CPU_CEC_TX BIT(6) +-# define VC5_HDMI1_CPU_HOTPLUG_CONN BIT(10) +-# define VC5_HDMI1_CPU_HOTPLUG_REM BIT(11) +- + /* Debug: Current receive value on the CEC pad. */ + # define VC4_HD_CECRXD BIT(9) + /* Debug: Override CEC output to 0. */ +-- +2.18.4 + + +From 681c075732edfd558a8bcd92c9118ee95362b259 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:13:35 +0100 +Subject: [PATCH 512/533] Revert "vc4_hdmi_regs: Add Intr2 register block" + +This reverts commit c865bb1bb6b481acfa4157e4331db278a176f887. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 13 ------------- + drivers/gpu/drm/vc4/vc4_hdmi.h | 3 --- + drivers/gpu/drm/vc4/vc4_hdmi_regs.h | 17 ----------------- + 3 files changed, 33 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index b07a70e86bb7..c6a71a4949a8 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -411,7 +411,6 @@ static int vc4_hdmi_debugfs_regs(struct seq_file *m, void *unused) + drm_print_regset32(&p, &vc4_hdmi->cec_regset); + drm_print_regset32(&p, &vc4_hdmi->csc_regset); + drm_print_regset32(&p, &vc4_hdmi->dvp_regset); +- drm_print_regset32(&p, &vc4_hdmi->intr2_regset); + drm_print_regset32(&p, &vc4_hdmi->phy_regset); + drm_print_regset32(&p, &vc4_hdmi->ram_regset); + drm_print_regset32(&p, &vc4_hdmi->rm_regset); +@@ -2324,14 +2323,6 @@ static int vc5_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi) + if (!vc4_hdmi->dvp_regs) + return -ENOMEM; + +- res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "intr2"); +- if (!res) +- return -ENODEV; +- +- vc4_hdmi->intr2_regs = devm_ioremap(dev, res->start, resource_size(res)); +- if (IS_ERR(vc4_hdmi->intr2_regs)) +- return PTR_ERR(vc4_hdmi->intr2_regs); +- + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy"); + if (!res) + return -ENODEV; +@@ -2412,10 +2403,6 @@ static int vc5_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi) + if (ret) + return ret; + +- ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->intr2_regset, VC5_INTR2); +- if (ret) +- return ret; +- + return 0; + } + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h +index 64d05f8af5f3..b0ba2421cc04 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -146,8 +146,6 @@ struct vc4_hdmi { + void __iomem *ram_regs; + /* VC5 Only */ + void __iomem *rm_regs; +- /* VC5 Only */ +- void __iomem *intr2_regs; + + int hpd_gpio; + bool hpd_active_low; +@@ -179,7 +177,6 @@ struct vc4_hdmi { + struct debugfs_regset32 cec_regset; + struct debugfs_regset32 csc_regset; + struct debugfs_regset32 dvp_regset; +- struct debugfs_regset32 intr2_regset; + struct debugfs_regset32 phy_regset; + struct debugfs_regset32 ram_regset; + struct debugfs_regset32 rm_regset; +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi_regs.h b/drivers/gpu/drm/vc4/vc4_hdmi_regs.h +index 149b4b4cfdde..2ec40189c703 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi_regs.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi_regs.h +@@ -15,7 +15,6 @@ enum vc4_hdmi_regs { + VC5_PHY, + VC5_RAM, + VC5_RM, +- VC5_INTR2, + }; + + enum vc4_hdmi_field { +@@ -143,7 +142,6 @@ struct vc4_hdmi_register { + #define VC5_CEC_REG(reg, offset) _VC4_REG(VC5_CEC, reg, offset) + #define VC5_CSC_REG(reg, offset) _VC4_REG(VC5_CSC, reg, offset) + #define VC5_DVP_REG(reg, offset) _VC4_REG(VC5_DVP, reg, offset) +-#define VC5_INTR2_REG(reg, offset) _VC4_REG(VC5_INTR2, reg, offset) + #define VC5_PHY_REG(reg, offset) _VC4_REG(VC5_PHY, reg, offset) + #define VC5_RAM_REG(reg, offset) _VC4_REG(VC5_RAM, reg, offset) + #define VC5_RM_REG(reg, offset) _VC4_REG(VC5_RM, reg, offset) +@@ -279,12 +277,6 @@ static const struct vc4_hdmi_register vc5_hdmi_hdmi0_fields[] = { + VC5_CEC_REG(HDMI_CEC_RX_DATA_2, 0x03c), + VC5_CEC_REG(HDMI_CEC_RX_DATA_3, 0x040), + VC5_CEC_REG(HDMI_CEC_RX_DATA_4, 0x044), +- VC5_INTR2_REG(HDMI_CEC_CPU_STATUS, 0x0000), +- VC5_INTR2_REG(HDMI_CEC_CPU_SET, 0x0004), +- VC5_INTR2_REG(HDMI_CEC_CPU_CLEAR, 0x0008), +- VC5_INTR2_REG(HDMI_CEC_CPU_MASK_STATUS, 0x000c), +- VC5_INTR2_REG(HDMI_CEC_CPU_MASK_SET, 0x0010), +- VC5_INTR2_REG(HDMI_CEC_CPU_MASK_CLEAR, 0x0014), + + VC5_CSC_REG(HDMI_CSC_CTL, 0x000), + VC5_CSC_REG(HDMI_CSC_12_11, 0x004), +@@ -364,12 +356,6 @@ static const struct vc4_hdmi_register vc5_hdmi_hdmi1_fields[] = { + VC5_CEC_REG(HDMI_CEC_RX_DATA_2, 0x03c), + VC5_CEC_REG(HDMI_CEC_RX_DATA_3, 0x040), + VC5_CEC_REG(HDMI_CEC_RX_DATA_4, 0x044), +- VC5_INTR2_REG(HDMI_CEC_CPU_STATUS, 0x0000), +- VC5_INTR2_REG(HDMI_CEC_CPU_SET, 0x0004), +- VC5_INTR2_REG(HDMI_CEC_CPU_CLEAR, 0x0008), +- VC5_INTR2_REG(HDMI_CEC_CPU_MASK_STATUS, 0x000c), +- VC5_INTR2_REG(HDMI_CEC_CPU_MASK_SET, 0x0010), +- VC5_INTR2_REG(HDMI_CEC_CPU_MASK_CLEAR, 0x0014), + + VC5_CSC_REG(HDMI_CSC_CTL, 0x000), + VC5_CSC_REG(HDMI_CSC_12_11, 0x004), +@@ -400,9 +386,6 @@ void __iomem *__vc4_hdmi_get_field_base(struct vc4_hdmi *hdmi, + case VC5_DVP: + return hdmi->dvp_regs; + +- case VC5_INTR2: +- return hdmi->intr2_regs; +- + case VC5_PHY: + return hdmi->phy_regs; + +-- +2.18.4 + + +From 4c3d485553cb744bec55fa3b78da358e78be1e9e Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:13:36 +0100 +Subject: [PATCH 513/533] Revert "vc4_hdmi: Fix register offset when sending + longer CEC messages" + +This reverts commit 3042fe2d9556f571fe52aae9df1275d9f3aa8b59. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 13 ++----------- + 1 file changed, 2 insertions(+), 11 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index c6a71a4949a8..38f54c038094 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2004,13 +2004,8 @@ static void vc4_cec_read_msg(struct vc4_hdmi *vc4_hdmi, u32 cntrl1) + + msg->len = 1 + ((cntrl1 & VC4_HDMI_CEC_REC_WRD_CNT_MASK) >> + VC4_HDMI_CEC_REC_WRD_CNT_SHIFT); +- +- if (msg->len > 16) { +- DRM_ERROR("Attempting to read too much data (%d)\n", msg->len); +- return; +- } + for (i = 0; i < msg->len; i += 4) { +- u32 val = HDMI_READ(HDMI_CEC_RX_DATA_1 + (i >> 2)); ++ u32 val = HDMI_READ(HDMI_CEC_RX_DATA_1 + i); + + msg->msg[i] = val & 0xff; + msg->msg[i + 1] = (val >> 8) & 0xff; +@@ -2106,12 +2101,8 @@ static int vc4_hdmi_cec_adap_transmit(struct cec_adapter *adap, u8 attempts, + u32 val; + unsigned int i; + +- if (msg->len > 16) { +- DRM_ERROR("Attempting to transmit too much data (%d)\n", msg->len); +- return -ENOMEM; +- } + for (i = 0; i < msg->len; i += 4) +- HDMI_WRITE(HDMI_CEC_TX_DATA_1 + (i >> 2), ++ HDMI_WRITE(HDMI_CEC_TX_DATA_1 + i, + (msg->msg[i]) | + (msg->msg[i + 1] << 8) | + (msg->msg[i + 2] << 16) | +-- +2.18.4 + + +From 61a976cfae74c041ba6a7b3ce3ccaee8ee1bc2be Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:13:38 +0100 +Subject: [PATCH 514/533] Revert "vc4_hdmi: BCM2835 requires a fixed hsm clock + for CEC to work" + +This reverts commit 1cad24365e9f4325d68d4a16025f77abe3eda2f7. +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 54 +++++++++++----------------------- + drivers/gpu/drm/vc4/vc4_hdmi.h | 3 -- + 2 files changed, 17 insertions(+), 40 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 38f54c038094..84dd0e82789e 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1049,7 +1049,23 @@ static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder, + return; + } + +- hsm_rate = vc4_hdmi->variant->calc_hsm_clock(vc4_hdmi, pixel_rate); ++ /* ++ * As stated in RPi's vc4 firmware "HDMI state machine (HSM) clock must ++ * be faster than pixel clock, infinitesimally faster, tested in ++ * simulation. Otherwise, exact value is unimportant for HDMI ++ * operation." This conflicts with bcm2835's vc4 documentation, which ++ * states HSM's clock has to be at least 108% of the pixel clock. ++ * ++ * Real life tests reveal that vc4's firmware statement holds up, and ++ * users are able to use pixel clocks closer to HSM's, namely for ++ * 1920x1200@60Hz. So it was decided to have leave a 1% margin between ++ * both clocks. Which, for RPi0-3 implies a maximum pixel clock of ++ * 162MHz. ++ * ++ * Additionally, the AXI clock needs to be at least 25% of ++ * pixel clock, but HSM ends up being the limiting factor. ++ */ ++ hsm_rate = max_t(unsigned long, 120000000, (pixel_rate / 100) * 101); + ret = clk_set_min_rate(vc4_hdmi->hsm_clock, hsm_rate); + if (ret) { + DRM_ERROR("Failed to set HSM clock rate: %d\n", ret); +@@ -1260,39 +1276,6 @@ static const struct drm_encoder_helper_funcs vc4_hdmi_encoder_helper_funcs = { + .enable = vc4_hdmi_encoder_enable, + }; + +-static u32 vc4_hdmi_calc_hsm_clock(struct vc4_hdmi *vc4_hdmi, unsigned long pixel_rate) +-{ +- /* +- * Whilst this can vary, all the CEC timings are derived from this +- * clock, so make it constant to avoid having to reconfigure CEC on +- * every mode change. +- */ +- +- return 163682864; +-} +- +-static u32 vc5_hdmi_calc_hsm_clock(struct vc4_hdmi *vc4_hdmi, unsigned long pixel_rate) +-{ +- /* +- * As stated in RPi's vc4 firmware "HDMI state machine (HSM) clock must +- * be faster than pixel clock, infinitesimally faster, tested in +- * simulation. Otherwise, exact value is unimportant for HDMI +- * operation." This conflicts with bcm2835's vc4 documentation, which +- * states HSM's clock has to be at least 108% of the pixel clock. +- * +- * Real life tests reveal that vc4's firmware statement holds up, and +- * users are able to use pixel clocks closer to HSM's, namely for +- * 1920x1200@60Hz. So it was decided to have leave a 1% margin between +- * both clocks. Which, for RPi0-3 implies a maximum pixel clock of +- * 162MHz. +- * +- * Additionally, the AXI clock needs to be at least 25% of +- * pixel clock, but HSM ends up being the limiting factor. +- */ +- +- return max_t(unsigned long, 108000000, (pixel_rate / 100) * 101); +-} +- + static u32 vc4_hdmi_channel_map(struct vc4_hdmi *vc4_hdmi, u32 channel_mask) + { + int i; +@@ -2567,7 +2550,6 @@ static const struct vc4_hdmi_variant bcm2835_variant = { + .phy_disable = vc4_hdmi_phy_disable, + .phy_rng_enable = vc4_hdmi_phy_rng_enable, + .phy_rng_disable = vc4_hdmi_phy_rng_disable, +- .calc_hsm_clock = vc4_hdmi_calc_hsm_clock, + .channel_map = vc4_hdmi_channel_map, + }; + +@@ -2594,7 +2576,6 @@ static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { + .phy_disable = vc5_hdmi_phy_disable, + .phy_rng_enable = vc5_hdmi_phy_rng_enable, + .phy_rng_disable = vc5_hdmi_phy_rng_disable, +- .calc_hsm_clock = vc5_hdmi_calc_hsm_clock, + .channel_map = vc5_hdmi_channel_map, + }; + +@@ -2621,7 +2602,6 @@ static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { + .phy_disable = vc5_hdmi_phy_disable, + .phy_rng_enable = vc5_hdmi_phy_rng_enable, + .phy_rng_disable = vc5_hdmi_phy_rng_disable, +- .calc_hsm_clock = vc5_hdmi_calc_hsm_clock, + .channel_map = vc5_hdmi_channel_map, + }; + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h +index b0ba2421cc04..f18f1d775241 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -93,9 +93,6 @@ struct vc4_hdmi_variant { + /* Callback to disable the RNG in the PHY */ + void (*phy_rng_disable)(struct vc4_hdmi *vc4_hdmi); + +- /* Callback to calculate hsm clock */ +- u32 (*calc_hsm_clock)(struct vc4_hdmi *vc4_hdmi, unsigned long pixel_rate); +- + /* Callback to get channel map */ + u32 (*channel_map)(struct vc4_hdmi *vc4_hdmi, u32 channel_mask); + }; +-- +2.18.4 + + +From b3b81fc941b148a362b38aa4425a585fc8ae6274 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 8 Dec 2020 17:15:22 +0100 +Subject: [PATCH 515/533] Revert "vc4_hdmi: Fix up CEC registers" + +This reverts commit 411944140cb321bca7e45a83dffcd1050866662c. +--- + drivers/gpu/drm/vc4/vc4_hdmi_regs.h | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi_regs.h b/drivers/gpu/drm/vc4/vc4_hdmi_regs.h +index 2ec40189c703..013fd57febd8 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi_regs.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi_regs.h +@@ -24,12 +24,11 @@ enum vc4_hdmi_field { + HDMI_CEC_CNTRL_3, + HDMI_CEC_CNTRL_4, + HDMI_CEC_CNTRL_5, +- HDMI_CEC_CPU_STATUS, +- HDMI_CEC_CPU_SET, + HDMI_CEC_CPU_CLEAR, +- HDMI_CEC_CPU_MASK_STATUS, +- HDMI_CEC_CPU_MASK_SET, + HDMI_CEC_CPU_MASK_CLEAR, ++ HDMI_CEC_CPU_MASK_SET, ++ HDMI_CEC_CPU_MASK_STATUS, ++ HDMI_CEC_CPU_STATUS, + + /* + * Transmit data, first byte is low byte of the 32-bit reg. +@@ -200,10 +199,9 @@ static const struct vc4_hdmi_register vc4_hdmi_fields[] = { + VC4_HDMI_REG(HDMI_TX_PHY_RESET_CTL, 0x02c0), + VC4_HDMI_REG(HDMI_TX_PHY_CTL_0, 0x02c4), + VC4_HDMI_REG(HDMI_CEC_CPU_STATUS, 0x0340), +- VC4_HDMI_REG(HDMI_CEC_CPU_SET, 0x0344), + VC4_HDMI_REG(HDMI_CEC_CPU_CLEAR, 0x0348), + VC4_HDMI_REG(HDMI_CEC_CPU_MASK_STATUS, 0x034c), +- VC4_HDMI_REG(HDMI_CEC_CPU_MASK_SET, 0x0350), ++ VC4_HDMI_REG(HDMI_CEC_CPU_MASK_SET, 0x034c), + VC4_HDMI_REG(HDMI_CEC_CPU_MASK_CLEAR, 0x0354), + VC4_HDMI_REG(HDMI_RAM_PACKET_START, 0x0400), + }; +-- +2.18.4 + + +From 933bd3370ccc4796b3bac30e8627f1d49f8ea773 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 11 Jan 2021 15:22:55 +0100 +Subject: [PATCH 516/533] ARM: bcm: Select BRCMSTB_L2_IRQ for bcm2835 + +The BCM2711 has a number of instances of interrupt controllers handled +by the driver behind the BRCMSTB_L2_IRQ Kconfig option (irq-brcmstb-l2). + +Let's select that driver as part of the ARCH_BCM2835 Kconfig option. + +Signed-off-by: Maxime Ripard +Acked-by: Florian Fainelli +--- + arch/arm/mach-bcm/Kconfig | 1 + + arch/arm64/Kconfig.platforms | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig +index 6af65533dbea..822125c5707a 100644 +--- a/arch/arm/mach-bcm/Kconfig ++++ b/arch/arm/mach-bcm/Kconfig +@@ -161,6 +161,7 @@ config ARCH_BCM2835 + select ARM_TIMER_SP804 + select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 + select BCM2835_TIMER ++ select BRCMSTB_L2_IRQ + select FIQ + select PINCTRL + select PINCTRL_BCM2835 +diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms +index 5c4ac1c9f4e0..2c5620822895 100644 +--- a/arch/arm64/Kconfig.platforms ++++ b/arch/arm64/Kconfig.platforms +@@ -39,6 +39,7 @@ config ARCH_BCM2835 + select ARM_AMBA + select ARM_GIC + select ARM_TIMER_SP804 ++ select BRCMSTB_L2_IRQ + help + This enables support for the Broadcom BCM2837 and BCM2711 SoC. + These SoCs are used in the Raspberry Pi 3 and 4 devices. +-- +2.18.4 + + +From c9d65ef8a1e28aaa87772298ce696501d6a0779f Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Mon, 11 Jan 2021 15:22:56 +0100 +Subject: [PATCH 517/533] drm/vc4: hdmi: Move hdmi reset to bind + +The hdmi reset got moved to a later point in the commit 9045e91a476b +("drm/vc4: hdmi: Add reset callback"). + +However, the reset now occurs after vc4_hdmi_cec_init and so tramples +the setup of registers like HDMI_CEC_CNTRL_1 + +This only affects pi0-3 as on pi4 the cec registers are in a separate +block + +Fixes: 9045e91a476b ("drm/vc4: hdmi: Add reset callback") +Reviewed-by: Dave Stevenson +Signed-off-by: Dom Cobley +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 84dd0e82789e..857747f28e37 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1100,9 +1100,6 @@ static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder, + return; + } + +- if (vc4_hdmi->variant->reset) +- vc4_hdmi->variant->reset(vc4_hdmi); +- + if (vc4_hdmi->variant->phy_init) + vc4_hdmi->variant->phy_init(vc4_hdmi, vc4_conn_state); + +@@ -2443,6 +2440,9 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) + vc4_hdmi->disable_wifi_frequencies = + of_property_read_bool(dev->of_node, "wifi-2.4ghz-coexistence"); + ++ if (vc4_hdmi->variant->reset) ++ vc4_hdmi->variant->reset(vc4_hdmi); ++ + pm_runtime_enable(dev); + + drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); +-- +2.18.4 + + +From 6e3e07fd5738072c6025fd42d86c96411955ca4b Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Mon, 11 Jan 2021 15:22:57 +0100 +Subject: [PATCH 518/533] drm/vc4: hdmi: Fix register offset with longer CEC + messages + +The code prior to 311e305fdb4e ("drm/vc4: hdmi: Implement a register +layout abstraction") was relying on the fact that the register offset +was incremented by 4 for each readl call. That worked since the register +width is 4 bytes. + +However, since that commit the HDMI_READ macro is now taking an enum, +and the offset doesn't increment by 4 but 1 now. Divide the index by 4 +to fix this. + +Fixes: 311e305fdb4e ("drm/vc4: hdmi: Implement a register layout abstraction") +Reviewed-by: Dave Stevenson +Signed-off-by: Dom Cobley +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 857747f28e37..c62c202ae59b 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1979,13 +1979,20 @@ static irqreturn_t vc4_cec_irq_handler_thread(int irq, void *priv) + + static void vc4_cec_read_msg(struct vc4_hdmi *vc4_hdmi, u32 cntrl1) + { ++ struct drm_device *dev = vc4_hdmi->connector.dev; + struct cec_msg *msg = &vc4_hdmi->cec_rx_msg; + unsigned int i; + + msg->len = 1 + ((cntrl1 & VC4_HDMI_CEC_REC_WRD_CNT_MASK) >> + VC4_HDMI_CEC_REC_WRD_CNT_SHIFT); ++ ++ if (msg->len > 16) { ++ drm_err(dev, "Attempting to read too much data (%d)\n", msg->len); ++ return; ++ } ++ + for (i = 0; i < msg->len; i += 4) { +- u32 val = HDMI_READ(HDMI_CEC_RX_DATA_1 + i); ++ u32 val = HDMI_READ(HDMI_CEC_RX_DATA_1 + (i >> 2)); + + msg->msg[i] = val & 0xff; + msg->msg[i + 1] = (val >> 8) & 0xff; +@@ -2078,11 +2085,17 @@ static int vc4_hdmi_cec_adap_transmit(struct cec_adapter *adap, u8 attempts, + u32 signal_free_time, struct cec_msg *msg) + { + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); ++ struct drm_device *dev = vc4_hdmi->connector.dev; + u32 val; + unsigned int i; + ++ if (msg->len > 16) { ++ drm_err(dev, "Attempting to transmit too much data (%d)\n", msg->len); ++ return -ENOMEM; ++ } ++ + for (i = 0; i < msg->len; i += 4) +- HDMI_WRITE(HDMI_CEC_TX_DATA_1 + i, ++ HDMI_WRITE(HDMI_CEC_TX_DATA_1 + (i >> 2), + (msg->msg[i]) | + (msg->msg[i + 1] << 8) | + (msg->msg[i + 2] << 16) | +-- +2.18.4 + + +From af2c3d72905a393f0850e5b1b5116431ce3295e8 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Mon, 11 Jan 2021 15:22:58 +0100 +Subject: [PATCH 519/533] drm/vc4: hdmi: Fix up CEC registers + +The commit 311e305fdb4e ("drm/vc4: hdmi: Implement a register layout +abstraction") forgot one CEC register, and made a copy and paste mistake +for another one. Fix those mistakes. + +Fixes: 311e305fdb4e ("drm/vc4: hdmi: Implement a register layout abstraction") +Reviewed-by: Dave Stevenson +Signed-off-by: Dom Cobley +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi_regs.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi_regs.h b/drivers/gpu/drm/vc4/vc4_hdmi_regs.h +index 013fd57febd8..20a1438a72cb 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi_regs.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi_regs.h +@@ -29,6 +29,7 @@ enum vc4_hdmi_field { + HDMI_CEC_CPU_MASK_SET, + HDMI_CEC_CPU_MASK_STATUS, + HDMI_CEC_CPU_STATUS, ++ HDMI_CEC_CPU_SET, + + /* + * Transmit data, first byte is low byte of the 32-bit reg. +@@ -199,9 +200,10 @@ static const struct vc4_hdmi_register vc4_hdmi_fields[] = { + VC4_HDMI_REG(HDMI_TX_PHY_RESET_CTL, 0x02c0), + VC4_HDMI_REG(HDMI_TX_PHY_CTL_0, 0x02c4), + VC4_HDMI_REG(HDMI_CEC_CPU_STATUS, 0x0340), ++ VC4_HDMI_REG(HDMI_CEC_CPU_SET, 0x0344), + VC4_HDMI_REG(HDMI_CEC_CPU_CLEAR, 0x0348), + VC4_HDMI_REG(HDMI_CEC_CPU_MASK_STATUS, 0x034c), +- VC4_HDMI_REG(HDMI_CEC_CPU_MASK_SET, 0x034c), ++ VC4_HDMI_REG(HDMI_CEC_CPU_MASK_SET, 0x0350), + VC4_HDMI_REG(HDMI_CEC_CPU_MASK_CLEAR, 0x0354), + VC4_HDMI_REG(HDMI_RAM_PACKET_START, 0x0400), + }; +-- +2.18.4 + + +From ca86d2c93ab46806e79415da87a4d26216b64676 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Mon, 11 Jan 2021 15:22:59 +0100 +Subject: [PATCH 520/533] drm/vc4: hdmi: Restore cec physical address on + reconnect + +Currently we call cec_phys_addr_invalidate on a hotplug deassert. +That may be due to a TV power cycling, or an AVR being switched +on (and switching edid). + +This makes CEC unusable since our controller wouldn't have a physical +address anymore. + +Set it back up again on the hotplug assert. + +Fixes: 15b4511a4af6 ("drm/vc4: add HDMI CEC support") +Signed-off-by: Dom Cobley +Signed-off-by: Maxime Ripard +Acked-by: Dave Stevenson +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 24 ++++++++++++++++++------ + 1 file changed, 18 insertions(+), 6 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index c62c202ae59b..ca47a20d19bf 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -447,20 +447,32 @@ static enum drm_connector_status + vc4_hdmi_connector_detect(struct drm_connector *connector, bool force) + { + struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector); ++ bool connected = false; + + if (vc4_hdmi->hpd_gpio) { + if (gpio_get_value_cansleep(vc4_hdmi->hpd_gpio) ^ + vc4_hdmi->hpd_active_low) +- return connector_status_connected; +- cec_phys_addr_invalidate(vc4_hdmi->cec_adap); +- return connector_status_disconnected; ++ connected = true; ++ } else if (drm_probe_ddc(vc4_hdmi->ddc)) { ++ connected = true; ++ } else if (HDMI_READ(HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED) { ++ connected = true; + } + +- if (drm_probe_ddc(vc4_hdmi->ddc)) +- return connector_status_connected; ++ if (connected) { ++ if (connector->status != connector_status_connected) { ++ struct edid *edid = drm_get_edid(connector, vc4_hdmi->ddc); ++ ++ if (edid) { ++ cec_s_phys_addr_from_edid(vc4_hdmi->cec_adap, edid); ++ vc4_hdmi->encoder.hdmi_monitor = drm_detect_hdmi_monitor(edid); ++ kfree(edid); ++ } ++ } + +- if (HDMI_READ(HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED) + return connector_status_connected; ++ } ++ + cec_phys_addr_invalidate(vc4_hdmi->cec_adap); + return connector_status_disconnected; + } +-- +2.18.4 + + +From 1dac08ef0422e730abbaf78787b274b1507122f2 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 11 Jan 2021 15:23:00 +0100 +Subject: [PATCH 521/533] drm/vc4: hdmi: Compute the CEC clock divider from the + clock rate + +The CEC clock divider needs to output a frequency of 40kHz from the HSM +rate on the BCM2835. The driver used to have a fixed frequency for it, +but that changed for the BCM2711 and we now need to compute it +dynamically to maintain the proper rate. + +Fixes: cd4cb49dc5bb ("drm/vc4: hdmi: Adjust HSM clock rate depending on pixel rate") +Reviewed-by: Dave Stevenson +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index ca47a20d19bf..490633ca0a7f 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2134,6 +2134,7 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + { + struct cec_connector_info conn_info; + struct platform_device *pdev = vc4_hdmi->pdev; ++ u16 clk_cnt; + u32 value; + int ret; + +@@ -2159,8 +2160,9 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + * divider: the hsm_clock rate and this divider setting will + * give a 40 kHz CEC clock. + */ ++ clk_cnt = clk_get_rate(vc4_hdmi->hsm_clock) / CEC_CLOCK_FREQ; + value |= VC4_HDMI_CEC_ADDR_MASK | +- (4091 << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT); ++ (clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT); + HDMI_WRITE(HDMI_CEC_CNTRL_1, value); + ret = devm_request_threaded_irq(&pdev->dev, platform_get_irq(pdev, 0), + vc4_cec_irq_handler, +-- +2.18.4 + + +From d9aa6f2d2f590ca02aab2588c90ed34e122d1637 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 11 Jan 2021 15:23:01 +0100 +Subject: [PATCH 522/533] drm/vc4: hdmi: Update the CEC clock divider on HSM + rate change + +As part of the enable sequence we might change the HSM clock rate if the +pixel rate is different than the one we were already dealing with. + +On the BCM2835 however, the CEC clock derives from the HSM clock so any +rate change will need to be reflected in the CEC clock divider to output +40kHz. + +Fixes: cd4cb49dc5bb ("drm/vc4: hdmi: Adjust HSM clock rate depending on pixel rate") +Reviewed-by: Dave Stevenson +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 39 +++++++++++++++++++++++++--------- + 1 file changed, 29 insertions(+), 10 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 490633ca0a7f..83693ad916d3 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -443,6 +443,27 @@ static void vc5_hdmi_reset(struct vc4_hdmi *vc4_hdmi) + HDMI_READ(HDMI_CLOCK_STOP) | VC4_DVP_HT_CLOCK_STOP_PIXEL); + } + ++#ifdef CONFIG_DRM_VC4_HDMI_CEC ++static void vc4_hdmi_cec_update_clk_div(struct vc4_hdmi *vc4_hdmi) ++{ ++ u16 clk_cnt; ++ u32 value; ++ ++ value = HDMI_READ(HDMI_CEC_CNTRL_1); ++ value &= ~VC4_HDMI_CEC_DIV_CLK_CNT_MASK; ++ ++ /* ++ * Set the clock divider: the hsm_clock rate and this divider ++ * setting will give a 40 kHz CEC clock. ++ */ ++ clk_cnt = clk_get_rate(vc4_hdmi->hsm_clock) / CEC_CLOCK_FREQ; ++ value |= clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT; ++ HDMI_WRITE(HDMI_CEC_CNTRL_1, value); ++} ++#else ++static void vc4_hdmi_cec_update_clk_div(struct vc4_hdmi *vc4_hdmi) {} ++#endif ++ + static enum drm_connector_status + vc4_hdmi_connector_detect(struct drm_connector *connector, bool force) + { +@@ -1091,6 +1112,8 @@ static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder, + return; + } + ++ vc4_hdmi_cec_update_clk_div(vc4_hdmi); ++ + /* + * FIXME: When the pixel freq is 594MHz (4k60), this needs to be setup + * at 300MHz. +@@ -2134,7 +2157,6 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + { + struct cec_connector_info conn_info; + struct platform_device *pdev = vc4_hdmi->pdev; +- u16 clk_cnt; + u32 value; + int ret; + +@@ -2153,17 +2175,14 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info); + + HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, 0xffffffff); ++ + value = HDMI_READ(HDMI_CEC_CNTRL_1); +- value &= ~VC4_HDMI_CEC_DIV_CLK_CNT_MASK; +- /* +- * Set the logical address to Unregistered and set the clock +- * divider: the hsm_clock rate and this divider setting will +- * give a 40 kHz CEC clock. +- */ +- clk_cnt = clk_get_rate(vc4_hdmi->hsm_clock) / CEC_CLOCK_FREQ; +- value |= VC4_HDMI_CEC_ADDR_MASK | +- (clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT); ++ /* Set the logical address to Unregistered */ ++ value |= VC4_HDMI_CEC_ADDR_MASK; + HDMI_WRITE(HDMI_CEC_CNTRL_1, value); ++ ++ vc4_hdmi_cec_update_clk_div(vc4_hdmi); ++ + ret = devm_request_threaded_irq(&pdev->dev, platform_get_irq(pdev, 0), + vc4_cec_irq_handler, + vc4_cec_irq_handler_thread, 0, +-- +2.18.4 + + +From 524233131f974971afb9ffefe0946e6a867836d3 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 11 Jan 2021 15:23:02 +0100 +Subject: [PATCH 523/533] drm/vc4: hdmi: Introduce a CEC clock + +While the BCM2835 had the CEC clock derived from the HSM clock, the +BCM2711 has a dedicated parent clock for it. + +Let's introduce a separate clock for it so that we can handle both +cases. + +Reviewed-by: Dave Stevenson +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 9 ++++++++- + drivers/gpu/drm/vc4/vc4_hdmi.h | 1 + + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 83693ad916d3..e1862ffbc5e6 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -456,7 +456,7 @@ static void vc4_hdmi_cec_update_clk_div(struct vc4_hdmi *vc4_hdmi) + * Set the clock divider: the hsm_clock rate and this divider + * setting will give a 40 kHz CEC clock. + */ +- clk_cnt = clk_get_rate(vc4_hdmi->hsm_clock) / CEC_CLOCK_FREQ; ++ clk_cnt = clk_get_rate(vc4_hdmi->cec_clock) / CEC_CLOCK_FREQ; + value |= clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT; + HDMI_WRITE(HDMI_CEC_CNTRL_1, value); + } +@@ -2288,6 +2288,7 @@ static int vc4_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi) + return PTR_ERR(vc4_hdmi->hsm_clock); + } + vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock; ++ vc4_hdmi->cec_clock = vc4_hdmi->hsm_clock; + + return 0; + } +@@ -2382,6 +2383,12 @@ static int vc5_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi) + return PTR_ERR(vc4_hdmi->audio_clock); + } + ++ vc4_hdmi->cec_clock = devm_clk_get(dev, "cec"); ++ if (IS_ERR(vc4_hdmi->cec_clock)) { ++ DRM_ERROR("Failed to get CEC clock\n"); ++ return PTR_ERR(vc4_hdmi->cec_clock); ++ } ++ + vc4_hdmi->reset = devm_reset_control_get(dev, NULL); + if (IS_ERR(vc4_hdmi->reset)) { + DRM_ERROR("Failed to get HDMI reset line\n"); +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h +index f18f1d775241..c9b4b7678df4 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -160,6 +160,7 @@ struct vc4_hdmi { + bool cec_tx_ok; + bool cec_irq_was_rx; + ++ struct clk *cec_clock; + struct clk *pixel_clock; + struct clk *hsm_clock; + struct clk *audio_clock; +-- +2.18.4 + + +From ff717d1743f68cf66ef8e13dec0f8faedb69b30a Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 11 Jan 2021 15:23:03 +0100 +Subject: [PATCH 524/533] drm/vc4: hdmi: Split the interrupt handlers + +The BCM2711 has two different interrupt sources to transmit and receive +CEC messages, provided through an external interrupt chip shared between +the two HDMI interrupt controllers. + +The rest of the CEC controller is identical though so we need to change +a bit the code organisation to share the code as much as possible, yet +still allowing to register independant handlers. + +Signed-off-by: Maxime Ripard +Reviewed-by: Dave Stevenson +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 86 +++++++++++++++++++++++++--------- + 1 file changed, 65 insertions(+), 21 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index e1862ffbc5e6..5643a4fb5b98 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1990,15 +1990,22 @@ static int vc4_hdmi_audio_init(struct vc4_hdmi *vc4_hdmi) + } + + #ifdef CONFIG_DRM_VC4_HDMI_CEC +-static irqreturn_t vc4_cec_irq_handler_thread(int irq, void *priv) ++static irqreturn_t vc4_cec_irq_handler_rx_thread(int irq, void *priv) + { + struct vc4_hdmi *vc4_hdmi = priv; + +- if (vc4_hdmi->cec_irq_was_rx) { +- if (vc4_hdmi->cec_rx_msg.len) +- cec_received_msg(vc4_hdmi->cec_adap, +- &vc4_hdmi->cec_rx_msg); +- } else if (vc4_hdmi->cec_tx_ok) { ++ if (vc4_hdmi->cec_rx_msg.len) ++ cec_received_msg(vc4_hdmi->cec_adap, ++ &vc4_hdmi->cec_rx_msg); ++ ++ return IRQ_HANDLED; ++} ++ ++static irqreturn_t vc4_cec_irq_handler_tx_thread(int irq, void *priv) ++{ ++ struct vc4_hdmi *vc4_hdmi = priv; ++ ++ if (vc4_hdmi->cec_tx_ok) { + cec_transmit_done(vc4_hdmi->cec_adap, CEC_TX_STATUS_OK, + 0, 0, 0, 0); + } else { +@@ -2012,6 +2019,19 @@ static irqreturn_t vc4_cec_irq_handler_thread(int irq, void *priv) + return IRQ_HANDLED; + } + ++static irqreturn_t vc4_cec_irq_handler_thread(int irq, void *priv) ++{ ++ struct vc4_hdmi *vc4_hdmi = priv; ++ irqreturn_t ret; ++ ++ if (vc4_hdmi->cec_irq_was_rx) ++ ret = vc4_cec_irq_handler_rx_thread(irq, priv); ++ else ++ ret = vc4_cec_irq_handler_tx_thread(irq, priv); ++ ++ return ret; ++} ++ + static void vc4_cec_read_msg(struct vc4_hdmi *vc4_hdmi, u32 cntrl1) + { + struct drm_device *dev = vc4_hdmi->connector.dev; +@@ -2036,31 +2056,55 @@ static void vc4_cec_read_msg(struct vc4_hdmi *vc4_hdmi, u32 cntrl1) + } + } + ++static irqreturn_t vc4_cec_irq_handler_tx_bare(int irq, void *priv) ++{ ++ struct vc4_hdmi *vc4_hdmi = priv; ++ u32 cntrl1; ++ ++ cntrl1 = HDMI_READ(HDMI_CEC_CNTRL_1); ++ vc4_hdmi->cec_tx_ok = cntrl1 & VC4_HDMI_CEC_TX_STATUS_GOOD; ++ cntrl1 &= ~VC4_HDMI_CEC_START_XMIT_BEGIN; ++ HDMI_WRITE(HDMI_CEC_CNTRL_1, cntrl1); ++ ++ return IRQ_WAKE_THREAD; ++} ++ ++static irqreturn_t vc4_cec_irq_handler_rx_bare(int irq, void *priv) ++{ ++ struct vc4_hdmi *vc4_hdmi = priv; ++ u32 cntrl1; ++ ++ vc4_hdmi->cec_rx_msg.len = 0; ++ cntrl1 = HDMI_READ(HDMI_CEC_CNTRL_1); ++ vc4_cec_read_msg(vc4_hdmi, cntrl1); ++ cntrl1 |= VC4_HDMI_CEC_CLEAR_RECEIVE_OFF; ++ HDMI_WRITE(HDMI_CEC_CNTRL_1, cntrl1); ++ cntrl1 &= ~VC4_HDMI_CEC_CLEAR_RECEIVE_OFF; ++ ++ HDMI_WRITE(HDMI_CEC_CNTRL_1, cntrl1); ++ ++ return IRQ_WAKE_THREAD; ++} ++ + static irqreturn_t vc4_cec_irq_handler(int irq, void *priv) + { + struct vc4_hdmi *vc4_hdmi = priv; + u32 stat = HDMI_READ(HDMI_CEC_CPU_STATUS); +- u32 cntrl1, cntrl5; ++ irqreturn_t ret; ++ u32 cntrl5; + + if (!(stat & VC4_HDMI_CPU_CEC)) + return IRQ_NONE; +- vc4_hdmi->cec_rx_msg.len = 0; +- cntrl1 = HDMI_READ(HDMI_CEC_CNTRL_1); ++ + cntrl5 = HDMI_READ(HDMI_CEC_CNTRL_5); + vc4_hdmi->cec_irq_was_rx = cntrl5 & VC4_HDMI_CEC_RX_CEC_INT; +- if (vc4_hdmi->cec_irq_was_rx) { +- vc4_cec_read_msg(vc4_hdmi, cntrl1); +- cntrl1 |= VC4_HDMI_CEC_CLEAR_RECEIVE_OFF; +- HDMI_WRITE(HDMI_CEC_CNTRL_1, cntrl1); +- cntrl1 &= ~VC4_HDMI_CEC_CLEAR_RECEIVE_OFF; +- } else { +- vc4_hdmi->cec_tx_ok = cntrl1 & VC4_HDMI_CEC_TX_STATUS_GOOD; +- cntrl1 &= ~VC4_HDMI_CEC_START_XMIT_BEGIN; +- } +- HDMI_WRITE(HDMI_CEC_CNTRL_1, cntrl1); +- HDMI_WRITE(HDMI_CEC_CPU_CLEAR, VC4_HDMI_CPU_CEC); ++ if (vc4_hdmi->cec_irq_was_rx) ++ ret = vc4_cec_irq_handler_rx_bare(irq, priv); ++ else ++ ret = vc4_cec_irq_handler_tx_bare(irq, priv); + +- return IRQ_WAKE_THREAD; ++ HDMI_WRITE(HDMI_CEC_CPU_CLEAR, VC4_HDMI_CPU_CEC); ++ return ret; + } + + static int vc4_hdmi_cec_adap_enable(struct cec_adapter *adap, bool enable) +-- +2.18.4 + + +From 9936a3e7d38baa2012e64487d48653acdbf8035a Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 11 Jan 2021 15:23:04 +0100 +Subject: [PATCH 525/533] drm/vc4: hdmi: Support BCM2711 CEC interrupt setup + +The HDMI controller found in the BCM2711 has an external interrupt +controller for the CEC and hotplug interrupt shared between the two +instances. + +Let's add a variant flag to register a single interrupt handler and +deals with the interrupt handler setup, or two interrupt handlers +relying on an external irqchip. + +Signed-off-by: Maxime Ripard +Reviewed-by: Dave Stevenson +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 42 ++++++++++++++++++++++++++-------- + drivers/gpu/drm/vc4/vc4_hdmi.h | 7 ++++++ + 2 files changed, 39 insertions(+), 10 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 5643a4fb5b98..852a8cecf469 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2141,9 +2141,11 @@ static int vc4_hdmi_cec_adap_enable(struct cec_adapter *adap, bool enable) + ((3600 / usecs) << VC4_HDMI_CEC_CNT_TO_3600_US_SHIFT) | + ((3500 / usecs) << VC4_HDMI_CEC_CNT_TO_3500_US_SHIFT)); + +- HDMI_WRITE(HDMI_CEC_CPU_MASK_CLEAR, VC4_HDMI_CPU_CEC); ++ if (!vc4_hdmi->variant->external_irq_controller) ++ HDMI_WRITE(HDMI_CEC_CPU_MASK_CLEAR, VC4_HDMI_CPU_CEC); + } else { +- HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, VC4_HDMI_CPU_CEC); ++ if (!vc4_hdmi->variant->external_irq_controller) ++ HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, VC4_HDMI_CPU_CEC); + HDMI_WRITE(HDMI_CEC_CNTRL_5, val | + VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); + } +@@ -2218,8 +2220,6 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + cec_fill_conn_info_from_drm(&conn_info, &vc4_hdmi->connector); + cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info); + +- HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, 0xffffffff); +- + value = HDMI_READ(HDMI_CEC_CNTRL_1); + /* Set the logical address to Unregistered */ + value |= VC4_HDMI_CEC_ADDR_MASK; +@@ -2227,12 +2227,32 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + + vc4_hdmi_cec_update_clk_div(vc4_hdmi); + +- ret = devm_request_threaded_irq(&pdev->dev, platform_get_irq(pdev, 0), +- vc4_cec_irq_handler, +- vc4_cec_irq_handler_thread, 0, +- "vc4 hdmi cec", vc4_hdmi); +- if (ret) +- goto err_delete_cec_adap; ++ if (vc4_hdmi->variant->external_irq_controller) { ++ ret = devm_request_threaded_irq(&pdev->dev, ++ platform_get_irq_byname(pdev, "cec-rx"), ++ vc4_cec_irq_handler_rx_bare, ++ vc4_cec_irq_handler_rx_thread, 0, ++ "vc4 hdmi cec rx", vc4_hdmi); ++ if (ret) ++ goto err_delete_cec_adap; ++ ++ ret = devm_request_threaded_irq(&pdev->dev, ++ platform_get_irq_byname(pdev, "cec-tx"), ++ vc4_cec_irq_handler_tx_bare, ++ vc4_cec_irq_handler_tx_thread, 0, ++ "vc4 hdmi cec tx", vc4_hdmi); ++ if (ret) ++ goto err_delete_cec_adap; ++ } else { ++ HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, 0xffffffff); ++ ++ ret = devm_request_threaded_irq(&pdev->dev, platform_get_irq(pdev, 0), ++ vc4_cec_irq_handler, ++ vc4_cec_irq_handler_thread, 0, ++ "vc4 hdmi cec", vc4_hdmi); ++ if (ret) ++ goto err_delete_cec_adap; ++ } + + ret = cec_register_adapter(vc4_hdmi->cec_adap, &pdev->dev); + if (ret < 0) +@@ -2664,6 +2684,7 @@ static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { + PHY_LANE_CK, + }, + .unsupported_odd_h_timings = true, ++ .external_irq_controller = true, + + .init_resources = vc5_hdmi_init_resources, + .csc_setup = vc5_hdmi_csc_setup, +@@ -2690,6 +2711,7 @@ static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { + PHY_LANE_2, + }, + .unsupported_odd_h_timings = true, ++ .external_irq_controller = true, + + .init_resources = vc5_hdmi_init_resources, + .csc_setup = vc5_hdmi_csc_setup, +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h +index c9b4b7678df4..ae1be14812b8 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -64,6 +64,13 @@ struct vc4_hdmi_variant { + /* The BCM2711 cannot deal with odd horizontal pixel timings */ + bool unsupported_odd_h_timings; + ++ /* ++ * The BCM2711 CEC/hotplug IRQ controller is shared between the ++ * two HDMI controllers, and we have a proper irqchip driver for ++ * it. ++ */ ++ bool external_irq_controller; ++ + /* Callback to get the resources (memory region, interrupts, + * clocks, etc) for that variant. + */ +-- +2.18.4 + + +From ef6afc73f26d3ae14cba9a37f0edbcf3ce7f9889 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Mon, 11 Jan 2021 15:23:05 +0100 +Subject: [PATCH 526/533] drm/vc4: hdmi: Remove cec_available flag + +Now that our HDMI controller supports CEC for the BCM2711, let's remove +that flag. + +Reviewed-by: Dave Stevenson +Signed-off-by: Dom Cobley +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 4 ---- + drivers/gpu/drm/vc4/vc4_hdmi.h | 3 --- + 2 files changed, 7 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 852a8cecf469..66963eeb4db0 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2206,9 +2206,6 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + u32 value; + int ret; + +- if (!vc4_hdmi->variant->cec_available) +- return 0; +- + vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, + vc4_hdmi, "vc4", + CEC_CAP_DEFAULTS | +@@ -2655,7 +2652,6 @@ static const struct vc4_hdmi_variant bcm2835_variant = { + .debugfs_name = "hdmi_regs", + .card_name = "vc4-hdmi", + .max_pixel_clock = 162000000, +- .cec_available = true, + .registers = vc4_hdmi_fields, + .num_registers = ARRAY_SIZE(vc4_hdmi_fields), + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h +index ae1be14812b8..cb2af9f144df 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -42,9 +42,6 @@ struct vc4_hdmi_variant { + /* Filename to expose the registers in debugfs */ + const char *debugfs_name; + +- /* Set to true when the CEC support is available */ +- bool cec_available; +- + /* Maximum pixel clock supported by the controller (in Hz) */ + unsigned long long max_pixel_clock; + +-- +2.18.4 + + +From cced90a1db6e003c14d11d1ee10af59ab325dcac Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 11 Jan 2021 15:23:06 +0100 +Subject: [PATCH 527/533] drm/vc4: hdmi: Don't register the CEC adapter if + there's no interrupts + +We introduced the BCM2711 support to the vc4 HDMI controller with 5.10, +but this was lacking any of the interrupts of the CEC controller so we +have to deal with the backward compatibility. + +Do so by simply ignoring the CEC setup if the DT doesn't have the +interrupts property. + +Reviewed-by: Dave Stevenson +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 66963eeb4db0..e0cff1935fbd 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2203,9 +2203,15 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi) + { + struct cec_connector_info conn_info; + struct platform_device *pdev = vc4_hdmi->pdev; ++ struct device *dev = &pdev->dev; + u32 value; + int ret; + ++ if (!of_find_property(dev->of_node, "interrupts", NULL)) { ++ dev_warn(dev, "'interrupts' DT property is missing, no CEC\n"); ++ return 0; ++ } ++ + vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, + vc4_hdmi, "vc4", + CEC_CAP_DEFAULTS | +-- +2.18.4 + + +From ef66f8b7afce0e7066933450f16526b0436231d1 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 11 Jan 2021 15:23:07 +0100 +Subject: [PATCH 528/533] dt-binding: display: bcm2711-hdmi: Add CEC and + hotplug interrupts + +The CEC and hotplug interrupts were missing when that binding was +introduced, let's add them in now that we've figured out how it works. + +Signed-off-by: Maxime Ripard +Acked-by: Dave Stevenson +--- + .../bindings/display/brcm,bcm2711-hdmi.yaml | 20 ++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml b/Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml +index 7ce06f9f9f8e..6e8ac910bdd8 100644 +--- a/Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml ++++ b/Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml +@@ -53,6 +53,24 @@ properties: + - const: audio + - const: cec + ++ interrupts: ++ items: ++ - description: CEC TX interrupt ++ - description: CEC RX interrupt ++ - description: CEC stuck at low interrupt ++ - description: Wake-up interrupt ++ - description: Hotplug connected interrupt ++ - description: Hotplug removed interrupt ++ ++ interrupt-names: ++ items: ++ - const: cec-tx ++ - const: cec-rx ++ - const: cec-low ++ - const: wakeup ++ - const: hpd-connected ++ - const: hpd-removed ++ + ddc: + allOf: + - $ref: /schemas/types.yaml#/definitions/phandle +@@ -90,7 +108,7 @@ required: + - resets + - ddc + +-additionalProperties: false ++unevaluatedProperties: false + + examples: + - | +-- +2.18.4 + + +From 9b5f9a763ebb6a365ca5e51954c425c324475ded Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 11 Jan 2021 15:23:08 +0100 +Subject: [PATCH 529/533] ARM: dts: bcm2711: Add the BSC interrupt controller + +The BSC controllers used for the HDMI DDC have an interrupt controller +shared between both instances. Let's add it to avoid polling. + +Reviewed-by: Florian Fainelli +Signed-off-by: Maxime Ripard +--- + arch/arm/boot/dts/bcm2711.dtsi | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi +index 7c2d374cb749..786faf7050fc 100644 +--- a/arch/arm/boot/dts/bcm2711.dtsi ++++ b/arch/arm/boot/dts/bcm2711.dtsi +@@ -308,6 +308,14 @@ + #reset-cells = <1>; + }; + ++ bsc_intr: interrupt-controller@7ef00040 { ++ compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc"; ++ reg = <0x7ef00040 0x30>; ++ interrupts = ; ++ interrupt-controller; ++ #interrupt-cells = <1>; ++ }; ++ + hdmi0: hdmi@7ef00700 { + compatible = "brcm,bcm2711-hdmi0"; + reg = <0x7ef00700 0x300>, +@@ -348,6 +356,8 @@ + reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>; + reg-names = "bsc", "auto-i2c"; + clock-frequency = <97500>; ++ interrupt-parent = <&bsc_intr>; ++ interrupts = <0>; + status = "disabled"; + }; + +@@ -391,6 +401,8 @@ + reg = <0x7ef09500 0x100>, <0x7ef05b00 0x300>; + reg-names = "bsc", "auto-i2c"; + clock-frequency = <97500>; ++ interrupt-parent = <&bsc_intr>; ++ interrupts = <1>; + status = "disabled"; + }; + }; +-- +2.18.4 + + +From 2878080700fe708c928d55261dba1fbbf596e031 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 11 Jan 2021 15:23:09 +0100 +Subject: [PATCH 530/533] ARM: dts: bcm2711: Add the CEC interrupt controller + +The CEC and hotplug interrupts go through an interrupt controller shared +between the two HDMI controllers. + +Let's add that interrupt controller and the interrupts for both HDMI +controllers + +Reviewed-by: Florian Fainelli +Signed-off-by: Maxime Ripard +--- + arch/arm/boot/dts/bcm2711.dtsi | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi +index 786faf7050fc..9e0d9b2ca586 100644 +--- a/arch/arm/boot/dts/bcm2711.dtsi ++++ b/arch/arm/boot/dts/bcm2711.dtsi +@@ -316,6 +316,14 @@ + #interrupt-cells = <1>; + }; + ++ aon_intr: interrupt-controller@7ef00100 { ++ compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc"; ++ reg = <0x7ef00100 0x30>; ++ interrupts = ; ++ interrupt-controller; ++ #interrupt-cells = <1>; ++ }; ++ + hdmi0: hdmi@7ef00700 { + compatible = "brcm,bcm2711-hdmi0"; + reg = <0x7ef00700 0x300>, +@@ -344,6 +352,11 @@ + <&clk_27MHz>; + clock-names = "hdmi", "bvb", "audio", "cec"; + resets = <&dvp 0>; ++ interrupt-parent = <&aon_intr>; ++ interrupts = <0>, <1>, <2>, ++ <3>, <4>, <5>; ++ interrupt-names = "cec-tx", "cec-rx", "cec-low", ++ "wakeup", "hpd-connected", "hpd-removed"; + ddc = <&ddc0>; + dmas = <&dma 10>; + dma-names = "audio-rx"; +@@ -390,6 +403,11 @@ + <&dvp 0>, + <&clk_27MHz>; + resets = <&dvp 1>; ++ interrupt-parent = <&aon_intr>; ++ interrupts = <8>, <7>, <6>, ++ <9>, <10>, <11>; ++ interrupt-names = "cec-tx", "cec-rx", "cec-low", ++ "wakeup", "hpd-connected", "hpd-removed"; + dmas = <&dma 17>; + dma-names = "audio-rx"; + interrupts = ; +-- +2.18.4 + + +From 66c8a87880055620b53370579199bc84b354d6e6 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Wed, 9 Dec 2020 16:37:01 +0000 +Subject: [PATCH 531/533] bcm2711: Disable bsc_intr and aon_intr by default and + enable in overlay + +Signed-off-by: Dom Cobley +--- + arch/arm/boot/dts/bcm2711.dtsi | 2 ++ + .../boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts | 14 ++++++++++++++ + 2 files changed, 16 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi +index 9e0d9b2ca586..0ef7bde01555 100644 +--- a/arch/arm/boot/dts/bcm2711.dtsi ++++ b/arch/arm/boot/dts/bcm2711.dtsi +@@ -314,6 +314,7 @@ + interrupts = ; + interrupt-controller; + #interrupt-cells = <1>; ++ status = "disabled"; + }; + + aon_intr: interrupt-controller@7ef00100 { +@@ -322,6 +323,7 @@ + interrupts = ; + interrupt-controller; + #interrupt-cells = <1>; ++ status = "disabled"; + }; + + hdmi0: hdmi@7ef00700 { +diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts +index f721f12d729d..8e9220f303f0 100644 +--- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts ++++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts +@@ -166,6 +166,20 @@ + }; + }; + ++ fragment@23 { ++ target = <&bsc_intr>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@24 { ++ target = <&aon_intr>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ + __overrides__ { + audio = <0>,"!17"; + audio1 = <0>,"!18"; +-- +2.18.4 + + +From bb386ebcb4eeb021a5b3fe7071ad673f0d6695a5 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 15 Dec 2020 16:42:42 +0100 +Subject: [PATCH 532/533] drm/vc4: hdmi: Limit the BCM2711 to the max without + scrambling + +Unlike the previous generations, the HSM clock limitation is way above +what we can reach without scrambling, so let's move the maximum +frequency we support to the maximum clock frequency without scrambling. + +Reviewed-by: Dave Stevenson +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index e0cff1935fbd..2d1359b1cb38 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -400,6 +400,8 @@ static void hdmi_codec_eld_chmap(struct vc4_hdmi *vc4_hdmi) + vc4_hdmi->audio.chmap = hdmi_codec_stereo_chmaps; + } + ++#define HDMI_14_MAX_TMDS_CLK (340 * 1000 * 1000) ++ + static int vc4_hdmi_debugfs_regs(struct seq_file *m, void *unused) + { + struct drm_info_node *node = (struct drm_info_node *)m->private; +@@ -2676,7 +2678,7 @@ static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { + .encoder_type = VC4_ENCODER_TYPE_HDMI0, + .debugfs_name = "hdmi0_regs", + .card_name = "vc4-hdmi-0", +- .max_pixel_clock = 297000000, ++ .max_pixel_clock = HDMI_14_MAX_TMDS_CLK, + .registers = vc5_hdmi_hdmi0_fields, + .num_registers = ARRAY_SIZE(vc5_hdmi_hdmi0_fields), + .phy_lane_mapping = { +@@ -2703,7 +2705,7 @@ static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { + .encoder_type = VC4_ENCODER_TYPE_HDMI1, + .debugfs_name = "hdmi1_regs", + .card_name = "vc4-hdmi-1", +- .max_pixel_clock = 297000000, ++ .max_pixel_clock = HDMI_14_MAX_TMDS_CLK, + .registers = vc5_hdmi_hdmi1_fields, + .num_registers = ARRAY_SIZE(vc5_hdmi_hdmi1_fields), + .phy_lane_mapping = { +-- +2.18.4 + + +From 059a74fb80af1e77998127a445096c28ef443774 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Mon, 11 Jan 2021 17:08:20 +0000 +Subject: [PATCH 533/533] bcm2711: Remove old GIC interrupt + +Now handled through aon_intr + +Signed-off-by: Dom Cobley +--- + arch/arm/boot/dts/bcm2711.dtsi | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi +index 0ef7bde01555..9d2730c27637 100644 +--- a/arch/arm/boot/dts/bcm2711.dtsi ++++ b/arch/arm/boot/dts/bcm2711.dtsi +@@ -362,7 +362,6 @@ + ddc = <&ddc0>; + dmas = <&dma 10>; + dma-names = "audio-rx"; +- interrupts = ; + status = "disabled"; + }; + +@@ -412,7 +411,6 @@ + "wakeup", "hpd-connected", "hpd-removed"; + dmas = <&dma 17>; + dma-names = "audio-rx"; +- interrupts = ; + status = "disabled"; + }; + +-- +2.18.4 + diff --git a/SPECS/raspberrypi2.spec b/SPECS/raspberrypi2.spec index 3215552..517e790 100644 --- a/SPECS/raspberrypi2.spec +++ b/SPECS/raspberrypi2.spec @@ -1,5 +1,5 @@ -%global commit_firmware_long d016a6eb01c8c7326a89cb42809fed2a21525de5 -%global commit_linux_long b1f47573c1fc640d360349f767568ff3a84e778d +%global commit_firmware_long 7d91570f20378afc9414107dccdad70705a8a342 +%global commit_linux_long 34263dc81a12862c66e2593bb26c09d5fd20f46d ExclusiveArch: aarch64 armv7hl @@ -32,7 +32,7 @@ ExclusiveArch: aarch64 armv7hl %define extra_version 1 %define kversion 5.10 -%define kfullversion %{kversion}.2 +%define kfullversion %{kversion}.14 Name: raspberrypi2 Version: %{kfullversion} @@ -277,6 +277,9 @@ cp $(ls -1d /usr/share/%{name}-kernel/*-*/|sort -V|tail -1)/boot/overlays/README %doc /boot/LICENCE.broadcom %changelog +* Sun Feb 7 2021 Pablo Greco - 5.10.14 +- Update to version v5.10.14 + * Fri Dec 25 2020 Pablo Greco - 5.10.2 - Update to version v5.10.2