Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3577109pxb; Mon, 24 Jan 2022 12:38:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJwJ/AhcxVCoFyFaXF7xTMpWihvb5aSXLE0aYaRqMzgVv5iIHWbtnwv4JaTpK7zIR9eJRwvY X-Received: by 2002:a17:90b:1d91:: with SMTP id pf17mr56562pjb.158.1643056713927; Mon, 24 Jan 2022 12:38:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643056713; cv=none; d=google.com; s=arc-20160816; b=xQV34KZDdNXXjwdvhlskihZOzne1EQ82HKSo0oHa+V/+Hf/CDw7SZp/kBOTAQNjJis fgi0jPyUd5a9yt3ZvQw6TBW4+dBXOAIpbH8lNIadr4+vPQrY3xFh+kd6A6QeppHKJXM3 8SNVcbZeDJht+gR+jszuSvTj2Z+F5y07uFgiEHliRf+yPAssVPj7+LTd8PF4Y7JW2dUo KwaPY9bA8MLCk31u8hm0QmpZ1orxQNJHmXNvJ1z2WRNC9PqwqcBLx7PPtgVcPYQXXjlC 1Mem25O1qM0fBg1F3HSNlr0wgOBWs7cL7zkJJyZYdpDdCt+4LtjbDzmeuhUYxM2yH6hz ES3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=16gR2mDiDz03VS5S3sll+E0eWFOx0kUob4e3Xd01q2c=; b=RXq4nwGaG4qrkgOJSAAXqc+VPKEstJs/nD90HioCj0U5xzIHrnannaInR3O4LvmE8O VYZaGdotFFuEVmBFs6mNMgOQ53m/JM0cPLEVM6H+LncHPUgvYkoQR4zGeLd/iAXyuIY6 P3/EZPJn73itHyNsTeV7ajNC3T1PfTCL4VbdAXlAlrxD0am6aSKw3nK34z7ssFcTTu/w HfPGla7/qfQpSv9u1cy/k+ePPUtcm9N2DShvuNDWUpv8M5TrXpEIf9whzLNBMABWhouC Zz+9Ym8NkOryDHVpj2iZdKF0Oc+UEepM+Rq+smO/Sn9w88JVoPeUDzJFT88HYUN9YYmZ QJiw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=o1ECqNOo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w22si16508178pfu.101.2022.01.24.12.38.14; Mon, 24 Jan 2022 12:38:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=o1ECqNOo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1357566AbiAXTuR (ORCPT + 99 others); Mon, 24 Jan 2022 14:50:17 -0500 Received: from ams.source.kernel.org ([145.40.68.75]:59098 "EHLO ams.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1355137AbiAXTkE (ORCPT ); Mon, 24 Jan 2022 14:40:04 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id AC34BB8119D; Mon, 24 Jan 2022 19:40:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A5BECC340E5; Mon, 24 Jan 2022 19:40:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643053202; bh=cAsgGxHRlMgNK0AryRN0I/ANz2aq81Z9fpR9OCPmRwY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=o1ECqNOoFFdGX5NY9hfFnDwNycKEleid+y2cyDIMk86eAnm3/PJm4rLpRqrtrAX8k W8PQQsWt6Lxz+9fqYSaM/RT7GRCvuSUZ4pjqc56c8oIhDc6lYbZFDS6/SQsvCHJ3ZX +acYBbM2lYZSt62DzqM1OJ8ngDKTsoZ3POhQq9j0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Suresh Udipi , Michael Rodin , =?UTF-8?q?Niklas=20S=C3=B6derlund?= , Hans Verkuil , Mauro Carvalho Chehab Subject: [PATCH 5.4 276/320] media: rcar-csi2: Optimize the selection PHTW register Date: Mon, 24 Jan 2022 19:44:20 +0100 Message-Id: <20220124184003.361849513@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124183953.750177707@linuxfoundation.org> References: <20220124183953.750177707@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Suresh Udipi commit 549cc89cd09a85aaa16dc07ef3db811d5cf9bcb1 upstream. PHTW register is selected based on default bit rate from Table[1]. for the bit rates less than or equal to 250. Currently first value of default bit rate which is greater than or equal to the caculated mbps is selected. This selection can be further improved by selecting the default bit rate which is nearest to the calculated value. [1] specs r19uh0105ej0200-r-car-3rd-generation.pdf [Table 25.12] Fixes: 769afd212b16 ("media: rcar-csi2: add Renesas R-Car MIPI CSI-2 receiver driver") Signed-off-by: Suresh Udipi Signed-off-by: Michael Rodin Reviewed-by: Niklas Söderlund Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman --- drivers/media/platform/rcar-vin/rcar-csi2.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) --- a/drivers/media/platform/rcar-vin/rcar-csi2.c +++ b/drivers/media/platform/rcar-vin/rcar-csi2.c @@ -911,10 +911,17 @@ static int rcsi2_phtw_write_mbps(struct const struct rcsi2_mbps_reg *values, u16 code) { const struct rcsi2_mbps_reg *value; + const struct rcsi2_mbps_reg *prev_value = NULL; - for (value = values; value->mbps; value++) + for (value = values; value->mbps; value++) { if (value->mbps >= mbps) break; + prev_value = value; + } + + if (prev_value && + ((mbps - prev_value->mbps) <= (value->mbps - mbps))) + value = prev_value; if (!value->mbps) { dev_err(priv->dev, "Unsupported PHY speed (%u Mbps)", mbps);