From: marc_gonzalez@sigmadesigns.com (Marc Gonzalez)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3] arm-soc: Add support for Sigma Designs Tango4
Date: Tue, 20 Oct 2015 11:50:14 +0200 [thread overview]
Message-ID: <56260E56.10403@sigmadesigns.com> (raw)
In-Reply-To: <CAL_Jsq+jthx9ffnUm-G-TV9LdxBRp3SKyhyfcVu=7kN3CuumJw@mail.gmail.com>
On 19/10/2015 18:39, Rob Herring wrote:
> Marc Gonzalez wrote:
>
>> About the cache controller, I was confused by this comment:
>> /*
>> * Always enable non-secure access to the lockdown registers -
>> * we write to them as part of the L2C enable sequence so they
>> * need to be accessible.
>> */
>> l2x0_saved_regs.aux_ctrl = aux | L310_AUX_CTRL_NS_LOCKDOWN;
>>
>> I see no lock() function, only unlock().
>>
>> But the unlock function merely writes 0 to the relevant registers,
>> and 0 is the value at reset for those registers. Since nothing ever
>> sets the registers to non-zero, why is the unlock needed at all?
>
> It was because some bootloaders set those registers. Linux just wants
> them to be all unlocked.
I see.
My problem then, is that my current firmware does not set L310_AUX_CTRL_NS_LOCKDOWN
and does not allow updating that bit.
So when l2c_unlock() is called, Linux (running in non-secure mode)
tries to write to read-only registers:
> On reset, the Non-Secure Lockdown Enable bit is set to 0 and Lockdown
> Registers are not permitted to be modified by non-secure accesses. In
> that configuration, if a non-secure access tries to write to those
> registers, the write response returns a DECERR response. This decode
> error results in the registers not being updated.
I suppose "a DECERR response" means Linux will oops?
I see several options to work-around this problem:
A) Have the firmware set L310_AUX_CTRL_NS_LOCKDOWN at boot
B) Have the firmware allow Linux to set L310_AUX_CTRL_NS_LOCKDOWN
C) Have a way in Linux to define .unlock as a NOP (trusting the
firmware to NOT have locked anything)
Perhaps adding a "no-unlock-required;" boolean property to the l2cc
node, which would override the .unlock method?
I'd like to hear suggestions on the "best" approach.
Regards.
next prev parent reply other threads:[~2015-10-20 9:50 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-02 16:02 [PATCH] arm-soc: Add Sigma Designs Tango4 port Mason
2015-10-02 16:10 ` Måns Rullgård
2015-10-02 16:33 ` Mason
2015-10-02 16:55 ` Måns Rullgård
2015-10-02 18:00 ` Mason
2015-10-02 17:13 ` Russell King - ARM Linux
2015-10-02 18:09 ` Mason
2015-10-02 18:53 ` Russell King - ARM Linux
2015-10-02 19:25 ` Mason
2015-10-02 19:56 ` Arnd Bergmann
2015-10-02 20:53 ` Mason
2015-10-02 21:11 ` Arnd Bergmann
2015-10-02 21:57 ` Mason
2015-10-02 22:12 ` Arnd Bergmann
2015-10-05 16:25 ` [PATCH v2] arm-soc: Add support for Sigma Designs Tango4 Marc Gonzalez
2015-10-06 15:57 ` [PATCH v3] " Marc Gonzalez
2015-10-09 13:18 ` Arnd Bergmann
2015-10-09 13:30 ` Marc Gonzalez
2015-10-09 14:40 ` Måns Rullgård
2015-10-09 19:01 ` Mason
2015-10-09 20:24 ` Måns Rullgård
2015-10-09 21:12 ` Mason
2015-10-09 14:08 ` Rob Herring
2015-10-09 14:16 ` Marc Gonzalez
2015-10-09 14:48 ` Rob Herring
2015-10-13 15:54 ` Marc Gonzalez
2015-10-13 17:55 ` Rob Herring
2015-10-19 11:09 ` Marc Gonzalez
2015-10-19 16:39 ` Rob Herring
2015-10-19 17:32 ` Mark Rutland
2015-10-20 9:20 ` Marc Gonzalez
2015-10-20 9:50 ` Marc Gonzalez [this message]
2015-10-20 10:04 ` Russell King - ARM Linux
2015-10-20 10:54 ` Marc Gonzalez
2015-10-09 14:12 ` [PATCH v2] " 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=56260E56.10403@sigmadesigns.com \
--to=marc_gonzalez@sigmadesigns.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.