Skip to content

Commit 3087369

Browse files
committed
Merge tag 'amd-drm-fixes-6.6-2023-10-11' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
amd-drm-fixes-6.6-2023-10-11: amdgpu: - Seemless boot fix - Fix TTM BO resource check - SI fix for doorbell handling Signed-off-by: Dave Airlie <[email protected]> From: Alex Deucher <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents 7731cb6 + 3806a8c commit 3087369

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

drivers/gpu/drm/amd/amdgpu/amdgpu_doorbell_mgr.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,10 @@ int amdgpu_doorbell_create_kernel_doorbells(struct amdgpu_device *adev)
142142
int r;
143143
int size;
144144

145+
/* SI HW does not have doorbells, skip allocation */
146+
if (adev->doorbell.num_kernel_doorbells == 0)
147+
return 0;
148+
145149
/* Reserve first num_kernel_doorbells (page-aligned) for kernel ops */
146150
size = ALIGN(adev->doorbell.num_kernel_doorbells * sizeof(u32), PAGE_SIZE);
147151

drivers/gpu/drm/amd/amdgpu/amdgpu_object.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ static inline bool amdgpu_bo_in_cpu_visible_vram(struct amdgpu_bo *bo)
252252
struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
253253
struct amdgpu_res_cursor cursor;
254254

255-
if (bo->tbo.resource->mem_type != TTM_PL_VRAM)
255+
if (!bo->tbo.resource || bo->tbo.resource->mem_type != TTM_PL_VRAM)
256256
return false;
257257

258258
amdgpu_res_first(bo->tbo.resource, 0, amdgpu_bo_size(bo), &cursor);

drivers/gpu/drm/amd/display/dc/core/dc.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,6 +1262,9 @@ static void disable_vbios_mode_if_required(
12621262
if (stream == NULL)
12631263
continue;
12641264

1265+
if (stream->apply_seamless_boot_optimization)
1266+
continue;
1267+
12651268
// only looking for first odm pipe
12661269
if (pipe->prev_odm_pipe)
12671270
continue;

0 commit comments

Comments
 (0)