Chinaunix首页 | 论坛 | 博客
  • 博客访问: 194480
  • 博文数量: 44
  • 博客积分: 1515
  • 博客等级: 上尉
  • 技术积分: 480
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-06 16:39
文章分类

全部博文(44)

文章存档

2013年(3)

2012年(2)

2011年(2)

2009年(20)

2008年(17)

我的朋友

分类: LINUX

2009-07-21 14:33:12

alsa支持两种codec命令格式:12位和4位,参数长度分别为8位和16位
hda-verb提供了从用户空间向codec下命令的后门,主要利用alsa中的hwdep接口。
对于12位的命令格式来说,较为简单,根据hda-verb的说明,以命令0xf07,nid=0x19为例,

  sudo ./hda-verb /dev/snd/hwC0D2 0x19 0xf07 0x00

对于4位的命令格式,则要将该命令左移8位,然后或上参数的高八位,以0xb命令,nid=0x19,param=0x8000为例:
  sudo ./hda-verb /dev/snd/hwC0D2 0x19 0xb80 0x00
其中0xb80 由0xb左移8位,或上0x8000的高八位得到,0x00为0x8000的低8位。


即当命令为4位格式时,参数的俄高八位一定作为命令的低八位出现,命令参数形式上仍然为12位,但只有高四位作为命令来解析
阅读(871) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~