mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 20:02:17 +00:00
Merge tag 'drm-intel-fixes-2022-12-01' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
- Fix dram info readout (Radhakrishna Sripada) - Remove non-existent pipes from bigjoiner pipe mask (Ville Syrjälä) - Fix negative value passed as remaining time (Janusz Krzysztofik) - Never return 0 if not all requests retired (Janusz Krzysztofik) Signed-off-by: Dave Airlie <airlied@redhat.com> From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/Y4hp+a3TJ13t2ZA1@tursulin-desk
This commit is contained in:
commit
65a388250e
4 changed files with 16 additions and 8 deletions
|
@ -3723,12 +3723,16 @@ static bool ilk_get_pipe_config(struct intel_crtc *crtc,
|
||||||
|
|
||||||
static u8 bigjoiner_pipes(struct drm_i915_private *i915)
|
static u8 bigjoiner_pipes(struct drm_i915_private *i915)
|
||||||
{
|
{
|
||||||
|
u8 pipes;
|
||||||
|
|
||||||
if (DISPLAY_VER(i915) >= 12)
|
if (DISPLAY_VER(i915) >= 12)
|
||||||
return BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D);
|
pipes = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D);
|
||||||
else if (DISPLAY_VER(i915) >= 11)
|
else if (DISPLAY_VER(i915) >= 11)
|
||||||
return BIT(PIPE_B) | BIT(PIPE_C);
|
pipes = BIT(PIPE_B) | BIT(PIPE_C);
|
||||||
else
|
else
|
||||||
return 0;
|
pipes = 0;
|
||||||
|
|
||||||
|
return pipes & RUNTIME_INFO(i915)->pipe_mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool transcoder_ddi_func_is_enabled(struct drm_i915_private *dev_priv,
|
static bool transcoder_ddi_func_is_enabled(struct drm_i915_private *dev_priv,
|
||||||
|
|
|
@ -625,8 +625,13 @@ int intel_gt_wait_for_idle(struct intel_gt *gt, long timeout)
|
||||||
return -EINTR;
|
return -EINTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
return timeout ? timeout : intel_uc_wait_for_idle(>->uc,
|
if (timeout)
|
||||||
remaining_timeout);
|
return timeout;
|
||||||
|
|
||||||
|
if (remaining_timeout < 0)
|
||||||
|
remaining_timeout = 0;
|
||||||
|
|
||||||
|
return intel_uc_wait_for_idle(>->uc, remaining_timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
int intel_gt_init(struct intel_gt *gt)
|
int intel_gt_init(struct intel_gt *gt)
|
||||||
|
|
|
@ -199,7 +199,7 @@ out_active: spin_lock(&timelines->lock);
|
||||||
if (remaining_timeout)
|
if (remaining_timeout)
|
||||||
*remaining_timeout = timeout;
|
*remaining_timeout = timeout;
|
||||||
|
|
||||||
return active_count ? timeout : 0;
|
return active_count ? timeout ?: -ETIME : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void retire_work_handler(struct work_struct *work)
|
static void retire_work_handler(struct work_struct *work)
|
||||||
|
|
|
@ -471,8 +471,7 @@ static int xelpdp_get_dram_info(struct drm_i915_private *i915)
|
||||||
u32 val = intel_uncore_read(&i915->uncore, MTL_MEM_SS_INFO_GLOBAL);
|
u32 val = intel_uncore_read(&i915->uncore, MTL_MEM_SS_INFO_GLOBAL);
|
||||||
struct dram_info *dram_info = &i915->dram_info;
|
struct dram_info *dram_info = &i915->dram_info;
|
||||||
|
|
||||||
val = REG_FIELD_GET(MTL_DDR_TYPE_MASK, val);
|
switch (REG_FIELD_GET(MTL_DDR_TYPE_MASK, val)) {
|
||||||
switch (val) {
|
|
||||||
case 0:
|
case 0:
|
||||||
dram_info->type = INTEL_DRAM_DDR4;
|
dram_info->type = INTEL_DRAM_DDR4;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue