All of lore.kernel.org
 help / color / mirror / Atom feed
From: jgunthorpe@obsidianresearch.com (Jason Gunthorpe)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 10/21] ARM: MM: Add DT binding for Feroceon L2 cache
Date: Fri, 7 Feb 2014 11:13:59 -0700	[thread overview]
Message-ID: <20140207181359.GD16263@obsidianresearch.com> (raw)
In-Reply-To: <20140207093206.GE17758@lunn.ch>

On Fri, Feb 07, 2014 at 10:32:06AM +0100, Andrew Lunn wrote:

> > I'd prefer to fallback to hardcoded register address here.  We know
> > we're on kirkwood at this point.
> 
> We could also be on mv78xx0, sometime in the future. So we need to at
> least look at the compatible string to see what SoC we are. It is also
> rather ugly having hard coded addresses. We might as well go back to
> platform devices.

The driver should have a default mode "marvell,feroceon-cache" which
doesn't manipulate the write through register at all. In this mode you
don't need any register mapping or DT block, just do the mcr/mrc
operations to switch the cache on and inhibit printing of the write
through status.

So, I'd suggest rough logic like:

int feroceon_of_init()
{
 writethrough = -1;
 if (np = of_find_compatible("marvell,kirkwood-cache")) {
     writethrough = set_writethrough(np, L2_WT_REG_KIRKWOOD, 
                                     L2_WRITETHROUGH_KIRKWOOD);
 else if (np = of_find_compatible("marvell,mv78xx0-cache")) {
     writethrough = set_writethrough(np, L2_WT_REG_MV78XX0,
                                     L2_WRITETHROUGH_MV78XX0);

 feroceon_l2_init(writethrough);

[..]
void __init feroceon_l2_init(int __l2_wt_override)
{
    /* If we don't know the write through state then assume it is
       write back, as that is the safest option. */
    if (__l2_wt_override == -1)
      l2_wt_override = 0;
    else
      l2_wt_override = __l2_wt_override;

[..]
        printk(KERN_INFO "Feroceon L2: Cache support initialised%s.\n",
                         l2_wt_override == 1 ? ", write through enabled" : "");

> I would prefer upping this to pr_err(FW_INFO, and not falling back to
> hard coded values. This is not a fatal error, the machine continues to
> run, just a bit slower.

The only loss with not having the register mappings is you must assume
write back and thus the system must do possibly useless cache flushes
in the DMA path. Otherwise the cache can be fully enabled without
needing model specific registers.

The writethrough disable is such an obscure feature, I think we can
just skip having a compatibility fall back for missing DT node.

BTW, if you have a git URL for your patch set I can probably give v2 a
try here on Kirkwood..

Regards,
Jason

  parent reply	other threads:[~2014-02-07 18:13 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-06 23:41 [PATCH 00/21] Move DT kirkwood into mach-mvebu Andrew Lunn
2014-02-06 23:41 ` [PATCH 01/21] ARM: Kirkwood: Give pm.c its own header file Andrew Lunn
2014-02-06 23:41 ` [PATCH 02/21] IRQ: Orion: Fix getting generic chip pointer Andrew Lunn
2014-02-07  2:38   ` Jason Cooper
2014-02-07 22:32   ` Sebastian Hesselbarth
2014-02-08 15:45     ` Jason Cooper
2014-02-06 23:41 ` [PATCH 03/21] ARM: Kirkwood: Convert mv88f6281gtw_ge switch setup to DT Andrew Lunn
2014-02-07  8:25   ` Thomas Petazzoni
2014-02-07  9:02     ` Andrew Lunn
2014-02-06 23:42 ` [PATCH 04/21] ARM: Kirkwood: Drop printing the SoC type and revision Andrew Lunn
2014-02-06 23:42 ` [PATCH 05/21] ARM: Kirkwood: Seperate board-dt from common and pcie code Andrew Lunn
2014-02-06 23:42 ` [PATCH 06/21] ARM: Kirkwood: ioremap the cpu_config register before using it Andrew Lunn
2014-02-06 23:42 ` [PATCH 07/21] ARM: Kirkwood: ioremap memory control register Andrew Lunn
2014-02-06 23:42 ` [PATCH 08/21] ARM: MVEBU: Add ARCH_MULTI_V7 to SoCs Andrew Lunn
2014-02-06 23:42 ` [PATCH 09/21] ARM: Orion: Move cache-feroceon-l2.h out of plat-orion Andrew Lunn
2014-02-06 23:42 ` [PATCH 10/21] ARM: MM: Add DT binding for Feroceon L2 cache Andrew Lunn
2014-02-07  0:51   ` Jason Gunthorpe
2014-02-07  1:27   ` Jason Cooper
2014-02-07  9:32     ` Andrew Lunn
2014-02-07 14:31       ` Jason Cooper
2014-02-07 18:13       ` Jason Gunthorpe [this message]
2014-02-07 14:48   ` Sudeep Holla
2014-02-07 18:21     ` Jason Gunthorpe
2014-02-07 19:12       ` Sudeep Holla
2014-02-06 23:42 ` [PATCH 11/21] ARM: Fix default CPU selection for ARCH_MULTI_V5 Andrew Lunn
2014-02-06 23:42 ` [PATCH 12/21] ARM: Fix MULTI_TLB for feroceon Andrew Lunn
2014-02-06 23:42 ` [PATCH 13/21] ARM: MM Enable building Feroceon L2 cache controller with ARCH_MVEBU Andrew Lunn
2014-02-06 23:42 ` [PATCH 14/21] ARM: Move kirkwood DT boards into mach-mvebu Andrew Lunn
2014-02-06 23:42 ` [PATCH 15/21] ARM: MVEBU: Let kirkwood use the system controller for restart Andrew Lunn
2014-02-07  1:37   ` Jason Cooper
2014-02-06 23:42 ` [PATCH 16/21] drivers: Enable building of Kirkwood drivers for mach-mvebu Andrew Lunn
2014-02-07  1:59   ` Jason Cooper
2014-02-07  9:13     ` Andrew Lunn
2014-02-07 14:35       ` Jason Cooper
2014-02-06 23:42 ` [PATCH 17/21] ARM: MVEBU: Enable mvebu-soc-id on Kirkwood Andrew Lunn
2014-02-06 23:42 ` [PATCH 18/21] ARM: config: Add a multi_v5_defconfig Andrew Lunn
2014-02-06 23:42 ` [PATCH 19/21] ARM: MVEBU: Simplifiy headers and make local Andrew Lunn
2014-02-07  8:31   ` Thomas Petazzoni
2014-02-07  9:20     ` Andrew Lunn
2014-02-07  9:36       ` Thomas Petazzoni
2014-02-07  9:45         ` Andrew Lunn
2014-02-07 18:27     ` Jason Gunthorpe
2014-02-06 23:42 ` [PATCH 20/21] ARM: MVEBU: Remove unneeded headers Andrew Lunn
2014-02-07  2:02   ` Jason Cooper
2014-02-06 23:42 ` [PATCH 21/21] ARM: Kirkwood: Remove DT support Andrew Lunn
2014-02-07  8:33   ` Thomas Petazzoni
2014-02-07  9:12     ` Andrew Lunn
2014-02-07 15:03     ` Jason Cooper
2014-02-07 15:09       ` Thomas Petazzoni
2014-02-07 15:15         ` Jason Cooper
2014-02-07 17:31           ` Sebastian Hesselbarth
2014-02-10 18:09         ` Andrew Lunn
2014-02-07 17:34   ` Sebastian Hesselbarth
2014-02-07 18:48     ` Jason Cooper
2014-02-20 10:30     ` Ian Campbell
2014-02-20 10:58       ` Andrew Lunn
2014-02-20 11:19         ` Russell King - ARM Linux
2014-02-20 11:28           ` Andrew Lunn
2014-02-20 11:39           ` Ian Campbell
2014-02-20 23:26             ` Jason Cooper
2014-02-24 16:00               ` Ian Campbell
2014-02-24 16:24                 ` Andrew Lunn
2014-02-24 16:26                   ` Ian Campbell
2014-02-24 16:34                     ` Jason Cooper
2014-05-03 13:19                   ` Automatically detecting when to use kirkwood-tsXXX-6281.dtb vs -6282.dtb (Was: Re: [PATCH 21/21] ARM: Kirkwood: Remove DT support) Ian Campbell
2014-05-03 14:40                     ` Andrew Lunn
2014-05-05  8:44                       ` Ian Campbell
2014-02-20 11:34         ` [PATCH 21/21] ARM: Kirkwood: Remove DT support Ian Campbell
2014-02-20 12:18           ` Andrew Lunn
2014-02-20 12:51             ` Ian Campbell
2014-02-20 13:23               ` Andrew Lunn
2014-02-20 14:24                 ` Ian Campbell
2014-02-21  2:00                   ` Ben Hutchings
2014-02-21 13:16                     ` Arnd Bergmann
2014-02-24 16:03                     ` Ian Campbell
2014-02-24 20:09                       ` Ben Hutchings
2014-02-20 13:53               ` Arnd Bergmann
2014-02-20 14:21                 ` Ian Campbell
2014-02-20 15:19                   ` Arnd Bergmann
2014-02-21  1:47                     ` Ben Hutchings
2014-02-21 13:07                       ` Arnd Bergmann
2014-02-21 15:58                         ` Jason Cooper
2014-02-21 19:51                         ` Ben Hutchings
2014-02-20 13:04             ` Arnd Bergmann
2014-02-20 14:22               ` Ian Campbell
2014-02-20 12:09         ` Arnd Bergmann
2014-02-20 23:24         ` Jason Cooper
2014-02-21 15:52           ` Thomas Petazzoni
2014-02-21 16:36             ` Arnd Bergmann
2014-02-21 16:41               ` Andrew Lunn
2014-02-21 16:42               ` Jason Cooper
2014-02-23 21:44               ` Simon Guinot
2014-02-25 12:44                 ` Arnd Bergmann
2014-02-25 13:05                   ` Simon Guinot
2014-02-25 15:36                     ` Arnd Bergmann
2014-02-25 15:09                       ` Simon Guinot
2014-02-25 15:59                         ` Arnd Bergmann
2014-02-07  1:14 ` [PATCH 00/21] Move DT kirkwood into mach-mvebu Jason Cooper

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=20140207181359.GD16263@obsidianresearch.com \
    --to=jgunthorpe@obsidianresearch.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.