All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.