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); > }; >
