[Intel-gfx] [PATCH drm-intel-nightly] drm/i915: Add a pipe A force quirk for Samsung NP530U3B-A01DE
Sedat Dilek
sedat.dilek at gmail.com
Thu Jan 31 13:24:07 CET 2013
IMPORTANT NOTE: *** This is just an experimental patch! ***
I fell over some "pipe A assertion" warnings while playing with drm-intel-nightly
and contacted Daniel Vetter via PM.
[ dmesg ]
[ 19.948476] WARNING: at drivers/gpu/drm/i915/intel_display.c:1228 assert_pipe+0xde/0xe0 [i915]()
[ 19.948476] Hardware name: 530U3BI/530U4BI/530U4BH
[ 19.948477] pipe A assertion failure (expected on, current off)
Waiting for a reply, I looked into the code myself and found this snippet and
reflected about adding a quirk_pipea_force for my Intel SandyBridge GPU:
static struct intel_quirk intel_quirks[] = {
/* HP Mini needs pipe A force quirk (LP: #322104) */
{ 0x27ae, 0x103c, 0x361a, quirk_pipea_force },
...
}
Unfortunately, it was not clear to me what each value of the triple means.
I started to investigate more in the logs:
[ Xorg.0.log ]
[ 16.421] (--) PCI:*(0:0:2:0) 8086:0116:144d:c0c7 rev 9, Mem @0xf0000000/4194304, 0xe0000000/268435456, I/O @ 0x00003000/64
This line gave me a 1st impression how my triple for a quirk line could look like!
Finally, Jani Nikula gave me some helpful explanations in [1]:
>I guess you figured it out, but just a few lines up there's [1]:
struct intel_quirk {
int device;
int subsystem_vendor;
int subsystem_device;
void (*hook)(struct drm_device *dev);
};
>where device, subsystem_vendor, and subsystem_device map to Device,
>SVendor, and SDevice of the gfx controller in 'lspci -vmnn' output.
With these informations, I checked immediately here with 'lspci -vmnn' [2]:
Device: 00:02.0
Class: VGA compatible controller [0300]
Vendor: Intel Corporation [8086]
Device: 2nd Generation Core Processor Family Integrated Graphics Controller [0116]
SVendor: Samsung Electronics Co Ltd [144d]
SDevice: Device [c0c7]
Rev: 09
[ Triple revealed (w/o brackets) ]
Device (here: [0116]), SVendor (here: [144d]) and SDevice (here: [c0c7])
As a conclusion, I added the below QUIRK and it was successful:
[ dmesg ]
[ 15.047921] [drm] applying pipe a force quirk
Daniel removed the "buggy" patch which introduced the warning for non-HSW GPUs.
v3 in commit 693101618a4b [3] should be the revised patch.
[ References ]
[1] http://lists.freedesktop.org/archives/intel-gfx/2013-January/024160.html
[2] http://lists.freedesktop.org/archives/intel-gfx/2013-January/024161.html
[3] http://cgit.freedesktop.org/~danvet/drm-intel/commit/?h=drm-intel-nightly&id=693101618a4beedf1b3d291860aee56c5fe44a1c
Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
Cc: Jani Nikula <jani.nikula at linux.intel.com>
Cc: intel-gfx <intel-gfx at lists.freedesktop.org>
Cc: DRI <dri-devel at lists.freedesktop.org>
Signed-off-by: Sedat Dilek <sedat.dilek at gmail.com>
---
drivers/gpu/drm/i915/intel_display.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 8c432a4..705fdb6 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8607,6 +8607,9 @@ static const struct intel_dmi_quirk intel_dmi_quirks[] = {
};
static struct intel_quirk intel_quirks[] = {
+ /* Samsung NP530U3B-A01DE needs pipe A force quirk */
+ { 0x0116, 0x144d, 0xc0c7, quirk_pipea_force },
+
/* HP Mini needs pipe A force quirk (LP: #322104) */
{ 0x27ae, 0x103c, 0x361a, quirk_pipea_force },
--
1.8.1.1
More information about the Intel-gfx
mailing list