From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 232FCD0E6D5 for ; Mon, 21 Oct 2024 09:38:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=x0mt5y5RFhL9Daqb965L+6r3qD3Jb89oIrZMBLobP+c=; b=somb7qUq8N3fUId8YWT96MF3+b gguxGg4iLcmPPGikyLF763iyh5XncpsaJc+IsttGBkFJ0YKsiWNpj5tMSi0QzfskQNVCbqcU9eoJ8 e7aw2id3mrf2RNnXcJp1y+RL558GMqnBO5eE9f4/PEnrIZnIQJXDrxwyXrxcrnaAmuqa2X9U+S5LI zbVCpiB+QGSnZt1YaXYjsxh/TwBg6enTshPXGi3cCQaRhVHLPTi+q+zKRzLr0BseJBwZGljWb6xDZ VsrGe0d0Lz94IaqZOTI5i/LjaCukachjtIbDIGG1H2+M7SJSs+d2T482IUUx6Y8Zbh2fhZQh5mbgR ioZYgvJg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t2orp-00000006jP1-3Hjz; Mon, 21 Oct 2024 09:38:25 +0000 Received: from nyc.source.kernel.org ([2604:1380:45d1:ec00::3]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t2olk-00000006hxm-0hwP for linux-arm-kernel@lists.infradead.org; Mon, 21 Oct 2024 09:32:09 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id DACB6A41E65; Mon, 21 Oct 2024 09:31:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2F3ADC4CEC3; Mon, 21 Oct 2024 09:32:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1729503126; bh=o9GSQ+2j89yvUpyu6yj/PhTEqoO1iN3ay/vQtVCBN8w=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=di5V5vWqwW+KJSZ7QJGLtQSJW0Cp6BUJCqjmfGS/DJ4h5D0mydS5i5fzg7+evEXUC +ZgXk+9SmieeSU+4VBrLXuTxQdT07bMalBh28OC7N0vUha/ZD5EpFsPDxuwm4hFtsY I9/A+bbqQX7QIqjBFs7l4vKNMmlxsSWXO1CcXtl3TdoOMHq9FgqacMomDbajJPW1xc mKHf5ZpCaVs7588P7ZgikGDOII4AyTOMT6pV7JbFltZQfU5WcamZLtT6f37aSo7WwR 1MAeb/ORrpd7n/q1gfqWyxpoTNQGkFK22lXZXrCWJr2mHi6wAx3R1XWKsTFI2PP+xp IYjQuAhVIdouw== Date: Mon, 21 Oct 2024 11:32:03 +0200 From: Maxime Ripard To: Dmitry Baryshkov Cc: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Dave Stevenson , =?utf-8?B?TWHDrXJh?= Canal , Raspberry Pi Kernel Maintenance , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev Subject: Re: [PATCH 1/6] drm/display: hdmi: add generic mode_valid helper Message-ID: <20241021-chubby-fascinating-labradoodle-144990@houat> References: <20241018-hdmi-mode-valid-v1-0-6e49ae4801f7@linaro.org> <20241018-hdmi-mode-valid-v1-1-6e49ae4801f7@linaro.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha384; protocol="application/pgp-signature"; boundary="ifj5lbqztqmt6mh7" Content-Disposition: inline In-Reply-To: <20241018-hdmi-mode-valid-v1-1-6e49ae4801f7@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241021_023208_355939_5ACB2770 X-CRM114-Status: GOOD ( 22.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org --ifj5lbqztqmt6mh7 Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH 1/6] drm/display: hdmi: add generic mode_valid helper MIME-Version: 1.0 On Fri, Oct 18, 2024 at 11:34:19PM +0300, Dmitry Baryshkov wrote: > Add drm_hdmi_connector_mode_valid(), generic helper for HDMI connectors. > It can be either used directly or as a part of the .mode_valid callback. >=20 > Signed-off-by: Dmitry Baryshkov > --- > drivers/gpu/drm/display/drm_hdmi_helper.c | 25 +++++++++++++++++++++++++ > include/drm/display/drm_hdmi_helper.h | 4 ++++ > 2 files changed, 29 insertions(+) >=20 > diff --git a/drivers/gpu/drm/display/drm_hdmi_helper.c b/drivers/gpu/drm/= display/drm_hdmi_helper.c > index 74dd4d01dd9b..0ac5cb000ee2 100644 > --- a/drivers/gpu/drm/display/drm_hdmi_helper.c > +++ b/drivers/gpu/drm/display/drm_hdmi_helper.c > @@ -256,3 +256,28 @@ drm_hdmi_compute_mode_clock(const struct drm_display= _mode *mode, > return DIV_ROUND_CLOSEST_ULL(clock * bpc, 8); > } > EXPORT_SYMBOL(drm_hdmi_compute_mode_clock); > + > +/** > + * drm_hdmi_connector_mode_valid() - Check if mode is valid for HDMI con= nector > + * @connector: DRM connector to validate the mode > + * @mode: Display mode to validate > + * > + * Generic .mode_valid implementation for HDMI connectors. > + */ > +enum drm_mode_status > +drm_hdmi_connector_mode_valid(const struct drm_connector *connector, > + const struct drm_display_mode *mode) > +{ > + const struct drm_connector_hdmi_funcs *funcs =3D connector->hdmi.funcs; > + unsigned long long rate; > + > + rate =3D drm_hdmi_compute_mode_clock(mode, 8, HDMI_COLORSPACE_RGB); > + if (!rate) > + return MODE_ERROR; > + > + if (!funcs || !funcs->tmds_char_rate_valid) > + return MODE_OK; > + > + return funcs->tmds_char_rate_valid(connector, mode, rate); > +} > +EXPORT_SYMBOL(drm_hdmi_connector_mode_valid); As discussed in the discussion that sparked that change, I believe that we should use hdmi_clock_valid. AFAIU, your concern was that max_tmds_clock might get stale, but then it would not only prevent mode_valid from running but also the commit entirely. We don't have any evidence from that, so I'd rather try to keep consistency between the two. And we can always try to address whatever issue we might have if it turned out to be a bad idea :) Maxime --ifj5lbqztqmt6mh7 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iJUEABMJAB0WIQTkHFbLp4ejekA/qfgnX84Zoj2+dgUCZxYfkwAKCRAnX84Zoj2+ dmkBAX4jObYHXj/SHbJRC5WTl3MBXQxOAgkEQpbyhFO5V+xPAbvV698NYOoHdja5 FBhM/noBfRcjFfvP1ocpWgpWF2Z6tm439LxZtf87jWDk62fy3ha3vmEp6ZNWbC44 1jIzo18utA== =2ErT -----END PGP SIGNATURE----- --ifj5lbqztqmt6mh7--