Reviewed-by: Karol Wachowski <[email protected]>

On 9/25/2025 4:51 PM, Maciej Falkowski wrote:
> From: Andrzej Kacprowski <[email protected]>
>
> Fix doc description of job structure as it is
> improperly formatted. Align order of job structure's
> fields according to the documentation.
>
> Fixes: 0bf37f45d5c4 ("accel/ivpu: Add support for user-managed preemption 
> buffer")
> Signed-off-by: Andrzej Kacprowski <[email protected]>
> Signed-off-by: Maciej Falkowski <[email protected]>
> ---
>  drivers/accel/ivpu/ivpu_job.h | 44 +++++++++++++++++++++--------------
>  1 file changed, 27 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/accel/ivpu/ivpu_job.h b/drivers/accel/ivpu/ivpu_job.h
> index 6c8b9c739b51..d2fc4c151614 100644
> --- a/drivers/accel/ivpu/ivpu_job.h
> +++ b/drivers/accel/ivpu/ivpu_job.h
> @@ -15,12 +15,17 @@ struct ivpu_device;
>  struct ivpu_file_priv;
>  
>  /**
> - * struct ivpu_cmdq - Object representing device queue used to send jobs.
> - * @jobq:       Pointer to job queue memory shared with the device
> - * @mem:           Memory allocated for the job queue, shared with device
> - * @entry_count    Number of job entries in the queue
> - * @db_id:      Doorbell assigned to this job queue
> - * @db_registered: True if doorbell is registered in device
> + * struct ivpu_cmdq - Represents a command queue for submitting jobs to the 
> VPU.
> + * Tracks queue memory, preemption buffers, and metadata for job management.
> + * @jobq:                Pointer to job queue memory shared with the device
> + * @primary_preempt_buf: Primary preemption buffer for this queue (optional)
> + * @secondary_preempt_buf: Secondary preemption buffer for this queue 
> (optional)
> + * @mem:                 Memory allocated for the job queue, shared with 
> device
> + * @entry_count:         Number of job entries in the queue
> + * @id:                  Unique command queue ID
> + * @db_id:               Doorbell ID assigned to this job queue
> + * @priority:            Priority level of the command queue
> + * @is_legacy:           True if this is a legacy command queue
>   */
>  struct ivpu_cmdq {
>       struct vpu_job_queue *jobq;
> @@ -35,16 +40,21 @@ struct ivpu_cmdq {
>  };
>  
>  /**
> - * struct ivpu_job - KMD object that represents batchbuffer / DMA buffer.
> - * Each batch / DMA buffer is a job to be submitted and executed by the VPU 
> FW.
> - * This is a unit of execution, and be tracked by the job_id for
> - * any status reporting from VPU FW through IPC JOB RET/DONE message.
> - * @file_priv:                 The client that submitted this job
> - * @job_id:            Job ID for KMD tracking and job status reporting from 
> VPU FW
> - * @status:            Status of the Job from IPC JOB RET/DONE message
> - * @batch_buffer:      CPU vaddr points to the batch buffer memory allocated 
> for the job
> - * @submit_status_offset: Offset within batch buffer where job completion 
> handler
> -                       will update the job status
> + * struct ivpu_job - Representing a batch or DMA buffer submitted to the VPU.
> + * Each job is a unit of execution, tracked by job_id for status reporting 
> from VPU FW.
> + * The structure holds all resources and metadata needed for job submission, 
> execution,
> + * and completion handling.
> + * @vdev:                Pointer to the VPU device
> + * @file_priv:           The client context that submitted this job
> + * @done_fence:          Fence signaled when job completes
> + * @cmd_buf_vpu_addr:    VPU address of the command buffer for this job
> + * @cmdq_id:             Command queue ID used for submission
> + * @job_id:              Unique job ID for tracking and status reporting
> + * @engine_idx:          Engine index for job execution
> + * @primary_preempt_buf: Primary preemption buffer for job
> + * @secondary_preempt_buf: Secondary preemption buffer for job (optional)
> + * @bo_count:            Number of buffer objects associated with this job
> + * @bos:                 Array of buffer objects used by the job (batch 
> buffer is at index 0)
>   */
>  struct ivpu_job {
>       struct ivpu_device *vdev;
> @@ -54,9 +64,9 @@ struct ivpu_job {
>       u32 cmdq_id;
>       u32 job_id;
>       u32 engine_idx;
> -     size_t bo_count;
>       struct ivpu_bo *primary_preempt_buf;
>       struct ivpu_bo *secondary_preempt_buf;
> +     size_t bo_count;
>       struct ivpu_bo *bos[] __counted_by(bo_count);
>  };
>  

Reply via email to