From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 6/9] CACHE: nand read/write: Test if start address is aligned
Date: Mon, 25 Jun 2012 19:37:50 -0500 [thread overview]
Message-ID: <4FE9045E.3080903@freescale.com> (raw)
In-Reply-To: <201206260142.30537.marex@denx.de>
On 06/25/2012 06:42 PM, Marek Vasut wrote:
> Dear Scott Wood,
>
>> On 06/25/2012 03:48 PM, Tom Rini wrote:
>>> Right. What I'm trying to say is it's not a NAND problem it's an
>>> unaligned addresses problem so the solution needs to be easily used
>>> everywhere.
>>
>> OK, so fix it in each driver that has this issue. A lot of drivers are
>> probably not so performance critical that you can't just always use a
>> bounce buffer. A static buffer plus memcpy isn't that burdensome --
>> it's close to what the drivers for non-DMA hardware do. For higher
>> performance peripherals, throw in an if-statement or two. It doesn't
>> seem like something that needs a U-Boot-wide change.
>
> This is flat bull. I don't want bounce buffers growing all around uboot, see my
> previous email. I'm 120% firm in that.
I'm 150% firm that you're going to need a better justification to change
the user interface for everybody.
What's next, restricting "cp" (or even "cp.b") in case someone wants to
use a DMA engine to copy the bits?
Note that in the case of "nand read.oob", depending on NAND page size
and platform, there's a good chance that you're imposing an alignment
restriction that is larger than the data being transferred even if the
user asks to read the entire OOB.
What about "nand write.yaffs2" or multi-page "nand read.raw", which deal
with arrays of interleaved main+spare? With a small page NAND chip,
you'll need cache lines that are 16 bytes or smaller to avoid unaligned
transactions -- and those will bypass your front-end check (unless the
user is so "stupid" as to want to modify the data after a raw-read, and
do a raw-write of a particular page).
> And btw it's not about bounce buffers, it's also about other code (like FS code)
> which does unaligned accesses and we're fixing it.
Fixing the alignment of U-Boot-generated buffers is good. That doesn't
affect the user interface. This is different.
>> In the specific case of NAND, how many NAND drivers use DMA at all?
>
> Many do,
How many? Specifically, how many that have alignment restrictions, that
would need to be fixed?
> it's not only nand, it's all over the place.
This patch is about NAND.
-Scott
next prev parent reply other threads:[~2012-06-26 0:37 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-25 0:17 [U-Boot] [PATCH 0/9] CACHE: Finishing touches Marek Vasut
2012-06-25 0:17 ` [U-Boot] [PATCH 1/9] COMMON: Add __stringify() function Marek Vasut
2012-06-25 0:17 ` [U-Boot] [PATCH 2/9] CACHE: Add cache_aligned() macro Marek Vasut
2012-06-25 21:12 ` Scott Wood
2012-06-25 23:30 ` Marek Vasut
2012-07-07 3:00 ` Aneesh V
2012-06-25 0:17 ` [U-Boot] [PATCH 3/9] CACHE: ext2load: Test if start address is aligned Marek Vasut
2012-06-25 0:17 ` [U-Boot] [PATCH 4/9] CACHE: fatload: " Marek Vasut
2012-06-25 0:17 ` [U-Boot] [PATCH 5/9] CACHE: mmc read/write: " Marek Vasut
2012-06-25 0:17 ` [U-Boot] [PATCH 6/9] CACHE: nand " Marek Vasut
2012-06-25 16:58 ` Scott Wood
2012-06-25 18:43 ` Tom Rini
2012-06-25 20:08 ` Scott Wood
2012-06-25 20:48 ` Tom Rini
2012-06-25 21:17 ` Scott Wood
2012-06-25 21:22 ` Tom Rini
2012-06-25 23:42 ` Marek Vasut
2012-06-26 0:37 ` Scott Wood [this message]
2012-06-26 1:16 ` Marek Vasut
2012-06-26 19:38 ` Scott Wood
2012-06-25 23:38 ` Marek Vasut
2012-06-25 23:37 ` Marek Vasut
2012-06-25 23:57 ` Scott Wood
2012-06-26 1:33 ` Marek Vasut
2012-06-26 19:25 ` Scott Wood
2012-06-26 20:39 ` Marek Vasut
2012-07-07 3:05 ` Aneesh V
2012-06-25 0:17 ` [U-Boot] [PATCH 7/9] CACHE: net: " Marek Vasut
2012-06-25 18:05 ` Joe Hershberger
2012-06-25 23:16 ` Marek Vasut
2012-06-25 0:17 ` [U-Boot] [PATCH 8/9] CACHE: net: asix: Fix asix driver to work with data cache on Marek Vasut
2012-06-25 18:07 ` Joe Hershberger
2012-06-25 23:16 ` Marek Vasut
2012-07-06 23:09 ` Marek Vasut
2012-07-06 23:16 ` Marek Vasut
2012-06-25 0:17 ` [U-Boot] [PATCH 9/9] M28EVK: Enable instruction and data cache Marek Vasut
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=4FE9045E.3080903@freescale.com \
--to=scottwood@freescale.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