Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp6667330pxb; Wed, 17 Feb 2021 10:07:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJxw8sMmJmQ+NptdJ+V24T7gV+PeGIiTfhCxTOwsAiGXiCNZE9kiG5nF/bE0uYA1lYjHgn1b X-Received: by 2002:a17:906:ca43:: with SMTP id jx3mr238004ejb.178.1613585255771; Wed, 17 Feb 2021 10:07:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613585255; cv=none; d=google.com; s=arc-20160816; b=i8AwV7EX60lk3PZSTYM60dMjIWCVYT/BTuxPJN+wO+wHoZH+F91ErsTgloV+DFkgyr A9p9AxzStv+RG3ah3H/M8pMOWnQXhUqyxIVJysNnNArHL9GWz97mQBEkwgdF5pqRaN5e tbgLVDmM9O2M+bADj/EE2gtJmN5BNp7psSqzAcg9PWtlQMAykSz0UuPsgHzIOhLZP2c1 w0ZDS8skiJxoibIKW3ax32yuZkmJp+Y/4cXScKAPpGtetLYqlICLxUhEumrQ9S7zPOSi W1w3GAkEXTvXnBljvhoaXNO41fED07pP6U2uERbWuoaOG1oS24UN5VE44vQOWJc27Tmw dI/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:organization :from:references:cc:to:subject:reply-to:dkim-signature; bh=iC/FViyOFJU6UZTIVAuzjljnS+L/EyNm6XrWZ+crDIo=; b=WQB3z8mMwSXnXFkMuCSUJ1HjkZSZbFX1RRxQj1O0qMsZx4+LUHdXAQpj0GwQ7UiiTo msNfxBpym687+T3GIp8ku27kIKZBi7ohMoNXkNTUigVao32vrVMPWUALKJgUQbIrZy5l UGEWM7Qx7ZohUtwk4GvxNyVQfA1j23RwpDfMNRqhTSHm1BnIQxl93KWWbWbOt1tukJ5J zRbYtn2PjTi2HMNJa3JNyUyV5ihTzpg3ZKUwN1qbqWnHrNpXr2hMXV5L3WvMLEzulWtJ vm8B04ar5nIksBIE8WhlTHYaKeGZNTl+kxVClrKF736dSfwCOGNUsvzYJvJCRDN1gEWK wfxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=C+p8M596; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cd17si2021523ejb.431.2021.02.17.10.07.04; Wed, 17 Feb 2021 10:07:35 -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 (test mode) header.i=@ideasonboard.com header.s=mail header.b=C+p8M596; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232895AbhBQNjp (ORCPT + 99 others); Wed, 17 Feb 2021 08:39:45 -0500 Received: from perceval.ideasonboard.com ([213.167.242.64]:50218 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233097AbhBQNdq (ORCPT ); Wed, 17 Feb 2021 08:33:46 -0500 Received: from [192.168.0.20] (cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 64FF98C4; Wed, 17 Feb 2021 14:33:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1613568784; bh=uJZ45WxQROloySzVhB55LTkBrXUfdRnph4seJ/EiOX4=; h=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To:From; b=C+p8M596IMCiulZTOnqsdxGSdnTmtRVSMEmq67pGLi0Pn1PEiuQyct3fon4sheVB2 76xxgXlWsTjHxTF40P+bvpHXiQfWr4txlfyY2KrKFgB4FLZh7XQC2Q7AMs+ztNp81n ryjVWZBQFLmwRi1v5SMFJl2HgptAMQu1Lslfkohk= Reply-To: kieran.bingham+renesas@ideasonboard.com Subject: Re: [PATCH 07/16] media: i2c: rdacm2x: Fix wake up delay To: Jacopo Mondi , laurent.pinchart+renesas@ideasonboard.com, niklas.soderlund+renesas@ragnatech.se, geert@linux-m68k.org Cc: Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org References: <20210216174146.106639-1-jacopo+renesas@jmondi.org> <20210216174146.106639-8-jacopo+renesas@jmondi.org> From: Kieran Bingham Organization: Ideas on Board Message-ID: <3e759da5-9bba-54ae-fe39-a7db2cbbb31c@ideasonboard.com> Date: Wed, 17 Feb 2021 13:33:01 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20210216174146.106639-8-jacopo+renesas@jmondi.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jacopo, On 16/02/2021 17:41, Jacopo Mondi wrote: > The MAX9271 chip manual prescribes a delay of 5 milliseconds > after the chip exists from low power state. > > Adjust the required delay in the rdacm21 camera module and add it > to the rdacm20 that currently doesn't implement one. > This sounds to me like it should be a common function in the max9271 module: > /* Verify communication with the MAX9271: ping to wakeup. */ > dev->serializer.client->addr = MAX9271_DEFAULT_ADDR; > i2c_smbus_read_byte(dev->serializer.client); > usleep_range(5000, 8000); Especially as that MAX9271_DEFAULT_ADDR should probably be handled directly in the max9271.c file too, and the RDACM's shouldn't care about it. If we end up moving the max9271 'library' into more of a module/device then this would have to be done in it's 'probe' anyway, so it's likely better handled down there...? But ... it's not essential at this point in the series, so if you want to keep this patch as is, Reviewed-by: Kieran Bingham > Signed-off-by: Jacopo Mondi > --- > drivers/media/i2c/rdacm20.c | 1 + > drivers/media/i2c/rdacm21.c | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/i2c/rdacm20.c b/drivers/media/i2c/rdacm20.c > index ea30cc936531..39e4b4241870 100644 > --- a/drivers/media/i2c/rdacm20.c > +++ b/drivers/media/i2c/rdacm20.c > @@ -460,6 +460,7 @@ static int rdacm20_initialize(struct rdacm20_device *dev) > /* Verify communication with the MAX9271: ping to wakeup. */ > dev->serializer.client->addr = MAX9271_DEFAULT_ADDR; > i2c_smbus_read_byte(dev->serializer.client); > + usleep_range(5000, 8000); > > /* Serial link disabled during config as it needs a valid pixel clock. */ > ret = max9271_set_serial_link(&dev->serializer, false); > diff --git a/drivers/media/i2c/rdacm21.c b/drivers/media/i2c/rdacm21.c > index 179d107f494c..b22a2ca5340b 100644 > --- a/drivers/media/i2c/rdacm21.c > +++ b/drivers/media/i2c/rdacm21.c > @@ -453,7 +453,7 @@ static int rdacm21_initialize(struct rdacm21_device *dev) > /* Verify communication with the MAX9271: ping to wakeup. */ > dev->serializer.client->addr = MAX9271_DEFAULT_ADDR; > i2c_smbus_read_byte(dev->serializer.client); > - usleep_range(3000, 5000); > + usleep_range(5000, 8000); > > /* Enable reverse channel and disable the serial link. */ > ret = max9271_set_serial_link(&dev->serializer, false); >