[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <g2j8bd0f97a1005061146l2b01e45do15bf46162e38ce84@mail.gmail.com>
Date: Thu, 6 May 2010 14:46:04 -0400
From: Mike Frysinger <vapier.adi@...il.com>
To: Oskar Schirmer <os@...ix.com>
Cc: Dmitry Torokhov <dmitry.torokhov@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
Daniel Glöckner <dg@...ix.com>,
Oliver Schneidewind <osw@...ix.com>,
Johannes Weiner <jw@...ix.com>
Subject: Re: [PATCH] ad7877: keep dma rx buffers in seperate cache lines
On Thu, May 6, 2010 at 06:37, Oskar Schirmer wrote:
> struct ser_req {
> + u16 sample;
> + char __padalign[L1_CACHE_BYTES - sizeof(u16)];
> +
> u16 reset;
> u16 ref_on;
> u16 command;
> - u16 sample;
> struct spi_message msg;
> struct spi_transfer xfer[6];
> };
are you sure this is necessary ? ser_req is only ever used with
spi_sync() and it's allocated/released on the fly, so how could
anything be reading that memory between the start of the transmission
and the return to adi7877 ?
> struct ad7877 {
> + u16 conversion_data[AD7877_NR_SENSE];
> + char __padalign[L1_CACHE_BYTES
> + - AD7877_NR_SENSE * sizeof(u16)];
> +
> struct input_dev *input;
> char phys[32];
>
> @@ -182,8 +188,6 @@ struct ad7877 {
> u8 averaging;
> u8 pen_down_acc_interval;
>
> - u16 conversion_data[AD7877_NR_SENSE];
> -
> struct spi_transfer xfer[AD7877_NR_SENSE + 2];
> struct spi_message msg;
i can see the spi_message inside of this struct being a problem
because the spi transfer is doing asynchronously with spi_async().
however, i would add a comment right above these two fields with a
short explanation as to why they're at the start and why the pad
exists so someone down the line doesnt move it.
-mike
Powered by blists - more mailing lists