summaryrefslogtreecommitdiffstats
path: root/nouveau-displayoff-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nouveau-displayoff-fix.patch')
-rw-r--r--nouveau-displayoff-fix.patch61
1 files changed, 0 insertions, 61 deletions
diff --git a/nouveau-displayoff-fix.patch b/nouveau-displayoff-fix.patch
deleted file mode 100644
index 32045d3c8..000000000
--- a/nouveau-displayoff-fix.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 95664e66fad964c3dd7945d6edfb1d0931844664 Mon Sep 17 00:00:00 2001
-From: Ben Skeggs <bskeggs@redhat.com>
-Date: Thu, 18 Feb 2016 08:14:19 +1000
-Subject: drm/nouveau/disp/dp: ensure sink is powered up before attempting link
- training
-
-This can happen under some annoying circumstances, and is a quick fix
-until more substantial changes can be made.
-
-Fixed eDP mode changes on (at least) the Lenovo P50.
-
-Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-Cc: stable@vger.kernel.org
-
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.c
-index 74e2f7c..9688970 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.c
-@@ -328,6 +328,7 @@ nvkm_dp_train(struct work_struct *w)
- .outp = outp,
- }, *dp = &_dp;
- u32 datarate = 0;
-+ u8 pwr;
- int ret;
-
- if (!outp->base.info.location && disp->func->sor.magic)
-@@ -355,6 +356,15 @@ nvkm_dp_train(struct work_struct *w)
- /* disable link interrupt handling during link training */
- nvkm_notify_put(&outp->irq);
-
-+ /* ensure sink is not in a low-power state */
-+ if (!nvkm_rdaux(outp->aux, DPCD_SC00, &pwr, 1)) {
-+ if ((pwr & DPCD_SC00_SET_POWER) != DPCD_SC00_SET_POWER_D0) {
-+ pwr &= ~DPCD_SC00_SET_POWER;
-+ pwr |= DPCD_SC00_SET_POWER_D0;
-+ nvkm_wraux(outp->aux, DPCD_SC00, &pwr, 1);
-+ }
-+ }
-+
- /* enable down-spreading and execute pre-train script from vbios */
- dp_link_train_init(dp, outp->dpcd[3] & 0x01);
-
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.h
-index 9596290..6e10c5e 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.h
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.h
-@@ -71,5 +71,11 @@
- #define DPCD_LS0C_LANE1_POST_CURSOR2 0x0c
- #define DPCD_LS0C_LANE0_POST_CURSOR2 0x03
-
-+/* DPCD Sink Control */
-+#define DPCD_SC00 0x00600
-+#define DPCD_SC00_SET_POWER 0x03
-+#define DPCD_SC00_SET_POWER_D0 0x01
-+#define DPCD_SC00_SET_POWER_D3 0x03
-+
- void nvkm_dp_train(struct work_struct *);
- #endif
---
-cgit v0.10.2
-