* 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
[parent not found: <31860758.69421242004829355.JavaMail.coremail@app152.163.com>]
* 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).