From nobody Mon Feb 9 10:54:28 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC57C2AE78 for ; Sat, 10 Jan 2026 21:12:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768079572; cv=none; b=UigkC36Kmmrwof674aAMFKp4e/BZjNNv/kIn0Ln6IOsRFtm340lo+GBLqPyVeNJpcO8aURD/6FRK2FYPspd3vN4/TdDNoWL2M9j1MHgC3EuLuJ/ihtNcM7A3dzH9L6s2YW/1ZDj5YuGNo39NpVBpN/OhadHHafSROwZb3rJi3K4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768079572; c=relaxed/simple; bh=5oSK6ZqGW1O08DhJ5RerDVMpW9oPSKQr7Adg8seGHvM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=qcswWn1UKWnJvvETGX5wOLxZIIN1nY4RyYQTJBeCpUYcJb8G3I1iIuWCAYP9y4xoIvHa/EToKgMLCLGmSEqnZIHNIQ97LzwbcKJWfbUe7j6f9MFg/TKHITOf15MWdofsCIy3lG8ZHvMEZA4j8B41+S9kZBzoqBfnZYU9iGjPMCw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=ltzHVbKR; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="ltzHVbKR" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1768079562; bh=5oSK6ZqGW1O08DhJ5RerDVMpW9oPSKQr7Adg8seGHvM=; h=From:Date:Subject:To:Cc:From; b=ltzHVbKRz/LBWg7AQ+EKyQMVw6HQeghMfh1XBvkWj6CXkGT6MdOfa2BRy461NnsSo QxJQGmaNSNO95xoIPtKq8cAHrVPBi+P95fQC9TRkee28QzUIdzYQgm/aIpYH53/088 VzzF/YOsR+mIbiiXpMWwtUPsmjzI1xhqES4yt7zBO+Hx18x+3ql3AJ5rIwfB+MVN9N /qDhcrC/OGVwW3gBHsznIh4RlurPjtbk8KGdzLa6tqSfe3wUrriuR9Fa6CqmRlZ/qA 8JQPDJin5tFB6aa0zU+gqgAfdMrushf6D7yS7XgVk/+lMbCfYM0tJaeoIrJ7K+KWTV I2ZYbBeumw5Xg== Received: from localhost (unknown [82.79.138.145]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id ACE6F17E14FA; Sat, 10 Jan 2026 22:12:42 +0100 (CET) From: Cristian Ciocaltea Date: Sat, 10 Jan 2026 23:12:11 +0200 Subject: [PATCH] drm/rockchip: dw_hdmi_qp: Switch to gpiod_set_value_cansleep() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260110-dw-hdmi-qp-cansleep-v1-1-1ce937c5b201@collabora.com> X-B4-Tracking: v=1; b=H4sIAKrAYmkC/x2MQQqAIBAAvxJ7bkENgvpKdFh0rYWyUqhA/HvSb eYwkyFxFE4wNhki35LkCFV024BdKSyM4qqDUaZXWit0D65uF7xOtBTSxlzBEmnjaeh8B7U8I3t 5/+s0l/IBzRSAzWUAAAA= X-Change-ID: 20260110-dw-hdmi-qp-cansleep-ccaa12fa93f3 To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 Since commit 20cf2aed89ac ("gpio: rockchip: mark the GPIO controller as sleeping"), the Rockchip GPIO chip operations potentially sleep, hence the kernel complains when trying to make use of the non-sleeping API: [ 16.653343] WARNING: drivers/gpio/gpiolib.c:3902 at gpiod_set_value+0xd0= /0x108, CPU#5: kworker/5:1/93 ... [ 16.678470] Hardware name: Radxa ROCK 5B (DT) [ 16.682374] Workqueue: events dw_hdmi_qp_rk3588_hpd_work [rockchipdrm] ... [ 16.729314] Call trace: [ 16.731846] gpiod_set_value+0xd0/0x108 (P) [ 16.734548] dw_hdmi_qp_rockchip_encoder_enable+0xbc/0x3a8 [rockchipdrm] [ 16.737487] drm_atomic_helper_commit_encoder_bridge_enable+0x314/0x380 = [drm_kms_helper] [ 16.740555] drm_atomic_helper_commit_tail_rpm+0xa4/0x100 [drm_kms_helpe= r] [ 16.743501] commit_tail+0x1e0/0x2c0 [drm_kms_helper] [ 16.746290] drm_atomic_helper_commit+0x274/0x2b8 [drm_kms_helper] [ 16.749178] drm_atomic_commit+0x1f0/0x248 [drm] [ 16.752000] drm_client_modeset_commit_atomic+0x490/0x5d0 [drm] [ 16.754954] drm_client_modeset_commit_locked+0xf4/0x400 [drm] [ 16.757911] drm_client_modeset_commit+0x50/0x80 [drm] [ 16.760791] __drm_fb_helper_restore_fbdev_mode_unlocked+0x9c/0x170 [drm= _kms_helper] [ 16.763843] drm_fb_helper_hotplug_event+0x340/0x368 [drm_kms_helper] [ 16.766780] drm_fbdev_client_hotplug+0x64/0x1d0 [drm_client_lib] [ 16.769634] drm_client_hotplug+0x178/0x240 [drm] [ 16.772455] drm_client_dev_hotplug+0x170/0x1c0 [drm] [ 16.775303] drm_connector_helper_hpd_irq_event+0xa4/0x178 [drm_kms_help= er] [ 16.778248] dw_hdmi_qp_rk3588_hpd_work+0x44/0xb8 [rockchipdrm] [ 16.781080] process_one_work+0xc3c/0x1658 [ 16.783719] worker_thread+0xa24/0xc40 [ 16.786333] kthread+0x3b4/0x3d8 [ 16.788889] ret_from_fork+0x10/0x20 Since gpiod_get_value() is called from a context that can sleep, switch to its *_cansleep() variant and get rid of the issue. Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c b/drivers/gpu/d= rm/rockchip/dw_hdmi_qp-rockchip.c index 6e39e8a00774..8604342f9943 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c @@ -121,7 +121,7 @@ static void dw_hdmi_qp_rockchip_encoder_enable(struct d= rm_encoder *encoder) struct drm_crtc *crtc =3D encoder->crtc; =20 /* Unconditionally switch to TMDS as FRL is not yet supported */ - gpiod_set_value(hdmi->frl_enable_gpio, 0); + gpiod_set_value_cansleep(hdmi->frl_enable_gpio, 0); =20 if (!crtc || !crtc->state) return; --- base-commit: f417b7ffcbef7d76b0d8860518f50dae0e7e5eda change-id: 20260110-dw-hdmi-qp-cansleep-ccaa12fa93f3