public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] mmc: tegra: invalidate complete cachelines
Date: Mon, 05 Nov 2012 12:50:22 -0700	[thread overview]
Message-ID: <5098187E.6020304@wwwdotorg.org> (raw)
In-Reply-To: <201211022310.08939.marex@denx.de>

On 11/02/2012 04:10 PM, Marek Vasut wrote:
> Dear Stephen Warren,
> 
>> On 11/02/2012 03:28 PM, Marek Vasut wrote:
>>> Dear Stephen Warren,
>>>
>>>> On 11/02/2012 02:38 PM, Marek Vasut wrote:
>> ...
>>
>>>>> Dumb question -- might be unrelated. Does the tegra mmc driver do DMA?
>>>>> And if so, what happens if you do raw read to unaligned address (aka.
>>>>> how come you don't need the bounce buffer)?
>>>>
>>>> Yes, it does DMA, I believe. (At least if it doesn't, I have no idea why
>>>> the driver is flushing caches!)
>>>>
>>>> I guess we only support the use of aligned addresses, so e.g. the
>>>> following would work:
>>>>
>>>> ext2load mmc 0:1 0x00100000 /file
>>>>
>>>> but the following wouldn't:
>>>>
>>>> ext2load mmc 0:1 0x00100004 /file
>>>>
>>>> which while I suppose it is an artificial restriction, hasn't been an
>>>> issue in practice.
>>>
>>> Then just enable the bounce buffer and it will work ;-)
>>
>> You suggested that last time, and it made no difference then... In fact,
>> the config option you mentioned isn't used anywhere in the srouce tree
>> except adding bouncebuf.o
> 
> Bouncebuf.o ?

common/bouncebuf.c

>> into the build right now; which config option
>> do you think I should use?
> 
> CONFIG_BOUNCE_BUFFER
> 
> It's used on mx28-based boards.

Ahah, there's much more to it than just defining the config option, and
grep'ing for the config option doesn't reveal that.

Defining CONFIG_BOUNCE_BUFFER simply pulls in bouncebuf.o into the
build. It's then up to the individual MMC/... driver to actually make
use of the new functions - i.e. explicitly call e.g.
bounce_buffer_start(). The MXS MMC driver calls these without any ifdef
CONFIG_BOUNCE_BUFFER, and hence doesn't show up when you grep for that.
I had assumed that such functionality would be a conditional part of the
MMC core rather than the individual drivers, hence had missed the usage
in the MXS driver.

So, that config option plus some changes to the Tegra MMC driver might
work - I'll take a look. However, making that change will simply hide
any unaligned buffer and reduce performance, so I'd still prefer to
require that buffers be aligned in the future where possible.

  reply	other threads:[~2012-11-05 19:50 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-24  7:53 [U-Boot] [PATCH 1/2] part_dos: allocate cacheline aligned buffers Thierry Reding
2012-04-24  7:53 ` [U-Boot] [PATCH 2/2] mmc: tegra: invalidate complete cachelines Thierry Reding
2012-04-25 22:54   ` Mike Frysinger
2012-04-26  6:18     ` Thierry Reding
2012-04-26 10:16       ` Simon Glass
2012-04-26 10:34         ` Thierry Reding
2012-04-27  5:29           ` Mike Frysinger
2012-04-27  5:50             ` Simon Glass
2012-11-02 20:22             ` Stephen Warren
2012-11-02 20:25               ` Simon Glass
2012-11-02 20:38                 ` Marek Vasut
2012-11-02 20:58                   ` Stephen Warren
2012-11-02 21:28                     ` Marek Vasut
2012-11-02 21:31                       ` Stephen Warren
2012-11-02 22:10                         ` Marek Vasut
2012-11-05 19:50                           ` Stephen Warren [this message]
2012-11-05 22:59                             ` Marek Vasut
2012-11-05 23:07                             ` Simon Glass
2012-11-02 20:55                 ` Stephen Warren
2012-04-24 18:31 ` [U-Boot] [PATCH 1/2] part_dos: allocate cacheline aligned buffers Simon Glass
2012-04-24 18:45   ` Thierry Reding

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=5098187E.6020304@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --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