* [PATCH 2.6.29-rc7 1/2] x86: fix iommu=nodac parameter handling
@ 2009-03-04 2:32 Tejun Heo
2009-03-04 2:39 ` [PATCH 2.6.29-rc7 2/2] x86: disallow DAC for MCP51 PCI bridge Tejun Heo
0 siblings, 1 reply; 6+ messages in thread
From: Tejun Heo @ 2009-03-04 2:32 UTC (permalink / raw)
To: Linux Kernel Mailing List, the arch/x86 maintainers,
Thomas Gleixner, H. Peter Anvin, Ingo Molnar, pgnet.trash
nodac should forbid dac not instead of enabling it. Fix it.
Signed-off-by: Tejun Heo <tj@kernel.org>
---
arch/x86/kernel/pci-dma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index b254285..69c7a8d 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -197,7 +197,7 @@ static __init int iommu_setup(char *p)
if (!strncmp(p, "allowdac", 8))
forbid_dac = 0;
if (!strncmp(p, "nodac", 5))
- forbid_dac = -1;
+ forbid_dac = 1;
if (!strncmp(p, "usedac", 6)) {
forbid_dac = -1;
return 1;
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2.6.29-rc7 2/2] x86: disallow DAC for MCP51 PCI bridge
2009-03-04 2:32 [PATCH 2.6.29-rc7 1/2] x86: fix iommu=nodac parameter handling Tejun Heo
@ 2009-03-04 2:39 ` Tejun Heo
2009-03-04 9:57 ` Alan Cox
0 siblings, 1 reply; 6+ messages in thread
From: Tejun Heo @ 2009-03-04 2:39 UTC (permalink / raw)
To: Linux Kernel Mailing List, the arch/x86 maintainers,
Thomas Gleixner, H. Peter Anvin, Ingo Molnar, pgnet.trash
MCP51 corrupts DAC transfers. Disallow it. Reported by pgnet on
bnc#463829.
https://bugzilla.novell.com/show_bug.cgi?id=463829
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: pgnet <pgnet.trash@gmail.com>
---
arch/x86/kernel/pci-dma.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index b254285..7b61798 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -296,4 +296,18 @@ static __devinit void via_no_dac(struct pci_dev *dev)
}
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac);
+
+/*
+ * MCP51 PCI bridge corrupts data for DAC. Disable it. Reported in
+ * bnc#463829.
+ */
+static __devinit void mcp51_no_dac(struct pci_dev *dev)
+{
+ if (forbid_dac == 0) {
+ printk(KERN_INFO
+ "PCI: MCP51 PCI bridge detected. Disabling DAC.\n");
+ forbid_dac = 1;
+ }
+}
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x026f, mcp51_no_dac);
#endif
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2.6.29-rc7 2/2] x86: disallow DAC for MCP51 PCI bridge
2009-03-04 2:39 ` [PATCH 2.6.29-rc7 2/2] x86: disallow DAC for MCP51 PCI bridge Tejun Heo
@ 2009-03-04 9:57 ` Alan Cox
2009-03-04 10:11 ` Tejun Heo
0 siblings, 1 reply; 6+ messages in thread
From: Alan Cox @ 2009-03-04 9:57 UTC (permalink / raw)
To: Tejun Heo
Cc: Linux Kernel Mailing List, the arch/x86 maintainers,
Thomas Gleixner, H. Peter Anvin, Ingo Molnar, pgnet.trash
On Wed, 04 Mar 2009 11:39:15 +0900
Tejun Heo <tj@kernel.org> wrote:
> MCP51 corrupts DAC transfers. Disallow it. Reported by pgnet on
> bnc#463829.
So you have a single piece of evidence as I read it - from a single
board that represents system with a very common chipset and no supporting
errata information from the vendor.
That bug could easily be a faulty motherboard or dodgy connector or a
specific hardware compatibility issue between two specific components. I
don't think that can be considered sufficient evidence for adding
sledgehammer sized workarounds that harm everyone elses performance and
cripples such systems for certain kinds of work (eg video)
Insufficient evidence and google searches and other bug searches don't
seem to be turning up any parallel cases so for the moment At the very
least someone needs to reproduce the hardware configuration and see the
same problem, and then repeat with a different DAC enabled card.
I don't believe this patch should go in ... yet. More information/testing
is needed.
Alan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2.6.29-rc7 2/2] x86: disallow DAC for MCP51 PCI bridge
2009-03-04 9:57 ` Alan Cox
@ 2009-03-04 10:11 ` Tejun Heo
2009-03-04 13:29 ` Alan Cox
0 siblings, 1 reply; 6+ messages in thread
From: Tejun Heo @ 2009-03-04 10:11 UTC (permalink / raw)
To: Alan Cox
Cc: Linux Kernel Mailing List, the arch/x86 maintainers,
Thomas Gleixner, H. Peter Anvin, Ingo Molnar, pgnet.trash
Alan Cox wrote:
> On Wed, 04 Mar 2009 11:39:15 +0900
> Tejun Heo <tj@kernel.org> wrote:
>
>> MCP51 corrupts DAC transfers. Disallow it. Reported by pgnet on
>> bnc#463829.
>
> So you have a single piece of evidence as I read it - from a single
> board that represents system with a very common chipset and no supporting
> errata information from the vendor.
>
> That bug could easily be a faulty motherboard or dodgy connector or a
> specific hardware compatibility issue between two specific components. I
> don't think that can be considered sufficient evidence for adding
> sledgehammer sized workarounds that harm everyone elses performance and
> cripples such systems for certain kinds of work (eg video)
>
> Insufficient evidence and google searches and other bug searches don't
> seem to be turning up any parallel cases so for the moment At the very
> least someone needs to reproduce the hardware configuration and see the
> same problem, and then repeat with a different DAC enabled card.
>
> I don't believe this patch should go in ... yet. More information/testing
> is needed.
x86 is blacklisting DAC for everything VIA. :-)
* MCP51 is a very old chipset at this point (it's circa 2005). Not
many machine would be running with >4GB memory to begin with.
* Given the above and scarcity of DAC on most end user machines
(nothing on MCP51 does DAC by default), lack of reports isn't too
surprising.
* The board doesn't have a 64bit connector. It can't be dodgy
connector and sil24 is known to behave well with DAC. The failure
being specific to the particular machine doesn't seem likely.
I'll ping nvidia about it but I think your bar is too high.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2.6.29-rc7 2/2] x86: disallow DAC for MCP51 PCI bridge
2009-03-04 10:11 ` Tejun Heo
@ 2009-03-04 13:29 ` Alan Cox
2009-03-04 13:36 ` Tejun Heo
0 siblings, 1 reply; 6+ messages in thread
From: Alan Cox @ 2009-03-04 13:29 UTC (permalink / raw)
To: Tejun Heo
Cc: Linux Kernel Mailing List, the arch/x86 maintainers,
Thomas Gleixner, H. Peter Anvin, Ingo Molnar, pgnet.trash
> x86 is blacklisting DAC for everything VIA. :-)
I'd assume that comes from published docs given VIA actually publish
stuff if you ask nicely.
>
> * MCP51 is a very old chipset at this point (it's circa 2005). Not
> many machine would be running with >4GB memory to begin with.
>
> * Given the above and scarcity of DAC on most end user machines
> (nothing on MCP51 does DAC by default), lack of reports isn't too
> surprising.
>
> * The board doesn't have a 64bit connector. It can't be dodgy
> connector and sil24 is known to behave well with DAC. The failure
> being specific to the particular machine doesn't seem likely.
>
> I'll ping nvidia about it but I think your bar is too high.
I don't think wanting to see *two* examples is a high bar.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2.6.29-rc7 2/2] x86: disallow DAC for MCP51 PCI bridge
2009-03-04 13:29 ` Alan Cox
@ 2009-03-04 13:36 ` Tejun Heo
0 siblings, 0 replies; 6+ messages in thread
From: Tejun Heo @ 2009-03-04 13:36 UTC (permalink / raw)
To: Alan Cox
Cc: Linux Kernel Mailing List, the arch/x86 maintainers,
Thomas Gleixner, H. Peter Anvin, Ingo Molnar, pgnet.trash
Alan Cox wrote:
>> x86 is blacklisting DAC for everything VIA. :-)
>
> I'd assume that comes from published docs given VIA actually publish
> stuff if you ask nicely.
Dunno the history but it's from the time before VIA begins publishing.
It's probably worthwhile to refine the blacklisting.
>> * MCP51 is a very old chipset at this point (it's circa 2005). Not
>> many machine would be running with >4GB memory to begin with.
>>
>> * Given the above and scarcity of DAC on most end user machines
>> (nothing on MCP51 does DAC by default), lack of reports isn't too
>> surprising.
>>
>> * The board doesn't have a 64bit connector. It can't be dodgy
>> connector and sil24 is known to behave well with DAC. The failure
>> being specific to the particular machine doesn't seem likely.
>>
>> I'll ping nvidia about it but I think your bar is too high.
>
> I don't think wanting to see *two* examples is a high bar.
I don't think it's an easy combination. Circa 2005 desktop machine
with >4GB ram + DAC capable controller running Linux with owner who
will report seemingly random data corruption which will end up in the
correct hands and given that non-working DAC isn't too surprising of
the machines of that time and isn't very likely caused by random
component or connection failure, I think we'll be better off just
blacklisting it. That said, I admit I'm more trigger happy with
blacklists than some people (I think it's generally better to have
working systems than chasing performance on not-so-common cases).
Anyways, I pinged Peer Chen on the issue. Let's see whether he can
confirm it.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-03-04 13:37 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-04 2:32 [PATCH 2.6.29-rc7 1/2] x86: fix iommu=nodac parameter handling Tejun Heo
2009-03-04 2:39 ` [PATCH 2.6.29-rc7 2/2] x86: disallow DAC for MCP51 PCI bridge Tejun Heo
2009-03-04 9:57 ` Alan Cox
2009-03-04 10:11 ` Tejun Heo
2009-03-04 13:29 ` Alan Cox
2009-03-04 13:36 ` Tejun Heo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox