[git pull] drm nouveau runpm and mst fixes

From: Dave Airlie
Date: Wed Sep 12 2018 - 20:04:39 EST

Hi Linus,

I'm sending this separately as it's a bit larger than I generally like
for one driver, but it does contain a bunch of make my nvidia laptop
not die (runpm) and a bunch of make my docking station and monitor
display stuff (mst) fixes.

Lyude has spent a lot of time on these, and we are putting the fixes
into distro kernels as well asap, as it helps a bunch of standard
Lenovo laptops, so I'm fairly happy things are better than they were
before these patches, but I decided to split them out just for

I'll have a normal -fixes pull tomorrow most likely.


nouveau runpm and MST race fixes.
The following changes since commit 11da3a7f84f19c26da6f86af878298694ede0804:

Linux 4.19-rc3 (2018-09-09 17:26:43 -0700)

are available in the Git repository at:

git://anongit.freedesktop.org/drm/drm tags/drm-fixes-2018-09-12

for you to fetch changes up to 2887e5ce15ddaa2f9a19e66f7462bbf0fe6867e0:

Merge branch 'linux-4.19' of git://github.com/skeggsb/linux into
drm-fixes (2018-09-11 16:54:46 +1000)

nouveau runpm and MST race fixes.

Ben Skeggs (7):
drm/nouveau: fix oops in client init failure path
drm/nouveau/mmu: don't attempt to dereference vmm without valid
instance pointer
drm/nouveau/TBDdevinit: don't fail when PMU/PRE_OS is missing from VBIOS
drm/nouveau/disp: remove unused struct member
drm/nouveau/disp: move eDP panel power handling
drm/nouveau/disp: fix DP disable race
drm/nouveau/disp/gm200-: enforce identity-mapped SOR assignment
for LVDS/eDP panels

Dave Airlie (1):
Merge branch 'linux-4.19' of git://github.com/skeggsb/linux into drm-fixes

Lyude Paul (13):
drm/nouveau/drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement
drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend()
drm/nouveau/drm/nouveau: Fix deadlock with fb_helper with async
RPM requests
drm/nouveau/drm/nouveau: Use pm_runtime_get_noresume() in
drm/nouveau: Fix deadlocks in nouveau_connector_detect()
drm/nouveau: Remove useless poll_enable() call in switcheroo_set_state()
drm/nouveau: Remove useless poll_disable() call in switcheroo_set_state()
drm/nouveau: Remove useless poll_enable() call in drm_load()
drm/nouveau: Only write DP_MSTM_CTRL when needed
drm/nouveau: Reset MST branching unit before enabling
drm/nouveau/drm/nouveau: Prevent handling ACPI HPD events too early
drm/nouveau/drm/nouveau: Don't forget to cancel hpd_work on suspend/unload
drm/nouveau: Fix nouveau_connector_ddc_detect()

drivers/gpu/drm/nouveau/dispnv50/disp.c | 67 +++++++++----
drivers/gpu/drm/nouveau/nouveau_connector.c | 110 +++++++++++----------
drivers/gpu/drm/nouveau/nouveau_display.c | 44 ++++++---
drivers/gpu/drm/nouveau/nouveau_display.h | 2 +-
drivers/gpu/drm/nouveau/nouveau_drm.c | 21 ++--
drivers/gpu/drm/nouveau/nouveau_fbcon.c | 57 +++++++++++
drivers/gpu/drm/nouveau/nouveau_fbcon.h | 5 +
drivers/gpu/drm/nouveau/nouveau_vga.c | 2 -
drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c | 14 +++
drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c | 54 ++++++++--
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | 1 +
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c | 6 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c | 18 +++-
drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.h | 5 +-
.../gpu/drm/nouveau/nvkm/subdev/devinit/gm200.c | 3 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 2 +-
16 files changed, 297 insertions(+), 114 deletions(-)