When IOMMU enabled, devices attached to Marvell 88SE9128 controller not recognized

Bug #1089768 reported by Robert Cicconetti
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Low
Unassigned

Bug Description

This bug is to confirm that the Marvell 88SE9128 chipset bug presents under AMD's IOMMU implementation as well as Intel's VT-D. I've tested this with a Syba SD-PEX40035 and a Highpoint Rocket 620 (both use the same Marvell chipset) PCIe card, under both the stock Quantal kernel and the 3.7.0rc8 kernel from the mainline kernel PPA. It sounds like the preferred solution is PCI quirk, and some of the infrastructure is in place, but it hasn't been implemented yet. Symptoms consist of a much longer boot process, and failure to identify any devices attached to the Marvell controllers.

WORKAROUND: Works fine as long as I disable the IOMMU in the BIOS.

My system consists of an AMD A10-5800K in a Gigabyte GA-F2A85X-D3H motherboard, 5x Seagate 1.5 TB drives in software Raid5, 4x Seagate 3 TB drives in a native ZFS raidz (not yet used), a Sata BD-ROM, and a 500 GB sata drive (not yet used).

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1005226
http://lists.linuxfoundation.org/pipermail/iommu/2012-September/004551.html
https://bugzilla.kernel.org/show_bug.cgi?id=42679
https://bugzilla.redhat.com/show_bug.cgi?id=757166

pci 02:00.1 is the IDE endpoint, but there are no PATA devices in the system, which matches the behavior of the other chips (emitting DMA operations from the wrong PCI endpoint, which the IOMMU rejects.)

##########################################################
02:00.1 IDE interface: Marvell Technology Group Ltd. 88SE9128 IDE Controller (rev 11) (prog-if 8f [Master SecP SecO PriP PriO])
        Subsystem: Marvell Technology Group Ltd. 88SE9128 IDE Controller
        Flags: bus master, fast devsel, latency 0, IRQ 18
        I/O ports at d040 [size=8]
        I/O ports at d030 [size=4]
        I/O ports at d020 [size=8]
        I/O ports at d010 [size=4]
        I/O ports at d000 [size=16]
        Memory at fea20000 (32-bit, non-prefetchable) [size=16]
        Expansion ROM at fea00000 [disabled] [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit-
        Capabilities: [70] Express Legacy Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Kernel driver in use: pata_marvell
        Kernel modules: pata_marvell

##########################################################
[ 1.225703] AMD-Vi: Event logged [IO_PAGE_FAULT device=02:00.1 domain=0x001d address=0x00000000001003c0 flags=0x0000]
<snip>
[ 6.207818] ata16.00: qc timeout (cmd 0xa1)
[ 6.215674] ata9.00: qc timeout (cmd 0xa1)
[ 6.215681] ata9.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 6.223640] ata24.00: qc timeout (cmd 0xa1)
[ 6.231606] ata17.00: qc timeout (cmd 0xec)
[ 6.231627] ata24.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 6.239574] ata17.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 6.343207] ata18.00: qc timeout (cmd 0xec)
[ 6.351204] ata18.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 6.534578] ata9: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 6.558489] ata24: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 6.709935] ata16.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 7.531002] ata16: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 11.588451] ata17: link is slow to respond, please be patient (ready=0)
[ 11.700054] ata18: link is slow to respond, please be patient (ready=0)
[ 16.219859] ata17: COMRESET failed (errno=-16)
[ 16.331454] ata18: COMRESET failed (errno=-16)
[ 16.498853] ata9.00: qc timeout (cmd 0xa1)
[ 16.498865] ata9.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 16.498870] ata9: limiting SATA link speed to 1.5 Gbps
[ 16.522792] ata24.00: qc timeout (cmd 0xa1)
[ 16.522804] ata24.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 16.522807] ata24: limiting SATA link speed to 1.5 Gbps
[ 16.817725] ata9: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 16.849613] ata24: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 17.495260] ata16.00: qc timeout (cmd 0xa1)
[ 17.997499] ata16.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 17.997504] ata16: limiting SATA link speed to 1.5 Gbps
[ 18.818556] ata16: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 21.568700] ata17: link is slow to respond, please be patient (ready=0)
[ 21.680300] ata18: link is slow to respond, please be patient (ready=0)
[ 26.200104] ata17: COMRESET failed (errno=-16)
[ 26.311693] ata18: COMRESET failed (errno=-16)
[ 31.548931] ata17: link is slow to respond, please be patient (ready=0)
[ 31.660534] ata18: link is slow to respond, please be patient (ready=0)
[ 46.710611] ata9.00: qc timeout (cmd 0xa1)
[ 46.710618] ata9.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 46.742498] ata24.00: qc timeout (cmd 0xa1)
[ 46.750464] ata24.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 47.029478] ata9: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 47.077301] ata24: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 48.711438] ata16.00: qc timeout (cmd 0xa1)
[ 49.213639] ata16.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 50.034704] ata16: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 61.122962] ata17: COMRESET failed (errno=-16)
[ 61.122971] ata17: limiting SATA link speed to 1.5 Gbps
[ 61.234560] ata18: COMRESET failed (errno=-16)
[ 61.234569] ata18: limiting SATA link speed to 3.0 Gbps
[ 66.137000] ata17: COMRESET failed (errno=-16)
[ 66.137009] ata17: reset failed, giving up
[ 66.248595] ata18: COMRESET failed (errno=-16)
[ 66.248603] ata18: reset failed, giving up
<snip>

-R C
---
ApportVersion: 2.6.1-0ubuntu6
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: zarquon 9636 F.... xfce4-volumed
                      zarquon 9639 F.... pulseaudio
 /dev/snd/controlC0: zarquon 9636 F.... xfce4-volumed
                      zarquon 9639 F.... pulseaudio
CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
DistroRelease: Ubuntu 12.10
IwConfig:
 ctn0 no wireless extensions.

 eth0 no wireless extensions.

 lo no wireless extensions.
MachineType: Gigabyte Technology Co., Ltd. To be filled by O.E.M.
MarkForUpload: True
NonfreeKernelModules: fglrx zfs zcommon zavl znvpair zunicode
Package: linux (not installed)
ProcFB:

ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-17-generic root=UUID=fa2f74cd-e56f-435d-93a2-6dfc3685d3de ro crashkernel=384M-2G:64M,2G-:128M quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.5.0-17.28-generic 3.5.5
RelatedPackageVersions:
 linux-restricted-modules-3.5.0-17-generic N/A
 linux-backports-modules-3.5.0-17-generic N/A
 linux-firmware 1.95
RfKill:

Tags: quantal
Uname: Linux 3.5.0-17-generic x86_64
UpgradeStatus: Upgraded to quantal on 2012-10-23 (51 days ago)
UserGroups: adm admin audio cdrom dialout disk lpadmin mythtv plugdev sambashare video
WpaSupplicantLog:

dmi.bios.date: 10/09/2012
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: F1
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: F2A85X-D3H
dmi.board.vendor: Gigabyte Technology Co., Ltd.
dmi.board.version: x.x
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrF1:bd10/09/2012:svnGigabyteTechnologyCo.,Ltd.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnGigabyteTechnologyCo.,Ltd.:rnF2A85X-D3H:rvrx.x:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvrToBeFilledByO.E.M.:
dmi.product.name: To be filled by O.E.M.
dmi.product.version: To be filled by O.E.M.
dmi.sys.vendor: Gigabyte Technology Co., Ltd.

Revision history for this message
Robert Cicconetti (grythumn) wrote :
Revision history for this message
Robert Cicconetti (grythumn) wrote :
Revision history for this message
Robert Cicconetti (grythumn) wrote :
Revision history for this message
Robert Cicconetti (grythumn) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
tags: added: quantal
Revision history for this message
penalvch (penalvch) wrote : Re: Marvell Sata controller and AMD-Vi problems

Robert Cicconetti, thank you for reporting this and helping make Ubuntu better. Please execute the following command, as it will automatically gather debugging information, in a terminal:
apport-collect 1089768
When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs.

As well, could you please test the latest upstream kernel available (v3.7-raring) following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Please do not test the kernel in the mainline kernels archive directory daily folder, but the one all the way at the bottom. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.7

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

If you are unable to test the mainline kernel, please comment as to why specifically you were unable to test it and add the following tags:
kernel-unable-to-test-upstream
kernel-unable-to-test-upstream-VERSION-NUMBER

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

Helpful bug reporting tips:
https://help.ubuntu.com/community/ReportingBugs

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
tags: added: needs-kernel-logs needs-upstream-testing
removed: iommu kernel-bug marvell sata
description: updated
Revision history for this message
Robert Cicconetti (grythumn) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected
description: updated
Revision history for this message
Robert Cicconetti (grythumn) wrote : BootDmesg.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : Lspci.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : Lsusb.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : ProcEnviron.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : ProcModules.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : PulseList.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : UdevDb.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : UdevLog.txt

apport information

Revision history for this message
Robert Cicconetti (grythumn) wrote : WifiSyslog.txt

apport information

tags: removed: apport-collected needs-upstream-testing
Revision history for this message
Robert Cicconetti (grythumn) wrote : Re: Marvell Sata controller and AMD-Vi problems

Okay, apport is run.

I've already tested against the latest mainline kernel archive, specifically 3.7.0-030700rc8-generic, and have previously attached kernel logs of 3.5 with iommu on and off in the bios, and 3.7 with iommu on.

Revision history for this message
penalvch (penalvch) wrote :

Robert Cicconetti, v3.7-raring is newer than 3.7.0-030700rc8-generic.

Revision history for this message
Robert Cicconetti (grythumn) wrote :

Oops, you're correct. Attached are dmesg from the (slightly) newer kernel; same result.

Revision history for this message
Robert Cicconetti (grythumn) wrote :

And iommu off, for good measure.

penalvch (penalvch)
tags: added: amd64 apport-collected kernel-bug-exists-upstream kernel-bug-exists-upstream-v3.7
removed: needs-kernel-logs
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
penalvch (penalvch) wrote :

Robert Cicconetti, could you please test http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8-rc4-raring/ ?

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: needs-upstream-testing
removed: kernel-bug-exists-upstream
Revision history for this message
Robert Cicconetti (grythumn) wrote :

Still broken, same error. I can supply a kernel log if strictly necessary, but it had the same error messages and warnings.

Revision history for this message
penalvch (penalvch) wrote :

Robert Cicconetti, thank you for testing the requested kernel. Could you please test http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8-rc6-raring/ ?

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Revision history for this message
MvW (2nv2u) wrote :

Even though I don't have the exact same hardware, the result I encounter is the same.

It seems to be getting fixed though, anyone know how to apply these patches and distribute them in a deb package?
https://bugzilla.kernel.org/show_bug.cgi?id=42679

Revision history for this message
penalvch (penalvch) wrote :

MvW, thank you for your comment. So your hardware and problem may be tracked, could you please file a new report with Ubuntu by executing the following in a terminal while booted into a Ubuntu repository kernel (not a mainline one) via:
ubuntu-bug linux

For more on this, please read the official Ubuntu documentation:
Ubuntu Bug Control and Ubuntu Bug Squad: https://wiki.ubuntu.com/Bugs/BestPractices#X.2BAC8-Reporting.Focus_on_One_Issue
Ubuntu Kernel Team: https://wiki.ubuntu.com/KernelTeam/KernelTeamBugPolicies#Filing_Kernel_Bug_reports
Ubuntu Community: https://help.ubuntu.com/community/ReportingBugs#Bug_reporting_etiquette

When opening up the new report, please feel free to subscribe me to it.

Thank you for your understanding.

Helpful bug reporting tips:
https://wiki.ubuntu.com/ReportingBugs

Revision history for this message
iMac (imac-netstatz) wrote :

Looks like there is a patch here: https://lkml.org/lkml/2013/3/7/582

Revision history for this message
iMac (imac-netstatz) wrote :
Revision history for this message
Steven Ellis (steven-openmedia) wrote :

This still appears to be an ongoing issue
 - AMD Athlon 200GE
 - Gigabyte GA-B450M-S2H board
 - Marvell 88SE9230 SATA Controller

If I boot the HWE 4.18.0-13-generic Kernel I get the errors reported above

If I boot with "amd_iommu=off" the drives appear to work correctly.

penalvch (penalvch)
Changed in linux (Ubuntu):
importance: Medium → Low
Revision history for this message
penalvch (penalvch) wrote :

Steven Ellis (steven-openmedia), it will help immensely if you use the computer the problem is reproducible with to provide necessary debugging logs by filing a new report in Ubuntu via a terminal:
ubuntu-bug linux

Please feel free to subscribe me to it.

summary: - Marvell Sata controller and AMD-Vi problems
+ When IOMMU enabled, devices attached to Marvell 88SE9128 controller not
+ recognized
penalvch (penalvch)
tags: added: bios-outdated-f3
Revision history for this message
Steven Ellis (steven-openmedia) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.