Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3579470pxb; Mon, 25 Jan 2021 22:11:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJw3TcGau1ghpItGHx7/1JDc+F/0BCMU8amVK2NRRgs1MplRzA3l93fMSkd2p8u97xJ+lyaw X-Received: by 2002:aa7:cb8f:: with SMTP id r15mr3384434edt.130.1611641466775; Mon, 25 Jan 2021 22:11:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611641466; cv=none; d=google.com; s=arc-20160816; b=Ijxmmra2GM+A2LuioL1UYiSV68pxH+k2JcXShyVk5+6ERrUrMIjv7PLcofqDY/GqR/ eYYMxpLG/FncjgIw1+lqekjwdH0oFRp8cj9aS5zE2wvlwQv//ah6Bm3ihcpTWGU+VY5P UaTRuz3qIr8+uYhQlJwg6JvQycQVYDvoQg0SF4JHyPWRrfm9JvDCw9g2+2SgLsieun89 FGn/nmGiZUwMhCgSQyR+19/zJTGmePeH5eAneCAJaKhY6dQaUvcyCHnZ/7gMxD+z/I0+ C3vkcMxwNNR8VObv+YqfPmgTMF8HEh95RIoB2CNTtDqtkI/pXgzKO9o9VAaMXzF0A7Hx r9Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:from:references:cc:to:subject; bh=lX8j3FzgWrQhYdtqbTozwSDCyLzAytj0mpiD1qhICow=; b=MTx6Id/clMNmUylZK2kM1fO073Go5UboiUAx8Cxyha1xHC6K0M1lvO3o1OAtOiggJm 8meQaRMblOw4l4wQFt8RiqNBD+wG4HhTv9xSbxQBcU0/B5W2NQyTG6/ww2aBYfUG/TLA Rh88hxITyjHVWozT5u5Xu/lUNlJQXJpMoubNPyR76D9eFE6EMxb+1iEnr+qtZRydmVdA FWNKdFJwNJJ0FHdnrx0vp3LKk7upZydhxVJ1MxWkQZDQP8pFEHAWL22kOEFSI6YuxrKt KsX6affz8dpc4ijxGPSBZvXg0rqukYEZxcaQRfvM590GL8f3cU6FbtcJQ1aAhl1s6r+K /ySw== ARC-Authentication-Results: i=1; mx.google.com; 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 d9si8436899edt.564.2021.01.25.22.10.42; Mon, 25 Jan 2021 22:11:06 -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; 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 S1728446AbhAZGIP (ORCPT + 99 others); Tue, 26 Jan 2021 01:08:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52150 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728435AbhAYMwc (ORCPT ); Mon, 25 Jan 2021 07:52:32 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B041DC061A2D for ; Mon, 25 Jan 2021 03:52:58 -0800 (PST) Received: from gallifrey.ext.pengutronix.de ([2001:67c:670:201:5054:ff:fe8d:eefb] helo=bjornoya.blackshift.org) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l40QK-0005le-DP; Mon, 25 Jan 2021 12:52:48 +0100 Received: from [IPv6:2a03:f580:87bc:d400:41dd:30c9:182f:703e] (unknown [IPv6:2a03:f580:87bc:d400:41dd:30c9:182f:703e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits)) (Client CN "mkl@blackshift.org", Issuer "StartCom Class 1 Client CA" (not verified)) (Authenticated sender: mkl@blackshift.org) by smtp.blackshift.org (Postfix) with ESMTPSA id ACA1A5CD392; Mon, 25 Jan 2021 11:49:10 +0000 (UTC) Subject: Re: [PATCH v3] iio: adc: stm32-adc: enable timestamping for non-DMA usage To: Ahmad Fatoum , Jonathan Cameron , Lars-Peter Clausen , Peter Meerwald-Stadler , Maxime Coquelin , Alexandre Torgue Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Fabrice Gasnier , kernel@pengutronix.de, Holger Assmann , linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org References: <20210125112127.1583-1-a.fatoum@pengutronix.de> From: Marc Kleine-Budde Autocrypt: addr=mkl@pengutronix.de; prefer-encrypt=mutual; keydata= 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 Message-ID: Date: Mon, 25 Jan 2021 12:49:07 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: <20210125112127.1583-1-a.fatoum@pengutronix.de> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="wAqib0qiOuofRijtfaTNvDsBgQJxTo6MB" X-SA-Exim-Connect-IP: 2001:67c:670:201:5054:ff:fe8d:eefb X-SA-Exim-Mail-From: mkl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --wAqib0qiOuofRijtfaTNvDsBgQJxTo6MB Content-Type: multipart/mixed; boundary="qbSly7rWOJqcyTqq8ZZ7fjD6UX868OXlr"; protected-headers="v1" From: Marc Kleine-Budde To: Ahmad Fatoum , Jonathan Cameron , Lars-Peter Clausen , Peter Meerwald-Stadler , Maxime Coquelin , Alexandre Torgue Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Fabrice Gasnier , kernel@pengutronix.de, Holger Assmann , linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Message-ID: Subject: Re: [PATCH v3] iio: adc: stm32-adc: enable timestamping for non-DMA usage References: <20210125112127.1583-1-a.fatoum@pengutronix.de> In-Reply-To: <20210125112127.1583-1-a.fatoum@pengutronix.de> --qbSly7rWOJqcyTqq8ZZ7fjD6UX868OXlr Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: quoted-printable On 1/25/21 12:21 PM, Ahmad Fatoum wrote: > For non-DMA usage, we have an easy way to associate a timestamp with a > sample: iio_pollfunc_store_time stores a timestamp in the primary > trigger IRQ handler and stm32_adc_trigger_handler runs in the IRQ threa= d > to push out the buffer along with the timestamp. >=20 > For this to work, the driver needs to register an IIO_TIMESTAMP channel= =2E > Do this. >=20 > For DMA, it's not as easy, because we don't push the buffers out of > stm32_adc_trigger, but out of stm32_adc_dma_buffer_done, which runs in > a tasklet scheduled after a DMA completion. >=20 > Preferably, the DMA controller would copy us the timestamp into that bu= ffer > as well. Until this is implemented, restrict timestamping support to > only PIO. For low-frequency sampling, PIO is probably good enough. >=20 > Cc: Holger Assmann > Acked-by: Fabrice Gasnier > Signed-off-by: Ahmad Fatoum > --- > v2 -> v3: > - explicitly specify alignment (Jonathan) > - increase buffer size to hold additional timestamp > v1 -> v2: > - Added comment about timestamping being PIO only (Fabrice) > - Added missing DMA resource clean up in error path (Fabrice) > - Added Fabrice's Acked-by > --- > drivers/iio/adc/stm32-adc.c | 39 +++++++++++++++++++++++++++++--------= > 1 file changed, 31 insertions(+), 8 deletions(-) >=20 > diff --git a/drivers/iio/adc/stm32-adc.c b/drivers/iio/adc/stm32-adc.c > index c067c994dae2..ab2f440d7afb 100644 > --- a/drivers/iio/adc/stm32-adc.c > +++ b/drivers/iio/adc/stm32-adc.c > @@ -177,7 +177,7 @@ struct stm32_adc_cfg { > * @offset: ADC instance register offset in ADC block > * @cfg: compatible configuration data > * @completion: end of single conversion completion > - * @buffer: data buffer > + * @buffer: data buffer + 8 bytes for timestamp if enabled ^ > * @clk: clock for this adc instance > * @irq: interrupt for this adc instance > * @lock: spinlock > @@ -200,7 +200,7 @@ struct stm32_adc { > u32 offset; > const struct stm32_adc_cfg *cfg; > struct completion completion; > - u16 buffer[STM32_ADC_MAX_SQ]; > + u16 buffer[STM32_ADC_MAX_SQ + 8] __aligned(8); ^^ ^ How does that fit together? Marc --=20 Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | --qbSly7rWOJqcyTqq8ZZ7fjD6UX868OXlr-- --wAqib0qiOuofRijtfaTNvDsBgQJxTo6MB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEK3kIWJt9yTYMP3ehqclaivrt76kFAmAOsDMACgkQqclaivrt 76nJXAf/S3Qyt1FiGDHipghOTrju+d+bBCFaFHRqphPiHvq8fzZWcIuMb9BzcX13 0Sf54+AcjwyMqlGQHLc9Ia3Wco4gvcTP33tB8Vp9Irho3/EQybrQsgrvR81tnlhX z6Vj5S2ADuO4pukgmI1qkXyu07eQ84qYObHsVgxQf0uo7Dhn7XxczO3KznxYZFa5 ciXaY65hf/lYBvIUqF94bdnh48+8Z73+TqKyKrG+0hnpXA+fbVmLdq0+9tO6RasQ kAxjm+lGX8avg0+6ARx9SYPWWEBoGvoH8vQq+3vUka6zRc9N/2/11WSyYS/BI2eG AHXCmAmaFGoHTLVC1u63n2Q1x4uajw== =qP1C -----END PGP SIGNATURE----- --wAqib0qiOuofRijtfaTNvDsBgQJxTo6MB--