summaryrefslogtreecommitdiff
path: root/util/autoport/log_reader.go
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2019-06-29 14:06:30 +0800
committerIru Cai <mytbk920423@gmail.com>2020-09-16 01:06:28 +0800
commitc0f83ccd3de0a99834ba6d58e2b1e7347950f196 (patch)
treeb7a7293f9d6ce5e85f37bde0d6260a5e8f216dce /util/autoport/log_reader.go
parentb34aa0de427fa819e0bf70558739e35d35da946a (diff)
downloadcoreboot-c0f83ccd3de0a99834ba6d58e2b1e7347950f196.tar.xz
autoport: search for the HDA device on PCH
Haswell has its Mini-HD device and is at card0, so we need to search for the PCH HD Audio device instead of using card0. Change-Id: I2bc420fdbe9731ae835f63add85db79f04201da4 Signed-off-by: Iru Cai <mytbk920423@gmail.com>
Diffstat (limited to 'util/autoport/log_reader.go')
-rw-r--r--util/autoport/log_reader.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/util/autoport/log_reader.go b/util/autoport/log_reader.go
index 0aaf6a9db3..b144804c28 100644
--- a/util/autoport/log_reader.go
+++ b/util/autoport/log_reader.go
@@ -251,6 +251,18 @@ func (l *LogDevReader) GetDMI() (ret DMIData) {
}
func (l *LogDevReader) GetAzaliaCodecs() (ret []AzaliaCodec) {
+ cardno := -1
+ for i := 0; i < 10; i++ {
+ pin, err := os.Open(l.InputDirectory + "/pin_hwC" + strconv.Itoa(i) + "D0")
+ if err == nil {
+ pin.Close()
+ cardno = i
+ break
+ }
+ }
+ if cardno == -1 {
+ return
+ }
for codecno := 0; codecno < 10; codecno++ {
cur := AzaliaCodec{CodecNo: codecno, PinConfig: map[int]uint32{}}
codec, err := os.Open(l.InputDirectory + "/codec#" + strconv.Itoa(codecno))
@@ -258,7 +270,8 @@ func (l *LogDevReader) GetAzaliaCodecs() (ret []AzaliaCodec) {
continue
}
defer codec.Close()
- pin, err := os.Open(l.InputDirectory + "/pin_hwC0D" + strconv.Itoa(codecno))
+ pin, err := os.Open(l.InputDirectory + "/pin_hwC" + strconv.Itoa(cardno) +
+ "D" + strconv.Itoa(codecno))
if err != nil {
continue
}