Re: [PATCH] libata-pmp: clear hob for pmp register accesses

2008-02-23 Thread Jeff Garzik

Mark Lord wrote:

Mark Lord wrote:

Tejun Heo wrote:

Hello, Mark.

Mark Lord wrote:

Tejun, I've added PMP to sata_mv, and am now trying to get it
to work with a Marvell PM attached.

And the behaviour I see is very bizarre.

After hard+soft resets, the PM signature is found,
and libata interrogates the PM registers.

It successfully reads register 0, and then register 1.
But all subsequent registers read out (incorrectly) as zeros.

..

Saeed has confirmed this behaviour with a SATA analyzer.
The Marvell port-multiplier apparently likes to see clean HOB
information when accessing PMP registers.

Since sata_mv uses PIO shadow register access, this doesn't happen
automatically, as it might in a more purely FIS-based driver (eg. ahci).

One way to fix this is to flag these commands with ATA_TFLAG_LBA48,
forcing libata to write out the HOB fields with known (zero) values.

Signed-off-by: Saeed Bishara [EMAIL PROTECTED]
Acked-by: Mark Lord [EMAIL PROTECTED]
---
drivers/ata/libata-pmp.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)


applied


-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] libata-pmp: clear hob for pmp register accesses

2008-02-21 Thread Tejun Heo
Mark Lord wrote:
 Mark Lord wrote:
 Tejun Heo wrote:
 Hello, Mark.

 Mark Lord wrote:
 Tejun, I've added PMP to sata_mv, and am now trying to get it
 to work with a Marvell PM attached.

 And the behaviour I see is very bizarre.

 After hard+soft resets, the PM signature is found,
 and libata interrogates the PM registers.

 It successfully reads register 0, and then register 1.
 But all subsequent registers read out (incorrectly) as zeros.
 ..
 
 Saeed has confirmed this behaviour with a SATA analyzer.
 The Marvell port-multiplier apparently likes to see clean HOB
 information when accessing PMP registers.
 
 Since sata_mv uses PIO shadow register access, this doesn't happen
 automatically, as it might in a more purely FIS-based driver (eg. ahci).
 
 One way to fix this is to flag these commands with ATA_TFLAG_LBA48,
 forcing libata to write out the HOB fields with known (zero) values.
 
 Signed-off-by: Saeed Bishara [EMAIL PROTECTED]
 Acked-by: Mark Lord [EMAIL PROTECTED]

Acked-by: Tejun Heo [EMAIL PROTECTED]

I think this is correct w/ or w/o the mv problem.

-- 
tejun
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html