public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* Marvell SoCs: is register remapping to 0xf1NNNNNN safe?
@ 2013-06-18 13:42 Russell King - ARM Linux
  2013-06-18 13:51 ` Andrew Lunn
  2013-06-18 14:00 ` Sebastian Hesselbarth
  0 siblings, 2 replies; 3+ messages in thread
From: Russell King - ARM Linux @ 2013-06-18 13:42 UTC (permalink / raw)
  To: linux-arm-kernel

On the Armada 510, like most mvebu platforms, the registers are remapped
to 0xf1NNNNNN.  This means things like the ATA interfaces are at
0xf10a0000, SPI at 0xf1010600 etc.

It also means that the global config 1 register is at 0xf10e802c.  Other
registers live at 0xf10e0000, 0xf10e4000, etc.

Now, if I access any register in the 0xf10eNNNN, whether it be the global
configuration register, a GPIO register, AC'97 register, the result is an
instant and solid hang - presumably the bus locks up.  It doesn't matter
if it is accessed in an interrupt-protected region, preempt-disabled
region, or via a userspace mapping of that memory, the result is always
the same, and things like sysrq don't work.

Only a watchdog or power cycle recovers the SoC (presumably also a hardware
reset too, but I can't test that.)

Any ideas?  Can this behaviour be replicated on any other of these SoCs?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Marvell SoCs: is register remapping to 0xf1NNNNNN safe?
  2013-06-18 13:42 Marvell SoCs: is register remapping to 0xf1NNNNNN safe? Russell King - ARM Linux
@ 2013-06-18 13:51 ` Andrew Lunn
  2013-06-18 14:00 ` Sebastian Hesselbarth
  1 sibling, 0 replies; 3+ messages in thread
From: Andrew Lunn @ 2013-06-18 13:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jun 18, 2013 at 02:42:20PM +0100, Russell King - ARM Linux wrote:
> On the Armada 510, like most mvebu platforms, the registers are remapped
> to 0xf1NNNNNN.  This means things like the ATA interfaces are at
> 0xf10a0000, SPI at 0xf1010600 etc.
> 
> It also means that the global config 1 register is at 0xf10e802c.  Other
> registers live at 0xf10e0000, 0xf10e4000, etc.
> 
> Now, if I access any register in the 0xf10eNNNN, whether it be the global
> configuration register, a GPIO register, AC'97 register, the result is an
> instant and solid hang - presumably the bus locks up.  It doesn't matter
> if it is accessed in an interrupt-protected region, preempt-disabled
> region, or via a userspace mapping of that memory, the result is always
> the same, and things like sysrq don't work.
> 
> Only a watchdog or power cycle recovers the SoC (presumably also a hardware
> reset too, but I can't test that.)
> 
> Any ideas?  Can this behaviour be replicated on any other of these SoCs?

Hi Russell

Kirkwood, and some of the other SoCs, will hang if the clock for the
IP block is not ticking.

   Andrew

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Marvell SoCs: is register remapping to 0xf1NNNNNN safe?
  2013-06-18 13:42 Marvell SoCs: is register remapping to 0xf1NNNNNN safe? Russell King - ARM Linux
  2013-06-18 13:51 ` Andrew Lunn
@ 2013-06-18 14:00 ` Sebastian Hesselbarth
  1 sibling, 0 replies; 3+ messages in thread
From: Sebastian Hesselbarth @ 2013-06-18 14:00 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/18/13 15:42, Russell King - ARM Linux wrote:
> On the Armada 510, like most mvebu platforms, the registers are remapped
> to 0xf1NNNNNN.  This means things like the ATA interfaces are at
> 0xf10a0000, SPI at 0xf1010600 etc.
>
> It also means that the global config 1 register is at 0xf10e802c.  Other
> registers live at 0xf10e0000, 0xf10e4000, etc.
>
> Now, if I access any register in the 0xf10eNNNN, whether it be the global
> configuration register, a GPIO register, AC'97 register, the result is an
> instant and solid hang - presumably the bus locks up.  It doesn't matter
> if it is accessed in an interrupt-protected region, preempt-disabled
> region, or via a userspace mapping of that memory, the result is always
> the same, and things like sysrq don't work.
>
> Only a watchdog or power cycle recovers the SoC (presumably also a hardware
> reset too, but I can't test that.)
>
> Any ideas?  Can this behaviour be replicated on any other of these SoCs?

Russell,

just to make sure: Is pdma clock enabled, i.e. ungated? Usually, Dove
only hangs if corresponding clocks are not enabled.

Sebastian

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-06-18 14:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-18 13:42 Marvell SoCs: is register remapping to 0xf1NNNNNN safe? Russell King - ARM Linux
2013-06-18 13:51 ` Andrew Lunn
2013-06-18 14:00 ` Sebastian Hesselbarth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox