From 3635c4a59f68669174b06f77522da5ed8be3e493 Mon Sep 17 00:00:00 2001 From: Pablo Greco Date: Apr 09 2023 12:51:36 +0000 Subject: Update to 6.1.23 --- diff --git a/.raspberrypi2.metadata b/.raspberrypi2.metadata index 6ff4780..9da1fd0 100644 --- a/.raspberrypi2.metadata +++ b/.raspberrypi2.metadata @@ -1,3 +1,3 @@ 30996d7c1c59ddbd495bd9eb37c8dfdb1a67c1c3 SOURCES/linux-6.1.tar.xz -319f1807d96063d19ad3cd4bcad5459494711b30 SOURCES/52cf38d0ae55a8b7426e55974292a920265b7927.tar.gz -f5653345a39d854949a2287b9bf896304fa9d369 SOURCES/patch-6.1.8.xz +9306b76ca66da645153a1f2ef131ad13a984283e SOURCES/add727346b1459c04995e2b66e2b01686eca20c9.tar.gz +6788e2d2ee052e5ca3252f2ff636ee04bfeef856 SOURCES/patch-6.1.23.xz diff --git a/SOURCES/rpi-6.1.x.patch b/SOURCES/rpi-6.1.x.patch index 9d72a0d..e0a7ec8 100644 --- a/SOURCES/rpi-6.1.x.patch +++ b/SOURCES/rpi-6.1.x.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Quinten Date: Fri, 18 Jun 2021 13:02:29 +0200 -Subject: [PATCH 001/590] Support RPi DPI interface in mode6 for 18-bit color +Subject: [PATCH 001/717] 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. @@ -12,7 +12,7 @@ Signed-off-by: Joerg Quinten 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c -index 1f8f44b7b5a5..13f500fa23dd 100644 +index 61ef7d232a12..8ba53af107f8 100644 --- a/drivers/gpu/drm/vc4/vc4_dpi.c +++ b/drivers/gpu/drm/vc4/vc4_dpi.c @@ -170,10 +170,16 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder) @@ -39,7 +39,7 @@ index 1f8f44b7b5a5..13f500fa23dd 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 16:20:30 +0100 -Subject: [PATCH 002/590] drm/vc4: Add FKMS as an acceptable node for dma +Subject: [PATCH 002/717] drm/vc4: Add FKMS as an acceptable node for dma ranges. Under FKMS, the firmware (via FKMS) also requires the VideoCore cache @@ -72,7 +72,7 @@ index 8c329c071c62..5a1c2f3ded30 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 26 Oct 2020 12:38:27 +0000 -Subject: [PATCH 003/590] drm/vc4: Add the 2711 HVS as a suitable DMA node +Subject: [PATCH 003/717] drm/vc4: Add the 2711 HVS as a suitable DMA node With vc4-drv node not being under /soc on Pi4, we need to adopt the correct DMA parameters from a suitable sub-component. @@ -102,7 +102,7 @@ index 5a1c2f3ded30..f8053b591317 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 12 Feb 2021 17:31:37 +0000 -Subject: [PATCH 004/590] drm/vc4: Change the default DPI format to being +Subject: [PATCH 004/717] 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 @@ -121,7 +121,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c -index 13f500fa23dd..d45fe879a47f 100644 +index 8ba53af107f8..96b5d34f6bd7 100644 --- a/drivers/gpu/drm/vc4/vc4_dpi.c +++ b/drivers/gpu/drm/vc4/vc4_dpi.c @@ -150,8 +150,8 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder) @@ -142,7 +142,7 @@ index 13f500fa23dd..d45fe879a47f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 Jan 2021 16:30:55 +0000 -Subject: [PATCH 005/590] drm/atomic: Don't fixup modes that haven't been reset +Subject: [PATCH 005/717] drm/atomic: Don't fixup modes that haven't been reset Signed-off-by: Dave Stevenson --- @@ -172,7 +172,7 @@ index 02b4a7dc92f5..f3e59236a8ee 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:07:30 +0200 -Subject: [PATCH 006/590] drm/vc4: Fix timings for VEC modes +Subject: [PATCH 006/717] 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 @@ -193,7 +193,7 @@ Signed-off-by: Mateusz Kwiatkowski 1 file changed, 43 insertions(+), 27 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 0108613e79d5..805ea659a997 100644 +index 7258975331ca..308b0e1c8af4 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -326,8 +326,14 @@ static void vc4_crtc_config_pv(struct drm_crtc *crtc, struct drm_encoder *encode @@ -305,7 +305,7 @@ index 0108613e79d5..805ea659a997 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:07:53 +0200 -Subject: [PATCH 007/590] drm/vc4: Fix definition of PAL-M mode +Subject: [PATCH 007/717] 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. @@ -388,7 +388,7 @@ index 0b3333865702..de4dec160e72 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:07:58 +0200 -Subject: [PATCH 008/590] drm/vc4: Add support for more analog TV standards +Subject: [PATCH 008/717] 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): @@ -542,7 +542,7 @@ index de4dec160e72..edf73378bfe6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:08:01 +0200 -Subject: [PATCH 009/590] drm/vc4: Allow setting the TV norm via module +Subject: [PATCH 009/717] drm/vc4: Allow setting the TV norm via module parameter Similar to the ch7006 and nouveau drivers, introduce a "tv_mode" module @@ -691,7 +691,7 @@ index edf73378bfe6..369a5e79676b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:08:05 +0200 -Subject: [PATCH 010/590] drm/vc4: Refactor mode checking logic +Subject: [PATCH 010/717] 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 @@ -779,7 +779,7 @@ index 369a5e79676b..c613f930f079 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 7 Sep 2020 17:32:27 +0100 -Subject: [PATCH 011/590] drm/vc4: Add firmware-kms mode +Subject: [PATCH 011/717] drm/vc4: Add firmware-kms mode This is a squash of all firmware-kms related patches from previous branches, up to and including @@ -3275,7 +3275,7 @@ index 000000000000..e8d2b4b162f7 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 27 Apr 2021 14:24:21 +0200 -Subject: [PATCH 012/590] drm/vc4: Add support for gamma on BCM2711 +Subject: [PATCH 012/717] 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 @@ -3297,7 +3297,7 @@ Signed-off-by: Maxime Ripard 4 files changed, 162 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 805ea659a997..107ba370f28b 100644 +index 308b0e1c8af4..1e22d13768a0 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -1326,19 +1326,42 @@ int vc4_crtc_init(struct drm_device *drm, struct vc4_crtc *vc4_crtc, @@ -3403,7 +3403,7 @@ index 7da22fe3a6cc..71a07c838c35 100644 struct drm_pending_vblank_event *event; diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 4ac9f5a2d5f9..9e41f8c73abe 100644 +index 47990ecbfc4d..303f1341db46 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -241,7 +241,8 @@ static void vc4_hvs_lut_load(struct vc4_hvs *hvs, @@ -3498,7 +3498,7 @@ index 4ac9f5a2d5f9..9e41f8c73abe 100644 u8 vc4_hvs_get_fifo_frame_count(struct vc4_hvs *hvs, unsigned int fifo) { struct drm_device *drm = &hvs->vc4->base; -@@ -396,7 +472,10 @@ static int vc4_hvs_init_channel(struct vc4_hvs *hvs, struct drm_crtc *crtc, +@@ -398,7 +474,10 @@ static int vc4_hvs_init_channel(struct vc4_hvs *hvs, struct drm_crtc *crtc, /* Reload the LUT, since the SRAMs would have been disabled if * all CRTCs had SCALER_DISPBKGND_GAMMA unset at once. */ @@ -3510,7 +3510,7 @@ index 4ac9f5a2d5f9..9e41f8c73abe 100644 drm_dev_exit(idx); -@@ -626,7 +705,11 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, +@@ -628,7 +707,11 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, u32 dispbkgndx = HVS_READ(SCALER_DISPBKGNDX(channel)); if (crtc->state->gamma_lut) { @@ -3524,10 +3524,10 @@ index 4ac9f5a2d5f9..9e41f8c73abe 100644 } else { /* Unsetting DISPBKGND_GAMMA skips the gamma lut step diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h -index f0290fad991d..133845cb5c8a 100644 +index 1256f0877ff6..e162d3f3bd3c 100644 --- a/drivers/gpu/drm/vc4/vc4_regs.h +++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -499,6 +499,28 @@ +@@ -512,6 +512,28 @@ #define SCALER_DLIST_START 0x00002000 #define SCALER_DLIST_SIZE 0x00004000 @@ -3563,7 +3563,7 @@ index f0290fad991d..133845cb5c8a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 28 Apr 2021 12:32:10 +0200 -Subject: [PATCH 013/590] drm/vc4: Add debugfs node that dumps the vc5 gamma +Subject: [PATCH 013/717] 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 @@ -3578,7 +3578,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 84 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 9e41f8c73abe..56237a9278ba 100644 +index 303f1341db46..5374502bce37 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -141,6 +141,85 @@ static int vc4_hvs_debugfs_dlist(struct seq_file *m, void *data) @@ -3667,7 +3667,7 @@ index 9e41f8c73abe..56237a9278ba 100644 /* The filter kernel is composed of dwords each containing 3 9-bit * signed integers packed next to each other. */ -@@ -826,11 +905,15 @@ int vc4_hvs_debugfs_init(struct drm_minor *minor) +@@ -833,11 +912,15 @@ int vc4_hvs_debugfs_init(struct drm_minor *minor) if (!vc4->hvs) return -ENODEV; @@ -3691,7 +3691,7 @@ index 9e41f8c73abe..56237a9278ba 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 14 Jun 2021 15:28:30 +0200 -Subject: [PATCH 014/590] drm/vc4: hvs: Force modeset on gamma lut change +Subject: [PATCH 014/717] 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. @@ -3708,7 +3708,7 @@ Signed-off-by: Maxime Ripard 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 107ba370f28b..55b94de6fd64 100644 +index 1e22d13768a0..187508545053 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -293,6 +293,23 @@ struct drm_encoder *vc4_get_crtc_encoder(struct drm_crtc *crtc, @@ -3750,10 +3750,10 @@ index 71a07c838c35..d54182f995ef 100644 struct drm_crtc_state *state); diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 56237a9278ba..8d7cad62b8f0 100644 +index 5374502bce37..950d719a126b 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c -@@ -592,6 +592,36 @@ void vc4_hvs_stop_channel(struct vc4_hvs *hvs, unsigned int chan) +@@ -594,6 +594,36 @@ void vc4_hvs_stop_channel(struct vc4_hvs *hvs, unsigned int chan) drm_dev_exit(idx); } @@ -3790,7 +3790,7 @@ index 56237a9278ba..8d7cad62b8f0 100644 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); -@@ -622,7 +652,7 @@ int vc4_hvs_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *state) +@@ -624,7 +654,7 @@ int vc4_hvs_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *state) if (ret) return ret; @@ -3806,7 +3806,7 @@ index 56237a9278ba..8d7cad62b8f0 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:08:08 +0200 -Subject: [PATCH 015/590] drm/vc4: Relax VEC modeline requirements and add +Subject: [PATCH 015/717] drm/vc4: Relax VEC modeline requirements and add progressive mode support Make vc4_vec_encoder_atomic_check() accept arbitrary modelines, as long @@ -3821,7 +3821,7 @@ Signed-off-by: Mateusz Kwiatkowski 2 files changed, 85 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 55b94de6fd64..4ef12a598758 100644 +index 187508545053..fc4e2e658e6d 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -422,6 +422,7 @@ static void vc4_crtc_config_pv(struct drm_crtc *crtc, struct drm_encoder *encode @@ -3963,7 +3963,7 @@ index c613f930f079..e32a7b45b2b9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mateusz Kwiatkowski Date: Thu, 15 Jul 2021 01:08:11 +0200 -Subject: [PATCH 016/590] drm/vc4: Make VEC progressive modes readily +Subject: [PATCH 016/717] drm/vc4: Make VEC progressive modes readily accessible Add predefined modelines for the 240p (NTSC) and 288p (PAL) progressive @@ -4135,7 +4135,7 @@ index e32a7b45b2b9..32ca0b3d1549 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 2 Nov 2021 16:01:36 +0000 -Subject: [PATCH 017/590] drm: Check whether the gamma lut has changed before +Subject: [PATCH 017/717] drm: Check whether the gamma lut has changed before updating drm_crtc_legacy_gamma_set updates the gamma_lut blob unconditionally, @@ -4171,7 +4171,7 @@ index d021497841b8..996f12438016 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 8 Nov 2021 17:32:45 +0000 -Subject: [PATCH 018/590] drm/vc4: Enable gamma block only when required. +Subject: [PATCH 018/717] 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 @@ -4189,10 +4189,10 @@ Signed-off-by: Dave Stevenson 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 8d7cad62b8f0..dd96b49febcd 100644 +index 950d719a126b..7ce6b713b020 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c -@@ -543,9 +543,12 @@ static int vc4_hvs_init_channel(struct vc4_hvs *hvs, struct drm_crtc *crtc, +@@ -546,8 +546,11 @@ static int vc4_hvs_init_channel(struct vc4_hvs *hvs, struct drm_crtc *crtc, dispbkgndx &= ~SCALER_DISPBKGND_GAMMA; dispbkgndx &= ~SCALER_DISPBKGND_INTERLACE; @@ -4201,12 +4201,11 @@ index 8d7cad62b8f0..dd96b49febcd 100644 + dispbkgndx |= SCALER_DISPBKGND_GAMMA; + HVS_WRITE(SCALER_DISPBKGNDX(chan), dispbkgndx | - SCALER_DISPBKGND_AUTOHS | - ((!vc4->is_vc5) ? SCALER_DISPBKGND_GAMMA : 0) | (interlace ? SCALER_DISPBKGND_INTERLACE : 0)); /* Reload the LUT, since the SRAMs would have been disabled if -@@ -814,18 +817,25 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, +@@ -816,18 +819,25 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, u32 dispbkgndx = HVS_READ(SCALER_DISPBKGNDX(channel)); if (crtc->state->gamma_lut) { @@ -4244,7 +4243,7 @@ index 8d7cad62b8f0..dd96b49febcd 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 8 Nov 2021 18:25:49 +0000 -Subject: [PATCH 019/590] drm/vc4: Only add gamma properties once. +Subject: [PATCH 019/717] 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, @@ -4257,7 +4256,7 @@ Signed-off-by: Dave Stevenson 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 4ef12a598758..925970a53642 100644 +index fc4e2e658e6d..7c29f67e4f73 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -1358,7 +1358,7 @@ int vc4_crtc_init(struct drm_device *drm, struct vc4_crtc *vc4_crtc, @@ -4276,7 +4275,7 @@ index 4ef12a598758..925970a53642 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 10 Nov 2021 16:36:12 +0000 -Subject: [PATCH 020/590] drm/vc4: Validate the size of the gamma_lut +Subject: [PATCH 020/717] 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. @@ -4287,10 +4286,10 @@ Signed-off-by: Dave Stevenson 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index dd96b49febcd..04ca9e9d308f 100644 +index 7ce6b713b020..43ba463b6790 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c -@@ -610,6 +610,16 @@ static int vc4_hvs_gamma_check(struct drm_crtc *crtc, +@@ -612,6 +612,16 @@ static int vc4_hvs_gamma_check(struct drm_crtc *crtc, if (!crtc_state->color_mgmt_changed) return 0; @@ -4314,7 +4313,7 @@ index dd96b49febcd..04ca9e9d308f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 13 Jan 2022 11:30:42 +0000 -Subject: [PATCH 021/590] drm/vc4: Disable Gamma control on HVS5 due to issues +Subject: [PATCH 021/717] drm/vc4: Disable Gamma control on HVS5 due to issues writing the table Still under investigation, but the conditions under which the HVS @@ -4329,7 +4328,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 925970a53642..9655dffc1513 100644 +index 7c29f67e4f73..0b16fb5acd7d 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -1344,15 +1344,9 @@ int vc4_crtc_init(struct drm_device *drm, struct vc4_crtc *vc4_crtc, @@ -4356,7 +4355,7 @@ index 925970a53642..9655dffc1513 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Apr 2020 16:12:02 +0100 -Subject: [PATCH 022/590] drm/vc4_hdmi: Add Broadcast RGB property to allow +Subject: [PATCH 022/717] drm/vc4_hdmi: Add Broadcast RGB property to allow override of RGB range Copy Intel's "Broadcast RGB" property semantics to add manual override @@ -4370,7 +4369,7 @@ Signed-off-by: Dave Stevenson 2 files changed, 119 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index 470432c8fd70..2bc17f957762 100644 +index ea2eaf6032ca..e9cb32d3b0d5 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -57,6 +57,14 @@ @@ -4400,7 +4399,7 @@ index 470432c8fd70..2bc17f957762 100644 return !display->is_hdmi || drm_default_rgb_quant_range(mode) == HDMI_QUANTIZATION_RANGE_FULL; } -@@ -535,6 +548,65 @@ static int vc4_hdmi_connector_atomic_check(struct drm_connector *connector, +@@ -544,6 +557,65 @@ static int vc4_hdmi_connector_atomic_check(struct drm_connector *connector, return 0; } @@ -4466,7 +4465,7 @@ index 470432c8fd70..2bc17f957762 100644 static void vc4_hdmi_connector_reset(struct drm_connector *connector) { struct vc4_hdmi_connector_state *old_state = -@@ -571,6 +643,7 @@ vc4_hdmi_connector_duplicate_state(struct drm_connector *connector) +@@ -580,6 +652,7 @@ vc4_hdmi_connector_duplicate_state(struct drm_connector *connector) new_state->tmds_char_rate = vc4_state->tmds_char_rate; new_state->output_bpc = vc4_state->output_bpc; new_state->output_format = vc4_state->output_format; @@ -4474,7 +4473,7 @@ index 470432c8fd70..2bc17f957762 100644 __drm_atomic_helper_connector_duplicate_state(connector, &new_state->base); return &new_state->base; -@@ -581,6 +654,8 @@ static const struct drm_connector_funcs vc4_hdmi_connector_funcs = { +@@ -590,6 +663,8 @@ static const struct drm_connector_funcs vc4_hdmi_connector_funcs = { .reset = vc4_hdmi_connector_reset, .atomic_duplicate_state = vc4_hdmi_connector_duplicate_state, .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, @@ -4483,7 +4482,7 @@ index 470432c8fd70..2bc17f957762 100644 }; static const struct drm_connector_helper_funcs vc4_hdmi_connector_helper_funcs = { -@@ -589,6 +664,32 @@ static const struct drm_connector_helper_funcs vc4_hdmi_connector_helper_funcs = +@@ -598,6 +673,32 @@ static const struct drm_connector_helper_funcs vc4_hdmi_connector_helper_funcs = .atomic_check = vc4_hdmi_connector_atomic_check, }; @@ -4516,7 +4515,7 @@ index 470432c8fd70..2bc17f957762 100644 static int vc4_hdmi_connector_init(struct drm_device *dev, struct vc4_hdmi *vc4_hdmi) { -@@ -635,6 +736,8 @@ static int vc4_hdmi_connector_init(struct drm_device *dev, +@@ -644,6 +745,8 @@ static int vc4_hdmi_connector_init(struct drm_device *dev, if (vc4_hdmi->variant->supports_hdr) drm_connector_attach_hdr_output_metadata_property(connector); @@ -4525,7 +4524,7 @@ index 470432c8fd70..2bc17f957762 100644 drm_connector_attach_encoder(connector, encoder); return 0; -@@ -1673,6 +1776,7 @@ static void vc4_hdmi_encoder_atomic_mode_set(struct drm_encoder *encoder, +@@ -1683,6 +1786,7 @@ static void vc4_hdmi_encoder_atomic_mode_set(struct drm_encoder *encoder, mutex_lock(&vc4_hdmi->mutex); drm_mode_copy(&vc4_hdmi->saved_adjusted_mode, &crtc_state->adjusted_mode); @@ -4587,7 +4586,7 @@ index 1ad8e8c377e2..f57bfb13fc41 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 31 Jan 2022 16:28:43 +0000 -Subject: [PATCH 023/590] drm/vc4: Add DRM 210101010 RGB formats for hvs5. +Subject: [PATCH 023/717] 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. @@ -4599,10 +4598,10 @@ Signed-off-by: Dave Stevenson 1 file changed, 28 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index 8b92a45a3c89..004ff144ec70 100644 +index eb08020154f3..9ae2feb34461 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -137,6 +137,34 @@ static const struct hvs_format { +@@ -139,6 +139,34 @@ static const struct hvs_format { .pixel_order = HVS_PIXEL_ORDER_XYCBCR, .hvs5_only = true, }, @@ -4644,7 +4643,7 @@ index 8b92a45a3c89..004ff144ec70 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:39:54 -0600 -Subject: [PATCH 024/590] drm/vc4: dpi: Support DPI interface in mode3 for +Subject: [PATCH 024/717] drm/vc4: dpi: Support DPI interface in mode3 for RGB565 Add support for the VC4 DPI driver to utilize DPI mode 3. This is @@ -4660,11 +4659,11 @@ Reviewed-by: Dave Stevenson 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c -index d45fe879a47f..fdae02760b6d 100644 +index 96b5d34f6bd7..a7bebfa5d5b0 100644 --- a/drivers/gpu/drm/vc4/vc4_dpi.c +++ b/drivers/gpu/drm/vc4/vc4_dpi.c @@ -188,6 +188,10 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder) - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_3, + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_1, DPI_FORMAT); break; + case MEDIA_BUS_FMT_RGB565_1X24_CPADHI: @@ -4681,7 +4680,7 @@ index d45fe879a47f..fdae02760b6d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 1 Feb 2022 12:20:20 +0000 -Subject: [PATCH 025/590] drm/panel: Add and initialise an orientation field to +Subject: [PATCH 025/717] drm/panel: Add and initialise an orientation field to drm_panel Current usage of drm_connector_set_panel_orientation is from a panel's @@ -4779,39 +4778,8 @@ index 994bfcdd84c5..8ea3885cd93f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson -Date: Mon, 14 Feb 2022 15:34:51 +0000 -Subject: [PATCH 026/590] 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 -DPI_FORMAT_18BIT_666_RGB_1 instead of DPI_FORMAT_18BIT_666_RGB_3. - -Signed-off-by: Dave Stevenson ---- - drivers/gpu/drm/vc4/vc4_dpi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c -index fdae02760b6d..a7bebfa5d5b0 100644 ---- a/drivers/gpu/drm/vc4/vc4_dpi.c -+++ b/drivers/gpu/drm/vc4/vc4_dpi.c -@@ -185,7 +185,7 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder) - DPI_FORMAT); - break; - case MEDIA_BUS_FMT_RGB565_1X16: -- dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_3, -+ dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_1, - DPI_FORMAT); - break; - case MEDIA_BUS_FMT_RGB565_1X24_CPADHI: --- -2.39.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson Date: Fri, 17 Dec 2021 13:36:52 +0000 -Subject: [PATCH 027/590] drm/dsi: Document the meaning and spec references for +Subject: [PATCH 026/717] drm/dsi: Document the meaning and spec references for MIPI_DSI_MODE_* The MIPI_DSI_MODE_* flags have fairly terse descriptions and no reference @@ -4827,7 +4795,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h -index 20b21b577dea..9b6cb0ef75f6 100644 +index 9054a5185e1a..de21b9ff3ac0 100644 --- a/include/drm/drm_mipi_dsi.h +++ b/include/drm/drm_mipi_dsi.h @@ -113,29 +113,43 @@ struct mipi_dsi_host *of_find_mipi_dsi_host_by_node(struct device_node *node); @@ -4893,7 +4861,7 @@ index 20b21b577dea..9b6cb0ef75f6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 20 Jan 2022 17:29:36 +0000 -Subject: [PATCH 028/590] drm/bridge: tc358762: Ignore EPROBE_DEFER when +Subject: [PATCH 027/717] drm/bridge: tc358762: Ignore EPROBE_DEFER when logging errors mipi_dsi_attach can fail due to resources not being available @@ -4924,7 +4892,7 @@ index 7f4fce1aa998..0adc4864beea 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 30 Sep 2021 17:51:16 +0100 -Subject: [PATCH 029/590] drm/vc4: Rename bridge to out_bridge +Subject: [PATCH 028/717] 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 @@ -4986,7 +4954,7 @@ index 878e05d79e81..d9d951e9ab7c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 7 Feb 2022 17:14:51 +0000 -Subject: [PATCH 030/590] drm/vc4: Move DSI initialisation to encoder_mode_set. +Subject: [PATCH 029/717] drm/vc4: Move DSI initialisation to encoder_mode_set. Breaking the bridge chain does not work for atomic bridges/panels and generally causes issues. @@ -5056,7 +5024,7 @@ index d9d951e9ab7c..c1bdd903f1ad 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Dec 2021 17:44:49 +0000 -Subject: [PATCH 031/590] drm/vc4: Remove splitting the bridge chain from the +Subject: [PATCH 030/717] drm/vc4: Remove splitting the bridge chain from the driver. Splitting the bridge chain fails for atomic bridges as the @@ -5180,7 +5148,7 @@ index c1bdd903f1ad..9109bee6c7d2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Dec 2021 17:47:14 +0000 -Subject: [PATCH 032/590] drm/vc4: Convert vc4_dsi to use atomic +Subject: [PATCH 031/717] drm/vc4: Convert vc4_dsi to use atomic enable/disable/mode_set. The atomic calls are preferred as the non-atomic ones @@ -5270,7 +5238,7 @@ index 9109bee6c7d2..4fd4b05d7530 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Dec 2021 17:57:45 +0000 -Subject: [PATCH 033/590] drm/vc4: Convert vc4_dsi to using a bridge instead of +Subject: [PATCH 032/717] drm/vc4: Convert vc4_dsi to using a bridge instead of encoder. Remove the encoder functions, and create a bridge attached to @@ -5542,7 +5510,7 @@ index 4fd4b05d7530..a7b8ffd995b0 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 11 Feb 2022 14:15:26 +0000 -Subject: [PATCH 034/590] drm/vc4: Remove entry to ULPS from vc4_dsi +Subject: [PATCH 033/717] drm/vc4: Remove entry to ULPS from vc4_dsi post_disable Post_disable was sending the D-PHY sequence to put any device @@ -5580,7 +5548,7 @@ index a7b8ffd995b0..4f3805528aa1 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 16 Dec 2021 15:25:35 +0000 -Subject: [PATCH 035/590] drm/bridge: Introduce pre_enable_upstream_first to +Subject: [PATCH 034/717] drm/bridge: Introduce pre_enable_upstream_first to alter bridge init order DSI sink devices typically want the DSI host powered up and configured @@ -5871,7 +5839,7 @@ index 1545c50fd1c8..441d781c3da1 100644 if (iter == bridge) break; diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h -index 6b65b0dfb4fb..8a5e03e4c264 100644 +index 288c6feda5de..eed8394ed055 100644 --- a/include/drm/drm_bridge.h +++ b/include/drm/drm_bridge.h @@ -768,6 +768,14 @@ struct drm_bridge { @@ -5896,7 +5864,7 @@ index 6b65b0dfb4fb..8a5e03e4c264 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 23 Feb 2022 15:36:56 +0000 -Subject: [PATCH 036/590] drm/panel: Add prepare_upstream_first flag to +Subject: [PATCH 035/717] drm/panel: Add prepare_upstream_first flag to drm_panel Mapping to the drm_bridge flag pre_enable_upstream_first, @@ -5952,7 +5920,7 @@ index 8ea3885cd93f..81ea5e5b272e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 11 Mar 2022 17:24:37 +0000 -Subject: [PATCH 037/590] drm: Include drm_connector.h from drm_panel.h +Subject: [PATCH 036/717] 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). @@ -5994,7 +5962,7 @@ index 81ea5e5b272e..451f88efcd1c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 16 Dec 2021 15:33:43 +0000 -Subject: [PATCH 038/590] drm/tc358762: Set the pre_enable_upstream_first flag +Subject: [PATCH 037/717] 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 @@ -6025,7 +5993,7 @@ index 0adc4864beea..9914cfb05b11 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Jan 2022 17:28:18 +0000 -Subject: [PATCH 039/590] drm/vc4: Support zpos on all planes +Subject: [PATCH 038/717] 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. @@ -6038,10 +6006,10 @@ Signed-off-by: Dave Stevenson 3 files changed, 48 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 04ca9e9d308f..9e599c32557d 100644 +index 43ba463b6790..38669ea71c4a 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c -@@ -767,6 +767,8 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, +@@ -769,6 +769,8 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, bool enable_bg_fill = false; u32 __iomem *dlist_start = vc4->hvs->dlist + vc4_state->mm.start; u32 __iomem *dlist_next = dlist_start; @@ -6050,7 +6018,7 @@ index 04ca9e9d308f..9e599c32557d 100644 int idx; if (!drm_dev_enter(dev, &idx)) { -@@ -780,23 +782,34 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, +@@ -782,23 +784,34 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, } /* Copy all the active planes' dlist contents to the hardware dlist. */ @@ -6115,10 +6083,10 @@ index e52a4cfaebf6..d5b16579fd33 100644 ret = vc4_ctm_obj_init(vc4); if (ret) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index 004ff144ec70..f9a356da4b47 100644 +index 9ae2feb34461..7c094e9f8218 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -1596,9 +1596,14 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev, +@@ -1600,9 +1600,14 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev, DRM_COLOR_YCBCR_BT709, DRM_COLOR_YCBCR_LIMITED_RANGE); @@ -6133,7 +6101,7 @@ index 004ff144ec70..f9a356da4b47 100644 int vc4_plane_create_additional_planes(struct drm_device *drm) { struct drm_plane *cursor_plane; -@@ -1614,24 +1619,35 @@ int vc4_plane_create_additional_planes(struct drm_device *drm) +@@ -1618,24 +1623,35 @@ int vc4_plane_create_additional_planes(struct drm_device *drm) * modest number of planes to expose, that should hopefully * still cover any sane usecase. */ @@ -6179,7 +6147,7 @@ index 004ff144ec70..f9a356da4b47 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 7 Mar 2022 15:19:38 +0000 -Subject: [PATCH 040/590] drm/vc4: hdmi: Add CSC for BT601/709/2020 limited and +Subject: [PATCH 039/717] 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 @@ -6199,7 +6167,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 145 insertions(+), 51 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index 2bc17f957762..6f9e3db0ceb0 100644 +index e9cb32d3b0d5..431f901068a0 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -158,8 +158,8 @@ static bool vc4_hdmi_mode_needs_scrambling(const struct drm_display_mode *mode, @@ -6213,7 +6181,7 @@ index 2bc17f957762..6f9e3db0ceb0 100644 { struct drm_display_info *display = &vc4_hdmi->connector.display_info; -@@ -892,7 +892,7 @@ static void vc4_hdmi_set_avi_infoframe(struct drm_encoder *encoder) +@@ -901,7 +901,7 @@ static void vc4_hdmi_set_avi_infoframe(struct drm_encoder *encoder) drm_hdmi_avi_infoframe_quant_range(&frame.avi, connector, mode, @@ -6222,7 +6190,7 @@ index 2bc17f957762..6f9e3db0ceb0 100644 HDMI_QUANTIZATION_RANGE_FULL : HDMI_QUANTIZATION_RANGE_LIMITED); drm_hdmi_avi_infoframe_colorimetry(&frame.avi, cstate); -@@ -1145,7 +1145,7 @@ static void vc4_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, +@@ -1154,7 +1154,7 @@ static void vc4_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, csc_ctl = VC4_SET_FIELD(VC4_HD_CSC_CTL_ORDER_BGR, VC4_HD_CSC_CTL_ORDER); @@ -6231,7 +6199,7 @@ index 2bc17f957762..6f9e3db0ceb0 100644 /* CEA VICs other than #1 requre limited range RGB * output unless overridden by an AVI infoframe. * Apply a colorspace conversion to squash 0-255 down -@@ -1184,15 +1184,6 @@ static void vc4_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, +@@ -1193,15 +1193,6 @@ static void vc4_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, * [ 0 1 0 0] * [ 0 0 1 0] * @@ -6247,7 +6215,7 @@ index 2bc17f957762..6f9e3db0ceb0 100644 * CEA VICs other than #1 require limited range RGB output unless * overridden by an AVI infoframe. Apply a colorspace conversion to * squash 0-255 down to 16-235. The matrix here is: -@@ -1203,43 +1194,105 @@ static const u16 vc5_hdmi_csc_full_rgb_unity[3][4] = { +@@ -1212,43 +1203,105 @@ static const u16 vc5_hdmi_csc_full_rgb_unity[3][4] = { * * Matrix is signed 2p13 fixed point, with signed 9p6 offsets */ @@ -6375,7 +6343,7 @@ index 2bc17f957762..6f9e3db0ceb0 100644 }; static void vc5_hdmi_set_csc_coeffs(struct vc4_hdmi *vc4_hdmi, -@@ -1255,6 +1308,20 @@ static void vc5_hdmi_set_csc_coeffs(struct vc4_hdmi *vc4_hdmi, +@@ -1264,6 +1317,20 @@ static void vc5_hdmi_set_csc_coeffs(struct vc4_hdmi *vc4_hdmi, HDMI_WRITE(HDMI_CSC_34_33, (coeffs[2][3] << 16) | coeffs[2][2]); } @@ -6396,7 +6364,7 @@ index 2bc17f957762..6f9e3db0ceb0 100644 static void vc5_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, struct drm_connector_state *state, const struct drm_display_mode *mode) -@@ -1262,6 +1329,8 @@ static void vc5_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, +@@ -1271,6 +1338,8 @@ static void vc5_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, struct drm_device *drm = vc4_hdmi->connector.dev; struct vc4_hdmi_connector_state *vc4_state = conn_state_to_vc4_hdmi_conn_state(state); @@ -6405,7 +6373,7 @@ index 2bc17f957762..6f9e3db0ceb0 100644 unsigned long flags; u32 if_cfg = 0; u32 if_xbar = 0x543210; -@@ -1277,31 +1346,56 @@ static void vc5_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, +@@ -1286,31 +1355,56 @@ static void vc5_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, switch (vc4_state->output_format) { case VC4_HDMI_OUTPUT_YUV444: @@ -6485,7 +6453,7 @@ index 2bc17f957762..6f9e3db0ceb0 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 14 Mar 2022 17:56:10 +0000 -Subject: [PATCH 041/590] vc4/drm: vc4_plane: Keep fractional source coords +Subject: [PATCH 040/717] vc4/drm: vc4_plane: Keep fractional source coords inside state Signed-off-by: Dom Cobley @@ -6508,10 +6476,10 @@ index d54182f995ef..3be66ba8ecdd 100644 u32 src_w[2], src_h[2]; diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index f9a356da4b47..137ab1c9321a 100644 +index 7c094e9f8218..66b2fb65bb29 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -181,9 +181,9 @@ static const struct hvs_format *vc4_get_hvs_format(u32 drm_format) +@@ -183,9 +183,9 @@ static const struct hvs_format *vc4_get_hvs_format(u32 drm_format) static enum vc4_scaling_mode vc4_get_scaling_mode(u32 src, u32 dst) { @@ -6523,9 +6491,9 @@ index f9a356da4b47..137ab1c9321a 100644 return VC4_SCALING_PPF; else return VC4_SCALING_TPZ; -@@ -390,15 +390,10 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) - for (i = 0; i < num_planes; i++) +@@ -394,15 +394,10 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) vc4_state->offsets[i] = bo->dma_addr + fb->offsets[i]; + } - /* - * We don't support subpixel source positioning for scaling, @@ -6543,7 +6511,7 @@ index f9a356da4b47..137ab1c9321a 100644 vc4_state->crtc_x = state->dst.x1; vc4_state->crtc_y = state->dst.y1; -@@ -451,7 +446,7 @@ static void vc4_write_tpz(struct vc4_plane_state *vc4_state, u32 src, u32 dst) +@@ -455,7 +450,7 @@ static void vc4_write_tpz(struct vc4_plane_state *vc4_state, u32 src, u32 dst) { u32 scale, recip; @@ -6552,7 +6520,7 @@ index f9a356da4b47..137ab1c9321a 100644 /* The specs note that while the reciprocal would be defined * as (1<<32)/scale, ~0 is close enough. -@@ -497,7 +492,7 @@ static u32 vc4_lbm_size(struct drm_plane_state *state) +@@ -501,7 +496,7 @@ static u32 vc4_lbm_size(struct drm_plane_state *state) if (vc4_state->x_scaling[0] == VC4_SCALING_TPZ) pix_per_line = vc4_state->crtc_w; else @@ -6561,7 +6529,7 @@ index f9a356da4b47..137ab1c9321a 100644 if (!vc4_state->is_yuv) { if (vc4_state->y_scaling[0] == VC4_SCALING_TPZ) -@@ -588,7 +583,8 @@ static void vc4_plane_calc_load(struct drm_plane_state *state) +@@ -592,7 +587,8 @@ static void vc4_plane_calc_load(struct drm_plane_state *state) for (i = 0; i < fb->format->num_planes; i++) { /* Even if the bandwidth/plane required for a single frame is * @@ -6571,7 +6539,7 @@ index f9a356da4b47..137ab1c9321a 100644 * * when downscaling, we have to read more pixels per line in * the time frame reserved for a single line, so the bandwidth -@@ -597,11 +593,11 @@ static void vc4_plane_calc_load(struct drm_plane_state *state) +@@ -601,11 +597,11 @@ static void vc4_plane_calc_load(struct drm_plane_state *state) * load by this number. We're likely over-estimating the read * demand, but that's better than under-estimating it. */ @@ -6587,7 +6555,7 @@ index f9a356da4b47..137ab1c9321a 100644 vc4_state->hvs_load += vc4_state->crtc_h * vc4_state->crtc_w; } -@@ -754,7 +750,8 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -758,7 +754,8 @@ static int vc4_plane_mode_set(struct drm_plane *plane, bool mix_plane_alpha; bool covers_screen; u32 scl0, scl1, pitch0; @@ -6597,7 +6565,7 @@ index f9a356da4b47..137ab1c9321a 100644 u32 hvs_format = format->hvs; unsigned int rotation; int ret, i; -@@ -766,6 +763,9 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -770,6 +767,9 @@ static int vc4_plane_mode_set(struct drm_plane *plane, if (ret) return ret; @@ -6607,7 +6575,7 @@ index f9a356da4b47..137ab1c9321a 100644 /* SCL1 is used for Cb/Cr scaling of planar formats. For RGB * and 4:4:4, scl1 should be set to scl0 so both channels of * the scaler do the same thing. For YUV, the Y plane needs -@@ -786,9 +786,11 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -790,9 +790,11 @@ static int vc4_plane_mode_set(struct drm_plane *plane, DRM_MODE_REFLECT_Y); /* We must point to the last line when Y reflection is enabled. */ @@ -6621,7 +6589,7 @@ index f9a356da4b47..137ab1c9321a 100644 switch (base_format_mod) { case DRM_FORMAT_MOD_LINEAR: -@@ -803,7 +805,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -807,7 +809,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane, (i ? v_subsample : 1) * fb->pitches[i]; @@ -6630,7 +6598,7 @@ index f9a356da4b47..137ab1c9321a 100644 (i ? h_subsample : 1) * fb->format->cpp[i]; } -@@ -826,7 +828,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -830,7 +832,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane, * pitch * tile_h == tile_size * tiles_per_row */ u32 tiles_w = fb->pitches[0] >> (tile_size_shift - tile_h_shift); @@ -6639,7 +6607,7 @@ index f9a356da4b47..137ab1c9321a 100644 u32 tiles_r = tiles_w - tiles_l; u32 tiles_t = src_y >> tile_h_shift; /* Intra-tile offsets, which modify the base address (the -@@ -836,7 +838,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -840,7 +842,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane, u32 tile_y = (src_y >> 4) & 1; u32 subtile_y = (src_y >> 2) & 3; u32 utile_y = src_y & 3; @@ -6648,7 +6616,7 @@ index f9a356da4b47..137ab1c9321a 100644 u32 y_off = src_y & tile_h_mask; /* When Y reflection is requested we must set the -@@ -932,7 +934,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -936,7 +938,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane, * of the 12-pixels in that 128-bit word is the * first pixel to be used */ @@ -6657,7 +6625,7 @@ index f9a356da4b47..137ab1c9321a 100644 u32 aligned = remaining_pixels / 12; u32 last_bits = remaining_pixels % 12; -@@ -954,12 +956,12 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -958,12 +960,12 @@ static int vc4_plane_mode_set(struct drm_plane *plane, return -EINVAL; } pix_per_tile = tile_w / fb->format->cpp[0]; @@ -6672,7 +6640,7 @@ index f9a356da4b47..137ab1c9321a 100644 vc4_state->offsets[i] += param * tile_w * tile; vc4_state->offsets[i] += src_y / -@@ -1020,10 +1022,8 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -1024,10 +1026,8 @@ static int vc4_plane_mode_set(struct drm_plane *plane, vc4_dlist_write(vc4_state, (mix_plane_alpha ? SCALER_POS2_ALPHA_MIX : 0) | vc4_hvs4_get_alpha_blend_mode(state) | @@ -6685,7 +6653,7 @@ index f9a356da4b47..137ab1c9321a 100644 /* Position Word 3: Context. Written by the HVS. */ vc4_dlist_write(vc4_state, 0xc0c0c0c0); -@@ -1081,10 +1081,8 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -1085,10 +1085,8 @@ static int vc4_plane_mode_set(struct drm_plane *plane, /* Position Word 2: Source Image Size */ vc4_state->pos2_offset = vc4_state->dlist_count; vc4_dlist_write(vc4_state, @@ -6705,7 +6673,7 @@ index f9a356da4b47..137ab1c9321a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Fri, 9 Apr 2021 15:00:40 +0100 -Subject: [PATCH 042/590] vc4/drm: Handle fractional coordinates using the +Subject: [PATCH 041/717] vc4/drm: Handle fractional coordinates using the phase field Signed-off-by: Dom Cobley @@ -6714,10 +6682,10 @@ Signed-off-by: Dom Cobley 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index 137ab1c9321a..bc54cc27d38a 100644 +index 66b2fb65bb29..db4267aada46 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -460,14 +460,47 @@ static void vc4_write_tpz(struct vc4_plane_state *vc4_state, u32 src, u32 dst) +@@ -464,14 +464,47 @@ static void vc4_write_tpz(struct vc4_plane_state *vc4_state, u32 src, u32 dst) VC4_SET_FIELD(recip, SCALER_TPZ1_RECIP)); } @@ -6768,7 +6736,7 @@ index 137ab1c9321a..bc54cc27d38a 100644 } static u32 vc4_lbm_size(struct drm_plane_state *state) -@@ -526,13 +559,13 @@ static void vc4_write_scaling_parameters(struct drm_plane_state *state, +@@ -530,13 +563,13 @@ static void vc4_write_scaling_parameters(struct drm_plane_state *state, /* Ch0 H-PPF Word 0: Scaling Parameters */ if (vc4_state->x_scaling[channel] == VC4_SCALING_PPF) { vc4_write_ppf(vc4_state, @@ -6784,7 +6752,7 @@ index 137ab1c9321a..bc54cc27d38a 100644 vc4_dlist_write(vc4_state, 0xc0c0c0c0); } -@@ -980,6 +1013,24 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -984,6 +1017,24 @@ static int vc4_plane_mode_set(struct drm_plane *plane, return -EINVAL; } @@ -6816,7 +6784,7 @@ index 137ab1c9321a..bc54cc27d38a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 26 Jan 2022 15:58:13 +0000 -Subject: [PATCH 043/590] drm: Add chroma siting properties +Subject: [PATCH 042/717] drm: Add chroma siting properties Signed-off-by: Dom Cobley --- @@ -7000,7 +6968,7 @@ index 447e664e49d5..fba2bb6731df 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 27 Jan 2022 15:32:04 +0000 -Subject: [PATCH 044/590] vc4/drm:plane: Make use of chroma siting parameter +Subject: [PATCH 043/717] vc4/drm:plane: Make use of chroma siting parameter Signed-off-by: Dom Cobley --- @@ -7008,10 +6976,10 @@ Signed-off-by: Dom Cobley 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index bc54cc27d38a..474fe3f25077 100644 +index db4267aada46..646abd145800 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -463,17 +463,18 @@ static void vc4_write_tpz(struct vc4_plane_state *vc4_state, u32 src, u32 dst) +@@ -467,17 +467,18 @@ static void vc4_write_tpz(struct vc4_plane_state *vc4_state, u32 src, u32 dst) /* phase magnitude bits */ #define PHASE_BITS 6 @@ -7032,7 +7000,7 @@ index bc54cc27d38a..474fe3f25077 100644 offset += -(1 << PHASE_BITS >> 2); } else { /* the phase is relative to scale_src->x, so shift it for display list's x value */ -@@ -559,13 +560,15 @@ static void vc4_write_scaling_parameters(struct drm_plane_state *state, +@@ -563,13 +564,15 @@ static void vc4_write_scaling_parameters(struct drm_plane_state *state, /* Ch0 H-PPF Word 0: Scaling Parameters */ if (vc4_state->x_scaling[channel] == VC4_SCALING_PPF) { vc4_write_ppf(vc4_state, @@ -7050,7 +7018,7 @@ index bc54cc27d38a..474fe3f25077 100644 vc4_dlist_write(vc4_state, 0xc0c0c0c0); } -@@ -1645,6 +1648,8 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev, +@@ -1649,6 +1652,8 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev, DRM_COLOR_YCBCR_BT709, DRM_COLOR_YCBCR_LIMITED_RANGE); @@ -7066,7 +7034,7 @@ index bc54cc27d38a..474fe3f25077 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 1 Apr 2022 11:31:38 +0100 -Subject: [PATCH 045/590] drm/vc4: Force trigger of dlist update on margins +Subject: [PATCH 044/717] drm/vc4: Force trigger of dlist update on margins change When the margins are changed, the dlist needs to be regenerated @@ -7083,7 +7051,7 @@ Signed-off-by: Dave Stevenson 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 9655dffc1513..b448bdbe1cfd 100644 +index 0b16fb5acd7d..97b1107a30bb 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -757,10 +757,16 @@ static int vc4_crtc_atomic_check(struct drm_crtc *crtc, @@ -7132,7 +7100,7 @@ index 3be66ba8ecdd..a3d058d3c788 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Fri, 23 Oct 2020 14:39:23 +0200 -Subject: [PATCH 046/590] drm/atomic-helpers: remove legacy_cursor_update hacks +Subject: [PATCH 045/717] drm/atomic-helpers: remove legacy_cursor_update hacks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -7220,10 +7188,10 @@ index f3e59236a8ee..e8d77ab10389 100644 commit->event = kzalloc(sizeof(*commit->event), GFP_KERNEL); diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c -index de77054195c6..0b610fa22121 100644 +index 3f3982ae9974..f55d58fd8b34 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c -@@ -7739,6 +7739,19 @@ static int intel_atomic_commit(struct drm_device *dev, +@@ -7766,6 +7766,19 @@ static int intel_atomic_commit(struct drm_device *dev, state->base.legacy_cursor_update = false; } @@ -7263,7 +7231,7 @@ index 1686fbb611fd..b3cfabebe5d6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 5 May 2022 18:50:04 +0100 -Subject: [PATCH 047/590] drm/vc4_hdmi: Force a modeset when Broadcast RGB +Subject: [PATCH 046/717] drm/vc4_hdmi: Force a modeset when Broadcast RGB setting changes Without this the change is not visible until the next modeset @@ -7274,10 +7242,10 @@ Signed-off-by: Dom Cobley 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index 6f9e3db0ceb0..8871c60a7cd5 100644 +index 431f901068a0..3546c7af0329 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -527,14 +527,17 @@ static int vc4_hdmi_connector_atomic_check(struct drm_connector *connector, +@@ -536,14 +536,17 @@ static int vc4_hdmi_connector_atomic_check(struct drm_connector *connector, { struct drm_connector_state *old_state = drm_atomic_get_old_connector_state(state, connector); @@ -7302,7 +7270,7 @@ index 6f9e3db0ceb0..8871c60a7cd5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 1 Apr 2022 17:10:37 +0100 -Subject: [PATCH 048/590] drm/atomic: If margins are updated, update all +Subject: [PATCH 047/717] drm/atomic: If margins are updated, update all planes. Margins may be implemented by scaling the planes, but as there @@ -7368,7 +7336,7 @@ index 4531f7441578..f6856df35093 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 6 Dec 2021 16:32:10 +0100 -Subject: [PATCH 049/590] drm/vc4: hvs: Ignore atomic_flush if we're disabled +Subject: [PATCH 048/717] drm/vc4: hvs: Ignore atomic_flush if we're disabled atomic_flush will be called for each CRTC even if they aren't enabled. @@ -7381,10 +7349,10 @@ Signed-off-by: Maxime Ripard 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 9e599c32557d..c8da0af2f3c4 100644 +index 38669ea71c4a..67effc334715 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c -@@ -776,6 +776,9 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, +@@ -778,6 +778,9 @@ void vc4_hvs_atomic_flush(struct drm_crtc *crtc, return; } @@ -7400,45 +7368,8 @@ index 9e599c32557d..c8da0af2f3c4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson -Date: Fri, 3 Jun 2022 16:45:10 +0100 -Subject: [PATCH 050/590] 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 -config for pixel_order_hvs5. - -Reported-by: vrazzer -Signed-off-by: Dave Stevenson ---- - drivers/gpu/drm/vc4/vc4_plane.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index 474fe3f25077..d79505d7d8f9 100644 ---- a/drivers/gpu/drm/vc4/vc4_plane.c -+++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -75,11 +75,13 @@ static const struct hvs_format { - .drm = DRM_FORMAT_ARGB1555, - .hvs = HVS_PIXEL_FORMAT_RGBA5551, - .pixel_order = HVS_PIXEL_ORDER_ABGR, -+ .pixel_order_hvs5 = HVS_PIXEL_ORDER_ARGB, - }, - { - .drm = DRM_FORMAT_XRGB1555, - .hvs = HVS_PIXEL_FORMAT_RGBA5551, - .pixel_order = HVS_PIXEL_ORDER_ABGR, -+ .pixel_order_hvs5 = HVS_PIXEL_ORDER_ARGB, - }, - { - .drm = DRM_FORMAT_RGB888, --- -2.39.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson Date: Fri, 3 Jun 2022 16:49:09 +0100 -Subject: [PATCH 051/590] drm: vc4: 0 is a valid value for pixel_order_hvs5, so +Subject: [PATCH 049/717] 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 @@ -7453,7 +7384,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index d79505d7d8f9..6d9d31ed01bc 100644 +index 646abd145800..a21898d885c7 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -65,11 +65,13 @@ static const struct hvs_format { @@ -7538,7 +7469,7 @@ index d79505d7d8f9..6d9d31ed01bc 100644 .hvs5_only = true, }, { -@@ -1085,15 +1098,10 @@ static int vc4_plane_mode_set(struct drm_plane *plane, +@@ -1087,15 +1100,10 @@ static int vc4_plane_mode_set(struct drm_plane *plane, vc4_dlist_write(vc4_state, 0xc0c0c0c0); } else { @@ -7562,7 +7493,7 @@ index d79505d7d8f9..6d9d31ed01bc 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 6 Jun 2022 12:23:28 +0100 -Subject: [PATCH 052/590] drm: vc4: Omit pixel_order from the hvs_format for +Subject: [PATCH 050/717] 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 @@ -7576,7 +7507,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 5 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index 6d9d31ed01bc..544653161146 100644 +index a21898d885c7..cdd1dd6a7e48 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -148,35 +148,30 @@ static const struct hvs_format { @@ -7622,7 +7553,7 @@ index 6d9d31ed01bc..544653161146 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 3 Jun 2022 16:57:04 +0100 -Subject: [PATCH 053/590] drm: vc4: Add 3:3:2 and 4:4:4:4 RGB/RGBX/RGBA formats +Subject: [PATCH 051/717] 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, but the table of supported formats didn't include them. @@ -7638,7 +7569,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 70 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index 544653161146..2987bfd95c08 100644 +index cdd1dd6a7e48..6432055454ac 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -175,6 +175,66 @@ static const struct hvs_format { @@ -7708,7 +7639,7 @@ index 544653161146..2987bfd95c08 100644 }; static const struct hvs_format *vc4_get_hvs_format(u32 drm_format) -@@ -1573,6 +1633,16 @@ static bool vc4_format_mod_supported(struct drm_plane *plane, +@@ -1575,6 +1635,16 @@ static bool vc4_format_mod_supported(struct drm_plane *plane, case DRM_FORMAT_BGRX1010102: case DRM_FORMAT_RGBA1010102: case DRM_FORMAT_BGRA1010102: @@ -7732,7 +7663,7 @@ index 544653161146..2987bfd95c08 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 6 Jun 2022 14:53:56 +0100 -Subject: [PATCH 054/590] drm: vc4: Add comments for which HVS_PIXEL_ORDER_xxx +Subject: [PATCH 052/717] 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 @@ -7744,10 +7675,10 @@ Signed-off-by: Dave Stevenson 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h -index 133845cb5c8a..f9f4204b6e06 100644 +index e162d3f3bd3c..098173290411 100644 --- a/drivers/gpu/drm/vc4/vc4_regs.h +++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -857,16 +857,19 @@ enum hvs_pixel_format { +@@ -870,16 +870,19 @@ enum hvs_pixel_format { /* Note: the LSB is the rightmost character shown. Only valid for * HVS_PIXEL_FORMAT_RGB8888, not RGB888. */ @@ -7772,47 +7703,9 @@ index 133845cb5c8a..f9f4204b6e06 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Fri, 1 Jul 2022 15:51:49 +0100 -Subject: [PATCH 055/590] 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 -incorrect for 480i for non-obvious reasons. - -Fixes: c0ba150ce468 "drm/vc4: Correct HDMI timing registers for interlaced modes" -Signed-off-by: Dave Stevenson ---- - drivers/gpu/drm/vc4/vc4_hdmi.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index 8871c60a7cd5..cd7e6243d919 100644 ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1497,11 +1497,12 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, - VC4_SET_FIELD(mode->crtc_vdisplay, VC5_HDMI_VERTA_VAL)); - u32 vertb = (VC4_SET_FIELD(mode->htotal >> (2 - pixel_rep), - VC5_HDMI_VERTB_VSPO) | -- VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end, -+ VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end + -+ interlaced, - VC4_HDMI_VERTB_VBP)); - u32 vertb_even = (VC4_SET_FIELD(0, VC5_HDMI_VERTB_VSPO) | - VC4_SET_FIELD(mode->crtc_vtotal - -- mode->crtc_vsync_end - interlaced, -+ mode->crtc_vsync_end, - VC4_HDMI_VERTB_VBP)); - unsigned long flags; - unsigned char gcp; --- -2.39.1 - - -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 056/590] drm/vc4: Add async update support for cursor planes +Subject: [PATCH 053/717] 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 @@ -7905,7 +7798,7 @@ index 6856de434928..e7f56b3eb213 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Aug 2022 13:49:16 +0100 -Subject: [PATCH 057/590] drm/vc4: Configure the HVS COB allocations +Subject: [PATCH 054/717] drm/vc4: Configure the HVS COB allocations The HVS Composite Output Buffer (COB) is the memory used to generate the output pixel data. @@ -7927,10 +7820,10 @@ Revert vc4_regs change 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index c8da0af2f3c4..419faffc4b85 100644 +index 67effc334715..23f8da10ea53 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c -@@ -1006,7 +1006,7 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) +@@ -1013,7 +1013,7 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) struct vc4_hvs *hvs = NULL; int ret; u32 dispctrl; @@ -7939,7 +7832,7 @@ index c8da0af2f3c4..419faffc4b85 100644 hvs = drmm_kzalloc(drm, sizeof(*hvs), GFP_KERNEL); if (!hvs) -@@ -1118,6 +1118,60 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) +@@ -1151,6 +1151,60 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) HVS_WRITE(SCALER_DISPCTRL, dispctrl); @@ -8007,7 +7900,7 @@ index c8da0af2f3c4..419faffc4b85 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Aug 2022 13:59:34 +0100 -Subject: [PATCH 058/590] drm/vc4: Set AXI panic modes for the HVS +Subject: [PATCH 055/717] drm/vc4: Set AXI panic modes for the HVS The HVS can change AXI request mode based on how full the COB FIFOs are. @@ -8020,17 +7913,16 @@ and the same for all channels. Signed-off-by: Dave Stevenson --- - drivers/gpu/drm/vc4/vc4_hvs.c | 11 +++++++++++ - drivers/gpu/drm/vc4/vc4_regs.h | 6 ++++++ - 2 files changed, 17 insertions(+) + drivers/gpu/drm/vc4/vc4_hvs.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 419faffc4b85..613d57307d6c 100644 +index 23f8da10ea53..97388f9a75bc 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c -@@ -1116,6 +1116,17 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) - SCALER_DISPCTRL_DSPEISLUR(2) | - SCALER_DISPCTRL_SCLEIRQ); +@@ -1138,6 +1138,17 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) + SCALER_DISPCTRL_SCLEIRQ); + + /* Set AXI panic mode. + * VC4 panics when < 2 lines in FIFO. @@ -8043,244 +7935,9 @@ index 419faffc4b85..613d57307d6c 100644 + dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC1); + dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC2); + - HVS_WRITE(SCALER_DISPCTRL, dispctrl); - - /* Recompute Composite Output Buffer (COB) allocations for the displays -diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h -index f9f4204b6e06..3a2ae2daa698 100644 ---- a/drivers/gpu/drm/vc4/vc4_regs.h -+++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -220,6 +220,12 @@ - #define SCALER_DISPCTRL 0x00000000 - /* Global register for clock gating the HVS */ - # define SCALER_DISPCTRL_ENABLE BIT(31) -+# define SCALER_DISPCTRL_PANIC0_MASK VC4_MASK(25, 24) -+# define SCALER_DISPCTRL_PANIC0_SHIFT 24 -+# define SCALER_DISPCTRL_PANIC1_MASK VC4_MASK(27, 26) -+# define SCALER_DISPCTRL_PANIC1_SHIFT 26 -+# define SCALER_DISPCTRL_PANIC2_MASK VC4_MASK(29, 28) -+# define SCALER_DISPCTRL_PANIC2_SHIFT 28 - # define SCALER_DISPCTRL_DSP3_MUX_MASK VC4_MASK(19, 18) - # define SCALER_DISPCTRL_DSP3_MUX_SHIFT 18 - --- -2.39.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Thu, 11 Aug 2022 15:49:16 +0100 -Subject: [PATCH 059/590] drm/vc4: SCALER_DISPBKGND_AUTOHS is only valid on - HVS4 - -The bit used for SCALER_DISPBKGND_AUTOHS in SCALER_DISPBKGNDX -has been repurposed on HVS5 to configure whether a display can -win back-to-back arbitration wins for the COB. - -This is not desirable, therefore only select this bit on HVS4, -and explicitly clear it on HVS5. - -Signed-off-by: Dave Stevenson ---- - drivers/gpu/drm/vc4/vc4_hvs.c | 10 ++++++---- - drivers/gpu/drm/vc4/vc4_regs.h | 1 + - 2 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 613d57307d6c..7b37be09c3db 100644 ---- a/drivers/gpu/drm/vc4/vc4_hvs.c -+++ b/drivers/gpu/drm/vc4/vc4_hvs.c -@@ -523,23 +523,26 @@ static int vc4_hvs_init_channel(struct vc4_hvs *hvs, struct drm_crtc *crtc, - * mode. - */ - dispctrl = SCALER_DISPCTRLX_ENABLE; -+ dispbkgndx = HVS_READ(SCALER_DISPBKGNDX(chan)); - -- if (!vc4->is_vc5) -+ if (!vc4->is_vc5) { - dispctrl |= VC4_SET_FIELD(mode->hdisplay, - SCALER_DISPCTRLX_WIDTH) | - VC4_SET_FIELD(mode->vdisplay, - SCALER_DISPCTRLX_HEIGHT) | - (oneshot ? SCALER_DISPCTRLX_ONESHOT : 0); -- else -+ dispbkgndx |= SCALER_DISPBKGND_AUTOHS; -+ } else { - dispctrl |= VC4_SET_FIELD(mode->hdisplay, - SCALER5_DISPCTRLX_WIDTH) | - VC4_SET_FIELD(mode->vdisplay, - SCALER5_DISPCTRLX_HEIGHT) | - (oneshot ? SCALER5_DISPCTRLX_ONESHOT : 0); -+ dispbkgndx &= ~SCALER5_DISPBKGND_BCK2BCK; -+ } - - HVS_WRITE(SCALER_DISPCTRLX(chan), dispctrl); - -- dispbkgndx = HVS_READ(SCALER_DISPBKGNDX(chan)); - dispbkgndx &= ~SCALER_DISPBKGND_GAMMA; - dispbkgndx &= ~SCALER_DISPBKGND_INTERLACE; - -@@ -548,7 +551,6 @@ static int vc4_hvs_init_channel(struct vc4_hvs *hvs, struct drm_crtc *crtc, - dispbkgndx |= SCALER_DISPBKGND_GAMMA; - - HVS_WRITE(SCALER_DISPBKGNDX(chan), dispbkgndx | -- SCALER_DISPBKGND_AUTOHS | - (interlace ? SCALER_DISPBKGND_INTERLACE : 0)); - - /* Reload the LUT, since the SRAMs would have been disabled if -diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h -index 3a2ae2daa698..0aad6265e8cc 100644 ---- a/drivers/gpu/drm/vc4/vc4_regs.h -+++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -366,6 +366,7 @@ - - #define SCALER_DISPBKGND0 0x00000044 - # define SCALER_DISPBKGND_AUTOHS BIT(31) -+# define SCALER5_DISPBKGND_BCK2BCK BIT(31) - # define SCALER_DISPBKGND_INTERLACE BIT(30) - # define SCALER_DISPBKGND_GAMMA BIT(29) - # define SCALER_DISPBKGND_TESTMODE_MASK VC4_MASK(28, 25) --- -2.39.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Thu, 11 Aug 2022 15:52:28 +0100 -Subject: [PATCH 060/590] drm/vc4: Correct interrupt masking bit assignment for - HVS5 - -HVS5 has moved the interrupt enable bits around within the -DISPCTRL register, therefore the configuration has to be updated -to account for this. - -Signed-off-by: Dave Stevenson ---- - drivers/gpu/drm/vc4/vc4_hvs.c | 52 +++++++++++++++++++++++----------- - drivers/gpu/drm/vc4/vc4_regs.h | 10 +++++-- - 2 files changed, 44 insertions(+), 18 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 7b37be09c3db..23f8da10ea53 100644 ---- a/drivers/gpu/drm/vc4/vc4_hvs.c -+++ b/drivers/gpu/drm/vc4/vc4_hvs.c -@@ -886,7 +886,8 @@ void vc4_hvs_mask_underrun(struct vc4_hvs *hvs, int channel) - return; - - dispctrl = HVS_READ(SCALER_DISPCTRL); -- dispctrl &= ~SCALER_DISPCTRL_DSPEISLUR(channel); -+ dispctrl &= ~(hvs->vc4->is_vc5 ? SCALER5_DISPCTRL_DSPEISLUR(channel) : -+ SCALER_DISPCTRL_DSPEISLUR(channel)); - - HVS_WRITE(SCALER_DISPCTRL, dispctrl); - -@@ -903,7 +904,8 @@ void vc4_hvs_unmask_underrun(struct vc4_hvs *hvs, int channel) - return; - - dispctrl = HVS_READ(SCALER_DISPCTRL); -- dispctrl |= SCALER_DISPCTRL_DSPEISLUR(channel); -+ dispctrl |= (hvs->vc4->is_vc5 ? SCALER5_DISPCTRL_DSPEISLUR(channel) : -+ SCALER_DISPCTRL_DSPEISLUR(channel)); - - HVS_WRITE(SCALER_DISPSTAT, - SCALER_DISPSTAT_EUFLOW(channel)); -@@ -929,6 +931,7 @@ static irqreturn_t vc4_hvs_irq_handler(int irq, void *data) - int channel; - u32 control; - u32 status; -+ u32 dspeislur; - - /* - * NOTE: We don't need to protect the register access using -@@ -945,9 +948,11 @@ static irqreturn_t vc4_hvs_irq_handler(int irq, void *data) - control = HVS_READ(SCALER_DISPCTRL); - - for (channel = 0; channel < SCALER_CHANNELS_COUNT; channel++) { -+ dspeislur = vc4->is_vc5 ? SCALER5_DISPCTRL_DSPEISLUR(channel) : -+ SCALER_DISPCTRL_DSPEISLUR(channel); - /* Interrupt masking is not always honored, so check it here. */ - if (status & SCALER_DISPSTAT_EUFLOW(channel) && -- control & SCALER_DISPCTRL_DSPEISLUR(channel)) { -+ control & dspeislur) { - vc4_hvs_mask_underrun(hvs, channel); - vc4_hvs_report_underrun(dev); - -@@ -1104,19 +1109,34 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) - SCALER_DISPCTRL_DISPEIRQ(1) | - SCALER_DISPCTRL_DISPEIRQ(2); - -- dispctrl &= ~(SCALER_DISPCTRL_DMAEIRQ | -- SCALER_DISPCTRL_SLVWREIRQ | -- SCALER_DISPCTRL_SLVRDEIRQ | -- SCALER_DISPCTRL_DSPEIEOF(0) | -- SCALER_DISPCTRL_DSPEIEOF(1) | -- SCALER_DISPCTRL_DSPEIEOF(2) | -- SCALER_DISPCTRL_DSPEIEOLN(0) | -- SCALER_DISPCTRL_DSPEIEOLN(1) | -- SCALER_DISPCTRL_DSPEIEOLN(2) | -- SCALER_DISPCTRL_DSPEISLUR(0) | -- SCALER_DISPCTRL_DSPEISLUR(1) | -- SCALER_DISPCTRL_DSPEISLUR(2) | -- SCALER_DISPCTRL_SCLEIRQ); -+ if (!vc4->is_vc5) -+ dispctrl &= ~(SCALER_DISPCTRL_DMAEIRQ | -+ SCALER_DISPCTRL_SLVWREIRQ | -+ SCALER_DISPCTRL_SLVRDEIRQ | -+ SCALER_DISPCTRL_DSPEIEOF(0) | -+ SCALER_DISPCTRL_DSPEIEOF(1) | -+ SCALER_DISPCTRL_DSPEIEOF(2) | -+ SCALER_DISPCTRL_DSPEIEOLN(0) | -+ SCALER_DISPCTRL_DSPEIEOLN(1) | -+ SCALER_DISPCTRL_DSPEIEOLN(2) | -+ SCALER_DISPCTRL_DSPEISLUR(0) | -+ SCALER_DISPCTRL_DSPEISLUR(1) | -+ SCALER_DISPCTRL_DSPEISLUR(2) | -+ SCALER_DISPCTRL_SCLEIRQ); -+ else -+ dispctrl &= ~(SCALER_DISPCTRL_DMAEIRQ | -+ SCALER5_DISPCTRL_SLVEIRQ | -+ SCALER5_DISPCTRL_DSPEIEOF(0) | -+ SCALER5_DISPCTRL_DSPEIEOF(1) | -+ SCALER5_DISPCTRL_DSPEIEOF(2) | -+ SCALER5_DISPCTRL_DSPEIEOLN(0) | -+ SCALER5_DISPCTRL_DSPEIEOLN(1) | -+ SCALER5_DISPCTRL_DSPEIEOLN(2) | -+ SCALER5_DISPCTRL_DSPEISLUR(0) | -+ SCALER5_DISPCTRL_DSPEISLUR(1) | -+ SCALER5_DISPCTRL_DSPEISLUR(2) | -+ SCALER_DISPCTRL_SCLEIRQ); -+ - /* Set AXI panic mode. * VC4 panics when < 2 lines in FIFO. -diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h -index 0aad6265e8cc..098173290411 100644 ---- a/drivers/gpu/drm/vc4/vc4_regs.h -+++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -234,15 +234,21 @@ - * always enabled. - */ - # define SCALER_DISPCTRL_DSPEISLUR(x) BIT(13 + (x)) -+# define SCALER5_DISPCTRL_DSPEISLUR(x) BIT(9 + ((x) * 4)) - /* Enables Display 0 end-of-line-N contribution to - * SCALER_DISPSTAT_IRQDISP0 - */ - # define SCALER_DISPCTRL_DSPEIEOLN(x) BIT(8 + ((x) * 2)) -+# define SCALER5_DISPCTRL_DSPEIEOLN(x) BIT(8 + ((x) * 4)) - /* Enables Display 0 EOF contribution to SCALER_DISPSTAT_IRQDISP0 */ - # define SCALER_DISPCTRL_DSPEIEOF(x) BIT(7 + ((x) * 2)) -+# define SCALER5_DISPCTRL_DSPEIEOF(x) BIT(7 + ((x) * 4)) - --# define SCALER_DISPCTRL_SLVRDEIRQ BIT(6) --# define SCALER_DISPCTRL_SLVWREIRQ BIT(5) -+# define SCALER5_DISPCTRL_DSPEIVST(x) BIT(6 + ((x) * 4)) -+ -+# define SCALER_DISPCTRL_SLVRDEIRQ BIT(6) /* HVS4 only */ -+# define SCALER_DISPCTRL_SLVWREIRQ BIT(5) /* HVS4 only */ -+# define SCALER5_DISPCTRL_SLVEIRQ BIT(5) - # define SCALER_DISPCTRL_DMAEIRQ BIT(4) - /* Enables interrupt generation on the enabled EOF/EOLN/EISLUR - * bits and short frames.. + * VC5 panics when less than 1 line in the FIFO. -- 2.39.1 @@ -8288,7 +7945,7 @@ index 0aad6265e8cc..098173290411 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 11 Jul 2022 10:38:25 +0200 -Subject: [PATCH 061/590] drm/vc4: hvs: Skip DebugFS Registration for FKMS +Subject: [PATCH 056/717] 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. @@ -8299,7 +7956,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 23f8da10ea53..3d4bca723d85 100644 +index 97388f9a75bc..094887d4673e 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -975,6 +975,9 @@ int vc4_hvs_debugfs_init(struct drm_minor *minor) @@ -8319,7 +7976,7 @@ index 23f8da10ea53..3d4bca723d85 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 15 Aug 2022 13:34:02 +0200 -Subject: [PATCH 062/590] media: uapi: Add some RGB bus formats for VC4 DPI +Subject: [PATCH 057/717] media: uapi: Add some RGB bus formats for VC4 DPI output The VC4 DPI controller can output more RGB formats that aren't described @@ -8365,7 +8022,7 @@ index ec3323dbb927..d4228d038b54 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 7 Apr 2022 18:23:07 +0100 -Subject: [PATCH 063/590] raspberrypi-firmware: Update mailbox commands +Subject: [PATCH 058/717] raspberrypi-firmware: Update mailbox commands Signed-off-by: Dom Cobley --- @@ -8470,7 +8127,7 @@ index 811ea668c4a1..dd3bbc75e531 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 11 Jul 2022 15:58:36 +0200 -Subject: [PATCH 064/590] clk: bcm: rpi: Create helper to retrieve private data +Subject: [PATCH 059/717] clk: bcm: rpi: Create helper to retrieve private data The RaspberryPi firmware clocks driver uses in several instances a container_of to retrieve the struct raspberrypi_clk_data from a pointer @@ -8546,7 +8203,7 @@ index 679f4649a7ef..b967c7b714db 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 6 Jun 2022 11:02:16 +0200 -Subject: [PATCH 065/590] arm64: setup: Fix build warning +Subject: [PATCH 060/717] arm64: setup: Fix build warning Signed-off-by: Maxime Ripard --- @@ -8576,7 +8233,7 @@ index fea3223704b6..a2dd48655bc4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 066/590] BCM2708: Add core Device Tree support +Subject: [PATCH 061/717] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -46443,7 +46100,7 @@ index 3aa384cec76b..ed87353646bf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 067/590] config: Add default configs +Subject: [PATCH 062/717] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1557 +++++++++++++++++++++++++ @@ -54283,7 +53940,7 @@ index 000000000000..e089eb07e98e From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 12 Apr 2022 20:07:20 +0100 -Subject: [PATCH 068/590] clk-raspberrypi: Add ISP to exported clocks +Subject: [PATCH 063/717] clk-raspberrypi: Add ISP to exported clocks Signed-off-by: Dom Cobley --- @@ -54311,7 +53968,7 @@ index b967c7b714db..9c4af1e70cae 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 069/590] Register the clocks early during the boot process, so +Subject: [PATCH 064/717] 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. @@ -54362,7 +54019,7 @@ index e74fe6219d14..1e629fa834bd 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 070/590] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 065/717] 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 @@ -54396,7 +54053,7 @@ index 1e629fa834bd..03e583d07702 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 071/590] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 066/717] 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, @@ -54520,7 +54177,7 @@ index 03e583d07702..b6cdb19ef059 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 072/590] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 067/717] 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 @@ -54641,7 +54298,7 @@ index b6cdb19ef059..406ac78b08a6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 15:09:28 +0000 -Subject: [PATCH 073/590] clk: clk-bcm2835: Use %zd when printing size_t +Subject: [PATCH 068/717] 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". @@ -54671,7 +54328,7 @@ index 406ac78b08a6..060a45a59b70 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Jan 2019 16:11:50 +0000 -Subject: [PATCH 074/590] clk-bcm2835: Don't wait for pllh lock +Subject: [PATCH 069/717] clk-bcm2835: Don't wait for pllh lock Signed-off-by: Phil Elwell --- @@ -54715,7 +54372,7 @@ index 060a45a59b70..a808f35b75b9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 15:11:05 -0700 -Subject: [PATCH 075/590] clk: bcm2835: Add support for setting leaf clock +Subject: [PATCH 070/717] 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 @@ -54774,7 +54431,7 @@ index a808f35b75b9..bc029be289dc 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 15:24:04 -0700 -Subject: [PATCH 076/590] clk: bcm2835: Allow reparenting leaf clocks while +Subject: [PATCH 071/717] clk: bcm2835: Allow reparenting leaf clocks while they're running. This falls under the same "we can reprogram glitch-free as long as we @@ -54851,7 +54508,7 @@ index bc029be289dc..971f0ad84b6b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Aug 2019 15:23:14 +0100 -Subject: [PATCH 077/590] clk-bcm2835: Avoid null pointer exception +Subject: [PATCH 072/717] clk-bcm2835: Avoid null pointer exception clk_desc_array[BCM2835_PLLB] doesn't exist so we dereference null when iterating @@ -54886,7 +54543,7 @@ index 971f0ad84b6b..3c59e5c29ec4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 3 Sep 2019 20:28:00 +0100 -Subject: [PATCH 078/590] clk-bcm2835: Disable v3d clock +Subject: [PATCH 073/717] clk-bcm2835: Disable v3d clock This is controlled by firmware, see clk-raspberrypi.c @@ -54950,7 +54607,7 @@ index 3c59e5c29ec4..90e16822f1d5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 8 Jul 2021 09:37:10 +0100 -Subject: [PATCH 079/590] clk: bcm2835: Pass DT node to rpi_firmware_get +Subject: [PATCH 074/717] 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. @@ -54980,7 +54637,7 @@ index 90e16822f1d5..448c5fcedbdf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 19 Oct 2021 14:14:55 +0100 -Subject: [PATCH 080/590] clk-bcm2835: Remove VEC clock support +Subject: [PATCH 075/717] clk-bcm2835: Remove VEC clock support Signed-off-by: Dom Cobley --- @@ -55020,7 +54677,7 @@ index 448c5fcedbdf..fdef9aa7401e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 081/590] arm: partially revert +Subject: [PATCH 076/717] arm: partially revert 702b94bff3c50542a6e4ab9a4f4cef093262fe65 * Re-expose some dmi APIs for use in VCSM @@ -55131,7 +54788,7 @@ index e21249548e9f..33e4a9b8f1ba 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 082/590] cache: export clean and invalidate +Subject: [PATCH 077/717] cache: export clean and invalidate hack: cache: Fix linker error --- @@ -55192,7 +54849,7 @@ index 7c9499b728c4..499e55bda16f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 20 Apr 2020 13:41:10 +0100 -Subject: [PATCH 083/590] Revert "spi: spidev: Fix CS polarity if GPIO +Subject: [PATCH 078/717] Revert "spi: spidev: Fix CS polarity if GPIO descriptors are used" This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28. @@ -55201,7 +54858,7 @@ This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28. 1 file changed, 5 deletions(-) diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index 6313e7d0cdf8..cf21d9a5849f 100644 +index 71c3db60e968..1dcf8886efb9 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c @@ -414,7 +414,6 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) @@ -55230,7 +54887,7 @@ index 6313e7d0cdf8..cf21d9a5849f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 1 Mar 2021 09:12:44 +0000 -Subject: [PATCH 084/590] Revert "Bluetooth: Always request for user +Subject: [PATCH 079/717] Revert "Bluetooth: Always request for user confirmation for Just Works (LE SC)" This reverts commit ffee202a78c2980688bc5d2f7d56480e69a5e0c9. @@ -55252,7 +54909,7 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c -index 11f853d0500f..3efb60918dda 100644 +index 70663229b3cc..903221ad7611 100644 --- a/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c @@ -2207,7 +2207,7 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) @@ -55281,7 +54938,7 @@ index 11f853d0500f..3efb60918dda 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 1 Mar 2021 09:14:35 +0000 -Subject: [PATCH 085/590] Revert "Bluetooth: Always request for user +Subject: [PATCH 080/717] Revert "Bluetooth: Always request for user confirmation for Just Works" This reverts commit 92516cd97fd4d8ad5b1421a0d51771044f453a5f. @@ -55301,7 +54958,7 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c -index 3efb60918dda..6f555b3c96a6 100644 +index 903221ad7611..0f7dafc9bf99 100644 --- a/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c @@ -883,16 +883,9 @@ static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth, @@ -55330,7 +54987,7 @@ index 3efb60918dda..6f555b3c96a6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Mar 2022 16:18:55 +0000 -Subject: [PATCH 086/590] Revert "net: bcmgenet: Request APD, DLL disable and +Subject: [PATCH 081/717] Revert "net: bcmgenet: Request APD, DLL disable and IDDQ-SR" This reverts commit c3a4c69360ab43560f212eed326c9d8bde35b14c, which @@ -55344,10 +55001,10 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c -index 7ded559842e8..948ef1dacdd3 100644 +index ded0e64a9f6a..7ec07f071fc9 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c -@@ -292,9 +292,7 @@ int bcmgenet_mii_probe(struct net_device *dev) +@@ -285,9 +285,7 @@ int bcmgenet_mii_probe(struct net_device *dev) struct device_node *dn = kdev->of_node; phy_interface_t phy_iface = priv->phy_interface; struct phy_device *phydev; @@ -55365,7 +55022,7 @@ index 7ded559842e8..948ef1dacdd3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 087/590] smsx95xx: fix crimes against truesize +Subject: [PATCH 082/717] 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. @@ -55377,7 +55034,7 @@ Signed-off-by: Steve Glendinning 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 32d2c60d334d..7c817d9007c8 100644 +index 563ecd27b93e..d7317043d45b 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -79,6 +79,10 @@ static bool turbo_mode = true; @@ -55391,7 +55048,7 @@ index 32d2c60d334d..7c817d9007c8 100644 static int __must_check smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data) { -@@ -1862,7 +1866,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) +@@ -1868,7 +1872,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(skb); skb_trim(skb, skb->len - 4); /* remove fcs */ @@ -55401,7 +55058,7 @@ index 32d2c60d334d..7c817d9007c8 100644 return 1; } -@@ -1880,7 +1885,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) +@@ -1886,7 +1891,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(ax_skb); skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */ @@ -55418,7 +55075,7 @@ index 32d2c60d334d..7c817d9007c8 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 088/590] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 083/717] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -55427,7 +55084,7 @@ See: http://forum.kodi.tv/showthread.php?tid=285288 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 7c817d9007c8..89490cc451ac 100644 +index d7317043d45b..a28894575e85 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -83,6 +83,10 @@ static bool truesize_mode = false; @@ -55467,7 +55124,7 @@ index 7c817d9007c8..89490cc451ac 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 089/590] Allow mac address to be set in smsc95xx +Subject: [PATCH 084/717] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix @@ -55487,7 +55144,7 @@ Signed-off-by: Phil Elwell 1 file changed, 54 insertions(+) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 89490cc451ac..caebb97289ea 100644 +index a28894575e85..1ad90b08e97d 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -87,6 +87,10 @@ static int packetsize = 2560; @@ -55572,7 +55229,7 @@ index 89490cc451ac..caebb97289ea 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 27 Nov 2017 17:14:54 +0000 -Subject: [PATCH 090/590] cgroup: Disable cgroup "memory" by default +Subject: [PATCH 085/717] 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: @@ -55663,7 +55320,7 @@ index 2319946715e0..0bd2f8acde59 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 091/590] Protect __release_resource against resources without +Subject: [PATCH 086/717] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -55674,7 +55331,7 @@ Signed-off-by: Phil Elwell 1 file changed, 6 insertions(+) diff --git a/kernel/resource.c b/kernel/resource.c -index 4c5e80b92f2f..4d4757cf89be 100644 +index 1aeeededdd4c..7fb4f2338345 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -200,6 +200,12 @@ static int __release_resource(struct resource *old, bool release_child) @@ -55697,7 +55354,7 @@ index 4c5e80b92f2f..4d4757cf89be 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 092/590] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 087/717] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -55727,7 +55384,7 @@ index 51491c3c6fdd..d8d61a136225 100644 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 093/590] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 088/717] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -55862,7 +55519,7 @@ index e94e2882286c..c593c4020b61 100644 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 094/590] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 089/717] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -55967,7 +55624,7 @@ index c593c4020b61..71994904a3c7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 24 Jan 2022 13:41:16 +0000 -Subject: [PATCH 095/590] spi: spidev: Completely disable the spidev warning +Subject: [PATCH 090/717] 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. @@ -55978,10 +55635,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 cf21d9a5849f..43b516bd104e 100644 +index 1dcf8886efb9..ebe13ca17fbb 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -707,7 +707,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids); +@@ -705,7 +705,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids); */ static int spidev_of_check(struct device *dev) { @@ -55997,7 +55654,7 @@ index cf21d9a5849f..43b516bd104e 100644 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 096/590] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 091/717] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -56015,7 +55672,7 @@ Signed-off-by: Noralf Trønnes 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index 7524b62a8870..9698bf44ff9c 100644 +index b64ae02c26f8..84627595dd28 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -135,7 +135,7 @@ config BCM_SBA_RAID @@ -56106,7 +55763,7 @@ index 630dfbb01a40..bf7ba96a39f9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 097/590] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 092/717] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -56132,7 +55789,7 @@ index e13b5e695d06..939a00c3dbc8 100644 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 098/590] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 093/717] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -56240,7 +55897,7 @@ index 94907176a0e4..58d5a1b89584 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 099/590] reboot: Use power off rather than busy spinning when +Subject: [PATCH 094/717] reboot: Use power off rather than busy spinning when halt is requested --- @@ -56269,7 +55926,7 @@ index 3f0d5c3dae11..cfdbcc9826c0 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 100/590] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 095/717] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -56294,7 +55951,7 @@ index 24f92a6e882a..a6a705ec30c7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 101/590] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 096/717] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -56325,7 +55982,7 @@ index e98fcac578d6..cd1713c2d058 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 102/590] sound: Demote deferral errors to INFO level +Subject: [PATCH 097/717] 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. @@ -56366,7 +56023,7 @@ index a409fbed8f34..e6ba3df17ed8 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 103/590] Update vfpmodule.c +Subject: [PATCH 098/717] 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 @@ -56509,7 +56166,7 @@ index 2cb355c1b5b7..1e2dcf81aefa 100644 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 104/590] i2c: bcm2835: Add debug support +Subject: [PATCH 099/717] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -56704,7 +56361,7 @@ index f72c6576d8a3..394282a37f67 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Jan 2018 16:52:45 +0000 -Subject: [PATCH 105/590] irqchip: irq-bcm2836: Remove regmap and syscon use +Subject: [PATCH 100/717] 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 @@ -56824,7 +56481,7 @@ index d8d61a136225..f049397bd00d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 15:04:29 +0100 -Subject: [PATCH 106/590] lan78xx: Enable LEDs and auto-negotiation +Subject: [PATCH 101/717] 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 @@ -56836,10 +56493,10 @@ Signed-off-by: Phil Elwell 1 file changed, 12 insertions(+) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index f18ab8e220db..b342e26221c4 100644 +index c458c030fadf..db3c5ce62f7f 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2906,6 +2906,11 @@ static int lan78xx_reset(struct lan78xx_net *dev) +@@ -2881,6 +2881,11 @@ static int lan78xx_reset(struct lan78xx_net *dev) int ret; u32 buf; u8 sig; @@ -56851,7 +56508,7 @@ index f18ab8e220db..b342e26221c4 100644 ret = lan78xx_read_reg(dev, HW_CFG, &buf); if (ret < 0) -@@ -2970,6 +2975,10 @@ static int lan78xx_reset(struct lan78xx_net *dev) +@@ -2945,6 +2950,10 @@ static int lan78xx_reset(struct lan78xx_net *dev) buf |= HW_CFG_MEF_; @@ -56862,7 +56519,7 @@ index f18ab8e220db..b342e26221c4 100644 ret = lan78xx_write_reg(dev, HW_CFG, buf); if (ret < 0) return ret; -@@ -3068,6 +3077,9 @@ static int lan78xx_reset(struct lan78xx_net *dev) +@@ -3043,6 +3052,9 @@ static int lan78xx_reset(struct lan78xx_net *dev) buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_; } } @@ -56879,7 +56536,7 @@ index f18ab8e220db..b342e26221c4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 107/590] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 102/717] 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 @@ -56914,7 +56571,7 @@ index 0a1cc36f93aa..74bd00adbc27 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 108/590] amba_pl011: Round input clock up +Subject: [PATCH 103/717] 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 @@ -57006,7 +56663,7 @@ index 74bd00adbc27..302749bb2470 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 109/590] amba_pl011: Insert mb() for correct FIFO handling +Subject: [PATCH 104/717] 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 @@ -57039,7 +56696,7 @@ index 302749bb2470..5d4e0bc232dc 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 110/590] amba_pl011: Add cts-event-workaround DT property +Subject: [PATCH 105/717] 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 @@ -57097,7 +56754,7 @@ index 5d4e0bc232dc..7245c4a5db56 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 Jan 2020 09:35:19 +0000 -Subject: [PATCH 111/590] tty: amba-pl011: Avoid rare write-when-full error +Subject: [PATCH 106/717] 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 @@ -57145,7 +56802,7 @@ index 7245c4a5db56..6f92f581e18c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 112/590] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 107/717] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -57163,10 +56820,10 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 7857e612a100..4d3de6ffb60c 100644 +index c7cdccdb4332..dc603204d2d2 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -385,7 +385,7 @@ static const struct gpio_chip bcm2835_gpio_chip = { +@@ -383,7 +383,7 @@ static const struct gpio_chip bcm2835_gpio_chip = { .get = bcm2835_gpio_get, .set = bcm2835_gpio_set, .set_config = gpiochip_generic_config, @@ -57175,7 +56832,7 @@ index 7857e612a100..4d3de6ffb60c 100644 .ngpio = BCM2835_NUM_GPIOS, .can_sleep = false, .of_gpio_ranges_fallback = bcm2835_of_gpio_ranges_fallback, -@@ -402,7 +402,7 @@ static const struct gpio_chip bcm2711_gpio_chip = { +@@ -400,7 +400,7 @@ static const struct gpio_chip bcm2711_gpio_chip = { .get = bcm2835_gpio_get, .set = bcm2835_gpio_set, .set_config = gpiochip_generic_config, @@ -57191,7 +56848,7 @@ index 7857e612a100..4d3de6ffb60c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 113/590] Main bcm2708/bcm2709 linux port +Subject: [PATCH 108/717] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -57353,7 +57010,7 @@ index fbfd0202047c..7e0d62fbc83e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 114/590] Add dwc_otg driver +Subject: [PATCH 109/717] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -58544,10 +58201,10 @@ index 740342a2812a..30f8ce75fe1d 100644 return i; } diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 0aaaadb02cc6..bde789c766ec 100644 +index 1abe43ddb75f..936ee099a8d0 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5581,7 +5581,7 @@ static void port_event(struct usb_hub *hub, int port1) +@@ -5580,7 +5580,7 @@ static void port_event(struct usb_hub *hub, int port1) port_dev->over_current_count++; port_over_current_notify(port_dev); @@ -118580,7 +118237,7 @@ index 000000000000..cdc9963176e5 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 115/590] bcm2708 framebuffer driver +Subject: [PATCH 110/717] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -122141,7 +121798,7 @@ index 3c14e43b82fe..7626beb6a5bb 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 14 Mar 2019 13:27:54 +0000 -Subject: [PATCH 116/590] Pulled in the multi frame buffer support from the Pi3 +Subject: [PATCH 111/717] Pulled in the multi frame buffer support from the Pi3 repo --- @@ -122924,7 +122581,7 @@ index 831e9a7b6818..f66957d48dc3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 117/590] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 112/717] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -123168,7 +122825,7 @@ index f66957d48dc3..0e9ec3f593b8 100644 static int bcm2708_fb_register(struct bcm2708_fb *fb) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c -index 1e70d8c67653..342f11891be0 100644 +index 14ef3aab7663..4f408d350424 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1094,6 +1094,30 @@ fb_blank(struct fb_info *info, int blank) @@ -123271,7 +122928,7 @@ index 3a49913d006c..d9960887cf9e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 118/590] dmaengine: Add support for BCM2708 +Subject: [PATCH 113/717] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -123459,7 +123116,7 @@ Signed-off-by: Phil Elwell create mode 100644 include/linux/platform_data/dma-bcm2708.h diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index 9698bf44ff9c..c54dd6374057 100644 +index 84627595dd28..4b2d6cda6bc5 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -135,7 +135,7 @@ config BCM_SBA_RAID @@ -123937,7 +123594,7 @@ index 000000000000..6ca874d332a8 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 119/590] MMC: added alternative MMC driver +Subject: [PATCH 114/717] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -125978,7 +125635,7 @@ index c726ea781255..a228f33a1e69 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 120/590] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 115/717] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -128491,7 +128148,7 @@ index 000000000000..c29ef052425d From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 121/590] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 116/717] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -129000,7 +128657,7 @@ index 000000000000..3c7079237496 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 122/590] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 117/717] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -129310,7 +128967,7 @@ index 000000000000..f5e7f1ba8fb6 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 123/590] Add SMI driver +Subject: [PATCH 118/717] Add SMI driver Signed-off-by: Luke Wren @@ -131304,7 +130961,7 @@ index 000000000000..ee3a75edfc03 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 124/590] Add Chris Boot's i2c driver +Subject: [PATCH 119/717] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -131975,7 +131632,7 @@ index 000000000000..962f2e5c7455 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 125/590] char: broadcom: Add vcio module +Subject: [PATCH 120/717] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -132259,7 +131916,7 @@ index 000000000000..ac314617229c 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 126/590] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 121/717] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -132339,7 +131996,7 @@ index dba315f675bc..2ace1a4e4822 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 127/590] leds: Add the "input" trigger, for pwr_led +Subject: [PATCH 122/717] 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. @@ -132522,7 +132179,7 @@ index ba4861ec73d3..3f57ad16cefc 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:54:08 +0100 -Subject: [PATCH 128/590] Added Device IDs for August DVB-T 205 +Subject: [PATCH 123/717] Added Device IDs for August DVB-T 205 --- drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++ @@ -132550,7 +132207,7 @@ index 795a012d4020..adb1028d5f25 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 129/590] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 124/717] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -134198,7 +133855,7 @@ index 780704f29dd4..d3206a2a257b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 130/590] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 125/717] 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 @@ -134239,7 +133896,7 @@ index 1c5af2fef142..3e670131f2a8 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 131/590] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 126/717] mfd: Add Raspberry Pi Sense HAT core driver mfd: Add rpi_sense_core of compatible string --- @@ -134449,7 +134106,7 @@ index 000000000000..6a416769065d +MODULE_AUTHOR("Serge Schneider "); +MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index 9940e2724c05..b126bce1dc74 100644 +index 9da8235cb690..85bb158de57a 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -11,6 +11,14 @@ config MFD_CORE @@ -135123,7 +134780,7 @@ index 000000000000..56196dc2af10 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 132/590] Add support for all the downstream rpi sound card +Subject: [PATCH 127/717] Add support for all the downstream rpi sound card drivers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -136639,7 +136296,7 @@ index 6e323a380294..cf0e81449c58 100644 description: BluTek Power "^boe,.*": diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig -index d79905f3e174..7c687cb330a6 100644 +index 5da82f2bdd21..d9843b05d32f 100644 --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig @@ -99,6 +99,12 @@ config COMMON_CLK_HI655X @@ -150141,7 +149798,7 @@ index 000000000000..835d0f9420e7 +MODULE_DESCRIPTION("ASoC Raspberry Pi Hat generic digi driver for WM8804 based cards"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 7022e6286e6c..93db850e8dbe 100644 +index 3f16ad1c3758..714c79b087cb 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -109,6 +109,7 @@ config SND_SOC_ALL_CODECS @@ -150226,7 +149883,7 @@ index 7022e6286e6c..93db850e8dbe 100644 config SND_SOC_TFA989X tristate "NXP/Goodix TFA989X (TFA1) amplifiers" depends on I2C -@@ -2161,4 +2179,8 @@ config SND_SOC_LPASS_TX_MACRO +@@ -2162,4 +2180,8 @@ config SND_SOC_LPASS_TX_MACRO select SND_SOC_LPASS_MACRO_COMMON tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)" @@ -152886,11 +152543,11 @@ index 26268ffb8274..fa2586fc5fdb 100644 /* * For devices with more than one control interface, we assume the diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c -index 3d13fdf7590c..c9c12215b596 100644 +index 3ecd1ba7fd4b..fd1c310f2990 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c -@@ -2154,6 +2154,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = { - QUIRK_FLAG_IFACE_SKIP_CLOSE), +@@ -2156,6 +2156,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = { + QUIRK_FLAG_FIXED_RATE), DEVICE_FLG(0x0ecb, 0x2069, /* JBL Quantum810 Wireless */ QUIRK_FLAG_FIXED_RATE), + DEVICE_FLG(0x09da, 0x2695, /* A4Tech FHD 1080p webcam */ @@ -152905,7 +152562,7 @@ index 3d13fdf7590c..c9c12215b596 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 133/590] rpi_display: add backlight driver and overlay +Subject: [PATCH 128/717] 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 @@ -153088,7 +152745,7 @@ index 000000000000..14a0d9b03739 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 134/590] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 129/717] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -153367,7 +153024,7 @@ index 000000000000..55c40190e88a From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 135/590] OF: DT-Overlay configfs interface +Subject: [PATCH 130/717] 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. @@ -153785,7 +153442,7 @@ index 000000000000..ac04301dabe1 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 136/590] brcm: adds support for BCM43341 wifi +Subject: [PATCH 131/717] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -153844,10 +153501,10 @@ Signed-off-by: Phil Elwell 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index dfcfb3333369..11b45bc0e285 100644 +index ea8409e0e70e..edfde4360519 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2958,7 +2958,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2961,7 +2961,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, brcmf_dbg(INFO, "Do not enable power save for P2P clients\n"); pm = PM_OFF; } @@ -153857,7 +153514,7 @@ index dfcfb3333369..11b45bc0e285 100644 err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PM, pm); if (err) { diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c -index 22344e68fd59..40d46f262b4e 100644 +index fc5232a89653..53acff45294a 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c @@ -59,7 +59,7 @@ static int brcmf_fcmode; @@ -153897,7 +153554,7 @@ index e265a2e411a0..fba766873a33 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 137/590] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 132/717] 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. @@ -153926,7 +153583,7 @@ index 6455bc4fb5bb..a006b12def07 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 138/590] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 133/717] 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 @@ -154006,7 +153663,7 @@ index f049397bd00d..ed7fdf27abfa 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 139/590] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 134/717] ARM64: Force hardware emulation of deprecated instructions. --- @@ -154040,7 +153697,7 @@ index fb0e7c7b2e20..ac473d6dea78 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 14 Nov 2017 15:13:15 +0000 -Subject: [PATCH 140/590] AXI performance monitor driver (#2222) +Subject: [PATCH 135/717] AXI performance monitor driver (#2222) Uses the debugfs I/F to provide access to the AXI bus performance monitors. @@ -154742,7 +154399,7 @@ index 000000000000..5ae2bdaa88b4 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 141/590] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 136/717] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -154811,7 +154468,7 @@ index bfc556f76720..73ec2427fbcf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 16 Jul 2018 14:40:13 +0100 -Subject: [PATCH 142/590] dwc-otg: FIQ: Fix "bad mode in data abort handler" +Subject: [PATCH 137/717] 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 @@ -154933,7 +154590,7 @@ index 73ec2427fbcf..9b6c921106b5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Dec 2017 09:18:32 +0000 -Subject: [PATCH 143/590] ARM: Activate FIQs to avoid __irq_startup warnings +Subject: [PATCH 138/717] 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. @@ -154975,7 +154632,7 @@ index 98ca3e3fa847..c3fe7d3cf482 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 20 Feb 2018 10:07:27 +0000 -Subject: [PATCH 144/590] i2c-gpio: Also set bus numbers from reg property +Subject: [PATCH 139/717] 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 @@ -155016,7 +154673,7 @@ index b1985c1667e1..7ff74c018463 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: hdoverobinson Date: Tue, 13 Mar 2018 06:58:39 -0400 -Subject: [PATCH 145/590] added capture_clear option to pps-gpio via dtoverlay +Subject: [PATCH 140/717] added capture_clear option to pps-gpio via dtoverlay (#2433) --- @@ -155044,7 +154701,7 @@ index 2f4b11b4dfcd..b10b43538542 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 9 Mar 2018 12:01:00 +0000 -Subject: [PATCH 146/590] lan78xx: Read initial EEE status from DT +Subject: [PATCH 141/717] lan78xx: Read initial EEE status from DT Add two new DT properties: * microchip,eee-enabled - a boolean to enable EEE @@ -155057,10 +154714,10 @@ Signed-off-by: Phil Elwell 1 file changed, 16 insertions(+) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index b342e26221c4..3ccf48ccd08c 100644 +index db3c5ce62f7f..ce1efc212034 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -3133,6 +3133,22 @@ static int lan78xx_open(struct net_device *net) +@@ -3108,6 +3108,22 @@ static int lan78xx_open(struct net_device *net) netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); @@ -155090,7 +154747,7 @@ index b342e26221c4..3ccf48ccd08c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 147/590] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 142/717] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -155128,7 +154785,7 @@ index be4c731aaa65..ffbe95c9a00d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nick Bulleid Date: Thu, 10 May 2018 21:57:02 +0100 -Subject: [PATCH 148/590] Add ability to export gpio used by gpio-poweroff +Subject: [PATCH 143/717] Add ability to export gpio used by gpio-poweroff Signed-off-by: Nick Bulleid @@ -155230,7 +154887,7 @@ index 3e670131f2a8..e5dca66360a7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 12 May 2018 21:35:43 +0100 -Subject: [PATCH 149/590] firmware/raspberrypi: Notify firmware of a reboot +Subject: [PATCH 144/717] firmware/raspberrypi: Notify firmware of a reboot Register for reboot notifications, sending RPI_FIRMWARE_NOTIFY_REBOOT over the mailbox interface on reception. @@ -155320,7 +154977,7 @@ index 2ace1a4e4822..11df82a893ef 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 14 Jun 2018 11:21:04 +0100 -Subject: [PATCH 150/590] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time +Subject: [PATCH 145/717] 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 @@ -155392,7 +155049,7 @@ index ada3d9d2ed97..b91ce4b6a107 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Jun 2018 15:21:10 +0100 -Subject: [PATCH 151/590] net: lan78xx: Disable TCP Segmentation Offload (TSO) +Subject: [PATCH 146/717] net: lan78xx: Disable TCP Segmentation Offload (TSO) TSO seems to be having issues when packets are dropped and the remote end uses Selective Acknowledge (SACK) to denote that @@ -155411,7 +155068,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index 3ccf48ccd08c..dae2c83a861f 100644 +index ce1efc212034..33a77a438605 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -609,6 +609,15 @@ static int lan78xx_alloc_tx_resources(struct lan78xx_net *dev) @@ -155430,7 +155087,7 @@ index 3ccf48ccd08c..dae2c83a861f 100644 static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf; -@@ -3492,8 +3501,14 @@ static int lan78xx_bind(struct lan78xx_net *dev, struct usb_interface *intf) +@@ -3467,8 +3476,14 @@ static int lan78xx_bind(struct lan78xx_net *dev, struct usb_interface *intf) if (DEFAULT_RX_CSUM_ENABLE) dev->net->features |= NETIF_F_RXCSUM; @@ -155454,7 +155111,7 @@ index 3ccf48ccd08c..dae2c83a861f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 Jun 2018 12:20:01 +0100 -Subject: [PATCH 152/590] brcmfmac: Re-enable firmware roaming support +Subject: [PATCH 147/717] 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 @@ -155470,7 +155127,7 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c -index 40d46f262b4e..22344e68fd59 100644 +index 53acff45294a..fc5232a89653 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c @@ -59,7 +59,7 @@ static int brcmf_fcmode; @@ -155489,7 +155146,7 @@ index 40d46f262b4e..22344e68fd59 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 5 Apr 2018 14:46:11 +0100 -Subject: [PATCH 153/590] lan78xx: Move enabling of EEE into PHY init code +Subject: [PATCH 148/717] 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 @@ -155503,10 +155160,10 @@ Signed-off-by: Phil Elwell 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index dae2c83a861f..f7cea9e19498 100644 +index 33a77a438605..4d50a1f1dec7 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2442,6 +2442,22 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) +@@ -2417,6 +2417,22 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) mii_adv_to_linkmode_adv_t(fc, mii_adv); linkmode_or(phydev->advertising, fc, phydev->advertising); @@ -155529,7 +155186,7 @@ index dae2c83a861f..f7cea9e19498 100644 if (phydev->mdio.dev.of_node) { u32 reg; int len; -@@ -3142,22 +3158,6 @@ static int lan78xx_open(struct net_device *net) +@@ -3117,22 +3133,6 @@ static int lan78xx_open(struct net_device *net) netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); @@ -155559,7 +155216,7 @@ index dae2c83a861f..f7cea9e19498 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 17 Sep 2018 17:31:18 +0100 -Subject: [PATCH 154/590] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 +Subject: [PATCH 149/717] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with MEDIA_SUBDRV_AUTOSELECT --- @@ -155585,7 +155242,7 @@ index 4656afae5bb4..328ea94d14f9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 13 Oct 2018 13:31:21 +0200 -Subject: [PATCH 155/590] firmware: raspberrypi: Add backward compatible +Subject: [PATCH 150/717] firmware: raspberrypi: Add backward compatible get_throttled Avoid a hard userspace ABI change by adding a compatible get_throttled @@ -155670,7 +155327,7 @@ index 11df82a893ef..24eeb1700ed7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 6 Nov 2018 12:57:48 +0000 -Subject: [PATCH 156/590] sc16is7xx: Don't spin if no data received +Subject: [PATCH 151/717] sc16is7xx: Don't spin if no data received See: https://github.com/raspberrypi/linux/issues/2676 @@ -155680,7 +155337,7 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c -index 524921360ca7..222c705ccfcb 100644 +index 93cf5f788817..6864adaaba7d 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -772,6 +772,8 @@ static bool sc16is7xx_port_irq(struct sc16is7xx_port *s, int portno) @@ -155699,7 +155356,7 @@ index 524921360ca7..222c705ccfcb 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ram Chandrasekar Date: Mon, 7 May 2018 11:54:08 -0600 -Subject: [PATCH 157/590] drivers: thermal: step_wise: add support for +Subject: [PATCH 152/717] drivers: thermal: step_wise: add support for hysteresis Step wise governor increases the mitigation level when the temperature @@ -155793,7 +155450,7 @@ index cdd3354bc27f..d5097e2cd6cc 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Tue, 2 Oct 2018 11:14:15 +0100 -Subject: [PATCH 158/590] drivers: thermal: step_wise: avoid throttling at +Subject: [PATCH 153/717] drivers: thermal: step_wise: avoid throttling at hysteresis temperature after dropping below it Signed-off-by: Serge Schneider @@ -155821,7 +155478,7 @@ index d5097e2cd6cc..e68791e2667f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Fri, 2 Nov 2018 11:55:49 +0000 -Subject: [PATCH 159/590] Update issue templates (#2736) +Subject: [PATCH 154/717] Update issue templates (#2736) --- .github/ISSUE_TEMPLATE/bug_report.md | 34 ++++++++++++++++++++++++++++ @@ -155875,7 +155532,7 @@ index 000000000000..09bdc4a96838 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Nov 2018 19:46:58 +0000 -Subject: [PATCH 160/590] net: lan78xx: Support auto-downshift to 100Mb/s +Subject: [PATCH 155/717] 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 @@ -155906,7 +155563,7 @@ index 11a679530ae6..104768b85bbc 100644 Example: diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c -index ccecee2524ce..8831ad3cca41 100644 +index 0b88635f4fbc..ae266a69822a 100644 --- a/drivers/net/phy/microchip.c +++ b/drivers/net/phy/microchip.c @@ -233,6 +233,7 @@ static int lan88xx_probe(struct phy_device *phydev) @@ -155976,7 +155633,7 @@ index 517288da19fd..626c450d71f4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 10 Jan 2019 17:58:06 +0000 -Subject: [PATCH 161/590] firmware: raspberrypi: Report the fw variant during +Subject: [PATCH 156/717] firmware: raspberrypi: Report the fw variant during probe The driver already reported the firmware build date during probe. @@ -156071,7 +155728,7 @@ index 24eeb1700ed7..843a77a0aaf3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joshua Emele Date: Wed, 7 Nov 2018 16:07:40 -0800 -Subject: [PATCH 162/590] lan78xx: Debounce link events to minimize poll storm +Subject: [PATCH 157/717] lan78xx: Debounce link events to minimize poll storm The bInterval is set to 4 (i.e. 8 microframes => 1ms) and the only bit that the driver pays attention to is "link was reset". If there's a @@ -156085,7 +155742,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index f7cea9e19498..9a4a191f8f77 100644 +index 4d50a1f1dec7..e12a25d2da10 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -618,6 +618,11 @@ static bool enable_tso; @@ -156100,7 +155757,7 @@ index f7cea9e19498..9a4a191f8f77 100644 static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf; -@@ -4463,7 +4468,13 @@ static int lan78xx_probe(struct usb_interface *intf, +@@ -4454,7 +4459,13 @@ static int lan78xx_probe(struct usb_interface *intf, if (ret < 0) goto out4; @@ -156122,7 +155779,7 @@ index f7cea9e19498..9a4a191f8f77 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 Mar 2019 09:51:22 +0000 -Subject: [PATCH 163/590] lan78xx: EEE support is now a PHY property +Subject: [PATCH 158/717] 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. @@ -156135,10 +155792,10 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index 9a4a191f8f77..5a39deabe613 100644 +index e12a25d2da10..a0ddd522d926 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2447,7 +2447,7 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) +@@ -2422,7 +2422,7 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) mii_adv_to_linkmode_adv_t(fc, mii_adv); linkmode_or(phydev->advertising, fc, phydev->advertising); @@ -156154,7 +155811,7 @@ index 9a4a191f8f77..5a39deabe613 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 20 Jul 2018 22:03:41 +0100 -Subject: [PATCH 164/590] bcm2835-dma: Add support for per-channel flags +Subject: [PATCH 159/717] 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 @@ -156208,7 +155865,7 @@ index bf7ba96a39f9..87b5d0bef355 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 29 Mar 2019 10:53:14 +0000 -Subject: [PATCH 165/590] rtc: rv3028: Add backup switchover mode support +Subject: [PATCH 160/717] rtc: rv3028: Add backup switchover mode support Signed-off-by: Phil Howard --- @@ -156294,7 +155951,7 @@ index dd170e3efd83..14b701a00e6a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:56:59 +0000 -Subject: [PATCH 166/590] media: tc358743: Increase FIFO level to 374. +Subject: [PATCH 161/717] 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 @@ -156331,7 +155988,7 @@ index 200841c1f5cf..76503a00772b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:21 +0000 -Subject: [PATCH 167/590] media: tc358743: Add support for 972Mbit/s link freq. +Subject: [PATCH 162/717] media: tc358743: Add support for 972Mbit/s link freq. Adds register setups for running the CSI lanes at 972Mbit/s, which allows 1080P50 UYVY down 2 lanes. @@ -156416,7 +156073,7 @@ index 76503a00772b..17254fe6283a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:34 +0000 -Subject: [PATCH 168/590] media: tc358743: Check I2C succeeded during probe. +Subject: [PATCH 163/717] 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. @@ -156520,7 +156177,7 @@ index 17254fe6283a..60708532e042 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:46 +0000 -Subject: [PATCH 169/590] media: adv7180: Default to the first valid input +Subject: [PATCH 164/717] media: adv7180: Default to the first valid input The hardware default is differential CVBS on AIN1 & 2, which isn't very useful. @@ -156571,7 +156228,7 @@ index 216fe396973f..88af88f16c42 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:56 +0000 -Subject: [PATCH 170/590] media: adv7180: Add YPrPb support for ADV7282M +Subject: [PATCH 165/717] 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 @@ -156601,7 +156258,7 @@ index 88af88f16c42..2aa29616081f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:58:08 +0000 -Subject: [PATCH 171/590] media: videodev2: Add helper defines for printing +Subject: [PATCH 166/717] media: videodev2: Add helper defines for printing FOURCCs New helper defines that allow printing of a FOURCC using @@ -156635,7 +156292,7 @@ index 29da1f4b4578..2b5f166b1ce7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:59:06 +0000 -Subject: [PATCH 172/590] dt-bindings: Document BCM283x CSI2/CCP2 receiver +Subject: [PATCH 167/717] dt-bindings: Document BCM283x CSI2/CCP2 receiver Document the DT bindings for the CSI2/CCP2 receiver peripheral (known as Unicam) on BCM283x SoCs. @@ -156745,7 +156402,7 @@ index 000000000000..7714fb374b34 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:59:40 +0000 -Subject: [PATCH 173/590] MAINTAINERS: Add entry for BCM2835 Unicam driver +Subject: [PATCH 168/717] MAINTAINERS: Add entry for BCM2835 Unicam driver Adds entry for the new BCM2835 Unicam (CSI-2 receiver) driver @@ -156755,7 +156412,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 7 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS -index d4822ae39e39..8ec7a1974da3 100644 +index 350d7e3ba94f..02f1afa1338c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4030,6 +4030,13 @@ N: bcm113* @@ -156779,7 +156436,7 @@ index d4822ae39e39..8ec7a1974da3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 22 Nov 2018 17:31:06 +0000 -Subject: [PATCH 174/590] media: tc358743: Return an appropriate colorspace +Subject: [PATCH 169/717] media: tc358743: Return an appropriate colorspace from tc358743_set_fmt When calling tc358743_set_fmt, the code was calling tc358743_get_fmt @@ -156883,7 +156540,7 @@ index 60708532e042..69127833f4c7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 16:20:46 +0000 -Subject: [PATCH 175/590] staging: mmal-vchiq: Avoid use of bool in structures +Subject: [PATCH 170/717] staging: mmal-vchiq: Avoid use of bool in structures Fixes up a checkpatch error "Avoid using bool structure members because of possible alignment issues". @@ -156913,7 +156570,7 @@ index cb921c94996a..17f8ceda87ca 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 18:15:38 +0100 -Subject: [PATCH 176/590] staging: mmal-vchiq: Add support for event callbacks. +Subject: [PATCH 171/717] staging: mmal-vchiq: Add support for event callbacks. (Preparation for the codec driver). The codec uses the event mechanism to report things such as @@ -157281,7 +156938,7 @@ index 6006e29232b3..e3ecd70b9951 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 18:26:02 +0100 -Subject: [PATCH 177/590] staging: vc04_services: Support sending data to MMAL +Subject: [PATCH 172/717] staging: vc04_services: Support sending data to MMAL ports Add the ability to send data to ports. This only supports @@ -157329,7 +156986,7 @@ index c2867f98afe5..f5bdd991721d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 17:57:45 +0000 -Subject: [PATCH 178/590] media: videobuf2: Allow exporting of a struct dmabuf +Subject: [PATCH 173/717] media: videobuf2: Allow exporting of a struct dmabuf videobuf2 only allowed exporting a dmabuf as a file descriptor, but there are instances where having the struct dma_buf is @@ -157420,7 +157077,7 @@ index 3253bd2f6fee..caf574d26288 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 22 Jan 2019 12:04:09 +0000 -Subject: [PATCH 179/590] staging: mmal-vchiq: Fix client_component for 64 bit +Subject: [PATCH 174/717] staging: mmal-vchiq: Fix client_component for 64 bit kernel The MMAL client_component field is used with the event @@ -157461,7 +157118,7 @@ index f5bdd991721d..94ec3c2c342a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Feb 2019 12:33:29 +0000 -Subject: [PATCH 180/590] staging: mmal_vchiq: Add in the Bayer encoding +Subject: [PATCH 175/717] staging: mmal_vchiq: Add in the Bayer encoding formats The list of formats was copied before Bayer support was added. @@ -157518,7 +157175,7 @@ index e15ae7b24f73..feca1c3d8878 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 18 Feb 2019 15:52:29 +0000 -Subject: [PATCH 181/590] staging: mmal-vchiq: Update mmal_parameters.h with +Subject: [PATCH 176/717] staging: mmal-vchiq: Update mmal_parameters.h with recently defined params mmal_parameters.h hasn't been updated to reflect additions made @@ -157580,7 +157237,7 @@ index a0cdd28101f2..33f4179d7712 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 1 May 2019 13:27:23 +0100 -Subject: [PATCH 182/590] staging: mmal-vchiq: Free the event context for +Subject: [PATCH 177/717] staging: mmal-vchiq: Free the event context for control ports vchiq_mmal_component_init calls init_event_context for the @@ -157614,7 +157271,7 @@ index 94ec3c2c342a..34f6ca423c7b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 May 2019 15:50:01 +0100 -Subject: [PATCH 183/590] staging: mmal-vchiq: Fix memory leak in error path +Subject: [PATCH 178/717] staging: mmal-vchiq: Fix memory leak in error path On error, vchiq_mmal_component_init could leave the event context allocated for ports. @@ -157696,7 +157353,7 @@ index 34f6ca423c7b..22ddd0c7d1db 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jun 2019 17:15:05 +0100 -Subject: [PATCH 184/590] w1: w1-gpio: Make GPIO an output for strong pullup +Subject: [PATCH 179/717] 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 @@ -157729,7 +157386,7 @@ index d4632aace402..4832cd8c2596 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 Feb 2019 08:49:39 +0000 -Subject: [PATCH 185/590] arm: bcm2835: Fix FIQ early ioremap +Subject: [PATCH 180/717] arm: bcm2835: Fix FIQ early ioremap The ioremapping creates mappings within the vmalloc area. The equivalent early function, create_mapping, now checks that the @@ -157808,7 +157465,7 @@ index 9b6c921106b5..9bd9842da59f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 May 2019 15:47:42 +0100 -Subject: [PATCH 186/590] arm: bcm2835: DMA can only address 1GB +Subject: [PATCH 181/717] 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. @@ -157839,7 +157496,7 @@ index 9bd9842da59f..7d59a9364175 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 4 May 2019 17:06:15 +0200 -Subject: [PATCH 187/590] hwrng: iproc-rng200: Add BCM2838 support +Subject: [PATCH 182/717] 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. @@ -158000,7 +157657,7 @@ index 06bc060534d8..eb9cca3de7a9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 12 Sep 2018 14:44:53 +0100 -Subject: [PATCH 188/590] bcmgenet: constrain max DMA burst length +Subject: [PATCH 183/717] bcmgenet: constrain max DMA burst length --- drivers/net/ethernet/broadcom/genet/bcmgenet.h | 2 +- @@ -158026,7 +157683,7 @@ index 946f6e283c4e..5253c3f66098 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 27 Mar 2019 13:45:46 +0000 -Subject: [PATCH 189/590] bcmgenet: Better coalescing parameter defaults +Subject: [PATCH 184/717] bcmgenet: Better coalescing parameter defaults Set defaults for TX and RX packet coalescing to be equivalent to: @@ -158042,10 +157699,10 @@ Signed-off-by: Phil Elwell 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index 25c450606985..87e370c4a663 100644 +index f679ed54b3ef..ccc587603591 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -2652,7 +2652,7 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_priv *priv, +@@ -2660,7 +2660,7 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_priv *priv, bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX); bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX); @@ -158054,7 +157711,7 @@ index 25c450606985..87e370c4a663 100644 /* Disable rate control for now */ bcmgenet_tdma_ring_writel(priv, index, flow_period_val, TDMA_FLOW_PERIOD); -@@ -4132,9 +4132,12 @@ static int bcmgenet_probe(struct platform_device *pdev) +@@ -4140,9 +4140,12 @@ static int bcmgenet_probe(struct platform_device *pdev) netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); /* Set default coalescing parameters */ @@ -158075,7 +157732,7 @@ index 25c450606985..87e370c4a663 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 14 May 2019 17:17:59 +0100 -Subject: [PATCH 190/590] net: genet: enable link energy detect powerdown for +Subject: [PATCH 185/717] net: genet: enable link energy detect powerdown for external PHYs There are several warts surrounding bcmgenet_mii_probe() as this @@ -158093,10 +157750,10 @@ Signed-off-by: Jonathan Bell 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c -index 948ef1dacdd3..db54030c8166 100644 +index 7ec07f071fc9..e0fa9b0e00ab 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c -@@ -298,6 +298,8 @@ int bcmgenet_mii_probe(struct net_device *dev) +@@ -291,6 +291,8 @@ int bcmgenet_mii_probe(struct net_device *dev) /* Communicate the integrated PHY revision */ if (priv->internal_phy) phy_flags = priv->gphy_rev; @@ -158112,7 +157769,7 @@ index 948ef1dacdd3..db54030c8166 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 10:55:00 +0100 -Subject: [PATCH 191/590] usb: add plumbing for updating interrupt endpoint +Subject: [PATCH 186/717] usb: add plumbing for updating interrupt endpoint interval state xHCI caches device and endpoint data after the interface is configured, @@ -158228,7 +157885,7 @@ index 78cd566ee238..7824240e629b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 11:33:39 +0100 -Subject: [PATCH 192/590] xhci: implement xhci_fixup_endpoint for interval +Subject: [PATCH 187/717] xhci: implement xhci_fixup_endpoint for interval adjustments Must be called in a non-atomic context, after the endpoint @@ -158369,7 +158026,7 @@ index 2b280beb0011..c7aaba91062d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 11:42:03 +0100 -Subject: [PATCH 193/590] usbhid: call usb_fixup_endpoint after mangling +Subject: [PATCH 188/717] usbhid: call usb_fixup_endpoint after mangling intervals Lets the mousepoll override mechanism work with xhci. @@ -158398,7 +158055,7 @@ index ffbe95c9a00d..88eda0a36c4c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 11 Jun 2019 17:38:28 +0100 -Subject: [PATCH 194/590] arm: bcm2835: Add bcm2838 compatible string. +Subject: [PATCH 189/717] arm: bcm2835: Add bcm2838 compatible string. Signed-off-by: Phil Elwell --- @@ -158424,7 +158081,7 @@ index 7d59a9364175..282a023027fc 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 12 Jul 2019 15:38:35 +0100 -Subject: [PATCH 195/590] i2c: bcm2835: Set clock-stretch timeout to 35ms +Subject: [PATCH 190/717] 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 @@ -158477,7 +158134,7 @@ index 394282a37f67..d768247c7e50 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 13:22:53 -0700 -Subject: [PATCH 196/590] drm/v3d: Clock V3D down when not in use. +Subject: [PATCH 191/717] 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. @@ -158645,7 +158302,7 @@ index b8980440d137..9044690c55b1 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 9 May 2019 14:30:37 +0100 -Subject: [PATCH 197/590] drivers: char: add chardev for mmap'ing the RPiVid +Subject: [PATCH 192/717] drivers: char: add chardev for mmap'ing the RPiVid control registers Based on the gpiomem driver, allow mapping of the decoder register @@ -159028,7 +158685,7 @@ index 000000000000..9f38083f4cb6 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 1 Aug 2019 16:41:20 +0100 -Subject: [PATCH 198/590] hid: usb: Add device quirks for Freeway Airmouse T3 +Subject: [PATCH 193/717] hid: usb: Add device quirks for Freeway Airmouse T3 and MX3 These wireless mouse/keyboard combo remote control devices specify @@ -159049,7 +158706,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 82713ef3aaa6..a4935a2a3a15 100644 +index 2235d78784b1..9d0c484dbe3b 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -238,6 +238,9 @@ @@ -159062,7 +158719,7 @@ index 82713ef3aaa6..a4935a2a3a15 100644 #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1360,6 +1363,9 @@ +@@ -1365,6 +1368,9 @@ #define USB_VENDOR_ID_XIAOMI 0x2717 #define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014 @@ -159073,7 +158730,7 @@ index 82713ef3aaa6..a4935a2a3a15 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 0e9702c7f7d6..8367d2821514 100644 +index 66e64350f138..f4700a0aa41b 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[] = { @@ -159084,7 +158741,7 @@ index 0e9702c7f7d6..8367d2821514 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 }, -@@ -198,6 +199,7 @@ static const struct hid_device_id hid_quirks[] = { +@@ -197,6 +198,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 }, @@ -159099,7 +158756,7 @@ index 0e9702c7f7d6..8367d2821514 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 9 Aug 2019 08:51:43 +0100 -Subject: [PATCH 199/590] net: bcmgenet: Workaround #2 for Pi4 Ethernet fail +Subject: [PATCH 194/717] 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 @@ -159124,7 +158781,7 @@ Signed-off-by: Phil Elwell 1 file changed, 8 insertions(+) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index 87e370c4a663..f707a31eac9b 100644 +index ccc587603591..40d2e603b005 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -67,6 +67,9 @@ @@ -159137,7 +158794,7 @@ index 87e370c4a663..f707a31eac9b 100644 static inline void bcmgenet_writel(u32 value, void __iomem *offset) { -@@ -2483,6 +2486,11 @@ static void reset_umac(struct bcmgenet_priv *priv) +@@ -2491,6 +2494,11 @@ static void reset_umac(struct bcmgenet_priv *priv) bcmgenet_rbuf_ctrl_set(priv, 0); udelay(10); @@ -159156,7 +158813,7 @@ index 87e370c4a663..f707a31eac9b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 13 Aug 2019 15:53:29 +0100 -Subject: [PATCH 200/590] xhci: Use more event ring segment table entries +Subject: [PATCH 195/717] 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 @@ -159224,7 +158881,7 @@ index dcee7f3207ad..b762a7123935 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Sep 2019 18:16:56 +0100 -Subject: [PATCH 201/590] arch/arm: Add model string to cpuinfo +Subject: [PATCH 196/717] arch/arm: Add model string to cpuinfo Signed-off-by: Phil Elwell --- @@ -159266,7 +158923,7 @@ index cb88c6e69377..9f8cdbfb993d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Sep 2019 18:17:25 +0100 -Subject: [PATCH 202/590] arch/arm64: Add Revision, Serial, Model to cpuinfo +Subject: [PATCH 197/717] arch/arm64: Add Revision, Serial, Model to cpuinfo Signed-off-by: Phil Elwell --- @@ -159328,745 +158985,9 @@ index 28d4f442b0bc..21836c76a3b3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Wed, 28 Aug 2019 13:34:30 +0100 -Subject: [PATCH 203/590] media: i2c: imx219: Support for the Sony IMX219 - sensor - -media: dt-bindings: Add binding for the Sony IMX219 sensor - -The IMX219 is an 8MPix CSI2 sensor, supporting 2 or 4 data lanes. -Document the binding for this device. - -Signed-off-by: Dave Stevenson - -media: i2c: imx219: Sensor should report RAW color space - -Tested on Raspberry Pi running libcamera. - -Signed-off-by: David Plowman - - media: imx219: Advertise embedded data node on media pad 1 - -This commit updates the imx219 driver to adverise support for embedded -data streams. This can then be used by the bcm2835-unicam driver, which -has recently been updated to expose the embedded data stream to -userland. - -The imx219 sensor subdevice overloads the media pad to differentiate -between image stream (pad 0) and embedded data stream (pad 1) when -performing the v4l2_subdev_pad_ops functions. - -Signed-off-by: Naushir Patuck -[JMH: Adapt to the mainline 5.16 kernel] -Signed-off-by: Jean-Michel Hautbois - -media: i2c: imx219: Correct the minimum vblanking value - -The datasheet for this sensor documents the minimum vblanking as being -32 lines. It does fix some problems with occasional black lines at the -bottom of images (tested on Raspberry Pi). - -Signed-off-by: David Plowman - -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 -the pixel rate is effectively doubled. Account for this when setting up the -pixel clock rate, and applying the vblank and exposure controls. - -Signed-off-by: Naushir Patuck - -media: i2c: imx219: make HBLANK r/w to allow longer exposures - -The HBLANK control was read-only, and always configured such -that the sensor HTS register was 3448. This limited the maximum -exposure time that could be achieved to around 1.26 secs. - -Make HBLANK read/write so that the line time can be extended, -and thereby allow longer exposures (and slower frame rates). -Retain the overall HTS setting when changing modes rather than -resetting it to a default. - -Signed-off-by: Dave Stevenson ---- - .../devicetree/bindings/media/i2c/imx219.txt | 59 ++++ - drivers/media/i2c/imx219.c | 328 ++++++++++++------ - 2 files changed, 278 insertions(+), 109 deletions(-) - create mode 100644 Documentation/devicetree/bindings/media/i2c/imx219.txt - -diff --git a/Documentation/devicetree/bindings/media/i2c/imx219.txt b/Documentation/devicetree/bindings/media/i2c/imx219.txt -new file mode 100644 -index 000000000000..a02f1ce1e120 ---- /dev/null -+++ b/Documentation/devicetree/bindings/media/i2c/imx219.txt -@@ -0,0 +1,59 @@ -+* Sony 1/4.0-Inch 8Mpixel CMOS Digital Image Sensor -+ -+The Sony imx219 is a 1/4.0-inch CMOS active pixel digital image sensor with -+an active array size of 3280H x 2464V. It is programmable through I2C -+interface. The I2C address is fixed to 0x10 as per sensor data sheet. -+Image data is sent through MIPI CSI-2, which is configured as either 2 or 4 -+data lanes. -+ -+Required Properties: -+- compatible: value should be "sony,imx219" for imx219 sensor -+- reg: I2C bus address of the device -+- clocks: reference to the xclk input clock. -+- clock-names: should be "xclk". -+- DOVDD-supply: Digital I/O voltage supply, 1.8 volts -+- AVDD-supply: Analog voltage supply, 2.8 volts -+- DVDD-supply: Digital core voltage supply, 1.2 volts -+ -+Optional Properties: -+- xclr-gpios: reference to the GPIO connected to the xclr pin, if any. Must be -+ released after all supplies are applied. -+ This is an active high signal to the imx219. -+ -+The imx219 device node should contain one 'port' child node with -+an 'endpoint' subnode. For further reading on port node refer to -+Documentation/devicetree/bindings/media/video-interfaces.txt. -+ -+Endpoint node required properties for CSI-2 connection are: -+- remote-endpoint: a phandle to the bus receiver's endpoint node. -+- clock-lanes: should be set to <0> (clock lane on hardware lane 0) -+- data-lanes: should be set to <1 2>, or <1 2 3 4> (two or four lane CSI-2 -+ supported) -+ -+Example: -+ sensor@10 { -+ compatible = "sony,imx219"; -+ reg = <0x10>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ clocks = <&imx219_clk>; -+ clock-names = "xclk"; -+ xclr-gpios = <&gpio_sensor 0 0>; -+ DOVDD-supply = <&vgen4_reg>; /* 1.8v */ -+ AVDD-supply = <&vgen3_reg>; /* 2.8v */ -+ DVDD-supply = <&vgen2_reg>; /* 1.2v */ -+ -+ imx219_clk: camera-clk { -+ compatible = "fixed-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <24000000>; -+ }; -+ -+ port { -+ sensor_out: endpoint { -+ remote-endpoint = <&csiss_in>; -+ clock-lanes = <0>; -+ data-lanes = <1 2>; -+ }; -+ }; -+ }; -diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c -index 77bd79a5954e..13bf7f0e759f 100644 ---- a/drivers/media/i2c/imx219.c -+++ b/drivers/media/i2c/imx219.c -@@ -55,7 +55,7 @@ - #define IMX219_VTS_30FPS_640x480 0x06e3 - #define IMX219_VTS_MAX 0xffff - --#define IMX219_VBLANK_MIN 4 -+#define IMX219_VBLANK_MIN 32 - - /*Frame Length Line*/ - #define IMX219_FLL_MIN 0x08a6 -@@ -63,8 +63,10 @@ - #define IMX219_FLL_STEP 1 - #define IMX219_FLL_DEFAULT 0x0c98 - --/* HBLANK control - read only */ --#define IMX219_PPL_DEFAULT 3448 -+/* HBLANK control range */ -+#define IMX219_PPL_MIN 3448 -+#define IMX219_PPL_MAX 0x7ff0 -+#define IMX219_REG_HTS 0x0162 - - /* Exposure control */ - #define IMX219_REG_EXPOSURE 0x015a -@@ -118,6 +120,16 @@ - #define IMX219_PIXEL_ARRAY_WIDTH 3280U - #define IMX219_PIXEL_ARRAY_HEIGHT 2464U - -+/* Embedded metadata stream structure */ -+#define IMX219_EMBEDDED_LINE_WIDTH 16384 -+#define IMX219_NUM_EMBEDDED_LINES 1 -+ -+enum pad_types { -+ IMAGE_PAD, -+ METADATA_PAD, -+ NUM_PADS -+}; -+ - struct imx219_reg { - u16 address; - u8 val; -@@ -143,6 +155,9 @@ struct imx219_mode { - - /* Default register values */ - struct imx219_reg_list reg_list; -+ -+ /* Relative pixel clock rate factor for the mode. */ -+ unsigned int rate_factor; - }; - - /* -@@ -203,8 +218,6 @@ static const struct imx219_reg mode_3280x2464_regs[] = { - {0x4793, 0x10}, - {0x4797, 0x0e}, - {0x479b, 0x0e}, -- {0x0162, 0x0d}, -- {0x0163, 0x78}, - }; - - static const struct imx219_reg mode_1920_1080_regs[] = { -@@ -219,8 +232,6 @@ static const struct imx219_reg mode_1920_1080_regs[] = { - {0x0128, 0x00}, - {0x012a, 0x18}, - {0x012b, 0x00}, -- {0x0162, 0x0d}, -- {0x0163, 0x78}, - {0x0164, 0x02}, - {0x0165, 0xa8}, - {0x0166, 0x0a}, -@@ -317,8 +328,6 @@ static const struct imx219_reg mode_1640_1232_regs[] = { - {0x4793, 0x10}, - {0x4797, 0x0e}, - {0x479b, 0x0e}, -- {0x0162, 0x0d}, -- {0x0163, 0x78}, - }; - - static const struct imx219_reg mode_640_480_regs[] = { -@@ -333,8 +342,6 @@ static const struct imx219_reg mode_640_480_regs[] = { - {0x0128, 0x00}, - {0x012a, 0x18}, - {0x012b, 0x00}, -- {0x0162, 0x0d}, -- {0x0163, 0x78}, - {0x0164, 0x03}, - {0x0165, 0xe8}, - {0x0166, 0x08}, -@@ -485,6 +492,7 @@ static const struct imx219_mode supported_modes[] = { - .num_of_regs = ARRAY_SIZE(mode_3280x2464_regs), - .regs = mode_3280x2464_regs, - }, -+ .rate_factor = 1, - }, - { - /* 1080P 30fps cropped */ -@@ -501,6 +509,7 @@ static const struct imx219_mode supported_modes[] = { - .num_of_regs = ARRAY_SIZE(mode_1920_1080_regs), - .regs = mode_1920_1080_regs, - }, -+ .rate_factor = 1, - }, - { - /* 2x2 binned 30fps mode */ -@@ -517,6 +526,7 @@ static const struct imx219_mode supported_modes[] = { - .num_of_regs = ARRAY_SIZE(mode_1640_1232_regs), - .regs = mode_1640_1232_regs, - }, -+ .rate_factor = 1, - }, - { - /* 640x480 30fps mode */ -@@ -533,12 +543,17 @@ static const struct imx219_mode supported_modes[] = { - .num_of_regs = ARRAY_SIZE(mode_640_480_regs), - .regs = mode_640_480_regs, - }, -+ /* -+ * This mode uses a special 2x2 binning that doubles the -+ * the internal pixel clock rate. -+ */ -+ .rate_factor = 2, - }, - }; - - struct imx219 { - struct v4l2_subdev sd; -- struct media_pad pad; -+ struct media_pad pad[NUM_PADS]; - - struct v4l2_mbus_framefmt fmt; - -@@ -674,7 +689,7 @@ static void imx219_set_default_format(struct imx219 *imx219) - - fmt = &imx219->fmt; - fmt->code = MEDIA_BUS_FMT_SRGGB10_1X10; -- fmt->colorspace = V4L2_COLORSPACE_SRGB; -+ fmt->colorspace = V4L2_COLORSPACE_RAW; - fmt->ycbcr_enc = V4L2_MAP_YCBCR_ENC_DEFAULT(fmt->colorspace); - fmt->quantization = V4L2_MAP_QUANTIZATION_DEFAULT(true, - fmt->colorspace, -@@ -688,18 +703,26 @@ static void imx219_set_default_format(struct imx219 *imx219) - static int imx219_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) - { - struct imx219 *imx219 = to_imx219(sd); -- struct v4l2_mbus_framefmt *try_fmt = -- v4l2_subdev_get_try_format(sd, fh->state, 0); -+ 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(&imx219->mutex); - -- /* Initialize try_fmt */ -- try_fmt->width = supported_modes[0].width; -- try_fmt->height = supported_modes[0].height; -- try_fmt->code = imx219_get_format_code(imx219, -- MEDIA_BUS_FMT_SRGGB10_1X10); -- try_fmt->field = V4L2_FIELD_NONE; -+ /* Initialize try_fmt for the image pad */ -+ try_fmt_img->width = supported_modes[0].width; -+ try_fmt_img->height = supported_modes[0].height; -+ try_fmt_img->code = imx219_get_format_code(imx219, -+ MEDIA_BUS_FMT_SRGGB10_1X10); -+ try_fmt_img->field = V4L2_FIELD_NONE; -+ -+ /* Initialize try_fmt for the embedded metadata pad */ -+ try_fmt_meta->width = IMX219_EMBEDDED_LINE_WIDTH; -+ try_fmt_meta->height = IMX219_NUM_EMBEDDED_LINES; -+ try_fmt_meta->code = MEDIA_BUS_FMT_SENSOR_DATA; -+ try_fmt_meta->field = V4L2_FIELD_NONE; - - /* Initialize try_crop rectangle. */ - try_crop = v4l2_subdev_get_try_crop(sd, fh->state, 0); -@@ -747,7 +770,8 @@ static int imx219_set_ctrl(struct v4l2_ctrl *ctrl) - break; - case V4L2_CID_EXPOSURE: - ret = imx219_write_reg(imx219, IMX219_REG_EXPOSURE, -- IMX219_REG_VALUE_16BIT, ctrl->val); -+ IMX219_REG_VALUE_16BIT, -+ ctrl->val / imx219->mode->rate_factor); - break; - case V4L2_CID_DIGITAL_GAIN: - ret = imx219_write_reg(imx219, IMX219_REG_DIGITAL_GAIN, -@@ -767,7 +791,13 @@ static int imx219_set_ctrl(struct v4l2_ctrl *ctrl) - case V4L2_CID_VBLANK: - ret = imx219_write_reg(imx219, IMX219_REG_VTS, - IMX219_REG_VALUE_16BIT, -- imx219->mode->height + ctrl->val); -+ (imx219->mode->height + ctrl->val) / -+ imx219->mode->rate_factor); -+ break; -+ case V4L2_CID_HBLANK: -+ ret = imx219_write_reg(imx219, IMX219_REG_HTS, -+ IMX219_REG_VALUE_16BIT, -+ imx219->mode->width + ctrl->val); - break; - case V4L2_CID_TEST_PATTERN_RED: - ret = imx219_write_reg(imx219, IMX219_REG_TESTP_RED, -@@ -808,12 +838,21 @@ static int imx219_enum_mbus_code(struct v4l2_subdev *sd, - { - struct imx219 *imx219 = to_imx219(sd); - -- if (code->index >= (ARRAY_SIZE(codes) / 4)) -+ if (code->pad >= NUM_PADS) - return -EINVAL; - -- mutex_lock(&imx219->mutex); -- code->code = imx219_get_format_code(imx219, codes[code->index * 4]); -- mutex_unlock(&imx219->mutex); -+ if (code->pad == IMAGE_PAD) { -+ if (code->index >= (ARRAY_SIZE(codes) / 4)) -+ return -EINVAL; -+ -+ code->code = imx219_get_format_code(imx219, -+ codes[code->index * 4]); -+ } else { -+ if (code->index > 0) -+ return -EINVAL; -+ -+ code->code = MEDIA_BUS_FMT_SENSOR_DATA; -+ } - - return 0; - } -@@ -823,28 +862,37 @@ static int imx219_enum_frame_size(struct v4l2_subdev *sd, - struct v4l2_subdev_frame_size_enum *fse) - { - struct imx219 *imx219 = to_imx219(sd); -- u32 code; - -- if (fse->index >= ARRAY_SIZE(supported_modes)) -+ if (fse->pad >= NUM_PADS) - return -EINVAL; - -- mutex_lock(&imx219->mutex); -- code = imx219_get_format_code(imx219, fse->code); -- mutex_unlock(&imx219->mutex); -- if (fse->code != code) -- return -EINVAL; -+ if (fse->pad == IMAGE_PAD) { -+ if (fse->index >= ARRAY_SIZE(supported_modes)) -+ return -EINVAL; -+ -+ if (fse->code != imx219_get_format_code(imx219, fse->code)) -+ return -EINVAL; - -- fse->min_width = supported_modes[fse->index].width; -- fse->max_width = fse->min_width; -- fse->min_height = supported_modes[fse->index].height; -- fse->max_height = fse->min_height; -+ fse->min_width = supported_modes[fse->index].width; -+ fse->max_width = fse->min_width; -+ fse->min_height = supported_modes[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 = IMX219_EMBEDDED_LINE_WIDTH; -+ fse->max_width = fse->min_width; -+ fse->min_height = IMX219_NUM_EMBEDDED_LINES; -+ fse->max_height = fse->min_height; -+ } - - return 0; - } - - static void imx219_reset_colorspace(struct v4l2_mbus_framefmt *fmt) - { -- fmt->colorspace = V4L2_COLORSPACE_SRGB; -+ fmt->colorspace = V4L2_COLORSPACE_RAW; - fmt->ycbcr_enc = V4L2_MAP_YCBCR_ENC_DEFAULT(fmt->colorspace); - fmt->quantization = V4L2_MAP_QUANTIZATION_DEFAULT(true, - fmt->colorspace, -@@ -852,9 +900,9 @@ static void imx219_reset_colorspace(struct v4l2_mbus_framefmt *fmt) - fmt->xfer_func = V4L2_MAP_XFER_FUNC_DEFAULT(fmt->colorspace); - } - --static void imx219_update_pad_format(struct imx219 *imx219, -- const struct imx219_mode *mode, -- struct v4l2_subdev_format *fmt) -+static void imx219_update_image_pad_format(struct imx219 *imx219, -+ const struct imx219_mode *mode, -+ struct v4l2_subdev_format *fmt) - { - fmt->format.width = mode->width; - fmt->format.height = mode->height; -@@ -862,21 +910,39 @@ static void imx219_update_pad_format(struct imx219 *imx219, - imx219_reset_colorspace(&fmt->format); - } - -+static void imx219_update_metadata_pad_format(struct v4l2_subdev_format *fmt) -+{ -+ fmt->format.width = IMX219_EMBEDDED_LINE_WIDTH; -+ fmt->format.height = IMX219_NUM_EMBEDDED_LINES; -+ fmt->format.code = MEDIA_BUS_FMT_SENSOR_DATA; -+ fmt->format.field = V4L2_FIELD_NONE; -+} -+ - static int __imx219_get_pad_format(struct imx219 *imx219, - struct v4l2_subdev_state *sd_state, - struct v4l2_subdev_format *fmt) - { -+ if (fmt->pad >= NUM_PADS) -+ return -EINVAL; -+ - if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { - struct v4l2_mbus_framefmt *try_fmt = - v4l2_subdev_get_try_format(&imx219->sd, sd_state, - fmt->pad); - /* update the code which could change due to vflip or hflip: */ -- try_fmt->code = imx219_get_format_code(imx219, try_fmt->code); -+ try_fmt->code = fmt->pad == IMAGE_PAD ? -+ imx219_get_format_code(imx219, try_fmt->code) : -+ MEDIA_BUS_FMT_SENSOR_DATA; - fmt->format = *try_fmt; - } else { -- imx219_update_pad_format(imx219, imx219->mode, fmt); -- fmt->format.code = imx219_get_format_code(imx219, -- imx219->fmt.code); -+ if (fmt->pad == IMAGE_PAD) { -+ imx219_update_image_pad_format(imx219, imx219->mode, -+ fmt); -+ fmt->format.code = imx219_get_format_code(imx219, -+ imx219->fmt.code); -+ } else { -+ imx219_update_metadata_pad_format(fmt); -+ } - } - - return 0; -@@ -903,54 +969,91 @@ static int imx219_set_pad_format(struct v4l2_subdev *sd, - struct imx219 *imx219 = to_imx219(sd); - const struct imx219_mode *mode; - struct v4l2_mbus_framefmt *framefmt; -- int exposure_max, exposure_def, hblank; -+ int exposure_max, exposure_def, hblank, pixel_rate; - unsigned int i; - -- mutex_lock(&imx219->mutex); -- -- for (i = 0; i < ARRAY_SIZE(codes); i++) -- if (codes[i] == fmt->format.code) -- break; -- if (i >= ARRAY_SIZE(codes)) -- i = 0; -+ if (fmt->pad >= NUM_PADS) -+ return -EINVAL; - -- /* Bayer order varies with flips */ -- fmt->format.code = imx219_get_format_code(imx219, codes[i]); -+ mutex_lock(&imx219->mutex); - -- mode = v4l2_find_nearest_size(supported_modes, -- ARRAY_SIZE(supported_modes), -- width, height, -- fmt->format.width, fmt->format.height); -- imx219_update_pad_format(imx219, mode, fmt); -- if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { -- framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad); -- *framefmt = fmt->format; -- } else if (imx219->mode != mode || -- imx219->fmt.code != fmt->format.code) { -- imx219->fmt = fmt->format; -- imx219->mode = mode; -- /* Update limits and set FPS to default */ -- __v4l2_ctrl_modify_range(imx219->vblank, IMX219_VBLANK_MIN, -- IMX219_VTS_MAX - mode->height, 1, -- mode->vts_def - mode->height); -- __v4l2_ctrl_s_ctrl(imx219->vblank, -- mode->vts_def - mode->height); -- /* Update max exposure while meeting expected vblanking */ -- exposure_max = mode->vts_def - 4; -- exposure_def = (exposure_max < IMX219_EXPOSURE_DEFAULT) ? -- exposure_max : IMX219_EXPOSURE_DEFAULT; -- __v4l2_ctrl_modify_range(imx219->exposure, -- imx219->exposure->minimum, -- exposure_max, imx219->exposure->step, -- exposure_def); -- /* -- * Currently PPL is fixed to IMX219_PPL_DEFAULT, so hblank -- * depends on mode->width only, and is not changeble in any -- * way other than changing the mode. -- */ -- hblank = IMX219_PPL_DEFAULT - mode->width; -- __v4l2_ctrl_modify_range(imx219->hblank, hblank, hblank, 1, -- hblank); -+ if (fmt->pad == IMAGE_PAD) { -+ for (i = 0; i < ARRAY_SIZE(codes); i++) -+ if (codes[i] == fmt->format.code) -+ break; -+ if (i >= ARRAY_SIZE(codes)) -+ i = 0; -+ -+ /* Bayer order varies with flips */ -+ fmt->format.code = imx219_get_format_code(imx219, codes[i]); -+ -+ mode = v4l2_find_nearest_size(supported_modes, -+ ARRAY_SIZE(supported_modes), -+ width, height, -+ fmt->format.width, -+ fmt->format.height); -+ imx219_update_image_pad_format(imx219, mode, fmt); -+ if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { -+ framefmt = v4l2_subdev_get_try_format(sd, sd_state, -+ fmt->pad); -+ *framefmt = fmt->format; -+ } else if (imx219->mode != mode || -+ imx219->fmt.code != fmt->format.code) { -+ u32 prev_hts = imx219->mode->width + imx219->hblank->val; -+ -+ imx219->fmt = fmt->format; -+ imx219->mode = mode; -+ /* Update limits and set FPS to default */ -+ __v4l2_ctrl_modify_range(imx219->vblank, -+ IMX219_VBLANK_MIN, -+ IMX219_VTS_MAX - mode->height, -+ 1, -+ mode->vts_def - mode->height); -+ __v4l2_ctrl_s_ctrl(imx219->vblank, -+ mode->vts_def - mode->height); -+ /* -+ * Update max exposure while meeting -+ * expected vblanking -+ */ -+ exposure_max = mode->vts_def - 4; -+ exposure_def = -+ (exposure_max < IMX219_EXPOSURE_DEFAULT) ? -+ exposure_max : IMX219_EXPOSURE_DEFAULT; -+ __v4l2_ctrl_modify_range(imx219->exposure, -+ imx219->exposure->minimum, -+ exposure_max, -+ imx219->exposure->step, -+ exposure_def); -+ /* -+ * Retain PPL setting from previous mode so that the -+ * line time does not change on a mode change. -+ * Limits have to be recomputed as the controls define -+ * the blanking only, so PPL values need to have the -+ * mode width subtracted. -+ */ -+ hblank = prev_hts - mode->width; -+ __v4l2_ctrl_modify_range(imx219->hblank, -+ IMX219_PPL_MIN - mode->width, -+ IMX219_PPL_MAX - mode->width, -+ 1, -+ IMX219_PPL_MIN - mode->width); -+ __v4l2_ctrl_s_ctrl(imx219->hblank, hblank); -+ -+ /* Scale the pixel rate based on the mode specific factor */ -+ pixel_rate = -+ IMX219_PIXEL_RATE * imx219->mode->rate_factor; -+ __v4l2_ctrl_modify_range(imx219->pixel_rate, pixel_rate, -+ pixel_rate, 1, pixel_rate); -+ } -+ } 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 */ -+ imx219_update_metadata_pad_format(fmt); -+ } - } - - mutex_unlock(&imx219->mutex); -@@ -1037,9 +1140,11 @@ static int imx219_start_streaming(struct imx219 *imx219) - const struct imx219_reg_list *reg_list; - int ret; - -- ret = pm_runtime_resume_and_get(&client->dev); -- if (ret < 0) -+ ret = pm_runtime_get_sync(&client->dev); -+ if (ret < 0) { -+ pm_runtime_put_noidle(&client->dev); - return ret; -+ } - - /* Apply default values of current mode */ - reg_list = &imx219->mode->reg_list; -@@ -1133,21 +1238,22 @@ static int imx219_set_stream(struct v4l2_subdev *sd, int enable) - /* Power/clock management functions */ - static int imx219_power_on(struct device *dev) - { -- struct v4l2_subdev *sd = dev_get_drvdata(dev); -+ struct i2c_client *client = to_i2c_client(dev); -+ struct v4l2_subdev *sd = i2c_get_clientdata(client); - struct imx219 *imx219 = to_imx219(sd); - int ret; - - ret = regulator_bulk_enable(IMX219_NUM_SUPPLIES, - imx219->supplies); - if (ret) { -- dev_err(dev, "%s: failed to enable regulators\n", -+ dev_err(&client->dev, "%s: failed to enable regulators\n", - __func__); - return ret; - } - - ret = clk_prepare_enable(imx219->xclk); - if (ret) { -- dev_err(dev, "%s: failed to enable clock\n", -+ dev_err(&client->dev, "%s: failed to enable clock\n", - __func__); - goto reg_off; - } -@@ -1166,7 +1272,8 @@ static int imx219_power_on(struct device *dev) - - static int imx219_power_off(struct device *dev) - { -- struct v4l2_subdev *sd = dev_get_drvdata(dev); -+ struct i2c_client *client = to_i2c_client(dev); -+ struct v4l2_subdev *sd = i2c_get_clientdata(client); - struct imx219 *imx219 = to_imx219(sd); - - gpiod_set_value_cansleep(imx219->reset_gpio, 0); -@@ -1178,7 +1285,8 @@ static int imx219_power_off(struct device *dev) - - static int __maybe_unused imx219_suspend(struct device *dev) - { -- struct v4l2_subdev *sd = dev_get_drvdata(dev); -+ struct i2c_client *client = to_i2c_client(dev); -+ struct v4l2_subdev *sd = i2c_get_clientdata(client); - struct imx219 *imx219 = to_imx219(sd); - - if (imx219->streaming) -@@ -1189,7 +1297,8 @@ static int __maybe_unused imx219_suspend(struct device *dev) - - static int __maybe_unused imx219_resume(struct device *dev) - { -- struct v4l2_subdev *sd = dev_get_drvdata(dev); -+ struct i2c_client *client = to_i2c_client(dev); -+ struct v4l2_subdev *sd = i2c_get_clientdata(client); - struct imx219 *imx219 = to_imx219(sd); - int ret; - -@@ -1279,7 +1388,7 @@ static int imx219_init_controls(struct imx219 *imx219) - struct v4l2_ctrl_handler *ctrl_hdlr; - unsigned int height = imx219->mode->height; - struct v4l2_fwnode_device_properties props; -- int exposure_max, exposure_def, hblank; -+ int exposure_max, exposure_def, hblank, pixel_rate; - int i, ret; - - ctrl_hdlr = &imx219->ctrl_handler; -@@ -1291,11 +1400,11 @@ static int imx219_init_controls(struct imx219 *imx219) - ctrl_hdlr->lock = &imx219->mutex; - - /* By default, PIXEL_RATE is read only */ -+ pixel_rate = IMX219_PIXEL_RATE * imx219->mode->rate_factor; - imx219->pixel_rate = v4l2_ctrl_new_std(ctrl_hdlr, &imx219_ctrl_ops, - V4L2_CID_PIXEL_RATE, -- IMX219_PIXEL_RATE, -- IMX219_PIXEL_RATE, 1, -- IMX219_PIXEL_RATE); -+ pixel_rate, pixel_rate, -+ 1, pixel_rate); - - imx219->link_freq = - v4l2_ctrl_new_int_menu(ctrl_hdlr, &imx219_ctrl_ops, -@@ -1310,12 +1419,12 @@ static int imx219_init_controls(struct imx219 *imx219) - V4L2_CID_VBLANK, IMX219_VBLANK_MIN, - IMX219_VTS_MAX - height, 1, - imx219->mode->vts_def - height); -- hblank = IMX219_PPL_DEFAULT - imx219->mode->width; -+ hblank = IMX219_PPL_MIN - imx219->mode->width; - imx219->hblank = v4l2_ctrl_new_std(ctrl_hdlr, &imx219_ctrl_ops, -- V4L2_CID_HBLANK, hblank, hblank, -+ V4L2_CID_HBLANK, hblank, -+ IMX219_PPL_MAX - imx219->mode->width, - 1, hblank); -- if (imx219->hblank) -- imx219->hblank->flags |= V4L2_CTRL_FLAG_READ_ONLY; -+ - exposure_max = imx219->mode->vts_def - 4; - exposure_def = (exposure_max < IMX219_EXPOSURE_DEFAULT) ? - exposure_max : IMX219_EXPOSURE_DEFAULT; -@@ -1525,13 +1634,14 @@ static int imx219_probe(struct i2c_client *client) - V4L2_SUBDEV_FL_HAS_EVENTS; - imx219->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; - -- /* Initialize source pad */ -- imx219->pad.flags = MEDIA_PAD_FL_SOURCE; -+ /* Initialize source pads */ -+ imx219->pad[IMAGE_PAD].flags = MEDIA_PAD_FL_SOURCE; -+ imx219->pad[METADATA_PAD].flags = MEDIA_PAD_FL_SOURCE; - - /* Initialize default format */ - imx219_set_default_format(imx219); - -- ret = media_entity_pads_init(&imx219->sd.entity, 1, &imx219->pad); -+ ret = media_entity_pads_init(&imx219->sd.entity, NUM_PADS, imx219->pad); - if (ret) { - dev_err(dev, "failed to init entity pads: %d\n", ret); - goto error_handler_free; --- -2.39.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 15 Jun 2021 18:18:42 +0100 -Subject: [PATCH 204/590] media: i2c: imx258: Support for the Sony IMX258 +Subject: [PATCH 198/717] media: i2c: imx258: Support for the Sony IMX258 sensor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -161695,7 +160616,7 @@ index eab5fc1ee2f7..40ba66bf0985 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Fri, 12 Jun 2020 15:53:46 +0200 -Subject: [PATCH 205/590] media: i2c: imx290: Support for the Sony IMX290 +Subject: [PATCH 199/717] media: i2c: imx290: Support for the Sony IMX290 sensor media: i2c: imx290: set the format before VIDIOC_SUBDEV_G_FMT is called @@ -162994,7 +161915,7 @@ index 1ce64dcdf7f0..2c7103cb6933 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Manivannan Sadhasivam Date: Mon, 20 Dec 2021 00:09:47 +0200 -Subject: [PATCH 206/590] media: i2c: imx296: Support for the Sony IMX296 +Subject: [PATCH 200/717] media: i2c: imx296: Support for the Sony IMX296 sensor dt-bindings: media: i2c: Add IMX296 CMOS sensor binding @@ -163179,7 +162100,7 @@ index 000000000000..e8f9a73bf2db + +... diff --git a/MAINTAINERS b/MAINTAINERS -index 8ec7a1974da3..df9168ddc258 100644 +index 02f1afa1338c..6998246c5666 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19226,6 +19226,15 @@ T: git git://linuxtv.org/media_tree.git @@ -164539,7 +163460,7 @@ index 000000000000..d7fedcd28dc5 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 7 May 2020 15:50:54 +0100 -Subject: [PATCH 207/590] media: i2c: imx477: Support for the Sony IMX477 +Subject: [PATCH 201/717] media: i2c: imx477: Support for the Sony IMX477 sensor dt-bindings: media: i2c: Add IMX477 CMOS sensor binding @@ -164883,7 +163804,7 @@ index 000000000000..0994e13e67f6 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index df9168ddc258..74720f162c33 100644 +index 6998246c5666..fc5783f14d33 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19276,6 +19276,14 @@ T: git git://linuxtv.org/media_tree.git @@ -167256,7 +166177,7 @@ index 000000000000..b62fa1b53762 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 27 Aug 2021 14:36:55 +0800 -Subject: [PATCH 208/590] media: i2c: imx519: Support for the Sony IMX519 +Subject: [PATCH 202/717] media: i2c: imx519: Support for the Sony IMX519 sensor dt-bindings: media: i2c: Add IMX519 CMOS sensor binding @@ -167434,7 +166355,7 @@ index 000000000000..717230a21764 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index 74720f162c33..634488feb0fd 100644 +index fc5783f14d33..5c76bd97d447 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19284,6 +19284,14 @@ T: git git://linuxtv.org/media_tree.git @@ -169589,7 +168510,7 @@ index 000000000000..fb25c57ced7e From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 29 Jun 2021 14:38:23 +0100 -Subject: [PATCH 209/590] Documentation: devicetree: Add documentation for +Subject: [PATCH 203/717] Documentation: devicetree: Add documentation for imx378 sensor The imx378 sensor is compatible with the imx477 and shares common @@ -169722,7 +168643,7 @@ index 000000000000..f832b4bfab93 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index 634488feb0fd..4e33abfe5847 100644 +index 5c76bd97d447..197683180730 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19281,6 +19281,7 @@ M: Raspberry Pi Kernel Maintenance @@ -169740,7 +168661,7 @@ index 634488feb0fd..4e33abfe5847 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 15:04:51 +0100 -Subject: [PATCH 210/590] v4l2: Add a Greyworld AWB mode. +Subject: [PATCH 204/717] 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) @@ -169769,7 +168690,7 @@ index b5e7d082b8ad..e1f09a8cf69c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 15:13:06 +0100 -Subject: [PATCH 211/590] staging: bcm2835-camera: Add greyworld AWB mode +Subject: [PATCH 205/717] 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. @@ -169814,7 +168735,7 @@ index 33f4179d7712..045eba62e9de 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Fri, 6 Aug 2021 14:32:44 +0100 -Subject: [PATCH 212/590] media: v4l2: Add Greyworld AWB control name +Subject: [PATCH 206/717] 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 @@ -169844,7 +168765,7 @@ index e22921e7ea61..25f528dcbe24 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 8 Feb 2021 11:48:35 +0000 -Subject: [PATCH 213/590] staging:bcm2835-camera: Fix the cherry-pick of AWB +Subject: [PATCH 207/717] staging:bcm2835-camera: Fix the cherry-pick of AWB Greyworld The cherry-pick of the patch that added the greyworld AWB mode @@ -169878,7 +168799,7 @@ index f0e0f2dff447..65577e3322e2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Thu, 19 Sep 2019 20:45:30 +0200 -Subject: [PATCH 214/590] ARM: bcm: Switch board, clk and pinctrl to bcm2711 +Subject: [PATCH 208/717] ARM: bcm: Switch board, clk and pinctrl to bcm2711 compatible After the decision to use bcm2711 compatible for upstream, we should @@ -169910,7 +168831,7 @@ index 282a023027fc..e538e0f899a5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Thu, 10 Oct 2019 19:12:08 +0200 -Subject: [PATCH 215/590] dt-bindings: Add binding for the Infineon IRS1125 +Subject: [PATCH 209/717] dt-bindings: Add binding for the Infineon IRS1125 sensor Adds a binding for the Infineon IRS1125 time-of-flight depth @@ -169983,7 +168904,7 @@ index 000000000000..25a48028c957 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Thu, 10 Oct 2019 19:12:36 +0200 -Subject: [PATCH 216/590] media: i2c: Add a driver for the Infineon IRS1125 +Subject: [PATCH 210/717] media: i2c: Add a driver for the Infineon IRS1125 depth sensor The Infineon IRS1125 is a time of flight depth sensor that @@ -171228,7 +170149,7 @@ index 000000000000..dccaca23aa76 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Nov 2019 20:18:08 +0000 -Subject: [PATCH 217/590] drm/v3d: Suppress all but the first MMU error +Subject: [PATCH 211/717] 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. @@ -171273,7 +170194,7 @@ index e714d5318f30..0f7a23f051df 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 12 Nov 2019 16:41:21 +0000 -Subject: [PATCH 218/590] drm/v3d: Plug dma_fence leak +Subject: [PATCH 212/717] 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 @@ -171307,7 +170228,7 @@ index 9044690c55b1..4e7ba9d83db0 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 Nov 2019 13:57:48 +0000 -Subject: [PATCH 219/590] staging: vchiq_arm: Register vcsm-cma as a platform +Subject: [PATCH 213/717] staging: vchiq_arm: Register vcsm-cma as a platform driver Following the same pattern as bcm2835-camera and bcm2835-audio, @@ -171353,7 +170274,7 @@ index dc33490ba7fb..642fdbc0d654 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 Nov 2019 13:57:58 +0000 -Subject: [PATCH 220/590] staging: vchiq_arm: Register bcm2835-codec as a +Subject: [PATCH 214/717] staging: vchiq_arm: Register bcm2835-codec as a platform driver Following the same pattern as bcm2835-camera and bcm2835-audio, @@ -171399,7 +170320,7 @@ index 642fdbc0d654..bdc4bd4d5b96 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 31 Oct 2019 14:39:44 +0000 -Subject: [PATCH 221/590] net:phy:2711 Allow ethernet LED mode to be set via +Subject: [PATCH 215/717] net:phy:2711 Allow ethernet LED mode to be set via device tree Add device tree entries and code to allow the specification of @@ -171460,7 +170381,7 @@ index ad71c88c87e7..257aa900fd2f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 23 Aug 2019 16:34:38 +0100 -Subject: [PATCH 222/590] v3d_drv: Handle missing clock more gracefully +Subject: [PATCH 216/717] v3d_drv: Handle missing clock more gracefully Signed-off-by: popcornmix --- @@ -171493,7 +170414,7 @@ index de5808f814d8..fd648199bfa5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 5 Sep 2019 17:59:14 +0100 -Subject: [PATCH 223/590] v3d_gem: Kick the clock so firmware knows we are +Subject: [PATCH 217/717] 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 @@ -171526,7 +170447,7 @@ index 4e7ba9d83db0..4817e57b21d0 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 9 Sep 2019 15:49:56 +0100 -Subject: [PATCH 224/590] clk-raspberrypi: Allow cpufreq driver to also adjust +Subject: [PATCH 218/717] clk-raspberrypi: Allow cpufreq driver to also adjust gpu clocks For performance/power it is beneficial to adjust gpu clocks with arm clock. @@ -171557,7 +170478,7 @@ index 9c4af1e70cae..6c426f34dd24 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 29 Jan 2019 16:13:25 +0000 -Subject: [PATCH 225/590] staging: vchiq_arm: Set up dma ranges on child +Subject: [PATCH 219/717] staging: vchiq_arm: Set up dma ranges on child devices The VCHIQ driver now loads the audio, camera, codec, and vc-sm @@ -171596,7 +170517,7 @@ index bdc4bd4d5b96..5d937ee1086d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 18 Jun 2019 12:15:50 +0100 -Subject: [PATCH 226/590] staging: vchiq: Use the old dma controller for OF +Subject: [PATCH 220/717] 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 @@ -171653,7 +170574,7 @@ index 5d937ee1086d..e05028bcb1a8 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Fri, 27 Dec 2019 11:40:56 +0100 -Subject: [PATCH 227/590] ARM: bcm: Backport BCM2711 support from upstream +Subject: [PATCH 221/717] ARM: bcm: Backport BCM2711 support from upstream Make the BCM2711 a different machine, but keep it in board_bcm2835. @@ -171706,7 +170627,7 @@ index e538e0f899a5..91a758c61f48 100644 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 228/590] Initialise rpi-firmware before clk-bcm2835 +Subject: [PATCH 222/717] 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 @@ -171761,7 +170682,7 @@ index 843a77a0aaf3..02513603d148 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 3 Feb 2020 17:30:46 +0000 -Subject: [PATCH 229/590] staging: vchiq_arm: Give vchiq children DT nodes +Subject: [PATCH 223/717] 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 @@ -171806,7 +170727,7 @@ index e05028bcb1a8..716e52752752 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Jan 2020 16:04:30 +0000 -Subject: [PATCH 230/590] pinctrl: bcm2835: Remove gpiochip on error +Subject: [PATCH 224/717] 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. @@ -171818,10 +170739,10 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 4d3de6ffb60c..2063804e70ff 100644 +index dc603204d2d2..e16b376f055e 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -1348,7 +1348,7 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) +@@ -1346,7 +1346,7 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) girq->default_type = IRQ_TYPE_NONE; girq->handler = handle_level_irq; @@ -171837,7 +170758,7 @@ index 4d3de6ffb60c..2063804e70ff 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 2 Mar 2020 14:42:23 +0000 -Subject: [PATCH 231/590] video: fbdev: bcm2708_fb: Use common compat header +Subject: [PATCH 225/717] video: fbdev: bcm2708_fb: Use common compat header The definition of compat_ptr is now common for most platforms, but requires the inclusion of . @@ -171866,7 +170787,7 @@ index 0e9ec3f593b8..17e9260655e4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 6 Feb 2020 12:23:15 +0000 -Subject: [PATCH 232/590] of: overlay: Correct symbol path fixups +Subject: [PATCH 226/717] 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 @@ -171909,7 +170830,7 @@ index ed4e6c144a68..170a23ed16ba 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jim Quinlan Date: Mon, 15 Jan 2018 18:28:39 -0500 -Subject: [PATCH 233/590] dt-bindings: pci: Add DT docs for Brcmstb PCIe device +Subject: [PATCH 227/717] dt-bindings: pci: Add DT docs for Brcmstb PCIe device The DT bindings description of the Brcmstb PCIe device is described. This node can be used by almost all Broadcom settop box chips, using @@ -171993,7 +170914,7 @@ index 000000000000..a1a9ad5e70ca From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 Apr 2020 11:22:44 +0100 -Subject: [PATCH 234/590] bcmgenet: Disable skip_umac_reset by default +Subject: [PATCH 228/717] bcmgenet: Disable skip_umac_reset by default Possible fixed upstream by 'net: bcmgenet: keep MAC in reset until PHY is up' @@ -172003,7 +170924,7 @@ Signed-off-by: popcornmix 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index f707a31eac9b..6c187df9c16c 100644 +index 40d2e603b005..d65209ddfc64 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -67,7 +67,7 @@ @@ -172022,7 +170943,7 @@ index f707a31eac9b..6c187df9c16c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 24 Jan 2020 14:28:21 +0000 -Subject: [PATCH 235/590] media: videodev2.h: Add a format for column YUV4:2:0 +Subject: [PATCH 229/717] 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 @@ -172346,7 +171267,7 @@ index 2b5f166b1ce7..128dbf862302 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 17 Mar 2020 10:53:16 +0000 -Subject: [PATCH 236/590] media: dt-bindings: media: Add binding for the +Subject: [PATCH 230/717] 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. @@ -172437,7 +171358,7 @@ index 000000000000..ce6b81a10303 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index 4e33abfe5847..492160550a74 100644 +index 197683180730..7cfb147515c6 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4030,6 +4030,13 @@ N: bcm113* @@ -172461,7 +171382,7 @@ index 4e33abfe5847..492160550a74 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ezequiel Garcia Date: Sun, 21 Mar 2021 16:38:54 -0300 -Subject: [PATCH 237/590] RFC: media: Add media_request_{pin,unpin} API +Subject: [PATCH 231/717] 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. @@ -172563,7 +171484,7 @@ index 3cd25a2717ce..0de5c2c94188 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 5 Mar 2020 18:30:41 +0000 -Subject: [PATCH 238/590] staging: media: rpivid: Add Raspberry Pi V4L2 H265 +Subject: [PATCH 232/717] staging: media: rpivid: Add Raspberry Pi V4L2 H265 decoder This driver is for the HEVC/H265 decoder block on the Raspberry @@ -177844,7 +176765,7 @@ index 000000000000..e22cc0e32aa3 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Apr 2020 10:46:19 +0100 -Subject: [PATCH 239/590] spi: Force CS_HIGH if GPIO descriptors are used +Subject: [PATCH 233/717] 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 @@ -177907,7 +176828,7 @@ index 5f9aedd1f0b6..728e1f7e4be3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 1 Apr 2020 08:46:29 +0100 -Subject: [PATCH 240/590] media: uapi: v4l2-core: Add sensor ancillary data +Subject: [PATCH 234/717] media: uapi: v4l2-core: Add sensor ancillary data V4L2 foucc type. Add V4L2_META_FMT_SENSOR_DATA format 4CC. @@ -178005,7 +176926,7 @@ index 128dbf862302..c15a06440121 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Jan 2020 14:06:47 +0000 -Subject: [PATCH 241/590] media: uapi: Add MEDIA_BUS_FMT_SENSOR_DATA media bus +Subject: [PATCH 235/717] media: uapi: Add MEDIA_BUS_FMT_SENSOR_DATA media bus format This patch adds MEDIA_BUS_FMT_SENSOR_DATA used by the bcm2835-unicam @@ -178076,7 +176997,7 @@ index d4228d038b54..72b2d893c849 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 23 Apr 2020 10:20:26 +0100 -Subject: [PATCH 242/590] media: uapi: v4l2-core: Add ISP statistics output +Subject: [PATCH 236/717] media: uapi: v4l2-core: Add ISP statistics output V4L2 fourcc type Add V4L2_META_FMT_BCM2835_ISP_STATS V4L2 format type. @@ -178183,7 +177104,7 @@ index c15a06440121..2b2c2b73bc4f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Apr 2020 15:06:19 +0100 -Subject: [PATCH 243/590] media: uapi: v4l-ctrls: Add CID base for the +Subject: [PATCH 237/717] media: uapi: v4l-ctrls: Add CID base for the bcm2835-isp driver We are reserving controls for the new bcm2835-isp driver. @@ -178363,7 +177284,7 @@ index e1f09a8cf69c..ea7e229cd245 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 22 Apr 2020 08:32:32 +0100 -Subject: [PATCH 244/590] staging: vchiq: Load bcm2835_isp driver from vchiq +Subject: [PATCH 238/717] 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. @@ -178408,7 +177329,7 @@ index 716e52752752..004ad2e7f168 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 4 Apr 2019 13:33:47 +0100 -Subject: [PATCH 245/590] bcm2835-dma: Add proper 40-bit DMA support +Subject: [PATCH 239/717] 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. @@ -179214,7 +178135,7 @@ index 87b5d0bef355..ac0458a8027f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:28:14 +0200 -Subject: [PATCH 246/590] media: i2c: tc358743: Fix fallthrough warning +Subject: [PATCH 240/717] media: i2c: tc358743: Fix fallthrough warning Signed-off-by: Jacko Dirks --- @@ -179240,7 +178161,7 @@ index 69127833f4c7..618fbdc51794 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 May 2020 19:45:41 +0100 -Subject: [PATCH 247/590] video: bcm2708_fb: Disable FB if no displays found +Subject: [PATCH 241/717] 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 @@ -179280,7 +178201,7 @@ index 17e9260655e4..dac5c021ce52 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 May 2020 13:42:10 +0100 -Subject: [PATCH 248/590] staging: vc04_services: mmal-vchiq: Update parameters +Subject: [PATCH 242/717] staging: vc04_services: mmal-vchiq: Update parameters list Adds in a couple of new MMAL parameter defines. @@ -179314,7 +178235,7 @@ index 045eba62e9de..3ede6be20633 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 May 2020 13:48:59 +0100 -Subject: [PATCH 249/590] staging:vc04_services: bcm2835-camera: Request +Subject: [PATCH 243/717] staging:vc04_services: bcm2835-camera: Request headers with I-frame V4L2 wishes to have the codec header bytes in the same buffer as the @@ -179350,7 +178271,7 @@ index fd456d1f7061..8bcf5956a916 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 May 2020 15:23:32 +0100 -Subject: [PATCH 250/590] zswap: Defer zswap initialisation +Subject: [PATCH 244/717] 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 @@ -179485,7 +178406,7 @@ index 2d48fd59cc7a..f5d30557f788 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Apr 2018 14:42:27 +0100 -Subject: [PATCH 251/590] gpiolib: Don't prevent IRQ usage of output GPIOs +Subject: [PATCH 245/717] 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 @@ -179541,7 +178462,7 @@ index 5974cfc61b41..ed3df6f43f05 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Jun 2020 09:57:03 +0100 -Subject: [PATCH 252/590] PCI: brcmstb: Add DT property to control L1SS +Subject: [PATCH 246/717] 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. @@ -179622,7 +178543,7 @@ index 521acd632f1a..d64219d210f3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:24:31 +0200 -Subject: [PATCH 253/590] media: irs1125: Using i2c_transfer for ic2 reads +Subject: [PATCH 247/717] 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. @@ -179693,7 +178614,7 @@ index 25e1dd5a08ef..6680afea5894 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:27:42 +0200 -Subject: [PATCH 254/590] media: irs1125: Refactoring and debug messages +Subject: [PATCH 248/717] media: irs1125: Refactoring and debug messages Changed some variable names to comply with checkpatch --strict mode. Debug messages added. @@ -179822,7 +178743,7 @@ index 6680afea5894..289f0c25b141 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:31:36 +0200 -Subject: [PATCH 255/590] media: irs1125: Atomic access to imager +Subject: [PATCH 249/717] media: irs1125: Atomic access to imager reconfiguration Instead of changing the exposure and framerate settings for all sequences, @@ -180211,7 +179132,7 @@ index dccaca23aa76..96d676123d5e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:33:56 +0200 -Subject: [PATCH 256/590] media: irs1125: Keep HW in sync after imager reset +Subject: [PATCH 250/717] 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 @@ -180398,7 +179319,7 @@ index d59e05004a03..30c3d2640386 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 Jun 2020 11:51:05 +0100 -Subject: [PATCH 257/590] brcmfmac: Prefer a ccode from OTP over nvram file +Subject: [PATCH 251/717] 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. @@ -180410,7 +179331,7 @@ Signed-off-by: Phil Elwell 2 files changed, 47 insertions(+), 13 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 11b45bc0e285..0ba8904f7894 100644 +index edfde4360519..ca296913e5fe 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -9,6 +9,7 @@ @@ -180421,7 +179342,7 @@ index 11b45bc0e285..0ba8904f7894 100644 #include #include #include -@@ -7532,31 +7533,45 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, +@@ -7549,31 +7550,45 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, struct brcmf_if *ifp = brcmf_get_ifp(cfg->pub, 0); struct brcmf_pub *drvr = cfg->pub; struct brcmf_fil_country_le ccreq; @@ -180536,7 +179457,7 @@ index 09d2f2dc2b46..da413308a564 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 4 May 2020 12:25:41 +0300 -Subject: [PATCH 258/590] media: bcm2835-unicam: Driver for CCP2/CSI2 camera +Subject: [PATCH 252/717] media: bcm2835-unicam: Driver for CCP2/CSI2 camera interface Add a driver for the Unicam camera receiver block on BCM283x processors. @@ -180565,7 +179486,7 @@ Reported-by: kbuild test robot create mode 100644 drivers/media/platform/bcm2835/vc4-regs-unicam.h diff --git a/MAINTAINERS b/MAINTAINERS -index 492160550a74..da20c4162847 100644 +index 7cfb147515c6..ef05321f5184 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4042,7 +4042,7 @@ M: Dave Stevenson @@ -183712,7 +182633,7 @@ index 000000000000..ae059a171d0f From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 1 Apr 2020 08:39:49 +0100 -Subject: [PATCH 259/590] media: bcm2835-unicam: Kconfig/Makefile for CCP2/CSI2 +Subject: [PATCH 253/717] media: bcm2835-unicam: Kconfig/Makefile for CCP2/CSI2 camera interface Signed-off-by: Dave Stevenson @@ -183724,7 +182645,7 @@ Signed-off-by: Naushir Patuck 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS -index da20c4162847..c6fb41c77b4a 100644 +index ef05321f5184..8c572e177967 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4038,7 +4038,7 @@ F: Documentation/devicetree/bindings/media/rpivid_hevc.jaml @@ -183767,7 +182688,7 @@ index a91f42024273..c829ae68cecf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 14:32:51 +0100 -Subject: [PATCH 260/590] media: bcm2835-unicam: Add support for +Subject: [PATCH 254/717] 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 @@ -183829,7 +182750,7 @@ index 1edc32282fb0..fd441219c575 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Jun 2020 15:53:44 +0100 -Subject: [PATCH 261/590] media: bcm2835-unicam: Avoid gcc warning over {0} on +Subject: [PATCH 255/717] media: bcm2835-unicam: Avoid gcc warning over {0} on endpoint Older gcc versions object to = { 0 } initialisation if the first @@ -183862,7 +182783,7 @@ index fd441219c575..86ac379650d3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 2 Jul 2020 13:53:20 +0100 -Subject: [PATCH 262/590] serial: 8250: bcm2835aux - defer if clock is zero +Subject: [PATCH 256/717] serial: 8250: bcm2835aux - defer if clock is zero See: https://github.com/raspberrypi/linux/issues/3700 @@ -183896,7 +182817,7 @@ index 15a2387a5b25..43db1816fad6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 May 2020 16:59:03 +0100 -Subject: [PATCH 263/590] media: Add a pixel format for MIPI packed 12bit luma +Subject: [PATCH 257/717] media: Add a pixel format for MIPI packed 12bit luma only. This is the format used by monochrome 12bit image sensors. @@ -184004,7 +182925,7 @@ index 2b2c2b73bc4f..9300ba4cbe57 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:51:03 +0100 -Subject: [PATCH 264/590] media: Add a pixel format for MIPI packed 14bit luma +Subject: [PATCH 258/717] media: Add a pixel format for MIPI packed 14bit luma only. This is the format used by monochrome 14bit image sensors. @@ -184121,7 +183042,7 @@ index 9300ba4cbe57..ececbc57315e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:53:32 +0100 -Subject: [PATCH 265/590] media: bcm2835-unicam: Add support for 12bit mono +Subject: [PATCH 259/717] media: bcm2835-unicam: Add support for 12bit mono packed format Now that V4L2_PIX_FMT_Y12P is defined, allow passing raw 12bit @@ -184152,7 +183073,7 @@ index 86ac379650d3..e73827ccf6a6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 18:03:47 +0100 -Subject: [PATCH 266/590] media: bcm2835-unicam: Add support for 14bit mono +Subject: [PATCH 260/717] media: bcm2835-unicam: Add support for 14bit mono sources Now that V4L2_PIX_FMT_Y14 and V4L2_PIX_FMT_Y14P are defined, @@ -184187,7 +183108,7 @@ index e73827ccf6a6..db0ad09454b1 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 1 Jul 2020 10:57:57 +0100 -Subject: [PATCH 267/590] media: bcm2835-unicam: Add support for unpacked 14bit +Subject: [PATCH 261/717] media: bcm2835-unicam: Add support for unpacked 14bit Bayer formats Now that the 14bit non-packed Bayer formats are defined, add them @@ -184235,7 +183156,7 @@ index db0ad09454b1..0282c5fb7a5c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Jul 2020 20:28:27 +0100 -Subject: [PATCH 268/590] bcm2835-dma: Add NO_WAIT_RESP flag +Subject: [PATCH 262/717] 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. @@ -184295,7 +183216,7 @@ index ac0458a8027f..84b1009da23b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 14:23:40 +0100 -Subject: [PATCH 269/590] media: bcm2835-unicam: Reinstate V4L2_CAP_READWRITE +Subject: [PATCH 263/717] media: bcm2835-unicam: Reinstate V4L2_CAP_READWRITE in the caps v4l2-compliance throws a failure if the device doesn't advertise @@ -184329,7 +183250,7 @@ index 0282c5fb7a5c..4118bf7ca042 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 14:52:43 +0100 -Subject: [PATCH 270/590] media: bcm2835-unicam: Ensure type is VIDEO_CAPTURE +Subject: [PATCH 264/717] 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 @@ -184371,7 +183292,7 @@ index 4118bf7ca042..efa83443aa53 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 11 May 2020 13:02:22 +0100 -Subject: [PATCH 271/590] media: bcm2835: unicam: Set VPU min clock freq to +Subject: [PATCH 265/717] media: bcm2835: unicam: Set VPU min clock freq to 250Mhz. When streaming with Unicam, the VPU must have a clock frequency of at @@ -184504,7 +183425,7 @@ index efa83443aa53..1e9c9f5e530b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 11 May 2020 13:06:27 +0100 -Subject: [PATCH 272/590] dt-bindings: bcm2835-unicam: Update documentation +Subject: [PATCH 266/717] dt-bindings: bcm2835-unicam: Update documentation with new clock params Update the documentation to reflect the new "VPU" clock needed @@ -184548,7 +183469,7 @@ index 7714fb374b34..164d0377dcd2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Jul 2020 10:33:19 +0100 -Subject: [PATCH 273/590] leds: Add the actpwr trigger +Subject: [PATCH 267/717] 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 @@ -184794,7 +183715,7 @@ index 000000000000..1a52107ceb03 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 22 Jul 2020 17:59:31 +0100 -Subject: [PATCH 274/590] bcm2835-dma: Advertise the full DMA range +Subject: [PATCH 268/717] bcm2835-dma: Advertise the full DMA range Unless the DMA mask is set wider than 32 bits, DMA mapping will use a bounce buffer. @@ -184877,7 +183798,7 @@ index 84b1009da23b..d1127b9058a4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 27 Aug 2020 16:30:26 +0100 -Subject: [PATCH 275/590] media: bcm2835-unicam: Drop WARN on uing direct cache +Subject: [PATCH 269/717] media: bcm2835-unicam: Drop WARN on uing direct cache alias Pi 0&1 pass all ARM accesses through the VPU L2 cache, therefore @@ -184917,7 +183838,7 @@ index 1e9c9f5e530b..85e98ea89802 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 Jul 2020 12:40:50 +0100 -Subject: [PATCH 276/590] media: i2c: tc358743: Only allow supported pixel fmts +Subject: [PATCH 270/717] media: i2c: tc358743: Only allow supported pixel fmts in set_fmt Fix commit "media: tc358743: Return an appropriate colorspace from @@ -184953,7 +183874,7 @@ index 618fbdc51794..cc699daf244c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 May 2020 18:28:27 +0100 -Subject: [PATCH 277/590] media: bcm2835-unicam: Always service interrupts +Subject: [PATCH 271/717] 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 @@ -185010,7 +183931,7 @@ index 85e98ea89802..f189ddb75e85 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:33:31 +0200 -Subject: [PATCH 278/590] media: bcm2835: unicam: Fix uninitialized warning +Subject: [PATCH 272/717] media: bcm2835: unicam: Fix uninitialized warning Signed-off-by: Jacko Dirks --- @@ -185037,7 +183958,7 @@ index f189ddb75e85..1cb3c87b0657 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 15:14:05 +0100 -Subject: [PATCH 279/590] media: bcm2835-unicam: Fixup review comments from +Subject: [PATCH 273/717] media: bcm2835-unicam: Fixup review comments from Hans. Updates the driver based on the upstream review comments from @@ -185258,7 +184179,7 @@ index 1cb3c87b0657..596f78bbce31 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 11:46:47 +0100 -Subject: [PATCH 280/590] media: bcm2835-unicam: Retain packing information on +Subject: [PATCH 274/717] media: bcm2835-unicam: Retain packing information on G_FMT The change to retrieve the pixel format always on g_fmt didn't @@ -185312,7 +184233,7 @@ index 596f78bbce31..629a8c12326a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 28 May 2020 11:09:48 +0100 -Subject: [PATCH 281/590] media: bcm2835-unicam: change minimum number of +Subject: [PATCH 275/717] 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 @@ -185346,7 +184267,7 @@ index 629a8c12326a..8325f1fccd17 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 1 Sep 2020 18:15:27 +0100 -Subject: [PATCH 282/590] staging/fbtft: Add support for display variants +Subject: [PATCH 276/717] 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 @@ -185649,7 +184570,7 @@ index 2c2b5f1c1df3..7492c1abfdec 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 3 Feb 2020 09:32:22 +0000 -Subject: [PATCH 283/590] brcmfmac: Increase power saving delay to 2s +Subject: [PATCH 277/717] 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, @@ -185661,10 +184582,10 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 0ba8904f7894..259aada177ec 100644 +index ca296913e5fe..674002ea408b 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2959,7 +2959,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2962,7 +2962,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, brcmf_dbg(INFO, "Do not enable power save for P2P clients\n"); pm = PM_OFF; } @@ -185673,7 +184594,7 @@ index 0ba8904f7894..259aada177ec 100644 err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PM, pm); if (err) { -@@ -2969,6 +2969,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2972,6 +2972,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, bphy_err(drvr, "error (%d)\n", err); } @@ -185688,7 +184609,7 @@ index 0ba8904f7894..259aada177ec 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 25 Sep 2020 15:07:23 +0100 -Subject: [PATCH 284/590] net: bcmgenet: Reset RBUF on first open +Subject: [PATCH 278/717] 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 @@ -185710,10 +184631,10 @@ Signed-off-by: Phil Elwell 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index 6c187df9c16c..1811d60ef453 100644 +index d65209ddfc64..2e157aceb7c8 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -3299,7 +3299,7 @@ static void bcmgenet_get_hw_addr(struct bcmgenet_priv *priv, +@@ -3307,7 +3307,7 @@ static void bcmgenet_get_hw_addr(struct bcmgenet_priv *priv, } /* Returns a reusable dma control register value */ @@ -185722,7 +184643,7 @@ index 6c187df9c16c..1811d60ef453 100644 { unsigned int i; u32 reg; -@@ -3324,6 +3324,14 @@ static u32 bcmgenet_dma_disable(struct bcmgenet_priv *priv) +@@ -3332,6 +3332,14 @@ static u32 bcmgenet_dma_disable(struct bcmgenet_priv *priv) udelay(10); bcmgenet_umac_writel(priv, 0, UMAC_TX_FLUSH); @@ -185737,7 +184658,7 @@ index 6c187df9c16c..1811d60ef453 100644 return dma_ctrl; } -@@ -3387,8 +3395,8 @@ static int bcmgenet_open(struct net_device *dev) +@@ -3395,8 +3403,8 @@ static int bcmgenet_open(struct net_device *dev) bcmgenet_set_hw_addr(priv, dev->dev_addr); @@ -185748,7 +184669,7 @@ index 6c187df9c16c..1811d60ef453 100644 /* Reinitialize TDMA and RDMA and SW housekeeping */ ret = bcmgenet_init_dma(priv); -@@ -4261,7 +4269,7 @@ static int bcmgenet_resume(struct device *d) +@@ -4269,7 +4277,7 @@ static int bcmgenet_resume(struct device *d) bcmgenet_hfb_create_rxnfc_filter(priv, rule); /* Disable RX/TX DMA and flush TX queues */ @@ -185764,7 +184685,7 @@ index 6c187df9c16c..1811d60ef453 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Sep 2020 20:23:30 +0100 -Subject: [PATCH 285/590] char: Add broadcom char drivers back to build files +Subject: [PATCH 279/717] char: Add broadcom char drivers back to build files See: https://github.com/raspberrypi/linux/issues/3875 Signed-off-by: popcornmix @@ -185802,7 +184723,7 @@ index 1b35d1724565..25eb2d5dcadf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 8 Oct 2020 15:35:14 +0100 -Subject: [PATCH 286/590] staging: bcm2835-camera: Replace deprecated +Subject: [PATCH 280/717] staging: bcm2835-camera: Replace deprecated V4L2_PIX_FMT_BGR32 V4L2_PIX_FMT_BGR32 is deprecated as it is ambiguous over where @@ -185838,7 +184759,7 @@ index 8bcf5956a916..c9d5b009fa9d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 8 Oct 2020 18:49:52 +0100 -Subject: [PATCH 287/590] staging: vc04_services: Add new vc-sm-cma driver +Subject: [PATCH 281/717] staging: vc04_services: Add new vc-sm-cma driver Add Broadcom VideoCore Shared Memory support. @@ -188837,7 +187758,7 @@ index 000000000000..988fdd967922 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 May 2020 18:09:04 +0100 -Subject: [PATCH 288/590] staging: vchiq-mmal: Add support for 14bit Bayer +Subject: [PATCH 282/717] staging: vchiq-mmal: Add support for 14bit Bayer Add in the missing defines. @@ -188870,7 +187791,7 @@ index feca1c3d8878..1a9bbd371026 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 May 2020 18:11:14 +0100 -Subject: [PATCH 289/590] staging: mmal-vchiq: Add monochrome image formats +Subject: [PATCH 283/717] staging: mmal-vchiq: Add monochrome image formats Adds support for monochrome image formats in the various MIPI packings. @@ -188905,7 +187826,7 @@ index 1a9bbd371026..6c19040b05df 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Sep 2018 16:07:55 +0100 -Subject: [PATCH 290/590] staging: mmal-vchiq: Use vc-sm-cma to support zero +Subject: [PATCH 284/717] 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 @@ -189079,7 +188000,7 @@ index e3ecd70b9951..9addd627ff5b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 8 Oct 2020 20:24:12 +0100 -Subject: [PATCH 291/590] staging: vc04_services: Add a V4L2 M2M codec driver +Subject: [PATCH 285/717] staging: vc04_services: Add a V4L2 M2M codec driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -193434,7 +192355,7 @@ index 3ede6be20633..5e3ce586945e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2020 00:48:55 +0200 -Subject: [PATCH 292/590] bcm2835-dma: only reserve channel 0 if legacy dma +Subject: [PATCH 286/717] 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 @@ -193472,7 +192393,7 @@ index d1127b9058a4..0cbfa9d559a2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 12 Oct 2020 17:03:14 +0100 -Subject: [PATCH 293/590] uapi: bcm2835-isp: Add bcm2835-isp uapi header file +Subject: [PATCH 287/717] 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. @@ -193817,7 +192738,7 @@ index 000000000000..cf8c0437f159 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 23 Apr 2020 10:17:37 +0100 -Subject: [PATCH 294/590] staging: vc04_services: ISP: Add a more complex ISP +Subject: [PATCH 288/717] staging: vc04_services: ISP: Add a more complex ISP processing component Driver for the BCM2835 ISP hardware block. This driver uses the MMAL @@ -193850,7 +192771,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 c6fb41c77b4a..be2c1873662f 100644 +index 8c572e177967..2d1ff0df8614 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4044,6 +4044,15 @@ S: Maintained @@ -196254,7 +195175,7 @@ index 5e3ce586945e..6ae26735a62d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 30 Sep 2020 12:00:54 +0100 -Subject: [PATCH 295/590] gpio: Add gpio-fsm driver +Subject: [PATCH 289/717] 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 @@ -197569,7 +196490,7 @@ index 000000000000..3a348f1c6514 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 26 Oct 2020 16:38:21 +0000 -Subject: [PATCH 296/590] rpisense-fb: Set pseudo_pallete to prevent crash on +Subject: [PATCH 290/717] rpisense-fb: Set pseudo_pallete to prevent crash on fbcon takeover Signed-off-by: Serge Schneider @@ -197605,7 +196526,7 @@ index 26432a5a0b4b..325977def531 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Oct 2020 12:12:22 +0000 -Subject: [PATCH 297/590] bcm2708_fb: Fix a build warning +Subject: [PATCH 291/717] bcm2708_fb: Fix a build warning Signed-off-by: Phil Elwell --- @@ -197633,7 +196554,7 @@ index dac5c021ce52..365c5b96b8a0 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Thu, 22 Oct 2020 15:30:55 +0100 -Subject: [PATCH 298/590] watchdog: bcm2835: Ignore params after the partition +Subject: [PATCH 292/717] watchdog: bcm2835: Ignore params after the partition number Use sscanf to extract the partition number and ignore extra parameters @@ -197668,7 +196589,7 @@ index 58d5a1b89584..e8d151d524fd 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 20 Oct 2020 11:55:37 +0100 -Subject: [PATCH 299/590] firmware: raspberrypi: Add support for tryonce reboot +Subject: [PATCH 293/717] firmware: raspberrypi: Add support for tryonce reboot flag Define a new mailbox (SET_REBOOT_FLAGS) which may be used to @@ -197734,7 +196655,7 @@ index 02513603d148..81b6351fda83 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 14 May 2019 17:00:41 +0100 -Subject: [PATCH 300/590] phy: broadcom: split out the BCM54213PE from the +Subject: [PATCH 294/717] phy: broadcom: split out the BCM54213PE from the BCM54210E IDs The last nibble is a revision ID, and the 54213pe is a later rev @@ -197813,7 +196734,7 @@ index 9e77165f3ef6..31295e952c66 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 29 Oct 2020 14:10:56 +0000 -Subject: [PATCH 301/590] phy: broadcom: Add bcm54213pe configuration +Subject: [PATCH 295/717] phy: broadcom: Add bcm54213pe configuration Signed-off-by: Phil Elwell --- @@ -197853,7 +196774,7 @@ index 90c791524463..bb2143929885 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Nov 2020 17:08:33 +0000 -Subject: [PATCH 302/590] PCI: brcmstb: Restore initial fundamental reset +Subject: [PATCH 296/717] 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 @@ -197894,7 +196815,7 @@ index d64219d210f3..85096bebc4b8 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Nov 2020 18:45:10 +0000 -Subject: [PATCH 303/590] Input: edt-ft5x06: Poll the device if no interrupt is +Subject: [PATCH 297/717] Input: edt-ft5x06: Poll the device if no interrupt is configured. Not all systems have the interrupt line wired up, so switch to @@ -197997,7 +196918,7 @@ index 9ac1378610bc..d5574835b198 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 23 Apr 2020 10:17:18 +0100 -Subject: [PATCH 304/590] drm/panel/raspberrypi-touchscreen: Use independent +Subject: [PATCH 298/717] drm/panel/raspberrypi-touchscreen: Use independent I2C actions with delay. We now have the hardware I2C controller pinmuxed to the drive the @@ -198061,7 +196982,7 @@ index 79f852465a84..704bd10c8716 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 10 Nov 2020 11:21:56 +0000 -Subject: [PATCH 305/590] drm/panel/raspberrypi-ts: Insert delay before polling +Subject: [PATCH 299/717] drm/panel/raspberrypi-ts: Insert delay before polling for startup state In switching to the hardware I2C controller there is an issue @@ -198093,7 +197014,7 @@ index 704bd10c8716..6ce5ea3cd5b1 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 12 Nov 2020 17:01:52 +0000 -Subject: [PATCH 306/590] dt-bindings: Add compatible for BCM2711 DSI1 +Subject: [PATCH 300/717] 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. @@ -198122,7 +197043,7 @@ index c8b2459d64f6..af638b224619 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 2 Dec 2020 15:22:23 +0000 -Subject: [PATCH 307/590] media: bcm2835-unicam: Correctly handle error +Subject: [PATCH 301/717] media: bcm2835-unicam: Correctly handle error propagation for stream on On a failure in start_streaming(), the error code would not propagate to @@ -198155,7 +197076,7 @@ index 8325f1fccd17..6979a13b5166 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 2 Dec 2020 15:26:09 +0000 -Subject: [PATCH 308/590] media: bcm2835-unicam: Return early from +Subject: [PATCH 302/717] media: bcm2835-unicam: Return early from stop_streaming() if stopped clk_disable_unprepare() is called unconditionally in stop_streaming(). @@ -198225,7 +197146,7 @@ index 6979a13b5166..8f5e5927af0b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 2 Dec 2020 16:48:41 +0000 -Subject: [PATCH 309/590] media: bcm2835-unicam: Clear clock state when +Subject: [PATCH 303/717] media: bcm2835-unicam: Clear clock state when stopping streaming Commit 65e08c465020d4c5b51afb452efc2246d80fd66f failed to clear the @@ -198256,7 +197177,7 @@ index 8f5e5927af0b..5b505439ddb1 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 3 Dec 2020 13:44:42 +0000 -Subject: [PATCH 310/590] PCI: brcmstb: Advertise MSI-X support +Subject: [PATCH 304/717] 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 @@ -198289,7 +197210,7 @@ index 85096bebc4b8..3e224a8db641 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 15 Dec 2020 16:38:37 +0000 -Subject: [PATCH 311/590] net: lan78xx: Ack pending PHY ints when resetting +Subject: [PATCH 305/717] 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 @@ -198307,7 +197228,7 @@ Signed-off-by: Phil Elwell 1 file changed, 3 insertions(+) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index 5a39deabe613..1ce889fdd3aa 100644 +index a0ddd522d926..04842f081842 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -1440,6 +1440,9 @@ static int lan78xx_link_reset(struct lan78xx_net *dev) @@ -198327,7 +197248,7 @@ index 5a39deabe613..1ce889fdd3aa 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: gesangtome Date: Fri, 1 Jan 2021 18:03:17 +0800 -Subject: [PATCH 312/590] vc-sm-cma: fixed kbuild problem +Subject: [PATCH 306/717] vc-sm-cma: fixed kbuild problem error logs: drivers/staging/vc04_services/vc-sm-cma/Kconfig:1:error: recursive dependency detected! @@ -198363,7 +197284,7 @@ index a7c1a7bf516e..5df9198cdab1 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 Jan 2021 10:43:20 +0000 -Subject: [PATCH 313/590] staging/vc04_services: Add additional unpacked raw +Subject: [PATCH 307/717] staging/vc04_services: Add additional unpacked raw formats Support has been added for the unpacked (16bpp) versions of @@ -198420,7 +197341,7 @@ index bd0ddccfbbff..d8d7ec5b962c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 Jan 2021 11:37:10 +0000 -Subject: [PATCH 314/590] staging/bcm2835-isp: Add the unpacked (16bpp) raw +Subject: [PATCH 308/717] staging/bcm2835-isp: Add the unpacked (16bpp) raw formats Now that the firmware supports the unpacked (16bpp) variants @@ -198602,7 +197523,7 @@ index 3ecb8a15207c..1e3ef82b1104 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 Jan 2021 11:43:22 +0000 -Subject: [PATCH 315/590] staging/bcm2835-isp: Log the number of excess +Subject: [PATCH 309/717] staging/bcm2835-isp: Log the number of excess supported formats When logging that the firmware has provided more supported formats @@ -198637,7 +197558,7 @@ index 1e3ef82b1104..8fea61de3c49 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 6 Jan 2021 18:16:10 +0000 -Subject: [PATCH 316/590] bcm2835-dma: Avoid losing CS flags after interrupt +Subject: [PATCH 310/717] bcm2835-dma: Avoid losing CS flags after interrupt Signed-off-by: Dom Cobley --- @@ -198664,7 +197585,7 @@ index 0cbfa9d559a2..9878d1bed589 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 30 Dec 2020 14:51:29 +0000 -Subject: [PATCH 317/590] bcm2835-dma: Add bcm2835-dma: Add DMA_WIDE_SOURCE and +Subject: [PATCH 311/717] bcm2835-dma: Add bcm2835-dma: Add DMA_WIDE_SOURCE and DMA_WIDE_DEST flags Use (reserved) bits 24 and 25 of the dreq value @@ -198734,7 +197655,7 @@ index 9878d1bed589..6aee9e97d207 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 14 Jan 2021 09:18:42 +0000 -Subject: [PATCH 318/590] uapi: bcm2835-isp: Add colour denoise configuration +Subject: [PATCH 312/717] uapi: bcm2835-isp: Add colour denoise configuration Add a configuration structure for colour denoise to the bcm2835_isp driver. @@ -198796,7 +197717,7 @@ index cf8c0437f159..c50e3ca81565 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 14 Jan 2021 09:20:52 +0000 -Subject: [PATCH 319/590] staging: vc04_services: ISP: Add colour denoise +Subject: [PATCH 313/717] staging: vc04_services: ISP: Add colour denoise control Add colour denoise control to the bcm2835 driver through a new v4l2 @@ -198881,7 +197802,7 @@ index 6ae26735a62d..722af059ff9d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 28 Jan 2021 11:30:04 +0000 -Subject: [PATCH 320/590] spi: bcm2835: Workaround/fix for zero-length +Subject: [PATCH 314/717] spi: bcm2835: Workaround/fix for zero-length transfers A relatively recent commit ([1]) contained optimisation for the PIO @@ -198937,7 +197858,7 @@ index 747e03228c48..7bc7eab92759 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Jan 2021 10:34:11 +0000 -Subject: [PATCH 321/590] kbuild: Silence unavoidable dtc overlay warnings +Subject: [PATCH 315/717] 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 @@ -198974,7 +197895,7 @@ index ed87353646bf..8e90c3c38a83 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 12 Jan 2021 13:55:39 +0000 -Subject: [PATCH 322/590] bcm2835-isp: Allow formats with different colour +Subject: [PATCH 316/717] bcm2835-isp: Allow formats with different colour spaces. Each supported format now includes a mask showing the allowed colour @@ -199694,7 +198615,7 @@ index e8f3362d1fad..cc0b8f571f18 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 5 Mar 2021 15:40:45 +0000 -Subject: [PATCH 323/590] media: bcm2835-unicam: Fix bug in buffer swapping +Subject: [PATCH 317/717] media: bcm2835-unicam: Fix bug in buffer swapping logic If multiple sets of interrupts occur simultaneously, it may be unsafe @@ -199776,7 +198697,7 @@ index 5b505439ddb1..dee06ecef394 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 8 Mar 2021 15:32:25 +0000 -Subject: [PATCH 324/590] Assign crypto aliases to different AES implementation +Subject: [PATCH 318/717] Assign crypto aliases to different AES implementation modules The kernel modules aes-neon-blk and aes-neon-bs perform poorly, at least on @@ -199893,7 +198814,7 @@ index bac4cabef607..937189bc155c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 1 Feb 2021 18:48:47 +0000 -Subject: [PATCH 325/590] media/v4l2_m2m: In buffered mode run jobs if either +Subject: [PATCH 319/717] media/v4l2_m2m: In buffered mode run jobs if either port is streaming In order to get the intended behaviour of the stateful video @@ -199932,7 +198853,7 @@ index b71284728ac3..8fb6d3354f54 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Fri, 17 May 2019 18:23:03 +0800 -Subject: [PATCH 326/590] media: i2c: add ov9281 driver. +Subject: [PATCH 320/717] media: i2c: add ov9281 driver. Change-Id: I7b77250bbc56d2f861450cf77271ad15f9b88ab1 Signed-off-by: Zefa Chen @@ -201682,7 +200603,7 @@ index cc0b8f571f18..7d98096af459 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 15 Jan 2020 13:40:38 +0000 -Subject: [PATCH 327/590] media: ov5647: Fix return codes from +Subject: [PATCH 321/717] media: ov5647: Fix return codes from ov5647_write/ov5647_read functions. Previously they were returning positive non-zero codes for success, @@ -201777,7 +200698,7 @@ index 847a7bbb69c5..d59d2408751b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sat, 4 Jul 2020 01:45:08 +0300 -Subject: [PATCH 328/590] media: i2c: ov5647: Parse and register properties +Subject: [PATCH 322/717] media: i2c: ov5647: Parse and register properties Parse device properties and register controls for them using the V4L2 fwnode properties helpers. @@ -201832,7 +200753,7 @@ index d59d2408751b..51adcbf54db2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 17 Mar 2021 12:34:57 +0000 -Subject: [PATCH 329/590] staging/bcm2835-camera: Add support for DMABUFs +Subject: [PATCH 323/717] staging/bcm2835-camera: Add support for DMABUFs DMABUFs are all handled by videobuf2, so there is no reason not to enable support for them. @@ -201875,7 +200796,7 @@ index c9d5b009fa9d..430e5c42d09d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 19 Feb 2021 10:25:01 +0000 -Subject: [PATCH 330/590] staging: fbtft: Add minipitft13 variant +Subject: [PATCH 324/717] 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 @@ -201985,7 +200906,7 @@ index 861a154144e6..3bcd9ee17b6c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 15 Apr 2021 17:30:35 +0100 -Subject: [PATCH 331/590] drm/panel: jdi-lt070me05000: Use +Subject: [PATCH 325/717] drm/panel: jdi-lt070me05000: Use gpiod_set_value_cansleep There is no reason why the control GPIOs for the panel can not @@ -202058,7 +200979,7 @@ index 8f4f137a2af6..74350f95d1cf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Mar 2021 18:34:50 +0000 -Subject: [PATCH 332/590] staging/bcm2835-camera: Add support for H264 levels +Subject: [PATCH 326/717] 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 @@ -202122,7 +201043,7 @@ index 65577e3322e2..ccb4317074f5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 23 Apr 2021 16:16:49 +0100 -Subject: [PATCH 333/590] staging/bcm2835-isp: Fix compiler warning +Subject: [PATCH 327/717] 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 @@ -202153,7 +201074,7 @@ index 7d98096af459..f22f0e154667 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Apr 2021 08:59:01 +0100 -Subject: [PATCH 334/590] gpio-poweroff: Remember the old poweroff handler +Subject: [PATCH 328/717] 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 @@ -202212,7 +201133,7 @@ index e5dca66360a7..81e7acb8acb5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 11 May 2021 12:52:26 +0100 -Subject: [PATCH 335/590] media: i2c: ov5647: Correct pixel array offset +Subject: [PATCH 329/717] 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). @@ -202243,7 +201164,7 @@ index 51adcbf54db2..904fbfd27f1d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 11 May 2021 12:57:22 +0100 -Subject: [PATCH 336/590] media: i2c: ov5647: Correct minimum VBLANK value +Subject: [PATCH 330/717] 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 @@ -202275,7 +201196,7 @@ index 904fbfd27f1d..222f6ea95051 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 12 May 2021 07:39:21 +0100 -Subject: [PATCH 337/590] media: i2c: ov5647: Fix v4l2-compliance failure +Subject: [PATCH 331/717] media: i2c: ov5647: Fix v4l2-compliance failure subscribing to events Fixes the following v4l2-compliance failure: @@ -202307,7 +201228,7 @@ index 222f6ea95051..1e769d53d9c2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 29 Jun 2021 12:50:58 +0100 -Subject: [PATCH 338/590] staging: vc04_services: isp: Set the YUV420/YVU420 +Subject: [PATCH 332/717] 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 @@ -202352,7 +201273,7 @@ index 7541fb316cb9..f6d6c88d13ba 100644 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 339/590] media: bcm2835-unicam: Forward input status from +Subject: [PATCH 333/717] media: bcm2835-unicam: Forward input status from subdevice MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -202411,7 +201332,7 @@ index a684ea98d315..a1c85bdeab37 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 3 Aug 2021 11:33:33 +0100 -Subject: [PATCH 340/590] media: i2c: ov7251: Add fwnode properties controls +Subject: [PATCH 334/717] media: i2c: ov7251: Add fwnode properties controls Add call to v4l2_ctrl_new_fwnode_properties to read and create the fwnode based controls. @@ -202465,7 +201386,7 @@ index 88e987435285..05cea92277ca 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 11 Aug 2021 15:33:57 +0100 -Subject: [PATCH 341/590] usb: xhci: workaround for bogus SET_DEQ_PENDING +Subject: [PATCH 335/717] usb: xhci: workaround for bogus SET_DEQ_PENDING endpoint state See https://github.com/raspberrypi/linux/issues/3981 @@ -202512,7 +201433,7 @@ index dce02d0aad8d..2f4a4a64e875 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 1 Nov 2018 17:31:37 +0000 -Subject: [PATCH 342/590] staging: vchiq_arm: Add 36-bit address support +Subject: [PATCH 336/717] 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 @@ -202774,7 +201695,7 @@ index 004ad2e7f168..08bf8ac019c5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 21 Jul 2020 17:34:09 +0100 -Subject: [PATCH 343/590] staging: vchiq_arm: children inherit DMA config +Subject: [PATCH 337/717] 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 @@ -202816,7 +201737,7 @@ index 08bf8ac019c5..1fded3fe2251 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: detule Date: Tue, 2 Oct 2018 04:10:08 -0400 -Subject: [PATCH 344/590] staging: vchiq_arm: Usa a DMA pool for small bulks +Subject: [PATCH 338/717] 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 @@ -202940,7 +201861,7 @@ index 1fded3fe2251..021cc8c4d5b6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Sep 2021 14:21:38 +0100 -Subject: [PATCH 345/590] drm/panel/raspberrypi-touchscreen: Handle I2C errors. +Subject: [PATCH 339/717] drm/panel/raspberrypi-touchscreen: Handle I2C errors. rpi_touchscreen_i2c_read returns any errors from i2c_transfer, or the 8 bit received value. @@ -202980,7 +201901,7 @@ index 6ce5ea3cd5b1..310743ca2165 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Mar 2021 17:06:36 +0000 -Subject: [PATCH 346/590] drm/panel-simple: Add a timing for the Raspberry Pi +Subject: [PATCH 340/717] drm/panel-simple: Add a timing for the Raspberry Pi 7" panel The Raspberry Pi 7" 800x480 panel uses a Toshiba TC358762 DSI @@ -203045,7 +201966,7 @@ index 8a3b685c2fcc..930c3b9aa101 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Sep 2021 14:46:17 +0100 -Subject: [PATCH 347/590] Input: edt-ft54x6: Clean up timer and workqueue on +Subject: [PATCH 341/717] Input: edt-ft54x6: Clean up timer and workqueue on remove If no interrupt is defined then a timer and workqueue are used @@ -203082,7 +202003,7 @@ index d5574835b198..06731d73ec28 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Sun, 10 Jan 2021 19:05:17 +0000 -Subject: [PATCH 348/590] staging/vchiq-mmal: Add buffer flags for interlaced +Subject: [PATCH 342/717] staging/vchiq-mmal: Add buffer flags for interlaced video Add the buffer flags that the firmware uses to identify fields @@ -203130,7 +202051,7 @@ index ef84b4e35608..baf37254645a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 5 Aug 2021 16:38:34 +0100 -Subject: [PATCH 349/590] staging/vchiq-mmal: Add parameters for interlaced +Subject: [PATCH 343/717] staging/vchiq-mmal: Add parameters for interlaced video support Adds enum mmal_interlace_type and struct @@ -203197,7 +202118,7 @@ index 722af059ff9d..3ef8e1e05902 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Aug 2021 15:44:21 +0100 -Subject: [PATCH 350/590] staging/vchiq-mmal: Add the deinterlace image effects +Subject: [PATCH 344/717] staging/vchiq-mmal: Add the deinterlace image effects enums As we're wanting to wrap the image_fx component for deinterlacing, @@ -203229,7 +202150,7 @@ index 3ef8e1e05902..825daadf2fea 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 2 Dec 2019 14:48:05 +0000 -Subject: [PATCH 351/590] Add Raspberry Pi PoE+ HAT support +Subject: [PATCH 345/717] Add Raspberry Pi PoE+ HAT support Signed-off-by: Serge Schneider --- @@ -203508,7 +202429,7 @@ index 000000000000..0c96b2c1e8ab From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Sep 2021 17:49:41 +0100 -Subject: [PATCH 352/590] staging/mmal-vchiq: Rationalise included headers +Subject: [PATCH 346/717] staging/mmal-vchiq: Rationalise included headers The list of includes was slightly over generic, and wasn't in alphabetical order. Clean it up. @@ -203550,7 +202471,7 @@ index 4a948d754185..6030680569a2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 15 Sep 2021 17:54:11 +0100 -Subject: [PATCH 353/590] staging/mmal-vchiq: Add module parameter to enable +Subject: [PATCH 347/717] staging/mmal-vchiq: Add module parameter to enable logging. Adds a module parameter "debug" to enable various logging levels. @@ -203867,7 +202788,7 @@ index 6030680569a2..8324897cb2ca 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 21 Sep 2021 17:17:57 +0100 -Subject: [PATCH 354/590] staging: mmal-vchiq: Reset buffers_with_vpu on +Subject: [PATCH 348/717] staging: mmal-vchiq: Reset buffers_with_vpu on port_enable Should we go through the timeout failure case with port_disable @@ -203904,7 +202825,7 @@ index 8324897cb2ca..f112394b65d1 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 14 Oct 2021 11:09:18 +0100 -Subject: [PATCH 355/590] drivers/gpio: Add a driver that wraps the PWM API as +Subject: [PATCH 349/717] 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 @@ -204107,7 +203028,7 @@ index 000000000000..89f5d6b353ab From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 21 Oct 2021 14:47:00 +0100 -Subject: [PATCH 356/590] media: i2c: ov5647: Sensor should report RAW color +Subject: [PATCH 350/717] media: i2c: ov5647: Sensor should report RAW color space Tested on Raspberry Pi running libcamera. @@ -204164,7 +203085,7 @@ index 1e769d53d9c2..dea016035c90 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 21 Oct 2021 14:49:15 +0100 -Subject: [PATCH 357/590] vc04_services: isp: Report input node as wanting full +Subject: [PATCH 351/717] vc04_services: isp: Report input node as wanting full range RAW color space RAW color spaces are more usually reported as having full range @@ -204199,7 +203120,7 @@ index f22f0e154667..ee893f875c42 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 23 Sep 2020 15:16:18 +0100 -Subject: [PATCH 358/590] media/bcm2835-unicam: Parse pad numbers correctly +Subject: [PATCH 352/717] 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 @@ -204437,7 +203358,7 @@ index a1c85bdeab37..c183e07f4a35 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 Oct 2021 17:57:27 +0100 -Subject: [PATCH 359/590] media/bcm2835-unicam: Add support for configuration +Subject: [PATCH 353/717] media/bcm2835-unicam: Add support for configuration via MC API Adds Media Controller API support for more complex pipelines. @@ -207159,7 +206080,7 @@ index c183e07f4a35..58b3e14ecbaf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: soyer Date: Sat, 23 Oct 2021 12:23:50 +0200 -Subject: [PATCH 360/590] staging/bcm2835-camera: Add support for H264_MIN_QP, +Subject: [PATCH 354/717] staging/bcm2835-camera: Add support for H264_MIN_QP, H264_MAX_QP Signed-off-by: Gergo Koteles @@ -207221,7 +206142,7 @@ index ccb4317074f5..7133791fda89 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Gergo Koteles Date: Sun, 24 Oct 2021 23:18:09 +0200 -Subject: [PATCH 361/590] staging/bcm2835-camera: Add support for +Subject: [PATCH 355/717] staging/bcm2835-camera: Add support for MPEG_VIDEO_FORCE_KEY_FRAME Signed-off-by: Gergo Koteles @@ -207272,7 +206193,7 @@ index 7133791fda89..4d1d6dc2a8d3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 2 Nov 2021 11:13:42 +0000 -Subject: [PATCH 362/590] brcmfmac: Don't promote INFO logging to ERR +Subject: [PATCH 356/717] 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 @@ -207310,7 +206231,7 @@ index 9bb5f709d41a..ca49700cca50 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Mon, 22 Nov 2021 13:10:39 +0000 -Subject: [PATCH 363/590] media: i2c: ov5647: Support HFLIP and VFLIP +Subject: [PATCH 357/717] 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. @@ -207505,7 +206426,7 @@ index dea016035c90..30090697503a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 16 Nov 2021 12:38:44 +0000 -Subject: [PATCH 364/590] drivers: bcm2835_isp: Allow multiple users for the +Subject: [PATCH 358/717] 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 @@ -207686,7 +206607,7 @@ index ee893f875c42..87cd10548564 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 25 Nov 2021 08:59:58 +0000 -Subject: [PATCH 365/590] drivers: bcm2835_isp: Fix div by 0 bug. +Subject: [PATCH 359/717] 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. @@ -207715,7 +206636,7 @@ index f6d6c88d13ba..a545dbf2b5dd 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 29 Nov 2021 12:14:49 +0000 -Subject: [PATCH 366/590] spi: spidev: Restore loading from Device Tree +Subject: [PATCH 360/717] 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 @@ -207728,10 +206649,10 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+) diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index 43b516bd104e..83a6432c103b 100644 +index ebe13ca17fbb..500feb31b627 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -689,6 +689,7 @@ static const struct file_operations spidev_fops = { +@@ -687,6 +687,7 @@ static const struct file_operations spidev_fops = { static struct class *spidev_class; static const struct spi_device_id spidev_spi_ids[] = { @@ -207746,7 +206667,7 @@ index 43b516bd104e..83a6432c103b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Nov 2021 14:37:40 +0000 -Subject: [PATCH 367/590] input: edt-ft5x06: Handle unreliable TOUCH_UP events +Subject: [PATCH 361/717] input: edt-ft5x06: Handle unreliable TOUCH_UP events The ft5x06 is unreliable in sending touch up events, so some touch IDs can become stuck in the detected state. @@ -207815,7 +206736,7 @@ index 06731d73ec28..f5202dafb458 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 30 Nov 2021 10:39:41 +0000 -Subject: [PATCH 368/590] drivers: bcm2835_unicam: Add logging message when a +Subject: [PATCH 362/717] 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 @@ -207847,7 +206768,7 @@ index 58b3e14ecbaf..7d5559a863a4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Nov 2021 18:31:37 +0000 -Subject: [PATCH 369/590] regulator/rpi-panel-attiny: Don't read the LCD power +Subject: [PATCH 363/717] regulator/rpi-panel-attiny: Don't read the LCD power status The I2C to the Atmel is very fussy, and locks up easily on @@ -207899,7 +206820,7 @@ index 308f7972941b..a2bc495bf076 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 30 Nov 2021 17:28:50 +0000 -Subject: [PATCH 370/590] input: edt-ft5x06: Only look at the number of points +Subject: [PATCH 364/717] input: edt-ft5x06: Only look at the number of points reported Register 0x02 in the FT5x06 is TD_STATUS containing the number @@ -207949,7 +206870,7 @@ index f5202dafb458..8b7f3087aceb 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 29 Oct 2018 14:45:45 +0000 -Subject: [PATCH 371/590] rtc: pcf8523: Fix oscillator stop bit handling +Subject: [PATCH 365/717] rtc: pcf8523: Fix oscillator stop bit handling See: https://github.com/raspberrypi/firmware/issues/1065 @@ -208012,7 +206933,7 @@ index 6174b3fd4b98..3a4eaa2dbb58 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 18:10:55 +0000 -Subject: [PATCH 372/590] drm/panel-simple: Populate bpc when using panel-dpi +Subject: [PATCH 366/717] 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. @@ -208042,7 +206963,7 @@ index 930c3b9aa101..8028dbff4990 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 18:16:21 +0000 -Subject: [PATCH 373/590] drm/panel-simple: Allow the bus format to be read +Subject: [PATCH 367/717] 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, @@ -208076,7 +206997,7 @@ index 8028dbff4990..9f87f4c1f55a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Mon, 26 Oct 2020 14:03:35 +0000 -Subject: [PATCH 374/590] xhci: quirks: add link TRB quirk for VL805 +Subject: [PATCH 368/717] 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 @@ -208146,7 +207067,7 @@ index b762a7123935..829a40b063e1 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Fri, 3 Dec 2021 14:32:05 +0000 -Subject: [PATCH 375/590] xhci: correct room_on_ring() for cases where there is +Subject: [PATCH 369/717] 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, @@ -208181,7 +207102,7 @@ index 97554ca8c789..c2ba570a98b6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Mon, 13 Dec 2021 15:05:56 +0000 -Subject: [PATCH 376/590] xhci: refactor out TRBS_PER_SEGMENT define in runtime +Subject: [PATCH 370/717] xhci: refactor out TRBS_PER_SEGMENT define in runtime code In anticipation of adjusting the number of utilised TRBs in a ring @@ -208450,7 +207371,7 @@ index 829a40b063e1..4b6700b8e2ce 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Mon, 13 Dec 2021 16:04:03 +0000 -Subject: [PATCH 377/590] usb: xhci: add VLI_TRB_CACHE_BUG quirk +Subject: [PATCH 371/717] 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, @@ -208533,7 +207454,7 @@ index 4b6700b8e2ce..ce8541d6c28f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 22 Nov 2021 12:31:35 +0000 -Subject: [PATCH 378/590] media: i2c: ov5647: Add support for regulator +Subject: [PATCH 372/717] media: i2c: ov5647: Add support for regulator control. The driver supported using GPIOs to control the shutdown line, @@ -208650,7 +207571,7 @@ index 30090697503a..ccf1c28d3c8f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 14 Dec 2021 17:18:49 +0000 -Subject: [PATCH 379/590] media: i2c: ov7251: Make the enable GPIO optional. +Subject: [PATCH 373/717] 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. @@ -208682,7 +207603,7 @@ index 05cea92277ca..e5adaa17cddf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 16 Dec 2021 16:25:00 +0000 -Subject: [PATCH 380/590] staging/bcm2835-isp: Fix cleanup after init fail +Subject: [PATCH 374/717] 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 @@ -208726,7 +207647,7 @@ index 87cd10548564..a512994b7267 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 4 Jan 2022 13:56:42 +0000 -Subject: [PATCH 381/590] uapi/v4l2-controls: Reset +Subject: [PATCH 375/717] uapi/v4l2-controls: Reset V4L2_CID_USER_BCM2835_ISP_BASE to same as 5.10 https://github.com/raspberrypi/linux/issues/4440 @@ -208765,7 +207686,7 @@ index ea7e229cd245..af104013ac23 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 4 Jan 2022 14:46:01 +0000 -Subject: [PATCH 382/590] media: i2c: ov9281: Increase diff between VTS and max +Subject: [PATCH 376/717] media: i2c: ov9281: Increase diff between VTS and max exposure The driver did allow the exposure to go up to VTS - 4 lines, @@ -208831,7 +207752,7 @@ index 041171e3a0c5..36ead3b3b584 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Wed, 5 Jan 2022 20:38:39 +0100 -Subject: [PATCH 383/590] Use GitHubs issue form for bug reports +Subject: [PATCH 377/717] Use GitHubs issue form for bug reports Use GitHubs issue form for bug reports. @@ -209007,7 +207928,7 @@ index 000000000000..338282d8eb46 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Padmanabha Srinivasaiah Date: Thu, 30 Dec 2021 21:45:10 +0100 -Subject: [PATCH 384/590] bcm2835-v4l2-isp: Add missing lock initialization +Subject: [PATCH 378/717] 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. @@ -209064,7 +207985,7 @@ index a512994b7267..8fa6971edce0 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 19 Jan 2022 17:22:57 +0000 -Subject: [PATCH 385/590] mfd: simple-mfd-i2c: Add configuration for RPi POE +Subject: [PATCH 379/717] mfd: simple-mfd-i2c: Add configuration for RPi POE HAT The Raspbery Pi PoE+ HAT exposes a fan controller and power @@ -209080,10 +208001,10 @@ Signed-off-by: Dave Stevenson 2 files changed, 20 insertions(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index b126bce1dc74..b9d0d6565db0 100644 +index 85bb158de57a..abc52db8f221 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig -@@ -1151,6 +1151,16 @@ config MFD_SY7636A +@@ -1152,6 +1152,16 @@ config MFD_SY7636A To enable support for building sub-devices as modules, choose M here. @@ -209135,7 +208056,7 @@ index f4c8fc3ee463..9f60dfd35e9f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 19 Jan 2022 17:26:22 +0000 -Subject: [PATCH 386/590] pwm: raspberrypi-poe: Add option of being created by +Subject: [PATCH 380/717] pwm: raspberrypi-poe: Add option of being created by MFD or FW The firmware can only use I2C0 if the kernel isn't, therefore @@ -209311,7 +208232,7 @@ index 6ff73029f367..117a061a7a3e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 20 Jan 2022 15:48:03 +0000 -Subject: [PATCH 387/590] power: rpi-poe: Drop CURRENT_AVG as it is not +Subject: [PATCH 381/717] power: rpi-poe: Drop CURRENT_AVG as it is not hardware averaged As documented the _AVG parameters are meant to be hardware @@ -209360,7 +208281,7 @@ index 0c96b2c1e8ab..7cf1014aa524 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 20 Jan 2022 15:50:27 +0000 -Subject: [PATCH 388/590] power: rpi-poe: Add option of being created by MFD or +Subject: [PATCH 382/717] power: rpi-poe: Add option of being created by MFD or FW The firmware can only use I2C0 if the kernel isn't, therefore @@ -209600,7 +208521,7 @@ index 7cf1014aa524..e96f98c39f0e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 18 Jan 2022 13:13:14 +0000 -Subject: [PATCH 389/590] drivers: bcm2835_unicam: Disable trigger mode +Subject: [PATCH 383/717] drivers: bcm2835_unicam: Disable trigger mode operation On a Pi3 B/B+ platform the imx219 sensor frequently generates a single corrupt @@ -209663,7 +208584,7 @@ index 7d5559a863a4..0a27ecf95818 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Penk Chen Date: Mon, 20 Dec 2021 03:44:56 +0900 -Subject: [PATCH 390/590] Extending ili9881c driver support for nwe080 panel +Subject: [PATCH 384/717] Extending ili9881c driver support for nwe080 panel Signed-off-by: Penk Chen --- @@ -209965,7 +208886,7 @@ index cbb68caa36f2..4d1017a621bf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Mon, 31 Jan 2022 17:23:38 -0700 -Subject: [PATCH 391/590] media: bcm2835-unicam: Set ret on error path in +Subject: [PATCH 385/717] media: bcm2835-unicam: Set ret on error path in unicam_async_complete() Clang warns: @@ -210014,7 +208935,7 @@ index 0a27ecf95818..228d771e6597 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Mon, 31 Jan 2022 17:50:43 -0700 -Subject: [PATCH 392/590] media: i2c: ov9281: Initialize id_msb to zero in +Subject: [PATCH 386/717] media: i2c: ov9281: Initialize id_msb to zero in ov9281_check_sensor_id() Clang warns: @@ -210068,7 +208989,7 @@ index 36ead3b3b584..028d96c97859 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Alex Crawford Date: Fri, 28 Jan 2022 13:36:51 -0800 -Subject: [PATCH 393/590] i2c: bcm2835: Make clock-stretch timeout configurable +Subject: [PATCH 387/717] i2c: bcm2835: Make clock-stretch timeout configurable The default clock-stretch timeout is 35 mS, which works well for SMBus, but there are some I2C devices which can stretch the clock even @@ -210118,7 +209039,7 @@ index d768247c7e50..7408e2c136b0 100644 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 394/590] Patching lan78xx for SOF_TIMESTAMPING_TX_SOFTWARE +Subject: [PATCH 388/717] Patching lan78xx for SOF_TIMESTAMPING_TX_SOFTWARE support --- @@ -210126,7 +209047,7 @@ Subject: [PATCH 394/590] Patching lan78xx for SOF_TIMESTAMPING_TX_SOFTWARE 1 file changed, 1 insertion(+) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index 1ce889fdd3aa..9bbdd23311fe 100644 +index 04842f081842..033e0e6be78c 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -1953,6 +1953,7 @@ static const struct ethtool_ops lan78xx_ethtool_ops = { @@ -210144,7 +209065,7 @@ index 1ce889fdd3aa..9bbdd23311fe 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:37:43 -0600 -Subject: [PATCH 395/590] media: uapi: Document format +Subject: [PATCH 389/717] media: uapi: Document format MEDIA_BUS_FMT_RGB565_1X24_CPADHI Add support for MEDIA_BUS_FMT_RGB565_1X24_CPADHI. This format is used @@ -210210,7 +209131,7 @@ index d35b7cfbd2a9..8cdb545c887c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:40:50 -0600 -Subject: [PATCH 396/590] dt-bindings: vendor-prefixes: Add Geekworm +Subject: [PATCH 390/717] dt-bindings: vendor-prefixes: Add Geekworm Add vendor prefix for Geekworm (https://geekworm.com). @@ -210239,7 +209160,7 @@ index cf0e81449c58..dcaec826855e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:41:18 -0600 -Subject: [PATCH 397/590] dt-bindings: display: simple: add Geekworm MZP280 +Subject: [PATCH 391/717] dt-bindings: display: simple: add Geekworm MZP280 Panel The Geekworm MZP280 panel is a 480x640 (portrait) panel with a @@ -210279,7 +209200,7 @@ index 18241f4051d2..5b6a744d0371 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Fri, 28 Jan 2022 17:42:12 -0600 -Subject: [PATCH 398/590] drm/panel: simple: add Geekworm MZP280 Panel +Subject: [PATCH 392/717] drm/panel: simple: add Geekworm MZP280 Panel Add support for the Geekworm MZP280 Panel @@ -210343,7 +209264,7 @@ index 9f87f4c1f55a..1e7a31b2f444 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 1 Feb 2022 12:24:51 +0000 -Subject: [PATCH 399/590] drm/panel: simple: Remove custom handling of +Subject: [PATCH 393/717] drm/panel: simple: Remove custom handling of orientation Panel orientation is now handled by the drm_panel and @@ -210400,7 +209321,7 @@ index 1e7a31b2f444..1705b34ef76b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 5 Jan 2022 19:14:48 +0000 -Subject: [PATCH 400/590] drm/panel: Add panel driver for Ilitek ILI9806E panel +Subject: [PATCH 394/717] drm/panel: Add panel driver for Ilitek ILI9806E panel The Ilitek ILI9806E driver is used in the Pimoroni HyperPixel4 and potentially other displays. Whilst it can support multiple @@ -210946,7 +209867,7 @@ index 000000000000..80e5bbe7a041 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 26 Jan 2022 16:02:31 +0000 -Subject: [PATCH 401/590] drm/panel: Add panel driver for TDO Y17B based panels +Subject: [PATCH 395/717] drm/panel: Add panel driver for TDO Y17B based panels The Top DisplayOptoelectronics (TDO) T17B driver chip is used in the TL040HDS20CT panel (found in the Pimoroni HyperPixel4 @@ -211286,7 +210207,7 @@ index 000000000000..28c2a33691fd From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Feb 2022 11:33:28 +0000 -Subject: [PATCH 402/590] bindings: Add sck-idle-input to spi-gpio +Subject: [PATCH 396/717] bindings: Add sck-idle-input to spi-gpio Signed-off-by: Phil Elwell --- @@ -211315,7 +210236,7 @@ index 0d0b6d9dad1c..9136f081f420 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jan 2022 08:23:28 +0000 -Subject: [PATCH 403/590] spi: gpio: Add sck-idle-input property +Subject: [PATCH 397/717] 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 @@ -211378,7 +210299,7 @@ index 9c8c7948044e..5b52159e2dc0 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 4 Feb 2022 16:12:35 +0000 -Subject: [PATCH 404/590] media: bcm2835-unicam: Handle a repeated frame start +Subject: [PATCH 398/717] media: bcm2835-unicam: Handle a repeated frame start with no end In the case of 2 frame starts being received with no frame end @@ -211447,7 +210368,7 @@ index 228d771e6597..7b7de978a214 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 16 Feb 2022 14:31:02 +0000 -Subject: [PATCH 405/590] usb: xhci: add a quirk for Superspeed bulk OUT +Subject: [PATCH 399/717] 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 @@ -211553,7 +210474,7 @@ index ce8541d6c28f..a8946c53110c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Feb 2022 14:48:30 +0000 -Subject: [PATCH 406/590] media: i2c: ov7251: Reinstate setting +Subject: [PATCH 400/717] media: i2c: ov7251: Reinstate setting ov7251_global_init_setting "media: i2c: Remove .s_power() from ov7251" removed the call that @@ -211591,7 +210512,7 @@ index e5adaa17cddf..a96a7622d5e4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 1 Mar 2022 15:12:15 +0000 -Subject: [PATCH 407/590] usb: xhci: rework XHCI_VLI_SS_BULK_OUT_BUG quirk +Subject: [PATCH 401/717] 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. @@ -211648,7 +210569,7 @@ index dcb72ee18769..d058a644a97a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 25 Feb 2022 18:16:13 +0000 -Subject: [PATCH 408/590] media/i2c: Add driver for Omnivision OV2311 +Subject: [PATCH 402/717] media/i2c: Add driver for Omnivision OV2311 Omnivision OV2311 is a CSI2 1600x1300 global shutter image sensor. Add a driver for it. @@ -212887,7 +211808,7 @@ index 000000000000..6d63e6519960 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Wed, 2 Mar 2022 16:47:37 +0000 -Subject: [PATCH 409/590] staging: vc04_services: isp: Permit all sRGB colour +Subject: [PATCH 403/717] staging: vc04_services: isp: Permit all sRGB colour spaces on ISP outputs ISP outputs actually support all colour spaces that are fundamentally @@ -213054,7 +211975,7 @@ index a545dbf2b5dd..5ab232ff9bd9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 3 Mar 2022 16:45:53 +0000 -Subject: [PATCH 410/590] drivers: staging: bcm2835-isp: Do not cleanup mmal +Subject: [PATCH 404/717] 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 @@ -213103,7 +212024,7 @@ index 8fa6971edce0..44b1acff099e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Sep 2021 12:33:35 +0100 -Subject: [PATCH 411/590] dt-bindings: media: i2c: Add binding for ad5398 VCM +Subject: [PATCH 405/717] 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. @@ -213149,7 +212070,7 @@ index 000000000000..446ac9717598 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Sep 2021 14:04:28 +0100 -Subject: [PATCH 412/590] media: i2c: Add driver for AD5398 VCM lens driver +Subject: [PATCH 406/717] 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 @@ -213547,7 +212468,7 @@ index 000000000000..f3e3dc770446 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 16 Mar 2022 12:15:41 +0000 -Subject: [PATCH 413/590] media: i2c: ov5647: Use +Subject: [PATCH 407/717] media: i2c: ov5647: Use v4l2_async_register_subdev_sensor for lens binding v4l2_async_register_subdev doesn't bind in lens or flash drivers, @@ -213579,7 +212500,7 @@ index ccf1c28d3c8f..60214c1342e3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 17 Mar 2022 15:13:10 +0000 -Subject: [PATCH 414/590] media: i2c: Rename ad5398 to ad5398_vcm +Subject: [PATCH 408/717] 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 @@ -213618,7 +212539,7 @@ rename to drivers/media/i2c/ad5398_vcm.c From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 22 Mar 2022 15:16:40 +0000 -Subject: [PATCH 415/590] drivers: staging: bcm2835-isp: Clear LS table handle +Subject: [PATCH 409/717] drivers: staging: bcm2835-isp: Clear LS table handle in the firmware When all nodes have stopped streaming, ensure the firmware has released its @@ -213661,7 +212582,7 @@ index 44b1acff099e..c10fc6af1897 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 29 Mar 2022 16:10:06 +0100 -Subject: [PATCH 416/590] mm,page_alloc,cma: introduce a customisable threshold +Subject: [PATCH 410/717] 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, @@ -213679,7 +212600,7 @@ Signed-off-by: David Plowman 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 6e60657875d3..fbfcee857b12 100644 +index 5cae08963984..1c24d1369241 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -273,6 +273,27 @@ EXPORT_SYMBOL(init_on_alloc); @@ -213710,7 +212631,7 @@ index 6e60657875d3..fbfcee857b12 100644 static bool _init_on_alloc_enabled_early __read_mostly = IS_ENABLED(CONFIG_INIT_ON_ALLOC_DEFAULT_ON); static int __init early_init_on_alloc(char *buf) -@@ -3092,12 +3113,13 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype, +@@ -3093,12 +3114,13 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype, if (IS_ENABLED(CONFIG_CMA)) { /* * Balance movable allocations between regular and CMA areas by @@ -213734,7 +212655,7 @@ index 6e60657875d3..fbfcee857b12 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 30 Mar 2022 09:48:41 +0100 -Subject: [PATCH 417/590] pinctrl: bcm2835: Only return non-GPIOs to inputs +Subject: [PATCH 411/717] 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. @@ -213745,10 +212666,10 @@ Signed-off-by: Phil Elwell 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 2063804e70ff..3ef9b6511b80 100644 +index e16b376f055e..caa2540accc2 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -920,9 +920,12 @@ static int bcm2835_pmx_free(struct pinctrl_dev *pctldev, +@@ -918,9 +918,12 @@ static int bcm2835_pmx_free(struct pinctrl_dev *pctldev, unsigned offset) { struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); @@ -213763,7 +212684,7 @@ index 2063804e70ff..3ef9b6511b80 100644 return 0; } -@@ -964,10 +967,7 @@ static void bcm2835_pmx_gpio_disable_free(struct pinctrl_dev *pctldev, +@@ -962,10 +965,7 @@ static void bcm2835_pmx_gpio_disable_free(struct pinctrl_dev *pctldev, struct pinctrl_gpio_range *range, unsigned offset) { @@ -213782,7 +212703,7 @@ index 2063804e70ff..3ef9b6511b80 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 31 Mar 2022 12:03:36 +0100 -Subject: [PATCH 418/590] drm/panel: ilitek-ili9881c: Clean up on +Subject: [PATCH 412/717] drm/panel: ilitek-ili9881c: Clean up on mipi_dsi_attach failure mipi_dsi_attach is allowed to fail, and currently the probe @@ -213819,7 +212740,7 @@ index 4d1017a621bf..bc4c846bf4a6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 31 Mar 2022 12:05:04 +0100 -Subject: [PATCH 419/590] drm/panel: panel-ilitek9881c: Add +Subject: [PATCH 413/717] drm/panel: panel-ilitek9881c: Add prepare_upstream_first flag The panel sends MIPI DCS commands during prepare and is expecting @@ -213853,7 +212774,7 @@ index bc4c846bf4a6..6136da4d0af8 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Alberto Solavagione Date: Wed, 20 Apr 2022 17:15:42 +0200 -Subject: [PATCH 420/590] clk-bcm2835: use subsys_initcall for the clock driver +Subject: [PATCH 414/717] clk-bcm2835: use subsys_initcall for the clock driver when IMA is enabled Co-authored-by: Davide Scovotto @@ -213887,7 +212808,7 @@ index 71129e60df9a..f2d07a851726 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Scovotto Davide Date: Wed, 20 Apr 2022 17:22:17 +0200 -Subject: [PATCH 421/590] tpm_tis_spi_main: Force probe routine to run +Subject: [PATCH 415/717] tpm_tis_spi_main: Force probe routine to run synchronously with driver and device registration when IMA is enabled Co-authored-by: Alberto Solavagione @@ -213921,7 +212842,7 @@ index a0963a3e92bd..1869bca4c7ee 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Apr 2022 09:19:10 +0100 -Subject: [PATCH 422/590] staging: vchiq_arm: Add log_level module params +Subject: [PATCH 416/717] staging: vchiq_arm: Add log_level module params Add module parameters to control the logging levels for the various vchiq logging categories. @@ -213954,7 +212875,7 @@ index 021cc8c4d5b6..59e73109fbd6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Thu, 21 Apr 2022 14:14:29 +0800 -Subject: [PATCH 423/590] dt-bindings: vendor-prefixes: Add Arducam +Subject: [PATCH 417/717] dt-bindings: vendor-prefixes: Add Arducam Add vendor prefix for Arducam (https://arducam.com). @@ -213983,7 +212904,7 @@ index dcaec826855e..8e61f905d79c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Thu, 21 Apr 2022 14:18:44 +0800 -Subject: [PATCH 424/590] media: dt-bindings: media: i2c: Add Arducam Pivariety +Subject: [PATCH 418/717] media: dt-bindings: media: i2c: Add Arducam Pivariety Series CMOS sensor binding Add YAML device tree binding for Arducam Pivariety CMOS image sensor, and @@ -214115,7 +213036,7 @@ index 000000000000..92bf4ff32eb4 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index be2c1873662f..e708598de8b9 100644 +index 2d1ff0df8614..354482749468 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1559,6 +1559,14 @@ S: Maintained @@ -214140,7 +213061,7 @@ index be2c1873662f..e708598de8b9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Thu, 14 Apr 2022 17:31:01 +0800 -Subject: [PATCH 425/590] media: i2c: Add driver of Arducam Pivariety series +Subject: [PATCH 419/717] media: i2c: Add driver of Arducam Pivariety series camera Add a driver for the Arducam Pivariety series CSI2 camera sensor. @@ -215789,7 +214710,7 @@ index 000000000000..b2b8cbc47138 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 May 2022 15:34:44 +0100 -Subject: [PATCH 426/590] thermal: broadcom: Use dev_err_probe to suppress +Subject: [PATCH 420/717] thermal: broadcom: Use dev_err_probe to suppress defer errors It is quite common for the devm_thermal_zone_of_sensor_register @@ -215821,7 +214742,7 @@ index 1f8651d15160..3694e64fd308 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Michael Shych Date: Sat, 30 Apr 2022 14:49:04 +0300 -Subject: [PATCH 427/590] dt-bindings: hwmon: add microchip,emc2305.yaml dt +Subject: [PATCH 421/717] dt-bindings: hwmon: add microchip,emc2305.yaml dt binding description. Submitted to linux-hwmon mailing list at @@ -215903,7 +214824,7 @@ index 000000000000..52ae4c2924d6 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 10 May 2022 14:03:30 +0100 -Subject: [PATCH 428/590] dtbindings: Fixup microchip,emc2305.yaml bindings +Subject: [PATCH 422/717] dtbindings: Fixup microchip,emc2305.yaml bindings The bindings submitted to mainline had some issues, so fix them up. @@ -215949,7 +214870,7 @@ index 52ae4c2924d6..efdc3cecb03d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 12 May 2022 14:29:48 +0100 -Subject: [PATCH 429/590] media: i2c: Update ov2311 Kconfig entry +Subject: [PATCH 423/717] media: i2c: Update ov2311 Kconfig entry Bring the OV2311 Kconfig declaration in line with upstream entries. @@ -215977,7 +214898,7 @@ index f3960dad23be..62c94d2ac69d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 12 May 2022 14:31:43 +0100 -Subject: [PATCH 430/590] media: i2c: Update ov9281 Kconfig entry +Subject: [PATCH 424/717] media: i2c: Update ov9281 Kconfig entry Bring the OV9281 Kconfig declaration in line with upstream entries. @@ -216005,7 +214926,7 @@ index 62c94d2ac69d..a253fe2cfbb6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 12 May 2022 14:32:26 +0100 -Subject: [PATCH 431/590] media: i2c: Update irs1125 Kconfig entry +Subject: [PATCH 425/717] media: i2c: Update irs1125 Kconfig entry Bring the IRS1125 Kconfig declaration in line with upstream entries. @@ -216036,7 +214957,7 @@ index a253fe2cfbb6..40432efc8a6a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 12 May 2022 17:42:08 +0100 -Subject: [PATCH 432/590] media: i2c: arducam-pivariety: Fixup for mainline API +Subject: [PATCH 426/717] media: i2c: arducam-pivariety: Fixup for mainline API changes Mainline APIs have changed the way in which the bus flags and @@ -216084,7 +215005,7 @@ index db008f944833..1806f44f343b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Mon, 16 May 2022 10:28:27 +0100 -Subject: [PATCH 433/590] mmc: block: Don't do single-sector reads during +Subject: [PATCH 427/717] mmc: block: Don't do single-sector reads during recovery See https://github.com/raspberrypi/linux/issues/5019 @@ -216124,7 +215045,7 @@ index f12e774df12a..3718a39c9dc5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 16 May 2022 17:33:48 +0100 -Subject: [PATCH 434/590] vc04_services: vchiq-mmal: Add defines for +Subject: [PATCH 428/717] vc04_services: vchiq-mmal: Add defines for mmal_es_format flags There is a flags field in struct mmal_es_format, but the defines @@ -216164,7 +215085,7 @@ index 5569876d8c7d..e8f5ca85a7c4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 7 Jun 2022 12:02:10 +0200 -Subject: [PATCH 435/590] random: do not use jump labels before they are +Subject: [PATCH 429/717] random: do not use jump labels before they are initialized [ I would like to pursue fixing this more directly first before actually @@ -216231,7 +215152,7 @@ Signed-off-by: Jason A. Donenfeld 1 file changed, 8 insertions(+) diff --git a/drivers/char/random.c b/drivers/char/random.c -index f5868dddbb61..ac2487ffabb4 100644 +index 5d1c8e1c99b5..fbf227c5b528 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -823,6 +823,14 @@ void __init random_init_early(const char *command_line) @@ -216256,7 +215177,7 @@ index f5868dddbb61..ac2487ffabb4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 20 Apr 2022 18:08:38 +0100 -Subject: [PATCH 436/590] drm/v3d: Switch clock setting to new api +Subject: [PATCH 430/717] drm/v3d: Switch clock setting to new api Signed-off-by: Dom Cobley @@ -216351,7 +215272,7 @@ index 4817e57b21d0..cc1404b4f4b9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 20 Apr 2022 17:40:47 +0100 -Subject: [PATCH 437/590] clk-raspberrypi: Enable minimize for all firmware +Subject: [PATCH 431/717] clk-raspberrypi: Enable minimize for all firmware clocks Signed-off-by: Dom Cobley @@ -216397,7 +215318,7 @@ index 6c426f34dd24..5c82af720050 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 13 May 2022 17:21:42 +0800 -Subject: [PATCH 438/590] media: dt-bindings: media: i2c: Add Arducam 64MP CMOS +Subject: [PATCH 432/717] media: dt-bindings: media: i2c: Add Arducam 64MP CMOS sensor binding Add YAML device tree binding for Arducam 64MP CMOS image sensor, and @@ -216532,7 +215453,7 @@ index 000000000000..b71a19782f97 + +... diff --git a/MAINTAINERS b/MAINTAINERS -index e708598de8b9..0afbcffc0910 100644 +index 354482749468..4e1014876dd0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1559,6 +1559,14 @@ S: Maintained @@ -216557,7 +215478,7 @@ index e708598de8b9..0afbcffc0910 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 13 May 2022 17:11:35 +0800 -Subject: [PATCH 439/590] media: i2c: Add driver of Arducam 64MP camera +Subject: [PATCH 433/717] 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 @@ -219026,7 +217947,7 @@ index 000000000000..8b65caaf22a1 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Wed, 18 May 2022 15:18:59 +0800 -Subject: [PATCH 440/590] media: i2c: arducam_64mp: Advertise embedded data +Subject: [PATCH 434/717] media: i2c: arducam_64mp: Advertise embedded data node on media pad 1 This commit updates the arducam_64mp driver to adverise support for @@ -219288,7 +218209,7 @@ index 8b65caaf22a1..58d1ba9a86bf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 8 Jun 2022 20:49:22 +0100 -Subject: [PATCH 441/590] Add HDMI1 facility to the driver. +Subject: [PATCH 435/717] Add HDMI1 facility to the driver. Also check for which HDMI devices are connected and only create devices for those that are present. @@ -219594,7 +218515,7 @@ index 38b7451d77b2..86eb04879797 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Lemon Date: Wed, 4 May 2022 14:33:05 -0700 -Subject: [PATCH 442/590] Populate phy driver block for BCM54213PE +Subject: [PATCH 436/717] Populate phy driver block for BCM54213PE The BCM54213PE identifier is a RPI-specific addition. Populate the remainder of the driver functions, including the @@ -219633,7 +218554,7 @@ index bb2143929885..d4c86aeb9748 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Dec 2021 13:53:36 +0000 -Subject: [PATCH 443/590] clk: bcm: rpi: Add the BCM283x pixel clock. +Subject: [PATCH 437/717] 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. @@ -219665,7 +218586,7 @@ index 5c82af720050..d238afd6860a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 4 Jul 2022 18:10:23 +0100 -Subject: [PATCH 444/590] media: i2c: ov9281: Correct min/def vts for 640x400 +Subject: [PATCH 438/717] 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 @@ -219698,7 +218619,7 @@ index 028d96c97859..a15081618f80 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 4 Jul 2022 18:12:56 +0100 -Subject: [PATCH 445/590] media: i2c: ov9281: Change exposure default value +Subject: [PATCH 439/717] media: i2c: ov9281: Change exposure default value with mode choice When the exposure range is updated due to changing VBLANK, adopt @@ -219733,7 +218654,7 @@ index a15081618f80..297a5c0fd849 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 8 Aug 2022 10:01:41 +0100 -Subject: [PATCH 446/590] media: bcm2835-unicam: Correctly handle FS + FE ISR +Subject: [PATCH 440/717] media: bcm2835-unicam: Correctly handle FS + FE ISR condtion If we get a simultaneous FS + FE interrupt for the same frame, it cannot be @@ -219803,7 +218724,7 @@ index 7b7de978a214..2fd96081cda6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 15 Aug 2022 19:42:38 +0100 -Subject: [PATCH 447/590] drm/panel-simple: hack ignore orientation +Subject: [PATCH 441/717] drm/panel-simple: hack ignore orientation downstream removal of orientation plus upstream adding of new function --- @@ -219833,7 +218754,7 @@ index 1705b34ef76b..2e21f5075edb 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 15 Aug 2022 19:44:20 +0100 -Subject: [PATCH 448/590] vc04_services/vc-sm-cma: Handle upstream require +Subject: [PATCH 442/717] vc04_services/vc-sm-cma: Handle upstream require vchiq_instance to be passed around --- @@ -220057,7 +218978,7 @@ index ed881c56d69c..a4f40d4cef05 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 29 Jul 2022 17:46:49 +0100 -Subject: [PATCH 449/590] media: video-mux: Read CSI2 config from FW, and pass +Subject: [PATCH 443/717] 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 @@ -220212,7 +219133,7 @@ index 71d97042a470..d946b192d23a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 26 Aug 2022 11:41:49 +0800 -Subject: [PATCH 450/590] media: i2c: arducam-pivariety: Add custom controls +Subject: [PATCH 444/717] media: i2c: arducam-pivariety: Add custom controls Add support for strobe_shift, strobe_width and mode custom controls. @@ -220260,7 +219181,7 @@ index b2b8cbc47138..99d5ada309e8 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 2 Sep 2022 08:35:35 +0100 -Subject: [PATCH 451/590] media: bcm2835-unicam: Fix for possible dummy buffer +Subject: [PATCH 445/717] media: bcm2835-unicam: Fix for possible dummy buffer overrun The Unicam hardware has been observed to cause a buffer overrun when using the @@ -220322,7 +219243,7 @@ index 2fd96081cda6..2cc4c2e468f3 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 8 Sep 2022 15:50:15 +0100 -Subject: [PATCH 452/590] usb: xhci: expand mitigations for VLI_SS_BULK_OUT_BUG +Subject: [PATCH 446/717] 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 @@ -220417,7 +219338,7 @@ index e9d81cb1d6b0..b23a765afa5a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 22 Sep 2022 14:55:54 +0100 -Subject: [PATCH 453/590] usb: xhci: account for num_trbs_free when +Subject: [PATCH 447/717] 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 @@ -220507,7 +219428,7 @@ index d058a644a97a..55eb253d6adf 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 7 Oct 2022 10:38:31 +0100 -Subject: [PATCH 454/590] nvmem: Use NVMEM_DEVID_AUTO +Subject: [PATCH 448/717] 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. @@ -220540,7 +219461,7 @@ index 80cb187f1481..752d0bf4445e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 28 Oct 2021 15:03:16 +0100 -Subject: [PATCH 455/590] brcmfmac: Read alternative firmware names from DT +Subject: [PATCH 449/717] 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 @@ -220735,7 +219656,7 @@ index fba766873a33..887521d0a9a7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 18 Oct 2022 14:58:15 +0100 -Subject: [PATCH 456/590] configs: arm64: Restore the easy settings +Subject: [PATCH 450/717] configs: arm64: Restore the easy settings Setting ARCH_BCM=y fixes the majority of the breakage. @@ -220947,7 +219868,7 @@ index e089eb07e98e..8f2ad529cfed 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 18 Oct 2022 16:36:47 +0100 -Subject: [PATCH 457/590] drm/panel: Rename GEM CMA helpers GEM DMA helpers +Subject: [PATCH 451/717] drm/panel: Rename GEM CMA helpers GEM DMA helpers As a result of [1], DRM_GEM_CMA_HELPER has been replaced by DRM_GEM_CMA_HELPER. @@ -220988,7 +219909,7 @@ index 5147777dcb23..6c5956532550 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 18 Oct 2022 16:39:53 +0100 -Subject: [PATCH 458/590] configs: Re-enable more lost config settings +Subject: [PATCH 452/717] configs: Re-enable more lost config settings Signed-off-by: Phil Elwell --- @@ -221178,7 +220099,7 @@ index 8f2ad529cfed..e4a7e0427c62 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 18 Oct 2022 15:34:39 +0100 -Subject: [PATCH 459/590] configs: Re-enable some deprecated media drivers +Subject: [PATCH 453/717] configs: Re-enable some deprecated media drivers Signed-off-by: Phil Elwell --- @@ -221359,7 +220280,7 @@ index e4a7e0427c62..513205895c4a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 19 Oct 2022 13:33:10 +0100 -Subject: [PATCH 460/590] configs: Add and enable CONFIG_LRU_GEN +Subject: [PATCH 454/717] configs: Add and enable CONFIG_LRU_GEN --- arch/arm/configs/bcm2709_defconfig | 2 ++ @@ -221441,7 +220362,7 @@ index 513205895c4a..e2a9970f0a56 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 5 May 2022 15:46:07 +0100 -Subject: [PATCH 461/590] hwmon: emc2305: fixups for driver submitted to +Subject: [PATCH 455/717] hwmon: emc2305: fixups for driver submitted to mailing lists The driver had a number of issues, checkpatch warnings/errors, @@ -221610,7 +220531,7 @@ index e42ae43f3de4..bbe007c88e08 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 24 Oct 2022 13:57:23 +0100 -Subject: [PATCH 462/590] media: bcm2835-unicam: Fix up start/stop api change +Subject: [PATCH 456/717] media: bcm2835-unicam: Fix up start/stop api change Signed-off-by: Dom Cobley --- @@ -221655,7 +220576,7 @@ index 2cc4c2e468f3..0451affbffd9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 25 Oct 2022 10:50:10 +0100 -Subject: [PATCH 463/590] drivers: usb: dwc_otg: fix reference passing when +Subject: [PATCH 457/717] drivers: usb: dwc_otg: fix reference passing when checking bandwidth The pointer (struct usb_host_endpoint *)->hcpriv should contain a @@ -221720,7 +220641,7 @@ index 022488f6741b..ca646860a092 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Mon, 17 Oct 2022 15:18:24 +0100 -Subject: [PATCH 464/590] drivers/gpu/drm/vc4: Add missing 32-bit RGB formats +Subject: [PATCH 458/717] 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. @@ -221776,7 +220697,7 @@ index e7f56b3eb213..036ee3154c79 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 25 Oct 2022 20:33:39 +0100 -Subject: [PATCH 465/590] configs: Enable the AHT10 sensor driver module +Subject: [PATCH 459/717] configs: Enable the AHT10 sensor driver module Add support for the Aosong AHT10 temperature and humidity sensor. @@ -221858,7 +220779,7 @@ index e2a9970f0a56..eca03da7c431 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 25 Oct 2022 20:27:00 +0100 -Subject: [PATCH 466/590] overlays: Add i2c-sensor support for AHT10 +Subject: [PATCH 460/717] overlays: Add i2c-sensor support for AHT10 Add support for the Aosong AHT10 temperature and humidity sensor. @@ -221924,7 +220845,7 @@ index 2716898e24a4..231db98890fb 100755 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 25 Oct 2022 20:08:51 +0100 -Subject: [PATCH 467/590] overlays: Add README entry for i2c-rtc,rv3032 +Subject: [PATCH 461/717] overlays: Add README entry for i2c-rtc,rv3032 Signed-off-by: Phil Elwell --- @@ -221960,7 +220881,7 @@ index 92b0dcb3c9f9..82968d9f1dd6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 26 Oct 2022 17:46:44 +0100 -Subject: [PATCH 468/590] drivers: dwc_otg: stop GCC from patching FIQ +Subject: [PATCH 462/717] drivers: dwc_otg: stop GCC from patching FIQ functions Configuring GCC to use task stack protector canaries means it will @@ -222011,7 +220932,7 @@ index f644acbce748..67e277804b2e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 1 Nov 2022 08:47:21 +0000 -Subject: [PATCH 469/590] overlays: i2c-sensor: Add mcp980x support +Subject: [PATCH 463/717] overlays: i2c-sensor: Add mcp980x support See: https://github.com/raspberrypi/linux/issues/5234 @@ -222082,7 +221003,7 @@ index 231db98890fb..77babe855da9 100755 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 2 Nov 2022 09:54:39 +0000 -Subject: [PATCH 470/590] overlays: pisound: Make button pins owned by card +Subject: [PATCH 464/717] 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 @@ -222137,7 +221058,7 @@ index 49efb2b768fb..a140ffc1f720 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "maxime@cerno.tech" Date: Thu, 20 Oct 2022 11:12:09 +0200 -Subject: [PATCH 471/590] firmware: raspberrypi: Introduce +Subject: [PATCH 465/717] firmware: raspberrypi: Introduce rpi_firmware_find_node() A significant number of RaspberryPi drivers using the firmware don't @@ -222221,7 +221142,7 @@ index dd3bbc75e531..eb933a9c6c20 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 20 Sep 2022 13:43:19 +0200 -Subject: [PATCH 472/590] firmware: raspberrypi: Move the clock IDs to the +Subject: [PATCH 466/717] 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 @@ -222302,7 +221223,7 @@ index eb933a9c6c20..39bc15cc0547 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 20 Sep 2022 13:49:10 +0200 -Subject: [PATCH 473/590] firmware: raspberrypi: Provide a helper to query a +Subject: [PATCH 467/717] firmware: raspberrypi: Provide a helper to query a clock max rate The firmware allows to query for its clocks the operating range of a @@ -222406,7 +221327,7 @@ index 39bc15cc0547..c453978e62f6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 24 Mar 2022 11:57:57 +0100 -Subject: [PATCH 474/590] drm/vc4: hdmi: Fix hdmi_enable_4kp60 detection +Subject: [PATCH 468/717] 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. @@ -222432,7 +221353,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index cd7e6243d919..c948ab1d8aa5 100644 +index 3546c7af0329..fc8312d7702f 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -46,6 +46,7 @@ @@ -222443,7 +221364,7 @@ index cd7e6243d919..c948ab1d8aa5 100644 #include #include #include -@@ -3685,7 +3686,7 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) +@@ -3695,7 +3696,7 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) if (variant->max_pixel_clock == 600000000) { struct vc4_dev *vc4 = to_vc4_dev(drm); @@ -222459,7 +221380,7 @@ index cd7e6243d919..c948ab1d8aa5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 24 Mar 2022 11:57:57 +0100 -Subject: [PATCH 475/590] drm/vc4: hdmi: Rework hdmi_enable_4kp60 detection +Subject: [PATCH 469/717] drm/vc4: hdmi: Rework hdmi_enable_4kp60 detection code In order to support higher HDMI frequencies, users have to set the @@ -222511,7 +221432,7 @@ index a3d058d3c788..ffffcba00a33 100644 struct vc4_plane { diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index c948ab1d8aa5..5455e2b06fc9 100644 +index fc8312d7702f..43153581b8e0 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -46,7 +46,6 @@ @@ -222522,7 +221443,7 @@ index c948ab1d8aa5..5455e2b06fc9 100644 #include #include #include -@@ -485,6 +484,7 @@ static int vc4_hdmi_connector_detect_ctx(struct drm_connector *connector, +@@ -494,6 +493,7 @@ static int vc4_hdmi_connector_detect_ctx(struct drm_connector *connector, static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) { struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector); @@ -222530,7 +221451,7 @@ index c948ab1d8aa5..5455e2b06fc9 100644 int ret = 0; struct edid *edid; -@@ -508,7 +508,7 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) +@@ -517,7 +517,7 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) ret = drm_add_edid_modes(connector, edid); kfree(edid); @@ -222539,7 +221460,7 @@ index c948ab1d8aa5..5455e2b06fc9 100644 struct drm_device *drm = connector->dev; const struct drm_display_mode *mode; -@@ -1971,11 +1971,12 @@ vc4_hdmi_encoder_clock_valid(const struct vc4_hdmi *vc4_hdmi, +@@ -1980,11 +1980,12 @@ vc4_hdmi_encoder_clock_valid(const struct vc4_hdmi *vc4_hdmi, { const struct drm_connector *connector = &vc4_hdmi->connector; const struct drm_display_info *info = &connector->display_info; @@ -222553,7 +221474,7 @@ index c948ab1d8aa5..5455e2b06fc9 100644 return MODE_CLOCK_HIGH; if (info->max_tmds_clock && clock > (info->max_tmds_clock * 1000)) -@@ -3684,14 +3685,6 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) +@@ -3694,14 +3695,6 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) vc4_hdmi->disable_wifi_frequencies = of_property_read_bool(dev->of_node, "wifi-2.4ghz-coexistence"); @@ -222588,7 +221509,7 @@ index f57bfb13fc41..268ce4122090 100644 struct cec_msg cec_rx_msg; bool cec_tx_ok; diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 3d4bca723d85..ba3b0fa2084c 100644 +index 094887d4673e..f93757542570 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -28,6 +28,8 @@ @@ -222641,7 +221562,7 @@ index 3d4bca723d85..ba3b0fa2084c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 17 May 2022 12:46:42 +0100 -Subject: [PATCH 476/590] drm/vc4: hdmi: Add more checks for 4k resolutions +Subject: [PATCH 470/717] 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. @@ -222676,10 +221597,10 @@ index ffffcba00a33..27799092dfc7 100644 struct vc4_plane { diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index 5455e2b06fc9..f512feffc0de 100644 +index 43153581b8e0..61d08c3fc5ec 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1967,6 +1967,7 @@ vc4_hdmi_sink_supports_format_bpc(const struct vc4_hdmi *vc4_hdmi, +@@ -1976,6 +1976,7 @@ vc4_hdmi_sink_supports_format_bpc(const struct vc4_hdmi *vc4_hdmi, static enum drm_mode_status vc4_hdmi_encoder_clock_valid(const struct vc4_hdmi *vc4_hdmi, @@ -222687,7 +221608,7 @@ index 5455e2b06fc9..f512feffc0de 100644 unsigned long long clock) { const struct drm_connector *connector = &vc4_hdmi->connector; -@@ -1979,6 +1980,12 @@ vc4_hdmi_encoder_clock_valid(const struct vc4_hdmi *vc4_hdmi, +@@ -1988,6 +1989,12 @@ vc4_hdmi_encoder_clock_valid(const struct vc4_hdmi *vc4_hdmi, if (!vc4->hvs->vc5_hdmi_enable_hdmi_20 && clock > HDMI_14_MAX_TMDS_CLK) return MODE_CLOCK_HIGH; @@ -222700,7 +221621,7 @@ index 5455e2b06fc9..f512feffc0de 100644 if (info->max_tmds_clock && clock > (info->max_tmds_clock * 1000)) return MODE_CLOCK_HIGH; -@@ -2013,7 +2020,7 @@ vc4_hdmi_encoder_compute_clock(const struct vc4_hdmi *vc4_hdmi, +@@ -2022,7 +2029,7 @@ vc4_hdmi_encoder_compute_clock(const struct vc4_hdmi *vc4_hdmi, unsigned long long clock; clock = vc4_hdmi_encoder_compute_mode_clock(mode, bpc, fmt); @@ -222709,7 +221630,7 @@ index 5455e2b06fc9..f512feffc0de 100644 return -EINVAL; vc4_state->tmds_char_rate = clock; -@@ -2176,7 +2183,7 @@ vc4_hdmi_encoder_mode_valid(struct drm_encoder *encoder, +@@ -2185,7 +2192,7 @@ vc4_hdmi_encoder_mode_valid(struct drm_encoder *encoder, (mode->hsync_end % 2) || (mode->htotal % 2))) return MODE_H_ILLEGAL; @@ -222719,7 +221640,7 @@ index 5455e2b06fc9..f512feffc0de 100644 static const struct drm_encoder_helper_funcs vc4_hdmi_encoder_helper_funcs = { diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index ba3b0fa2084c..b4d0645a56e4 100644 +index f93757542570..60a33e0edc2c 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -1060,6 +1060,9 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) @@ -222739,7 +221660,7 @@ index ba3b0fa2084c..b4d0645a56e4 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 25 Mar 2022 17:09:41 +0100 -Subject: [PATCH 477/590] drm/vc4: Make sure we don't end up with a core clock +Subject: [PATCH 471/717] 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, @@ -222800,7 +221721,7 @@ index d5b16579fd33..1688659ba1d5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 5 Nov 2022 11:46:08 +0000 -Subject: [PATCH 478/590] net: phy: BCM54210PE does not support PTP +Subject: [PATCH 472/717] 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. @@ -222850,7 +221771,7 @@ index ef00d6163061..30ee23e73a4b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 1 Jun 2022 15:43:51 +0100 -Subject: [PATCH 479/590] drm/vc4_hdmi: Allow hotplug detect to be forced +Subject: [PATCH 473/717] 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 @@ -222873,7 +221794,7 @@ Signed-off-by: Dom Cobley 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index f512feffc0de..ba1128bab79e 100644 +index 61d08c3fc5ec..3e0bb29b2400 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -41,6 +41,8 @@ @@ -222896,7 +221817,7 @@ index f512feffc0de..ba1128bab79e 100644 static const char * const output_format_str[] = { [VC4_HDMI_OUTPUT_RGB] = "RGB", [VC4_HDMI_OUTPUT_YUV420] = "YUV 4:2:0", -@@ -466,7 +472,9 @@ static int vc4_hdmi_connector_detect_ctx(struct drm_connector *connector, +@@ -475,7 +481,9 @@ static int vc4_hdmi_connector_detect_ctx(struct drm_connector *connector, WARN_ON(pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev)); @@ -222914,7 +221835,7 @@ index f512feffc0de..ba1128bab79e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 7 Nov 2022 15:31:43 +0000 -Subject: [PATCH 480/590] overlays: i2c-sensor: Add the jc42 class of sensor +Subject: [PATCH 474/717] 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 @@ -223006,7 +221927,7 @@ index 77babe855da9..baac806e93bf 100755 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2022 14:40:52 +0000 -Subject: [PATCH 481/590] overlays: Extend audremap to supports other pins +Subject: [PATCH 475/717] 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. @@ -223093,7 +222014,7 @@ index 29399c5c84f6..edacc498b11c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 15:00:04 +0000 -Subject: [PATCH 482/590] media: adv7180: Nasty hack to allow input selection. +Subject: [PATCH 476/717] media: adv7180: Nasty hack to allow input selection. Whilst the adv7180 driver support s_routing, nothing else does, and there is a missing lump of framework code to @@ -223188,7 +222109,7 @@ index 2aa29616081f..d2f8745dbf3a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 3 Nov 2022 13:45:37 +0000 -Subject: [PATCH 483/590] vc04_services: bcm2835_codec: Allow larger images +Subject: [PATCH 477/717] vc04_services: bcm2835_codec: Allow larger images through the ISP Whilst the codecs are restricted to 1920x1080 / 1080x1920, the ISP @@ -223295,7 +222216,7 @@ index 82032d1aa6b1..3fec9d2306fb 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nick Hollinghurst Date: Fri, 11 Nov 2022 13:36:07 +0000 -Subject: [PATCH 484/590] imx296-overlay: clock-frequency defaults to 54MHz but +Subject: [PATCH 478/717] imx296-overlay: clock-frequency defaults to 54MHz but can be overridden Signed-off-by: Nick Hollinghurst @@ -223348,7 +222269,7 @@ index 85b6f7e7fca1..44257b4c9391 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Joerg Schambacher Date: Tue, 15 Nov 2022 18:04:45 +0100 -Subject: [PATCH 485/590] ASoC:ma120x0p: Corrects the volume level display +Subject: [PATCH 479/717] 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 @@ -223381,7 +222302,7 @@ index cd3808ea9849..dce60ded3ef9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 16 Nov 2022 14:54:08 +0000 -Subject: [PATCH 486/590] overlays: Add overlay pwm1 +Subject: [PATCH 480/717] overlays: Add overlay pwm1 pwm1 enables the second PWM interface found on BCM2711. It can only be mapped to GPIOs 40 & 41. @@ -223526,7 +222447,7 @@ index 000000000000..19b4db26cded From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 21 Nov 2022 14:18:57 +0000 -Subject: [PATCH 487/590] overlays: audremap: Include the fsels values +Subject: [PATCH 481/717] 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 @@ -223584,7 +222505,7 @@ index edacc498b11c..a73cc95934ba 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Nov 2022 11:51:38 +0000 -Subject: [PATCH 488/590] overlays: i2c-sensor: Make smbus-timeout-disable +Subject: [PATCH 482/717] overlays: i2c-sensor: Make smbus-timeout-disable optional Although disabling the SMBUS timeout may be useful, not all chips @@ -223640,7 +222561,7 @@ index baac806e93bf..c81d8e5db548 100755 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: reinisb Date: Fri, 25 Nov 2022 12:53:50 +0200 -Subject: [PATCH 489/590] overlays: Mention Digi2 Pro audio card in README +Subject: [PATCH 483/717] overlays: Mention Digi2 Pro audio card in README https://www.hifiberry.com/blog/the-new-digi2-pro/ --- @@ -223667,7 +222588,7 @@ index 36ff8228814e..37f1da9275c8 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 29 Nov 2022 13:17:08 +0000 -Subject: [PATCH 490/590] configs: Enable Twofish crypto +Subject: [PATCH 484/717] configs: Enable Twofish crypto See: https://github.com/raspberrypi/linux/issues/5258 @@ -223747,7 +222668,7 @@ index eca03da7c431..16df4824429d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 1 Dec 2022 16:59:44 +0000 -Subject: [PATCH 491/590] usb: xhci: add XHCI_VLI_HUB_TT_QUIRK +Subject: [PATCH 485/717] 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 @@ -223876,7 +222797,7 @@ index a8946c53110c..e9bd6e460767 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 1 Dec 2022 13:54:49 +0000 -Subject: [PATCH 492/590] media: i2c: ov7251: Add module param to select ext +Subject: [PATCH 486/717] media: i2c: ov7251: Add module param to select ext trig mode As there isn't currently a defined mechanism for selecting an @@ -223970,7 +222891,7 @@ index a96a7622d5e4..628973639d03 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 6 Dec 2022 15:05:56 +0000 -Subject: [PATCH 493/590] vc4_hdmi: Avoid log spam for audio start failure +Subject: [PATCH 487/717] 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 @@ -223998,10 +222919,10 @@ Signed-off-by: Dom Cobley 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 ba1128bab79e..7d10cff07bce 100644 +index 3e0bb29b2400..aab46968d077 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -2359,7 +2359,7 @@ static int vc4_hdmi_audio_startup(struct device *dev, void *data) +@@ -2368,7 +2368,7 @@ static int vc4_hdmi_audio_startup(struct device *dev, void *data) } if (!vc4_hdmi_audio_can_stream(vc4_hdmi)) { @@ -224017,7 +222938,7 @@ index ba1128bab79e..7d10cff07bce 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 29 Sep 2022 18:30:56 +0200 -Subject: [PATCH 494/590] drm/tests: Order Kunit tests in Makefile +Subject: [PATCH 488/717] drm/tests: Order Kunit tests in Makefile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -224063,7 +222984,7 @@ index 91b70f7d2769..2d9f49b62ecb 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 14 Nov 2022 14:00:21 +0100 -Subject: [PATCH 495/590] drm/tests: Add Kunit Helpers +Subject: [PATCH 489/717] drm/tests: Add Kunit Helpers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -224191,7 +223112,7 @@ index 000000000000..f13a18dd1c6d From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Nov 2022 10:17:10 +0100 -Subject: [PATCH 496/590] drm/tests: Include helpers header +Subject: [PATCH 490/717] drm/tests: Include helpers header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -224231,7 +223152,7 @@ index d3f0d681b685..dbd8ec24d4be 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Nov 2022 10:17:11 +0100 -Subject: [PATCH 497/590] drm/tests: helpers: Add module infos +Subject: [PATCH 491/717] drm/tests: helpers: Add module infos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -224268,7 +223189,7 @@ index dbd8ec24d4be..eea450de7de8 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 16 Nov 2022 16:18:33 +0100 -Subject: [PATCH 498/590] drm/tests: helpers: Add SPDX header +Subject: [PATCH 492/717] drm/tests: helpers: Add SPDX header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -224313,7 +223234,7 @@ index f13a18dd1c6d..20ab6eec4c89 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Nov 2022 16:25:51 +0100 -Subject: [PATCH 499/590] drm/atomic: Constify the old/new state accessors +Subject: [PATCH 493/717] drm/atomic: Constify the old/new state accessors The drm_atomic_get_(old|new)_*_state don't modify the passed drm_atomic_state, so we can make it const. @@ -224327,7 +223248,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20221123-rpi-kunit-tests-v1- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c -index f197f59f6d99..e666799a46d5 100644 +index c0dc5858a723..ccb73defb771 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -880,7 +880,7 @@ EXPORT_SYMBOL(drm_atomic_get_private_obj_state); @@ -224366,7 +223287,7 @@ index f197f59f6d99..e666799a46d5 100644 struct drm_encoder *encoder) { struct drm_connector_state *conn_state; -@@ -1117,7 +1117,7 @@ EXPORT_SYMBOL(drm_atomic_get_bridge_state); +@@ -1118,7 +1118,7 @@ EXPORT_SYMBOL(drm_atomic_get_bridge_state); * the bridge is not part of the global atomic state. */ struct drm_bridge_state * @@ -224375,7 +223296,7 @@ index f197f59f6d99..e666799a46d5 100644 struct drm_bridge *bridge) { struct drm_private_state *obj_state; -@@ -1139,7 +1139,7 @@ EXPORT_SYMBOL(drm_atomic_get_old_bridge_state); +@@ -1140,7 +1140,7 @@ EXPORT_SYMBOL(drm_atomic_get_old_bridge_state); * the bridge is not part of the global atomic state. */ struct drm_bridge_state * @@ -224520,7 +223441,7 @@ index 10b1990bc1f6..92586ab55ef5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Nov 2022 16:25:53 +0100 -Subject: [PATCH 500/590] drm/vc4: Constify container_of wrappers +Subject: [PATCH 494/717] drm/vc4: Constify container_of wrappers None of our wrappers around container_of to access our objects from the DRM object pointer actually modify the latter. @@ -224617,7 +223538,7 @@ index 27799092dfc7..f0811fbc35d9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Nov 2022 16:25:55 +0100 -Subject: [PATCH 501/590] drm/vc4: kms: Constify the HVS old/new state helpers +Subject: [PATCH 495/717] drm/vc4: kms: Constify the HVS old/new state helpers The vc4_hvs_get_(old|new)_global_state functions don't modify the drm_atomic_state passed as an argument, so let's make it const. @@ -224658,7 +223579,7 @@ index 1688659ba1d5..fc4f02842894 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Nov 2022 16:25:52 +0100 -Subject: [PATCH 502/590] drm/vc4: kms: Sort the CRTCs by output before +Subject: [PATCH 496/717] drm/vc4: kms: Sort the CRTCs by output before assigning them On the vc4 devices (and later), the blending is done by a single device @@ -224865,7 +223786,7 @@ index fc4f02842894..1eb964454240 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Nov 2022 16:25:56 +0100 -Subject: [PATCH 503/590] drm/vc4: txp: Reorder the variable assignments +Subject: [PATCH 497/717] drm/vc4: txp: Reorder the variable assignments The current order of variable assignments is unneccessarily complex, let's make it simpler. @@ -224929,7 +223850,7 @@ index bd181b5a7b52..b00c6fae972f 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Nov 2022 16:25:57 +0100 -Subject: [PATCH 504/590] drm/vc4: Add TXP encoder type +Subject: [PATCH 498/717] drm/vc4: Add TXP encoder type The TXP is integrated as a separate CRTC/Encoder/Connector combo, but for some reason doesn't rely on the vc4_encoder type and it's associated @@ -225037,7 +223958,7 @@ index b00c6fae972f..0bb8e97d7891 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Nov 2022 16:25:58 +0100 -Subject: [PATCH 505/590] drm/vc4: txp: Initialise the CRTC before the encoder +Subject: [PATCH 499/717] drm/vc4: txp: Initialise the CRTC before the encoder and connector It makes more sense to register the CRTC before the encoder and @@ -225085,7 +224006,7 @@ index 0bb8e97d7891..c2a6bea6fd96 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Nov 2022 16:25:59 +0100 -Subject: [PATCH 506/590] drm/vc4: crtc: Pass the device and data in +Subject: [PATCH 500/717] drm/vc4: crtc: Pass the device and data in vc4_crtc_init Both users of vc4_crtc_init need the same extra initialization to set @@ -225102,7 +224023,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20221123-rpi-kunit-tests-v1- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index b448bdbe1cfd..3222cd286f2e 100644 +index 97b1107a30bb..1a3b924b8f5c 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -1318,9 +1318,12 @@ static void vc4_set_crtc_possible_masks(struct drm_device *drm, @@ -225198,7 +224119,7 @@ index c2a6bea6fd96..841da240d93a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Nov 2022 16:26:02 +0100 -Subject: [PATCH 507/590] drm/vc4: crtc: Provide a CRTC name +Subject: [PATCH 501/717] drm/vc4: crtc: Provide a CRTC name It's fairly hard to figure out the instance of the CRTC affected by an atomic change using the default name. @@ -225216,7 +224137,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20221123-rpi-kunit-tests-v1- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 3222cd286f2e..776221a7e2c5 100644 +index 1a3b924b8f5c..062aff4ebf6b 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -1173,6 +1173,7 @@ static const struct drm_crtc_helper_funcs vc4_crtc_helper_funcs = { @@ -225324,7 +224245,7 @@ index 841da240d93a..4f7ce5d3e8ad 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 28 Nov 2022 09:19:38 +0100 -Subject: [PATCH 508/590] drm/tests: helpers: Add missing export +Subject: [PATCH 502/717] drm/tests: helpers: Add missing export drm_kunit_device_init() is a public function meant to be used by other tests, but isn't exported. This leads to modpost errors when the other @@ -225355,7 +224276,7 @@ index f1662091f250..8c738384a992 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 28 Nov 2022 14:12:43 +0100 -Subject: [PATCH 509/590] drm/tests: helpers: Move the helper header to +Subject: [PATCH 503/717] drm/tests: helpers: Move the helper header to include/drm We'll need to use those helpers from drivers too, so let's move it to a @@ -225400,7 +224321,7 @@ rename to include/drm/drm_kunit_helpers.h From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 1 Dec 2022 13:37:20 +0100 -Subject: [PATCH 510/590] drm/tests: Introduce a config option for the KUnit +Subject: [PATCH 504/717] drm/tests: Introduce a config option for the KUnit helpers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -225419,10 +224340,10 @@ Signed-off-by: Maxime Ripard 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig -index 34f5a092c99e..d96060ad3bfa 100644 +index f30f99166531..85b4c186c237 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig -@@ -63,6 +63,12 @@ config DRM_USE_DYNAMIC_DEBUG +@@ -64,6 +64,12 @@ config DRM_USE_DYNAMIC_DEBUG bytes per callsite, the .data costs can be substantial, and are therefore configurable. @@ -225435,7 +224356,7 @@ index 34f5a092c99e..d96060ad3bfa 100644 config DRM_KUNIT_TEST tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS depends on DRM && KUNIT -@@ -73,6 +79,7 @@ config DRM_KUNIT_TEST +@@ -74,6 +80,7 @@ config DRM_KUNIT_TEST select DRM_KMS_HELPER select DRM_BUDDY select DRM_EXPORT_FOR_TESTS if m @@ -225484,7 +224405,7 @@ index b29ef1085cad..723344fb82be 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 28 Nov 2022 13:50:58 +0100 -Subject: [PATCH 511/590] drm/tests: helpers: Document drm_kunit_device_init() +Subject: [PATCH 505/717] drm/tests: helpers: Document drm_kunit_device_init() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -225534,7 +224455,7 @@ index 6600a4db3158..9ed3cfc2ac03 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 1 Dec 2022 14:59:07 +0100 -Subject: [PATCH 512/590] drm/tests: helpers: Switch to EXPORT_SYMBOL_GPL +Subject: [PATCH 506/717] drm/tests: helpers: Switch to EXPORT_SYMBOL_GPL drm_kunit_device_init() among other things will allocate a device and wrap around root_device_register. This function is exported with @@ -225567,7 +224488,7 @@ index 9ed3cfc2ac03..4fe131141718 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Nov 2022 13:22:59 +0100 -Subject: [PATCH 513/590] drm/tests: helpers: Rename the device init helper +Subject: [PATCH 507/717] drm/tests: helpers: Rename the device init helper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -225638,7 +224559,7 @@ index 20ab6eec4c89..e9870c7911fe 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Nov 2022 13:25:32 +0100 -Subject: [PATCH 514/590] drm/tests: helpers: Remove the name parameter +Subject: [PATCH 508/717] drm/tests: helpers: Remove the name parameter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -225712,7 +224633,7 @@ index e9870c7911fe..6c12b1426ba0 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Nov 2022 11:11:52 +0100 -Subject: [PATCH 515/590] drm/tests: helpers: Create the device in another +Subject: [PATCH 509/717] drm/tests: helpers: Create the device in another function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -225847,7 +224768,7 @@ index 6c12b1426ba0..b4277fe92c38 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Nov 2022 13:33:37 +0100 -Subject: [PATCH 516/590] drm/tests: helpers: Switch to a platform_device +Subject: [PATCH 510/717] drm/tests: helpers: Switch to a platform_device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -225912,7 +224833,7 @@ index 4bf98bd0a8c6..b66ce779511b 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Nov 2022 13:18:29 +0100 -Subject: [PATCH 517/590] drm/tests: helpers: Make sure the device is bound +Subject: [PATCH 511/717] drm/tests: helpers: Make sure the device is bound MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -225992,7 +224913,7 @@ index b66ce779511b..9bfd3cb9cde1 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Nov 2022 14:28:44 +0100 -Subject: [PATCH 518/590] drm/tests: helpers: Allow for a custom device struct +Subject: [PATCH 512/717] drm/tests: helpers: Allow for a custom device struct to be allocated The current helper to allocate a DRM device doesn't allow for any @@ -226135,7 +225056,7 @@ index b4277fe92c38..df99fda95e89 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Nov 2022 17:02:15 +0100 -Subject: [PATCH 519/590] drm/tests: helpers: Allow to pass a custom drm_driver +Subject: [PATCH 513/717] drm/tests: helpers: Allow to pass a custom drm_driver Some tests will need to provide their own drm_driver instead of relying on the dumb one in the helpers, so let's create a helper that allows to @@ -226263,7 +225184,7 @@ index df99fda95e89..ed013fdcc1ff 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 10 Nov 2022 12:57:53 +0100 -Subject: [PATCH 520/590] drm/vc4: Move HVS state to main header +Subject: [PATCH 514/717] drm/vc4: Move HVS state to main header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -226387,7 +225308,7 @@ index 1eb964454240..56c6f24fb9d7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 14 Nov 2022 14:11:41 +0100 -Subject: [PATCH 521/590] drm/vc4: crtc: Introduce a lower-level crtc init +Subject: [PATCH 515/717] drm/vc4: crtc: Introduce a lower-level crtc init helper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -226409,7 +225330,7 @@ Signed-off-by: Maxime Ripard 2 files changed, 57 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 776221a7e2c5..94adbc8ce6fa 100644 +index 062aff4ebf6b..c2552ea393a3 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -1326,31 +1326,38 @@ static void vc4_set_crtc_possible_masks(struct drm_device *drm, @@ -226526,7 +225447,7 @@ index 21cc5ccd692c..cf45afb76c0c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 14 Nov 2022 16:18:09 +0100 -Subject: [PATCH 522/590] drm/vc4: crtc: Make encoder lookup helper public +Subject: [PATCH 516/717] drm/vc4: crtc: Make encoder lookup helper public MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -226544,7 +225465,7 @@ Signed-off-by: Maxime Ripard 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 94adbc8ce6fa..da47f5a79d11 100644 +index c2552ea393a3..fa8bef840dae 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -520,21 +520,6 @@ static int vc4_crtc_disable(struct drm_crtc *crtc, @@ -226612,7 +225533,7 @@ index cf45afb76c0c..a9f6b9e2b8ca 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 23 Nov 2022 16:00:53 +0100 -Subject: [PATCH 523/590] drm/vc4: hvs: Provide a function to initialize the +Subject: [PATCH 517/717] drm/vc4: hvs: Provide a function to initialize the HVS structure We'll need to initialize the HVS structure without a backing device to @@ -226640,7 +225561,7 @@ index a9f6b9e2b8ca..c79b382a566e 100644 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); diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index b4d0645a56e4..c228d68c8a47 100644 +index 60a33e0edc2c..6b2e3504e9a2 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -1010,6 +1010,46 @@ int vc4_hvs_debugfs_init(struct drm_minor *minor) @@ -226751,7 +225672,7 @@ index b4d0645a56e4..c228d68c8a47 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Nov 2022 18:18:40 +0100 -Subject: [PATCH 524/590] drm/vc4: tests: Introduce a mocking infrastructure +Subject: [PATCH 518/717] drm/vc4: tests: Introduce a mocking infrastructure In order to test the current atomic_check hooks we need to have a DRM device that has roughly the same capabilities and layout that the actual @@ -227323,7 +226244,7 @@ index 000000000000..62b18f5f41db + return dummy_plane; +} diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index da47f5a79d11..231c8c6a4172 100644 +index fa8bef840dae..b8903c8b9223 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -709,8 +709,8 @@ void vc4_crtc_get_margins(struct drm_crtc_state *state, @@ -227523,7 +226444,7 @@ index 4f7ce5d3e8ad..2b69454b8534 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 21 Nov 2022 17:04:31 +0100 -Subject: [PATCH 525/590] drm/vc4: tests: Fail the current test if we access a +Subject: [PATCH 519/717] drm/vc4: tests: Fail the current test if we access a register Accessing a register when running under kunit is a bad idea since our @@ -227544,7 +226465,7 @@ Signed-off-by: Maxime Ripard 7 files changed, 81 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 231c8c6a4172..d2959d5de7a3 100644 +index b8903c8b9223..dd8b442d266e 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -50,8 +50,17 @@ @@ -227742,7 +226663,7 @@ index 32ca0b3d1549..6e7c6936fc2d 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 14 Nov 2022 16:06:22 +0100 -Subject: [PATCH 526/590] drm/vc4: tests: Add unit test suite for the PV muxing +Subject: [PATCH 520/717] drm/vc4: tests: Add unit test suite for the PV muxing The HVS to PixelValve muxing code is fairly error prone and has a bunch of arbitrary constraints due to the hardware setup. @@ -228914,7 +227835,7 @@ index 000000000000..ae0bd0f81698 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 1 Dec 2022 11:08:24 +0100 -Subject: [PATCH 527/590] Documentation: gpu: vc4: Add KUnit Tests Section +Subject: [PATCH 521/717] Documentation: gpu: vc4: Add KUnit Tests Section Now that we have VC4-specific tests in place, let's document them properly. @@ -228958,7 +227879,7 @@ index 5df1d98b9544..a2375f1584e6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 8 Dec 2022 13:17:42 +0100 -Subject: [PATCH 528/590] .github: Add Github Workflow for KUnit +Subject: [PATCH 522/717] .github: Add Github Workflow for KUnit Now that we have some KUnit coverage, let's add a github actions file to run them on each push or pull request. @@ -229039,7 +227960,7 @@ index 000000000000..ee51bbc912e7 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 6 Dec 2022 18:11:58 +0000 -Subject: [PATCH 529/590] .github/workflows: Add dtoverlaycheck workflow +Subject: [PATCH 523/717] .github/workflows: Add dtoverlaycheck workflow Signed-off-by: Dave Stevenson --- @@ -229108,7 +228029,7 @@ index 000000000000..2e6d4f2a0b6d From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 11 Nov 2022 17:09:32 +0000 -Subject: [PATCH 530/590] .github/workflows: Create workflow to CI kernel +Subject: [PATCH 524/717] .github/workflows: Create workflow to CI kernel builds Builds the bcmrpi, bcm2709, bcm2711, and bcm2835 32 bit kernels, @@ -229400,7 +228321,7 @@ index 000000000000..8e551dc4d0c5 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 14 Nov 2022 17:14:15 +0000 -Subject: [PATCH 531/590] README: Add README.md with CI kernel build status +Subject: [PATCH 525/717] README: Add README.md with CI kernel build status tags This is a copy of README with the tags added. @@ -229457,7 +228378,7 @@ index 000000000000..605abc67589e From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Williams Date: Wed, 7 Dec 2022 18:20:40 -0700 -Subject: [PATCH 532/590] drm/panel: panel-ilitek9881c: Use cansleep methods +Subject: [PATCH 526/717] drm/panel: panel-ilitek9881c: Use cansleep methods Use cansleep version of gpiod_set_value so external IO drivers (like via I2C) can be used. @@ -229500,7 +228421,7 @@ index 6136da4d0af8..ae53800403aa 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Williams Date: Wed, 7 Dec 2022 19:55:15 -0700 -Subject: [PATCH 533/590] drm/panel: panel-ilitek9881c: Crystalfontz support +Subject: [PATCH 527/717] drm/panel: panel-ilitek9881c: Crystalfontz support Add support for Crystalfontz CFAF7201280A0-050Tx panel. @@ -229782,7 +228703,7 @@ index ae53800403aa..dfb90334a77c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Williams Date: Wed, 7 Dec 2022 19:57:24 -0700 -Subject: [PATCH 534/590] configs: Enable LM3630A backlight module +Subject: [PATCH 528/717] configs: Enable LM3630A backlight module Added LM3630A module to defconfig to support Crystalfontz CFA050-PI-M. @@ -229862,7 +228783,7 @@ index 16df4824429d..cb0e91c6839c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Williams Date: Thu, 8 Dec 2022 04:58:05 -0700 -Subject: [PATCH 535/590] overlays: Add crystalfontz-cfa050_pi_m +Subject: [PATCH 529/717] 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. @@ -230044,7 +228965,7 @@ index 000000000000..544036589b66 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: lihgong Date: Tue, 13 Dec 2022 09:14:31 +0800 -Subject: [PATCH 536/590] configs: Add 8DEV USB2CAN driver support +Subject: [PATCH 530/717] configs: Add 8DEV USB2CAN driver support See: https://github.com/raspberrypi/linux/pull/5273 Requested-by: lihgong @@ -230122,49 +229043,9 @@ index cb0e91c6839c..0dac7e44292a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dom Cobley -Date: Thu, 15 Dec 2022 11:38:59 +0000 -Subject: [PATCH 537/590] 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 d2959d5de7a3..dd8b442d266e 100644 ---- a/drivers/gpu/drm/vc4/vc4_crtc.c -+++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -739,7 +739,7 @@ int vc4_crtc_atomic_check(struct drm_crtc *crtc, - struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder); - - 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.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 14 Dec 2022 15:00:51 +0000 -Subject: [PATCH 538/590] net: bcmgenet: Add 'eee' module parameter +Subject: [PATCH 531/717] 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 @@ -230178,7 +229059,7 @@ Signed-off-by: Phil Elwell 1 file changed, 14 insertions(+) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index 1811d60ef453..184bfd9f4ed2 100644 +index 2e157aceb7c8..1174684a7f23 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); @@ -230191,7 +229072,7 @@ index 1811d60ef453..184bfd9f4ed2 100644 static inline void bcmgenet_writel(u32 value, void __iomem *offset) { -@@ -3433,6 +3436,17 @@ static int bcmgenet_open(struct net_device *dev) +@@ -3441,6 +3444,17 @@ static int bcmgenet_open(struct net_device *dev) bcmgenet_phy_pause_set(dev, priv->rx_pause, priv->tx_pause); @@ -230216,7 +229097,7 @@ index 1811d60ef453..184bfd9f4ed2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 14 Dec 2022 15:28:16 +0000 -Subject: [PATCH 539/590] dts: bcm2711: Add 'eee' dtparam +Subject: [PATCH 532/717] 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 @@ -230254,7 +229135,7 @@ index 5f9a5bad98ad..f342e8547a8e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 15 Dec 2022 15:57:18 +0000 -Subject: [PATCH 540/590] dtoverlays: Add overlay cm-swap-i2c0 to swap buses on +Subject: [PATCH 533/717] dtoverlays: Add overlay cm-swap-i2c0 to swap buses on i2c0mux The legacy camera stack wiring instructions connect the cameras @@ -230351,7 +229232,7 @@ index 000000000000..6b7f599f7611 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 15 Dec 2022 15:59:28 +0000 -Subject: [PATCH 541/590] dt: Correct cam_reg GPIO assignments for CM1&3. +Subject: [PATCH 534/717] 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 @@ -230432,7 +229313,7 @@ index 84117e5b0f11..e48dfc34a944 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 15 Dec 2022 16:13:07 +0000 -Subject: [PATCH 542/590] dt: Add camX_reg_gpio to CM4 +Subject: [PATCH 535/717] 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. @@ -230499,7 +229380,7 @@ index e48dfc34a944..e4d3812678b1 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 15 Dec 2022 16:15:27 +0000 -Subject: [PATCH 543/590] dt: Add camX_reg and camX_reg_gpio overrides to CM4S +Subject: [PATCH 536/717] 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 @@ -230571,7 +229452,7 @@ index e4d3812678b1..2a9586721697 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Fri, 16 Dec 2022 15:51:17 +0000 -Subject: [PATCH 544/590] overlays: Add disable-emmc2 +Subject: [PATCH 537/717] 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 @@ -230659,7 +229540,7 @@ index 627855bc500c..fda036488d41 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Fri, 16 Dec 2022 15:18:21 +0000 -Subject: [PATCH 545/590] xhci: constrain XHCI_VLI_HUB_TT_QUIRK to old firmware +Subject: [PATCH 538/717] xhci: constrain XHCI_VLI_HUB_TT_QUIRK to old firmware versions VLI have a firmware update for the VL805 which resolves the incorrect @@ -230718,7 +229599,7 @@ index 10473448885d..a93cb6aaad4c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell <8911409+pelwell@users.noreply.github.com> Date: Mon, 19 Dec 2022 16:32:33 +0000 -Subject: [PATCH 546/590] drm/panel: simple: Add Innolux AT056tN53V1 5.6" VGA +Subject: [PATCH 539/717] drm/panel: simple: Add Innolux AT056tN53V1 5.6" VGA Add support for the Innolux AT056tN53V1 5.6" VGA (640x480) TFT LCD panel. @@ -230905,7 +229786,7 @@ index 2e21f5075edb..fda264e28165 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 5 Jan 2023 15:43:03 +0000 -Subject: [PATCH 547/590] configs: Enable PWM drivers +Subject: [PATCH 540/717] configs: Enable PWM drivers Add CONFIG_PWM, which now predicates the PWM drivers. @@ -230983,60 +229864,9 @@ index 0dac7e44292a..dde7d045b176 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Tue, 3 Jan 2023 15:16:50 +0000 -Subject: [PATCH 548/590] 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 2987bfd95c08..6432055454ac 100644 ---- a/drivers/gpu/drm/vc4/vc4_plane.c -+++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -438,7 +438,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_dma_object *bo = drm_fb_dma_get_gem_obj(fb, 0); -+ struct drm_gem_dma_object *bo; - int num_planes = fb->format->num_planes; - struct drm_crtc_state *crtc_state; - u32 h_subsample = fb->format->hsub; -@@ -457,8 +457,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_dma_get_gem_obj(fb, i); - vc4_state->offsets[i] = bo->dma_addr + fb->offsets[i]; -+ } - - vc4_state->src_x = state->src.x1; - vc4_state->src_y = state->src.y1; --- -2.39.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Krzysztof Kotlenga Date: Thu, 29 Dec 2022 19:14:32 +0100 -Subject: [PATCH 549/590] overlays: audremap: Fix setting of the pin function +Subject: [PATCH 541/717] 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 @@ -231075,7 +229905,7 @@ index a73cc95934ba..95027c5c8f9e 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 3 Jan 2023 15:44:10 +0000 -Subject: [PATCH 550/590] media: dt-bindings: Add DW9817 to DW9807 binding +Subject: [PATCH 542/717] 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 @@ -231127,7 +229957,7 @@ index aae246ca3fcf..1be649611ba2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 3 Jan 2023 15:38:08 +0000 -Subject: [PATCH 551/590] media: dw9807-vcm: Add support for DW9817 +Subject: [PATCH 543/717] media: dw9807-vcm: Add support for DW9817 bidirectional VCM driver The DW9817 is effectively the same as DW9807 from a programming @@ -231356,7 +230186,7 @@ index 3599720db7e9..3fb5d6a7f771 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 3 Jan 2023 16:41:08 +0000 -Subject: [PATCH 552/590] media: dt-bindings: Add regulator to dw9807-vcm +Subject: [PATCH 544/717] 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. @@ -231404,7 +230234,7 @@ index 3fb5d6a7f771..258c53295005 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 3 Jan 2023 16:35:59 +0000 -Subject: [PATCH 553/590] media: dw9807-vcm: Add regulator support to the +Subject: [PATCH 545/717] media: dw9807-vcm: Add regulator support to the driver Uses the regulator notifier framework so that the current @@ -231597,7 +230427,7 @@ index 258c53295005..0bd9fe75deb5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 3 Jan 2023 16:53:37 +0000 -Subject: [PATCH 554/590] media: dw9807-vcm: Smooth the first user movement of +Subject: [PATCH 546/717] media: dw9807-vcm: Smooth the first user movement of the lens The power up/down sequence is already ramped. Extend this to @@ -231652,7 +230482,7 @@ index 0bd9fe75deb5..85412361e991 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 22 Dec 2022 14:08:35 +0000 -Subject: [PATCH 555/590] dtbindings: media: i2c: Add IMX708 CMOS sensor +Subject: [PATCH 547/717] dtbindings: media: i2c: Add IMX708 CMOS sensor binding Add YAML devicetree binding for IMX708 CMOS image sensor. @@ -231791,7 +230621,7 @@ index 000000000000..4b8645f6880c + +... diff --git a/MAINTAINERS b/MAINTAINERS -index 0afbcffc0910..9e342b5f83be 100644 +index 4e1014876dd0..ef8a027faeeb 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19325,6 +19325,14 @@ T: git git://linuxtv.org/media_tree.git @@ -231816,7 +230646,7 @@ index 0afbcffc0910..9e342b5f83be 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nick Hollinghurst Date: Thu, 22 Dec 2022 13:59:33 +0000 -Subject: [PATCH 556/590] media/i2c: Add a driver for the Sony IMX708 image +Subject: [PATCH 548/717] 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 @@ -233872,7 +232702,7 @@ index 000000000000..f4c65aa3e18f From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 22 Dec 2022 14:28:15 +0000 -Subject: [PATCH 557/590] defconfigs: Add IMX708 to all Pi defconfigs +Subject: [PATCH 549/717] defconfigs: Add IMX708 to all Pi defconfigs Adds the IMX708 image sensor driver to the defconfigs. @@ -233987,7 +232817,7 @@ index dde7d045b176..6af06a59eae5 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 22 Dec 2022 14:12:54 +0000 -Subject: [PATCH 558/590] dtoverlays: Add overlays for the IMX708 image sensor +Subject: [PATCH 550/717] dtoverlays: Add overlays for the IMX708 image sensor New overlay to support the Sony IMX708 image sensor. This includes a VCM for lens control. @@ -234439,7 +233269,7 @@ index 000000000000..1381caf22668 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Jan 2023 16:00:21 +0000 -Subject: [PATCH 559/590] net: phy: broadcom: Make LEDs 3+4 shadow LEDs 1+2 +Subject: [PATCH 551/717] 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 @@ -234480,7 +233310,7 @@ index d4c86aeb9748..ab7bbe2166d7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 4 Jan 2023 09:14:53 +0000 -Subject: [PATCH 560/590] overlays: i2c-sensor: MS temp & pressure sensors +Subject: [PATCH 552/717] 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, @@ -234638,7 +233468,7 @@ index c81d8e5db548..6504c7578b9d 100755 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 4 Jan 2023 09:39:44 +0000 -Subject: [PATCH 561/590] configs: Enable the MS5637 temp + pressure driver +Subject: [PATCH 553/717] configs: Enable the MS5637 temp + pressure driver Signed-off-by: Phil Elwell --- @@ -234716,7 +233546,7 @@ index 6af06a59eae5..051ccf171b25 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 5 Jan 2023 14:44:48 +0000 -Subject: [PATCH 562/590] drivers: media: imx708: Enable long exposure mode +Subject: [PATCH 554/717] drivers: media: imx708: Enable long exposure mode Enable long exposure modes by using the long exposure shift register setting in the imx708 sensor. @@ -234824,7 +233654,7 @@ index f4c65aa3e18f..ee80035462d7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 10 Jan 2023 13:14:27 +0000 -Subject: [PATCH 563/590] drivers: media: i2c: imx708: Fix crop information +Subject: [PATCH 555/717] drivers: media: i2c: imx708: Fix crop information The 1536x864 mode contained incorrect crop information. @@ -234859,7 +233689,7 @@ index ee80035462d7..7c76fa0c0dc9 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Jan 2023 10:06:12 +0000 -Subject: [PATCH 564/590] configs: Add DM_MULTIPATH=m +Subject: [PATCH 556/717] configs: Add DM_MULTIPATH=m "Allow volume managers to support multipath hardware." @@ -234941,7 +233771,7 @@ index 051ccf171b25..affffde698bb 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Thu, 8 Dec 2022 17:21:00 +0000 -Subject: [PATCH 565/590] drm_probe_helper: Cancel previous job before starting +Subject: [PATCH 557/717] 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. @@ -234982,68 +233812,9 @@ index 69b0b2b9cc1c..e248fb99e87a 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Maxime Ripard -Date: Wed, 11 Jan 2023 11:57:01 +0100 -Subject: [PATCH 566/590] 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 | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c -index 231add8b8e12..ce0ea446bd70 100644 ---- a/drivers/gpu/drm/vc4/vc4_bo.c -+++ b/drivers/gpu/drm/vc4/vc4_bo.c -@@ -179,6 +179,7 @@ static void vc4_bo_destroy(struct vc4_bo *bo) - bo->validated_shader = NULL; - } - -+ mutex_destroy(&bo->madv_lock); - drm_gem_dma_free(&bo->base); - } - -@@ -394,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); -@@ -406,9 +406,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.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 14 Nov 2022 19:30:27 +0000 -Subject: [PATCH 567/590] drm/vc4: hdmi: Correct CSC setup for YCbCr4:4:4 +Subject: [PATCH 558/717] 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. @@ -235056,10 +233827,10 @@ Signed-off-by: Dave Stevenson 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 7d10cff07bce..ad7a7f067205 100644 +index aab46968d077..cfdde90fd090 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1326,12 +1326,12 @@ static void vc5_hdmi_set_csc_coeffs_swap(struct vc4_hdmi *vc4_hdmi, +@@ -1335,12 +1335,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 */ @@ -235085,7 +233856,7 @@ index 7d10cff07bce..ad7a7f067205 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 14 Nov 2022 19:32:10 +0000 -Subject: [PATCH 568/590] drm/vc4: hdmi: Add property to allow manual config of +Subject: [PATCH 559/717] drm/vc4: hdmi: Add property to allow manual config of RGB or YCbCr Add a custom property "Output format" that allows the overriding @@ -235103,10 +233874,10 @@ Signed-off-by: Dave Stevenson 2 files changed, 68 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index ad7a7f067205..2e0461fbff0c 100644 +index cfdde90fd090..9fbe5d380046 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -547,6 +547,7 @@ static int vc4_hdmi_connector_atomic_check(struct drm_connector *connector, +@@ -556,6 +556,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 || @@ -235114,7 +233885,7 @@ index ad7a7f067205..2e0461fbff0c 100644 !drm_connector_atomic_hdr_metadata_equal(old_state, new_state)) { struct drm_crtc_state *crtc_state; -@@ -581,6 +582,8 @@ int vc4_hdmi_connector_get_property(struct drm_connector *connector, +@@ -590,6 +591,8 @@ int vc4_hdmi_connector_get_property(struct drm_connector *connector, if (property == vc4_hdmi->broadcast_rgb_property) { *val = vc4_conn_state->broadcast_rgb; @@ -235123,7 +233894,7 @@ index ad7a7f067205..2e0461fbff0c 100644 } else { DRM_DEBUG_ATOMIC("Unknown property [PROP:%d:%s]\n", property->base.id, property->name); -@@ -612,6 +615,9 @@ int vc4_hdmi_connector_set_property(struct drm_connector *connector, +@@ -621,6 +624,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; @@ -235133,7 +233904,7 @@ index ad7a7f067205..2e0461fbff0c 100644 } DRM_DEBUG_ATOMIC("Unknown property [PROP:%d:%s]\n", -@@ -655,6 +661,7 @@ vc4_hdmi_connector_duplicate_state(struct drm_connector *connector) +@@ -664,6 +670,7 @@ vc4_hdmi_connector_duplicate_state(struct drm_connector *connector) new_state->tmds_char_rate = vc4_state->tmds_char_rate; new_state->output_bpc = vc4_state->output_bpc; new_state->output_format = vc4_state->output_format; @@ -235141,7 +233912,7 @@ index ad7a7f067205..2e0461fbff0c 100644 new_state->broadcast_rgb = vc4_state->broadcast_rgb; __drm_atomic_helper_connector_duplicate_state(connector, &new_state->base); -@@ -702,6 +709,33 @@ vc4_hdmi_attach_broadcast_rgb_property(struct drm_device *dev, +@@ -711,6 +718,33 @@ vc4_hdmi_attach_broadcast_rgb_property(struct drm_device *dev, drm_object_attach_property(&vc4_hdmi->connector.base, prop, 0); } @@ -235175,7 +233946,7 @@ index ad7a7f067205..2e0461fbff0c 100644 static int vc4_hdmi_connector_init(struct drm_device *dev, struct vc4_hdmi *vc4_hdmi) { -@@ -749,6 +783,7 @@ static int vc4_hdmi_connector_init(struct drm_device *dev, +@@ -758,6 +792,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); @@ -235183,7 +233954,7 @@ index ad7a7f067205..2e0461fbff0c 100644 drm_connector_attach_encoder(connector, encoder); -@@ -1886,6 +1921,11 @@ static void vc4_hdmi_encoder_atomic_mode_set(struct drm_encoder *encoder, +@@ -1895,6 +1930,11 @@ static void vc4_hdmi_encoder_atomic_mode_set(struct drm_encoder *encoder, vc4_hdmi->broadcast_rgb = vc4_state->broadcast_rgb; vc4_hdmi->output_bpc = vc4_state->output_bpc; vc4_hdmi->output_format = vc4_state->output_format; @@ -235195,7 +233966,7 @@ index ad7a7f067205..2e0461fbff0c 100644 mutex_unlock(&vc4_hdmi->mutex); } -@@ -2047,6 +2087,26 @@ vc4_hdmi_encoder_compute_format(const struct vc4_hdmi *vc4_hdmi, +@@ -2056,6 +2096,26 @@ vc4_hdmi_encoder_compute_format(const struct vc4_hdmi *vc4_hdmi, const struct drm_display_info *info = &connector->display_info; unsigned int format; @@ -235269,7 +234040,7 @@ index 268ce4122090..8d0bf52f55e7 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Sat, 14 Jan 2023 10:03:46 +0100 -Subject: [PATCH 569/590] bcm2835-mmc: Honor return value of mmc_of_parse() +Subject: [PATCH 560/717] 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 @@ -235305,7 +234076,7 @@ index 3c7b78a5e85f..7fdadf554991 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Jan 2023 14:32:45 +0000 -Subject: [PATCH 570/590] .github/workflows: Set warnings-as-errors for builds +Subject: [PATCH 561/717] .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. @@ -235374,7 +234145,7 @@ index 8e551dc4d0c5..5e446031c439 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Jan 2023 15:47:04 +0000 -Subject: [PATCH 571/590] overlays: i2c-sensor: Add mpu6050 and mpu9250 +Subject: [PATCH 562/717] 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 @@ -235552,7 +234323,7 @@ index fda036488d41..f1d1e0cf30d2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 18 Jan 2023 09:34:31 +0000 -Subject: [PATCH 572/590] .github/workflows: Correct kernel builds artifacts +Subject: [PATCH 563/717] .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 @@ -235705,7 +234476,7 @@ index 5e446031c439..231fcc2a4601 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PolarStarWalker Date: Mon, 2 Jan 2023 02:17:20 +0300 -Subject: [PATCH 573/590] configs: Enable BNO055 IMU sensor +Subject: [PATCH 564/717] configs: Enable BNO055 IMU sensor Signed-off-by: PolarStarWalker --- @@ -235783,7 +234554,7 @@ index affffde698bb..5ded73782d58 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 18 Jan 2023 16:37:01 +0000 -Subject: [PATCH 574/590] overlays: i2c-sensor: Use TABs for indentation +Subject: [PATCH 565/717] overlays: i2c-sensor: Use TABs for indentation A whitespace-only change replacing groups of 8 spaces with TABs. @@ -235858,7 +234629,7 @@ index 4b3519e4be52..564746f0341c 100755 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PolarStarWalker Date: Mon, 2 Jan 2023 02:13:27 +0300 -Subject: [PATCH 575/590] overlays: i2c-sensor: Add BNO055 IMU sensor +Subject: [PATCH 566/717] overlays: i2c-sensor: Add BNO055 IMU sensor Add support for the Bosch BNO055 9-dof IMU sensor. @@ -235963,7 +234734,7 @@ index 564746f0341c..d97cbf4b8547 100755 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 19 Jan 2023 19:51:49 +0000 -Subject: [PATCH 576/590] dtoverlay: Update vc4-kms-dpi-generic for changed +Subject: [PATCH 567/717] dtoverlay: Update vc4-kms-dpi-generic for changed mediabus formats Several of the media bus formats aren't merged upstream yet, @@ -236003,7 +234774,7 @@ index 85875c266296..8b006fcd9e58 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 16 Dec 2021 14:54:54 +0100 -Subject: [PATCH 577/590] drm/vc4: hvs: Defer dlist slots deallocation +Subject: [PATCH 568/717] 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 @@ -236143,7 +234914,7 @@ index b905acd33f10..c3057bda6ade 100644 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 c228d68c8a47..bcb02f448144 100644 +index 6b2e3504e9a2..ecb19422e2ac 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -412,6 +412,152 @@ static void vc5_hvs_update_gamma_lut(struct vc4_hvs *hvs, @@ -236414,7 +235185,7 @@ index c228d68c8a47..bcb02f448144 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Wed, 11 Jan 2023 17:30:58 +0000 -Subject: [PATCH 578/590] vc4/hdmi: Always enable GCP with AVMUTE cleared +Subject: [PATCH 569/717] 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 @@ -236452,7 +235223,7 @@ Signed-off-by: Dom Cobley 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 2e0461fbff0c..2a26a8fd7c47 100644 +index 9fbe5d380046..914afb1e28f4 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -107,6 +107,10 @@ @@ -236466,7 +235237,7 @@ index 2e0461fbff0c..2a26a8fd7c47 100644 # define VC4_HD_M_SW_RST BIT(2) # define VC4_HD_M_ENABLE BIT(0) -@@ -1550,7 +1554,6 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, +@@ -1559,7 +1563,6 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, VC4_HDMI_VERTB_VBP)); unsigned long flags; unsigned char gcp; @@ -236474,7 +235245,7 @@ index 2e0461fbff0c..2a26a8fd7c47 100644 u32 reg; int idx; -@@ -1585,16 +1588,13 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, +@@ -1594,16 +1597,13 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, switch (vc4_state->output_bpc) { case 12: gcp = 6; @@ -236492,7 +235263,7 @@ index 2e0461fbff0c..2a26a8fd7c47 100644 break; } -@@ -1603,8 +1603,7 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, +@@ -1612,8 +1612,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) { @@ -236502,7 +235273,7 @@ index 2e0461fbff0c..2a26a8fd7c47 100644 } reg = HDMI_READ(HDMI_DEEP_COLOR_CONFIG_1); -@@ -1617,11 +1616,12 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, +@@ -1626,11 +1625,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); @@ -236524,7 +235295,7 @@ index 2e0461fbff0c..2a26a8fd7c47 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 19 Jan 2023 16:46:32 +0000 -Subject: [PATCH 579/590] media: bcm2835-v4l2-codec: Enable selection ioctl for +Subject: [PATCH 570/717] media: bcm2835-v4l2-codec: Enable selection ioctl for ISP The ISP cases do nothing. Remove the break that separates them from the @@ -236564,7 +235335,7 @@ index 3fec9d2306fb..462a5f8644da 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 23 Jan 2023 16:50:51 +0000 -Subject: [PATCH 580/590] .github/workflows: Switch to a matrix build +Subject: [PATCH 571/717] .github/workflows: Switch to a matrix build Remove the per-build duplication by putting build parameters in a matrix. @@ -236908,7 +235679,7 @@ index 231fcc2a4601..9bfff5998f21 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Jan 2023 11:43:46 +0000 -Subject: [PATCH 581/590] configs: Enable the sht4x driver +Subject: [PATCH 572/717] configs: Enable the sht4x driver See: https://github.com/raspberrypi/linux/issues/5334 @@ -236988,7 +235759,7 @@ index 5ded73782d58..46b4ef4476f6 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Jan 2023 11:34:38 +0000 -Subject: [PATCH 582/590] overlays: i2c-sensor: Add SHT4X support +Subject: [PATCH 573/717] overlays: i2c-sensor: Add SHT4X support Add support for the Sensirion SHT4X temperature and humidity sensor. @@ -237070,7 +235841,7 @@ index d97cbf4b8547..52b08c68987a 100755 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Gow Date: Fri, 25 Nov 2022 16:43:04 +0800 -Subject: [PATCH 583/590] kunit: Provide a static key to check if KUnit is +Subject: [PATCH 574/717] kunit: Provide a static key to check if KUnit is actively running tests KUnit does a few expensive things when enabled. This hasn't been a @@ -237097,7 +235868,7 @@ Signed-off-by: Shuah Khan 2 files changed, 10 insertions(+) diff --git a/include/kunit/test.h b/include/kunit/test.h -index b1ab6b32216d..fe5632b5ca6a 100644 +index ebcdbddf8344..0011d34f4900 100644 --- a/include/kunit/test.h +++ b/include/kunit/test.h @@ -16,6 +16,7 @@ @@ -237153,7 +235924,7 @@ index 2a6992fe7c3e..6dd27657d855 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Gow Date: Fri, 25 Nov 2022 16:43:05 +0800 -Subject: [PATCH 584/590] kunit: Use the static key when retrieving the current +Subject: [PATCH 575/717] kunit: Use the static key when retrieving the current test In order to detect if a KUnit test is running, and to access its @@ -237335,7 +236106,7 @@ index 5fc58081d511..c1b2e14eab64 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 25 Jan 2023 12:38:37 +0100 -Subject: [PATCH 585/590] drm/vc4: hvs: Initialize the dlist allocation list +Subject: [PATCH 576/717] drm/vc4: hvs: Initialize the dlist allocation list entry The vc4_hvs_dlist_allocation structure has a list that we don't @@ -237352,7 +236123,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index bcb02f448144..9c8cea86d3f2 100644 +index ecb19422e2ac..c9c7b841385d 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -452,6 +452,8 @@ vc4_hvs_alloc_dlist_entry(struct vc4_hvs *hvs, @@ -237371,7 +236142,7 @@ index bcb02f448144..9c8cea86d3f2 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 25 Jan 2023 12:54:36 +0100 -Subject: [PATCH 586/590] drm/vc4: hvs: Move the dlist allocation destruction +Subject: [PATCH 577/717] drm/vc4: hvs: Move the dlist allocation destruction to a function We'll need to destroy a dlist allocation in multiple code paths, so @@ -237383,7 +236154,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index 9c8cea86d3f2..f49992bf707c 100644 +index c9c7b841385d..c39e44d53ea3 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -466,6 +466,18 @@ vc4_hvs_alloc_dlist_entry(struct vc4_hvs *hvs, @@ -237423,7 +236194,7 @@ index 9c8cea86d3f2..f49992bf707c 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Wed, 25 Jan 2023 13:05:26 +0100 -Subject: [PATCH 587/590] drm/vc4: hvs: Destroy dlist allocations immediately +Subject: [PATCH 578/717] drm/vc4: hvs: Destroy dlist allocations immediately when running a test When running a kunit test, the driver runs with a mock device. As such, @@ -237448,7 +236219,7 @@ Signed-off-by: Maxime Ripard 1 file changed, 12 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c -index f49992bf707c..f2706db3f1ee 100644 +index c39e44d53ea3..4d952f31cf40 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -490,6 +490,18 @@ void vc4_hvs_mark_dlist_entry_stale(struct vc4_hvs *hvs, @@ -237477,7 +236248,7 @@ index f49992bf707c..f2706db3f1ee 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Jan 2023 16:54:16 +0000 -Subject: [PATCH 588/590] ARM: dts: Set the LED default-state to "off" +Subject: [PATCH 579/717] ARM: dts: Set the LED default-state to "off" The default-state property for an LED determines the state of the LED when its trigger is set to "none". Many users expect that specifying a @@ -237785,7 +236556,7 @@ index ee6cbabba714..81e6cc67cffe 100644 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 589/590] README.md: Replace 6.0 build status with 6.2 +Subject: [PATCH 580/717] 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. --- @@ -237818,7 +236589,7 @@ index 605abc67589e..09fad0ca57dc 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Jan 2023 15:01:43 +0000 -Subject: [PATCH 590/590] .github/workflows: Retain artifacts for 90 days +Subject: [PATCH 581/717] .github/workflows: Retain artifacts for 90 days Signed-off-by: Phil Elwell --- @@ -237838,3 +236609,18664 @@ index 9bfff5998f21..87eb13939be6 100644 -- 2.39.1 + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Stanislav Zidek +Date: Thu, 26 Jan 2023 11:36:57 +0100 +Subject: [PATCH 582/717] configs: add CONFIG_DM_INTEGRITY=m + +This is necessary for volumes with integrity protection, both with and +without DM_CRYPT. + +Signed-off-by: Stanislav Zidek +--- + 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 4b1f46c9e9e6..3b0eb0ca520a 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -476,6 +476,7 @@ CONFIG_DM_RAID=m + CONFIG_DM_ZERO=m + CONFIG_DM_MULTIPATH=m + CONFIG_DM_DELAY=m ++CONFIG_DM_INTEGRITY=m + CONFIG_NETDEVICES=y + CONFIG_BONDING=m + CONFIG_DUMMY=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index d31636cfb8dc..690c267e2f74 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -488,6 +488,7 @@ CONFIG_DM_RAID=m + CONFIG_DM_ZERO=m + CONFIG_DM_MULTIPATH=m + CONFIG_DM_DELAY=m ++CONFIG_DM_INTEGRITY=m + CONFIG_NETDEVICES=y + CONFIG_BONDING=m + CONFIG_DUMMY=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index fa7e0f6429d2..80befc37b5c2 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -471,6 +471,7 @@ CONFIG_DM_RAID=m + CONFIG_DM_ZERO=m + CONFIG_DM_MULTIPATH=m + CONFIG_DM_DELAY=m ++CONFIG_DM_INTEGRITY=m + CONFIG_NETDEVICES=y + CONFIG_BONDING=m + CONFIG_DUMMY=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 55e60829faed..d9caeb60dfd4 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -492,6 +492,7 @@ CONFIG_DM_RAID=m + CONFIG_DM_ZERO=m + CONFIG_DM_MULTIPATH=m + CONFIG_DM_DELAY=m ++CONFIG_DM_INTEGRITY=m + CONFIG_NETDEVICES=y + CONFIG_BONDING=m + CONFIG_DUMMY=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 46b4ef4476f6..3310fcf694ac 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -473,6 +473,7 @@ CONFIG_DM_RAID=m + CONFIG_DM_ZERO=m + CONFIG_DM_MULTIPATH=m + CONFIG_DM_DELAY=m ++CONFIG_DM_INTEGRITY=m + CONFIG_NETDEVICES=y + CONFIG_BONDING=m + CONFIG_DUMMY=m +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 30 Jan 2023 09:57:16 +0000 +Subject: [PATCH 583/717] configs: Add MTD_SPI_NAND=m + +See: https://github.com/raspberrypi/linux/issues/5338 + +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 3b0eb0ca520a..1ce8985725b4 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -441,6 +441,7 @@ CONFIG_RASPBERRYPI_FIRMWARE=y + CONFIG_MTD=m + CONFIG_MTD_BLOCK=m + CONFIG_MTD_BLOCK2MTD=m ++CONFIG_MTD_SPI_NAND=m + CONFIG_MTD_SPI_NOR=m + CONFIG_MTD_UBI=m + CONFIG_OF_CONFIGFS=y +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 690c267e2f74..2c78621a8d1f 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -448,6 +448,7 @@ CONFIG_RASPBERRYPI_FIRMWARE=y + CONFIG_MTD=m + CONFIG_MTD_BLOCK=m + CONFIG_MTD_BLOCK2MTD=m ++CONFIG_MTD_SPI_NAND=m + CONFIG_MTD_SPI_NOR=m + CONFIG_MTD_UBI=m + CONFIG_OF_CONFIGFS=y +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 80befc37b5c2..a86b357a91a8 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -436,6 +436,7 @@ CONFIG_RASPBERRYPI_FIRMWARE=y + CONFIG_MTD=m + CONFIG_MTD_BLOCK=m + CONFIG_MTD_BLOCK2MTD=m ++CONFIG_MTD_SPI_NAND=m + CONFIG_MTD_SPI_NOR=m + CONFIG_MTD_UBI=m + CONFIG_OF_CONFIGFS=y +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index d9caeb60dfd4..8b877f4b333f 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -452,6 +452,7 @@ CONFIG_RASPBERRYPI_FIRMWARE=y + CONFIG_MTD=m + CONFIG_MTD_BLOCK=m + CONFIG_MTD_BLOCK2MTD=m ++CONFIG_MTD_SPI_NAND=m + CONFIG_MTD_SPI_NOR=m + CONFIG_MTD_UBI=m + CONFIG_OF_CONFIGFS=y +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 3310fcf694ac..1fd2d7bffe68 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -439,6 +439,7 @@ CONFIG_RASPBERRYPI_FIRMWARE=y + # CONFIG_EFI_VARS_PSTORE is not set + CONFIG_MTD=m + CONFIG_MTD_BLOCK=m ++CONFIG_MTD_SPI_NAND=m + CONFIG_MTD_UBI=m + CONFIG_OF_CONFIGFS=y + CONFIG_ZRAM=m +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Cox +Date: Mon, 30 Jan 2023 16:34:55 +0000 +Subject: [PATCH 584/717] media: bcm2835-v4l2-codec: Add profile & level ctrls + to decode + +In order to support discovery of what profile & levels are supported by +stateful decoders implement the profile and level controls where they +are defined by V4L2. + +Signed-off-by: John Cox +--- + .../bcm2835-codec/bcm2835-v4l2-codec.c | 86 ++++++++++++++++++- + 1 file changed, 85 insertions(+), 1 deletion(-) + +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 462a5f8644da..f25c5c70861d 100644 +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -3195,6 +3195,89 @@ static int queue_init(void *priv, struct vb2_queue *src_vq, + return vb2_queue_init(dst_vq); + } + ++static void dec_add_profile_ctrls(struct bcm2835_codec_dev *const dev, ++ struct v4l2_ctrl_handler *const hdl) ++{ ++ unsigned int i; ++ const struct bcm2835_codec_fmt_list *const list = &dev->supported_fmts[0]; ++ ++ for (i = 0; i < list->num_entries; ++i) { ++ switch (list->list[i].fourcc) { ++ case V4L2_PIX_FMT_H264: ++ v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_H264_LEVEL, ++ V4L2_MPEG_VIDEO_H264_LEVEL_4_2, ++ ~(BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_2) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_3) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_0) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_1) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_2) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_0) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_1) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_2) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_0) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_1) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2)), ++ V4L2_MPEG_VIDEO_H264_LEVEL_4_0); ++ v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_H264_PROFILE, ++ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH, ++ ~(BIT(V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE) | ++ BIT(V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE) | ++ BIT(V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) | ++ BIT(V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)), ++ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH); ++ break; ++ case V4L2_PIX_FMT_MPEG2: ++ v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL, ++ V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH, ++ ~(BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW) | ++ BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN) | ++ BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440) | ++ BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH)), ++ V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN); ++ v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE, ++ V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN, ++ ~(BIT(V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE) | ++ BIT(V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN)), ++ V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN); ++ break; ++ case V4L2_PIX_FMT_MPEG4: ++ v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL, ++ V4L2_MPEG_VIDEO_MPEG4_LEVEL_5, ++ ~(BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_0) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_1) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_2) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_3) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_4) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_5)), ++ V4L2_MPEG_VIDEO_MPEG4_LEVEL_4); ++ v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE, ++ V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE, ++ ~(BIT(V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE)), ++ V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE); ++ break; ++ /* No profiles defined by V4L2 */ ++ case V4L2_PIX_FMT_H263: ++ case V4L2_PIX_FMT_JPEG: ++ case V4L2_PIX_FMT_MJPEG: ++ case V4L2_PIX_FMT_VC1_ANNEX_G: ++ default: ++ break; ++ } ++ } ++} ++ + /* + * File operations + */ +@@ -3334,11 +3417,12 @@ static int bcm2835_codec_open(struct file *file) + break; + case DECODE: + { +- v4l2_ctrl_handler_init(hdl, 1); ++ v4l2_ctrl_handler_init(hdl, 1 + dev->supported_fmts[0].num_entries * 2); + + v4l2_ctrl_new_std(hdl, &bcm2835_codec_ctrl_ops, + V4L2_CID_MIN_BUFFERS_FOR_CAPTURE, + 1, 1, 1, 1); ++ dec_add_profile_ctrls(dev, hdl); + if (hdl->error) { + rc = hdl->error; + goto free_ctrl_handler; +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dom Cobley +Date: Tue, 31 Jan 2023 15:14:32 +0000 +Subject: [PATCH 585/717] drm/vc4_plane: Add support for YUV444 formats + +Support displaying DRM_FORMAT_YUV444 and DRM_FORMAT_YVU444 formats. +Tested with kmstest and kodi. e.g. + +kmstest -r 1920x1080@60 -f 400x300-YU24 + +Note: without the shift of width, only half the chroma is fetched, +resulting in correct left half of image and corrupt colours on right half. + +The increase in width shouldn't affect fetching of Y data, +as the hardware will clamp at dest width. + +Signed-off-by: Dom Cobley +--- + drivers/gpu/drm/vc4/vc4_plane.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c +index 6432055454ac..14757be7207b 100644 +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -109,6 +109,18 @@ static const struct hvs_format { + .pixel_order = HVS_PIXEL_ORDER_XYCRCB, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCRCB, + }, ++ { ++ .drm = DRM_FORMAT_YUV444, ++ .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_3PLANE, ++ .pixel_order = HVS_PIXEL_ORDER_XYCBCR, ++ .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCBCR, ++ }, ++ { ++ .drm = DRM_FORMAT_YVU444, ++ .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_3PLANE, ++ .pixel_order = HVS_PIXEL_ORDER_XYCRCB, ++ .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCRCB, ++ }, + { + .drm = DRM_FORMAT_YUV420, + .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_3PLANE, +@@ -1106,6 +1118,10 @@ static int vc4_plane_mode_set(struct drm_plane *plane, + vc4_state->src_y + vc4_state->src_h[0] < (state->fb->height << 16)) + height++; + ++ /* for YUV444 hardware wants double the width, otherwise it doesn't fetch full width of chroma */ ++ if (format->drm == DRM_FORMAT_YUV444 || format->drm == DRM_FORMAT_YVU444) ++ width <<= 1; ++ + /* Don't waste cycles mixing with plane alpha if the set alpha + * is opaque or there is no per-pixel alpha information. + * In any case we use the alpha property value as the fixed alpha. +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Sat, 14 Jan 2023 16:24:39 +0100 +Subject: [PATCH 586/717] drm/vc4: Calculate bpc based on max_requested_bpc + +This aligns vc4 with Intel, AMD and Synopsis drivers and fixes max bpc +connector property not working as expected on monitors with YCbCr 4:2:2 +support but not deep color support. + +max_bpc in connector state is clamped at max_bpc from display info and +the latter only takes deep color modes into account so it will always +be 8, even if the display can do 4:2:2 12-bit output. + +Signed-off-by: Matthias Reichl +--- + 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 914afb1e28f4..bd762b4e3e8f 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2156,7 +2156,7 @@ vc4_hdmi_encoder_compute_config(const struct vc4_hdmi *vc4_hdmi, + { + struct drm_device *dev = vc4_hdmi->connector.dev; + struct drm_connector_state *conn_state = &vc4_state->base; +- unsigned int max_bpc = clamp_t(unsigned int, conn_state->max_bpc, 8, 12); ++ unsigned int max_bpc = clamp_t(unsigned int, conn_state->max_requested_bpc, 8, 12); + unsigned int bpc; + int ret; + +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Yassine Oudjana +Date: Fri, 9 Dec 2022 17:37:39 +0300 +Subject: [PATCH 587/717] media: dt-bindings: ak7375: Convert to DT schema + +commit 6d801f89ad7c485bbb14c0138d991beebd307aa6 upstream + +Convert DT bindings document for AKM AK7375 VCM to DT schema +format and add an example. + +Signed-off-by: Yassine Oudjana +Reviewed-by: Krzysztof Kozlowski +Tested-by: Umang Jain +--- + .../devicetree/bindings/media/i2c/ak7375.txt | 8 ---- + .../media/i2c/asahi-kasei,ak7375.yaml | 41 +++++++++++++++++++ + MAINTAINERS | 2 +- + 3 files changed, 42 insertions(+), 9 deletions(-) + delete mode 100644 Documentation/devicetree/bindings/media/i2c/ak7375.txt + create mode 100644 Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml + +diff --git a/Documentation/devicetree/bindings/media/i2c/ak7375.txt b/Documentation/devicetree/bindings/media/i2c/ak7375.txt +deleted file mode 100644 +index aa3e24b41241..000000000000 +--- a/Documentation/devicetree/bindings/media/i2c/ak7375.txt ++++ /dev/null +@@ -1,8 +0,0 @@ +-Asahi Kasei Microdevices AK7375 voice coil lens driver +- +-AK7375 is a camera voice coil lens. +- +-Mandatory properties: +- +-- compatible: "asahi-kasei,ak7375" +-- reg: I2C slave address +diff --git a/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml b/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml +new file mode 100644 +index 000000000000..22b1251b16ee +--- /dev/null ++++ b/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml +@@ -0,0 +1,41 @@ ++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) ++%YAML 1.2 ++--- ++$id: http://devicetree.org/schemas/media/i2c/asahi-kasei,ak7375.yaml# ++$schema: http://devicetree.org/meta-schemas/core.yaml# ++ ++title: Asahi Kasei Microdevices AK7375 voice coil lens actuator ++ ++maintainers: ++ - Tianshu Qiu ++ ++description: ++ AK7375 is a voice coil motor (VCM) camera lens actuator that ++ is controlled over I2C. ++ ++properties: ++ compatible: ++ const: asahi-kasei,ak7375 ++ ++ reg: ++ maxItems: 1 ++ ++required: ++ - compatible ++ - reg ++ ++additionalProperties: false ++ ++examples: ++ - | ++ i2c { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ ak7375: camera-lens@c { ++ compatible = "asahi-kasei,ak7375"; ++ reg = <0x0c>; ++ }; ++ }; ++ ++... +diff --git a/MAINTAINERS b/MAINTAINERS +index ef8a027faeeb..548ca27e4565 100644 +--- a/MAINTAINERS ++++ b/MAINTAINERS +@@ -3173,7 +3173,7 @@ M: Tianshu Qiu + L: linux-media@vger.kernel.org + S: Maintained + T: git git://linuxtv.org/media_tree.git +-F: Documentation/devicetree/bindings/media/i2c/ak7375.txt ++F: Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml + F: drivers/media/i2c/ak7375.c + + ASAHI KASEI AK8974 DRIVER +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Yassine Oudjana +Date: Fri, 9 Dec 2022 17:37:40 +0300 +Subject: [PATCH 588/717] media: dt-bindings: ak7375: Add supplies + +commit 04a79f078329b14f260db15250e84c97022f42cd upstream + +Add supply properties to describe regulators needed to power +the AK7375 VCM. + +Signed-off-by: Yassine Oudjana +Acked-by: Krzysztof Kozlowski +Tested-by: Umang Jain +--- + .../bindings/media/i2c/asahi-kasei,ak7375.yaml | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml b/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml +index 22b1251b16ee..22a810fc7222 100644 +--- a/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml ++++ b/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml +@@ -20,9 +20,17 @@ properties: + reg: + maxItems: 1 + ++ vdd-supply: ++ description: VDD supply ++ ++ vio-supply: ++ description: I/O pull-up supply ++ + required: + - compatible + - reg ++ - vdd-supply ++ - vio-supply + + additionalProperties: false + +@@ -35,6 +43,9 @@ examples: + ak7375: camera-lens@c { + compatible = "asahi-kasei,ak7375"; + reg = <0x0c>; ++ ++ vdd-supply = <&vreg_l23a_2p8>; ++ vio-supply = <&vreg_lvs1a_1p8>; + }; + }; + +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Yassine Oudjana +Date: Fri, 9 Dec 2022 17:37:41 +0300 +Subject: [PATCH 589/717] media: i2c: ak7375: Add regulator management + +commit 90f7e76eac50c1ae54a445abc6a286837ade46cf upstream + +Make the driver get needed regulators on probe and enable/disable +them on runtime PM callbacks. + +Signed-off-by: Yassine Oudjana +Tested-by: Umang Jain +--- + drivers/media/i2c/ak7375.c | 38 ++++++++++++++++++++++++++++++++++++++ + 1 file changed, 38 insertions(+) + +diff --git a/drivers/media/i2c/ak7375.c b/drivers/media/i2c/ak7375.c +index 1af9f698eecf..e7cec45bc271 100644 +--- a/drivers/media/i2c/ak7375.c ++++ b/drivers/media/i2c/ak7375.c +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -23,17 +24,29 @@ + */ + #define AK7375_CTRL_STEPS 64 + #define AK7375_CTRL_DELAY_US 1000 ++/* ++ * The vcm may take up 10 ms (tDELAY) to power on and start taking ++ * I2C messages. Based on AK7371 datasheet. ++ */ ++#define AK7375_POWER_DELAY_US 10000 + + #define AK7375_REG_POSITION 0x0 + #define AK7375_REG_CONT 0x2 + #define AK7375_MODE_ACTIVE 0x0 + #define AK7375_MODE_STANDBY 0x40 + ++static const char * const ak7375_supply_names[] = { ++ "vdd", ++ "vio", ++}; ++ + /* ak7375 device structure */ + struct ak7375_device { + struct v4l2_ctrl_handler ctrls_vcm; + struct v4l2_subdev sd; + struct v4l2_ctrl *focus; ++ struct regulator_bulk_data supplies[ARRAY_SIZE(ak7375_supply_names)]; ++ + /* active or standby mode */ + bool active; + }; +@@ -133,12 +146,24 @@ static int ak7375_probe(struct i2c_client *client) + { + struct ak7375_device *ak7375_dev; + int ret; ++ unsigned int i; + + ak7375_dev = devm_kzalloc(&client->dev, sizeof(*ak7375_dev), + GFP_KERNEL); + if (!ak7375_dev) + return -ENOMEM; + ++ for (i = 0; i < ARRAY_SIZE(ak7375_supply_names); i++) ++ ak7375_dev->supplies[i].supply = ak7375_supply_names[i]; ++ ++ ret = devm_regulator_bulk_get(&client->dev, ++ ARRAY_SIZE(ak7375_supply_names), ++ ak7375_dev->supplies); ++ if (ret) { ++ dev_err_probe(&client->dev, ret, "Failed to get regulators\n"); ++ return ret; ++ } ++ + v4l2_i2c_subdev_init(&ak7375_dev->sd, client, &ak7375_ops); + ak7375_dev->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; + ak7375_dev->sd.internal_ops = &ak7375_int_ops; +@@ -208,6 +233,11 @@ static int __maybe_unused ak7375_vcm_suspend(struct device *dev) + if (ret) + dev_err(dev, "%s I2C failure: %d\n", __func__, ret); + ++ ret = regulator_bulk_disable(ARRAY_SIZE(ak7375_supply_names), ++ ak7375_dev->supplies); ++ if (ret) ++ return ret; ++ + ak7375_dev->active = false; + + return 0; +@@ -228,6 +258,14 @@ static int __maybe_unused ak7375_vcm_resume(struct device *dev) + if (ak7375_dev->active) + return 0; + ++ ret = regulator_bulk_enable(ARRAY_SIZE(ak7375_supply_names), ++ ak7375_dev->supplies); ++ if (ret) ++ return ret; ++ ++ /* Wait for vcm to become ready */ ++ usleep_range(AK7375_POWER_DELAY_US, AK7375_POWER_DELAY_US + 500); ++ + ret = ak7375_i2c_write(ak7375_dev, AK7375_REG_CONT, + AK7375_MODE_ACTIVE, 1); + if (ret) { +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Lee Jackson +Date: Fri, 17 Feb 2023 10:36:29 +0800 +Subject: [PATCH 590/717] configs: Add CONFIG_VIDEO_AK7375=m + +Include the driver module for the AK7375. + +Signed-off-by: Lee Jackson +--- + 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 1ce8985725b4..59e9cdb16813 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -930,6 +930,7 @@ CONFIG_VIDEO_OV5647=m + CONFIG_VIDEO_OV7251=m + CONFIG_VIDEO_OV7640=m + CONFIG_VIDEO_AD5398=m ++CONFIG_VIDEO_AK7375=m + CONFIG_VIDEO_DW9807_VCM=m + CONFIG_VIDEO_SONY_BTF_MPX=m + CONFIG_VIDEO_UDA1342=m +diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig +index 2c78621a8d1f..28245b94f440 100644 +--- a/arch/arm/configs/bcm2711_defconfig ++++ b/arch/arm/configs/bcm2711_defconfig +@@ -948,6 +948,7 @@ CONFIG_VIDEO_OV5647=m + CONFIG_VIDEO_OV7251=m + CONFIG_VIDEO_OV7640=m + CONFIG_VIDEO_AD5398=m ++CONFIG_VIDEO_AK7375=m + CONFIG_VIDEO_DW9807_VCM=m + CONFIG_VIDEO_SONY_BTF_MPX=m + CONFIG_VIDEO_UDA1342=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index a86b357a91a8..2c10329939b1 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -924,6 +924,7 @@ CONFIG_VIDEO_OV5647=m + CONFIG_VIDEO_OV7251=m + CONFIG_VIDEO_OV7640=m + CONFIG_VIDEO_AD5398=m ++CONFIG_VIDEO_AK7375=m + CONFIG_VIDEO_DW9807_VCM=m + CONFIG_VIDEO_SONY_BTF_MPX=m + CONFIG_VIDEO_UDA1342=m +diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig +index 8b877f4b333f..5b82d64ea2f4 100644 +--- a/arch/arm64/configs/bcm2711_defconfig ++++ b/arch/arm64/configs/bcm2711_defconfig +@@ -960,6 +960,7 @@ CONFIG_VIDEO_OV5647=m + CONFIG_VIDEO_OV7251=m + CONFIG_VIDEO_OV7640=m + CONFIG_VIDEO_AD5398=m ++CONFIG_VIDEO_AK7375=m + CONFIG_VIDEO_DW9807_VCM=m + CONFIG_VIDEO_SONY_BTF_MPX=m + CONFIG_VIDEO_UDA1342=m +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index 1fd2d7bffe68..a3c5c072872f 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -898,6 +898,7 @@ CONFIG_VIDEO_OV5647=m + CONFIG_VIDEO_OV7251=m + CONFIG_VIDEO_OV7640=m + CONFIG_VIDEO_AD5398=m ++CONFIG_VIDEO_AK7375=m + CONFIG_VIDEO_DW9807_VCM=m + CONFIG_VIDEO_SONY_BTF_MPX=m + CONFIG_VIDEO_UDA1342=m +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Lee Jackson +Date: Mon, 20 Feb 2023 10:25:33 +0800 +Subject: [PATCH 591/717] dtoverlays: Add VCM option to imx519 + +VCM is enabled by default, but you can use 'vcm=off' to disable VCM support. + +Signed-off-by: Lee Jackson +--- + arch/arm/boot/dts/overlays/README | 2 + + arch/arm/boot/dts/overlays/imx519-overlay.dts | 61 +++++++++---------- + arch/arm/boot/dts/overlays/imx519.dtsi | 34 +++++++++++ + 3 files changed, 65 insertions(+), 32 deletions(-) + create mode 100644 arch/arm/boot/dts/overlays/imx519.dtsi + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index f4db53efa636..fbff87b1f5de 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -2384,6 +2384,8 @@ Params: rotation Mounting rotation of the camera sensor (0 or + configuring the sensor (default on) + cam0 Adopt the default configuration for CAM0 on a + Compute Module (CSI0, i2c_vc, and cam0_reg). ++ vcm Select lens driver state. Default is enabled, ++ but vcm=off will disable. + + + Name: imx708 +diff --git a/arch/arm/boot/dts/overlays/imx519-overlay.dts b/arch/arm/boot/dts/overlays/imx519-overlay.dts +index ada1224dd19b..d43623cfbe47 100644 +--- a/arch/arm/boot/dts/overlays/imx519-overlay.dts ++++ b/arch/arm/boot/dts/overlays/imx519-overlay.dts +@@ -15,32 +15,7 @@ __overlay__ { + #size-cells = <0>; + status = "okay"; + +- imx519: imx519@1a { +- compatible = "sony,imx519"; +- reg = <0x1a>; +- status = "okay"; +- +- clocks = <&cam1_clk>; +- clock-names = "xclk"; +- +- VANA-supply = <&cam1_reg>; /* 2.8v */ +- VDIG-supply = <&cam_dummy_reg>; /* 1.8v */ +- VDDL-supply = <&cam_dummy_reg>; /* 1.2v */ +- +- rotation = <0>; +- orientation = <2>; +- +- port { +- imx519_0: endpoint { +- remote-endpoint = <&csi1_ep>; +- clock-lanes = <0>; +- data-lanes = <1 2>; +- clock-noncontinuous; +- link-frequencies = +- /bits/ 64 <493500000>; +- }; +- }; +- }; ++ #include "imx519.dtsi" + }; + }; + +@@ -51,8 +26,8 @@ csi: __overlay__ { + brcm,media-controller; + + port{ +- csi1_ep: endpoint{ +- remote-endpoint = <&imx519_0>; ++ csi_ep: endpoint{ ++ remote-endpoint = <&cam_endpoint>; + clock-lanes = <0>; + data-lanes = <1 2>; + clock-noncontinuous; +@@ -83,14 +58,36 @@ __overlay__ { + }; + }; + ++ fragment@5 { ++ target = <&cam_node>; ++ __overlay__ { ++ lens-focus = <&vcm_node>; ++ }; ++ }; ++ + __overrides__ { +- rotation = <&imx519>,"rotation:0"; +- orientation = <&imx519>,"orientation:0"; ++ 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>, +- <&imx519>, "clocks:0=",<&cam0_clk>, +- <&imx519>, "VANA-supply:0=",<&cam0_reg>; ++ <&cam_node>, "clocks:0=",<&cam0_clk>, ++ <&cam_node>, "VANA-supply:0=",<&cam0_reg>, ++ <&vcm_node>, "vdd-supply:0=",<&cam0_reg>; ++ vcm = <&vcm_node>, "status", ++ <0>, "=5"; + }; + }; ++ ++&cam_node { ++ status = "okay"; ++}; ++ ++&cam_endpoint { ++ remote-endpoint = <&csi_ep>; ++}; ++ ++&vcm_node { ++ status = "okay"; ++}; +diff --git a/arch/arm/boot/dts/overlays/imx519.dtsi b/arch/arm/boot/dts/overlays/imx519.dtsi +new file mode 100644 +index 000000000000..1f240b6dd985 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/imx519.dtsi +@@ -0,0 +1,34 @@ ++// Fragment that configures a Sony IMX519 ++ ++cam_node: imx519@1a { ++ compatible = "sony,imx519"; ++ reg = <0x1a>; ++ status = "disabled"; ++ ++ clocks = <&cam1_clk>; ++ clock-names = "xclk"; ++ ++ VANA-supply = <&cam1_reg>; /* 2.8v */ ++ VDIG-supply = <&cam_dummy_reg>; /* 1.8v */ ++ VDDL-supply = <&cam_dummy_reg>; /* 1.2v */ ++ ++ rotation = <0>; ++ orientation = <2>; ++ ++ port { ++ cam_endpoint: endpoint { ++ clock-lanes = <0>; ++ data-lanes = <1 2>; ++ clock-noncontinuous; ++ link-frequencies = ++ /bits/ 64 <493500000>; ++ }; ++ }; ++}; ++ ++vcm_node: ak7375@c { ++ compatible = "asahi-kasei,ak7375"; ++ reg = <0x0c>; ++ status = "disabled"; ++ vdd-supply = <&cam1_reg>; ++}; +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Lee Jackson +Date: Fri, 24 Feb 2023 08:33:34 +0800 +Subject: [PATCH 592/717] dtoverlays: Add IMX519 support to camera mux overlays + +Signed-off-by: Lee Jackson +--- + arch/arm/boot/dts/overlays/README | 6 ++ + .../dts/overlays/camera-mux-2port-overlay.dts | 32 ++++++++++ + .../dts/overlays/camera-mux-4port-overlay.dts | 64 +++++++++++++++++++ + 3 files changed, 102 insertions(+) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index fbff87b1f5de..c9eb532f1457 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-imx519 Select IMX519 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 +@@ -726,6 +727,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-imx519 Select IMX519 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 +@@ -743,6 +745,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-imx519 Select IMX519 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 +@@ -753,6 +756,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-imx519 Select IMX519 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 +@@ -763,6 +767,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-imx519 Select IMX519 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 +@@ -773,6 +778,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-imx519 Select IMX519 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 +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 705c7ee2221d..95198d645ae8 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 imx519_0 ++ #define cam_endpoint imx519_0_ep ++ #define vcm_node imx519_0_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx519.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx708_0 + #define cam_endpoint imx708_0_ep + #define vcm_node imx708_0_vcm +@@ -192,6 +202,16 @@ i2c@1 { + #undef cam_endpoint + #undef cam1_clk + ++ #define cam_node imx519_1 ++ #define cam_endpoint imx519_1_ep ++ #define vcm_node imx519_1_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx519.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx708_1 + #define cam_endpoint imx708_1_ep + #define vcm_node imx708_1_vcm +@@ -373,6 +393,12 @@ __overrides__ { + <&imx477_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&mux_in0>, "clock-noncontinuous?", + <&imx477_0>, "status=okay"; ++ cam0-imx519 = <&mux_in0>, "remote-endpoint:0=",<&imx519_0_ep>, ++ <&imx519_0_ep>, "remote-endpoint:0=",<&mux_in0>, ++ <&mux_in0>, "clock-noncontinuous?", ++ <&imx519_0>, "status=okay", ++ <&imx519_0_vcm>, "status=okay", ++ <&imx519_0>,"lens-focus:0=", <&imx519_0_vcm>; + cam0-imx708 = <&mux_in0>, "remote-endpoint:0=",<&imx708_0_ep>, + <&imx708_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&mux_in0>, "clock-noncontinuous?", +@@ -407,6 +433,12 @@ __overrides__ { + <&imx477_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&mux_in1>, "clock-noncontinuous?", + <&imx477_1>, "status=okay"; ++ cam1-imx519 = <&mux_in1>, "remote-endpoint:0=",<&imx519_1_ep>, ++ <&imx519_1_ep>, "remote-endpoint:0=",<&mux_in1>, ++ <&mux_in1>, "clock-noncontinuous?", ++ <&imx519_1>, "status=okay", ++ <&imx519_1_vcm>, "status=okay", ++ <&imx519_1>,"lens-focus:0=", <&imx519_1_vcm>; + cam1-imx708 = <&mux_in1>, "remote-endpoint:0=",<&imx708_1_ep>, + <&imx708_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&mux_in1>, "clock-noncontinuous?", +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 222fda6c8221..24d7c86eadc8 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 imx519_0 ++ #define cam_endpoint imx519_0_ep ++ #define vcm_node imx519_0_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx519.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx708_0 + #define cam_endpoint imx708_0_ep + #define vcm_node imx708_0_vcm +@@ -250,6 +260,16 @@ i2c@1 { + #undef cam_endpoint + #undef cam1_clk + ++ #define cam_node imx519_1 ++ #define cam_endpoint imx519_1_ep ++ #define vcm_node imx519_1_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx519.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx708_1 + #define cam_endpoint imx708_1_ep + #define vcm_node imx708_1_vcm +@@ -330,6 +350,16 @@ i2c@2 { + #undef cam_endpoint + #undef cam1_clk + ++ #define cam_node imx519_2 ++ #define cam_endpoint imx519_2_ep ++ #define vcm_node imx519_2_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx519.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx708_2 + #define cam_endpoint imx708_2_ep + #define vcm_node imx708_2_vcm +@@ -410,6 +440,16 @@ i2c@3 { + #undef cam_endpoint + #undef cam1_clk + ++ #define cam_node imx519_3 ++ #define cam_endpoint imx519_3_ep ++ #define vcm_node imx519_3_vcm ++ #define cam1_clk clk_24mhz ++ #include "imx519.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx708_3 + #define cam_endpoint imx708_3_ep + #define vcm_node imx708_3_vcm +@@ -608,6 +648,12 @@ __overrides__ { + <&imx477_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&mux_in0>, "clock-noncontinuous?", + <&imx477_0>, "status=okay"; ++ cam0-imx519 = <&mux_in0>, "remote-endpoint:0=",<&imx519_0_ep>, ++ <&imx519_0_ep>, "remote-endpoint:0=",<&mux_in0>, ++ <&mux_in0>, "clock-noncontinuous?", ++ <&imx519_0>, "status=okay", ++ <&imx519_0_vcm>, "status=okay", ++ <&imx519_0>,"lens-focus:0=", <&imx519_0_vcm>; + cam0-imx708 = <&mux_in0>, "remote-endpoint:0=",<&imx708_0_ep>, + <&imx708_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&mux_in0>, "clock-noncontinuous?", +@@ -642,6 +688,12 @@ __overrides__ { + <&imx477_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&mux_in1>, "clock-noncontinuous?", + <&imx477_1>, "status=okay"; ++ cam1-imx519 = <&mux_in1>, "remote-endpoint:0=",<&imx519_1_ep>, ++ <&imx519_1_ep>, "remote-endpoint:0=",<&mux_in1>, ++ <&mux_in1>, "clock-noncontinuous?", ++ <&imx519_1>, "status=okay", ++ <&imx519_1_vcm>, "status=okay", ++ <&imx519_1>,"lens-focus:0=", <&imx519_1_vcm>; + cam1-imx708 = <&mux_in1>, "remote-endpoint:0=",<&imx708_1_ep>, + <&imx708_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&mux_in1>, "clock-noncontinuous?", +@@ -676,6 +728,12 @@ __overrides__ { + <&imx477_2_ep>, "remote-endpoint:0=",<&mux_in2>, + <&mux_in2>, "clock-noncontinuous?", + <&imx477_2>, "status=okay"; ++ cam2-imx519 = <&mux_in2>, "remote-endpoint:0=",<&imx519_2_ep>, ++ <&imx519_2_ep>, "remote-endpoint:0=",<&mux_in2>, ++ <&mux_in2>, "clock-noncontinuous?", ++ <&imx519_2>, "status=okay", ++ <&imx519_2_vcm>, "status=okay", ++ <&imx519_2>,"lens-focus:0=", <&imx519_2_vcm>; + cam2-imx708 = <&mux_in2>, "remote-endpoint:0=",<&imx708_2_ep>, + <&imx708_2_ep>, "remote-endpoint:0=",<&mux_in2>, + <&mux_in2>, "clock-noncontinuous?", +@@ -710,6 +768,12 @@ __overrides__ { + <&imx477_3_ep>, "remote-endpoint:0=",<&mux_in3>, + <&mux_in3>, "clock-noncontinuous?", + <&imx477_3>, "status=okay"; ++ cam3-imx519 = <&mux_in3>, "remote-endpoint:0=",<&imx519_3_ep>, ++ <&imx519_3_ep>, "remote-endpoint:0=",<&mux_in3>, ++ <&mux_in3>, "clock-noncontinuous?", ++ <&imx519_3>, "status=okay", ++ <&imx519_3_vcm>, "status=okay", ++ <&imx519_3>,"lens-focus:0=", <&imx519_3_vcm>; + cam3-imx708 = <&mux_in3>, "remote-endpoint:0=",<&imx708_3_ep>, + <&imx708_3_ep>, "remote-endpoint:0=",<&mux_in3>, + <&mux_in3>, "clock-noncontinuous?", +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 14 Feb 2023 15:35:43 +0000 +Subject: [PATCH 593/717] vc04_services: bcm2835_codec: Ignore READ_ONLY ctrls + in s_ctrl + +In adding the MPEG2/MPEG4/H264 level and profile controls to +the decoder, they weren't declared as read-only, nor handlers +added to bcm2835_codec_s_ctrl. That resulted in an error message +"Invalid control" being logged every time v4l2_ctrl_handler_setup +was called from bcm2835_codec_create_component. + +Define those controls as read only, and exit early from s_ctrl +on read only controls. + +Fixes: "media: bcm2835-v4l2-codec: Add profile & level ctrls to decode" +Signed-off-by: Dave Stevenson +--- + .../bcm2835-codec/bcm2835-v4l2-codec.c | 127 ++++++++++-------- + 1 file changed, 68 insertions(+), 59 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 f25c5c70861d..cd766f805009 100644 +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -2224,6 +2224,9 @@ static int bcm2835_codec_s_ctrl(struct v4l2_ctrl *ctrl) + container_of(ctrl->handler, struct bcm2835_codec_ctx, hdl); + int ret = 0; + ++ if (ctrl->flags & V4L2_CTRL_FLAG_READ_ONLY) ++ return 0; ++ + switch (ctrl->id) { + case V4L2_CID_MPEG_VIDEO_BITRATE: + ctx->bitrate = ctrl->val; +@@ -2376,7 +2379,7 @@ static int bcm2835_codec_s_ctrl(struct v4l2_ctrl *ctrl) + break; + + default: +- v4l2_err(&ctx->dev->v4l2_dev, "Invalid control\n"); ++ v4l2_err(&ctx->dev->v4l2_dev, "Invalid control %08x\n", ctrl->id); + return -EINVAL; + } + +@@ -3198,74 +3201,80 @@ static int queue_init(void *priv, struct vb2_queue *src_vq, + static void dec_add_profile_ctrls(struct bcm2835_codec_dev *const dev, + struct v4l2_ctrl_handler *const hdl) + { ++ struct v4l2_ctrl *ctrl; + unsigned int i; + const struct bcm2835_codec_fmt_list *const list = &dev->supported_fmts[0]; + + for (i = 0; i < list->num_entries; ++i) { + switch (list->list[i].fourcc) { + case V4L2_PIX_FMT_H264: +- v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, +- V4L2_CID_MPEG_VIDEO_H264_LEVEL, +- V4L2_MPEG_VIDEO_H264_LEVEL_4_2, +- ~(BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_2) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_3) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_0) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_1) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_2) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_0) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_1) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_2) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_0) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_1) | +- BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2)), +- V4L2_MPEG_VIDEO_H264_LEVEL_4_0); +- v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, +- V4L2_CID_MPEG_VIDEO_H264_PROFILE, +- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH, +- ~(BIT(V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE) | +- BIT(V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE) | +- BIT(V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) | +- BIT(V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)), +- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH); ++ ctrl = v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_H264_LEVEL, ++ V4L2_MPEG_VIDEO_H264_LEVEL_4_2, ++ ~(BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_2) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_3) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_0) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_1) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_2) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_0) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_1) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_2) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_0) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_1) | ++ BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2)), ++ V4L2_MPEG_VIDEO_H264_LEVEL_4_0); ++ ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY; ++ ctrl = v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_H264_PROFILE, ++ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH, ++ ~(BIT(V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE) | ++ BIT(V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE) | ++ BIT(V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) | ++ BIT(V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)), ++ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH); ++ ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY; + break; + case V4L2_PIX_FMT_MPEG2: +- v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, +- V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL, +- V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH, +- ~(BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW) | +- BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN) | +- BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440) | +- BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH)), +- V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN); +- v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, +- V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE, +- V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN, +- ~(BIT(V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE) | +- BIT(V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN)), +- V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN); ++ ctrl = v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL, ++ V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH, ++ ~(BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW) | ++ BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN) | ++ BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440) | ++ BIT(V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH)), ++ V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN); ++ ctrl = v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE, ++ V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN, ++ ~(BIT(V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE) | ++ BIT(V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN)), ++ V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN); ++ ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY; + break; + case V4L2_PIX_FMT_MPEG4: +- v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, +- V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL, +- V4L2_MPEG_VIDEO_MPEG4_LEVEL_5, +- ~(BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_0) | +- BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B) | +- BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_1) | +- BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_2) | +- BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_3) | +- BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B) | +- BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_4) | +- BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_5)), +- V4L2_MPEG_VIDEO_MPEG4_LEVEL_4); +- v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, +- V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE, +- V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE, +- ~(BIT(V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE) | +- BIT(V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE)), +- V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE); ++ ctrl = v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL, ++ V4L2_MPEG_VIDEO_MPEG4_LEVEL_5, ++ ~(BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_0) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_1) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_2) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_3) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_4) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_LEVEL_5)), ++ V4L2_MPEG_VIDEO_MPEG4_LEVEL_4); ++ ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY; ++ ctrl = v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops, ++ V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE, ++ V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE, ++ ~(BIT(V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE) | ++ BIT(V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE)), ++ V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE); ++ ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY; + break; + /* No profiles defined by V4L2 */ + case V4L2_PIX_FMT_H263: +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 28 Feb 2023 14:15:42 +0000 +Subject: [PATCH 594/717] ASoC: bcm: Fix Rpi-PROTO and audioinjector.net Pi + +As of kernel 5.19 the WM8731 driver has separate I2C and SPI support +modules. Change the Kconfig definitions for the audioinjector.net Pi +and Rpi-PROTO soundcards to select SND_SOC_WM8731_I2C. + +See: https://github.com/raspberrypi/linux/issues/5364 + +Signed-off-by: Phil Elwell +--- + sound/soc/bcm/Kconfig | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig +index c865ad6f50b9..0c3eacabbb0a 100644 +--- a/sound/soc/bcm/Kconfig ++++ b/sound/soc/bcm/Kconfig +@@ -135,7 +135,7 @@ config SND_BCM2708_SOC_RPI_DAC + config SND_BCM2708_SOC_RPI_PROTO + tristate "Support for Rpi-PROTO" + depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S +- select SND_SOC_WM8731 ++ select SND_SOC_WM8731_I2C + help + Say Y or M if you want to add support for Audio Codec Board PROTO (WM8731). + +@@ -206,7 +206,7 @@ config SND_BCM2708_SOC_ADAU1977_ADC + config SND_AUDIOINJECTOR_PI_SOUNDCARD + tristate "Support for audioinjector.net Pi add on soundcard" + depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S +- select SND_SOC_WM8731 ++ select SND_SOC_WM8731_I2C + help + Say Y or M if you want to add support for audioinjector.net Pi Hat + +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Lee Jackson +Date: Mon, 27 Feb 2023 08:47:23 +0800 +Subject: [PATCH 595/717] dtoverlays: Add VCM option to Arducam64MP + +VCM is enabled by default, but you can use 'vcm=off' to disable VCM support. + +Signed-off-by: Lee Jackson +--- + arch/arm/boot/dts/overlays/README | 2 + + .../dts/overlays/arducam-64mp-overlay.dts | 61 +++++++++---------- + arch/arm/boot/dts/overlays/arducam-64mp.dtsi | 34 +++++++++++ + 3 files changed, 65 insertions(+), 32 deletions(-) + create mode 100644 arch/arm/boot/dts/overlays/arducam-64mp.dtsi + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index c9eb532f1457..3b38d7b6c8fd 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -613,6 +613,8 @@ Params: rotation Mounting rotation of the camera sensor (0 or + configuring the sensor (default on) + cam0 Adopt the default configuration for CAM0 on a + Compute Module (CSI0, i2c_vc, and cam0_reg). ++ vcm Select lens driver state. Default is enabled, ++ but vcm=off will disable. + + + Name: arducam-pivariety +diff --git a/arch/arm/boot/dts/overlays/arducam-64mp-overlay.dts b/arch/arm/boot/dts/overlays/arducam-64mp-overlay.dts +index 19c8cb6e451c..a89d41628a5c 100644 +--- a/arch/arm/boot/dts/overlays/arducam-64mp-overlay.dts ++++ b/arch/arm/boot/dts/overlays/arducam-64mp-overlay.dts +@@ -13,32 +13,7 @@ __overlay__ { + #size-cells = <0>; + status = "okay"; + +- arducam_64mp: arducam_64mp@1a { +- compatible = "arducam,64mp"; +- reg = <0x1a>; +- status = "okay"; +- +- clocks = <&cam1_clk>; +- clock-names = "xclk"; +- +- VANA-supply = <&cam1_reg>; /* 2.8v */ +- VDIG-supply = <&cam_dummy_reg>; /* 1.8v */ +- VDDL-supply = <&cam_dummy_reg>; /* 1.2v */ +- +- rotation = <0>; +- orientation = <2>; +- +- port { +- arducam_64mp_0: endpoint { +- remote-endpoint = <&csi1_ep>; +- clock-lanes = <0>; +- data-lanes = <1 2>; +- clock-noncontinuous; +- link-frequencies = +- /bits/ 64 <456000000>; +- }; +- }; +- }; ++ #include "arducam-64mp.dtsi" + }; + }; + +@@ -49,8 +24,8 @@ csi: __overlay__ { + brcm,media-controller; + + port{ +- csi1_ep: endpoint{ +- remote-endpoint = <&arducam_64mp_0>; ++ csi_ep: endpoint{ ++ remote-endpoint = <&cam_endpoint>; + clock-lanes = <0>; + data-lanes = <1 2>; + clock-noncontinuous; +@@ -81,14 +56,36 @@ __overlay__ { + }; + }; + ++ fragment@5 { ++ target = <&cam_node>; ++ __overlay__ { ++ lens-focus = <&vcm_node>; ++ }; ++ }; ++ + __overrides__ { +- rotation = <&arducam_64mp>,"rotation:0"; +- orientation = <&arducam_64mp>,"orientation:0"; ++ 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>, +- <&arducam_64mp>, "clocks:0=",<&cam0_clk>, +- <&arducam_64mp>, "VANA-supply:0=",<&cam0_reg>; ++ <&cam_node>, "clocks:0=",<&cam0_clk>, ++ <&cam_node>, "VANA-supply:0=",<&cam0_reg>, ++ <&vcm_node>, "VDD-supply:0=", <&cam0_reg>; ++ vcm = <&vcm_node>, "status", ++ <0>, "=5"; + }; + }; ++ ++&cam_node { ++ status = "okay"; ++}; ++ ++&cam_endpoint { ++ remote-endpoint = <&csi_ep>; ++}; ++ ++&vcm_node { ++ status = "okay"; ++}; +diff --git a/arch/arm/boot/dts/overlays/arducam-64mp.dtsi b/arch/arm/boot/dts/overlays/arducam-64mp.dtsi +new file mode 100644 +index 000000000000..ed9f2e50c287 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/arducam-64mp.dtsi +@@ -0,0 +1,34 @@ ++// Fragment that configures a Arducam64MP ++ ++cam_node: arducam_64mp@1a { ++ compatible = "arducam,64mp"; ++ reg = <0x1a>; ++ status = "disabled"; ++ ++ clocks = <&cam1_clk>; ++ clock-names = "xclk"; ++ ++ VANA-supply = <&cam1_reg>; /* 2.8v */ ++ VDIG-supply = <&cam_dummy_reg>; /* 1.8v */ ++ VDDL-supply = <&cam_dummy_reg>; /* 1.2v */ ++ ++ rotation = <0>; ++ orientation = <2>; ++ ++ port { ++ cam_endpoint: endpoint { ++ clock-lanes = <0>; ++ data-lanes = <1 2>; ++ clock-noncontinuous; ++ link-frequencies = ++ /bits/ 64 <456000000>; ++ }; ++ }; ++}; ++ ++vcm_node: dw9817_arducam64mp@c { ++ compatible = "dongwoon,dw9817-vcm"; ++ reg = <0x0c>; ++ status = "disabled"; ++ VDD-supply = <&cam1_reg>; ++}; +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Lee Jackson +Date: Mon, 27 Feb 2023 19:38:05 +0800 +Subject: [PATCH 596/717] dtoverlays: Add Arducam64MP support to camera mux + overlays + +Signed-off-by: Lee Jackson +--- + arch/arm/boot/dts/overlays/README | 10 ++- + .../dts/overlays/camera-mux-2port-overlay.dts | 32 ++++++++++ + .../dts/overlays/camera-mux-4port-overlay.dts | 64 +++++++++++++++++++ + 3 files changed, 104 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 3b38d7b6c8fd..53e061ffcb01 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -714,7 +714,8 @@ Info: Configures a 2 port camera multiplexer + Note that currently ALL IMX290 modules share a common clock, therefore + all modules will need to have the same clock frequency. + Load: dtoverlay=camera-mux-2port,= +-Params: cam0-imx219 Select IMX219 for camera on port 0 ++Params: cam0-arducam-64mp Select Arducam64MP for camera on port 0 ++ 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 +@@ -725,6 +726,7 @@ Params: cam0-imx219 Select IMX219 for camera on port 0 + cam0-ov7251 Select OV7251 for camera on port 0 + cam0-ov9281 Select OV9281 for camera on port 0 + cam0-imx290-clk-freq Set clock frequency for an IMX290 on port 0 ++ cam1-arducam-64mp Select Arducam64MP for camera on port 1 + cam1-imx219 Select IMX219 for camera on port 1 + cam1-imx258 Select IMX258 for camera on port 1 + cam1-imx290 Select IMX290 for camera on port 1 +@@ -743,7 +745,8 @@ Info: Configures a 4 port camera multiplexer + Note that currently ALL IMX290 modules share a common clock, therefore + all modules will need to have the same clock frequency. + Load: dtoverlay=camera-mux-4port,= +-Params: cam0-imx219 Select IMX219 for camera on port 0 ++Params: cam0-arducam-64mp Select Arducam64MP for camera on port 0 ++ 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 +@@ -754,6 +757,7 @@ Params: cam0-imx219 Select IMX219 for camera on port 0 + cam0-ov7251 Select OV7251 for camera on port 0 + cam0-ov9281 Select OV9281 for camera on port 0 + cam0-imx290-clk-freq Set clock frequency for an IMX290 on port 0 ++ cam1-arducam-64mp Select Arducam64MP for camera on port 1 + cam1-imx219 Select IMX219 for camera on port 1 + cam1-imx258 Select IMX258 for camera on port 1 + cam1-imx290 Select IMX290 for camera on port 1 +@@ -765,6 +769,7 @@ Params: cam0-imx219 Select IMX219 for camera on port 0 + cam1-ov7251 Select OV7251 for camera on port 1 + cam1-ov9281 Select OV9281 for camera on port 1 + cam1-imx290-clk-freq Set clock frequency for an IMX290 on port 1 ++ cam2-arducam-64mp Select Arducam64MP for camera on port 2 + cam2-imx219 Select IMX219 for camera on port 2 + cam2-imx258 Select IMX258 for camera on port 2 + cam2-imx290 Select IMX290 for camera on port 2 +@@ -776,6 +781,7 @@ Params: cam0-imx219 Select IMX219 for camera on port 0 + cam2-ov7251 Select OV7251 for camera on port 2 + cam2-ov9281 Select OV9281 for camera on port 2 + cam2-imx290-clk-freq Set clock frequency for an IMX290 on port 2 ++ cam3-arducam-64mp Select Arducam64MP for camera on port 3 + cam3-imx219 Select IMX219 for camera on port 3 + cam3-imx258 Select IMX258 for camera on port 3 + cam3-imx290 Select IMX290 for camera on port 3 +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 95198d645ae8..f8fca791eac5 100644 +--- a/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts ++++ b/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts +@@ -96,6 +96,16 @@ i2c@0 { + #address-cells = <1>; + #size-cells = <0>; + ++ #define cam_node arducam_64mp_0 ++ #define cam_endpoint arducam_64mp_0_ep ++ #define vcm_node arducam_64mp_0_vcm ++ #define cam1_clk clk_24mhz ++ #include "arducam-64mp.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx219_0 + #define cam_endpoint imx219_0_ep + #define cam1_clk clk_24mhz +@@ -186,6 +196,16 @@ i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + ++ #define cam_node arducam_64mp_1 ++ #define cam_endpoint arducam_64mp_1_ep ++ #define vcm_node arducam_64mp_1_vcm ++ #define cam1_clk clk_24mhz ++ #include "arducam-64mp.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx219_1 + #define cam_endpoint imx219_1_ep + #define cam1_clk clk_24mhz +@@ -385,6 +405,12 @@ mipi_sw_oe_hog { + }; + + __overrides__ { ++ cam0-arducam-64mp = <&mux_in0>, "remote-endpoint:0=",<&arducam_64mp_0_ep>, ++ <&arducam_64mp_0_ep>, "remote-endpoint:0=",<&mux_in0>, ++ <&mux_in0>, "clock-noncontinuous?", ++ <&arducam_64mp_0>, "status=okay", ++ <&arducam_64mp_0_vcm>, "status=okay", ++ <&arducam_64mp_0>,"lens-focus:0=", <&arducam_64mp_0_vcm>; + cam0-imx219 = <&mux_in0>, "remote-endpoint:0=",<&imx219_0_ep>, + <&imx219_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&mux_in0>, "clock-noncontinuous?", +@@ -425,6 +451,12 @@ __overrides__ { + <&ov2311_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&ov2311_0>, "status=okay"; + ++ cam1-arducam-64mp = <&mux_in1>, "remote-endpoint:0=",<&arducam_64mp_1_ep>, ++ <&arducam_64mp_1_ep>, "remote-endpoint:0=",<&mux_in1>, ++ <&mux_in1>, "clock-noncontinuous?", ++ <&arducam_64mp_1>, "status=okay", ++ <&arducam_64mp_1_vcm>, "status=okay", ++ <&arducam_64mp_1>,"lens-focus:0=", <&arducam_64mp_1_vcm>; + cam1-imx219 = <&mux_in1>, "remote-endpoint:0=",<&imx219_1_ep>, + <&imx219_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&mux_in1>, "clock-noncontinuous?", +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 24d7c86eadc8..841ac2cdd9bc 100644 +--- a/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts ++++ b/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts +@@ -154,6 +154,16 @@ i2c@0 { + #address-cells = <1>; + #size-cells = <0>; + ++ #define cam_node arducam_64mp_0 ++ #define cam_endpoint arducam_64mp_0_ep ++ #define vcm_node arducam_64mp_0_vcm ++ #define cam1_clk clk_24mhz ++ #include "arducam-64mp.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx219_0 + #define cam_endpoint imx219_0_ep + #define cam1_clk clk_24mhz +@@ -244,6 +254,16 @@ i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + ++ #define cam_node arducam_64mp_1 ++ #define cam_endpoint arducam_64mp_1_ep ++ #define vcm_node arducam_64mp_1_vcm ++ #define cam1_clk clk_24mhz ++ #include "arducam-64mp.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx219_1 + #define cam_endpoint imx219_1_ep + #define cam1_clk clk_24mhz +@@ -334,6 +354,16 @@ i2c@2 { + #address-cells = <1>; + #size-cells = <0>; + ++ #define cam_node arducam_64mp_2 ++ #define cam_endpoint arducam_64mp_2_ep ++ #define vcm_node arducam_64mp_2_vcm ++ #define cam1_clk clk_24mhz ++ #include "arducam-64mp.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx219_2 + #define cam_endpoint imx219_2_ep + #define cam1_clk clk_24mhz +@@ -424,6 +454,16 @@ i2c@3 { + #address-cells = <1>; + #size-cells = <0>; + ++ #define cam_node arducam_64mp_3 ++ #define cam_endpoint arducam_64mp_3_ep ++ #define vcm_node arducam_64mp_3_vcm ++ #define cam1_clk clk_24mhz ++ #include "arducam-64mp.dtsi" ++ #undef cam_node ++ #undef cam_endpoint ++ #undef vcm_node ++ #undef cam1_clk ++ + #define cam_node imx219_3 + #define cam_endpoint imx219_3_ep + #define cam1_clk clk_24mhz +@@ -640,6 +680,12 @@ __overlay__ { + }; + + __overrides__ { ++ cam0-arducam-64mp = <&mux_in0>, "remote-endpoint:0=",<&arducam_64mp_0_ep>, ++ <&arducam_64mp_0_ep>, "remote-endpoint:0=",<&mux_in0>, ++ <&mux_in0>, "clock-noncontinuous?", ++ <&arducam_64mp_0>, "status=okay", ++ <&arducam_64mp_0_vcm>, "status=okay", ++ <&arducam_64mp_0>,"lens-focus:0=", <&arducam_64mp_0_vcm>; + cam0-imx219 = <&mux_in0>, "remote-endpoint:0=",<&imx219_0_ep>, + <&imx219_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&mux_in0>, "clock-noncontinuous?", +@@ -680,6 +726,12 @@ __overrides__ { + <&ov2311_0_ep>, "remote-endpoint:0=",<&mux_in0>, + <&ov2311_0>, "status=okay"; + ++ cam1-arducam-64mp = <&mux_in1>, "remote-endpoint:0=",<&arducam_64mp_1_ep>, ++ <&arducam_64mp_1_ep>, "remote-endpoint:0=",<&mux_in1>, ++ <&mux_in1>, "clock-noncontinuous?", ++ <&arducam_64mp_1>, "status=okay", ++ <&arducam_64mp_1_vcm>, "status=okay", ++ <&arducam_64mp_1>,"lens-focus:0=", <&arducam_64mp_1_vcm>; + cam1-imx219 = <&mux_in1>, "remote-endpoint:0=",<&imx219_1_ep>, + <&imx219_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&mux_in1>, "clock-noncontinuous?", +@@ -720,6 +772,12 @@ __overrides__ { + <&ov2311_1_ep>, "remote-endpoint:0=",<&mux_in1>, + <&ov2311_1>, "status=okay"; + ++ cam2-arducam-64mp = <&mux_in2>, "remote-endpoint:0=",<&arducam_64mp_2_ep>, ++ <&arducam_64mp_2_ep>, "remote-endpoint:0=",<&mux_in2>, ++ <&mux_in2>, "clock-noncontinuous?", ++ <&arducam_64mp_2>, "status=okay", ++ <&arducam_64mp_2_vcm>, "status=okay", ++ <&arducam_64mp_2>,"lens-focus:0=", <&arducam_64mp_2_vcm>; + cam2-imx219 = <&mux_in2>, "remote-endpoint:0=",<&imx219_2_ep>, + <&imx219_2_ep>, "remote-endpoint:0=",<&mux_in2>, + <&mux_in2>, "clock-noncontinuous?", +@@ -760,6 +818,12 @@ __overrides__ { + <&ov2311_2_ep>, "remote-endpoint:0=",<&mux_in2>, + <&ov2311_2>, "status=okay"; + ++ cam3-arducam-64mp = <&mux_in3>, "remote-endpoint:0=",<&arducam_64mp_3_ep>, ++ <&arducam_64mp_3_ep>, "remote-endpoint:0=",<&mux_in3>, ++ <&mux_in3>, "clock-noncontinuous?", ++ <&arducam_64mp_3>, "status=okay", ++ <&arducam_64mp_3_vcm>, "status=okay", ++ <&arducam_64mp_3>,"lens-focus:0=", <&arducam_64mp_3_vcm>; + cam3-imx219 = <&mux_in3>, "remote-endpoint:0=",<&imx219_3_ep>, + <&imx219_3_ep>, "remote-endpoint:0=",<&mux_in3>, + <&mux_in3>, "clock-noncontinuous?", +-- +2.39.1 + + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 1 Feb 2022 15:27:01 +0000 +Subject: [PATCH 597/717] drm/panel/panel-sitronix-st7701: Support SPI config + and RGB data + +The ST7701 supports numerous different interface mechanisms for +MIPI DSI, RGB, or SPI. The driver was only implementing DSI input, +so add RGB parallel input with SPI configuration. + +Signed-off-by: Dave Stevenson +--- + drivers/gpu/drm/panel/panel-sitronix-st7701.c | 374 ++++++++++++++++-- + 1 file changed, 351 insertions(+), 23 deletions(-) + +diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7701.c b/drivers/gpu/drm/panel/panel-sitronix-st7701.c +index 225b9884f61a..3aed984d596f 100644 +--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c ++++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c +@@ -7,16 +7,21 @@ + #include + #include + #include ++#include + + #include + #include + #include ++#include + #include + #include + #include ++#include + + #include