From nobody Sun Feb 8 17:13:46 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 1E1AF44D6B3 for ; Wed, 21 Jan 2026 23:18:01 +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=1769037486; cv=none; b=gjNucRT7/1DEY81mlK5hUaZBfHww0nYAc8mqn21JjHvQXI6xYN3brouWHPTO6kyhjozL7h8u77YkPqNQP1s4/5YCk1cHCG5x3UF9NQwNOJFhTlqU5zVDqG2XZaZPWSsqKdWPdPJjUE6xH4eSVC/QTc6oNgbrfpRUOpNU+CsuZYU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769037486; c=relaxed/simple; bh=dpoYWqd1QmnsLx6bOVdrexg1n+TySTa7C5ZjTOClS1o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=L/RHrXnKBF4lTkMz+2shIiyEN2luH5MqzrgLdMNg5Mj9WTTBKtF/mUm2MBUYmEBT6Ietw9ib9Pg7QjNfVzJH70XrtrmRejBpJ6hvT/NWPi6v9c0cnPRd7Dp1Bfsqix2SiRqPNsuptLsgmSli8B2lbYqC8Rm4ahdbNJo38GrG67s= 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=WmkOCjlm; 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="WmkOCjlm" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1769037478; bh=dpoYWqd1QmnsLx6bOVdrexg1n+TySTa7C5ZjTOClS1o=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=WmkOCjlmRtLu+l8Km1N1C2KS7UYRCQ5tK4kqWH1VIyahTF1slmQOsO24HtsXeZjhi 2x3mzkXhN01byqHSVVJI2y79y63qxIpiYPJc8+FKpUyvXsoYp9Ch1zeXl+6HkVYf4g Rp6hzYcueD758rI/cx4HSOviiQNVRsKvZe7d0grpqRacx6UlktRHD7l4pIbN9n/x/p Gs8fG579QoHbKHwlmLtWNBz1MJut0imOSvho0jpvOmZtSR666WH+QIK3/VAHV+oUCA Kr6ElGZWWOh3bQIJS8oZ7UMmOcPmqOS+SgeiS5VMATX3+23VusB0fQWeMuuBxzNidk qySt14u09YTLg== 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 442B117E1389; Thu, 22 Jan 2026 00:17:58 +0100 (CET) From: Cristian Ciocaltea Date: Thu, 22 Jan 2026 01:17:34 +0200 Subject: [PATCH 1/6] drm/rockchip: inno-hdmi: Switch to drmm_kzalloc() 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: <20260122-drm-rk-fixes-v1-1-3942f185750e@collabora.com> References: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> In-Reply-To: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov 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 Driver makes use of drmm_encoder_init() to initialize the encoder and automatically handle the cleanup by registering drm_encoder_cleanup() with drmm_add_action(). However, the internal structure containing the encoder part gets allocated with devm_kzalloc(), which happens while component_bind_all() is being called from Rockchip DRM driver. The component framework further ensures it is deallocated as part of releasing all the resources claimed during bind, which is triggered from component_unbind_all(). When the reference to the DRM device gets eventually dropped via drm_dev_put() in rockchip_drm_unbind(), drmm_encoder_alloc_release() attempts to access the now released encoder structure, leading to use-after-free. Ensure driver's internal structure is still reachable on encoder cleanup by switching from a device-managed allocation to a drm-managed one. Fixes: 969325a2597e ("drm/rockchip: inno-hdmi: Convert to drm bridge") Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c b/drivers/gpu/dr= m/rockchip/inno_hdmi-rockchip.c index 97c20500f790..28e6fb09aae7 100644 --- a/drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c @@ -14,6 +14,7 @@ =20 #include #include +#include #include =20 #include "rockchip_drm_drv.h" @@ -90,7 +91,7 @@ static int inno_hdmi_rockchip_bind(struct device *dev, st= ruct device *master, vo const struct inno_hdmi_plat_data *plat_data; int ret; =20 - hdmi =3D devm_kzalloc(dev, sizeof(*hdmi), GFP_KERNEL); + hdmi =3D drmm_kzalloc(drm, sizeof(*hdmi), GFP_KERNEL); if (!hdmi) return -ENOMEM; =20 --=20 2.52.0 From nobody Sun Feb 8 17:13:46 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 D8CAD33FE24 for ; Wed, 21 Jan 2026 23:18:02 +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=1769037487; cv=none; b=SvyV03xHUMDJOoQ3VgqMvUpy62SyUQ5SjHq+Wdh64gzLCc9q/Pm8zL2pdIzO3fA3+dnZL28is7AXRUIlBi9IqkfdyneFsYMYQGf75jZ149tJbbgghjYgLY5aMTH7t1VOk2pBhpuBQjRmd1nZB2d8b/jnle0bks/GSyJS+yt8LSY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769037487; c=relaxed/simple; bh=IOkGky72ycSVKMWdQ5+E2JdTAcFkDJyoVCA3jgsd9d8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=B6OKjOO44uognSyF4U1zqpO9UQsJpGwAkCQ8IFntjDaJQdp+1wMJM/KW8VJO0dHXhnlqDH3EIzin2s9hGzHa3osoPMCux+AEOdeSHW8m3Z7BqYpNbRwxRUbhbEncXMilDFjldujQ5DBLxNcWjlOWIZsfp4zJSwTaoDXw0tAXP2g= 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=KDlAI0/N; 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="KDlAI0/N" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1769037479; bh=IOkGky72ycSVKMWdQ5+E2JdTAcFkDJyoVCA3jgsd9d8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=KDlAI0/N8uL4N6MWF1dSwO221qrr991GSLn0purSrQ6KqqCqLVFzIbU/HSGfe6vXv imBMqqa86BOIPsT0b9DeSH3Rb2JNpeqKtzfoxhZPPDnE/GSm0YrQ++L4xmVDYMQFyw zBFS45utIT8b5+FRrGWrPW/EHy/Tu976Ddr1MQZlGS9+80Mp564ErDu0Iqo8qAxPF5 uK3W85kBGm2q2EA8//FTKfalHkdeazprWOtfLtas67khUvX6okCW/56wIa4Glupr9m E4V8O1JIPp5UJ1a8KxTHjiMXNo/jR+oHLmdnl/3c6nyrPLX4riRJH+Ss2lNH2iJMMM 6xGOvsi9LJGzw== 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 102E717E138B; Thu, 22 Jan 2026 00:17:59 +0100 (CET) From: Cristian Ciocaltea Date: Thu, 22 Jan 2026 01:17:35 +0200 Subject: [PATCH 2/6] drm/rockchip: dw_dp: Switch to drmm_kzalloc() 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: <20260122-drm-rk-fixes-v1-2-3942f185750e@collabora.com> References: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> In-Reply-To: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov 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 Driver makes use of drmm_encoder_init() to initialize the encoder and automatically handle the cleanup by registering drm_encoder_cleanup() with drmm_add_action(). However, the internal structure containing the encoder part gets allocated with devm_kzalloc(), which happens while component_bind_all() is being called from Rockchip DRM driver. The component framework further ensures it is deallocated as part of releasing all the resources claimed during bind, which is triggered from component_unbind_all(). When the reference to the DRM device gets eventually dropped via drm_dev_put() in rockchip_drm_unbind(), drmm_encoder_alloc_release() attempts to access the now released encoder structure, leading to use-after-free. Ensure driver's internal structure is still reachable on encoder cleanup by switching from a device-managed allocation to a drm-managed one. Fixes: d68ba7bac955 ("drm/rockchip: Add RK3588 DPTX output support") Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_dp-rockchip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c b/drivers/gpu/drm/ro= ckchip/dw_dp-rockchip.c index 25ab4e46301e..98d97e0f3cf4 100644 --- a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_dp-rockchip.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -82,7 +83,7 @@ static int dw_dp_rockchip_bind(struct device *dev, struct= device *master, void * struct drm_connector *connector; int ret; =20 - dp =3D devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL); + dp =3D drmm_kzalloc(drm_dev, sizeof(*dp), GFP_KERNEL); if (!dp) return -ENOMEM; =20 --=20 2.52.0 From nobody Sun Feb 8 17:13:46 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 71D8E3203B4 for ; Wed, 21 Jan 2026 23:18:02 +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=1769037487; cv=none; b=Mp+F4L5IddGVdxirPyrPco9UDeCRFY9qPi3/AKl4oJ2/MZO3KiuM25ft4x2GpEZvjpH09bT7gOUb8jfx4Mh+FSmwQ4tiOX/2Sw3ZZ+G90dg4yS3faRlOGw8GNB1ZIAgMwBDzClCgqj8t+qA19FBMRQfCOFFiDlMNH67AJGI0Wu8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769037487; c=relaxed/simple; bh=ZGveAJqQ1k88TxxI0g8RwTFg9n7mNfsWZAYPcfS1bz4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tmjpoWCh7xldHMlGOMmSBSKOd8o7hlM0ofSxwtjjSEe2b7IqO7oMhm87RYkT1lD5QzhqPoIzSWW9zrasQ9r5J4TQs0+H/DV57NBmWzI9BNNawBehtuxKPpnvF/OS/nlVfcRfFbW5nhUFc3Mr8bbviGY1krnI+fa7dNPmAX+b/Xs= 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=WJ6QRgiD; 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="WJ6QRgiD" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1769037480; bh=ZGveAJqQ1k88TxxI0g8RwTFg9n7mNfsWZAYPcfS1bz4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=WJ6QRgiD8O9UXa2jilKWmox07w8XDr7bvSekiYTHeP+bt5xVeh9xcm/pqxUzf6hqx 5lsDgwfomETZtOcUEO2kQanIXWMJZTaYQgBDaJ5a+eyZH0HM9Nui6BxAxpkffsSdli LY2kv2gqzszW2zjHaKONXaRYBE6RaGW4O/eg3+HSq3WOrRBiwU8QM2qyPyl9IK0v8O avC+yXLgL3/942pQxDvZybKF0t5SjPFyZKuXgdgOC1Gwcjs08XDaJNlTq2DKJ1XrEq +aQWFsZ5BCxbkxpone/rVOPpocxETajnPzL2OeVWhkc6ZeVqo7wI8VsBtXXlE55RON 2t82DV2e1QuoQ== 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 D3B5517E139F; Thu, 22 Jan 2026 00:17:59 +0100 (CET) From: Cristian Ciocaltea Date: Thu, 22 Jan 2026 01:17:36 +0200 Subject: [PATCH 3/6] drm/rockchip: dw_dp: Fix null-ptr-deref in dw_dp_remove() 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: <20260122-drm-rk-fixes-v1-3-3942f185750e@collabora.com> References: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> In-Reply-To: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov 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 Attempting to access driver data in the platform driver ->remove() callback may lead to a null pointer dereference since there is no guaranty that the component ->bind() callback invoking platform_set_drvdata() was executed. A common scenario is when Rockchip DRM driver didn't manage to run component_bind_all() because of an (unrelated) error causing early return from rockchip_drm_bind(). Drop the unnecessary call to platform_get_drvdata() and, instead, reference the target device structure via platform_device. Fixes: d68ba7bac955 ("drm/rockchip: Add RK3588 DPTX output support") Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_dp-rockchip.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c b/drivers/gpu/drm/ro= ckchip/dw_dp-rockchip.c index 98d97e0f3cf4..6d57e1c74627 100644 --- a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_dp-rockchip.c @@ -130,9 +130,7 @@ static int dw_dp_probe(struct platform_device *pdev) =20 static void dw_dp_remove(struct platform_device *pdev) { - struct rockchip_dw_dp *dp =3D platform_get_drvdata(pdev); - - component_del(dp->dev, &dw_dp_rockchip_component_ops); + component_del(&pdev->dev, &dw_dp_rockchip_component_ops); } =20 static const struct of_device_id dw_dp_of_match[] =3D { --=20 2.52.0 From nobody Sun Feb 8 17:13:46 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 998293B531C for ; Wed, 21 Jan 2026 23:18:04 +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=1769037490; cv=none; b=ffhs/VO+BZ2uwHgUv+GMwxtcZ7WPmLoBHfWSpnaHsgU6fG2xtURCJUfWMVFl9Ic6bzOblJbQQitz/1dIBzXkx9klqbk7JzjlPYLt/XroKms26Xkmtc6p1X1z4vUEJKvN9Hc2UDp2yxtpBBLerGKv03ssJK3Zk5vUnevkvBaEWxA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769037490; c=relaxed/simple; bh=k+lpKw/GkEE1qZBAsdHOtmmT4OdP3htD+kdTsbNCAeI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tG0MUaMlORQNIrPXd124SeSQ9sZx5+ZDVYWD2n5xr+MWQan9oTEfFafOmQccchuNDYEFyCtfTW4oG/dlxWEzeV0ZjNEiF/m219E7DvP8/ocwAVybGrZFiBvaczF1T66+tvvLfIn4jUhzyMjLpQoMHoyRs1EZnUwIaguYkLvnmrI= 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=G474uepk; 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="G474uepk" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1769037480; bh=k+lpKw/GkEE1qZBAsdHOtmmT4OdP3htD+kdTsbNCAeI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=G474uepkcLEufCY9CSLX4eOL43laBwOix+QhdgAKqSD8ocBWQEbDbkZsGp7F/dRhJ uO7ZQRSKItQdlFDPEGBtNpKYhpJfa6IJ+Bo6h4Ck0W5qUJRsNbtJvrzzx2lOzKJbnq D0qgpealA/utLVFiqyKWv+m1cdKYE2zb7enUe8KQ/6S17oR9efitxFAKYgeSkOMuFk T4/O96ZdEn9KDXUCbF+mI0COI0kpe7sUeX2kGWCubCo0Xn5WIVCoyYImL5RORFssvT EN6bCwq6H0NYrD8OeVuxXPP8321Qn4nmC97e1lZ7l9oebAggifvxr0CazGwaSggfsi ki94oXV8mXgPg== 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 AD83117E13D3; Thu, 22 Jan 2026 00:18:00 +0100 (CET) From: Cristian Ciocaltea Date: Thu, 22 Jan 2026 01:17:37 +0200 Subject: [PATCH 4/6] drm/rockchip: dw_dp: Simplify error handling 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: <20260122-drm-rk-fixes-v1-4-3942f185750e@collabora.com> References: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> In-Reply-To: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov 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 Make the code a bit more compact by getting rid of the superfluous assignments around PTR_ERR(). While at it, also drop dev assignment in dw_dp_probe(). Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_dp-rockchip.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c b/drivers/gpu/drm/ro= ckchip/dw_dp-rockchip.c index 6d57e1c74627..785f9727b4e1 100644 --- a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_dp-rockchip.c @@ -101,20 +101,15 @@ static int dw_dp_rockchip_bind(struct device *dev, st= ruct device *master, void * drm_encoder_helper_add(encoder, &dw_dp_encoder_helper_funcs); =20 dp->base =3D dw_dp_bind(dev, encoder, &plat_data); - if (IS_ERR(dp->base)) { - ret =3D PTR_ERR(dp->base); - return ret; - } + if (IS_ERR(dp->base)) + return PTR_ERR(dp->base); =20 connector =3D drm_bridge_connector_init(drm_dev, encoder); - if (IS_ERR(connector)) { - ret =3D PTR_ERR(connector); - return dev_err_probe(dev, ret, "Failed to init bridge connector"); - } + if (IS_ERR(connector)) + return dev_err_probe(dev, PTR_ERR(connector), + "Failed to init bridge connector"); =20 - drm_connector_attach_encoder(connector, encoder); - - return 0; + return drm_connector_attach_encoder(connector, encoder); } =20 static const struct component_ops dw_dp_rockchip_component_ops =3D { @@ -123,9 +118,7 @@ static const struct component_ops dw_dp_rockchip_compon= ent_ops =3D { =20 static int dw_dp_probe(struct platform_device *pdev) { - struct device *dev =3D &pdev->dev; - - return component_add(dev, &dw_dp_rockchip_component_ops); + return component_add(&pdev->dev, &dw_dp_rockchip_component_ops); } =20 static void dw_dp_remove(struct platform_device *pdev) --=20 2.52.0 From nobody Sun Feb 8 17:13:46 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 33C4B3F0761 for ; Wed, 21 Jan 2026 23:18:08 +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=1769037492; cv=none; b=ZPB8ZoaFbrXG0A7fZWDnKq+0MHXGSweL5j4WBBIdWBwlfzR5wMn+C0epX1AIwUnUCQ5i1T+ETc973T5QruZ+hCS9nwK44oMOboHC3HpG1J7Umt5SsTwp6SX1FepQvnECcGOosx2jBU8odgR1k/hN51pgJSyh6Eg3h83FblNtxIE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769037492; c=relaxed/simple; bh=QD3lawmiWIE2DGClkQ8wGZNCh9NyDdwVlxJuPugz7gY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dAsIvgsa6xp4gvQmR3LNEJsQ/4TlbJV2Dmq9q1KE8VEDIVpraDqvLIKHN2jUFBehDzvzTj9lk7Q/89uOXKuzjHI6yIPwV/1Afq+8j4/DrLcWGCfecmsIm0LmbqX+RQe0NUr9G7ht6ux/zJDeKd3fKo5jumaMj16U1lbxeo70Obg= 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=WTZOuz5b; 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="WTZOuz5b" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1769037481; bh=QD3lawmiWIE2DGClkQ8wGZNCh9NyDdwVlxJuPugz7gY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=WTZOuz5b6VhUwKTYeBHAjlZGq2tS/FaP3hbdiDBDY497r8aUXw7bJgnOuB74Vuk0s WqIhHoNCyB08C0vknYpd2je+er2JMx4z/2gPnwD9xDs4Ts697xm5MqNWNCHkOCSkDv 8EFHat6aaZA4OP2WC76Ml7Hkn8ptlcZ+36KGDnkN7llJS5xlbknzRB6Mwg2A5Xc+GK 49RZ195pUIpmym4DXEedMxEdpELjhyiS78uyuJK29tQOJLl7+hA69pna76KhazuKA0 H2SpZ+2e7UF5A5xEXtvV5CrCSRqMJu/Pqz5kgHtgLmj6ikjIE/pBKDcnql6eJfTHNU ThjiiAr+SuFSA== 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 94BA217E1418; Thu, 22 Jan 2026 00:18:01 +0100 (CET) From: Cristian Ciocaltea Date: Thu, 22 Jan 2026 01:17:38 +0200 Subject: [PATCH 5/6] drm/rockchip: dw_dp: Drop unnecessary #include 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: <20260122-drm-rk-fixes-v1-5-3942f185750e@collabora.com> References: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> In-Reply-To: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov 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 Included header "rockchip_drm_vop.h" is not directly used, drop it. While at it, ensure #include directives are ordered alphabetically. Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_dp-rockchip.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c b/drivers/gpu/drm/ro= ckchip/dw_dp-rockchip.c index 785f9727b4e1..6abad24fa9cd 100644 --- a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_dp-rockchip.c @@ -7,8 +7,11 @@ */ =20 #include +#include #include #include +#include + #include #include #include @@ -19,11 +22,7 @@ #include #include =20 -#include -#include - #include "rockchip_drm_drv.h" -#include "rockchip_drm_vop.h" =20 struct rockchip_dw_dp { struct dw_dp *base; --=20 2.52.0 From nobody Sun Feb 8 17:13:46 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 39B3342E011 for ; Wed, 21 Jan 2026 23:18:08 +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=1769037491; cv=none; b=m3tt6gtWZQEIxB/JFt20jWjNdoYbhiPb6UsVKT1RoZJP0mF+sBOj5e03+izi1zf1vHqqp+rhyNux0pFkZsL+Y5ku14iio+ABKXr830Te5ol1V3AG2fCu97OyTE00OO/KmT2tt4+ap7mclpGnRuZhIipw0n6q0u+5roVM3ZXNo6o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769037491; c=relaxed/simple; bh=R+xJHiWmqddfOaWnYrv4TmuM68RjSsTBkMbRVA8KSLo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TaFioIRp7IbxIzmWRwMRUyHktoh3Q68QlhFh+wvgYdpn9tSptOGPB1N2+slcVzWCq+AWqCFnaCOBcDi9q6A9vkF5vTCfvFtm+ezTkEydBvDMIUdnCqtj1y6cAVGhHKCEJYmNZPtWB4D+UI58Lrp6RS3SpurtT6Jivx+KagrP2Eg= 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=HbFMzAd/; 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="HbFMzAd/" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1769037482; bh=R+xJHiWmqddfOaWnYrv4TmuM68RjSsTBkMbRVA8KSLo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=HbFMzAd/cFrR6jx5Sj2PSFh+P7Oj3kZvYhuXk5n9FbaSh+f7crp1+8Agn3amlJJZp Opu0NnH5ON0FaMDee1h/n+o6lZJgMz6lCQnblGtMFcZzFbLITvknRmHstnS6yzhQTO cqT9kBRYKLU6gwl1/45+WOcwLXRurbEuluTy9Gk8QMBGqHlM3isMNIRRqqKTCS/Myy l4Qir70CMU33fNR0GV9dWRvsD8ofRXct1ZN9mo1wSrKvoHDodIXGab3XfO/MxTpnYX rbNoPG/Pa7j8acKnlOBOBXlFoILA6DjjpYXkXXrMVSqO7+V5hXHYLrwrbqrcCf0cAH ZvkU9kVHIyzCA== 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 5F92217E1513; Thu, 22 Jan 2026 00:18:02 +0100 (CET) From: Cristian Ciocaltea Date: Thu, 22 Jan 2026 01:17:39 +0200 Subject: [PATCH 6/6] drm/rockchip: dw_hdmi_qp: Switch to drmm_encoder_init() 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: <20260122-drm-rk-fixes-v1-6-3942f185750e@collabora.com> References: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> In-Reply-To: <20260122-drm-rk-fixes-v1-0-3942f185750e@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov 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 Simplify encoder initialization and cleanup by making use of drmm_encoder_init(), which takes care of registering drm_encoder_cleanup() with drmm_add_action(). Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c b/drivers/gpu/d= rm/rockchip/dw_hdmi_qp-rockchip.c index a8190a6e8978..94136d7fb1c3 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -477,7 +478,7 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev,= struct device *master, if (!pdev->dev.of_node) return -ENODEV; =20 - hdmi =3D devm_kzalloc(&pdev->dev, sizeof(*hdmi), GFP_KERNEL); + hdmi =3D drmm_kzalloc(drm, sizeof(*hdmi), GFP_KERNEL); if (!hdmi) return -ENOMEM; =20 @@ -586,16 +587,16 @@ static int dw_hdmi_qp_rockchip_bind(struct device *de= v, struct device *master, return ret; =20 drm_encoder_helper_add(encoder, &dw_hdmi_qp_rockchip_encoder_helper_funcs= ); - drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); + ret =3D drmm_encoder_init(drm, encoder, NULL, DRM_MODE_ENCODER_TMDS, NULL= ); + if (ret) + return dev_err_probe(hdmi->dev, ret, "Failed to init encoder"); =20 platform_set_drvdata(pdev, hdmi); =20 hdmi->hdmi =3D dw_hdmi_qp_bind(pdev, encoder, &plat_data); - if (IS_ERR(hdmi->hdmi)) { - drm_encoder_cleanup(encoder); + if (IS_ERR(hdmi->hdmi)) return dev_err_probe(hdmi->dev, PTR_ERR(hdmi->hdmi), "Failed to bind dw-hdmi-qp"); - } =20 connector =3D drm_bridge_connector_init(drm, encoder); if (IS_ERR(connector)) @@ -612,8 +613,6 @@ static void dw_hdmi_qp_rockchip_unbind(struct device *d= ev, struct rockchip_hdmi_qp *hdmi =3D dev_get_drvdata(dev); =20 cancel_delayed_work_sync(&hdmi->hpd_work); - - drm_encoder_cleanup(&hdmi->encoder.encoder); } =20 static const struct component_ops dw_hdmi_qp_rockchip_ops =3D { --=20 2.52.0