Skip to content

Commit c290db0

Browse files
committed
Merge tag 'drm-fixes-2022-12-02' of git://anongit.freedesktop.org/drm/drm
Pull drm fixes from Dave Airlie: "Things do seem to have finally settled down, just four i915 and one amdgpu this week. Probably won't have much for next week if you do push rc8 out. i915: - Fix dram info readout - Remove non-existent pipes from bigjoiner pipe mask - Fix negative value passed as remaining time - Never return 0 if not all requests retired amdgpu: - VCN fix for vangogh" * tag 'drm-fixes-2022-12-02' of git://anongit.freedesktop.org/drm/drm: drm/amdgpu: enable Vangogh VCN indirect sram mode drm/i915: Never return 0 if not all requests retired drm/i915: Fix negative value passed as remaining time drm/i915: Remove non-existent pipes from bigjoiner pipe mask drm/i915/mtl: Fix dram info readout
2 parents bdaa78c + c082fbd commit c290db0

File tree

5 files changed

+19
-8
lines changed

5 files changed

+19
-8
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ int amdgpu_vcn_sw_init(struct amdgpu_device *adev)
156156
break;
157157
case IP_VERSION(3, 0, 2):
158158
fw_name = FIRMWARE_VANGOGH;
159+
if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) &&
160+
(adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG))
161+
adev->vcn.indirect_sram = true;
159162
break;
160163
case IP_VERSION(3, 0, 16):
161164
fw_name = FIRMWARE_DIMGREY_CAVEFISH;

drivers/gpu/drm/i915/display/intel_display.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3723,12 +3723,16 @@ static bool ilk_get_pipe_config(struct intel_crtc *crtc,
37233723

37243724
static u8 bigjoiner_pipes(struct drm_i915_private *i915)
37253725
{
3726+
u8 pipes;
3727+
37263728
if (DISPLAY_VER(i915) >= 12)
3727-
return BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D);
3729+
pipes = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D);
37283730
else if (DISPLAY_VER(i915) >= 11)
3729-
return BIT(PIPE_B) | BIT(PIPE_C);
3731+
pipes = BIT(PIPE_B) | BIT(PIPE_C);
37303732
else
3731-
return 0;
3733+
pipes = 0;
3734+
3735+
return pipes & RUNTIME_INFO(i915)->pipe_mask;
37323736
}
37333737

37343738
static bool transcoder_ddi_func_is_enabled(struct drm_i915_private *dev_priv,

drivers/gpu/drm/i915/gt/intel_gt.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -625,8 +625,13 @@ int intel_gt_wait_for_idle(struct intel_gt *gt, long timeout)
625625
return -EINTR;
626626
}
627627

628-
return timeout ? timeout : intel_uc_wait_for_idle(&gt->uc,
629-
remaining_timeout);
628+
if (timeout)
629+
return timeout;
630+
631+
if (remaining_timeout < 0)
632+
remaining_timeout = 0;
633+
634+
return intel_uc_wait_for_idle(&gt->uc, remaining_timeout);
630635
}
631636

632637
int intel_gt_init(struct intel_gt *gt)

drivers/gpu/drm/i915/gt/intel_gt_requests.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ out_active: spin_lock(&timelines->lock);
199199
if (remaining_timeout)
200200
*remaining_timeout = timeout;
201201

202-
return active_count ? timeout : 0;
202+
return active_count ? timeout ?: -ETIME : 0;
203203
}
204204

205205
static void retire_work_handler(struct work_struct *work)

drivers/gpu/drm/i915/intel_dram.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -471,8 +471,7 @@ static int xelpdp_get_dram_info(struct drm_i915_private *i915)
471471
u32 val = intel_uncore_read(&i915->uncore, MTL_MEM_SS_INFO_GLOBAL);
472472
struct dram_info *dram_info = &i915->dram_info;
473473

474-
val = REG_FIELD_GET(MTL_DDR_TYPE_MASK, val);
475-
switch (val) {
474+
switch (REG_FIELD_GET(MTL_DDR_TYPE_MASK, val)) {
476475
case 0:
477476
dram_info->type = INTEL_DRAM_DDR4;
478477
break;

0 commit comments

Comments
 (0)