PL310 and QoS logic
Armando VISCONTI
armando.visconti at st.com
Mon Aug 2 10:44:44 EDT 2010
Catalin, All,
I work on the SPEAr1300 SoC, which is a device based on Cortex A9 MP
(r1p1) and
is using a PL310 L2 cache controller.
We are using the Linux version 2.6.35 and we have also ported some
patches coming
from you.
Even with this latest version of kernel we are not able to make the L2
cache working.
It looks like that we are having a problem particularly when using it in
combination
with MP.
Just to add a very important information, the situation looks to clearly
stabilize
when we set the bit9 of PL310 Auxiliary Control Register to '1'. THis
bit is reserved,
and ARM support told us to avoid setting it.
In fact, this bit when set seems to disable a QoS logic whose purpose
is to avoid issues
for which one core is not able to release a semaphore because the other
core is
continuously trying to take it. So, this QoS logic has been introduce
inside the
PL310 to set a kind of priority (a QoS).
Strangely enough this issue looks exactly what we are seeing.
It explains all of our observations.
So, it seems that for us writing this bit9 to '1' has the effect of
enabling (and not disabling) the QoS logic.
Have you ever heard an issue like that?
Thx,
Armando
More information about the linux-arm-kernel
mailing list