linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: sata_inic162x for help
       [not found]   ` <12087558.131021241843439832.JavaMail.coremail@bj163app14.163.com>
@ 2009-05-10  1:06     ` Tejun Heo
       [not found]     ` <31860758.69421242004829355.JavaMail.coremail@app152.163.com>
  1 sibling, 0 replies; 2+ messages in thread
From: Tejun Heo @ 2009-05-10  1:06 UTC (permalink / raw)
  To: ivorhuang_hjd; +Cc: linux-ide

Hello,

ivorhuang_hjd wrote:
> hello Tejun,
> I am sorry for that and thank you for your reply.I should give you more
> information.
> 1.the sata IC is INI-SATA-1622B
> 2.the sata card can work at x86 (kernel linux 2.6.29.1 )
> 4. the sata card can work at powerpc freescale mpc8313erdb(kernel linux
> 2.6.23),I know it does not support LBA48.so I think this is not for the
> u-boot.
> 5.another sata card sis3512 can work at powerpc freescale mpc8313erdb
> (kernel linux 2.6.29.1)
> 6. the problem come out at powerpc freescale mpc8313erdb (kernel linux
> 2.6.29.1)

Hmm...

> [  825.618798] ata1: SATA max UDMA/133 mmio m4096@0x90000000
> <mailto:m4096@0x90000000> PORT 0x90000000 irq 17
> [  825.626224] ata2: SATA max UDMA/133 mmio m4096@0x90000000
> <mailto:m4096@0x90000000> PORT 0x90000040 irq 17
> [  825.982369] ata1: SATA link down (SStatus 0 SControl 300)
> [  826.494373] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> [  826.500610] err happen
> [  826.503026] ata2.00: failed to IDENTIFY (INIT_DEV_PARAMS failed,
> err_mask=0x80)
> [  831.990383] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> [  831.996613] err happen
> [  831.999040] ata2.00: failed to IDENTIFY (INIT_DEV_PARAMS failed,
> err_mask=0x80)
> [  832.006372] ata2: limiting SATA link speed to 1.5 Gbps
> [  837.486394] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> [  837.492624] err happen
> [  837.495051] ata2.00: failed to IDENTIFY (INIT_DEV_PARAMS failed,
> err_mask=0x80)
...
> *************************************************
> the "err happen" is what I printk at function
> inic_qc_fill_rtf(sata_inc162x.c 578 line).
> can you help me to fix this problem.

What is the attached device?  Does it work if you skip
INIT_DEV_PARAMS?  You can skip it by editing
libata-core.c::ata_dev_read_id() such that the if condition
enclosing... erggh... by applying the following patch.

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 17c5d48..2d51b32 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2210,7 +2210,7 @@ retry:
 			goto retry;
 	}
 
-	if ((flags & ATA_READID_POSTRESET) && class == ATA_DEV_ATA) {
+	if (0 && (flags & ATA_READID_POSTRESET) && class == ATA_DEV_ATA) {
 		/*
 		 * The exact sequence expected by certain pre-ATA4 drives is:
 		 * SRST RESET

-- 
tejun

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

* Re: sata_inic162x for help
       [not found]     ` <31860758.69421242004829355.JavaMail.coremail@app152.163.com>
@ 2009-05-11  3:10       ` Tejun Heo
  0 siblings, 0 replies; 2+ messages in thread
From: Tejun Heo @ 2009-05-11  3:10 UTC (permalink / raw)
  To: ivorhuang_hjd; +Cc: linux-ide

ivorhuang_hjd wrote:
> Hello tejun,
> I attach a hard disk to the sata port.I follow your suggestion to do
> that and the hard disk can not be list

Okay, so, it's not a weird device which doesn't support
INIT_DEV_PARAMS.

> in the system.the log is :
> [    0.980937] ata1: SATA max UDMA/133 mmio m4096@0x90000000
> <mailto:m4096@0x90000000> PORT 0x90000000 irq 17
> [    0.988362] ata2: SATA max UDMA/133 mmio m4096@0x90000000
> <mailto:m4096@0x90000000> PORT 0x90000040 irq 17
> [    1.344512] ata1: SATA link down (SStatus 0 SControl 300)
> [    1.856516] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> [    1.862752] err happen
> [    1.865228] ata2.00: ATA-0: , , max PIO0
> [    1.869177] ata2.00: 0 sectors, multi 0, CHS 0/0/0
> [    1.874021] ata2.00: applying bridge limits
> [    1.878293] err happen
> [    1.880856] ata2.00: configured for PIO0
> [    1.885377] scsi 1:0:0:0: Direct-Access     ATA                      
> n/a  PQ: 0 ANSI: 5
> [    1.894782] sd 1:0:0:0: [sda] Very big device. Trying to use READ
> CAPACITY(16).
> [    1.902302] sd 1:0:0:0: [sda] 0 512-byte hardware sectors: (0 B/0 B)
> [    1.908861] sd 1:0:0:0: [sda] Write Protect is off
> [    1.914060] sd 1:0:0:0: [sda] Write cache: disabled, read cache:
> enabled, doesn't support DPO or FUA
> [    1.924325] sd 1:0:0:0: [sda] Attached SCSI disk
>  
> I think the problem is that the dirver can not execute sata command
> properly,for the program exit at this:
>  sata_inic162x.c line 578 :
> if (!(tf.command & ATA_ERR))
>   return false;
> Can you tell me what cause this?

There can be many different causes for such failures.  The interesting
thing is that INIT_DEV_PARAMS is a NODATA command so it's more likely
something is else wrong.  Looking at the above log, it seems like the
IDENTIFY data is all zero which can explain ATA_ERR failure as
INIT_DEV_PARAMS would have been issued with the wrong parameters.

The difference between the old version and the current version is that
now sata_inic162x uses DMA transfer everything including PIO commands
like IDENTIFY.  It looks like for whatever reason DMA transfer isn't
working on your machine.

Thanks.

-- 
tejun

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

end of thread, other threads:[~2009-05-11  3:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <4A04C04F.8030106@novell.com>
     [not found] ` <6529177.841681241588784941.JavaMail.coremail@bj163app14.163.com>
     [not found]   ` <12087558.131021241843439832.JavaMail.coremail@bj163app14.163.com>
2009-05-10  1:06     ` sata_inic162x for help Tejun Heo
     [not found]     ` <31860758.69421242004829355.JavaMail.coremail@app152.163.com>
2009-05-11  3:10       ` Tejun Heo

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).