<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pm24.git/drivers/gpu, branch v3.9-rc4</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kobert.dev/pm24.git/atom?h=v3.9-rc4</id>
<link rel='self' href='https://git.kobert.dev/pm24.git/atom?h=v3.9-rc4'/>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/'/>
<updated>2013-03-23T17:46:10Z</updated>
<entry>
<title>KMS: fix EDID detailed timing frame rate</title>
<updated>2013-03-23T17:46:10Z</updated>
<author>
<name>Torsten Duwe</name>
<email>torsten@lst.de</email>
</author>
<published>2013-03-23T14:39:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=c19b3b0f6eed552952845e4ad908dba2113d67b4'/>
<id>urn:sha1:c19b3b0f6eed552952845e4ad908dba2113d67b4</id>
<content type='text'>
When KMS has parsed an EDID "detailed timing", it leaves the frame rate
zeroed.  Consecutive (debug-) output of that mode thus yields 0 for
vsync.  This simple fix also speeds up future invocations of
drm_mode_vrefresh().

While it is debatable whether this qualifies as a -stable fix I'd apply
it for consistency's sake; drm_helper_probe_single_connector_modes()
does the same thing already for all probed modes.

Cc: stable@vger.kernel.org
Signed-off-by: Torsten Duwe &lt;duwe@lst.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>KMS: fix EDID detailed timing vsync parsing</title>
<updated>2013-03-23T17:46:10Z</updated>
<author>
<name>Torsten Duwe</name>
<email>torsten@lst.de</email>
</author>
<published>2013-03-23T14:38:22Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=16dad1d743d31a104a849c8944e6b9eb479f6cd7'/>
<id>urn:sha1:16dad1d743d31a104a849c8944e6b9eb479f6cd7</id>
<content type='text'>
EDID spreads some values across multiple bytes; bit-fiddling is needed
to retrieve these.  The current code to parse "detailed timings" has a
cut&amp;paste error that results in a vsync offset of at most 15 lines
instead of 63.

See

   http://en.wikipedia.org/wiki/EDID

and in the "EDID Detailed Timing Descriptor" see bytes 10+11 show why
that needs to be a left shift.

Cc: stable@vger.kernel.org
Signed-off-by: Torsten Duwe &lt;duwe@lst.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next</title>
<updated>2013-03-21T00:17:38Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-03-21T00:17:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=b56fb70870ad76f8295a4e826dab9a9fbb0033f6'/>
<id>urn:sha1:b56fb70870ad76f8295a4e826dab9a9fbb0033f6</id>
<content type='text'>
Daniel writes:
Bunch of fixes, all pretty high-priority
- Fix execbuf argument checking (Kees Cook)
- Optionally obfuscate kernel addresses in dumps (Kees Cook)
- Two patches from Takashi Iwai to fix DP link training regressions he's
  seen.
- intel-gfx is no longer subscribers-only (well, just no longer moderated
  in an annoying way for non-subscribers), update MAINTAINERS
- gm45 gmbus irq fallout fix (Jiri Kosina)

* 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
  drm/i915: stop using GMBUS IRQs on Gen4 chips
  MAINTAINERS: intel-gfx is no longer subscribers-only
  drm/i915: Use the fixed pixel clock for eDP in intel_dp_set_m_n()
  Revert "drm/i915: try to train DP even harder"
  drm/i915: bounds check execbuffer relocation count
  drm/i915: restrict kernel address leak in debugfs
</content>
</entry>
<entry>
<title>drm/mgag200: Bug fix: Modified pll algorithm for EH project</title>
<updated>2013-03-21T00:16:58Z</updated>
<author>
<name>Julia Lemire</name>
<email>jlemire@matrox.com</email>
</author>
<published>2013-03-18T14:17:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=260b3f1291a75a580d22ce8bfb1499c617272716'/>
<id>urn:sha1:260b3f1291a75a580d22ce8bfb1499c617272716</id>
<content type='text'>
While testing the mgag200 kms driver on the HP ProLiant Gen8, a
bug was seen.  Once the bootloader would load the selected kernel,
the screen would go black.  At first it was assumed that the
mgag200 kms driver was hanging.  But after setting up the grub
serial output, it was seen that the driver was being loaded
properly.  After trying serval monitors, one finaly displayed
the message "Frequency Out of Range".  By comparing the kms pll
algorithm with the previous mgag200 xorg driver pll algorithm,
discrepencies were found.  Once the kms pll algorithm was
modified, the expected pll values were produced.  This fix was
tested on several monitors of varying native resolutions.

Signed-off-by: Julia Lemire &lt;jlemire@matrox.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'drm-fixes-3.9' of git://people.freedesktop.org/~agd5f/linux into drm-next</title>
<updated>2013-03-20T06:27:05Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-03-20T06:27:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=236f651bf79ab7d521bdacf4753ddd0764334980'/>
<id>urn:sha1:236f651bf79ab7d521bdacf4753ddd0764334980</id>
<content type='text'>
Alex writes:
"Mostly just small bug fixes.  Big change is new pci ids
for Richland APUs."

* 'drm-fixes-3.9' of git://people.freedesktop.org/~agd5f/linux:
  drm/radeon: add Richland pci ids
  drm/radeon: add support for Richland APUs
  drm/radeon/benchmark: allow same domains for dma copy
  drm/radeon/benchmark: make sure bo blit copy exists before using it
  drm/radeon: fix backend map setup on 1 RB trinity boards
  drm/radeon: fix S/R on VM systems (cayman/TN/SI)
</content>
</entry>
<entry>
<title>Merge branch 'drm-nouveau-fixes-3.9' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next</title>
<updated>2013-03-20T06:10:18Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-03-20T06:10:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=cf9a625fae3d0ce8dffab53b2758d7c0cf4a5ad4'/>
<id>urn:sha1:cf9a625fae3d0ce8dffab53b2758d7c0cf4a5ad4</id>
<content type='text'>
Lots of thermal fixes and fix a lockdep warning we've been seeing.

* 'drm-nouveau-fixes-3.9' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
  drm/nv50/kms: prevent lockdep false-positive in page flipping path
  drm/nouveau/core: fix return value of nouveau_object_del()
  drm/nouveau/hwmon: do not expose a buggy temperature if it is unavailable
  drm/nouveau/therm: display the availability of the internal sensor
  drm/nouveau/therm: disable temperature management if the sensor isn't readable
  drm/nouveau/therm: disable auto fan management if temperature is not available
  drm/nv40/therm: reserve negative temperatures for errors
  drm/nv40/therm: disable temperature reading if the bios misses some parameters
  drm/nouveau/therm-ic: the temperature is off by sensor_constant, warn the user
  drm/nouveau/therm: remove some confusion introduced by therm_mode
  drm/nouveau/therm: do not make assumptions on temperature
  drm/nv40/therm: increase the sensor's settling delay to 20ms
  drm/nv40/therm: improve selection between the old and the new style
</content>
</entry>
<entry>
<title>drm/i915: stop using GMBUS IRQs on Gen4 chips</title>
<updated>2013-03-19T23:03:16Z</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2013-03-19T08:56:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=c12aba5aa0e60b7947bc8b6ea25ef55c4acf81a4'/>
<id>urn:sha1:c12aba5aa0e60b7947bc8b6ea25ef55c4acf81a4</id>
<content type='text'>
Commit 28c70f162 ("drm/i915: use the gmbus irq for waits") switched to
using GMBUS irqs instead of GPIO bit-banging for chipset generations 4
and above.

It turns out though that on many systems this leads to spurious interrupts
being generated, long after the register write to disable the IRQs has been
issued.

Typically this results in the spurious interrupt source getting
disabled:

[    9.636345] irq 16: nobody cared (try booting with the "irqpoll" option)
[    9.637915] Pid: 4157, comm: ifup Tainted: GF            3.9.0-rc2-00341-g0863702 #422
[    9.639484] Call Trace:
[    9.640731]  &lt;IRQ&gt;  [&lt;ffffffff8109b40d&gt;] __report_bad_irq+0x1d/0xc7
[    9.640731]  [&lt;ffffffff8109b7db&gt;] note_interrupt+0x15b/0x1e8
[    9.640731]  [&lt;ffffffff810999f7&gt;] handle_irq_event_percpu+0x1bf/0x214
[    9.640731]  [&lt;ffffffff81099a88&gt;] handle_irq_event+0x3c/0x5c
[    9.640731]  [&lt;ffffffff8109c139&gt;] handle_fasteoi_irq+0x7a/0xb0
[    9.640731]  [&lt;ffffffff8100400e&gt;] handle_irq+0x1a/0x24
[    9.640731]  [&lt;ffffffff81003d17&gt;] do_IRQ+0x48/0xaf
[    9.640731]  [&lt;ffffffff8142f1ea&gt;] common_interrupt+0x6a/0x6a
[    9.640731]  &lt;EOI&gt;  [&lt;ffffffff8142f952&gt;] ? system_call_fastpath+0x16/0x1b
[    9.640731] handlers:
[    9.640731] [&lt;ffffffffa000d771&gt;] usb_hcd_irq [usbcore]
[    9.640731] [&lt;ffffffffa0306189&gt;] yenta_interrupt [yenta_socket]
[    9.640731] Disabling IRQ #16

The really curious thing is now that irq 16 is _not_ the interrupt for
the i915 driver when using MSI, but it _is_ the interrupt when not
using MSI. So by all indications it seems like gmbus is able to
generate a legacy (shared) interrupt in MSI mode on some
configurations. I've tried to reproduce this and the differentiating
thing seems to be that on unaffected systems no other device uses irq
16 (which seems to be the non-MSI intel gfx interrupt on all gm45).

I have no idea how that even can happen.

To avoid tempting this elephant into a rage, just disable gmbus
interrupt support on gen 4.

v2: Improve the commit message with exact details of what's going on.
Also add a comment in the code to warn against this particular
elephant in the room.

v3: Move the comment explaing how gen4 blows up next to the definition
of HAS_GMBUS_IRQ to keep the code-flow straight. Suggested by Chris
Wilson.

Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt; (v1)
Acked-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
References: https://lkml.org/lkml/2013/3/8/325
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/nv50/kms: prevent lockdep false-positive in page flipping path</title>
<updated>2013-03-19T05:26:38Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2013-03-19T05:20:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=f60b6e7a6078ceae438a95b808be04cd98f9909a'/>
<id>urn:sha1:f60b6e7a6078ceae438a95b808be04cd98f9909a</id>
<content type='text'>
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/core: fix return value of nouveau_object_del()</title>
<updated>2013-03-19T05:26:30Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2013-03-18T23:57:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=4fa133954e91b83cfa22947579154c6f16e1b2b4'/>
<id>urn:sha1:4fa133954e91b83cfa22947579154c6f16e1b2b4</id>
<content type='text'>
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Use the fixed pixel clock for eDP in intel_dp_set_m_n()</title>
<updated>2013-03-18T10:25:36Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2013-03-18T10:25:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=9d1a455b0ca1c2c956b4d9ab212864a8695270f1'/>
<id>urn:sha1:9d1a455b0ca1c2c956b4d9ab212864a8695270f1</id>
<content type='text'>
The eDP output on HP Z1 is still broken when X is started even after
fixing the infinite link-train loop.  The regression was introduced in
3.6 kernel for cleaning up the mode clock handling code in intel_dp.c
by the commit [71244653: drm/i915: adjusted_mode-&gt;clock in the dp
mode_fix].

In the past, the clock of the reference mode was modified in
intel_dp_mode_fixup() in the case of eDP fixed clock, and this clock was
used for calculating in intel_dp_set_m_n().  This override was removed,
thus the wrong mode clock is used for the calculation, resulting in a
psychedelic smoking output in the end.

This patch corrects the clock to be used in the place.

v1-&gt;v2: Use intel_edp_target_clock() for checking eDP fixed clock
instead of open code as in ironlake_set_m_n().

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
</feed>
