xref: /OK3568_Linux_fs/kernel/Documentation/sound/soc/pops-clicks.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun=====================
2*4882a593SmuzhiyunAudio Pops and Clicks
3*4882a593Smuzhiyun=====================
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunPops and clicks are unwanted audio artifacts caused by the powering up and down
6*4882a593Smuzhiyunof components within the audio subsystem. This is noticeable on PCs when an
7*4882a593Smuzhiyunaudio module is either loaded or unloaded (at module load time the sound card is
8*4882a593Smuzhiyunpowered up and causes a popping noise on the speakers).
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunPops and clicks can be more frequent on portable systems with DAPM. This is
11*4882a593Smuzhiyunbecause the components within the subsystem are being dynamically powered
12*4882a593Smuzhiyundepending on the audio usage and this can subsequently cause a small pop or
13*4882a593Smuzhiyunclick every time a component power state is changed.
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunMinimising Playback Pops and Clicks
17*4882a593Smuzhiyun===================================
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunPlayback pops in portable audio subsystems cannot be completely eliminated
20*4882a593Smuzhiyuncurrently, however future audio codec hardware will have better pop and click
21*4882a593Smuzhiyunsuppression.  Pops can be reduced within playback by powering the audio
22*4882a593Smuzhiyuncomponents in a specific order. This order is different for startup and
23*4882a593Smuzhiyunshutdown and follows some basic rules:-
24*4882a593Smuzhiyun::
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun   Startup Order :- DAC --> Mixers --> Output PGA --> Digital Unmute
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun   Shutdown Order :- Digital Mute --> Output PGA --> Mixers --> DAC
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunThis assumes that the codec PCM output path from the DAC is via a mixer and then
31*4882a593Smuzhiyuna PGA (programmable gain amplifier) before being output to the speakers.
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunMinimising Capture Pops and Clicks
35*4882a593Smuzhiyun==================================
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunCapture artifacts are somewhat easier to get rid as we can delay activating the
38*4882a593SmuzhiyunADC until all the pops have occurred. This follows similar power rules to
39*4882a593Smuzhiyunplayback in that components are powered in a sequence depending upon stream
40*4882a593Smuzhiyunstartup or shutdown.
41*4882a593Smuzhiyun::
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun   Startup Order - Input PGA --> Mixers --> ADC
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun   Shutdown Order - ADC --> Mixers --> Input PGA
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun
48*4882a593SmuzhiyunZipper Noise
49*4882a593Smuzhiyun============
50*4882a593SmuzhiyunAn unwanted zipper noise can occur within the audio playback or capture stream
51*4882a593Smuzhiyunwhen a volume control is changed near its maximum gain value. The zipper noise
52*4882a593Smuzhiyunis heard when the gain increase or decrease changes the mean audio signal
53*4882a593Smuzhiyunamplitude too quickly. It can be minimised by enabling the zero cross setting
54*4882a593Smuzhiyunfor each volume control. The ZC forces the gain change to occur when the signal
55*4882a593Smuzhiyuncrosses the zero amplitude line.
56