mbox

[git,pull] drm fixes for 4.9-rc4

Message ID CAPM=9txncV3VmWUcpmP1k4tUTuOqL6nG7-VjQkqgrtFec_U5SA@mail.gmail.com
State New
Headers show

Pull-request

git://people.freedesktop.org/~airlied/linux tags/drm-fixes-for-v4.9-rc4

Message

Dave Airlie Nov. 3, 2016, 12:31 a.m. UTC
Hi Linus,

Hope kernel summit is going well, this is a bit larger than I'd like,
but I had some stuff I meant to send for -rc3 but was waiting for the
PAT regression fix to land. So this is really fixes for rc3 and rc4 in
one go.

There are a set of fixes for an oops we've been seeing around MST
display unplug, along with more suspend/resume and shutdown fixes for
amdgpu, one power management follow on fix for nouveau, and set of imx
fixes, and a single virtio-gpu regression fix.

Dave.

The following changes since commit a909d3e636995ba7c349e2ca5dbb528154d4ac30:

  Linux 4.9-rc3 (2016-10-29 13:52:02 -0700)

are available in the git repository at:

  git://people.freedesktop.org/~airlied/linux tags/drm-fixes-for-v4.9-rc4

for you to fetch changes up to 7ec30fca2c966293c4593e20459861b106fd62e9:

  Merge tag 'drm-intel-fixes-2016-11-01' of
git://anongit.freedesktop.org/drm-intel into drm-fixes (2016-11-03
10:18:20 +1000)

----------------------------------------------------------------
drm fixes for amdgpu, radeon, intel, imx and virtio-gpu

----------------------------------------------------------------
Alex Deucher (10):
      drm/amdgpu/powerplay/smu7: fix static checker warning
      drm/amdgpu: drop atom scratch save/restore in gpu reset
      drm/amdgpu: move atom scratch register save/restore to common code
      drm/amdgpu/st: move ATC CG golden init from gfx to mc
      drm/amdgpu: explicitly set pg_flags for ST
      drm/amdgpu: cancel reset work on fini
      drm/amdgpu/dpm: flush any thermal work on fini
      drm/amdgpu/vce3: only enable 3 rings on new enough firmware (v2)
      drm/radeon/si_dpm: workaround for SI kickers
      drm/amdgpu/si_dpm: workaround for SI kickers

Arnd Bergmann (1):
      drm/imx: hide an unused label

Chris Wilson (1):
      drm/i915: Use fence_write() from rpm resume

Dan Carpenter (2):
      drm/imx: drm_dev_alloc() returns error pointers
      drm/i915: fix a read size argument

Daniel Stone (1):
      drm: i915: Wait for fences on new fb, not old

Dave Airlie (5):
      Merge tag 'drm-misc-fixes-2016-10-27' of
git://anongit.freedesktop.org/git/drm-misc into drm-fixes
      Merge branch 'drm-fixes-4.9' of
git://people.freedesktop.org/~agd5f/linux into drm-fixes
      Merge branch 'drm-fixes-staging' of
ssh://people.freedesktop.org/~/linux into drm-fixes
      Merge tag 'imx-drm-fixes-20161021' of
git://git.pengutronix.de/pza/linux into drm-fixes
      Merge tag 'drm-intel-fixes-2016-11-01' of
git://anongit.freedesktop.org/drm-intel into drm-fixes

Evan Quan (1):
      drm/amd/amdgpu: expose max engine and memory clock for powerplay
enabled case

Felix Monninger (1):
      drm: Release reference from blob lookup after replacing property

Gerd Hoffmann (1):
      virtio-gpu: fix vblank events

Grazvydas Ignotas (5):
      drm/amd/powerplay: don't give up if DPM is already running
      drm/amdgpu: fix sched fence slab teardown
      drm/amdgpu: fix a vm_flush fence leak
      drm/amdgpu: update kernel-doc for some functions
      drm/amdgpu: fix fence slab teardown

Imre Deak (1):
      drm/i915: Fix mismatched INIT power domain disabling during suspend

Jani Nikula (2):
      drm/i915: keep declarations in i915_drv.h
      drm/i915: workaround sparse warning on variable length arrays

Liu Ying (3):
      drm/imx: ipuv3-plane: Switch EBA buffer only when we don't need modeset
      drm/imx: ipuv3-plane: Skip setting u/vbo only when we don't need modeset
      drm/imx: ipuv3-plane: Access old u/vbo properly in
->atomic_check for YU12/YV12

Lucas Stach (1):
      drm/radeon: drop register readback in cayman_cp_int_cntl_setup

Michel Dänzer (1):
      Revert "drm/radeon: fix DP link training issue with second 4K monitor"

Paulo Zanoni (3):
      drm/i915/gen9: fix DDB partitioning for multi-screen cases
      drm/i915/gen9: fix watermarks when using the pipe scaler
      drm/i915/fbc: fix CFB size calculation for gen8+

Peter Wu (1):
      drm/nouveau/acpi: fix check for power resources support

Philipp Zabel (2):
      drm/imx: ipuv3-plane: make sure x/y offsets are even in case of
chroma subsampling
      drm/imx: ipuv3-plane: disable local alpha for planes without alpha channel

Rex Zhu (3):
      drm/amd/powerplay: fix static checker warning in process_pptables_v1_0.c
      drm/amdgpu: fix s3 resume back, uvd dpm randomly can't disable.
      drm/amd/powerplay: fix bug get wrong evv voltage of Polaris.

Takashi Iwai (1):
      drm/fb-helper: Don't call dirty callback for untouched clips

Tom St Denis (1):
      drm/radeon/si_dpm: Limit clocks on HD86xx part

Tvrtko Ursulin (2):
      drm/i915: Rotated view does not need a fence
      drm/i915: Remove two invalid warns

Ville Syrjälä (8):
      drm/fb-helper: Fix connector ref leak on error
      drm: Don't force all planes to be added to the state due to zpos
      drm/fb-helper: Keep references for the current set of used connectors
      drm/dp/mst: Clear port->pdt when tearing down the i2c adapter
      drm/dp/mst: Check peer device type before attempting EDID read
      drm/i915: Respect alternate_aux_channel for all DDI ports
      drm/i915: Clean up DDI DDC/AUX CH sanitation
      drm/i915: Fix SKL+ 90/270 degree rotated plane coordinate computation

Wei Yongjun (1):
      gpu: ipu-v3: Use ERR_CAST instead of ERR_PTR(PTR_ERR())

jimqu (1):
      drm/amdgpu: avoid drm error log during S3 on RHEL7.3

 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c             |   3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c         |   9 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c          |   1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c            |   2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c            |   6 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c             |   1 +
 drivers/gpu/drm/amd/amdgpu/ci_dpm.c                |   4 +-
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c             |   6 -
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c             |   6 -
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c              |   6 -
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c              |   6 -
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c              |   1 -
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c              |   1 +
 drivers/gpu/drm/amd/amdgpu/kv_dpm.c                |   2 +
 drivers/gpu/drm/amd/amdgpu/si_dpm.c                |  61 ++++++++---
 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c              |   6 +
 drivers/gpu/drm/amd/amdgpu/vi.c                    |   2 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c        |   2 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.c   |   3 +-
 .../amd/powerplay/hwmgr/process_pptables_v1_0.c    |   9 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c   |  17 +--
 drivers/gpu/drm/amd/scheduler/gpu_scheduler.c      |   1 +
 drivers/gpu/drm/amd/scheduler/sched_fence.c        |   4 +-
 drivers/gpu/drm/drm_atomic.c                       |   9 +-
 drivers/gpu/drm/drm_atomic_helper.c                |   4 -
 drivers/gpu/drm/drm_dp_mst_topology.c              |   6 +-
 drivers/gpu/drm/drm_fb_helper.c                    |  68 +++++++-----
 drivers/gpu/drm/exynos/exynos_drm_drv.c            |  20 ++++
 drivers/gpu/drm/exynos/exynos_drm_drv.h            |   1 +
 drivers/gpu/drm/exynos/exynos_drm_fb.c             |   2 +-
 drivers/gpu/drm/i915/i915_drv.c                    |   4 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   5 +
 drivers/gpu/drm/i915/i915_gem.c                    |  10 +-
 drivers/gpu/drm/i915/i915_gem_fence.c              |  21 +++-
 drivers/gpu/drm/i915/i915_pci.c                    |   7 --
 drivers/gpu/drm/i915/intel_bios.c                  | 122 +++++++++++++--------
 drivers/gpu/drm/i915/intel_device_info.c           |   2 +-
 drivers/gpu/drm/i915/intel_display.c               |   5 +-
 drivers/gpu/drm/i915/intel_dp.c                    |  75 +++++++------
 drivers/gpu/drm/i915/intel_fbc.c                   |   4 +-
 drivers/gpu/drm/i915/intel_pm.c                    |  24 ++--
 drivers/gpu/drm/imx/imx-drm-core.c                 |   6 +-
 drivers/gpu/drm/imx/ipuv3-plane.c                  |  28 +++--
 drivers/gpu/drm/nouveau/nouveau_acpi.c             |   3 +-
 drivers/gpu/drm/radeon/ni.c                        |   4 +-
 drivers/gpu/drm/radeon/radeon_dp_auxch.c           |   2 +-
 drivers/gpu/drm/radeon/si_dpm.c                    |  53 +++++++--
 drivers/gpu/drm/rcar-du/rcar_du_kms.c              |  12 +-
 drivers/gpu/drm/sti/sti_drv.c                      |  22 +++-
 drivers/gpu/drm/virtio/virtgpu_display.c           |   3 +-
 drivers/gpu/ipu-v3/ipu-image-convert.c             |   2 +-
 include/drm/drm_plane.h                            |   8 +-
 52 files changed, 450 insertions(+), 241 deletions(-)

Comments

Linus Torvalds Nov. 4, 2016, 8:38 p.m. UTC | #1
On Wed, Nov 2, 2016 at 5:31 PM, Dave Airlie <airlied@gmail.com> wrote:
>
> There are a set of fixes for an oops we've been seeing around MST
> display unplug,

Side note: I heard from a couple of people at the KS that said that
they had had problems with suspend/resume after plugging in to a 4k
display (but _only_ a 4k display - apparently normal FHD displays
didn't show this). I think at least one was USB3/Thunderbolt. Ted with
a Lenovo laptop (intel GPU) was one, I forget who else mentioned this.

I wonder if MST may have been involved. That would explain the "only
happens for 4k" issue - I assume pretty much all MST displays are 4k.

suspend/resume might obviously fall very much under that "unplug"
issue and maybe this pull request thus already fixes it, but there
might be something that is specific to _just_ suspend/resume too.

Mind taking a look?

                Linus
Daniel Vetter Nov. 8, 2016, 9:55 a.m. UTC | #2
On Fri, Nov 04, 2016 at 05:58:55PM -0400, Theodore Ts'o wrote:
> On Fri, Nov 04, 2016 at 01:38:25PM -0700, Linus Torvalds wrote:
> > On Wed, Nov 2, 2016 at 5:31 PM, Dave Airlie <airlied@gmail.com> wrote:
> > >
> > > There are a set of fixes for an oops we've been seeing around MST
> > > display unplug,
> > 
> > Side note: I heard from a couple of people at the KS that said that
> > they had had problems with suspend/resume after plugging in to a 4k
> > display (but _only_ a 4k display - apparently normal FHD displays
> > didn't show this). I think at least one was USB3/Thunderbolt. Ted with
> > a Lenovo laptop (intel GPU) was one, I forget who else mentioned this.
> 
> Actually, it's after a unplugging from a Dell 30" monitor with a 3k
> display (2560 x 1920).  This is after I've carefully deactivated the
> video output to the Dell 30" monitor, unplugged the Dell 30" monitor
> (at which point the system becomes non-responsive for 2-3 seconds for
> reasons unknown), and only suspending after the system has recovered
> from the unplug.
> 
> At that point, it's a 20-30% chance that the system will never come
> back after a suspend.  So I have to make a point of saving all of my
> editor buffers, etc., since I never can know whether my laptop will
> come back.
> 
> This was happening for years and years on the T540p laptop, as well as
> my new T460 laptop.  I've complained about this in the past, and
> gotten no response, and I've just gotten used to the fact that if I'm
> transitioning from home (where I have the 30" display) to work,
> there's a good chance the resume will lock up, and I will be forced to
> push the power button for 8 seconds to forcibly power down the laptop
> to recover from the suspend.  :-(
> 
> I agree with Linus's suspicion that I probably need to bite the bullet
> and just buy a new SST monitor, and that will probably make the
> problem go away.  But if the bug can be fixed, that would be really
> great.

This pull contains a bunch of fixes for oopses on mst connector
unplugging, and iirc those started popping up with the connector
refcounting we landed in 4.8. Definitely should retest with this before
spending more time debugging.
-Daniel