iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* AMD IOMMU: Please support Marvell 88SE91xx SATA Controllers
@ 2013-05-20 21:21 Manfred Schwarb
       [not found] ` <519A93F0.8070606-OI3hZJvNYWs@public.gmane.org>
  0 siblings, 1 reply; 14+ messages in thread
From: Manfred Schwarb @ 2013-05-20 21:21 UTC (permalink / raw)
  To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Andrew Cooks,
	Joerg Roedel

Hi,

I do own a Gigabyte GA-990FXA-UD5 main-board which comes with a
Marvell 88SE9172 SATA Controller [1b4b:9172].

Unfortunately, this controller only works when disabling IOMMU in the
BIOS settings, which is a pity.

Andrew Cooks did a patch for Intel IOMMU
[http://marc.info/?l=linux-kernel&m=136271019511044&w=4 , resp.
  http://lists.linuxfoundation.org/pipermail/iommu/2013-April/005462.html ],
which seems to work fine.


Is anybody working on this issue for the AMD part? I would be very grateful if such
support could be added to the linux kernel. I would be prepared to
test patches, if needed.

Thanks a lot,
Manfred

^ permalink raw reply	[flat|nested] 14+ messages in thread
* [PATCH] iommu/amd: Add quirk for broken Marvell 88SE91xx SATA
@ 2014-01-25  4:10 Mark Derbyshire
  0 siblings, 0 replies; 14+ messages in thread
From: Mark Derbyshire @ 2014-01-25  4:10 UTC (permalink / raw)
  To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA

Thomas Kuther writes:

> I have the same board (990FXA-UD5) and the same problem.
>
> Applied the patch (against 3.12.2) and dmesg reads:
> [    0.755642] AMD-Vi: Applying merge-fn quirk for device 0000:03:00.0
> [    0.755648] AMD-Vi: Applying merge-fn quirk for device 0000:09:00.0
>
> 03:00 is the SATA controller, 09:00 the eSATA one.
> ID's from `lscpi -nvvv` are identical to Manfred's.
>
> Also, the device works OK when passed through to a Qemu VM using
> vfio-pci, so basically it does work when IOMMU is enabled, just not
> on the host side.
>
> A fix would be great, I'm willing to test, too.

I have a GA-990FXA-UD3 board that fails similarly, although only the 
eSATA onboard controller is affected (Marvell 88SE9172). In my case the 
real device is 03:00.0, but the IO_PAGE_FAULTS come from 03:00.1. 
Unfortunately 03:00.1 does not appear in the ACPI tables.

The conceptual problem with the patch for the above scenario is while 
the alias table is set up to map 03:00.1 to 03:00.0, the code never 
writes a device table entry for 03:00.1, making this effectively a 
no-op. One way to get around this is to make 03:00.1 a device and 
reverse the mapping from 03:00.0 to 03:00.1. While this doesn't 
generalize to multiple functions, that isn't a problem for the devices 
we're trying to fix.

I'm not advocating this as the proper approach, but if the lines in the 
original patch:

		for (i = 1; i < 8; ++i)
			amd_iommu_alias_table[base_devid + i] = devid;

are changed to:

                amd_iommu_alias_table[devid] = base_devid + 1;
                set_dev_entry_from_acpi(amd_iommu_rlookup_table[devid], 
base_devid + 1, 0, 0);

my eSATA controller works fine on 3.12.6. I hope this helps in arriving 
at the correct solution.

Cheers,
Mark

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-01-25  4:10 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-20 21:21 AMD IOMMU: Please support Marvell 88SE91xx SATA Controllers Manfred Schwarb
     [not found] ` <519A93F0.8070606-OI3hZJvNYWs@public.gmane.org>
2013-05-21 20:35   ` Joerg Roedel
2013-06-24 13:02     ` Christoph Schwerdtfeger
     [not found]     ` <20130521203526.GE7424-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2013-07-03  8:53       ` Manfred Schwarb
     [not found]         ` <51D3E691.8030307-OI3hZJvNYWs@public.gmane.org>
2013-07-30 11:37           ` [PATCH] iommu/amd: Add quirk for broken Marvell 88SE91xx SATA Joerg Roedel
     [not found]             ` <20130730113659.GJ28811-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2013-07-31 15:07               ` Manfred Schwarb
     [not found]                 ` <51F92832.2070102-OI3hZJvNYWs@public.gmane.org>
2013-08-02  9:29                   ` Manfred Schwarb
     [not found]                     ` <51FB7C08.40708-OI3hZJvNYWs@public.gmane.org>
2013-08-02  9:43                       ` Joerg Roedel
     [not found]                         ` <20130802094326.GM28811-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2013-08-02 10:19                           ` Manfred Schwarb
2013-08-19  9:50                           ` Manfred Schwarb
2013-12-05 20:42                             ` Thomas Kuther
2013-07-30 11:39           ` AMD IOMMU: Please support Marvell 88SE91xx SATA Controllers Joerg Roedel
     [not found]             ` <20130730113954.GK28811-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2013-07-31 11:07               ` Andrew Cooks
  -- strict thread matches above, loose matches on Subject: below --
2014-01-25  4:10 [PATCH] iommu/amd: Add quirk for broken Marvell 88SE91xx SATA Mark Derbyshire

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).