Received: by 10.223.176.46 with SMTP id f43csp2305412wra; Thu, 25 Jan 2018 07:57:05 -0800 (PST) X-Google-Smtp-Source: AH8x225uZ9Lx+tUfDsSNGsQ8M5x8C5ouaDfbdoSpW6mTA+n4JvGlq65AWqWM85Yj7LstVGHfi5rd X-Received: by 2002:a17:902:6b0b:: with SMTP id o11-v6mr11564644plk.109.1516895824998; Thu, 25 Jan 2018 07:57:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516895824; cv=none; d=google.com; s=arc-20160816; b=kBg8vQ2KtgA6qqqLhstP3HFH/qhwOPIKJtkWy92HIg2LihF+YigaExZ/fJkDuz/Jn4 kxOHswWv0PtbUTzLtyXDafMwOp5r2kzymifDGKKudfnMVXJvc0H3Rp4QMYhiCR6lpkKf f6Rgjrw2daRaCUJgCrDG0GobQSi44QVQhfHsH7KvPVTaVxK1DMYTQpjT+zXjrCG6eFtr /Tn9IvKduAQE8UFTyl3rKxJDKyMvesO9ffYEe0MwYl3SQQuokzY398GwqzBCpxRst8hC KKwQfDMVMeIT6AdxSwcdfo6//rA7Z15mO2P8BFTTVBX5ym/VDBl6mR7cuVlfp0WtzX8l 5naw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:arc-authentication-results; bh=EIv2LJBj5icZBbj/X1qRDyrbYr0xsFLts4HGqAtybyk=; b=boDzA8eefHtO12cIN7STfzzA8dT54vv1GISOS8HC+C+A/IUGM623txvQ8LGmjTGt1Q oOTC4HAJ3pVfUaSJaOIBmCMrJx+oiDTQoDpgEun5L+WYb2jA9wRfr0icQkA0WGzVCovn apw7ExdH1FJS9/0b6/HSDznAQ/qI/FVYq73iw/c9M3DasVvZKIF1clMwSEueZBru3ynV 6YhUE1mFs16oOwY9GDx9NSFjWXm2gKlAFMGFcTxQNK0YLcDpR3EHNNkrRp5HyKOybblY ex3XSfJslIahC09xCkF86sNUzhSzbVDGsjJPKIMWhQ2mCAxyJ+FyORIPbKyUPqB3qO/c AnwA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p24-v6si2248533plr.21.2018.01.25.07.56.50; Thu, 25 Jan 2018 07:57:04 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751367AbeAYPz6 (ORCPT + 99 others); Thu, 25 Jan 2018 10:55:58 -0500 Received: from mx07-00178001.pphosted.com ([62.209.51.94]:34223 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750980AbeAYPz5 (ORCPT ); Thu, 25 Jan 2018 10:55:57 -0500 Received: from pps.filterd (m0046037.ppops.net [127.0.0.1]) by mx07-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id w0PFsPWQ006535; Thu, 25 Jan 2018 16:55:15 +0100 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 2fq4ddktuu-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 25 Jan 2018 16:55:15 +0100 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 3B53834; Thu, 25 Jan 2018 15:55:14 +0000 (GMT) Received: from Webmail-eu.st.com (Safex1hubcas24.st.com [10.75.90.94]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 08B5D4F0B; Thu, 25 Jan 2018 15:55:14 +0000 (GMT) Received: from SAFEX1HUBCAS23.st.com (10.75.90.47) by Safex1hubcas24.st.com (10.75.90.94) with Microsoft SMTP Server (TLS) id 14.3.352.0; Thu, 25 Jan 2018 16:55:13 +0100 Received: from localhost (10.129.7.153) by webmail-ga.st.com (10.75.90.48) with Microsoft SMTP Server (TLS) id 14.3.352.0; Thu, 25 Jan 2018 16:55:13 +0100 From: Philippe Cornu To: Archit Taneja , Andrzej Hajda , Laurent Pinchart , David Airlie , Philippe Cornu , Brian Norris , Benjamin Gaignard , Bhumika Goyal , , , "Sandy Huang" , Heiko Stubner , , CC: Yannick Fertre , Vincent Abriou , Alexandre Torgue , "Maxime Coquelin" , Ludovic Barre , Mickael Reulier Subject: [PATCH] drm/bridge/synopsys: dsi: use adjusted_mode in mode_set Date: Thu, 25 Jan 2018 16:55:04 +0100 Message-ID: <20180125155504.8611-1-philippe.cornu@st.com> X-Mailer: git-send-email 2.15.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.129.7.153] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-01-25_06:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The "adjusted_mode" clock value (ie the real pixel clock) is more accurate than "mode" clock value (ie the panel/bridge requested clock value). It offers a better preciseness for timing computations and allows to reduce the extra dsi bandwidth in burst mode (from ~20% to ~10-12%, hw platform dependant). Signed-off-by: Philippe Cornu --- Note: This patch replaces "drm/bridge/synopsys: dsi: add optional pixel clock" drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c index ed8af32f8e52..b926b62e9e33 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c @@ -707,20 +707,20 @@ static void dw_mipi_dsi_bridge_mode_set(struct drm_bridge *bridge, clk_prepare_enable(dsi->pclk); - ret = phy_ops->get_lane_mbps(priv_data, mode, dsi->mode_flags, + ret = phy_ops->get_lane_mbps(priv_data, adjusted_mode, dsi->mode_flags, dsi->lanes, dsi->format, &dsi->lane_mbps); if (ret) DRM_DEBUG_DRIVER("Phy get_lane_mbps() failed\n"); pm_runtime_get_sync(dsi->dev); dw_mipi_dsi_init(dsi); - dw_mipi_dsi_dpi_config(dsi, mode); + dw_mipi_dsi_dpi_config(dsi, adjusted_mode); dw_mipi_dsi_packet_handler_config(dsi); dw_mipi_dsi_video_mode_config(dsi); - dw_mipi_dsi_video_packet_config(dsi, mode); + dw_mipi_dsi_video_packet_config(dsi, adjusted_mode); dw_mipi_dsi_command_mode_config(dsi); - dw_mipi_dsi_line_timer_config(dsi, mode); - dw_mipi_dsi_vertical_timing_config(dsi, mode); + dw_mipi_dsi_line_timer_config(dsi, adjusted_mode); + dw_mipi_dsi_vertical_timing_config(dsi, adjusted_mode); dw_mipi_dsi_dphy_init(dsi); dw_mipi_dsi_dphy_timing_config(dsi); @@ -734,7 +734,7 @@ static void dw_mipi_dsi_bridge_mode_set(struct drm_bridge *bridge, dw_mipi_dsi_dphy_enable(dsi); - dw_mipi_dsi_wait_for_two_frames(mode); + dw_mipi_dsi_wait_for_two_frames(adjusted_mode); /* Switch to cmd mode for panel-bridge pre_enable & panel prepare */ dw_mipi_dsi_set_mode(dsi, 0); -- 2.15.1