Re: ACPI display brightness control not detected

2017-07-17 Thread John Baldwin
On Sunday, June 18, 2017 01:41:56 PM Hans Petter Selasky wrote:
> Hi,
> 
> I've dumped the relevant ACPI tables below. Does anyone know why the 
> parsing of the ACPI DOD fails in acpi_video.c ?
> 
> Any patch suggestions?

First, do you know what error you get when it fails?  (I.e. what is the
status value from the ACPICA method)

-- 
John Baldwin
___
freebsd-acpi@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"


ACPI display brightness control not detected

2017-06-18 Thread Hans Petter Selasky

Hi,

I've dumped the relevant ACPI tables below. Does anyone know why the 
parsing of the ACPI DOD fails in acpi_video.c ?


Any patch suggestions?

--HPS

acpidump:


Scope (\_SB.PCI0.GFX0)
{
Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
{
DSEN = (Arg0 & 0x07)
If ((Arg0 & 0x03) == Zero)
{
If (CondRefOf (HDOS))
{
HDOS ()
}
}
}

Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
{
If (IMTP == One)
{
NDID = One
}
Else
{
NDID = Zero
}

If (DIDL != Zero)
{
DID1 = SDDL (DIDL)
}

If (DDL2 != Zero)
{
DID2 = SDDL (DDL2)
}

If (DDL3 != Zero)
{
DID3 = SDDL (DDL3)
}

If (DDL4 != Zero)
{
DID4 = SDDL (DDL4)
}

If (DDL5 != Zero)
{
DID5 = SDDL (DDL5)
}

If (DDL6 != Zero)
{
DID6 = SDDL (DDL6)
}

If (DDL7 != Zero)
{
DID7 = SDDL (DDL7)
}

If (DDL8 != Zero)
{
DID8 = SDDL (DDL8)
}

If (DDL9 != Zero)
{
DID9 = SDDL (DDL9)
}

If (DD10 != Zero)
{
DIDA = SDDL (DD10)
}

If (DD11 != Zero)
{
DIDB = SDDL (DD11)
}

If (DD12 != Zero)
{
DIDC = SDDL (DD12)
}

If (DD13 != Zero)
{
DIDD = SDDL (DD13)
}

If (DD14 != Zero)
{
DIDE = SDDL (DD14)
}

If (DD15 != Zero)
{
DIDF = SDDL (DD15)
}

If (NDID == One)
{
Name (TMP1, Package (0x01)
{
0x
})
If (IMTP == One)
{
TMP1 [Zero] = 0x0002CA00
}
Else
{
TMP1 [Zero] = (0x0001 | DID1)
}

Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */
}

If (NDID == 0x02)
{
Name (TMP2, Package (0x02)
{
0x, 
0x

})
TMP2 [Zero] = (0x0001 | DID1)
If (IMTP == One)
{
TMP2 [One] = 0x0002CA00
}
Else
{
TMP2 [One] = (0x0001 | DID2)
}

Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */
}

If (NDID == 0x03)
{
Name (TMP3, Package (0x03)
{
0x, 
0x, 
0x

})
TMP3 [Zero] = (0x0001 | DID1)
TMP3 [One] = (0x0001 | DID2)
If (IMTP == One)
{
TMP3 [0x02] = 0x0002CA00
}
Else
{
TMP3 [0x02] = (0x0001 | DID3)
}

Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */
}

If (NDID == 0x04)
{
Name (TMP4, Package (0x04)
{
0x, 
0x, 
0x, 
0x

})
TMP4 [Zero] = (0x0001 | DID1)
TMP4 [One] = (0x0001 | DID2)
TMP4 [0x02] = (0x0001 | DID3)
If (IMTP == One)
{
TMP4 [0x03] = 0x0002CA00
}
Else
{
TMP4 [0x03] = (0x0001 | DID4)
}

Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */
}

If (NDID == 0x05)
{
Name (TMP5, Package (0x05)
{
0x, 
0x, 
0x, 
0x, 
0x

})
TMP5 [Zero] = (0x0001 | DID1)
TMP5 [One] = (0x0001 | DID2)
TMP5 [0x02] = (0x0001 | DID3)
TMP5 [0x03] = (0x0001 | DID4)
If (IMTP == One)