On Fri, Sep 01, 2023 at 11:22:40AM -0600, Jeffrey Hugo wrote: > A BO for a QAIC device has two states - > 1. Allocated > 2. Sliced > > A BO can be allocated at any time, and is initialized in the allocated state. > A BO can transition to the sliced state via ATTACH_SLICE_BO. This prepares the > BO for use with an active workload. Currently a BO in the sliced state can > only be used with a single workload, and will only transition back to the > allocated state once the workload is deactivated. > > Userspace would like the ability to trigger a BO transition from the sliced > state to the allocated state. This would support the usecase of a userspace > client that has two active workloads, where the output of the first workload > becomes the input of the second workload. Currently, the client would need > two BOs, once for each workload, and copy from one BO to the other. > > To support this usecase, we create the detach slice concept which is the > inverse operation of ATTACH_SLICE_BO. We extend the uAPI with a new > DETACH_SLICE_BO ioctl that allows userspace to perform this operation. > > Since ATTACH_SLICE_BO and DETACH_SLICE_BO are related operations, they share > a decent amount of code. This series starts with restructuring the common code > for use in both ioctls before finally adding the DETACH_SLICE_BO. > > Pranjal Ramajor Asha Kanojiya (7): > accel/qaic: Remove ->size field from struct qaic_bo > accel/qaic: Update BO metadata in a central location > accel/qaic: Declare BO 'sliced' after all the operations are complete > accel/qaic: Undo slicing setup done in qaic_attach_slicing_bo() > accel/qaic: Clean up BO during flushing of transfer list > accel/qaic: Create a function to initialize BO > accel/qaic: Add QAIC_DETACH_SLICE_BO IOCTL > > Documentation/accel/qaic/qaic.rst | 10 ++ > drivers/accel/qaic/qaic.h | 6 +- > drivers/accel/qaic/qaic_data.c | 187 +++++++++++++++++++++++------- > drivers/accel/qaic/qaic_drv.c | 1 + > include/uapi/drm/qaic_accel.h | 24 +++- > 5 files changed, 175 insertions(+), 53 deletions(-) Do not see any serious issues with the set. Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@xxxxxxxxxxxxxxx> for the whole series.