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 X-Spam-Level: X-Spam-Status: No, score=-14.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1001CC4338F for ; Sun, 25 Jul 2021 17:19:23 +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 C21D660698 for ; Sun, 25 Jul 2021 17:19:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org C21D660698 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org 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=T/3NfFRZaYIVxrR+48jFNw5o8cNcoXF4zrxfQ95PYBc=; b=JblFg84uty0dx3 sIDTZqG3U6BAnF6+1csSTvPK7XtpXR+TdoVaJkCpK/Q7yDBlgM71a9yi9zKbIlUfuGDCZHltXHIED 505T/vinwL/IeK1dGvaGV56RQongLfnHI/rnDfy4yodknL4ocz80nu30TbKSMPpQ2ljMmJtpIvOrM BTn1nmySi1dgLV+tr7G4vGuOqMFMi4n6mC6z21K4PvDgEknDCYffkYBj97jNZAm7vsHQWn90Zo607 Zyn9jyLS/MbVQMkcK14h/UyyeoGiuaW+E1JZFBYRJ+rdfiAMfI35x3hzvwx7TOPfY03QvRiG8jGjV FE5x4lbnhsBZdJ/DHKpw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m7hlD-008uSL-Rs; Sun, 25 Jul 2021 17:17:55 +0000 Received: from mx2.smtp.larsendata.com ([91.221.196.228]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m7hl9-008uRe-MG for linux-arm-kernel@lists.infradead.org; Sun, 25 Jul 2021 17:17:53 +0000 Received: from mail01.mxhotel.dk (mail01.mxhotel.dk [91.221.196.236]) by mx2.smtp.larsendata.com (Halon) with ESMTPS id 46402f24-ed6c-11eb-8d1a-0050568cd888; Sun, 25 Jul 2021 17:18:05 +0000 (UTC) Received: from ravnborg.org (80-162-45-141-cable.dk.customer.tdc.net [80.162.45.141]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: sam@ravnborg.org) by mail01.mxhotel.dk (Postfix) with ESMTPSA id F0D90194B04; Sun, 25 Jul 2021 19:18:07 +0200 (CEST) Date: Sun, 25 Jul 2021 19:17:47 +0200 X-Report-Abuse-To: abuse@mxhotel.dk From: Sam Ravnborg To: Jagan Teki Cc: Inki Dae , Joonyoung Shim , Seung-Woo Kim , Kyungmin Park , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Frieder Schrempf , Daniel Vetter , Marek Vasut , Krzysztof Kozlowski , Fabio Estevam , devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, dri-devel@lists.freedesktop.org, NXP Linux Team , linux-amarula , linux-arm-kernel@lists.infradead.org Subject: Re: [RFC PATCH 05/17] drm/exynos: dsi: Get the mode from bridge Message-ID: References: <20210704090230.26489-1-jagan@amarulasolutions.com> <20210704090230.26489-6-jagan@amarulasolutions.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20210704090230.26489-6-jagan@amarulasolutions.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210725_101751_913069_240E781A X-CRM114-Status: GOOD ( 23.54 ) 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 Jagan, On Sun, Jul 04, 2021 at 02:32:18PM +0530, Jagan Teki wrote: > Now the exynos dsi driver is fully aware of bridge > handling, so get the display mode from bridge, mode_set > API instead of legacy encoder crtc. > > This makes bridge usage more efficient instead of relying > on encoder stack. > > Add mode_set in drm_bridge_funcs. Based on your description I had expected to find get_modes implmneted and the flag DRM_BRIDGE_OP_MODES set. Sam > > Signed-off-by: Jagan Teki > --- > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > index d828be07c325..99a1b8c22313 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > @@ -275,6 +275,7 @@ struct exynos_dsi { > u32 format; > > int state; > + struct drm_display_mode mode; > struct drm_property *brightness; > struct completion completed; > > @@ -881,7 +882,7 @@ static int exynos_dsi_init_link(struct exynos_dsi *dsi) > > static void exynos_dsi_set_display_mode(struct exynos_dsi *dsi) > { > - struct drm_display_mode *m = &dsi->encoder.crtc->state->adjusted_mode; > + struct drm_display_mode *m = &dsi->mode; > unsigned int num_bits_resol = dsi->driver_data->num_bits_resol; > u32 reg; > > @@ -1411,6 +1412,15 @@ static void exynos_dsi_bridge_disable(struct drm_bridge *bridge) > pm_runtime_put_sync(dsi->dev); > } > > +static void exynos_dsi_bridge_mode_set(struct drm_bridge *bridge, > + const struct drm_display_mode *mode, > + const struct drm_display_mode *adjusted_mode) > +{ > + struct exynos_dsi *dsi = bridge_to_dsi(bridge); > + > + drm_mode_copy(&dsi->mode, adjusted_mode); > +} > + > static int exynos_dsi_panel_or_bridge(struct exynos_dsi *dsi, > struct device_node *node) > { > @@ -1451,6 +1461,7 @@ static int exynos_dsi_bridge_attach(struct drm_bridge *bridge, > static const struct drm_bridge_funcs exynos_dsi_bridge_funcs = { > .enable = exynos_dsi_bridge_enable, > .disable = exynos_dsi_bridge_disable, > + .mode_set = exynos_dsi_bridge_mode_set, > .attach = exynos_dsi_bridge_attach, > }; > > -- > 2.25.1 _______________________________________________ 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 X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A944EC4338F for ; Sun, 25 Jul 2021 17:17:53 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 657AC60698 for ; Sun, 25 Jul 2021 17:17:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 657AC60698 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6385B6E434; Sun, 25 Jul 2021 17:17:52 +0000 (UTC) Received: from mx2.smtp.larsendata.com (mx2.smtp.larsendata.com [91.221.196.228]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2C1AA6E434 for ; Sun, 25 Jul 2021 17:17:51 +0000 (UTC) Received: from mail01.mxhotel.dk (mail01.mxhotel.dk [91.221.196.236]) by mx2.smtp.larsendata.com (Halon) with ESMTPS id 46402f24-ed6c-11eb-8d1a-0050568cd888; Sun, 25 Jul 2021 17:18:05 +0000 (UTC) Received: from ravnborg.org (80-162-45-141-cable.dk.customer.tdc.net [80.162.45.141]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: sam@ravnborg.org) by mail01.mxhotel.dk (Postfix) with ESMTPSA id F0D90194B04; Sun, 25 Jul 2021 19:18:07 +0200 (CEST) Date: Sun, 25 Jul 2021 19:17:47 +0200 X-Report-Abuse-To: abuse@mxhotel.dk From: Sam Ravnborg To: Jagan Teki Subject: Re: [RFC PATCH 05/17] drm/exynos: dsi: Get the mode from bridge Message-ID: References: <20210704090230.26489-1-jagan@amarulasolutions.com> <20210704090230.26489-6-jagan@amarulasolutions.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210704090230.26489-6-jagan@amarulasolutions.com> 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: Marek Vasut , devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, Joonyoung Shim , Neil Armstrong , linux-amarula , dri-devel@lists.freedesktop.org, Krzysztof Kozlowski , Seung-Woo Kim , Robert Foss , Frieder Schrempf , Andrzej Hajda , Kyungmin Park , Laurent Pinchart , Daniel Vetter , linux-arm-kernel@lists.infradead.org, NXP Linux Team Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi Jagan, On Sun, Jul 04, 2021 at 02:32:18PM +0530, Jagan Teki wrote: > Now the exynos dsi driver is fully aware of bridge > handling, so get the display mode from bridge, mode_set > API instead of legacy encoder crtc. > > This makes bridge usage more efficient instead of relying > on encoder stack. > > Add mode_set in drm_bridge_funcs. Based on your description I had expected to find get_modes implmneted and the flag DRM_BRIDGE_OP_MODES set. Sam > > Signed-off-by: Jagan Teki > --- > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > index d828be07c325..99a1b8c22313 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > @@ -275,6 +275,7 @@ struct exynos_dsi { > u32 format; > > int state; > + struct drm_display_mode mode; > struct drm_property *brightness; > struct completion completed; > > @@ -881,7 +882,7 @@ static int exynos_dsi_init_link(struct exynos_dsi *dsi) > > static void exynos_dsi_set_display_mode(struct exynos_dsi *dsi) > { > - struct drm_display_mode *m = &dsi->encoder.crtc->state->adjusted_mode; > + struct drm_display_mode *m = &dsi->mode; > unsigned int num_bits_resol = dsi->driver_data->num_bits_resol; > u32 reg; > > @@ -1411,6 +1412,15 @@ static void exynos_dsi_bridge_disable(struct drm_bridge *bridge) > pm_runtime_put_sync(dsi->dev); > } > > +static void exynos_dsi_bridge_mode_set(struct drm_bridge *bridge, > + const struct drm_display_mode *mode, > + const struct drm_display_mode *adjusted_mode) > +{ > + struct exynos_dsi *dsi = bridge_to_dsi(bridge); > + > + drm_mode_copy(&dsi->mode, adjusted_mode); > +} > + > static int exynos_dsi_panel_or_bridge(struct exynos_dsi *dsi, > struct device_node *node) > { > @@ -1451,6 +1461,7 @@ static int exynos_dsi_bridge_attach(struct drm_bridge *bridge, > static const struct drm_bridge_funcs exynos_dsi_bridge_funcs = { > .enable = exynos_dsi_bridge_enable, > .disable = exynos_dsi_bridge_disable, > + .mode_set = exynos_dsi_bridge_mode_set, > .attach = exynos_dsi_bridge_attach, > }; > > -- > 2.25.1