1. 17 9月, 2020 8 次提交
  2. 15 9月, 2020 2 次提交
  3. 01 9月, 2020 9 次提交
  4. 28 8月, 2020 2 次提交
  5. 11 8月, 2020 1 次提交
  6. 07 7月, 2020 1 次提交
  7. 03 7月, 2020 1 次提交
  8. 02 7月, 2020 1 次提交
  9. 23 6月, 2020 2 次提交
    • I
      drm/i915/dp_mst: Disable link training fallback on MST links · 80a8cecf
      Imre Deak 提交于
      During the initial probing of an MST sink, MST core will determine the
      sink's link bandwidth based on its own version of the sink link
      rate/lane count caps it reads from the DPCD. At a later point (after
      probing and 1 or more modesets) i915 may limit the link parameters wrt.
      the original source/sink common caps above due to link training failures
      during a modeset and the resulting link training fallback logic.
      
      Based on the above a modeset following another modeset with a link
      training error will compute the i915 HW specific and DP protocol timing
      parameters (data/link M/N and MST TU values) taking into account only
      the unlimited source/sink common caps, but not taking into account the
      fallback limits. This will also let DRM core oversubscribe the actual
      link bandwidth during the MST payload allocation.
      
      Prevent the above problem by disabling the link training fallback on MST
      links for now, until the MST probe time initialization and the MST
      compute config logic can deal with changing link parameters.
      
      The misconfigured timings lead at least to a
      'Timed out waiting for DP idle patterns'
      error.
      
      v2: (Ville)
      - Print link training error message on the MST path too.
      - Clarify the problem in the commit log.
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Manasi Navare <manasi.d.navare@intel.com>
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200616211146.23027-2-imre.deak@intel.com
      80a8cecf
    • J
      drm/i915/params: switch to device specific parameters · 8a25c4be
      Jani Nikula 提交于
      Start using device specific parameters instead of module parameters for
      most things. The module parameters become the immutable initial values
      for i915 parameters. The device specific parameters in i915->params
      start life as a copy of i915_modparams. Any later changes are only
      reflected in the debugfs.
      
      The stragglers are:
      
      * i915.force_probe and i915.modeset. Needed before dev_priv is
        available. This is fine because the parameters are read-only and never
        modified.
      
      * i915.verbose_state_checks. Passing dev_priv to I915_STATE_WARN and
        I915_STATE_WARN_ON would result in massive and ugly churn. This is
        handled by not exposing the parameter via debugfs, and leaving the
        parameter writable in sysfs. This may be fixed up in follow-up work.
      
      * i915.inject_probe_failure. Only makes sense in terms of the module,
        not the device. This is handled by not exposing the parameter via
        debugfs.
      
      v2: Fix uc i915 lookup code (Michał Winiarski)
      
      Cc: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
      Cc: Venkata Sandeep Dhanalakota <venkata.s.dhanalakota@intel.com>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Acked-by: NMichał Winiarski <michal.winiarski@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20200618150402.14022-1-jani.nikula@intel.com
      8a25c4be
  10. 11 6月, 2020 1 次提交
    • I
      drm/i915/dp_mst: Fix disabling MST on a port · 8d712a7e
      Imre Deak 提交于
      Currently MST on a port can get enabled/disabled from the hotplug work
      and get disabled from the short pulse work in a racy way. Fix this by
      relying on the MST state checking in the hotplug work and just schedule
      a hotplug work from the short pulse handler if some problem happened
      during the MST interrupt handling.
      
      This removes the explicit MST disabling in case of an AUX failure, but
      if AUX fails, then probably the detection will also fail during the
      scheduled hotplug work and it's not guaranteed that we'll see
      intermittent errors anyway.
      
      While at it also simplify the error checking of the MST interrupt
      handler.
      
      v2:
      - Convert intel_dp_check_mst_status() to return bool. (Ville)
      - Change the intel_dp->is_mst check to an assert, since after this patch
        the condition can't change after we checked it previously.
      - Document the return value from intel_dp_check_mst_status().
      v3:
      - Remove the intel_dp->is_mst check from intel_dp_check_mst_status().
        There is no point in checking the same condition twice, even though
        there is a chance that the hotplug work running concurrently changes
        it.
      
      Cc: José Roberto de Souza <jose.souza@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NJosé Roberto de Souza <jose.souza@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200605094801.17709-1-imre.deak@intel.com
      8d712a7e
  11. 09 6月, 2020 1 次提交
  12. 03 6月, 2020 4 次提交
  13. 27 5月, 2020 2 次提交
    • V
      drm: Nuke mode->vrefresh · 0425662f
      Ville Syrjälä 提交于
      Get rid of mode->vrefresh and just calculate it on demand. Saves
      a bit of space and avoids the cached value getting out of sync
      with reality.
      
      Mostly done with cocci, with the following manual fixups:
      - Remove the now empty loop in drm_helper_probe_single_connector_modes()
      - Fix __MODE() macro in ch7006_mode.c
      - Fix DRM_MODE_ARG() macro in drm_modes.h
      - Remove leftover comment from samsung_s6d16d0_mode
      - Drop the TODO
      
      @@
      @@
      struct drm_display_mode {
      	...
      -	int vrefresh;
      	...
      };
      
      @@
      identifier N;
      expression E;
      @@
      struct drm_display_mode N = {
      -	.vrefresh = E
      };
      
      @@
      identifier N;
      expression E;
      @@
      struct drm_display_mode N[...] = {
      ...,
      {
      -	.vrefresh = E
      }
      ,...
      };
      
      @@
      expression E;
      @@
      {
      	DRM_MODE(...),
      -	.vrefresh = E,
      }
      
      @@
      identifier M, R;
      @@
      int drm_mode_vrefresh(const struct drm_display_mode *M)
      {
        ...
      - if (M->vrefresh > 0)
      - 	R = M->vrefresh;
      - else
        if (...) {
        ...
        }
        ...
      }
      
      @@
      struct drm_display_mode *p;
      expression E;
      @@
      (
      - p->vrefresh = E;
      |
      - p->vrefresh
      + drm_mode_vrefresh(p)
      )
      
      @@
      struct drm_display_mode s;
      expression E;
      @@
      (
      - s.vrefresh = E;
      |
      - s.vrefresh
      + drm_mode_vrefresh(&s)
      )
      
      @@
      expression E;
      @@
      - drm_mode_vrefresh(E) ? drm_mode_vrefresh(E) : drm_mode_vrefresh(E)
      + drm_mode_vrefresh(E)
      
      @find_substruct@
      identifier X;
      identifier S;
      @@
      struct X {
      ...
      	struct drm_display_mode S;
      ...
      };
      
      @@
      identifier find_substruct.S;
      expression E;
      identifier I;
      @@
      {
      .S = {
      -	.vrefresh = E
      }
      }
      
      @@
      identifier find_substruct.S;
      identifier find_substruct.X;
      expression E;
      identifier I;
      @@
      struct X I[...] = {
      ...,
      .S = {
      -	.vrefresh = E
      }
      ,...
      };
      
      v2: Drop TODO
      v3: Rebase
      v4: Rebase
      
      Cc: Andrzej Hajda <a.hajda@samsung.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
      Cc: Jonas Karlman <jonas@kwiboo.se>
      Cc: Jernej Skrabec <jernej.skrabec@siol.net>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Joonyoung Shim <jy0922.shim@samsung.com>
      Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: CK Hu <ck.hu@mediatek.com>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Jerry Han <hanxu5@huaqin.corp-partner.google.com>
      Cc: Icenowy Zheng <icenowy@aosc.io>
      Cc: Jagan Teki <jagan@amarulasolutions.com>
      Cc: Stefan Mavrodiev <stefan@olimex.com>
      Cc: Robert Chiras <robert.chiras@nxp.com>
      Cc: "Guido Günther" <agx@sigxcpu.org>
      Cc: Purism Kernel Team <kernel@puri.sm>
      Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
      Cc: Vincent Abriou <vincent.abriou@st.com>
      Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Cc: linux-amlogic@lists.infradead.org
      Cc: nouveau@lists.freedesktop.org
      Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: NEmil Velikov <emil.velikov@collabora.com>
      Reviewed-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200428171940.19552-4-ville.syrjala@linux.intel.com
      0425662f
    • V
      drm/i915: Introduce some local intel_dp variables · 6770ef33
      Ville Syrjälä 提交于
      The drrs code dereferences mode->vrefresh via some really long chain
      of structures/pointers. Couldn't get coccinelle to see through all
      that so let's add some local variables to help it.
      Reviewed-by: NEmil Velikov <emil.velikov@collabora.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200428171940.19552-3-ville.syrjala@linux.intel.com
      6770ef33
  14. 26 5月, 2020 1 次提交
  15. 19 5月, 2020 3 次提交
  16. 14 5月, 2020 1 次提交