mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	drm/msm: Small submitqueue creation cleanup
If we don't have a gpu, there is no need to create a submitqueue, which lets us simplify the error handling and submitqueue creation. Signed-off-by: Rob Clark <robdclark@chromium.org> Acked-by: Christian König <christian.koenig@amd.com> Link: https://lore.kernel.org/r/20210728010632.2633470-3-robdclark@gmail.com Signed-off-by: Rob Clark <robdclark@chromium.org>
This commit is contained in:
		
							parent
							
								
									375f9a63a6
								
							
						
					
					
						commit
						86c2a0f000
					
				
					 1 changed files with 11 additions and 11 deletions
				
			
		| 
						 | 
					@ -66,6 +66,12 @@ int msm_submitqueue_create(struct drm_device *drm, struct msm_file_private *ctx,
 | 
				
			||||||
	if (!ctx)
 | 
						if (!ctx)
 | 
				
			||||||
		return -ENODEV;
 | 
							return -ENODEV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (!priv->gpu)
 | 
				
			||||||
 | 
							return -ENODEV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (prio >= priv->gpu->nr_rings)
 | 
				
			||||||
 | 
							return -EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	queue = kzalloc(sizeof(*queue), GFP_KERNEL);
 | 
						queue = kzalloc(sizeof(*queue), GFP_KERNEL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!queue)
 | 
						if (!queue)
 | 
				
			||||||
| 
						 | 
					@ -73,15 +79,7 @@ int msm_submitqueue_create(struct drm_device *drm, struct msm_file_private *ctx,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	kref_init(&queue->ref);
 | 
						kref_init(&queue->ref);
 | 
				
			||||||
	queue->flags = flags;
 | 
						queue->flags = flags;
 | 
				
			||||||
 | 
						queue->prio = prio;
 | 
				
			||||||
	if (priv->gpu) {
 | 
					 | 
				
			||||||
		if (prio >= priv->gpu->nr_rings) {
 | 
					 | 
				
			||||||
			kfree(queue);
 | 
					 | 
				
			||||||
			return -EINVAL;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		queue->prio = prio;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	write_lock(&ctx->queuelock);
 | 
						write_lock(&ctx->queuelock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -107,12 +105,14 @@ int msm_submitqueue_init(struct drm_device *drm, struct msm_file_private *ctx)
 | 
				
			||||||
	struct msm_drm_private *priv = drm->dev_private;
 | 
						struct msm_drm_private *priv = drm->dev_private;
 | 
				
			||||||
	int default_prio;
 | 
						int default_prio;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (!priv->gpu)
 | 
				
			||||||
 | 
							return -ENODEV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * Select priority 2 as the "default priority" unless nr_rings is less
 | 
						 * Select priority 2 as the "default priority" unless nr_rings is less
 | 
				
			||||||
	 * than 2 and then pick the lowest priority
 | 
						 * than 2 and then pick the lowest priority
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	default_prio = priv->gpu ?
 | 
						default_prio = clamp_t(uint32_t, 2, 0, priv->gpu->nr_rings - 1);
 | 
				
			||||||
		clamp_t(uint32_t, 2, 0, priv->gpu->nr_rings - 1) : 0;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	INIT_LIST_HEAD(&ctx->submitqueues);
 | 
						INIT_LIST_HEAD(&ctx->submitqueues);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue