All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zubair Lutfullah :" <zubair.lutfullah-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Jonathan Cameron
	<jic23-tko9wxEg+fIOOJlXag/Snyp2UmYkHbXO@public.gmane.org>
Cc: "Zubair Lutfullah :"
	<zubair.lutfullah-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	jic23-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org,
	dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 2/2] iio: ti_am335x_adc: Add continuous sampling support
Date: Thu, 19 Sep 2013 10:55:44 +0500	[thread overview]
Message-ID: <20130919055542.GA7939@gmail.com> (raw)
In-Reply-To: <085d9527-c80e-4307-b8b9-c008976b4be1-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>

On Thu, Sep 19, 2013 at 06:41:22AM +0100, Jonathan Cameron wrote:
> 
> 
> >...
> >> >
> >> >  struct tiadc_device {
> >> >  	struct ti_tscadc_dev *mfd_tscadc;
> >> >  	int channels;
> >> >  	u8 channel_line[8];
> >> >  	u8 channel_step[8];
> >> >+	int buffer_en_ch_steps;
> >> >+	u32 *data;
> >> u16 *data;
> >> 
> >> Also it might actually save memory to simply have a fixed size array
> >> of the maximum size used here and avoid the extra allocations for
> >> the cost
> >> of 16 bytes in here.
> >> 
> >> Hence,
> >> 
> >> u16 data[8];
> >> >  };
> >
> >Why data[8]? The length is dynamic. 
> >This would be valid for the usual one sample per trigger case.
> >But here its continuous sampling and the hardware pushes samples
> >*quickly*
> >Dynamic allocation is needed.
> 
> As far as I can see you pull one set of channels into data[] then push that out to the kfifo. 
> 
> That is repeated lots of times but only up to 8 entries are ever used in this array. If not what is the maximum scanbytes can be?
> 

You have a good eye :).
I understand and will update.

Thanks
Zubair

> >
> >
> >...
> >
> >> >+static irqreturn_t tiadc_worker_h(int irq, void *private)
> >> >+{
> >> >+	struct iio_dev *indio_dev = private;
> >> >+	struct tiadc_device *adc_dev = iio_priv(indio_dev);
> >> >+	int i, k, fifo1count, read;
> >> >+	u32 *data = adc_dev->data;
> >> 	u16* data = adc_dev->data;
> >> >+
> >> >+	fifo1count = tiadc_readl(adc_dev, REG_FIFO1CNT);
> >> >+	for (k = 0; k < fifo1count; k = k + i) {
> >> >+		for (i = 0; i < (indio_dev->scan_bytes)/4; i++) {
> >> >+			read = tiadc_readl(adc_dev, REG_FIFO1);
> >> >+			data[i] = read & FIFOREAD_DATA_MASK;
> 
> i is only ever up to scanbytes / 4.
> Hence max of 8 I think?
> 
> Now there is a good argument for adding some bulk filling code for the buffers but that is not happening here.
> >> //This is a 12 bit number after the mask so will fit just fine into
> >16 bits.
> >

WARNING: multiple messages have this Message-ID (diff)
From: "Zubair Lutfullah :" <zubair.lutfullah@gmail.com>
To: Jonathan Cameron <jic23@jic23.retrosnub.co.uk>
Cc: "Zubair Lutfullah :" <zubair.lutfullah@gmail.com>,
	jic23@cam.ac.uk, dmitry.torokhov@gmail.com,
	linux-iio@vger.kernel.org, linux-input@vger.kernel.org,
	linux-kernel@vger.kernel.org, bigeasy@linutronix.de,
	gregkh@linuxfoundation.org
Subject: Re: [PATCH 2/2] iio: ti_am335x_adc: Add continuous sampling support
Date: Thu, 19 Sep 2013 10:55:44 +0500	[thread overview]
Message-ID: <20130919055542.GA7939@gmail.com> (raw)
In-Reply-To: <085d9527-c80e-4307-b8b9-c008976b4be1@email.android.com>

On Thu, Sep 19, 2013 at 06:41:22AM +0100, Jonathan Cameron wrote:
> 
> 
> >...
> >> >
> >> >  struct tiadc_device {
> >> >  	struct ti_tscadc_dev *mfd_tscadc;
> >> >  	int channels;
> >> >  	u8 channel_line[8];
> >> >  	u8 channel_step[8];
> >> >+	int buffer_en_ch_steps;
> >> >+	u32 *data;
> >> u16 *data;
> >> 
> >> Also it might actually save memory to simply have a fixed size array
> >> of the maximum size used here and avoid the extra allocations for
> >> the cost
> >> of 16 bytes in here.
> >> 
> >> Hence,
> >> 
> >> u16 data[8];
> >> >  };
> >
> >Why data[8]? The length is dynamic. 
> >This would be valid for the usual one sample per trigger case.
> >But here its continuous sampling and the hardware pushes samples
> >*quickly*
> >Dynamic allocation is needed.
> 
> As far as I can see you pull one set of channels into data[] then push that out to the kfifo. 
> 
> That is repeated lots of times but only up to 8 entries are ever used in this array. If not what is the maximum scanbytes can be?
> 

You have a good eye :).
I understand and will update.

Thanks
Zubair

> >
> >
> >...
> >
> >> >+static irqreturn_t tiadc_worker_h(int irq, void *private)
> >> >+{
> >> >+	struct iio_dev *indio_dev = private;
> >> >+	struct tiadc_device *adc_dev = iio_priv(indio_dev);
> >> >+	int i, k, fifo1count, read;
> >> >+	u32 *data = adc_dev->data;
> >> 	u16* data = adc_dev->data;
> >> >+
> >> >+	fifo1count = tiadc_readl(adc_dev, REG_FIFO1CNT);
> >> >+	for (k = 0; k < fifo1count; k = k + i) {
> >> >+		for (i = 0; i < (indio_dev->scan_bytes)/4; i++) {
> >> >+			read = tiadc_readl(adc_dev, REG_FIFO1);
> >> >+			data[i] = read & FIFOREAD_DATA_MASK;
> 
> i is only ever up to scanbytes / 4.
> Hence max of 8 I think?
> 
> Now there is a good argument for adding some bulk filling code for the buffers but that is not happening here.
> >> //This is a 12 bit number after the mask so will fit just fine into
> >16 bits.
> >

  parent reply	other threads:[~2013-09-19  5:55 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-18 11:23 [PATCH V10 0/2] iio: input: ti_am335x_adc: Add continuous sampling support Zubair Lutfullah
     [not found] ` <1379503383-17086-1-git-send-email-zubair.lutfullah-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-18 11:23   ` [PATCH 1/2] input: ti_am335x_tsc: Enable shared IRQ for TSC Zubair Lutfullah
2013-09-18 11:23     ` Zubair Lutfullah
2013-09-18 11:23 ` [PATCH 2/2] iio: ti_am335x_adc: Add continuous sampling support Zubair Lutfullah
     [not found]   ` <1379503383-17086-3-git-send-email-zubair.lutfullah-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-18 13:58     ` Jonathan Cameron
2013-09-18 13:58       ` Jonathan Cameron
     [not found]       ` <5239B197.2040807-tko9wxEg+fIOOJlXag/Snyp2UmYkHbXO@public.gmane.org>
2013-09-19  5:24         ` Zubair Lutfullah :
2013-09-19  5:24           ` Zubair Lutfullah :
     [not found]           ` <20130919052419.GB4363-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-19  5:41             ` Jonathan Cameron
2013-09-19  5:41               ` Jonathan Cameron
2013-09-19  5:41               ` Jonathan Cameron
     [not found]               ` <085d9527-c80e-4307-b8b9-c008976b4be1-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>
2013-09-19  5:55                 ` Zubair Lutfullah : [this message]
2013-09-19  5:55                   ` Zubair Lutfullah :
2013-10-07 11:53     ` Testing ti_am335x_adc continuous mode (WAS: Re: [PATCH 2/2] Sebastian Andrzej Siewior
2013-10-07 11:53       ` Sebastian Andrzej Siewior
2013-10-07 12:50       ` Zubair Lutfullah :
2013-10-07 12:50         ` Zubair Lutfullah :
2013-10-07 12:59         ` Sebastian Andrzej Siewior
2013-10-07 13:18           ` Zubair Lutfullah :
2013-10-07 13:26             ` Sebastian Andrzej Siewior
  -- strict thread matches above, loose matches on Subject: below --
2013-09-17  4:44 [PATCH V9 0/2] iio: input: ti_am335x_adc: Add continuous sampling support Zubair Lutfullah
2013-09-17  4:44 ` [PATCH 2/2] iio: " Zubair Lutfullah
     [not found]   ` <1379393047-11772-3-git-send-email-zubair.lutfullah-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-18  4:27     ` Dmitry Torokhov
2013-09-18  4:27       ` Dmitry Torokhov
     [not found]       ` <20130918042726.GB13196-WlK9ik9hQGAhIp7JRqBPierSzoNAToWh@public.gmane.org>
2013-09-18  6:54         ` Zubair Lutfullah :
2013-09-18  6:54           ` Zubair Lutfullah :
     [not found]           ` <20130918065406.GA13451-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-18  9:39             ` Jonathan Cameron
2013-09-18  9:39               ` Jonathan Cameron
     [not found]               ` <53771776-0d33-436d-9687-995ed0d6345d-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>
2013-09-18 11:25                 ` Zubair Lutfullah :
2013-09-18 11:25                   ` Zubair Lutfullah :
2013-09-18 14:15                 ` Dmitry Torokhov
2013-09-18 14:15                   ` Dmitry Torokhov
     [not found]                   ` <20130918141533.GA16424-WlK9ik9hQGAhIp7JRqBPierSzoNAToWh@public.gmane.org>
2013-09-18 16:12                     ` Jonathan Cameron
2013-09-18 16:12                       ` Jonathan Cameron
2013-09-18 16:24                       ` Dmitry Torokhov
     [not found]                         ` <20130918162442.GA14803-WlK9ik9hQGAhIp7JRqBPierSzoNAToWh@public.gmane.org>
2013-09-18 17:05                           ` Jonathan Cameron
2013-09-18 17:05                             ` Jonathan Cameron
2013-09-19  5:16                             ` Zubair Lutfullah :
     [not found]                               ` <20130919051611.GA4363-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-19  5:33                                 ` Jonathan Cameron
2013-09-19  5:33                                   ` Jonathan Cameron
2013-09-01 11:17 [PATCH V8 0/2] iio: input: ti_am335x_tscadc: Add continuous sampling support to adc Zubair Lutfullah
2013-09-01 11:17 ` [PATCH 2/2] iio: ti_am335x_adc: Add continuous sampling support Zubair Lutfullah
     [not found]   ` <1378034277-26728-3-git-send-email-zubair.lutfullah-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-08 13:42     ` Jonathan Cameron
2013-09-08 13:42       ` Jonathan Cameron
     [not found]       ` <522C7EDB.7090306-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-09-11 16:02         ` Zubair Lutfullah :
2013-09-11 16:02           ` Zubair Lutfullah :
2013-09-01 11:07 [PATCH V7 0/2] iio: input: ti_am335x_tscadc: Add continuous sampling support to adc Zubair Lutfullah
2013-09-01 11:07 ` [PATCH 2/2] iio: ti_am335x_adc: Add continuous sampling support Zubair Lutfullah
2013-08-25 22:45 [PATCH V6 0/2] iio: input: " Zubair Lutfullah
     [not found] ` <1377470724-15710-1-git-send-email-zubair.lutfullah-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-08-25 22:45   ` [PATCH 2/2] iio: " Zubair Lutfullah
2013-08-25 22:45     ` Zubair Lutfullah
2013-08-27  8:42     ` Lee Jones
2013-08-27  8:42       ` Lee Jones
2013-08-28 13:01     ` Sebastian Andrzej Siewior
2013-08-28 13:01       ` Sebastian Andrzej Siewior
2013-08-28 18:43       ` Zubair Lutfullah :
2013-08-29  7:49         ` Sebastian Andrzej Siewior
     [not found]     ` <1377470724-15710-3-git-send-email-zubair.lutfullah-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-08-28 14:18       ` Sebastian Andrzej Siewior
2013-08-28 14:18         ` Sebastian Andrzej Siewior
2013-08-28 14:18         ` Sebastian Andrzej Siewior
     [not found]         ` <20130828141835.GD14111-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-08-28 18:22           ` Zubair Lutfullah :
2013-08-28 18:22             ` Zubair Lutfullah :
2013-08-28 18:38             ` Sebastian Andrzej Siewior
2013-08-28 18:55               ` Zubair Lutfullah :
2013-08-28 16:43       ` Sebastian Andrzej Siewior
2013-08-28 16:43         ` Sebastian Andrzej Siewior
2013-08-28 16:43         ` Sebastian Andrzej Siewior
     [not found]         ` <20130828164308.GE14111-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-08-28 18:19           ` Zubair Lutfullah :
2013-08-28 18:19             ` Zubair Lutfullah :
2013-08-28 18:35             ` Sebastian Andrzej Siewior
2013-08-28 18:59               ` Zubair Lutfullah :
2013-08-29  7:56                 ` Sebastian Andrzej Siewior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130919055542.GA7939@gmail.com \
    --to=zubair.lutfullah-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
    --cc=dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=jic23-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org \
    --cc=jic23-tko9wxEg+fIOOJlXag/Snyp2UmYkHbXO@public.gmane.org \
    --cc=linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.