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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/interrupt-controller/msi.txt

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/devicetree/bindings/interrupt-controller/msi.txt (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/interrupt-controller/msi.txt (Version unix-v6-master)


  1 This document describes the generic device tre    
  2 their master(s).                                  
  3                                                   
  4 Message Signaled Interrupts (MSIs) are a class    
  5 write to an MMIO address.                         
  6                                                   
  7 MSIs were originally specified by PCI (and are    
  8 used with other busses, and hence a mechanism     
  9 those busses to the MSI controllers which they    
 10 potentially including additional information.     
 11                                                   
 12 MSIs are distinguished by some combination of:    
 13                                                   
 14 - The doorbell (the MMIO address written to).     
 15                                                   
 16   Devices may be configured by software to wri    
 17   they can address. An MSI controller may feat    
 18                                                   
 19 - The payload (the value written to the doorbe    
 20                                                   
 21   Devices may be configured to write an arbitr    
 22   MSI controllers may have restrictions on per    
 23                                                   
 24 - Sideband information accompanying the write.    
 25                                                   
 26   Typically this is neither configurable nor p    
 27   taken through the memory system (i.e. it is     
 28   MSI controller and device rather than a prop    
 29                                                   
 30                                                   
 31 MSI controllers:                                  
 32 ================                                  
 33                                                   
 34 An MSI controller signals interrupts to a CPU     
 35 address by some master. An MSI controller may     
 36                                                   
 37 Required properties:                              
 38 --------------------                              
 39                                                   
 40 - msi-controller: Identifies the node as an MS    
 41                                                   
 42 Optional properties:                              
 43 --------------------                              
 44                                                   
 45 - #msi-cells: The number of cells in an msi-sp    
 46                                                   
 47   Typically this will encode information relat    
 48   not encode doorbells or payloads as these ca    
 49                                                   
 50   The meaning of the msi-specifier is defined     
 51   the specific MSI controller.                    
 52                                                   
 53                                                   
 54 MSI clients                                       
 55 ===========                                       
 56                                                   
 57 MSI clients are devices which generate MSIs. F    
 58 generate, the doorbell and payload may be conf    
 59 information may not be configurable.              
 60                                                   
 61 Required properties:                              
 62 --------------------                              
 63                                                   
 64 - msi-parent: A list of phandle + msi-specifie    
 65   controller which the device is capable of us    
 66                                                   
 67   This property is unordered, and MSIs may be     
 68   MSI controllers listed in the msi-parent pro    
 69                                                   
 70   If a device has restrictions on the allocati    
 71   must be described with additional properties    
 72                                                   
 73   When #msi-cells is non-zero, busses with an     
 74   additional properties to describe the relati    
 75   and the set of MSIs they can potentially gen    
 76                                                   
 77                                                   
 78 Example                                           
 79 =======                                           
 80                                                   
 81 / {                                               
 82         #address-cells = <1>;                     
 83         #size-cells = <1>;                        
 84                                                   
 85         msi_a: msi-controller@a {                 
 86                 reg = <0xa 0xf00>;                
 87                 compatible = "vendor-a,some-co    
 88                 msi-controller;                   
 89                 /* No sideband data, so #msi-c    
 90         };                                        
 91                                                   
 92         msi_b: msi-controller@b {                 
 93                 reg = <0xb 0xf00>;                
 94                 compatible = "vendor-b,another    
 95                 msi-controller;                   
 96                 /* Each device has some unique    
 97                 #msi-cells = <1>;                 
 98         };                                        
 99                                                   
100         msi_c: msi-controller@c {                 
101                 reg = <0xc 0xf00>;                
102                 compatible = "vendor-b,another    
103                 msi-controller;                   
104                 /* Each device has some unique    
105                 #msi-cells = <1>;                 
106         };                                        
107                                                   
108         dev@0 {                                   
109                 reg = <0x0 0xf00>;                
110                 compatible = "vendor-c,some-de    
111                                                   
112                 /* Can only generate MSIs to m    
113                 msi-parent = <&msi_a>;            
114         };                                        
115                                                   
116         dev@1 {                                   
117                 reg = <0x1 0xf00>;                
118                 compatible = "vendor-c,some-de    
119                                                   
120                 /*                                
121                  * Can generate MSIs to either    
122                  */                               
123                 msi-parent = <&msi_a>, <&msi_b    
124         };                                        
125                                                   
126         dev@2 {                                   
127                 reg = <0x2 0xf00>;                
128                 compatible = "vendor-c,some-de    
129                 /*                                
130                  * Has different IDs at each M    
131                  * Can generate MSIs to all of    
132                  */                               
133                 msi-parent = <&msi_a>, <&msi_b    
134         };                                        
135 };                                                
                                                      

~ [ 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