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

drm/amdgpu/uvd: consolidate code for fetching addr from ctx

Same code duplicated in both functions.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

+16 -12
+16 -12
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
··· 360 360 } 361 361 } 362 362 363 + static u64 amdgpu_uvd_get_addr_from_ctx(struct amdgpu_uvd_cs_ctx *ctx) 364 + { 365 + uint32_t lo, hi; 366 + uint64_t addr; 367 + 368 + lo = amdgpu_get_ib_value(ctx->parser, ctx->ib_idx, ctx->data0); 369 + hi = amdgpu_get_ib_value(ctx->parser, ctx->ib_idx, ctx->data1); 370 + addr = ((uint64_t)lo) | (((uint64_t)hi) << 32); 371 + 372 + return addr; 373 + } 374 + 363 375 /** 364 376 * amdgpu_uvd_cs_pass1 - first parsing round 365 377 * ··· 384 372 { 385 373 struct amdgpu_bo_va_mapping *mapping; 386 374 struct amdgpu_bo *bo; 387 - uint32_t cmd, lo, hi; 388 - uint64_t addr; 375 + uint32_t cmd; 376 + uint64_t addr = amdgpu_uvd_get_addr_from_ctx(ctx); 389 377 int r = 0; 390 - 391 - lo = amdgpu_get_ib_value(ctx->parser, ctx->ib_idx, ctx->data0); 392 - hi = amdgpu_get_ib_value(ctx->parser, ctx->ib_idx, ctx->data1); 393 - addr = ((uint64_t)lo) | (((uint64_t)hi) << 32); 394 378 395 379 mapping = amdgpu_cs_find_mapping(ctx->parser, addr, &bo); 396 380 if (mapping == NULL) { ··· 706 698 { 707 699 struct amdgpu_bo_va_mapping *mapping; 708 700 struct amdgpu_bo *bo; 709 - uint32_t cmd, lo, hi; 701 + uint32_t cmd; 710 702 uint64_t start, end; 711 - uint64_t addr; 703 + uint64_t addr = amdgpu_uvd_get_addr_from_ctx(ctx); 712 704 int r; 713 - 714 - lo = amdgpu_get_ib_value(ctx->parser, ctx->ib_idx, ctx->data0); 715 - hi = amdgpu_get_ib_value(ctx->parser, ctx->ib_idx, ctx->data1); 716 - addr = ((uint64_t)lo) | (((uint64_t)hi) << 32); 717 705 718 706 mapping = amdgpu_cs_find_mapping(ctx->parser, addr, &bo); 719 707 if (mapping == NULL)