1. 31 Jul, 2019 34 commits
  2. 22 Jul, 2019 4 commits
  3. 18 Jul, 2019 2 commits
    • Dale Zhao's avatar
      drm/amd/display: handle active dongle port type is DP++ or DP case · 7a83645a
      Dale Zhao authored
      [Why]:
      Some active dongles have DP++ port and DP port at the same time. Current
      code doesn't cover DP++ case and processes as default DVI case, in which
      audio is disabled. Because of dual mode, DP case is also treat as DVI case
      for the other port.
      
      [How]:
      According DP 1.4 spec, add DP++ procedure similar with HDMI case. Also
      add None dongle type for DP case.
      Signed-off-by: default avatarDale Zhao <dale.zhao@amd.com>
      Reviewed-by: default avatarWenjing Liu <wenjing.liu@amd.com>
      Acked-by: default avatarLeo Li <sunpeng.li@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      7a83645a
    • Nicholas Kazlauskas's avatar
      drm/amd/display: Copy GSL groups when committing a new context · 21ffcc94
      Nicholas Kazlauskas authored
      [Why]
      DC configures the GSL group for the pipe when pipe_split is enabled
      and we're switching flip types (buffered <-> immediate flip) on DCN2.
      
      In order to record what GSL group the pipe is using DC stores it in
      the pipe's stream_res. DM is not aware of this internal grouping, nor
      is DC resource.
      
      So when DM creates a dc_state context and passes it to DC the current
      GSL group is lost - DM never knew about it in the first place.
      
      After 3 immediate flips we run out of GSL groups and we're no longer
      able to correctly perform *any* flip for multi-pipe scenarios.
      
      [How]
      The gsl_group needs to be copied to the new context.
      
      DM has no insight into GSL grouping and could even potentially create
      a brand new context without referencing current hardware state. So this
      makes the most sense to have happen in DC.
      
      There are two places where DC can apply a new context:
      - dc_commit_state
      - dc_commit_updates_for_stream
      
      But what's shared between both of these is apply_ctx_for_surface.
      
      This logic only matters for DCN2, so it can be placed in
      dcn20_apply_ctx_for_surface. Before doing any locking (where the GSL
      group is setup) we can copy over the GSL groups before committing the
      new context.
      Signed-off-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
      Reviewed-by: default avatarHersen Wu <hersen.wu@amd.com>
      Acked-by: default avatarLeo Li <sunpeng.li@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      21ffcc94