Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp4256670ybl; Mon, 3 Feb 2020 15:34:32 -0800 (PST) X-Google-Smtp-Source: APXvYqzL/4w7Mo9feMGQJW790gvuoVh1s8tk8RVnzL+ppX6FOq5sypm4RMnOcmptcW6oR1YkVTAV X-Received: by 2002:a9d:268:: with SMTP id 95mr20165252otb.183.1580772872213; Mon, 03 Feb 2020 15:34:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580772872; cv=none; d=google.com; s=arc-20160816; b=l5OdIx6X2S3+W1iQD7YRpVfjzCiDqNi7xJ3Cz4KZ1n/YTrEDx4DXUgb0uOlJkxE0Vp 7WibG0Gj/etOGAyvnMWxRjbUrCTsAVHGvwzX6cgvnOCcmwSDPLk8hqGM0mu6zqYuGIno XionJSxTVbCpGRenLk+fm5tLPiSo6Dv+70pALT6tntvIB3eF+WWnTTA5ofJMIW2DXfiD pfPrbe/1+SPb71rLKR+j4XeRnhiDP7R2Hkfy2bUNCMaDv9ID5Rsv9YiH61ZHaVWnRbor GcI2rWUi8uw9lD74iIUtkwZr+4nZDr0iN+qMAuI4Ivv720Q7hbL1+vQH2REHi27wXLxv hhQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=3aYiPA/gJeoBo48Ys9UapQ0Ubna55Q+Eek/KSnN7OTE=; b=EL8xi84rtuH7Lz9K19SOoea3ObGOZGYZB3tPWM4S9rFob+gk/gWC/XCHb15a0/fcOu YSYgQUUSuYPWHFgXsf5epeoXWseDSuXoNR2sWr/l8XgyJdS0WwDjJXyrsw7xhd+tAEyQ nT3XRdxmIAFTDRUj6dO8wqorAmPtTSIhjDT7U9HB+GlhZ5Fxe/ucas3y4p6PwNRUNiMF 0oKJ49PH68gm4qP/nebdQ+TDbFiZOzSIxn/YJVLbirgXHCK/uoII09FVI1nZuwlcQlx0 HDU7YACFmX46yr9ePwhxEHadClavCkB1XgeSysBJs/K1STBq78sM+r0sWkSr3R+gXOrf eMxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=qn+mnqQC; 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=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w20si9113772oic.103.2020.02.03.15.34.19; Mon, 03 Feb 2020 15:34:32 -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=@linaro.org header.s=google header.b=qn+mnqQC; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727156AbgBCXdP (ORCPT + 99 others); Mon, 3 Feb 2020 18:33:15 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:35895 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726984AbgBCXdP (ORCPT ); Mon, 3 Feb 2020 18:33:15 -0500 Received: by mail-pl1-f193.google.com with SMTP id a6so6466758plm.3 for ; Mon, 03 Feb 2020 15:33:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=3aYiPA/gJeoBo48Ys9UapQ0Ubna55Q+Eek/KSnN7OTE=; b=qn+mnqQCcbYJ1bVCJ8S5wTj0A3XX0kEYmXBHZW3Kgk5qO4J5y//6RudPCe7dXAu7Ib hIhfJTwxvYvManjAqfpkaQD98RZLUOVNnKIDg+XAsu1sBG76SUtLqROV5wZ6zadciVIu qv+l47h4wY6J1pdEE0/MHCZNwdp78fVhVd6VFqbuvxnj6EFGR41fISlFiJ3ODoZygnsr 1SMpiUb6uJvJAAgdqYakM+EBWXDsmTJNK7diOSh/ShytwskMDfdVkZEkNgDwQrD1m0WZ C85QhxfahubgbydPcrjyJATx6LkFSjpB4yCP8BPnCxnKR2bi6FTGWNGNXx+qYtruHpKq oRsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=3aYiPA/gJeoBo48Ys9UapQ0Ubna55Q+Eek/KSnN7OTE=; b=acl56szVktAGspbt1s6bczMLjvc2J3eF7ug6GkC+cgdyokqvPka3f9J1P4X58W4vRr tQKO470coBi3C/nOsqJvN1IZ0HnOZZgWlJJyAc8LwEd+wKvod2d8zpLhEf1QRPHPvvhn JuSew0NDlf6sQ25dlJN2Ro9+2ijQB0At+jEvymsfhZf4zqZ1EO+tkE/yLIRJfBYljG66 FriiRky8cvtLGUm+rb9BZdkQIbkhCDsqz16Cu0gHpXUXrCHdBENNLQDJ5kI9hDG83LQy bLX35lXVC42f53tktV7WV+YFLQYhVZ/l38MsKdBD1/xh+5JsmoI5tnwKUvIJ5lkAwrBj 0Qng== X-Gm-Message-State: APjAAAVFnbB49N9rymojFx69SHB7SZNx5m/gujh9rCt+D2q+zwq4W498 0Dl3TVAhdATSRmAsb4mJgSTHLQ== X-Received: by 2002:a17:90a:b30b:: with SMTP id d11mr2003878pjr.22.1580772794291; Mon, 03 Feb 2020 15:33:14 -0800 (PST) Received: from builder (104-188-17-28.lightspeed.sndgca.sbcglobal.net. [104.188.17.28]) by smtp.gmail.com with ESMTPSA id q29sm9637390pgc.15.2020.02.03.15.33.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Feb 2020 15:33:13 -0800 (PST) Date: Mon, 3 Feb 2020 15:33:11 -0800 From: Bjorn Andersson To: Douglas Anderson Cc: Andrzej Hajda , Neil Armstrong , robdclark@chromium.org, linux-arm-msm@vger.kernel.org, seanpaul@chromium.org, Jeffrey Hugo , Daniel Vetter , Rob Clark , Jonas Karlman , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, David Airlie , Jernej Skrabec , Laurent Pinchart Subject: Re: [PATCH v3 3/9] drm/bridge: ti-sn65dsi86: Don't use MIPI variables for DP link Message-ID: <20200203233311.GC311651@builder> References: <20191218223530.253106-1-dianders@chromium.org> <20191218143416.v3.3.Ia6e05f4961adb0d4a0d32ba769dd7781ee8db431@changeid> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191218143416.v3.3.Ia6e05f4961adb0d4a0d32ba769dd7781ee8db431@changeid> User-Agent: Mutt/1.12.2 (2019-09-21) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 18 Dec 14:35 PST 2019, Douglas Anderson wrote: > The ti-sn65dsi86 is a bridge from MIPI to DP and thus has two links: > the MIPI link and the DP link. The two links do not need to have the > same format or number of lanes. Stop using MIPI variables when > talking about the DP link. > > This has zero functional change because: > * currently we are hardcoding the MIPI link as unpacked RGB888 which > requires 24 bits and currently we are not changing the DP link rate > from the bridge's default of 8 bits per pixel. > * currently we are hardcoding both the MIPI and DP as being 4 lanes. > > This is all in prep for fixing some of the above. > > Signed-off-by: Douglas Anderson > Tested-by: Rob Clark > Reviewed-by: Rob Clark Reviewed-by: Bjorn Andersson > --- > > Changes in v3: None > Changes in v2: None > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 18 ++++++++++++------ > 1 file changed, 12 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > index 7b596af265e4..ab644baaf90c 100644 > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > @@ -100,6 +100,7 @@ struct ti_sn_bridge { > struct drm_panel *panel; > struct gpio_desc *enable_gpio; > struct regulator_bulk_data supplies[SN_REGULATOR_SUPPLY_NUM]; > + int dp_lanes; > }; > > static const struct regmap_range ti_sn_bridge_volatile_ranges[] = { > @@ -313,6 +314,7 @@ static int ti_sn_bridge_attach(struct drm_bridge *bridge) > } > > /* TODO: setting to 4 lanes always for now */ > + pdata->dp_lanes = 4; > dsi->lanes = 4; > dsi->format = MIPI_DSI_FMT_RGB888; > dsi->mode_flags = MIPI_DSI_MODE_VIDEO; > @@ -451,13 +453,17 @@ static void ti_sn_bridge_set_dp_rate(struct ti_sn_bridge *pdata) > 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); > + /* > + * Calculate minimum bit rate based on our pixel clock. At > + * the moment this driver never sets the DP_18BPP_EN bit in > + * register 0x5b so we hardcode 24bpp. > + */ > + bit_rate_mhz = (mode->clock / 1000) * 24; > > - /* set DP data rate */ > - dp_rate_mhz = ((bit_rate_mhz / pdata->dsi->lanes) * DP_CLK_FUDGE_NUM) / > + /* Calculate minimum DP data rate, taking 80% as per DP spec */ > + dp_rate_mhz = ((bit_rate_mhz / pdata->dp_lanes) * DP_CLK_FUDGE_NUM) / > DP_CLK_FUDGE_DEN; > + > for (i = 1; i < ARRAY_SIZE(ti_sn_bridge_dp_rate_lut) - 1; i++) > if (ti_sn_bridge_dp_rate_lut[i] > dp_rate_mhz) > break; > @@ -517,7 +523,7 @@ static void ti_sn_bridge_enable(struct drm_bridge *bridge) > CHA_DSI_LANES_MASK, val); > > /* DP lane config */ > - val = DP_NUM_LANES(pdata->dsi->lanes - 1); > + val = DP_NUM_LANES(pdata->dp_lanes - 1); > regmap_update_bits(pdata->regmap, SN_SSC_CONFIG_REG, DP_NUM_LANES_MASK, > val); > > -- > 2.24.1.735.g03f4e72817-goog >