mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 08:38:45 +02:00 
			
		
		
		
	drm/v3d: Ensure job pointer is set to NULL after job completion
After a job completes, the corresponding pointer in the device must
be set to NULL. Failing to do so triggers a warning when unloading
the driver, as it appears the job is still active. To prevent this,
assign the job pointer to NULL after completing the job, indicating
the job has finished.
Fixes: 14d1d19086 ("drm/v3d: Remove the bad signaled() implementation.")
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250113154741.67520-1-mcanal@igalia.com
			
			
This commit is contained in:
		
							parent
							
								
									b7d4062781
								
							
						
					
					
						commit
						e4b5ccd392
					
				
					 1 changed files with 4 additions and 0 deletions
				
			
		|  | @ -108,6 +108,7 @@ v3d_irq(int irq, void *arg) | |||
| 		v3d_job_update_stats(&v3d->bin_job->base, V3D_BIN); | ||||
| 		trace_v3d_bcl_irq(&v3d->drm, fence->seqno); | ||||
| 		dma_fence_signal(&fence->base); | ||||
| 		v3d->bin_job = NULL; | ||||
| 		status = IRQ_HANDLED; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -118,6 +119,7 @@ v3d_irq(int irq, void *arg) | |||
| 		v3d_job_update_stats(&v3d->render_job->base, V3D_RENDER); | ||||
| 		trace_v3d_rcl_irq(&v3d->drm, fence->seqno); | ||||
| 		dma_fence_signal(&fence->base); | ||||
| 		v3d->render_job = NULL; | ||||
| 		status = IRQ_HANDLED; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -128,6 +130,7 @@ v3d_irq(int irq, void *arg) | |||
| 		v3d_job_update_stats(&v3d->csd_job->base, V3D_CSD); | ||||
| 		trace_v3d_csd_irq(&v3d->drm, fence->seqno); | ||||
| 		dma_fence_signal(&fence->base); | ||||
| 		v3d->csd_job = NULL; | ||||
| 		status = IRQ_HANDLED; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -165,6 +168,7 @@ v3d_hub_irq(int irq, void *arg) | |||
| 		v3d_job_update_stats(&v3d->tfu_job->base, V3D_TFU); | ||||
| 		trace_v3d_tfu_irq(&v3d->drm, fence->seqno); | ||||
| 		dma_fence_signal(&fence->base); | ||||
| 		v3d->tfu_job = NULL; | ||||
| 		status = IRQ_HANDLED; | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Maíra Canal
						Maíra Canal