Applied to drm-misc-next
On 10/1/2025 9:50 AM, Karol Wachowski wrote: > 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); >> }; >>
