mvsata: issue hard reset on initialization
PATCH 1/1 mvsata: issue hard reset on initialization
Before the actual initialization do a hard reset of the SATA port and the connected device.
--- drivers/block/mvsata_ide.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)
drivers/block/mvsata_ide.c +9 -1
@@ -33,7 +33,9 @@/* SATA port registers */ struct mvsata_port_registers { -u32 reserved1[192 ]; +u32 reserved0[10 ]; +u32 edma_cmd; +u32 reserved1[181 ];/* offset 0x300 : ATA Interface registers */ u32 sstatus;u32 serror;
@@ -76,6 +78,7 @@ struct mvsata_port_registers {* and for SStatus DETection. */ +#define MVSATA_EDMA_CMD_ATA_RST 0x00000004#define MVSATA_SCONTROL_DET_MASK 0x0000000F#define MVSATA_SCONTROL_DET_NONE 0x00000000#define MVSATA_SCONTROL_DET_INIT 0x00000001
@@ -115,6 +118,11 @@ static int mvsata_ide_initialize_port(struct mvsata_port_registers *port)u32 status;u32 timeleft =10000 ;/* wait at most 10 ms for SATA reset to complete */ +/* Hard reset */ +writel (MVSATA_EDMA_CMD_ATA_RST , &port->edma_cmd); +udelay (25 ); +writel (0 , &port->edma_cmd); +/* Set control IPM to 3 (no low power) and DET to 1 (initialize) */ control =readl (&port->scontrol); control = (control & ~MVSATA_SCONTROL_MASK ) |MVSATA_PORT_INIT ;
Signature · 1 line
1.7.2.3
PATCH 1/1 mvsata: issue hard reset on initialization
Quoted 9 lines
-----Original Message-----
From: Michael Walle [mailto:michael at walle.cc]
Sent: Monday, May 02, 2011 3:35 AM
To: u-boot at lists.denx.de
Cc: Michael Walle; Prafulla Wadaskar
Subject: [PATCH] mvsata: issue hard reset on initialization
Quoted 3 lines
Before the actual initialization do a hard reset of the SATA port and the
connected device.
Copying Albert for his ack
Regards..
Prafulla . .
Quoted 46 lines
Signed-off-by Michael Walle <[email protected]>Cc Prafulla Wadaskar <[email protected]>--- drivers/block/mvsata_ide.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)drivers/block/mvsata_ide.c +4
-1@@ -33,7 +33,9 @@/* SATA port registers */ struct mvsata_port_registers { -u32 reserved1[192 ]; +u32 reserved0[10 ]; +u32 edma_cmd; +u32 reserved1[181 ];/* offset 0x300 : ATA Interface registers */ u32 sstatus;u32 serror;@@ -76,6 +78,7 @@ struct mvsata_port_registers {* and for SStatus DETection. */ +#define MVSATA_EDMA_CMD_ATA_RST 0x00000004#define MVSATA_SCONTROL_DET_MASK 0x0000000F#define MVSATA_SCONTROL_DET_NONE 0x00000000#define MVSATA_SCONTROL_DET_INIT 0x00000001@@ -115,6 +118,11 @@ static int mvsata_ide_initialize_port(struct mvsata_port_registers *port) u32 status;u32 timeleft =10000 ;/* wait at most 10 ms for SATA reset to complete */
drivers/block/mvsata_ide.c +5
-1+/* Hard reset */ +writel (MVSATA_EDMA_CMD_ATA_RST , &port->edma_cmd); +udelay (25 ); +writel (0 , &port->edma_cmd); +/* Set control IPM to 3 (no low power) and DET to 1 (initialize) */ control =readl (&port->scontrol); control = (control & ~MVSATA_SCONTROL_MASK ) |MVSATA_PORT_INIT ; --1.7.2.3
PATCH 1/1 mvsata: issue hard reset on initialization
Am Montag 02 Mai 2011, 10:37:41 schrieb Prafulla Wadaskar:
Quoted 7 lines
Quoted 7 lines
-----Original Message-----
From: Michael Walle [mailto:michael at walle.cc]
Sent: Monday, May 02, 2011 3:35 AM
To: u-boot at lists.denx.de
Cc: Michael Walle; Prafulla Wadaskar
Subject: [PATCH] mvsata: issue hard reset on initialization
Quoted 5 lines
Quoted 3 lines
Before the actual initialization do a hard reset of the SATA port and the
connected device.Copying Albert for his ack
any news on this?
Signature · 1 line
Michael
PATCH 1/1 mvsata: issue hard reset on initialization
Hi Michael,
Sorry for the delay. Busy period for me I'm afraid.
Le 09/05/2011 19:49, Michael Walle a ?crit :
Quoted 8 lines
Am Montag 02 Mai 2011, 10:37:41 schrieb Prafulla Wadaskar:
Quoted 7 lines
Quoted 7 lines
-----Original Message-----
From: Michael Walle [mailto:michael at walle.cc]
Sent: Monday, May 02, 2011 3:35 AM
To: u-boot at lists.denx.de
Cc: Michael Walle; Prafulla Wadaskar
Subject: [PATCH] mvsata: issue hard reset on initialization
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
Before the actual initialization do a hard reset of the SATA port and the
connected device.Copying Albert for his ack
any news on this?
What is the reason for issuing the hard reset? Is it in case the board was rebooted and we want the disk drives to return to a safe state?
Also, why 25?
Amicalement,
Signature · 1 line
Albert.
PATCH 1/1 mvsata: issue hard reset on initialization
Hi Albert,
Am Dienstag 10 Mai 2011, 23:47:04 schrieben Sie:
Quoted 3 lines
Hi Michael,
Sorry for the delay. Busy period for me I'm afraid.
no problem ;)
Quoted 13 lines
Le 09/05/2011 19:49, Michael Walle a ?crit :
Quoted 12 lines
Am Montag 02 Mai 2011, 10:37:41 schrieb Prafulla Wadaskar:
Quoted 11 lines
Quoted 10 lines
-----Original Message-----
From: Michael Walle [mailto:michael at walle.cc]
Sent: Monday, May 02, 2011 3:35 AM
To: u-boot at lists.denx.de
Cc: Michael Walle; Prafulla Wadaskar
Subject: [PATCH] mvsata: issue hard reset on initializationBefore the actual initialization do a hard reset of the SATA port and the
connected device.
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
Copying Albert for his ack
any news on this?
What is the reason for issuing the hard reset? Is it in case the board was rebooted and we want the disk drives to return to a safe state?
Right, if i reboot my linkstation (from linux) the ATA probing times out without the reset.
Also, the user manual states (FS_88F6180_9x_6281_OpenSource.pdf, Ch 7.6.9):
Device hard reset (setting the <eAtaRst> field in the EDMA Command Register (Table 342 p. 506) and device initialization are required before any attempt to access the device.
Quoted 1 line
Also, why 25?
I took that 25us from the original marvell uboot port (uboot 1.1.4 heavily modified by marvell, the gpl sources provided by buffalo) and from the linux sata_mv driver, both are using 25us.
Signature · 1 line
wkr michael
PATCH 1/1 mvsata: issue hard reset on initialization
Hi Michael,
Le 11/05/2011 00:13, Michael Walle a ?crit :
Quoted 28 lines
Hi Albert,
Am Dienstag 10 Mai 2011, 23:47:04 schrieben Sie:
Quoted 3 lines
Hi Michael,
Sorry for the delay. Busy period for me I'm afraid.
no problem ;)
Quoted 13 lines
Le 09/05/2011 19:49, Michael Walle a ?crit :
Quoted 12 lines
Am Montag 02 Mai 2011, 10:37:41 schrieb Prafulla Wadaskar:
Quoted 11 lines
Quoted 10 lines
-----Original Message-----
From: Michael Walle [mailto:michael at walle.cc]
Sent: Monday, May 02, 2011 3:35 AM
To: u-boot at lists.denx.de
Cc: Michael Walle; Prafulla Wadaskar
Subject: [PATCH] mvsata: issue hard reset on initializationBefore the actual initialization do a hard reset of the SATA port and the
connected device.Quoted 6 lines
Quoted 3 lines
Quoted 1 line
Copying Albert for his ack
any news on this?
What is the reason for issuing the hard reset? Is it in case the board was rebooted and we want the disk drives to return to a safe state?
Quoted 7 lines
Right, if i reboot my linkstation (from linux) the ATA probing times out without the reset.
Also, the user manual states (FS_88F6180_9x_6281_OpenSource.pdf, Ch 7.6.9):
Device hard reset (setting the<eAtaRst> field in the EDMA Command Register (Table 342 p. 506) and device initialization are required before any attempt to access the device.
Ok.
Quoted 4 lines
Quoted 1 line
Also, why 25?
I took that 25us from the original marvell uboot port (uboot 1.1.4 heavily modified by marvell, the gpl sources provided by buffalo) and from the linux
sata_mvdriver, both are using 25us.
Can you just add a comment stating that the value was inspired by Marvell use rather than taken from the spec?
Amicalement,
Signature · 1 line
Albert.