amlogic 장치에서 사운드 시스템을 디버깅하려고합니다. amixer 및 alsamixer가 예상대로 작동하지 않으며 amixer가 시스템을 중단시킬 수 있습니다. 내가 고민하는 것은 드라이버가 ALSA 웹 사이트에서 ALSA 드라이버 작성에 설명 된대로 snd_kcontrol 객체를 구성하여 하드웨어 레지스터에 액세스하는 방법을 전달한다는 것입니다. 그러나 amixer cset은 snd_ctl_t 객체의 element_write를 참조하는 control.c의 snd_ctl_elem_write를 호출합니다.alsa 드라이버를 이해하는 데 도움이 필요합니다
정의 된 snd_kcontrol과 모든 snd_ctl_t 객체 사이에 링크가 보이지 않으므로 amixer가 하드웨어에 쓰는 방법을 볼 수 없습니다. 정상적으로 어떻게 이루어 집니까?
해당 링크는'cnd_ctl_add()'에 의해 설정됩니다. –
고맙지 만 afaict snd_ctl_add()는 snd_card 및 snd_kcontrol 구조체 만 사용합니다. snd_ctl_t와는 아무 관련이 없습니다. 내가 두꺼운다면 미안해. – graham