From nobody Sun Feb 8 12:32:12 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 14DE2258ED7 for ; Thu, 15 Jan 2026 16:25:05 +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=1768494307; cv=none; b=aDLKpf8zOBdWPI+id6H7fblru9/+b+jCjKvI1wAMnStdz4f99T/Ds9J6fAxi6T2cYGUpiXC8cgQU/ReG/dOo8y5HF0r4JrME8O7s9rpa/A7721gJcdsFkM+HUc/Q5DUR+uVm0x+Poo1RbJCDOX9Lm1spEi/66PsidymQPRVhZVA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768494307; c=relaxed/simple; bh=sZkcmxgPloiZOgcyn0CucYEXzZq6QpSQQfwD2zQtYb0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=D9PhnSzOclCKP/vCfQCpQlpSVcf+UNcXISuHXl1UasAFrqx5pcErRahmnxuMDzphSgCUZbWhOlr1JsDNeTWDVgzps1xr2q3/r3CgxKoGeTGxwCZVHoNlEcyK34nnPWgQiQSveLON/ROzS1D6/AZMLDys2c+6M7yD6ELusj2d8+g= 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=JWBfxwqX; 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="JWBfxwqX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1768494304; bh=sZkcmxgPloiZOgcyn0CucYEXzZq6QpSQQfwD2zQtYb0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=JWBfxwqX5FBqNKey+KoyFDp9aSS9Uvly3g/ZY5dIiWJUO85ZF91M2sxIxPRbVEDxJ cAjj+AvfWSKd7GAxs/ebD0maPRPOrL2jS7++4wjjnCcbDShSBTubLgPXTLheIvDfCN eqvhjM8PkUqNkdgGz+AMBDyUvlobK88l7FUNOCHFfXa/DsLprBmPDGr7vACdg1bPEj LisAP8WUJe+qTXSA6+Uuf70fbLDXjpmmqEmYu6m480+L65kX56fQp3useqlHs7aIfF iGJ3b30LVtR+u8tYf8BKMrPeP9CD3rp8pBhBkej9DN5zo/dxdd7tOzIjBLl8XHjqdY c1tt6E0eCPWEw== 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 3B9C317E07FA; Thu, 15 Jan 2026 17:25:04 +0100 (CET) From: Cristian Ciocaltea Date: Thu, 15 Jan 2026 18:24:43 +0200 Subject: [PATCH 1/2] drm/rockchip: dw_hdmi_qp: Fix RK3576 HPD interrupt 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: <20260115-dw-hdmi-qp-hpd-v1-1-e59c166eaa65@collabora.com> References: <20260115-dw-hdmi-qp-hpd-v1-0-e59c166eaa65@collabora.com> In-Reply-To: <20260115-dw-hdmi-qp-hpd-v1-0-e59c166eaa65@collabora.com> 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 The threaded interrupt handler on RK3576 checks HPD IRQ status before deciding to continue with interrupt clearing and unmasking. This is not only redundant, since a similar verification has been already performed by the hard IRQ handler before masking the interrupt, but is also error prone, because it might happen that hardware clears the status register right after the masking operation completes, and before the threaded handler reads its value. The consequence is that HPD IRQ gets never unmasked, which breaks hotplug detection until reloading the driver or rebooting the system. Drop the unnecessary verification of the HPD interrupt status from the threaded interrupt handler. Fixes: 36439120efbd ("drm/rockchip: dw_hdmi_qp: Add basic RK3576 HDMI outpu= t support") Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 7 +------ 1 file changed, 1 insertion(+), 6 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 c4365909c3e7..33b0f032258a 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c @@ -280,12 +280,7 @@ static irqreturn_t dw_hdmi_qp_rk3576_hardirq(int irq, = void *dev_id) static irqreturn_t dw_hdmi_qp_rk3576_irq(int irq, void *dev_id) { struct rockchip_hdmi_qp *hdmi =3D dev_id; - u32 intr_stat, val; - - regmap_read(hdmi->regmap, RK3576_IOC_HDMI_HPD_STATUS, &intr_stat); - - if (!intr_stat) - return IRQ_NONE; + u32 val; =20 val =3D FIELD_PREP_WM16(RK3576_HDMI_HPD_INT_CLR, 1); regmap_write(hdmi->regmap, RK3576_IOC_MISC_CON0, val); --=20 2.52.0 From nobody Sun Feb 8 12:32:12 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 BC34E3A1E86 for ; Thu, 15 Jan 2026 16:25:06 +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=1768494308; cv=none; b=M8G4Eugr+iFqr4FJjsuIGzTFRWNsfb/Da2IB3CkYG+yGmI/y26oMjX4aY8CoKttd1kQXoQlroAcEYDmhthcmJdOVP2n0ZIFxwqh0uV424TckPSZ7yyZWkXtM1ztBHu/fX0k2NVqFTjDqPk1MJK7/UNPHgQtUEWA4CRDgJyMX+GM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768494308; c=relaxed/simple; bh=/CCrYh7W0suAYtv3OX70FqKaBFbQbCECSAbjQPVaNzE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pD3u7ZGrNV1j9DDNlhtWOFi4xNTdY0SygZuEUPtLhDrScba87Z2sequAiDov5t9kVF1/yUtI+B1VbvfduKWYTh+7I2SWyvX3B4IEE2pNGsQxhPpRc+x9wD2v9UWUF82yl5o+BvT2I4c5OmpilB6E2dRaVkbROQYrTnQOuE76Rqg= 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=lPB2L/bn; 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="lPB2L/bn" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1768494305; bh=/CCrYh7W0suAYtv3OX70FqKaBFbQbCECSAbjQPVaNzE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=lPB2L/bnwttiLDcMPaDdYqjIwP+58KHPNjI1HKQSw23LRmbm3+sdU9mUdJCyYMvvu 8Uz8Who5NCISaIEIJREP1cuV4hLZ9gHkDAle58yEc4whGF7ZRwW8FMzEnWgXMvZDXG wAb0XOetcMxGFh5WKNwnoXFdJQP5gDtuq4BDji50ujakd7BGvIdEaqqcl3TnW0ztGZ z2HoX47znIOcu90MWsVk0bHpwFTYR2ej92wZZ6CREzx6vJJO3wy99vWNq45b+rUNF1 DyTAgh+OypfCB2k3fMFyEeR2DKOH4Ls+Pq79SH7ZP9uj9yjHfsmGFR0LkVXMnqPcMU tKmUahKaZGqnw== 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 1441917E0CF3; Thu, 15 Jan 2026 17:25:05 +0100 (CET) From: Cristian Ciocaltea Date: Thu, 15 Jan 2026 18:24:44 +0200 Subject: [PATCH 2/2] drm/rockchip: dw_hdmi_qp: Optimize RK3588 HPD interrupt 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: <20260115-dw-hdmi-qp-hpd-v1-2-e59c166eaa65@collabora.com> References: <20260115-dw-hdmi-qp-hpd-v1-0-e59c166eaa65@collabora.com> In-Reply-To: <20260115-dw-hdmi-qp-hpd-v1-0-e59c166eaa65@collabora.com> 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 The threaded interrupt handler on RK3588 checks HPD IRQ status before deciding to continue with interrupt clearing and unmasking. However, this is not really necessary, since the hard interrupt handler already performs the very same verification before waking the handler thread. Get rid of the redundant verification of the HPD interrupt status in the threaded interrupt handler. Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 6 +----- 1 file changed, 1 insertion(+), 5 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 33b0f032258a..1a09bcc96c3e 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c @@ -315,11 +315,7 @@ static irqreturn_t dw_hdmi_qp_rk3588_hardirq(int irq, = void *dev_id) static irqreturn_t dw_hdmi_qp_rk3588_irq(int irq, void *dev_id) { struct rockchip_hdmi_qp *hdmi =3D dev_id; - u32 intr_stat, val; - - regmap_read(hdmi->regmap, RK3588_GRF_SOC_STATUS1, &intr_stat); - if (!intr_stat) - return IRQ_NONE; + u32 val; =20 if (hdmi->port_id) val =3D FIELD_PREP_WM16(RK3588_HDMI1_HPD_INT_CLR, 1); --=20 2.52.0