xref: /qemu/tests/qtest/intel-hda-test.c (revision dd210749727530cdef7c335040edbf81c3c5d041)
1fbaf445aSAndreas Färber /*
2fbaf445aSAndreas Färber  * QTest testcase for Intel HDA
3fbaf445aSAndreas Färber  *
4fbaf445aSAndreas Färber  * Copyright (c) 2014 SUSE LINUX Products GmbH
5fbaf445aSAndreas Färber  *
6fbaf445aSAndreas Färber  * This work is licensed under the terms of the GNU GPL, version 2 or later.
7fbaf445aSAndreas Färber  * See the COPYING file in the top-level directory.
8fbaf445aSAndreas Färber  */
9fbaf445aSAndreas Färber 
10fbaf445aSAndreas Färber #include "qemu/osdep.h"
11*dd210749SThomas Huth #include "libqtest-single.h"
12fbaf445aSAndreas Färber 
13fbaf445aSAndreas Färber #define HDA_ID "hda0"
14fbaf445aSAndreas Färber #define CODEC_DEVICES " -device hda-output,bus=" HDA_ID ".0" \
15fbaf445aSAndreas Färber                       " -device hda-micro,bus=" HDA_ID ".0" \
16fbaf445aSAndreas Färber                       " -device hda-duplex,bus=" HDA_ID ".0"
17fbaf445aSAndreas Färber 
18fbaf445aSAndreas Färber /* Tests only initialization so far. TODO: Replace with functional tests */
19fbaf445aSAndreas Färber static void ich6_test(void)
20fbaf445aSAndreas Färber {
21fbaf445aSAndreas Färber     qtest_start("-device intel-hda,id=" HDA_ID CODEC_DEVICES);
22fbaf445aSAndreas Färber     qtest_end();
23fbaf445aSAndreas Färber }
24fbaf445aSAndreas Färber 
25fbaf445aSAndreas Färber static void ich9_test(void)
26fbaf445aSAndreas Färber {
27fbaf445aSAndreas Färber     qtest_start("-machine q35 -device ich9-intel-hda,bus=pcie.0,addr=1b.0,id="
28fbaf445aSAndreas Färber                 HDA_ID CODEC_DEVICES);
29fbaf445aSAndreas Färber     qtest_end();
30fbaf445aSAndreas Färber }
31fbaf445aSAndreas Färber 
32fbaf445aSAndreas Färber int main(int argc, char **argv)
33fbaf445aSAndreas Färber {
34fbaf445aSAndreas Färber     g_test_init(&argc, &argv, NULL);
35fbaf445aSAndreas Färber     qtest_add_func("/intel-hda/ich6", ich6_test);
36fbaf445aSAndreas Färber     qtest_add_func("/intel-hda/ich9", ich9_test);
37fbaf445aSAndreas Färber 
389be38598SEduardo Habkost     return g_test_run();
39fbaf445aSAndreas Färber }
40