From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.forwardemail.net (smtp.forwardemail.net [121.127.44.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8215938D6B5 for ; Mon, 18 May 2026 19:48:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=121.127.44.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779133687; cv=none; b=SI5CXUxXxqvcWAFAZ7z0Wdez9io0Fw4TXsCnDlYHDrp+NclsNjmx1d8hsOb29Qws0zzPoeOCwt6d2ig8521llS1/VePuRWsiWM/VFbaSh6q9+YKtJvHCFQDfrcv13/TIleUW1tllyqL7F7GLlNfjx5QWey/Ea5zKox+TrrWY/VA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779133687; c=relaxed/simple; bh=1C+3efaz/S3z/Fy7UHNewvw/JBec7xtXWoSDY77CuGY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WQ5TPWPzEN3MHLsLx5O99gUZljBKjsXs2kta5pEi3oTtILdj8t8VPqxh9P5wzPmAW46Lzn5q8WI2BGgeO/XFJuRhzg5rkva2uaEzBDnMF6Osk6bUNp20rk2oqvQFeEw6DcaYfXG/lQC95iQOqyd4wNLgSt/kxYXvQhF0sQ6gSWk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=GzWT+PIj; arc=none smtp.client-ip=121.127.44.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="GzWT+PIj" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1779133685; bh=ix3tqGj9O/73OPDzykQq3AN3AmgT+JSGiiTMGr+5/U4=; b=GzWT+PIj2RR026GYHmtCnij+Vi4odGbpru8GuvQgr15NFAHPa6P+306gGYq1ThRkaMK0VR+hn mGjyknpcuywf6q/6ufZ8veyH+ptWHuoOdJbxTLD8QkjD30o55pqEhTqmUB0Q2zOdeE/I5aGWmfv rRe4fV7Z3G6HV7nBM5b8HVR35eQ6R3/agb5AtcdYiFUUQpWt3I5h+nPpzjcwYTxD8CNo/Bou+eN aoOpJazNhUhI7IDx6s3pxYBnoe80oL7sTTapRUeLRkOLTPx5gYTBCp1V4w/tqZtt8aTFKvQp6KZ L/Edkryo/pLgCL3/pWxPv1uCIzQFnjsQdvs+OsK2l/rw== X-Forward-Email-ID: 6a0b6cecb74b0ebd362eee20 X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 121.127.44.73 X-Forward-Email-Version: 2.8.12 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Neil Armstrong , Kevin Hilman , Heiko Stuebner , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Jerome Brunet , Martin Blumenstingl Cc: dri-devel@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman , linux-rockchip@lists.infradead.org Subject: [PATCH 01/13] drm/meson: dw-hdmi: Report connector status based on HPD bit Date: Mon, 18 May 2026 19:47:29 +0000 Message-ID: <20260518194744.2483580-2-jonas@kwiboo.se> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260518194744.2483580-1-jonas@kwiboo.se> References: <20260518194744.2483580-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit G12A added support for RX-SENSE, status for both HPD and RX-SENSE is reported in the TOP_STAT0 register. Limit read_hpd() phy ops to only report connected status based on the HPD status bit in TOP_STAT0, to help ensure that EDID can be read from the sink in the connector detect() func. Fixes: 3b7c1237a72a ("drm/meson: Add G12A support for the DW-HDMI Glue") Signed-off-by: Jonas Karlman --- drivers/gpu/drm/meson/meson_dw_hdmi.c | 6 ++++-- drivers/gpu/drm/meson/meson_dw_hdmi.h | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c index 2a8756da569b..993f6d5d4b29 100644 --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c @@ -457,9 +457,11 @@ static enum drm_connector_status dw_hdmi_read_hpd(struct dw_hdmi *hdmi, void *data) { struct meson_dw_hdmi *dw_hdmi = (struct meson_dw_hdmi *)data; + unsigned int stat; - return !!dw_hdmi->data->top_read(dw_hdmi, HDMITX_TOP_STAT0) ? - connector_status_connected : connector_status_disconnected; + stat = dw_hdmi->data->top_read(dw_hdmi, HDMITX_TOP_STAT0); + return stat & HDMITX_TOP_STAT0_HPD ? connector_status_connected : + connector_status_disconnected; } static void dw_hdmi_setup_hpd(struct dw_hdmi *hdmi, diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.h b/drivers/gpu/drm/meson/meson_dw_hdmi.h index 08e1c14e4ea0..cb4616daf667 100644 --- a/drivers/gpu/drm/meson/meson_dw_hdmi.h +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.h @@ -157,4 +157,7 @@ */ #define HDMITX_TOP_STAT0 (0x00E) +#define HDMITX_TOP_STAT0_HPD BIT(0) +#define HDMITX_TOP_STAT0_RXSENSE BIT(1) + #endif /* __MESON_DW_HDMI_H */ -- 2.54.0