1. 10 Mar, 2023 1 commit
    • Stanislav Lisovskiy's avatar
      drm/i915: Ensure DSC has enough BW and stays within HW limits · ce086a32
      Stanislav Lisovskiy authored
      We currently have an issue with some BPPs when using DSC.
      According to the HW team, the reason is that a single VDSC engine
      instance has some BW limitations that must be accounted for.
      So, whenever we approach around 90% of the CDCLK, a second VDSC engine
      has to be used.
      This always means using two slices. However, in our current code,
      the amount of slices is calculated independently of whether
      we need to enable the second VDSC engine or not.
      This leads to some logical issues when, according to the pixel clock needs,
      we need to enable the second VDSC engine.
      But as we calculated previously that we can only use a single slice,
      we can't do that and fail.
      So, we need to fix that so that the number of VDSC engines enabled
      should depend on the number of slices, and the number of slices
      should also depend on BW requirements.
      Lastly, we didn't have BPP limitation for ADLP/MTL/DG2 implemented,
      which says that DSC output BPPs can only be chosen within the range of 8 to 27
      (BSpec 49259).
      All of this applied together allows us to fix existing FIFO underruns,
      which we have in many DSC tests.
      
      v2: - Replace min with clamp_t(Jani Nikula)
          - Fix commit message(Swati Sharma)
          - Added "Closes"(Swati Sharma)
      
      BSpec: 49259
      HSDES: 18027167222
      
      Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8231Signed-off-by: default avatarStanislav Lisovskiy <stanislav.lisovskiy@intel.com>
      Reviewed-by: default avatarVinod Govindapillai <vinod.govindapillai@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230306080401.22552-1-stanislav.lisovskiy@intel.com
      ce086a32
  2. 09 Mar, 2023 4 commits
  3. 07 Mar, 2023 4 commits
  4. 06 Mar, 2023 12 commits
  5. 01 Mar, 2023 4 commits
  6. 27 Feb, 2023 1 commit
  7. 25 Feb, 2023 1 commit
  8. 24 Feb, 2023 3 commits
  9. 23 Feb, 2023 8 commits
  10. 21 Feb, 2023 1 commit
  11. 20 Feb, 2023 1 commit