~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/sound/hd-audio/dp-mst.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/sound/hd-audio/dp-mst.rst (Version linux-6.12-rc7) and /Documentation/sound/hd-audio/dp-mst.rst (Version linux-4.4.302)


  1 =======================                           
  2 HD-Audio DP-MST Support                           
  3 =======================                           
  4                                                   
  5 To support DP MST audio, HD Audio hdmi codec d    
  6 and dynamic pcm assignment.                       
  7                                                   
  8 Virtual pin is an extension of per_pin. The mo    
  9 from legacy is that DP MST introduces device e    
 10 several device entries. Each device entry beha    
 11                                                   
 12 As each pin may contain several device entries    
 13 several pins, if we use one pcm per per_pin, t    
 14 The new solution is to create a few PCMs and t    
 15 per_pin. Driver uses spec->dyn_pcm_assign flag    
 16 the new solution.                                 
 17                                                   
 18 PCM                                               
 19 ===                                               
 20 To be added                                       
 21                                                   
 22 Pin Initialization                                
 23 ==================                                
 24 Each pin may have several device entries (virt    
 25 the device entries number is dynamically chang    
 26 it is in DP MST mode, and the device entries n    
 27 device entries number is 1.                       
 28                                                   
 29 To simplify the implementation, all the device    
 30 when bootup no matter whether it is in DP MST     
 31                                                   
 32 Connection list                                   
 33 ===============                                   
 34 DP MST reuses connection list code. The code c    
 35 device entries on the same pin have the same c    
 36                                                   
 37 This means DP MST gets the device entry connec    
 38 device entry setting.                             
 39                                                   
 40 Jack                                              
 41 ====                                              
 42                                                   
 43 Presume:                                          
 44  - MST must be dyn_pcm_assign, and it is acomp    
 45  - NON-MST may or may not be dyn_pcm_assign, i    
 46                                                   
 47 So there are the following scenarios:             
 48  a. MST (&& dyn_pcm_assign && acomp)              
 49  b. NON-MST && dyn_pcm_assign && acomp            
 50  c. NON-MST && !dyn_pcm_assign && !acomp          
 51                                                   
 52 Below discussion will ignore MST and NON-MST d    
 53 impact on jack handling too much.                 
 54                                                   
 55 Driver uses struct hdmi_pcm pcm[] array in hdm    
 56 a member of hdmi_pcm. Each pin has one struct     
 57                                                   
 58 For !dyn_pcm_assign, per_pin->pcm will assigne    
 59                                                   
 60 For dyn_pcm_assign, per_pin->pcm will assigned    
 61 when monitor is hotplugged.                       
 62                                                   
 63                                                   
 64 Build Jack                                        
 65 ----------                                        
 66                                                   
 67 - dyn_pcm_assign                                  
 68                                                   
 69   Will not use hda_jack but use snd_jack in sp    
 70                                                   
 71 - !dyn_pcm_assign                                 
 72                                                   
 73   Use hda_jack and assign spec->pcm_rec[pcm_id    
 74                                                   
 75                                                   
 76 Unsolicited Event Enabling                        
 77 --------------------------                        
 78 Enable unsolicited event if !acomp.               
 79                                                   
 80                                                   
 81 Monitor Hotplug Event Handling                    
 82 ------------------------------                    
 83 - acomp                                           
 84                                                   
 85   pin_eld_notify() -> check_presence_and_repor    
 86   sync_eld_via_acomp().                           
 87                                                   
 88   Use directly snd_jack_report() on spec->pcm_    
 89   both dyn_pcm_assign and !dyn_pcm_assign         
 90                                                   
 91 - !acomp                                          
 92                                                   
 93   hdmi_unsol_event() -> hdmi_intrinsic_event()    
 94   hdmi_present_sense() -> hdmi_prepsent_sense_    
 95                                                   
 96   Use directly snd_jack_report() on spec->pcm_    
 97   Use hda_jack mechanism to handle jack events    
 98                                                   
 99                                                   
100 Others to be added later                          
101 ========================                          
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php