|
132 | 132 | #define ATC_DST_PIP BIT(12) /* Destination Picture-in-Picture enabled */ |
133 | 133 | #define ATC_SRC_DSCR_DIS BIT(16) /* Src Descriptor fetch disable */ |
134 | 134 | #define ATC_DST_DSCR_DIS BIT(20) /* Dst Descriptor fetch disable */ |
135 | | -#define ATC_FC GENMASK(22, 21) /* Choose Flow Controller */ |
| 135 | +#define ATC_FC GENMASK(23, 21) /* Choose Flow Controller */ |
136 | 136 | #define ATC_FC_MEM2MEM 0x0 /* Mem-to-Mem (DMA) */ |
137 | 137 | #define ATC_FC_MEM2PER 0x1 /* Mem-to-Periph (DMA) */ |
138 | 138 | #define ATC_FC_PER2MEM 0x2 /* Periph-to-Mem (DMA) */ |
|
153 | 153 | #define ATC_AUTO BIT(31) /* Auto multiple buffer tx enable */ |
154 | 154 |
|
155 | 155 | /* Bitfields in CFG */ |
156 | | -#define ATC_PER_MSB(h) ((0x30U & (h)) >> 4) /* Extract most significant bits of a handshaking identifier */ |
157 | | - |
158 | 156 | #define ATC_SRC_PER GENMASK(3, 0) /* Channel src rq associated with periph handshaking ifc h */ |
159 | 157 | #define ATC_DST_PER GENMASK(7, 4) /* Channel dst rq associated with periph handshaking ifc h */ |
160 | 158 | #define ATC_SRC_REP BIT(8) /* Source Replay Mod */ |
|
181 | 179 | #define ATC_DPIP_HOLE GENMASK(15, 0) |
182 | 180 | #define ATC_DPIP_BOUNDARY GENMASK(25, 16) |
183 | 181 |
|
184 | | -#define ATC_SRC_PER_ID(id) (FIELD_PREP(ATC_SRC_PER_MSB, (id)) | \ |
185 | | - FIELD_PREP(ATC_SRC_PER, (id))) |
186 | | -#define ATC_DST_PER_ID(id) (FIELD_PREP(ATC_DST_PER_MSB, (id)) | \ |
187 | | - FIELD_PREP(ATC_DST_PER, (id))) |
| 182 | +#define ATC_PER_MSB GENMASK(5, 4) /* Extract MSBs of a handshaking identifier */ |
| 183 | +#define ATC_SRC_PER_ID(id) \ |
| 184 | + ({ typeof(id) _id = (id); \ |
| 185 | + FIELD_PREP(ATC_SRC_PER_MSB, FIELD_GET(ATC_PER_MSB, _id)) | \ |
| 186 | + FIELD_PREP(ATC_SRC_PER, _id); }) |
| 187 | +#define ATC_DST_PER_ID(id) \ |
| 188 | + ({ typeof(id) _id = (id); \ |
| 189 | + FIELD_PREP(ATC_DST_PER_MSB, FIELD_GET(ATC_PER_MSB, _id)) | \ |
| 190 | + FIELD_PREP(ATC_DST_PER, _id); }) |
188 | 191 |
|
189 | 192 |
|
190 | 193 |
|
|
0 commit comments