- /**
* Pointer to a u32 array of &drm_panfrost_submit_bo_desc objects. This
* field is meant to replace &drm_panfrost_submit.bo_handles which did
* not provide enough information to relax synchronization between
* jobs that only only read the BO they share. When both
* &drm_panfrost_submit.bo_handles and &drm_panfrost_submit.bo_descs
* are provided, drm_panfrost_submit.bo_handles is ignored.
*/
- __u64 bo_descs;
- /**
* Number of BO descriptors passed in (size is that times
* sizeof(drm_panfrost_submit_bo_desc)).
*/
- __u32 bo_desc_count;
We don't really need another count field. bo_handle_count could be re-used. Indeed this could even be handled with just a flags field with a new flag specifying that bo_handles no longer points to handles but to bo_desc objects instead.
This seems like the cleaniest approach (also bumping the ABI version).