patches: migrate remaining misc_patches/genbook into scope-tagged tree (closes #1)
Closes the migration started in #8. The 6 active ampere patches (pwm15, pwm-fan, RK806 power-controller, speaker, USB-C PD, lid switch) landed in #8 under soc/rockchip/rk3588/, module/coolpi-cm5/, and board/coolpi-cm5-genbook/. This commit migrates the remaining 3: * `0006 arm64 Kconfig: do not select HAVE_GCC_PLUGINS` → patches/arch/arm64/. NOT for upstream — local build workaround; README explains the proper fix is gcc-plugin-devel install. * `0009 Bluetooth: btrtl: make RTL_SEC_PROJ read non-fatal` → patches/driver/bluetooth/btrtl/. Benefits ampere (RTL8852BE) and boltzmann (same M.2 family). Cross-host driver/ scope. * `0010 gpio/drm/mfd/input/dts: fix suspend/resume and wakeup on RK3588` → SPLIT into 5 scope-tagged sub-patches as the issue required ("0010 split into ≥2 patches by scope"): - patches/driver/gpio/rockchip/0010a-gpio-rockchip-propagate-irq_set_wake-to-parent-GIC.patch - patches/driver/gpu/drm/bridge/analogix/0010b-drm-bridge-analogix-dp-disable-IRQ-before-clock-gating-in-suspend.patch - patches/driver/mfd/rk8xx/0010c-mfd-rk8xx-spi-add-PM-ops-and-shutdown-callback.patch - patches/driver/input/misc/0010d-input-rk805-pwrkey-register-wake-IRQ-via-dev_pm_set_wake_irq.patch - patches/board/coolpi-cm5-genbook/0010e-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-add-NPU-power-domain-and-touchpad-wakeup.patch The split is byte-identical to the original 0010 (verified on decompose-0010 branch in marfrit/linux-rk3588-marfrit — sha256 of the combined diff matches the monolithic 0010 commit). All 0010 sub-patches marked WIP in their README and explicitly NOT added to fleet/ampere.yaml includes — suspend/resume thread is still open and Markus hasn't decided the upstream-targeting shape. READMEs added at each new directory documenting per-patch context. Acceptance criteria from #1: [x] Each patch lives at narrowest correct scope [x] 0010 split into ≥2 patches by scope (5 sub-patches) [x] Per-host manifest for ampere references the right scopes + explicit includes (already #8) [ ] github.com/marfrit/misc_patches retained as historical mirror — Markus to decide [x] working-tree dirty state on boltzmann reconciled (decompose-0010 + ampere-minimal-devices branches captured) Generated-by: Claude Opus 4.7 <claude@reauktion.de>
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
From fdb2dae76c6258e309d1713f0ed776a416d0c077 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Fritsche <mfritsche@localhost>
|
||||
Date: Thu, 16 Apr 2026 23:53:02 +0200
|
||||
Subject: [PATCH 2/9] drm/bridge: analogix-dp: disable IRQ before clock gating
|
||||
in suspend
|
||||
|
||||
analogix_dp_suspend() powers off the PHY and disables the clock but
|
||||
leaves the eDP IRQ enabled. During the noirq suspend phase,
|
||||
suspend_device_irqs() calls synchronize_irq() which waits for any
|
||||
running handler to complete. If the eDP controller fires a spurious
|
||||
interrupt after the clock was gated, the hardirq handler accesses
|
||||
registers on a dead bus, hanging synchronize_irq().
|
||||
|
||||
Add disable_irq() before powering down and enable_irq() after
|
||||
re-initialization in the resume path. Ensure enable_irq() is called
|
||||
even if clk_prepare_enable() fails, to avoid leaving the IRQ
|
||||
permanently disabled.
|
||||
|
||||
Generated-by: Claude Opus 4.6 <noreply@anthropic.com>
|
||||
Signed-off-by: Markus Fritsche <mfritsche@localhost>
|
||||
---
|
||||
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
|
||||
index efe534977d12..1b1f811ba9f4 100644
|
||||
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
|
||||
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
|
||||
@@ -1577,6 +1577,8 @@ EXPORT_SYMBOL_GPL(analogix_dp_probe);
|
||||
|
||||
int analogix_dp_suspend(struct analogix_dp_device *dp)
|
||||
{
|
||||
+ disable_irq(dp->irq);
|
||||
+
|
||||
phy_power_off(dp->phy);
|
||||
|
||||
if (dp->plat_data->power_off)
|
||||
@@ -1595,6 +1597,7 @@ int analogix_dp_resume(struct analogix_dp_device *dp)
|
||||
ret = clk_prepare_enable(dp->clock);
|
||||
if (ret < 0) {
|
||||
DRM_ERROR("Failed to prepare_enable the clock clk [%d]\n", ret);
|
||||
+ enable_irq(dp->irq);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1606,6 +1609,8 @@ int analogix_dp_resume(struct analogix_dp_device *dp)
|
||||
|
||||
analogix_dp_init_dp(dp);
|
||||
|
||||
+ enable_irq(dp->irq);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(analogix_dp_resume);
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# patches/driver/gpu/drm/bridge/analogix
|
||||
|
||||
analogix-dp eDP bridge driver patches.
|
||||
|
||||
## Patches
|
||||
|
||||
The `0010*` patches here are sister patches to
|
||||
`patches/driver/gpio/rockchip/0010a-…` — see that README for the
|
||||
full context (split from misc_patches/genbook/kernel/0010, the
|
||||
RK3588 suspend/resume monolithic patch). **All marked WIP — do not
|
||||
include in fleet manifests until the upstream-targeting shape is
|
||||
decided.**
|
||||
Reference in New Issue
Block a user