1. 23 Jun, 2020 2 commits
    • Imre Deak's avatar
      drm/i915/dp_mst: Disable link training fallback on MST links · 80a8cecf
      Imre Deak authored
      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: default avatarImre Deak <imre.deak@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200616211146.23027-2-imre.deak@intel.com
      80a8cecf
    • Imre Deak's avatar
      drm/i915/tgl+: Use the correct DP_TP_* register instances in MST encoders · f153478d
      Imre Deak authored
      MST encoders must use the master MST transcoder's DP_TP_STATUS and
      DP_TP_CONTROL registers. Atm, during the HW readout of an MST encoder
      connected to a slave transcoder we reset these register addresses in
      intel_dp::regs.dp_tp_* to the slave transcoder's DP_TP_* register
      addresses incorrectly; fix this.
      
      One example where the above overwite happens is the encoder HW state
      validation after enabling multiple streams; see
      intel_dp_mst_enc_get_config(). After that during disabling any stream
      we'll get a
      
      'Timed out waiting for ACT sent when disabling'
      
      error, due to reading from the incorrect DP_TP_STATUS register.
      
      This change replaces
      https://patchwork.freedesktop.org/patch/369577/?series=78193&rev=1
      which just papered over the problem.
      
      v2:
      - Correct the failure scenario in the commit log. (José)
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: José Roberto de Souza <jose.souza@intel.com>
      Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200616211146.23027-1-imre.deak@intel.com
      f153478d
  2. 22 Jun, 2020 1 commit
    • Jani Nikula's avatar
      drm/i915/params: switch to device specific parameters · 8a25c4be
      Jani Nikula authored
      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: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Acked-by: default avatarMichał Winiarski <michal.winiarski@intel.com>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20200618150402.14022-1-jani.nikula@intel.com
      8a25c4be
  3. 20 Jun, 2020 2 commits
  4. 19 Jun, 2020 3 commits
  5. 18 Jun, 2020 2 commits
  6. 17 Jun, 2020 2 commits
  7. 16 Jun, 2020 5 commits
  8. 15 Jun, 2020 6 commits
  9. 13 Jun, 2020 3 commits
  10. 12 Jun, 2020 2 commits
  11. 11 Jun, 2020 10 commits
  12. 10 Jun, 2020 2 commits