From 1ec8589ed94de8703fc3e9339c73b917844aa12e Mon Sep 17 00:00:00 2001 From: Pablo Greco Date: Apr 09 2023 18:49:23 +0000 Subject: Update to 5.15.90 --- diff --git a/.raspberrypi2.metadata b/.raspberrypi2.metadata index f84738d..eb7dab8 100644 --- a/.raspberrypi2.metadata +++ b/.raspberrypi2.metadata @@ -1,3 +1,3 @@ ac61f2459040c09af1d5abd4ed100c3d316b443e SOURCES/linux-5.15.tar.xz -07a0fcc5c81b542672eea7cb4de87ab3fbbe1fe3 SOURCES/b8a7365c70c68a85a52200cd84b94ea7332bce94.tar.gz -bf6af28b5d342790975e9a5a899e8a91b484b403 SOURCES/patch-5.15.80.xz +319f1807d96063d19ad3cd4bcad5459494711b30 SOURCES/52cf38d0ae55a8b7426e55974292a920265b7927.tar.gz +ce4608cc99120f35904c34f046de01c2ae7b5384 SOURCES/patch-5.15.90.xz diff --git a/SOURCES/bcm2709_selinux_config.patch b/SOURCES/bcm2709_selinux_config.patch index 8ad8bf3..24f45a1 100644 --- a/SOURCES/bcm2709_selinux_config.patch +++ b/SOURCES/bcm2709_selinux_config.patch @@ -4,14 +4,14 @@ Date: Fri, 7 Aug 2020 02:59:05 +0000 Subject: [PATCH 1/2] configs 2709 --- - arch/arm/configs/bcm2709_defconfig | 40 ++++++++++++++++++++++++++++-- - 1 file changed, 38 insertions(+), 2 deletions(-) + arch/arm/configs/bcm2709_defconfig | 35 ++++++++++++++++++++++++++++-- + 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 0267c16..3b92fcf 100644 +index d53a9fb..960e51f 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -1520,8 +1520,6 @@ CONFIG_NLS_KOI8_R=m +@@ -1535,8 +1535,6 @@ CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_DLM=m CONFIG_SECURITY=y @@ -20,7 +20,7 @@ index 0267c16..3b92fcf 100644 CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_CHACHA20POLY1305=m CONFIG_CRYPTO_ADIANTUM=m -@@ -1554,3 +1552,36 @@ CONFIG_IRQSOFF_TRACER=y +@@ -1570,3 +1568,36 @@ 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 a74adfc..934ac8f 100644 --- a/SOURCES/bcm2711_selinux_config.patch +++ b/SOURCES/bcm2711_selinux_config.patch @@ -4,15 +4,15 @@ Date: Fri, 7 Aug 2020 02:59:05 +0000 Subject: [PATCH 2/2] configs 2711 --- - arch/arm/configs/bcm2711_defconfig | 40 +++++++++++++++++++++++++-- - arch/arm64/configs/bcm2711_defconfig | 41 ++++++++++++++++++++++++++-- - 2 files changed, 77 insertions(+), 4 deletions(-) + arch/arm/configs/bcm2711_defconfig | 35 +++++++++++++++++++++++++-- + arch/arm64/configs/bcm2711_defconfig | 36 ++++++++++++++++++++++++++-- + 2 files changed, 67 insertions(+), 4 deletions(-) diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index 2639d29..6ae2229 100644 +index 7dce623..7ad5a57 100644 --- a/arch/arm/configs/bcm2711_defconfig +++ b/arch/arm/configs/bcm2711_defconfig -@@ -1551,8 +1551,6 @@ CONFIG_NLS_KOI8_R=m +@@ -1561,8 +1561,6 @@ CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_DLM=m CONFIG_SECURITY=y @@ -21,7 +21,7 @@ index 2639d29..6ae2229 100644 CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_CHACHA20POLY1305=m CONFIG_CRYPTO_ADIANTUM=m -@@ -1585,3 +1583,36 @@ CONFIG_IRQSOFF_TRACER=y +@@ -1596,3 +1594,36 @@ CONFIG_IRQSOFF_TRACER=y CONFIG_SCHED_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y # CONFIG_UPROBE_EVENTS is not set @@ -59,10 +59,10 @@ index 2639d29..6ae2229 100644 +CONFIG_WIREGUARD=m +CONFIG_FW_LOADER_COMPRESS=y diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index 4c06a60..c8c5836 100644 +index 0f1aaec..08b5922 100644 --- a/arch/arm64/configs/bcm2711_defconfig +++ b/arch/arm64/configs/bcm2711_defconfig -@@ -1568,8 +1568,6 @@ CONFIG_NLS_KOI8_R=m +@@ -1578,8 +1578,6 @@ CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_DLM=m CONFIG_SECURITY=y @@ -71,7 +71,7 @@ index 4c06a60..c8c5836 100644 CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_CHACHA20POLY1305=m CONFIG_CRYPTO_CBC=m -@@ -1604,3 +1602,37 @@ CONFIG_IRQSOFF_TRACER=y +@@ -1615,3 +1613,37 @@ 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.15.x.patch b/SOURCES/rpi-5.15.x.patch index 37a207f..a1222bf 100644 --- a/SOURCES/rpi-5.15.x.patch +++ b/SOURCES/rpi-5.15.x.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 19 Aug 2021 15:59:29 +0200 -Subject: [PATCH 0001/1219] drm/vc4: hdmi: Split the CEC disable / enable +Subject: [PATCH 0001/1284] drm/vc4: hdmi: Split the CEC disable / enable functions in two In order to ease further additions to the CEC enable and disable, let's @@ -112,13 +112,13 @@ index 9b3e642a08e1..7380fa4cd8dd 100644 { struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 19 Aug 2021 15:59:30 +0200 -Subject: [PATCH 0002/1219] drm/vc4: hdmi: Make sure the device is powered with +Subject: [PATCH 0002/1284] drm/vc4: hdmi: Make sure the device is powered with CEC Similarly to what we encountered with the detect hook with DRM, nothing @@ -169,13 +169,13 @@ index 7380fa4cd8dd..be471436df7f 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 19 Aug 2021 15:59:31 +0200 -Subject: [PATCH 0003/1219] drm/vc4: hdmi: Warn if we access the controller +Subject: [PATCH 0003/1284] drm/vc4: hdmi: Warn if we access the controller while disabled We've had many silent hangs where the kernel would look like it just @@ -224,13 +224,13 @@ index f126fa425a1d..23930a8fa376 100644 dev_warn(&hdmi->pdev->dev, "Invalid register ID %u\n", reg); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 25 Oct 2021 17:28:54 +0200 -Subject: [PATCH 0004/1219] drm/vc4: hdmi: Remove the DDC probing for status +Subject: [PATCH 0004/1284] drm/vc4: hdmi: Remove the DDC probing for status detection Commit 9d44abbbb8d5 ("drm/vc4: Fall back to using an EDID probe in the @@ -277,13 +277,13 @@ index be471436df7f..7762da1be7c6 100644 connected = true; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 25 Oct 2021 17:29:01 +0200 -Subject: [PATCH 0005/1219] drm/vc4: hdmi: Raise the maximum clock rate +Subject: [PATCH 0005/1284] drm/vc4: hdmi: Raise the maximum clock rate Now that we have the infrastructure in place, we can raise the maximum pixel rate we can reach for HDMI0 on the BCM2711. @@ -314,13 +314,13 @@ index 7762da1be7c6..a7980040973b 100644 .num_registers = ARRAY_SIZE(vc5_hdmi_hdmi0_fields), .phy_lane_mapping = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 25 Oct 2021 16:11:08 +0200 -Subject: [PATCH 0006/1219] drm/vc4: hdmi: Add a spinlock to protect register +Subject: [PATCH 0006/1284] drm/vc4: hdmi: Add a spinlock to protect register access The vc4 HDMI driver has multiple path shared between the CEC, ALSA and @@ -1233,13 +1233,13 @@ index 23930a8fa376..24056441a4bb 100644 if (reg >= variant->num_registers) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 25 Oct 2021 16:11:09 +0200 -Subject: [PATCH 0007/1219] drm/vc4: hdmi: Use a mutex to prevent concurrent +Subject: [PATCH 0007/1284] drm/vc4: hdmi: Use a mutex to prevent concurrent framework access The vc4 HDMI controller registers into the KMS, CEC and ALSA @@ -1685,13 +1685,13 @@ index a84a074b5157..44e11ef6f425 100644 static inline struct vc4_hdmi * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 19 Oct 2021 14:19:29 +0200 -Subject: [PATCH 0008/1219] drm/vc4: hdmi: Prevent access to crtc->state +Subject: [PATCH 0008/1284] drm/vc4: hdmi: Prevent access to crtc->state outside of KMS Accessing the crtc->state pointer from outside the modesetting context @@ -1854,13 +1854,13 @@ index 44e11ef6f425..f0cfcb75b2ae 100644 static inline struct vc4_hdmi * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 24 Sep 2021 14:27:38 +0200 -Subject: [PATCH 0009/1219] drm/vc4: hdmi: Check the device state in prepare() +Subject: [PATCH 0009/1284] drm/vc4: hdmi: Check the device state in prepare() Even though we already check that the encoder->crtc pointer is there during in startup(), which is part of the open() path in ASoC, nothing @@ -1937,13 +1937,13 @@ index ef555f3311e1..680aecb5c6a4 100644 spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 19 Oct 2021 17:31:58 +0200 -Subject: [PATCH 0010/1219] drm/vc4: hdmi: Introduce an output_enabled flag +Subject: [PATCH 0010/1284] drm/vc4: hdmi: Introduce an output_enabled flag We currently poke at encoder->crtc in the ALSA code path to determine whether the HDMI output is enabled or not, and thus whether we should @@ -2023,13 +2023,13 @@ index f0cfcb75b2ae..f41c6353cded 100644 static inline struct vc4_hdmi * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 19 Oct 2021 19:13:46 +0200 -Subject: [PATCH 0011/1219] drm/vc4: hdmi: Introduce a scdc_enabled flag +Subject: [PATCH 0011/1284] drm/vc4: hdmi: Introduce a scdc_enabled flag We currently rely on two functions, vc4_hdmi_supports_scrambling() and vc4_hdmi_mode_needs_scrambling() to determine if we should enable and @@ -2132,13 +2132,13 @@ index f41c6353cded..0c51c91f9d5c 100644 static inline struct vc4_hdmi * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 26 May 2021 16:07:01 +0200 -Subject: [PATCH 0012/1219] drm/vc4: Make vc4_crtc_get_encoder public +Subject: [PATCH 0012/1284] drm/vc4: Make vc4_crtc_get_encoder public We'll need that function in vc4_kms to compute the core clock rate requirements. @@ -2185,13 +2185,13 @@ index 94c178738fc1..ee2b0909bfd1 100644 struct drm_crtc_state base; /* Dlist area for this CRTC configuration. */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 14 Jun 2021 15:27:24 +0200 -Subject: [PATCH 0013/1219] drm/vc4: crtc: Add encoder to vc4_crtc_config_pv +Subject: [PATCH 0013/1284] drm/vc4: crtc: Add encoder to vc4_crtc_config_pv prototype vc4_crtc_config_pv() retrieves the encoder again, even though its only @@ -2234,13 +2234,13 @@ index 8a1fab73b163..f6eb77f7240b 100644 CRTC_WRITE(PV_CONTROL, CRTC_READ(PV_CONTROL) | PV_CONTROL_EN); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Jun 2021 16:07:22 +0200 -Subject: [PATCH 0014/1219] drm/vc4: crtc: Rework the encoder retrieval code +Subject: [PATCH 0014/1284] drm/vc4: crtc: Rework the encoder retrieval code (again) It turns out the encoder retrieval code, in addition to being @@ -2337,13 +2337,13 @@ index ee2b0909bfd1..044c12c05d8b 100644 struct vc4_crtc_state { struct drm_crtc_state base; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Jun 2021 16:13:02 +0200 -Subject: [PATCH 0015/1219] drm/vc4: crtc: Add some logging +Subject: [PATCH 0015/1284] drm/vc4: crtc: Add some logging The encoder retrieval code has been a source of bugs and glitches in the past and the crtc <-> encoder association been wrong in a number of @@ -2381,13 +2381,13 @@ index 93c8993eed64..38bfd67de323 100644 /* Enable vblank irq handling before crtc is started otherwise -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Jun 2021 17:19:22 +0200 -Subject: [PATCH 0016/1219] drm/vc4: Leverage the load tracker on the BCM2711 +Subject: [PATCH 0016/1284] drm/vc4: Leverage the load tracker on the BCM2711 The load tracker was initially designed to report and warn about a load too high for the HVS. To do so, it computes for each plane the impact @@ -2516,13 +2516,13 @@ index 8574acefd40e..906d3f394cfa 100644 vc4_state = to_vc4_plane_state(state); crtc_state = drm_atomic_get_existing_crtc_state(state->state, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 26 May 2021 16:13:02 +0200 -Subject: [PATCH 0017/1219] drm/vc4: Increase the core clock based on HVS load +Subject: [PATCH 0017/1284] drm/vc4: Increase the core clock based on HVS load Depending on a given HVS output (HVS to PixelValves) and input (planes attached to a channel) load, the HVS needs for the core clock to be @@ -2768,13 +2768,13 @@ index 860e6cd8e7e4..c509e5abf69e 100644 static struct drm_mode_config_helper_funcs vc4_mode_config_helpers = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 19 Aug 2021 15:53:03 +0200 -Subject: [PATCH 0018/1219] drm/vc4: select PM +Subject: [PATCH 0018/1284] drm/vc4: select PM We already depend on runtime PM to get the power domains and clocks for most of the devices supported by the vc4 driver, so let's just select it @@ -2798,13 +2798,13 @@ index e2c147d4015e..4ed07b7cefe3 100644 select SND_PCM_ELD select SND_SOC_GENERIC_DMAENGINE_PCM -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 19 Aug 2021 14:37:04 +0200 -Subject: [PATCH 0019/1219] drm/probe-helper: Create a HPD IRQ event helper for +Subject: [PATCH 0019/1284] drm/probe-helper: Create a HPD IRQ event helper for a single connector The drm_helper_hpd_irq_event() function is iterating over all the @@ -2998,13 +2998,13 @@ index 8d3ed2834d34..04c57564c397 100644 void drm_kms_helper_poll_disable(struct drm_device *dev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 19 Aug 2021 13:50:12 +0200 -Subject: [PATCH 0020/1219] drm/vc4: hdmi: Actually check for the connector +Subject: [PATCH 0020/1284] drm/vc4: hdmi: Actually check for the connector status in hotplug The drm_helper_hpd_irq_event() documentation states that this function @@ -3064,13 +3064,13 @@ index f0ac2fd99cb1..1863b87adca9 100644 return IRQ_HANDLED; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 15 Dec 2021 10:51:14 +0100 -Subject: [PATCH 0021/1219] firmware: raspberrypi: Add +Subject: [PATCH 0021/1284] firmware: raspberrypi: Add RPI_FIRMWARE_NOTIFY_DISPLAY_DONE The RPI_FIRMWARE_NOTIFY_DISPLAY_DONE firmware call allows to tell the @@ -3097,13 +3097,13 @@ index 73ad784fca96..811ea668c4a1 100644 /* Dispmanx TAGS */ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 15 Dec 2021 10:51:16 +0100 -Subject: [PATCH 0022/1219] drm/vc4: Remove conflicting framebuffers before +Subject: [PATCH 0022/1284] drm/vc4: Remove conflicting framebuffers before callind bind_all The bind hooks will modify their controller registers, so simplefb is @@ -3142,13 +3142,13 @@ index 099df15e1a61..4055ec3245d4 100644 goto unbind_all; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 15 Dec 2021 10:51:17 +0100 -Subject: [PATCH 0023/1219] drm/vc4: Notify the firmware when DRM is in charge +Subject: [PATCH 0023/1284] drm/vc4: Notify the firmware when DRM is in charge Once the call to drm_fb_helper_remove_conflicting_framebuffers() has been made, simplefb has been unregistered and the KMS driver is entirely @@ -3217,13 +3217,13 @@ index 4055ec3245d4..ae9bfd7b3443 100644 if (ret) return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 0024/1219] arm: partially revert +Subject: [PATCH 0024/1284] arm: partially revert 702b94bff3c50542a6e4ab9a4f4cef093262fe65 * Re-expose some dmi APIs for use in VCSM @@ -3328,13 +3328,13 @@ index e21249548e9f..33e4a9b8f1ba 100644 EXPORT_SYMBOL(cpu_cache); #endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 29 Oct 2018 14:45:45 +0000 -Subject: [PATCH 0025/1219] Revert "rtc: pcf8523: properly handle oscillator +Subject: [PATCH 0025/1284] Revert "rtc: pcf8523: properly handle oscillator stop bit" This reverts commit ede44c908d44b166a5b6bd7caacd105c2ff5a70f. @@ -3382,13 +3382,13 @@ index 8b6fb20774bf..ad2231f1faac 100644 tm->tm_sec = bcd2bin(regs[0] & 0x7f); tm->tm_min = bcd2bin(regs[1] & 0x7f); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 15 Mar 2019 21:11:10 +0000 -Subject: [PATCH 0026/1219] Revert "staging: bcm2835-audio: Drop DT dependency" +Subject: [PATCH 0026/1284] Revert "staging: bcm2835-audio: Drop DT dependency" This reverts commit b7491a9fca2dc2535b9dc922550a37c5baae9d3d. --- @@ -3484,13 +3484,13 @@ index c250fbef2fa3..b42917c25050 100644 MODULE_LICENSE("GPL"); -MODULE_ALIAS("platform:bcm2835_audio"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 20 Apr 2020 13:41:10 +0100 -Subject: [PATCH 0027/1219] Revert "spi: spidev: Fix CS polarity if GPIO +Subject: [PATCH 0027/1284] Revert "spi: spidev: Fix CS polarity if GPIO descriptors are used" This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28. @@ -3499,10 +3499,10 @@ This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28. 1 file changed, 5 deletions(-) diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index 1bd73e322b7b..795bef1efcc6 100644 +index d233e2424ad1..2798a8d14f4a 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -402,7 +402,6 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) +@@ -413,7 +413,6 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) else retval = get_user(tmp, (u32 __user *)arg); if (retval == 0) { @@ -3510,7 +3510,7 @@ index 1bd73e322b7b..795bef1efcc6 100644 u32 save = spi->mode; if (tmp & ~SPI_MODE_MASK) { -@@ -410,10 +409,6 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) +@@ -421,10 +420,6 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) break; } @@ -3522,13 +3522,13 @@ index 1bd73e322b7b..795bef1efcc6 100644 spi->mode = (u16)tmp; retval = spi_setup(spi); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 1 Mar 2021 09:12:44 +0000 -Subject: [PATCH 0028/1219] Revert "Bluetooth: Always request for user +Subject: [PATCH 0028/1284] Revert "Bluetooth: Always request for user confirmation for Just Works (LE SC)" This reverts commit ffee202a78c2980688bc5d2f7d56480e69a5e0c9. @@ -3573,13 +3573,13 @@ index 11f853d0500f..3efb60918dda 100644 hcon->dst_type, passkey, confirm_hint); if (err) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 1 Mar 2021 09:14:35 +0000 -Subject: [PATCH 0029/1219] Revert "Bluetooth: Always request for user +Subject: [PATCH 0029/1284] Revert "Bluetooth: Always request for user confirmation for Just Works" This reverts commit 92516cd97fd4d8ad5b1421a0d51771044f453a5f. @@ -3622,13 +3622,13 @@ index 3efb60918dda..6f555b3c96a6 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 0030/1219] smsx95xx: fix crimes against truesize +Subject: [PATCH 0030/1284] 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. @@ -3675,13 +3675,13 @@ index 7cf9206638c3..e1f2051ce189 100644 usbnet_skb_return(dev, ax_skb); } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 0031/1219] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 0031/1284] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -3724,13 +3724,13 @@ index e1f2051ce189..271740d9f7cc 100644 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 0032/1219] Allow mac address to be set in smsc95xx +Subject: [PATCH 0032/1284] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -3826,13 +3826,13 @@ index 271740d9f7cc..7b0d7dc531c0 100644 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 27 Nov 2017 17:14:54 +0000 -Subject: [PATCH 0033/1219] cgroup: Disable cgroup "memory" by default +Subject: [PATCH 0033/1284] 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: @@ -3917,13 +3917,13 @@ index a92990f070d1..b58ece486896 100644 static int __init enable_cgroup_debug(char *str) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 0034/1219] Protect __release_resource against resources +Subject: [PATCH 0034/1284] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -3951,13 +3951,13 @@ index 20e10e48f052..d40758ec7b9d 100644 for (;;) { tmp = *p; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 0035/1219] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 0035/1284] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -3981,13 +3981,13 @@ index 501facdb4570..b6a7036305d8 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 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 0036/1219] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 0036/1284] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -4116,13 +4116,13 @@ index adc1556ed332..0ae3b5d4d2de 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 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 0037/1219] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 0037/1284] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -4221,13 +4221,13 @@ index 0ae3b5d4d2de..a6ffff76c539 100644 for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 0038/1219] spi: spidev: Completely disable the spidev warning +Subject: [PATCH 0038/1284] 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. @@ -4238,10 +4238,10 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index 795bef1efcc6..9a3b8a51eaef 100644 +index 2798a8d14f4a..b5ba2ddbc0de 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -746,7 +746,7 @@ static int spidev_probe(struct spi_device *spi) +@@ -757,7 +757,7 @@ static int spidev_probe(struct spi_device *spi) * compatible string, it is a Linux implementation thing * rather than a description of the hardware. */ @@ -4251,13 +4251,13 @@ index 795bef1efcc6..9a3b8a51eaef 100644 "%pOF: buggy DT: spidev listed directly in DT\n", spi->dev.of_node); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 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 0039/1219] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 0039/1284] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -4360,13 +4360,13 @@ index 630dfbb01a40..bf7ba96a39f9 100644 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 0040/1219] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 0040/1284] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -4386,13 +4386,13 @@ index 7473e6c8a183..4b986b338654 100644 MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 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 0041/1219] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 0041/1284] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -4494,13 +4494,13 @@ index 94907176a0e4..58d5a1b89584 100644 static int bcm2835_wdt_probe(struct platform_device *pdev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 0042/1219] reboot: Use power off rather than busy spinning +Subject: [PATCH 0042/1284] reboot: Use power off rather than busy spinning when halt is requested --- @@ -4523,13 +4523,13 @@ index 3044fcb8d073..fe22c46d9943 100644 /* -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 0043/1219] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 0043/1284] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -4548,13 +4548,13 @@ index 24f92a6e882a..a6a705ec30c7 100644 help This enables support for the RPi power domains which can be enabled -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 0044/1219] Register the clocks early during the boot process, +Subject: [PATCH 0044/1284] 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. @@ -4599,13 +4599,13 @@ index 141ce19bc570..b4b83a4f5e94 100644 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 0045/1219] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 0045/1284] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -4630,13 +4630,13 @@ index e7dd457e9b22..f9a4a89e762b 100644 return ret; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 0046/1219] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 0046/1284] 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 @@ -4664,13 +4664,13 @@ index b4b83a4f5e94..e29260b70669 100644 divider->data = divider_data; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 0047/1219] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 0047/1284] 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, @@ -4790,13 +4790,13 @@ index e29260b70669..768bde50ed82 100644 sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 0048/1219] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 0048/1284] 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 @@ -4911,13 +4911,13 @@ index 768bde50ed82..90069a397fc5 100644 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 0049/1219] sound: Demote deferral errors to INFO level +Subject: [PATCH 0049/1284] 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. @@ -4952,13 +4952,13 @@ index 1b1749b920f4..4683c96754d4 100644 goto _err_defer; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 0050/1219] Update vfpmodule.c +Subject: [PATCH 0050/1284] 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 @@ -5095,13 +5095,13 @@ index 2cb355c1b5b7..1e2dcf81aefa 100644 /* * Save the userland NEON/VFP state. Under UP, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 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 0051/1219] i2c: bcm2835: Add debug support +Subject: [PATCH 0051/1284] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -5290,13 +5290,13 @@ index f72c6576d8a3..394282a37f67 100644 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Jan 2018 16:52:45 +0000 -Subject: [PATCH 0052/1219] irqchip: irq-bcm2836: Remove regmap and syscon use +Subject: [PATCH 0052/1284] 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 @@ -5410,13 +5410,13 @@ index b6a7036305d8..867c3b43490c 100644 intc.domain = irq_domain_add_linear(node, LAST_IRQ + 1, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 15:04:29 +0100 -Subject: [PATCH 0053/1219] lan78xx: Enable LEDs and auto-negotiation +Subject: [PATCH 0053/1284] 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 @@ -5465,13 +5465,13 @@ index 3e1a83a22fdd..26e0f1678b38 100644 if (ret < 0) return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 0054/1219] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 0054/1284] 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 @@ -5483,10 +5483,10 @@ use the same logic. 1 file changed, 5 insertions(+) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 300a8bbb4b80..35b9ca5bbae9 100644 +index 7c8515f83f0a..d44a7490e132 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2744,7 +2744,12 @@ static int pl011_setup_port(struct device *dev, struct uart_amba_port *uap, +@@ -2756,7 +2756,12 @@ static int pl011_setup_port(struct device *dev, struct uart_amba_port *uap, if (IS_ERR(base)) return PTR_ERR(base); @@ -5500,13 +5500,13 @@ index 300a8bbb4b80..35b9ca5bbae9 100644 uap->old_cr = 0; uap->port.dev = dev; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 0055/1219] amba_pl011: Round input clock up +Subject: [PATCH 0055/1284] 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 @@ -5530,10 +5530,10 @@ Signed-off-by: Phil Elwell 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 35b9ca5bbae9..310c7fa6baea 100644 +index d44a7490e132..4622719180b9 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -1727,6 +1727,23 @@ static void pl011_put_poll_char(struct uart_port *port, +@@ -1730,6 +1730,23 @@ static void pl011_put_poll_char(struct uart_port *port, #endif /* CONFIG_CONSOLE_POLL */ @@ -5557,7 +5557,7 @@ index 35b9ca5bbae9..310c7fa6baea 100644 static int pl011_hwinit(struct uart_port *port) { struct uart_amba_port *uap = -@@ -1743,7 +1760,7 @@ static int pl011_hwinit(struct uart_port *port) +@@ -1746,7 +1763,7 @@ static int pl011_hwinit(struct uart_port *port) if (retval) return retval; @@ -5566,7 +5566,7 @@ index 35b9ca5bbae9..310c7fa6baea 100644 /* Clear pending error and receive interrupts */ pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS | -@@ -2440,7 +2457,7 @@ static int pl011_console_setup(struct console *co, char *options) +@@ -2452,7 +2469,7 @@ static int pl011_console_setup(struct console *co, char *options) plat->init(); } @@ -5575,7 +5575,7 @@ index 35b9ca5bbae9..310c7fa6baea 100644 if (uap->vendor->fixed_options) { baud = uap->fixed_baud; -@@ -2657,6 +2674,7 @@ static struct uart_driver amba_reg = { +@@ -2669,6 +2686,7 @@ static struct uart_driver amba_reg = { .cons = AMBA_CONSOLE, }; @@ -5583,7 +5583,7 @@ index 35b9ca5bbae9..310c7fa6baea 100644 static int pl011_probe_dt_alias(int index, struct device *dev) { struct device_node *np; -@@ -2688,6 +2706,7 @@ static int pl011_probe_dt_alias(int index, struct device *dev) +@@ -2700,6 +2718,7 @@ static int pl011_probe_dt_alias(int index, struct device *dev) return ret; } @@ -5592,13 +5592,13 @@ index 35b9ca5bbae9..310c7fa6baea 100644 /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 0056/1219] amba_pl011: Insert mb() for correct FIFO handling +Subject: [PATCH 0056/1284] 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 @@ -5613,10 +5613,10 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 310c7fa6baea..ad0a5e7a8abb 100644 +index 4622719180b9..d99dccdc8421 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -1432,6 +1432,7 @@ static bool pl011_tx_char(struct uart_amba_port *uap, unsigned char c, +@@ -1435,6 +1435,7 @@ static bool pl011_tx_char(struct uart_amba_port *uap, unsigned char c, return false; /* unable to transmit character */ pl011_write(c, uap, REG_DR); @@ -5625,13 +5625,13 @@ index 310c7fa6baea..ad0a5e7a8abb 100644 return true; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 0057/1219] amba_pl011: Add cts-event-workaround DT property +Subject: [PATCH 0057/1284] 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 @@ -5667,10 +5667,10 @@ index 5ea00f8a283d..8df2883abc04 100644 - compatible - reg diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index ad0a5e7a8abb..a4cd3d98359a 100644 +index d99dccdc8421..d64c03119015 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2835,6 +2835,11 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id) +@@ -2847,6 +2847,11 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id) if (IS_ERR(uap->clk)) return PTR_ERR(uap->clk); @@ -5683,13 +5683,13 @@ index ad0a5e7a8abb..a4cd3d98359a 100644 uap->vendor = vendor; uap->fifosize = vendor->get_fifosize(dev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 Jan 2020 09:35:19 +0000 -Subject: [PATCH 0058/1219] tty: amba-pl011: Avoid rare write-when-full error +Subject: [PATCH 0058/1284] 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 @@ -5716,10 +5716,10 @@ Signed-off-by: Phil Elwell 1 file changed, 4 insertions(+) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index a4cd3d98359a..740389fa601b 100644 +index d64c03119015..a67d7eac221f 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -1493,6 +1493,10 @@ static bool pl011_tx_chars(struct uart_amba_port *uap, bool from_irq) +@@ -1496,6 +1496,10 @@ static bool pl011_tx_chars(struct uart_amba_port *uap, bool from_irq) if (likely(from_irq) && count-- == 0) break; @@ -5731,13 +5731,13 @@ index a4cd3d98359a..740389fa601b 100644 break; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 0059/1219] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 0059/1284] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -5777,13 +5777,13 @@ index a2938995c7c1..ce67182de720 100644 .can_sleep = false, .of_gpio_ranges_fallback = bcm2835_of_gpio_ranges_fallback, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 0060/1219] Main bcm2708/bcm2709 linux port +Subject: [PATCH 0060/1284] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -5939,13 +5939,13 @@ index 86b7ce3549c5..f0c2ad3d59c9 100644 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 0061/1219] Add dwc_otg driver +Subject: [PATCH 0061/1284] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67762,13 +67762,13 @@ index 000000000000..cdc9963176e5 +test_main(); +0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 0062/1219] bcm2708 framebuffer driver +Subject: [PATCH 0062/1284] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67871,7 +67871,7 @@ Signed-off-by: Dave Stevenson create mode 100644 drivers/video/fbdev/bcm2708_fb.c diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig -index 6ed5e608dd04..0b409636ebcd 100644 +index 26531aa19428..043333e92c85 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -219,6 +219,20 @@ config FB_TILEBLITTING @@ -71336,13 +71336,13 @@ index 811ea668c4a1..3b847c9acb5a 100644 RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a, RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 14 Mar 2019 13:27:54 +0000 -Subject: [PATCH 0063/1219] Pulled in the multi frame buffer support from the +Subject: [PATCH 0063/1284] Pulled in the multi frame buffer support from the Pi3 repo --- @@ -72171,13 +72171,13 @@ index 3b847c9acb5a..e93414410485 100644 int rpi_firmware_property(struct rpi_firmware *fw, u32 tag, void *data, size_t len); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 0064/1219] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 0064/1284] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -72518,13 +72518,13 @@ index 4c14e8be7267..3c6f12b76214 100644 __u32 dx; /* screen-relative */ __u32 dy; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 0065/1219] Speed up console framebuffer imageblit function +Subject: [PATCH 0065/1284] 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 @@ -72733,13 +72733,13 @@ index a2bb276a8b24..436494fba15a 100644 start_index, pitch_index); } else -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 0066/1219] dmaengine: Add support for BCM2708 +Subject: [PATCH 0066/1284] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -73387,13 +73387,13 @@ index 000000000000..6ca874d332a8 + +#endif /* _PLAT_BCM2708_DMA_H */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 0067/1219] MMC: added alternative MMC driver +Subject: [PATCH 0067/1284] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -73684,10 +73684,10 @@ index ed034b93cb25..02fa6cce0b00 100644 if (ret) goto out; diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c -index 47de3790058e..b9cd0d7db55f 100644 +index 07eda6cc6767..e7f35575aa1e 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c -@@ -1807,7 +1807,8 @@ EXPORT_SYMBOL(mmc_erase); +@@ -1812,7 +1812,8 @@ EXPORT_SYMBOL(mmc_erase); int mmc_can_erase(struct mmc_card *card) { @@ -75381,7 +75381,7 @@ index 032bf852397f..37b0e1cfe7b7 100644 .reset = sdhci_reset, .set_uhs_signaling = sdhci_set_uhs_signaling, diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c -index 7728f26adb19..05a251d83829 100644 +index cda145c2ebb6..ee50e1565244 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -40,7 +40,7 @@ @@ -75393,7 +75393,7 @@ index 7728f26adb19..05a251d83829 100644 #define MAX_TUNING_LOOP 40 -@@ -3143,7 +3143,7 @@ static void sdhci_timeout_timer(struct timer_list *t) +@@ -3188,7 +3188,7 @@ static void sdhci_timeout_timer(struct timer_list *t) spin_lock_irqsave(&host->lock, flags); if (host->cmd && !sdhci_data_line_cmd(host->cmd)) { @@ -75402,7 +75402,7 @@ index 7728f26adb19..05a251d83829 100644 mmc_hostname(host->mmc)); sdhci_dumpregs(host); -@@ -3165,7 +3165,7 @@ static void sdhci_timeout_data_timer(struct timer_list *t) +@@ -3210,7 +3210,7 @@ static void sdhci_timeout_data_timer(struct timer_list *t) if (host->data || host->data_cmd || (host->cmd && sdhci_data_line_cmd(host->cmd))) { @@ -75425,13 +75425,13 @@ index 12c7f2d3e210..0557b0e5c42c 100644 unsigned int erase_size; /* erase size in sectors */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 0068/1219] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 0068/1284] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -77937,13 +77937,13 @@ index 000000000000..2c4124082785 +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 0069/1219] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 0069/1284] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -78446,13 +78446,13 @@ index 000000000000..3c7079237496 + +#endif /* _VC_MEM_H */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 0070/1219] Add /dev/gpiomem device for rootless user GPIO +Subject: [PATCH 0070/1284] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -78757,13 +78757,13 @@ index 000000000000..f5e7f1ba8fb6 +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 0071/1219] Add SMI driver +Subject: [PATCH 0071/1284] Add SMI driver Signed-off-by: Luke Wren @@ -80694,13 +80694,13 @@ index 000000000000..ee3a75edfc03 + +#endif /* BCM2835_SMI_H */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 0072/1219] Add Chris Boot's i2c driver +Subject: [PATCH 0072/1284] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -81365,13 +81365,13 @@ index 000000000000..962f2e5c7455 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 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 0073/1219] char: broadcom: Add vcio module +Subject: [PATCH 0073/1284] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -81630,13 +81630,13 @@ index 000000000000..d2598663a2b5 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 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 0074/1219] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 0074/1284] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -81661,7 +81661,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 4b8978b254f9..54619623fe86 100644 +index dba315f675bc..2ace1a4e4822 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -32,6 +32,8 @@ struct rpi_firmware { @@ -81673,7 +81673,7 @@ index 4b8978b254f9..54619623fe86 100644 static DEFINE_MUTEX(transaction_lock); static void response_callback(struct mbox_client *cl, void *msg) -@@ -279,6 +281,7 @@ static int rpi_firmware_probe(struct platform_device *pdev) +@@ -280,6 +282,7 @@ static int rpi_firmware_probe(struct platform_device *pdev) kref_init(&fw->consumers); platform_set_drvdata(pdev, fw); @@ -81681,7 +81681,7 @@ index 4b8978b254f9..54619623fe86 100644 rpi_firmware_print_firmware_revision(fw); rpi_register_hwmon_driver(dev, fw); -@@ -307,6 +310,7 @@ static int rpi_firmware_remove(struct platform_device *pdev) +@@ -308,6 +311,7 @@ static int rpi_firmware_remove(struct platform_device *pdev) rpi_clk = NULL; rpi_firmware_put(fw); @@ -81689,7 +81689,7 @@ index 4b8978b254f9..54619623fe86 100644 return 0; } -@@ -381,7 +385,18 @@ static struct platform_driver rpi_firmware_driver = { +@@ -382,7 +386,18 @@ static struct platform_driver rpi_firmware_driver = { .shutdown = rpi_firmware_shutdown, .remove = rpi_firmware_remove, }; @@ -81710,13 +81710,13 @@ index 4b8978b254f9..54619623fe86 100644 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 0075/1219] BCM2708: Add core Device Tree support +Subject: [PATCH 0075/1284] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -111889,13 +111889,13 @@ index 0a8a4689c3eb..dff7d1ef5ff4 100644 # Bzip2 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 0076/1219] leds: Add the "input" trigger, for pwr_led +Subject: [PATCH 0076/1284] leds: Add the "input" trigger, for pwr_led The "input" trigger makes the associated GPIO an input. This is to support the Raspberry Pi PWR LED, which is driven by external hardware in normal use. @@ -112072,13 +112072,13 @@ index a0b730be40ad..cb9a65b4b0f4 100644 /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:54:08 +0100 -Subject: [PATCH 0077/1219] Added Device IDs for August DVB-T 205 +Subject: [PATCH 0077/1284] Added Device IDs for August DVB-T 205 --- drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++ @@ -112100,13 +112100,13 @@ index 795a012d4020..adb1028d5f25 100644 &rtl28xxu_props, "Leadtek WinFast DTV Dongle mini", NULL) }, { DVB_USB_DEVICE(USB_VID_GTEK, USB_PID_CPYTO_REDI_PC50A, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 0078/1219] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 0078/1284] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -113723,13 +113723,13 @@ index d802ded21ed6..a77c495f8378 100644 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 0079/1219] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 0079/1284] 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 @@ -113764,13 +113764,13 @@ index 1c5af2fef142..3e670131f2a8 100644 "%s: pm_power_off function already registered\n", __func__); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 0080/1219] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 0080/1284] mfd: Add Raspberry Pi Sense HAT core driver mfd: Add rpi_sense_core of compatible string --- @@ -113795,10 +113795,10 @@ mfd: Add rpi_sense_core of compatible string create mode 100644 include/linux/mfd/rpisense/joystick.h diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig -index 3b23078bc7b5..483653110314 100644 +index db4135bbd279..809c89666877 100644 --- a/drivers/input/joystick/Kconfig +++ b/drivers/input/joystick/Kconfig -@@ -399,4 +399,12 @@ config JOYSTICK_N64 +@@ -400,4 +400,12 @@ config JOYSTICK_N64 Say Y here if you want enable support for the four built-in controller ports on the Nintendo 64 console. @@ -113980,7 +113980,7 @@ index 000000000000..6a416769065d +MODULE_AUTHOR("Serge Schneider "); +MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index d2f345245538..c79bb26f48d2 100644 +index 5dd7ea0ebd46..02a246a497f2 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -11,6 +11,14 @@ config MFD_CORE @@ -114182,7 +114182,7 @@ index 000000000000..6cfd63e5e8b8 +MODULE_LICENSE("GPL"); + diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig -index 0b409636ebcd..e7f1a831f947 100644 +index 043333e92c85..d10bc37144a1 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -2252,6 +2252,19 @@ config FB_SM712 @@ -114649,13 +114649,13 @@ index 000000000000..56196dc2af10 + +#endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 0081/1219] Add support for all the downstream rpi sound card +Subject: [PATCH 0081/1284] Add support for all the downstream rpi sound card drivers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -130992,7 +130992,7 @@ index 000000000000..36b5b6c26655 +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c -index 60dee41816dc..33ed3bbf0362 100644 +index 1c26577f08ee..c45819ccf9ea 100644 --- a/sound/soc/codecs/pcm512x.c +++ b/sound/soc/codecs/pcm512x.c @@ -536,7 +536,7 @@ static unsigned long pcm512x_ncp_target(struct pcm512x_priv *pcm512x, @@ -131644,13 +131644,13 @@ index 4683c96754d4..47bc308b86c4 100644 unsigned int fmt = dai_fmt; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 0082/1219] rpi_display: add backlight driver and overlay +Subject: [PATCH 0082/1284] 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 @@ -131827,13 +131827,13 @@ index 000000000000..14a0d9b03739 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 0083/1219] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 0083/1284] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -132094,13 +132094,13 @@ index 000000000000..49e28ad9760e +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 0084/1219] OF: DT-Overlay configfs interface +Subject: [PATCH 0084/1284] 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. @@ -132535,13 +132535,13 @@ index 000000000000..178f0629b0f0 +} +late_initcall(of_cfs_init); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 0085/1219] brcm: adds support for BCM43341 wifi +Subject: [PATCH 0085/1284] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -132626,7 +132626,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 f7961b22e051..73db8489a8a9 100644 +index 5006aa831751..677c111e8326 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"); @@ -132647,13 +132647,13 @@ index f7961b22e051..73db8489a8a9 100644 BRCMF_FW_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 0086/1219] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 0086/1284] 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. @@ -132662,7 +132662,7 @@ 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 e0ea9d25bb39..c43911488880 100644 +index 1363b21c81b7..a77f70464db6 100644 --- a/drivers/bluetooth/hci_h5.c +++ b/drivers/bluetooth/hci_h5.c @@ -357,7 +357,8 @@ static void h5_handle_internal_rx(struct hci_uart *hu) @@ -132676,13 +132676,13 @@ index e0ea9d25bb39..c43911488880 100644 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 0087/1219] config: Add default configs +Subject: [PATCH 0087/1284] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1445 +++++++++++++++++++++++++ @@ -139946,13 +139946,13 @@ index 000000000000..235fecf9c903 +CONFIG_SCHED_TRACER=y +CONFIG_BLK_DEV_IO_TRACE=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 0088/1219] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 0088/1284] 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 @@ -140026,13 +140026,13 @@ index 867c3b43490c..f9da3f2a5f01 100644 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 0089/1219] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 0089/1284] ARM64: Force hardware emulation of deprecated instructions. --- @@ -140060,13 +140060,13 @@ index c5da9d1e954a..cf34ae0755db 100644 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 0090/1219] cache: export clean and invalidate +Subject: [PATCH 0090/1284] cache: export clean and invalidate hack: cache: Fix linker error --- @@ -140121,13 +140121,13 @@ index 830bbfb26ca5..097248743b4c 100644 sub r3, r2, #1 bic r0, r0, r3 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 14 Nov 2017 15:13:15 +0000 -Subject: [PATCH 0091/1219] AXI performance monitor driver (#2222) +Subject: [PATCH 0091/1284] AXI performance monitor driver (#2222) Uses the debugfs I/F to provide access to the AXI bus performance monitors. @@ -140823,13 +140823,13 @@ index 000000000000..5ae2bdaa88b4 +MODULE_LICENSE("GPL"); + -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 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 0092/1219] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 0092/1284] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -140892,13 +140892,13 @@ index bfc556f76720..73ec2427fbcf 100644 .smp = smp_ops(bcm2836_smp_ops), MACHINE_END -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 16 Jul 2018 14:40:13 +0100 -Subject: [PATCH 0093/1219] dwc-otg: FIQ: Fix "bad mode in data abort handler" +Subject: [PATCH 0093/1284] 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 @@ -141014,13 +141014,13 @@ index 73ec2427fbcf..9b6c921106b5 100644 .dt_compat = bcm2835_compat, .smp = smp_ops(bcm2836_smp_ops), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Dec 2017 09:18:32 +0000 -Subject: [PATCH 0094/1219] ARM: Activate FIQs to avoid __irq_startup warnings +Subject: [PATCH 0094/1284] 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. @@ -141056,13 +141056,13 @@ index 98ca3e3fa847..c3fe7d3cf482 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 20 Feb 2018 10:07:27 +0000 -Subject: [PATCH 0095/1219] i2c-gpio: Also set bus numbers from reg property +Subject: [PATCH 0095/1284] 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 @@ -141097,13 +141097,13 @@ index 7a048abbf92b..08ad370c9881 100644 if (ret) return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: hdoverobinson Date: Tue, 13 Mar 2018 06:58:39 -0400 -Subject: [PATCH 0096/1219] added capture_clear option to pps-gpio via +Subject: [PATCH 0096/1284] added capture_clear option to pps-gpio via dtoverlay (#2433) --- @@ -141125,13 +141125,13 @@ index 2f4b11b4dfcd..b10b43538542 100644 if (IS_ERR(data->echo_pin)) return dev_err_probe(dev, PTR_ERR(data->echo_pin), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 9 Mar 2018 12:01:00 +0000 -Subject: [PATCH 0097/1219] lan78xx: Read initial EEE status from DT +Subject: [PATCH 0097/1284] lan78xx: Read initial EEE status from DT Add two new DT properties: * microchip,eee-enabled - a boolean to enable EEE @@ -141171,13 +141171,13 @@ index 26e0f1678b38..e56ec891ed53 100644 if (dev->urb_intr) { ret = usb_submit_urb(dev->urb_intr, GFP_KERNEL); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 0098/1219] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 0098/1284] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -141209,13 +141209,13 @@ index 2dcaf31eb9cd..8a9d8214d8af 100644 break; case HID_GD_JOYSTICK: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nick Bulleid Date: Thu, 10 May 2018 21:57:02 +0100 -Subject: [PATCH 0099/1219] Add ability to export gpio used by gpio-poweroff +Subject: [PATCH 0099/1284] Add ability to export gpio used by gpio-poweroff Signed-off-by: Nick Bulleid @@ -141274,13 +141274,13 @@ index 3e670131f2a8..e5dca66360a7 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 12 May 2018 21:35:43 +0100 -Subject: [PATCH 0100/1219] firmware/raspberrypi: Notify firmware of a reboot +Subject: [PATCH 0100/1284] firmware/raspberrypi: Notify firmware of a reboot Register for reboot notifications, sending RPI_FIRMWARE_NOTIFY_REBOOT over the mailbox interface on reception. @@ -141291,7 +141291,7 @@ Signed-off-by: Phil Elwell 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 54619623fe86..48d724aba308 100644 +index 2ace1a4e4822..11df82a893ef 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -12,6 +12,7 @@ @@ -141329,7 +141329,7 @@ index 54619623fe86..48d724aba308 100644 static void rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) { -@@ -386,15 +407,32 @@ static struct platform_driver rpi_firmware_driver = { +@@ -387,15 +408,32 @@ static struct platform_driver rpi_firmware_driver = { .remove = rpi_firmware_remove, }; @@ -141364,13 +141364,13 @@ index 54619623fe86..48d724aba308 100644 module_exit(rpi_firmware_exit); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 14 Jun 2018 11:21:04 +0100 -Subject: [PATCH 0101/1219] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time +Subject: [PATCH 0101/1284] 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 @@ -141436,13 +141436,13 @@ index 8950debf451b..7ed1b1fc642d 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 14 Jun 2018 15:07:26 +0100 -Subject: [PATCH 0102/1219] of: configfs: Use of_overlay_fdt_apply API call +Subject: [PATCH 0102/1284] 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 @@ -141556,13 +141556,13 @@ index 178f0629b0f0..ac04301dabe1 100644 config_item_init_type_name(&overlay->item, name, &cfs_overlay_type); return &overlay->item; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Jun 2018 15:21:10 +0100 -Subject: [PATCH 0103/1219] net: lan78xx: Disable TCP Segmentation Offload +Subject: [PATCH 0103/1284] net: lan78xx: Disable TCP Segmentation Offload (TSO) TSO seems to be having issues when packets are dropped and the @@ -141619,13 +141619,13 @@ index e56ec891ed53..cb940eeebcf4 100644 if (DEFAULT_VLAN_RX_OFFLOAD) dev->net->features |= NETIF_F_HW_VLAN_CTAG_RX; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 Jun 2018 12:20:01 +0100 -Subject: [PATCH 0104/1219] brcmfmac: Re-enable firmware roaming support +Subject: [PATCH 0104/1284] 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 @@ -141654,13 +141654,13 @@ index 591dcd04b4b4..e3758bd86acf 100644 MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 5 Apr 2018 14:46:11 +0100 -Subject: [PATCH 0105/1219] lan78xx: Move enabling of EEE into PHY init code +Subject: [PATCH 0105/1284] 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 @@ -141724,13 +141724,13 @@ index cb940eeebcf4..89ecb0ce8685 100644 if (dev->urb_intr) { ret = usb_submit_urb(dev->urb_intr, GFP_KERNEL); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 17 Sep 2018 17:31:18 +0100 -Subject: [PATCH 0106/1219] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 +Subject: [PATCH 0106/1284] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with MEDIA_SUBDRV_AUTOSELECT --- @@ -141750,13 +141750,13 @@ index 857ef4ace6e9..deae75ea3c44 100644 help Choose if you would like to have SPI interface support for Sony CXD2880. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 13 Oct 2018 13:31:21 +0200 -Subject: [PATCH 0107/1219] firmware: raspberrypi: Add backward compatible +Subject: [PATCH 0107/1284] firmware: raspberrypi: Add backward compatible get_throttled Avoid a hard userspace ABI change by adding a compatible get_throttled @@ -141770,7 +141770,7 @@ Signed-off-by: Stefan Wahren 1 file changed, 33 insertions(+) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 48d724aba308..2a9edea7f0f1 100644 +index 11df82a893ef..24eeb1700ed7 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -31,6 +31,7 @@ struct rpi_firmware { @@ -141835,13 +141835,13 @@ index 48d724aba308..2a9edea7f0f1 100644 static void rpi_register_clk_driver(struct device *dev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 6 Nov 2018 12:57:48 +0000 -Subject: [PATCH 0108/1219] sc16is7xx: Don't spin if no data received +Subject: [PATCH 0108/1284] sc16is7xx: Don't spin if no data received See: https://github.com/raspberrypi/linux/issues/2676 @@ -141864,13 +141864,13 @@ index 0ab788058fa2..a7b40ee6b94d 100644 case SC16IS7XX_IIR_THRI_SRC: sc16is7xx_handle_tx(port); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ram Chandrasekar Date: Mon, 7 May 2018 11:54:08 -0600 -Subject: [PATCH 0109/1219] drivers: thermal: step_wise: add support for +Subject: [PATCH 0109/1284] drivers: thermal: step_wise: add support for hysteresis Step wise governor increases the mitigation level when the temperature @@ -141959,13 +141959,13 @@ index 12acb12aac50..9c8d615f3b63 100644 dev_dbg(&instance->cdev->device, "old_target=%d, target=%d\n", old_target, (int)instance->target); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Tue, 2 Oct 2018 11:14:15 +0100 -Subject: [PATCH 0110/1219] drivers: thermal: step_wise: avoid throttling at +Subject: [PATCH 0110/1284] drivers: thermal: step_wise: avoid throttling at hysteresis temperature after dropping below it Signed-off-by: Serge Schneider @@ -141987,13 +141987,13 @@ index 9c8d615f3b63..629f02fce2f2 100644 trace_thermal_zone_trip(tz, trip, trip_type); } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Fri, 2 Nov 2018 11:55:49 +0000 -Subject: [PATCH 0111/1219] Update issue templates (#2736) +Subject: [PATCH 0111/1284] Update issue templates (#2736) --- .github/ISSUE_TEMPLATE/bug_report.md | 34 ++++++++++++++++++++++++++++ @@ -142041,13 +142041,13 @@ index 000000000000..09bdc4a96838 +**Additional context** +Add any other relevant context for the problem. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Nov 2018 19:46:58 +0000 -Subject: [PATCH 0112/1219] net: lan78xx: Support auto-downshift to 100Mb/s +Subject: [PATCH 0112/1284] 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 @@ -142142,13 +142142,13 @@ index 517288da19fd..626c450d71f4 100644 #define PHY_ARDENNES_MMD_DEV_3_PHY_CFG (0x806A) #define PHY_ARDENNES_MMD_DEV_3_PHY_CFG_ZD_DLY_EN_ (0x2000) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 10 Jan 2019 17:58:06 +0000 -Subject: [PATCH 0113/1219] firmware: raspberrypi: Report the fw variant during +Subject: [PATCH 0113/1284] firmware: raspberrypi: Report the fw variant during probe The driver already reported the firmware build date during probe. @@ -142173,7 +142173,7 @@ Signed-off-by: Dave Stevenson 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 2a9edea7f0f1..2a7a0a9933d7 100644 +index 24eeb1700ed7..843a77a0aaf3 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -233,6 +233,15 @@ rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) @@ -142229,7 +142229,7 @@ index 2a9edea7f0f1..2a7a0a9933d7 100644 } static void -@@ -338,6 +375,7 @@ static int rpi_firmware_probe(struct platform_device *pdev) +@@ -339,6 +376,7 @@ static int rpi_firmware_probe(struct platform_device *pdev) g_pdev = pdev; rpi_firmware_print_firmware_revision(fw); @@ -142251,13 +142251,13 @@ index e93414410485..119141c91bad 100644 RPI_FIRMWARE_SET_CURSOR_INFO = 0x00008010, RPI_FIRMWARE_SET_CURSOR_STATE = 0x00008011, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joshua Emele Date: Wed, 7 Nov 2018 16:07:40 -0800 -Subject: [PATCH 0114/1219] lan78xx: Debounce link events to minimize poll +Subject: [PATCH 0114/1284] lan78xx: Debounce link events to minimize poll storm The bInterval is set to 4 (i.e. 8 microframes => 1ms) and the only bit @@ -142303,13 +142303,13 @@ index 89ecb0ce8685..28eb51919c46 100644 buf = kmalloc(maxp, GFP_KERNEL); if (buf) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 Mar 2019 09:51:22 +0000 -Subject: [PATCH 0115/1219] lan78xx: EEE support is now a PHY property +Subject: [PATCH 0115/1284] 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. @@ -142335,13 +142335,13 @@ index 28eb51919c46..865240711576 100644 struct ethtool_eee edata; memset(&edata, 0, sizeof(edata)); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 20 Jul 2018 22:03:41 +0100 -Subject: [PATCH 0116/1219] bcm2835-dma: Add support for per-channel flags +Subject: [PATCH 0116/1284] 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 @@ -142389,13 +142389,13 @@ index bf7ba96a39f9..87b5d0bef355 100644 d = c->desc; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 29 Mar 2019 10:53:14 +0000 -Subject: [PATCH 0117/1219] rtc: rv3028: Add backup switchover mode support +Subject: [PATCH 0117/1284] rtc: rv3028: Add backup switchover mode support Signed-off-by: Phil Howard --- @@ -142445,13 +142445,13 @@ index 12c807306893..757c0ff82bdb 100644 if (!device_property_read_u32(&client->dev, "trickle-resistor-ohms", &ohms)) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 2 May 2019 11:53:45 +0100 -Subject: [PATCH 0118/1219] lan78xx: use default alignment for rx buffers +Subject: [PATCH 0118/1284] 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 @@ -142474,13 +142474,13 @@ index 865240711576..0cf3f00b52ff 100644 usb_free_urb(urb); return -ENOMEM; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:56:59 +0000 -Subject: [PATCH 0119/1219] media: tc358743: Increase FIFO level to 374. +Subject: [PATCH 0119/1284] 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 @@ -142511,13 +142511,13 @@ index 3205cd8298dd..ae879e0835ff 100644 * The PLL input clock is obtained by dividing refclk by pll_prd. * It must be between 6 MHz and 40 MHz, lower frequency is better. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Thu, 21 Sep 2017 17:30:24 +0200 -Subject: [PATCH 0120/1219] media: tc358743: fix connected/active CSI-2 lane +Subject: [PATCH 0120/1284] media: tc358743: fix connected/active CSI-2 lane reporting g_mbus_config was supposed to indicate all supported lane numbers, not @@ -142593,13 +142593,13 @@ index 841e190aedd9..80a641840071 100644 /** * enum v4l2_mbus_type - media bus type -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:21 +0000 -Subject: [PATCH 0121/1219] media: tc358743: Add support for 972Mbit/s link +Subject: [PATCH 0121/1284] media: tc358743: Add support for 972Mbit/s link freq. Adds register setups for running the CSI lanes at 972Mbit/s, @@ -142679,13 +142679,13 @@ index 1f4d78b147bb..d5c6e1f0d8bd 100644 state->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:34 +0000 -Subject: [PATCH 0122/1219] media: tc358743: Check I2C succeeded during probe. +Subject: [PATCH 0122/1284] 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. @@ -142783,13 +142783,13 @@ index d5c6e1f0d8bd..80e7afe88a8c 100644 client->addr << 1); return -ENODEV; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:46 +0000 -Subject: [PATCH 0123/1219] media: adv7180: Default to the first valid input +Subject: [PATCH 0123/1284] media: adv7180: Default to the first valid input The hardware default is differential CVBS on AIN1 & 2, which isn't very useful. @@ -142834,13 +142834,13 @@ index d9a99fcfacb1..b0c3635eab71 100644 mutex_unlock(&state->mutex); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:56 +0000 -Subject: [PATCH 0124/1219] media: adv7180: Add YPrPb support for ADV7282M +Subject: [PATCH 0124/1284] 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 @@ -142864,13 +142864,13 @@ index b0c3635eab71..725d52f8c742 100644 BIT(ADV7182_INPUT_DIFF_CVBS_AIN3_AIN4) | BIT(ADV7182_INPUT_DIFF_CVBS_AIN7_AIN8), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:58:08 +0000 -Subject: [PATCH 0125/1219] media: videodev2: Add helper defines for printing +Subject: [PATCH 0125/1284] media: videodev2: Add helper defines for printing FOURCCs New helper defines that allow printing of a FOURCC using @@ -142898,13 +142898,13 @@ index 61c5011dfc13..561fdf631c70 100644 * E N U M S */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:59:06 +0000 -Subject: [PATCH 0126/1219] dt-bindings: Document BCM283x CSI2/CCP2 receiver +Subject: [PATCH 0126/1284] dt-bindings: Document BCM283x CSI2/CCP2 receiver Document the DT bindings for the CSI2/CCP2 receiver peripheral (known as Unicam) on BCM283x SoCs. @@ -143008,13 +143008,13 @@ index 000000000000..7714fb374b34 + }; + }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:59:40 +0000 -Subject: [PATCH 0127/1219] MAINTAINERS: Add entry for BCM2835 Unicam driver +Subject: [PATCH 0127/1284] MAINTAINERS: Add entry for BCM2835 Unicam driver Adds entry for the new BCM2835 Unicam (CSI-2 receiver) driver @@ -143024,7 +143024,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 7 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS -index edc32575828b..44897643a19c 100644 +index 4f50a453e18a..9e980c375228 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3553,6 +3553,13 @@ N: bcm113* @@ -143042,13 +143042,13 @@ index edc32575828b..44897643a19c 100644 M: Hauke Mehrtens M: RafaÅ‚ MiÅ‚ecki -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 22 Nov 2018 17:31:06 +0000 -Subject: [PATCH 0128/1219] media: tc358743: Return an appropriate colorspace +Subject: [PATCH 0128/1284] media: tc358743: Return an appropriate colorspace from tc358743_set_fmt When calling tc358743_set_fmt, the code was calling tc358743_get_fmt @@ -143146,13 +143146,13 @@ index 80e7afe88a8c..69f2d676448e 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 16:20:46 +0000 -Subject: [PATCH 0129/1219] staging: mmal-vchiq: Avoid use of bool in +Subject: [PATCH 0129/1284] staging: mmal-vchiq: Avoid use of bool in structures Fixes up a checkpatch error "Avoid using bool structure members @@ -143177,13 +143177,13 @@ index 76d3f0399964..61b9c09144b1 100644 mutex_unlock(&instance->vchiq_mutex); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 18:15:38 +0100 -Subject: [PATCH 0130/1219] staging: mmal-vchiq: Add support for event +Subject: [PATCH 0130/1284] staging: mmal-vchiq: Add support for event callbacks. (Preparation for the codec driver). @@ -143546,13 +143546,13 @@ index 1dc81ecf9268..e87f88f99338 100644 struct vchiq_mmal_component { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 18:26:02 +0100 -Subject: [PATCH 0131/1219] staging: vc04_services: Support sending data to +Subject: [PATCH 0131/1284] staging: vc04_services: Support sending data to MMAL ports Add the ability to send data to ports. This only supports @@ -143594,13 +143594,13 @@ index e78858d24c4e..2fbb813c27f1 100644 /* clear buffer type specific data */ memset(&m.u.buffer_from_host.buffer_header_type_specific, 0, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 17:57:45 +0000 -Subject: [PATCH 0132/1219] media: videobuf2: Allow exporting of a struct +Subject: [PATCH 0132/1284] media: videobuf2: Allow exporting of a struct dmabuf videobuf2 only allowed exporting a dmabuf as a file descriptor, @@ -143618,10 +143618,10 @@ Signed-off-by: Dave Stevenson 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c -index 033b0c83272f..8f06b89f1a24 100644 +index 30c8497f7c11..24fab57e60bf 100644 --- a/drivers/media/common/videobuf2/videobuf2-core.c +++ b/drivers/media/common/videobuf2/videobuf2-core.c -@@ -2144,12 +2144,12 @@ static int __find_plane_by_offset(struct vb2_queue *q, unsigned long off, +@@ -2195,12 +2195,12 @@ static int __find_plane_by_offset(struct vb2_queue *q, unsigned long off, return -EINVAL; } @@ -143637,7 +143637,7 @@ index 033b0c83272f..8f06b89f1a24 100644 struct dma_buf *dbuf; if (q->memory != VB2_MEMORY_MMAP) { -@@ -2201,6 +2201,21 @@ int vb2_core_expbuf(struct vb2_queue *q, int *fd, unsigned int type, +@@ -2252,6 +2252,21 @@ int vb2_core_expbuf(struct vb2_queue *q, int *fd, unsigned int type, return -EINVAL; } @@ -143686,13 +143686,13 @@ index 3b5986cee073..4b72d0e16ee3 100644 * vb2_core_expbuf() - Export a buffer as a file descriptor. * @q: pointer to &struct vb2_queue with videobuf2 queue. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 22 Jan 2019 12:04:09 +0000 -Subject: [PATCH 0133/1219] staging: mmal-vchiq: Fix client_component for 64 +Subject: [PATCH 0133/1284] staging: mmal-vchiq: Fix client_component for 64 bit kernel The MMAL client_component field is used with the event @@ -143727,13 +143727,13 @@ index 2fbb813c27f1..d6d98b20c76a 100644 struct mmal_msg_context *msg_context; u32 port_num = msg->u.event_to_host.port_num; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 15:09:28 +0000 -Subject: [PATCH 0134/1219] clk: clk-bcm2835: Use %zd when printing size_t +Subject: [PATCH 0134/1284] 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". @@ -143757,13 +143757,13 @@ index 90069a397fc5..35f0d5be4b1d 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Feb 2019 12:33:29 +0000 -Subject: [PATCH 0135/1219] staging: mmal_vchiq: Add in the Bayer encoding +Subject: [PATCH 0135/1284] staging: mmal_vchiq: Add in the Bayer encoding formats The list of formats was copied before Bayer support was added. @@ -143814,13 +143814,13 @@ index 2be9941a1f30..44ba91aa6d47 100644 */ #define MMAL_ENCODING_EGL_IMAGE MMAL_FOURCC('E', 'G', 'L', 'I') -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 18 Feb 2019 15:52:29 +0000 -Subject: [PATCH 0136/1219] staging: mmal-vchiq: Update mmal_parameters.h with +Subject: [PATCH 0136/1284] staging: mmal-vchiq: Update mmal_parameters.h with recently defined params mmal_parameters.h hasn't been updated to reflect additions made @@ -143876,13 +143876,13 @@ index a1e39b1b1701..1793103b18fd 100644 /** Valid mirror modes */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 1 May 2019 13:27:23 +0100 -Subject: [PATCH 0137/1219] staging: mmal-vchiq: Free the event context for +Subject: [PATCH 0137/1284] staging: mmal-vchiq: Free the event context for control ports vchiq_mmal_component_init calls init_event_context for the @@ -143910,13 +143910,13 @@ index d6d98b20c76a..b4893e08f54a 100644 return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 May 2019 15:50:01 +0100 -Subject: [PATCH 0138/1219] staging: mmal-vchiq: Fix memory leak in error path +Subject: [PATCH 0138/1284] staging: mmal-vchiq: Fix memory leak in error path On error, vchiq_mmal_component_init could leave the event context allocated for ports. @@ -143992,13 +143992,13 @@ index b4893e08f54a..38303b030156 100644 mutex_unlock(&instance->vchiq_mutex); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jun 2019 17:15:05 +0100 -Subject: [PATCH 0139/1219] w1: w1-gpio: Make GPIO an output for strong pullup +Subject: [PATCH 0139/1284] 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 @@ -144025,13 +144025,13 @@ index d4632aace402..4832cd8c2596 100644 /* * This will simply set the line as input since we are doing -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 Feb 2019 08:49:39 +0000 -Subject: [PATCH 0140/1219] arm: bcm2835: Fix FIQ early ioremap +Subject: [PATCH 0140/1284] arm: bcm2835: Fix FIQ early ioremap The ioremapping creates mappings within the vmalloc area. The equivalent early function, create_mapping, now checks that the @@ -144104,13 +144104,13 @@ index 9b6c921106b5..9bd9842da59f 100644 /* Now search for bcm2708-usb node in device tree */ of_scan_flat_dt(bcm2835_map_usb, &p2b_offset); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 May 2019 15:47:42 +0100 -Subject: [PATCH 0141/1219] arm: bcm2835: DMA can only address 1GB +Subject: [PATCH 0141/1284] 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. @@ -144135,13 +144135,13 @@ index 9bd9842da59f..7d59a9364175 100644 .init_machine = bcm2835_init, .dt_compat = bcm2835_compat, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 4 May 2019 17:06:15 +0200 -Subject: [PATCH 0142/1219] hwrng: iproc-rng200: Add BCM2838 support +Subject: [PATCH 0142/1284] 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. @@ -144296,13 +144296,13 @@ index a43743887db1..f689cd63deae 100644 ret = devm_hwrng_register(dev, &priv->rng); if (ret) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 12 Sep 2018 14:44:53 +0100 -Subject: [PATCH 0143/1219] bcmgenet: constrain max DMA burst length +Subject: [PATCH 0143/1284] bcmgenet: constrain max DMA burst length --- drivers/net/ethernet/broadcom/genet/bcmgenet.h | 2 +- @@ -144322,13 +144322,13 @@ index 0a6d91b0f0aa..5e653f21aeb9 100644 /* misc. configuration */ #define MAX_NUM_OF_FS_RULES 16 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 27 Mar 2019 13:45:46 +0000 -Subject: [PATCH 0144/1219] bcmgenet: Better coalescing parameter defaults +Subject: [PATCH 0144/1284] bcmgenet: Better coalescing parameter defaults Set defaults for TX and RX packet coalescing to be equivalent to: @@ -144371,13 +144371,13 @@ index ea1391753752..2b5d47a06c7b 100644 /* libphy will determine the link state */ netif_carrier_off(dev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 14 May 2019 17:17:59 +0100 -Subject: [PATCH 0145/1219] net: genet: enable link energy detect powerdown for +Subject: [PATCH 0145/1284] net: genet: enable link energy detect powerdown for external PHYs There are several warts surrounding bcmgenet_mii_probe() as this @@ -144408,13 +144408,13 @@ index dbd2ede53f94..2956e3888397 100644 /* Initialize link state variables that bcmgenet_mii_setup() uses */ priv->old_link = -1; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Mon, 13 May 2019 11:05:27 +0000 -Subject: [PATCH 0146/1219] spi: bcm2835: enable shared interrupt support +Subject: [PATCH 0146/1284] spi: bcm2835: enable shared interrupt support Add shared interrupt support for this driver. @@ -144449,13 +144449,13 @@ index 0933948d7df3..2a0cab8435b0 100644 if (err) { dev_err(&pdev->dev, "could not request IRQ: %d\n", err); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Jan 2019 16:11:50 +0000 -Subject: [PATCH 0147/1219] clk-bcm2835: Don't wait for pllh lock +Subject: [PATCH 0147/1284] clk-bcm2835: Don't wait for pllh lock Signed-off-by: Phil Elwell --- @@ -144493,13 +144493,13 @@ index 35f0d5be4b1d..1cff1085ecc7 100644 cprman_write(cprman, data->a2w_ctrl_reg, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 11 Jan 2019 17:31:07 -0800 -Subject: [PATCH 0148/1219] soc: bcm: bcm2835-pm: Add support for 2711. +Subject: [PATCH 0148/1284] 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 @@ -144605,13 +144605,13 @@ index ed37dc40e82a..b2d157091e12 100644 #endif /* BCM2835_MFD_PM_H */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 15:11:05 -0700 -Subject: [PATCH 0149/1219] clk: bcm2835: Add support for setting leaf clock +Subject: [PATCH 0149/1284] 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 @@ -144664,13 +144664,13 @@ index 1cff1085ecc7..17b37c73798a 100644 /* If the clock wasn't actually enabled at boot, it's not * critical. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 15:24:04 -0700 -Subject: [PATCH 0150/1219] clk: bcm2835: Allow reparenting leaf clocks while +Subject: [PATCH 0150/1284] clk: bcm2835: Allow reparenting leaf clocks while they're running. This falls under the same "we can reprogram glitch-free as long as we @@ -144741,13 +144741,13 @@ index 17b37c73798a..908d0794a2b3 100644 /* If the clock wasn't actually enabled at boot, it's not * critical. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 10:55:00 +0100 -Subject: [PATCH 0151/1219] usb: add plumbing for updating interrupt endpoint +Subject: [PATCH 0151/1284] usb: add plumbing for updating interrupt endpoint interval state xHCI caches device and endpoint data after the interface is configured, @@ -144857,13 +144857,13 @@ index 98d1921f02b1..cfa04bbe55a9 100644 struct usb_host_endpoint *ep); extern void usb_hcd_reset_endpoint(struct usb_device *udev, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 11:33:39 +0100 -Subject: [PATCH 0152/1219] xhci: implement xhci_fixup_endpoint for interval +Subject: [PATCH 0152/1284] xhci: implement xhci_fixup_endpoint for interval adjustments Must be called in a non-atomic context, after the endpoint @@ -144998,13 +144998,13 @@ index 3636fa49285c..11efb959c8de 100644 .enable_device = xhci_enable_device, .update_hub_device = xhci_update_hub_device, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 11:42:03 +0100 -Subject: [PATCH 0153/1219] usbhid: call usb_fixup_endpoint after mangling +Subject: [PATCH 0153/1284] usbhid: call usb_fixup_endpoint after mangling intervals Lets the mousepoll override mechanism work with xhci. @@ -145027,13 +145027,13 @@ index 8a9d8214d8af..3541229ef9dc 100644 ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 11 Jun 2019 17:38:28 +0100 -Subject: [PATCH 0154/1219] arm: bcm2835: Add bcm2838 compatible string. +Subject: [PATCH 0154/1284] arm: bcm2835: Add bcm2838 compatible string. Signed-off-by: Phil Elwell --- @@ -145053,13 +145053,13 @@ index 7d59a9364175..282a023027fc 100644 NULL }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 4 Oct 2018 17:22:43 -0700 -Subject: [PATCH 0155/1219] drm/v3d: Add support for 2711. +Subject: [PATCH 0155/1284] drm/v3d: Add support for 2711. Signed-off-by: Eric Anholt --- @@ -145079,13 +145079,13 @@ index 6407a006d6ec..daf7f8b75fa5 100644 }; MODULE_DEVICE_TABLE(of, v3d_of_match); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 12:35:43 -0800 -Subject: [PATCH 0156/1219] drm/v3d: Skip MMU flush if the device is currently +Subject: [PATCH 0156/1284] 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 @@ -145137,13 +145137,13 @@ index 5a453532901f..8986e7b96461 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 14:47:57 -0800 -Subject: [PATCH 0157/1219] drm/v3d: Hook up the runtime PM ops. +Subject: [PATCH 0157/1284] 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 @@ -145211,13 +145211,13 @@ index daf7f8b75fa5..e573e67031a5 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 12 Jul 2019 15:38:35 +0100 -Subject: [PATCH 0158/1219] i2c: bcm2835: Set clock-stretch timeout to 35ms +Subject: [PATCH 0158/1284] 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 @@ -145264,13 +145264,13 @@ index 394282a37f67..d768247c7e50 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Aug 2019 15:23:14 +0100 -Subject: [PATCH 0159/1219] clk-bcm2835: Avoid null pointer exception +Subject: [PATCH 0159/1284] clk-bcm2835: Avoid null pointer exception clk_desc_array[BCM2835_PLLB] doesn't exist so we dereference null when iterating @@ -145299,13 +145299,13 @@ index 908d0794a2b3..65314bb4e88c 100644 return false; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 15:13:17 -0800 -Subject: [PATCH 0160/1219] drm/v3d: HACK: gut runtime pm for now. +Subject: [PATCH 0160/1284] 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 @@ -145416,13 +145416,13 @@ index e573e67031a5..b8f3d12d9d96 100644 ret = v3d_gem_init(drm); if (ret) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 13:22:53 -0700 -Subject: [PATCH 0161/1219] drm/v3d: Clock V3D down when not in use. +Subject: [PATCH 0161/1284] 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. @@ -145587,13 +145587,13 @@ index 805d6f6cba0e..fd4aa45054b5 100644 * treat 0 as special, such as the occlusion query counters * where 0 means "disabled". -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 9 May 2019 14:30:37 +0100 -Subject: [PATCH 0162/1219] drivers: char: add chardev for mmap'ing the RPiVid +Subject: [PATCH 0162/1284] drivers: char: add chardev for mmap'ing the RPiVid control registers Based on the gpiomem driver, allow mapping of the decoder register @@ -146045,13 +146045,13 @@ index b2d157091e12..f70a810c55f7 100644 #endif /* BCM2835_MFD_PM_H */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 1 Aug 2019 16:41:20 +0100 -Subject: [PATCH 0163/1219] hid: usb: Add device quirks for Freeway Airmouse T3 +Subject: [PATCH 0163/1284] hid: usb: Add device quirks for Freeway Airmouse T3 and MX3 These wireless mouse/keyboard combo remote control devices specify @@ -146072,7 +146072,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 c8a313c84a57..b294e6852b05 100644 +index 8698d49edaa3..59057db31483 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -225,6 +225,9 @@ @@ -146085,7 +146085,7 @@ index c8a313c84a57..b294e6852b05 100644 #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1310,6 +1313,9 @@ +@@ -1316,6 +1319,9 @@ #define USB_VENDOR_ID_XAT 0x2505 #define USB_DEVICE_ID_XAT_CSR 0x0220 @@ -146096,7 +146096,7 @@ index c8a313c84a57..b294e6852b05 100644 #define USB_DEVICE_ID_XIN_MO_DUAL_ARCADE 0x05e1 #define USB_DEVICE_ID_THT_2P_ARCADE 0x75e1 diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c -index 8d36cb7551cf..44a90238ee37 100644 +index fc1e061900bc..280c2a40a68b 100644 --- a/drivers/hid/hid-quirks.c +++ b/drivers/hid/hid-quirks.c @@ -41,6 +41,7 @@ static const struct hid_device_id hid_quirks[] = { @@ -146107,7 +146107,7 @@ index 8d36cb7551cf..44a90238ee37 100644 { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL }, -@@ -195,6 +196,7 @@ static const struct hid_device_id hid_quirks[] = { +@@ -198,6 +199,7 @@ static const struct hid_device_id hid_quirks[] = { { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET }, @@ -146116,13 +146116,13 @@ index 8d36cb7551cf..44a90238ee37 100644 { 0 } }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 16 Jul 2019 12:18:21 +0100 -Subject: [PATCH 0164/1219] Add HDMI1 facility to the driver. +Subject: [PATCH 0164/1284] 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 @@ -146209,13 +146209,13 @@ index 51066ac8eea5..b42a2fb12248 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 9 Aug 2019 08:51:43 +0100 -Subject: [PATCH 0165/1219] net: bcmgenet: Workaround #2 for Pi4 Ethernet fail +Subject: [PATCH 0165/1284] 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 @@ -146266,13 +146266,13 @@ index 2b5d47a06c7b..5feba08c2dce 100644 bcmgenet_umac_writel(priv, CMD_SW_RESET, UMAC_CMD); udelay(2); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 13 Aug 2019 15:53:29 +0100 -Subject: [PATCH 0166/1219] xhci: Use more event ring segment table entries +Subject: [PATCH 0166/1284] 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 @@ -146319,7 +146319,7 @@ index 9d9ab7e3560a..228d7a200a02 100644 "// Write ERST size = %i to ir_set 0 (some bits preserved)", val); diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h -index d3c0766c1984..1c9f671c6f3a 100644 +index 4193427a7f0d..9a8eaa01320c 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -1673,8 +1673,8 @@ struct urb_priv { @@ -146334,13 +146334,13 @@ index d3c0766c1984..1c9f671c6f3a 100644 #define POLL_TIMEOUT 60 /* Stop endpoint command timeout (secs) for URB cancellation watchdog timer */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 15 Aug 2019 12:02:34 +0100 -Subject: [PATCH 0167/1219] configs: arm64/bcm2711: Enable V3D +Subject: [PATCH 0167/1284] configs: arm64/bcm2711: Enable V3D Enable the V3D driver, which depends on BCM2835_POWER. @@ -146368,13 +146368,13 @@ index 9a5c44606337..b0e048697964 100644 depends on COMMON_CLK depends on MMU -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Sep 2019 18:16:56 +0100 -Subject: [PATCH 0168/1219] arch/arm: Add model string to cpuinfo +Subject: [PATCH 0168/1284] arch/arm: Add model string to cpuinfo Signed-off-by: Phil Elwell --- @@ -146410,13 +146410,13 @@ index 284a80c0b6e1..12e73ce6e8fa 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Sep 2019 18:17:25 +0100 -Subject: [PATCH 0169/1219] arch/arm64: Add Revision, Serial, Model to cpuinfo +Subject: [PATCH 0169/1284] arch/arm64: Add Revision, Serial, Model to cpuinfo Signed-off-by: Phil Elwell --- @@ -146474,13 +146474,13 @@ index 591c18a889a5..ae90c11f9623 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 28 Aug 2019 13:34:30 +0100 -Subject: [PATCH 0170/1219] media: dt-bindings: Add binding for the Sony IMX219 +Subject: [PATCH 0170/1284] media: dt-bindings: Add binding for the Sony IMX219 sensor The IMX219 is an 8MPix CSI2 sensor, supporting 2 or 4 data lanes. @@ -146558,13 +146558,13 @@ index 000000000000..a02f1ce1e120 + }; + }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 15:04:51 +0100 -Subject: [PATCH 0171/1219] v4l2: Add a Greyworld AWB mode. +Subject: [PATCH 0171/1284] 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) @@ -151631,13 +151631,13 @@ index 5532b5f68493..ee1684f51d97 100644 #define V4L2_CID_WIDE_DYNAMIC_RANGE (V4L2_CID_CAMERA_CLASS_BASE+21) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 15:13:06 +0100 -Subject: [PATCH 0172/1219] staging: bcm2835-camera: Add greyworld AWB mode +Subject: [PATCH 0172/1284] 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. @@ -151676,13 +151676,13 @@ index 1793103b18fd..27bafc5f01d2 100644 enum mmal_parameter_imagefx { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 18 Sep 2019 17:22:36 +0100 -Subject: [PATCH 0173/1219] drm/v3d: Delete pm_runtime support +Subject: [PATCH 0173/1284] drm/v3d: Delete pm_runtime support The pm_runtime was blocking changelist submission, so delete it as a temporary workaround. @@ -151746,13 +151746,13 @@ index 8986e7b96461..618503f2f2f1 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Thu, 19 Sep 2019 20:45:30 +0200 -Subject: [PATCH 0174/1219] ARM: bcm: Switch board, clk and pinctrl to bcm2711 +Subject: [PATCH 0174/1284] ARM: bcm: Switch board, clk and pinctrl to bcm2711 compatible After the decision to use bcm2711 compatible for upstream, we should @@ -151778,13 +151778,13 @@ index 282a023027fc..e538e0f899a5 100644 NULL }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 24 Sep 2019 18:26:55 +0100 -Subject: [PATCH 0175/1219] Rename HDMI ALSA device names, check for enable +Subject: [PATCH 0175/1284] Rename HDMI ALSA device names, check for enable state HDMI Alsa devices renamed to match names used by DRM, to @@ -151924,13 +151924,13 @@ index eb8a8a5b7ec8..f926784c622d 100644 if (err) return err; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Thu, 10 Oct 2019 19:12:08 +0200 -Subject: [PATCH 0176/1219] dt-bindings: Add binding for the Infineon IRS1125 +Subject: [PATCH 0176/1284] dt-bindings: Add binding for the Infineon IRS1125 sensor Adds a binding for the Infineon IRS1125 time-of-flight depth @@ -151997,13 +151997,13 @@ index 000000000000..25a48028c957 + }; + }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Thu, 10 Oct 2019 19:12:36 +0200 -Subject: [PATCH 0177/1219] media: i2c: Add a driver for the Infineon IRS1125 +Subject: [PATCH 0177/1284] media: i2c: Add a driver for the Infineon IRS1125 depth sensor The Infineon IRS1125 is a time of flight depth sensor that @@ -153242,13 +153242,13 @@ index 000000000000..dccaca23aa76 +#endif /* IRS1125 */ + -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Nov 2019 20:18:08 +0000 -Subject: [PATCH 0178/1219] drm/v3d: Suppress all but the first MMU error +Subject: [PATCH 0178/1284] 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. @@ -153287,13 +153287,13 @@ index e714d5318f30..0f7a23f051df 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 12 Nov 2019 16:41:21 +0000 -Subject: [PATCH 0179/1219] drm/v3d: Plug dma_fence leak +Subject: [PATCH 0179/1284] 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 @@ -153321,13 +153321,13 @@ index 272320c6b1fe..ac07f67aafe7 100644 if (job->perfmon) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 Nov 2019 13:57:48 +0000 -Subject: [PATCH 0180/1219] staging: vchiq_arm: Register vcsm-cma as a platform +Subject: [PATCH 0180/1284] staging: vchiq_arm: Register vcsm-cma as a platform driver Following the same pattern as bcm2835-camera and bcm2835-audio, @@ -153367,13 +153367,13 @@ index 099359fc0115..5b937babbf25 100644 vchiq_deregister_chrdev(); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 Nov 2019 13:57:58 +0000 -Subject: [PATCH 0181/1219] staging: vchiq_arm: Register bcm2835-codec as a +Subject: [PATCH 0181/1284] staging: vchiq_arm: Register bcm2835-codec as a platform driver Following the same pattern as bcm2835-camera and bcm2835-audio, @@ -153413,13 +153413,13 @@ index 5b937babbf25..887929caf27d 100644 vchiq_debugfs_deinit(); vchiq_deregister_chrdev(); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 31 Oct 2019 14:39:44 +0000 -Subject: [PATCH 0182/1219] net:phy:2711 Allow ethernet LED mode to be set via +Subject: [PATCH 0182/1284] net:phy:2711 Allow ethernet LED mode to be set via device tree Add device tree entries and code to allow the specification of @@ -153474,13 +153474,13 @@ index b330efb98209..211e1b8e4d56 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 23 Aug 2019 16:34:38 +0100 -Subject: [PATCH 0183/1219] v3d_drv: Handle missing clock more gracefully +Subject: [PATCH 0183/1284] v3d_drv: Handle missing clock more gracefully Signed-off-by: popcornmix --- @@ -153507,13 +153507,13 @@ index 176bc5a572ab..8d7f0bf55ce2 100644 v3d->clk_up_rate = clk_get_rate(v3d->clk); /* For downclocking, drop it to the minimum frequency we can get from -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 5 Sep 2019 17:59:14 +0100 -Subject: [PATCH 0184/1219] v3d_gem: Kick the clock so firmware knows we are +Subject: [PATCH 0184/1284] 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 @@ -153540,13 +153540,13 @@ index ac07f67aafe7..4636791617e1 100644 * treat 0 as special, such as the occlusion query counters * where 0 means "disabled". -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 9 Sep 2019 15:49:56 +0100 -Subject: [PATCH 0185/1219] clk-raspberrypi: Allow cpufreq driver to also +Subject: [PATCH 0185/1284] clk-raspberrypi: Allow cpufreq driver to also adjust gpu clocks For performance/power it is beneficial to adjust gpu clocks with arm clock. @@ -153571,13 +153571,13 @@ index 56c5166f841a..904327cfd9d4 100644 int ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 3 Sep 2019 20:28:00 +0100 -Subject: [PATCH 0186/1219] clk-bcm2835: Disable v3d clock +Subject: [PATCH 0186/1284] clk-bcm2835: Disable v3d clock This is controlled by firmware, see clk-raspberrypi.c @@ -153635,13 +153635,13 @@ index 65314bb4e88c..c91e1380e04e 100644 * VPU clock. This doesn't have an enable bit, since it drives * the bus for everything else, and is special so it doesn't need -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 29 Jan 2019 16:13:25 +0000 -Subject: [PATCH 0187/1219] staging: vchiq_arm: Set up dma ranges on child +Subject: [PATCH 0187/1284] staging: vchiq_arm: Set up dma ranges on child devices The VCHIQ driver now loads the audio, camera, codec, and vc-sm @@ -153674,13 +153674,13 @@ index 887929caf27d..2cc3f8c4098e 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 18 Jun 2019 12:15:50 +0100 -Subject: [PATCH 0188/1219] staging: vchiq: Use the old dma controller for OF +Subject: [PATCH 0188/1284] 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 @@ -153731,13 +153731,13 @@ index 2cc3f8c4098e..9d7eeb3f6614 100644 return child; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Fri, 27 Dec 2019 11:40:56 +0100 -Subject: [PATCH 0189/1219] ARM: bcm: Backport BCM2711 support from upstream +Subject: [PATCH 0189/1284] ARM: bcm: Backport BCM2711 support from upstream Make the BCM2711 a different machine, but keep it in board_bcm2835. @@ -153784,13 +153784,13 @@ index e538e0f899a5..91a758c61f48 100644 .smp = smp_ops(bcm2836_smp_ops), MACHINE_END -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 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 0190/1219] Initialise rpi-firmware before clk-bcm2835 +Subject: [PATCH 0190/1284] 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 @@ -153826,10 +153826,10 @@ index c91e1380e04e..1722f163e0e2 100644 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 2a7a0a9933d7..fa105074f05f 100644 +index 843a77a0aaf3..02513603d148 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -498,7 +498,7 @@ static int __init rpi_firmware_init(void) +@@ -499,7 +499,7 @@ static int __init rpi_firmware_init(void) out1: return ret; } @@ -153839,13 +153839,13 @@ index 2a7a0a9933d7..fa105074f05f 100644 static void __init rpi_firmware_exit(void) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 3 Feb 2020 17:30:46 +0000 -Subject: [PATCH 0191/1219] staging: vchiq_arm: Give vchiq children DT nodes +Subject: [PATCH 0191/1284] 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 @@ -153884,13 +153884,13 @@ index 9d7eeb3f6614..d373197a67d9 100644 * We want the dma-ranges etc to be copied from a device with the * correct dma-ranges for the VPU. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Jan 2020 16:04:30 +0000 -Subject: [PATCH 0192/1219] pinctrl: bcm2835: Remove gpiochip on error +Subject: [PATCH 0192/1284] 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. @@ -153915,13 +153915,13 @@ index ce67182de720..90ce5d11f3a6 100644 dev_err(dev, "could not add GPIO chip\n"); goto out_remove; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 2 Mar 2020 14:40:19 +0000 -Subject: [PATCH 0193/1219] drivers: char: vcio: Use common compat header +Subject: [PATCH 0193/1284] drivers: char: vcio: Use common compat header The definition of compat_ptr is now common for most platforms, but requires the inclusion of . @@ -153944,13 +153944,13 @@ index d2598663a2b5..a39155a94fb7 100644 #define MBOX_CHAN_PROPERTY 8 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 2 Mar 2020 14:42:23 +0000 -Subject: [PATCH 0194/1219] video: fbdev: bcm2708_fb: Use common compat header +Subject: [PATCH 0194/1284] video: fbdev: bcm2708_fb: Use common compat header The definition of compat_ptr is now common for most platforms, but requires the inclusion of . @@ -153973,13 +153973,13 @@ index 0e9ec3f593b8..17e9260655e4 100644 //#define BCM2708_FB_DEBUG #define MODULE_NAME "bcm2708_fb" -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 6 Feb 2020 12:23:15 +0000 -Subject: [PATCH 0195/1219] of: overlay: Correct symbol path fixups +Subject: [PATCH 0195/1284] 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 @@ -154003,7 +154003,7 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+) diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c -index d1187123c4fc..be471ef07c7e 100644 +index 424682372417..aabdb1795a87 100644 --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c @@ -243,6 +243,8 @@ static struct property *dup_and_fixup_symbol_prop( @@ -154016,13 +154016,13 @@ index d1187123c4fc..be471ef07c7e 100644 new_prop = kzalloc(sizeof(*new_prop), GFP_KERNEL); if (!new_prop) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jim Quinlan Date: Mon, 15 Jan 2018 18:28:39 -0500 -Subject: [PATCH 0196/1219] dt-bindings: pci: Add DT docs for Brcmstb PCIe +Subject: [PATCH 0196/1284] dt-bindings: pci: Add DT docs for Brcmstb PCIe device The DT bindings description of the Brcmstb PCIe device is described. This @@ -154101,13 +154101,13 @@ index 000000000000..a1a9ad5e70ca + linux,pci-domain = <0>; + }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 Apr 2020 11:22:44 +0100 -Subject: [PATCH 0197/1219] bcmgenet: Disable skip_umac_reset by default +Subject: [PATCH 0197/1284] bcmgenet: Disable skip_umac_reset by default Possible fixed upstream by 'net: bcmgenet: keep MAC in reset until PHY is up' @@ -154130,76 +154130,13 @@ index 5feba08c2dce..e24c27abd432 100644 MODULE_PARM_DESC(skip_umac_reset, "Skip UMAC reset step"); -- -2.31.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Fri, 24 Jan 2020 14:22:06 +0000 -Subject: [PATCH 0198/1219] 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). - -Supported on Broadcom BCM2711 chips. - -Signed-off-by: Dave Stevenson ---- - drivers/gpu/drm/drm_fourcc.c | 3 +++ - include/uapi/drm/drm_fourcc.h | 11 +++++++++++ - 2 files changed, 14 insertions(+) - -diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c -index eda832f9200d..8537a41811e0 100644 ---- a/drivers/gpu/drm/drm_fourcc.c -+++ b/drivers/gpu/drm/drm_fourcc.c -@@ -266,6 +266,9 @@ const struct drm_format_info *__drm_format_info(u32 format) - .num_planes = 3, .char_per_block = { 2, 2, 2 }, - .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0, - .vsub = 0, .is_yuv = true }, -+ { .format = DRM_FORMAT_P030, .depth = 0, .num_planes = 2, -+ .char_per_block = { 4, 4, 0 }, .block_w = { 3, 0, 0 }, .block_h = { 1, 0, 0 }, -+ .hsub = 2, .vsub = 2, .is_yuv = true}, - }; - - unsigned int i; -diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h -index 808c73c52820..57094b5c410f 100644 ---- a/include/uapi/drm/drm_fourcc.h -+++ b/include/uapi/drm/drm_fourcc.h -@@ -324,6 +324,13 @@ extern "C" { - */ - #define DRM_FORMAT_Q401 fourcc_code('Q', '4', '0', '1') - -+/* -+ * 2 plane YCbCr MSB aligned, 3 pixels packed into 4 bytes. -+ * index 0 = Y plane, [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian -+ * index 1 = Cr:Cb plane, [63:0] x:Cr2:Cb2:Cr1:x:Cb1:Cr0:Cb0 [2:10:10:10:2:10:10:10] little endian -+ */ -+#define DRM_FORMAT_P030 fourcc_code('P', '0', '3', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel packed */ -+ - /* - * 3 plane YCbCr - * index 0: Y plane, [7:0] Y -@@ -842,6 +849,10 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) - * and UV. Some SAND-using hardware stores UV in a separate tiled - * image from Y to reduce the column height, which is not supported - * with these modifiers. -+ * -+ * The DRM_FORMAT_MOD_BROADCOM_SAND128_COL_HEIGHT modifier is also -+ * supported for DRM_FORMAT_P030 where the columns remain as 128 bytes -+ * wide, but as this is a 10 bpp format that translates to 96 pixels. - */ - - #define DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(v) \ --- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jernej Skrabec Date: Fri, 13 Dec 2019 17:04:25 +0100 -Subject: [PATCH 0199/1219] media: uapi: hevc: Add scaling matrix control +Subject: [PATCH 0198/1284] media: uapi: hevc: Add scaling matrix control Taken from https://patchwork.linuxtv.org/patch/60728/ Changes (mainly documentation) have been requested. @@ -154359,13 +154296,13 @@ index 781371bff2ad..1c6567b13b7e 100644 + #endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jernej Skrabec Date: Fri, 13 Dec 2019 17:04:27 +0100 -Subject: [PATCH 0200/1219] media: uapi: hevc: Add segment address field +Subject: [PATCH 0199/1284] media: uapi: hevc: Add segment address field From https://patchwork.linuxtv.org/patch/60725/ Changes requested, but mainly docs. @@ -154426,13 +154363,13 @@ index 1c6567b13b7e..7cbbbf055f47 100644 /* ISO/IEC 23008-2, ITU-T Rec. H.265: Weighted prediction parameter */ struct v4l2_hevc_pred_weight_table pred_weight_table; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 24 Jan 2020 14:28:21 +0000 -Subject: [PATCH 0201/1219] media: videodev2.h: Add a format for column +Subject: [PATCH 0200/1284] 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 @@ -154749,13 +154686,13 @@ index 561fdf631c70..e3b105687539 100644 /* 10bit raw bayer packed, 32 bytes for every 25 pixels, last LSB 6 bits unused */ #define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 17 Mar 2020 10:53:16 +0000 -Subject: [PATCH 0202/1219] media: dt-bindings: media: Add binding for the +Subject: [PATCH 0201/1284] 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. @@ -154846,7 +154783,7 @@ index 000000000000..ce6b81a10303 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index 44897643a19c..3803afa12f77 100644 +index 9e980c375228..b7a1548d963d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3553,6 +3553,13 @@ N: bcm113* @@ -154864,13 +154801,13 @@ index 44897643a19c..3803afa12f77 100644 M: Dave Stevenson L: linux-media@vger.kernel.org -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 5 Mar 2020 18:30:41 +0000 -Subject: [PATCH 0203/1219] staging: media: Add Raspberry Pi V4L2 H265 decoder +Subject: [PATCH 0202/1284] 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. @@ -159246,13 +159183,13 @@ index 000000000000..9c4f3fb2f9f6 + +#endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 13 Feb 2020 17:51:09 +0100 -Subject: [PATCH 0204/1219] dt-bindings: clock: Add a binding for the RPi +Subject: [PATCH 0203/1284] dt-bindings: clock: Add a binding for the RPi Firmware clocks The firmare running on the RPi VideoCore can be used to discover and @@ -159316,13 +159253,13 @@ index 000000000000..d37bc311321d + +... -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 13 Feb 2020 16:45:24 +0100 -Subject: [PATCH 0205/1219] dt-bindings: display: vc4: hdmi: Add BCM2711 HDMI +Subject: [PATCH 0204/1284] dt-bindings: display: vc4: hdmi: Add BCM2711 HDMI controllers bindings The HDMI controllers found in the BCM2711 SoC need some adjustments to the @@ -159496,13 +159433,13 @@ index 031e35e76db2..e7ef3a36327b 100644 + ... -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 27 Jan 2020 10:22:44 +0000 -Subject: [PATCH 0206/1219] drm: Checking of the pitch is only valid for linear +Subject: [PATCH 0205/1284] drm: Checking of the pitch is only valid for linear formats framebuffer_check was computing a minimum pitch value and ensuring @@ -159542,13 +159479,13 @@ index 07f5abc875e9..8683b59bcbcb 100644 if (r->modifier[i] && !(r->flags & DRM_MODE_FB_MODIFIERS)) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 20 Apr 2020 22:18:52 +0100 -Subject: [PATCH 0207/1219] driver: char: rpivid: Remove legacy name support +Subject: [PATCH 0206/1284] driver: char: rpivid: Remove legacy name support Signed-off-by: Phil Elwell --- @@ -159601,13 +159538,13 @@ index fbf3d4f3fe0c..5f4c91924ec1 100644 class_destroy(priv->class); cdev_del(&priv->rpivid_mem_cdev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Apr 2020 10:46:19 +0100 -Subject: [PATCH 0208/1219] spi: Force CS_HIGH if GPIO descriptors are used +Subject: [PATCH 0207/1284] 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 @@ -159664,13 +159601,13 @@ index 06dd1be54925..cb7da674f954 100644 * that aren't supported with their current controller * SPI_CS_WORD has a fallback software implementation, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 21 Apr 2020 11:30:23 +0100 -Subject: [PATCH 0209/1219] driver: char: rpivid: Don't map more than wanted +Subject: [PATCH 0208/1284] 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. @@ -159721,13 +159658,13 @@ index 5f4c91924ec1..9f38083f4cb6 100644 dev_err(priv->dev, "failed to get IO resource"); err = -ENOENT; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 1 Apr 2020 08:39:49 +0100 -Subject: [PATCH 0210/1219] media: bcm2835-unicam: Driver for CCP2/CSI2 camera +Subject: [PATCH 0209/1284] media: bcm2835-unicam: Driver for CCP2/CSI2 camera interface Add driver for the Unicam camera receiver block on @@ -159753,7 +159690,7 @@ Signed-off-by: Naushir Patuck create mode 100644 drivers/media/platform/bcm2835/vc4-regs-unicam.h diff --git a/MAINTAINERS b/MAINTAINERS -index 3803afa12f77..1a0b3716acd6 100644 +index b7a1548d963d..faaff70f2f27 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3561,7 +3561,7 @@ F: Documentation/devicetree/bindings/media/rpivid_hevc.jaml @@ -162454,13 +162391,13 @@ index 000000000000..ae059a171d0f + +#endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 1 Apr 2020 08:46:29 +0100 -Subject: [PATCH 0211/1219] media: uapi: v4l2-core: Add sensor ancillary data +Subject: [PATCH 0210/1284] media: uapi: v4l2-core: Add sensor ancillary data V4L2 foucc type. Add V4L2_META_FMT_SENSOR_DATA format 4CC. @@ -162552,13 +162489,13 @@ index e3b105687539..d2a5171a1a6b 100644 /* Vendor specific - used for RK_ISP1 camera sub-system */ #define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 3A Parameters */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Jan 2020 14:06:47 +0000 -Subject: [PATCH 0212/1219] media: uapi: Add MEDIA_BUS_FMT_SENSOR_DATA media +Subject: [PATCH 0211/1284] media: uapi: Add MEDIA_BUS_FMT_SENSOR_DATA media bus format This patch adds MEDIA_BUS_FMT_SENSOR_DATA used by the bcm2835-unicam @@ -162623,13 +162560,13 @@ index 0dfc11ee243a..aa56d7f54784 100644 + #endif /* __LINUX_MEDIA_BUS_FORMAT_H */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 7 Apr 2020 10:42:14 +0100 -Subject: [PATCH 0213/1219] media: bcm2835-unicam: Add support for mulitple +Subject: [PATCH 0212/1284] media: bcm2835-unicam: Add support for mulitple device nodes. Move device node specific state out of the device state structure and @@ -163712,13 +163649,13 @@ index 9da9f22c3db5..b34551a3f44b 100644 v4l2_subdev_free_pad_config(unicam->sensor_config); media_device_unregister(&unicam->mdev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 16 Apr 2020 11:35:41 +0100 -Subject: [PATCH 0214/1219] media: bcm2835-unicam: Add embedded data node. +Subject: [PATCH 0213/1284] 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 @@ -164886,13 +164823,13 @@ index b34551a3f44b..d5e0f70b600c 100644 unregister_nodes(unicam); if (unicam->sensor_config) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 2 Apr 2020 16:08:51 +0100 -Subject: [PATCH 0215/1219] media: bcm2835-unicam: Use dummy buffer if none +Subject: [PATCH 0214/1284] media: bcm2835-unicam: Use dummy buffer if none have been queued If no buffer has been queued by a userland application, we use an @@ -165200,13 +165137,13 @@ index d5e0f70b600c..933f1ba49e3d 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 24 Mar 2020 23:13:02 +0200 -Subject: [PATCH 0216/1219] media: bcm2835-unicam: Disable event-related ioctls +Subject: [PATCH 0215/1284] media: bcm2835-unicam: Disable event-related ioctls on metadata node The unicam driver supports both the SOURCE_CHANGE and CTRL events. Both @@ -165237,13 +165174,13 @@ index 933f1ba49e3d..2d4c7a247fc5 100644 !v4l2_subdev_has_op(unicam->sensor, video, s_std)) { v4l2_disable_ioctl(&node->video_dev, VIDIOC_S_STD); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 24 Mar 2020 23:13:02 +0200 -Subject: [PATCH 0217/1219] media: bcm2835-unicam: Add support for the +Subject: [PATCH 0216/1284] media: bcm2835-unicam: Add support for the FRAME_SYNC event The FRAME_SYNC event is useful for userspace image processing algorithms @@ -165298,13 +165235,13 @@ index 2d4c7a247fc5..21d3a8585118 100644 return v4l2_event_subscribe(fh, sub, 4, NULL); } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Apr 2020 16:26:03 +0100 -Subject: [PATCH 0218/1219] media: bcm2835-unicam: Re-fetch mbus code from +Subject: [PATCH 0217/1284] 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 @@ -165353,13 +165290,13 @@ index 21d3a8585118..d4684fb2797f 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 23 Apr 2020 10:20:26 +0100 -Subject: [PATCH 0219/1219] media: uapi: v4l2-core: Add ISP statistics output +Subject: [PATCH 0218/1284] media: uapi: v4l2-core: Add ISP statistics output V4L2 fourcc type Add V4L2_META_FMT_BCM2835_ISP_STATS V4L2 format type. @@ -165460,13 +165397,13 @@ index d2a5171a1a6b..0c4bbaed3b7c 100644 /* Vendor specific - used for RK_ISP1 camera sub-system */ #define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 3A Parameters */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Apr 2020 15:06:19 +0100 -Subject: [PATCH 0220/1219] media: uapi: v4l-ctrls: Add CID base for the +Subject: [PATCH 0219/1284] media: uapi: v4l-ctrls: Add CID base for the bcm2835-isp driver We are reserving controls for the new bcm2835-isp driver. @@ -165640,13 +165577,13 @@ index ee1684f51d97..cda42967cdb3 100644 /* The MPEG controls are applicable to all codec controls * and the 'MPEG' part of the define is historical */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 22 Apr 2020 08:32:32 +0100 -Subject: [PATCH 0221/1219] staging: vchiq: Load bcm2835_isp driver from vchiq +Subject: [PATCH 0220/1284] 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. @@ -165685,13 +165622,13 @@ index d373197a67d9..e2eafacb0a80 100644 platform_device_unregister(bcm2835_camera); platform_device_unregister(bcm2835_codec); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 4 Apr 2019 13:33:47 +0100 -Subject: [PATCH 0222/1219] bcm2835-dma: Add proper 40-bit DMA support +Subject: [PATCH 0221/1284] 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. @@ -166491,13 +166428,13 @@ index 87b5d0bef355..ac0458a8027f 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 16:45:02 +0100 -Subject: [PATCH 0223/1219] media: bcm2835-unicam: Add support for +Subject: [PATCH 0222/1284] media: bcm2835-unicam: Add support for VIDIOC_[S|G]_SELECTION Sensors are now reflecting cropping and scaling parameters through @@ -166579,13 +166516,13 @@ index d4684fb2797f..0e1d525a0b35 100644 if (ret) { unicam_err(unicam, "Unable to register video device.\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 22:05:09 +0100 -Subject: [PATCH 0224/1219] media: bcm2835-unicam: Do not stop streaming in +Subject: [PATCH 0223/1284] media: bcm2835-unicam: Do not stop streaming in unicam_release unicam_release calls _vb2_fop_release, which will call stop_streaming @@ -166613,13 +166550,13 @@ index 0e1d525a0b35..c7e211d04ed3 100644 mutex_unlock(&node->lock); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 30 Apr 2020 09:52:50 +0100 -Subject: [PATCH 0225/1219] media: bcm2835-unicam: Fix reference counting in +Subject: [PATCH 0224/1284] media: bcm2835-unicam: Fix reference counting in unicam_open The reference counting of node->open was only incremented after @@ -166657,13 +166594,13 @@ index c7e211d04ed3..a79fc4d99d36 100644 unlock: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:28:14 +0200 -Subject: [PATCH 0226/1219] media: i2c: tc358743: Fix fallthrough warning +Subject: [PATCH 0225/1284] media: i2c: tc358743: Fix fallthrough warning Signed-off-by: Jacko Dirks --- @@ -166683,13 +166620,13 @@ index 69f2d676448e..2985dd9e46cd 100644 state->pdata.lineinitcnt = 0xe80; state->pdata.lptxtimecnt = 0x003; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:33:31 +0200 -Subject: [PATCH 0227/1219] media: bcm2835: unicam: Fix uninitialized warning +Subject: [PATCH 0226/1284] media: bcm2835: unicam: Fix uninitialized warning Signed-off-by: Jacko Dirks --- @@ -166710,13 +166647,13 @@ index a79fc4d99d36..92e5deb4c6fd 100644 for (j = 0; ret != -EINVAL && ret != -ENOIOCTLCMD; ++j) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 May 2020 19:45:41 +0100 -Subject: [PATCH 0228/1219] video: bcm2708_fb: Disable FB if no displays found +Subject: [PATCH 0227/1284] 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 @@ -166750,13 +166687,13 @@ index 17e9260655e4..dac5c021ce52 100644 fbdev->firmware_supports_multifb = 1; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 7 May 2020 15:50:54 +0100 -Subject: [PATCH 0229/1219] dt-bindings: media: i2c: Add IMX477 CMOS sensor +Subject: [PATCH 0228/1284] dt-bindings: media: i2c: Add IMX477 CMOS sensor binding Add YAML device tree binding for IMX477 CMOS image sensor. @@ -166887,13 +166824,13 @@ index 000000000000..0994e13e67f6 + +... -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 May 2020 18:28:27 +0100 -Subject: [PATCH 0230/1219] media: bcm2835-unicam: Always service interrupts +Subject: [PATCH 0229/1284] 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 @@ -166944,13 +166881,13 @@ index 92e5deb4c6fd..52a534d932bf 100644 /* Write value back to clear the interrupts */ reg_write(cfg, UNICAM_STA, sta); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 13 May 2020 20:10:15 +0100 -Subject: [PATCH 0231/1219] sc16is7xx: Fix for hardware flow control +Subject: [PATCH 0230/1284] sc16is7xx: Fix for hardware flow control The SC16IS7XX hardware flow control is mishandled by the driver in a number of ways: @@ -167020,13 +166957,13 @@ index a7b40ee6b94d..e30d7d371221 100644 regcache_cache_bypass(s->regmap, false); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 May 2020 13:42:10 +0100 -Subject: [PATCH 0232/1219] staging: vc04_services: mmal-vchiq: Update +Subject: [PATCH 0231/1284] staging: vc04_services: mmal-vchiq: Update parameters list Adds in a couple of new MMAL parameter defines. @@ -167054,13 +166991,13 @@ index 27bafc5f01d2..89059bca0b77 100644 /** Valid mirror modes */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 May 2020 13:48:59 +0100 -Subject: [PATCH 0233/1219] staging:vc04_services: bcm2835-camera: Request +Subject: [PATCH 0232/1284] staging:vc04_services: bcm2835-camera: Request headers with I-frame V4L2 wishes to have the codec header bytes in the same buffer as the @@ -167090,13 +167027,13 @@ index 1b184d5c6b82..6b348e399c06 100644 ret = bm2835_mmal_set_all_camera_controls(dev); if (ret < 0) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 11:46:47 +0100 -Subject: [PATCH 0234/1219] media: bcm2835-unicam: Retain packing information +Subject: [PATCH 0233/1284] media: bcm2835-unicam: Retain packing information on G_FMT The change to retrieve the pixel format always on g_fmt didn't @@ -167144,13 +167081,13 @@ index 52a534d932bf..b32b2d33a4e2 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 May 2020 15:23:32 +0100 -Subject: [PATCH 0235/1219] zswap: Defer zswap initialisation +Subject: [PATCH 0234/1284] 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 @@ -167275,13 +167212,13 @@ index 7944e3e57e78..4719af5f27fe 100644 cpuhp_remove_state(CPUHP_MM_ZSWP_MEM_PREPARE); dstmem_fail: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 28 May 2020 11:09:48 +0100 -Subject: [PATCH 0236/1219] media: bcm2835-unicam: change minimum number of +Subject: [PATCH 0235/1284] 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 @@ -167309,13 +167246,13 @@ index b32b2d33a4e2..e76323af0952 100644 ret = vb2_queue_init(q); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Fri, 5 Jun 2020 09:22:49 +0000 -Subject: [PATCH 0237/1219] snd_bcm2835: disable HDMI audio when vc4 is used +Subject: [PATCH 0236/1284] snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware @@ -167348,13 +167285,13 @@ index f926784c622d..31968fec297f 100644 enable_headphones = true; } else { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Apr 2018 14:42:27 +0100 -Subject: [PATCH 0238/1219] gpiolib: Don't prevent IRQ usage of output GPIOs +Subject: [PATCH 0237/1284] 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 @@ -167369,7 +167306,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 320baed949ee..a929cb5d495b 100644 +index 8c041a8dd9d8..aa95df6745b7 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -52,6 +52,8 @@ @@ -167381,7 +167318,7 @@ index 320baed949ee..a929cb5d495b 100644 /* Device and char device-related information */ static DEFINE_IDA(gpio_ida); static dev_t gpio_devt; -@@ -2361,8 +2363,8 @@ int gpiod_direction_output(struct gpio_desc *desc, int value) +@@ -2395,8 +2397,8 @@ int gpiod_direction_output(struct gpio_desc *desc, int value) value = !!value; /* GPIOs used for enabled IRQs shall not be set as output */ @@ -167392,7 +167329,7 @@ index 320baed949ee..a929cb5d495b 100644 gpiod_err(desc, "%s: tried to set a GPIO tied to an IRQ as output\n", __func__); -@@ -3180,8 +3182,8 @@ int gpiochip_lock_as_irq(struct gpio_chip *gc, unsigned int offset) +@@ -3213,8 +3215,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 */ @@ -167404,13 +167341,13 @@ index 320baed949ee..a929cb5d495b 100644 "%s: tried to flag a GPIO set as output for IRQ\n", __func__); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Jun 2020 09:57:03 +0100 -Subject: [PATCH 0239/1219] PCI: brcmstb: Add DT property to control L1SS +Subject: [PATCH 0238/1284] 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. @@ -167489,13 +167426,13 @@ index cc30215f5a43..77967a37cbd9 100644 ret = clk_prepare_enable(pcie->clk); if (ret) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:24:31 +0200 -Subject: [PATCH 0240/1219] media: irs1125: Using i2c_transfer for ic2 reads +Subject: [PATCH 0239/1284] 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. @@ -167560,13 +167497,13 @@ index 25e1dd5a08ef..6680afea5894 100644 static int irs1125_write_array(struct v4l2_subdev *sd, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:27:42 +0200 -Subject: [PATCH 0241/1219] media: irs1125: Refactoring and debug messages +Subject: [PATCH 0240/1284] media: irs1125: Refactoring and debug messages Changed some variable names to comply with checkpatch --strict mode. Debug messages added. @@ -167689,13 +167626,13 @@ index 6680afea5894..289f0c25b141 100644 mutex_init(&sensor->lock); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:31:36 +0200 -Subject: [PATCH 0242/1219] media: irs1125: Atomic access to imager +Subject: [PATCH 0241/1284] media: irs1125: Atomic access to imager reconfiguration Instead of changing the exposure and framerate settings for all sequences, @@ -168078,13 +168015,13 @@ index dccaca23aa76..96d676123d5e 100644 __u16 pllcfg1; __u16 pllcfg2; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:33:56 +0200 -Subject: [PATCH 0243/1219] media: irs1125: Keep HW in sync after imager reset +Subject: [PATCH 0242/1284] 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 @@ -168265,13 +168202,13 @@ index d59e05004a03..30c3d2640386 100644 struct irs1125_seq_cfg *cfg_new; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxim Mikityanskiy Date: Sat, 20 Jun 2020 15:40:00 +0300 -Subject: [PATCH 0244/1219] staging: bcm2835-audio: Add missing MODULE_ALIAS +Subject: [PATCH 0243/1284] 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 @@ -168301,13 +168238,13 @@ index 31968fec297f..a0cba3823e5e 100644 MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:bcm2835_audio"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 Jun 2020 11:51:05 +0100 -Subject: [PATCH 0245/1219] brcmfmac: Prefer a ccode from OTP over nvram file +Subject: [PATCH 0244/1284] 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. @@ -168389,7 +168326,7 @@ index c388d56269bc..fefa8c058350 100644 return; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c -index dcbe55b56e43..309214a9cd40 100644 +index c54d8722e755..2353f0b802fe 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c @@ -10,6 +10,7 @@ @@ -168438,13 +168375,13 @@ index dcbe55b56e43..309214a9cd40 100644 if (free_bcm47xx_nvram) bcm47xx_nvram_release_contents(data); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 10:05:57 +0100 -Subject: [PATCH 0246/1219] drivers: media: Remove the downstream version of +Subject: [PATCH 0245/1284] drivers: media: Remove the downstream version of bcm2835-unicam About to be replaced by the upstream version. @@ -171629,13 +171566,13 @@ index ae059a171d0f..000000000000 - -#endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 4 May 2020 12:25:41 +0300 -Subject: [PATCH 0247/1219] media: bcm2835-unicam: Driver for CCP2/CSI2 camera +Subject: [PATCH 0246/1284] media: bcm2835-unicam: Driver for CCP2/CSI2 camera interface Add a driver for the Unicam camera receiver block on BCM283x processors. @@ -171664,7 +171601,7 @@ Reported-by: kbuild test robot create mode 100644 drivers/media/platform/bcm2835/vc4-regs-unicam.h diff --git a/MAINTAINERS b/MAINTAINERS -index 1a0b3716acd6..20d1fcdd3ba6 100644 +index faaff70f2f27..65a94e1b7909 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3565,7 +3565,7 @@ M: Raspberry Pi Kernel Maintenance @@ -174797,13 +174734,13 @@ index 000000000000..ae059a171d0f + +#endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 14:32:51 +0100 -Subject: [PATCH 0248/1219] media: bcm2835-unicam: Add support for +Subject: [PATCH 0247/1284] 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 @@ -174859,13 +174796,13 @@ index 2e9387cbc1e0..9adfb2d217af 100644 if (ret) { unicam_err(dev, "failed to set up clock\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Jun 2020 15:53:44 +0100 -Subject: [PATCH 0249/1219] media: bcm2835-unicam: Avoid gcc warning over {0} +Subject: [PATCH 0248/1284] media: bcm2835-unicam: Avoid gcc warning over {0} on endpoint Older gcc versions object to = { 0 } initialisation if the first @@ -174892,13 +174829,13 @@ index 9adfb2d217af..a65e1da55142 100644 struct device_node *sensor_node; unsigned int lane; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Fri, 12 Jun 2020 15:53:46 +0200 -Subject: [PATCH 0250/1219] media: i2c: imx290: set the format before +Subject: [PATCH 0249/1284] media: i2c: imx290: set the format before VIDIOC_SUBDEV_G_FMT is called Commit d46cfdc86c30d5ec768924f0b1e2683c8d20b671 upstream. @@ -174938,13 +174875,13 @@ index bf7a6c37ca5d..f6ae24a964d4 100644 if (ret < 0) { dev_err(dev, "Could not register v4l2 device\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 08:28:51 +0100 -Subject: [PATCH 0251/1219] media: i2c: imx290: Add support for 74.25MHz clock +Subject: [PATCH 0250/1284] 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. @@ -175208,13 +175145,13 @@ index f6ae24a964d4..45b10a8aafa1 100644 dev_err(dev, "Could not set xclk frequency\n"); goto free_err; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 13:41:43 +0100 -Subject: [PATCH 0252/1219] media: i2c: imx290: Correct range for V4L2_CID_GAIN +Subject: [PATCH 0251/1284] 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 @@ -175240,13 +175177,13 @@ index 45b10a8aafa1..f89584a9bbd7 100644 imx290->link_freq = v4l2_ctrl_new_int_menu(&imx290->ctrls, &imx290_ctrl_ops, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 14:36:40 +0100 -Subject: [PATCH 0253/1219] media: i2c: imx290: Convert HMAX setting into +Subject: [PATCH 0252/1284] media: i2c: imx290: Convert HMAX setting into V4L2_CID_HBLANK Userspace needs to know HBLANK if it is to work out exposure times @@ -175405,13 +175342,13 @@ index f89584a9bbd7..e77ddd0dea4e 100644 v4l2_ctrl_new_int_menu(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_LINK_FREQ, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 18:09:12 +0100 -Subject: [PATCH 0254/1219] media: i2c: imx290: Add support for V4L2_CID_VBLANK +Subject: [PATCH 0253/1284] 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, @@ -175552,13 +175489,13 @@ index e77ddd0dea4e..ceb71d83c993 100644 v4l2_ctrl_new_int_menu(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_LINK_FREQ, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 18:19:13 +0100 -Subject: [PATCH 0255/1219] media: i2c: imx290: Add exposure control to the +Subject: [PATCH 0254/1284] media: i2c: imx290: Add exposure control to the driver. Adds support for V4L2_CID_EXPOSURE so that userspace can control @@ -175651,13 +175588,13 @@ index ceb71d83c993..3e52c43b837d 100644 v4l2_ctrl_new_int_menu(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_LINK_FREQ, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 18:34:16 +0100 -Subject: [PATCH 0256/1219] media: i2c: imx290: Add H and V flip controls +Subject: [PATCH 0255/1284] 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. @@ -175740,13 +175677,13 @@ index 3e52c43b837d..375a83ce71d0 100644 v4l2_ctrl_new_int_menu(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_LINK_FREQ, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 16:52:14 +0100 -Subject: [PATCH 0257/1219] media: dt-bindings: media: i2c: Add mono version to +Subject: [PATCH 0256/1284] media: dt-bindings: media: i2c: Add mono version to IMX290 bindings The IMX290 module is available as either monochrome or colour and @@ -175782,13 +175719,13 @@ index a3cc21410f7c..294e63650d9e 100644 - clocks: Reference to the xclk clock. - clock-names: Should be "xclk". -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:03:11 +0100 -Subject: [PATCH 0258/1219] media : i2c: imx290: Add support for the mono +Subject: [PATCH 0257/1284] media : i2c: imx290: Add support for the mono sensor variant. The IMX290 module is available as either mono or colour (Bayer). @@ -175973,13 +175910,13 @@ index 375a83ce71d0..aeb95161b4fe 100644 static struct i2c_driver imx290_i2c_driver = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Jun 2020 18:11:49 +0100 -Subject: [PATCH 0259/1219] media: i2c: imx290: Switch set_hmax to use +Subject: [PATCH 0258/1284] media: i2c: imx290: Switch set_hmax to use imx290_write_buffered_reg imx290_set_hmax was using two independent writes to set up hmax, @@ -176022,13 +175959,13 @@ index aeb95161b4fe..e64124a521b2 100644 static int imx290_set_vmax(struct imx290 *imx290, u32 val) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 2 Jul 2020 13:53:20 +0100 -Subject: [PATCH 0260/1219] serial: 8250: bcm2835aux - defer if clock is zero +Subject: [PATCH 0259/1284] serial: 8250: bcm2835aux - defer if clock is zero See: https://github.com/raspberrypi/linux/issues/3700 @@ -176056,13 +175993,13 @@ index fd95860cd661..fc36e5963e30 100644 ret = serial8250_register_8250_port(&up); if (ret < 0) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 May 2020 16:59:03 +0100 -Subject: [PATCH 0261/1219] media: Add a pixel format for MIPI packed 12bit +Subject: [PATCH 0260/1284] media: Add a pixel format for MIPI packed 12bit luma only. This is the format used by monochrome 12bit image sensors. @@ -176164,13 +176101,13 @@ index 0c4bbaed3b7c..4ee997c4a24f 100644 /* Palette formats */ #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:51:03 +0100 -Subject: [PATCH 0262/1219] media: Add a pixel format for MIPI packed 14bit +Subject: [PATCH 0261/1284] media: Add a pixel format for MIPI packed 14bit luma only. This is the format used by monochrome 14bit image sensors. @@ -176281,13 +176218,13 @@ index 4ee997c4a24f..b7cf101a24f5 100644 /* Palette formats */ #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:53:32 +0100 -Subject: [PATCH 0263/1219] media: bcm2835-unicam: Add support for 12bit mono +Subject: [PATCH 0262/1284] media: bcm2835-unicam: Add support for 12bit mono packed format Now that V4L2_PIX_FMT_Y12P is defined, allow passing raw 12bit @@ -176312,13 +176249,13 @@ index a65e1da55142..5edb58cc9f03 100644 .code = MEDIA_BUS_FMT_Y12_1X12, .depth = 12, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 18:03:47 +0100 -Subject: [PATCH 0264/1219] media: bcm2835-unicam: Add support for 14bit mono +Subject: [PATCH 0263/1284] media: bcm2835-unicam: Add support for 14bit mono sources Now that V4L2_PIX_FMT_Y14 and V4L2_PIX_FMT_Y14P are defined, @@ -176347,13 +176284,13 @@ index 5edb58cc9f03..778153943160 100644 /* Embedded data format */ { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 1 Jul 2020 10:57:57 +0100 -Subject: [PATCH 0265/1219] media: bcm2835-unicam: Add support for unpacked +Subject: [PATCH 0264/1284] media: bcm2835-unicam: Add support for unpacked 14bit Bayer formats Now that the 14bit non-packed Bayer formats are defined, add them @@ -176395,13 +176332,13 @@ index 778153943160..c97ecfc0e55b 100644 .depth = 14, .csi_dt = 0x2d, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Jul 2020 20:28:27 +0100 -Subject: [PATCH 0266/1219] bcm2835-dma: Add NO_WAIT_RESP flag +Subject: [PATCH 0265/1284] 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. @@ -176455,13 +176392,13 @@ index ac0458a8027f..84b1009da23b 100644 size_t max_len = bcm2835_dma_max_frame_length(c); size_t frames; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 10:31:53 +0100 -Subject: [PATCH 0267/1219] media: i2c: imx290: Explicitly set v&h blank on +Subject: [PATCH 0266/1284] media: i2c: imx290: Explicitly set v&h blank on mode change __v4l2_ctrl_modify_range only updates the current value should @@ -176507,13 +176444,13 @@ index e64124a521b2..0b520a7f88b1 100644 __v4l2_ctrl_modify_range(imx290->exposure, mode->vmax - mode->height, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 11:23:48 +0100 -Subject: [PATCH 0268/1219] media: i2c: imx290: Add support for g_selection to +Subject: [PATCH 0267/1284] media: i2c: imx290: Add support for g_selection to report cropping Userspace needs to know the cropping arrangements for each mode, @@ -176669,13 +176606,13 @@ index 0b520a7f88b1..e475d7889bc8 100644 static const struct v4l2_subdev_ops imx290_subdev_ops = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 11:51:26 +0100 -Subject: [PATCH 0269/1219] media: i2c: imx290: Set the colorspace fields in +Subject: [PATCH 0268/1284] media: i2c: imx290: Set the colorspace fields in the format The colorspace fields were left untouched in imx290_set_fmt @@ -176706,13 +176643,13 @@ index e475d7889bc8..def5e8fe41a0 100644 if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { format = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 14:23:40 +0100 -Subject: [PATCH 0270/1219] media: bcm2835-unicam: Reinstate V4L2_CAP_READWRITE +Subject: [PATCH 0269/1284] media: bcm2835-unicam: Reinstate V4L2_CAP_READWRITE in the caps v4l2-compliance throws a failure if the device doesn't advertise @@ -176740,13 +176677,13 @@ index c97ecfc0e55b..20b46a9e04c3 100644 /* Define the device names */ snprintf(vdev->name, sizeof(vdev->name), "%s-%s", UNICAM_MODULE_NAME, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 14:52:43 +0100 -Subject: [PATCH 0271/1219] media: bcm2835-unicam: Ensure type is VIDEO_CAPTURE +Subject: [PATCH 0270/1284] 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 @@ -176782,13 +176719,13 @@ index 20b46a9e04c3..de288f87ff2f 100644 if (!ret) sel->r = sdsel.r; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 11 May 2020 13:02:22 +0100 -Subject: [PATCH 0272/1219] media: bcm2835: unicam: Set VPU min clock freq to +Subject: [PATCH 0271/1284] media: bcm2835: unicam: Set VPU min clock freq to 250Mhz. When streaming with Unicam, the VPU must have a clock frequency of at @@ -176915,13 +176852,13 @@ index de288f87ff2f..295db7564614 100644 if (ret <= 0) { dev_err(&pdev->dev, "No IRQ resource\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 11 May 2020 13:06:27 +0100 -Subject: [PATCH 0273/1219] dt-bindings: bcm2835-unicam: Update documentation +Subject: [PATCH 0272/1284] dt-bindings: bcm2835-unicam: Update documentation with new clock params Update the documentation to reflect the new "VPU" clock needed @@ -176959,13 +176896,13 @@ index 7714fb374b34..164d0377dcd2 100644 csi1_ep: endpoint { remote-endpoint = <&tc358743_0>; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Jul 2020 10:33:19 +0100 -Subject: [PATCH 0274/1219] leds: Add the actpwr trigger +Subject: [PATCH 0273/1284] 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 @@ -177205,13 +177142,13 @@ index 000000000000..1a52107ceb03 +MODULE_DESCRIPTION("ACT/PWR LED trigger"); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 22 Jul 2020 17:59:31 +0100 -Subject: [PATCH 0275/1219] bcm2835-dma: Advertise the full DMA range +Subject: [PATCH 0274/1284] bcm2835-dma: Advertise the full DMA range Unless the DMA mask is set wider than 32 bits, DMA mapping will use a bounce buffer. @@ -177288,13 +177225,13 @@ index 84b1009da23b..d1127b9058a4 100644 /* Request DMA channel mask from device tree */ if (of_property_read_u32(pdev->dev.of_node, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Wed, 19 Aug 2020 17:02:22 +0300 -Subject: [PATCH 0276/1219] media: bcm2835: unicam: Select MEDIA_CONTROLLER and +Subject: [PATCH 0275/1284] media: bcm2835: unicam: Select MEDIA_CONTROLLER and VIDEO_V4L2_SUBDEV_API That is what almost all other drivers appear to be doing. @@ -177321,13 +177258,13 @@ index ec46e3ef053c..7d5a0e6ba762 100644 select V4L2_FWNODE help -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Wed, 19 Aug 2020 17:05:53 +0300 -Subject: [PATCH 0277/1219] staging: media: rpivid: Select MEDIA_CONTROLLER and +Subject: [PATCH 0276/1284] staging: media: rpivid: Select MEDIA_CONTROLLER and MEDIA_CONTROLLER_REQUEST_API MEDIA_CONTROLLER_REQUEST_API is a hidden option. If rpivid depends on it, @@ -177359,13 +177296,13 @@ index 58b470c80db1..304c3edf0e71 100644 select V4L2_MEM2MEM_DEV help -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 27 Aug 2020 16:30:26 +0100 -Subject: [PATCH 0278/1219] media: bcm2835-unicam: Drop WARN on uing direct +Subject: [PATCH 0277/1284] media: bcm2835-unicam: Drop WARN on uing direct cache alias Pi 0&1 pass all ARM accesses through the VPU L2 cache, therefore @@ -177399,13 +177336,13 @@ index 295db7564614..35ddb97f7f75 100644 reg_write(dev, UNICAM_IBSA0, dmaaddr); reg_write(dev, UNICAM_IBEA0, endaddr); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 Jul 2020 12:40:50 +0100 -Subject: [PATCH 0279/1219] media: i2c: tc358743: Only allow supported pixel +Subject: [PATCH 0278/1284] media: i2c: tc358743: Only allow supported pixel fmts in set_fmt Fix commit "media: tc358743: Return an appropriate colorspace from @@ -177435,13 +177372,13 @@ index 2985dd9e46cd..da166e6a41d6 100644 if (ret) return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 3 Sep 2020 14:02:41 +0100 -Subject: [PATCH 0280/1219] dwc_otg: whitelist_table is now productlist_table +Subject: [PATCH 0279/1284] dwc_otg: whitelist_table is now productlist_table --- drivers/usb/core/otg_productlist.h | 2 +- @@ -177461,13 +177398,13 @@ index 1839e169469b..b16e528859a8 100644 dev_dbg(&dev->dev, "ID: V:%04x P:%04x DC:%04x SC:%04x PR:%04x \n", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 3 Sep 2020 17:09:07 +0100 -Subject: [PATCH 0281/1219] include/firmware: Add enum for +Subject: [PATCH 0280/1284] include/firmware: Add enum for RPI_FIRMWARE_FRAMEBUFFER_GET_DISPLAY_ID Used by audio and FKMS. @@ -177490,13 +177427,13 @@ index 119141c91bad..6a7b665a1a82 100644 RPI_FIRMWARE_FRAMEBUFFER_GET_NUM_DISPLAYS = 0x00040013, RPI_FIRMWARE_FRAMEBUFFER_GET_DISPLAY_SETTINGS = 0x00040014, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 8 May 2020 10:00:12 +0100 -Subject: [PATCH 0282/1219] media: i2c: Add driver for Sony IMX477 sensor +Subject: [PATCH 0281/1284] 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 @@ -177519,10 +177456,10 @@ Signed-off-by: Naushir Patuck create mode 100644 drivers/media/i2c/imx477.c diff --git a/MAINTAINERS b/MAINTAINERS -index 20d1fcdd3ba6..b1ad00874dd3 100644 +index 65a94e1b7909..876c8ed0bdc1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17525,6 +17525,14 @@ T: git git://linuxtv.org/media_tree.git +@@ -17520,6 +17520,14 @@ T: git git://linuxtv.org/media_tree.git F: Documentation/devicetree/bindings/media/i2c/sony,imx412.yaml F: drivers/media/i2c/imx412.c @@ -179769,13 +179706,13 @@ index 000000000000..db615dbe1497 +MODULE_DESCRIPTION("Sony IMX477 sensor driver"); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 8 May 2020 09:41:17 +0100 -Subject: [PATCH 0283/1219] media: i2c: imx477: Add support for adaptive frame +Subject: [PATCH 0282/1284] media: i2c: imx477: Add support for adaptive frame control Use V4L2_CID_EXPOSURE_AUTO_PRIORITY to control if the driver should @@ -179957,13 +179894,13 @@ index db615dbe1497..f76582f27181 100644 V4L2_CID_HFLIP, 0, 1, 1, 0); if (imx477->hflip) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 19 May 2020 16:56:33 +0100 -Subject: [PATCH 0284/1219] media: i2c: imx477: Return correct result on sensor +Subject: [PATCH 0283/1284] media: i2c: imx477: Return correct result on sensor id verification The test should return -EIO if the register read id does not match @@ -179988,13 +179925,13 @@ index f76582f27181..f4cdc2d4158e 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sat, 4 Jul 2020 01:45:08 +0300 -Subject: [PATCH 0285/1219] media: i2c: imx477: Parse and register properties +Subject: [PATCH 0284/1284] media: i2c: imx477: Parse and register properties Parse device properties and register controls for them using the V4L2 fwnode properties helpers. @@ -180039,13 +179976,13 @@ index f4cdc2d4158e..d0848f3f3c09 100644 /* Setup exposure and frame/line length limits. */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 May 2020 18:28:27 +0100 -Subject: [PATCH 0286/1219] media: bcm2835-unicam: Always service interrupts +Subject: [PATCH 0285/1284] 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 @@ -180096,13 +180033,13 @@ index 35ddb97f7f75..d4ba911fe7e7 100644 /* Write value back to clear the interrupts */ reg_write(unicam, UNICAM_STA, sta); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:33:31 +0200 -Subject: [PATCH 0287/1219] media: bcm2835: unicam: Fix uninitialized warning +Subject: [PATCH 0286/1284] media: bcm2835: unicam: Fix uninitialized warning Signed-off-by: Jacko Dirks --- @@ -180123,13 +180060,13 @@ index d4ba911fe7e7..8b091d3a0d15 100644 for (i = 0; ret != -EINVAL && ret != -ENOIOCTLCMD; ++i) { memset(&mbus_code, 0, sizeof(mbus_code)); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 15:14:05 +0100 -Subject: [PATCH 0288/1219] media: bcm2835-unicam: Fixup review comments from +Subject: [PATCH 0287/1284] media: bcm2835-unicam: Fixup review comments from Hans. Updates the driver based on the upstream review comments from @@ -180375,13 +180312,13 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 !v4l2_subdev_has_op(unicam->sensor, video, s_std)) { v4l2_disable_ioctl(&node->video_dev, VIDIOC_S_STD); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 11:46:47 +0100 -Subject: [PATCH 0289/1219] media: bcm2835-unicam: Retain packing information +Subject: [PATCH 0288/1284] media: bcm2835-unicam: Retain packing information on G_FMT The change to retrieve the pixel format always on g_fmt didn't @@ -180429,13 +180366,13 @@ index 7dc96c3e8e83..98ae97c367ea 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 28 May 2020 11:09:48 +0100 -Subject: [PATCH 0290/1219] media: bcm2835-unicam: change minimum number of +Subject: [PATCH 0289/1284] 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 @@ -180463,13 +180400,13 @@ index 98ae97c367ea..6501fb205e20 100644 ret = vb2_queue_init(q); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 1 Sep 2020 18:15:27 +0100 -Subject: [PATCH 0291/1219] staging/fbtft: Add support for display variants +Subject: [PATCH 0290/1284] 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 @@ -180678,13 +180615,13 @@ index 06afaa9d505b..c6ec045a447c 100644 /* shorthand debug levels */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 3 Feb 2020 09:32:22 +0000 -Subject: [PATCH 0292/1219] brcmfmac: Increase power saving delay to 2s +Subject: [PATCH 0291/1284] 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, @@ -180717,13 +180654,13 @@ index fefa8c058350..077852e6b049 100644 min_t(u32, timeout, BRCMF_PS_MAX_TIMEOUT_MS)); if (err) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 21 Sep 2020 14:02:44 +0100 -Subject: [PATCH 0293/1219] rpivid_h265: Fix width/height typo +Subject: [PATCH 0292/1284] rpivid_h265: Fix width/height typo Signed-off-by: popcornmix --- @@ -180744,13 +180681,13 @@ index 47d4de42c584..b677910e237c 100644 h = 4096; wxh = w * h; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 25 Sep 2020 15:07:23 +0100 -Subject: [PATCH 0294/1219] net: bcmgenet: Reset RBUF on first open +Subject: [PATCH 0293/1284] 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 @@ -180820,13 +180757,13 @@ index e24c27abd432..9a90637fb556 100644 /* Reinitialize TDMA and RDMA and SW housekeeping */ ret = bcmgenet_init_dma(priv); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Sep 2020 20:23:30 +0100 -Subject: [PATCH 0295/1219] char: Add broadcom char drivers back to build files +Subject: [PATCH 0294/1284] char: Add broadcom char drivers back to build files See: https://github.com/raspberrypi/linux/issues/3875 Signed-off-by: popcornmix @@ -180858,13 +180795,13 @@ index 264eb398fdd4..9bcd7d729cb0 100644 obj-$(CONFIG_ADI) += adi.o +obj-$(CONFIG_BRCM_CHAR_DRIVERS) += broadcom/ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 7 Oct 2020 15:09:29 +0100 -Subject: [PATCH 0296/1219] dwc_otg: initialise sched_frame for periodic QHs +Subject: [PATCH 0295/1284] 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 @@ -180897,13 +180834,13 @@ index 2823dc9af63f..4503af692aef 100644 intr_mask.b.sofintr = 1; if (fiq_enable) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 8 Oct 2020 15:35:14 +0100 -Subject: [PATCH 0297/1219] staging: bcm2835-camera: Replace deprecated +Subject: [PATCH 0296/1284] staging: bcm2835-camera: Replace deprecated V4L2_PIX_FMT_BGR32 V4L2_PIX_FMT_BGR32 is deprecated as it is ambiguous over where @@ -180933,13 +180870,13 @@ index 6b348e399c06..5d14ddb28339 100644 .depth = 32, .mmal_component = COMP_CAMERA, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 8 Oct 2020 18:49:52 +0100 -Subject: [PATCH 0298/1219] staging: vc04_services: Add new vc-sm-cma driver +Subject: [PATCH 0297/1284] staging: vc04_services: Add new vc-sm-cma driver Add Broadcom VideoCore Shared Memory support. @@ -183897,13 +183834,13 @@ index 000000000000..988fdd967922 + +#endif /* __VC_SM_KNL_H__INCLUDED__ */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 May 2020 18:09:04 +0100 -Subject: [PATCH 0299/1219] staging: vchiq-mmal: Add support for 14bit Bayer +Subject: [PATCH 0298/1284] staging: vchiq-mmal: Add support for 14bit Bayer Add in the missing defines. @@ -183930,13 +183867,13 @@ index 44ba91aa6d47..be8af09a6c80 100644 #define MMAL_ENCODING_BAYER_SBGGR16 MMAL_FOURCC('B', 'G', '1', '6') #define MMAL_ENCODING_BAYER_SGBRG16 MMAL_FOURCC('G', 'B', '1', '6') -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 May 2020 18:11:14 +0100 -Subject: [PATCH 0300/1219] staging: mmal-vchiq: Add monochrome image formats +Subject: [PATCH 0299/1284] staging: mmal-vchiq: Add monochrome image formats Adds support for monochrome image formats in the various MIPI packings. @@ -183965,13 +183902,13 @@ index be8af09a6c80..897e6cdf8dd9 100644 */ #define MMAL_ENCODING_EGL_IMAGE MMAL_FOURCC('E', 'G', 'L', 'I') -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Sep 2018 16:07:55 +0100 -Subject: [PATCH 0301/1219] staging: mmal-vchiq: Use vc-sm-cma to support zero +Subject: [PATCH 0300/1284] 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 @@ -184139,13 +184076,13 @@ index e87f88f99338..247521fbcc1d 100644 u32 type; /* port type, cached to use on port info set */ u32 index; /* port index, cached to use on port info set */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 8 Oct 2020 20:24:12 +0100 -Subject: [PATCH 0302/1219] staging: vc04_services: Add a V4L2 M2M codec driver +Subject: [PATCH 0301/1284] staging: vc04_services: Add a V4L2 M2M codec driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -187314,13 +187251,13 @@ index 89059bca0b77..0a1edad8d4a8 100644 /** Valid mirror modes */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2020 00:48:55 +0200 -Subject: [PATCH 0303/1219] bcm2835-dma: only reserve channel 0 if legacy dma +Subject: [PATCH 0302/1284] 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 @@ -187352,13 +187289,13 @@ index d1127b9058a4..0cbfa9d559a2 100644 /* And possibly one for the 40-bit DMA memcpy API */ if (chans_available & od->cfg_data->chan_40bit_mask & -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 12 Oct 2020 17:03:14 +0100 -Subject: [PATCH 0304/1219] uapi: bcm2835-isp: Add bcm2835-isp uapi header file +Subject: [PATCH 0303/1284] 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. @@ -187697,13 +187634,13 @@ index 000000000000..cf8c0437f159 + +#endif /* __BCM2835_ISP_H_ */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 23 Apr 2020 10:17:37 +0100 -Subject: [PATCH 0305/1219] staging: vc04_services: ISP: Add a more complex ISP +Subject: [PATCH 0304/1284] staging: vc04_services: ISP: Add a more complex ISP processing component Driver for the BCM2835 ISP hardware block. This driver uses the MMAL @@ -187736,7 +187673,7 @@ Signed-off-by: Naushir Patuck create mode 100644 drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c diff --git a/MAINTAINERS b/MAINTAINERS -index b1ad00874dd3..32109bc90bf4 100644 +index 876c8ed0bdc1..4c60ffff9577 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3567,6 +3567,15 @@ S: Maintained @@ -190132,13 +190069,13 @@ index 0a1edad8d4a8..efda4dc039c3 100644 #endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 30 Sep 2020 12:00:54 +0100 -Subject: [PATCH 0306/1219] gpio: Add gpio-fsm driver +Subject: [PATCH 0305/1284] 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 @@ -191476,13 +191413,13 @@ index 000000000000..eb40cfdc71df + +#endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Oct 2020 10:23:22 +0000 -Subject: [PATCH 0307/1219] staging: bcm2835-audio: Add disable-headphones flag +Subject: [PATCH 0306/1284] 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. @@ -191516,13 +191453,13 @@ index a0cba3823e5e..ccda115ab9e0 100644 enable_hdmi0 = enable_hdmi; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 26 Oct 2020 16:38:21 +0000 -Subject: [PATCH 0308/1219] rpisense-fb: Set pseudo_pallete to prevent crash on +Subject: [PATCH 0307/1284] rpisense-fb: Set pseudo_pallete to prevent crash on fbcon takeover Signed-off-by: Serge Schneider @@ -191552,13 +191489,13 @@ index 26432a5a0b4b..325977def531 100644 if (lowlight) rpisense_fb_param.gamma = gamma_low; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Oct 2020 09:59:49 +0000 -Subject: [PATCH 0309/1219] dwc_otg: Minimise header and fix build warnings +Subject: [PATCH 0308/1284] 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. @@ -192457,13 +192394,13 @@ index e55ea9c74be4..76e94b4ebb43 100644 uint8_t temp; int ndx = 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Oct 2020 12:10:40 +0000 -Subject: [PATCH 0310/1219] rpivid_h625: Fix build warnings +Subject: [PATCH 0309/1284] rpivid_h625: Fix build warnings Signed-off-by: Phil Elwell --- @@ -192531,13 +192468,13 @@ index b677910e237c..fc3caed58187 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Oct 2020 12:12:22 +0000 -Subject: [PATCH 0311/1219] bcm2708_fb: Fix a build warning +Subject: [PATCH 0310/1284] bcm2708_fb: Fix a build warning Signed-off-by: Phil Elwell --- @@ -192559,13 +192496,13 @@ index dac5c021ce52..365c5b96b8a0 100644 pr_err("[%s]: failed to copy-to-user\n", __func__); rc = -EFAULT; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Thu, 22 Oct 2020 15:30:55 +0100 -Subject: [PATCH 0312/1219] watchdog: bcm2835: Ignore params after the +Subject: [PATCH 0311/1284] watchdog: bcm2835: Ignore params after the partition number Use sscanf to extract the partition number and ignore extra parameters @@ -192594,13 +192531,13 @@ index 58d5a1b89584..e8d151d524fd 100644 __bcm2835_restart(wdt, partition); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 20 Oct 2020 11:55:37 +0100 -Subject: [PATCH 0313/1219] firmware: raspberrypi: Add support for tryonce +Subject: [PATCH 0312/1284] firmware: raspberrypi: Add support for tryonce reboot flag Define a new mailbox (SET_REBOOT_FLAGS) which may be used to @@ -192618,7 +192555,7 @@ mechanism to be implemented for OS upgrades. 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index fa105074f05f..1223e3173cff 100644 +index 02513603d148..81b6351fda83 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -193,6 +193,7 @@ static int rpi_firmware_notify_reboot(struct notifier_block *nb, @@ -192674,13 +192611,13 @@ index 6a7b665a1a82..ee361b90eb29 100644 /* Dispmanx TAGS */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 14 May 2019 17:00:41 +0100 -Subject: [PATCH 0314/1219] phy: broadcom: split out the BCM54213PE from the +Subject: [PATCH 0313/1284] phy: broadcom: split out the BCM54213PE from the BCM54210E IDs The last nibble is a revision ID, and the 54213pe is a later rev @@ -192753,13 +192690,13 @@ index c2c2147dfeb8..ea2f8ea92d54 100644 #define PHY_ID_BCM5461 0x002060c0 #define PHY_ID_BCM54612E 0x03625e60 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 29 Oct 2020 14:10:56 +0000 -Subject: [PATCH 0315/1219] phy: broadcom: Add bcm54213pe configuration +Subject: [PATCH 0314/1284] phy: broadcom: Add bcm54213pe configuration Signed-off-by: Phil Elwell --- @@ -192793,13 +192730,13 @@ index 6f93379bfdd9..05492268ae42 100644 err = bcm54616s_config_init(phydev); break; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Nov 2020 17:08:33 +0000 -Subject: [PATCH 0316/1219] PCI: brcmstb: Restore initial fundamental reset +Subject: [PATCH 0315/1284] 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 @@ -192834,13 +192771,13 @@ index 77967a37cbd9..d26844f03e25 100644 /* Take the bridge out of reset */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Nov 2020 18:45:10 +0000 -Subject: [PATCH 0317/1219] Input: edt-ft5x06: Poll the device if no interrupt +Subject: [PATCH 0316/1284] Input: edt-ft5x06: Poll the device if no interrupt is configured. Not all systems have the interrupt line wired up, so switch to @@ -192937,13 +192874,13 @@ index bb2e1cbffba7..339eae4ec7a8 100644 error = devm_device_add_group(&client->dev, &edt_ft5x06_attr_group); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 23 Apr 2020 10:17:18 +0100 -Subject: [PATCH 0318/1219] drm/panel/raspberrypi-touchscreen: Use independent +Subject: [PATCH 0317/1284] drm/panel/raspberrypi-touchscreen: Use independent I2C actions with delay. We now have the hardware I2C controller pinmuxed to the drive the @@ -193001,13 +192938,13 @@ index 145047e19394..2ef5f611a334 100644 static void rpi_touchscreen_i2c_write(struct rpi_touchscreen *ts, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 10 Nov 2020 11:21:56 +0000 -Subject: [PATCH 0319/1219] drm/panel/raspberrypi-ts: Insert delay before +Subject: [PATCH 0318/1284] drm/panel/raspberrypi-ts: Insert delay before polling for startup state In switching to the hardware I2C controller there is an issue @@ -193033,13 +192970,13 @@ index 2ef5f611a334..bd15c2f2e247 100644 for (i = 0; i < 100; i++) { if (rpi_touchscreen_i2c_read(ts, REG_PORTB) & 1) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 12 Nov 2020 17:01:52 +0000 -Subject: [PATCH 0320/1219] dt-bindings: Add compatible for BCM2711 DSI1 +Subject: [PATCH 0319/1284] 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. @@ -193062,13 +192999,13 @@ index 32608578a352..112bc56de0b1 100644 reg: maxItems: 1 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 2 Dec 2020 15:22:23 +0000 -Subject: [PATCH 0321/1219] media: bcm2835-unicam: Correctly handle error +Subject: [PATCH 0320/1284] media: bcm2835-unicam: Correctly handle error propagation for stream on On a failure in start_streaming(), the error code would not propagate to @@ -193095,13 +193032,13 @@ index 6501fb205e20..c13a0a20fd12 100644 clk_disable_unprepare(dev->vpu_clock); err_pm_put: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 2 Dec 2020 15:26:09 +0000 -Subject: [PATCH 0322/1219] media: bcm2835-unicam: Return early from +Subject: [PATCH 0321/1284] media: bcm2835-unicam: Return early from stop_streaming() if stopped clk_disable_unprepare() is called unconditionally in stop_streaming(). @@ -193165,13 +193102,13 @@ index c13a0a20fd12..60309de02369 100644 } else if (node->pad_id == METADATA_PAD) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 2 Dec 2020 16:48:41 +0000 -Subject: [PATCH 0323/1219] media: bcm2835-unicam: Clear clock state when +Subject: [PATCH 0322/1284] media: bcm2835-unicam: Clear clock state when stopping streaming Commit 65e08c465020d4c5b51afb452efc2246d80fd66f failed to clear the @@ -193196,13 +193133,13 @@ index 60309de02369..a8b3f5433f04 100644 unicam_runtime_put(dev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 3 Dec 2020 13:44:42 +0000 -Subject: [PATCH 0324/1219] PCI: brcmstb: Advertise MSI-X support +Subject: [PATCH 0323/1284] 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 @@ -193229,13 +193166,13 @@ index d26844f03e25..44f0ea66b60b 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Dec 2020 16:38:37 +0000 -Subject: [PATCH 0325/1219] net: lan78xx: Ack pending PHY ints when resetting +Subject: [PATCH 0324/1284] 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 @@ -193267,13 +193204,13 @@ index 0cf3f00b52ff..ac68716136cf 100644 phy_read_status(phydev); link = phydev->link; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 9 Dec 2020 11:30:12 +0000 -Subject: [PATCH 0326/1219] media: i2c: imx477: Selection compliance fixes +Subject: [PATCH 0325/1284] 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 @@ -193353,13 +193290,13 @@ index d0848f3f3c09..07a1e023ade8 100644 sel->r.top = IMX477_PIXEL_ARRAY_TOP; sel->r.width = IMX477_PIXEL_ARRAY_WIDTH; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: gesangtome Date: Fri, 1 Jan 2021 18:03:17 +0800 -Subject: [PATCH 0327/1219] vc-sm-cma: fixed kbuild problem +Subject: [PATCH 0326/1284] vc-sm-cma: fixed kbuild problem error logs: drivers/staging/vc04_services/vc-sm-cma/Kconfig:1:error: recursive dependency detected! @@ -193389,13 +193326,13 @@ index a7c1a7bf516e..5df9198cdab1 100644 help Enables the MMAL API over VCHIQ interface as used for the -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 Jan 2021 10:43:20 +0000 -Subject: [PATCH 0328/1219] staging/vc04_services: Add additional unpacked raw +Subject: [PATCH 0327/1284] staging/vc04_services: Add additional unpacked raw formats Support has been added for the unpacked (16bpp) versions of @@ -193446,13 +193383,13 @@ index 8eb6334ee055..59f7ad3a5b3b 100644 /** An EGL image handle */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 Jan 2021 10:45:16 +0000 -Subject: [PATCH 0329/1219] staging/bcm2835-codec: Add the unpacked (16bpp) raw +Subject: [PATCH 0328/1284] staging/bcm2835-codec: Add the unpacked (16bpp) raw formats Now that the firmware supports the unpacked (16bpp) variants @@ -193619,13 +193556,13 @@ index 8a8f1e8db7d0..c883db63808f 100644 /* Populate dev->supported_fmts with the formats supported by those ports. */ static int bcm2835_codec_get_supported_fmts(struct bcm2835_codec_dev *dev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 Jan 2021 11:41:26 +0000 -Subject: [PATCH 0330/1219] staging/bcm2835-codec: Log the number of excess +Subject: [PATCH 0329/1284] staging/bcm2835-codec: Log the number of excess supported formats When logging that the firmware has provided more supported formats @@ -193668,13 +193605,13 @@ index c883db63808f..94691ab7175a 100644 } else { ret = -EINVAL; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 Jan 2021 11:37:10 +0000 -Subject: [PATCH 0331/1219] staging/bcm2835-isp: Add the unpacked (16bpp) raw +Subject: [PATCH 0330/1284] staging/bcm2835-isp: Add the unpacked (16bpp) raw formats Now that the firmware supports the unpacked (16bpp) variants @@ -193850,13 +193787,13 @@ index 8bb3d115b27a..9a313ffcabf5 100644 /* Populate node->supported_fmts with the formats supported by those ports. */ static int bcm2835_isp_get_supported_fmts(struct bcm2835_isp_node *node) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 Jan 2021 11:43:22 +0000 -Subject: [PATCH 0332/1219] staging/bcm2835-isp: Log the number of excess +Subject: [PATCH 0331/1284] staging/bcm2835-isp: Log the number of excess supported formats When logging that the firmware has provided more supported formats @@ -193885,13 +193822,13 @@ index 9a313ffcabf5..afac2ad65790 100644 } else { v4l2_err(&dev->v4l2_dev, "%s: get_param ret %u.\n", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 6 Jan 2021 18:16:10 +0000 -Subject: [PATCH 0333/1219] bcm2835-dma: Avoid losing CS flags after interrupt +Subject: [PATCH 0332/1284] bcm2835-dma: Avoid losing CS flags after interrupt Signed-off-by: Dom Cobley --- @@ -193912,13 +193849,13 @@ index 0cbfa9d559a2..9878d1bed589 100644 d = c->desc; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 8 Jan 2021 13:37:25 +0000 -Subject: [PATCH 0334/1219] arch/arm: Add __memset alias to memset_rpi.S +Subject: [PATCH 0333/1284] arch/arm: Add __memset alias to memset_rpi.S memset_rpi.S is an optimised memset implementation, but doesn't define __memset (which was just added to memset.S). As a result, building @@ -193951,13 +193888,13 @@ index e8469cecabc1..bda4c5b99367 100644 ENDPROC(memset) ENDPROC(mmioset) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 30 Dec 2020 14:51:29 +0000 -Subject: [PATCH 0335/1219] bcm2835-dma: Add bcm2835-dma: Add DMA_WIDE_SOURCE +Subject: [PATCH 0334/1284] bcm2835-dma: Add bcm2835-dma: Add DMA_WIDE_SOURCE and DMA_WIDE_DEST flags Use (reserved) bits 24 and 25 of the dreq value @@ -194021,13 +193958,13 @@ index 9878d1bed589..6aee9e97d207 100644 size_t max_len = bcm2835_dma_max_frame_length(c); size_t frames; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 14 Jan 2021 09:18:42 +0000 -Subject: [PATCH 0336/1219] uapi: bcm2835-isp: Add colour denoise configuration +Subject: [PATCH 0335/1284] uapi: bcm2835-isp: Add colour denoise configuration Add a configuration structure for colour denoise to the bcm2835_isp driver. @@ -194083,13 +194020,13 @@ index cf8c0437f159..c50e3ca81565 100644 * struct bcm2835_isp_denoise - Denoise parameters set with the * V4L2_CID_USER_BCM2835_ISP_DENOISE ctrl. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 14 Jan 2021 09:20:52 +0000 -Subject: [PATCH 0337/1219] staging: vc04_services: ISP: Add colour denoise +Subject: [PATCH 0336/1284] staging: vc04_services: ISP: Add colour denoise control Add colour denoise control to the bcm2835 driver through a new v4l2 @@ -194168,13 +194105,13 @@ index efda4dc039c3..79438d23912f 100644 u32 enabled; u32 constant; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 28 Jan 2021 11:30:04 +0000 -Subject: [PATCH 0338/1219] spi: bcm2835: Workaround/fix for zero-length +Subject: [PATCH 0337/1284] spi: bcm2835: Workaround/fix for zero-length transfers A relatively recent commit ([1]) contained optimisation for the PIO @@ -194224,13 +194161,13 @@ index 2a0cab8435b0..4e27135eba32 100644 spi_hz = tfr->speed_hz; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Jan 2021 10:34:11 +0000 -Subject: [PATCH 0339/1219] kbuild: Silence unavoidable dtc overlay warnings +Subject: [PATCH 0338/1284] 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 @@ -194261,13 +194198,13 @@ index dff7d1ef5ff4..fa25e95035a9 100644 cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 4 Feb 2021 17:29:32 +0000 -Subject: [PATCH 0340/1219] media: i2c: imx290: Replace V4L2_CID_GAIN with +Subject: [PATCH 0339/1284] media: i2c: imx290: Replace V4L2_CID_GAIN with V4L2_CID_ANALOGUE_GAIN Most software (including libcamera) requires V4L2_CID_ANALOGUE_GAIN, @@ -194305,13 +194242,13 @@ index def5e8fe41a0..1028a339beee 100644 mode = imx290->current_mode; imx290->hblank = v4l2_ctrl_new_std(&imx290->ctrls, &imx290_ctrl_ops, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 4 Feb 2021 21:21:44 +0000 -Subject: [PATCH 0341/1219] media: i2c: imx290: Fix number of controls in +Subject: [PATCH 0340/1284] media: i2c: imx290: Fix number of controls in v4l2_ctrl_handler_init The number is only a hint, but may as well be correct. @@ -194339,13 +194276,13 @@ index 1028a339beee..401afc4dc67d 100644 v4l2_ctrl_new_std(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_ANALOGUE_GAIN, 0, 100, 1, 0); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 11 Jan 2021 15:23:07 +0100 -Subject: [PATCH 0342/1219] dt-binding: display: bcm2711-hdmi: Add CEC and +Subject: [PATCH 0341/1284] dt-binding: display: bcm2711-hdmi: Add CEC and hotplug interrupts The CEC and hotplug interrupts were missing when that binding was @@ -194371,13 +194308,13 @@ index a1d5a32660e0..57324a5f0271 100644 examples: - | -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 8 Feb 2021 11:48:35 +0000 -Subject: [PATCH 0343/1219] staging:bcm2835-camera: Fix the cherry-pick of AWB +Subject: [PATCH 0342/1284] staging:bcm2835-camera: Fix the cherry-pick of AWB Greyworld The cherry-pick of the patch that added the greyworld AWB mode @@ -194405,13 +194342,13 @@ index a7af25f90449..f73daa38fa66 100644 .step = 0, .imenu = NULL, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 12 Jan 2021 13:55:39 +0000 -Subject: [PATCH 0344/1219] bcm2835-isp: Allow formats with different colour +Subject: [PATCH 0343/1284] bcm2835-isp: Allow formats with different colour spaces. Each supported format now includes a mask showing the allowed colour @@ -195125,13 +195062,13 @@ index 4d24aec7203d..5cca8bdd1d65 100644 queue->io_modes = VB2_MMAP | VB2_DMABUF; queue->drv_priv = node; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Mon, 8 Feb 2021 16:01:37 +0000 -Subject: [PATCH 0345/1219] staging: rpivid: Fix crash when CMA alloc fails +Subject: [PATCH 0344/1284] staging: rpivid: Fix crash when CMA alloc fails If realloc to increase coeff size fails then attempt to re-allocate the original size. If that also fails then flag a fatal error to abort @@ -195251,13 +195188,13 @@ index fc3caed58187..e6b07920aa8c 100644 ctx->state = kzalloc(sizeof(*ctx->state), GFP_KERNEL); if (!ctx->state) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 10 Feb 2021 10:18:53 +0000 -Subject: [PATCH 0346/1219] media: i2c: imx477: Remove auto frame length +Subject: [PATCH 0345/1284] media: i2c: imx477: Remove auto frame length adjusting The V4L2_CID_EXPOSURE_AUTO_PRIORITY was used to let the sensor control @@ -195399,13 +195336,13 @@ index 07a1e023ade8..217780b88ad1 100644 V4L2_CID_HFLIP, 0, 1, 1, 0); if (imx477->hflip) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 10 Feb 2021 10:50:32 +0000 -Subject: [PATCH 0347/1219] media: i2c: imx477: Add very long exposure control +Subject: [PATCH 0346/1284] media: i2c: imx477: Add very long exposure control to the driver Add support for very long exposures by using the exposure multiplier @@ -195531,13 +195468,13 @@ index 217780b88ad1..7907d5142d17 100644 /* Setting this will adjust the exposure limits as well. */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 17 Feb 2021 18:08:12 +0000 -Subject: [PATCH 0348/1219] media: i2c: imx290: Fix up exposure calcuations and +Subject: [PATCH 0347/1284] media: i2c: imx290: Fix up exposure calcuations and ranges Should now correspond exactly to the datasheet. @@ -195596,13 +195533,13 @@ index 401afc4dc67d..36e9261af23d 100644 imx290->hflip = v4l2_ctrl_new_std(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_HFLIP, 0, 1, 1, 0); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 18 Feb 2021 11:58:29 +0000 -Subject: [PATCH 0349/1219] media: i2c: imx290: Handle exposure correctly when +Subject: [PATCH 0348/1284] media: i2c: imx290: Handle exposure correctly when vblank changes When vblank changes we must modify the exposure range. Also, with this @@ -195644,13 +195581,13 @@ index 36e9261af23d..836d3684c273 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 18 Feb 2021 15:05:57 +0000 -Subject: [PATCH 0350/1219] media: i2c: imx477: Fix crop height for 2028x1080 +Subject: [PATCH 0349/1284] media: i2c: imx477: Fix crop height for 2028x1080 mode The crop height for this mode was set at 2600 lines, it should be 2160 @@ -195675,13 +195612,13 @@ index 7907d5142d17..27ee391eee49 100644 .timeperframe_min = { .numerator = 100, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 18 Feb 2021 15:23:11 +0000 -Subject: [PATCH 0351/1219] media: i2c: imx477: Replace existing 1012x760 mode +Subject: [PATCH 0350/1284] media: i2c: imx477: Replace existing 1012x760 mode The existing 1012x760 120 fps mode has significant IQ problem using the internal sensor scaler. Replace this mode with a 1332x990 120 fps @@ -195878,13 +195815,13 @@ index 27ee391eee49..178ddc43bb73 100644 } }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 19 Feb 2021 10:30:49 +0000 -Subject: [PATCH 0352/1219] media: i2c: imx477: Remove internal +Subject: [PATCH 0351/1284] media: i2c: imx477: Remove internal v4l2_mbus_framefmt from the state The only field in this struct that is used is the format code, so @@ -195954,13 +195891,13 @@ index 178ddc43bb73..74e8d892d4a6 100644 } } else { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 19 Feb 2021 11:06:40 +0000 -Subject: [PATCH 0353/1219] media: i2c: imx477: Remove unused function +Subject: [PATCH 0352/1284] media: i2c: imx477: Remove unused function parameter The struct imx477 *ctrl parameter is not used in the function @@ -195995,13 +195932,13 @@ index 74e8d892d4a6..31e48512c165 100644 /* * Applying V4L2 control value only happens -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 5 Mar 2021 15:40:45 +0000 -Subject: [PATCH 0354/1219] media: bcm2835-unicam: Fix bug in buffer swapping +Subject: [PATCH 0353/1284] media: bcm2835-unicam: Fix bug in buffer swapping logic If multiple sets of interrupts occur simultaneously, it may be unsafe @@ -196077,13 +196014,13 @@ index a8b3f5433f04..234f0eaf9c8c 100644 if (!unicam->node[i].streaming) continue; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 8 Mar 2021 15:32:25 +0000 -Subject: [PATCH 0355/1219] Assign crypto aliases to different AES +Subject: [PATCH 0354/1284] Assign crypto aliases to different AES implementation modules The kernel modules aes-neon-blk and aes-neon-bs perform poorly, at least on @@ -196192,13 +196129,13 @@ index fb507d569922..cc52829d426a 100644 asmlinkage void aesbs_ecb_encrypt(u8 out[], u8 const in[], u8 const rk[], -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 1 Feb 2021 18:48:47 +0000 -Subject: [PATCH 0356/1219] media/v4l2_m2m: In buffered mode run jobs if either +Subject: [PATCH 0355/1284] media/v4l2_m2m: In buffered mode run jobs if either port is streaming In order to get the intended behaviour of the stateful video @@ -196231,13 +196168,13 @@ index 8aeed39c415f..533fb839fb0b 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 1 Feb 2021 18:55:37 +0000 -Subject: [PATCH 0357/1219] staging/bcm2835-codec: Correct logging of size_t to +Subject: [PATCH 0356/1284] staging/bcm2835-codec: Correct logging of size_t to %zu Fixes: "staging/bcm2835-codec: Log the number of excess supported formats" @@ -196271,13 +196208,13 @@ index 94691ab7175a..0c4d8bf77b91 100644 MAX_SUPPORTED_ENCODINGS); num_encodings = MAX_SUPPORTED_ENCODINGS; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 2 Feb 2021 15:50:18 +0000 -Subject: [PATCH 0358/1219] staging/bcm2835-codec: Add support for pixel aspect +Subject: [PATCH 0357/1284] staging/bcm2835-codec: Add support for pixel aspect ratio If the format is detected by the driver and a V4L2_EVENT_SOURCE_CHANGE @@ -196359,13 +196296,13 @@ index 0c4d8bf77b91..46f659e55f18 100644 ctx->colorspace = V4L2_COLORSPACE_REC709; ctx->bitrate = 10 * 1000 * 1000; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 2 Feb 2021 16:46:39 +0000 -Subject: [PATCH 0359/1219] staging/bcm2835-codec: Implement additional +Subject: [PATCH 0358/1284] staging/bcm2835-codec: Implement additional g_selection calls for decode v4l_cropcap calls our vidioc_g_pixelaspect function to get the pixel @@ -196400,13 +196337,13 @@ index 46f659e55f18..7aa6c53e279e 100644 return -EINVAL; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 10 Mar 2021 19:07:48 +0000 -Subject: [PATCH 0360/1219] staging/bcm2835-codec: Add VC-1 support. +Subject: [PATCH 0359/1284] staging/bcm2835-codec: Add VC-1 support. Providing the relevant licence has been purchased, then Pi0-3 can decode VC-1. @@ -196435,13 +196372,13 @@ index 7aa6c53e279e..5729a8a7d94e 100644 struct bcm2835_codec_fmt_list { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 17 Mar 2021 12:45:53 +0000 -Subject: [PATCH 0361/1219] hack: fixup bcm2835-unicam +Subject: [PATCH 0360/1284] hack: fixup bcm2835-unicam --- drivers/media/platform/bcm2835/bcm2835-unicam.c | 3 +++ @@ -196462,13 +196399,13 @@ index 234f0eaf9c8c..db99d1562904 100644 #define UNICAM_MODULE_NAME "unicam" -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Fri, 17 May 2019 18:23:03 +0800 -Subject: [PATCH 0362/1219] media: i2c: add ov9281 driver. +Subject: [PATCH 0361/1284] media: i2c: add ov9281 driver. Change-Id: I7b77250bbc56d2f861450cf77271ad15f9b88ab1 Signed-off-by: Zefa Chen @@ -197691,13 +197628,13 @@ index 000000000000..6d1d3ddc3970 +MODULE_DESCRIPTION("OmniVision ov9281 sensor driver"); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Apr 2020 15:47:09 +0100 -Subject: [PATCH 0363/1219] media: i2c: ov9281: fix mclk issue when probe +Subject: [PATCH 0362/1284] media: i2c: ov9281: fix mclk issue when probe multiple camera. Takes the ov9281 part only from the Rockchip's patch. @@ -197757,13 +197694,13 @@ index 6d1d3ddc3970..68142ec69c5c 100644 ov9281->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); if (IS_ERR(ov9281->reset_gpio)) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Apr 2020 15:51:50 +0100 -Subject: [PATCH 0364/1219] media: i2c: ov9281: add enum_frame_interval +Subject: [PATCH 0363/1284] 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 @@ -197860,13 +197797,13 @@ index 68142ec69c5c..52bba5dff953 100644 .set_fmt = ov9281_set_fmt, }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Apr 2020 16:12:33 +0100 -Subject: [PATCH 0365/1219] media: i2c: ov9281: Fixup for recent kernel +Subject: [PATCH 0364/1284] 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 @@ -198543,13 +198480,13 @@ index 52bba5dff953..b28dbe6d08c3 100644 static const struct i2c_device_id ov9281_match_id[] = { { "ovti,ov9281", 0 }, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 6 Jul 2020 17:51:32 +0100 -Subject: [PATCH 0366/1219] media: i2c: ov9281: Read chip ID via 2 reads +Subject: [PATCH 0365/1284] 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 @@ -198591,13 +198528,13 @@ index b28dbe6d08c3..837b37198bb4 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 18:29:10 +0100 -Subject: [PATCH 0367/1219] media: i2c: ov9281: Add support for 8 bit readout +Subject: [PATCH 0366/1284] 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. @@ -198785,13 +198722,13 @@ index 837b37198bb4..05cf78416bc7 100644 h_blank = mode->hts_def - mode->width; ov9281->hblank = v4l2_ctrl_new_std(handler, NULL, V4L2_CID_HBLANK, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sun, 22 Nov 2020 11:01:08 +0000 -Subject: [PATCH 0368/1219] media: ov9281: Add 1280x720 and 640x480 modes +Subject: [PATCH 0367/1284] media: ov9281: Add 1280x720 and 640x480 modes Breaks out common register set and adds the different registers for 1280x720 (cropped) and 640x480 (skipped) modes @@ -199000,13 +198937,13 @@ index 05cf78416bc7..132cbf6aad8a 100644 if (ret) return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mathias Anhalt Date: Sun, 24 Jan 2021 15:15:01 +0100 -Subject: [PATCH 0369/1219] Fixed picture line bug in all ov9281 modes +Subject: [PATCH 0368/1284] Fixed picture line bug in all ov9281 modes Signed-off-by: Mathias Anhalt --- @@ -199044,13 +198981,13 @@ index 132cbf6aad8a..eff9bc356326 100644 {0x3801, 0x00}, {0x3802, 0x00}, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mathias Anhalt Date: Wed, 3 Feb 2021 20:34:09 +0100 -Subject: [PATCH 0370/1219] Added hflip and vflip controls to ov9281 +Subject: [PATCH 0369/1284] Added hflip and vflip controls to ov9281 Signed-off-by: Mathias Anhalt --- @@ -199162,13 +199099,13 @@ index eff9bc356326..8d799b8b53c6 100644 v4l2_ctrl_new_std_menu_items(handler, &ov9281_ctrl_ops, V4L2_CID_TEST_PATTERN, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 15 Jan 2020 13:40:38 +0000 -Subject: [PATCH 0371/1219] media: ov5647: Fix return codes from +Subject: [PATCH 0370/1284] media: ov5647: Fix return codes from ov5647_write/ov5647_read functions. Previously they were returning positive non-zero codes for success, @@ -199257,13 +199194,13 @@ index d346d18ce629..c5c68ec75473 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sat, 4 Jul 2020 01:45:08 +0300 -Subject: [PATCH 0372/1219] media: i2c: ov5647: Parse and register properties +Subject: [PATCH 0371/1284] media: i2c: ov5647: Parse and register properties Parse device properties and register controls for them using the V4L2 fwnode properties helpers. @@ -199312,13 +199249,13 @@ index c5c68ec75473..9158f44ec822 100644 goto mutex_destroy; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 22 Feb 2021 18:47:19 +0000 -Subject: [PATCH 0373/1219] clk-raspberrypi: Also support HEVC clock +Subject: [PATCH 0372/1284] clk-raspberrypi: Also support HEVC clock Signed-off-by: Dom Cobley --- @@ -199338,13 +199275,13 @@ index 904327cfd9d4..0b38fb334185 100644 hw = raspberrypi_clk_register(rpi, clks->parent, clks->id); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 22 Feb 2021 18:50:50 +0000 -Subject: [PATCH 0374/1219] rpivid: Request maximum hevc clock +Subject: [PATCH 0373/1284] rpivid: Request maximum hevc clock Query maximum and minimum clock from driver and use those @@ -199395,13 +199332,13 @@ index 3b9e51ca05b3..b377c17dfb21 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 17 Mar 2021 12:34:57 +0000 -Subject: [PATCH 0375/1219] staging/bcm2835-camera: Add support for DMABUFs +Subject: [PATCH 0374/1284] staging/bcm2835-camera: Add support for DMABUFs DMABUFs are all handled by videobuf2, so there is no reason not to enable support for them. @@ -199438,13 +199375,13 @@ index 5d14ddb28339..0a8721eaa6d3 100644 q->buf_struct_size = sizeof(struct vb2_mmal_buffer); q->ops = &bm2835_mmal_video_qops; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 19 Feb 2021 10:25:01 +0000 -Subject: [PATCH 0376/1219] staging: fbtft: Add minipitft13 variant +Subject: [PATCH 0375/1284] staging: fbtft: Add minipitft13 variant The Adafruit Mini-PiTFT13 display needs offsets applying when rotated, so use the "variant" mechanism to select a custom set_addr_win method @@ -199548,13 +199485,13 @@ index 861a154144e6..3bcd9ee17b6c 100644 MODULE_ALIAS("spi:" DRVNAME); MODULE_ALIAS("platform:" DRVNAME); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jo Henke <37883863+jo-he@users.noreply.github.com> Date: Tue, 6 Apr 2021 11:21:35 +0000 -Subject: [PATCH 0377/1219] dwc-otg: fix clang -Wignored-attributes warning +Subject: [PATCH 0376/1284] dwc-otg: fix clang -Wignored-attributes warning warning: attribute declaration must precede definition --- @@ -199590,13 +199527,13 @@ index 537cc237b4bc..86b4aaf977fb 100644 /** * struct fiq_hs_isoc_info - USB2.0 isochronous data -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jo Henke <37883863+jo-he@users.noreply.github.com> Date: Tue, 6 Apr 2021 11:38:28 +0000 -Subject: [PATCH 0378/1219] dwc-otg: fix clang -Wsometimes-uninitialized +Subject: [PATCH 0377/1284] dwc-otg: fix clang -Wsometimes-uninitialized warning warning: variable 'retval' is used uninitialized whenever 'if' condition is false @@ -199618,13 +199555,13 @@ index 799ab14b9eda..e1c1e3804095 100644 gpwrdn_data_t gpwrdn_temp = {.d32 = 0 }; dwc_otg_core_if_t *core_if = otg_dev->core_if; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jo Henke <37883863+jo-he@users.noreply.github.com> Date: Tue, 6 Apr 2021 11:45:14 +0000 -Subject: [PATCH 0379/1219] dwc-otg: fix clang -Wpointer-bool-conversion +Subject: [PATCH 0378/1284] dwc-otg: fix clang -Wpointer-bool-conversion warning warning: address of array 'desc->wMaxPacketSize' will always evaluate to 'true' @@ -199649,13 +199586,13 @@ index 9dabbe5c9791..2ffd4f11d0bf 100644 retval = -DWC_E_INVALID; goto out; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 4 Nov 2020 18:54:20 +0000 -Subject: [PATCH 0380/1219] staging: vcsm-cma: Fix memory leak from not +Subject: [PATCH 0379/1284] staging: vcsm-cma: Fix memory leak from not detaching dmabuf When importing there was a missing call to detach the buffer, @@ -199732,13 +199669,13 @@ index 40ce67f06fac..88c4df822922 100644 .detach = vc_sm_import_dma_buf_detatch, .begin_cpu_access = vc_sm_import_dma_buf_begin_cpu_access, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 13 Apr 2021 11:00:01 +0200 -Subject: [PATCH 0381/1219] clk: Introduce a clock request API +Subject: [PATCH 0380/1284] clk: Introduce a clock request API It's not unusual to find clocks being shared across multiple devices that need to change the rate depending on what the device is doing at a @@ -200002,7 +199939,7 @@ index 0674dbc62eb5..9daf76537d6c 100644 /* * Don't call clk_hw_create_clk() here because that would pin the diff --git a/include/linux/clk.h b/include/linux/clk.h -index 266e8de3cb51..2aa52140d8a9 100644 +index e280e0acb55c..96effb0a25e2 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h @@ -15,6 +15,7 @@ @@ -200013,7 +199950,7 @@ index 266e8de3cb51..2aa52140d8a9 100644 struct device_node; struct of_phandle_args; -@@ -783,6 +784,9 @@ int clk_save_context(void); +@@ -868,6 +869,9 @@ int clk_save_context(void); */ void clk_restore_context(void); @@ -200024,13 +199961,13 @@ index 266e8de3cb51..2aa52140d8a9 100644 static inline struct clk *clk_get(struct device *dev, const char *id) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 13 Apr 2021 16:48:35 +0100 -Subject: [PATCH 0382/1219] bcm2835-unicam: Switch to new clock api +Subject: [PATCH 0381/1284] bcm2835-unicam: Switch to new clock api Signed-off-by: Dom Cobley --- @@ -200083,13 +200020,13 @@ index db99d1562904..a603891986b9 100644 clk_disable_unprepare(dev->clock); dev->clocks_enabled = false; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 19 Apr 2021 19:30:26 +0100 -Subject: [PATCH 0383/1219] rpivid: Switch to new clock api +Subject: [PATCH 0382/1284] rpivid: Switch to new clock api Signed-off-by: Dom Cobley --- @@ -200145,13 +200082,13 @@ index b377c17dfb21..def891a86e55 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 20 Apr 2021 13:34:18 +0100 -Subject: [PATCH 0384/1219] rpivid: Only clk_request_done once +Subject: [PATCH 0383/1284] rpivid: Only clk_request_done once Fixes: 25486f49bfe2e3ae13b90478d1eebd91413136ad Signed-off-by: Dom Cobley @@ -200177,13 +200114,13 @@ index def891a86e55..37c8f62649d6 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: wangzx <593074943@qq.com> Date: Tue, 20 Apr 2021 22:33:26 +0800 -Subject: [PATCH 0385/1219] dwc_otg: fix an undeclared variable Replace an +Subject: [PATCH 0384/1284] dwc_otg: fix an undeclared variable Replace an undeclared variable used by DWC_DEBUGPL with the real endpoint address. DWC_DEBUGPL does nothing with DEBUG undefined so it did not go wrong before. Signed-off-by: Zixuan Wang @@ -200207,13 +200144,13 @@ index 50c8705185ad..2ee27450c6f6 100644 DWC_SPINLOCK_IRQSAVE(dwc_otg_hcd->lock, &flags); if (ep->hcpriv) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 15 Apr 2021 17:30:35 +0100 -Subject: [PATCH 0386/1219] drm/panel: jdi-lt070me05000: Use +Subject: [PATCH 0385/1284] drm/panel: jdi-lt070me05000: Use gpiod_set_value_cansleep There is no reason why the control GPIOs for the panel can not @@ -200280,13 +200217,13 @@ index 3c86ad262d5e..ff827cc7a060 100644 return ret; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 21 Apr 2021 12:14:44 +0200 -Subject: [PATCH 0387/1219] clk: requests: Ignore if the pointer is null +Subject: [PATCH 0386/1284] clk: requests: Ignore if the pointer is null Signed-off-by: Maxime Ripard --- @@ -200308,13 +200245,13 @@ index 9daf76537d6c..de82a4f572bc 100644 list_del(&req->list); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 22 Apr 2021 10:45:37 +0200 -Subject: [PATCH 0388/1219] clk: requests: Dereference the request pointer +Subject: [PATCH 0387/1284] clk: requests: Dereference the request pointer after the check The current code will first dereference the req pointer and then test if @@ -200344,13 +200281,13 @@ index de82a4f572bc..751193365d2c 100644 clk_prepare_lock(); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Mar 2021 18:28:40 +0000 -Subject: [PATCH 0389/1219] staging/bcm2835-codec: Fix support for levels 4.1 +Subject: [PATCH 0388/1284] staging/bcm2835-codec: Fix support for levels 4.1 and 4.2 The driver said it supported H264 levels 4.1 and 4.2, but @@ -200386,13 +200323,13 @@ index 5729a8a7d94e..4622057e71cb 100644 /* Should never get here */ break; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 4 Feb 2021 19:08:23 +0000 -Subject: [PATCH 0390/1219] staging/bcm2835-codec: Set the colourspace +Subject: [PATCH 0389/1284] staging/bcm2835-codec: Set the colourspace appropriately for RGB formats Video decode supports YUV and RGB formats. YUV needs to report SMPTE170M @@ -200476,13 +200413,13 @@ index 4622057e71cb..08429a42c847 100644 q_data->aspect_ratio.numerator = format->es.video.par.num; q_data->aspect_ratio.denominator = format->es.video.par.den; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 9 Dec 2020 18:53:56 +0000 -Subject: [PATCH 0391/1219] staging/bcm2835-codec: Pass corrupt frame flag. +Subject: [PATCH 0390/1284] staging/bcm2835-codec: Pass corrupt frame flag. MMAL has the flag MMAL_BUFFER_HEADER_FLAG_CORRUPTED but that wasn't being passed through, so add it. @@ -200524,13 +200461,13 @@ index 08429a42c847..3ed9f47a37fe 100644 v4l2_dbg(2, debug, &ctx->dev->v4l2_dev, "%s: done %d output buffers\n", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Mar 2021 18:34:50 +0000 -Subject: [PATCH 0392/1219] staging/bcm2835-camera: Add support for H264 levels +Subject: [PATCH 0391/1284] staging/bcm2835-camera: Add support for H264 levels 4.1 and 4.2 Whilst the hardware can't achieve the limits of level 4.2 under @@ -200588,13 +200525,13 @@ index f73daa38fa66..f3480a5c5170 100644 .step = 1, .imenu = NULL, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 15 Apr 2021 11:07:55 +0100 -Subject: [PATCH 0393/1219] staging/bcm2835-codec: Do not update crop from +Subject: [PATCH 0392/1284] staging/bcm2835-codec: Do not update crop from S_FMT after res change During decode, setting the CAPTURE queue format was setting the crop @@ -200630,13 +200567,13 @@ index 3ed9f47a37fe..a97666a1a4be 100644 q_data->fmt); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 23 Apr 2021 16:16:49 +0100 -Subject: [PATCH 0394/1219] staging/bcm2835-isp: Fix compiler warning +Subject: [PATCH 0393/1284] staging/bcm2835-isp: Fix compiler warning The result of dividing a u32 by a size_t is an unsigned int on arm32 and a long unsigned int on arm64. Use "%zu" (the size_t format) to @@ -200661,13 +200598,13 @@ index 5cca8bdd1d65..08dce8bba9bb 100644 MAX_SUPPORTED_ENCODINGS); num_encodings = MAX_SUPPORTED_ENCODINGS; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Apr 2021 08:59:01 +0100 -Subject: [PATCH 0395/1219] gpio-poweroff: Remember the old poweroff handler +Subject: [PATCH 0394/1284] gpio-poweroff: Remember the old poweroff handler Keeping a copy of the old poweroff handler allows it to be restored should this module be unloaded, but also provides a fallback if the @@ -200720,13 +200657,13 @@ index e5dca66360a7..81e7acb8acb5 100644 gpiod_unexport(reset_gpio); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 11 May 2021 12:52:26 +0100 -Subject: [PATCH 0396/1219] media: i2c: ov5647: Correct pixel array offset +Subject: [PATCH 0395/1284] media: i2c: ov5647: Correct pixel array offset The top offset in the pixel array is actually 6 (see page 3-1 of the OV5647 data sheet). @@ -200751,13 +200688,13 @@ index 9158f44ec822..4228e98e7975 100644 #define OV5647_PIXEL_ARRAY_HEIGHT 1944U -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 11 May 2021 12:57:22 +0100 -Subject: [PATCH 0397/1219] media: i2c: ov5647: Correct minimum VBLANK value +Subject: [PATCH 0396/1284] media: i2c: ov5647: Correct minimum VBLANK value Trial and error reveals that the minimum vblank value appears to be 24 (the OV5647 data sheet does not give any clues). This fixes streaming @@ -200783,13 +200720,13 @@ index 4228e98e7975..62adb70df488 100644 #define OV5647_EXPOSURE_MIN 4 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 12 May 2021 07:39:21 +0100 -Subject: [PATCH 0398/1219] media: i2c: ov5647: Fix v4l2-compliance failure +Subject: [PATCH 0397/1284] media: i2c: ov5647: Fix v4l2-compliance failure subscribing to events Fixes the following v4l2-compliance failure: @@ -200815,13 +200752,13 @@ index 62adb70df488..4b6f4962e644 100644 static const struct v4l2_rect * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 21 May 2020 11:49:37 +0100 -Subject: [PATCH 0399/1219] media: rpivid: Remove the need to have +Subject: [PATCH 0398/1284] media: rpivid: Remove the need to have num_entry_points set VAAPI H265 has num entry points but never sets it. Allow a VAAPI @@ -201798,13 +201735,13 @@ index e6b07920aa8c..434a366ecfc2 100644 // Assume HD if unset if (w == 0) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 11 Mar 2021 12:51:00 +0000 -Subject: [PATCH 0400/1219] media: rpivid: Convert to MPLANE +Subject: [PATCH 0399/1284] media: rpivid: Convert to MPLANE Use multi-planar interface rather than single plane interface. This allows dmabufs holding compressed data to be resized. @@ -202141,13 +202078,13 @@ index 9c4f3fb2f9f6..5c0fd9c8a6d7 100644 #endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 11 Mar 2021 18:43:15 +0000 -Subject: [PATCH 0401/1219] media: rpivid: Add an enable count to irq claim Qs +Subject: [PATCH 0400/1284] media: rpivid: Add an enable count to irq claim Qs Add an enable count to the irq Q structures to allow the irq logic to block further callbacks if resources associated with the irq are not @@ -202385,13 +202322,13 @@ index cf4cc8be8a55..ec73a2332b73 100644 void rpivid_hw_irq_active1_claim(struct rpivid_dev *dev, struct rpivid_hw_irq_ent *ient, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ezequiel Garcia Date: Sun, 21 Mar 2021 16:38:54 -0300 -Subject: [PATCH 0402/1219] RFC: media: Add media_request_{pin,unpin} API +Subject: [PATCH 0401/1284] RFC: media: Add media_request_{pin,unpin} API This is probably not the API we will want to add, but it should show what semantics are needed by drivers. @@ -202487,13 +202424,13 @@ index 3cd25a2717ce..0de5c2c94188 100644 media_request_get_by_fd(struct media_device *mdev, int request_fd) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 11 Mar 2021 19:08:00 +0000 -Subject: [PATCH 0403/1219] media: rpivid: Add a Pass0 to accumulate slices and +Subject: [PATCH 0402/1284] media: rpivid: Add a Pass0 to accumulate slices and rework job finish Due to overheads in assembling controls and requests it is worth having @@ -203553,13 +203490,13 @@ index ada6107ab675..396263bb352e 100644 res = platform_get_resource_byname(dev->pdev, IORESOURCE_MEM, "intc"); if (!res) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Mon, 29 Mar 2021 17:42:16 +0100 -Subject: [PATCH 0404/1219] media: rpivid: Map cmd buffer directly +Subject: [PATCH 0403/1284] media: rpivid: Map cmd buffer directly It is unnecessary to have a separate dmabuf to hold the cmd buffer. Map it directly from the kmalloc. @@ -203723,13 +203660,13 @@ index 396263bb352e..2bb86d564b33 100644 irq_write(dev, 0, ARG_IC_ICTRL_ACTIVE1_EN_SET | ARG_IC_ICTRL_ACTIVE2_EN_SET); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 1 Apr 2021 16:20:58 +0100 -Subject: [PATCH 0405/1219] media: rpivid: Improve values returned when setting +Subject: [PATCH 0404/1284] media: rpivid: Improve values returned when setting output format Guess a better value for the compressed bitstream buffer size @@ -203949,13 +203886,13 @@ index 5c0fd9c8a6d7..a3b228556497 100644 int rpivid_prepare_dst_format(struct v4l2_pix_format_mplane *pix_fmt); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Sat, 3 Apr 2021 16:27:03 +0100 -Subject: [PATCH 0406/1219] media: rpivid: Improve stream_on/off conformance & +Subject: [PATCH 0405/1284] media: rpivid: Improve stream_on/off conformance & clock setup Fix stream on & off such that failures leave the driver in the correct @@ -204221,13 +204158,13 @@ index 3d882a6853a5..705015890e71 100644 return vb2_queue_init(dst_vq); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 8 Apr 2021 18:34:09 +0100 -Subject: [PATCH 0407/1219] media: rpivid: Improve SPS/PPS error +Subject: [PATCH 0406/1284] media: rpivid: Improve SPS/PPS error handling/validation Move size and width checking from bitstream processing to control @@ -204487,13 +204424,13 @@ index ee5a48f26912..bb280b215a2e 100644 +}; + -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: jc-kynesim Date: Fri, 11 Jun 2021 15:14:31 +0100 -Subject: [PATCH 0408/1219] bcm2835: Allow compressed frames to set sizeimage +Subject: [PATCH 0407/1284] bcm2835: Allow compressed frames to set sizeimage (#4386) Allow the user to set sizeimage in TRY_FMT and S_FMT if the format @@ -204540,13 +204477,13 @@ index a97666a1a4be..c3ba5c25a2ab 100644 sizeof(f->fmt.pix_mp.plane_fmt[0].reserved)); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 11 Jun 2021 12:47:07 +0100 -Subject: [PATCH 0409/1219] media: i2c: imx477: Fix for long exposure limit +Subject: [PATCH 0408/1284] media: i2c: imx477: Fix for long exposure limit calculations Do not scale IMX477_EXPOSURE_OFFSET with the long exposure factor during @@ -204572,13 +204509,13 @@ index 31e48512c165..07ccdf738883 100644 __v4l2_ctrl_modify_range(imx477->exposure, imx477->exposure->minimum, exposure_max, imx477->exposure->step, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 8 Jul 2021 09:37:10 +0100 -Subject: [PATCH 0410/1219] clk: bcm2835: Pass DT node to rpi_firmware_get +Subject: [PATCH 0409/1284] clk: bcm2835: Pass DT node to rpi_firmware_get The fw_node pointer has already been retrieved, and using it allows us to remove a downstream patch to the firmware driver. @@ -204602,13 +204539,13 @@ index 1722f163e0e2..3042095666a9 100644 return -EPROBE_DEFER; cprman->fw = fw; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 30 Apr 2019 19:15:30 +0100 -Subject: [PATCH 0411/1219] bcm2835-pcm.c: Support multichannel audio +Subject: [PATCH 0410/1284] bcm2835-pcm.c: Support multichannel audio --- .../vc04_services/bcm2835-audio/bcm2835-pcm.c | 13 +++++++------ @@ -204642,13 +204579,13 @@ index f2ef1d641e70..5e9a6e28c4c6 100644 .periods_max = 128, }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 27 Oct 2020 12:24:14 +0000 -Subject: [PATCH 0412/1219] bcm2835-pcm: Fix up multichannel pcm audio +Subject: [PATCH 0411/1284] bcm2835-pcm: Fix up multichannel pcm audio Fixes: a9c1660ff5f02d048c5f31abf1fd1108ccf9ef87 Signed-off-by: Dom Cobley @@ -204684,13 +204621,13 @@ index 5e9a6e28c4c6..f2ef1d641e70 100644 .periods_max = 128, }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Jun 2021 12:05:25 +0100 -Subject: [PATCH 0413/1219] media: i2c: imx290: Support 60fps in 2 lane +Subject: [PATCH 0412/1284] media: i2c: imx290: Support 60fps in 2 lane operation Commit "97589ad61c73 media: i2c: imx290: Add support for 2 data lanes" @@ -205000,13 +204937,13 @@ index 836d3684c273..af75e10593fa 100644 dev_dbg(dev, "Using %u data lanes\n", imx290->nlanes); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Jun 2021 13:00:39 +0100 -Subject: [PATCH 0414/1219] media: i2c: imx290: Fix the pixel rate at +Subject: [PATCH 0413/1284] media: i2c: imx290: Fix the pixel rate at 148.5Mpix/s Whilst the datasheet lists the link frequency changing between @@ -205056,13 +204993,13 @@ index af75e10593fa..6b990e8c6bff 100644 static int imx290_set_fmt(struct v4l2_subdev *sd, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Jun 2021 17:27:46 +0100 -Subject: [PATCH 0415/1219] media: i2c: imx290: Fix clock setup register +Subject: [PATCH 0414/1284] media: i2c: imx290: Fix clock setup register assignments When the clock setups were added for the alternate external clocks, @@ -205111,13 +205048,13 @@ index 6b990e8c6bff..7aee4a30bcdd 100644 { .width = 1280, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 24 Jun 2021 14:43:49 +0100 -Subject: [PATCH 0416/1219] media: rpivid: Fix H265 aux ent reuse of the same +Subject: [PATCH 0415/1284] media: rpivid: Fix H265 aux ent reuse of the same slot It is legitimate, though unusual, for an aux ent associated with a slot @@ -205268,13 +205205,13 @@ index bb280b215a2e..a5a0e31bd5ba 100644 de->ref_addrs[i] = -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 28 Jun 2021 10:49:04 +0100 -Subject: [PATCH 0417/1219] media: i2c: ov9281: Remove override of subdev name +Subject: [PATCH 0416/1284] media: i2c: ov9281: Remove override of subdev name From the original Rockchip driver, the subdev was renamed from the default to being "mov9281 " whereas the @@ -205302,13 +205239,13 @@ index 8d799b8b53c6..5f1b83d77473 100644 if (ret) { dev_err(dev, "v4l2 async register subdev failed\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 29 Jun 2021 12:50:58 +0100 -Subject: [PATCH 0418/1219] staging: vc04_services: isp: Set the YUV420/YVU420 +Subject: [PATCH 0417/1284] staging: vc04_services: isp: Set the YUV420/YVU420 format stride to 64 bytes The bcm2835 ISP requires the base address of all input/output planes to have 32 @@ -205347,13 +205284,13 @@ index 7541fb316cb9..f6d6c88d13ba 100644 .size_multiplier_x2 = 3, .colorspace_mask = V4L2_COLORSPACE_MASK_YUV, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 29 Jun 2021 14:38:23 +0100 -Subject: [PATCH 0419/1219] Documentation: devicetree: Add documentation for +Subject: [PATCH 0418/1284] Documentation: devicetree: Add documentation for imx378 sensor The imx378 sensor is compatible with the imx477 and shares common @@ -205486,10 +205423,10 @@ index 000000000000..f832b4bfab93 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index 32109bc90bf4..6545cad26858 100644 +index 4c60ffff9577..8f546a0c1ae8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17539,6 +17539,7 @@ M: Raspberry Pi Kernel Maintenance +@@ -17534,6 +17534,7 @@ M: Raspberry Pi Kernel Maintenance L: linux-media@vger.kernel.org S: Maintained T: git git://linuxtv.org/media_tree.git @@ -205498,13 +205435,13 @@ index 32109bc90bf4..6545cad26858 100644 F: drivers/media/i2c/imx477.c -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 29 Jun 2021 14:43:01 +0100 -Subject: [PATCH 0420/1219] media: i2c: imx477: Extend driver to support imx378 +Subject: [PATCH 0419/1284] media: i2c: imx477: Extend driver to support imx378 sensor The imx378 sensor is almost identical to the imx477 and can be @@ -205696,13 +205633,13 @@ index 07ccdf738883..bc0fb02a159e 100644 static const struct dev_pm_ops imx477_pm_ops = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Jun 2021 11:47:38 +0200 -Subject: [PATCH 0421/1219] dt-bindings: clk: raspberrypi: Remove unused +Subject: [PATCH 0420/1284] dt-bindings: clk: raspberrypi: Remove unused property The raspberrypi,firmware property has been documented as required in the @@ -205743,13 +205680,13 @@ index d37bc311321d..2047e25700c6 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Jun 2021 11:48:35 +0200 -Subject: [PATCH 0422/1219] dt-bindings: display: vc4: Add phandle to the +Subject: [PATCH 0421/1284] dt-bindings: display: vc4: Add phandle to the firmware The vc4 driver will need to tell the firmware that it takes over the @@ -205780,13 +205717,13 @@ index 49a5e041aa49..eac739a812f5 100644 - compatible -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Wed, 7 Jul 2021 22:48:20 +0200 -Subject: [PATCH 0423/1219] media: bcm2835-unicam: Forward input status from +Subject: [PATCH 0422/1284] media: bcm2835-unicam: Forward input status from subdevice MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -205839,13 +205776,13 @@ index a603891986b9..cf5d16103d56 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 15 Jul 2021 15:55:22 +0100 -Subject: [PATCH 0424/1219] media: v4l2-subdev: add subdev-wide state struct +Subject: [PATCH 0423/1284] media: v4l2-subdev: add subdev-wide state struct Signed-off-by: Dom Cobley --- @@ -206336,13 +206273,13 @@ index 08dce8bba9bb..00b044e7d77e 100644 v4l2_device_unregister(&dev->v4l2_dev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Quinten Date: Fri, 18 Jun 2021 13:02:29 +0200 -Subject: [PATCH 0425/1219] Support RPi DPI interface in mode6 for 18-bit color +Subject: [PATCH 0424/1284] Support RPi DPI interface in mode6 for 18-bit color A matching media bus format was added and an overlay for using it, both with FB and VC4 was added as well. @@ -206564,13 +206501,13 @@ index aa56d7f54784..6ad34f88c7dd 100644 #define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG 0x1010 #define MEDIA_BUS_FMT_BGR888_1X24 0x1013 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Dec 2021 10:17:38 +0100 -Subject: [PATCH 0426/1219] drm/vc4: plane: Add support for DRM_FORMAT_P030 +Subject: [PATCH 0425/1284] drm/vc4: plane: Add support for DRM_FORMAT_P030 The P030 format, used with the DRM_FORMAT_MOD_BROADCOM_SAND128 modifier, is a format output by the video decoder on the BCM2711. @@ -206786,13 +206723,13 @@ index 906d3f394cfa..7777b92e51c4 100644 if (ret) return ERR_PTR(ret); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Dec 2021 10:17:39 +0100 -Subject: [PATCH 0427/1219] drm/vc4: plane: Add support for YUV color encodings +Subject: [PATCH 0426/1284] drm/vc4: plane: Add support for YUV color encodings and ranges The BT601/BT709 color encoding and limited vs full @@ -206952,13 +206889,13 @@ index 8ac2f088106a..e3761ffbac7b 100644 #define SCALER_TPZ0_VERT_RECALC BIT(31) #define SCALER_TPZ0_SCALE_MASK VC4_MASK(28, 8) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 16:20:30 +0100 -Subject: [PATCH 0428/1219] drm/vc4: Add FKMS as an acceptable node for dma +Subject: [PATCH 0427/1284] drm/vc4: Add FKMS as an acceptable node for dma ranges. Under FKMS, the firmware (via FKMS) also requires the VideoCore cache @@ -206985,13 +206922,13 @@ index ae9bfd7b3443..e34e77e09e54 100644 { .compatible = "brcm,cygnus-v3d" }, { .compatible = "brcm,vc4-v3d" }, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 6 Oct 2020 18:44:42 +0100 -Subject: [PATCH 0429/1219] drm/vc4: Add debugfs node that dumps the current +Subject: [PATCH 0428/1284] drm/vc4: Add debugfs node that dumps the current display lists This allows easy analysis of display lists when debugging. @@ -207061,13 +206998,13 @@ index 9d88bfb50c9b..327ffe2fcbb5 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Oct 2020 18:34:56 +0100 -Subject: [PATCH 0430/1219] drm/vc4: Add all the HDMI registers into the +Subject: [PATCH 0429/1284] drm/vc4: Add all the HDMI registers into the debugfs dumps The vc5 HDMI registers hadn't been added into the debugfs @@ -207164,13 +207101,13 @@ index 0c51c91f9d5c..275c4674d50f 100644 static inline struct vc4_hdmi * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 9 Nov 2020 19:49:32 +0000 -Subject: [PATCH 0431/1219] vc4_hdmi: Report that 3d/stereo is allowed +Subject: [PATCH 0430/1284] vc4_hdmi: Report that 3d/stereo is allowed Signed-off-by: Dom Cobley --- @@ -207190,13 +207127,13 @@ index 5c6812af1133..fb24f91d1b4c 100644 if (vc4_hdmi->variant->supports_hdr) drm_connector_attach_hdr_output_metadata_property(connector); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 10 Nov 2020 20:04:08 +0000 -Subject: [PATCH 0432/1219] vc4: Clear unused infoframe packet RAM registers +Subject: [PATCH 0431/1284] vc4: Clear unused infoframe packet RAM registers Using a hdmi analyser the bytes in packet ram registers beyond the length were visible in the @@ -207241,13 +207178,13 @@ index fb24f91d1b4c..1c65dd40917d 100644 HDMI_READ(HDMI_RAM_PACKET_CONFIG) | BIT(packet_id)); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 12 Feb 2021 17:31:37 +0000 -Subject: [PATCH 0433/1219] drm/vc4: Change the default DPI format to being +Subject: [PATCH 0432/1284] drm/vc4: Change the default DPI format to being 18bpp, not 24. DPI hasn't really been used up until now, so the default has @@ -207281,13 +207218,13 @@ index afb446f49e9c..dde2c6014748 100644 if (mode->flags & DRM_MODE_FLAG_NHSYNC) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 13 Apr 2021 14:10:03 +0100 -Subject: [PATCH 0434/1219] drm/vc4: hdmi: Convert to the new clock request API +Subject: [PATCH 0433/1284] drm/vc4: hdmi: Convert to the new clock request API The new clock request API allows us to increase the rate of the core clock as required during mode set while decreasing it when @@ -207329,13 +207266,13 @@ index c509e5abf69e..97747f255a1f 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 Jan 2021 16:30:55 +0000 -Subject: [PATCH 0435/1219] drm/atomic: Don't fixup modes that haven't been +Subject: [PATCH 0434/1284] drm/atomic: Don't fixup modes that haven't been reset Signed-off-by: Dave Stevenson @@ -207360,13 +207297,13 @@ index aa09a19fae37..cd48d4aa20dd 100644 * Each encoder has at most one connector (since we always steal * it away), so we won't call ->mode_fixup twice. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 5 May 2021 15:35:34 +0200 -Subject: [PATCH 0436/1219] clk: Always clamp the rounded rate +Subject: [PATCH 0435/1284] clk: Always clamp the rounded rate The current core while setting the min and max rate properly in the clk_request structure will not make sure that the requested rate is @@ -207394,13 +207331,13 @@ index 751193365d2c..c775f2153b66 100644 * At this point, core protection will be disabled * - if the provider is not protected at all -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 26 May 2021 16:13:02 +0200 -Subject: [PATCH 0437/1219] drm/vc4: Increase the core clock based on HVS load +Subject: [PATCH 0436/1284] drm/vc4: Increase the core clock based on HVS load Depending on a given HVS output (HVS to PixelValves) and input (planes attached to a channel) load, the HVS needs for the core clock to be @@ -207459,13 +207396,13 @@ index 97747f255a1f..f9fe6530302f 100644 } } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 27 Oct 2021 14:38:50 +0100 -Subject: [PATCH 0438/1219] drm/vc4: hdmi: Simplify the connector state +Subject: [PATCH 0437/1284] drm/vc4: hdmi: Simplify the connector state retrieval When we have the entire DRM state, retrieving the connector state only @@ -207517,13 +207454,13 @@ index 1c65dd40917d..cb4785c33c06 100644 unsigned long pixel_rate = vc4_conn_state->pixel_rate; unsigned long bvb_rate, hsm_rate; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 5 Jul 2021 19:38:21 +0100 -Subject: [PATCH 0439/1219] dwc_otg: Update NetBSD usb.h header licence +Subject: [PATCH 0438/1284] dwc_otg: Update NetBSD usb.h header licence NetBSD have changed their licensing requirements such that the 2-clause licence is preferred. Update usb.h in the downstream dwc_otg code @@ -207556,13 +207493,13 @@ index f78593575736..b1cedb1876b7 100644 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:07:30 +0200 -Subject: [PATCH 0440/1219] drm/vc4: Fix timings for VEC modes +Subject: [PATCH 0439/1284] drm/vc4: Fix timings for VEC modes This commit fixes vertical timings of the VEC (composite output) modes to accurately represent the 525-line ("NTSC") and 625-line ("PAL") ITU-R @@ -207689,13 +207626,13 @@ index 0b4f05451ac5..5158992ef6a7 100644 CRTC_WRITE(PV_HACT_ACT, mode->hdisplay * pixel_rep); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:07:49 +0200 -Subject: [PATCH 0441/1219] drm/vc4: Refactor VEC TV mode setting +Subject: [PATCH 0440/1284] drm/vc4: Refactor VEC TV mode setting Change the mode_set function pointer logic to declarative config0, config1 and custom_freq fields, to make TV mode setting logic more @@ -207862,13 +207799,13 @@ index 4e2250b8fa23..809690f2dd55 100644 static const struct vc4_vec_variant bcm2835_vec_variant = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:07:53 +0200 -Subject: [PATCH 0442/1219] drm/vc4: Fix definition of PAL-M mode +Subject: [PATCH 0441/1284] drm/vc4: Fix definition of PAL-M mode PAL-M is a Brazilian analog TV standard that uses a PAL-style chroma subcarrier at 3.575611[888111] MHz on top of 525-line (480i60) timings. @@ -207945,13 +207882,13 @@ index 809690f2dd55..231ed492cb71 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:07:58 +0200 -Subject: [PATCH 0443/1219] drm/vc4: Add support for more analog TV standards +Subject: [PATCH 0442/1284] drm/vc4: Add support for more analog TV standards Add support for the following composite output modes (all of them are somewhat more obscure than the previously defined ones): @@ -208099,13 +208036,13 @@ index 231ed492cb71..e0bd484321d1 100644 static int vc4_vec_bind(struct device *dev, struct device *master, void *data) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:08:01 +0200 -Subject: [PATCH 0444/1219] drm/vc4: Allow setting the TV norm via module +Subject: [PATCH 0443/1284] drm/vc4: Allow setting the TV norm via module parameter Similar to the ch7006 and nouveau drivers, introduce a "tv_mode" module @@ -208249,13 +208186,13 @@ index e0bd484321d1..fb4360c0d9e3 100644 + "\t\tDefault: PAL if a 50 Hz mode has been set via video=,\n" + "\t\t\tNTSC otherwise"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:08:05 +0200 -Subject: [PATCH 0445/1219] drm/vc4: Refactor mode checking logic +Subject: [PATCH 0444/1284] drm/vc4: Refactor mode checking logic Replace drm_encoder_helper_funcs::atomic_check with drm_connector_helper_funcs::atomic_check - the former is not called @@ -208340,13 +208277,13 @@ index fb4360c0d9e3..b684595a5d0b 100644 static const struct vc4_vec_variant bcm2835_vec_variant = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 7 Sep 2020 17:32:27 +0100 -Subject: [PATCH 0446/1219] drm/vc4: Add firmware-kms mode +Subject: [PATCH 0445/1284] drm/vc4: Add firmware-kms mode This is a squash of all firmware-kms related patches from previous branches, up to and including @@ -210860,13 +210797,13 @@ index ee361b90eb29..7fdce4033b46 100644 RPI_FIRMWARE_GET_DMA_CHANNELS = 0x00060001, }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 20 Jul 2021 15:10:03 +0100 -Subject: [PATCH 0447/1219] media: i2c: imx477: Fix framerates for 1332x990 +Subject: [PATCH 0446/1284] media: i2c: imx477: Fix framerates for 1332x990 mode The imx477 driver's line length for this mode had not been updated to @@ -210892,13 +210829,13 @@ index f550ff0d8b72..ba03c68e64a0 100644 /* * FIXME: the analog crop rectangle is actually -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Jul 2021 09:27:49 +0100 -Subject: [PATCH 0448/1219] ASoC: bcm: Compiler warnings in audioinjector-octo +Subject: [PATCH 0447/1284] ASoC: bcm: Compiler warnings in audioinjector-octo Avoid compiler warnings by using the "fallthrough" pseudo-keyword in place of the old "/* fall through */" comment convention. @@ -210960,13 +210897,13 @@ index 47d622df3ec7..db507f341867 100644 __assign_bit(0, mult, 1); break; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Jul 2021 11:17:08 +0100 -Subject: [PATCH 0449/1219] media: i2c: tc358743: Fix compiler warning +Subject: [PATCH 0448/1284] media: i2c: tc358743: Fix compiler warning Avoid a compiler warning by using the "fallthrough" pseudo-keyword in place of the old "/* fall through */" comment convention. @@ -210990,13 +210927,13 @@ index da166e6a41d6..e3de5b213e05 100644 state->pdata.lineinitcnt = 0xe80; state->pdata.lptxtimecnt = 0x003; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "chipdip.lab" <43340836+chipdipru@users.noreply.github.com> Date: Mon, 26 Jul 2021 14:45:59 +0300 -Subject: [PATCH 0450/1219] ASoC: bcm: Add chipdip-dac driver +Subject: [PATCH 0449/1284] ASoC: bcm: Add chipdip-dac driver Driver chipdip-dac.c added into sound/soc/bcm/, files sound/soc/bcm/Kconfig and sound/soc/bcm/Makefile updated. @@ -211326,13 +211263,13 @@ index 000000000000..6cb53692b3c5 +MODULE_DESCRIPTION("ASoC Driver for ChipDip DAC"); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 3 Aug 2021 11:25:59 +0100 -Subject: [PATCH 0451/1219] media: i2c: imx290: Add fwnode properties controls +Subject: [PATCH 0450/1284] media: i2c: imx290: Add fwnode properties controls Add call to v4l2_ctrl_new_fwnode_properties to read and create the fwnode based controls. @@ -211380,13 +211317,13 @@ index c09b5a22e1a8..4291c77f5a01 100644 if (imx290->ctrls.error) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 3 Aug 2021 11:30:58 +0100 -Subject: [PATCH 0452/1219] media: i2c: ov9281: Add fwnode properties controls +Subject: [PATCH 0451/1284] media: i2c: ov9281: Add fwnode properties controls Add call to v4l2_ctrl_new_fwnode_properties to read and create the fwnode based controls. @@ -211442,13 +211379,13 @@ index c89dc98ad708..e4604746e930 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 3 Aug 2021 11:33:33 +0100 -Subject: [PATCH 0453/1219] media: i2c: ov7251: Add fwnode properties controls +Subject: [PATCH 0452/1284] media: i2c: ov7251: Add fwnode properties controls Add call to v4l2_ctrl_new_fwnode_properties to read and create the fwnode based controls. @@ -211496,13 +211433,13 @@ index ebb299f207e5..083a62b267f2 100644 ov7251->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; ov7251->pad.flags = MEDIA_PAD_FL_SOURCE; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Fri, 6 Aug 2021 10:47:11 +0100 -Subject: [PATCH 0454/1219] media: v4l2: Remove v4l2-ctrls.c +Subject: [PATCH 0453/1284] media: v4l2: Remove v4l2-ctrls.c v4l2-ctrls.c has been split into 4 files v4l2-ctrls-*.c, the original is redundant, confusing and probably should have been removed by a @@ -216567,13 +216504,13 @@ index b750ce3ae723..000000000000 -} -EXPORT_SYMBOL(v4l2_ctrl_new_fwnode_properties); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Fri, 6 Aug 2021 10:53:50 +0100 -Subject: [PATCH 0455/1219] media: v4l2: Add HEVC_SCALING_MATRIX attribute to +Subject: [PATCH 0454/1284] media: v4l2: Add HEVC_SCALING_MATRIX attribute to v4l2-ctrl-* Add code to support V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX to @@ -216587,7 +216524,7 @@ Signed-off-by: John Cox 2 files changed, 10 insertions(+) diff --git a/drivers/media/v4l2-core/v4l2-ctrls-core.c b/drivers/media/v4l2-core/v4l2-ctrls-core.c -index 45a76f40deeb..bf06d46c7a6f 100644 +index 3798a57bbbd4..0571e12d045e 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls-core.c +++ b/drivers/media/v4l2-core/v4l2-ctrls-core.c @@ -627,6 +627,9 @@ static int std_validate_compound(const struct v4l2_ctrl *ctrl, u32 idx, @@ -216633,13 +216570,13 @@ index 421300e13a41..eae300c58274 100644 *type = V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS; break; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 5 Aug 2021 15:18:50 +0100 -Subject: [PATCH 0456/1219] media: rpivid: Update to compile with new hevc +Subject: [PATCH 0455/1284] media: rpivid: Update to compile with new hevc decode params DPB entries have moved from slice params to the new decode params @@ -216842,13 +216779,13 @@ index a5a0e31bd5ba..b630805dbef3 100644 xtrace_fin(dev, de); v4l2_m2m_buf_done_and_job_finish(dev->m2m_dev, ctx->fh.m2m_ctx, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Fri, 6 Aug 2021 14:32:44 +0100 -Subject: [PATCH 0457/1219] media: v4l2: Add Greyworld AWB control name +Subject: [PATCH 0456/1284] media: v4l2: Add Greyworld AWB control name Add name for greyworld to white_balance preset names. This patch previously applied to v4l2-ctrl.c but that was split @@ -216872,13 +216809,13 @@ index eae300c58274..e085f330296a 100644 }; static const char * const camera_iso_sensitivity_auto[] = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Wed, 14 Apr 2021 15:01:16 +0200 -Subject: [PATCH 0458/1219] videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY +Subject: [PATCH 0457/1284] videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY Add a new flag that indicates that this control is a dynamically sized array. Also document this flag. @@ -216932,13 +216869,13 @@ index b7cf101a24f5..bc9337b00c0f 100644 /* Query flags, to be ORed with the control ID */ #define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Thu, 15 Apr 2021 13:56:53 +0200 -Subject: [PATCH 0459/1219] v4l2-ctrls: add support for dynamically allocated +Subject: [PATCH 0458/1284] v4l2-ctrls: add support for dynamically allocated arrays. Implement support for dynamically allocated arrays. @@ -217141,7 +217078,7 @@ index db9baa0bd05f..50d012ba3c02 100644 return set_ctrl(NULL, ctrl, 0); } diff --git a/drivers/media/v4l2-core/v4l2-ctrls-core.c b/drivers/media/v4l2-core/v4l2-ctrls-core.c -index bf06d46c7a6f..4cc1266f5eb9 100644 +index 0571e12d045e..9b50ad70476b 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls-core.c +++ b/drivers/media/v4l2-core/v4l2-ctrls-core.c @@ -809,11 +809,12 @@ EXPORT_SYMBOL(v4l2_ctrl_notify); @@ -217634,13 +217571,13 @@ index 575b59fbac77..ebd9cef13309 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 29 Apr 2021 19:17:06 +0100 -Subject: [PATCH 0460/1219] media: rpivid: Make slice ctrl dynamic +Subject: [PATCH 0459/1284] media: rpivid: Make slice ctrl dynamic Allows the user to submit a whole frames worth of slice headers in one lump along with a single bitstream dmabuf for the whole lot. @@ -217979,13 +217916,13 @@ index b630805dbef3..72d4c2e20b5f 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 6 May 2021 13:48:05 +0100 -Subject: [PATCH 0461/1219] media: rpivid: Only create aux entries for H265 if +Subject: [PATCH 0460/1284] media: rpivid: Only create aux entries for H265 if needed Only create aux entries of mv info for frames where that info might @@ -218096,13 +218033,13 @@ index 72d4c2e20b5f..e3a5c331ca10 100644 if (!s->frame_aux) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 11 Aug 2021 15:33:57 +0100 -Subject: [PATCH 0462/1219] usb: xhci: workaround for bogus SET_DEQ_PENDING +Subject: [PATCH 0461/1284] usb: xhci: workaround for bogus SET_DEQ_PENDING endpoint state See https://github.com/raspberrypi/linux/issues/3981 @@ -218126,7 +218063,7 @@ Signed-off-by: Jonathan Bell 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index f9707997969d..78981c0b754f 100644 +index 90bf5d57b1a9..9223b5f63371 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -677,9 +677,9 @@ static int xhci_move_dequeue_past_td(struct xhci_hcd *xhci, @@ -218143,13 +218080,13 @@ index f9707997969d..78981c0b754f 100644 /* This function gets called from contexts where it cannot sleep */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 8 Sep 2021 14:15:17 +0100 -Subject: [PATCH 0463/1219] media: i2c: imx477: Allow control of on-sensor DPC +Subject: [PATCH 0462/1284] media: i2c: imx477: Allow control of on-sensor DPC A module parameter "dpc_enable" is added to allow the control of the sensor's on-board DPC (Defective Pixel Correction) function. @@ -218189,13 +218126,13 @@ index ba03c68e64a0..96486a7f007c 100644 ret = __v4l2_ctrl_handler_setup(imx477->sd.ctrl_handler); if (ret) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 15 Apr 2021 13:15:14 +0100 -Subject: [PATCH 0464/1219] sound/usb: add device quirks for A4Tech FHD 1080p +Subject: [PATCH 0463/1284] sound/usb: add device quirks for A4Tech FHD 1080p webcams These devices use a type of Sonix chipset that produces broken microphone @@ -218209,26 +218146,26 @@ Signed-off-by: Jonathan Bell 1 file changed, 2 insertions(+) diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c -index 879d8b1f301c..9d920fe35666 100644 +index 2ae9ad993ff4..4250740b7636 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c -@@ -1884,6 +1884,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = { - QUIRK_FLAG_GENERIC_IMPLICIT_FB), - DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */ +@@ -1886,6 +1886,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = { QUIRK_FLAG_GENERIC_IMPLICIT_FB), + DEVICE_FLG(0x0525, 0xa4ad, /* Hamedal C20 usb camero */ + QUIRK_FLAG_IFACE_SKIP_CLOSE), + DEVICE_FLG(0x09da, 0x2695, /* A4Tech FHD 1080p webcam */ + QUIRK_FLAG_DISABLE_AUTOSUSPEND | QUIRK_FLAG_GET_SAMPLE_RATE), /* Vendor matches */ VENDOR_FLG(0x045e, /* MS Lifecam */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 15 Sep 2021 17:56:45 +0100 -Subject: [PATCH 0465/1219] sound/usb: call usb_autopm_get_interface() for +Subject: [PATCH 0464/1284] sound/usb: call usb_autopm_get_interface() for devices that should not be suspended Webcams with microphones are composite devices, and autosuspend is set @@ -218265,13 +218202,13 @@ index 550c6a72fb5b..b1ad8f1fd2ae 100644 /* * For devices with more than one control interface, we assume the -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 22 Jul 2021 14:34:42 +0100 -Subject: [PATCH 0466/1219] brcmfmac: Try product-specific clm_blob names first +Subject: [PATCH 0465/1284] brcmfmac: Try product-specific clm_blob names first Signed-off-by: Phil Elwell --- @@ -218343,7 +218280,7 @@ index e3758bd86acf..9047a0813ebf 100644 brcmf_info("no clm_blob available (err=%d), device may have limited channels available\n", err); diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c -index 309214a9cd40..c5497208f231 100644 +index 2353f0b802fe..3f259492491f 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c @@ -647,7 +647,7 @@ static int brcmf_fw_request_firmware(const struct firmware **fw, @@ -218356,10 +218293,10 @@ index 309214a9cd40..c5497208f231 100644 if (ret == 0) return ret; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -index 3ff4997e1c97..d9c45c4d525c 100644 +index f5f5a002fdcf..f19ff0bff8f6 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -@@ -1381,7 +1381,8 @@ static int brcmf_pcie_get_memdump(struct device *dev, void *data, size_t len) +@@ -1385,7 +1385,8 @@ static int brcmf_pcie_get_memdump(struct device *dev, void *data, size_t len) } static @@ -218369,7 +218306,7 @@ index 3ff4997e1c97..d9c45c4d525c 100644 { struct brcmf_bus *bus_if = dev_get_drvdata(dev); struct brcmf_fw_request *fwreq; -@@ -1389,6 +1390,10 @@ int brcmf_pcie_get_fwname(struct device *dev, const char *ext, u8 *fw_name) +@@ -1393,6 +1394,10 @@ int brcmf_pcie_get_fwname(struct device *dev, const char *ext, u8 *fw_name) { ext, fw_name }, }; @@ -218381,10 +218318,10 @@ index 3ff4997e1c97..d9c45c4d525c 100644 brcmf_pcie_fwnames, ARRAY_SIZE(brcmf_pcie_fwnames), diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 73db8489a8a9..89de65d32ed5 100644 +index 677c111e8326..4d6ae811bbf3 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -4131,14 +4131,24 @@ brcmf_sdio_watchdog(struct timer_list *t) +@@ -4132,14 +4132,24 @@ brcmf_sdio_watchdog(struct timer_list *t) } static @@ -218436,13 +218373,13 @@ index 9fb68c2dc7e3..9bf2dbd30ded 100644 brcmf_usb_fwnames, ARRAY_SIZE(brcmf_usb_fwnames), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 1 Nov 2018 17:31:37 +0000 -Subject: [PATCH 0467/1219] staging: vchiq_arm: Add 36-bit address support +Subject: [PATCH 0466/1284] staging: vchiq_arm: 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 @@ -218706,13 +218643,13 @@ index e8e39a154c74..b7653e8ce9e0 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 21 Jul 2020 17:34:09 +0100 -Subject: [PATCH 0468/1219] staging: vchiq_arm: children inherit DMA config +Subject: [PATCH 0467/1284] 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 @@ -218748,13 +218685,13 @@ index ff4fae2b51f9..16f3de4c27f1 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: detule Date: Tue, 2 Oct 2018 04:10:08 -0400 -Subject: [PATCH 0469/1219] staging: vchiq_arm: Usa a DMA pool for small bulks +Subject: [PATCH 0468/1284] staging: vchiq_arm: Usa a DMA pool for small bulks During a bulk transfer we request a DMA allocation to hold the scatter-gather list. Most of the time, this allocation is small @@ -218875,13 +218812,13 @@ index 16f3de4c27f1..f3d2fe5bbfa0 100644 vchiq_log_info(vchiq_arm_log_level, "vchiq_init - done (slots %pK, phys %pad)", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Sep 2021 14:21:38 +0100 -Subject: [PATCH 0470/1219] drm/panel/raspberrypi-touchscreen: Handle I2C +Subject: [PATCH 0469/1284] drm/panel/raspberrypi-touchscreen: Handle I2C errors. rpi_touchscreen_i2c_read returns any errors from i2c_transfer, @@ -218916,13 +218853,13 @@ index bd15c2f2e247..329341bcfa50 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Mar 2021 17:06:36 +0000 -Subject: [PATCH 0471/1219] drm/panel-simple: Add a timing for the Raspberry Pi +Subject: [PATCH 0470/1284] drm/panel-simple: Add a timing for the Raspberry Pi 7" panel The Raspberry Pi 7" 800x480 panel uses a Toshiba TC358762 DSI @@ -218981,13 +218918,13 @@ index ab16599f7e7f..507b528eef7c 100644 .compatible = "rocktech,rk070er9427", .data = &rocktech_rk070er9427, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Sep 2021 14:46:17 +0100 -Subject: [PATCH 0472/1219] Input: edt-ft54x6: Clean up timer and workqueue on +Subject: [PATCH 0471/1284] Input: edt-ft54x6: Clean up timer and workqueue on remove If no interrupt is defined then a timer and workqueue are used @@ -219018,13 +218955,13 @@ index 339eae4ec7a8..aabd1246b788 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Feb 2021 18:46:06 +0000 -Subject: [PATCH 0473/1219] regulator: rpi-panel: Register with a unique +Subject: [PATCH 0472/1284] regulator: rpi-panel: Register with a unique backlight name There's no reason why 2 Raspberry Pi DSI displays can't be @@ -219053,13 +218990,13 @@ index 991b4730d768..00fb69efcfa2 100644 &props); if (IS_ERR(bl)) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Sep 2021 15:02:05 +0100 -Subject: [PATCH 0474/1219] regulator: rpi-panel: Serialise operations. +Subject: [PATCH 0473/1284] regulator: rpi-panel: Serialise operations. The driver was using the regmap lock to serialise the individual accesses, but we really need to protect the @@ -219313,13 +219250,13 @@ index 00fb69efcfa2..a4af7adad2b5 100644 module_i2c_driver(attiny_regulator_driver); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Sep 2021 15:41:18 +0100 -Subject: [PATCH 0475/1219] regulator: rpi-panel: Ensure the backlight is off +Subject: [PATCH 0474/1284] regulator: rpi-panel: Ensure the backlight is off during probe. The initial state of the Atmel is not defined, so ensure the @@ -219343,13 +219280,13 @@ index a4af7adad2b5..b3629a1e0e50 100644 config.dev = &i2c->dev; config.regmap = regmap; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 9 Sep 2021 18:24:57 +0100 -Subject: [PATCH 0476/1219] regulator: rpi-panel: Convert to drive lines +Subject: [PATCH 0475/1284] regulator: rpi-panel: Convert to drive lines directly The Atmel was doing a load of automatic sequencing of @@ -219549,13 +219486,13 @@ index b3629a1e0e50..995915ca4a9b 100644 rdev = devm_regulator_register(&i2c->dev, &attiny_regulator, &config); if (IS_ERR(rdev)) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 Sep 2021 13:50:28 +0100 -Subject: [PATCH 0477/1219] regulator: rpi-panel: Add GPIO control for panel +Subject: [PATCH 0476/1284] regulator: rpi-panel: Add GPIO control for panel and touch resets We need independent control of the resets for the panel&bridge, @@ -219757,13 +219694,13 @@ index 995915ca4a9b..998233f14085 100644 error: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 13 May 2021 11:56:21 +0100 -Subject: [PATCH 0478/1219] staging/bcm2835-codec: Change the default codec res +Subject: [PATCH 0477/1284] staging/bcm2835-codec: Change the default codec res to 32x32 In order to effectively guarantee that a V4L2_EVENT_SOURCE_CHANGE @@ -219803,13 +219740,13 @@ index c3ba5c25a2ab..4c01bc42fa31 100644 * The unanswered question - what is the maximum size of a compressed frame? * V4L2 mandates that the encoded frame must fit in a single buffer. Sizing -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sun, 10 Jan 2021 19:05:17 +0000 -Subject: [PATCH 0479/1219] staging/vchiq-mmal: Add buffer flags for interlaced +Subject: [PATCH 0478/1284] staging/vchiq-mmal: Add buffer flags for interlaced video Add the buffer flags that the firmware uses to identify fields @@ -219851,13 +219788,13 @@ index ab63835ce01c..883b77ffae25 100644 u32 magic; u32 component_handle; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 5 Aug 2021 16:38:34 +0100 -Subject: [PATCH 0480/1219] staging/vchiq-mmal: Add parameters for interlaced +Subject: [PATCH 0479/1284] staging/vchiq-mmal: Add parameters for interlaced video support Adds enum mmal_interlace_type and struct @@ -219918,13 +219855,13 @@ index 79438d23912f..844a02bf9a22 100644 struct mmal_parameter_imagefx_parameters { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 18 Dec 2020 19:56:31 +0000 -Subject: [PATCH 0481/1219] staging/bcm2835-codec: Add support for decoding +Subject: [PATCH 0480/1284] staging/bcm2835-codec: Add support for decoding interlaced streams The video decoder can support decoding interlaced streams, so add @@ -220097,13 +220034,13 @@ index 4c01bc42fa31..3f15c20bb952 100644 ctx->colorspace = V4L2_COLORSPACE_REC709; ctx->bitrate = 10 * 1000 * 1000; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 5 Aug 2021 15:11:23 +0100 -Subject: [PATCH 0482/1219] staging/bcm2835-codec: Correct ENUM_FRAMESIZES +Subject: [PATCH 0481/1284] staging/bcm2835-codec: Correct ENUM_FRAMESIZES stepsize to 2 Being YUV420 formats, the step size is always 2 to avoid part @@ -220132,13 +220069,13 @@ index 3f15c20bb952..96de610e8354 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 5 Aug 2021 16:46:42 +0100 -Subject: [PATCH 0483/1219] staging/bcm2835-codec: Return buffers to QUEUED not +Subject: [PATCH 0482/1284] staging/bcm2835-codec: Return buffers to QUEUED not ERROR state Should start_streaming fail, or buffers be queued during @@ -220173,13 +220110,13 @@ index 96de610e8354..d2b64a369ae8 100644 /* Disable MMAL port - this will flush buffers back */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Aug 2021 13:43:48 +0100 -Subject: [PATCH 0484/1219] staging/bcm2835_codec: Log MMAL flags in hex +Subject: [PATCH 0483/1284] staging/bcm2835_codec: Log MMAL flags in hex The flags is a bitmask, so it's far easier to interpret as hex data instead of decimal. @@ -220203,13 +220140,13 @@ index d2b64a369ae8..202830aee5b6 100644 mmal_buf->mmal_flags, mmal_buf->pts); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sat, 11 Sep 2021 17:21:07 +0100 -Subject: [PATCH 0485/1219] staging: bcm2835-codec: Allow custom specified +Subject: [PATCH 0484/1284] staging: bcm2835-codec: Allow custom specified strides/bytesperline. If the client provides a bytesperline value in try_fmt/s_fmt then @@ -220248,13 +220185,13 @@ index 202830aee5b6..8e6a3ab629fc 100644 f->fmt.pix_mp.width, f->fmt.pix_mp.height, fmt); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Aug 2021 15:44:21 +0100 -Subject: [PATCH 0486/1219] staging/vchiq-mmal: Add the deinterlace image +Subject: [PATCH 0485/1284] staging/vchiq-mmal: Add the deinterlace image effects enums As we're wanting to wrap the image_fx component for deinterlacing, @@ -220280,13 +220217,13 @@ index 844a02bf9a22..622508dc6e27 100644 enum MMAL_PARAM_FLICKERAVOID { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Fri, 6 Aug 2021 15:37:16 +0100 -Subject: [PATCH 0487/1219] staging/bcm2835_codec: Add support for image_fx to +Subject: [PATCH 0486/1284] staging/bcm2835_codec: Add support for image_fx to deinterlace Adds another /dev/video node wrapping image_fx doing deinterlace. @@ -220553,13 +220490,13 @@ index 8e6a3ab629fc..38b59aa21069 100644 bcm2835_codec_destroy(drv->encode); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 14 Sep 2021 16:44:18 +0100 -Subject: [PATCH 0488/1219] staging/bcm2835-v4l2_codec: Fix for encode +Subject: [PATCH 0487/1284] staging/bcm2835-v4l2_codec: Fix for encode selection API Matches correct behaviour from DECODE and DEINTERLACE @@ -220583,13 +220520,13 @@ index 38b59aa21069..8df0eb2b532a 100644 q_data->crop_height = s->r.height; q_data->selection_set = true; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 2 Dec 2019 14:48:05 +0000 -Subject: [PATCH 0489/1219] Add Raspberry Pi PoE+ HAT support +Subject: [PATCH 0488/1284] Add Raspberry Pi PoE+ HAT support Signed-off-by: Serge Schneider --- @@ -220877,13 +220814,13 @@ index 7fdce4033b46..dd3bbc75e531 100644 RPI_FIRMWARE_GET_REBOOT_FLAGS = 0x00030064, RPI_FIRMWARE_SET_REBOOT_FLAGS = 0x00038064, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Sep 2021 15:18:51 +0100 -Subject: [PATCH 0490/1219] configs: Add CAN_PEAK_USB=m +Subject: [PATCH 0489/1284] configs: Add CAN_PEAK_USB=m Add the driver for the PEAK Systems USB CAN interface. @@ -220959,13 +220896,13 @@ index 235fecf9c903..6af6d68a8f38 100644 CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 22 Sep 2021 09:16:46 +0100 -Subject: [PATCH 0491/1219] ARM: dts: Restore downstream dtbs to Makefile +Subject: [PATCH 0490/1284] ARM: dts: Restore downstream dtbs to Makefile Signed-off-by: Phil Elwell --- @@ -220996,13 +220933,13 @@ index 1d4daf4b836f..a254e6342d4e 100644 bcm2711-rpi-cm4.dtb -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Wed, 1 Sep 2021 16:34:50 +0100 -Subject: [PATCH 0492/1219] media: rpivid: Avoid returning EINVAL to a G_FMT +Subject: [PATCH 0491/1284] media: rpivid: Avoid returning EINVAL to a G_FMT ioctl V4L2 spec says that G/S/TRY_FMT IOCTLs should never return errors for @@ -221285,13 +221222,13 @@ index a3b228556497..e22cc0e32aa3 100644 #endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 22 Sep 2021 15:38:13 +0100 -Subject: [PATCH 0493/1219] net: phy: lan87xx: Allow more time for link detect +Subject: [PATCH 0492/1284] net: phy: lan87xx: Allow more time for link detect With EDPWRDOWN set in idle, it must be cleared before checking for ENERGYON going high, indicating that a link is being established. @@ -221329,13 +221266,13 @@ index 636b0907a598..2004bc0dae60 100644 if (rc < 0) return rc; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Wed, 22 Sep 2021 18:57:19 +0100 -Subject: [PATCH 0494/1219] media: rpivid: Remove unused ctx state variable and +Subject: [PATCH 0493/1284] media: rpivid: Remove unused ctx state variable and defines Remove unused ctx state tracking variable and associated defines. @@ -221372,13 +221309,13 @@ index aa8448566c09..fe6cf1806410 100644 int src_stream_on; int dst_stream_on; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Wed, 22 Sep 2021 19:05:30 +0100 -Subject: [PATCH 0495/1219] media: rpivid: Ensure IRQs have completed before +Subject: [PATCH 0494/1284] media: rpivid: Ensure IRQs have completed before uniniting context Before uniniting the decode context sync with the IRQ queues to ensure @@ -221478,13 +221415,13 @@ index e3a5c331ca10..834e34a8373f 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 9 Oct 2020 10:40:27 +0100 -Subject: [PATCH 0496/1219] staging: bcm2835-codec: Allow decode res changed +Subject: [PATCH 0495/1284] staging: bcm2835-codec: Allow decode res changed before STREAMON(CAPTURE) The V4L2 stateful video decoder API requires that you can STREAMON @@ -221722,13 +221659,13 @@ index 8df0eb2b532a..f8fe8effa06d 100644 /* If both ports disabled, then disable the component */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Sep 2021 17:44:19 +0100 -Subject: [PATCH 0497/1219] staging/bcm2835-codec: Do not send buffers to the +Subject: [PATCH 0496/1284] staging/bcm2835-codec: Do not send buffers to the VPU unless streaming With video decode we now enable both input and output ports on @@ -221821,13 +221758,13 @@ index f8fe8effa06d..4156018dbf7a 100644 v4l2_dbg(3, debug, &ctx->dev->v4l2_dev, "%s: Submitted src %p, dst %p\n", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Sep 2021 17:49:41 +0100 -Subject: [PATCH 0498/1219] staging/mmal-vchiq: Rationalise included headers +Subject: [PATCH 0497/1284] staging/mmal-vchiq: Rationalise included headers The list of includes was slightly over generic, and wasn't in alphabetical order. Clean it up. @@ -221863,13 +221800,13 @@ index c88393f22d87..e5ba3b067ae3 100644 #include "mmal-common.h" #include "mmal-parameters.h" -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 16 Sep 2021 16:32:53 +0100 -Subject: [PATCH 0499/1219] staging: bcm2835-codec: Format changed should +Subject: [PATCH 0498/1284] staging: bcm2835-codec: Format changed should trigger drain When a format changed event occurs, the spec says that it @@ -221912,13 +221849,13 @@ index 4156018dbf7a..73afe99268ff 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 16 Sep 2021 16:39:07 +0100 -Subject: [PATCH 0500/1219] staging: bcm2835-codec: Signal the firmware to stop +Subject: [PATCH 0499/1284] staging: bcm2835-codec: Signal the firmware to stop on all changes The firmware defaults to not stopping video decode if only the @@ -221968,13 +221905,13 @@ index 622508dc6e27..21087496a481 100644 /** Valid mirror modes */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Sep 2021 17:54:11 +0100 -Subject: [PATCH 0501/1219] staging/mmal-vchiq: Add module parameter to enable +Subject: [PATCH 0500/1284] staging/mmal-vchiq: Add module parameter to enable logging. Adds a module parameter "debug" to enable various logging levels. @@ -222295,13 +222232,13 @@ index e5ba3b067ae3..139ca5a733cd 100644 if (ret) pr_err("%s: vcsm_free failed, ret %d\n", __func__, ret); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 16 Sep 2021 16:46:58 +0100 -Subject: [PATCH 0502/1219] staging: bcm2835-codec: Queue flushed buffers +Subject: [PATCH 0501/1284] staging: bcm2835-codec: Queue flushed buffers instead of completing When a buffer is returned on a port that is disabled, return it @@ -222329,13 +222266,13 @@ index 6c6e0ba34a0b..03c9ccb35ee1 100644 ctx->num_ip_buffers++; v4l2_dbg(2, debug, &ctx->dev->v4l2_dev, "%s: done %d input buffers\n", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 21 Sep 2021 17:17:57 +0100 -Subject: [PATCH 0503/1219] staging: mmal-vchiq: Reset buffers_with_vpu on +Subject: [PATCH 0502/1284] staging: mmal-vchiq: Reset buffers_with_vpu on port_enable Should we go through the timeout failure case with port_disable @@ -222366,13 +222303,13 @@ index 139ca5a733cd..87194606185a 100644 /* send buffer headers to videocore */ hdr_count = 1; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 22 Sep 2021 16:42:49 +0100 -Subject: [PATCH 0504/1219] staging: bcm2835_codec: Correct flushing code for +Subject: [PATCH 0503/1284] staging: bcm2835_codec: Correct flushing code for refcounting Completions don't reference count, so setting the completion @@ -222464,13 +222401,13 @@ index 03c9ccb35ee1..1b8611549f4f 100644 } } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Sep 2021 15:00:51 +0100 -Subject: [PATCH 0505/1219] staging: bcm2835-codec: Ensure all ctrls are set on +Subject: [PATCH 0504/1284] staging: bcm2835-codec: Ensure all ctrls are set on streamon Currently the code was only setting some controls from @@ -222581,13 +222518,13 @@ index 1b8611549f4f..f5eaff3e4612 100644 ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(dev->m2m_dev, ctx, &queue_init); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Sep 2021 14:37:17 +0100 -Subject: [PATCH 0506/1219] staging: bcm2835-codec: Add support for H&V Flips +Subject: [PATCH 0505/1284] staging: bcm2835-codec: Add support for H&V Flips to ISP The ISP can do H & V flips whilst resizing or converting @@ -222672,13 +222609,13 @@ index f5eaff3e4612..6078d6e2ace0 100644 { v4l2_ctrl_handler_init(hdl, 0); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Sun, 19 Sep 2021 13:30:43 +0200 -Subject: [PATCH 0507/1219] overlays: add support for the MLX90640 thermal +Subject: [PATCH 0506/1284] overlays: add support for the MLX90640 thermal camera This allows using the video-i2c camera driver with MLX90640 thermal @@ -222751,13 +222688,13 @@ index 000000000000..a2655ed82585 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: GabyPCgeeK Date: Mon, 27 Sep 2021 04:43:21 -0400 -Subject: [PATCH 0508/1219] overlays: Add generic mcp2515 overlay +Subject: [PATCH 0507/1284] overlays: Add generic mcp2515 overlay Can configure mcp2515 on spi0/1/2 without the need for multiple overlays. --- @@ -222968,13 +222905,13 @@ index 000000000000..cda1fb0b1199 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 21 Sep 2021 15:32:50 +0100 -Subject: [PATCH 0509/1219] regulator: rpi-panel: Remove get_brightness hook +Subject: [PATCH 0508/1284] regulator: rpi-panel: Remove get_brightness hook The driver was implementing a get_brightness function that tried to read back the PWM setting of the display to report @@ -223028,13 +222965,13 @@ index 998233f14085..8090b9a485b5 100644 static int attiny_gpio_get_direction(struct gpio_chip *gc, unsigned int off) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: madimario Date: Tue, 28 Sep 2021 04:20:06 -0400 -Subject: [PATCH 0510/1219] bcm2835_smi_dev: Fix handling of word-odd lengths +Subject: [PATCH 0509/1284] bcm2835_smi_dev: Fix handling of word-odd lengths The read and write functions did not use the correct pointer offset when dealing with an odd number of bytes after a DMA transfer. Also, @@ -223125,13 +223062,13 @@ index 9db8f1e3db0f..34976fa4ed59 100644 return count; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Juerg Haefliger Date: Wed, 29 Sep 2021 11:39:46 +0200 -Subject: [PATCH 0511/1219] Revert "mmc: sdhci-iproc: Fix vmmc regulators on +Subject: [PATCH 0510/1284] Revert "mmc: sdhci-iproc: Fix vmmc regulators on iProc" This reverts commit aed19399a01733dbad9be8bf026a4f7dd823b04f. @@ -223176,13 +223113,13 @@ index 37b0e1cfe7b7..032bf852397f 100644 .reset = sdhci_reset, .set_uhs_signaling = sdhci_set_uhs_signaling, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Juerg Haefliger Date: Wed, 29 Sep 2021 11:42:23 +0200 -Subject: [PATCH 0512/1219] mmc: sdhci-iproc: Fix vmmc regulators (pre-bcm2711) +Subject: [PATCH 0511/1284] mmc: sdhci-iproc: Fix vmmc regulators (pre-bcm2711) The Linux support for controlling card power via regulators appears to be contentious. I would argue that the default behaviour is contrary to @@ -223210,13 +223147,13 @@ index 032bf852397f..499046ab8113 100644 .reset = sdhci_reset, .set_uhs_signaling = sdhci_set_uhs_signaling, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 27 Aug 2021 14:36:55 +0800 -Subject: [PATCH 0513/1219] dt-bindings: media: i2c: Add IMX519 CMOS sensor +Subject: [PATCH 0512/1284] dt-bindings: media: i2c: Add IMX519 CMOS sensor binding Add YAML device tree binding for IMX519 CMOS image sensor, and @@ -223349,10 +223286,10 @@ index 000000000000..717230a21764 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index 6545cad26858..f08f05ce0ec9 100644 +index 8f546a0c1ae8..4845928c12fc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17543,6 +17543,14 @@ F: Documentation/devicetree/bindings/media/i2c/imx378.yaml +@@ -17538,6 +17538,14 @@ F: Documentation/devicetree/bindings/media/i2c/imx378.yaml F: Documentation/devicetree/bindings/media/i2c/imx477.yaml F: drivers/media/i2c/imx477.c @@ -223368,13 +223305,13 @@ index 6545cad26858..f08f05ce0ec9 100644 M: Maxim Levitsky M: Alex Dubov -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 27 Aug 2021 13:48:52 +0800 -Subject: [PATCH 0514/1219] media: i2c: Add driver for IMX519 sensor +Subject: [PATCH 0513/1284] media: i2c: Add driver for IMX519 sensor Adds a driver for the 16MPix IMX519 CSI2 sensor. Whilst the sensor supports 2 or 4 CSI2 data lanes, this driver @@ -225461,13 +225398,13 @@ index 000000000000..5eaf1f28da35 +MODULE_DESCRIPTION("Sony IMX519 sensor driver"); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Arducam Date: Wed, 15 Sep 2021 09:02:08 +0800 -Subject: [PATCH 0515/1219] media: i2c: imx519: Advertise embedded data node on +Subject: [PATCH 0514/1284] media: i2c: imx519: Advertise embedded data node on media pad 1 This commit updates the imx519 driver to adverise support for embedded @@ -225716,13 +225653,13 @@ index 5eaf1f28da35..fe7e49a70367 100644 dev_err(dev, "failed to init entity pads: %d\n", ret); goto error_handler_free; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Thu, 26 Aug 2021 11:15:26 +0800 -Subject: [PATCH 0516/1219] configs: Add CONFIG_VIDEO_IMX519=m +Subject: [PATCH 0515/1284] configs: Add CONFIG_VIDEO_IMX519=m Include the driver module for the IMX519. @@ -225796,13 +225733,13 @@ index 6af6d68a8f38..6b0ca5314ab3 100644 CONFIG_VIDEO_OV7251=m CONFIG_VIDEO_OV7640=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 27 Aug 2021 14:45:43 +0800 -Subject: [PATCH 0517/1219] overlays: Add imx519-overlay.dts +Subject: [PATCH 0516/1284] overlays: Add imx519-overlay.dts Added overlays for enabling IMX519 and add the relevant information to the README. @@ -225971,13 +225908,13 @@ index 000000000000..693c267af1f0 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 4 Oct 2021 14:15:38 +0100 -Subject: [PATCH 0518/1219] dtoverlays: Add overlay for ST7735R (160x128) +Subject: [PATCH 0517/1284] dtoverlays: Add overlay for ST7735R (160x128) TinyDRM driver Adds an overlay to configure the TinyDRM driver for ST7735R @@ -226122,13 +226059,13 @@ index 000000000000..bf186811ec5d + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 6 Oct 2021 15:27:53 +0100 -Subject: [PATCH 0519/1219] dwc_otg: pay attention to qh->interval when +Subject: [PATCH 0518/1284] dwc_otg: pay attention to qh->interval when rescheduling periodic queues A regression introduced in https://github.com/raspberrypi/linux/pull/3887 @@ -226157,13 +226094,13 @@ index 4503af692aef..f51fad1e6b70 100644 qh->start_split_frame = qh->sched_frame; if ( !hcd->periodic_qh_count ) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Wed, 6 Oct 2021 17:19:58 +0200 -Subject: [PATCH 0520/1219] Hifiberry DAC+ADCPro DT overlay: add optional +Subject: [PATCH 0519/1284] Hifiberry DAC+ADCPro DT overlay: add optional headphone amp This is a copy of the approach from our DAC+ driver. @@ -226192,13 +226129,13 @@ index cafa2ccd7ff7..561cd84bbb79 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Wed, 6 Oct 2021 17:21:07 +0200 -Subject: [PATCH 0521/1219] Hifiberry DAC+ADCPro: adding optional headphone amp +Subject: [PATCH 0520/1284] Hifiberry DAC+ADCPro: adding optional headphone amp control This is a copy of the code and approach from our DAC+ driver. @@ -226343,13 +226280,13 @@ index 79eccdb4dc8c..517a70fba7d7 100644 MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+ADC"); MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Sten Spans Date: Tue, 12 Oct 2021 20:10:00 +0200 -Subject: [PATCH 0522/1219] Add module for 8111h chip used in various CM4 +Subject: [PATCH 0521/1284] Add module for 8111h chip used in various CM4 boards --- @@ -226382,13 +226319,13 @@ index d1966d92664b..234e68865bff 100644 CONFIG_WIZNET_W5100_SPI=m CONFIG_MICREL_PHY=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 14 Oct 2021 11:09:18 +0100 -Subject: [PATCH 0523/1219] drivers/gpio: Add a driver that wraps the PWM API +Subject: [PATCH 0522/1284] drivers/gpio: Add a driver that wraps the PWM API as a GPIO controller For cases where spare PWM outputs are available, but are desired @@ -226585,13 +226522,13 @@ index 000000000000..89f5d6b353ab +MODULE_AUTHOR("Dave Stevenson "); +MODULE_DESCRIPTION("PWM GPIO driver"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 15 Oct 2021 11:45:36 +0100 -Subject: [PATCH 0524/1219] rtc: pcf85063: Always clear EXT_TEST from set_time +Subject: [PATCH 0523/1284] rtc: pcf85063: Always clear EXT_TEST from set_time Power-on reset after the insertion of a battery does not always complete successfully, leading to corrupted register content. The EXT_TEST bit @@ -226607,7 +226544,7 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+) diff --git a/drivers/rtc/rtc-pcf85063.c b/drivers/rtc/rtc-pcf85063.c -index 14da4ab30104..ea75b71a1f16 100644 +index bf2e370907b7..d97f9793123e 100644 --- a/drivers/rtc/rtc-pcf85063.c +++ b/drivers/rtc/rtc-pcf85063.c @@ -34,6 +34,7 @@ @@ -226627,13 +226564,13 @@ index 14da4ab30104..ea75b71a1f16 100644 PCF85063_REG_CTRL1_STOP); if (rc) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Oct 2021 17:33:05 +0100 -Subject: [PATCH 0525/1219] char: vcio: Rewrite as a firmware node child +Subject: [PATCH 0524/1284] char: vcio: Rewrite as a firmware node child The old vcio driver is a simple character device that manually locates the firmware driver. Initialising it before the firmware driver causes @@ -226870,13 +226807,13 @@ index a39155a94fb7..ac314617229c 100644 MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:rpi-vcio"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 12 Oct 2021 09:59:54 +0100 -Subject: [PATCH 0526/1219] ARM: dts: Make vcio a child of the firmware node +Subject: [PATCH 0525/1284] ARM: dts: Make vcio a child of the firmware node In order to resolve a potential startup order bug, the vcio driver has been rewritten as a platform driver that depends on a DT node for @@ -226906,13 +226843,13 @@ index 68a7e1c09db1..dc302248ae2a 100644 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 18 Oct 2021 11:12:42 +0100 -Subject: [PATCH 0527/1219] ARM: dts: bcm2835_audio missing firmware reference +Subject: [PATCH 0526/1284] ARM: dts: bcm2835_audio missing firmware reference The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of @@ -226941,13 +226878,13 @@ index dc302248ae2a..efca67213816 100644 status = "disabled"; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 18 Oct 2021 11:13:35 +0100 -Subject: [PATCH 0528/1219] ARM: dts: Delete vestigial vcsm node +Subject: [PATCH 0527/1284] ARM: dts: Delete vestigial vcsm node Signed-off-by: Phil Elwell --- @@ -226972,13 +226909,13 @@ index efca67213816..57e7d5f60d3e 100644 sound: sound { status = "disabled"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 18 Oct 2021 16:39:11 +0100 -Subject: [PATCH 0529/1219] config: Enable FSFS_FS_SECURITY +Subject: [PATCH 0528/1284] config: Enable FSFS_FS_SECURITY Add a negligible amount of core kernel code for capability-based access control on F2FS. @@ -227055,13 +226992,13 @@ index 6b0ca5314ab3..f16857163068 100644 CONFIG_FANOTIFY=y CONFIG_QFMT_V1=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Oct 2021 11:23:43 +0100 -Subject: [PATCH 0530/1219] gpio: bcm-virt: Fix the get() method +Subject: [PATCH 0529/1284] gpio: bcm-virt: Fix the get() method The get() method does not understand the on-the-wire encoding of the remote GPIO states, thinking they are simple on/off bits when they are @@ -227090,13 +227027,13 @@ index 49e28ad9760e..55c40190e88a 100644 static void brcmvirt_gpio_set(struct gpio_chip *gc, unsigned off, int val) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Erik Tagirov Date: Wed, 20 Oct 2021 09:51:26 +0200 -Subject: [PATCH 0531/1219] configs: Add CONFIG_FB_SIMPLE to bcmrpi3_defconfig +Subject: [PATCH 0530/1284] configs: Add CONFIG_FB_SIMPLE to bcmrpi3_defconfig See: https://github.com/raspberrypi/linux/pull/4640 @@ -227118,13 +227055,13 @@ index f16857163068..b252255397fa 100644 CONFIG_FB_RPISENSE=m CONFIG_BACKLIGHT_RPI=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 21 Oct 2021 14:41:55 +0100 -Subject: [PATCH 0532/1219] media: i2c: imx219: Sensor should report RAW color +Subject: [PATCH 0531/1284] media: i2c: imx219: Sensor should report RAW color space Tested on Raspberry Pi running libcamera. @@ -227157,13 +227094,13 @@ index e10af3f74b38..7ef1f2b9b7a8 100644 fmt->quantization = V4L2_MAP_QUANTIZATION_DEFAULT(true, fmt->colorspace, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 21 Oct 2021 14:44:01 +0100 -Subject: [PATCH 0533/1219] media: i2c: imx290: Sensor should report RAW color +Subject: [PATCH 0532/1284] media: i2c: imx290: Sensor should report RAW color space Tested on Raspberry Pi running libcamera. @@ -227187,13 +227124,13 @@ index 4291c77f5a01..a6f4ba5b9345 100644 V4L2_MAP_YCBCR_ENC_DEFAULT(fmt->format.colorspace); fmt->format.quantization = -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 21 Oct 2021 14:44:43 +0100 -Subject: [PATCH 0534/1219] media: i2c: imx477: Sensor should report RAW color +Subject: [PATCH 0533/1284] media: i2c: imx477: Sensor should report RAW color space Tested on Raspberry Pi running libcamera. @@ -227217,13 +227154,13 @@ index 96486a7f007c..54bc4e858081 100644 fmt->quantization = V4L2_MAP_QUANTIZATION_DEFAULT(true, fmt->colorspace, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 21 Oct 2021 14:45:07 +0100 -Subject: [PATCH 0535/1219] media: i2c: imx519: Sensor should report RAW color +Subject: [PATCH 0534/1284] media: i2c: imx519: Sensor should report RAW color space Tested on Raspberry Pi running libcamera. @@ -227247,13 +227184,13 @@ index fe7e49a70367..fa09cfca8afe 100644 fmt->quantization = V4L2_MAP_QUANTIZATION_DEFAULT(true, fmt->colorspace, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 21 Oct 2021 14:47:00 +0100 -Subject: [PATCH 0536/1219] media: i2c: ov5647: Sensor should report RAW color +Subject: [PATCH 0535/1284] media: i2c: ov5647: Sensor should report RAW color space Tested on Raspberry Pi running libcamera. @@ -227304,13 +227241,13 @@ index 4b6f4962e644..ac9074acdd9c 100644 .width = 640, .height = 480 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 21 Oct 2021 14:47:20 +0100 -Subject: [PATCH 0537/1219] media: i2c: ov9281: Sensor should report RAW color +Subject: [PATCH 0536/1284] media: i2c: ov9281: Sensor should report RAW color space Tested on Raspberry Pi running libcamera. @@ -227352,13 +227289,13 @@ index e4604746e930..f0d5551b23c1 100644 try_fmt->quantization = V4L2_MAP_QUANTIZATION_DEFAULT(true, try_fmt->colorspace, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 21 Oct 2021 14:49:15 +0100 -Subject: [PATCH 0538/1219] vc04_services: isp: Report input node as wanting +Subject: [PATCH 0537/1284] vc04_services: isp: Report input node as wanting full range RAW color space RAW color spaces are more usually reported as having full range @@ -227387,13 +227324,13 @@ index 00b044e7d77e..c62f2fb25e94 100644 f->fmt.pix.ycbcr_enc); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 23 Sep 2020 15:16:18 +0100 -Subject: [PATCH 0539/1219] media/bcm2835-unicam: Parse pad numbers correctly +Subject: [PATCH 0538/1284] media/bcm2835-unicam: Parse pad numbers correctly The driver was making big assumptions about the source device using pad 0 and 1, which doesn't follow for more complex @@ -227624,13 +227561,13 @@ index f1ea1c2da6c3..642764ebf4b8 100644 if (ret) { unicam_err(dev, "Error adding subdevice: %d\n", ret); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 Oct 2021 17:57:27 +0100 -Subject: [PATCH 0540/1219] media/bcm2835-unicam: Add support for configuration +Subject: [PATCH 0539/1284] media/bcm2835-unicam: Add support for configuration via MC API Adds Media Controller API support for more complex pipelines. @@ -230343,13 +230280,13 @@ index 642764ebf4b8..80196cd1a54c 100644 if (IS_ERR(unicam->base)) { unicam_err(unicam, "Failed to get main io block\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 25 Oct 2021 11:48:18 +0100 -Subject: [PATCH 0541/1219] ARM: dts: vc4-kms-v3d: Always disable firmware HDMI +Subject: [PATCH 0540/1284] ARM: dts: vc4-kms-v3d: Always disable firmware HDMI Both the firmware audio driver and the vc4-kms-v3d driver are capable of providing HDMI audio, but only one should be active at any time. @@ -230398,13 +230335,13 @@ index 4285e12a4e53..76229cad7803 100644 <0>, "!2", <0>, "!3", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: soyer Date: Sat, 23 Oct 2021 12:23:50 +0200 -Subject: [PATCH 0542/1219] staging/bcm2835-camera: Add support for +Subject: [PATCH 0541/1284] staging/bcm2835-camera: Add support for H264_MIN_QP, H264_MAX_QP Signed-off-by: Gergo Koteles @@ -230460,13 +230397,13 @@ index f3480a5c5170..de59f435696d 100644 int bm2835_mmal_set_all_camera_controls(struct bm2835_mmal_dev *dev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Gergo Koteles Date: Sun, 24 Oct 2021 23:18:09 +0200 -Subject: [PATCH 0543/1219] staging/bcm2835-camera: Add support for +Subject: [PATCH 0542/1284] staging/bcm2835-camera: Add support for MPEG_VIDEO_FORCE_KEY_FRAME Signed-off-by: Gergo Koteles @@ -230511,13 +230448,13 @@ index de59f435696d..b1b02fbc473d 100644 int bm2835_mmal_set_all_camera_controls(struct bm2835_mmal_dev *dev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Sep 2021 10:37:15 +0100 -Subject: [PATCH 0544/1219] ARM: dts: Add Pi Zero 2 support +Subject: [PATCH 0543/1284] ARM: dts: Add Pi Zero 2 support Signed-off-by: Phil Elwell --- @@ -230744,13 +230681,13 @@ index 000000000000..f76f553599ef @@ -0,0 +1 @@ +#include "../../../../arm/boot/dts/bcm2710-rpi-zero-2.dts" -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 19 Oct 2021 14:13:53 +0100 -Subject: [PATCH 0545/1219] clk-raspberrypi: Support VEC clock +Subject: [PATCH 0544/1284] clk-raspberrypi: Support VEC clock Signed-off-by: Dom Cobley --- @@ -230786,13 +230723,13 @@ index 0b38fb334185..c52b7a9f4c6a 100644 clks->id); if (IS_ERR(hw)) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 19 Oct 2021 14:15:45 +0100 -Subject: [PATCH 0546/1219] dt: Move VEC clock to clk-raspberrypi +Subject: [PATCH 0545/1284] dt: Move VEC clock to clk-raspberrypi clk-2835 is deprecated and gets an innacurate clock for VEC (107MHz). Switch to clk-raspberrypi which uses the right PLL to get an accurate 108MHz. @@ -230830,13 +230767,13 @@ index 06d8c3882cb7..15f3975f1ca1 100644 status = "disabled"; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 19 Oct 2021 14:14:55 +0100 -Subject: [PATCH 0547/1219] clk-bcm2835: Remove VEC clock support +Subject: [PATCH 0546/1284] clk-bcm2835: Remove VEC clock support Signed-off-by: Dom Cobley --- @@ -230870,13 +230807,13 @@ index 3042095666a9..fb6292be6242 100644 [BCM2835_CLOCK_DSI0E] = REGISTER_PER_CLK( SOC_ALL, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 27 Apr 2021 14:24:21 +0200 -Subject: [PATCH 0548/1219] drm/vc4: Add support for gamma on BCM2711 +Subject: [PATCH 0547/1284] drm/vc4: Add support for gamma on BCM2711 BCM2711 changes from a 256 entry lookup table to a 16 point piecewise linear function as the pipeline bitdepth has increased @@ -231154,13 +231091,13 @@ index e3761ffbac7b..9ac2b7f122ee 100644 # define VC4_HDMI_SW_RESET_FORMAT_DETECT BIT(1) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 28 Apr 2021 12:32:10 +0200 -Subject: [PATCH 0549/1219] drm/vc4: Add debugfs node that dumps the vc5 gamma +Subject: [PATCH 0548/1284] drm/vc4: Add debugfs node that dumps the vc5 gamma PWL entries This helps with debugging the conversion from a 256 point gamma LUT to @@ -231274,13 +231211,13 @@ index e9df33b586a7..d0637293bb59 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 14 Jun 2021 15:28:30 +0200 -Subject: [PATCH 0550/1219] drm/vc4: hvs: Force modeset on gamma lut change +Subject: [PATCH 0549/1284] drm/vc4: hvs: Force modeset on gamma lut change The HVS Gamma block can only be updated when idle, so we need to disable the HVS channel when the gamma property is set in an atomic commit. @@ -231389,13 +231326,13 @@ index d0637293bb59..ca3870bac136 100644 static void vc4_hvs_update_dlist(struct drm_crtc *crtc) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: neocortex-vision Date: Thu, 28 Oct 2021 17:37:36 +0100 -Subject: [PATCH 0551/1219] media: i2c: imx477: Add vsync trigger_mode +Subject: [PATCH 0550/1284] media: i2c: imx477: Add vsync trigger_mode parameter trigger_mode == 0 (default) => no effect / no registers written @@ -231460,13 +231397,13 @@ index 54bc4e858081..2b4dfdd7975a 100644 ret = __v4l2_ctrl_handler_setup(imx477->sd.ctrl_handler); if (ret) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:08:08 +0200 -Subject: [PATCH 0552/1219] drm/vc4: Relax VEC modeline requirements and add +Subject: [PATCH 0551/1284] drm/vc4: Relax VEC modeline requirements and add progressive mode support Make vc4_vec_encoder_atomic_check() accept arbitrary modelines, as long @@ -231624,13 +231561,13 @@ index b684595a5d0b..661fac65b8a8 100644 static const struct vc4_vec_variant bcm2835_vec_variant = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:08:11 +0200 -Subject: [PATCH 0553/1219] drm/vc4: Make VEC progressive modes readily +Subject: [PATCH 0552/1284] drm/vc4: Make VEC progressive modes readily accessible Add predefined modelines for the 240p (NTSC) and 288p (PAL) progressive @@ -231796,13 +231733,13 @@ index 661fac65b8a8..d263fdaa1ee8 100644 if (crtc_state->adjusted_mode.crtc_clock != reference_mode->clock || crtc_state->adjusted_mode.crtc_htotal != reference_mode->htotal || -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Sun, 31 Oct 2021 11:47:59 +0000 -Subject: [PATCH 0554/1219] bcm2835-v4l2-codec: Remove advertised support of +Subject: [PATCH 0553/1284] bcm2835-v4l2-codec: Remove advertised support of VP8 The support for this format by firmware is very limited @@ -231830,13 +231767,13 @@ index 6078d6e2ace0..97c8afa0861e 100644 .fourcc = V4L2_PIX_FMT_VC1_ANNEX_G, .depth = 0, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 1 Nov 2021 15:44:31 +0000 -Subject: [PATCH 0555/1219] ARM: dts: Rename Zero 2 W DT files +Subject: [PATCH 0554/1284] ARM: dts: Rename Zero 2 W DT files Retain the old names for backwards compatibility for a while, while the necessary firmware change rolls out. @@ -232228,13 +232165,13 @@ index 42185a450666..daa12bd30d6b 100644 -}; +#include "bcm2710-rpi-zero-2-w.dts" -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 2 Nov 2021 11:13:42 +0000 -Subject: [PATCH 0556/1219] brcmfmac: Don't promote INFO logging to ERR +Subject: [PATCH 0555/1284] brcmfmac: Don't promote INFO logging to ERR An unwanted side effect of enabling the BRCMDBG config setting is redefining brcmf_info to be brcmf_err. This can be alarming to users @@ -232266,13 +232203,13 @@ index 9bb5f709d41a..ca49700cca50 100644 __printf(3, 4) void __brcmf_dbg(u32 level, const char *func, const char *fmt, ...); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 21 Oct 2021 15:06:02 +0100 -Subject: [PATCH 0557/1219] dtoverlays: Update all image sensor overlays for +Subject: [PATCH 0556/1284] dtoverlays: Update all image sensor overlays for Media Controller option Add an option to enable configuration via the Media Controller API @@ -232629,13 +232566,13 @@ index a1f8af36d2e7..d679d9ba84b6 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 26 Oct 2021 16:38:44 +0100 -Subject: [PATCH 0558/1219] ARM: dt: Add DT nodes for the WLAN interfaces +Subject: [PATCH 0557/1284] ARM: dt: Add DT nodes for the WLAN interfaces Mirror upstream changes into the downstream dts files. @@ -232720,13 +232657,13 @@ index 6d0f0c9aae0f..2bd223a405a7 100644 &uart0 { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 28 Oct 2021 15:03:16 +0100 -Subject: [PATCH 0559/1219] brcmfmac: Read alternative firmware names from DT +Subject: [PATCH 0558/1284] brcmfmac: Read alternative firmware names from DT Add the ability to load the names of alternative firmwares from the Device Tree node. This permits separate firmwares for 43436s and 43438 @@ -232812,7 +232749,7 @@ index 10bf52253337..5b39a39812d0 100644 +} #endif /* CONFIG_OF */ diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 89de65d32ed5..88c08fee58f6 100644 +index 4d6ae811bbf3..3c72cd575f9a 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -35,6 +35,7 @@ @@ -232842,7 +232779,7 @@ index 89de65d32ed5..88c08fee58f6 100644 #define TXCTL_CREDITS 2 static void pkt_align(struct sk_buff *p, int len, int align) -@@ -4151,7 +4155,7 @@ int brcmf_sdio_get_fwname(struct device *dev, const char *ext, u8 *fw_name, +@@ -4152,7 +4156,7 @@ int brcmf_sdio_get_fwname(struct device *dev, const char *ext, u8 *fw_name, } fwreq = brcmf_fw_alloc_request(bus_if->chip, bus_if->chiprev, brcmf_sdio_fwnames, @@ -232851,7 +232788,7 @@ index 89de65d32ed5..88c08fee58f6 100644 fwnames, ARRAY_SIZE(fwnames)); if (!fwreq) return -ENOMEM; -@@ -4207,6 +4211,9 @@ static const struct brcmf_bus_ops brcmf_sdio_bus_ops = { +@@ -4208,6 +4212,9 @@ static const struct brcmf_bus_ops brcmf_sdio_bus_ops = { #define BRCMF_SDIO_FW_CODE 0 #define BRCMF_SDIO_FW_NVRAM 1 @@ -232861,7 +232798,7 @@ index 89de65d32ed5..88c08fee58f6 100644 static void brcmf_sdio_firmware_callback(struct device *dev, int err, struct brcmf_fw_request *fwreq) { -@@ -4222,6 +4229,22 @@ static void brcmf_sdio_firmware_callback(struct device *dev, int err, +@@ -4223,6 +4230,22 @@ static void brcmf_sdio_firmware_callback(struct device *dev, int err, brcmf_dbg(TRACE, "Enter: dev=%s, err=%d\n", dev_name(dev), err); @@ -232884,7 +232821,7 @@ index 89de65d32ed5..88c08fee58f6 100644 if (err) goto fail; -@@ -4430,7 +4453,7 @@ brcmf_sdio_prepare_fw_request(struct brcmf_sdio *bus) +@@ -4431,7 +4454,7 @@ brcmf_sdio_prepare_fw_request(struct brcmf_sdio *bus) fwreq = brcmf_fw_alloc_request(bus->ci->chip, bus->ci->chiprev, brcmf_sdio_fwnames, @@ -232893,7 +232830,7 @@ index 89de65d32ed5..88c08fee58f6 100644 fwnames, ARRAY_SIZE(fwnames)); if (!fwreq) return NULL; -@@ -4448,6 +4471,9 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) +@@ -4449,6 +4472,9 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) struct brcmf_sdio *bus; struct workqueue_struct *wq; struct brcmf_fw_request *fwreq; @@ -232903,7 +232840,7 @@ index 89de65d32ed5..88c08fee58f6 100644 brcmf_dbg(TRACE, "Enter\n"); -@@ -4530,6 +4556,21 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) +@@ -4531,6 +4557,21 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) brcmf_dbg(INFO, "completed!!\n"); @@ -232926,13 +232863,13 @@ index 89de65d32ed5..88c08fee58f6 100644 if (!fwreq) { ret = -ENOMEM; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 28 Oct 2021 15:09:25 +0100 -Subject: [PATCH 0560/1219] ARM: dts: Provide WLAN firmware names for Zero 2 W +Subject: [PATCH 0559/1284] ARM: dts: Provide WLAN firmware names for Zero 2 W BCM43430/2 may be BCM43430B0 or BCM43436P, and BCM43430/1 can be either BCM43430A1 or BCM43436S, the former being upstream names and the @@ -232972,13 +232909,13 @@ index 2bd223a405a7..1cd3d01a166d 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 2 Nov 2021 16:01:36 +0000 -Subject: [PATCH 0561/1219] drm: Check whether the gamma lut has changed before +Subject: [PATCH 0560/1284] drm: Check whether the gamma lut has changed before updating drm_crtc_legacy_gamma_set updates the gamma_lut blob unconditionally, @@ -233011,13 +232948,13 @@ index bb14f488c8f6..f99b77d15dac 100644 ret = drm_atomic_commit(state); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 3 Nov 2021 11:53:13 +0000 -Subject: [PATCH 0562/1219] brcmfmac: Protect against reprobing +Subject: [PATCH 0561/1284] brcmfmac: Protect against reprobing It is important to reinitialise the firmware array pointers to protect against the case that the brcmfmac driver is reprobed without first @@ -233032,7 +232969,7 @@ Signed-off-by: Phil Elwell 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 88c08fee58f6..67b0ad9819f4 100644 +index 3c72cd575f9a..7d12a9b6b52e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -661,8 +661,8 @@ static const struct brcmf_firmware_mapping sdio_fwnames[] = { @@ -233046,7 +232983,7 @@ index 88c08fee58f6..67b0ad9819f4 100644 #define TXCTL_CREDITS 2 -@@ -4556,6 +4556,8 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) +@@ -4557,6 +4557,8 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) brcmf_dbg(INFO, "completed!!\n"); @@ -233056,13 +232993,13 @@ index 88c08fee58f6..67b0ad9819f4 100644 if (of_fwnames) fwnames = devm_kcalloc(sdiodev->dev, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 20 Oct 2021 13:31:22 +0200 -Subject: [PATCH 0563/1219] drm/vc4: kms: Fix return code check +Subject: [PATCH 0562/1284] drm/vc4: kms: Fix return code check The HVS global state functions return an error pointer, but in most cases we check if it's NULL, possibly resulting in an invalid pointer @@ -233104,13 +233041,13 @@ index 94fc36b2a909..b7e17578b99e 100644 for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 4 Nov 2021 14:04:37 +0100 -Subject: [PATCH 0564/1219] drm/vc4: kms: Move clock request to our HVS state +Subject: [PATCH 0563/1284] drm/vc4: kms: Move clock request to our HVS state Our current clock request has been stored so far on the main HVS structure, but even though we shouldn't have two commits in parallel and @@ -233171,13 +233108,13 @@ index b7e17578b99e..92fce4f48da2 100644 /* And drop the temporary request */ clk_request_done(core_req); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Nov 2021 12:21:14 +0100 -Subject: [PATCH 0565/1219] overlays: Add fbtft overlay +Subject: [PATCH 0564/1284] overlays: Add fbtft overlay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -233957,13 +233894,13 @@ index 000000000000..db45f8c53bcc + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 10 Nov 2021 09:48:50 +0000 -Subject: [PATCH 0566/1219] configs: Regenerate defconfigs +Subject: [PATCH 0565/1284] configs: Regenerate defconfigs Signed-off-by: Phil Elwell --- @@ -234075,13 +234012,13 @@ index b252255397fa..29d98dc91225 100644 CONFIG_MTD_BLOCK=m CONFIG_MTD_UBI=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 10 Nov 2021 09:52:22 +0000 -Subject: [PATCH 0567/1219] configs: Add NTFS3 support +Subject: [PATCH 0566/1284] configs: Add NTFS3 support ntfs3 provides improved support for NTFS filesystems without the performance hit of a userspace FUSE filesystem. @@ -234156,13 +234093,13 @@ index 29d98dc91225..38fff49a5951 100644 CONFIG_TMPFS_POSIX_ACL=y CONFIG_ECRYPT_FS=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 10 Nov 2021 09:54:35 +0000 -Subject: [PATCH 0568/1219] configs: Add kernel SMB3 server support +Subject: [PATCH 0567/1284] configs: Add kernel SMB3 server support Enable the in-kernel (module) SMB3 server. @@ -234236,13 +234173,13 @@ index 38fff49a5951..82c996f54a8d 100644 CONFIG_9P_FS_POSIX_ACL=y CONFIG_NLS_DEFAULT="utf8" -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: arturo182 Date: Tue, 9 Nov 2021 16:21:56 +0100 -Subject: [PATCH 0569/1219] config: Set TCA8418 to module +Subject: [PATCH 0568/1284] config: Set TCA8418 to module This chip is a popular way to add a matrix keyboard using I2C. --- @@ -234314,13 +234251,13 @@ index 82c996f54a8d..4e7296ad96c2 100644 CONFIG_KEYBOARD_CAP11XX=m # CONFIG_INPUT_MOUSE is not set -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Nov 2021 10:24:02 +0000 -Subject: [PATCH 0570/1219] overlays: Additional parameters for gpio-poweroff +Subject: [PATCH 0569/1284] overlays: Additional parameters for gpio-poweroff The gpio-poweroff driver supports active-delay-ms and inactive-delay-ms properties. Add parameters to set these parameters - active_delay_ms @@ -234372,13 +234309,13 @@ index 416aa2bc797a..8153f83f0427 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: VMsunghwan Date: Tue, 16 Nov 2021 03:24:36 +0900 -Subject: [PATCH 0571/1219] configs: Add TCA6416 driver module +Subject: [PATCH 0570/1284] configs: Add TCA6416 driver module Add a matrix keyboard on I2C @@ -234452,13 +234389,13 @@ index 4e7296ad96c2..5a8cc83a7386 100644 CONFIG_KEYBOARD_MATRIX=m CONFIG_KEYBOARD_CAP11XX=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 8 Nov 2021 13:55:15 +0000 -Subject: [PATCH 0572/1219] drm: Fix double free from checking if gamma lut has +Subject: [PATCH 0571/1284] drm: Fix double free from checking if gamma lut has been updated The code falls through to "fail" under all conditions, so there is no @@ -234484,13 +234421,13 @@ index f99b77d15dac..da282e7454a8 100644 ret = drm_atomic_commit(state); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 8 Nov 2021 17:32:45 +0000 -Subject: [PATCH 0573/1219] drm/vc4: Enable gamma block only when required. +Subject: [PATCH 0572/1284] drm/vc4: Enable gamma block only when required. With HVS5 the gamma block is now only reprogrammed with a disable/enable. Loading the table from vc4_hvs_init_channel @@ -234556,13 +234493,13 @@ index ca3870bac136..0a9b2ea949e3 100644 HVS_WRITE(SCALER_DISPBKGNDX(vc4_state->assigned_channel), dispbkgndx); } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 8 Nov 2021 18:25:49 +0000 -Subject: [PATCH 0574/1219] drm/vc4: Only add gamma properties once. +Subject: [PATCH 0573/1284] drm/vc4: Only add gamma properties once. Two calls were made to drm_crtc_enable_color_mgmt to add gamma and CTM, however they were both set to add the gamma properties, @@ -234588,13 +234525,13 @@ index 38fd3b7d9b38..4af8ce915b09 100644 /* Initialize the VC4 gamma LUTs */ for (i = 0; i < crtc->gamma_size; i++) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 10 Nov 2021 15:55:32 +0000 -Subject: [PATCH 0575/1219] dtoverlays: Remove i2c0mux and i20if status from +Subject: [PATCH 0574/1284] dtoverlays: Remove i2c0mux and i20if status from edt-ft5406.dtsi edt-ft5406.dtsi is included from vc4-kms-dsi-7inch which was @@ -234675,13 +234612,13 @@ index ecd3bef3d65a..5e1700d0367a 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 10 Nov 2021 16:36:12 +0000 -Subject: [PATCH 0576/1219] drm/vc4: Validate the size of the gamma_lut +Subject: [PATCH 0575/1284] drm/vc4: Validate the size of the gamma_lut Add a check to vc4_hvs_gamma_check to ensure a new non-empty gamma LUT is of the correct length before accepting it. @@ -234713,13 +234650,13 @@ index 0a9b2ea949e3..082e8a8b2531 100644 if (!connector) return -EINVAL; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 16 Nov 2021 10:34:34 +0000 -Subject: [PATCH 0577/1219] drm/vc4: Don't try disabling SCDC on Pi0-3. +Subject: [PATCH 0576/1284] drm/vc4: Don't try disabling SCDC on Pi0-3. The code that set the scdc_enabled flag to ensure it was disabled at boot time also ran on Pi0-3 where there is no @@ -234751,13 +234688,13 @@ index cb4785c33c06..41685c23a9ce 100644 ret = variant->init_resources(vc4_hdmi); if (ret) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Sean McAvoy Date: Fri, 19 Nov 2021 02:36:24 -0500 -Subject: [PATCH 0578/1219] enable several virtual devices for hosting virtual +Subject: [PATCH 0577/1284] enable several virtual devices for hosting virtual machines --- @@ -234822,13 +234759,13 @@ index 5a8cc83a7386..05f1eba91510 100644 CONFIG_PRISM2_USB=m CONFIG_R8712U=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ilya Trukhanov Date: Sat, 20 Nov 2021 16:26:36 +0200 -Subject: [PATCH 0579/1219] configs: add CONFIG_HID_PLAYSTATION=m and +Subject: [PATCH 0578/1284] configs: add CONFIG_HID_PLAYSTATION=m and CONFIG_PLAYSTATION_FF=y Enables support for the PlayStation 5 'DualSense' controller and its @@ -234918,13 +234855,13 @@ index 05f1eba91510..2a319d0550a2 100644 CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Michael Heimpold Date: Thu, 4 Nov 2021 23:09:07 +0100 -Subject: [PATCH 0580/1219] configs: add LEDS_PWM=y +Subject: [PATCH 0579/1284] configs: add LEDS_PWM=y Enable support for PWM driven LEDs. @@ -234998,13 +234935,13 @@ index 2a319d0550a2..c4dff0b42461 100644 CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_ONESHOT=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 22 Nov 2021 10:28:55 +0000 -Subject: [PATCH 0581/1219] configs: Add USB gadget support (for Zero 2 W) +Subject: [PATCH 0580/1284] configs: Add USB gadget support (for Zero 2 W) Bring the Pi 3 kernel in line with the Pi Zero and Pi 4 by enabling USB gadget support, which is useful on Zero 2 W. @@ -235046,13 +234983,13 @@ index 317b0018d6e2..e844c6d60011 100644 CONFIG_USB_AUDIO=m CONFIG_USB_ETH=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Mon, 22 Nov 2021 13:10:39 +0000 -Subject: [PATCH 0582/1219] media: i2c: ov5647: Support HFLIP and VFLIP +Subject: [PATCH 0581/1284] media: i2c: ov5647: Support HFLIP and VFLIP Add these missing V4L2 controls. Tested binned and full resolution modes in all four orientations using Raspberry Pi running libcamera. @@ -235241,13 +235178,13 @@ index ac9074acdd9c..9275952afccc 100644 v4l2_ctrl_new_fwnode_properties(&sensor->ctrls, &ov5647_ctrl_ops, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 16 Nov 2021 12:38:44 +0000 -Subject: [PATCH 0583/1219] drivers: bcm2835_isp: Allow multiple users for the +Subject: [PATCH 0582/1284] drivers: bcm2835_isp: Allow multiple users for the ISP driver. Add a second (identical) set of device nodes to allow concurrent use of the ISP @@ -235420,13 +235357,13 @@ index c62f2fb25e94..3b0bab17e03d 100644 error: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 25 Nov 2021 08:59:58 +0000 -Subject: [PATCH 0584/1219] drivers: bcm2835_isp: Fix div by 0 bug. +Subject: [PATCH 0583/1284] drivers: bcm2835_isp: Fix div by 0 bug. Fix a possible division by 0 bug when setting up the mmal port for the stats port. @@ -235449,13 +235386,13 @@ index f6d6c88d13ba..a545dbf2b5dd 100644 /* The rest are not valid fields for stats. */ } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Wed, 17 Nov 2021 04:57:56 +0300 -Subject: [PATCH 0585/1219] Pass V4L2_CID_MPEG_VIDEO_H264_MIN_QP/MAX_QP to +Subject: [PATCH 0584/1284] Pass V4L2_CID_MPEG_VIDEO_H264_MIN_QP/MAX_QP to bcm2835-v4l2-codec Following raspberrypi/linux#4704. This is necessary to set up @@ -235522,13 +235459,13 @@ index 97c8afa0861e..d11148c3cb45 100644 V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME, 0, 0, 0, 0); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 Nov 2021 15:20:06 +0000 -Subject: [PATCH 0586/1219] ARM: dts: Update rpi-400 and cm4 dts to match 4-b +Subject: [PATCH 0585/1284] ARM: dts: Update rpi-400 and cm4 dts to match 4-b The Pi 4B dts file has had numerous updates since the Pi 400 and CM4 dts files were written. Apply those updates to the other files to @@ -235861,13 +235798,13 @@ index 76dd97513a20..b688ac19c66c 100644 &sdhci { #address-cells = <1>; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 29 Nov 2021 12:14:49 +0000 -Subject: [PATCH 0587/1219] spi: spidev: Restore loading from Device Tree +Subject: [PATCH 0586/1284] spi: spidev: Restore loading from Device Tree As happens occasionally, an upstream change has once again prevented spidev from being loaded via Device Tree. We now need "spidev" to be @@ -235880,10 +235817,10 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+) diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index 9a3b8a51eaef..36966627f49b 100644 +index b5ba2ddbc0de..3dbd31e79381 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -669,6 +669,7 @@ static const struct file_operations spidev_fops = { +@@ -680,6 +680,7 @@ static const struct file_operations spidev_fops = { static struct class *spidev_class; static const struct spi_device_id spidev_spi_ids[] = { @@ -235892,13 +235829,13 @@ index 9a3b8a51eaef..36966627f49b 100644 { .name = "ltc2488" }, { .name = "sx1301" }, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Nov 2021 14:45:33 +0000 -Subject: [PATCH 0588/1219] drm/vc4: Add support for composite syncs to vc4_dpi +Subject: [PATCH 0587/1284] drm/vc4: Add support for composite syncs to vc4_dpi The hardware can combine H&V syncs onto the output enable line as composite syncs, so add the relevant configuration to do that. @@ -235953,13 +235890,13 @@ index dde2c6014748..4dd8df6ddcbe 100644 DPI_WRITE(DPI_C, dpi_c); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 19 Nov 2021 16:16:40 +0000 -Subject: [PATCH 0589/1219] drm/vc4: Ensure vc4_hdmi doesn't use 2711 HPD +Subject: [PATCH 0588/1284] drm/vc4: Ensure vc4_hdmi doesn't use 2711 HPD registers on Pi0-3 The existing logic was flawed in that it could try reading the @@ -236046,13 +235983,13 @@ index 275c4674d50f..ea5c3e2a2a27 100644 /* HDMI audio information */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Nov 2021 14:37:40 +0000 -Subject: [PATCH 0590/1219] input: edt-ft5x06: Handle unreliable TOUCH_UP +Subject: [PATCH 0589/1284] input: edt-ft5x06: Handle unreliable TOUCH_UP events The ft5x06 is unreliable in sending touch up events, so some @@ -236116,13 +236053,13 @@ index aabd1246b788..f03349617a5e 100644 input_mt_report_pointer_emulation(tsdata->input, true); input_sync(tsdata->input); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Nov 2021 16:56:37 +0000 -Subject: [PATCH 0591/1219] dtoverlays: Use edt-ft5506 for 10 points, instead +Subject: [PATCH 0590/1284] dtoverlays: Use edt-ft5506 for 10 points, instead of edt-ft5x06 Whilst all the datasheets describe FT5x06 as supporting "up to @@ -236152,13 +236089,13 @@ index 6f9b4d02460b..2d0ff0e8b24e 100644 touchscreen-size-x = < 800 >; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Nov 2021 16:46:22 +0000 -Subject: [PATCH 0592/1219] staging/bcm2835-codec: bytesperline for +Subject: [PATCH 0591/1284] staging/bcm2835-codec: bytesperline for YUV420/YVU420 needs to be 64 Matching https://github.com/raspberrypi/linux/pull/4419, the ISP @@ -236200,13 +236137,13 @@ index d11148c3cb45..90fb41e20be1 100644 .mmal_fmt = MMAL_ENCODING_YV12, .size_multiplier_x2 = 3, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Mon, 29 Nov 2021 16:39:35 +0000 -Subject: [PATCH 0593/1219] media: rpivid: remove min_buffers_needed from src +Subject: [PATCH 0592/1284] media: rpivid: remove min_buffers_needed from src queue Remove min_buffers_needed=1 from src queue init. Src buffers are bound @@ -236231,13 +236168,13 @@ index 1efaa99a55f6..93b3d86b41e3 100644 src_vq->mem_ops = &vb2_dma_contig_memops; src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Nov 2021 19:11:29 +0000 -Subject: [PATCH 0594/1219] staging/bcm2835-codec: Allow a different stride +Subject: [PATCH 0593/1284] staging/bcm2835-codec: Allow a different stride alignment per role Deinterlace and decode aren't affected in the same way as encode @@ -236827,13 +236764,13 @@ index 90fb41e20be1..fdbaa96c25a0 100644 ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(dev->m2m_dev, ctx, &queue_init); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 30 Nov 2021 10:39:41 +0000 -Subject: [PATCH 0595/1219] drivers: bcm2835_unicam: Add logging message when a +Subject: [PATCH 0594/1284] drivers: bcm2835_unicam: Add logging message when a frame is dropped. If a dummy buffer is still active on a frame start, it indicates that this frame @@ -236859,13 +236796,13 @@ index 80196cd1a54c..61b08f655058 100644 * Set the next frame output to go to a dummy frame * if we have not managed to obtain another frame -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Nov 2021 18:31:37 +0000 -Subject: [PATCH 0596/1219] regulator/rpi-panel-attiny: Don't read the LCD +Subject: [PATCH 0595/1284] regulator/rpi-panel-attiny: Don't read the LCD power status The I2C to the Atmel is very fussy, and locks up easily on @@ -236911,13 +236848,13 @@ index 8090b9a485b5..8b80c0de1022 100644 static const struct regulator_init_data attiny_regulator_default = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Nov 2021 14:50:10 +0000 -Subject: [PATCH 0597/1219] regulator/rpi-panel-attiny: Use two transactions +Subject: [PATCH 0596/1284] regulator/rpi-panel-attiny: Use two transactions for I2C read The I2C to the Atmel is very fussy, and locks up easily on @@ -236985,13 +236922,13 @@ index 8b80c0de1022..e3decc419814 100644 dev_err(&i2c->dev, "Failed to read REG_ID reg: %d\n", ret); goto error; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 30 Nov 2021 17:28:50 +0000 -Subject: [PATCH 0598/1219] input: edt-ft5x06: Only look at the number of +Subject: [PATCH 0597/1284] input: edt-ft5x06: Only look at the number of points reported Register 0x02 in the FT5x06 is TD_STATUS containing the number @@ -237035,13 +236972,13 @@ index f03349617a5e..719a5ad821ff 100644 type = buf[0] >> 6; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Nov 2021 14:46:55 +0000 -Subject: [PATCH 0599/1219] drm/vc4: Move HDMI reset to pm_resume +Subject: [PATCH 0598/1284] drm/vc4: Move HDMI reset to pm_resume Pi0-3 have power domains attached to the pm_runtime hooks for the HDMI block. Initialisation done in the reset called @@ -237186,13 +237123,13 @@ index 24056441a4bb..72b769412482 100644 if (reg >= variant->num_registers) { dev_warn(&hdmi->pdev->dev, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 13:53:36 +0000 -Subject: [PATCH 0600/1219] clk: bcm: rpi: Add the BCM283x pixel clock. +Subject: [PATCH 0599/1284] clk: bcm: rpi: Add the BCM283x pixel clock. The clk-bcm2835 handling of the pixel clock does not function correctly when the HDMI power domain is disabled. @@ -237218,13 +237155,13 @@ index c52b7a9f4c6a..62971532eaaa 100644 clks->id); if (IS_ERR(hw)) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 14:11:09 +0000 -Subject: [PATCH 0601/1219] dt: bcm283x: Change BCM283x HDMI to use firmware +Subject: [PATCH 0600/1284] dt: bcm283x: Change BCM283x HDMI to use firmware clock driver The clk-bcm2835 handling of the pixel clock does not function @@ -237253,13 +237190,13 @@ index 15f3975f1ca1..7f46a6ec512c 100644 clock-names = "pixel", "hdmi"; dmas = <&dma (17|(1<<27)|(1<<24))>; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Nov 2021 13:33:25 +0000 -Subject: [PATCH 0602/1219] overlays: vc4-kms-v3d: Change composite handling +Subject: [PATCH 0601/1284] overlays: vc4-kms-v3d: Change composite handling On a Pi 4, enabling composite video disables the HDMI output. As a consequence, the composite output is disabled by default. Change the @@ -237321,13 +237258,13 @@ index 62e1d77a8182..351fc160e803 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 18:10:55 +0000 -Subject: [PATCH 0603/1219] drm/panel-simple: Populate bpc when using panel-dpi +Subject: [PATCH 0602/1284] drm/panel-simple: Populate bpc when using panel-dpi panel-dpi doesn't know the bit depth, so in the same way that DPI is guessed for the connector type, guess that it'll be 8bpc. @@ -237351,13 +237288,13 @@ index 507b528eef7c..74192b2eaa02 100644 panel->desc = desc; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 18:16:21 +0000 -Subject: [PATCH 0604/1219] drm/panel-simple: Allow the bus format to be read +Subject: [PATCH 0603/1284] drm/panel-simple: Allow the bus format to be read from DT for panel-dpi The "panel-dpi" compatible string configures panel from device tree, @@ -237385,13 +237322,13 @@ index 74192b2eaa02..6b7b4d65d715 100644 /* Extract bus_flags from display_timing */ bus_flags = 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 18:21:46 +0000 -Subject: [PATCH 0605/1219] drm/vc4: dpi: Add option for inverting pixel clock +Subject: [PATCH 0604/1284] drm/vc4: dpi: Add option for inverting pixel clock and output enable DRM provides flags for inverting pixel clock and output enable @@ -237506,13 +237443,13 @@ index 4dd8df6ddcbe..e19c34d5dbd6 100644 /* Default to 18bit if no connector found. */ dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1, DPI_FORMAT); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 18:28:29 +0000 -Subject: [PATCH 0606/1219] drm/vc4: dpi: Ensure a default format is selected +Subject: [PATCH 0605/1284] drm/vc4: dpi: Ensure a default format is selected In a couple of error/incomplete configuration cases, the DPI_FORMAT bits wouldn't get set. @@ -237557,13 +237494,13 @@ index e19c34d5dbd6..08147d0eab83 100644 if (connector->display_info.bus_flags & -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 18:24:44 +0000 -Subject: [PATCH 0607/1219] dt: bcm270x: Add GPIO defines for RGB565 DPI output +Subject: [PATCH 0606/1284] dt: bcm270x: Add GPIO defines for RGB565 DPI output modes Adds the pinctrl defines for the RGB565 DPI output modes. @@ -237607,13 +237544,13 @@ index badcf341ecd2..49f9019dc125 100644 &uart0 { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 18:06:37 +0000 -Subject: [PATCH 0608/1219] dtoverlays: Add a generic DPI panel overlay for KMS +Subject: [PATCH 0607/1284] dtoverlays: Add a generic DPI panel overlay for KMS Uses the "panel-dpi" compatible to set panel timings from DT. @@ -237776,13 +237713,13 @@ index 000000000000..def175746f66 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Mon, 26 Oct 2020 14:03:35 +0000 -Subject: [PATCH 0609/1219] xhci: quirks: add link TRB quirk for VL805 +Subject: [PATCH 0608/1284] 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 @@ -237802,10 +237739,10 @@ Signed-off-by: Jonathan Bell 3 files changed, 11 insertions(+) diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c -index fdf083196528..5b926ddb6843 100644 +index 105f2b8dc1ba..48b8120f0ab5 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -291,6 +291,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) +@@ -293,6 +293,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) { xhci->quirks |= XHCI_LPM_SUPPORT; xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS; @@ -237814,7 +237751,7 @@ index fdf083196528..5b926ddb6843 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 78981c0b754f..674f94ca1608 100644 +index 9223b5f63371..cf7672202d24 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -667,6 +667,15 @@ static int xhci_move_dequeue_past_td(struct xhci_hcd *xhci, @@ -237834,7 +237771,7 @@ index 78981c0b754f..674f94ca1608 100644 /* Don't update the ring cycle state for the producer (us). */ addr = xhci_trb_virt_to_dma(new_seg, new_deq); diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h -index 1c9f671c6f3a..04fe5229c21a 100644 +index 9a8eaa01320c..588b9c84efd1 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -1905,6 +1905,7 @@ struct xhci_hcd { @@ -237846,13 +237783,13 @@ index 1c9f671c6f3a..04fe5229c21a 100644 unsigned int num_active_eps; unsigned int limit_active_eps; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Fri, 3 Dec 2021 14:32:05 +0000 -Subject: [PATCH 0610/1219] xhci: correct room_on_ring() for cases where there +Subject: [PATCH 0609/1284] xhci: correct room_on_ring() for cases where there is a single segment Don't calculate space based on the number of TRBs in the current segment, @@ -237864,7 +237801,7 @@ Signed-off-by: Jonathan Bell 1 file changed, 6 insertions(+) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index 674f94ca1608..fe8037ebad0e 100644 +index cf7672202d24..23af8533df51 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -289,6 +289,12 @@ static inline int room_on_ring(struct xhci_hcd *xhci, struct xhci_ring *ring, @@ -237881,13 +237818,13 @@ index 674f94ca1608..fe8037ebad0e 100644 if (ring->num_trbs_free < num_trbs + num_trbs_in_deq_seg) return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 8 Dec 2021 13:22:48 +0100 -Subject: [PATCH 0611/1219] media: imx219: Advertise embedded data node on +Subject: [PATCH 0610/1284] media: imx219: Advertise embedded data node on media pad 1 This commit updates the imx219 driver to adverise support for embedded @@ -238303,13 +238240,13 @@ index 7ef1f2b9b7a8..ddc6db846f94 100644 dev_err(dev, "failed to init entity pads: %d\n", ret); goto error_handler_free; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 Dec 2021 15:57:15 +0000 -Subject: [PATCH 0612/1219] vc4/drm: Ignore vc4_hdmi->output_enabled for +Subject: [PATCH 0611/1284] vc4/drm: Ignore vc4_hdmi->output_enabled for allowing audio (#4759) Otherwise we reject audio playback when switching hdmi modes @@ -238410,13 +238347,13 @@ index ea5c3e2a2a27..be3f93a86e62 100644 * @scdc_enabled: Is the HDMI controller currently running with * the scrambler on? Protected by @mutex. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: peterharperuk <77111776+peterharperuk@users.noreply.github.com> Date: Mon, 13 Dec 2021 14:00:35 +0000 -Subject: [PATCH 0613/1219] ARM: dts: Create bcm2711-rpi-cm4s.dts (#4761) +Subject: [PATCH 0612/1284] ARM: dts: Create bcm2711-rpi-cm4s.dts (#4761) Signed-off-by: Peter Harper --- @@ -238844,13 +238781,13 @@ index 000000000000..226e71198f6a + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Mon, 13 Dec 2021 15:05:56 +0000 -Subject: [PATCH 0614/1219] xhci: refactor out TRBS_PER_SEGMENT define in +Subject: [PATCH 0613/1284] xhci: refactor out TRBS_PER_SEGMENT define in runtime code In anticipation of adjusting the number of utilised TRBs in a ring @@ -239006,7 +238943,7 @@ index 228d7a200a02..61e189b725ef 100644 seg = seg->next; } diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index fe8037ebad0e..0730fe8fe25b 100644 +index 23af8533df51..dac9794ca9a8 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -90,15 +90,16 @@ static bool trb_is_link(union xhci_trb *trb) @@ -239058,7 +238995,7 @@ index fe8037ebad0e..0730fe8fe25b 100644 xhci_err(xhci, "Tried to move enqueue past ring segment\n"); return; } -@@ -3153,7 +3156,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd) +@@ -3159,7 +3162,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd) * that clears the EHB. */ while (xhci_handle_event(xhci) > 0) { @@ -239067,7 +239004,7 @@ index fe8037ebad0e..0730fe8fe25b 100644 continue; xhci_update_erst_dequeue(xhci, event_ring_deq); event_ring_deq = xhci->event_ring->dequeue; -@@ -3295,7 +3298,8 @@ static int prepare_ring(struct xhci_hcd *xhci, struct xhci_ring *ep_ring, +@@ -3301,7 +3304,8 @@ static int prepare_ring(struct xhci_hcd *xhci, struct xhci_ring *ep_ring, } } @@ -239102,7 +239039,7 @@ index 11efb959c8de..2b7da7e4e230 100644 * Ring is now zeroed, so the HW should look for change of ownership * when the cycle bit is set to 1. diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h -index 04fe5229c21a..4a60713ab9ed 100644 +index 588b9c84efd1..e8000c6eb99f 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -1635,6 +1635,7 @@ struct xhci_ring { @@ -239114,13 +239051,13 @@ index 04fe5229c21a..4a60713ab9ed 100644 bool last_td_was_short; struct radix_tree_root *trb_address_map; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Mon, 13 Dec 2021 16:04:03 +0000 -Subject: [PATCH 0615/1219] usb: xhci: add VLI_TRB_CACHE_BUG quirk +Subject: [PATCH 0614/1284] usb: xhci: add VLI_TRB_CACHE_BUG quirk The VL805 fetches up to 4 transfer TRBs at a time. TRB reads don't cross a 64B boundary, and if a TRB is fetched and is not on a 64B boundary, @@ -239173,10 +239110,10 @@ index 61e189b725ef..bcc04cbcdfc2 100644 &ring->last_seg, num_segs, ring->trbs_per_seg, cycle_state, type, max_packet, flags); diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c -index 5b926ddb6843..c5bb441cf0f8 100644 +index 48b8120f0ab5..5f8ba1528379 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -292,6 +292,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) +@@ -294,6 +294,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) xhci->quirks |= XHCI_LPM_SUPPORT; xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS; xhci->quirks |= XHCI_AVOID_DQ_ON_LINK; @@ -239185,7 +239122,7 @@ index 5b926ddb6843..c5bb441cf0f8 100644 if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h -index 4a60713ab9ed..f1614c8e5bd7 100644 +index e8000c6eb99f..fd29df0b4917 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -1907,6 +1907,7 @@ struct xhci_hcd { @@ -239197,13 +239134,13 @@ index 4a60713ab9ed..f1614c8e5bd7 100644 unsigned int num_active_eps; unsigned int limit_active_eps; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Dec 2021 21:53:18 +0000 -Subject: [PATCH 0616/1219] drm/vc4: Fix build without DRM_VC4_HDMI_CEC +Subject: [PATCH 0615/1284] drm/vc4: Fix build without DRM_VC4_HDMI_CEC As reported by @asavah. @@ -239228,13 +239165,13 @@ index 03e07a631d23..7e0c1f0934b6 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sat, 20 Nov 2021 10:48:36 +0000 -Subject: [PATCH 0617/1219] dt: Create static regulators and clocks for camera +Subject: [PATCH 0616/1284] dt: Create static regulators and clocks for camera nodes Unloading regulators through dynamic device tree doesn't work @@ -239648,13 +239585,13 @@ index 55237d03ed94..000000000000 - }; -}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sat, 20 Nov 2021 14:43:29 +0000 -Subject: [PATCH 0618/1219] dtoverlays: Convert the camera sensor overlays to +Subject: [PATCH 0617/1284] dtoverlays: Convert the camera sensor overlays to use the new regs and clks. Now that we have regulators and clocks defined in the base DT for @@ -240140,13 +240077,13 @@ index b2b9a47c6d27..35d9f79980fe 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 22 Nov 2021 12:31:35 +0000 -Subject: [PATCH 0619/1219] media: i2c: ov5647: Add support for regulator +Subject: [PATCH 0618/1284] media: i2c: ov5647: Add support for regulator control. The driver supported using GPIOs to control the shutdown line, @@ -240257,13 +240194,13 @@ index 9275952afccc..491246786f7c 100644 sensor->mode = OV5647_DEFAULT_MODE; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 22 Nov 2021 12:30:18 +0000 -Subject: [PATCH 0620/1219] dtoverlays: Convert ov5647 to use the regulator +Subject: [PATCH 0619/1284] dtoverlays: Convert ov5647 to use the regulator framework Fixing up shutdown GPIOs via overrides is ugly, and doesn't work @@ -240311,13 +240248,13 @@ index a7b4085d4e57..018d424a0f71 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Dec 2021 17:18:49 +0000 -Subject: [PATCH 0621/1219] media: i2c: ov7251: Make the enable GPIO optional. +Subject: [PATCH 0620/1284] media: i2c: ov7251: Make the enable GPIO optional. Not all implementations wire up the enable GPIO and may just tie it to a supply rail. @@ -240343,13 +240280,13 @@ index 083a62b267f2..2bcc3b70918f 100644 dev_err(dev, "cannot get enable gpio\n"); return PTR_ERR(ov7251->enable_gpio); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Dec 2021 14:54:15 +0000 -Subject: [PATCH 0622/1219] ARM: dts: bcm2711-cm4s Correct i2c0mux to use 0/1 +Subject: [PATCH 0621/1284] ARM: dts: bcm2711-cm4s Correct i2c0mux to use 0/1 and 28/29 & 2 regulators CM4S follows CM1/3, so based on the documentation cameras/displays @@ -240398,13 +240335,13 @@ index 226e71198f6a..f279edfeaf6f 100644 serial0 = &uart0; mmc0 = &emmc2; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 22 Nov 2021 12:44:29 +0000 -Subject: [PATCH 0623/1219] dtoverlays: Add option to select camera as on CAM0 +Subject: [PATCH 0622/1284] dtoverlays: Add option to select camera as on CAM0 of CM Parameterise the overlays so that they can have an optional @@ -241374,13 +241311,13 @@ index d679d9ba84b6..c85782688e39 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Wed, 15 Dec 2021 19:27:00 +0100 -Subject: [PATCH 0624/1219] ASoC:ma120x0p: Increase maximum sample rate to +Subject: [PATCH 0623/1284] ASoC:ma120x0p: Increase maximum sample rate to 192KHz Change the maximum sample rate for the amplifier to @@ -241405,13 +241342,13 @@ index e1591b6aff43..c447d37450b7 100644 }, .ops = &ma120x0p_dai_ops, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 16 Dec 2021 16:25:00 +0000 -Subject: [PATCH 0625/1219] staging/bcm2835-isp: Fix cleanup after init fail +Subject: [PATCH 0624/1284] staging/bcm2835-isp: Fix cleanup after init fail bcm2835_isp_remove is called on an initialisation failure, but at that point the drvdata hasn't been set. This causes a crash when e.g. using @@ -241449,13 +241386,13 @@ index 3b0bab17e03d..9aea0b998bd6 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 18 Nov 2021 14:04:00 +0100 -Subject: [PATCH 0626/1219] drm/vc4: kms: Take old state core clock rate into +Subject: [PATCH 0625/1284] drm/vc4: kms: Take old state core clock rate into account During a commit, the core clock, which feeds the HVS, needs to run at @@ -241493,13 +241430,13 @@ index 92fce4f48da2..a4b736204b18 100644 core_req = clk_request_start(hvs->core_clk, core_rate); /* -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 29 Nov 2021 12:18:39 +0100 -Subject: [PATCH 0627/1219] drm/vc4: hvs: Store channel in variable +Subject: [PATCH 0626/1284] drm/vc4: hvs: Store channel in variable The assigned_channel field of our vc4_crtc_state structure is accessed multiple times in vc4_hvs_atomic_flush, so let's move it to a variable @@ -241552,13 +241489,13 @@ index 082e8a8b2531..c1e5c2131f37 100644 if (debug_dump_regs) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 6 Dec 2021 16:17:56 +0100 -Subject: [PATCH 0628/1219] drm/vc4: hvs: Remove dlist setup duplication +Subject: [PATCH 0627/1284] drm/vc4: hvs: Remove dlist setup duplication Setting the DISPLISTx register needs to occur in every case, and we don't need to protect the register using the event_lock, so we can just @@ -241593,13 +241530,13 @@ index c1e5c2131f37..89f2c3d43be1 100644 vc4_crtc->current_dlist = vc4_state->mm.start; spin_unlock_irqrestore(&vc4_crtc->irq_lock, flags); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 6 Dec 2021 16:31:33 +0100 -Subject: [PATCH 0629/1219] drm/vc4: hvs: Move the dlist setup to its own +Subject: [PATCH 0628/1284] drm/vc4: hvs: Move the dlist setup to its own function The vc4_hvs_update_dlist function mostly deals with setting up the @@ -241670,13 +241607,13 @@ index 89f2c3d43be1..e9fbe02f4581 100644 if (crtc->state->color_mgmt_changed) { u32 dispbkgndx = HVS_READ(SCALER_DISPBKGNDX(channel)); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 6 Dec 2021 16:32:10 +0100 -Subject: [PATCH 0630/1219] drm/vc4: hvs: Ignore atomic_flush if we're disabled +Subject: [PATCH 0629/1284] drm/vc4: hvs: Ignore atomic_flush if we're disabled atomic_flush will be called for each CRTC even if they aren't enabled. @@ -241703,13 +241640,13 @@ index e9fbe02f4581..78a9346bdfd2 100644 DRM_INFO("CRTC %d HVS before:\n", drm_crtc_index(crtc)); vc4_hvs_dump_state(dev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Fri, 10 Dec 2021 18:03:18 +0000 -Subject: [PATCH 0631/1219] drm/vc4: Skip writes to disabled packet RAM +Subject: [PATCH 0630/1284] drm/vc4: Skip writes to disabled packet RAM This path actually occurs when audio is started during a hdmi mode set. As the data will be written by vc4_hdmi_set_infoframes when packet RAM @@ -241769,13 +241706,13 @@ index be3f93a86e62..ea5c3e2a2a27 100644 * @scdc_enabled: Is the HDMI controller currently running with * the scrambler on? Protected by @mutex. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 14 Apr 2021 16:21:08 +0200 -Subject: [PATCH 0632/1219] drm/edid: Rename drm_hdmi_avi_infoframe_colorspace +Subject: [PATCH 0631/1284] drm/edid: Rename drm_hdmi_avi_infoframe_colorspace to _colorimetry The drm_hdmi_avi_infoframe_colorspace() function actually sets the @@ -241883,13 +241820,13 @@ index c24559f5329d..1be502b8fc44 100644 void drm_hdmi_avi_infoframe_bars(struct hdmi_avi_infoframe *frame, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 12 Jan 2021 15:55:07 +0100 -Subject: [PATCH 0633/1219] drm/vc4: hdmi: Add full range RGB helper +Subject: [PATCH 0632/1284] drm/vc4: hdmi: Add full range RGB helper We're going to need to tell whether we want to run with a full or limited range RGB output in multiple places in the code, so let's create @@ -241932,13 +241869,13 @@ index efc96f1957e0..a65b92bd1a04 100644 vc4_hdmi->variant->csc_setup(vc4_hdmi, true); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 12 Jan 2021 15:57:50 +0100 -Subject: [PATCH 0634/1219] drm/vc4: hdmi: Use full range helper in csc +Subject: [PATCH 0633/1284] drm/vc4: hdmi: Use full range helper in csc functions The CSC callbacks takes a boolean as an argument to tell whether we're @@ -242067,13 +242004,13 @@ index ea5c3e2a2a27..7468754fc2a7 100644 /* Callback to configure the video timings in the HDMI block */ void (*set_timings)(struct vc4_hdmi *vc4_hdmi, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 13 Jan 2021 11:07:48 +0100 -Subject: [PATCH 0635/1219] drm/vc4: hdmi: Move XBAR setup to csc_setup +Subject: [PATCH 0634/1284] drm/vc4: hdmi: Move XBAR setup to csc_setup On the BCM2711, the HDMI_VEC_INTERFACE_XBAR register configuration depends on whether we're using an RGB or YUV output. Let's move that @@ -242107,13 +242044,13 @@ index c48032a88467..c67eaba72246 100644 (vsync_pos ? VC5_HDMI_HORZA_VPOS : 0) | (hsync_pos ? VC5_HDMI_HORZA_HPOS : 0) | -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 13 Jan 2021 11:20:08 +0100 -Subject: [PATCH 0636/1219] drm/vc4: hdmi: Replace CSC_CTL hardcoded value by +Subject: [PATCH 0635/1284] drm/vc4: hdmi: Replace CSC_CTL hardcoded value by defines On BCM2711, the HDMI_CSC_CTL register value has been hardcoded to an @@ -242157,13 +242094,13 @@ index 9ac2b7f122ee..f7c48aed655b 100644 /* HVS display list information. */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 13 Jan 2021 11:30:21 +0100 -Subject: [PATCH 0637/1219] drm/vc4: hdmi: Define colorspace matrices +Subject: [PATCH 0636/1284] drm/vc4: hdmi: Define colorspace matrices The current CSC setup code for the BCM2711 uses a sequence of register writes to configure the CSC depending on whether we output using a full @@ -242278,13 +242215,13 @@ index f802c8da9d46..306283b9d545 100644 HDMI_WRITE(HDMI_CSC_CTL, csc_ctl); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 18 Jan 2021 09:51:12 +0100 -Subject: [PATCH 0638/1219] drm/vc4: hdmi: Change CSC callback prototype +Subject: [PATCH 0637/1284] drm/vc4: hdmi: Change CSC callback prototype In order to support the YUV output, we'll need the atomic state to know what is the state of the associated property in the CSC setup callback. @@ -242349,13 +242286,13 @@ index 7468754fc2a7..e297dfdd9932 100644 /* Callback to configure the video timings in the HDMI block */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 2 Dec 2021 16:58:17 +0100 -Subject: [PATCH 0639/1219] drm/vc4: hdmi: Move clock validation to its own +Subject: [PATCH 0638/1284] drm/vc4: hdmi: Move clock validation to its own function Our code is doing the same clock rate validation in multiple instances. @@ -242418,13 +242355,13 @@ index 75041eaf712f..0ec703fbe197 100644 static const struct drm_encoder_helper_funcs vc4_hdmi_encoder_helper_funcs = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 2 Dec 2021 17:04:18 +0100 -Subject: [PATCH 0640/1219] drm/vc4: hdmi: Move clock calculation into its own +Subject: [PATCH 0639/1284] drm/vc4: hdmi: Move clock calculation into its own function The code to compute our clock rate for a given setup will be called in @@ -242511,13 +242448,13 @@ index 0ec703fbe197..a829590a3ada 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 13 Dec 2021 15:33:11 +0100 -Subject: [PATCH 0641/1219] drm/vc4: hdmi: Take the sink maximum TMDS clock +Subject: [PATCH 0640/1284] drm/vc4: hdmi: Take the sink maximum TMDS clock into account In the function that validates that the clock isn't too high, we've only @@ -242557,13 +242494,13 @@ index a829590a3ada..8c202a6f91be 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 10 Dec 2021 15:00:04 +0100 -Subject: [PATCH 0642/1219] drm/vc4: hdmi: Take bpp into account for the +Subject: [PATCH 0641/1284] drm/vc4: hdmi: Take bpp into account for the scrambler The current code only base its decision for whether the scrambler must be @@ -242646,13 +242583,13 @@ index e297dfdd9932..6041571ab41f 100644 struct debugfs_regset32 cec_regset; struct debugfs_regset32 csc_regset; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 10 Dec 2021 15:29:56 +0100 -Subject: [PATCH 0643/1219] drm/vc4: hdmi: Always try to have the highest bpc +Subject: [PATCH 0642/1284] drm/vc4: hdmi: Always try to have the highest bpc Currently we take the max_bpc property as the bpc value and do not try anything else. @@ -242785,13 +242722,13 @@ index 6041571ab41f..36d2a60cc565 100644 static inline struct vc4_hdmi_connector_state * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 4 Dec 2020 17:12:06 +0100 -Subject: [PATCH 0644/1219] drm/vc4: hdmi: Support HDMI YUV output +Subject: [PATCH 0643/1284] drm/vc4: hdmi: Support HDMI YUV output In addition to the RGB444 output, the BCM2711 HDMI controller supports the YUV444 and YUV422 output formats. @@ -243376,13 +243313,13 @@ index f7c48aed655b..88e9a398758e 100644 #define HVS_BOOTLOADER_DLIST_END 32 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Mon, 16 Aug 2021 13:39:08 +0200 -Subject: [PATCH 0645/1219] media: v4l2-ctrls: Add V4L2_CID_NOTIFY_GAINS +Subject: [PATCH 0644/1284] media: v4l2-ctrls: Add V4L2_CID_NOTIFY_GAINS control commit a9c80593ff80ddb7c6496624e5384e1ea3460a72 upstream. @@ -243436,13 +243373,13 @@ index cda42967cdb3..781f06077c94 100644 /* Image processing controls */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Mon, 16 Aug 2021 13:39:09 +0200 -Subject: [PATCH 0646/1219] media: v4l2-ctrls: Document V4L2_CID_NOTIFY_GAINS +Subject: [PATCH 0645/1284] media: v4l2-ctrls: Document V4L2_CID_NOTIFY_GAINS control commit 311a839a1ad255ebcb7291fb4e0d2ec2f32312a7 upstream. @@ -243490,13 +243427,13 @@ index de43f5c8486d..71f23f131f97 100644 + is reported as being (say) 128, then a value of 192 would represent + a gain of exactly 1.5. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Penk Chen Date: Mon, 20 Dec 2021 03:44:56 +0900 -Subject: [PATCH 0647/1219] Extending ili9881c driver support for nwe080 panel +Subject: [PATCH 0646/1284] Extending ili9881c driver support for nwe080 panel Signed-off-by: Penk Chen --- @@ -243814,13 +243751,13 @@ index 534dd7414d42..6e03d9b0be60 100644 MODULE_DEVICE_TABLE(of, ili9881c_of_match); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Penk Chen Date: Mon, 20 Dec 2021 03:45:46 +0900 -Subject: [PATCH 0648/1219] Enable ili9881 panel and pwm backlight driver by +Subject: [PATCH 0647/1284] Enable ili9881 panel and pwm backlight driver by default Signed-off-by: Penk Chen @@ -243870,13 +243807,13 @@ index 0fffa3b4f72b..62c8654fb68b 100644 CONFIG_BACKLIGHT_GPIO=m CONFIG_FRAMEBUFFER_CONSOLE=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Penk Chen Date: Mon, 20 Dec 2021 03:46:26 +0900 -Subject: [PATCH 0649/1219] Add panel overlay for CutiePi +Subject: [PATCH 0648/1284] Add panel overlay for CutiePi Signed-off-by: Penk Chen --- @@ -244055,13 +243992,13 @@ index bc6e3bce22c7..9fd31bcd5569 100644 bcm2711; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Tue, 28 Dec 2021 15:43:10 +0100 -Subject: [PATCH 0650/1219] dtoverlays: Enable cam1_clock when using tc358743 +Subject: [PATCH 0649/1284] dtoverlays: Enable cam1_clock when using tc358743 or irs1125 This fixes a regression introduced in 131f1322039284932ccb601a5cffdd9ca5d36d96 @@ -244105,13 +244042,13 @@ index c85782688e39..c3eebfd1f6ee 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 4 Jan 2022 13:56:42 +0000 -Subject: [PATCH 0651/1219] uapi/v4l2-controls: Reset +Subject: [PATCH 0650/1284] uapi/v4l2-controls: Reset V4L2_CID_USER_BCM2835_ISP_BASE to same as 5.10 https://github.com/raspberrypi/linux/issues/4440 @@ -244144,13 +244081,13 @@ index 781f06077c94..df3a8448375f 100644 /* MPEG-class control IDs */ /* The MPEG controls are applicable to all codec controls -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 30 Dec 2021 14:28:37 +0100 -Subject: [PATCH 0652/1219] drm/vc4: hdmi: Fix HDMI monitor detection in polled +Subject: [PATCH 0651/1284] drm/vc4: hdmi: Fix HDMI monitor detection in polled mode When vc4_hdmi_connector_detect() was called in @@ -244196,13 +244133,13 @@ index 9dd0dc3a5167..d83e00767c1e 100644 pm_runtime_put(&vc4_hdmi->pdev->dev); mutex_unlock(&vc4_hdmi->mutex); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 30 Dec 2021 15:12:19 +0100 -Subject: [PATCH 0653/1219] drm/vc4: hdmi: Fix no video output on DVI monitors +Subject: [PATCH 0652/1284] drm/vc4: hdmi: Fix no video output on DVI monitors The drm edid parser doesn't signal RGB support on DVI monitors with old edid versions, leading to 8-bit RGB mode being rejected @@ -244231,13 +244168,13 @@ index d83e00767c1e..9b9c79a99ed4 100644 drm_dbg(dev, "10 BPC but sink doesn't support Deep Color 30.\n"); return false; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Andriy Gelman Date: Sun, 2 Jan 2022 12:22:52 -0500 -Subject: [PATCH 0654/1219] staging/bcm2835-codec: Fix typo +Subject: [PATCH 0653/1284] staging/bcm2835-codec: Fix typo Signed-off-by: Andriy Gelman --- @@ -244258,13 +244195,13 @@ index fdbaa96c25a0..472d97d1d228 100644 if (ctx->dev->role == DECODE && -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 4 Jan 2022 14:46:01 +0000 -Subject: [PATCH 0655/1219] media: i2c: ov9281: Increase diff between VTS and +Subject: [PATCH 0654/1284] media: i2c: ov9281: Increase diff between VTS and max exposure The driver did allow the exposure to go up to VTS - 4 lines, @@ -244324,13 +244261,13 @@ index f0d5551b23c1..7d939128899b 100644 V4L2_CID_EXPOSURE, OV9281_EXPOSURE_MIN, exposure_max, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Wed, 5 Jan 2022 20:38:39 +0100 -Subject: [PATCH 0656/1219] Use GitHubs issue form for bug reports +Subject: [PATCH 0655/1284] Use GitHubs issue form for bug reports Use GitHubs issue form for bug reports. @@ -244500,13 +244437,13 @@ index 000000000000..338282d8eb46 + about: "If you have problems with the Raspbian distribution packages, please report them in the github.com/RPi-Distro/repo." + -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Padmanabha Srinivasaiah Date: Thu, 30 Dec 2021 21:45:10 +0100 -Subject: [PATCH 0657/1219] bcm2835-v4l2-isp: Add missing lock initialization +Subject: [PATCH 0656/1284] bcm2835-v4l2-isp: Add missing lock initialization ISP device allocation is dynamic hence the locks too. struct mutex queue_lock is not initialized which result in bug. @@ -244557,13 +244494,13 @@ index 9aea0b998bd6..57e0ecc193f3 100644 node->dev = dev; vfd = &node->vfd; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jeff LaBundy Date: Tue, 29 Jan 2019 19:35:45 -0600 -Subject: [PATCH 0658/1219] configs: Enable Azoteq IQS550/572/525 +Subject: [PATCH 0657/1284] configs: Enable Azoteq IQS550/572/525 This patch enables the Azoteq IQS550/572/525 trackpad/touchscreen controller as a module. @@ -244638,13 +244575,13 @@ index c4dff0b42461..c7d9a50ec713 100644 CONFIG_INPUT_AD714X=m CONFIG_INPUT_ATI_REMOTE2=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jeff LaBundy Date: Mon, 28 Jan 2019 23:11:47 -0600 -Subject: [PATCH 0659/1219] overlays: Add overlay for Azoteq IQS550 +Subject: [PATCH 0658/1284] overlays: Add overlay for Azoteq IQS550 This patch adds a device tree overlay for the Azoteq IQS550 trackpad/touchscreen controller. @@ -244746,13 +244683,13 @@ index 000000000000..bb5a4d921962 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 7 Jan 2022 11:12:08 +0000 -Subject: [PATCH 0660/1219] dtoverlays: Add backlight-gpio parameter to +Subject: [PATCH 0659/1284] dtoverlays: Add backlight-gpio parameter to vc4-kms-dpi-generic To allow for the cases where a simple panel does have a GPIO @@ -244814,13 +244751,13 @@ index def175746f66..7846d56c1d1a 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: marcone <48169102+marcone@users.noreply.github.com> Date: Mon, 10 Jan 2022 11:37:39 -0800 -Subject: [PATCH 0661/1219] configs: add CONFIG_LEDS_TRIGGER_PATTERN=m +Subject: [PATCH 0660/1284] configs: add CONFIG_LEDS_TRIGGER_PATTERN=m Enable the pattern led trigger. @@ -244894,13 +244831,13 @@ index c7d9a50ec713..c741bcbb0c4a 100644 CONFIG_ACCESSIBILITY=y CONFIG_SPEAKUP=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sat, 8 Jan 2022 13:24:10 +0000 -Subject: [PATCH 0662/1219] drm/vc4: Add alpha_blend_mode property to each +Subject: [PATCH 0661/1284] drm/vc4: Add alpha_blend_mode property to each plane. Move from only supporting the default of pre-multiplied @@ -245009,13 +244946,13 @@ index a82a0b1190eb..b258e9e68411 100644 DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_180 | -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 11 Jan 2022 10:48:30 +0000 -Subject: [PATCH 0663/1219] arm: Fix custom rpi __memset32 and __memset64 +Subject: [PATCH 0662/1284] arm: Fix custom rpi __memset32 and __memset64 See: https://github.com/raspberrypi/linux/issues/4798 @@ -245072,13 +245009,13 @@ index bda4c5b99367..087d68ea5d18 100644 beq 174f 172: subs N, N, #1 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jan 2022 12:48:53 +0000 -Subject: [PATCH 0664/1219] overlays: Add vl805 overlay +Subject: [PATCH 0663/1284] overlays: Add vl805 overlay With the automatic VL805 support being removed from the standard CM4 dtb (since most CM4 carriers don't have a VL805), retain support @@ -245155,13 +245092,13 @@ index 000000000000..81adf34b29f2 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jan 2022 17:27:03 +0000 -Subject: [PATCH 0665/1219] arm: Fix annoying .eh_frame section warnings +Subject: [PATCH 0664/1284] arm: Fix annoying .eh_frame section warnings Replace the cfi directives with the UNWIND equivalents. This prevents the .eh_frame section from being created, eliminating the warnings. @@ -245288,13 +245225,13 @@ index 8b0760c0904c..5715dfd95859 100644 #include "memcpymove.h" -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 13 Jan 2022 11:30:42 +0000 -Subject: [PATCH 0666/1219] drm/vc4: Disable Gamma control on HVS5 due to +Subject: [PATCH 0665/1284] drm/vc4: Disable Gamma control on HVS5 due to issues writing the table Still under investigation, but the conditions under which the HVS @@ -245330,13 +245267,13 @@ index 4af8ce915b09..160cefd0585e 100644 if (!vc4->hvs->hvs5) { /* We support CTM, but only for one CRTC at a time. It's therefore -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 13 Jan 2022 15:47:23 +0000 -Subject: [PATCH 0667/1219] drm/vc4: hdmi: Fix clock value used for validating +Subject: [PATCH 0666/1284] drm/vc4: hdmi: Fix clock value used for validating hdmi modes We are using mode->crt_clock here which is filled by drm_mode_set_crtcinfo() @@ -245365,13 +245302,13 @@ index 9b9c79a99ed4..372ae7c7a7fe 100644 if (mode->flags & DRM_MODE_FLAG_DBLCLK) clock = clock * 2; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jan 2022 14:39:46 +0000 -Subject: [PATCH 0668/1219] ARM: dts: Remove VL805 USB node from CM4 dts +Subject: [PATCH 0667/1284] ARM: dts: Remove VL805 USB node from CM4 dts Neither the CM4 module nor the CM4IO board have a VL805 USB3 controller. The existing "usb@0,0" node is a hangover from the @@ -245403,13 +245340,13 @@ index 062e888a3ecd..6e99da17e3c5 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 19 Jan 2022 17:22:57 +0000 -Subject: [PATCH 0669/1219] mfd: simple-mfd-i2c: Add configuration for RPi POE +Subject: [PATCH 0668/1284] mfd: simple-mfd-i2c: Add configuration for RPi POE HAT The Raspbery Pi PoE+ HAT exposes a fan controller and power @@ -245425,7 +245362,7 @@ Signed-off-by: Dave Stevenson 2 files changed, 20 insertions(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index c79bb26f48d2..24e376bcb1ee 100644 +index 02a246a497f2..270f21711bc1 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1093,6 +1093,16 @@ config MFD_SPMI_PMIC @@ -245474,13 +245411,13 @@ index 51536691ad9d..16eb2a3d0d29 100644 }; MODULE_DEVICE_TABLE(of, simple_mfd_i2c_of_match); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 19 Jan 2022 17:26:22 +0000 -Subject: [PATCH 0670/1219] pwm: raspberrypi-poe: Add option of being created +Subject: [PATCH 0669/1284] pwm: raspberrypi-poe: Add option of being created by MFD or FW The firmware can only use I2C0 if the kernel isn't, therefore @@ -245651,13 +245588,13 @@ index c877de37734d..1d9ab15a01a5 100644 }; MODULE_DEVICE_TABLE(of, raspberrypi_pwm_of_match); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 20 Jan 2022 15:48:03 +0000 -Subject: [PATCH 0671/1219] power: rpi-poe: Drop CURRENT_AVG as it is not +Subject: [PATCH 0670/1284] power: rpi-poe: Drop CURRENT_AVG as it is not hardware averaged As documented the _AVG parameters are meant to be hardware @@ -245700,13 +245637,13 @@ index 0c96b2c1e8ab..7cf1014aa524 100644 POWER_SUPPLY_PROP_CURRENT_MAX, }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 20 Jan 2022 15:50:27 +0000 -Subject: [PATCH 0672/1219] power: rpi-poe: Add option of being created by MFD +Subject: [PATCH 0671/1284] power: rpi-poe: Add option of being created by MFD or FW The firmware can only use I2C0 if the kernel isn't, therefore @@ -245940,13 +245877,13 @@ index 7cf1014aa524..e96f98c39f0e 100644 psy_cfg.of_node = pdev->dev.of_node; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 19 Jan 2022 17:33:14 +0000 -Subject: [PATCH 0673/1219] defconfigs: Add MFD_RASPBERRYPI_POE_HAT to Pi +Subject: [PATCH 0672/1284] defconfigs: Add MFD_RASPBERRYPI_POE_HAT to Pi defconfigs. Required for PoE HAT when driven from Linux over I2C. @@ -246021,13 +245958,13 @@ index c741bcbb0c4a..19cba51847c7 100644 CONFIG_STMPE_SPI=y CONFIG_MFD_ARIZONA_I2C=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 19 Jan 2022 17:29:13 +0000 -Subject: [PATCH 0674/1219] dtoverlays: Add option for PoE HAT to use Linux I2C +Subject: [PATCH 0673/1284] dtoverlays: Add option for PoE HAT to use Linux I2C instead of FW. Adds parameter "i2c" to use the PoE HAT I2C MFD driver to instantiate @@ -246189,13 +246126,13 @@ index 011f92ad33f3..b78868945e72 100644 &fan { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 18 Jan 2022 13:13:14 +0000 -Subject: [PATCH 0675/1219] drivers: bcm2835_unicam: Disable trigger mode +Subject: [PATCH 0674/1284] drivers: bcm2835_unicam: Disable trigger mode operation On a Pi3 B/B+ platform the imx219 sensor frequently generates a single corrupt @@ -246252,13 +246189,13 @@ index 61b08f655058..1a7524282046 100644 static void unicam_disable(struct unicam_device *dev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 21 Jan 2022 08:49:13 +0000 -Subject: [PATCH 0676/1219] arm: Remove spurious .fnend directive +Subject: [PATCH 0675/1284] arm: Remove spurious .fnend directive ...a.k.a. Fix annoying build error @@ -246285,13 +246222,13 @@ index 883023aaa6c2..65a6e065a7f2 100644 .macro memcpy_medium_inner_loop backwards, align -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 21 Jan 2022 14:11:57 +0000 -Subject: [PATCH 0677/1219] defconfig: Add BACKLIGHT_PWM to bcm2709 and bcmrpi +Subject: [PATCH 0676/1284] defconfig: Add BACKLIGHT_PWM to bcm2709 and bcmrpi defconfigs BACKLIGHT_PWM can be used with DPI displays, so add it to the @@ -246341,13 +246278,13 @@ index 19cba51847c7..6f06ebb08a8d 100644 CONFIG_BACKLIGHT_GPIO=m CONFIG_FRAMEBUFFER_CONSOLE=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 21 Jan 2022 14:22:01 +0000 -Subject: [PATCH 0678/1219] dtoverlays: Add pwm backlight option to +Subject: [PATCH 0677/1284] dtoverlays: Add pwm backlight option to vc4-kms-dpi-generic Adds the option of a PWM controlled backlight on a generic @@ -246456,13 +246393,13 @@ index 7846d56c1d1a..b62c0945582f 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 21 Jan 2022 15:12:25 +0000 -Subject: [PATCH 0679/1219] dtoverlays: Correct [h|v]sync_invert config in +Subject: [PATCH 0678/1284] dtoverlays: Correct [h|v]sync_invert config in vc4-kms-dpi-generic Both the base node and override set these parameters to 0, @@ -246500,13 +246437,13 @@ index b62c0945582f..54bcd7d8505c 100644 de-active = <1>; pixelclk-active = <1>; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 21 Jan 2022 12:24:57 +0000 -Subject: [PATCH 0680/1219] ARM: dts: BCM2711 AON_INTR2 generates IRQ edges +Subject: [PATCH 0679/1284] ARM: dts: BCM2711 AON_INTR2 generates IRQ edges THe AON_INTR2 controller manages the HDMI interrupts, combining them into a single interrupt passed to the GIC. bcm2711.dtsi declares the @@ -246545,13 +246482,13 @@ index 2ac2125ce7d3..f8c327b3c660 100644 interrupt-names = "cec-tx", "cec-rx", "cec-low", "wakeup", "hpd-connected", "hpd-removed"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Andreas Watterott <1488433+awatterott@users.noreply.github.com> Date: Sat, 22 Jan 2022 12:32:09 +0100 -Subject: [PATCH 0681/1219] update rpi-display-overlay.dts pins for 5.10+ +Subject: [PATCH 0680/1284] update rpi-display-overlay.dts pins for 5.10+ backlight has been turned off --- @@ -246572,13 +246509,13 @@ index de87432ff2be..2cf937b56456 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 25 Jan 2022 15:48:53 +0000 -Subject: [PATCH 0682/1219] media: i2c: imx219: Correct the minimum vblanking +Subject: [PATCH 0681/1284] media: i2c: imx219: Correct the minimum vblanking value The datasheet for this sensor documents the minimum vblanking as being @@ -246604,13 +246541,13 @@ index ddc6db846f94..6ee046096ef4 100644 /*Frame Length Line*/ #define IMX219_FLL_MIN 0x08a6 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Apr 2020 16:12:02 +0100 -Subject: [PATCH 0683/1219] drm/vc4_hdmi: Add Broadcast RGB property to allow +Subject: [PATCH 0682/1284] drm/vc4_hdmi: Add Broadcast RGB property to allow override of RGB range Copy Intel's "Broadcast RGB" property semantics to add manual override @@ -246834,13 +246771,13 @@ index 49935370c08f..0d2de05839c4 100644 struct vc4_hdmi_connector_state *vc4_conn_state); void vc4_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: coldspark29 Date: Wed, 18 Aug 2021 14:42:22 +0200 -Subject: [PATCH 0684/1219] configs: Add CONFIG_MAX30102=m +Subject: [PATCH 0683/1284] configs: Add CONFIG_MAX30102=m See: https://github.com/raspberrypi/linux/pull/4535 @@ -246914,13 +246851,13 @@ index 6f06ebb08a8d..6210be66f700 100644 CONFIG_HTU21=m CONFIG_APDS9960=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: coldspark29 Date: Wed, 18 Aug 2021 13:41:04 +0200 -Subject: [PATCH 0685/1219] overlays: Add MAX30102 HR to i2c-sensor overlay +Subject: [PATCH 0684/1284] overlays: Add MAX30102 HR to i2c-sensor overlay Add support for the MAX30102 heart rate and blood oxygen sensor to the i2c-sensor overlay. @@ -247000,13 +246937,13 @@ index b05b0fa91942..33965be4b1e8 100755 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Mon, 31 Jan 2022 17:12:10 -0700 -Subject: [PATCH 0686/1219] misc: bcm2835_smi: Use proper enum types for +Subject: [PATCH 0685/1284] misc: bcm2835_smi: Use proper enum types for dma_{,un}map_single() Clang warns: @@ -247091,13 +247028,13 @@ index f1a7f6a3e966..831b7038c78d 100644 smi_read_fifo(inst, (uint32_t *)buf, n_bytes); } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Mon, 31 Jan 2022 17:15:35 -0700 -Subject: [PATCH 0687/1219] ASoC: ma120x0p: Remove unnecessary const specifier +Subject: [PATCH 0686/1284] ASoC: ma120x0p: Remove unnecessary const specifier Clang warns: @@ -247135,13 +247072,13 @@ index c447d37450b7..ac812e83178d 100644 pwr_mode_texts, pwr_mode_values); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Mon, 31 Jan 2022 17:20:55 -0700 -Subject: [PATCH 0688/1219] ASoC: bcm: allo-piano-dac-plus: Remove unnecessary +Subject: [PATCH 0687/1284] ASoC: bcm: allo-piano-dac-plus: Remove unnecessary const specifiers Clang warns: @@ -247216,13 +247153,13 @@ index fd0fe58421b0..3efc898c601d 100644 static int __snd_allo_piano_dsp_program(struct snd_soc_pcm_runtime *rtd, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Mon, 31 Jan 2022 17:23:38 -0700 -Subject: [PATCH 0689/1219] media: bcm2835-unicam: Set ret on error path in +Subject: [PATCH 0688/1284] media: bcm2835-unicam: Set ret on error path in unicam_async_complete() Clang warns: @@ -247265,13 +247202,13 @@ index 1a7524282046..4bba864b2366 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Mon, 31 Jan 2022 17:50:43 -0700 -Subject: [PATCH 0690/1219] media: i2c: ov9281: Initialize id_msb to zero in +Subject: [PATCH 0689/1284] media: i2c: ov9281: Initialize id_msb to zero in ov9281_check_sensor_id() Clang warns: @@ -247319,13 +247256,13 @@ index 7d939128899b..0a5f9e0927ae 100644 ret = ov9281_read_reg(client, OV9281_REG_CHIP_ID + 1, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Alex Crawford Date: Fri, 28 Jan 2022 13:36:51 -0800 -Subject: [PATCH 0691/1219] i2c: bcm2835: Make clock-stretch timeout +Subject: [PATCH 0690/1284] i2c: bcm2835: Make clock-stretch timeout configurable The default clock-stretch timeout is 35 mS, which works well for @@ -247370,13 +247307,13 @@ index d768247c7e50..7408e2c136b0 100644 bcm2835_i2c_writel(div->i2c_dev, BCM2835_I2C_CLKT, clk_tout); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: tiagofreire-pt <41837236+tiagofreire-pt@users.noreply.github.com> Date: Sat, 29 Jan 2022 10:01:36 +0000 -Subject: [PATCH 0692/1219] Patching lan78xx for SOF_TIMESTAMPING_TX_SOFTWARE +Subject: [PATCH 0691/1284] Patching lan78xx for SOF_TIMESTAMPING_TX_SOFTWARE support --- @@ -247396,13 +247333,13 @@ index ac68716136cf..2ccda40a7d0a 100644 static void lan78xx_init_mac_address(struct lan78xx_net *dev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 31 Jan 2022 16:28:43 +0000 -Subject: [PATCH 0693/1219] drm/vc4: Add DRM 210101010 RGB formats for hvs5. +Subject: [PATCH 0692/1284] drm/vc4: Add DRM 210101010 RGB formats for hvs5. HVS5 supports the 210101010 RGB[A|X] formats, but they were missing from the DRM to HVS mapping list, so weren't available. @@ -247453,13 +247390,13 @@ index b258e9e68411..aab4dfa282e5 100644 static const struct hvs_format *vc4_get_hvs_format(u32 drm_format) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 31 Jan 2022 21:01:25 +0000 -Subject: [PATCH 0694/1219] overlays: Add spi0-0cs overlay +Subject: [PATCH 0693/1284] overlays: Add spi0-0cs overlay An overlay to enable SPI0 without claiming any chip select GPIOs. @@ -247548,13 +247485,13 @@ index 000000000000..0d2acabf56a4 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 31 Jan 2022 17:25:19 +0000 -Subject: [PATCH 0695/1219] dtoverlays: Rework vc4-kms-dpi overlays to remove +Subject: [PATCH 0694/1284] dtoverlays: Rework vc4-kms-dpi overlays to remove duplication Removes all the common panel, dpi, and backlight configuration @@ -248116,13 +248053,13 @@ index b03394844abd..4c1aa1c70158 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:37:43 -0600 -Subject: [PATCH 0696/1219] media: uapi: Document format +Subject: [PATCH 0695/1284] media: uapi: Document format MEDIA_BUS_FMT_RGB565_1X24_CPADHI Add support for MEDIA_BUS_FMT_RGB565_1X24_CPADHI. This format is used @@ -248182,13 +248119,13 @@ index 6e143e47d967..6901f53d2196 100644 - MEDIA_BUS_FMT_BGR565_2X8_BE -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:38:40 -0600 -Subject: [PATCH 0697/1219] media: uapi: add MEDIA_BUS_FMT_RGB565_1X24_CPADHI +Subject: [PATCH 0696/1284] media: uapi: add MEDIA_BUS_FMT_RGB565_1X24_CPADHI Add the MEDIA_BUS_FMT_RGB565_1X24_CPADHI format used by the Geekworm MZP280 panel for the Raspberry Pi. @@ -248219,13 +248156,13 @@ index 6ad34f88c7dd..bd33edf8f5f7 100644 #define MEDIA_BUS_FMT_BGR565_2X8_LE 0x1006 #define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:39:54 -0600 -Subject: [PATCH 0698/1219] drm/vc4: dpi: Support DPI interface in mode3 for +Subject: [PATCH 0697/1284] drm/vc4: dpi: Support DPI interface in mode3 for RGB565 Add support for the VC4 DPI driver to utilize DPI mode 3. This is @@ -248256,13 +248193,13 @@ index 08147d0eab83..0d4fb6818d51 100644 } else { /* Default to 18bit if no connector found. */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:40:50 -0600 -Subject: [PATCH 0699/1219] dt-bindings: vendor-prefixes: Add Geekworm +Subject: [PATCH 0698/1284] dt-bindings: vendor-prefixes: Add Geekworm Add vendor prefix for Geekworm (https://geekworm.com). @@ -248285,13 +248222,13 @@ index 008fb3c902ed..3c65028f5335 100644 description: GE Fanuc Intelligent Platforms Embedded Systems, Inc. "^GEFanuc,.*": -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:41:18 -0600 -Subject: [PATCH 0700/1219] dt-bindings: display: simple: add Geekworm MZP280 +Subject: [PATCH 0699/1284] dt-bindings: display: simple: add Geekworm MZP280 Panel The Geekworm MZP280 panel is a 480x640 (portrait) panel with a @@ -248325,13 +248262,13 @@ index 6637cb1243c3..37a9e6d12118 100644 - giantplus,gpg48273qs5 # GiantPlus GPM940B0 3.0" QVGA TFT LCD panel -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:42:12 -0600 -Subject: [PATCH 0701/1219] drm/panel: simple: add Geekworm MZP280 Panel +Subject: [PATCH 0700/1284] drm/panel: simple: add Geekworm MZP280 Panel Add support for the Geekworm MZP280 Panel @@ -248389,13 +248326,13 @@ index 6b7b4d65d715..cdd121f12ba9 100644 .compatible = "giantplus,gpg482739qs5", .data = &giantplus_gpg482739qs5 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 2 Feb 2022 09:11:20 +0000 -Subject: [PATCH 0702/1219] overlays: README: Deprecate vc4-kms-kippah-7inch +Subject: [PATCH 0701/1284] overlays: README: Deprecate vc4-kms-kippah-7inch The vc4-kms-kippah-7inch overlay has been replaced by the container overlay vc4-kms-dpi-panel, using the "kippah-7inch" parameter. The @@ -248426,13 +248363,13 @@ index d92f41146c13..cfc8bfbcbef8 100644 Name: vc4-kms-v3d -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 1 Feb 2022 12:20:20 +0000 -Subject: [PATCH 0703/1219] drm/panel: Add and initialise an orientation field +Subject: [PATCH 0702/1284] drm/panel: Add and initialise an orientation field to drm_panel Current usage of drm_connector_set_panel_orientation is from a panel's @@ -248525,13 +248462,13 @@ index 4602f833eb51..830b4d058622 100644 * @list: * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 1 Feb 2022 12:24:51 +0000 -Subject: [PATCH 0704/1219] drm/panel: simple: Remove custom handling of +Subject: [PATCH 0703/1284] drm/panel: simple: Remove custom handling of orientation Panel orientation is now handled by the drm_panel and @@ -248579,13 +248516,13 @@ index cdd121f12ba9..d29fc05d407b 100644 if (ddc) { panel->ddc = of_find_i2c_adapter_by_node(ddc); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Wed, 2 Feb 2022 10:42:00 -0600 -Subject: [PATCH 0705/1219] overlays: Add rotate property to vc4-kms-dpi-panel +Subject: [PATCH 0704/1284] overlays: Add rotate property to vc4-kms-dpi-panel Allow a user to specify the panel rotation in devicetree as 0, 90, 180, or 270 by setting a parameter. @@ -248636,13 +248573,13 @@ index 02d7f7fb109c..f78fa48b19f9 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Wed, 2 Feb 2022 10:43:32 -0600 -Subject: [PATCH 0706/1219] overlays: Add Geekworm mzp280 to vc4-kms-dpi-panel +Subject: [PATCH 0705/1284] overlays: Add Geekworm mzp280 to vc4-kms-dpi-panel Add support for the Geekworm mzp280 DPI panel to the generic vc4-kms-dpi-panel overlay. @@ -248690,13 +248627,13 @@ index 63b616f0345c..ee9e2e8fd246 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 5 Jan 2022 19:14:48 +0000 -Subject: [PATCH 0707/1219] drm/panel: Add panel driver for Ilitek ILI9806E +Subject: [PATCH 0706/1284] drm/panel: Add panel driver for Ilitek ILI9806E panel The Ilitek ILI9806E driver is used in the Pimoroni HyperPixel4 @@ -249239,13 +249176,13 @@ index 000000000000..90300f0de477 +MODULE_DESCRIPTION("ili9806 LCD panel driver"); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 26 Jan 2022 16:02:31 +0000 -Subject: [PATCH 0708/1219] drm/panel: Add panel driver for TDO Y17B based +Subject: [PATCH 0707/1284] drm/panel: Add panel driver for TDO Y17B based panels The Top DisplayOptoelectronics (TDO) T17B driver chip is used @@ -249582,13 +249519,13 @@ index 000000000000..8edabb1d81ce +MODULE_DESCRIPTION("TDO Y17P LCD panel driver"); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 1 Feb 2022 15:27:01 +0000 -Subject: [PATCH 0709/1219] drm/panel/panel-sitronix-st7701: Support SPI config +Subject: [PATCH 0708/1284] drm/panel/panel-sitronix-st7701: Support SPI config and RGB data The ST7701 supports numerous different interface mechanisms for @@ -249601,7 +249538,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 359 insertions(+), 23 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7701.c b/drivers/gpu/drm/panel/panel-sitronix-st7701.c -index 320a2a8fd459..0744f6810706 100644 +index 098955526b68..2b1abc95fe13 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c @@ -7,15 +7,20 @@ @@ -250029,9 +249966,9 @@ index 320a2a8fd459..0744f6810706 100644 st7701->dsi = dsi; - st7701->desc = desc; - return mipi_dsi_attach(dsi); - } -@@ -397,21 +639,115 @@ static int st7701_dsi_remove(struct mipi_dsi_device *dsi) + ret = mipi_dsi_attach(dsi); + if (ret) +@@ -405,21 +647,115 @@ static int st7701_dsi_remove(struct mipi_dsi_device *dsi) return 0; } @@ -250152,13 +250089,13 @@ index 320a2a8fd459..0744f6810706 100644 MODULE_AUTHOR("Jagan Teki "); MODULE_DESCRIPTION("Sitronix ST7701 LCD Panel Driver"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 6 Jan 2022 13:15:46 +0000 -Subject: [PATCH 0710/1219] defconfig: Enable Pimoroni HyperPixel drivers in Pi +Subject: [PATCH 0709/1284] defconfig: Enable Pimoroni HyperPixel drivers in Pi defconfigs Drivers for Pimoroni HyperPixel4, HyperPixel 4 Square, and @@ -250256,13 +250193,13 @@ index 6210be66f700..98c473412018 100644 CONFIG_DRM_SIMPLE_BRIDGE=m CONFIG_DRM_TOSHIBA_TC358762=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Feb 2022 11:33:28 +0000 -Subject: [PATCH 0711/1219] bindings: Add sck-idle-input to spi-gpio +Subject: [PATCH 0710/1284] bindings: Add sck-idle-input to spi-gpio Signed-off-by: Phil Elwell --- @@ -250285,13 +250222,13 @@ index 0d0b6d9dad1c..9136f081f420 100644 gpio-sck: false gpio-miso: false -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jan 2022 08:23:28 +0000 -Subject: [PATCH 0712/1219] spi: gpio: Add sck-idle-input property +Subject: [PATCH 0711/1284] spi: gpio: Add sck-idle-input property The sck-idle-input property indicates that the spi-gpio driver should return the SCK line to an input when the chip select signals are @@ -250303,7 +250240,7 @@ Signed-off-by: Phil Elwell 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-gpio.c b/drivers/spi/spi-gpio.c -index 0584f4d2fde2..6890a14eed8e 100644 +index 3ffdab6caac2..92113f488f7c 100644 --- a/drivers/spi/spi-gpio.c +++ b/drivers/spi/spi-gpio.c @@ -35,6 +35,7 @@ struct spi_gpio { @@ -250339,7 +250276,7 @@ index 0584f4d2fde2..6890a14eed8e 100644 } static int spi_gpio_setup(struct spi_device *spi) -@@ -289,6 +297,7 @@ static int spi_gpio_request(struct device *dev, struct spi_gpio *spi_gpio) +@@ -299,6 +307,7 @@ static int spi_gpio_request(struct device *dev, struct spi_gpio *spi_gpio) if (IS_ERR(spi_gpio->miso)) return PTR_ERR(spi_gpio->miso); @@ -250348,13 +250285,13 @@ index 0584f4d2fde2..6890a14eed8e 100644 return PTR_ERR_OR_ZERO(spi_gpio->sck); } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 6 Jan 2022 13:04:34 +0000 -Subject: [PATCH 0713/1219] dtoverlays: Add overlays for Pimoroni Hyperpixel +Subject: [PATCH 0712/1284] dtoverlays: Add overlays for Pimoroni Hyperpixel displays Adds an overlays for the Pimoroni HyperPixel4, HyperPixel 4 @@ -250762,13 +250699,13 @@ index 000000000000..700046348ecf + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 3 Feb 2022 11:17:16 +0000 -Subject: [PATCH 0714/1219] dtoverlay: Reduce size of PCIE IB window in +Subject: [PATCH 0713/1284] dtoverlay: Reduce size of PCIE IB window in pcie-32-dma overlay The PCIE inbound window is rounded up to a power of 2, so the default @@ -250819,13 +250756,13 @@ index cca3e83721b7..955703563df7 100644 + }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 2 Feb 2022 17:47:54 +0000 -Subject: [PATCH 0715/1219] ARM: dts: Permanently disable hdmi1 and ddc1 on +Subject: [PATCH 0714/1284] ARM: dts: Permanently disable hdmi1 and ddc1 on CM4S CM4S has no HDMI1 output, so it is advisable to disable the controller @@ -250867,13 +250804,13 @@ index a30458a2014e..30068ca41d0e 100644 act_led: led-act { label = "led0"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 5 Feb 2022 18:41:07 +0000 -Subject: [PATCH 0716/1219] drm: panel: Fix compilation warnings +Subject: [PATCH 0715/1284] drm: panel: Fix compilation warnings See: https://github.com/raspberrypi/linux/pull/4812 @@ -250910,13 +250847,13 @@ index 8edabb1d81ce..074bf0dadfba 100644 spi_set_drvdata(spi, ctx); ctx->spi = spi; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 4 Feb 2022 16:12:35 +0000 -Subject: [PATCH 0717/1219] media: bcm2835-unicam: Handle a repeated frame +Subject: [PATCH 0716/1284] media: bcm2835-unicam: Handle a repeated frame start with no end In the case of 2 frame starts being received with no frame end @@ -250979,13 +250916,13 @@ index 4bba864b2366..1e0101bb3af9 100644 unicam_queue_event_sof(unicam); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Feb 2022 16:06:11 +0000 -Subject: [PATCH 0718/1219] overlays: rpi-poe(-plus): Fix parameters +Subject: [PATCH 0717/1284] overlays: rpi-poe(-plus): Fix parameters The support of PoE HATs is complicated because there are two methods to control them - via the firmware, and directly over I2C - the choice @@ -251107,13 +251044,13 @@ index b78868945e72..54deda2f18c3 100644 + <&fan>,"pwms:0=",<&poe_mfd_pwm>; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Wed, 9 Feb 2022 22:20:17 +0100 -Subject: [PATCH 0719/1219] dtoverlays: fix overrides in vc4-kms-dpi-generic +Subject: [PATCH 0718/1284] dtoverlays: fix overrides in vc4-kms-dpi-generic Apparently broken by commit 3c033975. Introduce new names to allow for proper addressing of overrides. @@ -251166,13 +251103,13 @@ index 1e5c5080592b..3e7e172c6c3d 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Wed, 9 Feb 2022 22:23:11 +0100 -Subject: [PATCH 0720/1219] dtoverlays: add rgb565-padhi output to +Subject: [PATCH 0719/1284] dtoverlays: add rgb565-padhi output to vc4-kms-dpi-generic This mode is used by some DPI based display adapters, such as the @@ -251211,13 +251148,13 @@ index 3e7e172c6c3d..bf2ac6fe1b0d 100644 <&dpi_node_generic>, "pinctrl-0:0=",<&dpi_18bit_cpadhi_gpio0>; rgb888 = <&panel_generic>, "bus-format:0=0x100a", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 8 Feb 2022 13:49:11 +0000 -Subject: [PATCH 0721/1219] media: i2c: imx219: Scale the pixel clock rate for +Subject: [PATCH 0720/1284] media: i2c: imx219: Scale the pixel clock rate for the 640x480 mode The 640x480 mode uses a special binning mode for high framerate operation where @@ -251346,13 +251283,13 @@ index 6ee046096ef4..4339ddcb5ebc 100644 imx219->link_freq = v4l2_ctrl_new_int_menu(ctrl_hdlr, &imx219_ctrl_ops, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 14 Feb 2022 15:34:51 +0000 -Subject: [PATCH 0722/1219] drm/vc4: For DPI, MEDIA_BUS_FMT_RGB565_1X16 is mode +Subject: [PATCH 0721/1284] drm/vc4: For DPI, MEDIA_BUS_FMT_RGB565_1X16 is mode 1, not 3. The mapping is incorrect for RGB565_1X16 as it should be @@ -251377,13 +251314,13 @@ index 0d4fb6818d51..1bf1a4c6033d 100644 break; case MEDIA_BUS_FMT_RGB565_1X24_CPADHI: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 14 Feb 2022 15:59:32 +0000 -Subject: [PATCH 0723/1219] dtoverlays: Add additional mappings to +Subject: [PATCH 0722/1284] dtoverlays: Add additional mappings to vc4-kms-dpi-generic Adds mappings for bgr666, bgr666-padhi, and bgr888. @@ -251430,13 +251367,13 @@ index bf2ac6fe1b0d..85875c266296 100644 <&dpi_node_generic>, "pinctrl-0:0=",<&dpi_gpio0>; bus-format = <&panel_generic>, "bus-format:0"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 17 Dec 2021 13:36:52 +0000 -Subject: [PATCH 0724/1219] drm/dsi: Document the meaning and spec references +Subject: [PATCH 0723/1284] drm/dsi: Document the meaning and spec references for MIPI_DSI_MODE_* The MIPI_DSI_MODE_* flags have fairly terse descriptions and no reference @@ -251512,13 +251449,13 @@ index af7ba8071eb0..eea8d86e0668 100644 enum mipi_dsi_pixel_format { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 20 Jan 2022 17:29:36 +0000 -Subject: [PATCH 0725/1219] drm/bridge: tc358762: Ignore EPROBE_DEFER when +Subject: [PATCH 0724/1284] drm/bridge: tc358762: Ignore EPROBE_DEFER when logging errors mipi_dsi_attach can fail due to resources not being available @@ -251543,13 +251480,13 @@ index 1bfdfc6affaf..7cda18a12e98 100644 return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 30 Sep 2021 17:51:16 +0100 -Subject: [PATCH 0726/1219] drm/vc4: Rename bridge to out_bridge +Subject: [PATCH 0725/1284] drm/vc4: Rename bridge to out_bridge In preparation for converting the encoder to being a bridge, rename the variable holding the next bridge in the chain to @@ -251605,13 +251542,13 @@ index b7b2c76770dc..50f43b16e716 100644 return ret; /* Disable the atomic helper calls into the bridge. We -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 7 Feb 2022 17:14:51 +0000 -Subject: [PATCH 0727/1219] drm/vc4: Move DSI initialisation to +Subject: [PATCH 0726/1284] drm/vc4: Move DSI initialisation to encoder_mode_set. Breaking the bridge chain does not work for atomic bridges/panels @@ -251677,13 +251614,13 @@ index 50f43b16e716..37c48ea4dc54 100644 static const struct vc4_dsi_variant bcm2711_dsi1_variant = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Dec 2021 17:44:49 +0000 -Subject: [PATCH 0728/1219] drm/vc4: Remove splitting the bridge chain from the +Subject: [PATCH 0727/1284] drm/vc4: Remove splitting the bridge chain from the driver. Splitting the bridge chain fails for atomic bridges as the @@ -251788,13 +251725,13 @@ index 37c48ea4dc54..19f710051365 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Dec 2021 17:47:14 +0000 -Subject: [PATCH 0729/1219] drm/vc4: Convert vc4_dsi to use atomic +Subject: [PATCH 0728/1284] drm/vc4: Convert vc4_dsi to use atomic enable/disable/mode_set. The atomic calls are preferred as the non-atomic ones @@ -251879,13 +251816,13 @@ index 19f710051365..70bee90383cc 100644 static const struct vc4_dsi_variant bcm2711_dsi1_variant = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Dec 2021 17:57:45 +0000 -Subject: [PATCH 0730/1219] drm/vc4: Convert vc4_dsi to using a bridge instead +Subject: [PATCH 0729/1284] drm/vc4: Convert vc4_dsi to using a bridge instead of encoder. Remove the encoder functions, and create a bridge attached to @@ -252160,13 +252097,13 @@ index 70bee90383cc..76fe8cfd8850 100644 dsi->dsi_host.ops = &vc4_dsi_host_ops; dsi->dsi_host.dev = dev; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 11 Feb 2022 14:15:26 +0000 -Subject: [PATCH 0731/1219] drm/vc4: Remove entry to ULPS from vc4_dsi +Subject: [PATCH 0730/1284] drm/vc4: Remove entry to ULPS from vc4_dsi post_disable Post_disable was sending the D-PHY sequence to put any device @@ -252198,13 +252135,13 @@ index 76fe8cfd8850..820e8ecab52d 100644 clk_disable_unprepare(dsi->escape_clock); clk_disable_unprepare(dsi->pixel_clock); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 16 Feb 2022 14:31:02 +0000 -Subject: [PATCH 0732/1219] usb: xhci: add a quirk for Superspeed bulk OUT +Subject: [PATCH 0731/1284] usb: xhci: add a quirk for Superspeed bulk OUT transfers on VL805 The VL805 has a bug in its internal FIFO space accounting that results @@ -252228,10 +252165,10 @@ Signed-off-by: Jonathan Bell 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c -index c5bb441cf0f8..a87a7bb53998 100644 +index 5f8ba1528379..8ee70a8aabe2 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -293,6 +293,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) +@@ -295,6 +295,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS; xhci->quirks |= XHCI_AVOID_DQ_ON_LINK; xhci->quirks |= XHCI_VLI_TRB_CACHE_BUG; @@ -252240,10 +252177,10 @@ index c5bb441cf0f8..a87a7bb53998 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 0730fe8fe25b..5d6cc93594ee 100644 +index dac9794ca9a8..de704adb88dd 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -3608,14 +3608,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, +@@ -3614,14 +3614,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, unsigned int num_trbs; unsigned int start_cycle, num_sgs = 0; unsigned int enqd_len, block_len, trb_buff_len, full_len; @@ -252261,7 +252198,7 @@ index 0730fe8fe25b..5d6cc93594ee 100644 full_len = urb->transfer_buffer_length; /* If we have scatter/gather list, we use it. */ if (urb->num_sgs && !(urb->transfer_flags & URB_DMA_MAP_SINGLE)) { -@@ -3652,6 +3653,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, +@@ -3658,6 +3659,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, start_cycle = ring->cycle_state; send_addr = addr; @@ -252279,7 +252216,7 @@ index 0730fe8fe25b..5d6cc93594ee 100644 /* Queue the TRBs, even if they are zero-length */ for (enqd_len = 0; first_trb || enqd_len < full_len; enqd_len += trb_buff_len) { -@@ -3664,6 +3676,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, +@@ -3670,6 +3682,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, if (enqd_len + trb_buff_len > full_len) trb_buff_len = full_len - enqd_len; @@ -252292,7 +252229,7 @@ index 0730fe8fe25b..5d6cc93594ee 100644 if (first_trb) { first_trb = false; diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h -index f1614c8e5bd7..cb3c4fdf892a 100644 +index fd29df0b4917..923583d03195 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -1908,6 +1908,7 @@ struct xhci_hcd { @@ -252304,13 +252241,13 @@ index f1614c8e5bd7..cb3c4fdf892a 100644 unsigned int num_active_eps; unsigned int limit_active_eps; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 15:16:56 +0000 -Subject: [PATCH 0733/1219] dtoverlays: Correct link frequency for ov7251 +Subject: [PATCH 0732/1284] dtoverlays: Correct link frequency for ov7251 It was incorrect, so the driver rejected it. @@ -252333,13 +252270,13 @@ index 0e44be8a4468..fcb889f591f7 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Tue, 15 Feb 2022 23:07:30 +0000 -Subject: [PATCH 0734/1219] media: i2c: Add acpi support to ov7251 +Subject: [PATCH 0733/1284] media: i2c: Add acpi support to ov7251 Add support for enumeration through ACPI to the ov7251 driver @@ -252378,13 +252315,13 @@ index 2bcc3b70918f..aaaeca14dcc1 100644 }, .probe_new = ov7251_probe, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Tue, 15 Feb 2022 23:07:31 +0000 -Subject: [PATCH 0735/1219] media: i2c: Provide ov7251_check_hwcfg() +Subject: [PATCH 0734/1284] media: i2c: Provide ov7251_check_hwcfg() Move the endpoint checking from .probe() to a dedicated function, and additionally check that the firmware provided link frequencies @@ -252505,13 +252442,13 @@ index aaaeca14dcc1..e4faf28c6b58 100644 /* get system clock (xclk) */ ov7251->xclk = devm_clk_get(dev, "xclk"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Tue, 15 Feb 2022 23:07:32 +0000 -Subject: [PATCH 0736/1219] media: i2c: Add ov7251_pll_configure() +Subject: [PATCH 0735/1284] media: i2c: Add ov7251_pll_configure() Rather than having the pll settings hidden inside mode blobs, define them in structs and use a dedicated function to set them. This makes @@ -252777,13 +252714,13 @@ index e4faf28c6b58..a7576f662250 100644 ov7251->io_regulator = devm_regulator_get(dev, "vdddo"); if (IS_ERR(ov7251->io_regulator)) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Tue, 15 Feb 2022 23:07:33 +0000 -Subject: [PATCH 0737/1219] media: i2c: Add support for 19.2MHz clock to ov7251 +Subject: [PATCH 0736/1284] media: i2c: Add support for 19.2MHz clock to ov7251 The OV7251 sensor is used as the IR camera sensor on the Microsoft Surface line of tablets; this provides a 19.2MHz external clock. Add @@ -252927,13 +252864,13 @@ index a7576f662250..084d68b852f7 100644 ov7251->io_regulator = devm_regulator_get(dev, "vdddo"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Tue, 15 Feb 2022 23:07:34 +0000 -Subject: [PATCH 0738/1219] media: i2c: Add ov7251_detect_chip() +Subject: [PATCH 0737/1284] media: i2c: Add ov7251_detect_chip() .probe() is quite busy for this driver; make it cleaner by moving the chip verification to a dedicated function. @@ -253031,13 +252968,13 @@ index 084d68b852f7..492b7082254e 100644 ret = ov7251_read_reg(ov7251, OV7251_PRE_ISP_00, &ov7251->pre_isp_00); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Tue, 15 Feb 2022 23:07:35 +0000 -Subject: [PATCH 0739/1219] media: i2c: Add pm_runtime support to ov7251 +Subject: [PATCH 0738/1284] media: i2c: Add pm_runtime support to ov7251 Add pm_runtime support to the ov7251 driver. @@ -253245,13 +253182,13 @@ index 492b7082254e..4d047226e370 100644 .probe_new = ov7251_probe, .remove = ov7251_remove, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Tue, 15 Feb 2022 23:07:36 +0000 -Subject: [PATCH 0740/1219] media: i2c: Remove .s_power() from ov7251 +Subject: [PATCH 0739/1284] media: i2c: Remove .s_power() from ov7251 The .s_power() callback is deprecated, and now that we have pm_runtime functionality in the driver there's no further use for it. Delete the @@ -253340,13 +253277,13 @@ index 4d047226e370..18f4c28c573e 100644 media_entity_cleanup(&ov7251->sd.entity); free_ctrl: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 14:48:30 +0000 -Subject: [PATCH 0741/1219] media: i2c: ov7251: Reinstate setting +Subject: [PATCH 0740/1284] media: i2c: ov7251: Reinstate setting ov7251_global_init_setting "media: i2c: Remove .s_power() from ov7251" removed the call that @@ -253378,13 +253315,13 @@ index 18f4c28c573e..3ba98ad4850b 100644 if (ret) { dev_err(ov7251->dev, "error configuring PLLs\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sat, 12 Feb 2022 09:47:38 +0000 -Subject: [PATCH 0742/1219] media: i2c: ov7251: V4L2_CID_PIXEL_RATE is fixed +Subject: [PATCH 0741/1284] media: i2c: ov7251: V4L2_CID_PIXEL_RATE is fixed The pixel rate doesn't actually change based on the mode, and can not be set by userspace. @@ -253488,13 +253425,13 @@ index 3ba98ad4850b..06e45f46e723 100644 &ov7251_ctrl_ops, V4L2_CID_LINK_FREQ, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sat, 12 Feb 2022 09:53:47 +0000 -Subject: [PATCH 0743/1219] media: i2c: ov7251: V4L2_CID_LINK_FREQUENCY is +Subject: [PATCH 0742/1284] media: i2c: ov7251: V4L2_CID_LINK_FREQUENCY is fixed The link frequency does not change with the mode, so remove @@ -253602,13 +253539,13 @@ index 06e45f46e723..419fce0348a7 100644 ov7251->sd.ctrl_handler = &ov7251->ctrls; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sat, 12 Feb 2022 11:57:19 +0000 -Subject: [PATCH 0744/1219] media: i2c: ov7251: Initialise current_mode during +Subject: [PATCH 0743/1284] media: i2c: ov7251: Initialise current_mode during probe Initialise ov7251->current_mode during probe to avoid the issue @@ -253634,13 +253571,13 @@ index 419fce0348a7..8f782c83eac7 100644 ov7251->ctrls.lock = &ov7251->lock; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sat, 12 Feb 2022 12:05:02 +0000 -Subject: [PATCH 0745/1219] media: i2c: ov7251: Add V4L2_CID_HBLANK control +Subject: [PATCH 0744/1284] media: i2c: ov7251: Add V4L2_CID_HBLANK control HBLANK is a fixed value in this driver, so add as a fixed read-only control. @@ -253725,13 +253662,13 @@ index 8f782c83eac7..04cc0118d28f 100644 ov7251->sd.ctrl_handler = &ov7251->ctrls; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sat, 12 Feb 2022 12:33:13 +0000 -Subject: [PATCH 0746/1219] media: i2c: ov7251: Do not reset gain on mode +Subject: [PATCH 0745/1284] media: i2c: ov7251: Do not reset gain on mode change There is no reaon why changing mode should reset the analogue @@ -253790,13 +253727,13 @@ index 04cc0118d28f..db3ac100686c 100644 V4L2_CID_TEST_PATTERN, ARRAY_SIZE(ov7251_test_pattern_menu) - 1, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 15:57:01 +0000 -Subject: [PATCH 0747/1219] media: i2c: ov7251: Fix link_freq validation loop +Subject: [PATCH 0746/1284] media: i2c: ov7251: Fix link_freq validation loop If only one link frequency was configured, then ov7251_check_hwcfg failed as the conditions weren't checked in the appropriate places. @@ -253829,13 +253766,13 @@ index db3ac100686c..5de185e2db12 100644 if (i == bus_cfg.nr_of_link_frequencies) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 16:23:23 +0000 -Subject: [PATCH 0748/1219] media: i2c: ov7251: Add get_selection for +Subject: [PATCH 0747/1284] media: i2c: ov7251: Add get_selection for NATIVE_SIZE, CROP_BOUNDS, CROP_DEFAULT As required by libcamera, add get_selection handling for @@ -253913,13 +253850,13 @@ index 5de185e2db12..00074b68ee43 100644 static int ov7251_s_stream(struct v4l2_subdev *subdev, int enable) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 16:24:51 +0000 -Subject: [PATCH 0749/1219] media: i2c: ov7251: Set VTS instead of having full +Subject: [PATCH 0748/1284] media: i2c: ov7251: Set VTS instead of having full tables for FPS. The driver did have a full copy of the registers for each of @@ -254292,13 +254229,13 @@ index 00074b68ee43..6118c234f342 100644 if (ret < 0) { dev_err(ov7251->dev, "could not sync v4l2 controls\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 16:44:33 +0000 -Subject: [PATCH 0750/1219] media: i2c: ov7251: Limit exposure based on VTS +Subject: [PATCH 0749/1284] media: i2c: ov7251: Limit exposure based on VTS The maximum exposure is dictated by VTS, so compute it rather than having the value in the mode table. @@ -254376,13 +254313,13 @@ index 6118c234f342..54eee4fddabe 100644 if (ret < 0) goto exit; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 17:00:27 +0000 -Subject: [PATCH 0751/1219] media: i2c: ov7251: Separate modes from frame +Subject: [PATCH 0750/1284] media: i2c: ov7251: Separate modes from frame intervals The modes and frame intervals are independent, therefore @@ -254616,13 +254553,13 @@ index 54eee4fddabe..108658ac6994 100644 v4l2_ctrl_handler_init(&ov7251->ctrls, 10); ov7251->ctrls.lock = &ov7251->lock; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 18:08:39 +0000 -Subject: [PATCH 0752/1219] media: i2c: ov7251: Add V4L2_CID_VBLANK +Subject: [PATCH 0751/1284] media: i2c: ov7251: Add V4L2_CID_VBLANK This is a raw sensor so should be implementing V4L2_CID_VBLANK instead of the frame_interval ops, as per docs at @@ -254775,13 +254712,13 @@ index 108658ac6994..65bb3e0fd265 100644 if (ov7251->ctrls.error) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 18:31:56 +0000 -Subject: [PATCH 0753/1219] media: i2c: ov7251: Switch from V4L2_CID_GAIN to +Subject: [PATCH 0752/1284] media: i2c: ov7251: Switch from V4L2_CID_GAIN to V4L2_CID_ANALOGUE_GAIN The control is specifically for analogue gain, therefore switch @@ -254817,13 +254754,13 @@ index 65bb3e0fd265..adc8e1980cfd 100644 V4L2_CID_TEST_PATTERN, ARRAY_SIZE(ov7251_test_pattern_menu) - 1, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 18:12:36 +0000 -Subject: [PATCH 0754/1219] dtoverlays: Switch ov7251 to using Media Controller +Subject: [PATCH 0753/1284] dtoverlays: Switch ov7251 to using Media Controller by default We should have all the functionality required by now, so switch @@ -254847,13 +254784,13 @@ index fcb889f591f7..3cf109ec998f 100644 port { csi1_ep: endpoint { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 14 Feb 2022 17:21:05 +0100 -Subject: [PATCH 0755/1219] drm/vc4: hvs: Use pointer to HVS in HVS_READ and +Subject: [PATCH 0754/1284] drm/vc4: hvs: Use pointer to HVS in HVS_READ and HVS_WRITE macros Those macros are really about the HVS itself, and thus its associated @@ -255355,13 +255292,13 @@ index a4b736204b18..2df51550b1d4 100644 for (channel = 0; channel < HVS_NUM_CHANNELS; channel++) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 16 Dec 2021 14:54:54 +0100 -Subject: [PATCH 0756/1219] drm/vc4: hvs: Defer dlist slots deallocation +Subject: [PATCH 0755/1284] drm/vc4: hvs: Defer dlist slots deallocation During normal operations, the cursor position update is done through an asynchronous plane update, which on the vc4 driver basically just @@ -255776,13 +255713,13 @@ index 88e9a398758e..c7b2be063189 100644 # define SCALER_DISPCTRL_SLVRDEIRQ BIT(6) # define SCALER_DISPCTRL_SLVWREIRQ BIT(5) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 20 Feb 2022 16:27:11 +0000 -Subject: [PATCH 0757/1219] ARM: dts: Add GPIO line names for downstream RPis +Subject: [PATCH 0756/1284] ARM: dts: Add GPIO line names for downstream RPis Largely copied from the upstream dts files, with a few additions and tweaks. @@ -256778,13 +256715,13 @@ index 38629ebfa47f..601b0573c7a7 100644 brcm,pins = <9 10 11>; brcm,function = <4>; /* alt0 */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Wed, 23 Feb 2022 12:08:42 +0100 -Subject: [PATCH 0758/1219] overlays:fixes probing of Hifiberry DAC2 HD +Subject: [PATCH 0757/1284] overlays:fixes probing of Hifiberry DAC2 HD Removed clocks-declarations in I2C sections of the DT-overlay which kept the devices from probing. @@ -256849,13 +256786,13 @@ index c5583e010339..b9165138c7ad 100644 __overlay__ { compatible = "hifiberry,hifiberry-dacplushd"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: nmbath Date: Thu, 24 Feb 2022 13:10:01 +0000 -Subject: [PATCH 0759/1219] overlays: Overlays for WaveShare 2-Chan CAN FD HAT +Subject: [PATCH 0758/1284] overlays: Overlays for WaveShare 2-Chan CAN FD HAT This patch adds the overlays for the Waveshare 2-Channel Isolated CAN FD Expansion HAT for Raspberry Pi, Multi Protections. This HAT @@ -257184,13 +257121,13 @@ index 000000000000..b2504922c8de + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 25 Feb 2022 09:53:56 +0000 -Subject: [PATCH 0760/1219] overlays: Add "drm" parameter to pitft35-resistive +Subject: [PATCH 0759/1284] overlays: Add "drm" parameter to pitft35-resistive The "drm" parameter forces the use of the hx8357d DRM driver, when by default the fb_hx8357d framebuffer driver will be used in preference. @@ -257230,13 +257167,13 @@ index 37629f18a740..713532cb2272 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 25 Feb 2022 15:08:56 +0000 -Subject: [PATCH 0761/1219] configs: Add CONFIG_TINYDRM_HX8357D=m +Subject: [PATCH 0760/1284] configs: Add CONFIG_TINYDRM_HX8357D=m See: https://forums.raspberrypi.com/viewtopic.php?t=330088 @@ -257310,13 +257247,13 @@ index 98c473412018..01ef1bdc4900 100644 CONFIG_FB=y CONFIG_FB_BCM2708=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 1 Mar 2022 15:12:15 +0000 -Subject: [PATCH 0762/1219] usb: xhci: rework XHCI_VLI_SS_BULK_OUT_BUG quirk +Subject: [PATCH 0761/1284] usb: xhci: rework XHCI_VLI_SS_BULK_OUT_BUG quirk Fix incorrectly applying the quirk for bulk IN endpoints and remove the commentary which is not completely accurate based on observed behaviour. @@ -257327,10 +257264,10 @@ Signed-off-by: Jonathan Bell 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index 5d6cc93594ee..6b4cb26407d5 100644 +index de704adb88dd..a50897ace94d 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -3608,7 +3608,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, +@@ -3614,7 +3614,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, unsigned int num_trbs; unsigned int start_cycle, num_sgs = 0; unsigned int enqd_len, block_len, trb_buff_len, full_len; @@ -257339,7 +257276,7 @@ index 5d6cc93594ee..6b4cb26407d5 100644 u32 field, length_field, remainder, maxpacket; u64 addr, send_addr; -@@ -3654,14 +3654,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, +@@ -3660,14 +3660,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, send_addr = addr; if (xhci->quirks & XHCI_VLI_SS_BULK_OUT_BUG && @@ -257357,7 +257294,7 @@ index 5d6cc93594ee..6b4cb26407d5 100644 } /* Queue the TRBs, even if they are zero-length */ -@@ -3676,7 +3671,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, +@@ -3682,7 +3677,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, if (enqd_len + trb_buff_len > full_len) trb_buff_len = full_len - enqd_len; @@ -257367,13 +257304,13 @@ index 5d6cc93594ee..6b4cb26407d5 100644 remainder = trb_buff_len & (maxpacket - 1); trb_buff_len -= remainder; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 1 Mar 2022 15:17:04 +0000 -Subject: [PATCH 0763/1219] usb: xhci: expand the scope of +Subject: [PATCH 0762/1284] usb: xhci: expand the scope of XHCI_VLI_SS_BULK_OUT_BUG Further testing has revealed that any TRB with buffer length that is not @@ -257437,13 +257374,13 @@ index 2b7da7e4e230..f828e3eac9f1 100644 else usb_hcd_unmap_urb_for_dma(hcd, urb); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 25 Feb 2022 18:16:13 +0000 -Subject: [PATCH 0764/1219] media/i2c: Add driver for Omnivision OV2311 +Subject: [PATCH 0763/1284] media/i2c: Add driver for Omnivision OV2311 Omnivision OV2311 is a CSI2 1600x1300 global shutter image sensor. Add a driver for it. @@ -258678,13 +258615,13 @@ index 000000000000..a6d68e760742 +MODULE_DESCRIPTION("OmniVision OV2311 sensor driver"); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 25 Feb 2022 18:16:26 +0000 -Subject: [PATCH 0765/1219] dtoverlays: Add overlay for Omnivision OV2311 image +Subject: [PATCH 0764/1284] dtoverlays: Add overlay for Omnivision OV2311 image sensor Adds an overlay for the OV2311 1600x1300 monochrome global @@ -258836,13 +258773,13 @@ index 000000000000..9f8e1b3edccc + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 25 Feb 2022 18:14:39 +0000 -Subject: [PATCH 0766/1219] defconfigs: Add OV2311 image sensor to Pi +Subject: [PATCH 0765/1284] defconfigs: Add OV2311 image sensor to Pi defconfigs Signed-off-by: Dave Stevenson @@ -258915,13 +258852,13 @@ index 01ef1bdc4900..039d06428669 100644 CONFIG_VIDEO_OV7251=m CONFIG_VIDEO_OV7640=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 2 Mar 2022 17:23:16 +0000 -Subject: [PATCH 0767/1219] staging/vc-sm-cma: Avoid log spamming on Pi0/1 over +Subject: [PATCH 0766/1284] staging/vc-sm-cma: Avoid log spamming on Pi0/1 over cache alias. Pi 0/1 use the 0x80000000 cache alias as the ARM also sees the world @@ -258962,13 +258899,13 @@ index 88c4df822922..82a9c6e7f277 100644 } import.size = sg_dma_len(sgt->sgl); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 2 Mar 2022 16:47:37 +0000 -Subject: [PATCH 0768/1219] staging: vc04_services: isp: Permit all sRGB colour +Subject: [PATCH 0767/1284] staging: vc04_services: isp: Permit all sRGB colour spaces on ISP outputs ISP outputs actually support all colour spaces that are fundamentally @@ -259129,13 +259066,13 @@ index a545dbf2b5dd..5ab232ff9bd9 100644 .step_size = 1, }, { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 3 Mar 2022 16:45:53 +0000 -Subject: [PATCH 0769/1219] drivers: staging: bcm2835-isp: Do not cleanup mmal +Subject: [PATCH 0768/1284] drivers: staging: bcm2835-isp: Do not cleanup mmal vcsm buffer on stop_streaming On stop_streaming() the vcsm buffer handle gets released by the buffer cleanup @@ -259178,13 +259115,13 @@ index 57e0ecc193f3..9ea817073dcd 100644 /* If all ports disabled, then disable the component */ if (atomic_read(&dev->num_streaming) == 0) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 8 Sep 2021 21:12:26 +0200 -Subject: [PATCH 0770/1219] drm/vc4: Fix out of order frames during +Subject: [PATCH 0769/1284] drm/vc4: Fix out of order frames during asynchronous page flips When doing an asynchronous page flip (PAGE_FLIP ioctl with the @@ -259281,13 +259218,13 @@ index 49016f7e6b9f..da264e2c4982 100644 /* Driver takes ownership of state on successful async commit. */ return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Mon, 7 Mar 2022 10:00:33 +0000 -Subject: [PATCH 0771/1219] staging: vc04_services: codec: Add support for +Subject: [PATCH 0770/1284] staging: vc04_services: codec: Add support for V4L2_PIX_FMT_RGBA32 format We already support V4L2_PIX_FMT_BGR32 which is the same thing with red @@ -259317,13 +259254,13 @@ index 472d97d1d228..4451ceecb265 100644 /* Bayer formats */ /* 8 bit */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 4 Mar 2022 15:58:51 +0100 -Subject: [PATCH 0772/1219] drm/vc4: kms: Store channel in local variable +Subject: [PATCH 0771/1284] drm/vc4: kms: Store channel in local variable We use the channel from our vc4_crtc_state structure in multiple places, let's store it in a local variable to make it cleaner. @@ -259393,13 +259330,13 @@ index 2df51550b1d4..d414e1429f5c 100644 reg = HVS_READ(SCALER_DISPDITHER); HVS_WRITE(SCALER_DISPDITHER, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 4 Mar 2022 15:59:08 +0100 -Subject: [PATCH 0773/1219] drm/vc4: kms: Warn if we have an incompatible +Subject: [PATCH 0772/1284] drm/vc4: kms: Warn if we have an incompatible muxing setup The documentation explicitly states we must prevent the output @@ -259428,13 +259365,13 @@ index d414e1429f5c..3e87b5ed433f 100644 reg = HVS_READ(SCALER_DISPECTRL); HVS_WRITE(SCALER_DISPECTRL, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 4 Mar 2022 15:59:40 +0100 -Subject: [PATCH 0774/1219] drm/vc4: kms: Improve logging +Subject: [PATCH 0773/1284] drm/vc4: kms: Improve logging When debugging, finding out what muxing decisions were made and what the actual core clock rate is is always useful, so let's add some more @@ -259500,13 +259437,13 @@ index 3e87b5ed433f..315918ddc8bd 100644 unassigned_channels &= ~BIT(channel); hvs_new_state->fifo_state[channel].in_use = true; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Mar 2022 12:47:49 +0000 -Subject: [PATCH 0775/1219] ARM: dts: bcm2711-rpi-ds: Disable the BCM2835 STC +Subject: [PATCH 0774/1284] ARM: dts: bcm2711-rpi-ds: Disable the BCM2835 STC Although BCM2711 still includes the old BCM2835 system timer, the newer per-core local timers are preferred because they are more efficient to @@ -259533,13 +259470,13 @@ index ebf73b789b4a..cd5c43adc56b 100644 + status = "disabled"; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 16 Dec 2021 15:25:35 +0000 -Subject: [PATCH 0776/1219] drm/bridge: Introduce pre_enable_upstream_first to +Subject: [PATCH 0775/1284] drm/bridge: Introduce pre_enable_upstream_first to alter bridge init order DSI sink devices typically want the DSI host powered up and configured @@ -259849,13 +259786,13 @@ index 1648ce265cba..3e4e87069f70 100644 * @ddc: Associated I2C adapter for DDC access, if any. */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 23 Feb 2022 15:36:56 +0000 -Subject: [PATCH 0777/1219] drm/panel: Add prepare_upstream_first flag to +Subject: [PATCH 0776/1284] drm/panel: Add prepare_upstream_first flag to drm_panel Mapping to the drm_bridge flag pre_enable_upstream_first, @@ -259905,13 +259842,13 @@ index 830b4d058622..971f788ec6ca 100644 void drm_panel_init(struct drm_panel *panel, struct device *dev, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 11 Mar 2022 17:24:37 +0000 -Subject: [PATCH 0778/1219] drm: Include drm_connector.h from drm_panel.h +Subject: [PATCH 0777/1284] drm: Include drm_connector.h from drm_panel.h drm_panel.h wants to reference enum drm_panel_orientation which is defined in drm_connector.h (despite the name). @@ -259947,13 +259884,13 @@ index 971f788ec6ca..99eb628d7dcb 100644 * struct drm_panel_funcs - perform operations on a given panel * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 16 Dec 2021 15:33:43 +0000 -Subject: [PATCH 0779/1219] drm/tc358762: Set the pre_enable_upstream_first +Subject: [PATCH 0778/1284] drm/tc358762: Set the pre_enable_upstream_first flag to configure DSI host TC358762 wants the DSI host to be prepared before it is powered up, so @@ -259978,13 +259915,13 @@ index 7cda18a12e98..82d13182697e 100644 drm_bridge_add(&ctx->bridge); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 3 Mar 2022 23:06:15 +0300 -Subject: [PATCH 0780/1219] bcm2835-codec: /dev/video31 as interface to +Subject: [PATCH 0779/1284] bcm2835-codec: /dev/video31 as interface to image_encode JPEG encoder Signed-off-by: Maxim Devaev @@ -260785,13 +260722,13 @@ index 21087496a481..a1a5e6c9cb74 100644 struct mmal_parameter_rational { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Wed, 2 Mar 2022 22:03:00 +0000 -Subject: [PATCH 0781/1219] media: entity: Skip non-data links in graph +Subject: [PATCH 0780/1284] media: entity: Skip non-data links in graph iteration When iterating over the media graph, don't follow links that are not @@ -260821,13 +260758,13 @@ index f40f41977142..2a6e16fb0048 100644 if (!(link->flags & MEDIA_LNK_FL_ENABLED)) { link_top(graph) = link_top(graph)->next; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Wed, 2 Mar 2022 22:03:01 +0000 -Subject: [PATCH 0782/1219] media: media.h: Add new media link type +Subject: [PATCH 0781/1284] media: media.h: Add new media link type To describe in the kernel the connection between devices and their supporting peripherals (for example, a camera sensor and the vcm @@ -260905,13 +260842,13 @@ index 200fa8462b90..afbae7213d35 100644 struct media_link_desc { struct media_pad_desc source; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Wed, 2 Mar 2022 22:03:02 +0000 -Subject: [PATCH 0783/1219] media: entity: Add link_type_name() helper +Subject: [PATCH 0782/1284] media: entity: Add link_type_name() helper Now we have three types of media link, printing the right name during debug output is slightly more complicated. Add a helper function to @@ -260960,13 +260897,13 @@ index 2a6e16fb0048..29d1285c805a 100644 media_id(link->gobj1)); break; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Wed, 2 Mar 2022 22:03:03 +0000 -Subject: [PATCH 0784/1219] media: entity: Add support for ancillary links +Subject: [PATCH 0783/1284] media: entity: Add support for ancillary links Add functions to create ancillary links, so that they don't need to be manually created by users. @@ -261037,13 +260974,13 @@ index 09737b47881f..72c7cd885d6b 100644 + #endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Wed, 2 Mar 2022 22:03:04 +0000 -Subject: [PATCH 0785/1219] media: v4l2-async: Create links during +Subject: [PATCH 0784/1284] media: v4l2-async: Create links during v4l2_async_match_notify() Upon an async fwnode match, there's some typical behaviour that the @@ -261110,13 +261047,13 @@ index cd9e78c63791..84a12788d62c 100644 list_del(&asd->list); sd->asd = asd; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Sep 2021 12:33:35 +0100 -Subject: [PATCH 0786/1219] dt-bindings: media: i2c: Add binding for ad5398 VCM +Subject: [PATCH 0785/1284] dt-bindings: media: i2c: Add binding for ad5398 VCM Add a binding for Analog Devices AD5398 10bit current sinking DAC when used as a lens VCM driver. @@ -261156,13 +261093,13 @@ index 000000000000..446ac9717598 + }; + -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Sep 2021 14:04:28 +0100 -Subject: [PATCH 0787/1219] media: i2c: Add driver for AD5398 VCM lens driver +Subject: [PATCH 0786/1284] media: i2c: Add driver for AD5398 VCM lens driver Adds a driver for the Analog Devices AD5398 10 bit I2C DAC which is commonly used for driving VCM lens @@ -261555,13 +261492,13 @@ index 000000000000..102c3143f7d7 +MODULE_DESCRIPTION("AD5398 camera lens driver"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 16 Mar 2022 12:15:41 +0000 -Subject: [PATCH 0788/1219] media: i2c: ov5647: Use +Subject: [PATCH 0787/1284] media: i2c: ov5647: Use v4l2_async_register_subdev_sensor for lens binding v4l2_async_register_subdev doesn't bind in lens or flash drivers, @@ -261587,13 +261524,13 @@ index 491246786f7c..befdb53bda1d 100644 goto power_off; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Sep 2021 14:25:49 +0100 -Subject: [PATCH 0789/1219] defconfigs: Add AD5398 VCM to all Pi defconfigs +Subject: [PATCH 0788/1284] defconfigs: Add AD5398 VCM to all Pi defconfigs Supports AD5398 controlled lens, as found on some 3rd party OV5647 and IMX219 image sensors. @@ -261668,13 +261605,13 @@ index 039d06428669..c98578ac5de0 100644 CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_UDL=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 11 Mar 2022 15:32:00 +0000 -Subject: [PATCH 0790/1219] dtoverlays: Add VCM option to imx219 +Subject: [PATCH 0789/1284] dtoverlays: Add VCM option to imx219 Signed-off-by: Dave Stevenson --- @@ -261724,13 +261661,13 @@ index bc1217397dd5..d73f76aba8b6 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Mar 2022 18:36:10 +0000 -Subject: [PATCH 0791/1219] dtoverlay: Add VCM option to ov5647 overlay +Subject: [PATCH 0790/1284] dtoverlay: Add VCM option to ov5647 overlay Signed-off-by: Dave Stevenson --- @@ -261777,13 +261714,13 @@ index a1221024d334..af2c86383e1f 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Mar 2022 15:13:10 +0000 -Subject: [PATCH 0792/1219] media: i2c: Rename ad5398 to ad5398_vcm +Subject: [PATCH 0791/1284] media: i2c: Rename ad5398 to ad5398_vcm There's already a regulator module called ad5398 that exposes this device through the regulator API. That is meaningless in @@ -261816,13 +261753,13 @@ similarity index 100% rename from drivers/media/i2c/ad5398.c rename to drivers/media/i2c/ad5398_vcm.c -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 21 Feb 2022 10:59:02 +0100 -Subject: [PATCH 0793/1219] drm/object: Add +Subject: [PATCH 0792/1284] drm/object: Add drm_object_property_get_default_value() function Upstream commit adf47b75297ebc71c53b6dc2d3c55f42b8fb79fd. @@ -261953,13 +261890,13 @@ index c34a3e8030e1..912f1e415685 100644 void drm_object_attach_property(struct drm_mode_object *obj, struct drm_property *property, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 21 Feb 2022 10:59:03 +0100 -Subject: [PATCH 0794/1219] drm/object: Add default zpos value at reset +Subject: [PATCH 0793/1284] drm/object: Add default zpos value at reset Upstream commit 1a7998dab5dd3d11bada7e3921781922082e7fe6 @@ -262013,13 +261950,13 @@ index ddcf5c2c8e6a..1412cee404ca 100644 EXPORT_SYMBOL(__drm_atomic_helper_plane_state_reset); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 21 Feb 2022 10:59:14 +0100 -Subject: [PATCH 0795/1219] drm/object: Add default color encoding and range +Subject: [PATCH 0794/1284] drm/object: Add default color encoding and range value at reset Upstream commit 9a48ab11714c955456fefdd4ab532d324fbef563 @@ -262073,13 +262010,13 @@ index 1412cee404ca..3b6d3bdbd099 100644 if (!drm_object_property_get_default_value(&plane->base, plane->zpos_property, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Jan 2022 17:28:18 +0000 -Subject: [PATCH 0796/1219] drm/vc4: Support zpos on all planes +Subject: [PATCH 0795/1284] drm/vc4: Support zpos on all planes Adds the zpos property to all planes, and creates the dlist by placing the fragments in the correct order based on zpos. @@ -262228,13 +262165,13 @@ index aab4dfa282e5..0475f14c63f4 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Rafael Sobral Date: Fri, 18 Mar 2022 23:25:16 -0300 -Subject: [PATCH 0797/1219] CM3 cam1_reg and cam1_reg_gpio fix +Subject: [PATCH 0796/1284] CM3 cam1_reg and cam1_reg_gpio fix property name is gpio and not gpios --- @@ -262257,13 +262194,13 @@ index fb99c3b1c7f1..f7f18331db02 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 19 Mar 2022 22:19:51 +0000 -Subject: [PATCH 0798/1219] overlays: Fix cam*_reg_gpio parameter on CM1 +Subject: [PATCH 0797/1284] overlays: Fix cam*_reg_gpio parameter on CM1 See: https://github.com/raspberrypi/linux/pull/4945 @@ -262288,13 +262225,13 @@ index dd59f884d796..c7845d2ba7ff 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jeff LaBundy Date: Sat, 19 Mar 2022 20:31:30 -0500 -Subject: [PATCH 0799/1219] overlays: iqs550: Enable interrupt pull-down +Subject: [PATCH 0798/1284] overlays: iqs550: Enable interrupt pull-down The device's active-high interrupt normally serves as a push-pull output, but becomes high-impedance during bootloader mode. Enable @@ -262340,13 +262277,13 @@ index bb5a4d921962..c3956937055f 100644 sizex = <&iqs550>,"touchscreen-size-x:0"; sizey = <&iqs550>,"touchscreen-size-y:0"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 21 Mar 2022 18:27:45 +0000 -Subject: [PATCH 0800/1219] dtoverlays: Connect the backlight to the pitft35 +Subject: [PATCH 0799/1284] dtoverlays: Connect the backlight to the pitft35 display DRM will automatically handle the backlight with the display if @@ -262380,13 +262317,13 @@ index 713532cb2272..e11e1920024a 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 7 Mar 2022 15:19:38 +0000 -Subject: [PATCH 0801/1219] drm/vc4: hdmi: Add CSC for BT601/709/2020 limited +Subject: [PATCH 0800/1284] drm/vc4: hdmi: Add CSC for BT601/709/2020 limited and full range output The HVS always composes in the RGB domain, but there is a colourspace @@ -262693,13 +262630,13 @@ index f915d96ff512..77c8f732f47d 100644 default: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Mar 2022 14:44:49 +0000 -Subject: [PATCH 0802/1219] Revert "usb: xhci: expand the scope of +Subject: [PATCH 0801/1284] Revert "usb: xhci: expand the scope of XHCI_VLI_SS_BULK_OUT_BUG" This reverts commit 40686d87f87a46b3abf48a8dcaee5e0a031deafb. @@ -262756,13 +262693,13 @@ index f828e3eac9f1..2b7da7e4e230 100644 else usb_hcd_unmap_urb_for_dma(hcd, urb); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 14 Mar 2022 17:56:10 +0000 -Subject: [PATCH 0803/1219] vc4/drm: vc4_plane: Keep fractional source coords +Subject: [PATCH 0802/1284] vc4/drm: vc4_plane: Keep fractional source coords inside state Signed-off-by: Dom Cobley @@ -262976,13 +262913,13 @@ index 0475f14c63f4..2ace5e9edc8f 100644 /* Position Word 3: Context. Written by the HVS. */ vc4_dlist_write(vc4_state, 0xc0c0c0c0); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Fri, 9 Apr 2021 15:00:40 +0100 -Subject: [PATCH 0804/1219] vc4/drm: Handle fractional coordinates using the +Subject: [PATCH 0803/1284] vc4/drm: Handle fractional coordinates using the phase field Signed-off-by: Dom Cobley @@ -263087,13 +263024,13 @@ index 2ace5e9edc8f..69c860c81126 100644 * is opaque or there is no per-pixel alpha information. * In any case we use the alpha property value as the fixed alpha. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 26 Jan 2022 15:58:13 +0000 -Subject: [PATCH 0805/1219] drm: Add chroma siting properties +Subject: [PATCH 0804/1284] drm: Add chroma siting properties Signed-off-by: Dom Cobley --- @@ -263271,13 +263208,13 @@ index fed97e35626f..ef61f7ae8ab6 100644 #define obj_to_plane(x) container_of(x, struct drm_plane, base) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 27 Jan 2022 15:32:04 +0000 -Subject: [PATCH 0806/1219] vc4/drm:plane: Make use of chroma siting parameter +Subject: [PATCH 0805/1284] vc4/drm:plane: Make use of chroma siting parameter Signed-off-by: Dom Cobley --- @@ -263337,13 +263274,13 @@ index 69c860c81126..4595c09c782d 100644 drm_plane_create_zpos_immutable_property(plane, 0); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 22 Mar 2022 15:16:40 +0000 -Subject: [PATCH 0807/1219] drivers: staging: bcm2835-isp: Clear LS table +Subject: [PATCH 0806/1284] drivers: staging: bcm2835-isp: Clear LS table handle in the firmware When all nodes have stopped streaming, ensure the firmware has released its @@ -263380,13 +263317,13 @@ index 9ea817073dcd..b674992aee01 100644 dev->component); if (ret) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sun, 27 Feb 2022 13:47:09 +0100 -Subject: [PATCH 0808/1219] dt-bindings: display: add bindings for MIPI DBI +Subject: [PATCH 0807/1284] dt-bindings: display: add bindings for MIPI DBI compatible SPI panels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -263563,13 +263500,13 @@ index 000000000000..f29789994b18 + +... -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sun, 27 Feb 2022 13:47:11 +0100 -Subject: [PATCH 0809/1219] drm/modes: Add of_get_drm_panel_display_mode() +Subject: [PATCH 0808/1284] drm/modes: Add of_get_drm_panel_display_mode() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -263683,13 +263620,13 @@ index 29ba4adf0c53..2fa6b2c33b3f 100644 void drm_mode_set_name(struct drm_display_mode *mode); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sun, 27 Feb 2022 13:47:12 +0100 -Subject: [PATCH 0810/1219] drm/mipi-dbi: Add driver_private member to struct +Subject: [PATCH 0809/1284] drm/mipi-dbi: Add driver_private member to struct mipi_dbi_dev MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -263734,13 +263671,13 @@ index 05e194958265..0981f80eb706 100644 static inline struct mipi_dbi_dev *drm_to_mipi_dbi_dev(struct drm_device *drm) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sun, 27 Feb 2022 13:47:13 +0100 -Subject: [PATCH 0811/1219] drm/tiny: Add MIPI DBI compatible SPI driver +Subject: [PATCH 0810/1284] drm/tiny: Add MIPI DBI compatible SPI driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -263801,7 +263738,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20220227124713.39766-6-noral create mode 100644 drivers/gpu/drm/tiny/panel-mipi-dbi.c diff --git a/MAINTAINERS b/MAINTAINERS -index f08f05ce0ec9..682b40c17f23 100644 +index 4845928c12fc..a7dd55809aef 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5979,6 +5979,14 @@ T: git git://anongit.freedesktop.org/drm/drm-misc @@ -264262,13 +264199,13 @@ index 000000000000..7f8c6c51387f +MODULE_AUTHOR("Noralf Trønnes"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 2 Mar 2022 18:17:44 +0100 -Subject: [PATCH 0812/1219] configs: Add MIPI DBI display driver +Subject: [PATCH 0811/1284] configs: Add MIPI DBI display driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -264345,13 +264282,13 @@ index c98578ac5de0..a24f2c241ed9 100644 CONFIG_DRM_GUD=m CONFIG_FB=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 7 Mar 2022 17:05:49 +0100 -Subject: [PATCH 0813/1219] overlays: Add overlay for MIPI DBI displays +Subject: [PATCH 0812/1284] overlays: Add overlay for MIPI DBI displays MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -264636,13 +264573,13 @@ index 000000000000..0677f79cce6e + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Sun, 27 Mar 2022 22:42:47 +1100 -Subject: [PATCH 0814/1219] audioinjector.net: stereo and zero, use +Subject: [PATCH 0813/1284] audioinjector.net: stereo and zero, use dev_err_probe, report success Use dev_err_probe to follow best practice, and leave a message in @@ -264671,13 +264608,13 @@ index 3f24fa739081..ad337201c558 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 26 Mar 2022 18:59:27 +0100 -Subject: [PATCH 0815/1219] Revert "update rpi-display-overlay.dts pins for +Subject: [PATCH 0814/1284] Revert "update rpi-display-overlay.dts pins for 5.10+" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -264709,13 +264646,13 @@ index 2cf937b56456..de87432ff2be 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sun, 27 Mar 2022 18:54:17 +0200 -Subject: [PATCH 0816/1219] overlays/rpi-display: Add support for DRM driver +Subject: [PATCH 0815/1284] overlays/rpi-display: Add support for DRM driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -264853,13 +264790,13 @@ index de87432ff2be..789644b9f251 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 28 Mar 2022 11:52:48 +0100 -Subject: [PATCH 0817/1219] bcm2835-codec: Return empty buffers to the VPU +Subject: [PATCH 0816/1284] bcm2835-codec: Return empty buffers to the VPU instead of queueing to vbuf2 The encoder can skip frames totally should rate control overshoot @@ -264908,13 +264845,13 @@ index ebda39a2cc06..8abdd7f6b7fd 100644 } } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 29 Mar 2022 16:10:06 +0100 -Subject: [PATCH 0818/1219] mm,page_alloc,cma: introduce a customisable +Subject: [PATCH 0817/1284] mm,page_alloc,cma: introduce a customisable threshold for allocating pages in cma On some platforms the cma area can be half the entire system memory, @@ -264981,13 +264918,13 @@ index a71722b4e464..53a201aafe18 100644 if (page) goto out; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 30 Mar 2022 09:48:41 +0100 -Subject: [PATCH 0819/1219] pinctrl: bcm2835: Only return non-GPIOs to inputs +Subject: [PATCH 0818/1284] pinctrl: bcm2835: Only return non-GPIOs to inputs Allowing GPIO state to persist allows the use of gpioset to control GPIO levels without having to use the --mode=wait feature. @@ -265029,13 +264966,13 @@ index 90ce5d11f3a6..fc2cc1966041 100644 static int bcm2835_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 30 Mar 2022 11:43:25 +0100 -Subject: [PATCH 0820/1219] ARM: dts: Enable PMU on Cortex-A72 in AArch32 state +Subject: [PATCH 0819/1284] ARM: dts: Enable PMU on Cortex-A72 in AArch32 state There is no specific AArch32 driver for the Cortex-A72 PMU, but the Cortex-A7 one works and is much better than no PMU driver at all. @@ -265059,13 +264996,13 @@ index f8c327b3c660..ff84a093ad18 100644 , , -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 31 Mar 2022 12:03:36 +0100 -Subject: [PATCH 0821/1219] drm/panel: ilitek-ili9881c: Clean up on +Subject: [PATCH 0820/1284] drm/panel: ilitek-ili9881c: Clean up on mipi_dsi_attach failure mipi_dsi_attach is allowed to fail, and currently the probe @@ -265096,13 +265033,13 @@ index 6e03d9b0be60..5446b07439f4 100644 static int ili9881c_dsi_remove(struct mipi_dsi_device *dsi) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 31 Mar 2022 12:05:04 +0100 -Subject: [PATCH 0822/1219] drm/panel: panel-ilitek9881c: Add +Subject: [PATCH 0821/1284] drm/panel: panel-ilitek9881c: Add prepare_upstream_first flag The panel sends MIPI DCS commands during prepare and is expecting @@ -265130,13 +265067,13 @@ index 5446b07439f4..c2afc4368553 100644 DRM_MODE_CONNECTOR_DSI); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 31 Mar 2022 17:55:51 +0100 -Subject: [PATCH 0823/1219] brcmfmac: Restore ISO3166 and 0 rev as a fallback +Subject: [PATCH 0822/1284] brcmfmac: Restore ISO3166 and 0 rev as a fallback Commit b0b524f079a2 ("brcmfmac: use ISO3166 country code and 0 rev as fallback") was a welcome addition for Raspberry Pi as it replaced @@ -265187,13 +265124,13 @@ index 077852e6b049..94ab63dfc1c6 100644 for (i = 0; i < country_codes->table_size; i++) { cc = &country_codes->table[i]; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: 6by9 <6by9@users.noreply.github.com> Date: Fri, 1 Apr 2022 11:31:38 +0100 -Subject: [PATCH 0824/1219] drm/vc4: Force trigger of dlist update on margins +Subject: [PATCH 0823/1284] drm/vc4: Force trigger of dlist update on margins change (#4970) When the margins are changed, the dlist needs to be regenerated @@ -265253,13 +265190,13 @@ index 7164017d35fa..918dbf8d8058 100644 unsigned long hvs_load; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 3 Apr 2022 15:27:46 +0100 -Subject: [PATCH 0825/1219] configs: Re-enable all GSPCA camera modules +Subject: [PATCH 0824/1284] configs: Re-enable all GSPCA camera modules The GSPCA camera modules were lost due to change in a default value - when has that happened before? @@ -265566,13 +265503,13 @@ index a24f2c241ed9..b218f552442c 100644 CONFIG_VIDEO_CPIA2=m CONFIG_USB_ZR364XX=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Fri, 23 Oct 2020 14:39:23 +0200 -Subject: [PATCH 0826/1219] drm/atomic-helpers: remove legacy_cursor_update +Subject: [PATCH 0825/1284] drm/atomic-helpers: remove legacy_cursor_update hacks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -265698,13 +265635,13 @@ index 458f4e4316dd..67a503d3dd0a 100644 * Start timer if we don't already have an update pending * on this crtc: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 31 Mar 2022 15:27:43 +0200 -Subject: [PATCH 0827/1219] Revert "drm/vc4: hvs: Defer dlist slots +Subject: [PATCH 0826/1284] Revert "drm/vc4: hvs: Defer dlist slots deallocation" This reverts commit e99a1b69da07ee3b89a6b8005b854e6c04bfb450. @@ -266053,13 +265990,13 @@ index c7b2be063189..88e9a398758e 100644 # define SCALER_DISPCTRL_SLVRDEIRQ BIT(6) # define SCALER_DISPCTRL_SLVWREIRQ BIT(5) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 6 Apr 2022 20:35:13 +0100 -Subject: [PATCH 0828/1219] drm/vc4_hdmi: Force modeset when bpc changes +Subject: [PATCH 0827/1284] drm/vc4_hdmi: Force modeset when bpc changes See: https://forum.libreelec.tv/thread/25427-le-10-0-2-on-rpi4-not-playing-files-that-10-0-1-had-no-problems-with/ @@ -266108,13 +266045,13 @@ index 77c8f732f47d..05db942c9787 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Jun 2021 18:18:42 +0100 -Subject: [PATCH 0829/1219] media: i2c: imx258: Remove unused defines +Subject: [PATCH 0828/1284] media: i2c: imx258: Remove unused defines The IMX258_FLL_* defines are unused. Remove them. @@ -266141,13 +266078,13 @@ index c249507aa2db..f3172e165354 100644 #define IMX258_PPL_DEFAULT 5352 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Jun 2021 18:34:38 +0100 -Subject: [PATCH 0830/1219] media: i2c: imx258: Make image geometry meet sensor +Subject: [PATCH 0829/1284] media: i2c: imx258: Make image geometry meet sensor requirements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -266294,13 +266231,13 @@ index f3172e165354..c494cdf69bc8 100644 mode = v4l2_find_nearest_size(supported_modes, ARRAY_SIZE(supported_modes), width, height, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 30 Mar 2022 14:55:01 +0100 -Subject: [PATCH 0831/1219] media: i2c: imx258: Disable digital cropping on +Subject: [PATCH 0830/1284] media: i2c: imx258: Disable digital cropping on binned modes The binned modes set DIG_CROP_X_OFFSET and DIG_CROP_IMAGE_WIDTH @@ -266347,13 +266284,13 @@ index c494cdf69bc8..c150742d9c75 100644 { 0x040F, 0x0C }, { 0x3038, 0x00 }, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Jun 2021 18:29:52 +0100 -Subject: [PATCH 0832/1219] media: i2c: imx258: Implement HFLIP and VFLIP +Subject: [PATCH 0831/1284] media: i2c: imx258: Implement HFLIP and VFLIP controls. The sensor supports H & V flips, so implement the relevant controls. @@ -266622,13 +266559,13 @@ index c150742d9c75..7e3874461772 100644 v4l2_i2c_subdev_init(&imx258->sd, client, &imx258_subdev_ops); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Jun 2021 18:38:46 +0100 -Subject: [PATCH 0833/1219] media: i2c: imx258: Remove redundant I2C writes. +Subject: [PATCH 0832/1284] media: i2c: imx258: Remove redundant I2C writes. Registers 0x0202 and 0x0203 are written via the control handler for V4L2_CID_EXPOSURE, so are not needed from the mode lists. @@ -266670,13 +266607,13 @@ index 7e3874461772..72992f406425 100644 { 0x0205, 0x00 }, { 0x020E, 0x01 }, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Jun 2021 18:45:40 +0100 -Subject: [PATCH 0834/1219] media: i2c: imx258: Add regulator control +Subject: [PATCH 0833/1284] media: i2c: imx258: Add regulator control The device tree bindings define the relevant regulators for the sensor, so update the driver to request the regulators and control @@ -266785,13 +266722,13 @@ index 72992f406425..43ad104eb1a2 100644 if (IS_ERR(imx258->clk)) return dev_err_probe(&client->dev, PTR_ERR(imx258->clk), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Jun 2021 18:56:33 +0100 -Subject: [PATCH 0835/1219] media: i2c: imx258: Make V4L2_CID_VBLANK +Subject: [PATCH 0834/1284] media: i2c: imx258: Make V4L2_CID_VBLANK configurable. The values and ranges of V4L2_CID_VBLANK are all computed, @@ -266867,13 +266804,13 @@ index 43ad104eb1a2..e21a2eadf48a 100644 ctrl_hdlr, &imx258_ctrl_ops, V4L2_CID_HBLANK, IMX258_PPL_DEFAULT - imx258->cur_mode->width, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Jun 2021 19:01:46 +0100 -Subject: [PATCH 0836/1219] media: i2c: imx258: Register the ctrls from fwnode +Subject: [PATCH 0835/1284] media: i2c: imx258: Register the ctrls from fwnode properties Use v4l2_ctrl_new_fwnode_properties to register the standard @@ -266909,13 +266846,13 @@ index e21a2eadf48a..8f80ec208e4f 100644 imx258->hflip = v4l2_ctrl_new_std(ctrl_hdlr, &imx258_ctrl_ops, V4L2_CID_HFLIP, 0, 1, 1, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 16 Jun 2021 13:08:00 +0100 -Subject: [PATCH 0837/1219] media: i2c: imx258: Add support for 24MHz clock +Subject: [PATCH 0836/1284] media: i2c: imx258: Add support for 24MHz clock There's no reason why the clock must be 19.2MHz and nothing else (indeed this isn't even a frequency listed in the datasheet), @@ -267201,13 +267138,13 @@ index 8f80ec208e4f..e0c74e871633 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 16 Jun 2021 16:27:06 +0100 -Subject: [PATCH 0838/1219] media: i2c: imx258: Add support for running on 2 +Subject: [PATCH 0837/1284] media: i2c: imx258: Add support for running on 2 CSI data lanes Extends the driver to also support 2 data lanes. @@ -267618,13 +267555,13 @@ index e0c74e871633..f1d136616e35 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 16 Jun 2021 17:19:17 +0100 -Subject: [PATCH 0839/1219] media: i2c: imx258: Follow normal V4L2 behaviours +Subject: [PATCH 0838/1284] media: i2c: imx258: Follow normal V4L2 behaviours for clipping exposure V4L2 sensor drivers are expected are expected to clip the supported @@ -267727,13 +267664,13 @@ index f1d136616e35..e485176f49ff 100644 * Applying V4L2 control value only happens * when power is up for streaming -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 23 Mar 2022 15:48:49 +0000 -Subject: [PATCH 0840/1219] media: i2c: imx258: Add get_selection for pixel +Subject: [PATCH 0839/1284] media: i2c: imx258: Add get_selection for pixel array information Libcamera requires the cropping information for each mode, so @@ -267902,13 +267839,13 @@ index e485176f49ff..21a8cc4d9e01 100644 static const struct v4l2_subdev_ops imx258_subdev_ops = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 31 Mar 2022 15:33:59 +0100 -Subject: [PATCH 0841/1219] media: i2c: imx258: Allow configuration of clock +Subject: [PATCH 0840/1284] media: i2c: imx258: Allow configuration of clock lane behaviour The sensor supports the clock lane either remaining in HS mode @@ -267968,13 +267905,13 @@ index 21a8cc4d9e01..d4b3fefa31c6 100644 v4l2_i2c_subdev_init(&imx258->sd, client, &imx258_subdev_ops); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 31 Mar 2022 15:39:40 +0100 -Subject: [PATCH 0842/1219] media: i2c: imx258: Correct max FRM_LENGTH_LINES +Subject: [PATCH 0841/1284] media: i2c: imx258: Correct max FRM_LENGTH_LINES value The data sheet states that the maximum value for registers @@ -268000,13 +267937,13 @@ index d4b3fefa31c6..9f193625d61b 100644 #define IMX258_REG_VTS 0x0340 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 31 Mar 2022 16:45:36 +0100 -Subject: [PATCH 0843/1219] media: i2c: imx258: Add support for long exposure +Subject: [PATCH 0842/1284] media: i2c: imx258: Add support for long exposure modes The sensor has a register CIT_LSHIFT which extends the exposure @@ -268106,13 +268043,13 @@ index 9f193625d61b..ab6db06d294b 100644 h_blank = imx258->link_freq_configs[mode->link_freq_index].pixels_per_line -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 31 Mar 2022 17:12:12 +0100 -Subject: [PATCH 0844/1219] media: i2c: imx258: Issue reset before starting +Subject: [PATCH 0843/1284] media: i2c: imx258: Issue reset before starting streaming Whilst not documented, register 0x0103 bit 0 is the soft @@ -268153,13 +268090,13 @@ index ab6db06d294b..ace09856adda 100644 link_freq_index = imx258->cur_mode->link_freq_index; link_freq_cfg = &imx258->link_freq_configs[link_freq_index]; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 1 Apr 2022 18:54:12 +0100 -Subject: [PATCH 0845/1219] media: i2c: imx258: Set pixel_rate range to the +Subject: [PATCH 0844/1284] media: i2c: imx258: Set pixel_rate range to the same as the value With a read only control there is limited point in advertising @@ -268218,13 +268155,13 @@ index ace09856adda..7647938f58cf 100644 vblank_def = imx258->cur_mode->vts_def - imx258->cur_mode->height; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 1 Apr 2022 18:56:54 +0100 -Subject: [PATCH 0846/1219] media: i2c: imx258: Support faster pixel rate on +Subject: [PATCH 0845/1284] media: i2c: imx258: Support faster pixel rate on binned modes With the binned modes, there is little point in faithfully @@ -268478,13 +268415,13 @@ index 7647938f58cf..63692f75c641 100644 goto error_endpoint_poweron; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 23 Mar 2022 14:07:56 +0000 -Subject: [PATCH 0847/1219] defconfigs: Add IMX258 to the Pi defconfigs +Subject: [PATCH 0846/1284] defconfigs: Add IMX258 to the Pi defconfigs Signed-off-by: Dave Stevenson --- @@ -268556,13 +268493,13 @@ index b218f552442c..d4ffabfdc9c6 100644 CONFIG_VIDEO_IMX477=m CONFIG_VIDEO_IMX519=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 10 Jun 2021 17:42:47 +0100 -Subject: [PATCH 0848/1219] dtoverlays: Add overlay for Sony IMX258 image +Subject: [PATCH 0847/1284] dtoverlays: Add overlay for Sony IMX258 image sensor Signed-off-by: Dave Stevenson @@ -268769,13 +268706,13 @@ index 000000000000..12326040c457 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 12 Apr 2022 02:28:07 +1000 -Subject: [PATCH 0849/1219] Add support for the AudioInjector.net bare i2s +Subject: [PATCH 0848/1284] Add support for the AudioInjector.net bare i2s sound card Signed-off-by: Matt Flax @@ -268872,13 +268809,13 @@ index 000000000000..7565ac4d1c28 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 30 Mar 2022 17:49:31 +0100 -Subject: [PATCH 0850/1219] vc4_hdmi: Remove +Subject: [PATCH 0849/1284] vc4_hdmi: Remove VC4_HDMI_SCHEDULER_CONTROL_VERT_ALWAYS_KEEPOUT This bit ensures data island packets are never generated when disallowed by HDCP. @@ -268904,13 +268841,13 @@ index 05db942c9787..b25a5b8186ef 100644 HDMI_WRITE(HDMI_RAM_PACKET_CONFIG, VC4_HDMI_RAM_PACKET_ENABLE); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 13 Apr 2022 13:50:30 +0100 -Subject: [PATCH 0851/1219] configs: bcm2711_defconfig: Enable KASLR +Subject: [PATCH 0850/1284] configs: bcm2711_defconfig: Enable KASLR Although KASLR is enabled in the old bcmrpi3_defconfig, it is omitted from bcm2711_defconfig. Correct that oversight. @@ -268935,13 +268872,13 @@ index 98832f25ad60..250770ba059e 100644 # CONFIG_SUSPEND is not set CONFIG_CPU_IDLE=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 12 Apr 2022 18:30:49 +0100 -Subject: [PATCH 0852/1219] config: Enable CONFIG_MODULE_COMPRESS_XZ +Subject: [PATCH 0851/1284] config: Enable CONFIG_MODULE_COMPRESS_XZ See: https://github.com/raspberrypi/linux/issues/4966 Signed-off-by: Dom Cobley @@ -269014,13 +268951,13 @@ index d4ffabfdc9c6..45de87991995 100644 CONFIG_MAC_PARTITION=y CONFIG_BINFMT_MISC=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 13 Apr 2022 19:28:35 +0200 -Subject: [PATCH 0853/1219] overlays: mipi-dbi-spi: width-mm and height-mm are +Subject: [PATCH 0852/1284] overlays: mipi-dbi-spi: width-mm and height-mm are mandatory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -269053,13 +268990,13 @@ index 0677f79cce6e..42b0e6b6318a 100644 hactive = <320>; vactive = <240>; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Apr 2022 17:12:34 +0100 -Subject: [PATCH 0854/1219] configs: (Re)Enable CONFIG_IR_TOY +Subject: [PATCH 0853/1284] configs: (Re)Enable CONFIG_IR_TOY Somehow or other, CONFIG_IR_TOY=m got dropped from the standard Pi defconfigs around 5.13. Restore it. @@ -269136,13 +269073,13 @@ index 45de87991995..f38d6ac58fdb 100644 CONFIG_MEDIA_SUPPORT=m CONFIG_MEDIA_USB_SUPPORT=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Apr 2022 20:21:26 +0100 -Subject: [PATCH 0855/1219] config: Enable the NFT_SYNPROXY module +Subject: [PATCH 0854/1284] config: Enable the NFT_SYNPROXY module The NFT_SYNPROXY module is apparently useful for port scan protection, and at 11kB barely changes the size of the downloads. @@ -269219,13 +269156,13 @@ index f38d6ac58fdb..e162165e947d 100644 CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_FIB_NETDEV=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 19 Jan 2022 16:22:19 +0100 -Subject: [PATCH 0856/1219] clk: Introduce Kunit Tests for the framework +Subject: [PATCH 0855/1284] clk: Introduce Kunit Tests for the framework Let's test various parts of the rate-related clock API with the kunit testing framework. @@ -270075,13 +270012,13 @@ index 000000000000..a8d7eba01de7 +); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 5 May 2021 15:35:34 +0200 -Subject: [PATCH 0857/1219] clk: Always clamp the rounded rate +Subject: [PATCH 0856/1284] clk: Always clamp the rounded rate The current core while setting the min and max rate properly in the clk_request structure will not make sure that the requested rate is @@ -270256,13 +270193,13 @@ index a8d7eba01de7..2279be699001 100644 /* -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 17 Jan 2022 16:38:10 +0100 -Subject: [PATCH 0858/1219] clk: Use clamp instead of open-coding our own +Subject: [PATCH 0857/1284] clk: Use clamp instead of open-coding our own The code in clk_set_rate_range() will, if the current rate is outside of the new range, force it to the minimum or maximum. @@ -270295,13 +270232,13 @@ index c775f2153b66..db27c68f7935 100644 if (ret) { /* rollback the changes */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 17 Jan 2022 16:43:13 +0100 -Subject: [PATCH 0859/1219] clk: Always set the rate on clk_set_range_rate +Subject: [PATCH 0858/1284] clk: Always set the rate on clk_set_range_rate When we change a clock minimum or maximum using clk_set_rate_range(), clk_set_min_rate() or clk_set_max_rate(), the current code will only @@ -270499,13 +270436,13 @@ index 2279be699001..2c5d30a9372e 100644 clk_put(user2); clk_put(user1); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 17 Jan 2022 16:43:52 +0100 -Subject: [PATCH 0860/1219] clk: Add clk_drop_range +Subject: [PATCH 0859/1284] clk: Add clk_drop_range In order to reset the range on a clock, we need to call clk_set_rate_range with a minimum of 0 and a maximum of ULONG_MAX. Since @@ -270542,10 +270479,10 @@ index 2c5d30a9372e..a92600311506 100644 rate = clk_get_rate(clk); diff --git a/include/linux/clk.h b/include/linux/clk.h -index 2aa52140d8a9..28b9f9c09686 100644 +index 96effb0a25e2..f50024846482 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h -@@ -990,6 +990,17 @@ static inline void clk_bulk_disable_unprepare(int num_clks, +@@ -1099,6 +1099,17 @@ static inline void clk_bulk_disable_unprepare(int num_clks, clk_bulk_unprepare(num_clks, clks); } @@ -270564,13 +270501,13 @@ index 2aa52140d8a9..28b9f9c09686 100644 * clk_get_optional - lookup and obtain a reference to an optional clock * producer. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 25 Mar 2022 11:27:28 +0100 -Subject: [PATCH 0861/1219] clk: test: Test clk_set_rate_range on orphan mux +Subject: [PATCH 0860/1284] clk: test: Test clk_set_rate_range on orphan mux A bug recently affected the Tegra30 where calling clk_set_rate_range() on a clock would make it change its rate to the minimum. @@ -270728,13 +270665,13 @@ index a92600311506..146b1759798e 100644 &clk_range_maximize_test_suite, &clk_range_minimize_test_suite -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 25 Mar 2022 17:11:44 +0100 -Subject: [PATCH 0862/1219] clk: Drop the rate range on clk_put() +Subject: [PATCH 0861/1284] clk: Drop the rate range on clk_put() When clk_put() is called we don't make another clk_set_rate() call to re-evaluate the rate boundaries. This is unlike clk_set_rate_range() @@ -270974,13 +270911,13 @@ index 146b1759798e..efd5ffaf7e35 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 1 Apr 2022 17:08:26 +0200 -Subject: [PATCH 0863/1219] clk: tests: Add test suites description +Subject: [PATCH 0862/1284] clk: tests: Add test suites description We start to have a few test suites, and we'll add more, so it will get pretty confusing to figure out what is supposed to be tested in what @@ -271072,13 +271009,13 @@ index efd5ffaf7e35..4e4428fe9278 100644 .name = "clk-range-minimize-test", .init = clk_minimize_test_init, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 1 Apr 2022 14:53:49 +0200 -Subject: [PATCH 0864/1219] clk: tests: Add reference to the orphan mux bug +Subject: [PATCH 0863/1284] clk: tests: Add reference to the orphan mux bug report Some more context might be useful for unit-tests covering a previously @@ -271106,13 +271043,13 @@ index 4e4428fe9278..77230ccae180 100644 static void clk_test_orphan_transparent_parent_mux_set_range(struct kunit *test) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 8 Apr 2022 09:54:39 +0200 -Subject: [PATCH 0865/1219] clk: tests: Add tests for uncached clock +Subject: [PATCH 0864/1284] clk: tests: Add tests for uncached clock The clock framework supports clocks that can have their rate changed without the kernel knowing about it using the CLK_GET_RATE_NOCACHE flag. @@ -271236,13 +271173,13 @@ index 77230ccae180..e417c69d8492 100644 ); MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 7 Apr 2022 14:21:55 +0200 -Subject: [PATCH 0866/1219] clk: tests: Add tests for single parent mux +Subject: [PATCH 0865/1284] clk: tests: Add tests for single parent mux We have a few tests for a mux with a single parent, testing the case where it used to be orphan. @@ -271476,13 +271413,13 @@ index e417c69d8492..beca502949fa 100644 ); MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 7 Apr 2022 14:58:34 +0200 -Subject: [PATCH 0867/1219] clk: tests: Add tests for mux with multiple parents +Subject: [PATCH 0866/1284] clk: tests: Add tests for mux with multiple parents We'll need to test a few corner cases that occur when we have a mux clock whose default parent is missing. @@ -271643,13 +271580,13 @@ index beca502949fa..6c9cbfac3d00 100644 &clk_range_test_suite, &clk_range_maximize_test_suite, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Sat, 2 Apr 2022 17:27:40 +0200 -Subject: [PATCH 0868/1219] clk: tests: Add some tests for orphan with multiple +Subject: [PATCH 0867/1284] clk: tests: Add some tests for orphan with multiple parents Let's leverage the dummy mux with multiple parents we have to create a @@ -271859,13 +271796,13 @@ index 6c9cbfac3d00..45c33e22fdce 100644 &clk_range_test_suite, &clk_range_maximize_test_suite, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 8 Apr 2022 10:06:11 +0200 -Subject: [PATCH 0869/1219] clk: Take into account uncached clocks in +Subject: [PATCH 0868/1284] clk: Take into account uncached clocks in clk_set_rate_range() clk_set_rate_range() will use the last requested rate for the clock when @@ -271951,13 +271888,13 @@ index 45c33e22fdce..cad3abd27e0c 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 1 Apr 2022 11:09:29 +0200 -Subject: [PATCH 0870/1219] clk: Fix clk_get_parent() documentation +Subject: [PATCH 0869/1284] clk: Fix clk_get_parent() documentation The clk_get_parent() documentation in the header states that it will return a valid pointer, or an error pointer on failure. @@ -272012,10 +271949,10 @@ index cad3abd27e0c..c7099e864688 100644 KUNIT_CASE(clk_test_orphan_transparent_multiple_parent_mux_set_parent_get_rate), KUNIT_CASE(clk_test_orphan_transparent_multiple_parent_mux_set_parent_set_range_modified), diff --git a/include/linux/clk.h b/include/linux/clk.h -index 28b9f9c09686..433364d18fe0 100644 +index f50024846482..fb458ac6ec11 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h -@@ -745,8 +745,9 @@ int clk_set_parent(struct clk *clk, struct clk *parent); +@@ -830,8 +830,9 @@ int clk_set_parent(struct clk *clk, struct clk *parent); * clk_get_parent - get the parent clock source for this clock * @clk: clock source * @@ -272028,13 +271965,13 @@ index 28b9f9c09686..433364d18fe0 100644 struct clk *clk_get_parent(struct clk *clk); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 1 Apr 2022 15:26:46 +0200 -Subject: [PATCH 0871/1219] clk: Set req_rate on reparenting +Subject: [PATCH 0870/1284] clk: Set req_rate on reparenting If a non-rate clock started by default with a parent that never registered, core->req_rate will be 0. The expectation is that whenever @@ -272370,13 +272307,13 @@ index c7099e864688..d2f711e42b81 100644 &clk_range_maximize_test_suite, &clk_range_minimize_test_suite, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 1 Apr 2022 15:27:09 +0200 -Subject: [PATCH 0872/1219] clk: Skip set_rate_range if our clock is orphan +Subject: [PATCH 0871/1284] clk: Skip set_rate_range if our clock is orphan clk_set_rate_range will now force a clk_set_rate() call to core->req_rate. However, if our clock is orphan, req_rate will be 0 and @@ -272501,13 +272438,13 @@ index d2f711e42b81..2b22b7090968 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Sat, 2 Apr 2022 13:45:05 +0200 -Subject: [PATCH 0873/1219] clk: Add our request boundaries in +Subject: [PATCH 0872/1284] clk: Add our request boundaries in clk_core_init_rate_req The expectation is that a new clk_rate_request is initialized through a @@ -272569,13 +272506,13 @@ index 92a276698574..e6e13e844e1d 100644 clk_core_init_rate_req(core, &req); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Sat, 2 Apr 2022 13:48:03 +0200 -Subject: [PATCH 0874/1219] clk: Change clk_core_init_rate_req prototype +Subject: [PATCH 0873/1284] clk: Change clk_core_init_rate_req prototype The expectation is that a clk_rate_request structure is supposed to be initialized using clk_core_init_rate_req(), yet the rate we want to @@ -272633,13 +272570,13 @@ index e6e13e844e1d..e4b1031d925b 100644 ret = clk_core_determine_round_nolock(core, &req); if (ret < 0) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Sat, 2 Apr 2022 14:49:56 +0200 -Subject: [PATCH 0875/1219] clk: Introduce clk_hw_init_rate_request() +Subject: [PATCH 0874/1284] clk: Introduce clk_hw_init_rate_request() Some drivers (at91, imx, qcom) use __clk_determine_rate directly, and thus will need to initialise a clk_rate_request structure. @@ -272714,13 +272651,13 @@ index f59c875271a0..402aef48119b 100644 * struct clk_duty - Struture encoding the duty cycle ratio of a clock * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Sat, 2 Apr 2022 14:01:37 +0200 -Subject: [PATCH 0876/1219] clk: Add missing clk_core_init_rate_req calls +Subject: [PATCH 0875/1284] clk: Add missing clk_core_init_rate_req calls Some callers of clk_core_round_rate_nolock() will initialize the clk_rate_request structure by hand, missing a few parameters that leads @@ -272769,13 +272706,13 @@ index aff8da360cb4..cc93c20c1903 100644 list_for_each_entry(clk_req, &core->pending_requests, list) req.min_rate = max(clk_req->rate, req.min_rate); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Sat, 2 Apr 2022 14:06:53 +0200 -Subject: [PATCH 0877/1219] clk: Remove redundant clk_core_init_rate_req() call +Subject: [PATCH 0876/1284] clk: Remove redundant clk_core_init_rate_req() call Since all the users of clk_core_round_rate_nolock() will now properly initialize, there's no need for it to initialize the request itself. @@ -272809,13 +272746,13 @@ index cc93c20c1903..8ec5f623c668 100644 return clk_core_determine_round_nolock(core, req); else if (core->flags & CLK_SET_RATE_PARENT) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Sat, 2 Apr 2022 13:52:55 +0200 -Subject: [PATCH 0878/1219] clk: Switch from __clk_determine_rate to +Subject: [PATCH 0877/1284] clk: Switch from __clk_determine_rate to clk_core_round_rate_nolock clk_mux_determine_rate_flags() will call into __clk_determine_rate() @@ -272875,13 +272812,13 @@ index 8ec5f623c668..ad92bd037bf9 100644 continue; } else { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 7 Apr 2022 14:11:37 +0200 -Subject: [PATCH 0879/1219] clk: Introduce clk_core_has_parent() +Subject: [PATCH 0878/1284] clk: Introduce clk_core_has_parent() We will need to know if a clk_core pointer has a given parent in other functions, so let's create a clk_core_has_parent() function that @@ -273016,13 +272953,13 @@ index 2b22b7090968..9dbc116f49a8 100644 KUNIT_CASE(clk_test_single_parent_mux_set_range_disjoint_parent_last), KUNIT_CASE(clk_test_single_parent_mux_set_range_round_rate_child_smaller), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Sat, 2 Apr 2022 14:36:59 +0200 -Subject: [PATCH 0880/1219] clk: Stop forwarding clk_rate_requests to the +Subject: [PATCH 0879/1284] clk: Stop forwarding clk_rate_requests to the parent If the clock cannot modify its rate and has CLK_SET_RATE_PARENT, @@ -273391,13 +273328,13 @@ index 9dbc116f49a8..ee91d1efea23 100644 &clk_multiple_parents_mux_test_suite, &clk_orphan_transparent_multiple_parent_mux_test_suite, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Sat, 2 Apr 2022 14:37:39 +0200 -Subject: [PATCH 0881/1219] clk: Zero the clk_rate_request structure +Subject: [PATCH 0880/1284] clk: Zero the clk_rate_request structure In order to make sure we don't carry anything over from an already existing clk_rate_request pointer we would pass to @@ -273425,13 +273362,13 @@ index 33b1c4db265c..ab9b048f7fde 100644 clk_core_get_boundaries(core, &req->min_rate, &req->max_rate); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 5 Apr 2022 15:20:27 +0200 -Subject: [PATCH 0882/1219] clk: Test the clock pointer in clk_hw_get_name() +Subject: [PATCH 0881/1284] clk: Test the clock pointer in clk_hw_get_name() Unlike __clk_get_name(), clk_hw_get_name() doesn't test wether passed clk_hw pointer is NULL or not and dereferences it directly. This can @@ -273460,13 +273397,13 @@ index ab9b048f7fde..8545dee8c16f 100644 EXPORT_SYMBOL_GPL(clk_hw_get_name); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 17 Jan 2022 17:19:30 +0100 -Subject: [PATCH 0883/1219] clk: bcm: rpi: Add variant structure +Subject: [PATCH 0882/1284] clk: bcm: rpi: Add variant structure We only export a bunch of firmware clocks, and some of them require special treatment. @@ -273618,13 +273555,13 @@ index 62971532eaaa..33f7d6662631 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 17 Jan 2022 17:31:06 +0100 -Subject: [PATCH 0884/1219] clk: bcm: rpi: Set a default minimum rate +Subject: [PATCH 0883/1284] clk: bcm: rpi: Set a default minimum rate The M2MC clock provides the state machine clock for both HDMI controllers. @@ -273693,13 +273630,13 @@ index 33f7d6662631..20d0b829134b 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 17 Jan 2022 17:36:23 +0100 -Subject: [PATCH 0885/1219] clk: bcm: rpi: Run some clocks at the minimum rate +Subject: [PATCH 0884/1284] clk: bcm: rpi: Run some clocks at the minimum rate allowed The core clock and M2MC clocks are shared between some devices (Unicam @@ -273797,13 +273734,13 @@ index 20d0b829134b..4abecd6f528d 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Mar 2022 09:51:32 +0100 -Subject: [PATCH 0886/1219] Revert "drm/vc4: kms: Move clock request to our HVS +Subject: [PATCH 0885/1284] Revert "drm/vc4: kms: Move clock request to our HVS state" This reverts commit c65633a429b15f9d182a5bc7d6387fecbd5b7bb0. @@ -273858,13 +273795,13 @@ index aee31a0c11f6..915048ef2589 100644 /* And drop the temporary request */ clk_request_done(core_req); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Mar 2022 09:51:44 +0100 -Subject: [PATCH 0887/1219] Revert "drm/vc4: Increase the core clock based on +Subject: [PATCH 0886/1284] Revert "drm/vc4: Increase the core clock based on HVS load" This reverts commit 02c8543cc6940f8201e9beb601bd56421d911e83. @@ -273918,13 +273855,13 @@ index 915048ef2589..0d3b383ddfcd 100644 drm_dbg(dev, "Core clock actual rate: %lu Hz\n", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Mar 2022 09:52:34 +0100 -Subject: [PATCH 0888/1219] Revert "drm/vc4: hdmi: Convert to the new clock +Subject: [PATCH 0887/1284] Revert "drm/vc4: hdmi: Convert to the new clock request API" This reverts commit 5dbb9357519a9479eacdda130713bf0dc44e069c. @@ -273963,13 +273900,13 @@ index 0d3b383ddfcd..ef9e5ca0f981 100644 clk_get_rate(hvs->core_clk)); } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Mar 2022 09:53:03 +0100 -Subject: [PATCH 0889/1219] Revert "bcm2835-unicam: Switch to new clock api" +Subject: [PATCH 0888/1284] Revert "bcm2835-unicam: Switch to new clock api" This reverts commit 702228eb413876739f4fee8a9ec66b3e4e54efac. --- @@ -274022,13 +273959,13 @@ index 1e0101bb3af9..401d2c4d734f 100644 clk_disable_unprepare(dev->clock); dev->clocks_enabled = false; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Mar 2022 09:58:31 +0100 -Subject: [PATCH 0890/1219] Revert "rpivid: Switch to new clock api" +Subject: [PATCH 0889/1284] Revert "rpivid: Switch to new clock api" This reverts commit ec7556e20c2c29c3df9493248a1a4d60ed20ae38. --- @@ -274095,13 +274032,13 @@ index 93b3d86b41e3..8007c4dbcf89 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Mar 2022 09:41:44 +0100 -Subject: [PATCH 0891/1219] Revert "clk: requests: Dereference the request +Subject: [PATCH 0890/1284] Revert "clk: requests: Dereference the request pointer after the check" This reverts commit 12917adc036f82c4fda3b80a068d0d51c947d6a6. @@ -274127,13 +274064,13 @@ index 8545dee8c16f..b08147923bde 100644 clk_prepare_lock(); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Mar 2022 09:41:48 +0100 -Subject: [PATCH 0892/1219] Revert "clk: requests: Ignore if the pointer is +Subject: [PATCH 0891/1284] Revert "clk: requests: Ignore if the pointer is null" This reverts commit f078b2c9b1901f6297154788ac07f56547ddcb7a. @@ -274156,13 +274093,13 @@ index b08147923bde..9fcf6476afd9 100644 list_del(&req->list); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Mar 2022 09:41:49 +0100 -Subject: [PATCH 0893/1219] Revert "clk: Introduce a clock request API" +Subject: [PATCH 0892/1284] Revert "clk: Introduce a clock request API" This reverts commit 23fbabe348436e250deca7c5f2fd0caf620af174. --- @@ -274389,7 +274326,7 @@ index 9fcf6476afd9..24e243860e27 100644 /* * Don't call clk_hw_create_clk() here because that would pin the diff --git a/include/linux/clk.h b/include/linux/clk.h -index 433364d18fe0..3b8cf492ff1a 100644 +index fb458ac6ec11..c67630193326 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h @@ -15,7 +15,6 @@ @@ -274400,7 +274337,7 @@ index 433364d18fe0..3b8cf492ff1a 100644 struct device_node; struct of_phandle_args; -@@ -785,9 +784,6 @@ int clk_save_context(void); +@@ -870,9 +869,6 @@ int clk_save_context(void); */ void clk_restore_context(void); @@ -274411,13 +274348,13 @@ index 433364d18fe0..3b8cf492ff1a 100644 static inline struct clk *clk_get(struct device *dev, const char *id) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 15 Apr 2022 14:17:41 +0200 -Subject: [PATCH 0894/1219] clk: Add clk_get_rate_range +Subject: [PATCH 0893/1284] clk: Add clk_get_rate_range With the recent introduction of clock drivers that will force their clock rate to either the minimum or maximum boundaries, it becomes @@ -274472,10 +274409,10 @@ index 24e243860e27..704d80e45325 100644 * clk_get_parent - return the parent of a clk * @clk: the clk whose parent gets returned diff --git a/include/linux/clk.h b/include/linux/clk.h -index 3b8cf492ff1a..39710b8453fa 100644 +index c67630193326..f6bdc7e1e0d1 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h -@@ -713,6 +713,17 @@ bool clk_has_parent(struct clk *clk, struct clk *parent); +@@ -798,6 +798,17 @@ bool clk_has_parent(struct clk *clk, struct clk *parent); */ int clk_set_rate_range(struct clk *clk, unsigned long min, unsigned long max); @@ -274493,7 +274430,7 @@ index 3b8cf492ff1a..39710b8453fa 100644 /** * clk_set_min_rate - set a minimum clock rate for a clock source * @clk: clock source -@@ -909,6 +920,16 @@ static inline int clk_set_rate_range(struct clk *clk, unsigned long min, +@@ -1018,6 +1029,16 @@ static inline int clk_set_rate_range(struct clk *clk, unsigned long min, return 0; } @@ -274510,7 +274447,7 @@ index 3b8cf492ff1a..39710b8453fa 100644 static inline int clk_set_min_rate(struct clk *clk, unsigned long rate) { return 0; -@@ -998,6 +1019,44 @@ static inline int clk_drop_range(struct clk *clk) +@@ -1107,6 +1128,44 @@ static inline int clk_drop_range(struct clk *clk) return clk_set_rate_range(clk, 0, ULONG_MAX); } @@ -274556,13 +274493,13 @@ index 3b8cf492ff1a..39710b8453fa 100644 * clk_get_optional - lookup and obtain a reference to an optional clock * producer. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 15 Apr 2022 14:45:17 +0200 -Subject: [PATCH 0895/1219] clk: tests: Add some tests for clk_get_rate_range() +Subject: [PATCH 0894/1284] clk: tests: Add some tests for clk_get_rate_range() Let's introduce a bunch of unit tests to make sure the values returned by clk_get_rate_range() are sane. @@ -274787,13 +274724,13 @@ index ee91d1efea23..1e120fe33783 100644 KUNIT_CASE(clk_range_test_set_range_invalid), KUNIT_CASE(clk_range_test_multiple_disjoints_range), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 15 Apr 2022 15:00:44 +0200 -Subject: [PATCH 0896/1219] clk: tests: Add missing test case for ranges +Subject: [PATCH 0895/1284] clk: tests: Add missing test case for ranges Let's add a test on the rate range after a reparenting. This fails for now, but it's worth having it to document the corner cases we don't @@ -274871,13 +274808,13 @@ index 1e120fe33783..af40d46987e7 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 24 Mar 2022 11:57:57 +0100 -Subject: [PATCH 0897/1219] drm/vc4: hdmi: Rework hdmi_enable_4kp60 detection +Subject: [PATCH 0896/1284] drm/vc4: hdmi: Rework hdmi_enable_4kp60 detection In order to support higher HDMI frequencies, users have to set the hdmi_enable_4kp60 parameter in their config.txt file. @@ -275017,13 +274954,13 @@ index 9dcc26d505b0..05b3621ff652 100644 if (ret) { dev_err(&pdev->dev, "Couldn't enable the core clock\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 25 Mar 2022 15:48:48 +0100 -Subject: [PATCH 0898/1219] drm/vc4: kms: Warn if clk_set_min_rate fails +Subject: [PATCH 0897/1284] drm/vc4: kms: Warn if clk_set_min_rate fails We currently ignore the clk_set_min_rate return code assuming it would succeed. However, it can fail if we ask for a rate higher than the @@ -275059,13 +274996,13 @@ index ef9e5ca0f981..0dbf078eef64 100644 drm_dbg(dev, "Core clock actual rate: %lu Hz\n", clk_get_rate(hvs->core_clk)); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 25 Mar 2022 17:09:41 +0100 -Subject: [PATCH 0899/1219] drm/vc4: Make sure we don't end up with a core +Subject: [PATCH 0898/1284] drm/vc4: Make sure we don't end up with a core clock too high Following the clock rate range improvements to the clock framework, @@ -275123,13 +275060,13 @@ index 0dbf078eef64..195806013110 100644 drm_dbg(dev, "Core clock actual rate: %lu Hz\n", clk_get_rate(hvs->core_clk)); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 13 Apr 2022 16:22:49 +0200 -Subject: [PATCH 0900/1219] drm/vc4: kms: Use maximum FIFO load for the HVS +Subject: [PATCH 0899/1284] drm/vc4: kms: Use maximum FIFO load for the HVS clock rate The core clock computation takes into account both the load due to the @@ -275169,13 +275106,13 @@ index 195806013110..b3bf5364abf6 100644 pixel_rate = load_state->hvs_load; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 15 Apr 2022 15:26:07 +0200 -Subject: [PATCH 0901/1219] rpivid: Use clk_get_max_rate() +Subject: [PATCH 0900/1284] rpivid: Use clk_get_max_rate() The driver was using clk_round_rate() to figure out the maximum clock rate that was allowed for the HEVC clock. @@ -275201,13 +275138,13 @@ index 8007c4dbcf89..bab3ed3ff361 100644 rv = clk_set_min_rate(dev->clock, max_hevc_clock); if (rv) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Alberto Solavagione Date: Wed, 20 Apr 2022 17:15:42 +0200 -Subject: [PATCH 0902/1219] clk-bcm2835: use subsys_initcall for the clock +Subject: [PATCH 0901/1284] clk-bcm2835: use subsys_initcall for the clock driver when IMA is enabled Co-authored-by: Davide Scovotto @@ -275235,13 +275172,13 @@ index fb6292be6242..2b0ca6670ae6 100644 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Scovotto Davide Date: Wed, 20 Apr 2022 17:22:17 +0200 -Subject: [PATCH 0903/1219] tpm_tis_spi_main: Force probe routine to run +Subject: [PATCH 0902/1284] tpm_tis_spi_main: Force probe routine to run synchronously with driver and device registration when IMA is enabled Co-authored-by: Alberto Solavagione @@ -275269,13 +275206,13 @@ index aaa59a00eeae..b6cf04812078 100644 .probe = tpm_tis_spi_driver_probe, .remove = tpm_tis_spi_remove, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: andrum99 <97977513+andrum99@users.noreply.github.com> Date: Sun, 24 Apr 2022 17:23:23 +0100 -Subject: [PATCH 0904/1219] overlays: Add "drm" parameter to pitft28-resistive +Subject: [PATCH 0903/1284] overlays: Add "drm" parameter to pitft28-resistive Add "drm" parameter to the pitft28-resistive, forcing use of the mi0283qt DRM driver. @@ -275320,13 +275257,13 @@ index 4a4a3f44c29d..9e9f90ad51e0 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Apr 2022 19:57:29 +0100 -Subject: [PATCH 0905/1219] ARM: dts: Add i2c0mux node to Model B rev 1 +Subject: [PATCH 0904/1284] ARM: dts: Add i2c0mux node to Model B rev 1 The lack of an i2c0mux label prevents the i2c-rtc overlay from being applied. @@ -275354,13 +275291,13 @@ index c2d83b61a63c..9bea71078d5f 100644 i2c0 = <&i2c0>, "status"; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 24 Apr 2022 20:25:34 +0100 -Subject: [PATCH 0906/1219] overlays: Fix pitft28/35-resistive rotate params +Subject: [PATCH 0905/1284] overlays: Fix pitft28/35-resistive rotate params The drm drivers uses the property name "rotation", not "rotate" as used by the fbtft drivers. Fix suggested by notro. @@ -275402,13 +275339,13 @@ index e11e1920024a..fc0f5e5446ee 100644 debug = <&pitft>,"debug:0"; drm = <&pitft>,"compatible=adafruit,yx350hv15", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 25 Apr 2022 17:45:16 +0200 -Subject: [PATCH 0907/1219] ARM: dts: bcm2835: Switch HSM clock to firmware +Subject: [PATCH 0906/1284] ARM: dts: bcm2835: Switch HSM clock to firmware When the bootloader boots without a display connected to the HDMI connector, it won't initialize the HSM clock. @@ -275443,13 +275380,13 @@ index 7f46a6ec512c..69c91c5d7775 100644 dmas = <&dma (17|(1<<27)|(1<<24))>; dma-names = "audio-rx"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 27 Apr 2022 14:45:35 +0100 -Subject: [PATCH 0908/1219] drm/vc4_kms: Protect hvs dereference on fkms +Subject: [PATCH 0907/1284] drm/vc4_kms: Protect hvs dereference on fkms fkms has a null hvs pointer so this crashes. Protect against it @@ -275472,13 +275409,13 @@ index b3bf5364abf6..9bfd3e878f92 100644 int i; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 28 Apr 2022 16:11:20 +0100 -Subject: [PATCH 0909/1219] Revert "fbdev: Fix unregistering of framebuffers +Subject: [PATCH 0908/1284] Revert "fbdev: Fix unregistering of framebuffers without device" This reverts commit 2388f826cdc9af2651991adc0feb79de9bdf2232. @@ -275507,13 +275444,13 @@ index 0c761186a54d..9bacac0a8f58 100644 platform_device_unregister(to_platform_device(device)); } else { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 28 Apr 2022 16:11:34 +0100 -Subject: [PATCH 0910/1219] Revert "fbdev: Hot-unplug firmware fb devices on +Subject: [PATCH 0909/1284] Revert "fbdev: Hot-unplug firmware fb devices on forced removal" This reverts commit c894ac44786cfed383a6c6b20c1bfb12eb96018a. @@ -275601,13 +275538,13 @@ index 3d7306c9a706..02f362c661c8 100644 static inline struct apertures_struct *alloc_apertures(unsigned int max_num) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Apr 2022 08:50:43 +0100 -Subject: [PATCH 0911/1219] config: Update bcmrpi3_defconfig +Subject: [PATCH 0910/1284] config: Update bcmrpi3_defconfig Bring bcmrpi3_defconfig roughly into line with bcm2711_defconfig. @@ -275879,13 +275816,13 @@ index e162165e947d..eec9e1c1f292 100644 CONFIG_BLK_DEV_IO_TRACE=y +# CONFIG_UPROBE_EVENTS is not set -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Apr 2022 09:19:10 +0100 -Subject: [PATCH 0912/1219] staging: vchiq_arm: Add log_level module params +Subject: [PATCH 0911/1284] staging: vchiq_arm: Add log_level module params Add module parameters to control the logging levels for the various vchiq logging categories. @@ -275912,13 +275849,13 @@ index f3d2fe5bbfa0..3e9bd2aa1142 100644 DEFINE_SPINLOCK(msg_queue_spinlock); struct vchiq_state g_state; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 May 2022 09:11:27 +0100 -Subject: [PATCH 0913/1219] configs: Add CONFIG_EEPROM_AT25=m +Subject: [PATCH 0912/1284] configs: Add CONFIG_EEPROM_AT25=m Enable support for more SPI EEPROMs and FRAMs. @@ -275994,13 +275931,13 @@ index eec9e1c1f292..6e9597b2b68d 100644 CONFIG_SCSI=y # CONFIG_SCSI_PROC_FS is not set -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 5 May 2022 12:16:57 +0100 -Subject: [PATCH 0914/1219] configs: Enable DM_WRITECACHE module on BCM2711 +Subject: [PATCH 0913/1284] configs: Enable DM_WRITECACHE module on BCM2711 For Pi 4 (which has high speed USB and PCIe), enable DM_WRITECACHE as a module to allow an external SSD to be used as a fast write cache for a @@ -276039,13 +275976,13 @@ index f763b3f666ae..1188bdc2a4b7 100644 CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_RAID=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 May 2022 00:02:54 +0100 -Subject: [PATCH 0915/1219] configs: Restore settings lost since 5.10 +Subject: [PATCH 0914/1284] configs: Restore settings lost since 5.10 Signed-off-by: Phil Elwell --- @@ -276207,13 +276144,13 @@ index 6e9597b2b68d..3ce71ab7c997 100644 CONFIG_STAGING_MEDIA=y CONFIG_ASHMEM=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Thu, 21 Apr 2022 14:14:29 +0800 -Subject: [PATCH 0916/1219] dt-bindings: vendor-prefixes: Add Arducam +Subject: [PATCH 0915/1284] dt-bindings: vendor-prefixes: Add Arducam Add vendor prefix for Arducam (https://arducam.com). @@ -276236,13 +276173,13 @@ index 3c65028f5335..c2665870c465 100644 description: ARM Ltd. "^armadeus,.*": -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Thu, 21 Apr 2022 14:18:44 +0800 -Subject: [PATCH 0917/1219] media: dt-bindings: media: i2c: Add Arducam +Subject: [PATCH 0916/1284] media: dt-bindings: media: i2c: Add Arducam Pivariety Series CMOS sensor binding Add YAML device tree binding for Arducam Pivariety CMOS image sensor, and @@ -276374,7 +276311,7 @@ index 000000000000..92bf4ff32eb4 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index 682b40c17f23..ca65f8656693 100644 +index a7dd55809aef..c8590345a8bf 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1388,6 +1388,14 @@ S: Maintained @@ -276393,13 +276330,13 @@ index 682b40c17f23..ca65f8656693 100644 M: Mark Rutland M: Marc Zyngier -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Thu, 14 Apr 2022 17:31:01 +0800 -Subject: [PATCH 0918/1219] media: i2c: Add driver of Arducam Pivariety series +Subject: [PATCH 0917/1284] media: i2c: Add driver of Arducam Pivariety series camera Add a driver for the Arducam Pivariety series CSI2 camera sensor. @@ -278037,13 +277974,13 @@ index 000000000000..b2b8cbc47138 + +#endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Thu, 21 Apr 2022 11:36:41 +0800 -Subject: [PATCH 0919/1219] configs: Add CONFIG_VIDEO_ARDUCAM_PIVARIETY=m +Subject: [PATCH 0918/1284] configs: Add CONFIG_VIDEO_ARDUCAM_PIVARIETY=m Include the driver module for the ARDUCAM_PIVARIETY. @@ -278117,13 +278054,13 @@ index 3ce71ab7c997..1f20261ab813 100644 CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIMC=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Thu, 21 Apr 2022 13:15:34 +0800 -Subject: [PATCH 0920/1219] overlays: Add arducam-pivariety-overlay.dts +Subject: [PATCH 0919/1284] overlays: Add arducam-pivariety-overlay.dts Added overlays for enabling Arducam Pivariety and add the relevant information to the README. @@ -278275,13 +278212,13 @@ index 000000000000..935179fa8851 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 May 2022 15:34:44 +0100 -Subject: [PATCH 0921/1219] thermal: broadcom: Use dev_err_probe to suppress +Subject: [PATCH 0920/1284] thermal: broadcom: Use dev_err_probe to suppress defer errors It is quite common for the devm_thermal_zone_of_sensor_register @@ -278307,13 +278244,13 @@ index e9bef5c3414b..c6ff8d1eca74 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Michael Shych Date: Sat, 30 Apr 2022 14:49:04 +0300 -Subject: [PATCH 0922/1219] dt-bindings: hwmon: add microchip,emc2305.yaml dt +Subject: [PATCH 0921/1284] dt-bindings: hwmon: add microchip,emc2305.yaml dt binding description. Submitted to linux-hwmon mailing list at @@ -278389,13 +278326,13 @@ index 000000000000..52ae4c2924d6 + emc2305,cooling-levels = <10>; + }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 10 May 2022 14:03:30 +0100 -Subject: [PATCH 0923/1219] dtbindings: Fixup microchip,emc2305.yaml bindings +Subject: [PATCH 0922/1284] dtbindings: Fixup microchip,emc2305.yaml bindings The bindings submitted to mainline had some issues, so fix them up. @@ -278435,13 +278372,13 @@ index 52ae4c2924d6..efdc3cecb03d 100644 emc2305,pwm-max = <255>; emc2305,pwm-channel = <5> -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Michael Shych Date: Sat, 30 Apr 2022 14:49:03 +0300 -Subject: [PATCH 0924/1219] hwmon: (emc2305) add support for EMC2301/2/3/5 +Subject: [PATCH 0923/1284] hwmon: (emc2305) add support for EMC2301/2/3/5 RPM-based PWM Fan Speed Controller. Submitted to linux-hwmon mailing list at @@ -278461,10 +278398,10 @@ Reviewed-by: Vadim Pasternak create mode 100644 drivers/hwmon/emc2305.c diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig -index 51f1caa10d11..09effe73c111 100644 +index 17ba1d9ff075..2a0467e623c0 100644 --- a/drivers/hwmon/Kconfig +++ b/drivers/hwmon/Kconfig -@@ -1684,6 +1684,19 @@ config SENSORS_EMC2103 +@@ -1685,6 +1685,19 @@ config SENSORS_EMC2103 This driver can also be built as a module. If so, the module will be called emc2103. @@ -279132,13 +279069,13 @@ index 000000000000..5c896fdfc525 +MODULE_DESCRIPTION("Microchip EMC2305 fan controller driver"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 5 May 2022 15:46:07 +0100 -Subject: [PATCH 0925/1219] hwmon: emc2305: fixups for driver submitted to +Subject: [PATCH 0924/1284] hwmon: emc2305: fixups for driver submitted to mailing lists The driver had a number of issues, checkpatch warnings/errors, @@ -279364,13 +279301,13 @@ index 5c896fdfc525..c78d672ff713 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Michael Shych Date: Sat, 30 Apr 2022 14:49:05 +0300 -Subject: [PATCH 0926/1219] docs: hwmon: add emc2305.rst to docs +Subject: [PATCH 0925/1284] docs: hwmon: add emc2305.rst to docs Submitted to linux-hwmon mailing list at https://patchwork.kernel.org/project/linux-hwmon/patch/20220430114905.53448-4-michaelsh@nvidia.com/ @@ -279431,13 +279368,13 @@ index 000000000000..258da49d18f9 +Configuration is possible via device tree: +Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 May 2022 17:22:55 +0100 -Subject: [PATCH 0927/1219] configs: Enable the EMC2305 fan controller driver +Subject: [PATCH 0926/1284] configs: Enable the EMC2305 fan controller driver Signed-off-by: Phil Elwell --- @@ -279524,13 +279461,13 @@ index 1f20261ab813..f1910ae088c8 100644 CONFIG_WATCHDOG=y CONFIG_GPIO_WATCHDOG=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 May 2022 17:20:11 +0100 -Subject: [PATCH 0928/1219] dtoverlays: Add i2c-fan overlay +Subject: [PATCH 0927/1284] dtoverlays: Add i2c-fan overlay Add an i2c-fan overlay, initially with support for the EMC2301 fan controller found on the CM4IO board. @@ -279700,13 +279637,13 @@ index 000000000000..e9424c376d54 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2022 15:35:50 +0100 -Subject: [PATCH 0929/1219] SQUASH: overlays: arducam-pivariety: Strip leading +Subject: [PATCH 0928/1284] SQUASH: overlays: arducam-pivariety: Strip leading zero Newer versions of dtc warn about node addresses with leading zeroes. @@ -279730,13 +279667,13 @@ index 935179fa8851..7434e242dba6 100644 reg = <0x0c>; status = "okay"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2022 15:40:02 +0100 -Subject: [PATCH 0930/1219] overlays: Remove other leading zeroes from node +Subject: [PATCH 0929/1284] overlays: Remove other leading zeroes from node addresses Newer versions of dtc warn about node addresses with leading zeroes. @@ -279802,13 +279739,13 @@ index af2c86383e1f..d06ee9229b0d 100644 reg = <0x0c>; status = "disabled"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 6 May 2022 12:24:31 +0200 -Subject: [PATCH 0931/1219] clk: Add locking to clk_get_rate_range +Subject: [PATCH 0930/1284] clk: Add locking to clk_get_rate_range clk_get_rate_range() is missing the proper locks, making lockdep complain. @@ -279833,13 +279770,13 @@ index 704d80e45325..cc9b7a42a055 100644 EXPORT_SYMBOL_GPL(clk_get_rate_range); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Mar 2022 16:44:45 +0100 -Subject: [PATCH 0932/1219] drm/vc4: plane: Prevent async update if we don't +Subject: [PATCH 0931/1284] drm/vc4: plane: Prevent async update if we don't have a dlist The vc4 planes are setup in hardware by creating a hardware descriptor @@ -279876,13 +279813,13 @@ index 4595c09c782d..3462c9b6d7cf 100644 old_vc4_state->pos0_offset != new_vc4_state->pos0_offset || old_vc4_state->pos2_offset != new_vc4_state->pos2_offset || -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 21 Apr 2022 14:27:11 +0200 -Subject: [PATCH 0933/1219] drm/vc4: Consolidate Hardware Revision Check +Subject: [PATCH 0932/1284] drm/vc4: Consolidate Hardware Revision Check A new generation of controller has been introduced with the BCM2711/RaspberryPi4. This generation needs a bunch of quirks, and over @@ -280244,13 +280181,13 @@ index 3462c9b6d7cf..f0482d1ef821 100644 num_formats++; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 18 Mar 2022 09:46:35 +0100 -Subject: [PATCH 0934/1219] drm/vc4: bo: Rename vc4_dumb_create +Subject: [PATCH 0933/1284] drm/vc4: bo: Rename vc4_dumb_create We're going to add a new variant of the dumb BO allocation function, so let's rename vc4_dumb_create() to something a bit more specific. @@ -280310,13 +280247,13 @@ index 17dd7bab636d..335a974cf22a 100644 struct drm_file *file_priv); int vc4_create_shader_bo_ioctl(struct drm_device *dev, void *data, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 21 Apr 2022 10:59:41 +0200 -Subject: [PATCH 0935/1219] drm/vc4: bo: Split out Dumb buffers fixup +Subject: [PATCH 0934/1284] drm/vc4: bo: Split out Dumb buffers fixup The vc4_bo_dumb_create() both fixes up the allocation arguments to match the hardware constraints and actually performs the allocation. @@ -280392,13 +280329,13 @@ index 335a974cf22a..6caf640e38e7 100644 /* vc4_dpi.c */ extern struct platform_driver vc4_dpi_driver; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 21 Apr 2022 11:08:22 +0200 -Subject: [PATCH 0936/1219] drm/vc4: drv: Register a different driver on +Subject: [PATCH 0935/1284] drm/vc4: drv: Register a different driver on BCM2711 Prior to the BCM2711/RaspberryPi4, the GPU was a part of the display @@ -280527,13 +280464,13 @@ index 950aeda9b153..488fd0a2a938 100644 return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 21 Apr 2022 11:13:00 +0200 -Subject: [PATCH 0937/1219] drm/vc4: kms: Register a different +Subject: [PATCH 0936/1284] drm/vc4: kms: Register a different drm_mode_config_funcs on BCM2711 On the BCM2711, our current definition of drm_mode_config_funcs uses the @@ -280577,13 +280514,13 @@ index 4c3331f356e7..cf7f0cfa82b6 100644 dev->mode_config.preferred_depth = 24; dev->mode_config.async_page_flip = true; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 21 Apr 2022 11:39:27 +0200 -Subject: [PATCH 0938/1219] drm/vc4: plane: Register a different +Subject: [PATCH 0937/1284] drm/vc4: plane: Register a different drm_plane_helper_funcs on BCM2711 On the BCM2711, our current definition of drm_plane_helper_funcs uses @@ -280631,13 +280568,13 @@ index f0482d1ef821..d79654e2f65b 100644 drm_plane_create_alpha_property(plane); drm_plane_create_blend_mode_property(plane, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 21 Apr 2022 17:29:02 +0200 -Subject: [PATCH 0939/1219] drm/vc4: drv: Skip BO Backend Initialization on +Subject: [PATCH 0938/1284] drm/vc4: drv: Skip BO Backend Initialization on BCM2711 On the BCM2711, we currently call the vc4_bo_cache_init() and @@ -280689,13 +280626,13 @@ index 488fd0a2a938..b21871641833 100644 node = of_find_compatible_node(NULL, NULL, "raspberrypi,bcm2835-firmware"); if (node) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 2 May 2022 10:20:56 +0200 -Subject: [PATCH 0940/1219] drm/vc4: crtc: Use an union to store the page flip +Subject: [PATCH 0939/1284] drm/vc4: crtc: Use an union to store the page flip callback We'll need to extend the vc4_async_flip_state structure to rely on @@ -280779,13 +280716,13 @@ index 93adb5c272dd..b3e078638b4b 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 2 May 2022 15:25:20 +0200 -Subject: [PATCH 0941/1219] drm/vc4: crtc: Move the BO handling out of common +Subject: [PATCH 0940/1284] drm/vc4: crtc: Move the BO handling out of common page-flip callback We'll soon introduce another completion callback source that won't need @@ -280853,13 +280790,13 @@ index b3e078638b4b..2749ee3b5f06 100644 static void vc4_async_page_flip_fence_complete(struct dma_fence *fence, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 2 May 2022 15:27:36 +0200 -Subject: [PATCH 0942/1219] drm/vc4: crtc: Move the BO Handling out of Common +Subject: [PATCH 0941/1284] drm/vc4: crtc: Move the BO Handling out of Common Page-Flip Handler The function vc4_async_page_flip() handles asynchronous page-flips in @@ -280977,13 +280914,13 @@ index 2749ee3b5f06..4020fd9e5603 100644 struct drm_framebuffer *fb, struct drm_pending_vblank_event *event, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 2 May 2022 15:28:05 +0200 -Subject: [PATCH 0943/1219] drm/vc4: crtc: Don't call into BO Handling on Async +Subject: [PATCH 0942/1284] drm/vc4: crtc: Don't call into BO Handling on Async Page-Flips on BCM2711 The BCM2711 doesn't have a v3d GPU so we don't want to call into its BO @@ -281035,13 +280972,13 @@ index 4020fd9e5603..f10f98dc927f 100644 struct drm_crtc_state *vc4_crtc_duplicate_state(struct drm_crtc *crtc) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 21 Apr 2022 16:29:43 +0200 -Subject: [PATCH 0944/1219] drm/vc4: Warn if some v3d code is run on BCM2711 +Subject: [PATCH 0943/1284] drm/vc4: Warn if some v3d code is run on BCM2711 The BCM2711 has a separate driver for the v3d, and thus we can't call into any of the driver entrypoints that rely on the v3d being there. @@ -281814,13 +281751,13 @@ index 7cf82b071de2..e315aeb5fef5 100644 validation_state.shader = shader_obj->vaddr; validation_state.max_ip = shader_obj->base.size / sizeof(uint64_t); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Suriyan Laohaprapanon Date: Wed, 11 May 2022 18:00:22 +0100 -Subject: [PATCH 0945/1219] dtoverlays: Fix incorrect property name for display +Subject: [PATCH 0944/1284] dtoverlays: Fix incorrect property name for display rotation --- @@ -281850,13 +281787,13 @@ index bf186811ec5d..6e69bd7fa031 100644 reset_pin = <&af18>,"reset-gpios:4", <&adafruit_pins>,"brcm,pins:0"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 5 May 2022 18:50:04 +0100 -Subject: [PATCH 0946/1219] drm/vc4_hdmi: Force a modeset when Broadcast RGB +Subject: [PATCH 0945/1284] drm/vc4_hdmi: Force a modeset when Broadcast RGB setting changes Without this the change is not visible until the next modeset @@ -281889,13 +281826,13 @@ index 3f0607315487..eaaf55292914 100644 struct drm_crtc_state *crtc_state; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 1 Apr 2022 17:10:37 +0100 -Subject: [PATCH 0947/1219] drm/atomic: If margins are updated, update all +Subject: [PATCH 0946/1284] drm/atomic: If margins are updated, update all planes. Margins may be implemented by scaling the planes, but as there @@ -281955,13 +281892,13 @@ index d6814f145bd5..46976131e6a6 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 16 May 2022 12:16:46 +0100 -Subject: [PATCH 0948/1219] overlays: Add gpio-hog overlay +Subject: [PATCH 0947/1284] overlays: Add gpio-hog overlay Add an overlay to activate a hog on a specified pin. Note that hogged GPIOs are not available for other uses, i.e. drivers or @@ -282047,13 +281984,13 @@ index 000000000000..c9e39046fed9 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 May 2022 13:39:00 +0100 -Subject: [PATCH 0949/1219] configs: Regenerate defconfigs +Subject: [PATCH 0948/1284] configs: Regenerate defconfigs Signed-off-by: Phil Elwell --- @@ -282165,13 +282102,13 @@ index f1910ae088c8..95885c250f30 100644 CONFIG_VIDEO_IMX258=m CONFIG_VIDEO_IMX290=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 16 May 2022 17:33:48 +0100 -Subject: [PATCH 0950/1219] vc04_services: vchiq-mmal: Add defines for +Subject: [PATCH 0949/1284] vc04_services: vchiq-mmal: Add defines for mmal_es_format flags There is a flags field in struct mmal_es_format, but the defines @@ -282205,13 +282142,13 @@ index a118efd21d98..e0c331eb8799 100644 struct mmal_es_format_local { u32 type; /* enum mmal_es_type */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 16 May 2022 17:37:35 +0100 -Subject: [PATCH 0951/1219] vc04_services: bcm2835-codec: Add support for +Subject: [PATCH 0950/1284] vc04_services: bcm2835-codec: Add support for V4L2_PIX_FMT_NV12_COL128 V4L2_PIX_FMT_NV12_COL128 is supported by the ISP and the input of @@ -282365,13 +282302,13 @@ index 8abdd7f6b7fd..dc7c0b97fbc8 100644 dev->role); ctx->q_data[V4L2_M2M_DST].sizeimage = -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 17 May 2022 17:21:43 +0100 -Subject: [PATCH 0952/1219] drm/vc4: Add HDMI format detection registers to +Subject: [PATCH 0951/1284] drm/vc4: Add HDMI format detection registers to register list The block can detect what the incoming image timings are for @@ -282439,13 +282376,13 @@ index 0198de96c7b2..5a56761e75af 100644 VC4_HDMI_REG(HDMI_GCP_CONFIG, 0x178), VC4_HDMI_REG(HDMI_GCP_WORD_1, 0x17c), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 17 May 2022 17:23:17 +0100 -Subject: [PATCH 0953/1219] drm/vc4: Add MISC_CONTROL register for vc4. +Subject: [PATCH 0952/1284] drm/vc4: Add MISC_CONTROL register for vc4. The MISC_CONTROL register allows configuration of pixel repetition for pixel doubling in the HDMI block instead of PixelValve. @@ -282469,13 +282406,13 @@ index 5a56761e75af..48db438550b1 100644 VC4_HDMI_REG(HDMI_CEC_CNTRL_2, 0x00ec), VC4_HDMI_REG(HDMI_CEC_CNTRL_3, 0x00f0), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 17 May 2022 17:34:11 +0100 -Subject: [PATCH 0954/1219] drm/vc4: Move pixel doubling from Pixelvalve to +Subject: [PATCH 0953/1284] drm/vc4: Move pixel doubling from Pixelvalve to HDMI block With the change to 2 pixels/clock, the pixel doubling in the PV @@ -282583,13 +282520,13 @@ index eaaf55292914..61159996ed91 100644 /* * The 1440p@60 pixel rate is in the same range than the first -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Manivannan Sadhasivam Date: Mon, 20 Dec 2021 00:09:47 +0200 -Subject: [PATCH 0955/1219] dt-bindings: media: i2c: Add IMX296 CMOS sensor +Subject: [PATCH 0954/1284] dt-bindings: media: i2c: Add IMX296 CMOS sensor binding Add YAML devicetree binding for IMX296 CMOS image sensor. Let's also @@ -282706,10 +282643,10 @@ index 000000000000..e8f9a73bf2db + +... diff --git a/MAINTAINERS b/MAINTAINERS -index ca65f8656693..00bf77ac8ba2 100644 +index c8590345a8bf..92de20f31f33 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17509,6 +17509,14 @@ T: git git://linuxtv.org/media_tree.git +@@ -17504,6 +17504,14 @@ T: git git://linuxtv.org/media_tree.git F: Documentation/devicetree/bindings/media/i2c/imx290.txt F: drivers/media/i2c/imx290.c @@ -282725,13 +282662,13 @@ index ca65f8656693..00bf77ac8ba2 100644 M: Bingbu Cao L: linux-media@vger.kernel.org -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Mon, 20 Dec 2021 00:09:48 +0200 -Subject: [PATCH 0956/1219] media: i2c: IMX296 camera sensor driver +Subject: [PATCH 0955/1284] media: i2c: IMX296 camera sensor driver The IMX296LLR is a monochrome 1.60MP CMOS sensor from Sony. The driver supports cropping and binning (but not both at the same time due to @@ -282750,10 +282687,10 @@ Signed-off-by: Laurent Pinchart create mode 100644 drivers/media/i2c/imx296.c diff --git a/MAINTAINERS b/MAINTAINERS -index 00bf77ac8ba2..c8219b71a017 100644 +index 92de20f31f33..ef59491e8dce 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17516,6 +17516,7 @@ L: linux-media@vger.kernel.org +@@ -17511,6 +17511,7 @@ L: linux-media@vger.kernel.org S: Maintained T: git git://linuxtv.org/media_tree.git F: Documentation/devicetree/bindings/media/i2c/sony,imx296.yaml @@ -284003,13 +283940,13 @@ index 000000000000..4be03180deac +MODULE_AUTHOR("Laurent Pinchart "); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 17 May 2022 11:27:49 +0100 -Subject: [PATCH 0957/1219] overlays: Add imx296 overlay +Subject: [PATCH 0956/1284] overlays: Add imx296 overlay Add an overlay for the Sony IMX296 camera sensor. @@ -284169,13 +284106,13 @@ index 000000000000..85b6f7e7fca1 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 20 May 2022 11:58:21 +0100 -Subject: [PATCH 0958/1219] configs: Enable the IMX296 device module in +Subject: [PATCH 0957/1284] configs: Enable the IMX296 device module in platform defconfig Build this module by default for the following: @@ -284254,13 +284191,13 @@ index 95885c250f30..e456d05c8116 100644 CONFIG_VIDEO_IMX519=m CONFIG_VIDEO_OV2311=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 17 May 2022 12:58:37 +0100 -Subject: [PATCH 0959/1219] media: imx296: Fix Bayer order +Subject: [PATCH 0958/1284] media: imx296: Fix Bayer order Switch the Bayer ordering advertised by the device driver from BGGR to RGGB. @@ -284292,13 +284229,13 @@ index 4be03180deac..33944155a6ce 100644 format->colorspace = V4L2_COLORSPACE_RAW; format->ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 20 May 2022 09:55:42 +0100 -Subject: [PATCH 0960/1219] media: imx296: Add standby and stream on/off delays +Subject: [PATCH 0959/1284] media: imx296: Add standby and stream on/off delays Add a 1.5ms delay after coming out of standby. Add a 2ms delay after going into or coming out of streaming state. @@ -284352,13 +284289,13 @@ index 33944155a6ce..c0da6f841d8f 100644 if (ret < 0) { dev_err(sensor->dev, "failed to read sensor information (%d)\n", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 20 May 2022 09:56:11 +0100 -Subject: [PATCH 0961/1219] media: imx296: Only advertise the full resolution +Subject: [PATCH 0960/1284] media: imx296: Only advertise the full resolution mode The 1/4 resolution derived mode does not stream correctly, so remove it from @@ -284383,13 +284320,13 @@ index c0da6f841d8f..c565f319be94 100644 fse->min_width = IMX296_PIXEL_ARRAY_WIDTH / (fse->index + 1); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 20 May 2022 11:33:11 +0100 -Subject: [PATCH 0962/1219] media: imx296: Add horizontal and vertical flips +Subject: [PATCH 0961/1284] media: imx296: Add horizontal and vertical flips support Add support for hflip and vflip controls. Adjust the mbus_code value reported @@ -284543,13 +284480,13 @@ index c565f319be94..21133bf8b685 100644 format->colorspace = V4L2_COLORSPACE_RAW; format->ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 20 May 2022 11:50:24 +0100 -Subject: [PATCH 0963/1219] media: imx296: Adjust exposure limits on vblank +Subject: [PATCH 0962/1284] media: imx296: Adjust exposure limits on vblank changes The exposure lines control limits are adjusted appropriately during any change @@ -284621,13 +284558,13 @@ index 21133bf8b685..aaebf26d1a5b 100644 V4L2_CID_ANALOGUE_GAIN, IMX296_GAIN_MIN, IMX296_GAIN_MAX, 1, IMX296_GAIN_MIN); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 20 May 2022 12:05:33 +0100 -Subject: [PATCH 0964/1219] media: imx296: Set gain delay to 1 frame +Subject: [PATCH 0963/1284] media: imx296: Set gain delay to 1 frame In order to behave in a similar manner to the rolling shutter sensors, set the gain delay to 1 frame. This simplifies userland control of the gain value. @@ -284651,13 +284588,13 @@ index aaebf26d1a5b..64d46badbee7 100644 if (ret < 0) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 20 May 2022 13:18:58 +0100 -Subject: [PATCH 0965/1219] media: imx296: Add the link frequency control +Subject: [PATCH 0964/1284] media: imx296: Add the link frequency control Add the V4L2_CID_LINK_FREQ menu control for the imx296. Report a single value of 1188 Mhz for the link frequency. @@ -284703,13 +284640,13 @@ index 64d46badbee7..c1e71ae0442d 100644 &props); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Lawrence Date: Sat, 21 May 2022 20:36:52 -0400 -Subject: [PATCH 0966/1219] configs: add RV8803 RTC module to Raspberry Pi +Subject: [PATCH 0965/1284] configs: add RV8803 RTC module to Raspberry Pi board defconfigs --- @@ -284781,13 +284718,13 @@ index e456d05c8116..092e7b6b100b 100644 CONFIG_RTC_DRV_M41T93=m CONFIG_RTC_DRV_M41T94=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Lawrence Date: Sat, 21 May 2022 20:38:21 -0400 -Subject: [PATCH 0967/1219] overlays: add RV8803 RTC overlay to the generic ARM +Subject: [PATCH 0966/1284] overlays: add RV8803 RTC overlay to the generic ARM RTC device tree --- @@ -284827,13 +284764,13 @@ index 7f749fc2d802..5e03764b67b0 100644 addr = <&abx80x>, "reg:0", <&ds1307>, "reg:0", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 25 May 2022 15:57:40 +0100 -Subject: [PATCH 0968/1219] vc-sm-cma: Restore correct cache maintainance +Subject: [PATCH 0967/1284] vc-sm-cma: Restore correct cache maintainance operations We have been using the more expensive flush operations rather than @@ -284865,13 +284802,13 @@ index 82a9c6e7f277..268f97ee8673 100644 return dmac_flush_range; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 17 May 2022 12:46:42 +0100 -Subject: [PATCH 0969/1219] kms/vc4_hdmi: Refuse 4096x2160@60 hdmi modes +Subject: [PATCH 0968/1284] kms/vc4_hdmi: Refuse 4096x2160@60 hdmi modes These are no reliable without overclocking. See: https://github.com/raspberrypi/linux/issues/5034 @@ -284970,13 +284907,13 @@ index 8969d233d753..b0acdff916b8 100644 if (ret) { dev_err(&pdev->dev, "Couldn't enable the core clock\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 3 Jun 2022 21:55:22 +0100 -Subject: [PATCH 0970/1219] overlays: Document the rv8803 i2c-rtc parameter +Subject: [PATCH 0969/1284] overlays: Document the rv8803 i2c-rtc parameter Signed-off-by: Phil Elwell --- @@ -285006,13 +284943,13 @@ index 52352b083498..e423abbd535c 100644 s35390a Select the ABLIC S35390A device -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dag Bakke Date: Mon, 30 May 2022 11:57:06 +0200 -Subject: [PATCH 0971/1219] overlays: dht11: make sensor readable via hwmon +Subject: [PATCH 0970/1284] overlays: dht11: make sensor readable via hwmon Add a patch to make the sensor readable via the IIO/hwmon bridge. @@ -285066,13 +285003,13 @@ index 6feeeb402493..8b0fc6b7a3cb 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Mon, 30 May 2022 10:10:37 +0100 -Subject: [PATCH 0972/1219] media: i2c: imx477: Correct minimum exposure lines +Subject: [PATCH 0971/1284] media: i2c: imx477: Correct minimum exposure lines The minimum number of exposure lines value (IMX477_EXPOSURE_MIN) was previously 20 but this is not correct. The datasheet is not completely @@ -285100,13 +285037,13 @@ index 2b4dfdd7975a..ac79c57292b3 100644 #define IMX477_EXPOSURE_DEFAULT 0x640 #define IMX477_EXPOSURE_MAX (IMX477_FRAME_LENGTH_MAX - \ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Wed, 1 Jun 2022 19:21:09 -0700 -Subject: [PATCH 0973/1219] arm64: Initialize jump labels before +Subject: [PATCH 0972/1284] arm64: Initialize jump labels before setup_machine_fdt() commit 73e2d827a501d48dceeb5b9b267a4cd283d6b1ae upstream. @@ -285192,13 +285129,13 @@ index be5f85b0a24d..644b7cd38e3e 100644 /* -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 20 Apr 2022 18:08:38 +0100 -Subject: [PATCH 0974/1219] drm/v3d: Switch clock setting to new api +Subject: [PATCH 0973/1284] drm/v3d: Switch clock setting to new api Signed-off-by: Dom Cobley --- @@ -285251,13 +285188,13 @@ index 4636791617e1..a7afccc2e8eb 100644 v3d->clk_up = true; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 20 Apr 2022 17:40:47 +0100 -Subject: [PATCH 0975/1219] clk-raspberrypi: Enable minimize for all firmware +Subject: [PATCH 0974/1284] clk-raspberrypi: Enable minimize for all firmware clocks Signed-off-by: Dom Cobley @@ -285294,13 +285231,13 @@ index 4abecd6f528d..18aac870f159 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Aug 2021 08:57:48 +0100 -Subject: [PATCH 0976/1219] ARM: dts: Add bcm2709-rpi-cm2.dts +Subject: [PATCH 0975/1284] ARM: dts: Add bcm2709-rpi-cm2.dts Compute Module 2 is a CM3 with a 2836. The DTS file reflects that. @@ -285549,13 +285486,13 @@ index 000000000000..17fd77bd5744 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Jun 2022 16:03:58 +0100 -Subject: [PATCH 0977/1219] spi: bcm2835: Fix for shared interrupts +Subject: [PATCH 0976/1284] spi: bcm2835: Fix for shared interrupts BCM2711 shares an interrupt betweem 5 SPI interfaces (0, 3, 4, 5 & 6). Another interrupt is shared between SPI1, SPI2 and UART1, which also @@ -285603,13 +285540,13 @@ index 4e27135eba32..360c2c95f3b9 100644 bcm2835_rd_fifo(bs); /* Write as many bytes as possible to FIFO */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 3 Jun 2022 16:45:10 +0100 -Subject: [PATCH 0978/1219] drm: vc4: Fix colour order for xRGB1555 on HVS5 +Subject: [PATCH 0977/1284] drm: vc4: Fix colour order for xRGB1555 on HVS5 Same as the xRGB8888 formats, HVS5 has managed to swap the colour channels for the xRGB1555 formats as well. Add the relevant @@ -285640,13 +285577,13 @@ index d79654e2f65b..9fbff67da873 100644 { .drm = DRM_FORMAT_RGB888, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 3 Jun 2022 16:49:09 +0100 -Subject: [PATCH 0979/1219] drm: vc4: 0 is a valid value for pixel_order_hvs5, +Subject: [PATCH 0978/1284] drm: vc4: 0 is a valid value for pixel_order_hvs5, so fix conditionals vc4_plane_mode_set for HVS5 was using pixel_order unless pixel_order_hvs5 @@ -285764,13 +285701,13 @@ index 9fbff67da873..00b2c74a44dd 100644 VC4_SET_FIELD(tiling, SCALER_CTL0_TILING) | (vc4_state->is_unity ? -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 6 Jun 2022 12:23:28 +0100 -Subject: [PATCH 0980/1219] drm: vc4: Omit pixel_order from the hvs_format for +Subject: [PATCH 0979/1284] drm: vc4: Omit pixel_order from the hvs_format for hvs5 only formats pixel_order is used for the earlier versions of the HVS, so is @@ -285824,13 +285761,13 @@ index 00b2c74a44dd..a17e2a6ecb50 100644 .hvs5_only = true, }, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 3 Jun 2022 16:57:04 +0100 -Subject: [PATCH 0981/1219] drm: vc4: Add 3:3:2 and 4:4:4:4 RGB/RGBX/RGBA +Subject: [PATCH 0980/1284] drm: vc4: Add 3:3:2 and 4:4:4:4 RGB/RGBX/RGBA formats The hardware supports the 332 8bpp and 4:4:4:4 16bpp formats, @@ -285935,13 +285872,13 @@ index a17e2a6ecb50..849385ff9761 100644 case DRM_FORMAT_YVU422: case DRM_FORMAT_YUV420: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 6 Jun 2022 14:53:56 +0100 -Subject: [PATCH 0982/1219] drm: vc4: Add comments for which +Subject: [PATCH 0981/1284] drm: vc4: Add comments for which HVS_PIXEL_ORDER_xxx defines apply The HVS_PIXEL_ORDER_xxx defines apply to specific HVS_PIXEL_FORMAT_xxx @@ -285977,13 +285914,13 @@ index 88e9a398758e..82b0fdabe2a0 100644 #define HVS_PIXEL_ORDER_XYCRCB 1 #define HVS_PIXEL_ORDER_YXCBCR 2 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 7 Jun 2022 13:37:38 +0100 -Subject: [PATCH 0983/1219] ARM: dts: zero-2-w: Better names for GPIOs 14 & 15 +Subject: [PATCH 0982/1284] ARM: dts: zero-2-w: Better names for GPIOs 14 & 15 GPIOs 14 and 15 are currently labelled TXD0 and RXD0, which matches comments on the schematic but 1) doesn't reflect their likely usage @@ -286013,13 +285950,13 @@ index 601b0573c7a7..c0d7bd733278 100644 "GPIO17", "GPIO18", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 7 Jun 2022 14:00:37 +0100 -Subject: [PATCH 0984/1219] ARM: dts: zero-w: Better names for GPIOs 14 & 15 +Subject: [PATCH 0983/1284] ARM: dts: zero-w: Better names for GPIOs 14 & 15 GPIOs 14 and 15 are currently labelled TXD0 and RXD0, which matches comments on the schematic but 1) doesn't reflect their likely usage @@ -286049,13 +285986,13 @@ index d96a5c82e069..b49c3cb1438d 100644 "GPIO17", "GPIO18", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 19 May 2022 17:30:02 +0100 -Subject: [PATCH 0985/1219] vc04_services: bcm2835-codec: Set crop_height for +Subject: [PATCH 0984/1284] vc04_services: bcm2835-codec: Set crop_height for compressed formats In particular for the encoder where the CAPTURE format dictates @@ -286084,13 +286021,13 @@ index dc7c0b97fbc8..7dcb3d5aa608 100644 /* -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 19 May 2022 17:38:53 +0100 -Subject: [PATCH 0986/1219] vc04_services: bcm2835-codec: Set port format from +Subject: [PATCH 0985/1284] vc04_services: bcm2835-codec: Set port format from s_selection s_selection allows the crop region of an uncompressed pixel @@ -286154,13 +286091,13 @@ index 7dcb3d5aa608..6df12827713a 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 1 Jun 2022 15:43:51 +0100 -Subject: [PATCH 0987/1219] drm/vc4_hdmi: Allow hotplug detect to be forced +Subject: [PATCH 0986/1284] drm/vc4_hdmi: Allow hotplug detect to be forced See: https://forum.libreelec.tv/thread/24783-tv-avr-turns-back-on-right-after-turning-them-off @@ -286218,13 +286155,13 @@ index 678d2e543c0d..03edf5cc2a58 100644 connected = true; } else { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 13 May 2022 17:21:42 +0800 -Subject: [PATCH 0988/1219] media: dt-bindings: media: i2c: Add Arducam 64MP +Subject: [PATCH 0987/1284] media: dt-bindings: media: i2c: Add Arducam 64MP CMOS sensor binding Add YAML device tree binding for Arducam 64MP CMOS image sensor, and @@ -286359,7 +286296,7 @@ index 000000000000..b71a19782f97 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index c8219b71a017..35010235557e 100644 +index ef59491e8dce..ac502c5dc32b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1388,6 +1388,14 @@ S: Maintained @@ -286378,13 +286315,13 @@ index c8219b71a017..35010235557e 100644 M: Arducam Kernel Maintenance L: linux-media@vger.kernel.org -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 13 May 2022 17:11:35 +0800 -Subject: [PATCH 0989/1219] media: i2c: Add driver of Arducam 64MP camera +Subject: [PATCH 0988/1284] media: i2c: Add driver of Arducam 64MP camera Add a driver for the Arducam 64MP camera sensor. Whilst the sensor supports 2 or 4 CSI2 data lanes, this driver @@ -288849,13 +288786,13 @@ index 000000000000..58a1bc710819 +MODULE_DESCRIPTION("Arducam 64MP sensor driver"); +MODULE_LICENSE("GPL v2"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Wed, 18 May 2022 15:18:59 +0800 -Subject: [PATCH 0990/1219] media: i2c: arducam_64mp: Advertise embedded data +Subject: [PATCH 0989/1284] media: i2c: arducam_64mp: Advertise embedded data node on media pad 1 This commit updates the arducam_64mp driver to adverise support for @@ -289111,13 +289048,13 @@ index 58a1bc710819..42b777b96496 100644 dev_err(dev, "failed to init entity pads: %d\n", ret); goto error_handler_free; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Mon, 16 May 2022 10:03:23 +0800 -Subject: [PATCH 0991/1219] configs: Add CONFIG_VIDEO_ARDUCAM_64MP=m +Subject: [PATCH 0990/1284] configs: Add CONFIG_VIDEO_ARDUCAM_64MP=m Include the driver module for the Arducam 64MP. @@ -289191,13 +289128,13 @@ index 092e7b6b100b..7fffb6eaabb2 100644 CONFIG_VIDEO_IMX219=m CONFIG_VIDEO_IMX258=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Mon, 16 May 2022 10:20:19 +0800 -Subject: [PATCH 0992/1219] overlays: Add arducam-64mp-overlay.dts +Subject: [PATCH 0991/1284] overlays: Add arducam-64mp-overlay.dts Added overlays for enabling Arducam 64MP and add the relevant information to the README. @@ -289349,13 +289286,13 @@ index 000000000000..19c8cb6e451c + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Jun 2022 11:57:30 +0100 -Subject: [PATCH 0993/1219] ARM: dts: bcm2711: Use the rpi-vid-decoder driver +Subject: [PATCH 0992/1284] ARM: dts: bcm2711: Use the rpi-vid-decoder driver The rpi-vid-decoder driver has been the preferred option for a while, so make it the default. @@ -289408,13 +289345,13 @@ index cd5c43adc56b..5b18e8f92145 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Jun 2022 12:00:32 +0100 -Subject: [PATCH 0994/1219] overlays: Delete+deprecate the rpivid-v4l2 overlay +Subject: [PATCH 0993/1284] overlays: Delete+deprecate the rpivid-v4l2 overlay Now that the rpivid-vid-decoder driver is the default, this overlay is no longer needed. @@ -289528,13 +289465,13 @@ index bdd1c0e5a915..000000000000 - }; -}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Jun 2022 13:47:22 +0100 -Subject: [PATCH 0995/1219] ARM64: dts: Add Zero 2 W and CM4S +Subject: [PATCH 0994/1284] ARM64: dts: Add Zero 2 W and CM4S Zero 2 W and CM4S are 64-bit-capable, so their DTBs should be buildable in the arm64 tree. @@ -289593,13 +289530,13 @@ index 000000000000..28e0980a374b @@ -0,0 +1 @@ +#include "../../../../arm/boot/dts/bcm2711-rpi-cm4s.dts" -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 21 Jun 2022 08:51:43 +0100 -Subject: [PATCH 0996/1219] configs: Enable pstore and ramoops as built-ins +Subject: [PATCH 0995/1284] configs: Enable pstore and ramoops as built-ins The pstore and ramoops modules together allow kernel crash logs to be preserved across a reboot. They have beeb configued as built-ins @@ -289706,13 +289643,13 @@ index 7fffb6eaabb2..4cf932c3c2b6 100644 CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 21 Jun 2022 08:59:53 +0100 -Subject: [PATCH 0997/1219] overlays: Add the ramoops overlay +Subject: [PATCH 0996/1284] overlays: Add the ramoops overlay The ramoops overlay enables the preservation of crash logs across a reboot. @@ -289864,13 +289801,13 @@ index 000000000000..4f3d30ef069a + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 21 Jun 2022 14:30:47 +0100 -Subject: [PATCH 0998/1219] configs: Enable the MAX7300/7301 GPIO expanders +Subject: [PATCH 0997/1284] configs: Enable the MAX7300/7301 GPIO expanders Signed-off-by: Phil Elwell --- @@ -289977,13 +289914,13 @@ index 4cf932c3c2b6..0b32007fd58e 100644 CONFIG_W1=m CONFIG_W1_MASTER_DS2490=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 23 Jun 2022 15:19:58 +0100 -Subject: [PATCH 0999/1219] media: i2c: imx477: Enable sensor temperature +Subject: [PATCH 0998/1284] media: i2c: imx477: Enable sensor temperature readout Enable the internal thermal sensor which returns the temperature values through @@ -290007,13 +289944,13 @@ index ac79c57292b3..53e0656da53d 100644 {0xe07a, 0x01}, {0x0808, 0x02}, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Thu, 16 Sep 2021 14:27:41 -0700 -Subject: [PATCH 1000/1219] net: phy: broadcom: Enable 10BaseT DAC early wake +Subject: [PATCH 0999/1284] net: phy: broadcom: Enable 10BaseT DAC early wake Enable the DAC early wake when then link operates at 10BaseT allows power savings in the hundreds of milli Watts by shutting down the @@ -290221,13 +290158,13 @@ index ea2f8ea92d54..69510a74a793 100644 #define MII_BCM54XX_EXP_EXP75_VDACCTRL 0x003c #define MII_BCM54XX_EXP_EXP75_CM_OSC 0x0001 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Mon, 20 Sep 2021 14:54:14 -0700 -Subject: [PATCH 1001/1219] net: phy: broadcom: Add IDDQ-SR mode +Subject: [PATCH 1000/1284] net: phy: broadcom: Add IDDQ-SR mode Add support for putting the PHY into IDDQ Soft Recovery mode by setting the TOP_MISC register bits accordingly. This requires us to implement a @@ -290362,13 +290299,13 @@ index 69510a74a793..2585e8070626 100644 * BCM5482: Secondary SerDes registers */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Mon, 20 Sep 2021 14:54:15 -0700 -Subject: [PATCH 1002/1219] net: phy: broadcom: Wire suspend/resume for +Subject: [PATCH 1001/1284] net: phy: broadcom: Wire suspend/resume for BCM50610 and BCM50610M These two Ethernet PHYs support IDDQ-SR therefore wire-up the suspend @@ -290403,13 +290340,13 @@ index 1bff74e9b8d4..80ce421ffcd7 100644 .phy_id = PHY_ID_BCM57780, .phy_id_mask = 0xfffffff0, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Mon, 20 Sep 2021 14:54:16 -0700 -Subject: [PATCH 1003/1219] net: phy: broadcom: Utilize appropriate suspend for +Subject: [PATCH 1002/1284] net: phy: broadcom: Utilize appropriate suspend for BCM54810/11 Since we enable APD and DLL/RXC/TXC disable we need to use @@ -290445,13 +290382,13 @@ index 80ce421ffcd7..7beae63d6daa 100644 .link_change_notify = bcm54xx_link_change_notify, }, { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Lemon Date: Tue, 21 Jun 2022 22:04:52 -0700 -Subject: [PATCH 1004/1219] net: phy: broadcom: Add Broadcom PTP hooks to +Subject: [PATCH 1003/1284] net: phy: broadcom: Add Broadcom PTP hooks to bcm-phy-lib Add 'struct bcm_ptp_private' to bcm54xx_phy_priv which points to @@ -290579,13 +290516,13 @@ index 7beae63d6daa..6cbd8238aeb9 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Lemon Date: Tue, 21 Jun 2022 22:04:53 -0700 -Subject: [PATCH 1005/1219] net: phy: broadcom: Add PTP support for some +Subject: [PATCH 1004/1284] net: phy: broadcom: Add PTP support for some Broadcom PHYs. This adds PTP support for BCM54210E Broadcom PHYs, in particular, @@ -291363,13 +291300,13 @@ index 000000000000..6f462c232e9e + +MODULE_LICENSE("GPL"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Lemon Date: Tue, 21 Jun 2022 22:04:54 -0700 -Subject: [PATCH 1006/1219] net: phy: Add support for 1PPS out and external +Subject: [PATCH 1005/1284] net: phy: Add support for 1PPS out and external timestamps The perout function is used to generate a 1PPS signal, synchronized @@ -291684,13 +291621,13 @@ index 6f462c232e9e..ef00d6163061 100644 if (IS_ERR(clock)) return ERR_CAST(clock); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Lemon Date: Fri, 29 Apr 2022 17:40:11 -0700 -Subject: [PATCH 1007/1219] Add PHY_ID_BCM54213PE identifier. +Subject: [PATCH 1006/1284] Add PHY_ID_BCM54213PE identifier. The BCM54213PE identifier is a RPI-specific addition. Add this case to the PHY model selector. @@ -291715,13 +291652,13 @@ index ef00d6163061..08a1824d4a53 100644 default: return NULL; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Lemon Date: Wed, 4 May 2022 14:33:05 -0700 -Subject: [PATCH 1008/1219] Populate phy driver block for BCM54213PE +Subject: [PATCH 1007/1284] Populate phy driver block for BCM54213PE The BCM54213PE identifier is a RPI-specific addition. Populate the remainder of the driver functions, including the @@ -291754,13 +291691,13 @@ index 6cbd8238aeb9..3c4035d5489a 100644 .phy_id = PHY_ID_BCM5461, .phy_id_mask = 0xfffffff0, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 27 Jun 2022 12:42:34 +0100 -Subject: [PATCH 1009/1219] configs: Rengenerate +Subject: [PATCH 1008/1284] configs: Rengenerate Signed-off-by: Dom Cobley --- @@ -291832,13 +291769,13 @@ index 0b32007fd58e..a70aa7cac783 100644 CONFIG_I2C_CHARDEV=m CONFIG_I2C_MUX_GPMUX=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 27 Jun 2022 12:43:12 +0100 -Subject: [PATCH 1010/1219] config: Enable CONFIG_NETWORK_PHY_TIMESTAMPIN on +Subject: [PATCH 1009/1284] config: Enable CONFIG_NETWORK_PHY_TIMESTAMPIN on 2711 See: https://github.com/raspberrypi/linux/issues/4151 @@ -291874,13 +291811,13 @@ index e29836af6e48..1690de23a254 100644 CONFIG_BRIDGE_NETFILTER=m CONFIG_NF_CONNTRACK=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 1 Jul 2022 15:51:49 +0100 -Subject: [PATCH 1011/1219] drm/vc4: Correct interlaced timings again +Subject: [PATCH 1010/1284] drm/vc4: Correct interlaced timings again The back porch timings were correct, only the sync offset was wrong. Correct timing is now reported for 1080i and 576i, but the h offset is @@ -291912,13 +291849,13 @@ index 03edf5cc2a58..4bb97d4ea2c1 100644 unsigned long flags; unsigned char gcp; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 4 Jul 2022 11:48:57 +0100 -Subject: [PATCH 1012/1219] media: dt-bindings: imx258: Add alternate +Subject: [PATCH 1011/1284] media: dt-bindings: imx258: Add alternate compatible strings There are a number of variants of the imx258 modules that can not @@ -291948,13 +291885,13 @@ index cde0f7383b2a..3fc30a79c538 100644 assigned-clocks: true assigned-clock-parents: true -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 21 Jun 2022 14:55:41 +0100 -Subject: [PATCH 1013/1219] media: i2c: imx258: Change register settings for +Subject: [PATCH 1012/1284] media: i2c: imx258: Change register settings for variants of the sensor Sony have advised that there are variants of the IMX258 sensor which @@ -292132,13 +292069,13 @@ index 63692f75c641..55f82571421e 100644 static struct i2c_driver imx258_i2c_driver = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 4 Jul 2022 11:50:18 +0100 -Subject: [PATCH 1014/1219] dtoverlays: Use PDAF variant for imx258 overlay +Subject: [PATCH 1013/1284] dtoverlays: Use PDAF variant for imx258 overlay There are a number of variants of the imx258 sensor. The only version that is currently made into a module for use with the Pi @@ -292166,13 +292103,13 @@ index 7a8ed540438e..3cefd59663a0 100644 status = "okay"; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 Jul 2022 09:04:55 +0100 -Subject: [PATCH 1015/1219] staging: vc04_services: Fix clang14 warning +Subject: [PATCH 1014/1284] staging: vc04_services: Fix clang14 warning Insert a break to fix a fallthrough warning from clang14. Since the fallthrough was to another break, this is a cosmetic change. @@ -292198,13 +292135,13 @@ index 122f2f66096f..dc0829b483ec 100644 break; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 Jul 2022 17:00:50 +0100 -Subject: [PATCH 1016/1219] overlays: Support i2c3-6 in container overlays +Subject: [PATCH 1015/1284] overlays: Support i2c3-6 in container overlays The I2C container overlays (i2c-rtc, i2c-fan and now i2c-sensor) take parameters to select which I2C bus to use. Extend the list of @@ -293040,13 +292977,13 @@ index 33965be4b1e8..f8a39659d83e 100755 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 6 Jul 2022 08:43:27 +0100 -Subject: [PATCH 1017/1219] overlays: README: i2c3-6 are BCM2711 only +Subject: [PATCH 1016/1284] overlays: README: i2c3-6 are BCM2711 only State clearly that the i2c3, i2c4, i2c5 and i2c6 are only for BCM2711. @@ -293123,13 +293060,13 @@ index a7300ac76ce9..08e499900e26 100644 Name: i2c0 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 4 Jul 2022 18:10:23 +0100 -Subject: [PATCH 1018/1219] media: i2c: ov9281: Correct min/def vts for 640x400 +Subject: [PATCH 1017/1284] media: i2c: ov9281: Correct min/def vts for 640x400 A VTS of 421 in the 640x400 mode only streams at 130.2fps instead of the expected ~261fps. This appears to be an invalid @@ -293156,13 +293093,13 @@ index 0a5f9e0927ae..2fb40e63c585 100644 .left = 0, .top = 0, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 4 Jul 2022 18:12:56 +0100 -Subject: [PATCH 1019/1219] media: i2c: ov9281: Change exposure default value +Subject: [PATCH 1018/1284] media: i2c: ov9281: Change exposure default value with mode choice When the exposure range is updated due to changing VBLANK, adopt @@ -293191,13 +293128,13 @@ index 2fb40e63c585..552b65847953 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Julianno Francisco do Canto Silva Date: Mon, 11 Jul 2022 16:38:57 -0300 -Subject: [PATCH 1020/1219] Overlay for GalaxyCore GC9A01 displays (#5086) +Subject: [PATCH 1019/1284] Overlay for GalaxyCore GC9A01 displays (#5086) This includes an overlay for easy use of displays based on GalaxyCore's GC9A01 single chip driver, attaching them on `spi0` as `fb1` framebuffer. --- @@ -293410,13 +293347,13 @@ index 000000000000..f1bcd1aeffad + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 13 Jul 2022 09:35:12 +0100 -Subject: [PATCH 1021/1219] rpi-simple-soundcard: Add Dion Audio KIWI streamer +Subject: [PATCH 1020/1284] rpi-simple-soundcard: Add Dion Audio KIWI streamer Signed-off-by: Miquel Blauw --- @@ -293465,13 +293402,13 @@ index c25351e6ee90..5f754afb7f79 100644 { .compatible = "merus,merus-amp", .data = (void *) &drvdata_merus_amp }, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 13 Jul 2022 09:37:38 +0100 -Subject: [PATCH 1022/1219] overlays: Add dionaudio-kiwi +Subject: [PATCH 1021/1284] overlays: Add dionaudio-kiwi Add support for the Dion Audio KIWI streamer. @@ -293558,13 +293495,13 @@ index 000000000000..128ef54eb89f + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Wed, 13 Jul 2022 18:00:21 +0200 -Subject: [PATCH 1023/1219] pinctrl: bcm2835: drop irq_enable/disable callbacks +Subject: [PATCH 1022/1284] pinctrl: bcm2835: drop irq_enable/disable callbacks commit db1b3ecee9dbb010f0ac951e3953167f5e088c6f upstream. @@ -293619,13 +293556,13 @@ index fc2cc1966041..822e37fc9483 100644 .flags = IRQCHIP_MASK_ON_SUSPEND, }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 15 Jul 2022 11:36:25 +0100 -Subject: [PATCH 1024/1219] ARM: dts: Enable USB by default on CM4S +Subject: [PATCH 1023/1284] ARM: dts: Enable USB by default on CM4S Signed-off-by: Phil Elwell --- @@ -293654,13 +293591,13 @@ index 30068ca41d0e..03c6a5e29284 100644 status = "disabled"; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 19 Jul 2022 08:46:14 +0100 -Subject: [PATCH 1025/1219] Revert "ext4: make mb_optimize_scan performance +Subject: [PATCH 1024/1284] Revert "ext4: make mb_optimize_scan performance mount option work with extents" This reverts commit 3c65b7309d2e0dd8d134e7813cd95debd91ea07b. @@ -293689,13 +293626,13 @@ index 0c7498a59943..094bda1fac90 100644 return 1; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 Jul 2022 13:15:00 +0100 -Subject: [PATCH 1026/1219] dtoverlays: Add nohdmi options to vc4-kms-v3d +Subject: [PATCH 1025/1284] dtoverlays: Add nohdmi options to vc4-kms-v3d overlays There are cases where hotplug detect is incorrectly wired @@ -293760,13 +293697,13 @@ index 76229cad7803..39df2133b3ee 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 Jul 2022 14:53:42 +0100 -Subject: [PATCH 1027/1219] configs: Enable IIO software trigger modules +Subject: [PATCH 1026/1284] configs: Enable IIO software trigger modules See: https://github.com/raspberrypi/linux/issues/4984 @@ -293890,13 +293827,13 @@ index a70aa7cac783..9787988e3d45 100644 CONFIG_MAXIM_THERMOCOUPLE=m CONFIG_MAX31856=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Jul 2022 10:02:09 +0100 -Subject: [PATCH 1028/1219] configs: Enable IP_VS_IPV6 (for loadbalancing) +Subject: [PATCH 1027/1284] configs: Enable IP_VS_IPV6 (for loadbalancing) The Raspberry Pi defconfigs enable suport for IP Virtual Servers with many of the optional features, but for some reason exclude the IPV6 @@ -293976,13 +293913,13 @@ index 9787988e3d45..c99d210e79ce 100644 CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_ESP=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Jul 2022 11:32:08 +0100 -Subject: [PATCH 1029/1219] configs: Enable CEPH_FS=m +Subject: [PATCH 1028/1284] configs: Enable CEPH_FS=m Add support for the CEPH distributed filesystem. @@ -294058,13 +293995,13 @@ index c99d210e79ce..786840551d70 100644 CONFIG_CIFS_UPCALL=y CONFIG_CIFS_XATTR=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Jul 2022 18:15:33 +0100 -Subject: [PATCH 1030/1219] overlays: Make more overlays runtime-capable +Subject: [PATCH 1029/1284] overlays: Make more overlays runtime-capable The kernel now rejects the creation of a DT node with the same name as an existing node, so take care not to do that. @@ -294433,13 +294370,13 @@ index 986d725a2652..64163bf932b7 100644 brcm,function = <2>; /* alt5 */ brcm,pull = <0 2>; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 22 Jul 2022 14:20:49 +0100 -Subject: [PATCH 1031/1219] overlays: Mark more overlays as Pi4-specific +Subject: [PATCH 1030/1284] overlays: Mark more overlays as Pi4-specific Signed-off-by: Phil Elwell --- @@ -294483,13 +294420,13 @@ index 3944b0c30986..df63a1793b42 100644 + }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Thu, 4 Aug 2022 12:31:17 +0200 -Subject: [PATCH 1032/1219] overlays:Adds HiFiBerry AMP3 +Subject: [PATCH 1031/1284] overlays:Adds HiFiBerry AMP3 Adds AMP3 board definitions. @@ -294594,13 +294531,13 @@ index 000000000000..a01e263a133b + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Thu, 4 Aug 2022 15:15:09 +0200 -Subject: [PATCH 1033/1219] rpi-simple-soundcard: adds definitions for the +Subject: [PATCH 1032/1284] rpi-simple-soundcard: adds definitions for the HiFiBerry AMP3 card Uses Infineon MA120x0 amplifier and supports full sample rate of 192ksps. @@ -294653,13 +294590,13 @@ index 5f754afb7f79..fd1e42956066 100644 .data = (void *) &drvdata_hifiberry_dac }, { .compatible = "dionaudio,dionaudio-kiwi", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 8 Aug 2022 10:01:41 +0100 -Subject: [PATCH 1034/1219] media: bcm2835-unicam: Correctly handle FS + FE ISR +Subject: [PATCH 1033/1284] media: bcm2835-unicam: Correctly handle FS + FE ISR condtion If we get a simultaneous FS + FE interrupt for the same frame, it cannot be @@ -294723,13 +294660,13 @@ index 401d2c4d734f..cad7f018b221 100644 } unicam->sequence++; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 29 Jul 2022 17:46:49 +0100 -Subject: [PATCH 1035/1219] media: video-mux: Read CSI2 config from FW, and +Subject: [PATCH 1034/1284] media: video-mux: Read CSI2 config from FW, and pass to receiver There is no obligation for all source devices on a video-mux to @@ -294881,13 +294818,13 @@ index 905005e271ca..dd03e6229d2c 100644 vmux->subdev.entity.function = MEDIA_ENT_F_VID_MUX; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 8 Aug 2022 17:12:45 +0100 -Subject: [PATCH 1036/1219] media: i2c: imx290: Add compatible strings for +Subject: [PATCH 1035/1284] media: i2c: imx290: Add compatible strings for IMX327 and IMX462 IMX327 is the previous generation to IMX290, and supports up to 1080p60 @@ -294946,13 +294883,13 @@ index a6f4ba5b9345..c5abef46ed5d 100644 }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 8 Aug 2022 17:24:53 +0100 -Subject: [PATCH 1037/1219] dtoverlays: Add overlays for Sony IMX327 and IMX462 +Subject: [PATCH 1036/1284] dtoverlays: Add overlays for Sony IMX327 and IMX462 image sensors These are currently identical to IMX290, but have slightly @@ -295135,13 +295072,13 @@ index 000000000000..e2b54a7a9f98 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 12 Jul 2022 13:34:56 +0100 -Subject: [PATCH 1038/1219] defconfigs: Add VIDEO_MUX to all defconfigs +Subject: [PATCH 1037/1284] defconfigs: Add VIDEO_MUX to all defconfigs Supports camera multiplexers using the mux framework. @@ -295215,13 +295152,13 @@ index 786840551d70..9d3d4e6842d9 100644 CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIMC=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 11 Jul 2022 09:23:57 +0100 -Subject: [PATCH 1039/1219] dtoverlays: Reshuffle image sensor overlays to +Subject: [PATCH 1038/1284] dtoverlays: Reshuffle image sensor overlays to allow use with muxes There are third-party CSI-2 muxes available that ideally want to @@ -297574,13 +297511,13 @@ index 000000000000..7df43bc6ef39 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Tue, 5 Jul 2022 01:54:18 +0300 -Subject: [PATCH 1040/1219] bcm2835-v4l2-codec: support H.264 5.0 and 5.1 +Subject: [PATCH 1039/1284] bcm2835-v4l2-codec: support H.264 5.0 and 5.1 levels --- @@ -297625,13 +297562,13 @@ index 6df12827713a..ca063a25ab12 100644 v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, V4L2_CID_MPEG_VIDEO_H264_PROFILE, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 16 Aug 2022 14:28:29 +0100 -Subject: [PATCH 1041/1219] configs: Add support for Cilium on 2711 64-bit +Subject: [PATCH 1040/1284] configs: Add support for Cilium on 2711 64-bit See: https://github.com/raspberrypi/linux/issues/5127 @@ -297684,13 +297621,13 @@ index 2c8e5e0cdab6..17246b634d6d 100644 CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_LZ4=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 13 Jun 2022 16:47:31 +0200 -Subject: [PATCH 1042/1219] drm/vc4: plane: Remove subpixel positioning check +Subject: [PATCH 1041/1284] drm/vc4: plane: Remove subpixel positioning check [ Upstream commit 517db1ab1566dba3093dbdb8de4263ba4aa66416 ] @@ -297743,13 +297680,13 @@ index 849385ff9761..5d8dc921bfa7 100644 vc4_state->crtc_x = state->dst.x1; vc4_state->crtc_y = state->dst.y1; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 21 Aug 2022 16:36:25 +0100 -Subject: [PATCH 1043/1219] overlays: gpio-fan: Add hyst (hysteresis) param +Subject: [PATCH 1042/1284] overlays: gpio-fan: Add hyst (hysteresis) param See: https://forums.raspberrypi.com/viewtopic.php?t=339143 @@ -297770,13 +297707,13 @@ index 77a7bbb41e3b..fa77c3f397f0 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 21 Aug 2022 16:46:39 +0100 -Subject: [PATCH 1044/1219] overlays: gpio-fan: Document the hyst parameter +Subject: [PATCH 1043/1284] overlays: gpio-fan: Document the hyst parameter See: https://forums.raspberrypi.com/viewtopic.php?t=339143 @@ -297800,13 +297737,13 @@ index 309642ff5244..2d54622331a5 100644 Name: gpio-hog -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ashish Vara Date: Mon, 15 Aug 2022 01:09:07 +0530 -Subject: [PATCH 1045/1219] sound: soc: bcm: Added Sound card driver for +Subject: [PATCH 1044/1284] sound: soc: bcm: Added Sound card driver for Dacberry400 Audio card for Raspberry Pi 400 Added Sound card driver for DACberry400 Audio card. @@ -298116,13 +298053,13 @@ index 000000000000..55c2613669dd +MODULE_ALIAS("platform:dacberry400"); +MODULE_SOFTDEP("pre: snd-soc-tlv320aic3x"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ashish Vara Date: Mon, 22 Aug 2022 13:11:37 +0530 -Subject: [PATCH 1046/1219] overlays: Add dacberry400 +Subject: [PATCH 1045/1284] overlays: Add dacberry400 Added overlay file for dacberry400 audio card. @@ -298241,13 +298178,13 @@ index 000000000000..4e03baadbd71 + + -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ashish Vara Date: Mon, 22 Aug 2022 13:51:12 +0530 -Subject: [PATCH 1047/1219] configs: Enable DACBERRY400 +Subject: [PATCH 1046/1284] configs: Enable DACBERRY400 Signed-off-by: Ashish Vara --- @@ -298306,13 +298243,13 @@ index 9d3d4e6842d9..96be5e202550 100644 CONFIG_SND_SOC_AD193X_I2C=m CONFIG_SND_SOC_ADAU1701=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: AMuszkat <53743735+AMuszkat@users.noreply.github.com> Date: Tue, 23 Aug 2022 09:25:53 +0200 -Subject: [PATCH 1048/1219] overlays: merus-amp: Set GPIO 8 as input np +Subject: [PATCH 1047/1284] overlays: merus-amp: Set GPIO 8 as input np Set GPIO 8 as input np for proper msel configuration at boot up. --- @@ -298345,13 +298282,13 @@ index 4501fbdc253d..ec5c7c28f728 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 3 Feb 2022 15:51:41 +0000 -Subject: [PATCH 1049/1219] net: phy: lan87xx: Decrease phy polling rate +Subject: [PATCH 1048/1284] net: phy: lan87xx: Decrease phy polling rate Polling at 100Hz for 1.5s consumes quite a bit of kworker time with no obvious benefit. Reduce that polling rate to ~6Hz. @@ -298406,13 +298343,13 @@ index 2004bc0dae60..960382c3d717 100644 return err; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Mon, 16 May 2022 10:28:27 +0100 -Subject: [PATCH 1050/1219] mmc: block: Don't do single-sector reads during +Subject: [PATCH 1049/1284] mmc: block: Don't do single-sector reads during recovery See https://github.com/raspberrypi/linux/issues/5019 @@ -298446,13 +298383,13 @@ index 02fa6cce0b00..66694d9f671f 100644 /* Read one (native) sector at a time */ mmc_blk_read_single(mq, req); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Wed, 24 Aug 2022 11:41:36 +0200 -Subject: [PATCH 1051/1219] rpi-simple-soundcard: limits sample rate of Merus +Subject: [PATCH 1050/1284] rpi-simple-soundcard: limits sample rate of Merus Amp board Adding a dedicated hw_params function to limit the maximum sample @@ -298513,13 +298450,13 @@ index fd1e42956066..85ef1a2207f4 100644 SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell <8911409+pelwell@users.noreply.github.com> Date: Wed, 24 Aug 2022 11:14:40 +0100 -Subject: [PATCH 1052/1219] drm/vc4: Add async update support for cursor planes +Subject: [PATCH 1051/1284] drm/vc4: Add async update support for cursor planes Now that cursors are implemented as regular planes, all cursor movements result in atomic updates. As the firmware-kms driver @@ -298606,13 +298543,13 @@ index 99e379c9812b..94df930b3232 100644 static struct drm_plane *vc4_fkms_plane_init(struct drm_device *dev, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 Aug 2022 10:12:58 +0100 -Subject: [PATCH 1053/1219] Revert "usbnet: smsc95xx: Avoid link settings race +Subject: [PATCH 1052/1284] Revert "usbnet: smsc95xx: Avoid link settings race on interrupt reception" This reverts commit 09201006dac9bf11a8e6755a11c74d5bccd54e7c. @@ -298684,13 +298621,13 @@ index 7b0d7dc531c0..220026c0b50e 100644 .check_connect = smsc95xx_start_phy, .stop = smsc95xx_stop, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 Aug 2022 10:13:27 +0100 -Subject: [PATCH 1054/1219] Revert "usbnet: smsc95xx: Don't clear read-only PHY +Subject: [PATCH 1053/1284] Revert "usbnet: smsc95xx: Don't clear read-only PHY interrupt" This reverts commit 04887243887630f2478a330730d13d87a079b6c8. @@ -298718,13 +298655,13 @@ index 220026c0b50e..64ad4f1daee4 100644 if (pdata->phydev->duplex != DUPLEX_FULL) { pdata->mac_cr &= ~MAC_CR_FDPX_; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Aug 2022 12:16:37 +0100 -Subject: [PATCH 1055/1219] defconfigs: Add CONFIG_MUX_GPIO. +Subject: [PATCH 1054/1284] defconfigs: Add CONFIG_MUX_GPIO. This config was missed from 06ccedb39414 ("defconfigs: Add VIDEO_MUX to all defconfigs") @@ -298800,13 +298737,13 @@ index 96be5e202550..f230ddb4675a 100644 CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 26 Aug 2022 11:41:49 +0800 -Subject: [PATCH 1056/1219] media: i2c: arducam-pivariety: Add custom controls +Subject: [PATCH 1055/1284] media: i2c: arducam-pivariety: Add custom controls Add support for strobe_shift, strobe_width and mode custom controls. @@ -298848,13 +298785,13 @@ index b2b8cbc47138..99d5ada309e8 100644 enum image_dt { IMAGE_DT_YUV420_8 = 0x18, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 30 Aug 2022 09:35:48 +0100 -Subject: [PATCH 1057/1219] configs: Add LAN7430 driver on BCM2711 +Subject: [PATCH 1056/1284] configs: Add LAN7430 driver on BCM2711 See: https://github.com/raspberrypi/linux/issues/4117 @@ -298889,13 +298826,13 @@ index 6ea6ca64ebe0..b2e7ba8c3275 100644 CONFIG_QCA7000_UART=m CONFIG_R8169=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: rlcamp Date: Wed, 31 Aug 2022 05:47:41 -0700 -Subject: [PATCH 1058/1219] overlays: Add a pull (up/down) parameter to +Subject: [PATCH 1057/1284] overlays: Add a pull (up/down) parameter to pps-gpio Square wave output from RTCs such as the DS3231 requires a pullup @@ -298931,13 +298868,13 @@ index 524a1c1d3670..a4f6b868aad8 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Peter Rosin Date: Mon, 25 Apr 2022 22:35:50 +0200 -Subject: [PATCH 1059/1219] hwmon: (lm75) Add Atmel AT30TS74 support +Subject: [PATCH 1058/1284] hwmon: (lm75) Add Atmel AT30TS74 support commit c851b715d38de0c262a63de16ad954ed39b47aca upstream. @@ -298952,10 +298889,10 @@ Signed-off-by: Guenter Roeck 2 files changed, 15 insertions(+) diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig -index 09effe73c111..996cdc103639 100644 +index 2a0467e623c0..9d4451a6f00f 100644 --- a/drivers/hwmon/Kconfig +++ b/drivers/hwmon/Kconfig -@@ -1222,6 +1222,7 @@ config SENSORS_LM75 +@@ -1223,6 +1223,7 @@ config SENSORS_LM75 temperature sensor chip, with models including: - Analog Devices ADT75 @@ -299010,13 +298947,13 @@ index afdbb63237b9..66dc826f7962 100644 .compatible = "dallas,ds1775", .data = (void *)ds1775 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Aug 2022 13:49:16 +0100 -Subject: [PATCH 1060/1219] drm/vc4: Configure the HVS COB allocations +Subject: [PATCH 1059/1284] drm/vc4: Configure the HVS COB allocations The HVS Composite Output Buffer (COB) is the memory used to generate the output pixel data. @@ -299112,13 +299049,13 @@ index b0acdff916b8..8bfb9dcb4ba7 100644 vc4_hvs_irq_handler, 0, "vc4 hvs", drm); if (ret) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Aug 2022 13:59:34 +0100 -Subject: [PATCH 1061/1219] drm/vc4: Set AXI panic modes for the HVS +Subject: [PATCH 1060/1284] drm/vc4: Set AXI panic modes for the HVS The HVS can change AXI request mode based on how full the COB FIFOs are. @@ -299175,13 +299112,13 @@ index 82b0fdabe2a0..0b61f09c925c 100644 # define SCALER_DISPCTRL_DSP3_MUX_SHIFT 18 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Aug 2022 15:49:16 +0100 -Subject: [PATCH 1062/1219] drm/vc4: SCALER_DISPBKGND_AUTOHS is only valid on +Subject: [PATCH 1061/1284] drm/vc4: SCALER_DISPBKGND_AUTOHS is only valid on HVS4 The bit used for SCALER_DISPBKGND_AUTOHS in SCALER_DISPBKGNDX @@ -299252,13 +299189,13 @@ index 0b61f09c925c..eeeeb3024fa3 100644 # define SCALER_DISPBKGND_GAMMA BIT(29) # define SCALER_DISPBKGND_TESTMODE_MASK VC4_MASK(28, 25) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Aug 2022 15:52:28 +0100 -Subject: [PATCH 1063/1219] drm/vc4: Correct interrupt masking bit assignment +Subject: [PATCH 1062/1284] drm/vc4: Correct interrupt masking bit assignment for HVS5 HVS5 has moved the interrupt enable bits around within the @@ -299391,13 +299328,13 @@ index eeeeb3024fa3..b65abdfc4505 100644 /* Enables interrupt generation on the enabled EOF/EOLN/EISLUR * bits and short frames.. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 2 Sep 2022 08:35:35 +0100 -Subject: [PATCH 1064/1219] media: bcm2835-unicam: Fix for possible dummy +Subject: [PATCH 1063/1284] media: bcm2835-unicam: Fix for possible dummy buffer overrun The Unicam hardware has been observed to cause a buffer overrun when using the @@ -299453,13 +299390,13 @@ index cad7f018b221..506a3b3837b0 100644 /* Clear all queued buffers for the node */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Fri, 2 Sep 2022 11:50:16 +0200 -Subject: [PATCH 1065/1219] ASoC:ma120x0p: Extend the volume range to -144dB +Subject: [PATCH 1064/1284] ASoC:ma120x0p: Extend the volume range to -144dB (mute) Adjusts the usable volume range down to -144dB to allow 'muting' @@ -299491,13 +299428,13 @@ index ac812e83178d..992c72cf0f5a 100644 //L-R Volume ch0 SOC_SINGLE_RANGE_TLV("B.L Vol Volume", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Pablo Greco Date: Sat, 15 Oct 2022 18:16:06 +0000 -Subject: [PATCH 1066/1219] 3d2d12fb7815 +Subject: [PATCH 1065/1284] 3d2d12fb7815 --- drivers/gpu/drm/vc4/vc4_hdmi.c | 8 ++++++++ @@ -299523,13 +299460,13 @@ index 4bb97d4ea2c1..bfc9e1151965 100644 if (ret) goto err_disable_runtime_pm; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 5 Sep 2022 12:45:06 +0100 -Subject: [PATCH 1067/1219] Revert "Revert "usbnet: smsc95xx: Don't clear +Subject: [PATCH 1066/1284] Revert "Revert "usbnet: smsc95xx: Don't clear read-only PHY interrupt"" This reverts commit b50b2815045cbc86e3b34178e9df69a988991a61. @@ -299553,13 +299490,13 @@ index 64ad4f1daee4..220026c0b50e 100644 if (pdata->phydev->duplex != DUPLEX_FULL) { pdata->mac_cr &= ~MAC_CR_FDPX_; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 5 Sep 2022 12:45:07 +0100 -Subject: [PATCH 1068/1219] Revert "Revert "usbnet: smsc95xx: Avoid link +Subject: [PATCH 1067/1284] Revert "Revert "usbnet: smsc95xx: Avoid link settings race on interrupt reception"" This reverts commit c7cbb86f4763c5d9b52698e6f58b6d1719ade011. @@ -299627,13 +299564,13 @@ index 220026c0b50e..7b0d7dc531c0 100644 .check_connect = smsc95xx_start_phy, .stop = smsc95xx_stop, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 5 Sep 2022 12:45:08 +0100 -Subject: [PATCH 1069/1219] Revert "Revert "usbnet: smsc95xx: Forward PHY +Subject: [PATCH 1068/1284] Revert "Revert "usbnet: smsc95xx: Forward PHY interrupts to PHY driver to avoid polling"" This reverts commit bb0401e1e9875b361aff49e75b9ef9e6688359bc. @@ -299880,13 +299817,13 @@ index 7b0d7dc531c0..4fd95c80627f 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 5 Sep 2022 12:45:09 +0100 -Subject: [PATCH 1070/1219] Revert "Revert "usbnet: smsc95xx: Fix deadlock on +Subject: [PATCH 1069/1284] Revert "Revert "usbnet: smsc95xx: Fix deadlock on runtime resume"" This reverts commit 2f82838ec69a86ffe786e57a37d4bcf746760017. @@ -300017,13 +299954,13 @@ index 4fd95c80627f..cedd187bf2d2 100644 return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 5 Sep 2022 11:44:23 +0100 -Subject: [PATCH 1071/1219] media: i2c: imx290: Updating VBLANK should update +Subject: [PATCH 1070/1284] media: i2c: imx290: Updating VBLANK should update exposure in all states The code to update the range of the exposure control was after a @@ -300084,13 +300021,13 @@ index c5abef46ed5d..2c0c0b9aa82d 100644 if (!pm_runtime_get_if_in_use(imx290->dev)) return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 5 Sep 2022 11:50:30 +0100 -Subject: [PATCH 1072/1219] Revert "media: i2c: imx290: Explicitly set v&h +Subject: [PATCH 1071/1284] Revert "media: i2c: imx290: Explicitly set v&h blank on mode change" This reverts commit 090d29f5854aa7b6511b0ae8a926929130fd3978. @@ -300137,13 +300074,13 @@ index 2c0c0b9aa82d..da7d0d9fffb8 100644 __v4l2_ctrl_modify_range(imx290->exposure, IMX290_EXPOSURE_MIN, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 5 Sep 2022 15:10:05 +0100 -Subject: [PATCH 1073/1219] media: i2c: imx290: Drop incorrect comment about +Subject: [PATCH 1072/1284] media: i2c: imx290: Drop incorrect comment about pixelrate commit b5eca6fd4284 ("media: i2c: imx290: Fix the pixel rate at 148.5Mpix/s") @@ -300173,13 +300110,13 @@ index da7d0d9fffb8..0f97ff1bca8d 100644 imx290_entity_init_cfg(&imx290->sd, NULL); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 5 Sep 2022 15:32:41 +0100 -Subject: [PATCH 1074/1219] media: i2c: imx290: Do not reset exposure time from +Subject: [PATCH 1073/1284] media: i2c: imx290: Do not reset exposure time from set_fmt V4L2 controls are meant to be persistent, and only altered if @@ -300217,13 +300154,13 @@ index 0f97ff1bca8d..f7971b972045 100644 *format = fmt->format; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 5 Sep 2022 12:16:32 +0100 -Subject: [PATCH 1075/1219] overlays: Add the Raspberry Pi sound cards +Subject: [PATCH 1074/1284] overlays: Add the Raspberry Pi sound cards Signed-off-by: Phil Elwell --- @@ -300427,13 +300364,13 @@ index 000000000000..5e73d6c1bf42 + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 6 Sep 2022 14:43:34 +0100 -Subject: [PATCH 1076/1219] overlays: Rename unofficial "rpi-" overlays +Subject: [PATCH 1075/1284] overlays: Rename unofficial "rpi-" overlays There are a number of overlays - some very old - with names beginning with "rpi-", even though they aren't for products made by Raspberry Pi. @@ -300714,13 +300651,13 @@ similarity index 100% rename from arch/arm/boot/dts/overlays/rpi-display-overlay.dts rename to arch/arm/boot/dts/overlays/watterott-rpi-display-overlay.dts -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 7 Sep 2022 09:38:24 +0100 -Subject: [PATCH 1077/1219] overlays: Shorten overlay name to watterott-display +Subject: [PATCH 1076/1284] overlays: Shorten overlay name to watterott-display watterott-rpi-display, although accurate, is too cumbersome, leading to some potentially very long lines, Shorten it to watterott-display. @@ -300805,13 +300742,13 @@ similarity index 100% rename from arch/arm/boot/dts/overlays/watterott-rpi-display-overlay.dts rename to arch/arm/boot/dts/overlays/watterott-display-overlay.dts -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 10 Sep 2021 15:09:39 +0200 -Subject: [PATCH 1078/1219] drm/bridge: Add a function to abstract away panels +Subject: [PATCH 1077/1284] drm/bridge: Add a function to abstract away panels Display drivers so far need to have a lot of boilerplate to first retrieve either the panel or bridge that they are connected to using @@ -300875,13 +300812,13 @@ index 1b6ed541cacf..fc6e3d8e009b 100644 MODULE_AUTHOR("Ajay Kumar "); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 17 Sep 2021 20:09:25 +0200 -Subject: [PATCH 1079/1219] drm/bridge: Move devm_drm_of_get_bridge to +Subject: [PATCH 1078/1284] drm/bridge: Move devm_drm_of_get_bridge to bridge/panel.c By depending on devm_drm_panel_bridge_add(), devm_drm_of_get_bridge() @@ -300948,13 +300885,13 @@ index fc6e3d8e009b..1b6ed541cacf 100644 MODULE_AUTHOR("Ajay Kumar "); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 10 Sep 2021 15:09:40 +0200 -Subject: [PATCH 1080/1219] drm/vc4: dpi: Switch to devm_drm_of_get_bridge +Subject: [PATCH 1079/1284] drm/vc4: dpi: Switch to devm_drm_of_get_bridge The new devm_drm_of_get_bridge removes most of the boilerplate we have to deal with. Let's switch to it. @@ -301002,13 +300939,13 @@ index 1bf1a4c6033d..e1ce6d24cbae 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Thomas Zimmermann Date: Mon, 2 May 2022 16:25:12 +0200 -Subject: [PATCH 1081/1219] drm: Add DRM-managed mutex_init() +Subject: [PATCH 1080/1284] drm: Add DRM-managed mutex_init() Add drmm_mutex_init(), a helper that provides managed mutex cleanup. The mutex will be destroyed with the final reference of the DRM device. @@ -301084,13 +301021,13 @@ index b45c6fbf53ac..359883942612 100644 + #endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 15:09:33 +0200 -Subject: [PATCH 1082/1219] drm/crtc: Introduce drmm_crtc_init_with_planes +Subject: [PATCH 1081/1284] drm/crtc: Introduce drmm_crtc_init_with_planes The DRM-managed function to register a CRTC is drmm_crtc_alloc_with_planes(), which will allocate the underlying @@ -301259,13 +301196,13 @@ index 13eeba2a750a..af54b36b8876 100644 __printf(7, 8) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 15:09:33 +0200 -Subject: [PATCH 1083/1219] drm/encoder: Introduce drmm_encoder_init +Subject: [PATCH 1082/1284] drm/encoder: Introduce drmm_encoder_init The DRM-managed function to register an encoder is drmm_encoder_alloc() and its variants, which will allocate the underlying @@ -301424,13 +301361,13 @@ index 6e91a0280f31..3a09682af685 100644 void *__drmm_encoder_alloc(struct drm_device *dev, size_t size, size_t offset, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 13:22:54 +0200 -Subject: [PATCH 1084/1219] drm/connector: Reorder headers +Subject: [PATCH 1083/1284] drm/connector: Reorder headers Unlike most of the other files in DRM, and Linux in general, the headers in drm_connector.c aren't sorted alphabetically. Let's fix that. @@ -301443,7 +301380,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c -index e9b7926d9b66..b4cc7721649b 100644 +index cfe163103cfd..a96037394be9 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -22,13 +22,13 @@ @@ -301464,13 +301401,13 @@ index e9b7926d9b66..b4cc7721649b 100644 #include -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 15:03:34 +0200 -Subject: [PATCH 1085/1219] drm/connector: Mention the cleanup after +Subject: [PATCH 1084/1284] drm/connector: Mention the cleanup after drm_connector_init Unlike encoders and CRTCs, the drm_connector_init() and @@ -301485,7 +301422,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c -index b4cc7721649b..99951fbf556b 100644 +index a96037394be9..f556e474d55f 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -213,6 +213,10 @@ void drm_connector_free_work_fn(struct work_struct *work) @@ -301511,13 +301448,13 @@ index b4cc7721649b..99951fbf556b 100644 * * Returns: -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 22 Jun 2022 10:33:59 +0200 -Subject: [PATCH 1086/1219] drm/connector: Clarify when +Subject: [PATCH 1085/1284] drm/connector: Clarify when drm_connector_unregister is needed The current documentation for drm_connector_unregister() mentions that @@ -301551,10 +301488,10 @@ Signed-off-by: Maxime Ripard 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c -index 99951fbf556b..9f2f04b106e1 100644 +index f556e474d55f..ca728fbafa56 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c -@@ -507,6 +507,9 @@ EXPORT_SYMBOL(drm_connector_cleanup); +@@ -510,6 +510,9 @@ EXPORT_SYMBOL(drm_connector_cleanup); * e.g. DP MST connectors. All other connectors will be registered automatically * when calling drm_dev_register(). * @@ -301564,7 +301501,7 @@ index 99951fbf556b..9f2f04b106e1 100644 * Returns: * Zero on success, error code on failure. */ -@@ -556,9 +559,8 @@ EXPORT_SYMBOL(drm_connector_register); +@@ -559,9 +562,8 @@ EXPORT_SYMBOL(drm_connector_register); * @connector: the connector to unregister * * Unregister userspace interfaces for a connector. Only call this for @@ -301577,13 +301514,13 @@ index 99951fbf556b..9f2f04b106e1 100644 void drm_connector_unregister(struct drm_connector *connector) { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 29 Jun 2022 11:04:05 +0200 -Subject: [PATCH 1087/1219] drm/connector: Consolidate Connector Initialization +Subject: [PATCH 1086/1284] drm/connector: Consolidate Connector Initialization We're going to add a DRM-managed connector initialization function. Since we'll need both the with and without the DDC pointer, having a @@ -301600,7 +301537,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c -index 9f2f04b106e1..491de57f7e53 100644 +index ca728fbafa56..d023db8fe108 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -203,27 +203,11 @@ void drm_connector_free_work_fn(struct work_struct *work) @@ -301696,13 +301633,13 @@ index 9f2f04b106e1..491de57f7e53 100644 EXPORT_SYMBOL(drm_connector_init_with_ddc); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 29 Jun 2022 11:17:10 +0200 -Subject: [PATCH 1088/1219] drm/connector: Check for destroy implementation +Subject: [PATCH 1087/1284] drm/connector: Check for destroy implementation Connectors need to be cleaned up with a call to drm_connector_cleanup() in their drm_connector_funcs.destroy implementation. @@ -301716,7 +301653,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c -index 491de57f7e53..ad2a5995642a 100644 +index d023db8fe108..757238819a12 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -335,6 +335,9 @@ int drm_connector_init(struct drm_device *dev, @@ -301740,13 +301677,13 @@ index 491de57f7e53..ad2a5995642a 100644 } EXPORT_SYMBOL(drm_connector_init_with_ddc); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 15:09:33 +0200 -Subject: [PATCH 1089/1219] drm/connector: Introduce drmm_connector_init +Subject: [PATCH 1088/1284] drm/connector: Introduce drmm_connector_init Unlike other DRM entities, there's no helper to create a DRM-managed initialisation of a connector. @@ -301763,7 +301700,7 @@ Signed-off-by: Maxime Ripard 2 files changed, 65 insertions(+) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c -index ad2a5995642a..dbd435e526e6 100644 +index 757238819a12..9555fe490e59 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -26,6 +26,7 @@ @@ -301871,13 +301808,13 @@ index 1f43d7c6724a..9df399d9285b 100644 int drm_connector_register(struct drm_connector *connector); void drm_connector_unregister(struct drm_connector *connector); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 16:27:12 +0200 -Subject: [PATCH 1090/1219] drm/bridge: panel: Introduce drmm_panel_bridge_add +Subject: [PATCH 1089/1284] drm/bridge: panel: Introduce drmm_panel_bridge_add Unlike what can be found for other entities, there's no DRM-managed function to create a panel_bridge instance from a panel. @@ -301963,13 +301900,13 @@ index 3e4e87069f70..a6cffb443527 100644 #endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 16:38:52 +0200 -Subject: [PATCH 1091/1219] drm/bridge: panel: Introduce drmm_of_get_bridge +Subject: [PATCH 1090/1284] drm/bridge: panel: Introduce drmm_of_get_bridge Unlike what can be found for other DRM entities, we don't have a DRM-managed function equivalent to devm_drm_of_get_bridge(). @@ -302042,13 +301979,13 @@ index a6cffb443527..317724fbc1d3 100644 static inline struct drm_bridge *devm_drm_of_get_bridge(struct device *dev, struct device_node *node, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 9 May 2022 12:33:32 +0200 -Subject: [PATCH 1092/1219] drm/vc4: drv: Call component_unbind_all() +Subject: [PATCH 1091/1284] drm/vc4: drv: Call component_unbind_all() While we were using the component framework to deal with all the DRM subdevices, we were not calling component_unbind_all(). @@ -302124,13 +302061,13 @@ index 4a8940ca91df..0b3d149f2f59 100644 bool is_vc5; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 16 Jun 2022 13:39:23 +0200 -Subject: [PATCH 1093/1219] drm/vc4: drv: Use drm_dev_unplug +Subject: [PATCH 1092/1284] drm/vc4: drv: Use drm_dev_unplug When our KMS driver is unbound, the device is no longer there but we might still have users with an opened fd to the KMS device. @@ -302163,13 +302100,13 @@ index 48ba5313974d..7c44ad27efc0 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 20 Jun 2022 14:05:46 +0200 -Subject: [PATCH 1094/1219] drm/vc4: crtc: Create vblank reporting function +Subject: [PATCH 1093/1284] drm/vc4: crtc: Create vblank reporting function We'll need that code in the HVS driver, so let's create a shared function to reuse it. @@ -302235,13 +302172,13 @@ index 0b3d149f2f59..138b36bb9487 100644 unsigned int *left, unsigned int *right, unsigned int *top, unsigned int *bottom); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 18:19:19 +0200 -Subject: [PATCH 1095/1219] drm/vc4: hvs: Protect device resources after +Subject: [PATCH 1094/1284] drm/vc4: hvs: Protect device resources after removal Whenever the device and driver are unbound, the main device and all the @@ -302540,13 +302477,13 @@ index e0d4c86dee34..66d6bc447a15 100644 hvs->pdev = pdev; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 9 May 2022 13:46:54 +0200 -Subject: [PATCH 1096/1219] drm/vc4: hvs: Remove planes currently allocated +Subject: [PATCH 1095/1284] drm/vc4: hvs: Remove planes currently allocated before taking down When the HVS driver is unbound, a lot of memory allocations in the LBM and @@ -302588,13 +302525,13 @@ index 66d6bc447a15..aa06751f5586 100644 clk_disable_unprepare(hvs->core_clk); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 25 May 2022 11:03:10 +0200 -Subject: [PATCH 1097/1219] drm/vc4: plane: Take possible_crtcs as an argument +Subject: [PATCH 1096/1284] drm/vc4: plane: Take possible_crtcs as an argument vc4_plane_init() currently initialises the plane with no possible CRTCs, and will expect the caller to set it up by itself. @@ -302692,13 +302629,13 @@ index 5d8dc921bfa7..7381eafc4d6c 100644 drm_plane_create_zpos_property(cursor_plane, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 22 Jun 2022 16:15:11 +0200 -Subject: [PATCH 1098/1219] drm/vc4: crtc: Remove manual plane removal on error +Subject: [PATCH 1097/1284] drm/vc4: crtc: Remove manual plane removal on error When vc4_crtc_bind() fails after vc4_crtc_init() has been called, we have a loop undoing the plane creation and calling destroy on each plane @@ -302743,13 +302680,13 @@ index 7bdac445da51..391a68d2ee96 100644 static void vc4_crtc_unbind(struct device *dev, struct device *master, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 25 May 2022 11:05:30 +0200 -Subject: [PATCH 1099/1219] drm/vc4: plane: Switch to +Subject: [PATCH 1098/1284] drm/vc4: plane: Switch to drmm_universal_plane_alloc() Let's switch to drmm_universal_plane_alloc() for our plane allocation and @@ -302835,13 +302772,13 @@ index 7381eafc4d6c..2150cee5a405 100644 if (vc4->is_vc5) drm_plane_helper_add(plane, &vc5_plane_helper_funcs); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 15:44:13 +0200 -Subject: [PATCH 1100/1219] drm/vc4: crtc: Move debugfs_name to crtc_data +Subject: [PATCH 1099/1284] drm/vc4: crtc: Move debugfs_name to crtc_data All the CRTCs, including the TXP, have a debugfs file and name so we can consolidate it into vc4_crtc_data. @@ -302999,13 +302936,13 @@ index 82beb8c159f2..e983ff7c5e13 100644 .hvs_output = 2, }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 17:11:29 +0200 -Subject: [PATCH 1101/1219] drm/vc4: crtc: Switch to drmm_kzalloc +Subject: [PATCH 1100/1284] drm/vc4: crtc: Switch to drmm_kzalloc Our internal structure that stores the DRM entities structure is allocated through a device-managed kzalloc. @@ -303041,13 +302978,13 @@ index eb4072b85fd2..7e48d401d32a 100644 return -ENOMEM; crtc = &vc4_crtc->base; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:05:36 +0200 -Subject: [PATCH 1102/1219] drm/vc4: crtc: Switch to DRM-managed CRTC +Subject: [PATCH 1101/1284] drm/vc4: crtc: Switch to DRM-managed CRTC initialization The current code will call drm_crtc_cleanup() when the device is @@ -303147,13 +303084,13 @@ index e983ff7c5e13..f306e05ac5b2 100644 .reset = vc4_crtc_reset, .atomic_duplicate_state = vc4_crtc_duplicate_state, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 3 Sep 2020 10:01:20 +0200 -Subject: [PATCH 1103/1219] drm/vc4: dpi: Remove vc4_dev dpi pointer +Subject: [PATCH 1102/1284] drm/vc4: dpi: Remove vc4_dev dpi pointer There's no user for that pointer so let's just get rid of it. @@ -303217,13 +303154,13 @@ index 929cf9b45a5e..c7db33a31cc9 100644 struct vc4_txp *txp; struct vc4_fkms *fkms; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:03:23 +0200 -Subject: [PATCH 1104/1219] drm/vc4: dpi: Embed DRM structures into the private +Subject: [PATCH 1103/1284] drm/vc4: dpi: Embed DRM structures into the private structure The VC4 DPI driver private structure contains only a pointer to the @@ -303367,13 +303304,13 @@ index c383a2c3f7eb..7ed4b86ef0b8 100644 clk_disable_unprepare(dpi->core_clock); } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 17:11:29 +0200 -Subject: [PATCH 1105/1219] drm/vc4: dpi: Switch to drmm_kzalloc +Subject: [PATCH 1104/1284] drm/vc4: dpi: Switch to drmm_kzalloc Our internal structure that stores the DRM entities structure is allocated through a device-managed kzalloc. @@ -303412,13 +303349,13 @@ index 7ed4b86ef0b8..c8e58b1d648b 100644 dpi->pdev = pdev; dpi->regs = vc4_ioremap_regs(pdev, 0); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:09:16 +0200 -Subject: [PATCH 1106/1219] drm/vc4: dpi: Return an error if we can't enable +Subject: [PATCH 1105/1284] drm/vc4: dpi: Return an error if we can't enable our clock If we fail to enable the DPI clock, we just ignore the error and moves @@ -303456,13 +303393,13 @@ index c8e58b1d648b..fddc41555510 100644 drm_simple_encoder_init(drm, &dpi->encoder.base, DRM_MODE_ENCODER_DPI); drm_encoder_helper_add(&dpi->encoder.base, &vc4_dpi_encoder_helper_funcs); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:19:22 +0200 -Subject: [PATCH 1107/1219] drm/vc4: dpi: Remove unnecessary +Subject: [PATCH 1106/1284] drm/vc4: dpi: Remove unnecessary drm_of_panel_bridge_remove call Since we have a managed call to create our panel_bridge instance, the call @@ -303490,13 +303427,13 @@ index fddc41555510..a9affc0e7bf2 100644 clk_disable_unprepare(dpi->core_clock); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 17:04:25 +0200 -Subject: [PATCH 1108/1219] drm/vc4: dpi: Add action to disable the clock +Subject: [PATCH 1107/1284] drm/vc4: dpi: Add action to disable the clock The DPI controller has two clocks called core and pixel, the core clock being enabled at bind time. @@ -303558,13 +303495,13 @@ index a9affc0e7bf2..5a6979783b29 100644 static const struct component_ops vc4_dpi_ops = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:05:36 +0200 -Subject: [PATCH 1109/1219] drm/vc4: dpi: Switch to DRM-managed encoder +Subject: [PATCH 1108/1284] drm/vc4: dpi: Switch to DRM-managed encoder initialization The current code will call drm_encoder_cleanup() when the device is @@ -303631,13 +303568,13 @@ index 5a6979783b29..9b154bc9d540 100644 static int vc4_dpi_dev_probe(struct platform_device *pdev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 16:08:44 +0200 -Subject: [PATCH 1110/1219] drm/vc4: dpi: Switch to drmm_of_get_bridge +Subject: [PATCH 1109/1284] drm/vc4: dpi: Switch to drmm_of_get_bridge The current code uses a device-managed function to retrieve the next bridge downstream. @@ -303674,13 +303611,13 @@ index 9b154bc9d540..c67e2d1b2b46 100644 /* If nothing was connected in the DT, that's not an * error. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 16:26:30 +0200 -Subject: [PATCH 1111/1219] drm/vc4: dpi: Protect device resources +Subject: [PATCH 1110/1284] drm/vc4: dpi: Protect device resources Our current code now mixes some resources whose lifetime are tied to the device (clocks, IO mappings, etc.) and some that are tied to the DRM device @@ -303759,13 +303696,13 @@ index c67e2d1b2b46..546d36bdacdf 100644 static enum drm_mode_status vc4_dpi_encoder_mode_valid(struct drm_encoder *encoder, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:03:23 +0200 -Subject: [PATCH 1112/1219] drm/vc4: dsi: Embed DRM structures into the private +Subject: [PATCH 1111/1284] drm/vc4: dsi: Embed DRM structures into the private structure The VC4 DSI driver private structure contains only a pointer to the @@ -303858,13 +303795,13 @@ index 820e8ecab52d..ee1f1c688bd5 100644 static const struct component_ops vc4_dsi_ops = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:05:36 +0200 -Subject: [PATCH 1113/1219] drm/vc4: dsi: Switch to DRM-managed encoder +Subject: [PATCH 1112/1284] drm/vc4: dsi: Switch to DRM-managed encoder initialization The current code will call drm_encoder_cleanup() when the device is @@ -303913,13 +303850,13 @@ index ee1f1c688bd5..678d7edb1e2a 100644 static const struct component_ops vc4_dsi_ops = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 16:08:44 +0200 -Subject: [PATCH 1114/1219] drm/vc4: dsi: Switch to drmm_of_get_bridge +Subject: [PATCH 1113/1284] drm/vc4: dsi: Switch to drmm_of_get_bridge The current code uses a device-managed function to retrieve the next bridge downstream. @@ -303952,13 +303889,13 @@ index 678d7edb1e2a..0b429867e874 100644 return PTR_ERR(dsi->out_bridge); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 15:48:01 +0200 -Subject: [PATCH 1115/1219] drm/vc4: dsi: Fix the driver structure lifetime +Subject: [PATCH 1114/1284] drm/vc4: dsi: Fix the driver structure lifetime The vc4_dsi structure is currently allocated through a device-managed allocation. This can lead to use-after-free issues however in the unbinding @@ -304053,13 +303990,13 @@ index 0b429867e874..79be3414664e 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 10 Jun 2022 10:51:26 +0200 -Subject: [PATCH 1116/1219] drm/vc4: dsi: Switch to devm_pm_runtime_enable +Subject: [PATCH 1115/1284] drm/vc4: dsi: Switch to devm_pm_runtime_enable devm_pm_runtime_enable() simplifies the driver a bit since it will call pm_runtime_disable() automatically through a device-managed action. @@ -304109,13 +304046,13 @@ index 79be3414664e..565ee9ba41f3 100644 static int vc4_dsi_dev_probe(struct platform_device *pdev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 17:11:29 +0200 -Subject: [PATCH 1117/1219] drm/vc4: hdmi: Switch to drmm_kzalloc +Subject: [PATCH 1116/1284] drm/vc4: hdmi: Switch to drmm_kzalloc Our internal structure that stores the DRM entities structure is allocated through a device-managed kzalloc. @@ -304153,13 +304090,13 @@ index bfc9e1151965..469d9898dac2 100644 spin_lock_init(&vc4_hdmi->hw_lock); INIT_DELAYED_WORK(&vc4_hdmi->scrambling_work, vc4_hdmi_scrambling_wq); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 22 Jun 2022 16:20:35 +0200 -Subject: [PATCH 1118/1219] drm/vc4: hdmi: Remove call to +Subject: [PATCH 1117/1284] drm/vc4: hdmi: Remove call to drm_connector_unregister() drm_connector_unregister() is only to be used for connectors that have been @@ -304217,13 +304154,13 @@ index 469d9898dac2..eed6e728376c 100644 pm_runtime_disable(dev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:05:36 +0200 -Subject: [PATCH 1119/1219] drm/vc4: hdmi: Switch to DRM-managed encoder +Subject: [PATCH 1118/1284] drm/vc4: hdmi: Switch to DRM-managed encoder initialization The current code will call drm_encoder_cleanup() when the device is @@ -304284,13 +304221,13 @@ index eed6e728376c..e3c168fca43b 100644 pm_runtime_disable(dev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:05:36 +0200 -Subject: [PATCH 1120/1219] drm/vc4: hdmi: Switch to DRM-managed connector +Subject: [PATCH 1119/1284] drm/vc4: hdmi: Switch to DRM-managed connector initialization The current code will call drm_connector_unregister() and @@ -304364,13 +304301,13 @@ index e3c168fca43b..180e800a9fd7 100644 pm_runtime_disable(dev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 13 May 2022 13:57:41 +0200 -Subject: [PATCH 1121/1219] drm/vc4: hdmi: Switch to device-managed ALSA +Subject: [PATCH 1120/1284] drm/vc4: hdmi: Switch to device-managed ALSA initialization The current code to unregister our ALSA device needs to be undone manually @@ -304478,13 +304415,13 @@ index 180e800a9fd7..6f6b463767af 100644 vc4_hdmi_hotplug_exit(vc4_hdmi); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 13 May 2022 13:57:41 +0200 -Subject: [PATCH 1122/1219] drm/vc4: hdmi: Switch to device-managed CEC +Subject: [PATCH 1121/1284] drm/vc4: hdmi: Switch to device-managed CEC initialization The current code to unregister our CEC device needs to be undone manually @@ -304666,13 +304603,13 @@ index 6f6b463767af..b4629ebec74e 100644 pm_runtime_disable(dev); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 12:38:47 +0200 -Subject: [PATCH 1123/1219] drm/vc4: hdmi: Use a device-managed action for DDC +Subject: [PATCH 1122/1284] drm/vc4: hdmi: Use a device-managed action for DDC The reference to the DDC controller device needs to be put back when we're done with it. Let's use a device-managed action to simplify the driver. @@ -304757,13 +304694,13 @@ index b4629ebec74e..197449be4c63 100644 static const struct component_ops vc4_hdmi_ops = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 12:30:40 +0200 -Subject: [PATCH 1124/1219] drm/vc4: hdmi: Switch to DRM-managed kfree to build +Subject: [PATCH 1123/1284] drm/vc4: hdmi: Switch to DRM-managed kfree to build regsets The current code to build the registers set later exposed in debugfs for @@ -304928,13 +304865,13 @@ index 53dd116b49f0..b83e4194983f 100644 /* Callback to reset the HDMI block */ void (*reset)(struct vc4_hdmi *vc4_hdmi); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 12:32:05 +0200 -Subject: [PATCH 1125/1219] drm/vc4: hdmi: Use devm to register hotplug +Subject: [PATCH 1124/1284] drm/vc4: hdmi: Use devm to register hotplug interrupts Commit 776efe800fed ("drm/vc4: hdmi: Drop devm interrupt handler for @@ -305046,13 +304983,13 @@ index 1c6c6de3051e..9b6ed3ed28b0 100644 pm_runtime_disable(dev); } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 12:38:06 +0200 -Subject: [PATCH 1126/1219] drm/vc4: hdmi: Move audio structure offset checks +Subject: [PATCH 1125/1284] drm/vc4: hdmi: Move audio structure offset checks The HDMI driver unbind hook doesn't have any ALSA-related code anymore, so let's move the ALSA sanity checks and comments we have to some other part @@ -305096,13 +305033,13 @@ index 9b6ed3ed28b0..37a1ceb804d7 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 18:19:19 +0200 -Subject: [PATCH 1127/1219] drm/vc4: hdmi: Protect device resources after +Subject: [PATCH 1126/1284] drm/vc4: hdmi: Protect device resources after removal Whenever the device and driver are unbound, the main device and all the @@ -306015,13 +305952,13 @@ index 37a1ceb804d7..264610e27e23 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 10 Jun 2022 10:51:26 +0200 -Subject: [PATCH 1128/1219] drm/vc4: hdmi: Switch to devm_pm_runtime_enable +Subject: [PATCH 1127/1284] drm/vc4: hdmi: Switch to devm_pm_runtime_enable devm_pm_runtime_enable() simplifies the driver a bit since it will call pm_runtime_disable() automatically through a device-managed action. @@ -306064,13 +306001,13 @@ index 264610e27e23..6f41b109db8e 100644 static int vc4_hdmi_dev_probe(struct platform_device *pdev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 3 Sep 2020 10:01:20 +0200 -Subject: [PATCH 1129/1219] drm/vc4: txp: Remove vc4_dev txp pointer +Subject: [PATCH 1128/1284] drm/vc4: txp: Remove vc4_dev txp pointer There's no user for that pointer so let's just get rid of it. @@ -306128,13 +306065,13 @@ index f306e05ac5b2..87c896f482fb 100644 static const struct component_ops vc4_txp_ops = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 15:44:50 +0200 -Subject: [PATCH 1130/1219] drm/vc4: txp: Remove duplicate regset +Subject: [PATCH 1129/1284] drm/vc4: txp: Remove duplicate regset There's already a regset in the vc4_crtc structure so there's no need to duplicate it in vc4_txp. @@ -306180,13 +306117,13 @@ index 87c896f482fb..51ac01838093 100644 return 0; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 17:11:29 +0200 -Subject: [PATCH 1131/1219] drm/vc4: txp: Switch to drmm_kzalloc +Subject: [PATCH 1130/1284] drm/vc4: txp: Switch to drmm_kzalloc Our internal structure that stores the DRM entities structure is allocated through a device-managed kzalloc. @@ -306221,13 +306158,13 @@ index 51ac01838093..6a16b2798724 100644 return -ENOMEM; vc4_crtc = &txp->base; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 22 Jun 2022 16:20:35 +0200 -Subject: [PATCH 1132/1219] drm/vc4: txp: Remove call to +Subject: [PATCH 1131/1284] drm/vc4: txp: Remove call to drm_connector_unregister() drm_connector_unregister() is only to be used for connectors that have been @@ -306272,13 +306209,13 @@ index 6a16b2798724..7738310377a5 100644 static const struct component_ops vc4_txp_ops = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 16:26:30 +0200 -Subject: [PATCH 1133/1219] drm/vc4: txp: Protect device resources +Subject: [PATCH 1132/1284] drm/vc4: txp: Protect device resources Our current code now mixes some resources whose lifetime are tied to the device (clocks, IO mappings, etc.) and some that are tied to the DRM device @@ -306386,13 +306323,13 @@ index 7738310377a5..1a26d6bf4868 100644 vc4_crtc_handle_vblank(vc4_crtc); drm_writeback_signal_completion(&txp->connector, 0); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 3 Sep 2020 10:01:20 +0200 -Subject: [PATCH 1134/1219] drm/vc4: vec: Remove vc4_dev vec pointer +Subject: [PATCH 1133/1284] drm/vc4: vec: Remove vc4_dev vec pointer There's no user for that pointer so let's just get rid of it. @@ -306453,13 +306390,13 @@ index d263fdaa1ee8..08469f587af1 100644 static const struct component_ops vc4_vec_ops = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:03:23 +0200 -Subject: [PATCH 1135/1219] drm/vc4: vec: Embed DRM structures into the private +Subject: [PATCH 1134/1284] drm/vc4: vec: Embed DRM structures into the private structure The VC4 VEC driver private structure contains only a pointer to the @@ -306658,13 +306595,13 @@ index 08469f587af1..ee4d7c06ee26 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 23 May 2022 17:11:29 +0200 -Subject: [PATCH 1136/1219] drm/vc4: vec: Switch to drmm_kzalloc +Subject: [PATCH 1135/1284] drm/vc4: vec: Switch to drmm_kzalloc Our internal structure that stores the DRM entities structure is allocated through a device-managed kzalloc. @@ -306699,13 +306636,13 @@ index ee4d7c06ee26..7e83369e2ae9 100644 return -ENOMEM; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 22 Jun 2022 16:20:35 +0200 -Subject: [PATCH 1137/1219] drm/vc4: vec: Remove call to +Subject: [PATCH 1136/1284] drm/vc4: vec: Remove call to drm_connector_unregister() drm_connector_unregister() is only to be used for connectors that have been @@ -306754,13 +306691,13 @@ index 7e83369e2ae9..d256796b57ad 100644 pm_runtime_disable(dev); } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:05:36 +0200 -Subject: [PATCH 1138/1219] drm/vc4: vec: Switch to DRM-managed encoder +Subject: [PATCH 1137/1284] drm/vc4: vec: Switch to DRM-managed encoder initialization The current code will call drm_encoder_cleanup() when the device is @@ -306821,13 +306758,13 @@ index d256796b57ad..7da879ae77e4 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 11:05:36 +0200 -Subject: [PATCH 1139/1219] drm/vc4: vec: Switch to DRM-managed connector +Subject: [PATCH 1138/1284] drm/vc4: vec: Switch to DRM-managed connector initialization The current code will call drm_connector_unregister() and @@ -306885,13 +306822,13 @@ index 7da879ae77e4..25ff3edb2be3 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 17 May 2022 18:19:19 +0200 -Subject: [PATCH 1140/1219] drm/vc4: vec: Protect device resources after +Subject: [PATCH 1139/1284] drm/vc4: vec: Protect device resources after removal Whenever the device and driver are unbound, the main device and all the @@ -307005,13 +306942,13 @@ index 25ff3edb2be3..31033ba9d728 100644 static int vc4_vec_encoder_atomic_check(struct drm_encoder *encoder, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 10 Jun 2022 10:51:26 +0200 -Subject: [PATCH 1141/1219] drm/vc4: vec: Switch to devm_pm_runtime_enable +Subject: [PATCH 1140/1284] drm/vc4: vec: Switch to devm_pm_runtime_enable devm_pm_runtime_enable() simplifies the driver a bit since it will call pm_runtime_disable() automatically through a device-managed action. @@ -307075,13 +307012,13 @@ index 31033ba9d728..673c67942d20 100644 static int vc4_vec_dev_probe(struct platform_device *pdev) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 11 May 2022 16:26:30 +0200 -Subject: [PATCH 1142/1219] drm/vc4: debugfs: Protect device resources +Subject: [PATCH 1141/1284] drm/vc4: debugfs: Protect device resources Our current code now mixes some resources whose lifetime are tied to the device (clocks, IO mappings, etc.) and some that are tied to the DRM device @@ -307135,13 +307072,13 @@ index 2936a7e333a9..75679cde4a4d 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 25 May 2022 17:21:41 +0200 -Subject: [PATCH 1143/1219] drm/vc4: debugfs: Return an error on failure +Subject: [PATCH 1142/1284] drm/vc4: debugfs: Return an error on failure vc4_debugfs_add_file() can fail, so let's propagate its error code instead of silencing it. @@ -307245,13 +307182,13 @@ index eb7f25ab5dca..cafc57f8afea 100644 #endif -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 6 Jun 2022 16:37:53 +0200 -Subject: [PATCH 1144/1219] drm/vc4: debugfs: Simplify debugfs registration +Subject: [PATCH 1143/1284] drm/vc4: debugfs: Simplify debugfs registration The vc4 has a custom API to allow components to register a debugfs file before the DRM driver has been registered and the debugfs_init hook has @@ -307836,13 +307773,13 @@ index 673c67942d20..d02ed3e1aa3e 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 11 Jul 2022 10:38:25 +0200 -Subject: [PATCH 1145/1219] drm/vc4: hvs: Skip DebugFS Registration for FKMS +Subject: [PATCH 1144/1284] drm/vc4: hvs: Skip DebugFS Registration for FKMS FKMS doesn't have an HVS and it's expected. Return from the debugfs init function immediately if we're running with fkms. @@ -307867,13 +307804,13 @@ index cc1f81ec56bc..98e5637861fc 100644 return -ENODEV; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 6 Jun 2022 16:40:47 +0200 -Subject: [PATCH 1146/1219] drm/vc4: Switch to drmm_mutex_init +Subject: [PATCH 1145/1284] drm/vc4: Switch to drmm_mutex_init mutex_init is supposed to be balanced by a call to mutex_destroy that we were never doing in the vc4 driver. @@ -307999,13 +307936,13 @@ index da1c5d3f4c91..d36883e2f84a 100644 INIT_DELAYED_WORK(&vc4_hdmi->scrambling_work, vc4_hdmi_scrambling_wq); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 6 Jun 2022 16:41:53 +0200 -Subject: [PATCH 1147/1219] drm/vc4: perfmon: Add missing mutex_destroy +Subject: [PATCH 1146/1284] drm/vc4: perfmon: Add missing mutex_destroy vc4_perfmon_open_file() will instantiate a mutex for that file instance, but we never call mutex_destroy () in vc4_perfmon_close_file(). @@ -308031,13 +307968,13 @@ index c7f5adb6bcf8..da2d2cee5da2 100644 int vc4_perfmon_create_ioctl(struct drm_device *dev, void *data, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 9 Jun 2022 17:53:30 +0200 -Subject: [PATCH 1148/1219] drm/vc4: v3d: Stop disabling interrupts +Subject: [PATCH 1147/1284] drm/vc4: v3d: Stop disabling interrupts The vc4_irq_disable(), among other things, will call disable_irq() to complete any in-flight interrupts. @@ -308094,13 +308031,13 @@ index e7990bed0a96..a2da0db73a5c 100644 return 0; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 10 Jun 2022 10:00:50 +0200 -Subject: [PATCH 1149/1219] drm/vc4: v3d: Rework the runtime_pm setup +Subject: [PATCH 1148/1284] drm/vc4: v3d: Rework the runtime_pm setup At bind time, vc4_v3d_bind() will read a register to retrieve the v3d version and make sure it's a version we're compatible with. @@ -308210,13 +308147,13 @@ index a2da0db73a5c..d82c86865079 100644 static void vc4_v3d_unbind(struct device *dev, struct device *master, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 10 Jun 2022 10:51:26 +0200 -Subject: [PATCH 1150/1219] drm/vc4: v3d: Switch to devm_pm_runtime_enable +Subject: [PATCH 1149/1284] drm/vc4: v3d: Switch to devm_pm_runtime_enable devm_pm_runtime_enable() simplifies the driver a bit since it will call pm_runtime_disable() automatically through a device-managed action. @@ -308267,13 +308204,13 @@ index d82c86865079..40f04157ea39 100644 /* Disable the binner's overflow memory address, so the next -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 12 Sep 2022 09:37:08 +0100 -Subject: [PATCH 1151/1219] configs: Add NET_XFRM=m +Subject: [PATCH 1150/1284] configs: Add NET_XFRM=m Enable the net_xfrm module to support using nftables rules with ipsec matches, @@ -308350,13 +308287,13 @@ index f230ddb4675a..9477b58043cb 100644 CONFIG_NFT_OSF=m CONFIG_NFT_TPROXY=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 8 Sep 2022 15:50:15 +0100 -Subject: [PATCH 1152/1219] usb: xhci: expand mitigations for +Subject: [PATCH 1151/1284] usb: xhci: expand mitigations for VLI_SS_BULK_OUT_BUG quirk The VL805 can cause data corruption if a SS Bulk OUT endpoint enters a @@ -308445,13 +308382,13 @@ index bcc04cbcdfc2..ddd321d9a890 100644 /* Allow 3 retries for everything but isoc, set CErr = 3 */ -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= Date: Wed, 20 Apr 2022 13:44:59 +0200 -Subject: [PATCH 1153/1219] drm/vc4: hdmi: Replace drm_detect_hdmi_monitor() +Subject: [PATCH 1152/1284] drm/vc4: hdmi: Replace drm_detect_hdmi_monitor() with is_hdmi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -308649,13 +308586,13 @@ index b83e4194983f..2d6a0e2c71ab 100644 static inline struct vc4_hdmi_encoder * -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= Date: Wed, 20 Apr 2022 13:45:00 +0200 -Subject: [PATCH 1154/1219] drm/vc4: hdmi: Remove vc4_hdmi_encoder +Subject: [PATCH 1153/1284] drm/vc4: hdmi: Remove vc4_hdmi_encoder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -308789,13 +308726,13 @@ index 2d6a0e2c71ab..9a5c540755ef 100644 } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 18 Nov 2021 09:12:28 +0100 -Subject: [PATCH 1155/1219] drm/vc4: hdmi: Constify drm_display_mode +Subject: [PATCH 1154/1284] drm/vc4: hdmi: Constify drm_display_mode We don't modify the drm_display_mode pointer we have in the driver in most places, so let's make them const. @@ -308896,13 +308833,13 @@ index 9a5c540755ef..b4492cda109c 100644 /* Callback to initialize the PHY according to the connector state */ void (*phy_init)(struct vc4_hdmi *vc4_hdmi, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 2 Nov 2021 13:35:22 +0100 -Subject: [PATCH 1156/1219] drm/vc4: hdmi: Remove unused argument in +Subject: [PATCH 1155/1284] drm/vc4: hdmi: Remove unused argument in vc4_hdmi_supports_scrambling Even though vc4_hdmi_supports_scrambling takes a mode as an argument, it @@ -308937,13 +308874,13 @@ index ca14f9951589..f9f6c906fac1 100644 if (!vc4_hdmi_mode_needs_scrambling(mode, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 28 Oct 2021 14:59:37 +0200 -Subject: [PATCH 1157/1219] drm/vc4: hdmi: Remove mutex in detect +Subject: [PATCH 1156/1284] drm/vc4: hdmi: Remove mutex in detect We recently introduced a new mutex to protect concurrent execution of ALSA and KMS hooks, and the concurrent access to some of vc4_hdmi @@ -309196,13 +309133,13 @@ index b4492cda109c..ecebccad4569 100644 struct mutex mutex; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 20 Oct 2021 09:53:30 +0200 -Subject: [PATCH 1158/1219] drm/vc4: hdmi: Simplify the hotplug handling +Subject: [PATCH 1157/1284] drm/vc4: hdmi: Simplify the hotplug handling Our detect callback has a bunch of operations to perform depending on the current and last status of the connector, such a setting the CEC @@ -309321,13 +309258,13 @@ index 1f4a8699e155..1afeef6e0590 100644 static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 28 Sep 2021 14:11:37 +0200 -Subject: [PATCH 1159/1219] drm/vc4: hdmi: Switch to detect_ctx +Subject: [PATCH 1158/1284] drm/vc4: hdmi: Switch to detect_ctx We'll need the locking context in future patch, so let's convert .detect to .detect_ctx. @@ -309370,13 +309307,13 @@ index 1afeef6e0590..8fc5bef5c8fa 100644 .atomic_check = vc4_hdmi_connector_atomic_check, }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 13 Jul 2022 16:18:21 +0200 -Subject: [PATCH 1160/1219] drm/vc4: hdmi: Move vc4_hdmi_supports_scrambling() +Subject: [PATCH 1159/1284] drm/vc4: hdmi: Move vc4_hdmi_supports_scrambling() around We'll need it earlier in the driver, so let's move it next to the other @@ -309440,13 +309377,13 @@ index 8fc5bef5c8fa..ff05d946ef0b 100644 static void vc4_hdmi_enable_scrambling(struct drm_encoder *encoder) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 28 Oct 2021 15:00:44 +0200 -Subject: [PATCH 1161/1219] drm/vc4: hdmi: Reset link on hotplug +Subject: [PATCH 1160/1284] drm/vc4: hdmi: Reset link on hotplug During a hotplug cycle (such as a TV going out of suspend, or when the cable is disconnected and reconnected), the expectation is that the same @@ -309635,13 +309572,13 @@ index ff05d946ef0b..a8f3d5274fdb 100644 return status; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 27 Sep 2021 18:05:24 +0200 -Subject: [PATCH 1162/1219] drm/scdc: Document hotplug gotchas +Subject: [PATCH 1161/1284] drm/scdc: Document hotplug gotchas There's some interactions between the SCDC setup and the disconnection / reconnection of displays. Let's document it and a solution. @@ -309676,13 +309613,13 @@ index 48a382464d54..0c098b39cdb9 100644 #define SCDC_I2C_SLAVE_ADDRESS 0x54 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 21 Sep 2022 14:10:42 +0100 -Subject: [PATCH 1163/1219] media: i2c: imx219: make HBLANK r/w to allow longer +Subject: [PATCH 1162/1284] media: i2c: imx219: make HBLANK r/w to allow longer exposures The HBLANK control was read-only, and always configured such @@ -309817,13 +309754,13 @@ index 4339ddcb5ebc..185596e47fb6 100644 exposure_def = (exposure_max < IMX219_EXPOSURE_DEFAULT) ? exposure_max : IMX219_EXPOSURE_DEFAULT; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Sun, 25 Sep 2022 17:55:44 +0100 -Subject: [PATCH 1164/1219] Revert "Add PHY_ID_BCM54213PE identifier." +Subject: [PATCH 1163/1284] Revert "Add PHY_ID_BCM54213PE identifier." This reverts commit b8e68d153d429de337d173e6bfc295f1d8ba557d. --- @@ -309845,13 +309782,13 @@ index 08a1824d4a53..ef00d6163061 100644 default: return NULL; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Victor Ding <14084856+0dvictor@users.noreply.github.com> Date: Sun, 25 Sep 2022 14:11:02 +0000 -Subject: [PATCH 1165/1219] ARM: dts: Add dtparams to disable PCIe, HDMI, and +Subject: [PATCH 1164/1284] ARM: dts: Add dtparams to disable PCIe, HDMI, and SD card/eMMC Under certain situations, it is desired to disable some unused devices. @@ -309933,13 +309870,13 @@ index d4a3c32033a6..df3e2992dd6d 100644 requests 50MHz -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 22 Sep 2022 14:55:54 +0100 -Subject: [PATCH 1166/1219] usb: xhci: account for num_trbs_free when +Subject: [PATCH 1165/1284] usb: xhci: account for num_trbs_free when invalidating TDs If a ring has a number of TDs enqueued past the dequeue pointer, and the @@ -309968,7 +309905,7 @@ Signed-off-by: Jonathan Bell 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index 6b4cb26407d5..9651e7b1441c 100644 +index a50897ace94d..0a760b9882f0 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -1023,11 +1023,13 @@ static int xhci_invalidate_cancelled_tds(struct xhci_virt_ep *ep) @@ -310023,13 +309960,13 @@ index 6b4cb26407d5..9651e7b1441c 100644 /* -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Sep 2022 16:04:08 +0100 -Subject: [PATCH 1167/1219] ARM: dts: Don't enable the 8250 UART on CM4S +Subject: [PATCH 1166/1284] ARM: dts: Don't enable the 8250 UART on CM4S CM4S (like CM3, but unlike some CM4) has no Bluetooth, so don't enable the 8250 support in the kernel. @@ -310067,13 +310004,13 @@ index 03c6a5e29284..2f2d589e178f 100644 aliases { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 Nov 2021 14:02:14 +0000 -Subject: [PATCH 1168/1219] overlays: Add rpi-sense-v2 +Subject: [PATCH 1167/1284] overlays: Add rpi-sense-v2 Signed-off-by: Phil Elwell --- @@ -310166,13 +310103,13 @@ index 000000000000..1b86c032259b + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 3 Oct 2022 11:22:07 +0100 -Subject: [PATCH 1169/1219] media: i2c: imx477: Allow dynamic horizontal +Subject: [PATCH 1168/1284] media: i2c: imx477: Allow dynamic horizontal blanking control Currently, the V4L2_CID_HBLANK control is marked as read-only. Remove this @@ -310249,13 +310186,13 @@ index 53e0656da53d..87816710138e 100644 V4L2_CID_EXPOSURE, IMX477_EXPOSURE_MIN, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 3 Oct 2022 14:21:35 +0100 -Subject: [PATCH 1170/1219] vc04_services: bcm2835-codec: Remove redundant +Subject: [PATCH 1169/1284] vc04_services: bcm2835-codec: Remove redundant role check vidioc_try_encoder_cmd checks the role, but the ioctl is disabled @@ -310283,13 +310220,13 @@ index ca063a25ab12..be70be161c2e 100644 case V4L2_ENC_CMD_STOP: break; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 3 Oct 2022 14:23:15 +0100 -Subject: [PATCH 1171/1219] vc04_services: bcm2835-codec: Allow encoder_cmd on +Subject: [PATCH 1170/1284] vc04_services: bcm2835-codec: Allow encoder_cmd on ISP and deinterlace ISP and deinterlace also need a mechanism for passing effectively @@ -310329,13 +310266,13 @@ index be70be161c2e..ac563d8a3e34 100644 v4l2_disable_ioctl(vfd, VIDIOC_TRY_DECODER_CMD); v4l2_disable_ioctl(vfd, VIDIOC_S_PARM); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 4 Oct 2022 09:52:06 +0100 -Subject: [PATCH 1172/1219] vc04_services: bcm2835-codec: Remove unused +Subject: [PATCH 1171/1284] vc04_services: bcm2835-codec: Remove unused variable Signed-off-by: Phil Elwell @@ -310357,13 +310294,13 @@ index ac563d8a3e34..8e44880264dd 100644 case V4L2_ENC_CMD_STOP: break; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 5 Oct 2022 09:47:00 +0100 -Subject: [PATCH 1173/1219] media: i2c: imx477: Reset hblank on mode switch +Subject: [PATCH 1172/1284] media: i2c: imx477: Reset hblank on mode switch Reset the hblank control to the minimum value on every mode switch. This is to account for userland instances that do not yet control hblank, otherwise it @@ -310387,13 +310324,13 @@ index 87816710138e..cf7f3c2afdd7 100644 static int imx477_set_pad_format(struct v4l2_subdev *sd, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 5 Oct 2022 10:52:57 +0100 -Subject: [PATCH 1174/1219] media: i2c: imx477: Do not unconditionally adjust +Subject: [PATCH 1173/1284] media: i2c: imx477: Do not unconditionally adjust hblank and vblank limits On a mode change, only call imx477_set_framing_limits() to adjust the hblank @@ -310419,13 +310356,13 @@ index cf7f3c2afdd7..e4cec1c3f9d2 100644 imx477->fmt_code = fmt->format.code; imx477_set_framing_limits(imx477); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 7 Oct 2022 10:38:31 +0100 -Subject: [PATCH 1175/1219] nvmem: Use NVMEM_DEVID_AUTO +Subject: [PATCH 1174/1284] nvmem: Use NVMEM_DEVID_AUTO It is reasonable to declare multiple nvmem blocks. Unless a unique 'id' is passed in for each block there may be name clashes. @@ -310440,7 +310377,7 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+) diff --git a/drivers/nvmem/rmem.c b/drivers/nvmem/rmem.c -index b11c3c974b3d..82554acfc330 100644 +index 80cb187f1481..752d0bf4445e 100644 --- a/drivers/nvmem/rmem.c +++ b/drivers/nvmem/rmem.c @@ -71,6 +71,7 @@ static int rmem_probe(struct platform_device *pdev) @@ -310452,13 +310389,13 @@ index b11c3c974b3d..82554acfc330 100644 config.reg_read = rmem_read; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 7 Oct 2022 09:50:42 +0100 -Subject: [PATCH 1176/1219] Bluetooth: btbcm: Allow board-specific firmware +Subject: [PATCH 1175/1284] Bluetooth: btbcm: Allow board-specific firmware names There are some devices available from multiple vendors that report the @@ -310541,13 +310478,13 @@ index a18f289d7346..ee18cfca5d3f 100644 } EXPORT_SYMBOL_GPL(btbcm_initialize); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 10 Oct 2022 18:43:32 +0100 -Subject: [PATCH 1177/1219] media: i2c: imx290: Correct min HBLANK. +Subject: [PATCH 1176/1284] media: i2c: imx290: Correct min HBLANK. In the 720p mode the CSI link is run at a lower frequency, and the minimum HBLANK value has to be increased to avoid generating @@ -310607,13 +310544,13 @@ index f7971b972045..656654748c39 100644 mode->hmax - mode->width); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Oct 2022 10:04:31 +0100 -Subject: [PATCH 1178/1219] overlays: i2c-rtc: Add RV3032 support +Subject: [PATCH 1177/1284] overlays: i2c-rtc: Add RV3032 support See: https://github.com/raspberrypi/linux/issues/5205 @@ -310655,13 +310592,13 @@ index 5e03764b67b0..94b0243bc328 100644 addr = <&abx80x>, "reg:0", <&ds1307>, "reg:0", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Oct 2022 10:05:19 +0100 -Subject: [PATCH 1179/1219] configs: Add RTC_DRV_RV3032=m +Subject: [PATCH 1178/1284] configs: Add RTC_DRV_RV3032=m See: https://github.com/raspberrypi/linux/issues/5205 @@ -310735,13 +310672,13 @@ index 9477b58043cb..fbcbd19bbd14 100644 CONFIG_RTC_DRV_SD3078=m CONFIG_RTC_DRV_M41T93=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Fri, 7 Oct 2022 11:04:27 +0100 -Subject: [PATCH 1180/1219] ARM: dts: Add nvmem node for BCM2711 bootloader +Subject: [PATCH 1179/1284] ARM: dts: Add nvmem node for BCM2711 bootloader public key Make a copy of the bootloader secure-boot public key available to the OS @@ -310786,13 +310723,13 @@ index ca266c5d9f9b..3c0bc92ab39c 100644 &vchiq { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Pablo Greco Date: Sat, 15 Oct 2022 19:46:30 +0000 -Subject: [PATCH 1181/1219] Sync potential bad rebases with upstream +Subject: [PATCH 1180/1284] Sync potential bad rebases with upstream --- drivers/gpu/drm/vc4/Kconfig | 1 - @@ -311314,13 +311251,13 @@ index cedd187bf2d2..7b0d7dc531c0 100644 return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 16 Oct 2022 16:45:37 +0100 -Subject: [PATCH 1182/1219] configs: Add FSIA6B driver module +Subject: [PATCH 1181/1284] configs: Add FSIA6B driver module See: https://github.com/raspberrypi/linux/issues/5208 @@ -311394,13 +311331,13 @@ index fbcbd19bbd14..3fd463812dbf 100644 CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Mon, 17 Oct 2022 15:18:24 +0100 -Subject: [PATCH 1183/1219] drivers/gpu/drm/vc4: Add missing 32-bit RGB formats +Subject: [PATCH 1182/1284] drivers/gpu/drm/vc4: Add missing 32-bit RGB formats The missing 32-bit per pixel ABGR and various "RGB with an X value" formats are added. Change sent by Dave Stevenson. @@ -311450,13 +311387,13 @@ index 94df930b3232..87b9316b6364 100644 .drm = DRM_FORMAT_RGB565, .vc_image = VC_IMAGE_RGB565, -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 25 Oct 2022 20:33:39 +0100 -Subject: [PATCH 1184/1219] configs: Enable the AHT10 sensor driver module +Subject: [PATCH 1183/1284] configs: Enable the AHT10 sensor driver module Add support for the Aosong AHT10 temperature and humidity sensor. @@ -311532,13 +311469,13 @@ index 3fd463812dbf..8ea80d6ea25f 100644 CONFIG_SENSORS_GPIO_FAN=m CONFIG_SENSORS_IIO_HWMON=m -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 25 Oct 2022 20:27:00 +0100 -Subject: [PATCH 1185/1219] overlays: Add i2c-sensor support for AHT10 +Subject: [PATCH 1184/1284] overlays: Add i2c-sensor support for AHT10 Add support for the Aosong AHT10 temperature and humidity sensor. @@ -311598,13 +311535,13 @@ index 2716898e24a4..231db98890fb 100755 addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0", <&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0", -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 25 Oct 2022 20:08:51 +0100 -Subject: [PATCH 1186/1219] overlays: Add README entry for i2c-rtc,rv3032 +Subject: [PATCH 1185/1284] overlays: Add README entry for i2c-rtc,rv3032 Signed-off-by: Phil Elwell --- @@ -311634,13 +311571,13 @@ index 6f2ff97872db..fe809b50d154 100644 sd3078 Select the ZXW Shenzhen whwave SD3078 device -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 25 Oct 2022 10:50:10 +0100 -Subject: [PATCH 1187/1219] drivers: usb: dwc_otg: fix reference passing when +Subject: [PATCH 1186/1284] drivers: usb: dwc_otg: fix reference passing when checking bandwidth The pointer (struct usb_host_endpoint *)->hcpriv should contain a @@ -311699,13 +311636,13 @@ index 2ee27450c6f6..6e7b126d6262 100644 } } else { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 26 Oct 2022 17:46:44 +0100 -Subject: [PATCH 1188/1219] drivers: dwc_otg: stop GCC from patching FIQ +Subject: [PATCH 1187/1284] drivers: dwc_otg: stop GCC from patching FIQ functions Configuring GCC to use task stack protector canaries means it will @@ -311750,13 +311687,13 @@ index f644acbce748..67e277804b2e 100644 hcchar_data_t hcchar = { .d32 = FIQ_READ(st->dwc_regs_base + HC_START + (HC_OFFSET * n) + HCCHAR) }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 1 Nov 2022 08:47:21 +0000 -Subject: [PATCH 1189/1219] overlays: i2c-sensor: Add mcp980x support +Subject: [PATCH 1188/1284] overlays: i2c-sensor: Add mcp980x support See: https://github.com/raspberrypi/linux/issues/5234 @@ -311821,13 +311758,13 @@ index 231db98890fb..77babe855da9 100755 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 2 Nov 2022 09:54:39 +0000 -Subject: [PATCH 1190/1219] overlays: pisound: Make button pins owned by card +Subject: [PATCH 1189/1284] overlays: pisound: Make button pins owned by card The pisound overlay claims a number of GPIOs using a pinctrl node, but for some reason hangs this claim on the main gpio node. This obscures @@ -311876,13 +311813,13 @@ index 49efb2b768fb..a140ffc1f720 100644 brcm,pins = <17>; brcm,function = <0>; // Input -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 19 Oct 2022 16:28:12 +0200 -Subject: [PATCH 1191/1219] drm/connector: Set DDC pointer in +Subject: [PATCH 1190/1284] drm/connector: Set DDC pointer in drmm_connector_init Commit 35a3b82f1bdd ("drm/connector: Introduce drmm_connector_init") @@ -311902,7 +311839,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c -index dbd435e526e6..3d9974de09b9 100644 +index 9555fe490e59..38174461d48c 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -422,7 +422,7 @@ int drmm_connector_init(struct drm_device *dev, @@ -311915,13 +311852,13 @@ index dbd435e526e6..3d9974de09b9 100644 return ret; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 4 Nov 2022 15:43:57 +0100 -Subject: [PATCH 1192/1219] Revert "kms/vc4_hdmi: Refuse 4096x2160@60 hdmi +Subject: [PATCH 1191/1284] Revert "kms/vc4_hdmi: Refuse 4096x2160@60 hdmi modes" This reverts commit 47f8ffa91cb6b4b254930494ec3c80674c768f73. @@ -312018,13 +311955,13 @@ index 98e5637861fc..e045e7ab07c3 100644 if (ret) { dev_err(&pdev->dev, "Couldn't enable the core clock\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 4 Nov 2022 15:46:13 +0100 -Subject: [PATCH 1193/1219] Revert "drm/vc4: hdmi: Rework hdmi_enable_4kp60 +Subject: [PATCH 1192/1284] Revert "drm/vc4: hdmi: Rework hdmi_enable_4kp60 detection" This reverts commit 15acfbaf70d7f4b371f2a3fe85e47d5988264217. @@ -312139,13 +312076,13 @@ index e045e7ab07c3..8958deb4cb19 100644 if (ret) { dev_err(&pdev->dev, "Couldn't enable the core clock\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 4 Nov 2022 15:47:36 +0100 -Subject: [PATCH 1194/1219] Revert "drm/vc4: Make sure we don't end up with a +Subject: [PATCH 1193/1284] Revert "drm/vc4: Make sure we don't end up with a core clock too high" This reverts commit 6fd2deea9e82370d719a1c8c1b2c48558db4fff5. @@ -312194,13 +312131,13 @@ index 25db8532000d..86fedf85fc62 100644 drm_dbg(dev, "Core clock actual rate: %lu Hz\n", clk_get_rate(hvs->core_clk)); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "maxime@cerno.tech" Date: Thu, 20 Oct 2022 11:12:09 +0200 -Subject: [PATCH 1195/1219] firmware: raspberrypi: Introduce +Subject: [PATCH 1194/1284] firmware: raspberrypi: Introduce rpi_firmware_find_node() A significant number of RaspberryPi drivers using the firmware don't @@ -312217,10 +312154,10 @@ Signed-off-by: Maxime Ripard 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 1223e3173cff..bb22ffa6cd7c 100644 +index 81b6351fda83..4c30dc977a88 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -428,6 +428,18 @@ static int rpi_firmware_remove(struct platform_device *pdev) +@@ -429,6 +429,18 @@ static int rpi_firmware_remove(struct platform_device *pdev) return 0; } @@ -312239,7 +312176,7 @@ index 1223e3173cff..bb22ffa6cd7c 100644 /** * rpi_firmware_get - Get pointer to rpi_firmware structure. * @firmware_node: Pointer to the firmware Device Tree node. -@@ -483,12 +495,6 @@ struct rpi_firmware *devm_rpi_firmware_get(struct device *dev, +@@ -484,12 +496,6 @@ struct rpi_firmware *devm_rpi_firmware_get(struct device *dev, } EXPORT_SYMBOL_GPL(devm_rpi_firmware_get); @@ -312278,13 +312215,13 @@ index dd3bbc75e531..eb933a9c6c20 100644 { return NULL; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 20 Sep 2022 13:43:19 +0200 -Subject: [PATCH 1196/1219] firmware: raspberrypi: Move the clock IDs to the +Subject: [PATCH 1195/1284] firmware: raspberrypi: Move the clock IDs to the firmware header We'll need the clock IDs in more drivers than just the clock driver from @@ -312359,13 +312296,13 @@ index eb933a9c6c20..39bc15cc0547 100644 #if IS_ENABLED(CONFIG_RASPBERRYPI_FIRMWARE) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 20 Sep 2022 13:49:10 +0200 -Subject: [PATCH 1197/1219] firmware: raspberrypi: Provide a helper to query a +Subject: [PATCH 1196/1284] firmware: raspberrypi: Provide a helper to query a clock max rate The firmware allows to query for its clocks the operating range of a @@ -312382,7 +312319,7 @@ Signed-off-by: Maxime Ripard 2 files changed, 46 insertions(+) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index bb22ffa6cd7c..93364e97e879 100644 +index 4c30dc977a88..773ab66a506a 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -342,6 +342,26 @@ static void rpi_register_clk_driver(struct device *dev) @@ -312463,13 +312400,13 @@ index 39bc15cc0547..c453978e62f6 100644 { return NULL; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 24 Oct 2022 13:23:28 +0200 -Subject: [PATCH 1198/1219] drm/v3d: Convert to new clock range API +Subject: [PATCH 1197/1284] drm/v3d: Convert to new clock range API Signed-off-by: Maxime Ripard --- @@ -312522,13 +312459,13 @@ index 66d1f9a6a511..6d5327cc2225 100644 * the CPRMAN clock generator dividing off our parent. The divider is * 4 bits, but ask for just higher than that so that rounding doesn't -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 24 Oct 2022 13:24:03 +0200 -Subject: [PATCH 1199/1219] rpivid: Convert to new clock rate API +Subject: [PATCH 1198/1284] rpivid: Convert to new clock rate API Signed-off-by: Maxime Ripard --- @@ -312610,13 +312547,13 @@ index bab3ed3ff361..37144a65c439 100644 dev_err(dev->dev, "Failed to set clock rate\n"); return rv; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 24 Mar 2022 11:57:57 +0100 -Subject: [PATCH 1200/1219] drm/vc4: hdmi: Fix hdmi_enable_4kp60 detection +Subject: [PATCH 1199/1284] drm/vc4: hdmi: Fix hdmi_enable_4kp60 detection In order to support higher HDMI frequencies, users have to set the hdmi_enable_4kp60 parameter in their config.txt file. @@ -312663,13 +312600,13 @@ index 35e0dba621d9..59eb7f9dd4ab 100644 if (max_rate < 550000000) vc4_hdmi->disable_4kp60 = true; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 24 Mar 2022 11:57:57 +0100 -Subject: [PATCH 1201/1219] drm/vc4: hdmi: Rework hdmi_enable_4kp60 detection +Subject: [PATCH 1200/1284] drm/vc4: hdmi: Rework hdmi_enable_4kp60 detection code In order to support higher HDMI frequencies, users have to set the @@ -312837,13 +312774,13 @@ index 8958deb4cb19..4ecd4cb69813 100644 if (ret) { dev_err(&pdev->dev, "Couldn't enable the core clock\n"); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 17 May 2022 12:46:42 +0100 -Subject: [PATCH 1202/1219] drm/vc4: hdmi: Add more checks for 4k resolutions +Subject: [PATCH 1201/1284] drm/vc4: hdmi: Add more checks for 4k resolutions At least the 4096x2160@60Hz mode requires some overclocking that isn't available by default, even if hdmi_enable_4kp60 is enabled. @@ -312935,13 +312872,13 @@ index 4ecd4cb69813..217f53b403b8 100644 ret = clk_prepare_enable(hvs->core_clk); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 25 Mar 2022 17:09:41 +0100 -Subject: [PATCH 1203/1219] drm/vc4: Make sure we don't end up with a core +Subject: [PATCH 1202/1284] drm/vc4: Make sure we don't end up with a core clock too high Following the clock rate range improvements to the clock framework, @@ -312992,13 +312929,13 @@ index 86fedf85fc62..89fed9383038 100644 drm_dbg(dev, "Core clock actual rate: %lu Hz\n", clk_get_rate(hvs->core_clk)); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 4 Nov 2022 15:35:07 +0100 -Subject: [PATCH 1204/1219] Revert "clk: Add locking to clk_get_rate_range" +Subject: [PATCH 1203/1284] Revert "clk: Add locking to clk_get_rate_range" This reverts commit e38ef8f21af1d3a8044cd74f8255efff970da37f. --- @@ -313020,13 +312957,13 @@ index cc9b7a42a055..704d80e45325 100644 EXPORT_SYMBOL_GPL(clk_get_rate_range); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 4 Nov 2022 15:35:09 +0100 -Subject: [PATCH 1205/1219] Revert "clk: tests: Add some tests for +Subject: [PATCH 1204/1284] Revert "clk: tests: Add some tests for clk_get_rate_range()" This reverts commit 4773156488c968530523b1f040ddace243aa3ba4. @@ -313249,13 +313186,13 @@ index af40d46987e7..0bbafaea02af 100644 KUNIT_CASE(clk_range_test_set_range_invalid), KUNIT_CASE(clk_range_test_multiple_disjoints_range), -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 4 Nov 2022 15:35:10 +0100 -Subject: [PATCH 1206/1219] Revert "clk: Add clk_get_rate_range" +Subject: [PATCH 1205/1284] Revert "clk: Add clk_get_rate_range" This reverts commit 26f74db82807bc4dfa7adbab94109de7388266bf. --- @@ -313293,10 +313230,10 @@ index 704d80e45325..24e243860e27 100644 * clk_get_parent - return the parent of a clk * @clk: the clk whose parent gets returned diff --git a/include/linux/clk.h b/include/linux/clk.h -index 39710b8453fa..3b8cf492ff1a 100644 +index f6bdc7e1e0d1..c67630193326 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h -@@ -713,17 +713,6 @@ bool clk_has_parent(struct clk *clk, struct clk *parent); +@@ -798,17 +798,6 @@ bool clk_has_parent(struct clk *clk, struct clk *parent); */ int clk_set_rate_range(struct clk *clk, unsigned long min, unsigned long max); @@ -313314,7 +313251,7 @@ index 39710b8453fa..3b8cf492ff1a 100644 /** * clk_set_min_rate - set a minimum clock rate for a clock source * @clk: clock source -@@ -920,16 +909,6 @@ static inline int clk_set_rate_range(struct clk *clk, unsigned long min, +@@ -1029,16 +1018,6 @@ static inline int clk_set_rate_range(struct clk *clk, unsigned long min, return 0; } @@ -313331,7 +313268,7 @@ index 39710b8453fa..3b8cf492ff1a 100644 static inline int clk_set_min_rate(struct clk *clk, unsigned long rate) { return 0; -@@ -1019,44 +998,6 @@ static inline int clk_drop_range(struct clk *clk) +@@ -1128,44 +1107,6 @@ static inline int clk_drop_range(struct clk *clk) return clk_set_rate_range(clk, 0, ULONG_MAX); } @@ -313377,13 +313314,13 @@ index 39710b8453fa..3b8cf492ff1a 100644 * clk_get_optional - lookup and obtain a reference to an optional clock * producer. -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 5 Nov 2022 11:46:08 +0000 -Subject: [PATCH 1207/1219] net: phy: BCM54210PE does not support PTP +Subject: [PATCH 1206/1284] net: phy: BCM54210PE does not support PTP BCM54213PE is an Ethernet PHY that supports PTP hardware timestamping. BCM54210PW ia another Ethernet PHY, but one without PTP support. @@ -313427,13 +313364,13 @@ index ef00d6163061..30ee23e73a4b 100644 return NULL; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Nov 2022 15:31:43 +0000 -Subject: [PATCH 1208/1219] overlays: i2c-sensor: Add the jc42 class of sensor +Subject: [PATCH 1207/1284] overlays: i2c-sensor: Add the jc42 class of sensor This is a second attempt to solve issue 5234, since it turns out that the mcp980x driver only supports MCP9800-MCP9803. MCP9804, MCP9805 and @@ -313519,13 +313456,13 @@ index 77babe855da9..baac806e93bf 100755 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2022 14:40:52 +0000 -Subject: [PATCH 1209/1219] overlays: Extend audremap to supports other pins +Subject: [PATCH 1208/1284] overlays: Extend audremap to supports other pins Add the parameters pins_40_41 and pins_40_45 to support other audio pin options. Also, simplify the overlay using literal assignments. @@ -313604,13 +313541,13 @@ index 7324890ead86..b76dbfa5f215 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 15:00:04 +0000 -Subject: [PATCH 1210/1219] media: adv7180: Nasty hack to allow input +Subject: [PATCH 1209/1284] media: adv7180: Nasty hack to allow input selection. Whilst the adv7180 driver support s_routing, nothing else @@ -313700,13 +313637,13 @@ index 725d52f8c742..ecd66279b7fe 100644 ret = mutex_lock_interruptible(&state->mutex); if (ret) -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 3 Nov 2022 13:45:37 +0000 -Subject: [PATCH 1211/1219] vc04_services: bcm2835_codec: Allow larger images +Subject: [PATCH 1210/1284] vc04_services: bcm2835_codec: Allow larger images through the ISP Whilst the codecs are restricted to 1920x1080 / 1080x1920, the ISP @@ -313807,13 +313744,13 @@ index 8e44880264dd..cc072aa1b357 100644 case DEINTERLACE: v4l2_disable_ioctl(vfd, VIDIOC_DECODER_CMD); -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nick Hollinghurst Date: Fri, 11 Nov 2022 13:36:07 +0000 -Subject: [PATCH 1212/1219] imx296-overlay: clock-frequency defaults to 54MHz +Subject: [PATCH 1211/1284] imx296-overlay: clock-frequency defaults to 54MHz but can be overridden Signed-off-by: Nick Hollinghurst @@ -313860,13 +313797,13 @@ index 85b6f7e7fca1..44257b4c9391 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Sat, 12 Nov 2022 11:43:15 +0000 -Subject: [PATCH 1213/1219] Revert "Revert "ext4: make mb_optimize_scan +Subject: [PATCH 1212/1284] Revert "Revert "ext4: make mb_optimize_scan performance mount option work with extents"" This reverts commit e05a335a16e0fc8d030962d3c6a75446f6b42f1c. @@ -313894,13 +313831,13 @@ index 094bda1fac90..0c7498a59943 100644 return 1; } -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Tue, 15 Nov 2022 18:04:45 +0100 -Subject: [PATCH 1214/1219] ASoC:ma120x0p: Corrects the volume level display +Subject: [PATCH 1213/1284] ASoC:ma120x0p: Corrects the volume level display Fixes the wrongly changed 'limiter volume' display back to -50dB minimum and sets the correct minimum volume level to -144dB to be aligned with @@ -313927,13 +313864,13 @@ index 992c72cf0f5a..596dd0833ae8 100644 static const struct snd_kcontrol_new ma120x0p_snd_controls[] = { -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 16 Nov 2022 14:54:08 +0000 -Subject: [PATCH 1215/1219] overlays: Add overlay pwm1 +Subject: [PATCH 1214/1284] overlays: Add overlay pwm1 pwm1 enables the second PWM interface found on BCM2711. It can only be mapped to GPIOs 40 & 41. @@ -314072,13 +314009,13 @@ index 000000000000..e1f03b0baa8a + }; +}; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 16 Nov 2022 15:42:23 +0000 -Subject: [PATCH 1216/1219] SQUASH: overlays: minor reword of pwm1 entry +Subject: [PATCH 1215/1284] SQUASH: overlays: minor reword of pwm1 entry Signed-off-by: Phil Elwell --- @@ -314099,13 +314036,13 @@ index 166553790dc4..7b84eaee7466 100644 Name: qca7000 -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 21 Nov 2022 14:18:57 +0000 -Subject: [PATCH 1217/1219] overlays: audremap: Include the fsels values +Subject: [PATCH 1216/1284] overlays: audremap: Include the fsels values Add the alt function selectors, and document that pins_40_45 is not suitable for BCM2711 because the pins are split across the two PWM @@ -314157,13 +314094,13 @@ index b76dbfa5f215..5323b9b66a25 100644 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Nov 2022 11:51:38 +0000 -Subject: [PATCH 1218/1219] overlays: i2c-sensor: Make smbus-timeout-disable +Subject: [PATCH 1217/1284] overlays: i2c-sensor: Make smbus-timeout-disable optional Although disabling the SMBUS timeout may be useful, not all chips @@ -314213,13 +314150,13 @@ index baac806e93bf..c81d8e5db548 100755 }; }; -- -2.31.1 +2.39.0 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: reinisb Date: Fri, 25 Nov 2022 12:53:50 +0200 -Subject: [PATCH 1219/1219] overlays: Mention Digi2 Pro audio card in README +Subject: [PATCH 1218/1284] overlays: Mention Digi2 Pro audio card in README https://www.hifiberry.com/blog/the-new-digi2-pro/ --- @@ -314240,5 +314177,8775 @@ index 41f101baef42..fd9dfc5a223f 100644 Params: -- -2.31.1 +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 29 Nov 2022 13:17:08 +0000 +Subject: [PATCH 1219/1284] configs: Enable Twofish crypto + +See: https://github.com/raspberrypi/linux/issues/5258 + +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 d3f21b5a8c66..36d8c2861e95 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -1536,6 +1536,7 @@ CONFIG_CRYPTO_XCBC=m + CONFIG_CRYPTO_WP512=m + CONFIG_CRYPTO_CAST5=m + CONFIG_CRYPTO_DES=y ++CONFIG_CRYPTO_TWOFISH=m + CONFIG_CRYPTO_LZ4=m + CONFIG_CRYPTO_USER_API_HASH=m + CONFIG_CRYPTO_USER_API_SKCIPHER=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 728cf8f3f594..3ae4de049425 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -1562,6 +1562,7 @@ CONFIG_CRYPTO_XCBC=m + CONFIG_CRYPTO_WP512=m + CONFIG_CRYPTO_CAST5=m + CONFIG_CRYPTO_DES=y ++CONFIG_CRYPTO_TWOFISH=m + CONFIG_CRYPTO_LZ4=m + CONFIG_CRYPTO_USER_API_HASH=m + CONFIG_CRYPTO_USER_API_SKCIPHER=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index c2f4cb43e6d5..d005f23303ef 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -1531,6 +1531,7 @@ CONFIG_CRYPTO_XCBC=m + CONFIG_CRYPTO_WP512=m + CONFIG_CRYPTO_CAST5=m + CONFIG_CRYPTO_DES=y ++CONFIG_CRYPTO_TWOFISH=m + CONFIG_CRYPTO_LZ4=m + CONFIG_CRYPTO_USER_API_HASH=m + CONFIG_CRYPTO_USER_API_SKCIPHER=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index a0eb3c68b850..10ad750e323d 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -1582,6 +1582,7 @@ CONFIG_CRYPTO_WP512=m + CONFIG_CRYPTO_AES=m + CONFIG_CRYPTO_CAST5=m + CONFIG_CRYPTO_DES=y ++CONFIG_CRYPTO_TWOFISH=m + CONFIG_CRYPTO_LZ4=m + CONFIG_CRYPTO_USER_API_HASH=m + CONFIG_CRYPTO_USER_API_SKCIPHER=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 8ea80d6ea25f..3d2641b470f0 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -1477,6 +1477,7 @@ CONFIG_CRYPTO_XCBC=m + CONFIG_CRYPTO_WP512=m + CONFIG_CRYPTO_CAST5=m + CONFIG_CRYPTO_DES=y ++CONFIG_CRYPTO_TWOFISH=m + CONFIG_CRYPTO_LZ4=m + CONFIG_CRYPTO_USER_API_HASH=m + CONFIG_CRYPTO_USER_API_SKCIPHER=m +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jonathan Bell +Date: Thu, 1 Dec 2022 16:59:44 +0000 +Subject: [PATCH 1220/1284] usb: xhci: add XHCI_VLI_HUB_TT_QUIRK + +The integrated USB2.0 hub in the VL805 chipset has a bug where it +incorrectly determines the remaining available frame time before the +host next sends a SOF packet with an incremented frame_number. + +See the USB2.0 specification sections 11.3 and 11.14.2.3. + +The hub's non-periodic TT handler can transmit the IN/OUT handshake +token too late, so a following 64-byte DATA0/1 packet causes the ACK +handshake to collide with the propagated SOF. This causes port babble. + +Avoid ringing doorbells for vulnerable endpoints during uFrame 7 if the +TR is Idle to stop one source of babble. An IN transfer for a Running TR +may happen at any time, so there's not much we can do about that. + +Ideally a hub firmware update to properly implement frame timeouts is +needed, and to avoid spinning for up to 125us when submitting TDs to +Idle rings. + +Signed-off-by: Jonathan Bell +--- + drivers/usb/host/xhci-pci.c | 1 + + drivers/usb/host/xhci-ring.c | 46 ++++++++++++++++++++++++++++++++++++ + drivers/usb/host/xhci.h | 1 + + 3 files changed, 48 insertions(+) + +diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c +index 8ee70a8aabe2..b055112aab91 100644 +--- a/drivers/usb/host/xhci-pci.c ++++ b/drivers/usb/host/xhci-pci.c +@@ -296,6 +296,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) + xhci->quirks |= XHCI_AVOID_DQ_ON_LINK; + xhci->quirks |= XHCI_VLI_TRB_CACHE_BUG; + xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG; ++ xhci->quirks |= XHCI_VLI_HUB_TT_QUIRK; + } + + if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && +diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c +index 0a760b9882f0..3fe9b6e60b2b 100644 +--- a/drivers/usb/host/xhci-ring.c ++++ b/drivers/usb/host/xhci-ring.c +@@ -3591,6 +3591,48 @@ static int xhci_align_td(struct xhci_hcd *xhci, struct urb *urb, u32 enqd_len, + return 1; + } + ++static void xhci_vl805_hub_tt_quirk(struct xhci_hcd *xhci, struct urb *urb, ++ struct xhci_ring *ring) ++{ ++ struct list_head *tmp; ++ struct usb_device *udev = urb->dev; ++ unsigned int timeout = 0; ++ unsigned int single_td = 0; ++ ++ /* ++ * Adding a TD to an Idle ring for a FS nonperiodic endpoint ++ * that is behind the internal hub's TT will run the risk of causing a ++ * downstream port babble if submitted late in uFrame 7. ++ * Wait until we've moved on into at least uFrame 0 ++ * (MFINDEX references the next SOF to be transmitted). ++ * ++ * Rings for IN endpoints in the Running state also risk causing ++ * babble if the returned data is large, but there's not much we can do ++ * about it here. ++ */ ++ if (udev->route & 0xffff0 || udev->speed != USB_SPEED_FULL) ++ return; ++ ++ list_for_each(tmp, &ring->td_list) { ++ single_td++; ++ if (single_td == 2) { ++ single_td = 0; ++ break; ++ } ++ } ++ if (single_td) { ++ while (timeout < 20 && ++ (readl(&xhci->run_regs->microframe_index) & 0x7) == 0) { ++ udelay(10); ++ timeout++; ++ } ++ if (timeout >= 20) ++ xhci_warn(xhci, "MFINDEX didn't advance - %u.%u dodged\n", ++ readl(&xhci->run_regs->microframe_index) >> 3, ++ readl(&xhci->run_regs->microframe_index) & 7); ++ } ++} ++ + /* This is very similar to what ehci-q.c qtd_fill() does */ + int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, + struct urb *urb, int slot_id, unsigned int ep_index) +@@ -3759,6 +3801,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, + } + + check_trb_math(urb, enqd_len); ++ if (xhci->quirks & XHCI_VLI_HUB_TT_QUIRK) ++ xhci_vl805_hub_tt_quirk(xhci, urb, ring); + giveback_first_trb(xhci, slot_id, ep_index, urb->stream_id, + start_cycle, start_trb); + return 0; +@@ -3894,6 +3938,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *xhci, gfp_t mem_flags, + /* Event on completion */ + field | TRB_IOC | TRB_TYPE(TRB_STATUS) | ep_ring->cycle_state); + ++ if (xhci->quirks & XHCI_VLI_HUB_TT_QUIRK) ++ xhci_vl805_hub_tt_quirk(xhci, urb, ep_ring); + giveback_first_trb(xhci, slot_id, ep_index, 0, + start_cycle, start_trb); + return 0; +diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h +index 923583d03195..142c272a7315 100644 +--- a/drivers/usb/host/xhci.h ++++ b/drivers/usb/host/xhci.h +@@ -1909,6 +1909,7 @@ struct xhci_hcd { + #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(45) + #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(46) + #define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(47) ++#define XHCI_VLI_HUB_TT_QUIRK BIT_ULL(48) + + unsigned int num_active_eps; + unsigned int limit_active_eps; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 1 Dec 2022 13:54:49 +0000 +Subject: [PATCH 1221/1284] media: i2c: ov7251: Add module param to select ext + trig mode + +As there isn't currently a defined mechanism for selecting an +external trigger mode on image sensors, copy the imx477 +approach of using a module parameter to enable ext trig. + +Signed-off-by: Dave Stevenson +--- + drivers/media/i2c/ov7251.c | 35 ++++++++++++++++++++++++++++++++--- + 1 file changed, 32 insertions(+), 3 deletions(-) + +diff --git a/drivers/media/i2c/ov7251.c b/drivers/media/i2c/ov7251.c +index adc8e1980cfd..274ce798745b 100644 +--- a/drivers/media/i2c/ov7251.c ++++ b/drivers/media/i2c/ov7251.c +@@ -23,6 +23,10 @@ + #include + #include + ++static int trigger_mode; ++module_param(trigger_mode, int, 0644); ++MODULE_PARM_DESC(trigger_mode, "Set vsync trigger mode: 0=standalone, (1=source - not implemented), 2=sink"); ++ + #define OV7251_SC_MODE_SELECT 0x0100 + #define OV7251_SC_MODE_SELECT_SW_STANDBY 0x0 + #define OV7251_SC_MODE_SELECT_STREAMING 0x1 +@@ -244,7 +248,6 @@ static const struct reg_value ov7251_setting_vga[] = { + { 0x3662, 0x01 }, + { 0x3663, 0x70 }, + { 0x3664, 0x50 }, +- { 0x3666, 0x0a }, + { 0x3669, 0x1a }, + { 0x366a, 0x00 }, + { 0x366b, 0x50 }, +@@ -309,9 +312,8 @@ static const struct reg_value ov7251_setting_vga[] = { + { 0x3c00, 0x89 }, + { 0x3c01, 0x63 }, + { 0x3c02, 0x01 }, +- { 0x3c03, 0x00 }, + { 0x3c04, 0x00 }, +- { 0x3c05, 0x03 }, ++ { 0x3c05, 0x01 }, + { 0x3c06, 0x00 }, + { 0x3c07, 0x06 }, + { 0x3c0c, 0x01 }, +@@ -341,6 +343,16 @@ static const struct reg_value ov7251_setting_vga[] = { + { 0x5001, 0x80 }, + }; + ++static const struct reg_value ov7251_ext_trig_on[] = { ++ { 0x3666, 0x00 }, ++ { 0x3c03, 0x17 }, ++}; ++ ++static const struct reg_value ov7251_ext_trig_off[] = { ++ { 0x3666, 0x0a }, ++ { 0x3c03, 0x00 }, ++}; ++ + static const unsigned long supported_xclk_rates[] = { + [OV7251_19_2_MHZ] = 19200000, + [OV7251_24_MHZ] = 24000000, +@@ -1065,6 +1077,23 @@ static int ov7251_s_stream(struct v4l2_subdev *subdev, int enable) + dev_err(ov7251->dev, "could not sync v4l2 controls\n"); + goto err_power_down; + } ++ ++ /* Set vsync trigger mode */ ++ switch (trigger_mode) { ++ case 2: ++ ov7251_set_register_array(ov7251, ++ ov7251_ext_trig_on, ++ ARRAY_SIZE(ov7251_ext_trig_on)); ++ break; ++ case 0: ++ default: ++ /* case 1 for ext trig source currently not implemented */ ++ ov7251_set_register_array(ov7251, ++ ov7251_ext_trig_off, ++ ARRAY_SIZE(ov7251_ext_trig_off)); ++ break; ++ } ++ + ret = ov7251_write_reg(ov7251, OV7251_SC_MODE_SELECT, + OV7251_SC_MODE_SELECT_STREAMING); + if (ret) +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Tue, 6 Dec 2022 15:05:56 +0000 +Subject: [PATCH 1222/1284] vc4_hdmi: Avoid log spam for audio start failure + +We regularly get dmesg error reports of: +[ 18.184066] hdmi-audio-codec hdmi-audio-codec.3.auto: ASoC: error at snd_soc_dai_startup on i2s-hifi: -19 +[ 18.184098] MAI: soc_pcm_open() failed (-19) + +Currently I get 30 of these when booting to desktop. +We always say, ignore they are harmless, but removing them would be good. + +A bit of investigation shows, for me, the errors are all generated by second, unused hdmi interface. + +It shows as an alsa device, and pulseaudio attempts to open it (numerous times), generating a kernel +error message each time. + +systemctl --user restart pulseaudio.service generates 6 additional error messages. + +The error messages all come through: +https://github.com/raspberrypi/linux/blob/a009a9c0d79dfec114ee5102ec3d3325a172c952/sound/soc/soc-pcm.c#L39 + +which suggests returning ENOTSUPP, rather that ENODEV will be quiet. And indeed it is. + +Note: earlier kernels do not have the quiet ENOTSUPP, so additional cherry-picks will be needed to backport +Signed-off-by: Dom Cobley +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index 5391d4875de2..c02207839420 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2338,7 +2338,7 @@ static int vc4_hdmi_audio_startup(struct device *dev, void *data) + } + + if (!vc4_hdmi_audio_can_stream(vc4_hdmi)) { +- ret = -ENODEV; ++ ret = -ENOTSUPP; + goto out_dev_exit; + } + +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Kuninori Morimoto +Date: Tue, 30 Aug 2022 03:17:12 +0000 +Subject: [PATCH 1223/1284] ASoC: soc-pcm.c: add soc_pcm_ret() + +commit 041107289c5cebb0693a55c432ab50862a450476 upstream. + +Current soc-pcm.c has many similar code for error case. +This patch adds soc_pcm_ret() and share the code and error message. + +Signed-off-by: Kuninori Morimoto +Link: https://lore.kernel.org/r/87r10y4dzb.wl-kuninori.morimoto.gx@renesas.com +Signed-off-by: Mark Brown +--- + sound/soc/soc-pcm.c | 84 +++++++++++++++++++-------------------------- + 1 file changed, 36 insertions(+), 48 deletions(-) + +diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c +index 3b673477f621..3bf4f83ff4fa 100644 +--- a/sound/soc/soc-pcm.c ++++ b/sound/soc/soc-pcm.c +@@ -27,6 +27,28 @@ + #include + #include + ++#define soc_pcm_ret(rtd, ret) _soc_pcm_ret(rtd, __func__, ret) ++static inline int _soc_pcm_ret(struct snd_soc_pcm_runtime *rtd, ++ const char *func, int ret) ++{ ++ /* Positive, Zero values are not errors */ ++ if (ret >= 0) ++ return ret; ++ ++ /* Negative values might be errors */ ++ switch (ret) { ++ case -EPROBE_DEFER: ++ case -ENOTSUPP: ++ break; ++ default: ++ dev_err(rtd->dev, ++ "ASoC: error at %s on %s: %d\n", ++ func, rtd->dai_link->name, ret); ++ } ++ ++ return ret; ++} ++ + #define DPCM_MAX_BE_USERS 8 + + static inline const char *soc_cpu_dai_name(struct snd_soc_pcm_runtime *rtd) +@@ -788,12 +810,10 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) + err: + mutex_unlock(&rtd->card->pcm_mutex); + pm_err: +- if (ret < 0) { ++ if (ret < 0) + soc_pcm_clean(substream, 1); +- dev_err(rtd->dev, "%s() failed (%d)", __func__, ret); +- } + +- return ret; ++ return soc_pcm_ret(rtd, ret); + } + + static void codec2codec_close_delayed_work(struct snd_soc_pcm_runtime *rtd) +@@ -847,10 +867,7 @@ static int soc_pcm_prepare(struct snd_pcm_substream *substream) + out: + mutex_unlock(&rtd->card->pcm_mutex); + +- if (ret < 0) +- dev_err(rtd->dev, "ASoC: %s() failed (%d)\n", __func__, ret); +- +- return ret; ++ return soc_pcm_ret(rtd, ret); + } + + static void soc_pcm_codec_params_fixup(struct snd_pcm_hw_params *params, +@@ -999,12 +1016,10 @@ static int soc_pcm_hw_params(struct snd_pcm_substream *substream, + out: + mutex_unlock(&rtd->card->pcm_mutex); + +- if (ret < 0) { ++ if (ret < 0) + soc_pcm_hw_clean(substream, 1); +- dev_err(rtd->dev, "ASoC: %s() failed (%d)\n", __func__, ret); +- } + +- return ret; ++ return soc_pcm_ret(rtd, ret); + } + + static int soc_pcm_trigger(struct snd_pcm_substream *substream, int cmd) +@@ -1541,10 +1556,7 @@ int dpcm_be_dai_startup(struct snd_soc_pcm_runtime *fe, int stream) + unwind: + dpcm_be_dai_startup_rollback(fe, stream, dpcm); + +- dev_err(fe->dev, "ASoC: %s() failed at %s (%d)\n", +- __func__, be->dai_link->name, err); +- +- return err; ++ return soc_pcm_ret(fe, err); + } + + static void dpcm_runtime_setup_fe(struct snd_pcm_substream *substream) +@@ -1744,10 +1756,7 @@ static int dpcm_apply_symmetry(struct snd_pcm_substream *fe_substream, + } + } + error: +- if (err < 0) +- dev_err(fe->dev, "ASoC: %s failed (%d)\n", __func__, err); +- +- return err; ++ return soc_pcm_ret(fe, err); + } + + static int dpcm_fe_dai_startup(struct snd_pcm_substream *fe_substream) +@@ -1784,10 +1793,7 @@ static int dpcm_fe_dai_startup(struct snd_pcm_substream *fe_substream) + be_err: + dpcm_set_fe_update_state(fe, stream, SND_SOC_DPCM_UPDATE_NO); + +- if (ret < 0) +- dev_err(fe->dev, "%s() failed (%d)\n", __func__, ret); +- +- return ret; ++ return soc_pcm_ret(fe, ret); + } + + static int dpcm_fe_dai_shutdown(struct snd_pcm_substream *substream) +@@ -1984,10 +1990,7 @@ static int dpcm_fe_dai_hw_params(struct snd_pcm_substream *substream, + dpcm_set_fe_update_state(fe, stream, SND_SOC_DPCM_UPDATE_NO); + mutex_unlock(&fe->card->mutex); + +- if (ret < 0) +- dev_err(fe->dev, "ASoC: %s failed (%d)\n", __func__, ret); +- +- return ret; ++ return soc_pcm_ret(fe, ret); + } + + int dpcm_be_dai_trigger(struct snd_soc_pcm_runtime *fe, int stream, +@@ -2086,10 +2089,7 @@ int dpcm_be_dai_trigger(struct snd_soc_pcm_runtime *fe, int stream, + } + } + end: +- if (ret < 0) +- dev_err(fe->dev, "ASoC: %s() failed at %s (%d)\n", +- __func__, be->dai_link->name, ret); +- return ret; ++ return soc_pcm_ret(fe, ret); + } + EXPORT_SYMBOL_GPL(dpcm_be_dai_trigger); + +@@ -2260,10 +2260,7 @@ int dpcm_be_dai_prepare(struct snd_soc_pcm_runtime *fe, int stream) + be->dpcm[stream].state = SND_SOC_DPCM_STATE_PREPARE; + } + +- if (ret < 0) +- dev_err(fe->dev, "ASoC: %s() failed (%d)\n", __func__, ret); +- +- return ret; ++ return soc_pcm_ret(fe, ret); + } + + static int dpcm_fe_dai_prepare(struct snd_pcm_substream *substream) +@@ -2300,10 +2297,7 @@ static int dpcm_fe_dai_prepare(struct snd_pcm_substream *substream) + dpcm_set_fe_update_state(fe, stream, SND_SOC_DPCM_UPDATE_NO); + mutex_unlock(&fe->card->mutex); + +- if (ret < 0) +- dev_err(fe->dev, "ASoC: %s() failed (%d)\n", __func__, ret); +- +- return ret; ++ return soc_pcm_ret(fe, ret); + } + + static int dpcm_run_update_shutdown(struct snd_soc_pcm_runtime *fe, int stream) +@@ -2336,10 +2330,7 @@ static int dpcm_run_update_shutdown(struct snd_soc_pcm_runtime *fe, int stream) + /* run the stream event for each BE */ + dpcm_dapm_stream_event(fe, stream, SND_SOC_DAPM_STREAM_NOP); + +- if (err < 0) +- dev_err(fe->dev, "ASoC: %s() failed (%d)\n", __func__, err); +- +- return err; ++ return soc_pcm_ret(fe, err); + } + + static int dpcm_run_update_startup(struct snd_soc_pcm_runtime *fe, int stream) +@@ -2432,10 +2423,7 @@ static int dpcm_run_update_startup(struct snd_soc_pcm_runtime *fe, int stream) + } + spin_unlock_irqrestore(&fe->card->dpcm_lock, flags); + +- if (ret < 0) +- dev_err(fe->dev, "ASoC: %s() failed (%d)\n", __func__, ret); +- +- return ret; ++ return soc_pcm_ret(fe, ret); + } + + static int soc_dpcm_fe_runtime_update(struct snd_soc_pcm_runtime *fe, int new) +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 6 Dec 2022 18:11:58 +0000 +Subject: [PATCH 1224/1284] .github/workflows: Add dtoverlaycheck workflow + +Signed-off-by: Dave Stevenson +--- + .github/workflows/dtoverlaycheck.yml | 48 ++++++++++++++++++++++++++++ + 1 file changed, 48 insertions(+) + create mode 100644 .github/workflows/dtoverlaycheck.yml + +diff --git a/.github/workflows/dtoverlaycheck.yml b/.github/workflows/dtoverlaycheck.yml +new file mode 100644 +index 000000000000..2e6d4f2a0b6d +--- /dev/null ++++ b/.github/workflows/dtoverlaycheck.yml +@@ -0,0 +1,48 @@ ++name: Pi dtoverlay checks ++ ++on: ++ pull_request: ++ paths-ignore: ++ - '.github/**' ++ branches: [ "rpi-*" ] ++ push: ++ paths-ignore: ++ - '.github/**' ++ branches: [ "rpi-*" ] ++ workflow_dispatch: ++ ++env: ++ UTILS_DIR: "${{github.workspace}}/utils" ++ ++jobs: ++ dtoverlaycheck: ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Install toolchain ++ run: | ++ sudo apt update ++ sudo apt-get install gcc-arm-linux-gnueabihf libfdt-dev device-tree-compiler ++ timeout-minutes: 10 ++ ++ - uses: actions/checkout@v3 ++ with: ++ fetch-depth: 1 ++ clean: true ++ ++ - name: overlaycheck ++ run: | ++ git clone https://github.com/raspberrypi/utils ${{env.UTILS_DIR}} ++ cd ${{env.UTILS_DIR}} ++ pwd ++ mkdir build ++ cd build ++ pwd ++ cmake .. ++ make -j4 ++ sudo make install ++ cd ${{github.workspace}} ++ pwd ++ make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- bcm2711_defconfig ++ make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- dtbs ++ ${{env.UTILS_DIR}}/overlaycheck/overlaycheck +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Fri, 11 Nov 2022 17:09:32 +0000 +Subject: [PATCH 1225/1284] .github/workflows: Create workflow to CI kernel + builds + +Builds the bcmrpi, bcm2709, bcm2711, and bcm2835 32 bit kernels, +and defconfig and bcm2711 64bit kernels, saving the artifacts for +7 days. + +Signed-off-by: Dave Stevenson +--- + .github/workflows/kernel-build.yml | 266 +++++++++++++++++++++++++++++ + 1 file changed, 266 insertions(+) + create mode 100644 .github/workflows/kernel-build.yml + +diff --git a/.github/workflows/kernel-build.yml b/.github/workflows/kernel-build.yml +new file mode 100644 +index 000000000000..8e551dc4d0c5 +--- /dev/null ++++ b/.github/workflows/kernel-build.yml +@@ -0,0 +1,266 @@ ++name: Pi kernel build tests ++ ++on: ++ pull_request: ++ paths-ignore: ++ - '.github/**' ++ branches: [ "rpi-*" ] ++ push: ++ paths-ignore: ++ - '.github/**' ++ branches: [ "rpi-*" ] ++ workflow_dispatch: ++ ++env: ++ NUM_JOBS: 3 ++ ++jobs: ++ build-bcm2835: ++ ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Update install ++ run: ++ sudo apt-get update ++ ++ - name: Install toolchain ++ run: ++ sudo apt-get install gcc-arm-linux-gnueabihf ++ timeout-minutes: 5 ++ ++ - uses: actions/checkout@v3 ++ with: ++ fetch-depth: 1 ++ clean: true ++ ++ - name: Build kernel ++ run: | ++ mkdir ${{github.workspace}}/build ++ make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2835_defconfig ++ make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ ++ cp -r ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm/boot/Image ${{github.workspace}}/install/boot/ ++ ++ - name: Tar build ++ run: tar -cvf bcm2835_build.tar -C ${{github.workspace}}/install . ++ ++ - name: Upload results ++ uses: actions/upload-artifact@v3 ++ with: ++ name: bcm2835_build ++ path: bcm2835_build.tar ++ retention-days: 7 ++ ++ build-arm64: ++ ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Update install ++ run: ++ sudo apt-get update ++ ++ - name: Install toolchain ++ run: ++ sudo apt-get install gcc-aarch64-linux-gnu ++ timeout-minutes: 5 ++ ++ - uses: actions/checkout@v3 ++ with: ++ fetch-depth: 1 ++ clean: true ++ ++ - name: Build kernel ++ run: | ++ mkdir ${{github.workspace}}/build ++ make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build defconfig ++ make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image.gz modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot ++ make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ cp ${{github.workspace}}/build/arch/arm64/boot/dts/broadcom/*.dtb ${{github.workspace}}/install/boot/ ++ cp -r ${{github.workspace}}/build/arch/arm64/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm64/boot/Image.gz ${{github.workspace}}/install/boot/ ++ ++ - name: Tar build ++ run: tar -cvf arm64_build.tar -C ${{github.workspace}}/install . ++ ++ - name: Upload results ++ uses: actions/upload-artifact@v3 ++ with: ++ name: arm64_build ++ path: arm64_build.tar ++ retention-days: 7 ++ ++ build-bcmrpi: ++ ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Update install ++ run: ++ sudo apt-get update ++ ++ - name: Install toolchain ++ run: ++ sudo apt-get install gcc-arm-linux-gnueabihf ++ timeout-minutes: 5 ++ ++ - uses: actions/checkout@v3 ++ with: ++ fetch-depth: 1 ++ clean: true ++ ++ - name: Build kernel ++ run: | ++ mkdir ${{github.workspace}}/build ++ make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2711_defconfig ++ make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot ++ make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ ++ cp -r ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/ ++ ++ - name: Tar build ++ run: tar -cvf bcmrpi_build.tar -C ${{github.workspace}}/install . ++ ++ - name: Upload results ++ uses: actions/upload-artifact@v3 ++ with: ++ name: bcmrpi_build ++ path: bcmrpi_build.tar ++ retention-days: 7 ++ ++ build-bcm2709: ++ ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Update install ++ run: ++ sudo apt-get update ++ ++ - name: Install toolchain ++ run: ++ sudo apt-get install gcc-arm-linux-gnueabihf ++ timeout-minutes: 5 ++ ++ - uses: actions/checkout@v3 ++ with: ++ fetch-depth: 1 ++ clean: true ++ ++ - name: Build kernel ++ run: | ++ mkdir ${{github.workspace}}/build ++ make ARCH=arm KERNEL=kernel7 CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2709_defconfig ++ make ARCH=arm KERNEL=kernel7 CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot ++ make ARCH=arm KERNEL=kernel7 CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ ++ cp -r ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/ ++ ++ - name: Tar build ++ run: tar -cvf bcm2709_build.tar -C ${{github.workspace}}/install . ++ ++ - name: Upload results ++ uses: actions/upload-artifact@v3 ++ with: ++ name: bcm2709_build ++ path: bcm2709_build.tar ++ retention-days: 7 ++ ++ build-bcm2711: ++ ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Update install ++ run: ++ sudo apt-get update ++ ++ - name: Install toolchain ++ run: ++ sudo apt-get install gcc-arm-linux-gnueabihf ++ timeout-minutes: 5 ++ ++ - uses: actions/checkout@v3 ++ with: ++ fetch-depth: 1 ++ clean: true ++ ++ - name: Build kernel ++ run: | ++ mkdir ${{github.workspace}}/build ++ make ARCH=arm KERNEL=kernel7l CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2711_defconfig ++ make ARCH=arm KERNEL=kernel7l CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot ++ make ARCH=arm KERNEL=kernel7l CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ ++ cp -r ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/ ++ ++ - name: Tar build ++ run: tar -cvf bcm2711_build.tar -C ${{github.workspace}}/install . ++ ++ - name: Upload results ++ uses: actions/upload-artifact@v3 ++ with: ++ name: bcm2711_build ++ path: bcm2711_build.tar ++ retention-days: 7 ++ ++ build-bcm2711-arm64: ++ ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Update install ++ run: ++ sudo apt-get update ++ ++ - name: Install toolchain ++ run: ++ sudo apt-get install gcc-arm-linux-gnueabihf ++ timeout-minutes: 5 ++ ++ - uses: actions/checkout@v3 ++ with: ++ fetch-depth: 1 ++ clean: true ++ ++ - name: Install toolchain ++ run: ++ sudo apt-get install gcc-aarch64-linux-gnu ++ timeout-minutes: 5 ++ ++ - uses: actions/checkout@v3 ++ with: ++ fetch-depth: 1 ++ clean: true ++ ++ - name: Build kernel ++ run: | ++ mkdir ${{github.workspace}}/build ++ make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build bcm2711_defconfig ++ make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image.gz modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot ++ make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ cp ${{github.workspace}}/build/arch/arm64/boot/dts/broadcom/*.dtb ${{github.workspace}}/install/boot/ ++ cp -r ${{github.workspace}}/build/arch/arm64/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm64/boot/Image.gz ${{github.workspace}}/install/boot/ ++ ++ - name: Tar build ++ run: tar -cvf bcm2711_arm64_build.tar -C ${{github.workspace}}/install . ++ ++ - name: Upload results ++ uses: actions/upload-artifact@v3 ++ with: ++ name: bcm2711_arm64_build ++ path: bcm2711_arm64_build.tar ++ retention-days: 7 +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Mon, 14 Nov 2022 17:14:15 +0000 +Subject: [PATCH 1226/1284] README: Add README.md with CI kernel build status + tags + +This is a copy of README with the tags added. + +You can not delete the file README as then checkpatch complains +you aren't in a kernel tree. + +Signed-off-by: Dave Stevenson +--- + README.md | 30 ++++++++++++++++++++++++++++++ + 1 file changed, 30 insertions(+) + create mode 100644 README.md + +diff --git a/README.md b/README.md +new file mode 100644 +index 000000000000..605abc67589e +--- /dev/null ++++ b/README.md +@@ -0,0 +1,30 @@ ++Linux kernel ++============ ++ ++There are several guides for kernel developers and users. These guides can ++be rendered in a number of formats, like HTML and PDF. Please read ++Documentation/admin-guide/README.rst first. ++ ++In order to build the documentation, use ``make htmldocs`` or ++``make pdfdocs``. The formatted documentation can also be read online at: ++ ++ https://www.kernel.org/doc/html/latest/ ++ ++There are various text files in the Documentation/ subdirectory, ++several of them using the Restructured Text markup notation. ++ ++Please read the Documentation/process/changes.rst file, as it contains the ++requirements for building and running the kernel, and information about ++the problems which may result by upgrading your kernel. ++ ++Build status for rpi-5.15.y: ++[![Pi kernel build tests](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml/badge.svg?branch=rpi-5.15.y)](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml) ++[![dtoverlaycheck](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml/badge.svg?branch=rpi-5.15.y)](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml) ++ ++Build status for rpi-6.0.y: ++[![Pi kernel build tests](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml/badge.svg?branch=rpi-6.0.y)](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml) ++[![dtoverlaycheck](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml/badge.svg?branch=rpi-6.0.y)](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml) ++ ++Build status for rpi-6.1.y: ++[![Pi kernel build tests](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml/badge.svg?branch=rpi-6.1.y)](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml) ++[![dtoverlaycheck](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml/badge.svg?branch=rpi-6.1.y)](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml) +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Mark Williams +Date: Wed, 7 Dec 2022 18:20:40 -0700 +Subject: [PATCH 1227/1284] drm/panel: panel-ilitek9881c: Use cansleep methods + +Use cansleep version of gpiod_set_value so external IO drivers (like +via I2C) can be used. + +Signed-off-by: Mark Williams +--- + drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c +index c2afc4368553..d306267d8254 100644 +--- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c ++++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c +@@ -728,10 +728,10 @@ static int ili9881c_prepare(struct drm_panel *panel) + msleep(5); + + /* And reset it */ +- gpiod_set_value(ctx->reset, 1); ++ gpiod_set_value_cansleep(ctx->reset, 1); + msleep(20); + +- gpiod_set_value(ctx->reset, 0); ++ gpiod_set_value_cansleep(ctx->reset, 0); + msleep(20); + + for (i = 0; i < ctx->desc->init_length; i++) { +@@ -786,7 +786,7 @@ static int ili9881c_unprepare(struct drm_panel *panel) + + mipi_dsi_dcs_enter_sleep_mode(ctx->dsi); + regulator_disable(ctx->power); +- gpiod_set_value(ctx->reset, 1); ++ gpiod_set_value_cansleep(ctx->reset, 1); + + return 0; + } +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Mark Williams +Date: Wed, 7 Dec 2022 19:55:15 -0700 +Subject: [PATCH 1228/1284] drm/panel: panel-ilitek9881c: Crystalfontz support + +Add support for Crystalfontz CFAF7201280A0-050Tx panel. + +Signed-off-by: Mark Williams +--- + drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 229 ++++++++++++++++++ + 1 file changed, 229 insertions(+) + +diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c +index d306267d8254..8eafb2aa1bd9 100644 +--- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c ++++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c +@@ -3,6 +3,7 @@ + * Copyright (C) 2017-2018, Bootlin + * Copyright (C) 2021, Henson Li + * Copyright (C) 2021, Penk Chen ++ * Copyright (C) 2022, Mark Williams + */ + + #include +@@ -675,6 +676,212 @@ static const struct ili9881c_instr nwe080_init[] = { + ILI9881C_COMMAND_INSTR(0x35, 0x00), + }; + ++static const struct ili9881c_instr cfaf7201280a0_050tx_init[] = { ++ //ILI9881C PAGE3 ++ ILI9881C_SWITCH_PAGE_INSTR(3), ++ //GIP_1 ++ ILI9881C_COMMAND_INSTR(0x01, 0x00), //added ++ ILI9881C_COMMAND_INSTR(0x02, 0x00), ++ ILI9881C_COMMAND_INSTR(0x03, 0x73), ++ ILI9881C_COMMAND_INSTR(0x04, 0x00), ++ ILI9881C_COMMAND_INSTR(0x05, 0x00), ++ ILI9881C_COMMAND_INSTR(0x06, 0x0A), ++ ILI9881C_COMMAND_INSTR(0x07, 0x00), ++ ILI9881C_COMMAND_INSTR(0x08, 0x00), ++ ILI9881C_COMMAND_INSTR(0x09, 0x01), ++ ILI9881C_COMMAND_INSTR(0x0A, 0x00), ++ ILI9881C_COMMAND_INSTR(0x0B, 0x00), ++ ILI9881C_COMMAND_INSTR(0x0C, 0x01), ++ ILI9881C_COMMAND_INSTR(0x0D, 0x00), ++ ILI9881C_COMMAND_INSTR(0x0E, 0x00), ++ ILI9881C_COMMAND_INSTR(0x0F, 0x1D), ++ ILI9881C_COMMAND_INSTR(0x10, 0x1D), ++ ILI9881C_COMMAND_INSTR(0x11, 0x00), ++ ILI9881C_COMMAND_INSTR(0x12, 0x00), ++ ILI9881C_COMMAND_INSTR(0x13, 0x00), ++ ILI9881C_COMMAND_INSTR(0x14, 0x00), ++ ILI9881C_COMMAND_INSTR(0x15, 0x00), ++ ILI9881C_COMMAND_INSTR(0x16, 0x00), ++ ILI9881C_COMMAND_INSTR(0x17, 0x00), ++ ILI9881C_COMMAND_INSTR(0x18, 0x00), ++ ILI9881C_COMMAND_INSTR(0x19, 0x00), ++ ILI9881C_COMMAND_INSTR(0x1A, 0x00), ++ ILI9881C_COMMAND_INSTR(0x1B, 0x00), ++ ILI9881C_COMMAND_INSTR(0x1C, 0x00), ++ ILI9881C_COMMAND_INSTR(0x1D, 0x00), ++ ILI9881C_COMMAND_INSTR(0x1E, 0x40), ++ ILI9881C_COMMAND_INSTR(0x1F, 0x80), ++ ILI9881C_COMMAND_INSTR(0x20, 0x06), ++ ILI9881C_COMMAND_INSTR(0x21, 0x02), ++ ILI9881C_COMMAND_INSTR(0x22, 0x00), ++ ILI9881C_COMMAND_INSTR(0x23, 0x00), ++ ILI9881C_COMMAND_INSTR(0x24, 0x00), ++ ILI9881C_COMMAND_INSTR(0x25, 0x00), ++ ILI9881C_COMMAND_INSTR(0x26, 0x00), ++ ILI9881C_COMMAND_INSTR(0x27, 0x00), ++ ILI9881C_COMMAND_INSTR(0x28, 0x33), ++ ILI9881C_COMMAND_INSTR(0x29, 0x03), ++ ILI9881C_COMMAND_INSTR(0x2A, 0x00), ++ ILI9881C_COMMAND_INSTR(0x2B, 0x00), ++ ILI9881C_COMMAND_INSTR(0x2C, 0x00), ++ ILI9881C_COMMAND_INSTR(0x2D, 0x00), ++ ILI9881C_COMMAND_INSTR(0x2E, 0x00), ++ ILI9881C_COMMAND_INSTR(0x2F, 0x00), ++ ILI9881C_COMMAND_INSTR(0x30, 0x00), ++ ILI9881C_COMMAND_INSTR(0x31, 0x00), ++ ILI9881C_COMMAND_INSTR(0x32, 0x00), ++ ILI9881C_COMMAND_INSTR(0x33, 0x00), ++ ILI9881C_COMMAND_INSTR(0x34, 0x04), ++ ILI9881C_COMMAND_INSTR(0x35, 0x00), ++ ILI9881C_COMMAND_INSTR(0x36, 0x00), ++ ILI9881C_COMMAND_INSTR(0x37, 0x00), ++ ILI9881C_COMMAND_INSTR(0x38, 0x3C), ++ ILI9881C_COMMAND_INSTR(0x39, 0x00), ++ ILI9881C_COMMAND_INSTR(0x3A, 0x40), ++ ILI9881C_COMMAND_INSTR(0x3B, 0x40), ++ ILI9881C_COMMAND_INSTR(0x3C, 0x00), ++ ILI9881C_COMMAND_INSTR(0x3D, 0x00), ++ ILI9881C_COMMAND_INSTR(0x3E, 0x00), ++ ILI9881C_COMMAND_INSTR(0x3F, 0x00), ++ ILI9881C_COMMAND_INSTR(0x40, 0x00), ++ ILI9881C_COMMAND_INSTR(0x41, 0x00), ++ ILI9881C_COMMAND_INSTR(0x42, 0x00), ++ ILI9881C_COMMAND_INSTR(0x43, 0x00), ++ ILI9881C_COMMAND_INSTR(0x44, 0x00), ++ //GIP_2 ++ ILI9881C_COMMAND_INSTR(0x50, 0x01), ++ ILI9881C_COMMAND_INSTR(0x51, 0x23), ++ ILI9881C_COMMAND_INSTR(0x52, 0x45), ++ ILI9881C_COMMAND_INSTR(0x53, 0x67), ++ ILI9881C_COMMAND_INSTR(0x54, 0x89), ++ ILI9881C_COMMAND_INSTR(0x55, 0xAB), ++ ILI9881C_COMMAND_INSTR(0x56, 0x01), ++ ILI9881C_COMMAND_INSTR(0x57, 0x23), ++ ILI9881C_COMMAND_INSTR(0x58, 0x45), ++ ILI9881C_COMMAND_INSTR(0x59, 0x67), ++ ILI9881C_COMMAND_INSTR(0x5A, 0x89), ++ ILI9881C_COMMAND_INSTR(0x5B, 0xAB), ++ ILI9881C_COMMAND_INSTR(0x5C, 0xCD), ++ ILI9881C_COMMAND_INSTR(0x5D, 0xEF), ++ //GIP_3 ++ ILI9881C_COMMAND_INSTR(0x5E, 0x11), ++ ILI9881C_COMMAND_INSTR(0x5F, 0x01), ++ ILI9881C_COMMAND_INSTR(0x60, 0x00), ++ ILI9881C_COMMAND_INSTR(0x61, 0x15), ++ ILI9881C_COMMAND_INSTR(0x62, 0x14), ++ ILI9881C_COMMAND_INSTR(0x63, 0x0E), ++ ILI9881C_COMMAND_INSTR(0x64, 0x0F), ++ ILI9881C_COMMAND_INSTR(0x65, 0x0C), ++ ILI9881C_COMMAND_INSTR(0x66, 0x0D), ++ ILI9881C_COMMAND_INSTR(0x67, 0x06), ++ ILI9881C_COMMAND_INSTR(0x68, 0x02), ++ ILI9881C_COMMAND_INSTR(0x69, 0x07), ++ ILI9881C_COMMAND_INSTR(0x6A, 0x02), ++ ILI9881C_COMMAND_INSTR(0x6B, 0x02), ++ ILI9881C_COMMAND_INSTR(0x6C, 0x02), ++ ILI9881C_COMMAND_INSTR(0x6D, 0x02), ++ ILI9881C_COMMAND_INSTR(0x6E, 0x02), ++ ILI9881C_COMMAND_INSTR(0x6F, 0x02), ++ ILI9881C_COMMAND_INSTR(0x70, 0x02), ++ ILI9881C_COMMAND_INSTR(0x71, 0x02), ++ ILI9881C_COMMAND_INSTR(0x72, 0x02), ++ ILI9881C_COMMAND_INSTR(0x73, 0x02), ++ ILI9881C_COMMAND_INSTR(0x74, 0x02), ++ ILI9881C_COMMAND_INSTR(0x75, 0x01), ++ ILI9881C_COMMAND_INSTR(0x76, 0x00), ++ ILI9881C_COMMAND_INSTR(0x77, 0x14), ++ ILI9881C_COMMAND_INSTR(0x78, 0x15), ++ ILI9881C_COMMAND_INSTR(0x79, 0x0E), ++ ILI9881C_COMMAND_INSTR(0x7A, 0x0F), ++ ILI9881C_COMMAND_INSTR(0x7B, 0x0C), ++ ILI9881C_COMMAND_INSTR(0x7C, 0x0D), ++ ILI9881C_COMMAND_INSTR(0x7D, 0x06), ++ ILI9881C_COMMAND_INSTR(0x7E, 0x02), ++ ILI9881C_COMMAND_INSTR(0x7F, 0x07), ++ ILI9881C_COMMAND_INSTR(0x80, 0x02), ++ ILI9881C_COMMAND_INSTR(0x81, 0x02), ++ ILI9881C_COMMAND_INSTR(0x82, 0x02), ++ ILI9881C_COMMAND_INSTR(0x83, 0x02), ++ ILI9881C_COMMAND_INSTR(0x84, 0x02), ++ ILI9881C_COMMAND_INSTR(0x85, 0x02), ++ ILI9881C_COMMAND_INSTR(0x86, 0x02), ++ ILI9881C_COMMAND_INSTR(0x87, 0x02), ++ ILI9881C_COMMAND_INSTR(0x88, 0x02), ++ ILI9881C_COMMAND_INSTR(0x89, 0x02), ++ ILI9881C_COMMAND_INSTR(0x8A, 0x02), ++ //ILI9881C PAGE4 ++ ILI9881C_SWITCH_PAGE_INSTR(4), ++ ILI9881C_COMMAND_INSTR(0x6C, 0x15), ++ ILI9881C_COMMAND_INSTR(0x6E, 0x2B), ++ // VGH & VGL OUTPUT ++ ILI9881C_COMMAND_INSTR(0x6F, 0x33), ++ ILI9881C_COMMAND_INSTR(0x8D, 0x18), ++ ILI9881C_COMMAND_INSTR(0x87, 0xBA), ++ ILI9881C_COMMAND_INSTR(0x26, 0x76), ++ //Reload Gamma setting ++ ILI9881C_COMMAND_INSTR(0xB2, 0xD1), ++ ILI9881C_COMMAND_INSTR(0xB5, 0x06), ++ ILI9881C_COMMAND_INSTR(0x3A, 0x24), ++ ILI9881C_COMMAND_INSTR(0x35, 0x1F), ++ ++ //ILI9881C PAGE1 ++ ILI9881C_SWITCH_PAGE_INSTR(1), ++ ILI9881C_COMMAND_INSTR(0x22, 0x09), ++ //Column inversion ++ ILI9881C_COMMAND_INSTR(0x31, 0x00), ++ ILI9881C_COMMAND_INSTR(0x40, 0x33), ++ ILI9881C_COMMAND_INSTR(0x53, 0xA2), ++ ILI9881C_COMMAND_INSTR(0x55, 0x92), ++ ILI9881C_COMMAND_INSTR(0x50, 0x96), ++ ILI9881C_COMMAND_INSTR(0x51, 0x96), ++ ILI9881C_COMMAND_INSTR(0x60, 0x22), ++ ILI9881C_COMMAND_INSTR(0x61, 0x00), ++ ILI9881C_COMMAND_INSTR(0x62, 0x19), ++ ILI9881C_COMMAND_INSTR(0x63, 0x00), ++ //---P-GAMMA START--- ++ ILI9881C_COMMAND_INSTR(0xA0, 0x08), ++ ILI9881C_COMMAND_INSTR(0xA1, 0x11), ++ ILI9881C_COMMAND_INSTR(0xA2, 0x19), ++ ILI9881C_COMMAND_INSTR(0xA3, 0x0D), ++ ILI9881C_COMMAND_INSTR(0xA4, 0x0D), ++ ILI9881C_COMMAND_INSTR(0xA5, 0x1E), ++ ILI9881C_COMMAND_INSTR(0xA6, 0x14), ++ ILI9881C_COMMAND_INSTR(0xA7, 0x17), ++ ILI9881C_COMMAND_INSTR(0xA8, 0x4F), ++ ILI9881C_COMMAND_INSTR(0xA9, 0x1A), ++ ILI9881C_COMMAND_INSTR(0xAA, 0x27), ++ ILI9881C_COMMAND_INSTR(0xAB, 0x49), ++ ILI9881C_COMMAND_INSTR(0xAC, 0x1A), ++ ILI9881C_COMMAND_INSTR(0xAD, 0x18), ++ ILI9881C_COMMAND_INSTR(0xAE, 0x4C), ++ ILI9881C_COMMAND_INSTR(0xAF, 0x22), ++ ILI9881C_COMMAND_INSTR(0xB0, 0x27), ++ ILI9881C_COMMAND_INSTR(0xB1, 0x4B), ++ ILI9881C_COMMAND_INSTR(0xB2, 0x60), ++ ILI9881C_COMMAND_INSTR(0xB3, 0x39), ++ //--- N-GAMMA START--- ++ ILI9881C_COMMAND_INSTR(0xC0, 0x08), ++ ILI9881C_COMMAND_INSTR(0xC1, 0x11), ++ ILI9881C_COMMAND_INSTR(0xC2, 0x19), ++ ILI9881C_COMMAND_INSTR(0xC3, 0x0D), ++ ILI9881C_COMMAND_INSTR(0xC4, 0x0D), ++ ILI9881C_COMMAND_INSTR(0xC5, 0x1E), ++ ILI9881C_COMMAND_INSTR(0xC6, 0x14), ++ ILI9881C_COMMAND_INSTR(0xC7, 0x17), ++ ILI9881C_COMMAND_INSTR(0xC8, 0x4F), ++ ILI9881C_COMMAND_INSTR(0xC9, 0x1A), ++ ILI9881C_COMMAND_INSTR(0xCA, 0x27), ++ ILI9881C_COMMAND_INSTR(0xCB, 0x49), ++ ILI9881C_COMMAND_INSTR(0xCC, 0x1A), ++ ILI9881C_COMMAND_INSTR(0xCD, 0x18), ++ ILI9881C_COMMAND_INSTR(0xCE, 0x4C), ++ ILI9881C_COMMAND_INSTR(0xCF, 0x33), ++ ILI9881C_COMMAND_INSTR(0xD0, 0x27), ++ ILI9881C_COMMAND_INSTR(0xD1, 0x4B), ++ ILI9881C_COMMAND_INSTR(0xD2, 0x60), ++ ILI9881C_COMMAND_INSTR(0xD3, 0x39), ++}; ++ + static inline struct ili9881c *panel_to_ili9881c(struct drm_panel *panel) + { + return container_of(panel, struct ili9881c, panel); +@@ -842,6 +1049,20 @@ static const struct drm_display_mode nwe080_default_mode = { + .height_mm = 170, + }; + ++static const struct drm_display_mode cfaf7201280a0_050tx_default_mode = { ++ .clock = 72830, ++ .hdisplay = 720, ++ .hsync_start = 720 + 87, ++ .hsync_end = 720 + 87 + 20, ++ .htotal = 720 + 87 + 20 + 87, ++ .vdisplay = 1280, ++ .vsync_start = 1280 + 16, ++ .vsync_end = 1280 + 16 + 8, ++ .vtotal = 1280 + 16 + 8 + 16, ++ .width_mm = 62, ++ .height_mm = 1108 ++}; ++ + static int ili9881c_get_modes(struct drm_panel *panel, + struct drm_connector *connector) + { +@@ -952,10 +1173,18 @@ static const struct ili9881c_desc nwe080_desc = { + .flags = MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_VIDEO, + }; + ++static const struct ili9881c_desc cfaf7201280a0_050tx_desc = { ++ .init = cfaf7201280a0_050tx_init, ++ .init_length = ARRAY_SIZE(cfaf7201280a0_050tx_init), ++ .mode = &cfaf7201280a0_050tx_default_mode, ++ .flags = MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_VIDEO, ++}; ++ + static const struct of_device_id ili9881c_of_match[] = { + { .compatible = "bananapi,lhr050h41", .data = &lhr050h41_desc }, + { .compatible = "feixin,k101-im2byl02", .data = &k101_im2byl02_desc }, + { .compatible = "nwe,nwe080", .data = &nwe080_desc }, ++ { .compatible = "crystalfontz,cfaf7201280a0_050tx", .data = &cfaf7201280a0_050tx_desc }, + {} + }; + MODULE_DEVICE_TABLE(of, ili9881c_of_match); +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Mark Williams +Date: Wed, 7 Dec 2022 19:57:24 -0700 +Subject: [PATCH 1229/1284] configs: Enable LM3630A backlight module + +Added LM3630A module to defconfig to support Crystalfontz CFA050-PI-M. + +Signed-off-by: Mark Williams +--- + 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 36d8c2861e95..9db7e5ec8e68 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -977,6 +977,7 @@ CONFIG_FB_SSD1307=m + CONFIG_FB_RPISENSE=m + CONFIG_BACKLIGHT_PWM=m + CONFIG_BACKLIGHT_RPI=m ++CONFIG_BACKLIGHT_LM3630A=m + CONFIG_BACKLIGHT_GPIO=m + CONFIG_FRAMEBUFFER_CONSOLE=y + CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 3ae4de049425..d0828c05d688 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -997,6 +997,7 @@ CONFIG_FB_SSD1307=m + CONFIG_FB_RPISENSE=m + CONFIG_BACKLIGHT_PWM=m + CONFIG_BACKLIGHT_RPI=m ++CONFIG_BACKLIGHT_LM3630A=m + CONFIG_BACKLIGHT_GPIO=m + CONFIG_FRAMEBUFFER_CONSOLE=y + CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index d005f23303ef..74ad645ff0cc 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -970,6 +970,7 @@ CONFIG_FB_SSD1307=m + CONFIG_FB_RPISENSE=m + CONFIG_BACKLIGHT_PWM=m + CONFIG_BACKLIGHT_RPI=m ++CONFIG_BACKLIGHT_LM3630A=m + CONFIG_BACKLIGHT_GPIO=m + CONFIG_FRAMEBUFFER_CONSOLE=y + CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 10ad750e323d..a620a3dcebc2 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -1007,6 +1007,7 @@ CONFIG_FB_SSD1307=m + CONFIG_FB_RPISENSE=m + CONFIG_BACKLIGHT_PWM=m + CONFIG_BACKLIGHT_RPI=m ++CONFIG_BACKLIGHT_LM3630A=m + CONFIG_BACKLIGHT_GPIO=m + CONFIG_FRAMEBUFFER_CONSOLE=y + CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 3d2641b470f0..979b490a95f0 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -943,6 +943,7 @@ CONFIG_FB_SSD1307=m + CONFIG_FB_RPISENSE=m + CONFIG_BACKLIGHT_PWM=m + CONFIG_BACKLIGHT_RPI=m ++CONFIG_BACKLIGHT_LM3630A=m + CONFIG_BACKLIGHT_GPIO=m + CONFIG_FRAMEBUFFER_CONSOLE=y + CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Mark Williams +Date: Thu, 8 Dec 2022 04:58:05 -0700 +Subject: [PATCH 1230/1284] overlays: Add crystalfontz-cfa050_pi_m + +Add support for the Crystalfontz CFA050-PI-M series of Raspberry Pi +CM4-based modules using the CFAF7201280A0_050Tx TFT LCD displays. + +Signed-off-by: Mark Williams +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 9 ++ + .../crystalfontz-cfa050_pi_m-overlay.dts | 124 ++++++++++++++++++ + 3 files changed, 134 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/crystalfontz-cfa050_pi_m-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 86014f558a61..08a940bf7d8a 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -40,6 +40,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + chipdip-dac.dtbo \ + cirrus-wm5102.dtbo \ + cma.dtbo \ ++ crystalfontz-cfa050_pi_m.dtbo \ + cutiepi-panel.dtbo \ + dacberry400.dtbo \ + dht11.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index fd9dfc5a223f..80423a5fdb48 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -804,6 +804,15 @@ Params: cma-512 CMA is 512MB (needs 1GB) + cma-default Use upstream's default value + + ++Name: crystalfontz-cfa050_pi_m ++Info: Configures the Crystalfontz CFA050-PI-M series of Raspberry Pi CM4 ++ based modules using the CFA7201280A0_050Tx 7" TFT LCD displays, ++ with or without capacitive touch screen. ++ Requires use of vc4-kms-v3d. ++Load: dtoverlay=crystalfontz-cfa050_pi_m,= ++Params: captouch Enable capacitive touch display ++ ++ + Name: cutiepi-panel + Info: 8" TFT LCD display and touch panel used by cutiepi.io + Load: dtoverlay=cutiepi-panel +diff --git a/arch/arm/boot/dts/overlays/crystalfontz-cfa050_pi_m-overlay.dts b/arch/arm/boot/dts/overlays/crystalfontz-cfa050_pi_m-overlay.dts +new file mode 100644 +index 000000000000..544036589b66 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/crystalfontz-cfa050_pi_m-overlay.dts +@@ -0,0 +1,124 @@ ++/* ++ * crystalfontz-cfa050_pi_m-overlay.dts ++ * Configures the Crystalfontz CFA050-PI-M series of modules ++ * using CFAF7201280A0-050TC/TN panels with RaspberryPi CM4 DSI1 ++ */ ++/dts-v1/; ++/plugin/; ++/{ ++// RaspberryPi CM4 ++ compatible = "brcm,bcm2835"; ++// PCF8574 I2C GPIO EXPANDER ++ fragment@0 { ++ target = <&i2c_csi_dsi>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ pcf8574a: pcf8574a@38 { ++ reg = <0x38>; ++ compatible = "nxp,pcf8574"; ++ gpio-controller; ++ #gpio-cells = <2>; ++ ngpios = <8>; ++ gpio-line-names = "TFT_RESET", "TOUCH_RESET", "EXT_P2", "EXT_P3", ++ "EXT_P4", "EXT_P5", "EXT_P6", "EXT_P7"; ++ }; ++ }; ++ }; ++// LM3630a BACKLIGHT LED CONTROLLER ++ fragment@1 { ++ target = <&i2c_csi_dsi>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ lm3630a: backlight@36 { ++ reg = <0x36>; ++ compatible = "ti,lm3630a"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ led@0 { ++ reg = <0>; ++ led-sources = <0 1>; ++ label = "lcd-backlight"; ++ default-brightness = <128>; ++ max-brightness = <255>; ++ }; ++ }; ++ }; ++ }; ++// CFAF7201280A0_050Tx TFT DSI PANEL ++ fragment@2 { ++ target = <&dsi1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ port { ++ dsi_out: endpoint { ++ remote-endpoint = <&panel_in>; ++ }; ++ }; ++ dsi_panel: dsi_panel@0 { ++ compatible = "crystalfontz,cfaf7201280a0_050tx"; ++ reg = <0>; ++ reset-gpios = <&pcf8574a 0 1>; ++ backlight = <&lm3630a>; ++ fps = <60>; ++ port { ++ panel_in: endpoint { ++ remote-endpoint = <&dsi_out>; ++ }; ++ }; ++ }; ++ }; ++ }; ++// rPI GPIO INPUT FOR TOUCH IC IRQ ++ fragment@3 { ++ target = <&gpio>; ++ __dormant__ { ++ gt928intpins: gt928intpins { ++ brcm,pins = <26>; ++ brcm,function = <0>; ++ brcm,pull = <1>; ++ }; ++ }; ++ }; ++// GT928 TOUCH CONTROLLER IC ++ fragment@4 { ++ target = <&i2c_csi_dsi>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ gt928@5d { ++ compatible = "goodix,gt928"; ++ reg = <0x5d>; ++ interrupt-parent = <&gpio>; ++ interrupts = <26 2>; ++ irq-gpios = <&gpio 26 0>; ++ reset-gpios = <&pcf8574a 1 1>; ++ touchscreen-inverted-x; ++ touchscreen-inverted-y; ++ }; ++ }; ++ }; ++// PCF85063A RTC on I2C ++ fragment@5 { ++ target = <&i2c_csi_dsi>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ pcf85063a@51 { ++ compatible = "nxp,pcf85063a"; ++ reg = <0x51>; ++ }; ++ }; ++ }; ++// CAPACITIVE TOUCH OPTION FOR TFT PANEL ++ __overrides__ { ++ captouch = <0>,"+3+4"; ++ }; ++}; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: lihgong +Date: Tue, 13 Dec 2022 09:14:31 +0800 +Subject: [PATCH 1231/1284] configs: Add 8DEV USB2CAN driver support + +See: https://github.com/raspberrypi/linux/pull/5273 +Requested-by: lihgong +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 9db7e5ec8e68..9afa64fa8b75 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -417,6 +417,7 @@ CONFIG_CAN_VCAN=m + CONFIG_CAN_SLCAN=m + CONFIG_CAN_MCP251X=m + CONFIG_CAN_MCP251XFD=m ++CONFIG_CAN_8DEV_USB=m + CONFIG_CAN_EMS_USB=m + CONFIG_CAN_GS_USB=m + CONFIG_CAN_PEAK_USB=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index d0828c05d688..17a208751292 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -419,6 +419,7 @@ CONFIG_CAN_VCAN=m + CONFIG_CAN_SLCAN=m + CONFIG_CAN_MCP251X=m + CONFIG_CAN_MCP251XFD=m ++CONFIG_CAN_8DEV_USB=m + CONFIG_CAN_EMS_USB=m + CONFIG_CAN_GS_USB=m + CONFIG_CAN_PEAK_USB=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 74ad645ff0cc..f338a5af7008 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -411,6 +411,7 @@ CONFIG_CAN_VCAN=m + CONFIG_CAN_SLCAN=m + CONFIG_CAN_MCP251X=m + CONFIG_CAN_MCP251XFD=m ++CONFIG_CAN_8DEV_USB=m + CONFIG_CAN_EMS_USB=m + CONFIG_CAN_GS_USB=m + CONFIG_CAN_PEAK_USB=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index a620a3dcebc2..7722f5b49ada 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -423,6 +423,7 @@ CONFIG_CAN_VCAN=m + CONFIG_CAN_SLCAN=m + CONFIG_CAN_MCP251X=m + CONFIG_CAN_MCP251XFD=m ++CONFIG_CAN_8DEV_USB=m + CONFIG_CAN_EMS_USB=m + CONFIG_CAN_GS_USB=m + CONFIG_CAN_PEAK_USB=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 979b490a95f0..8e4a9447ec92 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -412,6 +412,7 @@ CONFIG_CAN_ISOTP=m + CONFIG_CAN_VCAN=m + CONFIG_CAN_MCP251X=m + CONFIG_CAN_MCP251XFD=m ++CONFIG_CAN_8DEV_USB=m + CONFIG_CAN_EMS_USB=m + CONFIG_CAN_PEAK_USB=m + CONFIG_BT=m +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Thu, 15 Dec 2022 11:38:59 +0000 +Subject: [PATCH 1232/1284] vc4_crtc: Increase setup cost in core clock + calculation to handle extreme reduced blanking + +See: https://github.com/raspberrypi/linux/issues/4446 + +The formula that determines the core clock requirement based on pixel clock and blanking +has been determined experimentally to minimise the clock while supporting all modes we've seen. + +A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen +that doesn't produce a high enough clock and results in "flip_done timed out" error. + +Increase the setup cost in the formula to make this work. +The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing +mode untouched + +Signed-off-by: Dom Cobley +--- + drivers/gpu/drm/vc4/vc4_crtc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c +index fb2e15cc78ef..c154dc54e2f3 100644 +--- a/drivers/gpu/drm/vc4/vc4_crtc.c ++++ b/drivers/gpu/drm/vc4/vc4_crtc.c +@@ -720,7 +720,7 @@ static int vc4_crtc_atomic_check(struct drm_crtc *crtc, + + mode = &crtc_state->adjusted_mode; + if (vc4_encoder->type == VC4_ENCODER_TYPE_HDMI0) { +- vc4_state->hvs_load = max(mode->clock * mode->hdisplay / mode->htotal + 1000, ++ vc4_state->hvs_load = max(mode->clock * mode->hdisplay / mode->htotal + 8000, + mode->clock * 9 / 10) * 1000; + } else { + vc4_state->hvs_load = mode->clock * 1000; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 14 Dec 2022 15:00:51 +0000 +Subject: [PATCH 1233/1284] net: bcmgenet: Add 'eee' module parameter + +On some switches, having EEE enabled causes the link to become +unstable. With this patch, adding 'genet.eee=N' to the kernel command +line will cause EEE to be disabled on the link. + +See: https://github.com/raspberrypi/linux/issues/4289 + +Signed-off-by: Phil Elwell +--- + drivers/net/ethernet/broadcom/genet/bcmgenet.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c +index 9a90637fb556..cce31d5f31a7 100644 +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c +@@ -70,6 +70,9 @@ static void bcmgenet_set_rx_mode(struct net_device *dev); + static bool skip_umac_reset = false; + module_param(skip_umac_reset, bool, 0444); + MODULE_PARM_DESC(skip_umac_reset, "Skip UMAC reset step"); ++static bool eee = true; ++module_param(eee, bool, 0444); ++MODULE_PARM_DESC(eee, "Enable EEE (default Y)"); + + static inline void bcmgenet_writel(u32 value, void __iomem *offset) + { +@@ -3389,6 +3392,17 @@ static int bcmgenet_open(struct net_device *dev) + goto err_irq1; + } + ++ if (!eee) { ++ struct ethtool_eee eee_data; ++ ++ ret = bcmgenet_get_eee(dev, &eee_data); ++ if (ret == 0) { ++ eee_data.eee_enabled = 0; ++ bcmgenet_set_eee(dev, &eee_data); ++ netdev_warn(dev, "EEE disabled\n"); ++ } ++ } ++ + bcmgenet_netif_start(dev); + + netif_tx_start_all_queues(dev); +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 14 Dec 2022 15:28:16 +0000 +Subject: [PATCH 1234/1284] dts: bcm2711: Add 'eee' dtparam + +The 'eee' dtparam allows EEE to be disabled on the onboard Ethernet +controller. Adding 'dtparam=eee=off' to config.txt causes +'genet.eee=N' to be added to the kernel command line, which in turn +tells the Genet driver to disable EEE. + +See: https://github.com/raspberrypi/linux/issues/4289 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2711-rpi-ds.dtsi | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi b/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi +index eed443284dd3..744651773e2f 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi ++++ b/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi +@@ -2,8 +2,12 @@ + #include "bcm270x-rpi.dtsi" + + / { ++ chosen: chosen { ++ }; ++ + __overrides__ { + arm_freq; ++ eee = <&chosen>,"bootargs{on='',off='genet.eee=N'}"; + hdmi = <&hdmi0>,"status", + <&hdmi1>,"status"; + pcie = <&pcie0>,"status"; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 15 Dec 2022 15:57:18 +0000 +Subject: [PATCH 1235/1284] dtoverlays: Add overlay cm-swap-i2c0 to swap buses + on i2c0mux + +The legacy camera stack wiring instructions connect the cameras +to the opposite sets of GPIOs compared to the arrangement +more normally used with libcamera on all other platforms. + +Add an overlay to allow easy swapping of the assignments so +that the legacy wiring can be used with libcamera. + +Signed-off-by: Dave Stevenson +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 16 +++++++++++ + .../dts/overlays/cm-swap-i2c0-overlay.dts | 27 +++++++++++++++++++ + 3 files changed, 44 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/cm-swap-i2c0-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 08a940bf7d8a..dac6fcebc316 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -39,6 +39,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + cap1106.dtbo \ + chipdip-dac.dtbo \ + cirrus-wm5102.dtbo \ ++ cm-swap-i2c0.dtbo \ + cma.dtbo \ + crystalfontz-cfa050_pi_m.dtbo \ + cutiepi-panel.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 80423a5fdb48..b8da6cd3e09b 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -787,6 +787,22 @@ Load: dtoverlay=cirrus-wm5102 + Params: + + ++Name: cm-swap-i2c0 ++Info: Largely for Compute Modules 1&3 where the original instructions for ++ adding a camera used GPIOs 0&1 for CAM1 and 28&29 for CAM0, whilst all ++ other platforms use 28&29 (or 44&45) for CAM1. ++ The default assignment through using this overlay is for ++ i2c0 to use 28&29, and i2c10 (aka i2c_csi_dsi) to use 28&29, but the ++ overrides allow this to be changed. ++Load: dtoverlay=cm-swap-i2c0,= ++Params: i2c0-gpio0 Use GPIOs 0&1 for i2c0 ++ i2c0-gpio28 Use GPIOs 28&29 for i2c0 (default) ++ i2c0-gpio44 Use GPIOs 44&45 for i2c0 ++ i2c10-gpio0 Use GPIOs 0&1 for i2c0 (default) ++ i2c10-gpio28 Use GPIOs 28&29 for i2c0 ++ i2c10-gpio44 Use GPIOs 44&45 for i2c0 ++ ++ + Name: cma + Info: Set custom CMA sizes, only use if you know what you are doing, might + clash with other overlays like vc4-fkms-v3d and vc4-kms-v3d. +diff --git a/arch/arm/boot/dts/overlays/cm-swap-i2c0-overlay.dts b/arch/arm/boot/dts/overlays/cm-swap-i2c0-overlay.dts +new file mode 100644 +index 000000000000..6b7f599f7611 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/cm-swap-i2c0-overlay.dts +@@ -0,0 +1,27 @@ ++// SPDX-License-Identifier: GPL-2.0-only ++// Definitions for IMX708 camera module on VC I2C bus ++/dts-v1/; ++/plugin/; ++ ++#include ++ ++/{ ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&i2c0mux>; ++ i2c0mux_frag: __overlay__ { ++ pinctrl-0 = <&i2c0_gpio28>; ++ pinctrl-1 = <&i2c0_gpio0>; ++ }; ++ }; ++ ++ __overrides__ { ++ i2c0-gpio0 = <&i2c0mux_frag>, "pinctrl-0:0=",<&i2c0_gpio0>; ++ i2c0-gpio28 = <&i2c0mux_frag>, "pinctrl-0:0=",<&i2c0_gpio28>; ++ i2c0-gpio44 = <&i2c0mux_frag>, "pinctrl-0:0=",<&i2c0_gpio44>; ++ i2c10-gpio0 = <&i2c0mux_frag>, "pinctrl-1:0=",<&i2c0_gpio0>; ++ i2c10-gpio28 = <&i2c0mux_frag>, "pinctrl-1:0=",<&i2c0_gpio28>; ++ i2c10-gpio44 = <&i2c0mux_frag>, "pinctrl-1:0=",<&i2c0_gpio44>; ++ }; ++}; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 15 Dec 2022 15:59:28 +0000 +Subject: [PATCH 1236/1284] dt: Correct cam_reg GPIO assignments for CM1&3. + +The standard instructions for wiring up cameras on CM1&3 +assign GPIOs for both the shutdown and LED pins on the +camera connectors. +The assignment in DT matched the LED wiring, not the shutdown +line, so didn't control the camera power correctly. + +Update the base DT accordingly. + +Signed-off-by: Dave Stevenson +--- + arch/arm/boot/dts/bcm2708-rpi-cm.dts | 4 ++-- + arch/arm/boot/dts/bcm2710-rpi-cm3.dts | 4 ++-- + arch/arm/boot/dts/overlays/README | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dts b/arch/arm/boot/dts/bcm2708-rpi-cm.dts +index 3634f672adc3..9887c65d3630 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts +@@ -11,12 +11,12 @@ / { + }; + + &cam1_reg { +- gpio = <&gpio 2 GPIO_ACTIVE_HIGH>; ++ gpio = <&gpio 3 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + + cam0_reg: &cam0_regulator { +- gpio = <&gpio 30 GPIO_ACTIVE_HIGH>; ++ gpio = <&gpio 31 GPIO_ACTIVE_HIGH>; + }; + + &uart0 { +diff --git a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts +index f7f18331db02..037b89adb441 100644 +--- a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts ++++ b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts +@@ -11,12 +11,12 @@ / { + }; + + &cam1_reg { +- gpio = <&gpio 2 GPIO_ACTIVE_HIGH>; ++ gpio = <&gpio 3 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + + cam0_reg: &cam0_regulator { +- gpio = <&gpio 30 GPIO_ACTIVE_HIGH>; ++ gpio = <&gpio 31 GPIO_ACTIVE_HIGH>; + }; + + &uart0 { +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index b8da6cd3e09b..5e4abc595562 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -146,12 +146,12 @@ Params: + + cam0_reg Enables CAM 0 regulator. CM1 & 3 only. + +- cam0_reg_gpio Set GPIO for CAM 0 regulator. Default 30. ++ cam0_reg_gpio Set GPIO for CAM 0 regulator. Default 31. + CM1 & 3 only. + + cam1_reg Enables CAM 1 regulator. CM1 & 3 only. + +- cam1_reg_gpio Set GPIO for CAM 1 regulator. Default 2. ++ cam1_reg_gpio Set GPIO for CAM 1 regulator. Default 3. + CM1 & 3 only. + + eee Enable Energy Efficient Ethernet support for +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 15 Dec 2022 16:13:07 +0000 +Subject: [PATCH 1237/1284] dt: Add camX_reg_gpio to CM4 + +To make it easier for custom routing of camera control GPIOs, +add the camX_reg_gpio parameter to CM4 DT as well. + +Signed-off-by: Dave Stevenson +--- + arch/arm/boot/dts/bcm2711-rpi-cm4.dts | 7 +++++++ + arch/arm/boot/dts/overlays/README | 18 ++++++++++++------ + 2 files changed, 19 insertions(+), 6 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts +index 6e99da17e3c5..471d073da02c 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts +@@ -594,5 +594,12 @@ __overrides__ { + sd_poll_once = <&emmc2>, "non-removable?"; + spi_dma4 = <&spi0>, "dmas:0=", <&dma40>, + <&spi0>, "dmas:8=", <&dma40>; ++ ++ cam0_reg = <&cam0_reg>,"status"; ++ cam0_reg_gpio = <&cam0_reg>,"gpio:4", ++ <&cam0_reg>,"gpio:0=", <&gpio>; ++ cam1_reg = <&cam1_reg>,"status"; ++ cam1_reg_gpio = <&cam1_reg>,"gpio:4", ++ <&cam1_reg>,"gpio:0=", <&gpio>; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 5e4abc595562..3deb4f492e5d 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -144,15 +144,21 @@ Params: + See /sys/kernel/debug/raspberrypi_axi_monitor + for the results. + +- cam0_reg Enables CAM 0 regulator. CM1 & 3 only. ++ cam0_reg Enables CAM 0 regulator. ++ Only required on CM1 & 3. + +- cam0_reg_gpio Set GPIO for CAM 0 regulator. Default 31. +- CM1 & 3 only. ++ cam0_reg_gpio Set GPIO for CAM 0 regulator. ++ Default 31 on CM1 & 3. ++ Default of GPIO expander 5 on CM4, but override ++ switches to normal GPIO. + +- cam1_reg Enables CAM 1 regulator. CM1 & 3 only. ++ cam1_reg Enables CAM 1 regulator. ++ Only required on CM1 & 3. + +- cam1_reg_gpio Set GPIO for CAM 1 regulator. Default 3. +- CM1 & 3 only. ++ cam1_reg_gpio Set GPIO for CAM 1 regulator. ++ Default 3 on CM1 & 3. ++ Default of GPIO expander 5 on CM4, but override ++ switches to normal GPIO. + + eee Enable Energy Efficient Ethernet support for + compatible devices (default "on"). See also +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 15 Dec 2022 16:15:27 +0000 +Subject: [PATCH 1238/1284] dt: Add camX_reg and camX_reg_gpio overrides to + CM4S + +CM4S follows the pattern of CM1&3 for routing camera +GPIO control, but didn't have the overrides defined to +allow enabling and configuring the camera regulator +GPIOs. Add them. + +Signed-off-by: Dave Stevenson +--- + arch/arm/boot/dts/bcm2711-rpi-cm4s.dts | 9 +++++++-- + arch/arm/boot/dts/overlays/README | 4 ++-- + 2 files changed, 9 insertions(+), 4 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts +index 2f2d589e178f..ae7fabd38120 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts +@@ -400,12 +400,12 @@ &audio { + }; + + &cam1_reg { +- gpio = <&gpio 2 GPIO_ACTIVE_HIGH>; ++ gpio = <&gpio 3 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + + cam0_reg: &cam0_regulator { +- gpio = <&gpio 30 GPIO_ACTIVE_HIGH>; ++ gpio = <&gpio 31 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + +@@ -418,5 +418,10 @@ __overrides__ { + sd_poll_once = <&emmc2>, "non-removable?"; + spi_dma4 = <&spi0>, "dmas:0=", <&dma40>, + <&spi0>, "dmas:8=", <&dma40>; ++ ++ cam0_reg = <&cam0_reg>,"status"; ++ cam0_reg_gpio = <&cam0_reg>,"gpio:4"; ++ cam1_reg = <&cam1_reg>,"status"; ++ cam1_reg_gpio = <&cam1_reg>,"gpio:4"; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 3deb4f492e5d..85b610604a46 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -148,7 +148,7 @@ Params: + Only required on CM1 & 3. + + cam0_reg_gpio Set GPIO for CAM 0 regulator. +- Default 31 on CM1 & 3. ++ Default 31 on CM1, 3, and 4S. + Default of GPIO expander 5 on CM4, but override + switches to normal GPIO. + +@@ -156,7 +156,7 @@ Params: + Only required on CM1 & 3. + + cam1_reg_gpio Set GPIO for CAM 1 regulator. +- Default 3 on CM1 & 3. ++ Default 3 on CM1, 3, and 4S. + Default of GPIO expander 5 on CM4, but override + switches to normal GPIO. + +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Tim Gover +Date: Fri, 16 Dec 2022 15:51:17 +0000 +Subject: [PATCH 1239/1284] overlays: Add disable-emmc2 + +Add a new overlay that disables the EMMC2 controller on BCM2711. +This can be useful on a Compute Module 4 if the onboard EMMC2 +storage is unreliable and the system can be booted by other +means e.g Network / USB. + +Signed-off-by: Tim Gover +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 8 ++++++++ + .../arm/boot/dts/overlays/disable-emmc2-overlay.dts | 13 +++++++++++++ + arch/arm/boot/dts/overlays/overlay_map.dts | 4 ++++ + 4 files changed, 26 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/disable-emmc2-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index dac6fcebc316..edd149a3a838 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -49,6 +49,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + dionaudio-loco.dtbo \ + dionaudio-loco-v2.dtbo \ + disable-bt.dtbo \ ++ disable-emmc2.dtbo \ + disable-wifi.dtbo \ + dpi18.dtbo \ + dpi18cpadhi.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 85b610604a46..8369d18f1240 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -895,6 +895,14 @@ Load: dtoverlay=disable-bt + Params: + + ++Name: disable-emmc2 ++Info: Disable EMMC2 controller on BCM2711. ++ The allows the onboard EMMC storage on Compute Module 4 to be disabled ++ e.g. if a fault has occurred. ++Load: dtoverlay=disable-emmc2 ++Params: ++ ++ + Name: disable-wifi + Info: Disable onboard WLAN on Pi 3B, 3B+, 3A+, 4B and Zero W. + Load: dtoverlay=disable-wifi +diff --git a/arch/arm/boot/dts/overlays/disable-emmc2-overlay.dts b/arch/arm/boot/dts/overlays/disable-emmc2-overlay.dts +new file mode 100644 +index 000000000000..8cd1d7fa4a90 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/disable-emmc2-overlay.dts +@@ -0,0 +1,13 @@ ++/dts-v1/; ++/plugin/; ++ ++/{ ++ compatible = "brcm,bcm2711"; ++ ++ fragment@0 { ++ target = <&emmc2>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlays/overlay_map.dts b/arch/arm/boot/dts/overlays/overlay_map.dts +index 627855bc500c..fda036488d41 100644 +--- a/arch/arm/boot/dts/overlays/overlay_map.dts ++++ b/arch/arm/boot/dts/overlays/overlay_map.dts +@@ -9,6 +9,10 @@ cutiepi-panel { + bcm2711; + }; + ++ disable-emmc2 { ++ bcm2711; ++ }; ++ + highperi { + bcm2711; + }; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jonathan Bell +Date: Fri, 16 Dec 2022 15:18:21 +0000 +Subject: [PATCH 1240/1284] xhci: constrain XHCI_VLI_HUB_TT_QUIRK to old + firmware versions + +VLI have a firmware update for the VL805 which resolves the incorrect +frame time calculation in the hub's TT. Limit applying the quirk to +known-bad firmwares. + +Signed-off-by: Jonathan Bell +--- + drivers/usb/host/xhci-pci.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c +index b055112aab91..592e1482cc59 100644 +--- a/drivers/usb/host/xhci-pci.c ++++ b/drivers/usb/host/xhci-pci.c +@@ -26,6 +26,8 @@ + #define SPARSE_DISABLE_BIT 17 + #define SPARSE_CNTL_ENABLE 0xC12C + ++#define VL805_FW_VER_0138C0 0x0138C0 ++ + /* Device for a quirk */ + #define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73 + #define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000 +@@ -100,6 +102,16 @@ static int xhci_pci_reinit(struct xhci_hcd *xhci, struct pci_dev *pdev) + return 0; + } + ++static u32 xhci_vl805_get_fw_version(struct pci_dev *dev) ++{ ++ int ret; ++ u32 ver; ++ ++ ret = pci_read_config_dword(dev, 0x50, &ver); ++ /* Default to a fw version of 0 instead of ~0 */ ++ return ret ? 0 : ver; ++} ++ + static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) + { + struct pci_dev *pdev = to_pci_dev(dev); +@@ -296,7 +308,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) + xhci->quirks |= XHCI_AVOID_DQ_ON_LINK; + xhci->quirks |= XHCI_VLI_TRB_CACHE_BUG; + xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG; +- xhci->quirks |= XHCI_VLI_HUB_TT_QUIRK; ++ if (xhci_vl805_get_fw_version(pdev) < VL805_FW_VER_0138C0) ++ xhci->quirks |= XHCI_VLI_HUB_TT_QUIRK; + } + + if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 3 Jan 2023 15:16:50 +0000 +Subject: [PATCH 1241/1284] drm/vc4: Fix YUV plane handling when planes are in + different buffers + +YUV images can either be presented as one allocation with offsets +for the different planes, or multiple allocations with 0 offsets. + +The driver only ever calls drm_fb_[dma|cma]_get_gem_obj with plane +index 0, therefore any application using the second approach was +incorrectly rendered. + +Correctly determine the address for each plane, removing the +assumption that the base address is the same for each. + +Fixes: fc04023fafec ("drm/vc4: Add support for YUV planes.") +Signed-off-by: Dave Stevenson +--- + drivers/gpu/drm/vc4/vc4_plane.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c +index 3211fb82dbe2..b3bc47102187 100644 +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -436,7 +436,7 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) + { + struct vc4_plane_state *vc4_state = to_vc4_plane_state(state); + struct drm_framebuffer *fb = state->fb; +- struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0); ++ struct drm_gem_cma_object *bo; + int num_planes = fb->format->num_planes; + struct drm_crtc_state *crtc_state; + u32 h_subsample = fb->format->hsub; +@@ -455,8 +455,10 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) + if (ret) + return ret; + +- for (i = 0; i < num_planes; i++) ++ for (i = 0; i < num_planes; i++) { ++ bo = drm_fb_cma_get_gem_obj(fb, i); + vc4_state->offsets[i] = bo->paddr + fb->offsets[i]; ++ } + + vc4_state->src_x = state->src.x1; + vc4_state->src_y = state->src.y1; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Krzysztof Kotlenga +Date: Thu, 29 Dec 2022 19:14:32 +0100 +Subject: [PATCH 1242/1284] overlays: audremap: Fix setting of the pin function + +The brcm,function property must be set in the overlay fragment too - +otherwise the parametrization won't work. At least that's the case for +bcm2711-rpi-cm4.dts which starts with empty properties: + +&gpio { + audio_pins: audio_pins { + brcm,pins = <>; + brcm,function = <>; + }; +}; + +This was broken since a56df85d2f42fd461fdc05f33617141aca5ba465. + +Signed-off-by: Krzysztof Kotlenga +--- + arch/arm/boot/dts/overlays/audremap-overlay.dts | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/boot/dts/overlays/audremap-overlay.dts b/arch/arm/boot/dts/overlays/audremap-overlay.dts +index 5323b9b66a25..8d82f9b92db6 100644 +--- a/arch/arm/boot/dts/overlays/audremap-overlay.dts ++++ b/arch/arm/boot/dts/overlays/audremap-overlay.dts +@@ -8,6 +8,7 @@ fragment@0 { + target = <&audio_pins>; + frag0: __overlay__ { + brcm,pins = <12 13>; ++ brcm,function = <4>; /* alt0 alt0 */ + }; + }; + +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Sakari Ailus +Date: Tue, 17 Aug 2021 08:51:34 +0200 +Subject: [PATCH 1243/1284] media: dt-bindings: Convert Dongwoon dw9807-vcm + bindings to json-schema + +Upstream commit a1f4626b282d4e419047d47c1b0b1055f3c12a19. + +Convert the old text based dw9807-vcm chip DT bindings to json-schema. + +Signed-off-by: Sakari Ailus +Reviewed-by: Krzysztof Kozlowski +Signed-off-by: Mauro Carvalho Chehab +--- + .../media/i2c/dongwoon,dw9807-vcm.txt | 9 ---- + .../media/i2c/dongwoon,dw9807-vcm.yaml | 41 +++++++++++++++++++ + 2 files changed, 41 insertions(+), 9 deletions(-) + delete mode 100644 Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.txt + create mode 100644 Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml + +diff --git a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.txt b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.txt +deleted file mode 100644 +index c4701f1eaaf6..000000000000 +--- a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.txt ++++ /dev/null +@@ -1,9 +0,0 @@ +-Dongwoon Anatech DW9807 voice coil lens driver +- +-DW9807 is a 10-bit DAC with current sink capability. It is intended for +-controlling voice coil lenses. +- +-Mandatory properties: +- +-- compatible: "dongwoon,dw9807-vcm" +-- reg: I2C slave address +diff --git a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml +new file mode 100644 +index 000000000000..aae246ca3fcf +--- /dev/null ++++ b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml +@@ -0,0 +1,41 @@ ++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) ++# Copyright (C) 2018, 2021 Intel Corporation ++%YAML 1.2 ++--- ++$id: http://devicetree.org/schemas/media/i2c/dongwoon,dw9807-vcm.yaml# ++$schema: http://devicetree.org/meta-schemas/core.yaml# ++ ++title: Dongwoon Anatech DW9807 voice coil lens driver ++ ++maintainers: ++ - Sakari Ailus ++ ++description: | ++ DW9807 is a 10-bit DAC with current sink capability. It is intended for ++ controlling voice coil lenses. ++ ++properties: ++ compatible: ++ const: dongwoon,dw9807-vcm ++ ++ reg: ++ maxItems: 1 ++ ++required: ++ - compatible ++ - reg ++ ++additionalProperties: false ++ ++examples: ++ - | ++ i2c { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ lens@e { ++ compatible = "dongwoon,dw9807-vcm"; ++ reg = <0x0e>; ++ }; ++ }; ++... +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 3 Jan 2023 15:44:10 +0000 +Subject: [PATCH 1244/1284] media: dt-bindings: Add DW9817 to DW9807 binding + +The DW9817 is programmatically the same as DW9807, but +the output drive is a bi-directional -100 to +100mA +instead of 0-100mA. + +Add the appropriate compativle string. + +Signed-off-by: Dave Stevenson +--- + .../bindings/media/i2c/dongwoon,dw9807-vcm.yaml | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml +index aae246ca3fcf..1be649611ba2 100644 +--- a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml ++++ b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml +@@ -5,18 +5,24 @@ + $id: http://devicetree.org/schemas/media/i2c/dongwoon,dw9807-vcm.yaml# + $schema: http://devicetree.org/meta-schemas/core.yaml# + +-title: Dongwoon Anatech DW9807 voice coil lens driver ++title: Dongwoon Anatech DW9807 and DW9817 voice coil lens driver + + maintainers: + - Sakari Ailus + + description: | + DW9807 is a 10-bit DAC with current sink capability. It is intended for +- controlling voice coil lenses. ++ controlling voice coil lenses. The output drive is 0-100mA. ++ DW9817 is very similar as a 10-bit DAC with current sink capability, ++ however the output drive is a bidirection -100 to +100mA. ++ + + properties: + compatible: +- const: dongwoon,dw9807-vcm ++ items: ++ - enum: ++ - dongwoon,dw9807-vcm ++ - dongwoon,dw9817-vcm + + reg: + maxItems: 1 +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 3 Jan 2023 15:38:08 +0000 +Subject: [PATCH 1245/1284] media: dw9807-vcm: Add support for DW9817 + bidirectional VCM driver + +The DW9817 is effectively the same as DW9807 from a programming +interface, however it drives +/-100mA instead of 0-100mA. This means +that the power on ramp needs to take the lens from the midpoint, and +power off return it there. It also changes the default position for +the module. + +Signed-off-by: Dave Stevenson +--- + drivers/media/i2c/dw9807-vcm.c | 110 ++++++++++++++++++++++++++------- + 1 file changed, 86 insertions(+), 24 deletions(-) + +diff --git a/drivers/media/i2c/dw9807-vcm.c b/drivers/media/i2c/dw9807-vcm.c +index 95e06f13bc9e..f5dba03f82c1 100644 +--- a/drivers/media/i2c/dw9807-vcm.c ++++ b/drivers/media/i2c/dw9807-vcm.c +@@ -1,6 +1,14 @@ + // SPDX-License-Identifier: GPL-2.0 + // Copyright (C) 2018 Intel Corporation + ++/* ++ * DW9807 is a 10-bit DAC driver, capable of sinking up to 100mA. ++ * ++ * DW9817 is a bidirectional 10-bit driver, driving up to +/- 100mA. ++ * Operationally it is identical to DW9807, except that the idle position is ++ * the mid-point, not 0. ++ */ ++ + #include + #include + #include +@@ -38,10 +46,16 @@ + + #define MAX_RETRY 10 + ++struct dw9807_cfg { ++ unsigned int idle_pos; ++ unsigned int default_pos; ++}; ++ + struct dw9807_device { + struct v4l2_ctrl_handler ctrls_vcm; + struct v4l2_subdev sd; + u16 current_val; ++ u16 idle_pos; + }; + + static inline struct dw9807_device *sd_to_dw9807_vcm( +@@ -109,6 +123,40 @@ static int dw9807_set_dac(struct i2c_client *client, u16 data) + return 0; + } + ++/* ++ * The lens position is gradually moved in units of DW9807_CTRL_STEPS, ++ * to make the movements smoothly. In all cases, even when "start" and ++ * "end" are the same, the lens will be set to the "end" position. ++ * ++ * (We don't use hardware slew rate control, because it differs widely ++ * between otherwise-compatible ICs, and may need lens-specific tuning.) ++ */ ++static int dw9807_ramp(struct i2c_client *client, int start, int end) ++{ ++ int step, val, ret; ++ ++ if (start < end) ++ step = DW9807_CTRL_STEPS; ++ else ++ step = -DW9807_CTRL_STEPS; ++ ++ val = start; ++ while (true) { ++ val += step; ++ if (step * (val - end) >= 0) ++ val = end; ++ ret = dw9807_set_dac(client, val); ++ if (ret) ++ dev_err_ratelimited(&client->dev, "%s I2C failure: %d", ++ __func__, ret); ++ if (val == end) ++ break; ++ usleep_range(DW9807_CTRL_DELAY_US, DW9807_CTRL_DELAY_US + 10); ++ } ++ ++ return ret; ++} ++ + static int dw9807_set_ctrl(struct v4l2_ctrl *ctrl) + { + struct dw9807_device *dev_vcm = container_of(ctrl->handler, +@@ -118,7 +166,7 @@ static int dw9807_set_ctrl(struct v4l2_ctrl *ctrl) + struct i2c_client *client = v4l2_get_subdevdata(&dev_vcm->sd); + + dev_vcm->current_val = ctrl->val; +- return dw9807_set_dac(client, ctrl->val); ++ return dw9807_ramp(client, ctrl->val, ctrl->val); + } + + return -EINVAL; +@@ -163,7 +211,8 @@ static int dw9807_init_controls(struct dw9807_device *dev_vcm) + v4l2_ctrl_handler_init(hdl, 1); + + v4l2_ctrl_new_std(hdl, ops, V4L2_CID_FOCUS_ABSOLUTE, +- 0, DW9807_MAX_FOCUS_POS, DW9807_FOCUS_STEPS, 0); ++ 0, DW9807_MAX_FOCUS_POS, DW9807_FOCUS_STEPS, ++ dev_vcm->current_val); + + dev_vcm->sd.ctrl_handler = hdl; + if (hdl->error) { +@@ -175,9 +224,32 @@ static int dw9807_init_controls(struct dw9807_device *dev_vcm) + return 0; + } + ++/* Compatible devices; in fact there are many similar chips. ++ * "data" holds the powered-off (zero current) lens position and a ++ * default/initial control value (which need not be the same as the powered-off ++ * value). ++ */ ++static const struct dw9807_cfg dw9807_cfg = { ++ .idle_pos = 0, ++ .default_pos = 0 ++}; ++ ++static const struct dw9807_cfg dw9817_cfg = { ++ .idle_pos = 512, ++ .default_pos = 480, ++}; ++ ++static const struct of_device_id dw9807_of_table[] = { ++ { .compatible = "dongwoon,dw9807-vcm", .data = &dw9807_cfg }, ++ { .compatible = "dongwoon,dw9817-vcm", .data = &dw9817_cfg }, ++ { /* sentinel */ } ++}; ++ + static int dw9807_probe(struct i2c_client *client) + { + struct dw9807_device *dw9807_dev; ++ const struct of_device_id *match; ++ const struct dw9807_cfg *cfg; + int rval; + + dw9807_dev = devm_kzalloc(&client->dev, sizeof(*dw9807_dev), +@@ -185,6 +257,13 @@ static int dw9807_probe(struct i2c_client *client) + if (dw9807_dev == NULL) + return -ENOMEM; + ++ match = i2c_of_match_device(dw9807_of_table, client); ++ if (match) { ++ cfg = (const struct dw9807_cfg *)match->data; ++ dw9807_dev->idle_pos = cfg->idle_pos; ++ dw9807_dev->current_val = cfg->default_pos; ++ } ++ + v4l2_i2c_subdev_init(&dw9807_dev->sd, client, &dw9807_ops); + dw9807_dev->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; + dw9807_dev->sd.internal_ops = &dw9807_int_ops; +@@ -239,15 +318,10 @@ static int __maybe_unused dw9807_vcm_suspend(struct device *dev) + struct v4l2_subdev *sd = i2c_get_clientdata(client); + struct dw9807_device *dw9807_dev = sd_to_dw9807_vcm(sd); + const char tx_data[2] = { DW9807_CTL_ADDR, 0x01 }; +- int ret, val; ++ int ret; + +- for (val = dw9807_dev->current_val & ~(DW9807_CTRL_STEPS - 1); +- val >= 0; val -= DW9807_CTRL_STEPS) { +- ret = dw9807_set_dac(client, val); +- if (ret) +- dev_err_once(dev, "%s I2C failure: %d", __func__, ret); +- usleep_range(DW9807_CTRL_DELAY_US, DW9807_CTRL_DELAY_US + 10); +- } ++ if (abs(dw9807_dev->current_val - dw9807_dev->idle_pos) > DW9807_CTRL_STEPS) ++ dw9807_ramp(client, dw9807_dev->current_val, dw9807_dev->idle_pos); + + /* Power down */ + ret = i2c_master_send(client, tx_data, sizeof(tx_data)); +@@ -271,7 +345,7 @@ static int __maybe_unused dw9807_vcm_resume(struct device *dev) + struct v4l2_subdev *sd = i2c_get_clientdata(client); + struct dw9807_device *dw9807_dev = sd_to_dw9807_vcm(sd); + const char tx_data[2] = { DW9807_CTL_ADDR, 0x00 }; +- int ret, val; ++ int ret; + + /* Power on */ + ret = i2c_master_send(client, tx_data, sizeof(tx_data)); +@@ -280,23 +354,11 @@ static int __maybe_unused dw9807_vcm_resume(struct device *dev) + return ret; + } + +- for (val = dw9807_dev->current_val % DW9807_CTRL_STEPS; +- val < dw9807_dev->current_val + DW9807_CTRL_STEPS - 1; +- val += DW9807_CTRL_STEPS) { +- ret = dw9807_set_dac(client, val); +- if (ret) +- dev_err_ratelimited(dev, "%s I2C failure: %d", +- __func__, ret); +- usleep_range(DW9807_CTRL_DELAY_US, DW9807_CTRL_DELAY_US + 10); +- } ++ dw9807_ramp(client, dw9807_dev->idle_pos, dw9807_dev->current_val); + + return 0; + } + +-static const struct of_device_id dw9807_of_table[] = { +- { .compatible = "dongwoon,dw9807-vcm" }, +- { /* sentinel */ } +-}; + MODULE_DEVICE_TABLE(of, dw9807_of_table); + + static const struct dev_pm_ops dw9807_pm_ops = { +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 3 Jan 2023 16:41:08 +0000 +Subject: [PATCH 1246/1284] media: dt-bindings: Add regulator to dw9807-vcm + +The VCM driver will often be controlled via a regulator, +therefore add in the relevant DT hooks. + +Signed-off-by: Dave Stevenson +--- + .../devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml | 4 ++++ + drivers/media/i2c/dw9807-vcm.c | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml +index 1be649611ba2..6de07543e973 100644 +--- a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml ++++ b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml +@@ -27,6 +27,10 @@ properties: + reg: + maxItems: 1 + ++ VDD-supply: ++ description: ++ Definition of the regulator used as VDD power supply to the driver. ++ + required: + - compatible + - reg +diff --git a/drivers/media/i2c/dw9807-vcm.c b/drivers/media/i2c/dw9807-vcm.c +index f5dba03f82c1..6103029dab63 100644 +--- a/drivers/media/i2c/dw9807-vcm.c ++++ b/drivers/media/i2c/dw9807-vcm.c +@@ -300,6 +300,10 @@ static int dw9807_remove(struct i2c_client *client) + struct v4l2_subdev *sd = i2c_get_clientdata(client); + struct dw9807_device *dw9807_dev = sd_to_dw9807_vcm(sd); + ++ if (dw9807_dev->vdd) ++ regulator_unregister_notifier(dw9807_dev->vdd, ++ &dw9807_dev->notifier); ++ + pm_runtime_disable(&client->dev); + + dw9807_subdev_cleanup(dw9807_dev); +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 3 Jan 2023 16:35:59 +0000 +Subject: [PATCH 1247/1284] media: dw9807-vcm: Add regulator support to the + driver + +Uses the regulator notifier framework so that the current +focus position will be restored whenever any user of the +regulator powers it up. This means that should the VCM +and sensor share a common regulator then starting the sensor +will automatically restore the default position. If they +have independent regulators then it will behave be powered +up when the VCM subdev is opened. + +Signed-off-by: Dave Stevenson +--- + drivers/media/i2c/dw9807-vcm.c | 113 ++++++++++++++++++++++++++------- + 1 file changed, 90 insertions(+), 23 deletions(-) + +diff --git a/drivers/media/i2c/dw9807-vcm.c b/drivers/media/i2c/dw9807-vcm.c +index 6103029dab63..d5a184116c17 100644 +--- a/drivers/media/i2c/dw9807-vcm.c ++++ b/drivers/media/i2c/dw9807-vcm.c +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -46,6 +47,9 @@ + + #define MAX_RETRY 10 + ++#define DW9807_PW_MIN_DELAY_US 100 ++#define DW9807_PW_DELAY_RANGE_US 10 ++ + struct dw9807_cfg { + unsigned int idle_pos; + unsigned int default_pos; +@@ -56,6 +60,8 @@ struct dw9807_device { + struct v4l2_subdev sd; + u16 current_val; + u16 idle_pos; ++ struct regulator *vdd; ++ struct notifier_block notifier; + }; + + static inline struct dw9807_device *sd_to_dw9807_vcm( +@@ -157,6 +163,66 @@ static int dw9807_ramp(struct i2c_client *client, int start, int end) + return ret; + } + ++static int dw9807_active(struct dw9807_device *dw9807_dev) ++{ ++ struct i2c_client *client = v4l2_get_subdevdata(&dw9807_dev->sd); ++ const char tx_data[2] = { DW9807_CTL_ADDR, 0x00 }; ++ int ret; ++ ++ /* Power on */ ++ ret = i2c_master_send(client, tx_data, sizeof(tx_data)); ++ if (ret < 0) { ++ dev_err(&client->dev, "I2C write CTL fail ret = %d\n", ret); ++ return ret; ++ } ++ ++ return dw9807_ramp(client, dw9807_dev->idle_pos, dw9807_dev->current_val); ++} ++ ++static int dw9807_standby(struct dw9807_device *dw9807_dev) ++{ ++ struct i2c_client *client = v4l2_get_subdevdata(&dw9807_dev->sd); ++ const char tx_data[2] = { DW9807_CTL_ADDR, 0x01 }; ++ int ret; ++ ++ if (abs(dw9807_dev->current_val - dw9807_dev->idle_pos) > DW9807_CTRL_STEPS) ++ dw9807_ramp(client, dw9807_dev->current_val, dw9807_dev->idle_pos); ++ ++ /* Power down */ ++ ret = i2c_master_send(client, tx_data, sizeof(tx_data)); ++ if (ret < 0) { ++ dev_err(&client->dev, "I2C write CTL fail ret = %d\n", ret); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static int dw9807_regulator_event(struct notifier_block *nb, ++ unsigned long action, void *data) ++{ ++ struct dw9807_device *dw9807_dev = ++ container_of(nb, struct dw9807_device, notifier); ++ ++ if (action & REGULATOR_EVENT_ENABLE) { ++ /* ++ * Initialisation delay between VDD low->high and the moment ++ * when the i2c command is available. ++ * From the datasheet, it should be 10ms + 2ms (max power ++ * up sequence duration) ++ */ ++ usleep_range(DW9807_PW_MIN_DELAY_US, ++ DW9807_PW_MIN_DELAY_US + ++ DW9807_PW_DELAY_RANGE_US); ++ ++ dw9807_active(dw9807_dev); ++ } else if (action & REGULATOR_EVENT_PRE_DISABLE) { ++ dw9807_standby(dw9807_dev); ++ } ++ ++ return 0; ++} ++ + static int dw9807_set_ctrl(struct v4l2_ctrl *ctrl) + { + struct dw9807_device *dev_vcm = container_of(ctrl->handler, +@@ -257,6 +323,24 @@ static int dw9807_probe(struct i2c_client *client) + if (dw9807_dev == NULL) + return -ENOMEM; + ++ dw9807_dev->vdd = devm_regulator_get_optional(&client->dev, "VDD"); ++ if (IS_ERR(dw9807_dev->vdd)) { ++ if (PTR_ERR(dw9807_dev->vdd) != -ENODEV) ++ return PTR_ERR(dw9807_dev->vdd); ++ ++ dw9807_dev->vdd = NULL; ++ } else { ++ dw9807_dev->notifier.notifier_call = dw9807_regulator_event; ++ ++ rval = regulator_register_notifier(dw9807_dev->vdd, ++ &dw9807_dev->notifier); ++ if (rval) { ++ dev_err(&client->dev, ++ "could not register regulator notifier\n"); ++ return rval; ++ } ++ } ++ + match = i2c_of_match_device(dw9807_of_table, client); + if (match) { + cfg = (const struct dw9807_cfg *)match->data; +@@ -321,20 +405,11 @@ static int __maybe_unused dw9807_vcm_suspend(struct device *dev) + struct i2c_client *client = to_i2c_client(dev); + struct v4l2_subdev *sd = i2c_get_clientdata(client); + struct dw9807_device *dw9807_dev = sd_to_dw9807_vcm(sd); +- const char tx_data[2] = { DW9807_CTL_ADDR, 0x01 }; +- int ret; +- +- if (abs(dw9807_dev->current_val - dw9807_dev->idle_pos) > DW9807_CTRL_STEPS) +- dw9807_ramp(client, dw9807_dev->current_val, dw9807_dev->idle_pos); + +- /* Power down */ +- ret = i2c_master_send(client, tx_data, sizeof(tx_data)); +- if (ret < 0) { +- dev_err(&client->dev, "I2C write CTL fail ret = %d\n", ret); +- return ret; +- } ++ if (dw9807_dev->vdd) ++ return regulator_disable(dw9807_dev->vdd); + +- return 0; ++ return dw9807_standby(dw9807_dev); + } + + /* +@@ -348,19 +423,11 @@ static int __maybe_unused dw9807_vcm_resume(struct device *dev) + struct i2c_client *client = to_i2c_client(dev); + struct v4l2_subdev *sd = i2c_get_clientdata(client); + struct dw9807_device *dw9807_dev = sd_to_dw9807_vcm(sd); +- const char tx_data[2] = { DW9807_CTL_ADDR, 0x00 }; +- int ret; +- +- /* Power on */ +- ret = i2c_master_send(client, tx_data, sizeof(tx_data)); +- if (ret < 0) { +- dev_err(&client->dev, "I2C write CTL fail ret = %d\n", ret); +- return ret; +- } + +- dw9807_ramp(client, dw9807_dev->idle_pos, dw9807_dev->current_val); ++ if (dw9807_dev->vdd) ++ return regulator_enable(dw9807_dev->vdd); + +- return 0; ++ return dw9807_active(dw9807_dev); + } + + MODULE_DEVICE_TABLE(of, dw9807_of_table); +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 3 Jan 2023 16:53:37 +0000 +Subject: [PATCH 1248/1284] media: dw9807-vcm: Smooth the first user movement + of the lens + +The power up/down sequence is already ramped. Extend this to +the first user movement as well, as this will generally avoid +the "tick" noises due to rapid movements and overshooting. +Subsequent movements are generally smaller and so don't cause +issues. + +Signed-off-by: Dave Stevenson +--- + drivers/media/i2c/dw9807-vcm.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/drivers/media/i2c/dw9807-vcm.c b/drivers/media/i2c/dw9807-vcm.c +index d5a184116c17..3589d0b0698e 100644 +--- a/drivers/media/i2c/dw9807-vcm.c ++++ b/drivers/media/i2c/dw9807-vcm.c +@@ -62,6 +62,7 @@ struct dw9807_device { + u16 idle_pos; + struct regulator *vdd; + struct notifier_block notifier; ++ bool first; + }; + + static inline struct dw9807_device *sd_to_dw9807_vcm( +@@ -176,6 +177,8 @@ static int dw9807_active(struct dw9807_device *dw9807_dev) + return ret; + } + ++ dw9807_dev->first = true; ++ + return dw9807_ramp(client, dw9807_dev->idle_pos, dw9807_dev->current_val); + } + +@@ -230,9 +233,11 @@ static int dw9807_set_ctrl(struct v4l2_ctrl *ctrl) + + if (ctrl->id == V4L2_CID_FOCUS_ABSOLUTE) { + struct i2c_client *client = v4l2_get_subdevdata(&dev_vcm->sd); ++ int start = (dev_vcm->first) ? dev_vcm->current_val : ctrl->val; + ++ dev_vcm->first = false; + dev_vcm->current_val = ctrl->val; +- return dw9807_ramp(client, ctrl->val, ctrl->val); ++ return dw9807_ramp(client, start, ctrl->val); + } + + return -EINVAL; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 22 Dec 2022 14:08:35 +0000 +Subject: [PATCH 1249/1284] dtbindings: media: i2c: Add IMX708 CMOS sensor + binding + +Add YAML devicetree binding for IMX708 CMOS image sensor. +Let's also add a MAINTAINERS entry for the binding and driver. + +Signed-off-by: Dave Stevenson +--- + .../devicetree/bindings/media/i2c/imx708.yaml | 119 ++++++++++++++++++ + MAINTAINERS | 8 ++ + 2 files changed, 127 insertions(+) + create mode 100644 Documentation/devicetree/bindings/media/i2c/imx708.yaml + +diff --git a/Documentation/devicetree/bindings/media/i2c/imx708.yaml b/Documentation/devicetree/bindings/media/i2c/imx708.yaml +new file mode 100644 +index 000000000000..4b8645f6880c +--- /dev/null ++++ b/Documentation/devicetree/bindings/media/i2c/imx708.yaml +@@ -0,0 +1,119 @@ ++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) ++%YAML 1.2 ++--- ++$id: http://devicetree.org/schemas/media/i2c/imx708.yaml# ++$schema: http://devicetree.org/meta-schemas/core.yaml# ++ ++title: Sony 1/2.3-Inch 12Mpixel CMOS Digital Image Sensor ++ ++maintainers: ++ - Naushir Patuck ++ ++description: |- ++ The Sony IMX708 is a 1/2.3-inch CMOS active pixel digital image sensor ++ with an active array size of 4608H x 2592V. It is programmable through ++ I2C interface. The I2C address is fixed to 0x1A as per sensor data sheet. ++ Image data is sent through MIPI CSI-2, which is configured as either 2 or ++ 4 data lanes. ++ ++properties: ++ compatible: ++ const: sony,imx708 ++ ++ reg: ++ description: I2C device address ++ maxItems: 1 ++ ++ clocks: ++ maxItems: 1 ++ ++ VDIG-supply: ++ description: ++ Digital I/O voltage supply, 1.1 volts ++ ++ VANA1-supply: ++ description: ++ Analog1 voltage supply, 2.8 volts ++ ++ VANA2-supply: ++ description: ++ Analog2 voltage supply, 1.8 volts ++ ++ VDDL-supply: ++ description: ++ Digital core voltage supply, 1.8 volts ++ ++ reset-gpios: ++ description: |- ++ Reference to the GPIO connected to the xclr pin, if any. ++ Must be released (set high) after all supplies and INCK are applied. ++ ++ # See ../video-interfaces.txt for more details ++ port: ++ type: object ++ properties: ++ endpoint: ++ type: object ++ properties: ++ data-lanes: ++ description: |- ++ The sensor supports either two-lane, or four-lane operation. ++ For two-lane operation the property must be set to <1 2>. ++ items: ++ - const: 1 ++ - const: 2 ++ ++ clock-noncontinuous: ++ type: boolean ++ description: |- ++ MIPI CSI-2 clock is non-continuous if this property is present, ++ otherwise it's continuous. ++ ++ link-frequencies: ++ allOf: ++ - $ref: /schemas/types.yaml#/definitions/uint64-array ++ description: ++ Allowed data bus frequencies. ++ ++ required: ++ - link-frequencies ++ ++required: ++ - compatible ++ - reg ++ - clocks ++ - VANA1-supply ++ - VANA2-supply ++ - VDIG-supply ++ - VDDL-supply ++ - port ++ ++additionalProperties: false ++ ++examples: ++ - | ++ i2c0 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ imx708: sensor@1a { ++ compatible = "sony,imx708"; ++ reg = <0x1a>; ++ clocks = <&imx708_clk>; ++ VANA1-supply = <&imx708_vana1>; /* 1.8v */ ++ VANA2-supply = <&imx708_vana2>; /* 2.8v */ ++ VDIG-supply = <&imx708_vdig>; /* 1.1v */ ++ VDDL-supply = <&imx708_vddl>; /* 1.8v */ ++ ++ port { ++ imx708_0: endpoint { ++ remote-endpoint = <&csi1_ep>; ++ data-lanes = <1 2>; ++ clock-noncontinuous; ++ link-frequencies = /bits/ 64 <450000000>; ++ }; ++ }; ++ }; ++ }; ++ ++... +diff --git a/MAINTAINERS b/MAINTAINERS +index ac502c5dc32b..4b62a7a454c1 100644 +--- a/MAINTAINERS ++++ b/MAINTAINERS +@@ -17579,6 +17579,14 @@ T: git git://linuxtv.org/media_tree.git + F: Documentation/devicetree/bindings/media/i2c/imx519.yaml + F: drivers/media/i2c/imx519.c + ++SONY IMX708 SENSOR DRIVER ++M: Raspberry Pi Kernel Maintenance ++L: linux-media@vger.kernel.org ++S: Maintained ++T: git git://linuxtv.org/media_tree.git ++F: Documentation/devicetree/bindings/media/i2c/imx708.yaml ++F: drivers/media/i2c/imx708.c ++ + SONY MEMORYSTICK SUBSYSTEM + M: Maxim Levitsky + M: Alex Dubov +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Nick Hollinghurst +Date: Thu, 22 Dec 2022 13:59:33 +0000 +Subject: [PATCH 1250/1284] media/i2c: Add a driver for the Sony IMX708 image + sensor + +The imx708 is a 12MP MIPI sensor with a 16:9 aspect ratio, here using +two CSI-2 lanes. It is a "quad Bayer" sensor with all 3 modes offering +10-bit output: + +12MP: 4608x2592 up to 14.35fps (full FoV) +1080p: 2304x1296 up to 56.02fps (full FoV) +720p: 1536x864 up to 120.12fps (cropped) + +This imx708 sensor driver is based heavily on the imx477 driver and +has been tested on the Raspberry Pi platform using libcamera. + +Signed-off-by: Nick Hollinghurst +Signed-off-by: Dave Stevenson +--- + drivers/media/i2c/Kconfig | 11 + + drivers/media/i2c/Makefile | 1 + + drivers/media/i2c/imx708.c | 1989 ++++++++++++++++++++++++++++++++++++ + 3 files changed, 2001 insertions(+) + create mode 100644 drivers/media/i2c/imx708.c + +diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig +index d14dd06fd26e..5e8e94ee11af 100644 +--- a/drivers/media/i2c/Kconfig ++++ b/drivers/media/i2c/Kconfig +@@ -939,6 +939,17 @@ config VIDEO_IMX519 + To compile this driver as a module, choose M here: the + module will be called IMX519. + ++config VIDEO_IMX708 ++ tristate "Sony IMX708 sensor support" ++ depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API ++ depends on MEDIA_CAMERA_SUPPORT ++ help ++ This is a Video4Linux2 sensor driver for the Sony ++ IMX708 camera. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called imx708. ++ + config VIDEO_OV02A10 + tristate "OmniVision OV02A10 sensor support" + depends on VIDEO_V4L2 && I2C +diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile +index 253f330610fe..a6dc5493a798 100644 +--- a/drivers/media/i2c/Makefile ++++ b/drivers/media/i2c/Makefile +@@ -137,6 +137,7 @@ obj-$(CONFIG_VIDEO_IMX335) += imx335.o + obj-$(CONFIG_VIDEO_IMX355) += imx355.o + obj-$(CONFIG_VIDEO_IMX412) += imx412.o + obj-$(CONFIG_VIDEO_IMX519) += imx519.o ++obj-$(CONFIG_VIDEO_IMX708) += imx708.o + obj-$(CONFIG_VIDEO_MAX9286) += max9286.o + obj-$(CONFIG_VIDEO_MAX9271_LIB) += max9271.o + obj-$(CONFIG_VIDEO_RDACM20) += rdacm20.o +diff --git a/drivers/media/i2c/imx708.c b/drivers/media/i2c/imx708.c +new file mode 100644 +index 000000000000..ad4eeb9bc8ce +--- /dev/null ++++ b/drivers/media/i2c/imx708.c +@@ -0,0 +1,1989 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * A V4L2 driver for Sony IMX708 cameras. ++ * Copyright (C) 2022, Raspberry Pi Ltd ++ * ++ * Based on Sony imx477 camera driver ++ * Copyright (C) 2020 Raspberry Pi Ltd ++ */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define IMX708_REG_VALUE_08BIT 1 ++#define IMX708_REG_VALUE_16BIT 2 ++ ++/* Chip ID */ ++#define IMX708_REG_CHIP_ID 0x0016 ++#define IMX708_CHIP_ID 0x0708 ++ ++#define IMX708_REG_MODE_SELECT 0x0100 ++#define IMX708_MODE_STANDBY 0x00 ++#define IMX708_MODE_STREAMING 0x01 ++ ++#define IMX708_REG_ORIENTATION 0x101 ++ ++#define IMX708_XCLK_FREQ 24000000 ++ ++#define IMX708_DEFAULT_LINK_FREQ 450000000 ++ ++/* Default initial pixel rate, will get updated for each mode. */ ++#define IMX708_INITIAL_PIXEL_RATE 590000000 ++ ++/* V_TIMING internal */ ++#define IMX708_REG_FRAME_LENGTH 0x0340 ++#define IMX708_FRAME_LENGTH_MAX 0xffff ++ ++/* Exposure control */ ++#define IMX708_REG_EXPOSURE 0x0202 ++#define IMX708_EXPOSURE_OFFSET 48 ++#define IMX708_EXPOSURE_DEFAULT 0x640 ++#define IMX708_EXPOSURE_STEP 1 ++#define IMX708_EXPOSURE_MIN 1 ++#define IMX708_EXPOSURE_MAX (IMX708_FRAME_LENGTH_MAX - \ ++ IMX708_EXPOSURE_OFFSET) ++ ++/* Analog gain control */ ++#define IMX708_REG_ANALOG_GAIN 0x0204 ++#define IMX708_ANA_GAIN_MIN 112 ++#define IMX708_ANA_GAIN_MAX 960 ++#define IMX708_ANA_GAIN_STEP 1 ++#define IMX708_ANA_GAIN_DEFAULT IMX708_ANA_GAIN_MIN ++ ++/* Digital gain control */ ++#define IMX708_REG_DIGITAL_GAIN 0x020e ++#define IMX708_DGTL_GAIN_MIN 0x0100 ++#define IMX708_DGTL_GAIN_MAX 0xffff ++#define IMX708_DGTL_GAIN_DEFAULT 0x0100 ++#define IMX708_DGTL_GAIN_STEP 1 ++ ++/* Colour balance controls */ ++#define IMX708_REG_COLOUR_BALANCE_RED 0x0b90 ++#define IMX708_REG_COLOUR_BALANCE_BLUE 0x0b92 ++#define IMX708_COLOUR_BALANCE_MIN 0x01 ++#define IMX708_COLOUR_BALANCE_MAX 0xffff ++#define IMX708_COLOUR_BALANCE_STEP 0x01 ++#define IMX708_COLOUR_BALANCE_DEFAULT 0x100 ++ ++/* Test Pattern Control */ ++#define IMX708_REG_TEST_PATTERN 0x0600 ++#define IMX708_TEST_PATTERN_DISABLE 0 ++#define IMX708_TEST_PATTERN_SOLID_COLOR 1 ++#define IMX708_TEST_PATTERN_COLOR_BARS 2 ++#define IMX708_TEST_PATTERN_GREY_COLOR 3 ++#define IMX708_TEST_PATTERN_PN9 4 ++ ++/* Test pattern colour components */ ++#define IMX708_REG_TEST_PATTERN_R 0x0602 ++#define IMX708_REG_TEST_PATTERN_GR 0x0604 ++#define IMX708_REG_TEST_PATTERN_B 0x0606 ++#define IMX708_REG_TEST_PATTERN_GB 0x0608 ++#define IMX708_TEST_PATTERN_COLOUR_MIN 0 ++#define IMX708_TEST_PATTERN_COLOUR_MAX 0x0fff ++#define IMX708_TEST_PATTERN_COLOUR_STEP 1 ++ ++#define IMX708_REG_BASE_SPC_GAINS_L 0x7b10 ++#define IMX708_REG_BASE_SPC_GAINS_R 0x7c00 ++ ++/* HDR exposure ratio (long:med == med:short) */ ++#define IMX708_HDR_EXPOSURE_RATIO 4 ++#define IMX708_REG_MID_EXPOSURE 0x3116 ++#define IMX708_REG_SHT_EXPOSURE 0x0224 ++#define IMX708_REG_MID_ANALOG_GAIN 0x3118 ++#define IMX708_REG_SHT_ANALOG_GAIN 0x0216 ++ ++/* ++ * Metadata buffer holds a variety of data, all sent with the same VC/DT (0x12). ++ * It comprises two scanlines (of up to 5760 bytes each, for 4608 pixels) ++ * of embedded data, one line of PDAF data, and two lines of AE-HIST data ++ * (AE histograms are valid for HDR mode and empty in non-HDR modes). ++ */ ++#define IMX708_EMBEDDED_LINE_WIDTH (5 * 5760) ++#define IMX708_NUM_EMBEDDED_LINES 1 ++ ++enum pad_types { ++ IMAGE_PAD, ++ METADATA_PAD, ++ NUM_PADS ++}; ++ ++/* IMX708 native and active pixel array size. */ ++#define IMX708_NATIVE_WIDTH 4640U ++#define IMX708_NATIVE_HEIGHT 2658U ++#define IMX708_PIXEL_ARRAY_LEFT 16U ++#define IMX708_PIXEL_ARRAY_TOP 24U ++#define IMX708_PIXEL_ARRAY_WIDTH 4608U ++#define IMX708_PIXEL_ARRAY_HEIGHT 2592U ++ ++struct imx708_reg { ++ u16 address; ++ u8 val; ++}; ++ ++struct imx708_reg_list { ++ unsigned int num_of_regs; ++ const struct imx708_reg *regs; ++}; ++ ++/* Mode : resolution and related config&values */ ++struct imx708_mode { ++ /* Frame width */ ++ unsigned int width; ++ ++ /* Frame height */ ++ unsigned int height; ++ ++ /* H-timing in pixels */ ++ unsigned int line_length_pix; ++ ++ /* Analog crop rectangle. */ ++ struct v4l2_rect crop; ++ ++ /* Highest possible framerate. */ ++ unsigned int vblank_min; ++ ++ /* Default framerate. */ ++ unsigned int vblank_default; ++ ++ /* Default register values */ ++ struct imx708_reg_list reg_list; ++ ++ /* Not all modes have the same pixel rate. */ ++ u64 pixel_rate; ++ ++ /* Not all modes have the same minimum exposure. */ ++ u32 exposure_lines_min; ++ ++ /* Not all modes have the same exposure lines step. */ ++ u32 exposure_lines_step; ++ ++ /* HDR flag, currently not used at runtime */ ++ bool hdr; ++}; ++ ++/* Default PDAF pixel correction gains */ ++static const u8 pdaf_gains[2][9] = { ++ { 0x4c, 0x4c, 0x4c, 0x46, 0x3e, 0x38, 0x35, 0x35, 0x35 }, ++ { 0x35, 0x35, 0x35, 0x38, 0x3e, 0x46, 0x4c, 0x4c, 0x4c } ++}; ++ ++static const struct imx708_reg mode_common_regs[] = { ++ {0x0100, 0x00}, ++ {0x0136, 0x18}, ++ {0x0137, 0x00}, ++ {0x33F0, 0x02}, ++ {0x33F1, 0x05}, ++ {0x3062, 0x00}, ++ {0x3063, 0x12}, ++ {0x3068, 0x00}, ++ {0x3069, 0x12}, ++ {0x306A, 0x00}, ++ {0x306B, 0x30}, ++ {0x3076, 0x00}, ++ {0x3077, 0x30}, ++ {0x3078, 0x00}, ++ {0x3079, 0x30}, ++ {0x5E54, 0x0C}, ++ {0x6E44, 0x00}, ++ {0xB0B6, 0x01}, ++ {0xE829, 0x00}, ++ {0xF001, 0x08}, ++ {0xF003, 0x08}, ++ {0xF00D, 0x10}, ++ {0xF00F, 0x10}, ++ {0xF031, 0x08}, ++ {0xF033, 0x08}, ++ {0xF03D, 0x10}, ++ {0xF03F, 0x10}, ++ {0x0112, 0x0A}, ++ {0x0113, 0x0A}, ++ {0x0114, 0x01}, ++ {0x0B8E, 0x01}, ++ {0x0B8F, 0x00}, ++ {0x0B94, 0x01}, ++ {0x0B95, 0x00}, ++ {0x3400, 0x01}, ++ {0x3478, 0x01}, ++ {0x3479, 0x1c}, ++ {0x3091, 0x01}, ++ {0x3092, 0x00}, ++ {0x3419, 0x00}, ++ {0xBCF1, 0x02}, ++ {0x3094, 0x01}, ++ {0x3095, 0x01}, ++ {0x3362, 0x00}, ++ {0x3363, 0x00}, ++ {0x3364, 0x00}, ++ {0x3365, 0x00}, ++ {0x0138, 0x01}, ++}; ++ ++/* 10-bit. */ ++static const struct imx708_reg mode_4608x2592_regs[] = { ++ {0x0342, 0x3D}, ++ {0x0343, 0x20}, ++ {0x0340, 0x0A}, ++ {0x0341, 0x59}, ++ {0x0344, 0x00}, ++ {0x0345, 0x00}, ++ {0x0346, 0x00}, ++ {0x0347, 0x00}, ++ {0x0348, 0x11}, ++ {0x0349, 0xFF}, ++ {0x034A, 0X0A}, ++ {0x034B, 0x1F}, ++ {0x0220, 0x62}, ++ {0x0222, 0x01}, ++ {0x0900, 0x00}, ++ {0x0901, 0x11}, ++ {0x0902, 0x0A}, ++ {0x3200, 0x01}, ++ {0x3201, 0x01}, ++ {0x32D5, 0x01}, ++ {0x32D6, 0x00}, ++ {0x32DB, 0x01}, ++ {0x32DF, 0x00}, ++ {0x350C, 0x00}, ++ {0x350D, 0x00}, ++ {0x0408, 0x00}, ++ {0x0409, 0x00}, ++ {0x040A, 0x00}, ++ {0x040B, 0x00}, ++ {0x040C, 0x12}, ++ {0x040D, 0x00}, ++ {0x040E, 0x0A}, ++ {0x040F, 0x20}, ++ {0x034C, 0x12}, ++ {0x034D, 0x00}, ++ {0x034E, 0x0A}, ++ {0x034F, 0x20}, ++ {0x0301, 0x05}, ++ {0x0303, 0x02}, ++ {0x0305, 0x02}, ++ {0x0306, 0x00}, ++ {0x0307, 0x7C}, ++ {0x030B, 0x02}, ++ {0x030D, 0x04}, ++ {0x030E, 0x01}, ++ {0x030F, 0x2C}, ++ {0x0310, 0x01}, ++ {0x3CA0, 0x00}, ++ {0x3CA1, 0x64}, ++ {0x3CA4, 0x00}, ++ {0x3CA5, 0x00}, ++ {0x3CA6, 0x00}, ++ {0x3CA7, 0x00}, ++ {0x3CAA, 0x00}, ++ {0x3CAB, 0x00}, ++ {0x3CB8, 0x00}, ++ {0x3CB9, 0x08}, ++ {0x3CBA, 0x00}, ++ {0x3CBB, 0x00}, ++ {0x3CBC, 0x00}, ++ {0x3CBD, 0x3C}, ++ {0x3CBE, 0x00}, ++ {0x3CBF, 0x00}, ++ {0x0202, 0x0A}, ++ {0x0203, 0x29}, ++ {0x0224, 0x01}, ++ {0x0225, 0xF4}, ++ {0x3116, 0x01}, ++ {0x3117, 0xF4}, ++ {0x0204, 0x00}, ++ {0x0205, 0x00}, ++ {0x0216, 0x00}, ++ {0x0217, 0x00}, ++ {0x0218, 0x01}, ++ {0x0219, 0x00}, ++ {0x020E, 0x01}, ++ {0x020F, 0x00}, ++ {0x3118, 0x00}, ++ {0x3119, 0x00}, ++ {0x311A, 0x01}, ++ {0x311B, 0x00}, ++ {0x341a, 0x00}, ++ {0x341b, 0x00}, ++ {0x341c, 0x00}, ++ {0x341d, 0x00}, ++ {0x341e, 0x01}, ++ {0x341f, 0x20}, ++ {0x3420, 0x00}, ++ {0x3421, 0xd8}, ++ {0xC428, 0x00}, ++ {0xC429, 0x04}, ++ {0x3366, 0x00}, ++ {0x3367, 0x00}, ++ {0x3368, 0x00}, ++ {0x3369, 0x00}, ++}; ++ ++static const struct imx708_reg mode_2x2binned_regs[] = { ++ {0x0342, 0x1E}, ++ {0x0343, 0x90}, ++ {0x0340, 0x05}, ++ {0x0341, 0x38}, ++ {0x0344, 0x00}, ++ {0x0345, 0x00}, ++ {0x0346, 0x00}, ++ {0x0347, 0x00}, ++ {0x0348, 0x11}, ++ {0x0349, 0xFF}, ++ {0x034A, 0X0A}, ++ {0x034B, 0x1F}, ++ {0x0220, 0x62}, ++ {0x0222, 0x01}, ++ {0x0900, 0x01}, ++ {0x0901, 0x22}, ++ {0x0902, 0x08}, ++ {0x3200, 0x41}, ++ {0x3201, 0x41}, ++ {0x32D5, 0x00}, ++ {0x32D6, 0x00}, ++ {0x32DB, 0x01}, ++ {0x32DF, 0x00}, ++ {0x350C, 0x00}, ++ {0x350D, 0x00}, ++ {0x0408, 0x00}, ++ {0x0409, 0x00}, ++ {0x040A, 0x00}, ++ {0x040B, 0x00}, ++ {0x040C, 0x09}, ++ {0x040D, 0x00}, ++ {0x040E, 0x05}, ++ {0x040F, 0x10}, ++ {0x034C, 0x09}, ++ {0x034D, 0x00}, ++ {0x034E, 0x05}, ++ {0x034F, 0x10}, ++ {0x0301, 0x05}, ++ {0x0303, 0x02}, ++ {0x0305, 0x02}, ++ {0x0306, 0x00}, ++ {0x0307, 0x7A}, ++ {0x030B, 0x02}, ++ {0x030D, 0x04}, ++ {0x030E, 0x01}, ++ {0x030F, 0x2C}, ++ {0x0310, 0x01}, ++ {0x3CA0, 0x00}, ++ {0x3CA1, 0x3C}, ++ {0x3CA4, 0x00}, ++ {0x3CA5, 0x3C}, ++ {0x3CA6, 0x00}, ++ {0x3CA7, 0x00}, ++ {0x3CAA, 0x00}, ++ {0x3CAB, 0x00}, ++ {0x3CB8, 0x00}, ++ {0x3CB9, 0x1C}, ++ {0x3CBA, 0x00}, ++ {0x3CBB, 0x08}, ++ {0x3CBC, 0x00}, ++ {0x3CBD, 0x1E}, ++ {0x3CBE, 0x00}, ++ {0x3CBF, 0x0A}, ++ {0x0202, 0x05}, ++ {0x0203, 0x08}, ++ {0x0224, 0x01}, ++ {0x0225, 0xF4}, ++ {0x3116, 0x01}, ++ {0x3117, 0xF4}, ++ {0x0204, 0x00}, ++ {0x0205, 0x70}, ++ {0x0216, 0x00}, ++ {0x0217, 0x70}, ++ {0x0218, 0x01}, ++ {0x0219, 0x00}, ++ {0x020E, 0x01}, ++ {0x020F, 0x00}, ++ {0x3118, 0x00}, ++ {0x3119, 0x70}, ++ {0x311A, 0x01}, ++ {0x311B, 0x00}, ++ {0x341a, 0x00}, ++ {0x341b, 0x00}, ++ {0x341c, 0x00}, ++ {0x341d, 0x00}, ++ {0x341e, 0x00}, ++ {0x341f, 0x90}, ++ {0x3420, 0x00}, ++ {0x3421, 0x6c}, ++ {0x3366, 0x00}, ++ {0x3367, 0x00}, ++ {0x3368, 0x00}, ++ {0x3369, 0x00}, ++}; ++ ++static const struct imx708_reg mode_2x2binned_720p_regs[] = { ++ {0x0342, 0x14}, ++ {0x0343, 0x60}, ++ {0x0340, 0x04}, ++ {0x0341, 0xB6}, ++ {0x0344, 0x03}, ++ {0x0345, 0x00}, ++ {0x0346, 0x01}, ++ {0x0347, 0xB0}, ++ {0x0348, 0x0E}, ++ {0x0349, 0xFF}, ++ {0x034A, 0x08}, ++ {0x034B, 0x6F}, ++ {0x0220, 0x62}, ++ {0x0222, 0x01}, ++ {0x0900, 0x01}, ++ {0x0901, 0x22}, ++ {0x0902, 0x08}, ++ {0x3200, 0x41}, ++ {0x3201, 0x41}, ++ {0x32D5, 0x00}, ++ {0x32D6, 0x00}, ++ {0x32DB, 0x01}, ++ {0x32DF, 0x01}, ++ {0x350C, 0x00}, ++ {0x350D, 0x00}, ++ {0x0408, 0x00}, ++ {0x0409, 0x00}, ++ {0x040A, 0x00}, ++ {0x040B, 0x00}, ++ {0x040C, 0x06}, ++ {0x040D, 0x00}, ++ {0x040E, 0x03}, ++ {0x040F, 0x60}, ++ {0x034C, 0x06}, ++ {0x034D, 0x00}, ++ {0x034E, 0x03}, ++ {0x034F, 0x60}, ++ {0x0301, 0x05}, ++ {0x0303, 0x02}, ++ {0x0305, 0x02}, ++ {0x0306, 0x00}, ++ {0x0307, 0x76}, ++ {0x030B, 0x02}, ++ {0x030D, 0x04}, ++ {0x030E, 0x01}, ++ {0x030F, 0x2C}, ++ {0x0310, 0x01}, ++ {0x3CA0, 0x00}, ++ {0x3CA1, 0x3C}, ++ {0x3CA4, 0x01}, ++ {0x3CA5, 0x5E}, ++ {0x3CA6, 0x00}, ++ {0x3CA7, 0x00}, ++ {0x3CAA, 0x00}, ++ {0x3CAB, 0x00}, ++ {0x3CB8, 0x00}, ++ {0x3CB9, 0x0C}, ++ {0x3CBA, 0x00}, ++ {0x3CBB, 0x04}, ++ {0x3CBC, 0x00}, ++ {0x3CBD, 0x1E}, ++ {0x3CBE, 0x00}, ++ {0x3CBF, 0x05}, ++ {0x0202, 0x04}, ++ {0x0203, 0x86}, ++ {0x0224, 0x01}, ++ {0x0225, 0xF4}, ++ {0x3116, 0x01}, ++ {0x3117, 0xF4}, ++ {0x0204, 0x00}, ++ {0x0205, 0x70}, ++ {0x0216, 0x00}, ++ {0x0217, 0x70}, ++ {0x0218, 0x01}, ++ {0x0219, 0x00}, ++ {0x020E, 0x01}, ++ {0x020F, 0x00}, ++ {0x3118, 0x00}, ++ {0x3119, 0x70}, ++ {0x311A, 0x01}, ++ {0x311B, 0x00}, ++ {0x341a, 0x00}, ++ {0x341b, 0x00}, ++ {0x341c, 0x00}, ++ {0x341d, 0x00}, ++ {0x341e, 0x00}, ++ {0x341f, 0x60}, ++ {0x3420, 0x00}, ++ {0x3421, 0x48}, ++ {0x3366, 0x00}, ++ {0x3367, 0x00}, ++ {0x3368, 0x00}, ++ {0x3369, 0x00}, ++}; ++ ++static const struct imx708_reg mode_hdr_regs[] = { ++ {0x0342, 0x14}, ++ {0x0343, 0x60}, ++ {0x0340, 0x0A}, ++ {0x0341, 0x5B}, ++ {0x0344, 0x00}, ++ {0x0345, 0x00}, ++ {0x0346, 0x00}, ++ {0x0347, 0x00}, ++ {0x0348, 0x11}, ++ {0x0349, 0xFF}, ++ {0x034A, 0X0A}, ++ {0x034B, 0x1F}, ++ {0x0220, 0x01}, ++ {0x0222, IMX708_HDR_EXPOSURE_RATIO}, ++ {0x0900, 0x00}, ++ {0x0901, 0x11}, ++ {0x0902, 0x0A}, ++ {0x3200, 0x01}, ++ {0x3201, 0x01}, ++ {0x32D5, 0x00}, ++ {0x32D6, 0x00}, ++ {0x32DB, 0x01}, ++ {0x32DF, 0x00}, ++ {0x350C, 0x00}, ++ {0x350D, 0x00}, ++ {0x0408, 0x00}, ++ {0x0409, 0x00}, ++ {0x040A, 0x00}, ++ {0x040B, 0x00}, ++ {0x040C, 0x09}, ++ {0x040D, 0x00}, ++ {0x040E, 0x05}, ++ {0x040F, 0x10}, ++ {0x034C, 0x09}, ++ {0x034D, 0x00}, ++ {0x034E, 0x05}, ++ {0x034F, 0x10}, ++ {0x0301, 0x05}, ++ {0x0303, 0x02}, ++ {0x0305, 0x02}, ++ {0x0306, 0x00}, ++ {0x0307, 0xA2}, ++ {0x030B, 0x02}, ++ {0x030D, 0x04}, ++ {0x030E, 0x01}, ++ {0x030F, 0x2C}, ++ {0x0310, 0x01}, ++ {0x3CA0, 0x00}, ++ {0x3CA1, 0x00}, ++ {0x3CA4, 0x00}, ++ {0x3CA5, 0x00}, ++ {0x3CA6, 0x00}, ++ {0x3CA7, 0x28}, ++ {0x3CAA, 0x00}, ++ {0x3CAB, 0x00}, ++ {0x3CB8, 0x00}, ++ {0x3CB9, 0x30}, ++ {0x3CBA, 0x00}, ++ {0x3CBB, 0x00}, ++ {0x3CBC, 0x00}, ++ {0x3CBD, 0x32}, ++ {0x3CBE, 0x00}, ++ {0x3CBF, 0x00}, ++ {0x0202, 0x0A}, ++ {0x0203, 0x2B}, ++ {0x0224, 0x0A}, ++ {0x0225, 0x2B}, ++ {0x3116, 0x0A}, ++ {0x3117, 0x2B}, ++ {0x0204, 0x00}, ++ {0x0205, 0x00}, ++ {0x0216, 0x00}, ++ {0x0217, 0x00}, ++ {0x0218, 0x01}, ++ {0x0219, 0x00}, ++ {0x020E, 0x01}, ++ {0x020F, 0x00}, ++ {0x3118, 0x00}, ++ {0x3119, 0x00}, ++ {0x311A, 0x01}, ++ {0x311B, 0x00}, ++ {0x341a, 0x00}, ++ {0x341b, 0x00}, ++ {0x341c, 0x00}, ++ {0x341d, 0x00}, ++ {0x341e, 0x00}, ++ {0x341f, 0x90}, ++ {0x3420, 0x00}, ++ {0x3421, 0x6c}, ++ {0x3360, 0x01}, ++ {0x3361, 0x01}, ++ {0x3366, 0x09}, ++ {0x3367, 0x00}, ++ {0x3368, 0x05}, ++ {0x3369, 0x10}, ++}; ++ ++/* Mode configs. Keep separate lists for when HDR is enabled or not. */ ++static const struct imx708_mode supported_modes_10bit_no_hdr[] = { ++ { ++ /* Full resolution. */ ++ .width = 4608, ++ .height = 2592, ++ .line_length_pix = 0x3d20, ++ .crop = { ++ .left = IMX708_PIXEL_ARRAY_LEFT, ++ .top = IMX708_PIXEL_ARRAY_TOP, ++ .width = 4608, ++ .height = 2592, ++ }, ++ .vblank_min = 58, ++ .vblank_default = 58, ++ .reg_list = { ++ .num_of_regs = ARRAY_SIZE(mode_4608x2592_regs), ++ .regs = mode_4608x2592_regs, ++ }, ++ .pixel_rate = 595200000, ++ .exposure_lines_min = 8, ++ .exposure_lines_step = 1, ++ .hdr = false ++ }, ++ { ++ /* regular 2x2 binned. */ ++ .width = 2304, ++ .height = 1296, ++ .line_length_pix = 0x1e90, ++ .crop = { ++ .left = IMX708_PIXEL_ARRAY_LEFT, ++ .top = IMX708_PIXEL_ARRAY_TOP, ++ .width = 4608, ++ .height = 2592, ++ }, ++ .vblank_min = 40, ++ .vblank_default = 1198, ++ .reg_list = { ++ .num_of_regs = ARRAY_SIZE(mode_2x2binned_regs), ++ .regs = mode_2x2binned_regs, ++ }, ++ .pixel_rate = 585600000, ++ .exposure_lines_min = 4, ++ .exposure_lines_step = 2, ++ .hdr = false ++ }, ++ { ++ /* 2x2 binned and cropped for 720p. */ ++ .width = 1536, ++ .height = 864, ++ .line_length_pix = 0x1460, ++ .crop = { ++ .left = IMX708_PIXEL_ARRAY_LEFT, ++ .top = IMX708_PIXEL_ARRAY_TOP, ++ .width = 4608, ++ .height = 2592, ++ }, ++ .vblank_min = 40, ++ .vblank_default = 2755, ++ .reg_list = { ++ .num_of_regs = ARRAY_SIZE(mode_2x2binned_720p_regs), ++ .regs = mode_2x2binned_720p_regs, ++ }, ++ .pixel_rate = 566400000, ++ .exposure_lines_min = 4, ++ .exposure_lines_step = 2, ++ .hdr = false ++ }, ++}; ++ ++static const struct imx708_mode supported_modes_10bit_hdr[] = { ++ { ++ /* There's only one HDR mode, which is 2x2 downscaled */ ++ .width = 2304, ++ .height = 1296, ++ .line_length_pix = 0x1460, ++ .crop = { ++ .left = IMX708_PIXEL_ARRAY_LEFT, ++ .top = IMX708_PIXEL_ARRAY_TOP, ++ .width = 4608, ++ .height = 2592, ++ }, ++ .vblank_min = 3673, ++ .vblank_default = 3673, ++ .reg_list = { ++ .num_of_regs = ARRAY_SIZE(mode_hdr_regs), ++ .regs = mode_hdr_regs, ++ }, ++ .pixel_rate = 777600000, ++ .exposure_lines_min = 8 * IMX708_HDR_EXPOSURE_RATIO * IMX708_HDR_EXPOSURE_RATIO, ++ .exposure_lines_step = 2 * IMX708_HDR_EXPOSURE_RATIO * IMX708_HDR_EXPOSURE_RATIO, ++ .hdr = true ++ } ++}; ++ ++/* ++ * The supported formats. ++ * This table MUST contain 4 entries per format, to cover the various flip ++ * combinations in the order ++ * - no flip ++ * - h flip ++ * - v flip ++ * - h&v flips ++ */ ++static const u32 codes[] = { ++ /* 10-bit modes. */ ++ MEDIA_BUS_FMT_SRGGB10_1X10, ++ MEDIA_BUS_FMT_SGRBG10_1X10, ++ MEDIA_BUS_FMT_SGBRG10_1X10, ++ MEDIA_BUS_FMT_SBGGR10_1X10, ++}; ++ ++static const char * const imx708_test_pattern_menu[] = { ++ "Disabled", ++ "Color Bars", ++ "Solid Color", ++ "Grey Color Bars", ++ "PN9" ++}; ++ ++static const int imx708_test_pattern_val[] = { ++ IMX708_TEST_PATTERN_DISABLE, ++ IMX708_TEST_PATTERN_COLOR_BARS, ++ IMX708_TEST_PATTERN_SOLID_COLOR, ++ IMX708_TEST_PATTERN_GREY_COLOR, ++ IMX708_TEST_PATTERN_PN9, ++}; ++ ++/* regulator supplies */ ++static const char * const imx708_supply_name[] = { ++ /* Supplies can be enabled in any order */ ++ "VANA1", /* Analog1 (2.8V) supply */ ++ "VANA2", /* Analog2 (1.8V) supply */ ++ "VDIG", /* Digital Core (1.1V) supply */ ++ "VDDL", /* IF (1.8V) supply */ ++}; ++ ++#define IMX708_NUM_SUPPLIES ARRAY_SIZE(imx708_supply_name) ++ ++/* ++ * Initialisation delay between XCLR low->high and the moment when the sensor ++ * can start capture (i.e. can leave software standby), given by T7 in the ++ * datasheet is 8ms. This does include I2C setup time as well. ++ * ++ * Note, that delay between XCLR low->high and reading the CCI ID register (T6 ++ * in the datasheet) is much smaller - 600us. ++ */ ++#define IMX708_XCLR_MIN_DELAY_US 8000 ++#define IMX708_XCLR_DELAY_RANGE_US 1000 ++ ++struct imx708 { ++ struct v4l2_subdev sd; ++ struct media_pad pad[NUM_PADS]; ++ ++ struct v4l2_mbus_framefmt fmt; ++ ++ struct clk *xclk; ++ u32 xclk_freq; ++ ++ struct gpio_desc *reset_gpio; ++ struct regulator_bulk_data supplies[IMX708_NUM_SUPPLIES]; ++ ++ struct v4l2_ctrl_handler ctrl_handler; ++ /* V4L2 Controls */ ++ struct v4l2_ctrl *pixel_rate; ++ struct v4l2_ctrl *exposure; ++ struct v4l2_ctrl *vflip; ++ struct v4l2_ctrl *hflip; ++ struct v4l2_ctrl *vblank; ++ struct v4l2_ctrl *hblank; ++ struct v4l2_ctrl *red_balance; ++ struct v4l2_ctrl *blue_balance; ++ struct v4l2_ctrl *notify_gains; ++ struct v4l2_ctrl *hdr_mode; ++ ++ /* Current mode */ ++ const struct imx708_mode *mode; ++ ++ /* ++ * Mutex for serialized access: ++ * Protect sensor module set pad format and start/stop streaming safely. ++ */ ++ struct mutex mutex; ++ ++ /* Streaming on/off */ ++ bool streaming; ++ ++ /* Rewrite common registers on stream on? */ ++ bool common_regs_written; ++}; ++ ++static inline struct imx708 *to_imx708(struct v4l2_subdev *_sd) ++{ ++ return container_of(_sd, struct imx708, sd); ++} ++ ++static inline void get_mode_table(unsigned int code, ++ const struct imx708_mode **mode_list, ++ unsigned int *num_modes, ++ bool hdr_enable) ++{ ++ switch (code) { ++ /* 10-bit */ ++ case MEDIA_BUS_FMT_SRGGB10_1X10: ++ case MEDIA_BUS_FMT_SGRBG10_1X10: ++ case MEDIA_BUS_FMT_SGBRG10_1X10: ++ case MEDIA_BUS_FMT_SBGGR10_1X10: ++ if (hdr_enable) { ++ *mode_list = supported_modes_10bit_hdr; ++ *num_modes = ARRAY_SIZE(supported_modes_10bit_hdr); ++ } else { ++ *mode_list = supported_modes_10bit_no_hdr; ++ *num_modes = ARRAY_SIZE(supported_modes_10bit_no_hdr); ++ } ++ break; ++ default: ++ *mode_list = NULL; ++ *num_modes = 0; ++ } ++} ++ ++/* Read registers up to 2 at a time */ ++static int imx708_read_reg(struct imx708 *imx708, u16 reg, u32 len, u32 *val) ++{ ++ struct i2c_client *client = v4l2_get_subdevdata(&imx708->sd); ++ struct i2c_msg msgs[2]; ++ u8 addr_buf[2] = { reg >> 8, reg & 0xff }; ++ u8 data_buf[4] = { 0, }; ++ int ret; ++ ++ if (len > 4) ++ return -EINVAL; ++ ++ /* Write register address */ ++ msgs[0].addr = client->addr; ++ msgs[0].flags = 0; ++ msgs[0].len = ARRAY_SIZE(addr_buf); ++ msgs[0].buf = addr_buf; ++ ++ /* Read data from register */ ++ msgs[1].addr = client->addr; ++ msgs[1].flags = I2C_M_RD; ++ msgs[1].len = len; ++ msgs[1].buf = &data_buf[4 - len]; ++ ++ ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); ++ if (ret != ARRAY_SIZE(msgs)) ++ return -EIO; ++ ++ *val = get_unaligned_be32(data_buf); ++ ++ return 0; ++} ++ ++/* Write registers up to 2 at a time */ ++static int imx708_write_reg(struct imx708 *imx708, u16 reg, u32 len, u32 val) ++{ ++ struct i2c_client *client = v4l2_get_subdevdata(&imx708->sd); ++ u8 buf[6]; ++ ++ if (len > 4) ++ return -EINVAL; ++ ++ put_unaligned_be16(reg, buf); ++ put_unaligned_be32(val << (8 * (4 - len)), buf + 2); ++ if (i2c_master_send(client, buf, len + 2) != len + 2) ++ return -EIO; ++ ++ return 0; ++} ++ ++/* Write a list of registers */ ++static int imx708_write_regs(struct imx708 *imx708, ++ const struct imx708_reg *regs, u32 len) ++{ ++ struct i2c_client *client = v4l2_get_subdevdata(&imx708->sd); ++ unsigned int i; ++ int ret; ++ ++ for (i = 0; i < len; i++) { ++ ret = imx708_write_reg(imx708, regs[i].address, 1, regs[i].val); ++ if (ret) { ++ dev_err_ratelimited(&client->dev, ++ "Failed to write reg 0x%4.4x. error = %d\n", ++ regs[i].address, ret); ++ ++ return ret; ++ } ++ } ++ ++ return 0; ++} ++ ++/* Get bayer order based on flip setting. */ ++static u32 imx708_get_format_code(struct imx708 *imx708) ++{ ++ unsigned int i; ++ ++ lockdep_assert_held(&imx708->mutex); ++ ++ i = (imx708->vflip->val ? 2 : 0) | ++ (imx708->hflip->val ? 1 : 0); ++ ++ return codes[i]; ++} ++ ++static void imx708_set_default_format(struct imx708 *imx708) ++{ ++ struct v4l2_mbus_framefmt *fmt = &imx708->fmt; ++ ++ /* Set default mode to max resolution */ ++ imx708->mode = &supported_modes_10bit_no_hdr[0]; ++ ++ /* fmt->code not set as it will always be computed based on flips */ ++ fmt->colorspace = V4L2_COLORSPACE_RAW; ++ fmt->ycbcr_enc = V4L2_MAP_YCBCR_ENC_DEFAULT(fmt->colorspace); ++ fmt->quantization = V4L2_MAP_QUANTIZATION_DEFAULT(true, ++ fmt->colorspace, ++ fmt->ycbcr_enc); ++ fmt->xfer_func = V4L2_MAP_XFER_FUNC_DEFAULT(fmt->colorspace); ++ fmt->width = imx708->mode->width; ++ fmt->height = imx708->mode->height; ++ fmt->field = V4L2_FIELD_NONE; ++} ++ ++static int imx708_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) ++{ ++ struct imx708 *imx708 = to_imx708(sd); ++ struct v4l2_mbus_framefmt *try_fmt_img = ++ v4l2_subdev_get_try_format(sd, fh->state, IMAGE_PAD); ++ struct v4l2_mbus_framefmt *try_fmt_meta = ++ v4l2_subdev_get_try_format(sd, fh->state, METADATA_PAD); ++ struct v4l2_rect *try_crop; ++ ++ mutex_lock(&imx708->mutex); ++ ++ /* Initialize try_fmt for the image pad */ ++ if (imx708->hdr_mode->val) { ++ try_fmt_img->width = supported_modes_10bit_hdr[0].width; ++ try_fmt_img->height = supported_modes_10bit_hdr[0].height; ++ } else { ++ try_fmt_img->width = supported_modes_10bit_no_hdr[0].width; ++ try_fmt_img->height = supported_modes_10bit_no_hdr[0].height; ++ } ++ try_fmt_img->code = imx708_get_format_code(imx708); ++ try_fmt_img->field = V4L2_FIELD_NONE; ++ ++ /* Initialize try_fmt for the embedded metadata pad */ ++ try_fmt_meta->width = IMX708_EMBEDDED_LINE_WIDTH; ++ try_fmt_meta->height = IMX708_NUM_EMBEDDED_LINES; ++ try_fmt_meta->code = MEDIA_BUS_FMT_SENSOR_DATA; ++ try_fmt_meta->field = V4L2_FIELD_NONE; ++ ++ /* Initialize try_crop */ ++ try_crop = v4l2_subdev_get_try_crop(sd, fh->state, IMAGE_PAD); ++ try_crop->left = IMX708_PIXEL_ARRAY_LEFT; ++ try_crop->top = IMX708_PIXEL_ARRAY_TOP; ++ try_crop->width = IMX708_PIXEL_ARRAY_WIDTH; ++ try_crop->height = IMX708_PIXEL_ARRAY_HEIGHT; ++ ++ mutex_unlock(&imx708->mutex); ++ ++ return 0; ++} ++ ++static int imx708_set_exposure(struct imx708 *imx708, unsigned int val) ++{ ++ int ret; ++ ++ val = max(val, imx708->mode->exposure_lines_min); ++ val -= val % imx708->mode->exposure_lines_step; ++ ++ /* ++ * In HDR mode this will set the longest exposure. The sensor ++ * will automatically divide the medium and short ones by 4,16. ++ */ ++ ret = imx708_write_reg(imx708, IMX708_REG_EXPOSURE, ++ IMX708_REG_VALUE_16BIT, val); ++ ++ return ret; ++} ++ ++static void imx708_adjust_exposure_range(struct imx708 *imx708, ++ struct v4l2_ctrl *ctrl) ++{ ++ int exposure_max, exposure_def; ++ ++ /* Honour the VBLANK limits when setting exposure. */ ++ exposure_max = imx708->mode->height + imx708->vblank->val - ++ IMX708_EXPOSURE_OFFSET; ++ exposure_def = min(exposure_max, imx708->exposure->val); ++ __v4l2_ctrl_modify_range(imx708->exposure, imx708->exposure->minimum, ++ exposure_max, imx708->exposure->step, ++ exposure_def); ++} ++ ++static int imx708_set_analogue_gain(struct imx708 *imx708, unsigned int val) ++{ ++ int ret; ++ ++ /* ++ * In HDR mode this will set the gain for the longest exposure, ++ * and by default the sensor uses the same gain for all of them. ++ */ ++ ret = imx708_write_reg(imx708, IMX708_REG_ANALOG_GAIN, ++ IMX708_REG_VALUE_16BIT, val); ++ ++ return ret; ++} ++ ++static void imx708_set_framing_limits(struct imx708 *imx708) ++{ ++ unsigned int hblank; ++ const struct imx708_mode *mode = imx708->mode; ++ ++ __v4l2_ctrl_modify_range(imx708->pixel_rate, ++ mode->pixel_rate, mode->pixel_rate, ++ 1, mode->pixel_rate); ++ ++ /* Update limits and set FPS to default */ ++ __v4l2_ctrl_modify_range(imx708->vblank, mode->vblank_min, ++ IMX708_FRAME_LENGTH_MAX - mode->height, ++ 1, mode->vblank_default); ++ ++ /* Setting this will adjust the exposure limits as well. */ ++ __v4l2_ctrl_s_ctrl(imx708->vblank, mode->vblank_default); ++ ++ /* ++ * Currently PPL is fixed to the mode specified value, so hblank ++ * depends on mode->width only, and is not changeable in any ++ * way other than changing the mode. ++ */ ++ hblank = mode->line_length_pix - mode->width; ++ __v4l2_ctrl_modify_range(imx708->hblank, hblank, hblank, 1, hblank); ++} ++ ++static int imx708_set_ctrl(struct v4l2_ctrl *ctrl) ++{ ++ struct imx708 *imx708 = ++ container_of(ctrl->handler, struct imx708, ctrl_handler); ++ struct i2c_client *client = v4l2_get_subdevdata(&imx708->sd); ++ const struct imx708_mode *mode_list; ++ unsigned int code, num_modes; ++ int ret = 0; ++ ++ /* ++ * The VBLANK control may change the limits of usable exposure, so check ++ * and adjust if necessary. ++ */ ++ if (ctrl->id == V4L2_CID_VBLANK) ++ imx708_adjust_exposure_range(imx708, ctrl); ++ ++ /* ++ * Applying V4L2 control value only happens ++ * when power is up for streaming ++ */ ++ if (pm_runtime_get_if_in_use(&client->dev) == 0) ++ return 0; ++ ++ switch (ctrl->id) { ++ case V4L2_CID_ANALOGUE_GAIN: ++ imx708_set_analogue_gain(imx708, ctrl->val); ++ break; ++ case V4L2_CID_EXPOSURE: ++ ret = imx708_set_exposure(imx708, ctrl->val); ++ break; ++ case V4L2_CID_DIGITAL_GAIN: ++ ret = imx708_write_reg(imx708, IMX708_REG_DIGITAL_GAIN, ++ IMX708_REG_VALUE_16BIT, ctrl->val); ++ break; ++ case V4L2_CID_TEST_PATTERN: ++ ret = imx708_write_reg(imx708, IMX708_REG_TEST_PATTERN, ++ IMX708_REG_VALUE_16BIT, ++ imx708_test_pattern_val[ctrl->val]); ++ break; ++ case V4L2_CID_TEST_PATTERN_RED: ++ ret = imx708_write_reg(imx708, IMX708_REG_TEST_PATTERN_R, ++ IMX708_REG_VALUE_16BIT, ctrl->val); ++ break; ++ case V4L2_CID_TEST_PATTERN_GREENR: ++ ret = imx708_write_reg(imx708, IMX708_REG_TEST_PATTERN_GR, ++ IMX708_REG_VALUE_16BIT, ctrl->val); ++ break; ++ case V4L2_CID_TEST_PATTERN_BLUE: ++ ret = imx708_write_reg(imx708, IMX708_REG_TEST_PATTERN_B, ++ IMX708_REG_VALUE_16BIT, ctrl->val); ++ break; ++ case V4L2_CID_TEST_PATTERN_GREENB: ++ ret = imx708_write_reg(imx708, IMX708_REG_TEST_PATTERN_GB, ++ IMX708_REG_VALUE_16BIT, ctrl->val); ++ break; ++ case V4L2_CID_HFLIP: ++ case V4L2_CID_VFLIP: ++ ret = imx708_write_reg(imx708, IMX708_REG_ORIENTATION, 1, ++ imx708->hflip->val | ++ imx708->vflip->val << 1); ++ break; ++ case V4L2_CID_VBLANK: ++ ret = imx708_write_reg(imx708, IMX708_REG_FRAME_LENGTH, ++ IMX708_REG_VALUE_16BIT, ++ imx708->mode->height + ctrl->val); ++ break; ++ case V4L2_CID_NOTIFY_GAINS: ++ ret = imx708_write_reg(imx708, IMX708_REG_COLOUR_BALANCE_BLUE, ++ IMX708_REG_VALUE_16BIT, ++ imx708->notify_gains->p_new.p_u32[0]); ++ if (ret) ++ break; ++ ret = imx708_write_reg(imx708, IMX708_REG_COLOUR_BALANCE_RED, ++ IMX708_REG_VALUE_16BIT, ++ imx708->notify_gains->p_new.p_u32[3]); ++ break; ++ case V4L2_CID_WIDE_DYNAMIC_RANGE: ++ code = imx708_get_format_code(imx708); ++ get_mode_table(code, &mode_list, &num_modes, ctrl->val); ++ imx708->mode = v4l2_find_nearest_size(mode_list, ++ num_modes, ++ width, height, ++ imx708->mode->width, ++ imx708->mode->height); ++ imx708_set_framing_limits(imx708); ++ break; ++ default: ++ dev_info(&client->dev, ++ "ctrl(id:0x%x,val:0x%x) is not handled\n", ++ ctrl->id, ctrl->val); ++ ret = -EINVAL; ++ break; ++ } ++ ++ pm_runtime_put(&client->dev); ++ ++ return ret; ++} ++ ++static const struct v4l2_ctrl_ops imx708_ctrl_ops = { ++ .s_ctrl = imx708_set_ctrl, ++}; ++ ++static int imx708_enum_mbus_code(struct v4l2_subdev *sd, ++ struct v4l2_subdev_state *sd_state, ++ struct v4l2_subdev_mbus_code_enum *code) ++{ ++ struct imx708 *imx708 = to_imx708(sd); ++ ++ if (code->pad >= NUM_PADS) ++ return -EINVAL; ++ ++ if (code->pad == IMAGE_PAD) { ++ if (code->index >= (ARRAY_SIZE(codes) / 4)) ++ return -EINVAL; ++ ++ code->code = imx708_get_format_code(imx708); ++ } else { ++ if (code->index > 0) ++ return -EINVAL; ++ ++ code->code = MEDIA_BUS_FMT_SENSOR_DATA; ++ } ++ ++ return 0; ++} ++ ++static int imx708_enum_frame_size(struct v4l2_subdev *sd, ++ struct v4l2_subdev_state *sd_state, ++ struct v4l2_subdev_frame_size_enum *fse) ++{ ++ struct imx708 *imx708 = to_imx708(sd); ++ ++ if (fse->pad >= NUM_PADS) ++ return -EINVAL; ++ ++ if (fse->pad == IMAGE_PAD) { ++ const struct imx708_mode *mode_list; ++ unsigned int num_modes; ++ ++ get_mode_table(fse->code, &mode_list, &num_modes, ++ imx708->hdr_mode->val); ++ ++ if (fse->index >= num_modes) ++ return -EINVAL; ++ ++ if (fse->code != imx708_get_format_code(imx708)) ++ return -EINVAL; ++ ++ fse->min_width = mode_list[fse->index].width; ++ fse->max_width = fse->min_width; ++ fse->min_height = mode_list[fse->index].height; ++ fse->max_height = fse->min_height; ++ } else { ++ if (fse->code != MEDIA_BUS_FMT_SENSOR_DATA || fse->index > 0) ++ return -EINVAL; ++ ++ fse->min_width = IMX708_EMBEDDED_LINE_WIDTH; ++ fse->max_width = fse->min_width; ++ fse->min_height = IMX708_NUM_EMBEDDED_LINES; ++ fse->max_height = fse->min_height; ++ } ++ ++ return 0; ++} ++ ++static void imx708_reset_colorspace(struct v4l2_mbus_framefmt *fmt) ++{ ++ fmt->colorspace = V4L2_COLORSPACE_RAW; ++ fmt->ycbcr_enc = V4L2_MAP_YCBCR_ENC_DEFAULT(fmt->colorspace); ++ fmt->quantization = V4L2_MAP_QUANTIZATION_DEFAULT(true, ++ fmt->colorspace, ++ fmt->ycbcr_enc); ++ fmt->xfer_func = V4L2_MAP_XFER_FUNC_DEFAULT(fmt->colorspace); ++} ++ ++static void imx708_update_image_pad_format(struct imx708 *imx708, ++ const struct imx708_mode *mode, ++ struct v4l2_subdev_format *fmt) ++{ ++ fmt->format.width = mode->width; ++ fmt->format.height = mode->height; ++ fmt->format.field = V4L2_FIELD_NONE; ++ imx708_reset_colorspace(&fmt->format); ++} ++ ++static void imx708_update_metadata_pad_format(struct v4l2_subdev_format *fmt) ++{ ++ fmt->format.width = IMX708_EMBEDDED_LINE_WIDTH; ++ fmt->format.height = IMX708_NUM_EMBEDDED_LINES; ++ fmt->format.code = MEDIA_BUS_FMT_SENSOR_DATA; ++ fmt->format.field = V4L2_FIELD_NONE; ++} ++ ++static int imx708_get_pad_format(struct v4l2_subdev *sd, ++ struct v4l2_subdev_state *sd_state, ++ struct v4l2_subdev_format *fmt) ++{ ++ struct imx708 *imx708 = to_imx708(sd); ++ ++ if (fmt->pad >= NUM_PADS) ++ return -EINVAL; ++ ++ mutex_lock(&imx708->mutex); ++ ++ if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { ++ struct v4l2_mbus_framefmt *try_fmt = ++ v4l2_subdev_get_try_format(&imx708->sd, sd_state, ++ fmt->pad); ++ /* update the code which could change due to vflip or hflip */ ++ try_fmt->code = fmt->pad == IMAGE_PAD ? ++ imx708_get_format_code(imx708) : ++ MEDIA_BUS_FMT_SENSOR_DATA; ++ fmt->format = *try_fmt; ++ } else { ++ if (fmt->pad == IMAGE_PAD) { ++ imx708_update_image_pad_format(imx708, imx708->mode, ++ fmt); ++ fmt->format.code = imx708_get_format_code(imx708); ++ } else { ++ imx708_update_metadata_pad_format(fmt); ++ } ++ } ++ ++ mutex_unlock(&imx708->mutex); ++ return 0; ++} ++ ++static int imx708_set_pad_format(struct v4l2_subdev *sd, ++ struct v4l2_subdev_state *sd_state, ++ struct v4l2_subdev_format *fmt) ++{ ++ struct v4l2_mbus_framefmt *framefmt; ++ const struct imx708_mode *mode; ++ struct imx708 *imx708 = to_imx708(sd); ++ ++ if (fmt->pad >= NUM_PADS) ++ return -EINVAL; ++ ++ mutex_lock(&imx708->mutex); ++ ++ if (fmt->pad == IMAGE_PAD) { ++ const struct imx708_mode *mode_list; ++ unsigned int num_modes; ++ ++ /* Bayer order varies with flips */ ++ fmt->format.code = imx708_get_format_code(imx708); ++ ++ get_mode_table(fmt->format.code, &mode_list, &num_modes, ++ imx708->hdr_mode->val); ++ ++ mode = v4l2_find_nearest_size(mode_list, ++ num_modes, ++ width, height, ++ fmt->format.width, ++ fmt->format.height); ++ imx708_update_image_pad_format(imx708, mode, fmt); ++ if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { ++ framefmt = v4l2_subdev_get_try_format(sd, sd_state, ++ fmt->pad); ++ *framefmt = fmt->format; ++ } else { ++ imx708->mode = mode; ++ imx708_set_framing_limits(imx708); ++ } ++ } else { ++ if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { ++ framefmt = v4l2_subdev_get_try_format(sd, sd_state, ++ fmt->pad); ++ *framefmt = fmt->format; ++ } else { ++ /* Only one embedded data mode is supported */ ++ imx708_update_metadata_pad_format(fmt); ++ } ++ } ++ ++ mutex_unlock(&imx708->mutex); ++ ++ return 0; ++} ++ ++static const struct v4l2_rect * ++__imx708_get_pad_crop(struct imx708 *imx708, struct v4l2_subdev_state *sd_state, ++ unsigned int pad, enum v4l2_subdev_format_whence which) ++{ ++ switch (which) { ++ case V4L2_SUBDEV_FORMAT_TRY: ++ return v4l2_subdev_get_try_crop(&imx708->sd, sd_state, pad); ++ case V4L2_SUBDEV_FORMAT_ACTIVE: ++ return &imx708->mode->crop; ++ } ++ ++ return NULL; ++} ++ ++static int imx708_get_selection(struct v4l2_subdev *sd, ++ struct v4l2_subdev_state *sd_state, ++ struct v4l2_subdev_selection *sel) ++{ ++ switch (sel->target) { ++ case V4L2_SEL_TGT_CROP: { ++ struct imx708 *imx708 = to_imx708(sd); ++ ++ mutex_lock(&imx708->mutex); ++ sel->r = *__imx708_get_pad_crop(imx708, sd_state, sel->pad, ++ sel->which); ++ mutex_unlock(&imx708->mutex); ++ ++ return 0; ++ } ++ ++ case V4L2_SEL_TGT_NATIVE_SIZE: ++ sel->r.left = 0; ++ sel->r.top = 0; ++ sel->r.width = IMX708_NATIVE_WIDTH; ++ sel->r.height = IMX708_NATIVE_HEIGHT; ++ ++ return 0; ++ ++ case V4L2_SEL_TGT_CROP_DEFAULT: ++ case V4L2_SEL_TGT_CROP_BOUNDS: ++ sel->r.left = IMX708_PIXEL_ARRAY_LEFT; ++ sel->r.top = IMX708_PIXEL_ARRAY_TOP; ++ sel->r.width = IMX708_PIXEL_ARRAY_WIDTH; ++ sel->r.height = IMX708_PIXEL_ARRAY_HEIGHT; ++ ++ return 0; ++ } ++ ++ return -EINVAL; ++} ++ ++/* Start streaming */ ++static int imx708_start_streaming(struct imx708 *imx708) ++{ ++ struct i2c_client *client = v4l2_get_subdevdata(&imx708->sd); ++ const struct imx708_reg_list *reg_list; ++ int i, ret; ++ u32 val; ++ ++ if (!imx708->common_regs_written) { ++ ret = imx708_write_regs(imx708, mode_common_regs, ++ ARRAY_SIZE(mode_common_regs)); ++ if (ret) { ++ dev_err(&client->dev, "%s failed to set common settings\n", ++ __func__); ++ return ret; ++ } ++ ++ ret = imx708_read_reg(imx708, IMX708_REG_BASE_SPC_GAINS_L, ++ IMX708_REG_VALUE_08BIT, &val); ++ if (ret == 0 && val == 0x40) { ++ for (i = 0; i < 54 && ret == 0; i++) { ++ ret = imx708_write_reg(imx708, ++ IMX708_REG_BASE_SPC_GAINS_L + i, ++ IMX708_REG_VALUE_08BIT, ++ pdaf_gains[0][i % 9]); ++ } ++ for (i = 0; i < 54 && ret == 0; i++) { ++ ret = imx708_write_reg(imx708, ++ IMX708_REG_BASE_SPC_GAINS_R + i, ++ IMX708_REG_VALUE_08BIT, ++ pdaf_gains[1][i % 9]); ++ } ++ } ++ if (ret) { ++ dev_err(&client->dev, "%s failed to set PDAF gains\n", ++ __func__); ++ return ret; ++ } ++ ++ imx708->common_regs_written = true; ++ } ++ ++ /* Apply default values of current mode */ ++ reg_list = &imx708->mode->reg_list; ++ ret = imx708_write_regs(imx708, reg_list->regs, reg_list->num_of_regs); ++ if (ret) { ++ dev_err(&client->dev, "%s failed to set mode\n", __func__); ++ return ret; ++ } ++ ++ /* Apply customized values from user */ ++ ret = __v4l2_ctrl_handler_setup(imx708->sd.ctrl_handler); ++ if (ret) ++ return ret; ++ ++ /* set stream on register */ ++ return imx708_write_reg(imx708, IMX708_REG_MODE_SELECT, ++ IMX708_REG_VALUE_08BIT, IMX708_MODE_STREAMING); ++} ++ ++/* Stop streaming */ ++static void imx708_stop_streaming(struct imx708 *imx708) ++{ ++ struct i2c_client *client = v4l2_get_subdevdata(&imx708->sd); ++ int ret; ++ ++ /* set stream off register */ ++ ret = imx708_write_reg(imx708, IMX708_REG_MODE_SELECT, ++ IMX708_REG_VALUE_08BIT, IMX708_MODE_STANDBY); ++ if (ret) ++ dev_err(&client->dev, "%s failed to set stream\n", __func__); ++} ++ ++static int imx708_set_stream(struct v4l2_subdev *sd, int enable) ++{ ++ struct imx708 *imx708 = to_imx708(sd); ++ struct i2c_client *client = v4l2_get_subdevdata(sd); ++ int ret = 0; ++ ++ mutex_lock(&imx708->mutex); ++ if (imx708->streaming == enable) { ++ mutex_unlock(&imx708->mutex); ++ return 0; ++ } ++ ++ if (enable) { ++ ret = pm_runtime_get_sync(&client->dev); ++ if (ret < 0) { ++ pm_runtime_put_noidle(&client->dev); ++ goto err_unlock; ++ } ++ ++ /* ++ * Apply default & customized values ++ * and then start streaming. ++ */ ++ ret = imx708_start_streaming(imx708); ++ if (ret) ++ goto err_rpm_put; ++ } else { ++ imx708_stop_streaming(imx708); ++ pm_runtime_put(&client->dev); ++ } ++ ++ imx708->streaming = enable; ++ ++ /* vflip/hflip and hdr mode cannot change during streaming */ ++ __v4l2_ctrl_grab(imx708->vflip, enable); ++ __v4l2_ctrl_grab(imx708->hflip, enable); ++ __v4l2_ctrl_grab(imx708->hdr_mode, enable); ++ ++ mutex_unlock(&imx708->mutex); ++ ++ return ret; ++ ++err_rpm_put: ++ pm_runtime_put(&client->dev); ++err_unlock: ++ mutex_unlock(&imx708->mutex); ++ ++ return ret; ++} ++ ++/* Power/clock management functions */ ++static int imx708_power_on(struct device *dev) ++{ ++ struct i2c_client *client = to_i2c_client(dev); ++ struct v4l2_subdev *sd = i2c_get_clientdata(client); ++ struct imx708 *imx708 = to_imx708(sd); ++ int ret; ++ ++ ret = regulator_bulk_enable(IMX708_NUM_SUPPLIES, ++ imx708->supplies); ++ if (ret) { ++ dev_err(&client->dev, "%s: failed to enable regulators\n", ++ __func__); ++ return ret; ++ } ++ ++ ret = clk_prepare_enable(imx708->xclk); ++ if (ret) { ++ dev_err(&client->dev, "%s: failed to enable clock\n", ++ __func__); ++ goto reg_off; ++ } ++ ++ gpiod_set_value_cansleep(imx708->reset_gpio, 1); ++ usleep_range(IMX708_XCLR_MIN_DELAY_US, ++ IMX708_XCLR_MIN_DELAY_US + IMX708_XCLR_DELAY_RANGE_US); ++ ++ return 0; ++ ++reg_off: ++ regulator_bulk_disable(IMX708_NUM_SUPPLIES, imx708->supplies); ++ return ret; ++} ++ ++static int imx708_power_off(struct device *dev) ++{ ++ struct i2c_client *client = to_i2c_client(dev); ++ struct v4l2_subdev *sd = i2c_get_clientdata(client); ++ struct imx708 *imx708 = to_imx708(sd); ++ ++ gpiod_set_value_cansleep(imx708->reset_gpio, 0); ++ regulator_bulk_disable(IMX708_NUM_SUPPLIES, imx708->supplies); ++ clk_disable_unprepare(imx708->xclk); ++ ++ /* Force reprogramming of the common registers when powered up again. */ ++ imx708->common_regs_written = false; ++ ++ return 0; ++} ++ ++static int __maybe_unused imx708_suspend(struct device *dev) ++{ ++ struct i2c_client *client = to_i2c_client(dev); ++ struct v4l2_subdev *sd = i2c_get_clientdata(client); ++ struct imx708 *imx708 = to_imx708(sd); ++ ++ if (imx708->streaming) ++ imx708_stop_streaming(imx708); ++ ++ return 0; ++} ++ ++static int __maybe_unused imx708_resume(struct device *dev) ++{ ++ struct i2c_client *client = to_i2c_client(dev); ++ struct v4l2_subdev *sd = i2c_get_clientdata(client); ++ struct imx708 *imx708 = to_imx708(sd); ++ int ret; ++ ++ if (imx708->streaming) { ++ ret = imx708_start_streaming(imx708); ++ if (ret) ++ goto error; ++ } ++ ++ return 0; ++ ++error: ++ imx708_stop_streaming(imx708); ++ imx708->streaming = 0; ++ return ret; ++} ++ ++static int imx708_get_regulators(struct imx708 *imx708) ++{ ++ struct i2c_client *client = v4l2_get_subdevdata(&imx708->sd); ++ unsigned int i; ++ ++ for (i = 0; i < IMX708_NUM_SUPPLIES; i++) ++ imx708->supplies[i].supply = imx708_supply_name[i]; ++ ++ return devm_regulator_bulk_get(&client->dev, ++ IMX708_NUM_SUPPLIES, ++ imx708->supplies); ++} ++ ++/* Verify chip ID */ ++static int imx708_identify_module(struct imx708 *imx708) ++{ ++ struct i2c_client *client = v4l2_get_subdevdata(&imx708->sd); ++ int ret; ++ u32 val; ++ ++ ret = imx708_read_reg(imx708, IMX708_REG_CHIP_ID, ++ IMX708_REG_VALUE_16BIT, &val); ++ if (ret) { ++ dev_err(&client->dev, "failed to read chip id %x, with error %d\n", ++ IMX708_CHIP_ID, ret); ++ return ret; ++ } ++ ++ if (val != IMX708_CHIP_ID) { ++ dev_err(&client->dev, "chip id mismatch: %x!=%x\n", ++ IMX708_CHIP_ID, val); ++ return -EIO; ++ } ++ ++ ret = imx708_read_reg(imx708, 0x0000, IMX708_REG_VALUE_16BIT, &val); ++ if (!ret) { ++ dev_info(&client->dev, "camera module ID 0x%04x\n", val); ++ snprintf(imx708->sd.name, sizeof(imx708->sd.name), "imx708%s%s", ++ val & 0x02 ? "_wide" : "", ++ val & 0x80 ? "_noir" : ""); ++ } ++ ++ return 0; ++} ++ ++static const struct v4l2_subdev_core_ops imx708_core_ops = { ++ .subscribe_event = v4l2_ctrl_subdev_subscribe_event, ++ .unsubscribe_event = v4l2_event_subdev_unsubscribe, ++}; ++ ++static const struct v4l2_subdev_video_ops imx708_video_ops = { ++ .s_stream = imx708_set_stream, ++}; ++ ++static const struct v4l2_subdev_pad_ops imx708_pad_ops = { ++ .enum_mbus_code = imx708_enum_mbus_code, ++ .get_fmt = imx708_get_pad_format, ++ .set_fmt = imx708_set_pad_format, ++ .get_selection = imx708_get_selection, ++ .enum_frame_size = imx708_enum_frame_size, ++}; ++ ++static const struct v4l2_subdev_ops imx708_subdev_ops = { ++ .core = &imx708_core_ops, ++ .video = &imx708_video_ops, ++ .pad = &imx708_pad_ops, ++}; ++ ++static const struct v4l2_subdev_internal_ops imx708_internal_ops = { ++ .open = imx708_open, ++}; ++ ++static const struct v4l2_ctrl_config imx708_notify_gains_ctrl = { ++ .ops = &imx708_ctrl_ops, ++ .id = V4L2_CID_NOTIFY_GAINS, ++ .type = V4L2_CTRL_TYPE_U32, ++ .min = IMX708_COLOUR_BALANCE_MIN, ++ .max = IMX708_COLOUR_BALANCE_MAX, ++ .step = IMX708_COLOUR_BALANCE_STEP, ++ .def = IMX708_COLOUR_BALANCE_DEFAULT, ++ .dims = { 4 }, ++ .elem_size = sizeof(u32), ++}; ++ ++/* Initialize control handlers */ ++static int imx708_init_controls(struct imx708 *imx708) ++{ ++ struct v4l2_ctrl_handler *ctrl_hdlr; ++ struct i2c_client *client = v4l2_get_subdevdata(&imx708->sd); ++ struct v4l2_fwnode_device_properties props; ++ unsigned int i; ++ int ret; ++ ++ ctrl_hdlr = &imx708->ctrl_handler; ++ ret = v4l2_ctrl_handler_init(ctrl_hdlr, 16); ++ if (ret) ++ return ret; ++ ++ mutex_init(&imx708->mutex); ++ ctrl_hdlr->lock = &imx708->mutex; ++ ++ /* By default, PIXEL_RATE is read only */ ++ imx708->pixel_rate = v4l2_ctrl_new_std(ctrl_hdlr, &imx708_ctrl_ops, ++ V4L2_CID_PIXEL_RATE, ++ IMX708_INITIAL_PIXEL_RATE, ++ IMX708_INITIAL_PIXEL_RATE, 1, ++ IMX708_INITIAL_PIXEL_RATE); ++ ++ /* ++ * Create the controls here, but mode specific limits are setup ++ * in the imx708_set_framing_limits() call below. ++ */ ++ imx708->vblank = v4l2_ctrl_new_std(ctrl_hdlr, &imx708_ctrl_ops, ++ V4L2_CID_VBLANK, 0, 0xffff, 1, 0); ++ imx708->hblank = v4l2_ctrl_new_std(ctrl_hdlr, &imx708_ctrl_ops, ++ V4L2_CID_HBLANK, 0, 0xffff, 1, 0); ++ ++ imx708->exposure = v4l2_ctrl_new_std(ctrl_hdlr, &imx708_ctrl_ops, ++ V4L2_CID_EXPOSURE, ++ IMX708_EXPOSURE_MIN, ++ IMX708_EXPOSURE_MAX, ++ IMX708_EXPOSURE_STEP, ++ IMX708_EXPOSURE_DEFAULT); ++ ++ v4l2_ctrl_new_std(ctrl_hdlr, &imx708_ctrl_ops, V4L2_CID_ANALOGUE_GAIN, ++ IMX708_ANA_GAIN_MIN, IMX708_ANA_GAIN_MAX, ++ IMX708_ANA_GAIN_STEP, IMX708_ANA_GAIN_DEFAULT); ++ ++ v4l2_ctrl_new_std(ctrl_hdlr, &imx708_ctrl_ops, V4L2_CID_DIGITAL_GAIN, ++ IMX708_DGTL_GAIN_MIN, IMX708_DGTL_GAIN_MAX, ++ IMX708_DGTL_GAIN_STEP, IMX708_DGTL_GAIN_DEFAULT); ++ ++ imx708->hflip = v4l2_ctrl_new_std(ctrl_hdlr, &imx708_ctrl_ops, ++ V4L2_CID_HFLIP, 0, 1, 1, 0); ++ ++ imx708->vflip = v4l2_ctrl_new_std(ctrl_hdlr, &imx708_ctrl_ops, ++ V4L2_CID_VFLIP, 0, 1, 1, 0); ++ ++ v4l2_ctrl_new_std_menu_items(ctrl_hdlr, &imx708_ctrl_ops, ++ V4L2_CID_TEST_PATTERN, ++ ARRAY_SIZE(imx708_test_pattern_menu) - 1, ++ 0, 0, imx708_test_pattern_menu); ++ for (i = 0; i < 4; i++) { ++ /* ++ * The assumption is that ++ * V4L2_CID_TEST_PATTERN_GREENR == V4L2_CID_TEST_PATTERN_RED + 1 ++ * V4L2_CID_TEST_PATTERN_BLUE == V4L2_CID_TEST_PATTERN_RED + 2 ++ * V4L2_CID_TEST_PATTERN_GREENB == V4L2_CID_TEST_PATTERN_RED + 3 ++ */ ++ v4l2_ctrl_new_std(ctrl_hdlr, &imx708_ctrl_ops, ++ V4L2_CID_TEST_PATTERN_RED + i, ++ IMX708_TEST_PATTERN_COLOUR_MIN, ++ IMX708_TEST_PATTERN_COLOUR_MAX, ++ IMX708_TEST_PATTERN_COLOUR_STEP, ++ IMX708_TEST_PATTERN_COLOUR_MAX); ++ /* The "Solid color" pattern is white by default */ ++ } ++ ++ imx708->notify_gains = v4l2_ctrl_new_custom(ctrl_hdlr, ++ &imx708_notify_gains_ctrl, NULL); ++ ++ imx708->hdr_mode = v4l2_ctrl_new_std(ctrl_hdlr, &imx708_ctrl_ops, ++ V4L2_CID_WIDE_DYNAMIC_RANGE, ++ 0, 1, 1, 0); ++ ++ ret = v4l2_fwnode_device_parse(&client->dev, &props); ++ if (ret) ++ goto error; ++ ++ v4l2_ctrl_new_fwnode_properties(ctrl_hdlr, &imx708_ctrl_ops, &props); ++ ++ if (ctrl_hdlr->error) { ++ ret = ctrl_hdlr->error; ++ dev_err(&client->dev, "%s control init failed (%d)\n", ++ __func__, ret); ++ goto error; ++ } ++ ++ imx708->hblank->flags |= V4L2_CTRL_FLAG_READ_ONLY; ++ imx708->hflip->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT; ++ imx708->vflip->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT; ++ imx708->hdr_mode->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT; ++ ++ imx708->sd.ctrl_handler = ctrl_hdlr; ++ ++ /* Setup exposure and frame/line length limits. */ ++ imx708_set_framing_limits(imx708); ++ ++ return 0; ++ ++error: ++ v4l2_ctrl_handler_free(ctrl_hdlr); ++ mutex_destroy(&imx708->mutex); ++ ++ return ret; ++} ++ ++static void imx708_free_controls(struct imx708 *imx708) ++{ ++ v4l2_ctrl_handler_free(imx708->sd.ctrl_handler); ++ mutex_destroy(&imx708->mutex); ++} ++ ++static int imx708_check_hwcfg(struct device *dev) ++{ ++ struct fwnode_handle *endpoint; ++ struct v4l2_fwnode_endpoint ep_cfg = { ++ .bus_type = V4L2_MBUS_CSI2_DPHY ++ }; ++ int ret = -EINVAL; ++ ++ endpoint = fwnode_graph_get_next_endpoint(dev_fwnode(dev), NULL); ++ if (!endpoint) { ++ dev_err(dev, "endpoint node not found\n"); ++ return -EINVAL; ++ } ++ ++ if (v4l2_fwnode_endpoint_alloc_parse(endpoint, &ep_cfg)) { ++ dev_err(dev, "could not parse endpoint\n"); ++ goto error_out; ++ } ++ ++ /* Check the number of MIPI CSI2 data lanes */ ++ if (ep_cfg.bus.mipi_csi2.num_data_lanes != 2) { ++ dev_err(dev, "only 2 data lanes are currently supported\n"); ++ goto error_out; ++ } ++ ++ /* Check the link frequency set in device tree */ ++ if (!ep_cfg.nr_of_link_frequencies) { ++ dev_err(dev, "link-frequency property not found in DT\n"); ++ goto error_out; ++ } ++ ++ if (ep_cfg.nr_of_link_frequencies != 1 || ++ ep_cfg.link_frequencies[0] != IMX708_DEFAULT_LINK_FREQ) { ++ dev_err(dev, "Link frequency not supported: %lld\n", ++ ep_cfg.link_frequencies[0]); ++ goto error_out; ++ } ++ ++ ret = 0; ++ ++error_out: ++ v4l2_fwnode_endpoint_free(&ep_cfg); ++ fwnode_handle_put(endpoint); ++ ++ return ret; ++} ++ ++static int imx708_probe(struct i2c_client *client) ++{ ++ struct device *dev = &client->dev; ++ struct imx708 *imx708; ++ int ret; ++ ++ imx708 = devm_kzalloc(&client->dev, sizeof(*imx708), GFP_KERNEL); ++ if (!imx708) ++ return -ENOMEM; ++ ++ v4l2_i2c_subdev_init(&imx708->sd, client, &imx708_subdev_ops); ++ ++ /* Check the hardware configuration in device tree */ ++ if (imx708_check_hwcfg(dev)) ++ return -EINVAL; ++ ++ /* Get system clock (xclk) */ ++ imx708->xclk = devm_clk_get(dev, NULL); ++ if (IS_ERR(imx708->xclk)) { ++ dev_err(dev, "failed to get xclk\n"); ++ return PTR_ERR(imx708->xclk); ++ } ++ ++ imx708->xclk_freq = clk_get_rate(imx708->xclk); ++ if (imx708->xclk_freq != IMX708_XCLK_FREQ) { ++ dev_err(dev, "xclk frequency not supported: %d Hz\n", ++ imx708->xclk_freq); ++ return -EINVAL; ++ } ++ ++ ret = imx708_get_regulators(imx708); ++ if (ret) { ++ dev_err(dev, "failed to get regulators\n"); ++ return ret; ++ } ++ ++ /* Request optional enable pin */ ++ imx708->reset_gpio = devm_gpiod_get_optional(dev, "reset", ++ GPIOD_OUT_HIGH); ++ ++ /* ++ * The sensor must be powered for imx708_identify_module() ++ * to be able to read the CHIP_ID register ++ */ ++ ret = imx708_power_on(dev); ++ if (ret) ++ return ret; ++ ++ ret = imx708_identify_module(imx708); ++ if (ret) ++ goto error_power_off; ++ ++ /* Initialize default format */ ++ imx708_set_default_format(imx708); ++ ++ /* Enable runtime PM and turn off the device */ ++ pm_runtime_set_active(dev); ++ pm_runtime_enable(dev); ++ pm_runtime_idle(dev); ++ ++ /* This needs the pm runtime to be registered. */ ++ ret = imx708_init_controls(imx708); ++ if (ret) ++ goto error_power_off; ++ ++ /* Initialize subdev */ ++ imx708->sd.internal_ops = &imx708_internal_ops; ++ imx708->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | ++ V4L2_SUBDEV_FL_HAS_EVENTS; ++ imx708->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; ++ ++ /* Initialize source pads */ ++ imx708->pad[IMAGE_PAD].flags = MEDIA_PAD_FL_SOURCE; ++ imx708->pad[METADATA_PAD].flags = MEDIA_PAD_FL_SOURCE; ++ ++ ret = media_entity_pads_init(&imx708->sd.entity, NUM_PADS, imx708->pad); ++ if (ret) { ++ dev_err(dev, "failed to init entity pads: %d\n", ret); ++ goto error_handler_free; ++ } ++ ++ ret = v4l2_async_register_subdev_sensor(&imx708->sd); ++ if (ret < 0) { ++ dev_err(dev, "failed to register sensor sub-device: %d\n", ret); ++ goto error_media_entity; ++ } ++ ++ return 0; ++ ++error_media_entity: ++ media_entity_cleanup(&imx708->sd.entity); ++ ++error_handler_free: ++ imx708_free_controls(imx708); ++ ++error_power_off: ++ pm_runtime_disable(&client->dev); ++ pm_runtime_set_suspended(&client->dev); ++ imx708_power_off(&client->dev); ++ ++ return ret; ++} ++ ++static int imx708_remove(struct i2c_client *client) ++{ ++ struct v4l2_subdev *sd = i2c_get_clientdata(client); ++ struct imx708 *imx708 = to_imx708(sd); ++ ++ v4l2_async_unregister_subdev(sd); ++ media_entity_cleanup(&sd->entity); ++ imx708_free_controls(imx708); ++ ++ pm_runtime_disable(&client->dev); ++ if (!pm_runtime_status_suspended(&client->dev)) ++ imx708_power_off(&client->dev); ++ pm_runtime_set_suspended(&client->dev); ++ ++ return 0; ++} ++ ++static const struct of_device_id imx708_dt_ids[] = { ++ { .compatible = "sony,imx708" }, ++ { /* sentinel */ } ++}; ++MODULE_DEVICE_TABLE(of, imx708_dt_ids); ++ ++static const struct dev_pm_ops imx708_pm_ops = { ++ SET_SYSTEM_SLEEP_PM_OPS(imx708_suspend, imx708_resume) ++ SET_RUNTIME_PM_OPS(imx708_power_off, imx708_power_on, NULL) ++}; ++ ++static struct i2c_driver imx708_i2c_driver = { ++ .driver = { ++ .name = "imx708", ++ .of_match_table = imx708_dt_ids, ++ .pm = &imx708_pm_ops, ++ }, ++ .probe_new = imx708_probe, ++ .remove = imx708_remove, ++}; ++ ++module_i2c_driver(imx708_i2c_driver); ++ ++MODULE_AUTHOR("David Plowman "); ++MODULE_DESCRIPTION("Sony IMX708 sensor driver"); ++MODULE_LICENSE("GPL v2"); +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 22 Dec 2022 14:28:15 +0000 +Subject: [PATCH 1251/1284] defconfigs: Add IMX708 to all Pi defconfigs + +Adds the IMX708 image sensor driver to the defconfigs. + +Signed-off-by: Dave Stevenson +--- + arch/arm/configs/bcm2709_defconfig | 2 ++ + arch/arm/configs/bcm2711_defconfig | 2 ++ + arch/arm/configs/bcmrpi_defconfig | 2 ++ + arch/arm64/configs/bcm2711_defconfig | 2 ++ + arch/arm64/configs/bcmrpi3_defconfig | 2 ++ + 5 files changed, 10 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index 9afa64fa8b75..2b55093513aa 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -939,6 +939,7 @@ CONFIG_VIDEO_IMX290=m + CONFIG_VIDEO_IMX296=m + CONFIG_VIDEO_IMX477=m + CONFIG_VIDEO_IMX519=m ++CONFIG_VIDEO_IMX708=m + CONFIG_VIDEO_OV2311=m + CONFIG_VIDEO_OV5647=m + CONFIG_VIDEO_OV7251=m +@@ -947,6 +948,7 @@ CONFIG_VIDEO_OV9281=m + CONFIG_VIDEO_IRS1125=m + CONFIG_VIDEO_MT9V011=m + CONFIG_VIDEO_AD5398=m ++CONFIG_VIDEO_DW9807_VCM=m + CONFIG_DRM=m + CONFIG_DRM_LOAD_EDID_FIRMWARE=y + CONFIG_DRM_UDL=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 17a208751292..4bf2b97e81f0 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -957,6 +957,7 @@ CONFIG_VIDEO_IMX290=m + CONFIG_VIDEO_IMX296=m + CONFIG_VIDEO_IMX477=m + CONFIG_VIDEO_IMX519=m ++CONFIG_VIDEO_IMX708=m + CONFIG_VIDEO_OV2311=m + CONFIG_VIDEO_OV5647=m + CONFIG_VIDEO_OV7251=m +@@ -965,6 +966,7 @@ CONFIG_VIDEO_OV9281=m + CONFIG_VIDEO_IRS1125=m + CONFIG_VIDEO_MT9V011=m + CONFIG_VIDEO_AD5398=m ++CONFIG_VIDEO_DW9807_VCM=m + CONFIG_DRM=m + CONFIG_DRM_LOAD_EDID_FIRMWARE=y + CONFIG_DRM_UDL=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index f338a5af7008..8efe2a455ebd 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -932,6 +932,7 @@ CONFIG_VIDEO_IMX290=m + CONFIG_VIDEO_IMX296=m + CONFIG_VIDEO_IMX477=m + CONFIG_VIDEO_IMX519=m ++CONFIG_VIDEO_IMX708=m + CONFIG_VIDEO_OV2311=m + CONFIG_VIDEO_OV5647=m + CONFIG_VIDEO_OV7251=m +@@ -940,6 +941,7 @@ CONFIG_VIDEO_OV9281=m + CONFIG_VIDEO_IRS1125=m + CONFIG_VIDEO_MT9V011=m + CONFIG_VIDEO_AD5398=m ++CONFIG_VIDEO_DW9807_VCM=m + CONFIG_DRM=m + CONFIG_DRM_LOAD_EDID_FIRMWARE=y + CONFIG_DRM_UDL=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 7722f5b49ada..ae1661b1aaac 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -967,6 +967,7 @@ CONFIG_VIDEO_IMX290=m + CONFIG_VIDEO_IMX296=m + CONFIG_VIDEO_IMX477=m + CONFIG_VIDEO_IMX519=m ++CONFIG_VIDEO_IMX708=m + CONFIG_VIDEO_OV2311=m + CONFIG_VIDEO_OV5647=m + CONFIG_VIDEO_OV7251=m +@@ -975,6 +976,7 @@ CONFIG_VIDEO_OV9281=m + CONFIG_VIDEO_IRS1125=m + CONFIG_VIDEO_MT9V011=m + CONFIG_VIDEO_AD5398=m ++CONFIG_VIDEO_DW9807_VCM=m + CONFIG_DRM=m + CONFIG_DRM_LOAD_EDID_FIRMWARE=y + CONFIG_DRM_UDL=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 8e4a9447ec92..adc31138633b 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -904,6 +904,7 @@ CONFIG_VIDEO_IMX290=m + CONFIG_VIDEO_IMX296=m + CONFIG_VIDEO_IMX477=m + CONFIG_VIDEO_IMX519=m ++CONFIG_VIDEO_IMX708=m + CONFIG_VIDEO_OV2311=m + CONFIG_VIDEO_OV5647=m + CONFIG_VIDEO_OV7251=m +@@ -912,6 +913,7 @@ CONFIG_VIDEO_OV9281=m + CONFIG_VIDEO_IRS1125=m + CONFIG_VIDEO_MT9V011=m + CONFIG_VIDEO_AD5398=m ++CONFIG_VIDEO_DW9807_VCM=m + CONFIG_DRM=m + CONFIG_DRM_LOAD_EDID_FIRMWARE=y + CONFIG_DRM_UDL=m +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Thu, 22 Dec 2022 14:12:54 +0000 +Subject: [PATCH 1252/1284] dtoverlays: Add overlays for the IMX708 image + sensor + +New overlay to support the Sony IMX708 image sensor. +This includes a VCM for lens control. +Also adds support to the camera mux overlays. + +Signed-off-by: Dave Stevenson +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 21 ++++ + .../dts/overlays/camera-mux-2port-overlay.dts | 32 ++++++ + .../dts/overlays/camera-mux-4port-overlay.dts | 64 +++++++++++ + arch/arm/boot/dts/overlays/imx708-overlay.dts | 104 ++++++++++++++++++ + arch/arm/boot/dts/overlays/imx708.dtsi | 35 ++++++ + 6 files changed, 257 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/imx708-overlay.dts + create mode 100644 arch/arm/boot/dts/overlays/imx708.dtsi + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index edd149a3a838..bb9f5bf9d43a 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -122,6 +122,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + imx462.dtbo \ + imx477.dtbo \ + imx519.dtbo \ ++ imx708.dtbo \ + iqaudio-codec.dtbo \ + iqaudio-dac.dtbo \ + iqaudio-dacplus.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 8369d18f1240..4ac80d34327e 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -716,6 +716,7 @@ Params: cam0-imx219 Select IMX219 for camera on port 0 + cam0-imx258 Select IMX258 for camera on port 0 + cam0-imx290 Select IMX290 for camera on port 0 + cam0-imx477 Select IMX477 for camera on port 0 ++ cam0-imx708 Select IMX708 for camera on port 0 + cam0-ov2311 Select OV2311 for camera on port 0 + cam0-ov5647 Select OV5647 for camera on port 0 + cam0-ov7251 Select OV7251 for camera on port 0 +@@ -725,6 +726,7 @@ Params: cam0-imx219 Select IMX219 for camera on port 0 + cam1-imx258 Select IMX258 for camera on port 1 + cam1-imx290 Select IMX290 for camera on port 1 + cam1-imx477 Select IMX477 for camera on port 1 ++ cam1-imx708 Select IMX708 for camera on port 1 + cam1-ov2311 Select OV2311 for camera on port 1 + cam1-ov5647 Select OV5647 for camera on port 1 + cam1-ov7251 Select OV7251 for camera on port 1 +@@ -741,6 +743,7 @@ Params: cam0-imx219 Select IMX219 for camera on port 0 + cam0-imx258 Select IMX258 for camera on port 0 + cam0-imx290 Select IMX290 for camera on port 0 + cam0-imx477 Select IMX477 for camera on port 0 ++ cam0-imx708 Select IMX708 for camera on port 0 + cam0-ov2311 Select OV2311 for camera on port 0 + cam0-ov5647 Select OV5647 for camera on port 0 + cam0-ov7251 Select OV7251 for camera on port 0 +@@ -750,6 +753,7 @@ Params: cam0-imx219 Select IMX219 for camera on port 0 + cam1-imx258 Select IMX258 for camera on port 1 + cam1-imx290 Select IMX290 for camera on port 1 + cam1-imx477 Select IMX477 for camera on port 1 ++ cam1-imx708 Select IMX708 for camera on port 1 + cam1-ov2311 Select OV2311 for camera on port 1 + cam1-ov5647 Select OV5647 for camera on port 1 + cam1-ov7251 Select OV7251 for camera on port 1 +@@ -759,6 +763,7 @@ Params: cam0-imx219 Select IMX219 for camera on port 0 + cam2-imx258 Select IMX258 for camera on port 2 + cam2-imx290 Select IMX290 for camera on port 2 + cam2-imx477 Select IMX477 for camera on port 2 ++ cam2-imx708 Select IMX708 for camera on port 2 + cam2-ov2311 Select OV2311 for camera on port 2 + cam2-ov5647 Select OV5647 for camera on port 2 + cam2-ov7251 Select OV7251 for camera on port 2 +@@ -768,6 +773,7 @@ Params: cam0-imx219 Select IMX219 for camera on port 0 + cam3-imx258 Select IMX258 for camera on port 3 + cam3-imx290 Select IMX290 for camera on port 3 + cam3-imx477 Select IMX477 for camera on port 3 ++ cam3-imx708 Select IMX708 for camera on port 3 + cam3-ov2311 Select OV2311 for camera on port 3 + cam3-ov5647 Select OV5647 for camera on port 3 + cam3-ov7251 Select OV7251 for camera on port 3 +@@ -2348,6 +2354,21 @@ Params: rotation Mounting rotation of the camera sensor (0 or + Compute Module (CSI0, i2c_vc, and cam0_reg). + + ++Name: imx708 ++Info: Sony IMX708 camera module. ++ Uses Unicam 1, which is the standard camera connector on most Pi ++ variants. ++Load: dtoverlay=imx708,= ++Params: rotation Mounting rotation of the camera sensor (0 or ++ 180, default 180) ++ vcm Select lens driver state. Default is enabled, ++ but vcm=off will disable. ++ media-controller Configure use of Media Controller API for ++ configuring the sensor (default on) ++ cam0 Adopt the default configuration for CAM0 on a ++ Compute Module (CSI0, i2c_vc, and cam0_reg). ++ ++ + Name: iqaudio-codec + Info: Configures the IQaudio Codec audio card + Load: dtoverlay=iqaudio-codec +diff --git a/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts b/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts +index ef24d5a7f78c..705c7ee2221d 100644 +--- a/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts ++++ b/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts +@@ -112,6 +112,16 @@ i2c@0 { + #undef cam_endpoint + #undef cam1_clk + ++ #define cam_node imx708_0 ++ #define cam_endpoint imx708_0_ep ++ #define vcm_node imx708_0_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx708.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node ov5647_0 + #define cam_endpoint ov5647_0_ep + #define cam1_clk clk_25mhz +@@ -182,6 +192,16 @@ i2c@1 { + #undef cam_endpoint + #undef cam1_clk + ++ #define cam_node imx708_1 ++ #define cam_endpoint imx708_1_ep ++ #define vcm_node imx708_1_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx708.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node ov5647_1 + #define cam_endpoint ov5647_1_ep + #define cam1_clk clk_25mhz +@@ -353,6 +373,12 @@ __overrides__ { + <&imx477_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&mux_in0>, "clock-noncontinuous?", + <&imx477_0>, "status=okay"; ++ cam0-imx708 = <&mux_in0>, "remote-endpoint:0=",<&imx708_0_ep>, ++ <&imx708_0_ep>, "remote-endpoint:0=",<&mux_in0>, ++ <&mux_in0>, "clock-noncontinuous?", ++ <&imx708_0>, "status=okay", ++ <&imx708_0_vcm>, "status=okay", ++ <&imx708_0>,"lens-focus:0=", <&imx708_0_vcm>; + cam0-ov5647 = <&mux_in0>, "remote-endpoint:0=",<&ov5647_0_ep>, + <&ov5647_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&ov5647_0>, "status=okay"; +@@ -381,6 +407,12 @@ __overrides__ { + <&imx477_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&mux_in1>, "clock-noncontinuous?", + <&imx477_1>, "status=okay"; ++ cam1-imx708 = <&mux_in1>, "remote-endpoint:0=",<&imx708_1_ep>, ++ <&imx708_1_ep>, "remote-endpoint:0=",<&mux_in1>, ++ <&mux_in1>, "clock-noncontinuous?", ++ <&imx708_1>, "status=okay", ++ <&imx708_1_vcm>, "status=okay", ++ <&imx708_1>,"lens-focus:0=", <&imx708_1_vcm>; + cam1-ov5647 = <&mux_in1>, "remote-endpoint:0=",<&ov5647_1_ep>, + <&ov5647_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&ov5647_1>, "status=okay"; +diff --git a/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts b/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts +index e1a9529c4173..222fda6c8221 100644 +--- a/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts ++++ b/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts +@@ -170,6 +170,16 @@ i2c@0 { + #undef cam_endpoint + #undef cam1_clk + ++ #define cam_node imx708_0 ++ #define cam_endpoint imx708_0_ep ++ #define vcm_node imx708_0_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx708.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node ov5647_0 + #define cam_endpoint ov5647_0_ep + #define cam1_clk clk_25mhz +@@ -240,6 +250,16 @@ i2c@1 { + #undef cam_endpoint + #undef cam1_clk + ++ #define cam_node imx708_1 ++ #define cam_endpoint imx708_1_ep ++ #define vcm_node imx708_1_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx708.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node ov5647_1 + #define cam_endpoint ov5647_1_ep + #define cam1_clk clk_25mhz +@@ -310,6 +330,16 @@ i2c@2 { + #undef cam_endpoint + #undef cam1_clk + ++ #define cam_node imx708_2 ++ #define cam_endpoint imx708_2_ep ++ #define vcm_node imx708_2_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx708.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node ov5647_2 + #define cam_endpoint ov5647_2_ep + #define cam1_clk clk_25mhz +@@ -380,6 +410,16 @@ i2c@3 { + #undef cam_endpoint + #undef cam1_clk + ++ #define cam_node imx708_3 ++ #define cam_endpoint imx708_3_ep ++ #define vcm_node imx708_3_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx708.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node ov5647_3 + #define cam_endpoint ov5647_3_ep + #define cam1_clk clk_25mhz +@@ -568,6 +608,12 @@ __overrides__ { + <&imx477_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&mux_in0>, "clock-noncontinuous?", + <&imx477_0>, "status=okay"; ++ cam0-imx708 = <&mux_in0>, "remote-endpoint:0=",<&imx708_0_ep>, ++ <&imx708_0_ep>, "remote-endpoint:0=",<&mux_in0>, ++ <&mux_in0>, "clock-noncontinuous?", ++ <&imx708_0>, "status=okay", ++ <&imx708_0_vcm>, "status=okay", ++ <&imx708_0>,"lens-focus:0=", <&imx708_0_vcm>; + cam0-ov5647 = <&mux_in0>, "remote-endpoint:0=",<&ov5647_0_ep>, + <&ov5647_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&ov5647_0>, "status=okay"; +@@ -596,6 +642,12 @@ __overrides__ { + <&imx477_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&mux_in1>, "clock-noncontinuous?", + <&imx477_1>, "status=okay"; ++ cam1-imx708 = <&mux_in1>, "remote-endpoint:0=",<&imx708_1_ep>, ++ <&imx708_1_ep>, "remote-endpoint:0=",<&mux_in1>, ++ <&mux_in1>, "clock-noncontinuous?", ++ <&imx708_1>, "status=okay", ++ <&imx708_1_vcm>, "status=okay", ++ <&imx708_1>,"lens-focus:0=", <&imx708_1_vcm>; + cam1-ov5647 = <&mux_in1>, "remote-endpoint:0=",<&ov5647_1_ep>, + <&ov5647_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&ov5647_1>, "status=okay"; +@@ -624,6 +676,12 @@ __overrides__ { + <&imx477_2_ep>, "remote-endpoint:0=",<&mux_in2>, + <&mux_in2>, "clock-noncontinuous?", + <&imx477_2>, "status=okay"; ++ cam2-imx708 = <&mux_in2>, "remote-endpoint:0=",<&imx708_2_ep>, ++ <&imx708_2_ep>, "remote-endpoint:0=",<&mux_in2>, ++ <&mux_in2>, "clock-noncontinuous?", ++ <&imx708_2>, "status=okay", ++ <&imx708_2_vcm>, "status=okay", ++ <&imx708_2>,"lens-focus:0=", <&imx708_2_vcm>; + cam2-ov5647 = <&mux_in2>, "remote-endpoint:0=",<&ov5647_2_ep>, + <&ov5647_2_ep>, "remote-endpoint:0=",<&mux_in2>, + <&ov5647_2>, "status=okay"; +@@ -652,6 +710,12 @@ __overrides__ { + <&imx477_3_ep>, "remote-endpoint:0=",<&mux_in3>, + <&mux_in3>, "clock-noncontinuous?", + <&imx477_3>, "status=okay"; ++ cam3-imx708 = <&mux_in3>, "remote-endpoint:0=",<&imx708_3_ep>, ++ <&imx708_3_ep>, "remote-endpoint:0=",<&mux_in3>, ++ <&mux_in3>, "clock-noncontinuous?", ++ <&imx708_3>, "status=okay", ++ <&imx708_3_vcm>, "status=okay", ++ <&imx708_3>,"lens-focus:0=", <&imx708_3_vcm>; + cam3-ov5647 = <&mux_in3>, "remote-endpoint:0=",<&ov5647_3_ep>, + <&ov5647_3_ep>, "remote-endpoint:0=",<&mux_in3>, + <&ov5647_3>, "status=okay"; +diff --git a/arch/arm/boot/dts/overlays/imx708-overlay.dts b/arch/arm/boot/dts/overlays/imx708-overlay.dts +new file mode 100644 +index 000000000000..9107e985c2a8 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/imx708-overlay.dts +@@ -0,0 +1,104 @@ ++// SPDX-License-Identifier: GPL-2.0-only ++// Definitions for IMX708 camera module on VC I2C bus ++/dts-v1/; ++/plugin/; ++ ++#include ++ ++/{ ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&i2c0if>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ clk_frag: fragment@1 { ++ target = <&cam1_clk>; ++ __overlay__ { ++ status = "okay"; ++ clock-frequency = <24000000>; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&i2c0mux>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ reg_frag: fragment@3 { ++ target = <&cam1_reg>; ++ cam_reg: __overlay__ { ++ startup-delay-us = <70000>; ++ off-on-delay-us = <30000>; ++ regulator-min-microvolt = <2700000>; ++ regulator-max-microvolt = <2700000>; ++ }; ++ }; ++ ++ fragment@4 { ++ target = <&cam_node>; ++ __overlay__ { ++ lens-focus = <&vcm_node>; ++ }; ++ }; ++ ++ i2c_frag: fragment@100 { ++ target = <&i2c_csi_dsi>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ #include "imx708.dtsi" ++ }; ++ }; ++ ++ csi_frag: fragment@101 { ++ target = <&csi1>; ++ csi: __overlay__ { ++ status = "okay"; ++ brcm,media-controller; ++ ++ port { ++ csi_ep: endpoint { ++ remote-endpoint = <&cam_endpoint>; ++ clock-lanes = <0>; ++ data-lanes = <1 2>; ++ clock-noncontinuous; ++ }; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ rotation = <&cam_node>,"rotation:0"; ++ orientation = <&cam_node>,"orientation:0"; ++ media-controller = <&csi>,"brcm,media-controller?"; ++ cam0 = <&i2c_frag>, "target:0=",<&i2c_vc>, ++ <&csi_frag>, "target:0=",<&csi0>, ++ <&clk_frag>, "target:0=",<&cam0_clk>, ++ <®_frag>, "target:0=",<&cam0_reg>, ++ <&cam_node>, "clocks:0=",<&cam0_clk>, ++ <&cam_node>, "VANA1-supply:0=",<&cam0_reg>, ++ <&vcm_node>, "VDD-supply:0=",<&cam0_reg>; ++ vcm = <&vcm_node>, "status", ++ <0>, "=4"; ++ }; ++}; ++ ++&cam_node { ++ status = "okay"; ++}; ++ ++&cam_endpoint { ++ remote-endpoint = <&csi_ep>; ++}; ++ ++&vcm_node { ++ status = "okay"; ++}; +diff --git a/arch/arm/boot/dts/overlays/imx708.dtsi b/arch/arm/boot/dts/overlays/imx708.dtsi +new file mode 100644 +index 000000000000..1381caf22668 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/imx708.dtsi +@@ -0,0 +1,35 @@ ++// Fragment that configures a Sony IMX708 ++ ++cam_node: imx708@1a { ++ compatible = "sony,imx708"; ++ reg = <0x1a>; ++ status = "disabled"; ++ ++ clocks = <&cam1_clk>; ++ clock-names = "xclk"; ++ ++ VANA1-supply = <&cam1_reg>; /* 2.8v */ ++ VANA2-supply = <&cam_dummy_reg>;/* 1.8v */ ++ VDIG-supply = <&cam_dummy_reg>; /* 1.1v */ ++ VDDL-supply = <&cam_dummy_reg>; /* 1.8v */ ++ ++ rotation = <180>; ++ orientation = <2>; ++ ++ port { ++ cam_endpoint: endpoint { ++ clock-lanes = <0>; ++ data-lanes = <1 2>; ++ clock-noncontinuous; ++ link-frequencies = ++ /bits/ 64 <450000000>; ++ }; ++ }; ++}; ++ ++vcm_node: dw9817@c { ++ compatible = "dongwoon,dw9817-vcm"; ++ reg = <0x0c>; ++ status = "disabled"; ++ VDD-supply = <&cam1_reg>; ++}; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 3 Jan 2023 16:00:21 +0000 +Subject: [PATCH 1253/1284] net: phy: broadcom: Make LEDs 3+4 shadow LEDs 1+2 + +CM4 uses BCM54210PE, which supports 2 additional LEDs, choosing LED3 +for the amber LED because it shows activity by default (LED4 is not +connected). However, this makes it uncontrollable by the eth_led +dtparams which target LEDs 1+2. + +Solve the problem by making LEDs 3+4 mirror LEDs 1+2 (which is much +simpler than adding baseboard-specific overrides, but comes with a +risk of making one of the LEDs redundant). + +See: https://github.com/raspberrypi/linux/issues/5289 + +Signed-off-by: Phil Elwell +--- + drivers/net/phy/broadcom.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c +index 3c4035d5489a..d85e0054e0c9 100644 +--- a/drivers/net/phy/broadcom.c ++++ b/drivers/net/phy/broadcom.c +@@ -416,6 +416,11 @@ static int bcm54xx_config_init(struct phy_device *phydev) + val = BCM5482_SHD_LEDS1_LED1(BCM_LED_SRC_MULTICOLOR1) | + BCM5482_SHD_LEDS1_LED3(BCM_LED_SRC_MULTICOLOR1); + bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val); ++ /* BCM54210PE controls two extra LEDs with the next register. ++ * Make them shadow the first pair of LEDs - useful on CM4 which ++ * uses LED3 for ETH_LEDY instead of LED1. ++ */ ++ bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1 + 1, val); + + val = BCM_LED_MULTICOLOR_IN_PHASE | + BCM5482_SHD_LEDS1_LED1(led_modes[0]) | +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 4 Jan 2023 09:14:53 +0000 +Subject: [PATCH 1254/1284] overlays: i2c-sensor: MS temp & pressure sensors + +Add support for the Measurement Specialities temperature and pressure +sensors to the i2c-sensor overlay. The supported devices are MS5637, +MS5803, MS5805, MS5837 and MS8607. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/README | 20 ++++- + .../boot/dts/overlays/i2c-sensor-common.dtsi | 79 ++++++++++++++++++- + 2 files changed, 96 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 4ac80d34327e..912aa69d0412 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1982,8 +1982,9 @@ Info: Adds support for a number of I2C barometric pressure, temperature, + light level and chemical sensors on i2c_arm + Load: dtoverlay=i2c-sensor,= + Params: addr Set the address for the BH1750, BME280, BME680, +- BMP280, CCS811, DS1621, HDC100X, LM75, SHT3x or +- TMP102 ++ BMP280, CCS811, DS1621, HDC100X, JC42, LM75, ++ MCP980x, MS5637, MS5803, MS5805, MS5837, MS8607, ++ SHT3x or TMP102 + + aht10 Select the Aosong AHT10 temperature and humidity + sensor +@@ -2044,6 +2045,21 @@ Params: addr Set the address for the BH1750, BME280, BME680, + use the "jc42" option. + Valid addresses are 0x18-0x1f (default 0x18) + ++ ms5637 Select the Measurement Specialities MS5637 ++ pressure and temperature sensor. ++ ++ ms5803 Select the Measurement Specialities MS5803 ++ pressure and temperature sensor. ++ ++ ms5805 Select the Measurement Specialities MS5805 ++ pressure and temperature sensor. ++ ++ ms5837 Select the Measurement Specialities MS5837 ++ pressure and temperature sensor. ++ ++ ms8607 Select the Measurement Specialities MS8607 ++ pressure and temperature sensor. ++ + no_timeout Disable the SMBUS timeout. N.B. Only supported + by some jc42 devices - using with an + incompatible device can stop it from being +diff --git a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi +index c81d8e5db548..6504c7578b9d 100755 +--- a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi ++++ b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi +@@ -351,6 +351,76 @@ jc42: jc42@18 { + }; + }; + ++ fragment@23 { ++ target = <&i2cbus>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ ms5637: ms5637@76 { ++ compatible = "meas,ms5637"; ++ reg = <0x76>; ++ }; ++ }; ++ }; ++ ++ fragment@24 { ++ target = <&i2cbus>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ ms5803: ms5803@76 { ++ compatible = "meas,ms5803"; ++ reg = <0x76>; ++ }; ++ }; ++ }; ++ ++ fragment@25 { ++ target = <&i2cbus>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ ms5805: ms5805@76 { ++ compatible = "meas,ms5805"; ++ reg = <0x76>; ++ }; ++ }; ++ }; ++ ++ fragment@26 { ++ target = <&i2cbus>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ ms5837: ms5837@76 { ++ compatible = "meas,ms5837"; ++ reg = <0x76>; ++ }; ++ }; ++ }; ++ ++ fragment@27 { ++ target = <&i2cbus>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ ms8607: ms8607@76 { ++ compatible = "meas,ms8607-temppressure"; ++ reg = <0x76>; ++ }; ++ }; ++ }; ++ + __overrides__ { + bme280 = <0>,"+0"; + bmp085 = <0>,"+1"; +@@ -376,11 +446,18 @@ __overrides__ { + aht10 = <0>,"+20"; + mcp980x = <0>,"+21"; + jc42 = <0>,"+22"; ++ ms5637 = <0>,"+23"; ++ ms5803 = <0>,"+24"; ++ ms5805 = <0>,"+25"; ++ ms5837 = <0>,"+26"; ++ ms8607 = <0>,"+27"; + + addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0", + <&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0", + <&ds1621>,"reg:0", <&bme680>,"reg:0", <&ccs811>,"reg:0", +- <&bh1750>,"reg:0", <&mcp980x>,"reg:0", <&jc42>,"reg:0"; ++ <&bh1750>,"reg:0", <&mcp980x>,"reg:0", <&jc42>,"reg:0", ++ <&ms5637>,"reg:0", <&ms5803>,"reg:0", <&ms5805>,"reg:0", ++ <&ms5837>,"reg:0", <&ms8607>,"reg:0"; + int_pin = <&max30102>, "interrupts:0"; + no_timeout = <&jc42>, "smbus-timeout-disable?"; + }; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 4 Jan 2023 09:39:44 +0000 +Subject: [PATCH 1255/1284] configs: Enable the MS5637 temp + pressure driver + +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 2b55093513aa..cae25871dc71 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -1405,6 +1405,7 @@ CONFIG_IIO_HRTIMER_TRIGGER=m + CONFIG_IIO_INTERRUPT_TRIGGER=m + CONFIG_IIO_SYSFS_TRIGGER=m + CONFIG_BMP280=m ++CONFIG_MS5637=m + CONFIG_MAXIM_THERMOCOUPLE=m + CONFIG_MAX31856=m + CONFIG_PWM_BCM2835=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 4bf2b97e81f0..d7c97010ab75 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -1429,6 +1429,7 @@ CONFIG_IIO_HRTIMER_TRIGGER=m + CONFIG_IIO_INTERRUPT_TRIGGER=m + CONFIG_IIO_SYSFS_TRIGGER=m + CONFIG_BMP280=m ++CONFIG_MS5637=m + CONFIG_MAXIM_THERMOCOUPLE=m + CONFIG_MAX31856=m + CONFIG_PWM_BCM2835=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 8efe2a455ebd..6cf9bcda9b1f 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -1397,6 +1397,7 @@ CONFIG_IIO_HRTIMER_TRIGGER=m + CONFIG_IIO_INTERRUPT_TRIGGER=m + CONFIG_IIO_SYSFS_TRIGGER=m + CONFIG_BMP280=m ++CONFIG_MS5637=m + CONFIG_MAXIM_THERMOCOUPLE=m + CONFIG_MAX31856=m + CONFIG_PWM_BCM2835=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index ae1661b1aaac..a197431f5813 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -1443,6 +1443,7 @@ CONFIG_IIO_HRTIMER_TRIGGER=m + CONFIG_IIO_INTERRUPT_TRIGGER=m + CONFIG_IIO_SYSFS_TRIGGER=m + CONFIG_BMP280=m ++CONFIG_MS5637=m + CONFIG_MAXIM_THERMOCOUPLE=m + CONFIG_MAX31856=m + CONFIG_PWM_BCM2835=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index adc31138633b..7219c0f76e3b 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -1341,6 +1341,7 @@ CONFIG_IIO_HRTIMER_TRIGGER=m + CONFIG_IIO_INTERRUPT_TRIGGER=m + CONFIG_IIO_SYSFS_TRIGGER=m + CONFIG_BMP280=m ++CONFIG_MS5637=m + CONFIG_MAXIM_THERMOCOUPLE=m + CONFIG_MAX31856=m + CONFIG_PWM_BCM2835=m +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Wed, 4 Jan 2023 10:16:08 +0000 +Subject: [PATCH 1256/1284] media: dw9807-vcm: The device is not active + initially + +The probe calls pm_runtime_set_active in the probe, but +has never called dw9807_vcm_resume. +Without a regulator this causes no issue as it just +instructs the VCM to move to the idle position and power +down. With a regulator the pm_runtime_idle calls +dw9807_vcm_suspend, and we get a mismatch in the regulator framework. + +Make the active state conditional on having a regulator. + +Signed-off-by: Dave Stevenson +--- + drivers/media/i2c/dw9807-vcm.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/media/i2c/dw9807-vcm.c b/drivers/media/i2c/dw9807-vcm.c +index 3589d0b0698e..c9fa79aa332a 100644 +--- a/drivers/media/i2c/dw9807-vcm.c ++++ b/drivers/media/i2c/dw9807-vcm.c +@@ -371,7 +371,8 @@ static int dw9807_probe(struct i2c_client *client) + if (rval < 0) + goto err_cleanup; + +- pm_runtime_set_active(&client->dev); ++ if (!dw9807_dev->vdd) ++ pm_runtime_set_active(&client->dev); + pm_runtime_enable(&client->dev); + pm_runtime_idle(&client->dev); + +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Wed, 4 Jan 2023 10:23:55 +0000 +Subject: [PATCH 1257/1284] dtoverlays: Add orientation to imx708 README entry + +It got missed. + +Signed-off-by: Dave Stevenson +--- + arch/arm/boot/dts/overlays/README | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 912aa69d0412..a28af5cb8f11 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -2377,6 +2377,8 @@ Info: Sony IMX708 camera module. + Load: dtoverlay=imx708,= + Params: rotation Mounting rotation of the camera sensor (0 or + 180, default 180) ++ orientation Sensor orientation (0 = front, 1 = rear, ++ 2 = external, default external) + vcm Select lens driver state. Default is enabled, + but vcm=off will disable. + media-controller Configure use of Media Controller API for +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Naushir Patuck +Date: Thu, 5 Jan 2023 11:04:48 +0000 +Subject: [PATCH 1258/1284] imx708: Do not reset vblank to a default value + +imx708_set_framing_limits resets the vblank control to the mode default +value unconditionally. This causes it to overwrite the user specified +vblank and exposure control values when starting the sensor, since +it is called when handling V4L2_CID_WIDE_DYNAMIC_RANGE. + +Remove this call to s_ctrl as it is unnecessary. + +Signed-off-by: Naushir Patuck +--- + drivers/media/i2c/imx708.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/drivers/media/i2c/imx708.c b/drivers/media/i2c/imx708.c +index ad4eeb9bc8ce..8961ea1a605a 100644 +--- a/drivers/media/i2c/imx708.c ++++ b/drivers/media/i2c/imx708.c +@@ -1041,9 +1041,6 @@ static void imx708_set_framing_limits(struct imx708 *imx708) + IMX708_FRAME_LENGTH_MAX - mode->height, + 1, mode->vblank_default); + +- /* Setting this will adjust the exposure limits as well. */ +- __v4l2_ctrl_s_ctrl(imx708->vblank, mode->vblank_default); +- + /* + * Currently PPL is fixed to the mode specified value, so hblank + * depends on mode->width only, and is not changeable in any +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 15 May 2020 16:28:32 +0100 +Subject: [PATCH 1259/1284] rtc: rv3028: Mirror BSM and TCE/TCR to EEPROM + +Periodically the RV3028 refreshes registers from the EEPROM. When this +happens, some settings that have only been committed to registers are +lost. Change the handling of backup-switchover-mode and +trickle-resistor-ohms to write the EEPROM as well (if something has +changed). + +See: https://github.com/raspberrypi/linux/issues/2912 + +Signed-off-by: Phil Elwell +--- + drivers/rtc/rtc-rv3028.c | 51 ++++++++++++++++++++++++++++------------ + 1 file changed, 36 insertions(+), 15 deletions(-) + +diff --git a/drivers/rtc/rtc-rv3028.c b/drivers/rtc/rtc-rv3028.c +index 757c0ff82bdb..b0aa4928219d 100644 +--- a/drivers/rtc/rtc-rv3028.c ++++ b/drivers/rtc/rtc-rv3028.c +@@ -19,6 +19,7 @@ + #include + #include + #include ++//#include "rtc-core.h" + + #define RV3028_SEC 0x00 + #define RV3028_MIN 0x01 +@@ -80,7 +81,7 @@ + + #define RV3028_BACKUP_TCE BIT(5) + #define RV3028_BACKUP_TCR_MASK GENMASK(1,0) +-#define RV3028_BACKUP_BSM_MASK 0x0C ++#define RV3028_BACKUP_BSM_MASK GENMASK(3,2) + + #define OFFSET_STEP_PPT 953674 + +@@ -790,7 +791,8 @@ static int rv3028_probe(struct i2c_client *client) + struct rv3028_data *rv3028; + int ret, status; + u32 ohms; +- u8 bsm; ++ u32 bsm; ++ u8 backup, backup_bits, backup_mask; + struct nvmem_config nvmem_cfg = { + .name = "rv3028_nvram", + .word_size = 1, +@@ -857,16 +859,16 @@ static int rv3028_probe(struct i2c_client *client) + if (ret) + return ret; + ++ backup_bits = 0; ++ backup_mask = 0; ++ + /* setup backup switchover mode */ +- if (!device_property_read_u8(&client->dev, "backup-switchover-mode", +- &bsm)) { ++ if (!device_property_read_u32(&client->dev, ++ "backup-switchover-mode", ++ &bsm)) { + if (bsm <= 3) { +- ret = regmap_update_bits(rv3028->regmap, RV3028_BACKUP, +- RV3028_BACKUP_BSM_MASK, +- (bsm & 0x03) << 2); +- +- if (ret) +- return ret; ++ backup_bits |= (u8)(bsm << 2); ++ backup_mask |= RV3028_BACKUP_BSM_MASK; + } else { + dev_warn(&client->dev, "invalid backup switchover mode value\n"); + } +@@ -882,13 +884,32 @@ static int rv3028_probe(struct i2c_client *client) + break; + + if (i < ARRAY_SIZE(rv3028_trickle_resistors)) { +- ret = rv3028_update_cfg(rv3028, RV3028_BACKUP, RV3028_BACKUP_TCE | +- RV3028_BACKUP_TCR_MASK, RV3028_BACKUP_TCE | i); +- if (ret) +- return ret; ++ backup_bits |= RV3028_BACKUP_TCE | i; ++ backup_mask |= RV3028_BACKUP_TCE | ++ RV3028_BACKUP_TCR_MASK; + } else { +- dev_warn(&client->dev, "invalid trickle resistor value\n"); ++ dev_warn(&client->dev, ++ "invalid trickle resistor value\n"); ++ } ++ } ++ ++ if (backup_mask) { ++ ret = rv3028_eeprom_read((void *)(rv3028->regmap), ++ RV3028_BACKUP, ++ (void *)&backup, 1); ++ /* Write register and EEPROM if needed */ ++ if (!ret && (backup & backup_mask) != backup_bits) { ++ backup = (backup & ~backup_mask) | backup_bits; ++ ret = rv3028_update_cfg(rv3028, RV3028_BACKUP, ++ backup_mask, backup_bits); + } ++ ++ /* In the event of an EEPROM failure, just update the register */ ++ if (ret) ++ ret = regmap_update_bits(rv3028->regmap, RV3028_BACKUP, ++ backup_mask, backup_bits); ++ if (ret) ++ return ret; + } + + ret = rtc_add_group(rv3028->rtc, &rv3028_attr_group); +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 9 Jan 2023 09:56:46 +0000 +Subject: [PATCH 1260/1284] rtc: rv3028: Fix backup-switchover-mode crash + +Commit "rtc: rv3028: Mirror BSM and TCE/TCR to EEPROM" was a +forward-port from rpi-5.9.y, and between then and rpi-5.15.y the +rv3028_eeprom_read function was changed from requiring a regmap +pointer to a pointer to the rv3028_data structure. However, +because the declaration specifies a void * pointer, the compiler issues +no warning and the added call to rv3028_eeprom_read leads to an +exception when backup-switchover-mode is used. + +See: https://github.com/raspberrypi/linux/issues/2912 + +Signed-off-by: Phil Elwell +--- + drivers/rtc/rtc-rv3028.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/drivers/rtc/rtc-rv3028.c b/drivers/rtc/rtc-rv3028.c +index b0aa4928219d..a3594ccbaad5 100644 +--- a/drivers/rtc/rtc-rv3028.c ++++ b/drivers/rtc/rtc-rv3028.c +@@ -19,7 +19,6 @@ + #include + #include + #include +-//#include "rtc-core.h" + + #define RV3028_SEC 0x00 + #define RV3028_MIN 0x01 +@@ -894,8 +893,7 @@ static int rv3028_probe(struct i2c_client *client) + } + + if (backup_mask) { +- ret = rv3028_eeprom_read((void *)(rv3028->regmap), +- RV3028_BACKUP, ++ ret = rv3028_eeprom_read((void *)rv3028, RV3028_BACKUP, + (void *)&backup, 1); + /* Write register and EEPROM if needed */ + if (!ret && (backup & backup_mask) != backup_bits) { +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Naushir Patuck +Date: Thu, 5 Jan 2023 14:44:48 +0000 +Subject: [PATCH 1261/1284] drivers: media: imx708: Enable long exposure mode + +Enable long exposure modes by using the long exposure shift register setting +in the imx708 sensor. + +Signed-off-by: Naushir Patuck +--- + drivers/media/i2c/imx708.c | 41 +++++++++++++++++++++++++++++++++----- + 1 file changed, 36 insertions(+), 5 deletions(-) + +diff --git a/drivers/media/i2c/imx708.c b/drivers/media/i2c/imx708.c +index 8961ea1a605a..785275caf9a3 100644 +--- a/drivers/media/i2c/imx708.c ++++ b/drivers/media/i2c/imx708.c +@@ -44,6 +44,10 @@ + #define IMX708_REG_FRAME_LENGTH 0x0340 + #define IMX708_FRAME_LENGTH_MAX 0xffff + ++/* Long exposure multiplier */ ++#define IMX708_LONG_EXP_SHIFT_MAX 7 ++#define IMX708_LONG_EXP_SHIFT_REG 0x3100 ++ + /* Exposure control */ + #define IMX708_REG_EXPOSURE 0x0202 + #define IMX708_EXPOSURE_OFFSET 48 +@@ -806,6 +810,9 @@ struct imx708 { + + /* Rewrite common registers on stream on? */ + bool common_regs_written; ++ ++ /* Current long exposure factor in use. Set through V4L2_CID_VBLANK */ ++ unsigned int long_exp_shift; + }; + + static inline struct imx708 *to_imx708(struct v4l2_subdev *_sd) +@@ -994,7 +1001,8 @@ static int imx708_set_exposure(struct imx708 *imx708, unsigned int val) + * will automatically divide the medium and short ones by 4,16. + */ + ret = imx708_write_reg(imx708, IMX708_REG_EXPOSURE, +- IMX708_REG_VALUE_16BIT, val); ++ IMX708_REG_VALUE_16BIT, ++ val >> imx708->long_exp_shift); + + return ret; + } +@@ -1027,18 +1035,42 @@ static int imx708_set_analogue_gain(struct imx708 *imx708, unsigned int val) + return ret; + } + ++static int imx708_set_frame_length(struct imx708 *imx708, unsigned int val) ++{ ++ int ret = 0; ++ ++ imx708->long_exp_shift = 0; ++ ++ while (val > IMX708_FRAME_LENGTH_MAX) { ++ imx708->long_exp_shift++; ++ val >>= 1; ++ } ++ ++ ret = imx708_write_reg(imx708, IMX708_REG_FRAME_LENGTH, ++ IMX708_REG_VALUE_16BIT, val); ++ if (ret) ++ return ret; ++ ++ return imx708_write_reg(imx708, IMX708_LONG_EXP_SHIFT_REG, ++ IMX708_REG_VALUE_08BIT, imx708->long_exp_shift); ++} ++ + static void imx708_set_framing_limits(struct imx708 *imx708) + { + unsigned int hblank; + const struct imx708_mode *mode = imx708->mode; + ++ /* Default to no long exposure multiplier */ ++ imx708->long_exp_shift = 0; ++ + __v4l2_ctrl_modify_range(imx708->pixel_rate, + mode->pixel_rate, mode->pixel_rate, + 1, mode->pixel_rate); + + /* Update limits and set FPS to default */ + __v4l2_ctrl_modify_range(imx708->vblank, mode->vblank_min, +- IMX708_FRAME_LENGTH_MAX - mode->height, ++ ((1 << IMX708_LONG_EXP_SHIFT_MAX) * ++ IMX708_FRAME_LENGTH_MAX) - mode->height, + 1, mode->vblank_default); + + /* +@@ -1112,9 +1144,8 @@ static int imx708_set_ctrl(struct v4l2_ctrl *ctrl) + imx708->vflip->val << 1); + break; + case V4L2_CID_VBLANK: +- ret = imx708_write_reg(imx708, IMX708_REG_FRAME_LENGTH, +- IMX708_REG_VALUE_16BIT, +- imx708->mode->height + ctrl->val); ++ ret = imx708_set_frame_length(imx708, ++ imx708->mode->height + ctrl->val); + break; + case V4L2_CID_NOTIFY_GAINS: + ret = imx708_write_reg(imx708, IMX708_REG_COLOUR_BALANCE_BLUE, +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Duoming Zhou +Date: Mon, 30 May 2022 23:21:58 +0800 +Subject: [PATCH 1262/1284] ax25: Fix ax25 session cleanup problems + +commit 7d8a3a477b3e25ada8dc71d22048c2ea417209a0 upstream. + +There are session cleanup problems in ax25_release() and +ax25_disconnect(). If we setup a session and then disconnect, +the disconnected session is still in "LISTENING" state that +is shown below. + +Active AX.25 sockets +Dest Source Device State Vr/Vs Send-Q Recv-Q +DL9SAU-4 DL9SAU-3 ??? LISTENING 000/000 0 0 +DL9SAU-3 DL9SAU-4 ??? LISTENING 000/000 0 0 + +The first reason is caused by del_timer_sync() in ax25_release(). +The timers of ax25 are used for correct session cleanup. If we use +ax25_release() to close ax25 sessions and ax25_dev is not null, +the del_timer_sync() functions in ax25_release() will execute. +As a result, the sessions could not be cleaned up correctly, +because the timers have stopped. + +In order to solve this problem, this patch adds a device_up flag +in ax25_dev in order to judge whether the device is up. If there +are sessions to be cleaned up, the del_timer_sync() in +ax25_release() will not execute. What's more, we add ax25_cb_del() +in ax25_kill_by_device(), because the timers have been stopped +and there are no functions that could delete ax25_cb if we do not +call ax25_release(). Finally, we reorder the position of +ax25_list_lock in ax25_cb_del() in order to synchronize among +different functions that call ax25_cb_del(). + +The second reason is caused by improper check in ax25_disconnect(). +The incoming ax25 sessions which ax25->sk is null will close +heartbeat timer, because the check "if(!ax25->sk || ..)" is +satisfied. As a result, the session could not be cleaned up properly. + +In order to solve this problem, this patch changes the improper +check to "if(ax25->sk && ..)" in ax25_disconnect(). + +What`s more, the ax25_disconnect() may be called twice, which is +not necessary. For example, ax25_kill_by_device() calls +ax25_disconnect() and sets ax25->state to AX25_STATE_0, but +ax25_release() calls ax25_disconnect() again. + +In order to solve this problem, this patch add a check in +ax25_release(). If the flag of ax25->sk equals to SOCK_DEAD, +the ax25_disconnect() in ax25_release() should not be executed. + +Fixes: 82e31755e55f ("ax25: Fix UAF bugs in ax25 timers") +Fixes: 8a367e74c012 ("ax25: Fix segfault after sock connection timeout") +Reported-and-tested-by: Thomas Osterried +Signed-off-by: Duoming Zhou +Link: https://lore.kernel.org/r/20220530152158.108619-1-duoming@zju.edu.cn +Signed-off-by: Paolo Abeni +--- + include/net/ax25.h | 1 + + net/ax25/af_ax25.c | 27 +++++++++++++++++---------- + net/ax25/ax25_dev.c | 1 + + net/ax25/ax25_subr.c | 2 +- + 4 files changed, 20 insertions(+), 11 deletions(-) + +diff --git a/include/net/ax25.h b/include/net/ax25.h +index aadff553e4b7..5ae8e7d859c3 100644 +--- a/include/net/ax25.h ++++ b/include/net/ax25.h +@@ -237,6 +237,7 @@ typedef struct ax25_dev { + ax25_dama_info dama; + #endif + refcount_t refcount; ++ bool device_up; + } ax25_dev; + + typedef struct ax25_cb { +diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c +index f99ed1eddf5e..59f5374e4d2b 100644 +--- a/net/ax25/af_ax25.c ++++ b/net/ax25/af_ax25.c +@@ -62,12 +62,12 @@ static void ax25_free_sock(struct sock *sk) + */ + static void ax25_cb_del(ax25_cb *ax25) + { ++ spin_lock_bh(&ax25_list_lock); + if (!hlist_unhashed(&ax25->ax25_node)) { +- spin_lock_bh(&ax25_list_lock); + hlist_del_init(&ax25->ax25_node); +- spin_unlock_bh(&ax25_list_lock); + ax25_cb_put(ax25); + } ++ spin_unlock_bh(&ax25_list_lock); + } + + /* +@@ -81,6 +81,7 @@ static void ax25_kill_by_device(struct net_device *dev) + + if ((ax25_dev = ax25_dev_ax25dev(dev)) == NULL) + return; ++ ax25_dev->device_up = false; + + spin_lock_bh(&ax25_list_lock); + again: +@@ -91,6 +92,7 @@ static void ax25_kill_by_device(struct net_device *dev) + spin_unlock_bh(&ax25_list_lock); + ax25_disconnect(s, ENETUNREACH); + s->ax25_dev = NULL; ++ ax25_cb_del(s); + spin_lock_bh(&ax25_list_lock); + goto again; + } +@@ -103,6 +105,7 @@ static void ax25_kill_by_device(struct net_device *dev) + dev_put(ax25_dev->dev); + ax25_dev_put(ax25_dev); + } ++ ax25_cb_del(s); + release_sock(sk); + spin_lock_bh(&ax25_list_lock); + sock_put(sk); +@@ -995,9 +998,11 @@ static int ax25_release(struct socket *sock) + if (sk->sk_type == SOCK_SEQPACKET) { + switch (ax25->state) { + case AX25_STATE_0: +- release_sock(sk); +- ax25_disconnect(ax25, 0); +- lock_sock(sk); ++ if (!sock_flag(ax25->sk, SOCK_DEAD)) { ++ release_sock(sk); ++ ax25_disconnect(ax25, 0); ++ lock_sock(sk); ++ } + ax25_destroy_socket(ax25); + break; + +@@ -1053,11 +1058,13 @@ static int ax25_release(struct socket *sock) + ax25_destroy_socket(ax25); + } + if (ax25_dev) { +- del_timer_sync(&ax25->timer); +- del_timer_sync(&ax25->t1timer); +- del_timer_sync(&ax25->t2timer); +- del_timer_sync(&ax25->t3timer); +- del_timer_sync(&ax25->idletimer); ++ if (!ax25_dev->device_up) { ++ del_timer_sync(&ax25->timer); ++ del_timer_sync(&ax25->t1timer); ++ del_timer_sync(&ax25->t2timer); ++ del_timer_sync(&ax25->t3timer); ++ del_timer_sync(&ax25->idletimer); ++ } + dev_put(ax25_dev->dev); + ax25_dev_put(ax25_dev); + } +diff --git a/net/ax25/ax25_dev.c b/net/ax25/ax25_dev.c +index d2e0cc67d91a..c41e1e1eecc1 100644 +--- a/net/ax25/ax25_dev.c ++++ b/net/ax25/ax25_dev.c +@@ -62,6 +62,7 @@ void ax25_dev_device_up(struct net_device *dev) + ax25_dev->dev = dev; + dev_hold(dev); + ax25_dev->forward = NULL; ++ ax25_dev->device_up = true; + + ax25_dev->values[AX25_VALUES_IPDEFMODE] = AX25_DEF_IPDEFMODE; + ax25_dev->values[AX25_VALUES_AXDEFMODE] = AX25_DEF_AXDEFMODE; +diff --git a/net/ax25/ax25_subr.c b/net/ax25/ax25_subr.c +index 3a476e4f6cd0..9ff98f46dc6b 100644 +--- a/net/ax25/ax25_subr.c ++++ b/net/ax25/ax25_subr.c +@@ -268,7 +268,7 @@ void ax25_disconnect(ax25_cb *ax25, int reason) + del_timer_sync(&ax25->t3timer); + del_timer_sync(&ax25->idletimer); + } else { +- if (!ax25->sk || !sock_flag(ax25->sk, SOCK_DESTROY)) ++ if (ax25->sk && !sock_flag(ax25->sk, SOCK_DESTROY)) + ax25_stop_heartbeat(ax25); + ax25_stop_t1timer(ax25); + ax25_stop_t2timer(ax25); +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: David Plowman +Date: Tue, 10 Jan 2023 13:14:27 +0000 +Subject: [PATCH 1263/1284] drivers: media: i2c: imx708: Fix crop information + +The 1536x864 mode contained incorrect crop information. + +Signed-off-by: David Plowman +--- + drivers/media/i2c/imx708.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/drivers/media/i2c/imx708.c b/drivers/media/i2c/imx708.c +index 785275caf9a3..bd04eea793f3 100644 +--- a/drivers/media/i2c/imx708.c ++++ b/drivers/media/i2c/imx708.c +@@ -673,10 +673,10 @@ static const struct imx708_mode supported_modes_10bit_no_hdr[] = { + .height = 864, + .line_length_pix = 0x1460, + .crop = { +- .left = IMX708_PIXEL_ARRAY_LEFT, +- .top = IMX708_PIXEL_ARRAY_TOP, +- .width = 4608, +- .height = 2592, ++ .left = IMX708_PIXEL_ARRAY_LEFT + 768, ++ .top = IMX708_PIXEL_ARRAY_TOP + 432, ++ .width = 3072, ++ .height = 1728, + }, + .vblank_min = 40, + .vblank_default = 2755, +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 11 Jan 2023 10:06:12 +0000 +Subject: [PATCH 1264/1284] configs: Add DM_MULTIPATH=m + +"Allow volume managers to support multipath hardware." + +See: https://github.com/raspberrypi/linux/issues/4886 + +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 cae25871dc71..dfaf87681c1f 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -489,6 +489,7 @@ CONFIG_DM_MIRROR=m + CONFIG_DM_LOG_USERSPACE=m + CONFIG_DM_RAID=m + CONFIG_DM_ZERO=m ++CONFIG_DM_MULTIPATH=m + CONFIG_DM_DELAY=m + CONFIG_NETDEVICES=y + CONFIG_BONDING=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index d7c97010ab75..3893d12e851c 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -501,6 +501,7 @@ CONFIG_DM_MIRROR=m + CONFIG_DM_LOG_USERSPACE=m + CONFIG_DM_RAID=m + CONFIG_DM_ZERO=m ++CONFIG_DM_MULTIPATH=m + CONFIG_DM_DELAY=m + CONFIG_NETDEVICES=y + CONFIG_BONDING=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 6cf9bcda9b1f..1e66b6354b7b 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -483,6 +483,7 @@ CONFIG_DM_MIRROR=m + CONFIG_DM_LOG_USERSPACE=m + CONFIG_DM_RAID=m + CONFIG_DM_ZERO=m ++CONFIG_DM_MULTIPATH=m + CONFIG_DM_DELAY=m + CONFIG_NETDEVICES=y + CONFIG_BONDING=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index a197431f5813..2e0915d36dbc 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -503,6 +503,7 @@ CONFIG_DM_MIRROR=m + CONFIG_DM_LOG_USERSPACE=m + CONFIG_DM_RAID=m + CONFIG_DM_ZERO=m ++CONFIG_DM_MULTIPATH=m + CONFIG_DM_DELAY=m + CONFIG_NETDEVICES=y + CONFIG_BONDING=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 7219c0f76e3b..39c4519c111a 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -482,6 +482,7 @@ CONFIG_DM_MIRROR=m + CONFIG_DM_LOG_USERSPACE=m + CONFIG_DM_RAID=m + CONFIG_DM_ZERO=m ++CONFIG_DM_MULTIPATH=m + CONFIG_DM_DELAY=m + CONFIG_NETDEVICES=y + CONFIG_BONDING=m +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Thu, 8 Dec 2022 17:21:00 +0000 +Subject: [PATCH 1265/1284] drm_probe_helper: Cancel previous job before + starting new one + +Currently we schedule a call to output_poll_execute from drm_kms_helper_poll_enable for 10s in future. +Later we try to replace that in drm_helper_probe_single_connector_modes with a 0s schedule with delayed_event set. + +But as there is already a job in the queue this fails, and the immediate job we wanted with delayed_event set +doesn't occur until 10s later. + +And that call acts as if connector state has changed, reprobing modes. +This has a side effect of waking up a display that has been blanked. + +Make sure we cancel the old job before submitting the immediate one. + +Signed-off-by: Dom Cobley +--- + drivers/gpu/drm/drm_probe_helper.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c +index fcf32ec0b0c8..c1804f1ca855 100644 +--- a/drivers/gpu/drm/drm_probe_helper.c ++++ b/drivers/gpu/drm/drm_probe_helper.c +@@ -487,9 +487,11 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector, + * disable itself again. + */ + dev->mode_config.delayed_event = true; +- if (dev->mode_config.poll_enabled) ++ if (dev->mode_config.poll_enabled) { ++ cancel_delayed_work_sync(&dev->mode_config.output_poll_work); + schedule_delayed_work(&dev->mode_config.output_poll_work, + 0); ++ } + } + + /* Re-enable polling in case the global poll config changed. */ +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Wed, 11 Jan 2023 11:57:01 +0100 +Subject: [PATCH 1266/1284] drm/vc4: bo: Fix drmm_mutex_init memory hog + +Commit 374146cad469 ("drm/vc4: Switch to drmm_mutex_init") converted, +among other functions, vc4_create_object() to use drmm_mutex_init(). + +However, that function is used to allocate a BO, and therefore the +mutex needs to be freed much sooner than when the DRM device is removed +from the system. + +For each buffer allocation we thus end up allocating a small structure +as part of the DRM-managed mechanism that is never freed, eventually +leading us to no longer having any free memory anymore. + +Let's switch back to mutex_init/mutex_destroy to deal with it properly. + +Fixes: 374146cad469 ("drm/vc4: Switch to drmm_mutex_init") +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_bo.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c +index 719577bafb94..17fe08e5cb00 100644 +--- a/drivers/gpu/drm/vc4/vc4_bo.c ++++ b/drivers/gpu/drm/vc4/vc4_bo.c +@@ -177,6 +177,7 @@ static void vc4_bo_destroy(struct vc4_bo *bo) + bo->validated_shader = NULL; + } + ++ mutex_destroy(&bo->madv_lock); + drm_gem_cma_free_object(obj); + } + +@@ -406,9 +407,7 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size) + bo->madv = VC4_MADV_WILLNEED; + refcount_set(&bo->usecnt, 0); + +- ret = drmm_mutex_init(dev, &bo->madv_lock); +- if (ret) +- return ERR_PTR(ret); ++ mutex_init(&bo->madv_lock); + + mutex_lock(&vc4->bo_lock); + bo->label = VC4_BO_TYPE_KERNEL; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 12 Jan 2023 09:34:56 +0000 +Subject: [PATCH 1267/1284] drm/vc4: bo: Delete unused variable + +Fixes: drm/vc4: bo: Fix drmm_mutex_init memory hog + +Signed-off-by: Phil Elwell +--- + drivers/gpu/drm/vc4/vc4_bo.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c +index 17fe08e5cb00..36ba7e9311b6 100644 +--- a/drivers/gpu/drm/vc4/vc4_bo.c ++++ b/drivers/gpu/drm/vc4/vc4_bo.c +@@ -395,7 +395,6 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size) + { + struct vc4_dev *vc4 = to_vc4_dev(dev); + struct vc4_bo *bo; +- int ret; + + if (WARN_ON_ONCE(vc4->is_vc5)) + return ERR_PTR(-ENODEV); +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Mon, 14 Nov 2022 19:30:27 +0000 +Subject: [PATCH 1268/1284] drm/vc4: hdmi: Correct CSC setup for YCbCr4:4:4 + +The CSC requires the coefficients to be swapped around for +4:4:4 mode, but the swap was incorrectly defined. + +Correct the swap. + +Signed-off-by: Dave Stevenson +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index c02207839420..a20c5c13d7b4 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1315,12 +1315,12 @@ static void vc5_hdmi_set_csc_coeffs_swap(struct vc4_hdmi *vc4_hdmi, + lockdep_assert_held(&vc4_hdmi->hw_lock); + + /* YUV444 needs the CSC matrices using the channels in a different order */ +- HDMI_WRITE(HDMI_CSC_12_11, (coeffs[2][1] << 16) | coeffs[2][0]); +- HDMI_WRITE(HDMI_CSC_14_13, (coeffs[2][3] << 16) | coeffs[2][2]); +- HDMI_WRITE(HDMI_CSC_22_21, (coeffs[0][1] << 16) | coeffs[0][0]); +- HDMI_WRITE(HDMI_CSC_24_23, (coeffs[0][3] << 16) | coeffs[0][2]); +- HDMI_WRITE(HDMI_CSC_32_31, (coeffs[1][1] << 16) | coeffs[1][0]); +- HDMI_WRITE(HDMI_CSC_34_33, (coeffs[1][3] << 16) | coeffs[1][2]); ++ HDMI_WRITE(HDMI_CSC_12_11, (coeffs[1][1] << 16) | coeffs[1][0]); ++ HDMI_WRITE(HDMI_CSC_14_13, (coeffs[1][3] << 16) | coeffs[1][2]); ++ HDMI_WRITE(HDMI_CSC_22_21, (coeffs[2][1] << 16) | coeffs[2][0]); ++ HDMI_WRITE(HDMI_CSC_24_23, (coeffs[2][3] << 16) | coeffs[2][2]); ++ HDMI_WRITE(HDMI_CSC_32_31, (coeffs[0][1] << 16) | coeffs[0][0]); ++ HDMI_WRITE(HDMI_CSC_34_33, (coeffs[0][3] << 16) | coeffs[0][2]); + } + + static void vc5_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Mon, 14 Nov 2022 19:32:10 +0000 +Subject: [PATCH 1269/1284] drm/vc4: hdmi: Add property to allow manual config + of RGB or YCbCr + +Add a custom property "Output format" that allows the overriding +of the default colourspace choice in the way that the old +firmware hdmi_pixel_encoding property did. If the chosen format is not +supported, then it will still drop back to the older behaviour. + +This won't be acceptable to upstream, but it adds back the missing +functionality of hdmi_pixel_encoding. + +Signed-off-by: Dave Stevenson +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 56 ++++++++++++++++++++++++++++++++++ + drivers/gpu/drm/vc4/vc4_hdmi.h | 8 +++++ + 2 files changed, 64 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index a20c5c13d7b4..d8b79c65e6c4 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -538,6 +538,7 @@ static int vc4_hdmi_connector_atomic_check(struct drm_connector *connector, + + if (old_state->colorspace != new_state->colorspace || + old_vc4_state->broadcast_rgb != new_vc4_state->broadcast_rgb || ++ old_vc4_state->requested_output_format != new_vc4_state->requested_output_format || + !drm_connector_atomic_hdr_metadata_equal(old_state, new_state)) { + struct drm_crtc_state *crtc_state; + +@@ -572,6 +573,8 @@ int vc4_hdmi_connector_get_property(struct drm_connector *connector, + + if (property == vc4_hdmi->broadcast_rgb_property) { + *val = vc4_conn_state->broadcast_rgb; ++ } else if (property == vc4_hdmi->output_format_property) { ++ *val = vc4_conn_state->requested_output_format; + } else { + DRM_DEBUG_ATOMIC("Unknown property [PROP:%d:%s]\n", + property->base.id, property->name); +@@ -603,6 +606,9 @@ int vc4_hdmi_connector_set_property(struct drm_connector *connector, + if (property == vc4_hdmi->broadcast_rgb_property) { + vc4_conn_state->broadcast_rgb = val; + return 0; ++ } else if (property == vc4_hdmi->output_format_property) { ++ vc4_conn_state->requested_output_format = val; ++ return 0; + } + + DRM_DEBUG_ATOMIC("Unknown property [PROP:%d:%s]\n", +@@ -646,6 +652,7 @@ vc4_hdmi_connector_duplicate_state(struct drm_connector *connector) + new_state->pixel_rate = vc4_state->pixel_rate; + new_state->output_bpc = vc4_state->output_bpc; + new_state->output_format = vc4_state->output_format; ++ new_state->requested_output_format = vc4_state->requested_output_format; + new_state->broadcast_rgb = vc4_state->broadcast_rgb; + __drm_atomic_helper_connector_duplicate_state(connector, &new_state->base); + +@@ -693,6 +700,33 @@ vc4_hdmi_attach_broadcast_rgb_property(struct drm_device *dev, + drm_object_attach_property(&vc4_hdmi->connector.base, prop, 0); + } + ++static const struct drm_prop_enum_list output_format_names[] = { ++ { VC4_HDMI_OUTPUT_AUTO, "Automatic" }, ++ { VC4_HDMI_OUTPUT_RGB, "RGB" }, ++ { VC4_HDMI_OUTPUT_YUV422, "YCbCr 4:2:2" }, ++ { VC4_HDMI_OUTPUT_YUV444, "YCbCr 4:4:4" }, ++}; ++ ++static void ++vc4_hdmi_attach_output_format_property(struct drm_device *dev, ++ struct vc4_hdmi *vc4_hdmi) ++{ ++ struct drm_property *prop = vc4_hdmi->output_format_property; ++ ++ if (!prop) { ++ prop = drm_property_create_enum(dev, DRM_MODE_PROP_ENUM, ++ "Output format", ++ output_format_names, ++ ARRAY_SIZE(output_format_names)); ++ if (!prop) ++ return; ++ ++ vc4_hdmi->output_format_property = prop; ++ } ++ ++ drm_object_attach_property(&vc4_hdmi->connector.base, prop, 0); ++} ++ + static int vc4_hdmi_connector_init(struct drm_device *dev, + struct vc4_hdmi *vc4_hdmi) + { +@@ -740,6 +774,7 @@ static int vc4_hdmi_connector_init(struct drm_device *dev, + drm_connector_attach_hdr_output_metadata_property(connector); + + vc4_hdmi_attach_broadcast_rgb_property(dev, vc4_hdmi); ++ vc4_hdmi_attach_output_format_property(dev, vc4_hdmi); + + drm_connector_attach_encoder(connector, encoder); + +@@ -1869,6 +1904,7 @@ static void vc4_hdmi_encoder_atomic_mode_set(struct drm_encoder *encoder, + mutex_lock(&vc4_hdmi->mutex); + vc4_hdmi->output_bpc = vc4_state->output_bpc; + vc4_hdmi->output_format = vc4_state->output_format; ++ vc4_hdmi->requested_output_format = vc4_state->requested_output_format; + vc4_hdmi->broadcast_rgb = vc4_state->broadcast_rgb; + memcpy(&vc4_hdmi->saved_adjusted_mode, + &crtc_state->adjusted_mode, +@@ -2028,6 +2064,26 @@ vc4_hdmi_encoder_compute_format(const struct vc4_hdmi *vc4_hdmi, + const struct drm_display_info *info = &connector->display_info; + unsigned int format; + ++ if (vc4_state->requested_output_format != VC4_HDMI_OUTPUT_AUTO) { ++ drm_dbg(dev, "Trying with user requested output %u\n", ++ vc4_state->requested_output_format); ++ ++ format = vc4_state->requested_output_format; ++ if (vc4_hdmi_sink_supports_format_bpc(vc4_hdmi, info, mode, ++ format, bpc)) { ++ int ret; ++ ++ ret = vc4_hdmi_encoder_compute_clock(vc4_hdmi, vc4_state, ++ mode, bpc, format); ++ if (!ret) { ++ vc4_state->output_format = format; ++ return 0; ++ } ++ } ++ ++ return -EINVAL; ++ } ++ + drm_dbg(dev, "Trying with an RGB output\n"); + + format = VC4_HDMI_OUTPUT_RGB; +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h +index ecebccad4569..724b1453c593 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -111,6 +111,7 @@ struct vc4_hdmi_audio { + }; + + enum vc4_hdmi_output_format { ++ VC4_HDMI_OUTPUT_AUTO, + VC4_HDMI_OUTPUT_RGB, + VC4_HDMI_OUTPUT_YUV422, + VC4_HDMI_OUTPUT_YUV444, +@@ -130,6 +131,7 @@ struct vc4_hdmi { + struct delayed_work scrambling_work; + + struct drm_property *broadcast_rgb_property; ++ struct drm_property *output_format_property; + + struct i2c_adapter *ddc; + void __iomem *hdmicore_regs; +@@ -214,6 +216,11 @@ struct vc4_hdmi { + * for use outside of KMS hooks. Protected by @mutex. + */ + enum vc4_hdmi_output_format output_format; ++ /** ++ * @requested_output_format: Copy of @vc4_connector_state.requested_output_format ++ * for use outside of KMS hooks. Protected by @mutex. ++ */ ++ enum vc4_hdmi_output_format requested_output_format; + + /** + * @broadcast_rgb: Copy of @vc4_connector_state.broadcast_rgb +@@ -248,6 +255,7 @@ struct vc4_hdmi_connector_state { + unsigned long long pixel_rate; + unsigned int output_bpc; + enum vc4_hdmi_output_format output_format; ++ enum vc4_hdmi_output_format requested_output_format; + int broadcast_rgb; + }; + +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 13 Jan 2023 14:32:45 +0000 +Subject: [PATCH 1270/1284] .github/workflows: Set warnings-as-errors for + builds + +To avoid code with build warnings being introduced into the tree, force +CONFIG_WERROR=y in the build workflow. + +Signed-off-by: Phil Elwell +--- + .github/workflows/kernel-build.yml | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/.github/workflows/kernel-build.yml b/.github/workflows/kernel-build.yml +index 8e551dc4d0c5..5e446031c439 100644 +--- a/.github/workflows/kernel-build.yml ++++ b/.github/workflows/kernel-build.yml +@@ -38,6 +38,7 @@ jobs: + run: | + mkdir ${{github.workspace}}/build + make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2835_defconfig ++ scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y + make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image modules dtbs + mkdir -p ${{github.workspace}}/install/boot + make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +@@ -78,6 +79,7 @@ jobs: + run: | + mkdir ${{github.workspace}}/build + make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build defconfig ++ scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y + make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image.gz modules dtbs + mkdir -p ${{github.workspace}}/install/boot + make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +@@ -118,6 +120,7 @@ jobs: + run: | + mkdir ${{github.workspace}}/build + make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2711_defconfig ++ scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y + make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs + mkdir -p ${{github.workspace}}/install/boot + make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +@@ -158,6 +161,7 @@ jobs: + run: | + mkdir ${{github.workspace}}/build + make ARCH=arm KERNEL=kernel7 CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2709_defconfig ++ scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y + make ARCH=arm KERNEL=kernel7 CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs + mkdir -p ${{github.workspace}}/install/boot + make ARCH=arm KERNEL=kernel7 CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +@@ -198,6 +202,7 @@ jobs: + run: | + mkdir ${{github.workspace}}/build + make ARCH=arm KERNEL=kernel7l CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2711_defconfig ++ scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y + make ARCH=arm KERNEL=kernel7l CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs + mkdir -p ${{github.workspace}}/install/boot + make ARCH=arm KERNEL=kernel7l CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +@@ -248,6 +253,7 @@ jobs: + run: | + mkdir ${{github.workspace}}/build + make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build bcm2711_defconfig ++ scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y + make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image.gz modules dtbs + mkdir -p ${{github.workspace}}/install/boot + make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 13 Jan 2023 16:31:08 +0000 +Subject: [PATCH 1271/1284] configs: Add PWM=y to restore the PWM drivers + +An upstream change now requires PWM=y to enable all PWM settings, +so add it. + +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 dfaf87681c1f..74fac5b2059d 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -1409,6 +1409,7 @@ CONFIG_BMP280=m + CONFIG_MS5637=m + CONFIG_MAXIM_THERMOCOUPLE=m + CONFIG_MAX31856=m ++CONFIG_PWM=y + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_PWM_RASPBERRYPI_POE=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 3893d12e851c..a4307d064d76 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -1433,6 +1433,7 @@ CONFIG_BMP280=m + CONFIG_MS5637=m + CONFIG_MAXIM_THERMOCOUPLE=m + CONFIG_MAX31856=m ++CONFIG_PWM=y + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_PWM_RASPBERRYPI_POE=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 1e66b6354b7b..ea464535e53f 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -1401,6 +1401,7 @@ CONFIG_BMP280=m + CONFIG_MS5637=m + CONFIG_MAXIM_THERMOCOUPLE=m + CONFIG_MAX31856=m ++CONFIG_PWM=y + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_PWM_RASPBERRYPI_POE=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 2e0915d36dbc..6dd197463da6 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -1447,6 +1447,7 @@ CONFIG_BMP280=m + CONFIG_MS5637=m + CONFIG_MAXIM_THERMOCOUPLE=m + CONFIG_MAX31856=m ++CONFIG_PWM=y + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_PWM_RASPBERRYPI_POE=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 39c4519c111a..f31973ecf1a6 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -1345,6 +1345,7 @@ CONFIG_BMP280=m + CONFIG_MS5637=m + CONFIG_MAXIM_THERMOCOUPLE=m + CONFIG_MAX31856=m ++CONFIG_PWM=y + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_PWM_RASPBERRYPI_POE=m +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Lukas Wunner +Date: Sat, 14 Jan 2023 10:03:46 +0100 +Subject: [PATCH 1272/1284] bcm2835-mmc: Honor return value of mmc_of_parse() + +bcm2835_mmc_probe() ignores errors returned by mmc_of_parse() and in +particular ignores -EPROBE_DEFER, which may be returned if the power +sequencing driver configured in the devicetree is compiled as a module. + +The user-visible result is that access to the SDIO device fails because +its power sequencing requirements have not been observed. Fix it. + +Signed-off-by: Lukas Wunner +--- + drivers/mmc/host/bcm2835-mmc.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c +index cdc1318e5936..bb6bbfbff732 100644 +--- a/drivers/mmc/host/bcm2835-mmc.c ++++ b/drivers/mmc/host/bcm2835-mmc.c +@@ -1475,7 +1475,9 @@ static int bcm2835_mmc_probe(struct platform_device *pdev) + } + + if (node) { +- mmc_of_parse(mmc); ++ ret = mmc_of_parse(mmc); ++ if (ret) ++ goto err; + + /* Read any custom properties */ + of_property_read_u32(node, +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 17 Jan 2023 15:47:04 +0000 +Subject: [PATCH 1273/1284] overlays: i2c-sensor: Add mpu6050 and mpu9250 + +Add support for the MPU6050 and MPU9250 IMU sensors to the i2c-sensor +container overlay. At the same time, deprecate the standalone mpu6050 +overlay, but keep it around for now. + +(Also fix a few typos spotted while editing) + +See: https://github.com/raspberrypi/linux/issues/5325 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/README | 26 ++++++----- + .../boot/dts/overlays/i2c-sensor-common.dtsi | 43 ++++++++++++++++++- + arch/arm/boot/dts/overlays/overlay_map.dts | 4 ++ + 3 files changed, 61 insertions(+), 12 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index a28af5cb8f11..12d7619dab55 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1983,8 +1983,8 @@ Info: Adds support for a number of I2C barometric pressure, temperature, + Load: dtoverlay=i2c-sensor,= + Params: addr Set the address for the BH1750, BME280, BME680, + BMP280, CCS811, DS1621, HDC100X, JC42, LM75, +- MCP980x, MS5637, MS5803, MS5805, MS5837, MS8607, +- SHT3x or TMP102 ++ MCP980x, MPU6050, MPU9250, MS5637, MS5803, ++ MS5805, MS5837, MS8607, SHT3x or TMP102 + + aht10 Select the Aosong AHT10 temperature and humidity + sensor +@@ -2016,8 +2016,8 @@ Params: addr Set the address for the BH1750, BME280, BME680, + + htu21 Select the HTU21 temperature and humidity sensor + +- int_pin Set the GPIO to use for interrupts (max30102 +- only) ++ int_pin Set the GPIO to use for interrupts (max30102, ++ mpu6050 and mpu9250 only) + + jc42 Select any of the many JEDEC JC42.4-compliant + temperature sensors, including: +@@ -2045,6 +2045,12 @@ Params: addr Set the address for the BH1750, BME280, BME680, + use the "jc42" option. + Valid addresses are 0x18-0x1f (default 0x18) + ++ mpu6050 Select the InvenSense MPU6050 IMU. Valid ++ valid addresses are 0x68 and 0x69 (default 0x68) ++ ++ mpu9250 Select the InvenSense MPU9250 IMU. Valid ++ valid addresses are 0x68 and 0x69 (default 0x68) ++ + ms5637 Select the Measurement Specialities MS5637 + pressure and temperature sensor. + +@@ -2913,10 +2919,10 @@ Params: overclock_50 Clock (in MHz) to use when the MMC framework + + + Name: mpu6050 +-Info: Overlay for i2c connected mpu6050 imu +-Load: dtoverlay=mpu6050,= +-Params: interrupt GPIO pin for interrupt (default 4) +- addr I2C address of the device (default 0x68) ++Info: This overlay has been deprecated - use "dtoverlay=i2c-sensor,mpu6050" ++ instead. Note that "int_pin" is the new name for the "interrupt" ++ parameter. ++Load: + + + Name: mz61581 +@@ -3416,7 +3422,7 @@ Params: + + + Name: rpi-dac +-Info: This overlay has been renaamed to i2s-dac. ++Info: This overlay has been renamed to i2s-dac. + Load: + + +@@ -3546,7 +3552,7 @@ Params: poe_fan_temp0 Temperature (in millicelcius) at which the fan + + + Name: rpi-proto +-Info: This overlay has been renamaed to proto-codec. ++Info: This overlay has been renamed to proto-codec. + Load: + + +diff --git a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi +index 6504c7578b9d..4b3519e4be52 100755 +--- a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi ++++ b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi +@@ -421,6 +421,40 @@ ms8607: ms8607@76 { + }; + }; + ++ fragment@28 { ++ target = <&i2cbus>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ clock-frequency = <400000>; ++ ++ mpu6050: mpu6050@68 { ++ compatible = "invensense,mpu6050"; ++ reg = <0x68>; ++ interrupt-parent = <&gpio>; ++ interrupts = <4 2>; ++ }; ++ }; ++ }; ++ ++ fragment@29 { ++ target = <&i2cbus>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ clock-frequency = <400000>; ++ ++ mpu9250: mpu9250@68 { ++ compatible = "invensense,mpu9250"; ++ reg = <0x68>; ++ interrupt-parent = <&gpio>; ++ interrupts = <4 2>; ++ }; ++ }; ++ }; ++ + __overrides__ { + bme280 = <0>,"+0"; + bmp085 = <0>,"+1"; +@@ -451,14 +485,19 @@ __overrides__ { + ms5805 = <0>,"+25"; + ms5837 = <0>,"+26"; + ms8607 = <0>,"+27"; ++ mpu6050 = <0>,"+28"; ++ mpu9250 = <0>,"+29"; + + addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0", + <&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0", + <&ds1621>,"reg:0", <&bme680>,"reg:0", <&ccs811>,"reg:0", + <&bh1750>,"reg:0", <&mcp980x>,"reg:0", <&jc42>,"reg:0", + <&ms5637>,"reg:0", <&ms5803>,"reg:0", <&ms5805>,"reg:0", +- <&ms5837>,"reg:0", <&ms8607>,"reg:0"; +- int_pin = <&max30102>, "interrupts:0"; ++ <&ms5837>,"reg:0", <&ms8607>,"reg:0", ++ <&mpu6050>, "reg:0", <&mpu9250>, "reg:0"; ++ int_pin = <&max30102>, "interrupts:0", ++ <&mpu6050>, "interrupts:0", ++ <&mpu9250>, "interrupts:0"; + no_timeout = <&jc42>, "smbus-timeout-disable?"; + }; + }; +diff --git a/arch/arm/boot/dts/overlays/overlay_map.dts b/arch/arm/boot/dts/overlays/overlay_map.dts +index fda036488d41..f1d1e0cf30d2 100644 +--- a/arch/arm/boot/dts/overlays/overlay_map.dts ++++ b/arch/arm/boot/dts/overlays/overlay_map.dts +@@ -61,6 +61,10 @@ midi-uart5 { + bcm2711; + }; + ++ mpu6050 { ++ deprecated = "use i2c-sensor,mpu6050"; ++ }; ++ + pcie-32bit-dma { + bcm2711; + }; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 18 Jan 2023 09:34:31 +0000 +Subject: [PATCH 1274/1284] .github/workflows: Correct kernel builds artifacts + +Modify the kernel build workflow to create artifacts with the correct +names and structure, both as an example of what we expect and in case +anyone wants to use the output. + +Signed-off-by: Phil Elwell +--- + .github/workflows/kernel-build.yml | 76 ++++++++++++++++-------------- + 1 file changed, 41 insertions(+), 35 deletions(-) + +diff --git a/.github/workflows/kernel-build.yml b/.github/workflows/kernel-build.yml +index 5e446031c439..231fcc2a4601 100644 +--- a/.github/workflows/kernel-build.yml ++++ b/.github/workflows/kernel-build.yml +@@ -37,14 +37,15 @@ jobs: + - name: Build kernel + run: | + mkdir ${{github.workspace}}/build +- make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2835_defconfig ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2835_defconfig + scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image modules dtbs +- mkdir -p ${{github.workspace}}/install/boot ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot/overlays + make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install + cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ +- cp -r ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm/boot/Image ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/arch/arm/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/kernel.img + + - name: Tar build + run: tar -cvf bcm2835_build.tar -C ${{github.workspace}}/install . +@@ -78,14 +79,15 @@ jobs: + - name: Build kernel + run: | + mkdir ${{github.workspace}}/build +- make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build defconfig ++ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build defconfig + scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image.gz modules dtbs +- mkdir -p ${{github.workspace}}/install/boot +- make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image.gz modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot/overlays ++ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install + cp ${{github.workspace}}/build/arch/arm64/boot/dts/broadcom/*.dtb ${{github.workspace}}/install/boot/ +- cp -r ${{github.workspace}}/build/arch/arm64/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm64/boot/Image.gz ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm64/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/arch/arm64/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/build/arch/arm64/boot/Image.gz ${{github.workspace}}/install/boot/kernel8.img + + - name: Tar build + run: tar -cvf arm64_build.tar -C ${{github.workspace}}/install . +@@ -119,14 +121,15 @@ jobs: + - name: Build kernel + run: | + mkdir ${{github.workspace}}/build +- make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2711_defconfig ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcmrpi_defconfig + scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs +- mkdir -p ${{github.workspace}}/install/boot +- make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot/overlays ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install + cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ +- cp -r ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/arch/arm/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/kernel.img + + - name: Tar build + run: tar -cvf bcmrpi_build.tar -C ${{github.workspace}}/install . +@@ -160,14 +163,15 @@ jobs: + - name: Build kernel + run: | + mkdir ${{github.workspace}}/build +- make ARCH=arm KERNEL=kernel7 CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2709_defconfig ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2709_defconfig + scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm KERNEL=kernel7 CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs +- mkdir -p ${{github.workspace}}/install/boot +- make ARCH=arm KERNEL=kernel7 CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot/overlays ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install + cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ +- cp -r ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/arch/arm/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/kernel7.img + + - name: Tar build + run: tar -cvf bcm2709_build.tar -C ${{github.workspace}}/install . +@@ -201,14 +205,15 @@ jobs: + - name: Build kernel + run: | + mkdir ${{github.workspace}}/build +- make ARCH=arm KERNEL=kernel7l CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2711_defconfig ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2711_defconfig + scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm KERNEL=kernel7l CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs +- mkdir -p ${{github.workspace}}/install/boot +- make ARCH=arm KERNEL=kernel7l CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot/overlays ++ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install + cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ +- cp -r ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/arch/arm/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/kernel7l.img + + - name: Tar build + run: tar -cvf bcm2711_build.tar -C ${{github.workspace}}/install . +@@ -252,14 +257,15 @@ jobs: + - name: Build kernel + run: | + mkdir ${{github.workspace}}/build +- make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build bcm2711_defconfig ++ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build bcm2711_defconfig + scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image.gz modules dtbs +- mkdir -p ${{github.workspace}}/install/boot +- make ARCH=arm64 KERNEL=kernel8 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image.gz modules dtbs ++ mkdir -p ${{github.workspace}}/install/boot/overlays ++ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install + cp ${{github.workspace}}/build/arch/arm64/boot/dts/broadcom/*.dtb ${{github.workspace}}/install/boot/ +- cp -r ${{github.workspace}}/build/arch/arm64/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm64/boot/Image.gz ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/arm64/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/arch/arm64/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/build/arch/arm64/boot/Image.gz ${{github.workspace}}/install/boot/kernel8.img + + - name: Tar build + run: tar -cvf bcm2711_arm64_build.tar -C ${{github.workspace}}/install . +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Cox +Date: Thu, 19 Jan 2023 16:46:32 +0000 +Subject: [PATCH 1275/1284] media: bcm2835-v4l2-codec: Enable selection ioctl + for ISP + +The ISP cases do nothing. Remove the break that separates them from the +deinterlace case so they now do the same as deinterlace. This enables +simple width & height setting, but does not enable setting left and +top coordinates. + +Signed-off-by: John Cox +--- + .../staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 2 -- + 1 file changed, 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 cc072aa1b357..2b15070af7fe 100644 +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -1855,7 +1855,6 @@ static int vidioc_g_selection(struct file *file, void *priv, + } + break; + case ISP: +- break; + case DEINTERLACE: + if (s->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { + switch (s->target) { +@@ -1979,7 +1978,6 @@ static int vidioc_s_selection(struct file *file, void *priv, + } + break; + case ISP: +- break; + case DEINTERLACE: + if (s->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { + switch (s->target) { +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Thu, 16 Dec 2021 14:54:54 +0100 +Subject: [PATCH 1276/1284] drm/vc4: hvs: Defer dlist slots deallocation + +During normal operations, the cursor position update is done through an +asynchronous plane update, which on the vc4 driver basically just +modifies the right dlist word to move the plane to the new coordinates. + +However, when we have the overscan margins setup, we fall back to a +regular commit when we are next to the edges. And since that commit +happens to be on a cursor plane, it's considered a legacy cursor update +by KMS. + +The main difference it makes is that it won't wait for its completion +(ie, next vblank) before returning. This means if we have multiple +commits happening in rapid succession, we can have several of them +happening before the next vblank. + +In parallel, our dlist allocation is tied to a CRTC state, and each time +we do a commit we end up with a new CRTC state, with the previous one +being freed. This means that we free our previous dlist entry (but don't +clear it though) every time a new one is being committed. + +Now, if we were to have two commits happening before the next vblank, we +could end up freeing reusing the same dlist entries before the next +vblank. + +Indeed, we would start from an initial state taking, for example, the +dlist entries 10 to 20, then start a commit taking the entries 20 to 30 +and setting the dlist pointer to 20, and freeing the dlist entries 10 to +20. However, since we haven't reach vblank yet, the HVS is still using +the entries 10 to 20. + +If we were to make a new commit now, chances are the allocator are going +to give the 10 to 20 entries back, and we would change their content to +match the new state. If vblank hasn't happened yet, we just corrupted +the active dlist entries. + +A first attempt to solve this was made by creating an intermediate dlist +buffer to store the current (ie, as of the last commit) dlist content, +that we would update each time the HVS is done with a frame. However, if +the interrupt handler missed the vblank window, we would end up copying +our intermediate dlist to the hardware one during the composition, +essentially creating the same issue. + +Since making sure that our interrupt handler runs within a fixed, +constrained, time window would require to make Linux a real-time kernel, +this seems a bit out of scope. + +Instead, we can work around our original issue by keeping the dlist +slots allocation longer. That way, we won't reuse a dlist slot while +it's still in flight. In order to achieve this, instead of freeing the +dlist slot when its associated CRTC state is destroyed, we'll queue it +in a list. + +A naive implementation would free the buffers in that queue when we get +our end of frame interrupt. However, there's still a race since, just +like in the shadow dlist case, we don't control when the handler for +that interrupt is going to run. Thus, we can end up with a commit adding +an old dlist allocation to our queue during the window between our +actual interrupt and when our handler will run. And since that buffer is +still being used for the composition of the current frame, we can't free +it right away, exposing us to the original bug. + +Fortunately for us, the hardware provides a frame counter that is +increased each time the first line of a frame is being generated. +Associating the frame counter the image is supposed to go away to the +allocation, and then only deallocate buffers that have a counter below +or equal to the one we see when the deallocation code should prevent the +above race from occuring. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_crtc.c | 10 +- + drivers/gpu/drm/vc4/vc4_drv.h | 15 ++- + drivers/gpu/drm/vc4/vc4_hvs.c | 183 ++++++++++++++++++++++++++++++--- + 3 files changed, 185 insertions(+), 23 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c +index c154dc54e2f3..9449ae6aa17a 100644 +--- a/drivers/gpu/drm/vc4/vc4_crtc.c ++++ b/drivers/gpu/drm/vc4/vc4_crtc.c +@@ -1052,14 +1052,8 @@ void vc4_crtc_destroy_state(struct drm_crtc *crtc, + struct vc4_dev *vc4 = to_vc4_dev(crtc->dev); + struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(state); + +- if (drm_mm_node_allocated(&vc4_state->mm)) { +- unsigned long flags; +- +- spin_lock_irqsave(&vc4->hvs->mm_lock, flags); +- drm_mm_remove_node(&vc4_state->mm); +- spin_unlock_irqrestore(&vc4->hvs->mm_lock, flags); +- +- } ++ vc4_hvs_mark_dlist_entry_stale(vc4->hvs, vc4_state->mm); ++ vc4_state->mm = NULL; + + drm_atomic_helper_crtc_destroy_state(crtc, state); + } +diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h +index 364f9c05016a..fa82310e0062 100644 +--- a/drivers/gpu/drm/vc4/vc4_drv.h ++++ b/drivers/gpu/drm/vc4/vc4_drv.h +@@ -340,6 +340,9 @@ struct vc4_hvs { + struct drm_mm lbm_mm; + spinlock_t mm_lock; + ++ struct list_head stale_dlist_entries; ++ struct work_struct free_dlist_work; ++ + struct drm_mm_node mitchell_netravali_filter; + + struct debugfs_regset32 regset; +@@ -589,10 +592,16 @@ struct drm_connector *vc4_get_crtc_connector(struct drm_crtc *crtc, + struct drm_encoder *vc4_get_crtc_encoder(struct drm_crtc *crtc, + struct drm_crtc_state *state); + ++struct vc4_hvs_dlist_allocation { ++ struct list_head node; ++ struct drm_mm_node mm_node; ++ unsigned int channel; ++ u8 target_frame_count; ++}; ++ + struct vc4_crtc_state { + struct drm_crtc_state base; +- /* Dlist area for this CRTC configuration. */ +- struct drm_mm_node mm; ++ struct vc4_hvs_dlist_allocation *mm; + bool txp_armed; + unsigned int assigned_channel; + +@@ -988,6 +997,8 @@ extern struct platform_driver vc4_hvs_driver; + void vc4_hvs_stop_channel(struct vc4_hvs *hvs, unsigned int output); + int vc4_hvs_get_fifo_from_output(struct vc4_hvs *hvs, unsigned int output); + u8 vc4_hvs_get_fifo_frame_count(struct vc4_hvs *hvs, unsigned int fifo); ++void vc4_hvs_mark_dlist_entry_stale(struct vc4_hvs *hvs, ++ struct vc4_hvs_dlist_allocation *alloc); + int vc4_hvs_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *state); + void vc4_hvs_atomic_begin(struct drm_crtc *crtc, struct drm_atomic_state *state); + void vc4_hvs_atomic_enable(struct drm_crtc *crtc, struct drm_atomic_state *state); +diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c +index 217f53b403b8..63c2eb25676a 100644 +--- a/drivers/gpu/drm/vc4/vc4_hvs.c ++++ b/drivers/gpu/drm/vc4/vc4_hvs.c +@@ -410,6 +410,152 @@ static void vc5_hvs_update_gamma_lut(struct vc4_hvs *hvs, + vc5_hvs_lut_load(hvs, vc4_crtc); + } + ++static void vc4_hvs_irq_enable_eof(const struct vc4_hvs *hvs, ++ unsigned int channel) ++{ ++ struct vc4_dev *vc4 = hvs->vc4; ++ u32 irq_mask = vc4->is_vc5 ? ++ SCALER5_DISPCTRL_DSPEIEOF(channel) : ++ SCALER_DISPCTRL_DSPEIEOF(channel); ++ ++ HVS_WRITE(SCALER_DISPCTRL, ++ HVS_READ(SCALER_DISPCTRL) | irq_mask); ++} ++ ++static void vc4_hvs_irq_clear_eof(const struct vc4_hvs *hvs, ++ unsigned int channel) ++{ ++ struct vc4_dev *vc4 = hvs->vc4; ++ u32 irq_mask = vc4->is_vc5 ? ++ SCALER5_DISPCTRL_DSPEIEOF(channel) : ++ SCALER_DISPCTRL_DSPEIEOF(channel); ++ ++ HVS_WRITE(SCALER_DISPCTRL, ++ HVS_READ(SCALER_DISPCTRL) & ~irq_mask); ++} ++ ++static struct vc4_hvs_dlist_allocation * ++vc4_hvs_alloc_dlist_entry(struct vc4_hvs *hvs, ++ unsigned int channel, ++ size_t dlist_count) ++{ ++ struct vc4_hvs_dlist_allocation *alloc; ++ unsigned long flags; ++ int ret; ++ ++ if (channel == VC4_HVS_CHANNEL_DISABLED) ++ return NULL; ++ ++ alloc = kzalloc(sizeof(*alloc), GFP_KERNEL); ++ if (!alloc) ++ return ERR_PTR(-ENOMEM); ++ ++ spin_lock_irqsave(&hvs->mm_lock, flags); ++ ret = drm_mm_insert_node(&hvs->dlist_mm, &alloc->mm_node, ++ dlist_count); ++ spin_unlock_irqrestore(&hvs->mm_lock, flags); ++ if (ret) ++ return ERR_PTR(ret); ++ ++ alloc->channel = channel; ++ ++ return alloc; ++} ++ ++void vc4_hvs_mark_dlist_entry_stale(struct vc4_hvs *hvs, ++ struct vc4_hvs_dlist_allocation *alloc) ++{ ++ unsigned long flags; ++ u8 frcnt; ++ ++ if (!alloc) ++ return; ++ ++ if (!drm_mm_node_allocated(&alloc->mm_node)) ++ return; ++ ++ frcnt = vc4_hvs_get_fifo_frame_count(hvs, alloc->channel); ++ alloc->target_frame_count = (frcnt + 1) & ((1 << 6) - 1); ++ ++ spin_lock_irqsave(&hvs->mm_lock, flags); ++ ++ list_add_tail(&alloc->node, &hvs->stale_dlist_entries); ++ ++ HVS_WRITE(SCALER_DISPSTAT, SCALER_DISPSTAT_EOF(alloc->channel)); ++ vc4_hvs_irq_enable_eof(hvs, alloc->channel); ++ ++ spin_unlock_irqrestore(&hvs->mm_lock, flags); ++} ++ ++static void vc4_hvs_schedule_dlist_sweep(struct vc4_hvs *hvs, ++ unsigned int channel) ++{ ++ unsigned long flags; ++ ++ spin_lock_irqsave(&hvs->mm_lock, flags); ++ ++ if (!list_empty(&hvs->stale_dlist_entries)) ++ queue_work(system_unbound_wq, &hvs->free_dlist_work); ++ ++ vc4_hvs_irq_clear_eof(hvs, channel); ++ ++ spin_unlock_irqrestore(&hvs->mm_lock, flags); ++} ++ ++/* ++ * Frame counts are essentially sequence numbers over 6 bits, and we ++ * thus can use sequence number arithmetic and follow the RFC1982 to ++ * implement proper comparison between them. ++ */ ++static bool vc4_hvs_frcnt_lte(u8 cnt1, u8 cnt2) ++{ ++ return (s8)((cnt1 << 2) - (cnt2 << 2)) <= 0; ++} ++ ++/* ++ * Some atomic commits (legacy cursor updates, mostly) will not wait for ++ * the next vblank and will just return once the commit has been pushed ++ * to the hardware. ++ * ++ * On the hardware side, our HVS stores the planes parameters in its ++ * context RAM, and will use part of the RAM to store data during the ++ * frame rendering. ++ * ++ * This interacts badly if we get multiple commits before the next ++ * vblank since we could end up overwriting the DLIST entries used by ++ * previous commits if our dlist allocation reuses that entry. In such a ++ * case, we would overwrite the data currently being used by the ++ * hardware, resulting in a corrupted frame. ++ * ++ * In order to work around this, we'll queue the dlist entries in a list ++ * once the associated CRTC state is destroyed. The HVS only allows us ++ * to know which entry is being active, but not which one are no longer ++ * being used, so in order to avoid freeing entries that are still used ++ * by the hardware we add a guesstimate of the frame count where our ++ * entry will no longer be used, and thus will only free those entries ++ * when we will have reached that frame count. ++ */ ++static void vc4_hvs_dlist_free_work(struct work_struct *work) ++{ ++ struct vc4_hvs *hvs = container_of(work, struct vc4_hvs, free_dlist_work); ++ struct vc4_hvs_dlist_allocation *cur, *next; ++ unsigned long flags; ++ ++ spin_lock_irqsave(&hvs->mm_lock, flags); ++ list_for_each_entry_safe(cur, next, &hvs->stale_dlist_entries, node) { ++ u8 frcnt; ++ ++ frcnt = vc4_hvs_get_fifo_frame_count(hvs, cur->channel); ++ if (!vc4_hvs_frcnt_lte(cur->target_frame_count, frcnt)) ++ continue; ++ ++ list_del(&cur->node); ++ drm_mm_remove_node(&cur->mm_node); ++ kfree(cur); ++ } ++ spin_unlock_irqrestore(&hvs->mm_lock, flags); ++} ++ + u8 vc4_hvs_get_fifo_frame_count(struct vc4_hvs *hvs, unsigned int fifo) + { + struct drm_device *drm = &hvs->vc4->base; +@@ -641,13 +787,12 @@ int vc4_hvs_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *state) + { + struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, crtc); + struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc_state); ++ struct vc4_hvs_dlist_allocation *alloc; + struct drm_device *dev = crtc->dev; + struct vc4_dev *vc4 = to_vc4_dev(dev); + struct drm_plane *plane; +- unsigned long flags; + const struct drm_plane_state *plane_state; + u32 dlist_count = 0; +- int ret; + + /* The pixelvalve can only feed one encoder (and encoders are + * 1:1 with connectors.) +@@ -660,12 +805,11 @@ int vc4_hvs_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *state) + + dlist_count++; /* Account for SCALER_CTL0_END. */ + +- spin_lock_irqsave(&vc4->hvs->mm_lock, flags); +- ret = drm_mm_insert_node(&vc4->hvs->dlist_mm, &vc4_state->mm, +- dlist_count); +- spin_unlock_irqrestore(&vc4->hvs->mm_lock, flags); +- if (ret) +- return ret; ++ alloc = vc4_hvs_alloc_dlist_entry(vc4->hvs, vc4_state->assigned_channel, dlist_count); ++ if (IS_ERR(alloc)) ++ return PTR_ERR(alloc); ++ ++ vc4_state->mm = alloc; + + return vc4_hvs_gamma_check(crtc, state); + } +@@ -681,8 +825,9 @@ static void vc4_hvs_install_dlist(struct drm_crtc *crtc) + if (!drm_dev_enter(dev, &idx)) + return; + ++ WARN_ON(!vc4_state->mm); + HVS_WRITE(SCALER_DISPLISTX(vc4_state->assigned_channel), +- vc4_state->mm.start); ++ vc4_state->mm->mm_node.start); + + drm_dev_exit(idx); + } +@@ -709,8 +854,10 @@ static void vc4_hvs_update_dlist(struct drm_crtc *crtc) + spin_unlock_irqrestore(&dev->event_lock, flags); + } + ++ WARN_ON(!vc4_state->mm); ++ + spin_lock_irqsave(&vc4_crtc->irq_lock, flags); +- vc4_crtc->current_dlist = vc4_state->mm.start; ++ vc4_crtc->current_dlist = vc4_state->mm->mm_node.start; + spin_unlock_irqrestore(&vc4_crtc->irq_lock, flags); + } + +@@ -767,8 +914,7 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, + struct vc4_plane_state *vc4_plane_state; + bool debug_dump_regs = false; + bool enable_bg_fill = false; +- u32 __iomem *dlist_start = vc4->hvs->dlist + vc4_state->mm.start; +- u32 __iomem *dlist_next = dlist_start; ++ u32 __iomem *dlist_start, *dlist_next; + unsigned int zpos = 0; + bool found = false; + int idx; +@@ -788,6 +934,9 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, + vc4_hvs_dump_state(hvs); + } + ++ dlist_start = vc4->hvs->dlist + vc4_state->mm->mm_node.start; ++ dlist_next = dlist_start; ++ + /* Copy all the active planes' dlist contents to the hardware dlist. */ + do { + found = false; +@@ -821,7 +970,8 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, + writel(SCALER_CTL0_END, dlist_next); + dlist_next++; + +- WARN_ON_ONCE(dlist_next - dlist_start != vc4_state->mm.size); ++ WARN_ON(!vc4_state->mm); ++ WARN_ON_ONCE(dlist_next - dlist_start != vc4_state->mm->mm_node.size); + + if (enable_bg_fill) + /* This sets a black background color fill, as is the case +@@ -960,6 +1110,11 @@ static irqreturn_t vc4_hvs_irq_handler(int irq, void *data) + + irqret = IRQ_HANDLED; + } ++ ++ if (status & SCALER_DISPSTAT_EOF(channel)) { ++ vc4_hvs_schedule_dlist_sweep(hvs, channel); ++ irqret = IRQ_HANDLED; ++ } + } + + /* Clear every per-channel interrupt flag. */ +@@ -1078,6 +1233,8 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) + hvs->dlist = hvs->regs + SCALER5_DLIST_START; + + spin_lock_init(&hvs->mm_lock); ++ INIT_LIST_HEAD(&hvs->stale_dlist_entries); ++ INIT_WORK(&hvs->free_dlist_work, vc4_hvs_dlist_free_work); + + /* Set up the HVS display list memory manager. We never + * overwrite the setup from the bootloader (just 128b out of +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Wed, 11 Jan 2023 17:30:58 +0000 +Subject: [PATCH 1277/1284] vc4/hdmi: Always enable GCP with AVMUTE cleared + +See: https://forum.libreelec.tv/thread/24780-le-10-0-1-rpi4-no-picture-after-update-from-le-10-0-0 + +Issue is some displays go blank at the point of firmware to kms handover. +Plugging/unplugging hdmi cable, power cycling display, or switching standby off/on +typically resolve this case. + +Finally managed to find a display that suffers from this, and track down the issue. + +The firmware uses AVMUTE in normal operation. It will set AVMUTE before disabling hdmi +clocks and phy. It will clear AVMUTE after clocks and phy are set up for a new hdmi mode. + +But with the hdmi handover from firmware to kms, AVMUTE will be set by firmware. + +kms driver typically has no GCP packet (except for deep colour modes). +The spec isn't clear on whether to consider the AVMUTE as continuing indefinitely +in the absense of a GCP packet, or to consider that state to have ended. + +Most displays behave as we want, but there are a number (from mutiple manufacturers) +which need to see AVMUTE cleared before displaying a picture. + +Lets just always enable GCP packet with AVMUTE cleared. That resolves the issue on +problematic displays. + +From HDMI 1.4 spec: +A CD field of zero (Color Depth not indicated) shall be used whenever the Sink does +not indicate support for Deep Color. This value may also be used in Deep Color mode +to transmit a GCP indicating only non-Deep Color information (e.g. AVMUTE). + +So use CD=0 where we were previously not enabling a GCP. + +Signed-off-by: Dom Cobley +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index d8b79c65e6c4..4dfeaa30d760 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -108,6 +108,10 @@ + #define VC5_HDMI_GCP_WORD_1_GCP_SUBPACKET_BYTE_1_SHIFT 8 + #define VC5_HDMI_GCP_WORD_1_GCP_SUBPACKET_BYTE_1_MASK VC4_MASK(15, 8) + ++#define VC5_HDMI_GCP_WORD_1_GCP_SUBPACKET_BYTE_0_MASK VC4_MASK(7, 0) ++#define VC5_HDMI_GCP_WORD_1_GCP_SUBPACKET_BYTE_0_SET_AVMUTE BIT(0) ++#define VC5_HDMI_GCP_WORD_1_GCP_SUBPACKET_BYTE_0_CLEAR_AVMUTE BIT(4) ++ + # define VC4_HD_M_SW_RST BIT(2) + # define VC4_HD_M_ENABLE BIT(0) + +@@ -1539,7 +1543,6 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, + VC4_HDMI_VERTB_VBP)); + unsigned long flags; + unsigned char gcp; +- bool gcp_en; + u32 reg; + int idx; + +@@ -1574,16 +1577,13 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, + switch (vc4_state->output_bpc) { + case 12: + gcp = 6; +- gcp_en = true; + break; + case 10: + gcp = 5; +- gcp_en = true; + break; + case 8: + default: +- gcp = 4; +- gcp_en = false; ++ gcp = 0; + break; + } + +@@ -1592,8 +1592,7 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, + * doesn't signal in GCP + */ + if (vc4_state->output_format == VC4_HDMI_OUTPUT_YUV422) { +- gcp = 4; +- gcp_en = false; ++ gcp = 0; + } + + reg = HDMI_READ(HDMI_DEEP_COLOR_CONFIG_1); +@@ -1606,11 +1605,12 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, + reg = HDMI_READ(HDMI_GCP_WORD_1); + reg &= ~VC5_HDMI_GCP_WORD_1_GCP_SUBPACKET_BYTE_1_MASK; + reg |= VC4_SET_FIELD(gcp, VC5_HDMI_GCP_WORD_1_GCP_SUBPACKET_BYTE_1); ++ reg &= ~VC5_HDMI_GCP_WORD_1_GCP_SUBPACKET_BYTE_0_MASK; ++ reg |= VC5_HDMI_GCP_WORD_1_GCP_SUBPACKET_BYTE_0_CLEAR_AVMUTE; + HDMI_WRITE(HDMI_GCP_WORD_1, reg); + + reg = HDMI_READ(HDMI_GCP_CONFIG); +- reg &= ~VC5_HDMI_GCP_CONFIG_GCP_ENABLE; +- reg |= gcp_en ? VC5_HDMI_GCP_CONFIG_GCP_ENABLE : 0; ++ reg |= VC5_HDMI_GCP_CONFIG_GCP_ENABLE; + HDMI_WRITE(HDMI_GCP_CONFIG, reg); + + reg = HDMI_READ(HDMI_MISC_CONTROL); +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 23 Jan 2023 16:50:51 +0000 +Subject: [PATCH 1278/1284] .github/workflows: Switch to a matrix build + +Remove the per-build duplication by putting build parameters in a +matrix. + +Signed-off-by: Phil Elwell +--- + .github/workflows/kernel-build.yml | 293 ++++++----------------------- + 1 file changed, 59 insertions(+), 234 deletions(-) + +diff --git a/.github/workflows/kernel-build.yml b/.github/workflows/kernel-build.yml +index 231fcc2a4601..9bfff5998f21 100644 +--- a/.github/workflows/kernel-build.yml ++++ b/.github/workflows/kernel-build.yml +@@ -15,93 +15,40 @@ env: + NUM_JOBS: 3 + + jobs: +- build-bcm2835: +- +- runs-on: ubuntu-latest +- +- steps: +- - name: Update install +- run: +- sudo apt-get update +- +- - name: Install toolchain +- run: +- sudo apt-get install gcc-arm-linux-gnueabihf +- timeout-minutes: 5 +- +- - uses: actions/checkout@v3 +- with: +- fetch-depth: 1 +- clean: true +- +- - name: Build kernel +- run: | +- mkdir ${{github.workspace}}/build +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2835_defconfig +- scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs +- mkdir -p ${{github.workspace}}/install/boot/overlays +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +- cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/arch/arm/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/kernel.img +- +- - name: Tar build +- run: tar -cvf bcm2835_build.tar -C ${{github.workspace}}/install . +- +- - name: Upload results +- uses: actions/upload-artifact@v3 +- with: +- name: bcm2835_build +- path: bcm2835_build.tar +- retention-days: 7 +- +- build-arm64: +- +- runs-on: ubuntu-latest +- +- steps: +- - name: Update install +- run: +- sudo apt-get update +- +- - name: Install toolchain +- run: +- sudo apt-get install gcc-aarch64-linux-gnu +- timeout-minutes: 5 +- +- - uses: actions/checkout@v3 +- with: +- fetch-depth: 1 +- clean: true +- +- - name: Build kernel +- run: | +- mkdir ${{github.workspace}}/build +- make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build defconfig +- scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image.gz modules dtbs +- mkdir -p ${{github.workspace}}/install/boot/overlays +- make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +- cp ${{github.workspace}}/build/arch/arm64/boot/dts/broadcom/*.dtb ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm64/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/arch/arm64/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/build/arch/arm64/boot/Image.gz ${{github.workspace}}/install/boot/kernel8.img +- +- - name: Tar build +- run: tar -cvf arm64_build.tar -C ${{github.workspace}}/install . +- +- - name: Upload results +- uses: actions/upload-artifact@v3 +- with: +- name: arm64_build +- path: arm64_build.tar +- retention-days: 7 +- +- build-bcmrpi: +- ++ build: + runs-on: ubuntu-latest ++ strategy: ++ matrix: ++ include: ++ - name: bcm2835 ++ arch: arm ++ defconfig: bcm2835_defconfig ++ kernel: kernel ++ ++ - name: arm64 ++ arch: arm64 ++ defconfig: defconfig ++ kernel: kernel8 ++ ++ - name: bcmrpi ++ arch: arm ++ defconfig: bcmrpi_defconfig ++ kernel: kernel ++ ++ - name: bcm2709 ++ arch: arm ++ defconfig: bcm2709_defconfig ++ kernel: kernel7 ++ ++ - name: bcm2711 ++ arch: arm ++ defconfig: bcm2711_defconfig ++ kernel: kernel7l ++ ++ - name: bcm2711_arm64 ++ arch: arm64 ++ defconfig: bcm2711_defconfig ++ kernel: kernel8 + + steps: + - name: Update install +@@ -110,143 +57,11 @@ jobs: + + - name: Install toolchain + run: +- sudo apt-get install gcc-arm-linux-gnueabihf +- timeout-minutes: 5 +- +- - uses: actions/checkout@v3 +- with: +- fetch-depth: 1 +- clean: true +- +- - name: Build kernel +- run: | +- mkdir ${{github.workspace}}/build +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcmrpi_defconfig +- scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs +- mkdir -p ${{github.workspace}}/install/boot/overlays +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +- cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/arch/arm/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/kernel.img +- +- - name: Tar build +- run: tar -cvf bcmrpi_build.tar -C ${{github.workspace}}/install . +- +- - name: Upload results +- uses: actions/upload-artifact@v3 +- with: +- name: bcmrpi_build +- path: bcmrpi_build.tar +- retention-days: 7 +- +- build-bcm2709: +- +- runs-on: ubuntu-latest +- +- steps: +- - name: Update install +- run: +- sudo apt-get update +- +- - name: Install toolchain +- run: +- sudo apt-get install gcc-arm-linux-gnueabihf +- timeout-minutes: 5 +- +- - uses: actions/checkout@v3 +- with: +- fetch-depth: 1 +- clean: true +- +- - name: Build kernel +- run: | +- mkdir ${{github.workspace}}/build +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2709_defconfig +- scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs +- mkdir -p ${{github.workspace}}/install/boot/overlays +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +- cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/arch/arm/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/kernel7.img +- +- - name: Tar build +- run: tar -cvf bcm2709_build.tar -C ${{github.workspace}}/install . +- +- - name: Upload results +- uses: actions/upload-artifact@v3 +- with: +- name: bcm2709_build +- path: bcm2709_build.tar +- retention-days: 7 +- +- build-bcm2711: +- +- runs-on: ubuntu-latest +- +- steps: +- - name: Update install +- run: +- sudo apt-get update +- +- - name: Install toolchain +- run: +- sudo apt-get install gcc-arm-linux-gnueabihf +- timeout-minutes: 5 +- +- - uses: actions/checkout@v3 +- with: +- fetch-depth: 1 +- clean: true +- +- - name: Build kernel +- run: | +- mkdir ${{github.workspace}}/build +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build bcm2711_defconfig +- scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} zImage modules dtbs +- mkdir -p ${{github.workspace}}/install/boot/overlays +- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +- cp ${{github.workspace}}/build/arch/arm/boot/dts/*.dtb ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/arch/arm/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/build/arch/arm/boot/zImage ${{github.workspace}}/install/boot/kernel7l.img +- +- - name: Tar build +- run: tar -cvf bcm2711_build.tar -C ${{github.workspace}}/install . +- +- - name: Upload results +- uses: actions/upload-artifact@v3 +- with: +- name: bcm2711_build +- path: bcm2711_build.tar +- retention-days: 7 +- +- build-bcm2711-arm64: +- +- runs-on: ubuntu-latest +- +- steps: +- - name: Update install +- run: +- sudo apt-get update +- +- - name: Install toolchain +- run: +- sudo apt-get install gcc-arm-linux-gnueabihf +- timeout-minutes: 5 +- +- - uses: actions/checkout@v3 +- with: +- fetch-depth: 1 +- clean: true +- +- - name: Install toolchain +- run: +- sudo apt-get install gcc-aarch64-linux-gnu ++ if [[ "${{matrix.arch}}" == "arm64" ]]; then ++ sudo apt-get install gcc-aarch64-linux-gnu; ++ else ++ sudo apt-get install gcc-arm-linux-gnueabihf; ++ fi + timeout-minutes: 5 + + - uses: actions/checkout@v3 +@@ -254,25 +69,35 @@ jobs: + fetch-depth: 1 + clean: true + +- - name: Build kernel ++ - name: Build kernel ${{matrix.name}} + run: | + mkdir ${{github.workspace}}/build +- make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build bcm2711_defconfig ++ export ARCH=${{matrix.arch}} ++ if [[ "$ARCH" == "arm64" ]]; then ++ export CROSS_COMPILE=aarch64-linux-gnu- ++ export DTS_SUBDIR=broadcom ++ export IMAGE=Image.gz ++ else ++ export CROSS_COMPILE=arm-linux-gnueabihf- ++ export DTS_SUBDIR= ++ export IMAGE=zImage ++ fi ++ make O=${{github.workspace}}/build ${{matrix.defconfig}} + scripts/config --file ${{github.workspace}}/build/.config --set-val CONFIG_WERROR y +- make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} Image.gz modules dtbs ++ make O=${{github.workspace}}/build -j ${{env.NUM_JOBS}} $IMAGE modules dtbs + mkdir -p ${{github.workspace}}/install/boot/overlays +- make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install +- cp ${{github.workspace}}/build/arch/arm64/boot/dts/broadcom/*.dtb ${{github.workspace}}/install/boot/ +- cp ${{github.workspace}}/build/arch/arm64/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/arch/arm64/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ +- cp ${{github.workspace}}/build/arch/arm64/boot/Image.gz ${{github.workspace}}/install/boot/kernel8.img ++ make O=${{github.workspace}}/build INSTALL_MOD_PATH=${{github.workspace}}/install modules_install ++ cp ${{github.workspace}}/build/arch/${ARCH}/boot/dts/${DTS_SUBDIR}/*.dtb ${{github.workspace}}/install/boot/ ++ cp ${{github.workspace}}/build/arch/${ARCH}/boot/dts/overlays/*.dtb* ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/arch/${ARCH}/boot/dts/overlays/README ${{github.workspace}}/install/boot/overlays/ ++ cp ${{github.workspace}}/build/arch/${ARCH}/boot/$IMAGE ${{github.workspace}}/install/boot/${{matrix.kernel}}.img + + - name: Tar build +- run: tar -cvf bcm2711_arm64_build.tar -C ${{github.workspace}}/install . ++ run: tar -cvf ${{matrix.name}}_build.tar -C ${{github.workspace}}/install . + + - name: Upload results + uses: actions/upload-artifact@v3 + with: +- name: bcm2711_arm64_build +- path: bcm2711_arm64_build.tar ++ name: ${{matrix.name}}_build ++ path: ${{matrix.name}}_build.tar + retention-days: 7 +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 24 Jan 2023 11:15:02 +0000 +Subject: [PATCH 1279/1284] overlays: i2c-sensor: Add comment re fragment gap + +From rpi-6.1.y the i2c-sensor overlay includes support for the BNO055, +which occupies fragments 30 & 31. The driver for this devices does not +exist in the 5.15 kernel, so the rpi-5.15.y version of the overlay does +not include it. + +Forward-porting new sensors added to rpi-5.15.y is made easier if the +same fragment numbers are used, so add a comment in the rpi-5.15.y +source explaining the gap. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi +index 4b3519e4be52..ed3a207d08de 100755 +--- a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi ++++ b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi +@@ -455,6 +455,8 @@ mpu9250: mpu9250@68 { + }; + }; + ++ // Fragments 30 and 31 omitted due to BNO055 support in rpi-6.1.y ++ + __overrides__ { + bme280 = <0>,"+0"; + bmp085 = <0>,"+1"; +@@ -487,6 +489,7 @@ __overrides__ { + ms8607 = <0>,"+27"; + mpu6050 = <0>,"+28"; + mpu9250 = <0>,"+29"; ++ // Skip 30 and 31 + + addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0", + <&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0", +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 24 Jan 2023 11:34:38 +0000 +Subject: [PATCH 1280/1284] overlays: i2c-sensor: Add SHT4X support + +Add support for the Sensirion SHT4X temperature and humidity +sensor. + +See: https://github.com/raspberrypi/linux/issues/5334 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/README | 8 ++++++-- + .../arm/boot/dts/overlays/i2c-sensor-common.dtsi | 16 ++++++++++++++++ + 2 files changed, 22 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 12d7619dab55..dba128f28f36 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -2071,8 +2071,12 @@ Params: addr Set the address for the BH1750, BME280, BME680, + incompatible device can stop it from being + activated. + +- sht3x Select the Sensiron SHT3x temperature and +- humidity sensor. Valid addresses 0x44-0x45, ++ sht3x Select the Sensirion SHT3x temperature and ++ humidity sensors. Valid addresses 0x44-0x45, ++ default 0x44 ++ ++ sht4x Select the Sensirion SHT4x temperature and ++ humidity sensors. Valid addresses 0x44-0x45, + default 0x44 + + si7020 Select the Silicon Labs Si7013/20/21 humidity/ +diff --git a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi +index ed3a207d08de..464858756739 100755 +--- a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi ++++ b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi +@@ -457,6 +457,21 @@ mpu9250: mpu9250@68 { + + // Fragments 30 and 31 omitted due to BNO055 support in rpi-6.1.y + ++ fragment@32 { ++ target = <&i2cbus>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ sht4x: sht4x@44 { ++ compatible = "sht4x"; ++ reg = <0x44>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ + __overrides__ { + bme280 = <0>,"+0"; + bmp085 = <0>,"+1"; +@@ -490,6 +505,7 @@ __overrides__ { + mpu6050 = <0>,"+28"; + mpu9250 = <0>,"+29"; + // Skip 30 and 31 ++ sht4x = <0>,"+32"; + + addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0", + <&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0", +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 24 Jan 2023 11:43:46 +0000 +Subject: [PATCH 1281/1284] configs: Enable the sht4x driver + +See: https://github.com/raspberrypi/linux/issues/5334 + +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 74fac5b2059d..d53a9fb04089 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -740,6 +740,7 @@ CONFIG_SENSORS_PWM_FAN=m + CONFIG_SENSORS_RASPBERRYPI_HWMON=m + CONFIG_SENSORS_SHT21=m + CONFIG_SENSORS_SHT3x=m ++CONFIG_SENSORS_SHT4x=m + CONFIG_SENSORS_SHTC1=m + CONFIG_SENSORS_EMC2305=m + CONFIG_SENSORS_INA2XX=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index a4307d064d76..7dce62338347 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -757,6 +757,7 @@ CONFIG_SENSORS_PWM_FAN=m + CONFIG_SENSORS_RASPBERRYPI_HWMON=m + CONFIG_SENSORS_SHT21=m + CONFIG_SENSORS_SHT3x=m ++CONFIG_SENSORS_SHT4x=m + CONFIG_SENSORS_SHTC1=m + CONFIG_SENSORS_EMC2305=m + CONFIG_SENSORS_INA2XX=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index ea464535e53f..2202b94e5e50 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -733,6 +733,7 @@ CONFIG_SENSORS_PWM_FAN=m + CONFIG_SENSORS_RASPBERRYPI_HWMON=m + CONFIG_SENSORS_SHT21=m + CONFIG_SENSORS_SHT3x=m ++CONFIG_SENSORS_SHT4x=m + CONFIG_SENSORS_SHTC1=m + CONFIG_SENSORS_EMC2305=m + CONFIG_SENSORS_INA2XX=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 6dd197463da6..0f1aaec51ed2 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -760,6 +760,7 @@ CONFIG_SENSORS_PWM_FAN=m + CONFIG_SENSORS_RASPBERRYPI_HWMON=m + CONFIG_SENSORS_SHT21=m + CONFIG_SENSORS_SHT3x=m ++CONFIG_SENSORS_SHT4x=m + CONFIG_SENSORS_SHTC1=m + CONFIG_SENSORS_EMC2305=m + CONFIG_SENSORS_INA2XX=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index f31973ecf1a6..3d1702d24cee 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -733,6 +733,7 @@ CONFIG_SENSORS_PWM_FAN=m + CONFIG_SENSORS_RASPBERRYPI_HWMON=m + CONFIG_SENSORS_SHT21=m + CONFIG_SENSORS_SHT3x=m ++CONFIG_SENSORS_SHT4x=m + CONFIG_SENSORS_SHTC1=m + CONFIG_SENSORS_EMC2305=m + CONFIG_SENSORS_INA2XX=m +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 24 Jan 2023 14:40:45 +0000 +Subject: [PATCH 1282/1284] overlays: i2c-common: Enable sht3x address + selection + +The address selection patch was omitted from the commit adding sht3x +support. + +See: https://github.com/raspberrypi/linux/issues/5334 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi +index 464858756739..2ea72783b879 100755 +--- a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi ++++ b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi +@@ -513,7 +513,8 @@ __overrides__ { + <&bh1750>,"reg:0", <&mcp980x>,"reg:0", <&jc42>,"reg:0", + <&ms5637>,"reg:0", <&ms5803>,"reg:0", <&ms5805>,"reg:0", + <&ms5837>,"reg:0", <&ms8607>,"reg:0", +- <&mpu6050>, "reg:0", <&mpu9250>, "reg:0"; ++ <&mpu6050>,"reg:0", <&mpu9250>,"reg:0", ++ <&sht4x>,"reg:0"; + int_pin = <&max30102>, "interrupts:0", + <&mpu6050>, "interrupts:0", + <&mpu9250>, "interrupts:0"; +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell <8911409+pelwell@users.noreply.github.com> +Date: Wed, 25 Jan 2023 10:19:52 +0000 +Subject: [PATCH 1283/1284] README.md: Replace 6.0 build status with 6.2 + +6.0 is EOL and 6.2 is heading towards release, so update the build status display accordingly. +--- + README.md | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/README.md b/README.md +index 605abc67589e..09fad0ca57dc 100644 +--- a/README.md ++++ b/README.md +@@ -21,10 +21,10 @@ Build status for rpi-5.15.y: + [![Pi kernel build tests](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml/badge.svg?branch=rpi-5.15.y)](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml) + [![dtoverlaycheck](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml/badge.svg?branch=rpi-5.15.y)](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml) + +-Build status for rpi-6.0.y: +-[![Pi kernel build tests](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml/badge.svg?branch=rpi-6.0.y)](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml) +-[![dtoverlaycheck](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml/badge.svg?branch=rpi-6.0.y)](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml) +- + Build status for rpi-6.1.y: + [![Pi kernel build tests](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml/badge.svg?branch=rpi-6.1.y)](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml) + [![dtoverlaycheck](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml/badge.svg?branch=rpi-6.1.y)](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml) ++ ++Build status for rpi-6.2.y: ++[![Pi kernel build tests](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml/badge.svg?branch=rpi-6.2.y)](https://github.com/raspberrypi/linux/actions/workflows/kernel-build.yml) ++[![dtoverlaycheck](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml/badge.svg?branch=rpi-6.2.y)](https://github.com/raspberrypi/linux/actions/workflows/dtoverlaycheck.yml) +-- +2.39.0 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 25 Jan 2023 15:01:43 +0000 +Subject: [PATCH 1284/1284] .github/workflows: Retain artifacts for 90 days + +Signed-off-by: Phil Elwell +--- + .github/workflows/kernel-build.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.github/workflows/kernel-build.yml b/.github/workflows/kernel-build.yml +index 9bfff5998f21..87eb13939be6 100644 +--- a/.github/workflows/kernel-build.yml ++++ b/.github/workflows/kernel-build.yml +@@ -100,4 +100,4 @@ jobs: + with: + name: ${{matrix.name}}_build + path: ${{matrix.name}}_build.tar +- retention-days: 7 ++ retention-days: 90 +-- +2.39.0 diff --git a/SPECS/raspberrypi2.spec b/SPECS/raspberrypi2.spec index 9153152..524f95d 100644 --- a/SPECS/raspberrypi2.spec +++ b/SPECS/raspberrypi2.spec @@ -1,5 +1,5 @@ -%global commit_firmware_long b8a7365c70c68a85a52200cd84b94ea7332bce94 -%global commit_linux_long 3e3acdd755007b8f5839088d8946981207c217bf +%global commit_firmware_long 52cf38d0ae55a8b7426e55974292a920265b7927 +%global commit_linux_long 0dea520e0ef59a311869f2209156ad6c16d753c8 ExclusiveArch: aarch64 armv7hl @@ -32,7 +32,7 @@ ExclusiveArch: aarch64 armv7hl %define extra_version 1 %define kversion 5.15 -%define kfullversion %{kversion}.80 +%define kfullversion %{kversion}.90 Name: raspberrypi2 Version: %{kfullversion} @@ -297,6 +297,9 @@ cp $(ls -1 /boot/config-kernel-*-*|sort -V|tail -1) /boot/config-kernel.inc %doc /boot/LICENCE.broadcom %changelog +* Sun Jan 29 2023 Pablo Greco - 5.15.90 +- Update to version v5.15.90 + * Sun Nov 27 2022 Pablo Greco - 5.15.80 - Update to version v5.15.80