Skip to content

Commit aca3873

Browse files
committed
Merge tag 'drm-intel-fixes-2021-04-22' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
- GVT's BDW regression fix for cmd parser (Zhenyu) - Fix modesetting in case of unexpected AUX timeouts (Imre) Signed-off-by: Dave Airlie <airlied@redhat.com> From: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/YIGZ3pQPgPQtZtyI@intel.com
2 parents b4d1913 + 2d29299 commit aca3873

2 files changed

Lines changed: 15 additions & 7 deletions

File tree

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -848,7 +848,8 @@ void intel_dp_start_link_train(struct intel_dp *intel_dp,
848848
int lttpr_count = intel_dp_init_lttpr_and_dprx_caps(intel_dp);
849849

850850
if (lttpr_count < 0)
851-
return;
851+
/* Still continue with enabling the port and link training. */
852+
lttpr_count = 0;
852853

853854
if (!intel_dp_link_train_all_phys(intel_dp, crtc_state, lttpr_count))
854855
intel_dp_schedule_fallback_link_training(intel_dp, crtc_state);

drivers/gpu/drm/i915/gvt/cmd_parser.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -916,19 +916,26 @@ static int cmd_reg_handler(struct parser_exec_state *s,
916916

917917
if (!strncmp(cmd, "srm", 3) ||
918918
!strncmp(cmd, "lrm", 3)) {
919-
if (offset != i915_mmio_reg_offset(GEN8_L3SQCREG4) &&
920-
offset != 0x21f0) {
919+
if (offset == i915_mmio_reg_offset(GEN8_L3SQCREG4) ||
920+
offset == 0x21f0 ||
921+
(IS_BROADWELL(gvt->gt->i915) &&
922+
offset == i915_mmio_reg_offset(INSTPM)))
923+
return 0;
924+
else {
921925
gvt_vgpu_err("%s access to register (%x)\n",
922926
cmd, offset);
923927
return -EPERM;
924-
} else
925-
return 0;
928+
}
926929
}
927930

928931
if (!strncmp(cmd, "lrr-src", 7) ||
929932
!strncmp(cmd, "lrr-dst", 7)) {
930-
gvt_vgpu_err("not allowed cmd %s\n", cmd);
931-
return -EPERM;
933+
if (IS_BROADWELL(gvt->gt->i915) && offset == 0x215c)
934+
return 0;
935+
else {
936+
gvt_vgpu_err("not allowed cmd %s reg (%x)\n", cmd, offset);
937+
return -EPERM;
938+
}
932939
}
933940

934941
if (!strncmp(cmd, "pipe_ctrl", 9)) {

0 commit comments

Comments
 (0)