1. 26 10月, 2021 1 次提交
  2. 08 10月, 2021 1 次提交
  3. 20 9月, 2021 1 次提交
  4. 15 9月, 2021 1 次提交
  5. 24 8月, 2021 1 次提交
  6. 14 8月, 2021 1 次提交
  7. 28 7月, 2021 1 次提交
  8. 24 7月, 2021 1 次提交
  9. 07 7月, 2021 1 次提交
  10. 25 6月, 2021 1 次提交
  11. 28 5月, 2021 1 次提交
  12. 06 5月, 2021 1 次提交
  13. 01 5月, 2021 1 次提交
  14. 30 4月, 2021 1 次提交
  15. 28 4月, 2021 3 次提交
  16. 14 4月, 2021 1 次提交
  17. 08 4月, 2021 1 次提交
  18. 24 3月, 2021 1 次提交
  19. 09 3月, 2021 1 次提交
  20. 08 2月, 2021 1 次提交
  21. 02 2月, 2021 1 次提交
  22. 29 1月, 2021 1 次提交
  23. 20 1月, 2021 1 次提交
    • L
      drm/dp: Revert "drm/dp: Introduce EDID-based quirks" · 7c553f8b
      Lyude Paul 提交于
      This reverts commit 0883ce81. Originally
      these quirks were added because of the issues with using the eDP
      backlight interfaces on certain laptop panels, which made it impossible
      to properly probe for DPCD backlight support without having a whitelist
      for panels that we know have working VESA backlight control interfaces
      over DPCD. As well, it should be noted it was impossible to use the
      normal sink OUI for recognizing these panels as none of them actually
      filled out their OUIs, hence needing to resort to checking EDIDs.
      
      At the time we weren't really sure why certain panels had issues with
      DPCD backlight controls, but we eventually figured out that there was a
      second interface that these problematic laptop panels actually did work
      with and advertise properly: Intel's proprietary backlight interface for
      HDR panels. So far the testing we've done hasn't brought any panels to
      light that advertise this interface and don't support it properly, which
      means we finally have a real solution to this problem.
      
      As a result, we now have no need for the force DPCD backlight quirk, and
      furthermore this also removes the need for any kind of EDID quirk
      checking in DRM. So, let's just revert it for now since we were the only
      driver using this.
      
      v3:
      * Rebase
      v2:
      * Fix indenting error picked up by checkpatch in
        intel_edp_init_connector()
      Signed-off-by: NLyude Paul <lyude@redhat.com>
      Acked-by: NJani Nikula <jani.nikula@intel.com>
      Cc: thaytan@noraisin.net
      Cc: Vasily Khoruzhick <anarsoul@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210114221709.2261452-6-lyude@redhat.com
      7c553f8b
  24. 13 1月, 2021 2 次提交
  25. 20 11月, 2020 1 次提交
    • M
      drm: Pass the full state to connectors atomic functions · eca22edb
      Maxime Ripard 提交于
      The current atomic helpers have either their object state being passed as
      an argument or the full atomic state.
      
      The former is the pattern that was done at first, before switching to the
      latter for new hooks or when it was needed.
      
      Now that the CRTCs have been converted, let's move forward with the
      connectors to provide a consistent interface.
      
      The conversion was done using the coccinelle script below, and built tested
      on all the drivers.
      
      @@
      identifier connector, connector_state;
      @@
      
       struct drm_connector_helper_funcs {
      	...
      	struct drm_encoder* (*atomic_best_encoder)(struct drm_connector *connector,
      -						   struct drm_connector_state *connector_state);
      +						   struct drm_atomic_state *state);
      	...
      }
      
      @@
      identifier connector, connector_state;
      @@
      
       struct drm_connector_helper_funcs {
      	...
      	void (*atomic_commit)(struct drm_connector *connector,
      -			      struct drm_connector_state *connector_state);
      +			      struct drm_atomic_state *state);
      	...
      }
      
      @@
      struct drm_connector_helper_funcs *FUNCS;
      identifier state;
      identifier connector, connector_state;
      identifier f;
      @@
      
       f(..., struct drm_atomic_state *state, ...)
       {
      	<+...
      -	FUNCS->atomic_commit(connector, connector_state);
      +	FUNCS->atomic_commit(connector, state);
      	...+>
       }
      
      @@
      struct drm_connector_helper_funcs *FUNCS;
      identifier state;
      identifier connector, connector_state;
      identifier var, f;
      @@
      
       f(struct drm_atomic_state *state, ...)
       {
      	<+...
      -	var = FUNCS->atomic_best_encoder(connector, connector_state);
      +	var = FUNCS->atomic_best_encoder(connector, state);
      	...+>
       }
      
      @ connector_atomic_func @
      identifier helpers;
      identifier func;
      @@
      
      (
      static struct drm_connector_helper_funcs helpers = {
      	...,
      	.atomic_best_encoder = func,
      	...,
      };
      |
      static struct drm_connector_helper_funcs helpers = {
      	...,
      	.atomic_commit = func,
      	...,
      };
      )
      
      @@
      identifier connector_atomic_func.func;
      identifier connector;
      symbol state;
      @@
      
       func(struct drm_connector *connector,
      -      struct drm_connector_state *state
      +      struct drm_connector_state *connector_state
            )
       {
      	...
      -	state
      +	connector_state
       	...
       }
      
      @ ignores_state @
      identifier connector_atomic_func.func;
      identifier connector, connector_state;
      @@
      
       func(struct drm_connector *connector,
            struct drm_connector_state *connector_state)
      {
      	... when != connector_state
      }
      
      @ adds_state depends on connector_atomic_func && !ignores_state @
      identifier connector_atomic_func.func;
      identifier connector, connector_state;
      @@
      
       func(struct drm_connector *connector, struct drm_connector_state *connector_state)
       {
      +	struct drm_connector_state *connector_state = drm_atomic_get_new_connector_state(state, connector);
      	...
       }
      
      @ depends on connector_atomic_func @
      identifier connector_atomic_func.func;
      identifier connector_state;
      identifier connector;
      @@
      
       func(struct drm_connector *connector,
      -     struct drm_connector_state *connector_state
      +     struct drm_atomic_state *state
      	   )
       { ... }
      
      @ include depends on adds_state @
      @@
      
       #include <drm/drm_atomic.h>
      
      @ no_include depends on !include && adds_state @
      @@
      
      + #include <drm/drm_atomic.h>
        #include <drm/...>
      Signed-off-by: NMaxime Ripard <maxime@cerno.tech>
      Reviewed-by: NRodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Acked-by: NThomas Zimmermann <tzimmermann@suse.de>
      Acked-by: NHarry Wentland <harry.wentland@amd.com>
      Cc: Leo Li <sunpeng.li@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: "Christian König" <christian.koenig@amd.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
      Cc: Melissa Wen <melissa.srw@gmail.com>
      Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20201118094758.506730-1-maxime@cerno.tech
      eca22edb
  26. 19 11月, 2020 1 次提交
  27. 21 10月, 2020 1 次提交
  28. 06 10月, 2020 1 次提交
  29. 01 10月, 2020 1 次提交
  30. 25 9月, 2020 1 次提交
  31. 15 9月, 2020 1 次提交
  32. 01 9月, 2020 2 次提交
  33. 14 7月, 2020 1 次提交
    • L
      drm/i915/mst: filter out the display mode exceed sink's capability · e398d7c1
      Lee Shawn C 提交于
      So far, max dot clock rate for MST mode rely on physcial
      bandwidth limitation. It would caused compatibility issue
      if source display resolution exceed MST hub output ability.
      
      For example, source DUT had DP 1.2 output capability.
      And MST docking just support HDMI 1.4 spec. When a HDMI 2.0
      monitor connected. Source would retrieve EDID from external
      and get max resolution 4k@60fps. DP 1.2 can support 4K@60fps
      because it did not surpass DP physical bandwidth limitation.
      Do modeset to 4k@60fps, source output display data but MST
      docking can't output HDMI properly due to this resolution
      already over HDMI 1.4 spec.
      
      Refer to commit <fcf46380> ("drm/dp_mst: Use full_pbn
      instead of available_pbn for bandwidth checks").
      Source driver should refer to full_pbn to evaluate sink
      output capability. And filter out the resolution surpass
      sink output limitation.
      
      Changes since v1:
      * Using mgr->base.lock to protect full_pbn.
      Changes since v2:
      * Add ctx lock.
      Changes since v3:
      * s/intel_dp_mst_mode_clock_exceed_pbn_bandwidth/
        intel_dp_mst_mode_clock_exceeds_pbn_bw/
      * Use the new drm_connector_helper_funcs.mode_valid_ctx to properly pipe
        down the drm_modeset_acquire_ctx that the probe helpers are using, so
        we can safely grab &mgr->base.lock without deadlocking
      Changes since v4:
      * Move drm_dp_calc_pbn_mode(mode->clock, bpp, false) > port->full_pbn
        check
      * Fix the bpp we use in drm_dp_calc_pbn_mode()
      * Drop leftover (!mgr) check
      * Don't check for if full_pbn is unset. To be clear - it _can_ be unset,
        but if it is then it's certainly a bug in DRM or a non-compliant sink
        as full_pbn should always be populated by the time we call
        ->mode_valid_ctx.
        We should workaround non-compliant sinks with full_pbn=0, but that
        should happen in the DP MST helpers so we can estimate the full_pbn
        value as best we can.
      Tested-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Cc: Manasi Navare <manasi.d.navare@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Cooper Chiou <cooper.chiou@intel.com>
      Co-developed-by: NLyude Paul <lyude@redhat.com>
      Signed-off-by: NLee Shawn C <shawn.c.lee@intel.com>
      Signed-off-by: NLyude Paul <lyude@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200713170746.254388-3-lyude@redhat.com
      e398d7c1
  34. 03 7月, 2020 1 次提交
  35. 24 6月, 2020 1 次提交
  36. 23 6月, 2020 1 次提交