1、目前我们使用DM6467加上SII3114需要做一个PCI转SATA的驱动(DM6467做主,SII3114做从)。
2、目前我们已经做了一部分工作了,DM6467的PCI部分驱动已经添加进去了,也能识别出SII3114芯片了,这部分是DM6467的PCI接口部分的初始化。
3、但我们在加载SII3114驱动的时候出现一点问题,这个驱动用的是内核中的sata_sil.c这个驱动,这部分应该是比较成熟的,所以我估计应该还是DM6467的PCI部分配置会有问题。
加载SII3114驱动出现的问题内核打印如下(总共就接了一个SATA盘):
ata1: SATA max UDMA/100 cmd 0xC680C080 ctl 0xC680C08A bmdma 0xC680C000 irq 69
ata2: SATA max UDMA/100 cmd 0xC680C0C0 ctl 0xC680C0CA bmdma 0xC680C008 irq 69
ata3: SATA max UDMA/100 cmd 0xC680C280 ctl 0xC680C28A bmdma 0xC680C200 irq 69
ata4: SATA max UDMA/100 cmd 0xC680C2C0 ctl 0xC680C2CA bmdma 0xC680C208 irq 69
ata1: SATA link down (SStatus 0 SControl 310)
scsi1 : sata_sil
ata2: SATA link down (SStatus 0 SControl 310)
scsi2 : sata_sil
ata3: SATA link down (SStatus 0 SControl 310)
scsi3 : sata_sil
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
...(省略)
ata4: ata_dev_select: ENTER, ata4: device 0, wait 1
ata_exec_command_mmio: ata4: cmd 0xEC
...(省略)
ata4.00: ata_dev_configure: ENTER, host 4, dev 0
ata4.00: ata_dev_configure: cfg 49:2f00 82:3469 83:7d61 84:4133 85:3469 86:bc41 87:4133 88:007f
ata_dump_id: 49==0x2f00 53==0x0007 63==0x0407 64==0x0003 75==0x001f
ata_dump_id: 80==0x01f0 81==0x0029 82==0x3469 83==0x7d61 84==0x4133
ata_dump_id: 88==0x007f 93==0x0000
ata4.00: ATA-8, max UDMA/133, 976773168 sectors: LBA48 NCQ (depth 0/32)
...
ata_scsi_dump_cdb: CDB (4:0,0,0) 25 00 00 00 00 00 00 00 00
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
ata_scsi_dump_cdb: CDB (4:0,0,0) 5a 00 3f 00 00 00 00 00 08
...
ata_scsi_dump_cdb: CDB (4:0,0,0) 5a 00 08 00 00 00 00 00 08
...
ata_exec_command_mmio: ata4: cmd 0xEC
...
ata_exec_command_mmio: ata4: cmd 0xEF
...
ata4: ata_dev_select: ENTER, ata4: device 0, wait 1
ata_tf_load_mmio: feat 0x0 nsect 0x8 lba 0x0 0x0 0x0
ata_tf_load_mmio: device 0xE0
ata_exec_command_mmio: ata4: cmd 0xC8
...
ata_scsi_timed_out: ENTER
ata_scsi_timed_out: EXIT, ret=0
ata_scsi_error: ENTER
ata_port_flush_task: ENTER
ata_port_flush_task: flush #1
ata4: ata_port_flush_task: flush #2
ata4: ata_port_flush_task: EXIT
...
ata_bmdma_error_handler navy1
ata_eh_autopsy: ENTER
ata_eh_autopsy: EXIT
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata4.00: (BMDMA stat 0x1)
ata4.00: tag 0 cmd 0xc8 Emask 0x4 stat 0x40 err 0x0 (timeout)
ata_eh_recover: ENTER
...
ata4: port is slow to respond, please be patient
ata4: port failed to respond (30 secs)
ata4: soft resetting port
ata_std_softreset: ENTER
ata_std_softreset: about to softreset, devmask=0
ata_bus_softreset: ata4: bus reset via SRST
...
ata_tf_load_mmio: feat 0x0 nsect 0x8 lba 0x0 0x0 0x0
ata_tf_load_mmio: device 0xE0
ata_exec_command_mmio: ata4: cmd 0xC8
ata_scsi_translate: EXIT
...
ata_eh_autopsy: ENTER
ata_eh_autopsy: EXIT
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata4.00: (BMDMA stat 0x1)
ata4.00: tag 0 cmd 0xc8 Emask 0x4 stat 0x40 err 0x0 (timeout)
ata_eh_recover: ENTER
4、可以做的请联系我,QQ:273308009, 电话:18801286807。谢谢支持 |