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