lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <57067694.8030806@atmel.com>
Date:	Thu, 7 Apr 2016 17:02:44 +0200
From:	Cyrille Pitchen <cyrille.pitchen@...el.com>
To:	P L Sai Krishna <lakshmi.sai.krishna.potthuri@...inx.com>,
	Michal Simek <michal.simek@...inx.com>,
	Soren Brinkmann <soren.brinkmann@...inx.com>,
	David Woodhouse <dwmw2@...radead.org>,
	Brian Norris <computersforpeace@...il.com>,
	Mark Brown <broonie@...nel.org>,
	"Javier Martinez Canillas" <javier@....samsung.com>,
	Boris Brezillon <boris.brezillon@...e-electrons.com>,
	Stephen Warren <swarren@...dia.com>,
	Geert Uytterhoeven <geert+renesas@...der.be>,
	"Andrew F. Davis" <afd@...com>, Marek Vasut <marex@...x.de>,
	Jagan Teki <jteki@...nedev.com>,
	Rafał Miłecki <zajec5@...il.com>
CC:	<linux-mtd@...ts.infradead.org>, <linux-kernel@...r.kernel.org>,
	<linux-spi@...r.kernel.org>,
	<linux-arm-kernel@...ts.infradead.org>,
	"Harini Katakam" <harinik@...inx.com>,
	Punnaiah Choudary Kalluri <punnaia@...inx.com>,
	Anirudha Sarangi <anirudh@...inx.com>,
	P L Sai Krishna <lakshmis@...inx.com>,
	"R, Vignesh" <vigneshr@...com>
Subject: Re: [LINUX PATCH v2 1/3] spi: Added dummy_cycle entry in the
 spi_transfer structure.

Hi all,

Le 07/04/2016 16:39, P L Sai Krishna a écrit :
> This patch adds dummy_cycles entry in the spi_transfer structure.
> len field in the transfer structure contains dummy bytes along with
> actual data bytes, controllers which requires dummy bytes use len
> field and simply Ignore the dummy_cycles field. Controllers which
> expects dummy cycles won't work directly by using len field because
> host driver doesn't know that len field of a particular transfer
> includes dummy bytes or not (and also number of dummy bytes included
> in len field). In such cases host driver use this dummy_cycles field
> to identify the number of dummy cycles and based on that it will send
> the required number of dummy cycles.

Dummy cycles are only used with SPI NOR flashes, aren't they?
I guess so since there is also a patch dedicated to the m25p80 driver.

So why not using the spi_flash_read() API already introduced by Vignesh
in the SPI layer?

struct spi_flash_read_message already includes a 'dummy_bytes' member.

> 
> Signed-off-by: P L Sai Krishna <lakshmis@...inx.com>
> ---
> v2: 
>  - Changed the structure member name from dummy to dummy_cycles.
>  - Updated the documentation of dummy_cycles.
>  - m25p80 changes split into another patch.
> 
>  include/linux/spi/spi.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
> index 857a9a1..63135b3 100644
> --- a/include/linux/spi/spi.h
> +++ b/include/linux/spi/spi.h
> @@ -664,6 +664,9 @@ extern void spi_res_release(struct spi_master *master,
>   * @len: size of rx and tx buffers (in bytes)
>   * @speed_hz: Select a speed other than the device default for this
>   *      transfer. If 0 the default (from @spi_device) is used.
> + * @dummy_cycles: number of dummy cycles. If host controller requires
> + * 	dummy cycles rather than dummy bytes which send along with Cmd
> + *	and address then this dummy_cycles is used.
>   * @bits_per_word: select a bits_per_word other than the device default
>   *      for this transfer. If 0 the default (from @spi_device) is used.
>   * @cs_change: affects chipselect after this transfer completes
> @@ -752,6 +755,7 @@ struct spi_transfer {
>  	u8		bits_per_word;
>  	u16		delay_usecs;
>  	u32		speed_hz;
> +	u32		dummy_cycles;
>  
>  	struct list_head transfer_list;
>  };
> 

Best regards,

Cyrille

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ