-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bcm27xx: update to latest RPi patches
The patches were generated from the RPi repo with the following command: git format-patch v6.6.36..rpi-6.6.y Signed-off-by: Álvaro Fernández Rojas <[email protected]>
- Loading branch information
Showing
10 changed files
with
495 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -30,7 +30,7 @@ Signed-off-by: Phil Elwell <[email protected]> | |
|
||
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | ||
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | ||
@@ -466,8 +466,6 @@ static void axi_chan_block_xfer_start(st | ||
@@ -389,8 +389,6 @@ static void axi_chan_block_xfer_start(st | ||
return; | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley <[email protected]> | |
|
||
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | ||
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | ||
@@ -917,6 +917,9 @@ dw_axi_dma_chan_prep_slave_sg(struct dma | ||
@@ -834,6 +834,9 @@ dw_axi_dma_chan_prep_slave_sg(struct dma | ||
mem = sg_dma_address(sg); | ||
len = sg_dma_len(sg); | ||
num_segments = DIV_ROUND_UP(sg_dma_len(sg), axi_block_len); | ||
|
52 changes: 52 additions & 0 deletions
52
...x/bcm27xx/patches-6.6/950-1133-drivers-mmc-sdhci-brcmstb-improve-bcm2712-card-remov.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
From 5c0f94088e0694220a2f0d8ad6e8216b50a80f2e Mon Sep 17 00:00:00 2001 | ||
From: Jonathan Bell <[email protected]> | ||
Date: Thu, 13 Jun 2024 15:01:02 +0100 | ||
Subject: [PATCH 1133/1145] drivers: mmc: sdhci-brcmstb: improve bcm2712 card | ||
removal handling | ||
|
||
If the controller is being reset, then the CQE needs to be reset as well. | ||
|
||
For removable cards, CQHCI_SSC1 must specify a polling mode (CBC=0) | ||
otherwise it's possible that the controller stops emitting periodic | ||
CMD13s on card removal, without raising an error status interrupt. | ||
|
||
Signed-off-by: Jonathan Bell <[email protected]> | ||
--- | ||
drivers/mmc/host/sdhci-brcmstb.c | 19 ++++++++++++++++--- | ||
1 file changed, 16 insertions(+), 3 deletions(-) | ||
|
||
--- a/drivers/mmc/host/sdhci-brcmstb.c | ||
+++ b/drivers/mmc/host/sdhci-brcmstb.c | ||
@@ -365,8 +365,21 @@ static void sdhci_brcmstb_cqe_enable(str | ||
|
||
sdhci_cqe_enable(mmc); | ||
|
||
- /* Reset CMD13 polling timer back to eMMC specification default */ | ||
- cqhci_writel(cq_host, 0x00011000, CQHCI_SSC1); | ||
+ /* | ||
+ * The controller resets this register to a very short default interval | ||
+ * whenever CQHCI is disabled. | ||
+ * | ||
+ * For removable cards CBC needs to be clear or card removal can hang | ||
+ * the CQE. In polling mode, a CIT of 0x4000 "cycles" seems to produce the best | ||
+ * throughput. | ||
+ * | ||
+ * For nonremovable cards, the specification default of CBC=1 CIT=0x1000 | ||
+ * suffices. | ||
+ */ | ||
+ if (mmc->caps & MMC_CAP_NONREMOVABLE) | ||
+ cqhci_writel(cq_host, 0x00011000, CQHCI_SSC1); | ||
+ else | ||
+ cqhci_writel(cq_host, 0x00004000, CQHCI_SSC1); | ||
} | ||
|
||
static const struct cqhci_host_ops sdhci_brcmstb_cqhci_ops = { | ||
@@ -386,7 +399,7 @@ static struct sdhci_ops sdhci_brcmstb_op | ||
.set_clock = sdhci_bcm2712_set_clock, | ||
.set_power = sdhci_brcmstb_set_power, | ||
.set_bus_width = sdhci_set_bus_width, | ||
- .reset = sdhci_reset, | ||
+ .reset = brcmstb_reset, | ||
.set_uhs_signaling = sdhci_set_uhs_signaling, | ||
.init_sd_express = bcm2712_init_sd_express, | ||
}; |
193 changes: 193 additions & 0 deletions
193
...inux/bcm27xx/patches-6.6/950-1136-feat-Add-support-for-SunFounder-PiPower-3-overlay.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,193 @@ | ||
From a1d3defcca200077e1e382fe049ca613d16efd2b Mon Sep 17 00:00:00 2001 | ||
From: Cavon Lee <[email protected]> | ||
Date: Tue, 18 Jun 2024 14:01:23 +0800 | ||
Subject: [PATCH 1136/1145] feat: Add support for SunFounder PiPower 3 overlay | ||
fix: Fix wrong Pironman 5 ir default pin number fix: Change space indentation | ||
to tab | ||
|
||
Signed-off-by: Cavon Lee <[email protected]> | ||
--- | ||
arch/arm/boot/dts/overlays/Makefile | 1 + | ||
arch/arm/boot/dts/overlays/README | 8 +- | ||
.../overlays/sunfounder-pipower3-overlay.dts | 44 ++++++++++ | ||
.../overlays/sunfounder-pironman5-overlay.dts | 88 ++++++++++--------- | ||
4 files changed, 98 insertions(+), 43 deletions(-) | ||
create mode 100644 arch/arm/boot/dts/overlays/sunfounder-pipower3-overlay.dts | ||
|
||
--- a/arch/arm/boot/dts/overlays/Makefile | ||
+++ b/arch/arm/boot/dts/overlays/Makefile | ||
@@ -275,6 +275,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ | ||
ssd1306-spi.dtbo \ | ||
ssd1331-spi.dtbo \ | ||
ssd1351-spi.dtbo \ | ||
+ sunfounder-pipower3.dtbo \ | ||
sunfounder-pironman5.dtbo \ | ||
superaudioboard.dtbo \ | ||
sx150x.dtbo \ | ||
--- a/arch/arm/boot/dts/overlays/README | ||
+++ b/arch/arm/boot/dts/overlays/README | ||
@@ -4695,11 +4695,17 @@ Params: speed SPI bus | ||
reset_pin GPIO pin for RESET (default 25) | ||
|
||
|
||
+Name: sunfounder-pipower3 | ||
+Info: Overlay for SunFounder PiPower 3 | ||
+Load: dtoverlay=sunfounder-pipower3,<param>=<val> | ||
+Params: poweroff_pin Change poweroff pin (default 26) | ||
+ | ||
+ | ||
Name: sunfounder-pironman5 | ||
Info: Overlay for SunFounder Pironman 5 | ||
Load: dtoverlay=sunfounder-pironman5,<param>=<val> | ||
Params: ir Enable IR or not (on or off, default on) | ||
- ir_pins Change IR receiver pin (default 12) | ||
+ ir_pins Change IR receiver pin (default 13) | ||
|
||
|
||
Name: superaudioboard | ||
--- /dev/null | ||
+++ b/arch/arm/boot/dts/overlays/sunfounder-pipower3-overlay.dts | ||
@@ -0,0 +1,44 @@ | ||
+/dts-v1/; | ||
+/plugin/; | ||
+ | ||
+/ { | ||
+ compatible = "brcm,bcm2835"; | ||
+ | ||
+ fragment@0 { | ||
+ target-path = "/chosen"; | ||
+ __overlay__ { | ||
+ power: power { | ||
+ hat_current_supply = <5000>; | ||
+ }; | ||
+ }; | ||
+ }; | ||
+ fragment@1 { | ||
+ target = <&i2c1>; | ||
+ __overlay__ { | ||
+ status = "okay"; | ||
+ }; | ||
+ }; | ||
+ fragment@2 { | ||
+ target-path = "/"; | ||
+ __overlay__ { | ||
+ power_ctrl: power_ctrl { | ||
+ compatible = "gpio-poweroff"; | ||
+ gpios = <&gpio 26 0>; | ||
+ force; | ||
+ }; | ||
+ }; | ||
+ }; | ||
+ fragment@3 { | ||
+ target = <&gpio>; | ||
+ __overlay__ { | ||
+ power_ctrl_pins: power_ctrl_pins { | ||
+ brcm,pins = <26>; | ||
+ brcm,function = <1>; // out | ||
+ }; | ||
+ }; | ||
+ }; | ||
+ __overrides__ { | ||
+ poweroff_pin = <&power_ctrl>,"gpios:4", | ||
+ <&power_ctrl_pins>,"brcm,pins:0"; | ||
+ }; | ||
+}; | ||
--- a/arch/arm/boot/dts/overlays/sunfounder-pironman5-overlay.dts | ||
+++ b/arch/arm/boot/dts/overlays/sunfounder-pironman5-overlay.dts | ||
@@ -2,50 +2,54 @@ | ||
/plugin/; | ||
|
||
/ { | ||
- compatible = "brcm,bcm2835"; | ||
+ compatible = "brcm,bcm2835"; | ||
|
||
- fragment@0 { | ||
- target = <&i2c1>; | ||
- __overlay__ { | ||
- status = "okay"; | ||
- }; | ||
- }; | ||
- fragment@1 { | ||
- target = <&spi0>; | ||
- __overlay__ { | ||
- status = "okay"; | ||
- }; | ||
- }; | ||
- fragment@2 { | ||
- target-path = "/"; | ||
- __overlay__ { | ||
- gpio_ir: ir-receiver@c { | ||
- compatible = "gpio-ir-receiver"; | ||
- pinctrl-names = "default"; | ||
- pinctrl-0 = <&gpio_ir_pins>; | ||
+ fragment@0 { | ||
+ target = <&i2c1>; | ||
+ __overlay__ { | ||
+ status = "okay"; | ||
+ }; | ||
+ }; | ||
+ fragment@1 { | ||
+ target = <&spi0>; | ||
+ __overlay__ { | ||
+ status = "okay"; | ||
+ }; | ||
+ }; | ||
+ fragment@2 { | ||
+ target-path = "/"; | ||
+ __overlay__ { | ||
+ gpio_ir: ir-receiver@d { | ||
+ compatible = "gpio-ir-receiver"; | ||
+ pinctrl-names = "default"; | ||
+ pinctrl-0 = <&gpio_ir_pins>; | ||
|
||
- // pin number, high or low | ||
- gpios = <&gpio 12 1>; | ||
+ // pin number, high or low | ||
+ gpios = <&gpio 13 1>; | ||
|
||
- // parameter for keymap name | ||
- linux,rc-map-name = "rc-rc6-mce"; | ||
+ // parameter for keymap name | ||
+ linux,rc-map-name = "rc-rc6-mce"; | ||
|
||
- status = "okay"; | ||
- }; | ||
- }; | ||
- }; | ||
- fragment@3 { | ||
- target = <&gpio>; | ||
- __overlay__ { | ||
- gpio_ir_pins: gpio_ir_pins@c { | ||
- brcm,pins = <12>; | ||
- brcm,function = <0>; | ||
- brcm,pull = <2>; | ||
- }; | ||
- }; | ||
- }; | ||
- __overrides__ { | ||
- ir = <&gpio_ir>,"status"; | ||
- ir_pins = <&gpio_ir>,"gpios:4", <&gpio_ir>,"reg:0", <&gpio_ir_pins>,"brcm,pins:0", <&gpio_ir_pins>,"reg:0"; | ||
- }; | ||
+ status = "okay"; | ||
+ }; | ||
+ }; | ||
+ }; | ||
+ fragment@3 { | ||
+ target = <&gpio>; | ||
+ __overlay__ { | ||
+ gpio_ir_pins: gpio_ir_pins@d { | ||
+ brcm,pins = <13>; | ||
+ brcm,function = <0>; | ||
+ brcm,pull = <2>; | ||
+ }; | ||
+ }; | ||
+ }; | ||
+ __overrides__ { | ||
+ ir = <&gpio_ir>,"status"; | ||
+ ir_pins = | ||
+ <&gpio_ir>,"gpios:4", | ||
+ <&gpio_ir>,"reg:0", | ||
+ <&gpio_ir_pins>,"brcm,pins:0", | ||
+ <&gpio_ir_pins>,"reg:0"; | ||
+ }; | ||
}; |
32 changes: 32 additions & 0 deletions
32
...linux/bcm27xx/patches-6.6/950-1137-pwm-gpio-pwm-follow-pwm_apply_might_sleep-rename.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
From cd92a9591833ea06d1f12391f6b027fcecf436a9 Mon Sep 17 00:00:00 2001 | ||
From: Ratchanan Srirattanamet <[email protected]> | ||
Date: Tue, 18 Jun 2024 15:44:13 +0700 | ||
Subject: [PATCH 1137/1145] pwm: gpio-pwm: follow pwm_apply_might_sleep() | ||
rename | ||
|
||
Fixes: 03286093be68("drivers/gpio: Add a driver that wraps the PWM API as a GPIO controller") | ||
Signed-off-by: Ratchanan Srirattanamet <[email protected]> | ||
--- | ||
drivers/gpio/gpio-pwm.c | 4 ++-- | ||
1 file changed, 2 insertions(+), 2 deletions(-) | ||
|
||
--- a/drivers/gpio/gpio-pwm.c | ||
+++ b/drivers/gpio/gpio-pwm.c | ||
@@ -34,7 +34,7 @@ static void pwm_gpio_set(struct gpio_chi | ||
|
||
pwm_get_state(pwm_gpio->pwm[off], &state); | ||
state.duty_cycle = val ? state.period : 0; | ||
- pwm_apply_state(pwm_gpio->pwm[off], &state); | ||
+ pwm_apply_might_sleep(pwm_gpio->pwm[off], &state); | ||
} | ||
|
||
static int pwm_gpio_parse_dt(struct pwm_gpio *pwm_gpio, | ||
@@ -79,7 +79,7 @@ static int pwm_gpio_parse_dt(struct pwm_ | ||
pwm_init_state(pwm_gpio->pwm[i], &state); | ||
|
||
state.duty_cycle = 0; | ||
- pwm_apply_state(pwm_gpio->pwm[i], &state); | ||
+ pwm_apply_might_sleep(pwm_gpio->pwm[i], &state); | ||
} | ||
|
||
pwm_gpio->gc.ngpio = num_gpios; |
29 changes: 29 additions & 0 deletions
29
...t/linux/bcm27xx/patches-6.6/950-1138-drm-bridge-panel-Ensure-backlight-is-reachable.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
From da87f91ad8450ccc5274cd7b6ba8d823b396c96f Mon Sep 17 00:00:00 2001 | ||
From: Dave Stevenson <[email protected]> | ||
Date: Tue, 18 Jun 2024 15:33:30 +0100 | ||
Subject: [PATCH 1138/1145] drm/bridge: panel: Ensure backlight is reachable | ||
|
||
Ensure that the various options of modules vs builtin results | ||
in being able to call into the backlight code. | ||
|
||
https://github.com/raspberrypi/linux/issues/6198 | ||
|
||
Fixes: 573f8fd0abf1 ("drm/bridge: panel: Name an associated backlight device") | ||
Signed-off-by: Dave Stevenson <[email protected]> | ||
--- | ||
drivers/gpu/drm/bridge/panel.c | 2 ++ | ||
1 file changed, 2 insertions(+) | ||
|
||
--- a/drivers/gpu/drm/bridge/panel.c | ||
+++ b/drivers/gpu/drm/bridge/panel.c | ||
@@ -87,8 +87,10 @@ static int panel_bridge_attach(struct dr | ||
drm_connector_attach_encoder(&panel_bridge->connector, | ||
bridge->encoder); | ||
|
||
+#if IS_REACHABLE(CONFIG_BACKLIGHT_CLASS_DEVICE) | ||
backlight_set_display_name(panel_bridge->panel->backlight, | ||
panel_bridge->connector.name); | ||
+#endif | ||
|
||
if (bridge->dev->registered) { | ||
if (connector->funcs->reset) |
36 changes: 36 additions & 0 deletions
36
...x/bcm27xx/patches-6.6/950-1141-fs-ntfs3-Fix-memory-corruption-when-page_size-change.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
From 7af85d54e39733bb9a236b95ea5ed1ab8277d560 Mon Sep 17 00:00:00 2001 | ||
From: Dom Cobley <[email protected]> | ||
Date: Tue, 11 Jun 2024 16:12:47 +0100 | ||
Subject: [PATCH 1141/1145] fs/ntfs3: Fix memory corruption when page_size | ||
changes | ||
|
||
The rework in fs/ntfs3: Reduce stack usage | ||
changes log->page_size but doesn't change the associated | ||
log->page_mask and log->page_bits. | ||
|
||
That results in the bytes value in read_log_page | ||
getting a negative value, which is bad when it is | ||
passed to memcpy. | ||
|
||
The kernel panic can be observed when connecting an | ||
ntfs formatted drive that has previously been connected | ||
to a Windows machine to a Raspberry Pi 5, which by defauilt | ||
uses a 16K kernel pagesize. | ||
|
||
Fixes: 865e7a7700d9 ("fs/ntfs3: Reduce stack usage") | ||
Signed-off-by: Dom Cobley <[email protected]> | ||
--- | ||
fs/ntfs3/fslog.c | 2 ++ | ||
1 file changed, 2 insertions(+) | ||
|
||
--- a/fs/ntfs3/fslog.c | ||
+++ b/fs/ntfs3/fslog.c | ||
@@ -3907,6 +3907,8 @@ check_restart_area: | ||
log->l_size = log->orig_file_size; | ||
log->page_size = norm_file_page(t32, &log->l_size, | ||
t32 == DefaultLogPageSize); | ||
+ log->page_mask = log->page_size - 1; | ||
+ log->page_bits = blksize_bits(log->page_size); | ||
} | ||
|
||
if (log->page_size != t32 || |
26 changes: 26 additions & 0 deletions
26
...x/bcm27xx/patches-6.6/950-1142-fixup-drivers-mmc-sdhci-brcmstb-bcm2712-supports-HS4.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
From d2813c02131b9ddf938277f4123da7ccbd113ea7 Mon Sep 17 00:00:00 2001 | ||
From: Phil Elwell <[email protected]> | ||
Date: Mon, 24 Jun 2024 22:35:42 +0100 | ||
Subject: [PATCH 1142/1145] fixup! drivers: mmc: sdhci-brcmstb: bcm2712 | ||
supports HS400es and clock gating | ||
|
||
Declaring auto-clockgate support for a host that can interface with | ||
SDIO cards is a bug. | ||
|
||
See: https://github.com/raspberrypi/linux/issues/6237 | ||
|
||
Signed-off-by: Phil Elwell <[email protected]> | ||
--- | ||
drivers/mmc/host/sdhci-brcmstb.c | 1 - | ||
1 file changed, 1 deletion(-) | ||
|
||
--- a/drivers/mmc/host/sdhci-brcmstb.c | ||
+++ b/drivers/mmc/host/sdhci-brcmstb.c | ||
@@ -429,7 +429,6 @@ static const struct brcmstb_match_priv m | ||
}; | ||
|
||
static const struct brcmstb_match_priv match_priv_2712 = { | ||
- .flags = BRCMSTB_MATCH_FLAGS_HAS_CLOCK_GATE, | ||
.hs400es = sdhci_brcmstb_hs400es, | ||
.cfginit = sdhci_brcmstb_cfginit_2712, | ||
.ops = &sdhci_brcmstb_ops_2712, |
Oops, something went wrong.