亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hda_codec.h

?? 一個Linux下的軟貓驅動
?? H
?? 第 1 頁 / 共 2 頁
字號:
	AC_JACK_CONN_DIN,	AC_JACK_CONN_XLR,	AC_JACK_CONN_RJ11,	AC_JACK_CONN_COMB,	AC_JACK_CONN_OTHER = 0xf,};/* jack colors (0x0-0xf) */enum {	AC_JACK_COLOR_UNKNOWN,	AC_JACK_COLOR_BLACK,	AC_JACK_COLOR_GREY,	AC_JACK_COLOR_BLUE,	AC_JACK_COLOR_GREEN,	AC_JACK_COLOR_RED,	AC_JACK_COLOR_ORANGE,	AC_JACK_COLOR_YELLOW,	AC_JACK_COLOR_PURPLE,	AC_JACK_COLOR_PINK,	AC_JACK_COLOR_WHITE = 0xe,	AC_JACK_COLOR_OTHER,};/* Jack location (0x0-0x3f) *//* common case */enum {	AC_JACK_LOC_NONE,	AC_JACK_LOC_REAR,	AC_JACK_LOC_FRONT,	AC_JACK_LOC_LEFT,	AC_JACK_LOC_RIGHT,	AC_JACK_LOC_TOP,	AC_JACK_LOC_BOTTOM,};/* bits 4-5 */enum {	AC_JACK_LOC_EXTERNAL = 0x00,	AC_JACK_LOC_INTERNAL = 0x10,	AC_JACK_LOC_SEPARATE = 0x20,	AC_JACK_LOC_OTHER    = 0x30,};enum {	/* external on primary chasis */	AC_JACK_LOC_REAR_PANEL = 0x07,	AC_JACK_LOC_DRIVE_BAY,	/* internal */	AC_JACK_LOC_RISER = 0x17,	AC_JACK_LOC_HDMI,	AC_JACK_LOC_ATAPI,	/* others */	AC_JACK_LOC_MOBILE_IN = 0x37,	AC_JACK_LOC_MOBILE_OUT,};/* Port connectivity (0-3) */enum {	AC_JACK_PORT_COMPLEX,	AC_JACK_PORT_NONE,	AC_JACK_PORT_FIXED,	AC_JACK_PORT_BOTH,};/* max. connections to a widget */#define HDA_MAX_CONNECTIONS	16/* max. codec address */#define HDA_MAX_CODEC_ADDRESS	0x0f/* * Structures */struct hda_bus;struct hda_codec;struct hda_pcm;struct hda_pcm_stream;struct hda_bus_unsolicited;/* NID type */typedef u16 hda_nid_t;/* bus operators */struct hda_bus_ops {	/* send a single command */	int (*command)(struct hda_codec *codec, hda_nid_t nid, int direct,		       unsigned int verb, unsigned int parm);	/* get a response from the last command */	unsigned int (*get_response)(struct hda_codec *codec);	/* get the wall clock counter */	u32 (*get_wallclock)(struct hda_codec *codec);	/* get the link position counter */	u32 (*get_linkpos)(snd_pcm_substream_t *substream);	/* free the private data */	void (*private_free)(struct hda_bus *);};/* template to pass to the bus constructor */struct hda_bus_template {	void *private_data;	struct pci_dev *pci;	const char *modelname;	struct hda_bus_ops ops;};/* * codec bus * * each controller needs to creata a hda_bus to assign the accessor. * A hda_bus contains several codecs in the list codec_list. */struct hda_bus {	snd_card_t *card;	/* copied from template */	void *private_data;	struct pci_dev *pci;	const char *modelname;	struct hda_bus_ops ops;	/* codec linked list */	struct list_head codec_list;	struct hda_codec *caddr_tbl[HDA_MAX_CODEC_ADDRESS + 1]; /* caddr -> codec */	struct semaphore cmd_mutex;	/* unsolicited event queue */	struct hda_bus_unsolicited *unsol;	snd_info_entry_t *proc;};/* * codec preset * * Known codecs have the patch to build and set up the controls/PCMs * better than the generic parser. */struct hda_codec_preset {	unsigned int id;	unsigned int mask;	unsigned int subs;	unsigned int subs_mask;	hda_nid_t afg, mfg;	unsigned int rev;	const char *name;	int (*patch)(struct hda_codec *codec);};	/* ops set by the preset patch */struct hda_codec_ops {	int (*build_controls)(struct hda_codec *codec);	int (*build_pcms)(struct hda_codec *codec);	int (*init)(struct hda_codec *codec);	int (*exit)(struct hda_codec *codec);	void (*free)(struct hda_codec *codec);	void (*unsol_event)(struct hda_codec *codec, unsigned int res);#ifdef CONFIG_PM	int (*suspend)(struct hda_codec *codec, pm_message_t state);	int (*resume)(struct hda_codec *codec);#endif};/* record for amp information cache */struct hda_amp_info {	u32 key;		/* hash key */	u32 amp_caps;		/* amp capabilities */	u16 vol[2];		/* current volume & mute*/	u16 status;		/* update flag */	u16 next;		/* next link */};/* PCM callbacks */struct hda_pcm_ops {	int (*open)(struct hda_pcm_stream *info, struct hda_codec *codec,		    snd_pcm_substream_t *substream);	int (*close)(struct hda_pcm_stream *info, struct hda_codec *codec,		     snd_pcm_substream_t *substream);	int (*prepare)(struct hda_pcm_stream *info, struct hda_codec *codec,		       unsigned int stream_tag, unsigned int format,		       snd_pcm_substream_t *substream);	int (*cleanup)(struct hda_pcm_stream *info, struct hda_codec *codec,		       snd_pcm_substream_t *substream);};/* PCM information for each substream */struct hda_pcm_stream {	unsigned int substreams;	/* number of substreams, 0 = not exist */	unsigned int channels_min;	/* min. number of channels */	unsigned int channels_max;	/* max. number of channels */	hda_nid_t nid;	/* default NID to query rates/formats/bps, or set up */	u32 rates;	/* supported rates */	u64 formats;	/* supported formats (SNDRV_PCM_FMTBIT_) */	unsigned int maxbps;	/* supported max. bit per sample */	struct hda_pcm_ops ops;};/* for PCM creation */struct hda_pcm {	char *name;	struct hda_pcm_stream stream[2];	unsigned int is_modem;	/* modem codec? */	snd_pcm_t *pcm;};/* codec information */struct hda_codec {	struct hda_bus *bus;	unsigned int addr;	/* codec addr*/	struct list_head list;	/* list point */	hda_nid_t afg;	/* AFG node id */	hda_nid_t mfg;	/* MFG node id */	/* ids */	u32 vendor_id;	u32 subsystem_id;	u32 revision_id;	/* detected preset */	const struct hda_codec_preset *preset;	/* set by patch */	struct hda_codec_ops patch_ops;	/* resume phase - all controls should update even if	 * the values are not changed	 */	unsigned int in_resume;	/* PCM to create, set by patch_ops.build_pcms callback */	unsigned int num_pcms;	struct hda_pcm *pcm_info;	/* codec specific info */	void *spec;	/* hash for amp access */	u16 amp_hash[32];	int num_amp_entries;	struct hda_amp_info amp_info[128]; /* big enough? */	struct semaphore spdif_mutex;	unsigned int spdif_status;	/* IEC958 status bits */	unsigned short spdif_ctls;	/* SPDIF control bits */	unsigned int spdif_in_enable;	/* SPDIF input enable? */};/* direction */enum {	HDA_INPUT, HDA_OUTPUT};/* * constructors */int snd_hda_bus_new(snd_card_t *card, const struct hda_bus_template *temp,		    struct hda_bus **busp);int snd_hda_codec_new(struct hda_bus *bus, unsigned int codec_addr,		      struct hda_codec **codecp);void snd_hda_codec_remove_notify_all(struct hda_bus *bus);/* * low level functions */unsigned int snd_hda_codec_wallclock(struct hda_codec *codec);unsigned int snd_hda_codec_read(struct hda_codec *codec, hda_nid_t nid, int direct,				unsigned int verb, unsigned int parm);int snd_hda_codec_write(struct hda_codec *codec, hda_nid_t nid, int direct,			unsigned int verb, unsigned int parm);#define snd_hda_param_read(codec, nid, param) snd_hda_codec_read(codec, nid, 0, AC_VERB_PARAMETERS, param)int snd_hda_get_sub_nodes(struct hda_codec *codec, hda_nid_t nid, hda_nid_t *start_id);int snd_hda_get_connections(struct hda_codec *codec, hda_nid_t nid, hda_nid_t *conn_list, int max_conns);struct hda_verb {	hda_nid_t nid;	u32 verb;	u32 param;};void snd_hda_sequence_write(struct hda_codec *codec, const struct hda_verb *seq);/* unsolicited event */int snd_hda_queue_unsol_event(struct hda_bus *bus, u32 res, u32 res_ex);/* * Mixer */int snd_hda_build_controls(struct hda_bus *bus);/* * PCM */int snd_hda_build_pcms(struct hda_bus *bus);void snd_hda_codec_setup_stream(struct hda_codec *codec, hda_nid_t nid, u32 stream_tag,				int channel_id, int format);unsigned int snd_hda_calc_stream_format(unsigned int rate, unsigned int channels,					unsigned int format, unsigned int maxbps);int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid,				u32 *ratesp, u64 *formatsp, unsigned int *bpsp);int snd_hda_is_supported_format(struct hda_codec *codec, hda_nid_t nid,				unsigned int format);/* * Misc */void snd_hda_get_codec_name(struct hda_codec *codec, char *name, int namelen);/* * power management */#ifdef CONFIG_PMint snd_hda_suspend(struct hda_bus *bus, pm_message_t state);int snd_hda_resume(struct hda_bus *bus);#endif#endif /* __SOUND_HDA_CODEC_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国av一区二区三区在线观看| 欧美变态tickle挠乳网站| 久久精品一区二区三区不卡牛牛 | 午夜激情一区二区| 色菇凉天天综合网| 国产精品久久二区二区| 国产麻豆欧美日韩一区| 精品国产乱子伦一区| 九九九久久久精品| 精品日韩欧美一区二区| 蜜桃视频一区二区三区 | 欧美大胆人体bbbb| 美腿丝袜亚洲色图| 91精品在线观看入口| 日韩精品一级二级| 日韩一级黄色大片| 美腿丝袜亚洲色图| 久久影视一区二区| 国产91清纯白嫩初高中在线观看 | 国产.欧美.日韩| 欧美国产视频在线| 99re66热这里只有精品3直播 | 亚洲一区在线观看免费| 色综合久久88色综合天天6| 亚洲美女电影在线| 欧美日韩一区不卡| 日韩成人av影视| 欧美精品一区二区三区很污很色的| 紧缚捆绑精品一区二区| 国产日韩欧美精品一区| 激情偷乱视频一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 久久精品国产精品青草| 国产精品热久久久久夜色精品三区 | 国产亚洲污的网站| 91亚洲国产成人精品一区二区三 | 国产欧美日韩一区二区三区在线观看 | 久久综合给合久久狠狠狠97色69| 国产精品自拍av| 一区视频在线播放| 欧美喷潮久久久xxxxx| 日本麻豆一区二区三区视频| 欧美年轻男男videosbes| 精品一区二区三区在线观看| 国产精品国产三级国产aⅴ中文 | 国产天堂亚洲国产碰碰| 精品少妇一区二区三区免费观看 | 一区二区欧美国产| 日韩欧美激情在线| 成人av中文字幕| 中文字幕一区二区三区蜜月| 不卡大黄网站免费看| 性欧美大战久久久久久久久| 国产亚洲精品资源在线26u| 色诱视频网站一区| 激情偷乱视频一区二区三区| 亚洲欧美精品午睡沙发| 精品久久久久一区| 欧美性猛交一区二区三区精品| 精品一区二区三区蜜桃| 中文字幕av不卡| 91精品国产综合久久久久久| av一区二区久久| 免费不卡在线观看| 亚洲精品视频一区二区| 精品国产乱子伦一区| 欧美日韩一区三区| 国产91色综合久久免费分享| 日本成人在线不卡视频| 久久久久久久久岛国免费| 91猫先生在线| 国产成人鲁色资源国产91色综| 日韩福利视频导航| 一区二区三区国产| 国产女人18水真多18精品一级做| 91精品国产综合久久福利| 91美女蜜桃在线| 成人污污视频在线观看| 久久成人18免费观看| 亚洲一区二区精品视频| 亚洲婷婷综合色高清在线| 久久久高清一区二区三区| 日韩欧美国产午夜精品| 欧美日韩精品一区二区| 91亚洲精华国产精华精华液| 成人禁用看黄a在线| 国产一区二区三区黄视频| 亚洲综合免费观看高清完整版| 国产精品久久久久精k8| 国产亚洲制服色| 精品久久久久久亚洲综合网| 欧美一级在线视频| 制服视频三区第一页精品| 在线观看日韩毛片| 在线免费观看不卡av| av激情成人网| www.综合网.com| av一二三不卡影片| 91丝袜美女网| 99riav一区二区三区| 91香蕉视频在线| 色婷婷av一区二区三区之一色屋| 丁香一区二区三区| 高清不卡在线观看av| 国产成人综合在线播放| 国产一区二区三区美女| 国产1区2区3区精品美女| 国产成人av自拍| 成人av在线影院| 97久久超碰国产精品| 91免费国产在线观看| 91老师片黄在线观看| 在线观看不卡一区| 精品视频一区 二区 三区| 3d成人动漫网站| 欧美sm美女调教| 中文乱码免费一区二区| 亚洲欧洲国产日本综合| 欧美激情中文字幕| 国产精品动漫网站| 一区二区三区成人在线视频| 天天综合天天做天天综合| 捆绑调教美女网站视频一区| 国产乱子伦视频一区二区三区 | 国产精品久久久久影视| 国产欧美日韩久久| 亚洲欧洲日韩在线| 一区二区三区蜜桃网| 蜜臀精品一区二区三区在线观看| 高清不卡在线观看| 在线亚洲免费视频| 在线中文字幕一区二区| 欧美视频一二三区| 精品成人一区二区三区四区| 中文字幕一区二区三区蜜月| 香蕉成人伊视频在线观看| 国产一区二区久久| 欧美网站一区二区| www久久精品| 亚洲美女少妇撒尿| 美女视频免费一区| 色综合天天综合网国产成人综合天 | 精品第一国产综合精品aⅴ| 一区二区中文视频| 韩国理伦片一区二区三区在线播放| 欧美亚一区二区| 国产精品免费aⅴ片在线观看| 欧美a级理论片| 欧美三级三级三级爽爽爽| 亚洲欧美在线高清| 成人高清视频在线观看| 国产丝袜欧美中文另类| 国产中文字幕精品| 精品国产一区二区亚洲人成毛片 | 亚洲青青青在线视频| 成人动漫视频在线| 久久久久国产精品麻豆| 国内久久精品视频| 精品国产精品一区二区夜夜嗨| 天堂va蜜桃一区二区三区| 91黄视频在线观看| 亚洲综合色噜噜狠狠| 91麻豆国产自产在线观看| 中文字幕一区在线观看视频| 成人午夜激情视频| 亚洲国产精品精华液2区45| 国产91高潮流白浆在线麻豆| 国产三级一区二区三区| 成人性生交大片免费| 中文字幕一区二区三区色视频 | 国产乱子轮精品视频| 精品国产青草久久久久福利| 国产在线精品一区二区三区不卡 | 欧美大片国产精品| 韩国一区二区在线观看| 久久精品人人做人人综合| 国产在线精品不卡| 国产精品无人区| 91国偷自产一区二区开放时间 | 日韩电影在线观看网站| 制服丝袜av成人在线看| 国内精品免费在线观看| 欧美韩国日本一区| 日本韩国欧美一区二区三区| 亚洲综合在线电影| 日韩午夜精品视频| 国产成人综合视频| 亚洲色图欧洲色图| 欧美伦理影视网| 国产一区二区三区av电影| 国产精品乱人伦| 欧洲精品视频在线观看| 日本不卡123| 国产欧美一区二区三区沐欲| 91香蕉视频污在线| 强制捆绑调教一区二区| 亚洲国产精品精华液ab| 欧美日韩精品专区| 懂色av噜噜一区二区三区av| 亚洲一区二区在线免费观看视频|