Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dmaengine: idxd: uapi: use UAPI types

Using libc types and headers from the UAPI headers is problematic as it
introduces a dependency on a full C toolchain.

Use the fixed-width integer types provided by the UAPI headers instead.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20251222-uapi-idxd-v1-1-baa183adb20d@linutronix.de
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Thomas Weißschuh and committed by
Vinod Koul
98b9f207 b442377c

+133 -137
+133 -137
include/uapi/linux/idxd.h
··· 3 3 #ifndef _USR_IDXD_H_ 4 4 #define _USR_IDXD_H_ 5 5 6 - #ifdef __KERNEL__ 7 6 #include <linux/types.h> 8 - #else 9 - #include <stdint.h> 10 - #endif 11 7 12 8 /* Driver command error status */ 13 9 enum idxd_scmd_stat { ··· 172 176 #define DSA_COMP_STATUS(status) ((status) & DSA_COMP_STATUS_MASK) 173 177 174 178 struct dsa_hw_desc { 175 - uint32_t pasid:20; 176 - uint32_t rsvd:11; 177 - uint32_t priv:1; 178 - uint32_t flags:24; 179 - uint32_t opcode:8; 180 - uint64_t completion_addr; 179 + __u32 pasid:20; 180 + __u32 rsvd:11; 181 + __u32 priv:1; 182 + __u32 flags:24; 183 + __u32 opcode:8; 184 + __u64 completion_addr; 181 185 union { 182 - uint64_t src_addr; 183 - uint64_t rdback_addr; 184 - uint64_t pattern; 185 - uint64_t desc_list_addr; 186 - uint64_t pattern_lower; 187 - uint64_t transl_fetch_addr; 186 + __u64 src_addr; 187 + __u64 rdback_addr; 188 + __u64 pattern; 189 + __u64 desc_list_addr; 190 + __u64 pattern_lower; 191 + __u64 transl_fetch_addr; 188 192 }; 189 193 union { 190 - uint64_t dst_addr; 191 - uint64_t rdback_addr2; 192 - uint64_t src2_addr; 193 - uint64_t comp_pattern; 194 + __u64 dst_addr; 195 + __u64 rdback_addr2; 196 + __u64 src2_addr; 197 + __u64 comp_pattern; 194 198 }; 195 199 union { 196 - uint32_t xfer_size; 197 - uint32_t desc_count; 198 - uint32_t region_size; 200 + __u32 xfer_size; 201 + __u32 desc_count; 202 + __u32 region_size; 199 203 }; 200 - uint16_t int_handle; 201 - uint16_t rsvd1; 204 + __u16 int_handle; 205 + __u16 rsvd1; 202 206 union { 203 - uint8_t expected_res; 207 + __u8 expected_res; 204 208 /* create delta record */ 205 209 struct { 206 - uint64_t delta_addr; 207 - uint32_t max_delta_size; 208 - uint32_t delt_rsvd; 209 - uint8_t expected_res_mask; 210 + __u64 delta_addr; 211 + __u32 max_delta_size; 212 + __u32 delt_rsvd; 213 + __u8 expected_res_mask; 210 214 }; 211 - uint32_t delta_rec_size; 212 - uint64_t dest2; 215 + __u32 delta_rec_size; 216 + __u64 dest2; 213 217 /* CRC */ 214 218 struct { 215 - uint32_t crc_seed; 216 - uint32_t crc_rsvd; 217 - uint64_t seed_addr; 219 + __u32 crc_seed; 220 + __u32 crc_rsvd; 221 + __u64 seed_addr; 218 222 }; 219 223 /* DIF check or strip */ 220 224 struct { 221 - uint8_t src_dif_flags; 222 - uint8_t dif_chk_res; 223 - uint8_t dif_chk_flags; 224 - uint8_t dif_chk_res2[5]; 225 - uint32_t chk_ref_tag_seed; 226 - uint16_t chk_app_tag_mask; 227 - uint16_t chk_app_tag_seed; 225 + __u8 src_dif_flags; 226 + __u8 dif_chk_res; 227 + __u8 dif_chk_flags; 228 + __u8 dif_chk_res2[5]; 229 + __u32 chk_ref_tag_seed; 230 + __u16 chk_app_tag_mask; 231 + __u16 chk_app_tag_seed; 228 232 }; 229 233 /* DIF insert */ 230 234 struct { 231 - uint8_t dif_ins_res; 232 - uint8_t dest_dif_flag; 233 - uint8_t dif_ins_flags; 234 - uint8_t dif_ins_res2[13]; 235 - uint32_t ins_ref_tag_seed; 236 - uint16_t ins_app_tag_mask; 237 - uint16_t ins_app_tag_seed; 235 + __u8 dif_ins_res; 236 + __u8 dest_dif_flag; 237 + __u8 dif_ins_flags; 238 + __u8 dif_ins_res2[13]; 239 + __u32 ins_ref_tag_seed; 240 + __u16 ins_app_tag_mask; 241 + __u16 ins_app_tag_seed; 238 242 }; 239 243 /* DIF update */ 240 244 struct { 241 - uint8_t src_upd_flags; 242 - uint8_t upd_dest_flags; 243 - uint8_t dif_upd_flags; 244 - uint8_t dif_upd_res[5]; 245 - uint32_t src_ref_tag_seed; 246 - uint16_t src_app_tag_mask; 247 - uint16_t src_app_tag_seed; 248 - uint32_t dest_ref_tag_seed; 249 - uint16_t dest_app_tag_mask; 250 - uint16_t dest_app_tag_seed; 245 + __u8 src_upd_flags; 246 + __u8 upd_dest_flags; 247 + __u8 dif_upd_flags; 248 + __u8 dif_upd_res[5]; 249 + __u32 src_ref_tag_seed; 250 + __u16 src_app_tag_mask; 251 + __u16 src_app_tag_seed; 252 + __u32 dest_ref_tag_seed; 253 + __u16 dest_app_tag_mask; 254 + __u16 dest_app_tag_seed; 251 255 }; 252 256 253 257 /* Fill */ 254 - uint64_t pattern_upper; 258 + __u64 pattern_upper; 255 259 256 260 /* Translation fetch */ 257 261 struct { 258 - uint64_t transl_fetch_res; 259 - uint32_t region_stride; 262 + __u64 transl_fetch_res; 263 + __u32 region_stride; 260 264 }; 261 265 262 266 /* DIX generate */ 263 267 struct { 264 - uint8_t dix_gen_res; 265 - uint8_t dest_dif_flags; 266 - uint8_t dif_flags; 267 - uint8_t dix_gen_res2[13]; 268 - uint32_t ref_tag_seed; 269 - uint16_t app_tag_mask; 270 - uint16_t app_tag_seed; 268 + __u8 dix_gen_res; 269 + __u8 dest_dif_flags; 270 + __u8 dif_flags; 271 + __u8 dix_gen_res2[13]; 272 + __u32 ref_tag_seed; 273 + __u16 app_tag_mask; 274 + __u16 app_tag_seed; 271 275 }; 272 276 273 - uint8_t op_specific[24]; 277 + __u8 op_specific[24]; 274 278 }; 275 279 } __attribute__((packed)); 276 280 277 281 struct iax_hw_desc { 278 - uint32_t pasid:20; 279 - uint32_t rsvd:11; 280 - uint32_t priv:1; 281 - uint32_t flags:24; 282 - uint32_t opcode:8; 283 - uint64_t completion_addr; 284 - uint64_t src1_addr; 285 - uint64_t dst_addr; 286 - uint32_t src1_size; 287 - uint16_t int_handle; 282 + __u32 pasid:20; 283 + __u32 rsvd:11; 284 + __u32 priv:1; 285 + __u32 flags:24; 286 + __u32 opcode:8; 287 + __u64 completion_addr; 288 + __u64 src1_addr; 289 + __u64 dst_addr; 290 + __u32 src1_size; 291 + __u16 int_handle; 288 292 union { 289 - uint16_t compr_flags; 290 - uint16_t decompr_flags; 293 + __u16 compr_flags; 294 + __u16 decompr_flags; 291 295 }; 292 - uint64_t src2_addr; 293 - uint32_t max_dst_size; 294 - uint32_t src2_size; 295 - uint32_t filter_flags; 296 - uint32_t num_inputs; 296 + __u64 src2_addr; 297 + __u32 max_dst_size; 298 + __u32 src2_size; 299 + __u32 filter_flags; 300 + __u32 num_inputs; 297 301 } __attribute__((packed)); 298 302 299 303 struct dsa_raw_desc { 300 - uint64_t field[8]; 304 + __u64 field[8]; 301 305 } __attribute__((packed)); 302 306 303 307 /* ··· 305 309 * volatile and prevent the compiler from optimize the read. 306 310 */ 307 311 struct dsa_completion_record { 308 - volatile uint8_t status; 312 + volatile __u8 status; 309 313 union { 310 - uint8_t result; 311 - uint8_t dif_status; 314 + __u8 result; 315 + __u8 dif_status; 312 316 }; 313 - uint8_t fault_info; 314 - uint8_t rsvd; 317 + __u8 fault_info; 318 + __u8 rsvd; 315 319 union { 316 - uint32_t bytes_completed; 317 - uint32_t descs_completed; 320 + __u32 bytes_completed; 321 + __u32 descs_completed; 318 322 }; 319 - uint64_t fault_addr; 323 + __u64 fault_addr; 320 324 union { 321 325 /* common record */ 322 326 struct { 323 - uint32_t invalid_flags:24; 324 - uint32_t rsvd2:8; 327 + __u32 invalid_flags:24; 328 + __u32 rsvd2:8; 325 329 }; 326 330 327 - uint32_t delta_rec_size; 328 - uint64_t crc_val; 331 + __u32 delta_rec_size; 332 + __u64 crc_val; 329 333 330 334 /* DIF check & strip */ 331 335 struct { 332 - uint32_t dif_chk_ref_tag; 333 - uint16_t dif_chk_app_tag_mask; 334 - uint16_t dif_chk_app_tag; 336 + __u32 dif_chk_ref_tag; 337 + __u16 dif_chk_app_tag_mask; 338 + __u16 dif_chk_app_tag; 335 339 }; 336 340 337 341 /* DIF insert */ 338 342 struct { 339 - uint64_t dif_ins_res; 340 - uint32_t dif_ins_ref_tag; 341 - uint16_t dif_ins_app_tag_mask; 342 - uint16_t dif_ins_app_tag; 343 + __u64 dif_ins_res; 344 + __u32 dif_ins_ref_tag; 345 + __u16 dif_ins_app_tag_mask; 346 + __u16 dif_ins_app_tag; 343 347 }; 344 348 345 349 /* DIF update */ 346 350 struct { 347 - uint32_t dif_upd_src_ref_tag; 348 - uint16_t dif_upd_src_app_tag_mask; 349 - uint16_t dif_upd_src_app_tag; 350 - uint32_t dif_upd_dest_ref_tag; 351 - uint16_t dif_upd_dest_app_tag_mask; 352 - uint16_t dif_upd_dest_app_tag; 351 + __u32 dif_upd_src_ref_tag; 352 + __u16 dif_upd_src_app_tag_mask; 353 + __u16 dif_upd_src_app_tag; 354 + __u32 dif_upd_dest_ref_tag; 355 + __u16 dif_upd_dest_app_tag_mask; 356 + __u16 dif_upd_dest_app_tag; 353 357 }; 354 358 355 359 /* DIX generate */ 356 360 struct { 357 - uint64_t dix_gen_res; 358 - uint32_t dix_ref_tag; 359 - uint16_t dix_app_tag_mask; 360 - uint16_t dix_app_tag; 361 + __u64 dix_gen_res; 362 + __u32 dix_ref_tag; 363 + __u16 dix_app_tag_mask; 364 + __u16 dix_app_tag; 361 365 }; 362 366 363 - uint8_t op_specific[16]; 367 + __u8 op_specific[16]; 364 368 }; 365 369 } __attribute__((packed)); 366 370 367 371 struct dsa_raw_completion_record { 368 - uint64_t field[4]; 372 + __u64 field[4]; 369 373 } __attribute__((packed)); 370 374 371 375 struct iax_completion_record { 372 - volatile uint8_t status; 373 - uint8_t error_code; 374 - uint8_t fault_info; 375 - uint8_t rsvd; 376 - uint32_t bytes_completed; 377 - uint64_t fault_addr; 378 - uint32_t invalid_flags; 379 - uint32_t rsvd2; 380 - uint32_t output_size; 381 - uint8_t output_bits; 382 - uint8_t rsvd3; 383 - uint16_t xor_csum; 384 - uint32_t crc; 385 - uint32_t min; 386 - uint32_t max; 387 - uint32_t sum; 388 - uint64_t rsvd4[2]; 376 + volatile __u8 status; 377 + __u8 error_code; 378 + __u8 fault_info; 379 + __u8 rsvd; 380 + __u32 bytes_completed; 381 + __u64 fault_addr; 382 + __u32 invalid_flags; 383 + __u32 rsvd2; 384 + __u32 output_size; 385 + __u8 output_bits; 386 + __u8 rsvd3; 387 + __u16 xor_csum; 388 + __u32 crc; 389 + __u32 min; 390 + __u32 max; 391 + __u32 sum; 392 + __u64 rsvd4[2]; 389 393 } __attribute__((packed)); 390 394 391 395 struct iax_raw_completion_record { 392 - uint64_t field[8]; 396 + __u64 field[8]; 393 397 } __attribute__((packed)); 394 398 395 399 #endif