Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1449745ybl; Fri, 13 Dec 2019 15:47:07 -0800 (PST) X-Google-Smtp-Source: APXvYqzQ51NcYqCfjT3C7F2lj1UfimMysOecUzljvJohEh6JmLEFy2hKAcFp4JCJpzTIX6M/x/pi X-Received: by 2002:a05:6808:356:: with SMTP id j22mr8380394oie.130.1576280827423; Fri, 13 Dec 2019 15:47:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576280827; cv=none; d=google.com; s=arc-20160816; b=yXDLIhq8MgY8iNKXMCvu6ZdMNq4TzCRIT6c7BieaEFQjpfnv8E0+97sZMQjdfa5Q1H fFzKpEZnVEe1P8/RFrDaNphHxrJZH4EsAs7AGNM+FpELpG4hH7L0soz+sauthje+84Eu 2BOuvnqJfwAUGwpxAGtibXihR2+rLQrRQh4qiS0B661eUbl58OIVx3HBZgNg6Z7RBlIj v0DwzKu3Uz5KUgI0HNf89o502pAuu2IbFOmv5CQgKdXZOOT5ZcyObWPHUOIetUyPtS/7 FN/j0hbhaG7PVsOvKOEz36Va9I+UNPjATrATn3+Q+wJDGVb+7mk7Nb9JujHoWkdcKGF7 sGPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=LCB1KIVahlXQKWBS7hxxSbVh5ZcN9u97BqK9nO2uQ04=; b=cG1iqYhFmYRfGcIJT0HzCR5FDeLI+cXSdbM+HCRrguE4v6r80+57saZ+S1q2T4KV3V tbdtDH+21wFyRfa7jV0VV/ddHxgFuV4Tt6498oCMIH8BJoIMw+wPVkNyk+dlz62HPQjH DnPQlaCIRo/I2SdYOYpmnmO/d/BqS3NzT6FBR8hzWPFtG3gdq0nJCYVdqG/sUZOth2ic hgE++Bq83CSwl6hEOQ7DcjMR9DOvhAJhqx1FxLFdAKyzKlvTD70JRuH8htjqfYABCdwa +Lj37Wtv35rIgJGWJSPfYxwFBg23qJrBt0aANOzuZgtVFn9KDHhchOxNR/7y24jYQvgP zboA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=SnfBwtRp; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a136si6157330oib.252.2019.12.13.15.46.56; Fri, 13 Dec 2019 15:47:07 -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; dkim=pass header.i=@chromium.org header.s=google header.b=SnfBwtRp; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726825AbfLMXqL (ORCPT + 99 others); Fri, 13 Dec 2019 18:46:11 -0500 Received: from mail-pg1-f193.google.com ([209.85.215.193]:39210 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726404AbfLMXqG (ORCPT ); Fri, 13 Dec 2019 18:46:06 -0500 Received: by mail-pg1-f193.google.com with SMTP id b137so243436pga.6 for ; Fri, 13 Dec 2019 15:46:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LCB1KIVahlXQKWBS7hxxSbVh5ZcN9u97BqK9nO2uQ04=; b=SnfBwtRpMms+XqhrvoTDfK3B9tOlEd29DDYcdfTbv1yQlasgMa3ncrTzHEbvqmeAXR uCP98TANejscAqyK9+hOQA4UQUXHllXs9HJksbv5JDXC9xL6AnYWt4hjU7a7zAOk07UH TvpiY2+9LBqOgJe74n3uu9mqTNHlxbVWy6S98= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LCB1KIVahlXQKWBS7hxxSbVh5ZcN9u97BqK9nO2uQ04=; b=fTQ9JJ2GdGDa1k2MKBITWVleHszrpUzBHG53LoPcEmU8jVbYv+MNC+wNew24fTly9A mWZ/lyvWl8keZodpLu7v7oPT5FWLVKLyfNb0yBW2M5zAnYBo1tbt0lmrlzrM34W2mwsD sV5o3bzDomgv+ZwRyfK7FHQpvv+wsuQvF69xJhbj3zo3vQzqI1D3shOOrvI/D5VNNXVe u3V+lYGPY5tjEOUiBru5EWcTQcQ3HqOb3RLrLh/4hwtFcnS9yO/PmFaNsGY2lUsExKuJ kmcRhmEgo39Mu+4W39QPQnE2mWLLpUxk+eGnTRWPuuFLPa9xUAJoAZzGvxyvgO9ktiou hNTQ== X-Gm-Message-State: APjAAAWq00QN7xBvxRaeSqgG+n3PAUjGjldKhyaUF1/RhIdsPF/9SaPu vAs1FXGGkq3zA2EJXFAfursVIw== X-Received: by 2002:a63:106:: with SMTP id 6mr2447435pgb.190.1576280765132; Fri, 13 Dec 2019 15:46:05 -0800 (PST) Received: from tictac2.mtv.corp.google.com ([2620:15c:202:1:24fa:e766:52c9:e3b2]) by smtp.gmail.com with ESMTPSA id z19sm12282905pfn.49.2019.12.13.15.46.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2019 15:46:04 -0800 (PST) From: Douglas Anderson To: Andrzej Hajda , Neil Armstrong Cc: robdclark@chromium.org, linux-arm-msm@vger.kernel.org, seanpaul@chromium.org, bjorn.andersson@linaro.org, Douglas Anderson , Jonas Karlman , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, David Airlie , Jernej Skrabec , Laurent Pinchart , Daniel Vetter Subject: [PATCH 1/9] drm/bridge: ti-sn65dsi86: Split the setting of the dp and dsi rates Date: Fri, 13 Dec 2019 15:45:22 -0800 Message-Id: <20191213154448.1.Icb765d5799e9651e5249c0c27627ba33a9e411cf@changeid> X-Mailer: git-send-email 2.24.1.735.g03f4e72817-goog In-Reply-To: <20191213234530.145963-1-dianders@chromium.org> References: <20191213234530.145963-1-dianders@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org These two things were in one function. Split into two. This looks like it's duplicating some code, but don't worry. This is is just in preparation for future changes. This is intended to have zero functional change and will just make future patches easier to understand. Signed-off-by: Douglas Anderson --- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 33 +++++++++++++++++++-------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c index 43abf01ebd4c..2fb9370a76e6 100644 --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -417,6 +417,24 @@ static void ti_sn_bridge_set_refclk_freq(struct ti_sn_bridge *pdata) REFCLK_FREQ(i)); } +static void ti_sn_bridge_set_dsi_rate(struct ti_sn_bridge *pdata) +{ + unsigned int bit_rate_mhz, clk_freq_mhz; + unsigned int val; + struct drm_display_mode *mode = + &pdata->bridge.encoder->crtc->state->adjusted_mode; + + /* set DSIA clk frequency */ + bit_rate_mhz = (mode->clock / 1000) * + mipi_dsi_pixel_format_to_bpp(pdata->dsi->format); + clk_freq_mhz = bit_rate_mhz / (pdata->dsi->lanes * 2); + + /* for each increment in val, frequency increases by 5MHz */ + val = (MIN_DSI_CLK_FREQ_MHZ / 5) + + (((clk_freq_mhz - MIN_DSI_CLK_FREQ_MHZ) / 5) & 0xFF); + regmap_write(pdata->regmap, SN_DSIA_CLK_FREQ_REG, val); +} + /** * LUT index corresponds to register value and * LUT values corresponds to dp data rate supported @@ -426,22 +444,16 @@ static const unsigned int ti_sn_bridge_dp_rate_lut[] = { 0, 1620, 2160, 2430, 2700, 3240, 4320, 5400 }; -static void ti_sn_bridge_set_dsi_dp_rate(struct ti_sn_bridge *pdata) +static void ti_sn_bridge_set_dp_rate(struct ti_sn_bridge *pdata) { - unsigned int bit_rate_mhz, clk_freq_mhz, dp_rate_mhz; - unsigned int val, i; + unsigned int bit_rate_mhz, dp_rate_mhz; + unsigned int i; struct drm_display_mode *mode = &pdata->bridge.encoder->crtc->state->adjusted_mode; /* set DSIA clk frequency */ bit_rate_mhz = (mode->clock / 1000) * mipi_dsi_pixel_format_to_bpp(pdata->dsi->format); - clk_freq_mhz = bit_rate_mhz / (pdata->dsi->lanes * 2); - - /* for each increment in val, frequency increases by 5MHz */ - val = (MIN_DSI_CLK_FREQ_MHZ / 5) + - (((clk_freq_mhz - MIN_DSI_CLK_FREQ_MHZ) / 5) & 0xFF); - regmap_write(pdata->regmap, SN_DSIA_CLK_FREQ_REG, val); /* set DP data rate */ dp_rate_mhz = ((bit_rate_mhz / pdata->dsi->lanes) * DP_CLK_FUDGE_NUM) / @@ -510,7 +522,8 @@ static void ti_sn_bridge_enable(struct drm_bridge *bridge) val); /* set dsi/dp clk frequency value */ - ti_sn_bridge_set_dsi_dp_rate(pdata); + ti_sn_bridge_set_dsi_rate(pdata); + ti_sn_bridge_set_dp_rate(pdata); /* enable DP PLL */ regmap_write(pdata->regmap, SN_PLL_ENABLE_REG, 1); -- 2.24.1.735.g03f4e72817-goog