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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A91CC6FA86 for ; Mon, 19 Sep 2022 15:38:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229826AbiISPi3 (ORCPT ); Mon, 19 Sep 2022 11:38:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50086 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229667AbiISPi2 (ORCPT ); Mon, 19 Sep 2022 11:38:28 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E698F2A712 for ; Mon, 19 Sep 2022 08:38:27 -0700 (PDT) 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-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.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