Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amdgpu: Use helper to get ip block

Replace individual searches with the utility function get_ip_block

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Lijo Lazar and committed by
Alex Deucher
9498d187 b6b06640

+18 -25
+18 -25
drivers/gpu/drm/amd/amdgpu/amdgpu_ip.c
··· 358 358 int amdgpu_device_ip_wait_for_idle(struct amdgpu_device *adev, 359 359 enum amd_ip_block_type block_type) 360 360 { 361 - int i, r; 361 + struct amdgpu_ip_block *ip_block; 362 362 363 - for (i = 0; i < adev->num_ip_blocks; i++) { 364 - if (!adev->ip_blocks[i].status.valid) 365 - continue; 366 - if (adev->ip_blocks[i].version->type == block_type) { 367 - if (adev->ip_blocks[i].version->funcs->wait_for_idle) { 368 - r = adev->ip_blocks[i] 369 - .version->funcs->wait_for_idle( 370 - &adev->ip_blocks[i]); 371 - if (r) 372 - return r; 373 - } 374 - break; 375 - } 376 - } 363 + ip_block = amdgpu_device_ip_get_ip_block(adev, block_type); 364 + if (!ip_block || !ip_block->status.valid) 365 + return 0; 366 + 367 + if (ip_block->version->funcs->wait_for_idle) 368 + return ip_block->version->funcs->wait_for_idle(ip_block); 369 + 377 370 return 0; 378 371 } 379 372 ··· 382 389 bool amdgpu_device_ip_is_hw(struct amdgpu_device *adev, 383 390 enum amd_ip_block_type block_type) 384 391 { 385 - int i; 392 + struct amdgpu_ip_block *ip_block; 386 393 387 - for (i = 0; i < adev->num_ip_blocks; i++) { 388 - if (adev->ip_blocks[i].version->type == block_type) 389 - return adev->ip_blocks[i].status.hw; 390 - } 394 + ip_block = amdgpu_device_ip_get_ip_block(adev, block_type); 395 + if (ip_block) 396 + return ip_block->status.hw; 397 + 391 398 return false; 392 399 } 393 400 ··· 403 410 bool amdgpu_device_ip_is_valid(struct amdgpu_device *adev, 404 411 enum amd_ip_block_type block_type) 405 412 { 406 - int i; 413 + struct amdgpu_ip_block *ip_block; 407 414 408 - for (i = 0; i < adev->num_ip_blocks; i++) { 409 - if (adev->ip_blocks[i].version->type == block_type) 410 - return adev->ip_blocks[i].status.valid; 411 - } 415 + ip_block = amdgpu_device_ip_get_ip_block(adev, block_type); 416 + if (ip_block) 417 + return ip_block->status.valid; 418 + 412 419 return false; 413 420 }