1. 25 Sep, 2019 1 commit
  2. 19 Sep, 2019 5 commits
  3. 18 Sep, 2019 4 commits
    • Daniel Vetter's avatar
      drm/atomic: Rename crtc_state->pageflip_flags to async_flip · 4d85f45c
      Daniel Vetter authored
      It's the only flag anyone actually cares about. Plus if we're unlucky,
      the atomic ioctl might need a different flag for async flips. So
      better to abstract this away from the uapi a bit.
      Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Michel Dänzer <michel@daenzer.net>
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Cc: Adam Jackson <ajax@redhat.com>
      Cc: Sean Paul <sean@poorly.run>
      Cc: David Airlie <airlied@linux.ie>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Cc: Maxime Ripard <maxime.ripard@bootlin.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
      Cc: Leo Li <sunpeng.li@amd.com>
      Cc: Harry Wentland <harry.wentland@amd.com>
      Cc: David Francis <David.Francis@amd.com>
      Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
      Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: "Christian König" <christian.koenig@amd.com>
      Cc: Ilia Mirkin <imirkin@alum.mit.edu>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190903190642.32588-3-daniel.vetter@ffwll.ch
      4d85f45c
    • Daniel Vetter's avatar
      drm/atomic: Reject FLIP_ASYNC unconditionally · f2cbda2d
      Daniel Vetter authored
      It's never been wired up. Only userspace that tried to use it (and
      didn't actually check whether anything works, but hey it builds) is
      the -modesetting atomic implementation. And we just shut that up.
      
      If there's anyone else then we need to silently accept this flag no
      matter what, and find a new one. Because once a flag is tainted, it's
      lost.
      Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Michel Dänzer <michel@daenzer.net>
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Cc: Adam Jackson <ajax@redhat.com>
      Cc: Sean Paul <sean@poorly.run>
      Cc: David Airlie <airlied@linux.ie>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190903190642.32588-2-daniel.vetter@ffwll.ch
      f2cbda2d
    • Daniel Vetter's avatar
      drm/atomic: Take the atomic toys away from X · 26b1d3b5
      Daniel Vetter authored
      The -modesetting ddx has a totally broken idea of how atomic works:
      - doesn't disable old connectors, assuming they get auto-disable like
        with the legacy setcrtc
      - assumes ASYNC_FLIP is wired through for the atomic ioctl
      - not a single call to TEST_ONLY
      
      Iow the implementation is a 1:1 translation of legacy ioctls to
      atomic, which is a) broken b) pointless.
      
      We already have bugs in both i915 and amdgpu-DC where this prevents us
      from enabling neat features.
      
      If anyone ever cares about atomic in X we can easily add a new atomic
      level (req->value == 2) for X to get back the shiny toys.
      
      Since these broken versions of -modesetting have been shipping,
      there's really no other way to get out of this bind.
      
      v2:
      - add an informational dmesg output (Rob, Ajax)
      - reorder after the DRIVER_ATOMIC check to avoid useless noise (Ilia)
      - allow req->value > 2 so that X can do another attempt at atomic in
        the future
      
      v3: Go with paranoid, insist that the X should be first (suggested by
      Rob)
      
      Cc: Ilia Mirkin <imirkin@alum.mit.edu>
      References: https://gitlab.freedesktop.org/xorg/xserver/issues/629
      References: https://gitlab.freedesktop.org/xorg/xserver/merge_requests/180
      References: abbc0697 ("drm/fb: revert the i915 Actually configure untiled displays from master")
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> (v1)
      Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> (v1)
      Cc: Michel Dänzer <michel@daenzer.net>
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Cc: Adam Jackson <ajax@redhat.com>
      Acked-by: default avatarAdam Jackson <ajax@redhat.com>
      Cc: Sean Paul <sean@poorly.run>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Rob Clark <robdclark@gmail.com>
      Acked-by: default avatarRob Clark <robdclark@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190905185318.31363-1-daniel.vetter@ffwll.ch
      26b1d3b5
    • Daniel Vetter's avatar
      drm/kms: Duct-tape for mode object lifetime checks · e0f32f78
      Daniel Vetter authored
      commit 4f5368b5
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Fri Jun 14 08:17:23 2019 +0200
      
          drm/kms: Catch mode_object lifetime errors
      
      uncovered a bit a mess in dp drivers. Most drivers (from a quick look,
      all except i915) register all the dp stuff in their init code, which
      is too early. With CONFIG_DRM_DP_AUX_CHARDEV this will blow up,
      because drm_dp_aux_register tries to add a child to a device in sysfs
      (the connector) which doesn't even exist yet.
      
      No one seems to have cared thus far. But with the above change I also
      moved the setting of dev->registered after the ->load callback, in an
      attempt to keep old drivers from hitting any WARN_ON backtraces. But
      that moved radeon.ko from the "working, by accident" to "now also
      broken" category.
      
      Since this is a huge mess I figured a revert would be simplest. But
      this check has already caught issues in i915:
      
      commit 1b9bd096
      Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Date:   Tue Aug 20 19:16:57 2019 +0300
      
          drm/i915: Do not create a new max_bpc prop for MST connectors
      
      Hence I'd like to retain it. Fix the radeon regression by moving the
      setting of dev->registered back to were it was, and stop the
      backtraces with an explicit check for dev->driver->load.
      
      Everyone else will stay as broken with CONFIG_DRM_DP_AUX_CHARDEV. The
      next patch will improve the kerneldoc and add a todo entry for this.
      
      Fixes: 4f5368b5 ("drm/kms: Catch mode_object lifetime errors")
      Cc: Sean Paul <sean@poorly.run>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reported-by: default avatarMichel Dänzer <michel@daenzer.net>
      Reviewed-by: default avatarMichel Dänzer <mdaenzer@redhat.com>
      Tested-by: default avatarMichel Dänzer <mdaenzer@redhat.com>
      Cc: Michel Dänzer <michel@daenzer.net>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190917120936.7501-1-daniel.vetter@ffwll.ch
      e0f32f78
  4. 17 Sep, 2019 9 commits
  5. 13 Sep, 2019 1 commit
  6. 06 Sep, 2019 9 commits
  7. 04 Sep, 2019 3 commits
  8. 03 Sep, 2019 8 commits