1. 25 Mar, 2020 17 commits
  2. 24 Mar, 2020 7 commits
  3. 23 Mar, 2020 10 commits
  4. 22 Mar, 2020 3 commits
  5. 20 Mar, 2020 3 commits
    • Chris Wilson's avatar
      drm/i915/gt: Report context-is-closed prior to pinning · b412c63f
      Chris Wilson authored
      Our assertion caught that we do try to pin a closed context if userspace
      is viciously racing context-closure with execbuf, so make it fail
      gracefully.
      
      Closes: https://gitlab.freedesktop.org/drm/intel/issues/1492Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200320130159.3922-1-chris@chris-wilson.co.uk
      b412c63f
    • Ville Syrjälä's avatar
      drm/i915: Fix crtc nv12 etc. plane bitmasks for DPMS off · cb1824bb
      Ville Syrjälä authored
      We only consider crtc_state->enable when initially calculating plane
      visibility. Later on we try to override the plane's state to invisible
      if the crtc is in DPMS off state (crtc_state->active==false).
      Unfortunately the code doing that only updates the plane_state.visible
      flag and the crtc_state.active_planes bimask, but forgets to update
      some of the other plane bitmasks stored in the crtc_state. Namely
      crtc_state.nv12_planes is left set up based on the original visibility
      check which makes icl_check_nv12_planes() pick a slave plane for the
      flagged plane in the bitmask. Later on we hit the watermark code
      which sees a plane with a slave assigned and it then makes the
      logical assumption that the master plane must itself be visible.
      Since the master's plane_state.visible flag was already cleared
      we get a WARN.
      
      Fix the problem by clearing all the plane bitmasks for DPMS off.
      This is more or less the wrong approach and instead we should
      calculate all the plane related state purely based crtc_state->enable
      (to guarantee that the subsequent DPMS on can't fail). However in
      the past we definitely had some roadblocks to making that happen.
      Not sure how many are left these days, but let's stick to the current
      approach since it's a much simpler fix to the immediate problem
      (the WARN).
      
      v2: Keep the visible=false, it's important (Rodrigo)
      
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200318174515.31637-1-ville.syrjala@linux.intel.comReviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      cb1824bb
    • Gwan-gyeong Mun's avatar
      drm/i915/dp: Add writing of DP SDPs · 03c761b0
      Gwan-gyeong Mun authored
      It adds routines that write DP VSC SDP and DP HDR Metadata Infoframe SDP.
      In order to pack DP VSC SDP, it adds intel_dp_vsc_sdp_pack() function.
      It follows DP 1.4a spec. [Table 2-116: VSC SDP Header Bytes] and
      [Table 2-117: VSC SDP Payload for DB16 through DB18]
      
      In order to pack DP HDR Metadata Infoframe SDP, it adds
      intel_dp_hdr_metadata_infoframe_sdp_pack() function.
      And it follows DP 1.4a spec.
      ([Table 2-125: INFOFRAME SDP v1.2 Header Bytes] and
      [Table 2-126: INFOFRAME SDP v1.2 Payload Data Bytes - DB0 through DB31])
      and CTA-861-G spec. [Table-42 Dynamic Range and Mastering InfoFrame].
      
      A mechanism and a naming rule of intel_dp_set_infoframes() function
      references intel_encoder->set_infoframes() of intel_hdmi.c .
      VSC SDP is used for PSR and Pixel Encoding and Colorimetry Formats cases.
      Because PSR routine has its own routine of writing a VSC SDP, when the PSR
      is enabled, intel_dp_set_infoframes() does not write a VSC SDP.
      
      v3:
        - Explicitly disable unused DIPs (AVI, GCP, VS, SPD, DRM. They will be
          used for HDMI), when intel_dp_set_infoframes() function will be called.
        - Replace a structure name to drm_dp_vsc_sdp from intel_dp_vsc_sdp.
      v4: Use struct drm_device logging macros
      v5:
        - use intel_de_*() functions for register access
        - Addressed review comments from Uma
          Polish commit message and comments
          Add 6bpc to packing of VSC SDP
      Signed-off-by: default avatarGwan-gyeong Mun <gwan-gyeong.mun@intel.com>
      Reviewed-by: default avatarUma Shankar <uma.shankar@intel.com>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200211074657.231405-5-gwan-gyeong.mun@intel.com
      03c761b0