xref: /OK3568_Linux_fs/kernel/include/sound/hda_hwdep.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * HWDEP Interface for HD-audio codec
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (c) 2007 Takashi Iwai <tiwai@suse.de>
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef __SOUND_HDA_HWDEP_H
9*4882a593Smuzhiyun #define __SOUND_HDA_HWDEP_H
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #define HDA_HWDEP_VERSION	((1 << 16) | (0 << 8) | (0 << 0)) /* 1.0.0 */
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun /* verb */
14*4882a593Smuzhiyun #define HDA_REG_NID_SHIFT	24
15*4882a593Smuzhiyun #define HDA_REG_VERB_SHIFT	8
16*4882a593Smuzhiyun #define HDA_REG_VAL_SHIFT	0
17*4882a593Smuzhiyun #define HDA_VERB(nid,verb,param)	((nid)<<24 | (verb)<<8 | (param))
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun struct hda_verb_ioctl {
20*4882a593Smuzhiyun 	u32 verb;	/* HDA_VERB() */
21*4882a593Smuzhiyun 	u32 res;	/* response */
22*4882a593Smuzhiyun };
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun /*
25*4882a593Smuzhiyun  * ioctls
26*4882a593Smuzhiyun  */
27*4882a593Smuzhiyun #define HDA_IOCTL_PVERSION		_IOR('H', 0x10, int)
28*4882a593Smuzhiyun #define HDA_IOCTL_VERB_WRITE		_IOWR('H', 0x11, struct hda_verb_ioctl)
29*4882a593Smuzhiyun #define HDA_IOCTL_GET_WCAP		_IOWR('H', 0x12, struct hda_verb_ioctl)
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun #endif
32