From: Pat Erley <pat-lkml-Jx9fsTfDDR3YtjvyW6yDsg@public.gmane.org>
To: Andrew Cooks <acooks-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: open-PxS6QbICe4xqbv67lBd7PQ@public.gmane.org,
PCI SUBSYSTEM <linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"open list:INTEL IOMMU (VT-d)"
<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
open list <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
list-PxS6QbICe4xqbv67lBd7PQ@public.gmane.org,
jpiszcz-BP4nVm5VUdNhbmWW9KSYcQ@public.gmane.org,
gaudenz-Pp/UeI/YXckUgOneFgkt3A@public.gmane.org,
"Bjorn Helgaas (supporter:PCI SUBSYSTEM)"
<bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
"David Woodhouse (supporter:INTEL IOMMU (VT-d))"
<dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Subject: Re: [PATCH v4] Quirk for buggy dma source tags with Intel IOMMU.
Date: Tue, 02 Apr 2013 03:36:53 -0400 [thread overview]
Message-ID: <515A8A95.1080806@erley.org> (raw)
In-Reply-To: <1362710133-25168-1-git-send-email-acooks-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
On 03/07/2013 09:35 PM, Andrew Cooks wrote:
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> +/* Table of multiple (ghost) source functions. This is similar to the
> + * translated sources above, but with the following differences:
> + * 1. the device may use multiple functions as DMA sources,
> + * 2. these functions cannot be assumed to be actual devices, they're simply
> + * incorrect DMA tags.
> + * 3. the specific ghost function for a request can not always be predicted.
> + * For example, the actual device could be xx:yy.1 and it could use
> + * both 0 and 1 for different requests, with no obvious way to tell when
> + * DMA will be tagged as comming from xx.yy.0 and and when it will be tagged
> + * as comming from xx.yy.1.
> + * The bitmap contains all of the functions used in DMA tags, including the
> + * actual device.
> + * See https://bugzilla.redhat.com/show_bug.cgi?id=757166,
> + * https://bugzilla.kernel.org/show_bug.cgi?id=42679
> + * https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1089768
> + */
> +static const struct pci_dev_dma_multi_func_sources {
> + u16 vendor;
> + u16 device;
> + u8 func_map; /* bit map. lsb is fn 0. */
> +} pci_dev_dma_multi_func_sources[] = {
> + { PCI_VENDOR_ID_MARVELL_2, 0x9123, (1<<0)|(1<<1)},
> + { PCI_VENDOR_ID_MARVELL_2, 0x9125, (1<<0)|(1<<1)},
> + { PCI_VENDOR_ID_MARVELL_2, 0x9128, (1<<0)|(1<<1)},
> + { PCI_VENDOR_ID_MARVELL_2, 0x9130, (1<<0)|(1<<1)},
> + { PCI_VENDOR_ID_MARVELL_2, 0x9143, (1<<0)|(1<<1)},
> + { PCI_VENDOR_ID_MARVELL_2, 0x9172, (1<<0)|(1<<1)},
> + { 0 }
> +};
Adding another buggy device. I have a Ricoh multifunction device:
17:00.0 SD Host controller: Ricoh Co Ltd MMC/SD Host Controller (rev 01)
17:00.3 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 PCIe IEEE 1394
Controller (rev 01)
17:00.0 0805: 1180:e822 (rev 01)
17:00.3 0c00: 1180:e832 (rev 01)
that adding entries for also fixed booting. I don't have any SD cards
or firewire devices handy to test that they work, but the system now
boots, which was not the case without your patch and IOMMU/DMAR enabled.
Here's a previous patch used for similar hardware that may also be
fixed by this:
http://lists.fedoraproject.org/pipermail/scm-commits/2010-October/510785.html
and another thread/bug report this may solve:
https://bugzilla.redhat.com/show_bug.cgi?id=605888
Feel free to include me in any future iterations of this patch you'd
like tested.
Tested-By: Pat Erley <pat-lkml-Jx9fsTfDDR3YtjvyW6yDsg@public.gmane.org>
next prev parent reply other threads:[~2013-04-02 7:36 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-08 2:35 [PATCH v4] Quirk for buggy dma source tags with Intel IOMMU Andrew Cooks
2013-03-08 2:35 ` Andrew Cooks
[not found] ` <1362710133-25168-1-git-send-email-acooks-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-03-08 11:43 ` Gaudenz Steinlin
2013-03-08 11:43 ` Gaudenz Steinlin
2013-03-09 5:07 ` Andrew Cooks
2013-04-02 7:36 ` Pat Erley [this message]
[not found] ` <515A8A95.1080806-Jx9fsTfDDR3YtjvyW6yDsg@public.gmane.org>
2013-04-02 14:50 ` Andrew Cooks
2013-04-02 15:47 ` Pat Erley
[not found] ` <515AFDAF.2020604-Jx9fsTfDDR3YtjvyW6yDsg@public.gmane.org>
2013-04-02 17:25 ` Pat Erley
2013-04-02 17:25 ` Pat Erley
2013-04-04 18:16 ` Bjorn Helgaas
2013-04-04 18:16 ` Bjorn Helgaas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=515A8A95.1080806@erley.org \
--to=pat-lkml-jx9fstfddr3ytjvyw6ydsg@public.gmane.org \
--cc=acooks-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=gaudenz-Pp/UeI/YXckUgOneFgkt3A@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=jpiszcz-BP4nVm5VUdNhbmWW9KSYcQ@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=list-PxS6QbICe4xqbv67lBd7PQ@public.gmane.org \
--cc=open-PxS6QbICe4xqbv67lBd7PQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.