Bug 237372 - Marvell PATA not supported
Summary: Marvell PATA not supported
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: David Milburn
QA Contact: Gris Ge
URL:
Whiteboard:
Depends On:
Blocks: 677384
TreeView+ depends on / blocked
 
Reported: 2007-04-21 13:38 UTC by Nerijus Baliūnas
Modified: 2011-02-25 10:50 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
The RHEL5.3 update to the ahci driver changed the behavior concerning the Marvell 6121 and 6145 controllers. Previously, the pata_marvell driver would claim the marvell controller, but beginning with RHEL5.3, the ahci driver took control of the Marvell controller to drive the SATA ports. In order to continue to allow the ahci driver to control the SATA ports, you must use the ahci module_param "marvell_enable=1".
Clone Of:
Environment:
Last Closed: 2011-01-13 20:41:10 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0017 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.6 kernel security and bug fix update 2011-01-13 10:37:42 UTC

Description Nerijus Baliūnas 2007-04-21 13:38:47 UTC
Marvell PATA controller (88SE6101, PCI ID: 11ab:6101) is not supported by kernel.
This controller is present in Intel motherboards based on P965/Q965/G965 chipsets.
There is a patch for 2.6.18 kernel published at LKML:
http://lkml.org/lkml/2006/10/16/157

It is enabled in latest FC6 kernel (2.6.20-1.2944.fc6) and works ok (see bug
213424). Could you please backport and include it in the next kernel release?

Comment 1 Paul Griffith 2007-08-17 15:19:06 UTC
I can confirm this is also a problem with RHEL 4.5 and this Marvell PATA 
controller (88SE6101, PCI ID: 11ab:6101) is also present on the Intel mobo 
DG33BU.

 





Comment 2 Richard Cunningham 2007-09-11 16:45:38 UTC
I was seeing this bug also on RHEL5 with the 2.6.18-8 kernel but it is fixed for
me in 2.6.18-36, though it is not mentioned in the changelog
(https://rhn.redhat.com/network/software/packages/change_log.pxt?pid=410807)

I am using a Intel DQ965GF motherboard.

Comment 3 Nerijus Baliūnas 2008-05-06 14:40:49 UTC
Please close it as CURRENTRELEASE (I am not allowed to do it), pata_marvell.ko
is in 2.6.18-53.1.13 and at least in 2.6.18-36 according to Comment #2.

Comment 4 John Robinson 2009-08-13 13:37:28 UTC
This bug, or something like it (see bug #455833), seems to have reappeared.

I have an Asus P5Q Pro motherboard with Intel ICH10R SATA and Marvell 88SE6121 SATA and IDE ports:
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
03:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6121 SATA II Controller (rev b2)

In kernel 2.6.18-92.1.22, I can use my IDE DVD-ROM drive, and see the following in the syslog at boot time:

Aug 13 09:12:26 beast kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16 (lev
el, low) -> IRQ 16
Aug 13 09:12:26 beast kernel: scsi6 : pata_marvell
Aug 13 09:12:26 beast kernel: scsi7 : pata_marvell
Aug 13 09:12:26 beast kernel: ata7: PATA max UDMA/100 cmd 0xdc00 ctl 0xd880 bmdm
a 0xd400 irq 16
Aug 13 09:12:26 beast kernel: ata8: PATA max UDMA/133 cmd 0xd800 ctl 0xd480 bmdm
a 0xd408 irq 16
Aug 13 09:12:26 beast kernel: BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:
00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00 
Aug 13 09:12:26 beast kernel: ata7.00: ATAPI: HL-DT-STDVD-RAM GH22NP20, 1.02, ma
x UDMA/66
Aug 13 09:12:26 beast kernel: ata7.00: configured for UDMA/66
Aug 13 09:12:26 beast kernel: BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:
00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00 
Aug 13 09:12:26 beast kernel:   Vendor: HL-DT-ST  Model: DVD-RAM GH22NP20  Rev: 
1.02
Aug 13 09:12:26 beast kernel:   Type:   CD-ROM                             ANSI 
SCSI revision: 05


But in kernel 2.6.18-128.4.1, I can't, and I see the following instead:

Aug 13 09:21:40 beast kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16 (lev
el, low) -> IRQ 16
Aug 13 09:21:40 beast kernel: ahci 0000:03:00.0: controller can't do NCQ, turnin
g off CAP_NCQ
Aug 13 09:21:40 beast kernel: ahci 0000:03:00.0: MV_AHCI HACK: port_map 7 -> 3
Aug 13 09:21:40 beast kernel: ahci 0000:03:00.0: AHCI 0001.0000 32 slots 3 ports
 3 Gbps 0x3 impl IDE mode
Aug 13 09:21:40 beast kernel: ahci 0000:03:00.0: flags: 64bit stag led pmp slum 
part 
Aug 13 09:21:40 beast kernel: scsi6 : ahci
Aug 13 09:21:40 beast kernel: scsi7 : ahci
Aug 13 09:21:40 beast kernel: scsi8 : ahci
Aug 13 09:21:40 beast kernel: ata7: SATA max UDMA/133 abar m1024@0xfafffc00 port
 0xfafffd00 irq 16
Aug 13 09:21:40 beast kernel: ata8: SATA max UDMA/133 abar m1024@0xfafffc00 port
 0xfafffd80 irq 16
Aug 13 09:21:40 beast kernel: ata9: DUMMY
Aug 13 09:21:40 beast kernel: ata7: SATA link down (SStatus 0 SControl 300)
Aug 13 09:21:40 beast kernel: ata8: SATA link down (SStatus 0 SControl 300)


The pata_marvell module is still in the later kernel, but it appears the AHCI driver is now picking up the Marvell controller, so the pata_marvell driver isn't loaded, or doesn't do anything if it is, and if it's a choice between the controller's 2 SATA ports which I'm not using or its 1 IDE port which I am, I'd rather have the IDE port.

Is there a workaround to stop the AHCI driver claiming the Marvell controller?

Comment 5 David Milburn 2010-07-12 15:45:26 UTC
There is an upstream patch which adds an ahci module_param so that the ahci
driver only drives the SATA ports, I can build a RHEL5 test kernel with
this patch, would you be able to verify the ahci driver no longer grabs the
Marvell pata port? Thank you.

Comment 6 John Robinson 2010-07-12 17:16:58 UTC
Yes, I would be pleased to do so. Have you any idea whether the pata_marvell module will still be able to claim the PATA port or will it choke when it sees that the ahci driver has claimed part of the chip?

Comment 7 Jeff Garzik 2010-07-12 17:29:24 UTC
Unfortunately, it's an either/or choice.  pata_marvell will give you PATA-only, and ahci will give you SATA-only.

There is a driver in the works, "mv-ahci", which does both PATA and SATA, but that's not completed or even test-able yet.

Comment 8 John Robinson 2010-07-12 17:40:39 UTC
Oh dear. Well, David's patched kernel (comment 6) probably isn't going to be any use to me then, since I currently need the PATA port. I am still willing to test the patched kernel, and report what the ahci module says, though I don't see how there can be any point to it if pata_marvell can't then drive the PATA port.

Comment 9 David Milburn 2010-07-12 21:19:05 UTC
Please test the kernel-2.6.18-206.el6.bz237372

http://people.redhat.com/dmilburn/.bz237372/

It is built with these 2 upstream patches backported

commit 5b66c829bf5c65663b2f68ee6b42f6e834cd39cd
Author: Alan Cox <alan.org.uk>
Date:   Wed Sep 3 14:48:34 2008 +0100

    ahci, pata_marvell: play nicely together

commit cb6643e1c38b6bd5c1594f0a45d8cf6943a6f934
Author: Christoph Egger <siccegge.uni-erlangen.de>
Date:   Fri Feb 5 16:26:35 2010 +0100

    [libata] pata_marvell: CONFIG_AHCI is really CONFIG_SATA_AHCI

This should allow the pata_marvell driver to claim the PATA port, ahci
should not. Thanks.

Comment 10 John Robinson 2010-07-13 07:56:06 UTC
I'm afraid the only visible change is that the ahci module no longer automatically claims the Marvell chip: 

Jul 13 08:27:20 beast kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16 (level, low) -> IRQ 169
Jul 13 08:27:20 beast kernel: scsi6 : pata_marvell
Jul 13 08:27:20 beast kernel: scsi7 : pata_marvell
Jul 13 08:27:20 beast kernel: ata7: PATA max UDMA/100 cmd 0xdc00 ctl 0xd880 bmdma 0xd400 irq 169
Jul 13 08:27:20 beast kernel: ata8: PATA max UDMA/133 cmd 0xd800 ctl 0xd480 bmdma 0xd408 irq 169
Jul 13 08:27:20 beast kernel: ata7.00: ATAPI: HL-DT-STDVD-RAM GH22NP20, 1.02, max UDMA/66
Jul 13 08:27:20 beast kernel: ata7.00: configured for UDMA/66
Jul 13 08:27:20 beast kernel:   Vendor: HL-DT-ST  Model: DVD-RAM GH22NP20  Rev: 1.02
Jul 13 08:27:20 beast kernel:   Type:   CD-ROM                             ANSI SCSI revision: 05

But I note that the ahci module now has a marvell_enable option so I tried that too:

Jul 13 08:40:02 beast kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16 (level, low) -> IRQ 169
Jul 13 08:40:02 beast kernel: ahci 0000:03:00.0: controller can't do NCQ, turning off CAP_NCQ
Jul 13 08:40:02 beast kernel: ahci 0000:03:00.0: MV_AHCI HACK: port_map 7 -> 3
Jul 13 08:40:02 beast kernel: ahci 0000:03:00.0: Disabling your PATA port. Use the boot option 'ahci.marvell_enable=0' to avoid this.
Jul 13 08:40:02 beast kernel: ahci 0000:03:00.0: AHCI 0001.0000 32 slots 3 ports 3 Gbps 0x3 impl IDE mode
Jul 13 08:40:02 beast kernel: ahci 0000:03:00.0: flags: 64bit stag led pmp slum part
Jul 13 08:40:02 beast kernel: scsi6 : ahci
Jul 13 08:40:02 beast kernel: scsi7 : ahci
Jul 13 08:40:02 beast kernel: scsi8 : ahci
Jul 13 08:40:02 beast kernel: ata7: SATA max UDMA/133 abar m1024@0xfafffc00 port 0xfafffd00 irq 169
Jul 13 08:40:02 beast kernel: ata8: SATA max UDMA/133 abar m1024@0xfafffc00 port 0xfafffd80 irq 169
Jul 13 08:40:02 beast kernel: ata9: DUMMY
Jul 13 08:40:02 beast kernel: ata7: SATA link down (SStatus 0 SControl 300)
Jul 13 08:40:02 beast kernel: ata8: SATA link down (SStatus 0 SControl 300)

Same behaviour as before, the pata_marvell module isn't loaded, and when I modprobe it, nothing happens (not even a mention in the logs).

Comment 11 Nerijus Baliūnas 2010-07-13 11:05:16 UTC
(In reply to comment #10)
> I'm afraid the only visible change is that the ahci module no longer
> automatically claims the Marvell chip: 
> 
> Jul 13 08:27:20 beast kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16
> (level, low) -> IRQ 169
> Jul 13 08:27:20 beast kernel: scsi6 : pata_marvell
> Jul 13 08:27:20 beast kernel: scsi7 : pata_marvell
> Jul 13 08:27:20 beast kernel: ata7: PATA max UDMA/100 cmd 0xdc00 ctl 0xd880
> bmdma 0xd400 irq 169
> Jul 13 08:27:20 beast kernel: ata8: PATA max UDMA/133 cmd 0xd800 ctl 0xd480
> bmdma 0xd408 irq 169
> Jul 13 08:27:20 beast kernel: ata7.00: ATAPI: HL-DT-STDVD-RAM GH22NP20, 1.02,
> max UDMA/66
> Jul 13 08:27:20 beast kernel: ata7.00: configured for UDMA/66
> Jul 13 08:27:20 beast kernel:   Vendor: HL-DT-ST  Model: DVD-RAM GH22NP20  Rev:
> 1.02
> Jul 13 08:27:20 beast kernel:   Type:   CD-ROM                             ANSI

But you see the CD-ROM now, so what is the problem?

Comment 12 John Robinson 2010-07-13 12:32:09 UTC
I could see the CD-ROM before, by pre-loading the pata_marvell module (see bug #455833). Yes this will probably help people who couldn't see their PATA CD-ROM drives before, so may indeed be a fix for this bug as reported.

Nevertheless, the patches do not appear to achieve what their titles suggest. The ahci module, if enabled for the Marvell controller, still picks up the PATA port and marks it as DUMMY. I also tried attaching a SATA drive, and it doesn't work anyway:

Jul 13 12:05:33 beast kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16 (level, low) -> IRQ 169
Jul 13 12:05:33 beast kernel: ahci 0000:03:00.0: controller can't do NCQ, turning off CAP_NCQ
Jul 13 12:05:33 beast kernel: ahci 0000:03:00.0: MV_AHCI HACK: port_map 7 -> 3
Jul 13 12:05:33 beast kernel: ahci 0000:03:00.0: Disabling your PATA port. Use the boot option 'ahci.marvell_enable=0' to avoid this.
Jul 13 12:05:33 beast kernel: ahci 0000:03:00.0: AHCI 0001.0000 32 slots 3 ports 3 Gbps 0x3 impl IDE mode
Jul 13 12:05:33 beast kernel: ahci 0000:03:00.0: flags: 64bit stag led pmp slum part
Jul 13 12:05:33 beast kernel: scsi6 : ahci
Jul 13 12:05:33 beast kernel: scsi7 : ahci
Jul 13 12:05:33 beast kernel: scsi8 : ahci
Jul 13 12:05:33 beast kernel: ata7: SATA max UDMA/133 abar m1024@0xfafffc00 port 0xfafffd00 irq 169
Jul 13 12:05:33 beast kernel: ata8: SATA max UDMA/133 abar m1024@0xfafffc00 port 0xfafffd80 irq 169
Jul 13 12:05:33 beast kernel: ata9: DUMMY
Jul 13 12:05:33 beast kernel: ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jul 13 12:05:33 beast kernel: ata7.15: qc timeout (cmd 0xe4)
Jul 13 12:05:33 beast kernel: ata7.15: failed to read PMP GSCR[0] (Emask=0x4)
Jul 13 12:05:33 beast kernel: ata7: failed to recover some devices, retrying in 5 secs
Jul 13 12:05:33 beast kernel: ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jul 13 12:05:33 beast kernel: ata7.15: qc timeout (cmd 0xe4)
Jul 13 12:05:33 beast kernel: ata7.15: failed to read PMP GSCR[0] (Emask=0x4)
Jul 13 12:05:33 beast kernel: ata7: failed to recover some devices, retrying in 5 secs
Jul 13 12:05:33 beast kernel: ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jul 13 12:05:33 beast kernel: ata7.15: qc timeout (cmd 0xe4)
Jul 13 12:05:33 beast kernel: ata7.15: failed to read PMP GSCR[0] (Emask=0x4)
Jul 13 12:05:33 beast kernel: ata7: failed to recover some devices, retrying in 5 secs
Jul 13 12:05:33 beast kernel: ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jul 13 12:05:33 beast kernel: ata8: SATA link down (SStatus 0 SControl 300)

And the drive doesn't appear. I tried this both without and with the drive's SATA-1 jumper set. But perhaps that's a whole nother bug.

Alternatively, without the marvell_enable option, the ahci module doesn't pick up the controller at all, and the pata_marvell module still drives the SATA ports in IDE mode, not AHCI mode, as far as I can tell:

Jul 13 13:06:59 beast kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16 (level, low) -> IRQ 169
Jul 13 13:06:59 beast kernel: scsi6 : pata_marvell
Jul 13 13:06:59 beast kernel: scsi7 : pata_marvell
Jul 13 13:06:59 beast kernel: ata7: PATA max UDMA/100 cmd 0xdc00 ctl 0xd880 bmdma 0xd400 irq 169
Jul 13 13:06:59 beast kernel: ata8: PATA max UDMA/133 cmd 0xd800 ctl 0xd480 bmdma 0xd408 irq 169
Jul 13 13:06:59 beast kernel: ata7.00: ATAPI: HL-DT-STDVD-RAM GH22NP20, 1.02, max UDMA/66
Jul 13 13:06:59 beast kernel: ata7.00: configured for UDMA/66
Jul 13 13:06:59 beast kernel: ata8.00: ATA-7: SAMSUNG HD400LJ, ZZ100-15, max UDMA7
Jul 13 13:06:59 beast kernel: ata8.00: 781422768 sectors, multi 0: LBA48 NCQ (depth 0/32)
Jul 13 13:06:59 beast kernel: ata8.00: configured for UDMA/133
Jul 13 13:06:59 beast kernel:   Vendor: HL-DT-ST  Model: DVD-RAM GH22NP20  Rev: 1.02
Jul 13 13:06:59 beast kernel:   Type:   CD-ROM                             ANSI SCSI revision: 05
Jul 13 13:06:59 beast kernel:   Vendor: ATA       Model: SAMSUNG HD400LJ   Rev: ZZ10
Jul 13 13:06:59 beast kernel:   Type:   Direct-Access                      ANSI SCSI revision: 05

Either way I don't think this counts as "playing nice".

Comment 13 David Milburn 2010-07-13 16:44:19 UTC
Basically, until the upstream "mv-ahci" all we can do in this configuration
is leave "marvell_enable=0" and let pata_marvell drive PATA-only. If I under-
stand Comment#10 correctly, this happened, it did recognize the CD-ROM drive,
right?

And in this configuration, the ahci driver would drive SATA-only, so the ahci
driver should have recognized a SATA drive, just to verify, you are saying
you connected a SATA drive to the ICH10 controller and it did not recognize
the drive with "marvell_enable=0"? Would you please attach your full dmesg
output in this configuration? Thank you.

Comment 14 John Robinson 2010-07-13 17:45:23 UTC
(In reply to comment #13)
> Basically, until the upstream "mv-ahci" all we can do in this configuration
> is leave "marvell_enable=0" and let pata_marvell drive PATA-only. If I under-
> stand Comment#10 correctly, this happened, it did recognize the CD-ROM drive,
> right?

Yes.

> And in this configuration, the ahci driver would drive SATA-only, so the ahci
> driver should have recognized a SATA drive, just to verify, you are saying
> you connected a SATA drive to the ICH10 controller and it did not recognize
> the drive with "marvell_enable=0"? Would you please attach your full dmesg
> output in this configuration? Thank you.    

No. Everything on the ICH10 is just fine, I have had no problems with it. The system is booting off drives connected to the ICH10.

I have tried with both a SATA hard drive on SATA port 0 of the Marvell controller and the PATA CD-ROM drive connected to the PATA port. With marvell_enable unset, both work fine in IDE mode with the pata_marvell module, as noted above. However with marvell_enable=1, neither works, the SATA hard drive on the Marvell controller gives "qc timeout (cmd 0xe4)", "failed to read PMP GSCR[0] (Emask=0x4)" etc, and of course the PATA CD-ROM drive appears as DUMMY.

I have tried again with only a SATA hard drive on the Marvell controller (no PATA CD-ROM drive). Again, with marvell_enable unset, it works in IDE mode with the pata_marvell module. Again, with marvell_enable=1, the SATA hard drive does not work in AHCI mode with the ahci driver, giving errors:

Jul 13 18:29:30 beast kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16 (level, low) -> IRQ 169
Jul 13 18:29:30 beast kernel: ahci 0000:03:00.0: controller can't do NCQ, turning off CAP_NCQ
Jul 13 18:29:30 beast kernel: ahci 0000:03:00.0: MV_AHCI HACK: port_map 7 -> 3
Jul 13 18:29:30 beast kernel: ahci 0000:03:00.0: Disabling your PATA port. Use the boot option 'ahci.marvell_enable=0' to avoid this.
Jul 13 18:29:30 beast kernel: ahci 0000:03:00.0: AHCI 0001.0000 32 slots 3 ports 3 Gbps 0x3 impl IDE mode
Jul 13 18:29:30 beast kernel: ahci 0000:03:00.0: flags: 64bit stag led pmp slum part
Jul 13 18:29:30 beast kernel: scsi6 : ahci
Jul 13 18:29:30 beast kernel: scsi7 : ahci
Jul 13 18:29:30 beast kernel: scsi8 : ahci
Jul 13 18:29:30 beast kernel: ata7: SATA max UDMA/133 abar m1024@0xfafffc00 port 0xfafffd00 irq 169
Jul 13 18:29:30 beast kernel: ata8: SATA max UDMA/133 abar m1024@0xfafffc00 port 0xfafffd80 irq 169
Jul 13 18:29:30 beast kernel: ata9: DUMMY
Jul 13 18:29:30 beast kernel: ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jul 13 18:29:30 beast kernel: ata7.15: qc timeout (cmd 0xe4)
Jul 13 18:29:30 beast kernel: ata7.15: failed to read PMP GSCR[0] (Emask=0x4)
Jul 13 18:29:30 beast kernel: ata7: failed to recover some devices, retrying in 5 secs
Jul 13 18:29:30 beast kernel: ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jul 13 18:29:30 beast kernel: ata7.15: qc timeout (cmd 0xe4)
Jul 13 18:29:30 beast kernel: ata7.15: failed to read PMP GSCR[0] (Emask=0x4)
Jul 13 18:29:30 beast kernel: ata7: failed to recover some devices, retrying in 5 secs
Jul 13 18:29:30 beast kernel: ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jul 13 18:29:30 beast kernel: ata7.15: qc timeout (cmd 0xe4)
Jul 13 18:29:30 beast kernel: ata7.15: failed to read PMP GSCR[0] (Emask=0x4)
Jul 13 18:29:30 beast kernel: ata7: failed to recover some devices, retrying in 5 secs
Jul 13 18:29:30 beast kernel: ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jul 13 18:29:30 beast kernel: ata8: SATA link down (SStatus 0 SControl 300)


So in summary, the patch correctly stops the ahci module handling the Marvell chip, and everything works in IDE mode when it's left to the pata_marvell module. But attempting to use the Marvell chip driven by the ahci module by setting the marvell_enable option does not work. Perhaps a better solution for now would be to stop the ahci module ever picking up the Marvell controller, by removing the PCI IDs or something?

Comment 15 David Milburn 2010-07-13 18:14:11 UTC
Let me add one more patch to the test kernel

commit 17248461cb66103b87ff03bdee34aa61035cc93e
Author: Tejun Heo <tj>
Date:   Fri Aug 29 16:03:59 2008 +0200

    ahci: disable PMP for marvell ahcis

This should allow you to use the "marvell_enable=1" option and I think the
ahci driver will be able to detect the SATA drive connected to the Marvell
controller. It still will not be able to drive the PATA port connected to the
Marvell controller, ultimately you will still need to unset the "marvell_enable"
option, use the pata_marvell driver to drive the PATA port connected to the
Marvell controller, and connect your SATA drive to ICH10 controller and let
ahci driver control the SATA drive.

It will take me a few hours to get the new test kernel built and posted to
my people page.

Comment 16 John Robinson 2010-07-13 19:58:04 UTC
For my purposes, if I can't have both AHCI mode for the SATA ports and the PATA port working, running the Marvell chip in IDE mode with the pata_marvell module is fine, so there's no need for this; just stopping the ahci module picking up the Marvell controller would be fine. Still, I'm happy to test again if you post another kernel.

Comment 17 David Milburn 2010-07-13 22:16:44 UTC
Would you please re-test with "marvell_enable=1" and see if ahci driver can
detect the SATA drive connected to the Marvell controller? This should be 
without the CD-ROM drive connected to the Marvell PATA port. Thank you. 

http://people.redhat.com/dmilburn/.bz237372/

Comment 18 John Robinson 2010-07-13 23:24:20 UTC
Yes, that works:

Jul 14 00:05:03 beast kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16 (level, low) -> IRQ 169
Jul 14 00:05:03 beast kernel: ahci 0000:03:00.0: controller can't do NCQ, turning off CAP_NCQ
Jul 14 00:05:03 beast kernel: ahci 0000:03:00.0: controller can't do PMP, turning off CAP_PMP
Jul 14 00:05:03 beast kernel: ahci 0000:03:00.0: MV_AHCI HACK: port_map 7 -> 3
Jul 14 00:05:03 beast kernel: ahci 0000:03:00.0: Disabling your PATA port. Use the boot option 'ahci.marvell_enable=0' to avoid this.
Jul 14 00:05:03 beast kernel: ahci 0000:03:00.0: AHCI 0001.0000 32 slots 3 ports 3 Gbps 0x3 impl IDE mode
Jul 14 00:05:03 beast kernel: ahci 0000:03:00.0: flags: 64bit stag led slum part
Jul 14 00:05:03 beast kernel: scsi6 : ahci
Jul 14 00:05:03 beast kernel: scsi7 : ahci
Jul 14 00:05:03 beast kernel: scsi8 : ahci
Jul 14 00:05:03 beast kernel: ata7: SATA max UDMA/133 abar m1024@0xfafffc00 port 0xfafffd00 irq 169
Jul 14 00:05:03 beast kernel: ata8: SATA max UDMA/133 abar m1024@0xfafffc00 port 0xfafffd80 irq 169
Jul 14 00:05:03 beast kernel: ata9: DUMMY
Jul 14 00:05:03 beast kernel: ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jul 14 00:05:03 beast kernel: ata7.00: ATA-7: SAMSUNG HD400LJ, ZZ100-15, max UDMA7
Jul 14 00:05:03 beast kernel: ata7.00: 781422768 sectors, multi 0: LBA48 NCQ (depth 0/32)
Jul 14 00:05:03 beast kernel: ata7.00: configured for UDMA/133
Jul 14 00:05:03 beast kernel: ata8: SATA link down (SStatus 0 SControl 300)

Tried both with and without the PATA CD-ROM drive attached, same result.

Looks to me like this fixes the regression introduced about a year ago, and also fixes the ahci module so it works with the Marvell controller if asked to.

Comment 20 RHEL Program Management 2010-07-15 19:39:13 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 22 Jarod Wilson 2010-07-23 15:28:23 UTC
in kernel-2.6.18-208.el5
You can download this test kernel from http://people.redhat.com/jwilson/el5

Detailed testing feedback is always welcomed.

Comment 24 John Robinson 2010-07-23 16:07:46 UTC
Works for me, in that with default options (no marvell_enable=1, no preloading pata_marvell), my CD-ROM drive is picked up by pata_marvell, unlike with earlier kernels. What more detail would you like?

Comment 25 David Milburn 2010-07-23 17:13:27 UTC
This should take care of the regression (no CD-ROM drive on Marvell controller
PATA drive) between -92 and -128. Also, I am requesting a release note to
explain that "marvell_enable" will need to be set for the ahci driver to control
the Marvell controller's SATA ports (no PATA port available in this case).

Comment 26 David Milburn 2010-09-16 20:21:44 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
The RHEL5.3 update to the ahci driver changed the behavior
concerning the Marvell 6121 and 6145 controllers. Previously,
the pata_marvell driver would claim the marvell controller,
but beginning with RHEL5.3, the ahci driver took control of
the Marvell controller to drive the SATA ports. In order to
continue to allow the ahci driver to control the SATA ports,
you must use the ahci module_param "marvell_enable=1".

Comment 27 Gris Ge 2010-12-20 07:11:36 UTC
No hardware for testing.

Code reviewed. kernel-2.6.18-236.el5 has the patch applied.

Set as SanityOnly.

Comment 29 errata-xmlrpc 2011-01-13 20:41:10 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0017.html


Note You need to log in before you can comment on or make changes to this bug.