Description:

I have a lot of storage devices (10 HDD, 2 SSD) in my devbox, some of them attached to Adaptec 6805, some to Syba SD-PEX40054. All was good until I decided to attach a GPU device to a virtual machine. 'intel_iommu=on' kernel parameter caused faults on SATA links:

[ 17.908407] ata14.00: qc timeout (cmd 0xa1)
[ 17.910935] ata14.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 17.912276] ata14: limiting SATA link speed to 1.5 Gbps
[ 18.219077] ata14: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 48.134607] ata14.00: qc timeout (cmd 0xa1)
[ 48.137508] ata14.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 48.444646] ata14: SATA link up 1.5 Gbps (SStatus 113 SControl 310)

Quick search brought me to https://bugzilla.redhat.com/show_bug.cgi?id=649766#c2. Now these settings allow to boot my devbox up and use the GPU inside the virtual machine (for confident I burned the GPU with help of pyrit):

# kernel parameters
intel_iommu=on iommu=pt

# /etc/modprobe.d/iommu_unsafe_interrupts.conf
options vfio_iommu_type1 allow_unsafe_interrupts=1

BTW. It fixes my previous post :)