From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (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 40EA97C for ; Mon, 19 Sep 2022 15:38:28 +0000 (UTC) Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 174D8499; Mon, 19 Sep 2022 17:38:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1663601905; bh=WWpB0AZaasXvtTSKo5/9Q5GDRH5jyFAkHKu5Br3nsUI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ao/5MzoBgO+t7woVXZdNE0b4p8O63zE7E8y8ZKUH7lca4enEVXC90LbL/OW5sRNcl RhRKIzX49LEfBk3plsf59EcRAKy9oN37VAVDja0XnIbPdpaL6XSyWjbQ+bxLyWz2jB utUjHpvFC/A1PjebmB7rh9wUZPmL90dv3//emZ64= Date: Mon, 19 Sep 2022 18:38:11 +0300 From: Laurent Pinchart To: Sam Ravnborg Cc: dri-devel@lists.freedesktop.org, Andrzej Hajda , Neil Armstrong , Robert Foss , Jonas Karlman , Jernej Skrabec , Arnd Bergmann , Benson Leung , Cai Huoqing , chrome-platform@lists.linux.dev, Chun-Kuang Hu , Dafna Hirschfeld , Daniel Vetter , David Airlie , Enric Balletbo i Serra , Guenter Roeck , Jitao Shi , Kieran Bingham , linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-renesas-soc@vger.kernel.org, Maarten Lankhorst , Matthias Brugger , Maxime Ripard , Philip Chen , Philipp Zabel , Thomas Zimmermann , Tomi Valkeinen Subject: Re: [PATCH v1 07/12] drm/bridge: tc358767: Use drm_bridge_funcs.atomic_check Message-ID: References: <20220717174454.46616-1-sam@ravnborg.org> <20220717174454.46616-8-sam@ravnborg.org> Precedence: bulk X-Mailing-List: chrome-platform@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: On Mon, Sep 19, 2022 at 06:29:41PM +0300, Laurent Pinchart wrote: > On Sun, Jul 17, 2022 at 07:44:49PM +0200, Sam Ravnborg wrote: > > When atomic_check() is defined, then mode_fixup() is ignored, > > so it had no effect that drm_bridge_funcs.mode_fixup was assigned. > > Embed the original implementation in the caller and drop the function. > > > > Signed-off-by: Sam Ravnborg > > Cc: Andrzej Hajda > > Cc: Neil Armstrong > > Cc: Robert Foss > > Cc: Laurent Pinchart > > Cc: Jonas Karlman > > Cc: Jernej Skrabec > > Reviewed-by: Laurent Pinchart But this doesn't apply anymore, as the mode_fixup operation has been removed from the driver already. You can just drop this patch. > > --- > > drivers/gpu/drm/bridge/tc358767.c | 21 ++++++--------------- > > 1 file changed, 6 insertions(+), 15 deletions(-) > > > > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c > > index 02bd757a8987..b2ab967504af 100644 > > --- a/drivers/gpu/drm/bridge/tc358767.c > > +++ b/drivers/gpu/drm/bridge/tc358767.c > > @@ -1496,26 +1496,18 @@ tc_edp_bridge_atomic_disable(struct drm_bridge *bridge, > > dev_err(tc->dev, "main link disable error: %d\n", ret); > > } > > > > -static bool tc_bridge_mode_fixup(struct drm_bridge *bridge, > > - const struct drm_display_mode *mode, > > - struct drm_display_mode *adj) > > -{ > > - /* Fixup sync polarities, both hsync and vsync are active low */ > > - adj->flags = mode->flags; > > - adj->flags |= (DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC); > > - adj->flags &= ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC); > > - > > - return true; > > -} > > - > > static int tc_common_atomic_check(struct drm_bridge *bridge, > > struct drm_bridge_state *bridge_state, > > struct drm_crtc_state *crtc_state, > > struct drm_connector_state *conn_state, > > const unsigned int max_khz) > > { > > - tc_bridge_mode_fixup(bridge, &crtc_state->mode, > > - &crtc_state->adjusted_mode); > > + struct drm_display_mode *adj = &crtc_state->adjusted_mode; > > + > > + /* Fixup sync polarities, both hsync and vsync are active low */ > > + adj->flags = crtc_state->mode.flags; > > + adj->flags |= (DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC); > > + adj->flags &= ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC); > > > > if (crtc_state->adjusted_mode.clock > max_khz) > > return -EINVAL; > > @@ -1783,7 +1775,6 @@ static const struct drm_bridge_funcs tc_edp_bridge_funcs = { > > .atomic_check = tc_edp_atomic_check, > > .atomic_enable = tc_edp_bridge_atomic_enable, > > .atomic_disable = tc_edp_bridge_atomic_disable, > > - .mode_fixup = tc_bridge_mode_fixup, > > .detect = tc_bridge_detect, > > .get_edid = tc_get_edid, > > .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, -- Regards, Laurent Pinchart 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 D05DBC54EE9 for ; Mon, 19 Sep 2022 15:47:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=3I3+gVB4Kcqmi7q12KIsBgZvBFTI+dvuCaMfP6dNQrI=; b=I7gQf0dPsefK3V 6yZuk+UoX7jyzK1vNLWDWnXfEN4VlfiRfB5/Cn8PikbsINUN5Fa4zWmdrPecELcb3flDok9iqpAMt jB52sNPajj37QygTxPzzXPNGz7piOyugA77dDvONuslYxylfdPzXDxxcl9R2SIiHastHrtH8xYlLV hIBppyynX8WKLh1I4/j5PK8EpRpAGybEuZx6MLDaMtfN5jJbBdnOwZQlyGAyA19bu1Dm3tObso/Zg 9CS+QTE2+ir5PW3w7KkByPtJNZDqt30RKdQMB+sXK2YpEOK+qNt62ghgAES1ej2x5UD2Kt+h4uiF7 9Gi51foribobjHK/bhMg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oaIyK-00CcTq-CO; Mon, 19 Sep 2022 15:46:13 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oaIqp-00CYRw-GS; Mon, 19 Sep 2022 15:38:29 +0000 Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 174D8499; Mon, 19 Sep 2022 17:38:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1663601905; bh=WWpB0AZaasXvtTSKo5/9Q5GDRH5jyFAkHKu5Br3nsUI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ao/5MzoBgO+t7woVXZdNE0b4p8O63zE7E8y8ZKUH7lca4enEVXC90LbL/OW5sRNcl RhRKIzX49LEfBk3plsf59EcRAKy9oN37VAVDja0XnIbPdpaL6XSyWjbQ+bxLyWz2jB utUjHpvFC/A1PjebmB7rh9wUZPmL90dv3//emZ64= Date: Mon, 19 Sep 2022 18:38:11 +0300 From: Laurent Pinchart To: Sam Ravnborg Cc: dri-devel@lists.freedesktop.org, Andrzej Hajda , Neil Armstrong , Robert Foss , Jonas Karlman , Jernej Skrabec , Arnd Bergmann , Benson Leung , Cai Huoqing , chrome-platform@lists.linux.dev, Chun-Kuang Hu , Dafna Hirschfeld , Daniel Vetter , David Airlie , Enric Balletbo i Serra , Guenter Roeck , Jitao Shi , Kieran Bingham , linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-renesas-soc@vger.kernel.org, Maarten Lankhorst , Matthias Brugger , Maxime Ripard , Philip Chen , Philipp Zabel , Thomas Zimmermann , Tomi Valkeinen Subject: Re: [PATCH v1 07/12] drm/bridge: tc358767: Use drm_bridge_funcs.atomic_check Message-ID: References: <20220717174454.46616-1-sam@ravnborg.org> <20220717174454.46616-8-sam@ravnborg.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220919_083827_735310_EDA2668D X-CRM114-Status: GOOD ( 21.23 ) 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, Sep 19, 2022 at 06:29:41PM +0300, Laurent Pinchart wrote: > On Sun, Jul 17, 2022 at 07:44:49PM +0200, Sam Ravnborg wrote: > > When atomic_check() is defined, then mode_fixup() is ignored, > > so it had no effect that drm_bridge_funcs.mode_fixup was assigned. > > Embed the original implementation in the caller and drop the function. > > > > Signed-off-by: Sam Ravnborg > > Cc: Andrzej Hajda > > Cc: Neil Armstrong > > Cc: Robert Foss > > Cc: Laurent Pinchart > > Cc: Jonas Karlman > > Cc: Jernej Skrabec > > Reviewed-by: Laurent Pinchart But this doesn't apply anymore, as the mode_fixup operation has been removed from the driver already. You can just drop this patch. > > --- > > drivers/gpu/drm/bridge/tc358767.c | 21 ++++++--------------- > > 1 file changed, 6 insertions(+), 15 deletions(-) > > > > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c > > index 02bd757a8987..b2ab967504af 100644 > > --- a/drivers/gpu/drm/bridge/tc358767.c > > +++ b/drivers/gpu/drm/bridge/tc358767.c > > @@ -1496,26 +1496,18 @@ tc_edp_bridge_atomic_disable(struct drm_bridge *bridge, > > dev_err(tc->dev, "main link disable error: %d\n", ret); > > } > > > > -static bool tc_bridge_mode_fixup(struct drm_bridge *bridge, > > - const struct drm_display_mode *mode, > > - struct drm_display_mode *adj) > > -{ > > - /* Fixup sync polarities, both hsync and vsync are active low */ > > - adj->flags = mode->flags; > > - adj->flags |= (DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC); > > - adj->flags &= ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC); > > - > > - return true; > > -} > > - > > static int tc_common_atomic_check(struct drm_bridge *bridge, > > struct drm_bridge_state *bridge_state, > > struct drm_crtc_state *crtc_state, > > struct drm_connector_state *conn_state, > > const unsigned int max_khz) > > { > > - tc_bridge_mode_fixup(bridge, &crtc_state->mode, > > - &crtc_state->adjusted_mode); > > + struct drm_display_mode *adj = &crtc_state->adjusted_mode; > > + > > + /* Fixup sync polarities, both hsync and vsync are active low */ > > + adj->flags = crtc_state->mode.flags; > > + adj->flags |= (DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC); > > + adj->flags &= ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC); > > > > if (crtc_state->adjusted_mode.clock > max_khz) > > return -EINVAL; > > @@ -1783,7 +1775,6 @@ static const struct drm_bridge_funcs tc_edp_bridge_funcs = { > > .atomic_check = tc_edp_atomic_check, > > .atomic_enable = tc_edp_bridge_atomic_enable, > > .atomic_disable = tc_edp_bridge_atomic_disable, > > - .mode_fixup = tc_bridge_mode_fixup, > > .detect = tc_bridge_detect, > > .get_edid = tc_get_edid, > > .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, -- Regards, Laurent Pinchart _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 83F6CECAAD3 for ; Mon, 19 Sep 2022 15:38:31 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4F54F10E68A; Mon, 19 Sep 2022 15:38:30 +0000 (UTC) Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id E83BD10E68A for ; Mon, 19 Sep 2022 15:38:26 +0000 (UTC) Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 174D8499; Mon, 19 Sep 2022 17:38:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1663601905; bh=WWpB0AZaasXvtTSKo5/9Q5GDRH5jyFAkHKu5Br3nsUI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ao/5MzoBgO+t7woVXZdNE0b4p8O63zE7E8y8ZKUH7lca4enEVXC90LbL/OW5sRNcl RhRKIzX49LEfBk3plsf59EcRAKy9oN37VAVDja0XnIbPdpaL6XSyWjbQ+bxLyWz2jB utUjHpvFC/A1PjebmB7rh9wUZPmL90dv3//emZ64= Date: Mon, 19 Sep 2022 18:38:11 +0300 From: Laurent Pinchart To: Sam Ravnborg Subject: Re: [PATCH v1 07/12] drm/bridge: tc358767: Use drm_bridge_funcs.atomic_check Message-ID: References: <20220717174454.46616-1-sam@ravnborg.org> <20220717174454.46616-8-sam@ravnborg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dafna Hirschfeld , Neil Armstrong , David Airlie , Tomi Valkeinen , dri-devel@lists.freedesktop.org, Andrzej Hajda , Guenter Roeck , chrome-platform@lists.linux.dev, Jernej Skrabec , Chun-Kuang Hu , Jitao Shi , Arnd Bergmann , Jonas Karlman , linux-mediatek@lists.infradead.org, Matthias Brugger , linux-arm-kernel@lists.infradead.org, Philip Chen , Thomas Zimmermann , Robert Foss , linux-renesas-soc@vger.kernel.org, Kieran Bingham , Enric Balletbo i Serra , Cai Huoqing Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Mon, Sep 19, 2022 at 06:29:41PM +0300, Laurent Pinchart wrote: > On Sun, Jul 17, 2022 at 07:44:49PM +0200, Sam Ravnborg wrote: > > When atomic_check() is defined, then mode_fixup() is ignored, > > so it had no effect that drm_bridge_funcs.mode_fixup was assigned. > > Embed the original implementation in the caller and drop the function. > > > > Signed-off-by: Sam Ravnborg > > Cc: Andrzej Hajda > > Cc: Neil Armstrong > > Cc: Robert Foss > > Cc: Laurent Pinchart > > Cc: Jonas Karlman > > Cc: Jernej Skrabec > > Reviewed-by: Laurent Pinchart But this doesn't apply anymore, as the mode_fixup operation has been removed from the driver already. You can just drop this patch. > > --- > > drivers/gpu/drm/bridge/tc358767.c | 21 ++++++--------------- > > 1 file changed, 6 insertions(+), 15 deletions(-) > > > > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c > > index 02bd757a8987..b2ab967504af 100644 > > --- a/drivers/gpu/drm/bridge/tc358767.c > > +++ b/drivers/gpu/drm/bridge/tc358767.c > > @@ -1496,26 +1496,18 @@ tc_edp_bridge_atomic_disable(struct drm_bridge *bridge, > > dev_err(tc->dev, "main link disable error: %d\n", ret); > > } > > > > -static bool tc_bridge_mode_fixup(struct drm_bridge *bridge, > > - const struct drm_display_mode *mode, > > - struct drm_display_mode *adj) > > -{ > > - /* Fixup sync polarities, both hsync and vsync are active low */ > > - adj->flags = mode->flags; > > - adj->flags |= (DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC); > > - adj->flags &= ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC); > > - > > - return true; > > -} > > - > > static int tc_common_atomic_check(struct drm_bridge *bridge, > > struct drm_bridge_state *bridge_state, > > struct drm_crtc_state *crtc_state, > > struct drm_connector_state *conn_state, > > const unsigned int max_khz) > > { > > - tc_bridge_mode_fixup(bridge, &crtc_state->mode, > > - &crtc_state->adjusted_mode); > > + struct drm_display_mode *adj = &crtc_state->adjusted_mode; > > + > > + /* Fixup sync polarities, both hsync and vsync are active low */ > > + adj->flags = crtc_state->mode.flags; > > + adj->flags |= (DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC); > > + adj->flags &= ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC); > > > > if (crtc_state->adjusted_mode.clock > max_khz) > > return -EINVAL; > > @@ -1783,7 +1775,6 @@ static const struct drm_bridge_funcs tc_edp_bridge_funcs = { > > .atomic_check = tc_edp_atomic_check, > > .atomic_enable = tc_edp_bridge_atomic_enable, > > .atomic_disable = tc_edp_bridge_atomic_disable, > > - .mode_fixup = tc_bridge_mode_fixup, > > .detect = tc_bridge_detect, > > .get_edid = tc_get_edid, > > .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, -- Regards, Laurent Pinchart