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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 441A5C433EF for ; Fri, 22 Oct 2021 19:48:22 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 0474861108 for ; Fri, 22 Oct 2021 19:48:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0474861108 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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=RvXXsBXbcvd5054rDMbF0BZRrRO2sn6JXEHaT+ELXEo=; b=cENJDROs5HKPfZ ISxkercGeX12QmZF2sW3pPnsZX56OxVE3i4Ffp3R508l9FlDnqn0g9h6guPG6G/cCpR0YONXNbFZo BIzqzftuMlULa6XdigDfTvXd4IieVl5SgmLitTXIMReHwQS0hdZIuAr4MfOPdCbXG0HXK8HaW6QSK xGlWhtBg2n5/bI8cLmrTu7vcnAgbBqMGHf1zol5HBEW5u9haIm6FcY1Ms+ZcpPvCxZS5nQ4soK9Vo V4R+1M3bg0opkdFMZtl5Ag8CqZdQ/bSIXUFA+Ye7otVz46k90BO8b4UdCwlZFuQ5m8Jmn3V6Nq34r sopR+970eF5VKiSAhnng==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1me0V3-00BtNO-Nr; Fri, 22 Oct 2021 19:46:45 +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 1me0V0-00BtN1-MM; Fri, 22 Oct 2021 19:46:44 +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 EA6F051D; Fri, 22 Oct 2021 21:46:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1634932000; bh=j4SmjFaAL4x7t070GpSSrqeme55KAnzdx7CtCprEXHo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=iO4jRng/aWGnVyPavrWeZGJNKNTo6umLK8LVpvMnq50qa5ruIMokFCaCKlvQrl3fL U5sdYJr/qOrPS93lqkC1t4zA31SOQSrixDH3APUcU+vgcphPMA6Q1+XXSQxdjuJcWN pNAIs2jNr6csVeJDSbc9Tsi/bDzBFH4Bx6YlBSto= Date: Fri, 22 Oct 2021 22:46:20 +0300 From: Laurent Pinchart To: Sam Ravnborg Cc: dri-devel@lists.freedesktop.org, Andrzej Hajda , Chun-Kuang Hu , Dafna Hirschfeld , Daniel Vetter , David Airlie , Enric Balletbo i Serra , Jernej Skrabec , Jitao Shi , Jonas Karlman , linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Maarten Lankhorst , Matthias Brugger , Maxime Ripard , Neil Armstrong , Philip Chen , Philipp Zabel , Robert Foss , Thomas Zimmermann , Maxime Ripard , Andrzej Hajda Subject: Re: [PATCH v2 1/7] drm/bridge: ps8640: Use atomic variants of drm_bridge_funcs Message-ID: References: <20211020181901.2114645-1-sam@ravnborg.org> <20211020181901.2114645-2-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-20211022_124642_909866_BB78CE01 X-CRM114-Status: GOOD ( 31.90 ) 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 Hi Sam, On Fri, Oct 22, 2021 at 09:32:08PM +0200, Sam Ravnborg wrote: > On Fri, Oct 22, 2021 at 09:42:37PM +0300, Laurent Pinchart wrote: > > On Fri, Oct 22, 2021 at 07:13:58PM +0200, Sam Ravnborg wrote: > > > Hi Laurent, > > > > > > > From a quick look only cadence/cdns-mhdp8546 subclass > > > > drm_bridge_state and I wonder if the right thing to do would be to > > > > implement fallback to the helpers if the bridge driver do not set > > > > any of the .atomic_duplicate_state(), .atomic_destroy_state(), or .atomic_reset(). > > > > > > > > That would drop the following from a few bridges: > > > > .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, > > > > .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, > > > > .atomic_reset = drm_atomic_helper_bridge_reset, > > > > > > To answer myself here. This would create a dependency from the core to > > > the helpers which is not OK so idea dropped again. > > > > I agree it would be nicer, but the dependency is likely a problem. That > > being said, we have multiple types of helpers. The first set is the > > modeset helpers, which were designed as one implementation of KMS > > operations, with an opt-in API for drivers. The core should not depend > > on those. There are however other helpers that are only default > > implementations of some operations, without any dependency on other > > components. The atomic state helpers fall in this category, they > > implement .atomic_* operations of the drm_*_funcs structures, not > > drm_*_helper_funcs. It could make sense to move them to the DRM core. > > For now I went with a simple macro: > > +/** > + * DRM_BRIDGE_STATE_OPS - Default drm_bridge state funcs > + * > + * Bridge driver that do not subclass &drm_bridge_state can use the helpers > + * for reset, duplicate, and destroy. This macro provides a shortcut for > + * setting the helpers in the &drm_bridge_funcs structure. > + */ > +#define DRM_BRIDGE_STATE_OPS \ > + .atomic_reset = drm_atomic_helper_bridge_reset, \ > + .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, \ > + .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state > + > > Thomas Z. is trying to make the core smaller so pulling in these helpers > would be counterproductive to that. So I took the simpler approach here > which we have already done in several places. Those helpers are in the same file as the other state helpers, which are used by all atomic drivers as far as I can tell, so I'm not sure we can really make anything smaller (except if we moved the bridge helpers to a separate file, but I don't think it would be worth it). > It will be part of v3 when I post it. > > Drop a note if you (or any other reader) have better ideas. -- Regards, Laurent Pinchart _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel