Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3593898pxb; Mon, 24 Jan 2022 13:04:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJw2uXH4JpwW3Cb1RF3UeVBh3XlMTGXhHQI2N9IWPIr6A97V/KM4agzzx464VhbGzfNqTUI6 X-Received: by 2002:a17:902:aa84:b0:149:711b:258f with SMTP id d4-20020a170902aa8400b00149711b258fmr16223607plr.170.1643058276774; Mon, 24 Jan 2022 13:04:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643058276; cv=none; d=google.com; s=arc-20160816; b=PpsgygzoqSBGZS1fDYXDdNTvMHcOQNafWd4M7dLDSAVn1k/Yy6a1bM1p30Dulnk01y 5kGUogiA/ZLGOYxsk5Y/sk78DmqQkXwXOhw+ZohvGwU5dWgn1lQd2/wAMRBrxUODkFkS qoT86Y0zrVk0yc6O8ZX2/bLGhO+pLC3H0a5sHfOSXzcDX2+QhrDIiYtSM/c0X9UXQZ+P NnLFyIFTtZ5wxWtX/CZ4PyMOA34kidCRQWM52T6fA60sKD/GFOmLBfjCbV6q9rqW/zOx gUnbsx5vtqywQ41feKNmJAGpHVmVhEU9XhqX23hGuTkBTf/9sgiIR87x5ZntFupoNbDs 1k7g== 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=iFgr9XwYSlHd/x1pbWaNp5fhhlSBgyHKvHYnf2vrNlY=; b=knjzpcU8cFPvgEpx/cyxf0eeBK43K4fj6f0ItP25730gODio79kGeVlRFuZbvxp6U7 nRRHXArAuG/rkHEeF6jFbz8kuS60MdqrZwKsb4xM/vA9rsPbQu8STJW24p8hzfjcDHYg wNsqJd9s7IxAHxMCPfaQ2DS+B7HSWMRh1LOHK/DKfpZCuazlW/cJB6wtbZ2f/qojNIj1 77ZCZm8Gws8HQGrNELR5RuX6iDCyXRwZQEXe3ulSgcQ9BuNQpeAJmb9E0I400XrVJTlb yI71XK9D0rhB3OEjWAIxor8Q/Al3UC//YpWfvmaEjf/Ec2OMOIo+EvDaZNKHuQXyrjxy PCJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=h2fGVQKP; 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 z2si11722857pgb.20.2022.01.24.13.04.20; Mon, 24 Jan 2022 13:04:36 -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=h2fGVQKP; 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 S1383900AbiAXU16 (ORCPT + 99 others); Mon, 24 Jan 2022 15:27:58 -0500 Received: from ams.source.kernel.org ([145.40.68.75]:48884 "EHLO ams.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377617AbiAXUFp (ORCPT ); Mon, 24 Jan 2022 15:05:45 -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 4376EB8122A; Mon, 24 Jan 2022 20:05:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6D26EC340E5; Mon, 24 Jan 2022 20:05:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643054743; bh=8YIJDSU95lxAcjy6scG6fi1Dh3ZhJhGtgJHvXafBIaQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=h2fGVQKPbYQn7kXeCxG7ckW+4t361KCQEtCiMCDGVT89dBzs3I4nXGB0bc/81F6SU 7jx+Zy/58wcq9h/YNLUBfjMmE2G5384iCIOjENkoelD8unexxXkLJplvzqTQ3ubQet pIC55sWYxoHA1uKZ15hOxNtbc94w2A2ZfGCYNm+0= 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.10 488/563] media: rcar-csi2: Optimize the selection PHTW register Date: Mon, 24 Jan 2022 19:44:13 +0100 Message-Id: <20220124184041.323136714@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124184024.407936072@linuxfoundation.org> References: <20220124184024.407936072@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 @@ -976,10 +976,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);