* SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
@ 2008-07-31 3:37 KueiHuan Chen
0 siblings, 0 replies; 15+ messages in thread
From: KueiHuan Chen @ 2008-07-31 3:37 UTC (permalink / raw)
To: htejun; +Cc: linux-ide
Hello,
This is the resent mail, because original one was deny by vger.kernel.org.
We got some problem while evaluation port multipiler with libata, we
had tested with two sata chip, one is sil-3132, the another is Marvell
6121. And we also have two port multiplie: Marvell 4140 and Sil-3726.
Our kernel version is kernel-2.6.24 with Marvell 5281 platform.
Testing result:
Sil 3132 with 3726 and 4140: everything looks like fine.
Marvell 6121 with 3726 and 4140(using ahci.c): both port multipiler
would got problem. It can't be detected whether hotplug or at boot
time. But the disk detection is fine without port multiplier.
Because we can't upgrade kernel to latest version so quickly, is
there any hint or solution for us ?
Thanks a lot.
Here is the boot message:
The boot message of 6121 and 4140:
-----------------------------------------------
Driver 'sd' needs updating - please use bus_type methods
ahci 0000:00:01.0: controller can't do NCQ, turning off CAP_NCQ
ahci 0000:00:01.0: MV_AHCI HACK: port_map 7 -> 3
ahci 0000:00:01.0: nr_ports (3) and implemented port map (0x3) don't
match, using nr_ports
ahci 0000:00:01.0: forcing PORTS_IMPL to 0x7
ahci 0000:00:01.0: AHCI 0001.0000 32 slots 3 ports 3 Gbps 0x7 impl IDE mode
ahci 0000:00:01.0: flags: 64bit stag led pmp slum part
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
ata1: SATA max UDMA/133 abar m1024@0xe0000000 port 0xe0000100 irq 11
ata2: SATA max UDMA/133 abar m1024@0xe0000000 port 0xe0000180 irq 11
ata3: SATA max UDMA/133 abar m1024@0xe0000000 port 0xe0000200 irq 11
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ATA-7: Hitachi HDT725050VLA360, V56OA7EA, max UDMA/133
ata1.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 0/32)
ata1.00: configured for UDMA/133
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.15: qc timeout (cmd 0xe4)
ata2.15: failed to read PMP GSCR[0] (Emask=0x4)
ata2: failed to recover some devices, retrying in 2 secs
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.15: qc timeout (cmd 0xe4)
ata2.15: failed to read PMP GSCR[0] (Emask=0x4)
ata2: failed to recover some devices, retrying in 2 secs
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.15: qc timeout (cmd 0xe4)
ata2.15: failed to read PMP GSCR[0] (Emask=0x4)
ata2: failed to recover some devices, retrying in 2 secs
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata3: SATA link down (SStatus 0 SControl 0)
scsi 0:0:0:0: Direct-Access ATA Hitachi HDT72505 V56O PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't
support DPO or FUA
sd 0:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't
support DPO or FUA
sda: sda1 sda2 sda3
sd 0:0:0:0: [sda] Attached SCSI disk
physmap platform flash device: 00400000 at ffc00000
The boot message of 6121 and 3726:
-----------------------------------------------
Driver 'sd' needs updating - please use bus_type methods
ahci 0000:00:01.0: controller can't do NCQ, turning off CAP_NCQ
ahci 0000:00:01.0: MV_AHCI HACK: port_map 7 -> 3
ahci 0000:00:01.0: nr_ports (3) and implemented port map (0x3) don't
match, using nr_ports
ahci 0000:00:01.0: forcing PORTS_IMPL to 0x7
ahci 0000:00:01.0: AHCI 0001.0000 32 slots 3 ports 3 Gbps 0x7 impl IDE mode
ahci 0000:00:01.0: flags: 64bit stag led pmp slum part
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
ata1: SATA max UDMA/133 abar m1024@0xe0000000 port 0xe0000100 irq 11
ata2: SATA max UDMA/133 abar m1024@0xe0000000 port 0xe0000180 irq 11
ata3: SATA max UDMA/133 abar m1024@0xe0000000 port 0xe0000200 irq 11
Delay 10 seconds to wait for disk 1 ready.
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ATA-7: Hitachi HDT725050VLA360, V56OA7EA, max UDMA/133
ata1.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 0/32)
ata1.00: configured for UDMA/133
Delay 10 seconds to wait for disk 2 ready.
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.15: qc time(cmd 0xe4)
ata2.15: failed to read PMP GSCR[0] (Emask=0x4)
ata2: failed to recover some devices, retrying in 2 secs
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.15: qc timeout (cmd 0xe4)
ata2.15: failed to read PMP GSCR[0] (Emask=0x4)
ata2: failed to recover some devices, retrying in 2 secs
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.15: qc timeout (cmd 0xe4)
ata2.15: failed to read PMP GSCR[0] (Emask=0x4)
ata2: failed to recover some devices, retrying in 2 secs
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata3: SATA link down (SStatus 0 SControl 0)
scsi 0:0:0:0: Direct-Access ATA Hitachi HDT72505 V56O PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't
support DPO or FUA
sd 0:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't
support DPO or FUA
sda: sda1 sda2 sda3
sd 0:0:0:0: [sda] Attached SCSI disk
physmap platform flash device: 00400000 at ffc00000
---
Thanks,
KueiHuan-Chen
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
[not found] <788014650807302022j30cea641wcfe4105ac8702b8c@mail.gmail.com>
@ 2008-07-31 10:00 ` Tejun Heo
2008-07-31 10:03 ` Tejun Heo
0 siblings, 1 reply; 15+ messages in thread
From: Tejun Heo @ 2008-07-31 10:00 UTC (permalink / raw)
To: khchen; +Cc: linux-ide
KueiHuan Chen wrote:
> Hello,
>
> We got some problem while evaluation port multipiler with libata, we
> had tested with two sata chip, one is sil-3132, the another is Marvell
> 6121. And we also have two port multiplie: Marvell 4140 and Sil-3726.
> Our kernel version is kernel-2.6.24 with Marvell 5281 platform.
>
> Testing result:
>
> Sil 3132 with 3726 and 4140: everything looks like fine.
>
> Marvell 6121 with 3726 and 4140(using ahci.c): both port multipiler
> would got problem. It can't be detected whether hotplug or at boot time.
> But the disk detection is fine without port multiplier.
>
> Because we can't upgrade kernel to latest version so quickly, is there
> any hint or solution for us ?
mv PMP support was added very recently. 2.6.26 has it.
--
tejun
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-07-31 10:00 ` SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726 Tejun Heo
@ 2008-07-31 10:03 ` Tejun Heo
2008-07-31 13:12 ` KueiHuan Chen
2008-08-04 20:58 ` Grant Grundler
0 siblings, 2 replies; 15+ messages in thread
From: Tejun Heo @ 2008-07-31 10:03 UTC (permalink / raw)
To: khchen; +Cc: linux-ide
Tejun Heo wrote:
> KueiHuan Chen wrote:
>> Hello,
>>
>> We got some problem while evaluation port multipiler with libata, we
>> had tested with two sata chip, one is sil-3132, the another is Marvell
>> 6121. And we also have two port multiplie: Marvell 4140 and Sil-3726.
>> Our kernel version is kernel-2.6.24 with Marvell 5281 platform.
>>
>> Testing result:
>>
>> Sil 3132 with 3726 and 4140: everything looks like fine.
>>
>> Marvell 6121 with 3726 and 4140(using ahci.c): both port multipiler
>> would got problem. It can't be detected whether hotplug or at boot time.
>> But the disk detection is fine without port multiplier.
>>
>> Because we can't upgrade kernel to latest version so quickly, is there
>> any hint or solution for us ?
>
> mv PMP support was added very recently. 2.6.26 has it.
Heh.. didn't read the last line. If you can't upgrade the kernel,
you'll need to backport. We had to fix core PMP support quite a bit to
get mv working, so you'll need to backport whole libata, which usually
isn't too difficult. Someone knowledgeable would be able to pull it in
a few days but if you don't know what you're doing it can be pretty
hairy. :-)
--
tejun
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-07-31 10:03 ` Tejun Heo
@ 2008-07-31 13:12 ` KueiHuan Chen
2008-08-01 2:05 ` Tejun Heo
2008-08-04 20:58 ` Grant Grundler
1 sibling, 1 reply; 15+ messages in thread
From: KueiHuan Chen @ 2008-07-31 13:12 UTC (permalink / raw)
To: Tejun Heo; +Cc: linux-ide
Thanks your reply Tejun, i would try it ^__^.
Before that, Could i ask a question that had you ever try to using
port multiplier(sil 3726 or marvel 4140) with 6121/6145
succefully(with ahci.c) ?
Thanks.
2008/7/31 Tejun Heo <tj@kernel.org>:
> Tejun Heo wrote:
>> KueiHuan Chen wrote:
>>> Hello,
>>>
>>> We got some problem while evaluation port multipiler with libata, we
>>> had tested with two sata chip, one is sil-3132, the another is Marvell
>>> 6121. And we also have two port multiplie: Marvell 4140 and Sil-3726.
>>> Our kernel version is kernel-2.6.24 with Marvell 5281 platform.
>>>
>>> Testing result:
>>>
>>> Sil 3132 with 3726 and 4140: everything looks like fine.
>>>
>>> Marvell 6121 with 3726 and 4140(using ahci.c): both port multipiler
>>> would got problem. It can't be detected whether hotplug or at boot time.
>>> But the disk detection is fine without port multiplier.
>>>
>>> Because we can't upgrade kernel to latest version so quickly, is there
>>> any hint or solution for us ?
>>
>> mv PMP support was added very recently. 2.6.26 has it.
>
> Heh.. didn't read the last line. If you can't upgrade the kernel,
> you'll need to backport. We had to fix core PMP support quite a bit to
> get mv working, so you'll need to backport whole libata, which usually
> isn't too difficult. Someone knowledgeable would be able to pull it in
> a few days but if you don't know what you're doing it can be pretty
> hairy. :-)
>
> --
> tejun
>
--
---
Thanks,
KueiHuan-Chen
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-07-31 13:12 ` KueiHuan Chen
@ 2008-08-01 2:05 ` Tejun Heo
2008-08-01 13:10 ` Mark Lord
0 siblings, 1 reply; 15+ messages in thread
From: Tejun Heo @ 2008-08-01 2:05 UTC (permalink / raw)
To: khchen; +Cc: linux-ide, Mark Lord
KueiHuan Chen wrote:
> Thanks your reply Tejun, i would try it ^__^.
>
> Before that, Could i ask a question that had you ever try to using
> port multiplier(sil 3726 or marvel 4140) with 6121/6145
> succefully(with ahci.c) ?
Eh.. another mistake by me. I was talking about controllers supported
by sata_mv. Mark Lord worked on it and added PMP support. AFAIK PMP
support on 6145/6121 is yet to arrive. Right, Mark?
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-08-01 2:05 ` Tejun Heo
@ 2008-08-01 13:10 ` Mark Lord
2008-08-01 16:16 ` Tejun Heo
0 siblings, 1 reply; 15+ messages in thread
From: Mark Lord @ 2008-08-01 13:10 UTC (permalink / raw)
To: Tejun Heo; +Cc: khchen, linux-ide
Tejun Heo wrote:
> KueiHuan Chen wrote:
>> Thanks your reply Tejun, i would try it ^__^.
>>
>> Before that, Could i ask a question that had you ever try to using
>> port multiplier(sil 3726 or marvel 4140) with 6121/6145
>> succefully(with ahci.c) ?
>
> Eh.. another mistake by me. I was talking about controllers supported
> by sata_mv. Mark Lord worked on it and added PMP support. AFAIK PMP
> support on 6145/6121 is yet to arrive. Right, Mark?
..
I have exactly zero documentation on those chips,
but they are supposedly AHCI compliant.
Looking in drivers/ata/ahci.c, one can see that the chips are indeed supported,
and there the AHCI_HFLAG_NO_PMP is *not* set, so one might expect them to work
with a port-multiplier already. ?
Cheers
--
Mark Lord
Real-Time Remedies Inc.
mlord@pobox.com
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-08-01 13:10 ` Mark Lord
@ 2008-08-01 16:16 ` Tejun Heo
2008-08-02 17:53 ` KueiHuan Chen
0 siblings, 1 reply; 15+ messages in thread
From: Tejun Heo @ 2008-08-01 16:16 UTC (permalink / raw)
To: Mark Lord; +Cc: khchen, linux-ide
Mark Lord wrote:
> I have exactly zero documentation on those chips,
> but they are supposedly AHCI compliant.
>
> Looking in drivers/ata/ahci.c, one can see that the chips are indeed
> supported,
> and there the AHCI_HFLAG_NO_PMP is *not* set, so one might expect them
> to work
> with a port-multiplier already. ?
I bet it's more like nobody tried yet. :-P
--
tejun
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-08-01 16:16 ` Tejun Heo
@ 2008-08-02 17:53 ` KueiHuan Chen
2008-08-03 5:08 ` Tejun Heo
2008-08-04 20:59 ` Grant Grundler
0 siblings, 2 replies; 15+ messages in thread
From: KueiHuan Chen @ 2008-08-02 17:53 UTC (permalink / raw)
To: Tejun Heo, jgarzik; +Cc: Mark Lord, linux-ide
2008/8/2 Tejun Heo <tj@kernel.org>:
> Mark Lord wrote:
>> I have exactly zero documentation on those chips,
>> but they are supposedly AHCI compliant.
>>
>> Looking in drivers/ata/ahci.c, one can see that the chips are indeed
>> supported,
>> and there the AHCI_HFLAG_NO_PMP is *not* set, so one might expect them
>> to work
>> with a port-multiplier already. ?
>
> I bet it's more like nobody tried yet. :-P
Thanks for your explaining, i had tried it already.
Port multiplier of Silicon image 3726 is not supported from 2.6.24 to
2.6.26 with 6121 and 6145 which using ahci.c : (
Here is the test envirement:
Port Multipiler : Silicon image 3726. (Marvell 4140 is not fully
tested, so i don't listed, but it is the same in arm arch.)
arch/kernel 2.6.24 2.6.25 2.6.26
arm Not Work Not tested Not tested
powerpc Not Work Not tested Not tested
x86_64 Not Work Not Work Not Work
Should we need disable 6121/6145 pmp support in ahci.c until it is
fully supported?
Thanks a lot.
--------------------
Temporal disable pmp support in 6121/6145 until it is fully supported.
Signed-off-by: KueiHuan Chen <khchen@synology.com>
---
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index ef3e552..ef65ac0 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -420,7 +420,7 @@ static const struct ata_port_info ahci_port_info[] = {
/* board_ahci_mv */
{
AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ | AHCI_HFLAG_NO_MSI |
- AHCI_HFLAG_MV_PATA),
+ AHCI_HFLAG_MV_PATA | AHCI_HFLAG_NO_PMP),
.flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA,
.pio_mask = 0x1f, /* pio0-4 */
---
Thanks,
KueiHuan-Chen
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-08-02 17:53 ` KueiHuan Chen
@ 2008-08-03 5:08 ` Tejun Heo
2008-08-05 8:54 ` KueiHuan Chen
2008-08-04 20:59 ` Grant Grundler
1 sibling, 1 reply; 15+ messages in thread
From: Tejun Heo @ 2008-08-03 5:08 UTC (permalink / raw)
To: khchen; +Cc: jgarzik, Mark Lord, linux-ide
KueiHuan Chen wrote:
> 2008/8/2 Tejun Heo <tj@kernel.org>:
>> Mark Lord wrote:
>>> I have exactly zero documentation on those chips,
>>> but they are supposedly AHCI compliant.
>>>
>>> Looking in drivers/ata/ahci.c, one can see that the chips are indeed
>>> supported,
>>> and there the AHCI_HFLAG_NO_PMP is *not* set, so one might expect them
>>> to work
>>> with a port-multiplier already. ?
>> I bet it's more like nobody tried yet. :-P
>
>
> Thanks for your explaining, i had tried it already.
>
> Port multiplier of Silicon image 3726 is not supported from 2.6.24 to
> 2.6.26 with 6121 and 6145 which using ahci.c : (
>
> Here is the test envirement:
>
> Port Multipiler : Silicon image 3726. (Marvell 4140 is not fully
> tested, so i don't listed, but it is the same in arm arch.)
>
> arch/kernel 2.6.24 2.6.25 2.6.26
>
> arm Not Work Not tested Not tested
>
> powerpc Not Work Not tested Not tested
>
> x86_64 Not Work Not Work Not Work
>
>
> Should we need disable 6121/6145 pmp support in ahci.c until it is
> fully supported?
I'd like to find out why it's failing before disabling it. Can you
please post the failing log from 2.6.26?
--
tejun
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-07-31 10:03 ` Tejun Heo
2008-07-31 13:12 ` KueiHuan Chen
@ 2008-08-04 20:58 ` Grant Grundler
1 sibling, 0 replies; 15+ messages in thread
From: Grant Grundler @ 2008-08-04 20:58 UTC (permalink / raw)
To: Tejun Heo; +Cc: khchen, linux-ide
On Thu, Jul 31, 2008 at 3:03 AM, Tejun Heo <tj@kernel.org> wrote:
...
> Heh.. didn't read the last line. If you can't upgrade the kernel,
> you'll need to backport. We had to fix core PMP support quite a bit to
> get mv working, so you'll need to backport whole libata, which usually
> isn't too difficult. Someone knowledgeable would be able to pull it in
> a few days but if you don't know what you're doing it can be pretty
> hairy. :-)
Backport libata from 2.6.26 to 2.6.24 is trivial compared
to other stuff I've seen backported. Below is an initial version
someone else did for 2.6.26-rc5 and it seems to be working.
It at least will give you an idea of what changed.
Steps to apply are:
o rm -rf 2.6.24/drivers/ata
o copy 2.6.26/drivers/ata to your 2.6.24/drivers/ata
o apply the following patch and it should at least compile.
hth,
grant
--- /usr/local/work/linux-2.6.26-rc5/drivers/ata/ahci.c 2008-06-04
23:42:33.000000000 -0700
+++ /usr/local/work/libata2624_all/2.6.24/drivers/ata/ahci.c 2008-06-05
11:55:12.000000000 -0700
@@ -273,8 +273,8 @@
static int ahci_pci_device_resume(struct pci_dev *pdev);
#endif
-static struct device_attribute *ahci_shost_attrs[] = {
- &dev_attr_link_power_management_policy,
+static struct class_device_attribute *ahci_shost_attrs[] = {
+ &class_device_attr_link_power_management_policy,
NULL
};
diff -urNbBwEP /usr/local/work/linux-2.6.26-rc5/drivers/ata/libata-scsi.c
/usr/local/work/libata2624_all/2.6.24/drivers/ata/libata-scsi.c
--- /usr/local/work/linux-2.6.26-rc5/drivers/ata/libata-scsi.c 2008-06-10
02:25:59.000000000 -0700
+++ /usr/local/work/libata2624_all/2.6.24/drivers/ata/libata-scsi.c 2008-06-05
12:19:08.000000000 -0700
@@ -135,11 +135,10 @@
return NULL;
}
-static ssize_t ata_scsi_lpm_put(struct device *dev,
- struct device_attribute *attr,
+static ssize_t ata_scsi_lpm_put(struct class_device *class_dev,
const char *buf, size_t count)
{
- struct Scsi_Host *shost = class_to_shost(dev);
+ struct Scsi_Host *shost = class_to_shost(class_dev);
struct ata_port *ap = ata_shost_to_port(shost);
enum link_pm policy = 0;
int i;
@@ -167,9 +166,9 @@
}
static ssize_t
-ata_scsi_lpm_show(struct device *dev, struct device_attribute *attr, char *buf)
+ata_scsi_lpm_show(struct class_device *class_dev, char *buf)
{
- struct Scsi_Host *shost = class_to_shost(dev);
+ struct Scsi_Host *shost = class_to_shost(class_dev);
struct ata_port *ap = ata_shost_to_port(shost);
const char *policy =
ata_scsi_lpm_get(ap->pm_policy);
@@ -179,9 +178,9 @@
return snprintf(buf, 23, "%s\n", policy);
}
-DEVICE_ATTR(link_power_management_policy, S_IRUGO | S_IWUSR,
+CLASS_DEVICE_ATTR(link_power_management_policy, S_IRUGO | S_IWUSR,
ata_scsi_lpm_show, ata_scsi_lpm_put);
-EXPORT_SYMBOL_GPL(dev_attr_link_power_management_policy);
+EXPORT_SYMBOL_GPL(class_device_attr_link_power_management_policy);
static void ata_scsi_set_sense(struct scsi_cmnd *cmd, u8 sk, u8 asc, u8 ascq)
{
diff -urNbBwEP /usr/local/work/linux-2.6.26-rc5/drivers/ata/libata-sff.c
/usr/local/work/libata2624_all/2.6.24/drivers/ata/libata-sff.c
--- /usr/local/work/linux-2.6.26-rc5/drivers/ata/libata-sff.c 2008-06-04
23:42:33.000000000 -0700
+++ /usr/local/work/libata2624_all/2.6.24/drivers/ata/libata-sff.c 2008-06-10
00:19:49.000000000 -0700
@@ -278,7 +278,7 @@
return status;
}
/* Clear INTRQ latch */
- status = ata_sff_check_status(ap);
+ status = ap->ops->sff_check_status(ap);
return status;
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-08-02 17:53 ` KueiHuan Chen
2008-08-03 5:08 ` Tejun Heo
@ 2008-08-04 20:59 ` Grant Grundler
1 sibling, 0 replies; 15+ messages in thread
From: Grant Grundler @ 2008-08-04 20:59 UTC (permalink / raw)
To: khchen; +Cc: Tejun Heo, jgarzik, Mark Lord, linux-ide
On Sat, Aug 2, 2008 at 10:53 AM, KueiHuan Chen <kueihuan.chen@gmail.com> wrote:
> 2008/8/2 Tejun Heo <tj@kernel.org>:
>> Mark Lord wrote:
>>> I have exactly zero documentation on those chips,
>>> but they are supposedly AHCI compliant.
>>>
>>> Looking in drivers/ata/ahci.c, one can see that the chips are indeed
>>> supported,
>>> and there the AHCI_HFLAG_NO_PMP is *not* set, so one might expect them
>>> to work
>>> with a port-multiplier already. ?
>>
>> I bet it's more like nobody tried yet. :-P
I don't think we have. Patch I just posted won't
address this issue either.
grant
>
>
> Thanks for your explaining, i had tried it already.
>
> Port multiplier of Silicon image 3726 is not supported from 2.6.24 to
> 2.6.26 with 6121 and 6145 which using ahci.c : (
>
> Here is the test envirement:
>
> Port Multipiler : Silicon image 3726. (Marvell 4140 is not fully
> tested, so i don't listed, but it is the same in arm arch.)
>
> arch/kernel 2.6.24 2.6.25 2.6.26
>
> arm Not Work Not tested Not tested
>
> powerpc Not Work Not tested Not tested
>
> x86_64 Not Work Not Work Not Work
>
>
> Should we need disable 6121/6145 pmp support in ahci.c until it is
> fully supported?
>
> Thanks a lot.
> --------------------
>
> Temporal disable pmp support in 6121/6145 until it is fully supported.
>
> Signed-off-by: KueiHuan Chen <khchen@synology.com>
> ---
> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
> index ef3e552..ef65ac0 100644
> --- a/drivers/ata/ahci.c
> +++ b/drivers/ata/ahci.c
> @@ -420,7 +420,7 @@ static const struct ata_port_info ahci_port_info[] = {
> /* board_ahci_mv */
> {
> AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ | AHCI_HFLAG_NO_MSI |
> - AHCI_HFLAG_MV_PATA),
> + AHCI_HFLAG_MV_PATA | AHCI_HFLAG_NO_PMP),
> .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
> ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA,
> .pio_mask = 0x1f, /* pio0-4 */
>
>
> ---
> Thanks,
> KueiHuan-Chen
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-08-03 5:08 ` Tejun Heo
@ 2008-08-05 8:54 ` KueiHuan Chen
2008-08-29 13:28 ` Tejun Heo
0 siblings, 1 reply; 15+ messages in thread
From: KueiHuan Chen @ 2008-08-05 8:54 UTC (permalink / raw)
To: Tejun Heo; +Cc: jgarzik, Mark Lord, linux-ide
Hi,
Sorry for delay responding, here is my x86_64 with 2.6.26 dmesg and
lspci. ^__^
Thanks.
Dmesg: hotplug-in 3726 into 6145 , and the unplug, finally plug again
ata9: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen
ata9: irq_stat 0x02400000, PHY RDY changed
ata9: hard resetting link
ata9: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata9.15: qc timeout (cmd 0xe4)
ata9.15: failed to read PMP GSCR[0] (Emask=0x4)
ata9: failed to recover some devices, retrying in 5 secs
ata9: hard resetting link
ata9: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata9.15: qc timeout (cmd 0xe4)
ata9.15: failed to read PMP GSCR[0] (Emask=0x4)
ata9: failed to recover some devices, retrying in 5 secs
ata9: hard resetting link
ata9: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata9.15: qc timeout (cmd 0xe4)
ata9.15: failed to read PMP GSCR[0] (Emask=0x4)
ata9: failed to recover some devices, retrying in 5 secs
ata9: hard resetting link
ata9: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata9: EH complete
ata9: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen
ata9: irq_stat 0x00400000, PHY RDY changed
ata9: hard resetting link
ata9: SATA link down (SStatus 0 SControl 300)
ata9: EH complete
ata10: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen
ata10: irq_stat 0x02400000, PHY RDY changed
ata10: hard resetting link
ata10: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata10.15: qc timeout (cmd 0xe4)
ata10.15: failed to read PMP GSCR[0] (Emask=0x4)
ata10: failed to recover some devices, retrying in 5 secs
ata10: hard resetting link
ata10: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata10.15: qc timeout (cmd 0xe4)
ata10.15: failed to read PMP GSCR[0] (Emask=0x4)
ata10: failed to recover some devices, retrying in 5 secs
ata10: hard resetting link
ata10: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata10.15: qc timeout (cmd 0xe4)
ata10.15: failed to read PMP GSCR[0] (Emask=0x4)
ata10: failed to recover some devices, retrying in 5 secs
ata10: hard resetting link
ata10: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata10: EH complete
lspci -nnvvv
00:00.0 Host bridge [0600]: Intel Corporation 82P965/G965 Memory
Controller Hub [8086:29a0] (rev 02)
Subsystem: Giga-byte Technology Unknown device [1458:5000]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort+ >SERR- <PERR-
Latency: 0
Capabilities: [e0] Vendor Specific Information
00:02.0 VGA compatible controller [0300]: Intel Corporation 82G965
Integrated Graphics Controller [8086:29a2] (rev 02) (prog-if 00 [VGA])
Subsystem: Giga-byte Technology Unknown device [1458:d000]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 0: Memory at f4000000 (32-bit, non-prefetchable) [size=1M]
Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
Region 4: I/O ports at b000 [size=8]
Capabilities: [90] Message Signalled Interrupts: Mask- 64bit-
Queue=0/0 Enable-
Address: 00000000 Data: 0000
Capabilities: [d0] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:1a.0 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family)
USB UHCI Contoller #4 [8086:2834] (rev 02) (prog-if 00 [UHCI])
Subsystem: Giga-byte Technology Unknown device [1458:5004]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 4: I/O ports at b400 [size=32]
00:1a.1 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family)
USB UHCI Controller #5 [8086:2835] (rev 02) (prog-if 00 [UHCI])
Subsystem: Giga-byte Technology Unknown device [1458:5004]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 21
Region 4: I/O ports at b800 [size=32]
00:1a.7 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family)
USB2 EHCI Controller #2 [8086:283a] (rev 02) (prog-if 20 [EHCI])
Subsystem: Giga-byte Technology Unknown device [1458:5006]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin C routed to IRQ 18
Region 0: Memory at f4305000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:1b.0 Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD
Audio Controller [8086:284b] (rev 02)
Subsystem: Giga-byte Technology Unknown device [1458:a002]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 22
Region 0: Memory at f4300000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+
Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [70] Express Unknown type IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s <64ns, L1 <1us
Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
Link: Supported Speed unknown, Width x0, ASPM unknown, Port 0
Link: Latency L0s <64ns, L1 <1us
Link: ASPM Disabled CommClk- ExtSynch-
Link: Speed unknown, Width x0
Capabilities: [100] Virtual Channel
Capabilities: [130] Unknown (5)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI
Express Port 1 [8086:283f] (rev 02) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 32 bytes
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 00006000-00007fff
Memory behind bridge: f0000000-f1ffffff
Prefetchable memory behind bridge: 0000000040000000-00000000400fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [40] Express Root Port (Slot+) IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s unlimited, L1 unlimited
Device: Errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s, Port 1
Link: Latency L0s <256ns, L1 <4us
Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
Link: Speed 2.5Gb/s, Width x1
Slot: AtnBtn- PwrCtrl- MRL- AtnInd- PwrInd- HotPlug+ Surpise+
Slot: Number 16, PowerLimit 10.000000
Slot: Enabled AtnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq-
Slot: AttnInd Unknown, PwrInd Unknown, Power-
Root: Correctable- Non-Fatal- Fatal- PME-
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Queue=0/0 Enable-
Address: fee0300c Data: 4161
Capabilities: [90] Subsystem: Giga-byte Technology Unknown
device [1458:5001]
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [100] Virtual Channel
Capabilities: [180] Unknown (5)
00:1c.1 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI
Express Port 2 [8086:2841] (rev 02) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 32 bytes
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 00008000-00008fff
Memory behind bridge: f2000000-f3ffffff
Prefetchable memory behind bridge: 0000000040100000-00000000401fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [40] Express Root Port (Slot+) IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s unlimited, L1 unlimited
Device: Errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s, Port 2
Link: Latency L0s <256ns, L1 <4us
Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
Link: Speed 2.5Gb/s, Width x1
Slot: AtnBtn- PwrCtrl- MRL- AtnInd- PwrInd- HotPlug+ Surpise+
Slot: Number 17, PowerLimit 10.000000
Slot: Enabled AtnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq-
Slot: AttnInd Unknown, PwrInd Unknown, Power-
Root: Correctable- Non-Fatal- Fatal- PME-
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Queue=0/0 Enable-
Address: fee0300c Data: 4169
Capabilities: [90] Subsystem: Giga-byte Technology Unknown
device [1458:5001]
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [100] Virtual Channel
Capabilities: [180] Unknown (5)
00:1c.2 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI
Express Port 3 [8086:2843] (rev 02) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 32 bytes
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 00009000-0000afff
Memory behind bridge: f4100000-f41fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [40] Express Root Port (Slot+) IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s unlimited, L1 unlimited
Device: Errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s, Port 3
Link: Latency L0s <256ns, L1 <4us
Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
Link: Speed 2.5Gb/s, Width x1
Slot: AtnBtn- PwrCtrl- MRL- AtnInd- PwrInd- HotPlug+ Surpise+
Slot: Number 18, PowerLimit 10.000000
Slot: Enabled AtnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq-
Slot: AttnInd Unknown, PwrInd Unknown, Power-
Root: Correctable- Non-Fatal- Fatal- PME-
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Queue=0/0 Enable-
Address: fee0300c Data: 4171
Capabilities: [90] Subsystem: Giga-byte Technology Unknown
device [1458:5001]
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [100] Virtual Channel
Capabilities: [180] Unknown (5)
00:1d.0 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family)
USB UHCI Controller #1 [8086:2830] (rev 02) (prog-if 00 [UHCI])
Subsystem: Giga-byte Technology Unknown device [1458:5004]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 23
Region 4: I/O ports at bc00 [size=32]
00:1d.1 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family)
USB UHCI Controller #2 [8086:2831] (rev 02) (prog-if 00 [UHCI])
Subsystem: Giga-byte Technology Unknown device [1458:5004]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 19
Region 4: I/O ports at c000 [size=32]
00:1d.2 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family)
USB UHCI Controller #3 [8086:2832] (rev 02) (prog-if 00 [UHCI])
Subsystem: Giga-byte Technology Unknown device [1458:5004]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin C routed to IRQ 18
Region 4: I/O ports at c400 [size=32]
00:1d.7 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family)
USB2 EHCI Controller #1 [8086:2836] (rev 02) (prog-if 20 [EHCI])
Subsystem: Giga-byte Technology Unknown device [1458:5006]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 23
Region 0: Memory at f4304000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge
[8086:244e] (rev f2) (prog-if 01 [Subtractive decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=04, subordinate=04, sec-latency=32
I/O behind bridge: 0000f000-00000fff
Memory behind bridge: f4200000-f42fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [50] Subsystem: Giga-byte Technology Unknown
device [1458:5000]
00:1f.0 ISA bridge [0601]: Intel Corporation 82801HB/HR (ICH8/R) LPC
Interface Controller [8086:2810] (rev 02)
Subsystem: Giga-byte Technology Unknown device [1458:5001]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Capabilities: [e0] Vendor Specific Information
00:1f.2 IDE interface [0101]: Intel Corporation 82801H (ICH8 Family) 4
port SATA IDE Controller [8086:2820] (rev 02) (prog-if 8a [Master SecP
PriP])
Subsystem: Giga-byte Technology Unknown device [1458:b002]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 19
Region 0: I/O ports at 01f0 [size=8]
Region 1: I/O ports at 03f4 [size=1]
Region 2: I/O ports at 0170 [size=8]
Region 3: I/O ports at 0374 [size=1]
Region 4: I/O ports at f000 [size=16]
Region 5: I/O ports at fc00 [size=16]
Capabilities: [70] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:1f.3 SMBus [0c05]: Intel Corporation 82801H (ICH8 Family) SMBus
Controller [8086:283e] (rev 02)
Subsystem: Giga-byte Technology Unknown device [1458:5001]
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin C routed to IRQ 18
Region 0: Memory at f4306000 (32-bit, non-prefetchable) [size=256]
Region 4: I/O ports at 0500 [size=32]
00:1f.5 IDE interface [0101]: Intel Corporation 82801H (ICH8 Family) 2
port SATA IDE Controller [8086:2825] (rev 02) (prog-if 85 [Master SecO
PriO])
Subsystem: Giga-byte Technology Unknown device [1458:b002]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 19
Region 0: I/O ports at cc00 [size=8]
Region 1: I/O ports at d000 [size=4]
Region 2: I/O ports at d400 [size=8]
Region 3: I/O ports at d800 [size=4]
Region 4: I/O ports at dc00 [size=16]
Region 5: I/O ports at e000 [size=16]
Capabilities: [70] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
01:00.0 RAID bus controller [0104]: Marvell Technology Group Ltd.
Unknown device [11ab:6145] (rev a1) (prog-if 8f)
Subsystem: Marvell Technology Group Ltd. Unknown device [11ab:6145]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (2000ns min), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 16
Region 0: I/O ports at 6000 [size=8]
Region 1: I/O ports at 6400 [size=4]
Region 2: I/O ports at 6800 [size=8]
Region 3: I/O ports at 6c00 [size=4]
Region 4: I/O ports at 7000 [size=16]
Region 5: Memory at f1000000 (32-bit, non-prefetchable) [size=1K]
[virtual] Expansion ROM at 40000000 [disabled] [size=256K]
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA
PME(D0+,D1+,D2-,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit-
Queue=0/0 Enable-
Address: 00000000 Data: 0000
Capabilities: [e0] Express Legacy Endpoint IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s unlimited, L1 unlimited
Device: AtnBtn- AtnInd- PwrInd-
Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr+ NoSnoop-
Device: MaxPayload 128 bytes, MaxReadReq 512 bytes
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s, Port 0
Link: Latency L0s <256ns, L1 unlimited
Link: ASPM Disabled RCB 64 bytes CommClk- ExtSynch-
Link: Speed 2.5Gb/s, Width x1
Capabilities: [100] Advanced Error Reporting
02:00.0 Ethernet controller [0200]: Marvell Technology Group Ltd.
88E8056 PCI-E Gigabit Ethernet Controller [11ab:4364] (rev 13)
Subsystem: Giga-byte Technology Unknown device [1458:e000]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 2300
Region 0: Memory at f3000000 (64-bit, non-prefetchable) [size=16K]
Region 2: I/O ports at 8000 [size=256]
[virtual] Expansion ROM at 40100000 [disabled] [size=128K]
Capabilities: [48] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data
Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+
Queue=0/0 Enable+
Address: 00000000fee0200c Data: 4191
Capabilities: [e0] Express Legacy Endpoint IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s unlimited, L1 unlimited
Device: AtnBtn- AtnInd- PwrInd-
Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
Device: MaxPayload 128 bytes, MaxReadReq 512 bytes
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 0
Link: Latency L0s <256ns, L1 unlimited
Link: ASPM Disabled RCB 128 bytes CommClk- ExtSynch-
Link: Speed 2.5Gb/s, Width x1
Capabilities: [100] Advanced Error Reporting
03:00.0 SATA controller [0106]: JMicron Technologies, Inc. JMicron
20360/20363 AHCI Controller [197b:2363] (rev 02) (prog-if 01 [AHCI
1.0])
Subsystem: Giga-byte Technology Unknown device [1458:b000]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 18
Region 5: Memory at f4100000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [68] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] Express Legacy Endpoint IRQ 1
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s <64ns, L1 <1us
Device: AtnBtn- AtnInd- PwrInd-
Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
Device: MaxPayload 128 bytes, MaxReadReq 512 bytes
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s, Port 1
Link: Latency L0s unlimited, L1 unlimited
Link: ASPM Disabled RCB 64 bytes CommClk- ExtSynch-
Link: Speed 2.5Gb/s, Width x1
03:00.1 IDE interface [0101]: JMicron Technologies, Inc. JMicron
20360/20363 AHCI Controller [197b:2363] (rev 02) (prog-if 85 [Master
SecO PriO])
Subsystem: Giga-byte Technology Unknown device [1458:b000]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 19
Region 0: I/O ports at 9000 [size=8]
Region 1: I/O ports at 9400 [size=4]
Region 2: I/O ports at 9800 [size=8]
Region 3: I/O ports at 9c00 [size=4]
Region 4: I/O ports at a000 [size=16]
Capabilities: [68] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
04:07.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB23
IEEE-1394a-2000 Controller (PHY/Link) [104c:8024] (prog-if 10 [OHCI])
Subsystem: Giga-byte Technology Unknown device [1458:1000]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (500ns min, 1000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 23
Region 0: Memory at f4204000 (32-bit, non-prefetchable) [size=2K]
Region 1: Memory at f4200000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME+
2008/8/3 Tejun Heo <tj@kernel.org>:
> KueiHuan Chen wrote:
>> 2008/8/2 Tejun Heo <tj@kernel.org>:
>>> Mark Lord wrote:
>>>> I have exactly zero documentation on those chips,
>>>> but they are supposedly AHCI compliant.
>>>>
>>>> Looking in drivers/ata/ahci.c, one can see that the chips are indeed
>>>> supported,
>>>> and there the AHCI_HFLAG_NO_PMP is *not* set, so one might expect them
>>>> to work
>>>> with a port-multiplier already. ?
>>> I bet it's more like nobody tried yet. :-P
>>
>>
>> Thanks for your explaining, i had tried it already.
>>
>> Port multiplier of Silicon image 3726 is not supported from 2.6.24 to
>> 2.6.26 with 6121 and 6145 which using ahci.c : (
>>
>> Here is the test envirement:
>>
>> Port Multipiler : Silicon image 3726. (Marvell 4140 is not fully
>> tested, so i don't listed, but it is the same in arm arch.)
>>
>> arch/kernel 2.6.24 2.6.25 2.6.26
>>
>> arm Not Work Not tested Not tested
>>
>> powerpc Not Work Not tested Not tested
>>
>> x86_64 Not Work Not Work Not Work
>>
>>
>> Should we need disable 6121/6145 pmp support in ahci.c until it is
>> fully supported?
>
> I'd like to find out why it's failing before disabling it. Can you
> please post the failing log from 2.6.26?
>
> --
> tejun
>
--
---
Thanks,
KueiHuan-Chen
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-08-05 8:54 ` KueiHuan Chen
@ 2008-08-29 13:28 ` Tejun Heo
2008-08-29 14:29 ` Mark Lord
0 siblings, 1 reply; 15+ messages in thread
From: Tejun Heo @ 2008-08-29 13:28 UTC (permalink / raw)
To: khchen; +Cc: jgarzik, Mark Lord, linux-ide
KueiHuan Chen wrote:
> Hi,
>
> Sorry for delay responding, here is my x86_64 with 2.6.26 dmesg and
> lspci. ^__^
Heh.. I out-delayed you. :-)
> Dmesg: hotplug-in 3726 into 6145 , and the unplug, finally plug again
> ata9: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen
> ata9: irq_stat 0x02400000, PHY RDY changed
> ata9: hard resetting link
> ata9: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> ata9.15: qc timeout (cmd 0xe4)
> ata9.15: failed to read PMP GSCR[0] (Emask=0x4)
Heh.. failing PMP READs. Doesn't look like there's anything else to do
than disabling it. Will post a patch.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-08-29 13:28 ` Tejun Heo
@ 2008-08-29 14:29 ` Mark Lord
2008-08-29 14:38 ` Tejun Heo
0 siblings, 1 reply; 15+ messages in thread
From: Mark Lord @ 2008-08-29 14:29 UTC (permalink / raw)
To: Tejun Heo; +Cc: khchen, jgarzik, linux-ide
Tejun Heo wrote:
> KueiHuan Chen wrote:
>> Hi,
>>
>> Sorry for delay responding, here is my x86_64 with 2.6.26 dmesg and
>> lspci. ^__^
>
> Heh.. I out-delayed you. :-)
>
>> Dmesg: hotplug-in 3726 into 6145 , and the unplug, finally plug again
>> ata9: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen
>> ata9: irq_stat 0x02400000, PHY RDY changed
>> ata9: hard resetting link
>> ata9: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
>> ata9.15: qc timeout (cmd 0xe4)
>> ata9.15: failed to read PMP GSCR[0] (Emask=0x4)
>
> Heh.. failing PMP READs. Doesn't look like there's anything else to do
> than disabling it. Will post a patch.
..
No kernel timestamps there, but I do wonder if somehow
the driver is polling too soon for the PMP?
I wonder if a short delay in there, before issuing the PMP read,
might help (or not)?
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726
2008-08-29 14:29 ` Mark Lord
@ 2008-08-29 14:38 ` Tejun Heo
0 siblings, 0 replies; 15+ messages in thread
From: Tejun Heo @ 2008-08-29 14:38 UTC (permalink / raw)
To: Mark Lord; +Cc: khchen, jgarzik, linux-ide
Mark Lord wrote:
>>> Dmesg: hotplug-in 3726 into 6145 , and the unplug, finally plug again
>>> ata9: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen
>>> ata9: irq_stat 0x02400000, PHY RDY changed
>>> ata9: hard resetting link
>>> ata9: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
>>> ata9.15: qc timeout (cmd 0xe4)
>>> ata9.15: failed to read PMP GSCR[0] (Emask=0x4)
>>
>> Heh.. failing PMP READs. Doesn't look like there's anything else to do
>> than disabling it. Will post a patch.
> ..
>
> No kernel timestamps there, but I do wonder if somehow
> the driver is polling too soon for the PMP?
> I wonder if a short delay in there, before issuing the PMP read,
> might help (or not)?
The timeout is currently 3 secs and the timeout is mostly dependent on
the PMP device and 3726 fares off fine with < 1sec timeouts, so I don't
think it's because of short timeout.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2008-08-29 14:40 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <788014650807302022j30cea641wcfe4105ac8702b8c@mail.gmail.com>
2008-07-31 10:00 ` SATA port multiplier(Marvell 6121 with ahci) and Marvell 4140, simg 3726 Tejun Heo
2008-07-31 10:03 ` Tejun Heo
2008-07-31 13:12 ` KueiHuan Chen
2008-08-01 2:05 ` Tejun Heo
2008-08-01 13:10 ` Mark Lord
2008-08-01 16:16 ` Tejun Heo
2008-08-02 17:53 ` KueiHuan Chen
2008-08-03 5:08 ` Tejun Heo
2008-08-05 8:54 ` KueiHuan Chen
2008-08-29 13:28 ` Tejun Heo
2008-08-29 14:29 ` Mark Lord
2008-08-29 14:38 ` Tejun Heo
2008-08-04 20:59 ` Grant Grundler
2008-08-04 20:58 ` Grant Grundler
2008-07-31 3:37 KueiHuan Chen
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).