[PATCH 0/7] accel/qaic: Extend uAPI to support undoing ATTACH_SLICE_BO
Jeffrey Hugo
quic_jhugo at quicinc.com
Fri Sep 22 15:17:13 UTC 2023
On 9/17/2023 2:58 AM, Stanislaw Gruszka wrote:
> 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.
Thanks!
-Jeff
More information about the dri-devel
mailing list