Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp4777277ybv; Wed, 26 Feb 2020 02:59:25 -0800 (PST) X-Google-Smtp-Source: APXvYqx0aOD9uoy4x+G3GzjlgrkIOOFKflg/zGkawkGrmj2OJkYDcB5B4W+ct2Ww1oHrKdz6T5gg X-Received: by 2002:aca:62c4:: with SMTP id w187mr2654561oib.38.1582714765103; Wed, 26 Feb 2020 02:59:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582714765; cv=none; d=google.com; s=arc-20160816; b=CpqLKTc80qg1aBIYz67WibSTbkTS9Wz3a289PK8thFBiEAEbTI9JQhX2SCXmeFErKh /yAZYLxhVdxcQ7bD1P7EdgR2DjZYishgms9jQ6/ROiz9Rjy/VkHwSQxAPJ6nSr3QOgg6 m8+/SU84Y6wPAx8OTa6o2O9dqNGtuOREKd+vRQZpDawlUELuNpXBejybys/qxpz99klA r4POqazYKyVIO9tCA5khm8gls+0j7d1wBXotLwL5UiMYUKvDRr+pmxrKUGxeRqgLG7x5 RDhTGMvHhvLnfIjEflS7DbkfI+bQt8Q6joH8/Ro3sDVAC8lDvtMtFAH26ZO2tTpCd0R+ 13Bg== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:from:references:cc:to:subject; bh=VxEuwTAOYA/4ki8gKB5Vw8tLh3IS19dxbq9g4AwFn0w=; b=P3DVINBBWxMZLmCOY1KJF0hEEm83ITbouiJkhZUbI7Lrh7HTyk+rj9+DtOyAacJnW+ DZFaEiEa47nOrGSkK2q0wz8XycxaPtj6rJ8XjwVLyE0pj5U0nWFmZFra+YrtEkSbYkfH rVXzkLfKbZUtaAACmVwVo3Zd657rNEqsKGHBxK1S64nq3p9besNre7ITmyEs2nA4YmZr ZljHkQ2dc37JiC9zkpRl0psBipFfUaiexbuCGh25lSLc/+uLHkrSr2ZNJ70EcWrNDfNz xBFzA4xyR1HqxqsfSqRvOTIjsi3vRwg1M8vcffFLIOF/h9io/5iH8brXpkny5kp2aN6t 52dA== 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 d14si1068323ote.195.2020.02.26.02.59.13; Wed, 26 Feb 2020 02:59:25 -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 S1727457AbgBZK6s (ORCPT + 99 others); Wed, 26 Feb 2020 05:58:48 -0500 Received: from mx2.suse.de ([195.135.220.15]:46726 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727377AbgBZK6r (ORCPT ); Wed, 26 Feb 2020 05:58:47 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id D5F35AD8E; Wed, 26 Feb 2020 10:58:44 +0000 (UTC) Subject: Re: [PATCH] drm/bridge: analogix-anx6345: fix set of link bandwidth To: Icenowy Zheng , Torsten Duwe Cc: Jernej Skrabec , Jonas Karlman , Neil Armstrong , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Vasily Khoruzhick , Andrzej Hajda , Laurent Pinchart , Maxime Ripard References: <20200221165127.813325-1-icenowy@aosc.io> <20200221171328.GC6928@lst.de> <1E7BDB0F-639B-42BB-A4B4-A4C8CF94EBE0@aosc.io> From: Thomas Zimmermann Autocrypt: addr=tzimmermann@suse.de; keydata= mQENBFs50uABCADEHPidWt974CaxBVbrIBwqcq/WURinJ3+2WlIrKWspiP83vfZKaXhFYsdg XH47fDVbPPj+d6tQrw5lPQCyqjwrCPYnq3WlIBnGPJ4/jreTL6V+qfKRDlGLWFjZcsrPJGE0 BeB5BbqP5erN1qylK9i3gPoQjXGhpBpQYwRrEyQyjuvk+Ev0K1Jc5tVDeJAuau3TGNgah4Yc hdHm3bkPjz9EErV85RwvImQ1dptvx6s7xzwXTgGAsaYZsL8WCwDaTuqFa1d1jjlaxg6+tZsB 9GluwvIhSezPgnEmimZDkGnZRRSFiGP8yjqTjjWuf0bSj5rUnTGiyLyRZRNGcXmu6hjlABEB AAG0J1Rob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPokBVAQTAQgAPhYh BHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJbOdLgAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMB Ah4BAheAAAoJEGgNwR1TC3ojR80H/jH+vYavwQ+TvO8ksXL9JQWc3IFSiGpuSVXLCdg62AmR irxW+qCwNncNQyb9rd30gzdectSkPWL3KSqEResBe24IbA5/jSkPweJasgXtfhuyoeCJ6PXo clQQGKIoFIAEv1s8l0ggPZswvCinegl1diyJXUXmdEJRTWYAtxn/atut1o6Giv6D2qmYbXN7 mneMC5MzlLaJKUtoH7U/IjVw1sx2qtxAZGKVm4RZxPnMCp9E1MAr5t4dP5gJCIiqsdrVqI6i KupZstMxstPU//azmz7ZWWxT0JzgJqZSvPYx/SATeexTYBP47YFyri4jnsty2ErS91E6H8os Bv6pnSn7eAq5AQ0EWznS4AEIAMYmP4M/V+T5RY5at/g7rUdNsLhWv1APYrh9RQefODYHrNRH UE9eosYbT6XMryR9hT8XlGOYRwKWwiQBoWSDiTMo/Xi29jUnn4BXfI2px2DTXwc22LKtLAgT RjP+qbU63Y0xnQN29UGDbYgyyK51DW3H0If2a3JNsheAAK+Xc9baj0LGIc8T9uiEWHBnCH+R dhgATnWWGKdDegUR5BkDfDg5O/FISymJBHx2Dyoklv5g4BzkgqTqwmaYzsl8UxZKvbaxq0zb ehDda8lvhFXodNFMAgTLJlLuDYOGLK2AwbrS3Sp0AEbkpdJBb44qVlGm5bApZouHeJ/+n+7r 12+lqdsAEQEAAYkBPAQYAQgAJhYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJbOdLgAhsMBQkD wmcAAAoJEGgNwR1TC3ojpfcIAInwP5OlcEKokTnHCiDTz4Ony4GnHRP2fXATQZCKxmu4AJY2 h9ifw9Nf2TjCZ6AMvC3thAN0rFDj55N9l4s1CpaDo4J+0fkrHuyNacnT206CeJV1E7NYntxU n+LSiRrOdywn6erjxRi9EYTVLCHcDhBEjKmFZfg4AM4GZMWX1lg0+eHbd5oL1as28WvvI/uI aMyV8RbyXot1r/8QLlWldU3NrTF5p7TMU2y3ZH2mf5suSKHAMtbE4jKJ8ZHFOo3GhLgjVrBW HE9JXO08xKkgD+w6v83+nomsEuf6C6LYrqY/tsZvyEX6zN8CtirPdPWu/VXNRYAl/lat7lSI 3H26qrE= Message-ID: Date: Wed, 26 Feb 2020 11:58:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <1E7BDB0F-639B-42BB-A4B4-A4C8CF94EBE0@aosc.io> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Iceynow, Torsten asked me to merge your patch via drm-misc-next. I'd add the additional cc and fixes tags that Torsten listed. Are you OK with that? Best regards Thomas Am 22.02.20 um 03:43 schrieb Icenowy Zheng: > > > 于 2020年2月22日 GMT+08:00 上午1:13:28, Torsten Duwe 写到: >> On Sat, Feb 22, 2020 at 12:51:27AM +0800, Icenowy Zheng wrote: >>> Current code tries to store the link rate (in bps, which is a big >>> number) in a u8, which surely overflow. Then it's converted back to >>> bandwidth code (which is thus 0) and written to the chip. >>> >>> The code sometimes works because the chip will automatically fallback >> to >>> the lowest possible DP link rate (1.62Gbps) when get the invalid >> value. >>> However, on the eDP panel of Olimex TERES-I, which wants 2.7Gbps >> link, >>> it failed. >>> >>> As we had already read the link bandwidth as bandwidth code in >> earlier >>> code (to check whether it is supported), use it when setting >> bandwidth, >>> instead of converting it to link rate and then converting back. >>> >>> Fixes: e1cff82c1097 ("drm/bridge: fix anx6345 compilation for v5.5") >>> Signed-off-by: Icenowy Zheng >>> --- >>> drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 3 +-- >>> 1 file changed, 1 insertion(+), 2 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c >> b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c >>> index 56f55c53abfd..2dfa2fd2a23b 100644 >>> --- a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c >>> +++ b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c >>> @@ -210,8 +210,7 @@ static int anx6345_dp_link_training(struct >> anx6345 *anx6345) >>> if (err) >>> return err; >>> >>> - dpcd[0] = drm_dp_max_link_rate(anx6345->dpcd); >>> - dpcd[0] = drm_dp_link_rate_to_bw_code(dpcd[0]); >>> + dpcd[0] = dp_bw; >> >> Why do you make this assignment and not use dp_bw directly in the call? > > Because the dpcd array is then written as a continous array > back to DPCD. > >> >>> err = regmap_write(anx6345->map[I2C_IDX_DPTX], >>> SP_DP_MAIN_LINK_BW_SET_REG, dpcd[0]); >> ^^^^^^ >>> if (err) >>> -- >>> 2.24.1 >> >> BTW, my version is only a bit more verbose: >> >> https://patchwork.freedesktop.org/patch/354344/ >> >> Torsten > -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer