Re: [Intel-gfx] [PATCH] pci: Add a few new IDs for Intel GPU "spurious interrupt" quirk

2018-10-10 Thread Thomas Jarosch
Hello together,

On Tuesday, 9 October 2018 19:01:58 CEST Bjorn Helgaas wrote:
> > > Do you happen to know if Windows has the same problem?  I.e., if you
> > > boot an old version of Windows with a new GPU, and unplug the VGA
> > > cable, does Windows crash?  If Windows can figure out how to handle
> > > that situation gracefully, Linux should be able to do it, too.
> > 
> > I suspect Windows cannot handle it too. Without the GPU awareness, the
> > interrupt line is simply on and no driver claims the devices and will
> > cause issues. I can test this.
> 
> If you could test this, that would be great.  I would be quite
> surprised if Windows crashed when you unplug the VGA cable.

[original patch author from 2012 chiming in here]

When doing a test on Windows, I guess it's vital to use a generic VGA / VESA 
driver. The Intel GPU driver will modify the interrupt configuration 
registers. Also at least I don't know if Windows has similar logic like Linux 
to disable spurious interrupts after XX unhandled interrupts.
Personally I'm unsure if the Windows test is worth the time.

Back in 2012 I tried to report this as a video BIOS bug via the Intel Open 
Source Technology Center. There was not much interest to report an issue to 
the BIOS developers. I have private emails from other people with similar 
problems on "Kenosha Pass" based boards. One of them talked to an actual Intel 
BIOS engineer in 2014, but still that didn't get anything fixed.

Regarding a generic fix: The problem is testing on real hardware.
Some Intel GPUs have different configuration registers. The Intel GPU driver 
could be used as template, but doing a fix without actual hardware to verify 
it is unsafe (=might mess up the system in unexpected ways).

Related ideas from Daniel Vetter in 2014:
https://lists.freedesktop.org/archives/intel-gfx/2014-August/050448.html

Cheers,
Thomas



___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH] PCI: Add another ID for Intel GPU "spurious interrupt" quirk

2014-08-08 Thread Thomas Jarosch
New Intel G3258 CPU, new MSI board, same problem:
The GPU interrupt fired like crazy on monitor unplug.

lspci output:
00:02.0 VGA compatible controller: Intel Corporation Device 0402 (rev 06)
Subsystem: Micro-Star International Co., Ltd. Device 7817
Flags: bus master, fast devsel, latency 0, IRQ 11

Signed-off-by: Thomas Jarosch 
Tested-by: Thomas Jarosch 
CC: sta...@vger.kernel.org  # v3.4+
---
 drivers/pci/quirks.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 80c2d01..d2ff39d 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2940,6 +2940,7 @@ static void disable_igfx_irq(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0102, disable_igfx_irq);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0402, disable_igfx_irq);
 
 /*
  * PCI devices which are on Intel chips can skip the 10ms delay
-- 
1.9.3

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [intel-gpu-tools PATCH] Fix out of bounds memory access

2013-01-06 Thread Thomas Jarosch
cppcheck reported:
[tools/intel_infoframes.c:836]: (error) Width 31 given in format string
(no. 1) is larger than destination buffer 'option[16]',
use %15s to prevent overflowing it.

Signed-off-by: Thomas Jarosch 
---
 tools/intel_infoframes.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/intel_infoframes.c b/tools/intel_infoframes.c
index 66351ac..09fdcb9 100644
--- a/tools/intel_infoframes.c
+++ b/tools/intel_infoframes.c
@@ -833,7 +833,7 @@ static void change_spd_infoframe(Transcoder transcoder, 
char *commands)
val = INREG(reg);
 
while (1) {
-   rc = sscanf(current, "%31s%n", option, &read);
+   rc = sscanf(current, "%15s%n", option, &read);
current = ¤t[read];
if (rc == EOF) {
break;
-- 
1.7.11.7

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx