forked from mirrors/linux
		
	drm/amdgpu: use GTT only as fallback for VRAM|GTT
Try to fill up VRAM as well by setting the busy flag on GTT allocations. This fixes the issue that when VRAM was evacuated for suspend it's never filled up again unless the application is restarted. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Zack Rusin <zack.rusin@broadcom.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240229134003.3688-2-christian.koenig@amd.com
This commit is contained in:
		
							parent
							
								
									cc941c70df
								
							
						
					
					
						commit
						216c1282dd
					
				
					 1 changed files with 6 additions and 0 deletions
				
			
		| 
						 | 
					@ -173,6 +173,12 @@ void amdgpu_bo_placement_from_domain(struct amdgpu_bo *abo, u32 domain)
 | 
				
			||||||
			abo->flags & AMDGPU_GEM_CREATE_PREEMPTIBLE ?
 | 
								abo->flags & AMDGPU_GEM_CREATE_PREEMPTIBLE ?
 | 
				
			||||||
			AMDGPU_PL_PREEMPT : TTM_PL_TT;
 | 
								AMDGPU_PL_PREEMPT : TTM_PL_TT;
 | 
				
			||||||
		places[c].flags = 0;
 | 
							places[c].flags = 0;
 | 
				
			||||||
 | 
							/*
 | 
				
			||||||
 | 
							 * When GTT is just an alternative to VRAM make sure that we
 | 
				
			||||||
 | 
							 * only use it as fallback and still try to fill up VRAM first.
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							if (domain & abo->preferred_domains & AMDGPU_GEM_DOMAIN_VRAM)
 | 
				
			||||||
 | 
								places[c].flags |= TTM_PL_FLAG_FALLBACK;
 | 
				
			||||||
		c++;
 | 
							c++;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue