From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 07/13] fastboot: Implement NAND backend
Date: Thu, 10 Sep 2015 09:41:51 +0200 [thread overview]
Message-ID: <20150910094151.3a515f7c@bbrezillon> (raw)
In-Reply-To: <1441032373-16992-8-git-send-email-maxime.ripard@free-electrons.com>
Hi Maxime,
On Mon, 31 Aug 2015 16:46:07 +0200
Maxime Ripard <maxime.ripard@free-electrons.com> wrote:
> So far the fastboot code was only supporting MMC-backed devices for its
> flashing operations (flash and erase).
>
> Add a storage backend for NAND-backed devices.
>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
[...]
> +
> +static int _fb_nand_write(nand_info_t *nand, struct part_info *part,
> + void *buffer, unsigned int offset,
> + unsigned int length)
> +{
> + int flags = WITH_WR_VERIFY;
> + int ret;
> +
> +#ifdef CONFIG_FASTBOOT_FLASH_NAND_TRIMFFS
> + flags |= WITH_DROP_FFS;
> +#endif
> + ret = nand_write_skip_bad(nand, offset, &length, NULL,
> + part->size - (offset - part->offset),
> + buffer, flags);
Hm, you seem to ignore skipped blocks here (the 'actual' parameter is
NULL), which means you won't adapt the offset accordingly and will
likely override some data if you appear to have bad blocks in the
section you're writing with the sparse method.
> +
> + if (ret)
> + return ret;
> +
> + return ret;
> +}
> +
> +static unsigned int fb_nand_sparse_write(struct sparse_storage *storage,
> + void *priv,
> + unsigned int offset,
Maybe you should pass a pointer here, so that you can properly update it
with the number of skipped blocks (the same goes for the _fb_nand_write
function).
Best Regards,
Boris
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
next prev parent reply other threads:[~2015-09-10 7:41 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-31 14:46 [U-Boot] [PATCH 00/13] Implement fastboot over NAND Maxime Ripard
2015-08-31 14:46 ` [U-Boot] [PATCH 01/13] mtd: uboot: Add meaningful error message Maxime Ripard
2015-09-04 17:20 ` Tom Rini
2015-08-31 14:46 ` [U-Boot] [PATCH 02/13] sparse: Move main header parsing to a function of its own Maxime Ripard
2015-09-04 17:20 ` Tom Rini
2015-08-31 14:46 ` [U-Boot] [PATCH 03/13] sparse: Refactor chunk parsing function Maxime Ripard
2015-09-04 17:20 ` Tom Rini
2015-08-31 14:46 ` [U-Boot] [PATCH 04/13] sparse: Simplify multiple logic Maxime Ripard
2015-09-04 17:20 ` Tom Rini
2015-09-06 11:27 ` Maxime Ripard
2015-09-06 19:28 ` Tom Rini
2015-09-13 17:08 ` Maxime Ripard
2015-08-31 14:46 ` [U-Boot] [PATCH 05/13] sparse: Implement storage abstraction Maxime Ripard
2015-09-04 17:20 ` Tom Rini
2015-08-31 14:46 ` [U-Boot] [PATCH 06/13] fastboot: Move fastboot response functions to fastboot core Maxime Ripard
2015-09-04 17:20 ` Tom Rini
2015-09-06 16:11 ` Maxime Ripard
2015-09-06 19:43 ` Tom Rini
2015-08-31 14:46 ` [U-Boot] [PATCH 07/13] fastboot: Implement NAND backend Maxime Ripard
2015-09-04 17:20 ` Tom Rini
2015-09-06 15:57 ` Maxime Ripard
2015-09-06 19:41 ` Tom Rini
2015-09-10 7:41 ` Boris Brezillon [this message]
2015-08-31 14:46 ` [U-Boot] [PATCH 08/13] fastboot: nand: Add pre erase and write hooks Maxime Ripard
2015-09-04 17:20 ` Tom Rini
2015-08-31 14:46 ` [U-Boot] [PATCH 09/13] sparse: Rename the file and header Maxime Ripard
2015-09-04 17:21 ` Tom Rini
2015-09-06 11:28 ` Maxime Ripard
2015-08-31 14:46 ` [U-Boot] [PATCH 10/13] sunxi: Make the fastboot buffer larger Maxime Ripard
2015-08-31 15:01 ` Hans de Goede
2015-08-31 19:17 ` Rob Herring
2015-09-01 7:14 ` Maxime Ripard
2015-09-08 13:00 ` Rob Herring
2015-09-08 15:44 ` Maxime Ripard
2015-09-01 7:05 ` Maxime Ripard
2015-09-01 8:59 ` Hans de Goede
2015-09-03 21:43 ` Maxime Ripard
2015-09-01 8:02 ` Siarhei Siamashka
2015-09-01 7:22 ` Ian Campbell
2015-09-01 7:44 ` Siarhei Siamashka
2015-09-01 8:11 ` Maxime Ripard
2015-09-04 17:02 ` Tom Rini
2015-09-06 11:23 ` Maxime Ripard
2015-09-01 7:57 ` Maxime Ripard
2015-09-04 16:59 ` Tom Rini
2015-09-06 11:22 ` Maxime Ripard
2015-09-07 9:07 ` Ian Campbell
2015-08-31 14:46 ` [U-Boot] [PATCH 11/13] sunxi: Add support for android boot image Maxime Ripard
2015-09-01 7:08 ` Ian Campbell
2015-09-01 7:15 ` Maxime Ripard
2015-09-01 9:00 ` Paul Kocialkowski
2015-09-01 10:46 ` Ian Campbell
2015-09-01 11:29 ` Maxime Ripard
2015-09-01 13:54 ` Ian Campbell
2015-09-01 13:59 ` Paul Kocialkowski
2015-09-01 11:28 ` Maxime Ripard
2015-09-08 13:12 ` Rob Herring
2015-08-31 14:46 ` [U-Boot] [PATCH 12/13] sunxi: A13-Olinuxino: Enable the USB OTG controller Maxime Ripard
2015-09-01 9:01 ` Hans de Goede
2015-09-03 21:41 ` Maxime Ripard
2015-09-10 18:47 ` Hans de Goede
2015-09-13 17:13 ` Maxime Ripard
2015-09-13 17:38 ` Hans de Goede
2015-09-14 21:19 ` Maxime Ripard
2015-08-31 14:46 ` [U-Boot] [PATCH 13/13] sunxi: cubietruck: " Maxime Ripard
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=20150910094151.3a515f7c@bbrezillon \
--to=boris.brezillon@free-electrons.com \
--cc=u-boot@lists.denx.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox