From: hauke@hauke-m.de (Hauke Mehrtens)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] ARM: l2c: add options to overwrite prefetching behavior
Date: Thu, 14 May 2015 18:49:29 +0200 [thread overview]
Message-ID: <5554D219.5020807@hauke-m.de> (raw)
In-Reply-To: <20150514163027.GC2067@n2100.arm.linux.org.uk>
On 05/14/2015 06:30 PM, Russell King - ARM Linux wrote:
> On Thu, May 14, 2015 at 05:15:26PM +0100, Russell King - ARM Linux wrote:
>> On Thu, May 14, 2015 at 06:13:55PM +0200, Hauke Mehrtens wrote:
>>> These options make it possible to overwrites the data and instruction
>>> prefetching behavior of the arm pl310 cache controller.
>>>
>>> We have to set these values in the aux and the prefetch register,
>>> because these two bits in the aux registers are mapped to the prefetch
>>> register. If only the prefetch register is changed there is an
>>> inconsistence in the state in this driver.
>>
>> No there isn't. Just set the bits in the prefetch register.
>>
>> Writing to the prefetch register changes the state of the bits in the
>> auxiliary control register at the same time.
>
> I see what you're getting at now. I think we ought to fix that in the
> driver, so that the auxiliary control register is always written first,
> before the prefetch control register. This also makes l2c_configure()
> reflect the structure of the rest of the driver.
>
> arch/arm/mm/cache-l2x0.c | 23 ++++++++++++++---------
> 1 file changed, 14 insertions(+), 9 deletions(-)
Tested-by: Hauke Mehrtens <hauke@hauke-m.de>
Yes this fixes my problem. I did not meant that the state of the
hardware registers would be inconsistent, but the state of the driver.
I saw the problem you fixed, but was not closely following the control
flow in the driver to see the problem before.
Is it save enough to relay on the aux register not being written after
the prefetch register is written?
To make it more secure you could call l2x0_data->save(base) directly
after l2x0_data->configure(base)
Hauke
prev parent reply other threads:[~2015-05-14 16:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-14 16:13 [PATCH v2] ARM: l2c: add options to overwrite prefetching behavior Hauke Mehrtens
2015-05-14 16:15 ` Russell King - ARM Linux
2015-05-14 16:30 ` Russell King - ARM Linux
2015-05-14 16:49 ` Hauke Mehrtens [this message]
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=5554D219.5020807@hauke-m.de \
--to=hauke@hauke-m.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).