All of lore.kernel.org
 help / color / mirror / Atom feed
From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCHv1 0/7] ARM core support for hardware I/O coherency in non-SMP platforms
Date: Wed, 14 May 2014 18:04:56 +0100	[thread overview]
Message-ID: <20140514170456.GC15946@arm.com> (raw)
In-Reply-To: <1400082641-23871-1-git-send-email-thomas.petazzoni@free-electrons.com>

On Wed, May 14, 2014 at 04:50:34PM +0100, Thomas Petazzoni wrote:
> This hardware I/O coherency mechanism needs a set of ARM core
> requirements to operate properly:
> 
>  * On Armada 370 (a single core processor)
> 
>    - The cache policy of pages must be set to "write allocate".

Arguably, I would make this the default for ARMv6+ CPUs even if UP. It's
a hint that the CPU may or may not ignore but it shouldn't break
anything (well, maybe some artificial benchmarks designed to show
that write-allocate caches are bad).

[...]

>  * On Armada 375/38x (which have single core and dual core variants)
> 
>    - The cache policy of pages must be set to "write allocate".
>    - The SMP and TLB broadcast bits must be set in the Auxiliary
>      Control Register (the core is a Cortex-A9)

What about setting this bit in the firmware/bootloader? It's a sane
initialisation firmware should do.

>    - The pages must be set as shareable.

Here you may have some conflict between the initial page tables set in
__create_page_tables as non-shareable (that's unless MPIDR shows it as
SMP but I guess not since smp-on-up kicks in). I have to think a bit
more about the implications (the ARM ARM has a chapter on mismatched
memory attributes and I think it talks about shareable vs
non-shareable).

>    - The SCU must be enabled

Again, could the firmware do this?

-- 
Catalin

  parent reply	other threads:[~2014-05-14 17:04 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-14 15:50 [RFC PATCHv1 0/7] ARM core support for hardware I/O coherency in non-SMP platforms Thomas Petazzoni
2014-05-14 15:50 ` [RFC PATCHv1 1/7] ARM: extend machine_desc with additional flags Thomas Petazzoni
2014-05-14 15:50 ` [RFC PATCHv1 2/7] ARM: mm: implement the usage of the machine_desc flags Thomas Petazzoni
2014-05-14 15:50 ` [RFC PATCHv1 3/7] ARM: mm: enable SMP bit and TLB broadcast bit on !SMP when needed Thomas Petazzoni
2014-05-14 15:50 ` [RFC PATCHv1 4/7] ARM: kernel: allow the SCU to be enabled even on !SMP Thomas Petazzoni
2014-05-14 15:50 ` [RFC PATCHv1 5/7] ARM: mvebu: split Armada 370 and Armada XP machine_desc Thomas Petazzoni
2014-05-14 15:50 ` [RFC PATCHv1 6/7] ARM: mvebu: define the Armada 370/375/38x/XP machine_desc flags Thomas Petazzoni
2014-05-14 15:50 ` [RFC PATCHv1 7/7] ARM: mvebu: I/O coherency no longer needs SMP on 375 and 38x Thomas Petazzoni
2014-05-14 17:04 ` Catalin Marinas [this message]
2014-05-15  9:50   ` [RFC PATCHv1 0/7] ARM core support for hardware I/O coherency in non-SMP platforms Thomas Petazzoni
2014-05-15 14:22     ` Catalin Marinas
2014-05-15 14:59       ` Rob Herring
2014-05-15 15:25         ` Catalin Marinas
2014-05-15 19:11           ` Rob Herring
2014-05-16 15:11             ` Catalin Marinas
2014-05-19  9:19               ` Thomas Petazzoni
2014-05-19  9:17       ` Thomas Petazzoni
2014-05-19 10:42         ` Catalin Marinas
2014-05-19 11:17           ` Thomas Petazzoni
2014-05-19 15:19             ` Catalin Marinas
2014-05-19 13:38   ` Thomas Petazzoni
2014-05-14 17:07 ` Rob Herring
2014-05-15 10:01   ` Thomas Petazzoni
2014-05-15 13:27     ` Will Deacon
2014-05-15 13:44       ` Thomas Petazzoni
2014-05-15 14:44     ` Rob Herring
2014-05-19  9:31       ` Thomas Petazzoni
2014-05-19 16:53         ` Rob Herring

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=20140514170456.GC15946@arm.com \
    --to=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.