blob: d9a5f5d52c06002131e7197a62fb81d473873b55 [file] [log] [blame]
Angel Pons3bd1e3d2020-04-05 15:47:17 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Duncan Laurie89960842015-11-21 18:40:19 -08002
3/* Audio Controller - Device 31, Function 3 */
4
5Device (HDAS)
6{
7 Name (_ADR, 0x001F0003)
8 Name (_DDN, "Audio Controller")
9 Name (UUID, ToUUID ("A69F886E-6CEB-4594-A41F-7B5DCE24C553"))
10
11 /* Device is D3 wake capable */
12 Name (_S0W, 3)
13
14 /* NHLT Table Address populated from GNVS values */
15 Name (NBUF, ResourceTemplate () {
16 QWordMemory (ResourceConsumer, PosDecode, MinFixed,
17 MaxFixed, NonCacheable, ReadOnly,
18 0, 0, 0, 0, 1,,, NHLT, AddressRangeACPI)
19 })
20
21 /*
22 * Device Specific Method
23 * Arg0 - UUID
24 * Arg1 - Revision
25 * Arg2 - Function Index
26 */
27 Method (_DSM, 4)
28 {
Elyes HAOUASfc29afb2020-10-09 15:05:28 +020029 If (Arg0 == ^UUID) {
Duncan Laurie89960842015-11-21 18:40:19 -080030 /*
31 * Function 0: Function Support Query
32 * Returns a bitmask of functions supported.
33 */
Elyes HAOUASfc29afb2020-10-09 15:05:28 +020034 If (Arg2 == 0) {
Duncan Laurie89960842015-11-21 18:40:19 -080035 /*
36 * NHLT Query only supported for revision 1 and
37 * if NHLT address and length are set in NVS.
38 */
Elyes HAOUASfc29afb2020-10-09 15:05:28 +020039 If ((Arg1 == 1) && (NHLA != 0) && (NHLL != 0)) {
Felix Singer7b8ac002022-12-26 08:45:56 +010040 Return (Buffer (1) { 0x03 })
Duncan Laurie89960842015-11-21 18:40:19 -080041 } Else {
Felix Singer7b8ac002022-12-26 08:45:56 +010042 Return (Buffer (1) { 0x01 })
Duncan Laurie89960842015-11-21 18:40:19 -080043 }
44 }
45
46 /*
47 * Function 1: Query NHLT memory address used by
48 * Intel Offload Engine Driver to discover any non-HDA
49 * devices that are supported by the DSP.
50 *
51 * Returns a pointer to NHLT table in memory.
52 */
Elyes HAOUASfc29afb2020-10-09 15:05:28 +020053 If (Arg2 == 1) {
Duncan Laurie89960842015-11-21 18:40:19 -080054 CreateQWordField (NBUF, ^NHLT._MIN, NBAS)
55 CreateQWordField (NBUF, ^NHLT._MAX, NMAS)
56 CreateQWordField (NBUF, ^NHLT._LEN, NLEN)
57
Elyes HAOUASfc29afb2020-10-09 15:05:28 +020058 NBAS = NHLA
59 NMAS = NHLA
60 NLEN = NHLL
Duncan Laurie89960842015-11-21 18:40:19 -080061
62 Return (NBUF)
63 }
64 }
65
Felix Singer7b8ac002022-12-26 08:45:56 +010066 Return (Buffer (1) { 0x00 })
Duncan Laurie89960842015-11-21 18:40:19 -080067 }
68}