hybrid-graphics-linux team mailing list archive
-
hybrid-graphics-linux team
-
Mailing list archive
-
Message #01284
Dell XPS-15 L502X. 2.6.39:nouveau_acpi.c detects switch, but I doubt it has one
Hello!
If I load the nouveau driver it detects my having a the DSM switching method.
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Pwr:0000:01:00.0
echo DIS > switch - freezes display
echo IGD > switch - unfreezes display
nouveau_dsm(dhandle, NOUVEAU_DSM_SUPPORTED, NOUVEAU_DSM_SUPPORTED_FUNCTIONS,
&result)
returns 0, but the two _DSM methods (attached at bottom of email) doesn't seem
to handle it at all.
[ 1073.905428] PM: Adding info for No Bus:ttm
[ 1073.917553] VGA switcheroo: detected DSM switching method
\_SB_.PCI0.PEG0.PEGP handle
[ 1073.917575] nouveau 0000:01:00.0: power state changed by ACPI to D0
[ 1073.917578] nouveau 0000:01:00.0: power state changed by ACPI to D0
[ 1073.917582] nouveau 0000:01:00.0: enabling device (0006 -> 0007)
[ 1073.917589] nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ
16
[ 1073.917594] nouveau 0000:01:00.0: setting latency timer to 64
[ 1073.917659] PM: Adding info for No Bus:controlD65
[ 1073.917710] PM: Adding info for No Bus:card1
[ 1073.918942] [drm] nouveau 0000:01:00.0: Detected an NVc0 generation card
(0x0c1a80a1)
[ 1073.922252] vga_switcheroo: enabled
[ 1073.922268] [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from
PRAMIN
[ 1073.931971] [drm] nouveau 0000:01:00.0: ... BIOS signature not found
[ 1073.931972] [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from
PROM
[ 1073.931983] [drm] nouveau 0000:01:00.0: ... BIOS signature not found
[ 1073.931985] [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from
PCIROM
[ 1073.941752] nouveau 0000:01:00.0: Invalid ROM contents
[ 1073.941786] [drm] nouveau 0000:01:00.0: ... BIOS signature not found
[ 1073.941788] [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from
ACPI
[ 1075.168107] [drm] nouveau 0000:01:00.0: ... appears to be valid
[ 1075.168110] [drm] nouveau 0000:01:00.0: BIT BIOS found
[ 1075.168113] [drm] nouveau 0000:01:00.0: Bios version 70.08.53.00
[ 1075.168114] [drm] nouveau 0000:01:00.0: Pointer to BIT loadval table
invalid
[ 1075.168117] [drm] nouveau 0000:01:00.0: TMDS table version 2.0
[ 1075.168119] [drm] nouveau 0000:01:00.0: Found Display Configuration Block
version 4.0
[ 1075.168121] [drm] nouveau 0000:01:00.0: Raw DCB entry 0: 02014300 00000000
[ 1075.168123] [drm] nouveau 0000:01:00.0: Raw DCB entry 1: 02021362 00020010
[ 1075.168125] [drm] nouveau 0000:01:00.0: Raw DCB entry 2: 0000000e 00000000
[ 1075.168127] [drm] nouveau 0000:01:00.0: DCB connector table: VHER 0x40 5 16
4
[ 1075.168130] [drm] nouveau 0000:01:00.0: 0: 0x00000340: type 0x40 idx 0
tag 0xff
[ 1075.168132] [drm] nouveau 0000:01:00.0: 1: 0x00001061: type 0x61 idx 1
tag 0x07
[ 1075.168134] [drm] nouveau 0000:01:00.0: 2: 0x00000147: type 0x47 idx 2
tag 0xff
[ 1075.168136] [drm] nouveau 0000:01:00.0: 3: 0x00002346: type 0x46 idx 3
tag 0x08
[ 1075.168138] [drm] nouveau 0000:01:00.0: 4: 0x00000400: type 0x00 idx 4
tag 0xff
[ 1075.168140] [drm] nouveau 0000:01:00.0: 5: 0x00000210: type 0x10 idx 5
tag 0xff
[ 1075.168142] [drm] nouveau 0000:01:00.0: 6: 0x00000211: type 0x11 idx 6
tag 0xff
[ 1075.168144] [drm] nouveau 0000:01:00.0: 7: 0x00000213: type 0x13 idx 7
tag 0xff
[ 1075.168158] [drm] nouveau 0000:01:00.0: Adaptor not initialised, running
VBIOS init tables.
[ 1075.168160] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 0 at
offset 0xD5D7
[ 1075.188401] PM: Adding info for i2c:i2c-10
[ 1075.192354] [drm] nouveau 0000:01:00.0: 0xD581: i2c wr fail: -6
[ 1075.232816] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 1 at
offset 0xDC33
[ 1075.259850] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 2 at
offset 0xEE39
[ 1075.259855] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 3 at
offset 0xEE3D
[ 1075.259910] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 4 at
offset 0xEF25
[ 1075.259912] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table at offset
0xEF8A
[ 1075.298760] [drm] nouveau 0000:01:00.0: 3 available performance level(s)
[ 1075.298763] [drm] nouveau 0000:01:00.0: 0: memory 135MHz core 270MHz shader
540MHz voltage 850mV
[ 1075.298766] [drm] nouveau 0000:01:00.0: 1: memory 405MHz core 270MHz shader
810MHz voltage 850mV
[ 1075.298769] [drm] nouveau 0000:01:00.0: 3: memory 405MHz core 960MHz shader
1200MHz voltage 950mV
[ 1075.298861] [TTM] Zone kernel: Available graphics memory: 4083254 kiB.
[ 1075.298863] [TTM] Zone dma32: Available graphics memory: 2097152 kiB.
[ 1075.298864] [TTM] Initializing pool allocator.
[ 1075.298876] [drm] nouveau 0000:01:00.0: Detected 512MiB VRAM
[ 1075.303257] [drm] nouveau 0000:01:00.0: 512 MiB GART (aperture)
[ 1075.303265] [drm] nouveau 0000:01:00.0: PGRAPH: unsupported chipset, please
report!
[ 1075.303408] [drm] nouveau 0000:01:00.0: PGRAPH: unknown config: 2/0/0/0, 1
[ 1075.303462] PM: Adding info for No Bus:0000:01:00.0
[ 1075.304369] PM: Removing info for No Bus:0000:01:00.0
[ 1075.304393] [drm] nouveau 0000:01:00.0: failed to load fuc409d
[ 1075.311512] PM: Adding info for No Bus:card1-VGA-2
[ 1075.311550] PM: Adding info for No Bus:card1-HDMI-A-2
[ 1075.312121] PM: Adding info for i2c:i2c-11
[ 1075.312770] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 1075.312772] [drm] No driver support for vblank timestamp query.
[ 1075.312800] PM: Adding info for i2c:i2c-12
[ 1075.367384] [drm] nouveau 0000:01:00.0: allocated 1024x768 fb: 0x8020000,
bo ffff88022a23f400
[ 1075.367415] PM: Adding info for No Bus:fb1
[ 1075.367432] fb1: nouveaufb frame buffer device
[ 1075.367436] [drm] Initialized nouveau 0.0.16 20090420 for 0000:01:00.0 on
minor 1
=== DSDT.dsl
Method (_DSM, 4, NotSerialized)
{
If (And (BRID, One))
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xF8, 0xD8, 0x86, 0xA4, 0xDA, 0x0B,
0x1B, 0x47,
/* 0008 */ 0xA7, 0x2B, 0x60, 0x42, 0xA6, 0xB5,
0xBE, 0xE0
}))
{
P8XH (Zero, 0xF5)
Return (NVOP)
Arg0
Arg1
Arg2
Arg3
}
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x75, 0x0B, 0xA5, 0xD4, 0xC7, 0x65,
0xF7, 0x46,
/* 0008 */ 0xBF, 0xB7, 0x41, 0x51, 0x4C, 0xEA,
0x02, 0x44
}))
{
Return (NV3D (Arg0, Arg1, Arg2, Arg3))
}
}
Else
{
Return (0x80000002)
}
}
=== SSDT2.dsl
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xD3, 0x73, 0xD8, 0x7E, 0xD0, 0xC2, 0x4F,
0x4E,
/* 0008 */ 0xA8, 0x54, 0x0F, 0x13, 0x17, 0xB0, 0x1C,
0x2C
}))
{
Return (One)
}
Else
{
Return (\_SB.PCI0.PEG0.PEGP._DSM)
Arg0
Arg1
Arg2
Arg3
}
}