[PATCH 0/7] accel/qaic: Extend uAPI to support undoing ATTACH_SLICE_BO

Stanislaw Gruszka stanislaw.gruszka at linux.intel.com
Sun Sep 17 08:58:38 UTC 2023


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 at linux.intel.com> for the whole series.



More information about the dri-devel mailing list