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

TOMOYO Linux Cross Reference
Linux/include/linux/amba/pl08x.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/amba/pl08x.h (Version linux-6.11-rc3) and /include/linux/amba/pl08x.h (Version policy-sample)


  1 /* SPDX-License-Identifier: GPL-2.0-only */         1 
  2 /*                                                
  3  * linux/amba/pl08x.h - ARM PrimeCell DMA Cont    
  4  *                                                
  5  * Copyright (C) 2005 ARM Ltd                     
  6  * Copyright (C) 2010 ST-Ericsson SA              
  7  *                                                
  8  * pl08x information required by platform code    
  9  *                                                
 10  * Please credit ARM.com                          
 11  * Documentation: ARM DDI 0196D                   
 12  */                                               
 13                                                   
 14 #ifndef AMBA_PL08X_H                              
 15 #define AMBA_PL08X_H                              
 16                                                   
 17 /* We need sizes of structs from this header *    
 18 #include <linux/dmaengine.h>                      
 19 #include <linux/interrupt.h>                      
 20                                                   
 21 struct pl08x_driver_data;                         
 22 struct pl08x_phy_chan;                            
 23 struct pl08x_txd;                                 
 24                                                   
 25 /* Bitmasks for selecting AHB ports for DMA tr    
 26 enum {                                            
 27         PL08X_AHB1 = (1 << 0),                    
 28         PL08X_AHB2 = (1 << 1)                     
 29 };                                                
 30                                                   
 31 /**                                               
 32  * struct pl08x_channel_data - data structure     
 33  * platform and PL08x driver regarding channel    
 34  * @bus_id: name of this device channel, not j    
 35  * devices may have more than one channel e.g.    
 36  * @min_signal: the minimum DMA signal number     
 37  * channel (for platforms supporting muxed sig    
 38  * static assignments, make sure this is set t    
 39  * number, PL08x have 16 possible signals in n    
 40  * when these are not enough they often get mu    
 41  * disabling simultaneous use of the same chan    
 42  * @max_signal: the maximum DMA signal number     
 43  * the channel. Set to the same as min_signal     
 44  * devices with static assignments                
 45  * @muxval: a number usually used to poke into    
 46  * mux in the signal to this channel              
 47  * @addr: source/target address in physical me    
 48  * can be the address of a FIFO register for b    
 49  * This can be left undefined if the PrimeCell    
 50  * this.                                          
 51  * @single: the device connected to this chann    
 52  * transfers, not bursts. (Bursts are default.    
 53  * @periph_buses: the device connected to this    
 54  * these buses (use PL08X_AHB1 | PL08X_AHB2).     
 55  */                                               
 56 struct pl08x_channel_data {                       
 57         const char *bus_id;                       
 58         int min_signal;                           
 59         int max_signal;                           
 60         u32 muxval;                               
 61         dma_addr_t addr;                          
 62         bool single;                              
 63         u8 periph_buses;                          
 64 };                                                
 65                                                   
 66 enum pl08x_burst_size {                           
 67         PL08X_BURST_SZ_1,                         
 68         PL08X_BURST_SZ_4,                         
 69         PL08X_BURST_SZ_8,                         
 70         PL08X_BURST_SZ_16,                        
 71         PL08X_BURST_SZ_32,                        
 72         PL08X_BURST_SZ_64,                        
 73         PL08X_BURST_SZ_128,                       
 74         PL08X_BURST_SZ_256,                       
 75 };                                                
 76                                                   
 77 enum pl08x_bus_width {                            
 78         PL08X_BUS_WIDTH_8_BITS,                   
 79         PL08X_BUS_WIDTH_16_BITS,                  
 80         PL08X_BUS_WIDTH_32_BITS,                  
 81 };                                                
 82                                                   
 83 /**                                               
 84  * struct pl08x_platform_data - the platform c    
 85  * PrimeCells.                                    
 86  * @slave_channels: the channels defined for t    
 87  * platform, all inclusive, including multiple    
 88  * physical channels will be multiplexed aroun    
 89  * requested, just enumerate all possible chan    
 90  * @num_slave_channels: number of elements in     
 91  * @memcpy_burst_size: the appropriate burst s    
 92  * @memcpy_bus_width: memory bus width            
 93  * @memcpy_prot_buff: whether memcpy DMA is bu    
 94  * @memcpy_prot_cache: whether memcpy DMA is c    
 95  * @get_xfer_signal: request a physical signal    
 96  * immediately: if there is some multiplexing     
 97  * of the channel the transfer can be denied b    
 98  * else it returns the allocated signal number    
 99  * @put_xfer_signal: indicate to the platform     
100  * running any DMA transfer and multiplexing c    
101  * @lli_buses: buses which LLIs can be fetched    
102  * @mem_buses: buses which memory can be acces    
103  * @slave_map: DMA slave matching table           
104  * @slave_map_len: number of elements in @slav    
105  */                                               
106 struct pl08x_platform_data {                      
107         struct pl08x_channel_data *slave_chann    
108         unsigned int num_slave_channels;          
109         enum pl08x_burst_size memcpy_burst_siz    
110         enum pl08x_bus_width memcpy_bus_width;    
111         bool memcpy_prot_buff;                    
112         bool memcpy_prot_cache;                   
113         int (*get_xfer_signal)(const struct pl    
114         void (*put_xfer_signal)(const struct p    
115         u8 lli_buses;                             
116         u8 mem_buses;                             
117         const struct dma_slave_map *slave_map;    
118         int slave_map_len;                        
119 };                                                
120                                                   
121 #ifdef CONFIG_AMBA_PL08X                          
122 bool pl08x_filter_id(struct dma_chan *chan, vo    
123 #else                                             
124 static inline bool pl08x_filter_id(struct dma_    
125 {                                                 
126         return false;                             
127 }                                                 
128 #endif                                            
129                                                   
130 #endif  /* AMBA_PL08X_H */                        
131                                                   

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