1. 30 11月, 2018 5 次提交
    • A
      i915/dp/fec: Add fec_enable to the crtc state. · 240999cf
      Anusha Srivatsa 提交于
      For DP 1.4 and above, Display Stream compression can be
      enabled only if Forward Error Correctin can be performed.
      
      Add a crtc state for FEC. Currently, the state
      is determined by platform, DP and DSC being
      enabled. Moving forward we can use the state
      to have error correction on other scenarios too
      if needed.
      
      v2:
      - Control compression_enable with the fec_enable
      parameter in crtc state and with intel_dp_supports_fec()
      (Ville)
      
      - intel_dp_can_fec()/intel_dp_supports_fec()(manasi)
      
      v3: Check for FEC support along with setting crtc state.
      
      v4: add checks to intel_dp_source_supports_dsc.(manasi)
      - Move intel_dp_supports_fec() closer to
      intel_dp_supports_dsc() (Anusha)
      
      v5: Move fec check to intel_dp_supports_dsc(Ville)
      
      v6: Remove warning. rebase.
      
      v7: change crtc state to include DP sink and fec capability
      of source.(Manasi)
      
      v8: Set fec_enable in crtc in intel_dp_compute_config().
      
      v9 (From Manasi):
      * Combine the !edp and !fec_support check
      * Derive dev_priv from intel_dp directly
      
      v10 (From Manasi):
      * Rebase
      Suggested-by: NVille Syrjala <ville.syrjala@linux.intel.com>
      Cc: dri-devel@lists.freedesktop.org
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Manasi Navare <manasi.d.navare@intel.com>
      Signed-off-by: NAnusha Srivatsa <anusha.srivatsa@intel.com>
      Signed-off-by: NManasi Navare <manasi.d.navare@intel.comk>
      Reviewed-by: NManasi Navare <manasi.d.navare@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181128202628.20238-14-manasi.d.navare@intel.com
      240999cf
    • M
      drm/i915/dsc: Enable and disable appropriate power wells for VDSC · a24c62f9
      Manasi Navare 提交于
      A separate power well 2 (PG2) is required for VDSC on eDP transcoder
      whereas all other transcoders use the power wells associated with the
      transcoders for VDSC.
      This patch adds a helper to obtain correct power domain depending on
      transcoder being used and enables/disables the power wells during
      VDSC enabling/disabling.
      
      v4:
      * Get VDSC power domain only if compression en is set
      in crtc_state (Ville, Imre)
      v3:
      * Call it intel_dsc_power_domain, add to
      intel_ddi_get_power_domains (Ville)
      v2:
      * Fix tabs, const crtc_state, fix comments (Ville)
      Suggested-by: NVille Syrjala <ville.syrjala@linux.intel.com>
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Imre Deak <imre.deak@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NManasi Navare <manasi.d.navare@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181128202628.20238-13-manasi.d.navare@intel.com
      a24c62f9
    • G
      drm/i915/dp: Enable/Disable DSC in DP Sink · 2279298d
      Gaurav K Singh 提交于
      This patch enables decompression support in sink device
      before link training and disables the same during the
      DDI disabling.
      
      v3 (From manasi):
      * Pass bool state to enable/disable (Ville)
      v2:(From Manasi)
      * Change the enable/disable function to take crtc_state
      instead of intel_dp as an argument (Manasi)
      * Use the compression_enable flag as part of crtc_state (Manasi)
      
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
      Cc: Gaurav K Singh <gaurav.k.singh@intel.com>
      Signed-off-by: NGaurav K Singh <gaurav.k.singh@intel.com>
      Signed-off-by: NManasi Navare <manasi.d.navare@intel.com>
      Reviewed-by: NAnusha Srivatsa <anusha.srivatsa@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181128202628.20238-6-manasi.d.navare@intel.com
      2279298d
    • G
      drm/i915/dsc: Define & Compute VESA DSC params · 168243c1
      Gaurav K Singh 提交于
      This patches does the following:
      
      1. This patch defines all the DSC parameters as per the VESA
      DSC specification. These are stored in the encoder and used
      to compute the PPS parameters to be sent to the Sink.
      2. Compute all the DSC parameters which are derived from DSC
      state of intel_crtc_state.
      3. Compute all parameters that are VESA DSC specific
      
      This computation happens in the atomic check phase during
      compute_config() to validate if display stream compression
      can be enabled for the requested mode.
      
      v8 (From Manasi):
      * DEBUG_KMS instead of DRM_ERROR for user triggerable
      errors (Ville)
      v7: (From Manasi)
      * Dont use signed int for rc_range_params (Manasi)
      * Mask the range_bpg_offset to use only 6 bits
      * Add SPDX identifier (Chris Wilson)
      v6 (From Manasi):
      * Add a check for line_buf_depth return value (Anusha)
      * Remove DRM DSC constants to different patch (Manasi)
      v5 (From Manasi):
      * Add logic to limit the max line buf depth for DSC 1.1 to 13
      as per DSC 1.1 spec
      * Fix dim checkpatch warnings/checks
      
      v4 (From Gaurav):
      * Rebase on latest drm tip
      * rename variable name(Manasi)
      * Populate linebuf_depth variable(Manasi)
      
      v3 (From Gaurav):
      * Rebase my previous patches on top of Manasi's latest patch
      series
      * Using >>n rather than /2^n (Manasi)
      * Change the commit message to explain what the patch is doing(Gaurav)
      
      Fixed review comments from Ville:
      * Don't use macro TWOS_COMPLEMENT
      * Mention in comment about the source of RC params
      * Return directly from case statements
      * Using single asssignment for assigning rc_range_params
      * Using <<n rather than *2^n and removing the comments
      about the fixed point numbers
      
      v2 (From Manasi):
      * Update logic for minor version to consider the dpcd value
      and what supported by the HW platform
      * Use DRM DSC config struct instead of intel_dp struct
      * Move the DSC constants to DRM DSC header file
      * Use u16, u8 where bigger data types not needed
      * * Compute the DSC parameters as part of DSC compute config
      since the computation can fail (Manasi)
      
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
      Cc: Gaurav K Singh <gaurav.k.singh@intel.com>
      Signed-off-by: NGaurav K Singh <gaurav.k.singh@intel.com>
      Signed-off-by: NManasi Navare <manasi.d.navare@intel.com>
      Co-developed-by: NManasi Navare <manasi.d.navare@intel.com>
      Reviewed-by: NAnusha Srivatsa <anusha.srivatsa@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181129193827.7914-1-manasi.d.navare@intel.com
      168243c1
    • M
      drm/i915/dp: Add DSC params and DSC config to intel_crtc_state · 7b610f1f
      Manasi Navare 提交于
      Basic DSC parameters and DSC configuration data needs to be computed
      for each of the requested mode during atomic check. This is
      required since for certain modes, valid DSC parameters and config
      data might not be computed in which case compression cannot be
      enabled for that mode.
      For that reason we need to add these params and config structure
      to the intel_crtc_state so that if valid this state information
      can directly be used while enabling DSC in atomic commit.
      
      v2:
      * Rebase on drm-tip (Manasi)
      
      Cc: Gaurav K Singh <gaurav.k.singh@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
      Signed-off-by: NManasi Navare <manasi.d.navare@intel.com>
      Reviewed-by: NAnusha Srivatsa <anusha.srivatsa@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181128202628.20238-1-manasi.d.navare@intel.com
      7b610f1f
  2. 29 11月, 2018 4 次提交
  3. 23 11月, 2018 1 次提交
  4. 21 11月, 2018 1 次提交
  5. 15 11月, 2018 2 次提交
  6. 13 11月, 2018 1 次提交
  7. 10 11月, 2018 1 次提交
  8. 09 11月, 2018 1 次提交
  9. 05 11月, 2018 2 次提交
  10. 03 11月, 2018 1 次提交
  11. 02 11月, 2018 3 次提交
  12. 01 11月, 2018 3 次提交
  13. 31 10月, 2018 1 次提交
  14. 29 10月, 2018 1 次提交
  15. 24 10月, 2018 3 次提交
  16. 18 10月, 2018 3 次提交
  17. 17 10月, 2018 3 次提交
  18. 16 10月, 2018 1 次提交
  19. 15 10月, 2018 3 次提交
    • S
      drm/i915: Add YCBCR 4:2:0/4:4:4 support for LSPCON · 668b6c17
      Shashank Sharma 提交于
      LSPCON chips can generate YCBCR outputs, if asked nicely :).
      
      In order to generate YCBCR 4:2:0 outputs, a source must:
      - send YCBCR 4:4:4 signals to LSPCON
      - program color space as 4:2:0 in AVI infoframes
      
      Whereas for YCBCR 4:4:4 outputs, the source must:
      - send YCBCR 4:4:4 signals to LSPCON
      - program color space as 4:4:4 in AVI infoframes
      
      So for both 4:2:0 as well as 4:4:4 outputs, we are driving the
      pipe for YCBCR 4:4:4 output, but AVI infoframe's color space
      information indicates LSPCON FW to start scaling down from YCBCR
      4:4:4 and generate YCBCR 4:2:0 output. As the scaling is done by
      LSPCON device, we need not to reserve a scaler for 4:2:0 outputs.
      
      V2: rebase
      V3: Addressed review comments from Ville
          - add enum crtc_output_format instead of bool ycbcr420
          - use crtc_output_format=4:4:4 for modeset of LSPCON 4:2:0 output
            cases in this way we will have YCBCR 4:4:4 framework ready (except
            the ABI part)
      V4: Added r-b from Maarten (for v3)
          Addressed review comments from Ville:
          - Do not add a non-atomic state variable to determine lspcon output.
            Instead add bool in CRTC state to indicate lspcon based scaling.
      V5: Addressed review comments from Ville:
          - Change the state bool name from external scaling to something more
            relavent.
          - Keep the info and adjusted_mode structures const.
          - use crtc_state instead of pipe_config.
          - Push all the config change into lspcon_ycbcr420_config function.
      V6: Rebase, small changes to accommodate changes in patch 2.
      V7: Fixed checkpatch warnings for alignment
      V8: Rebase
      
          PS: Ignored following warnings to match the current formatting:
          drm/i915: Add YCBCR 4:2:0/4:4:4 support for LSPCON
           -:53: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV)
          #53: FILE: drivers/gpu/drm/i915/i915_reg.h:8721:
          +#define  TRANS_MSA_SAMPLING_444        (2<<1)
                                                ^
          -:54: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV)
          #54: FILE: drivers/gpu/drm/i915/i915_reg.h:8722:
          +#define  TRANS_MSA_CLRSP_YCBCR         (2<<3)
      V9: Rebase
      V10: Rebase
      V11: Rebase
      
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1539325394-20788-8-git-send-email-shashank.sharma@intel.com
      668b6c17
    • S
      drm/i915: Write AVI infoframes for MCA LSPCON · 7cbf19fd
      Shashank Sharma 提交于
      LSPCON is a DP branch device, so LSPCON vendors define
      specific methods to pass AVI infoframes to the the chip.
      This patch adds:
      - a generic wrapper function for writing AVI infoframes for
        all LSPCON devices.
      - a vendor specific function to wrire AVI infoframes into
        MCA LSPCON devices.
      
      V2: Rebase
      V3: Added r-b from Maarten
      V4: Rebase
      V5: Rebase
      V6: Rebase
      V7: Fixed checkpatch warnings for alignment
      V8: Rebase
      V9: Added the retry logic, with 50ms incremental delays while
          writing AVI IF
      V10: Changed the return value check
      V11: Fixed checkpatch warning
      V12: Rebase
      
      Cc: Imre Deak <imre.deak@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1539325394-20788-6-git-send-email-shashank.sharma@intel.com
      7cbf19fd
    • S
      drm/i915: Add AVI infoframe support for LSPCON · 06c812d7
      Shashank Sharma 提交于
      In order to pass AVI infoframes to LSPCON devices, a source has to
      write them in a vendor recommended method and location.
      
      This patch series:
      - adds generic LSPCON infoframe setup functions.
      - registers these functions into existing AVI infoframe framework.
      - triggers these functions from modeset sequence.
      
      Next patches in the series will add vendor specific code.
      
      V2: Added new parameter to align with new definition of
          drm_hdmi_avi_infoframe_quant_range
      V3: Added r-b from Maarten (for V2)
          Added new parameter output_format in struct lspcon to accommodate
          Ville's review comments on last patch of the series
      V4: Addressed Ville's review comment
          - Do not add output_format in LSPCON state, as its non-atomic. Add
            this into CRTC state (added in a later patch).
      V5: Rebase
      V6: Rebase
      V7: Rebase
      V8: Rebase
      V9: Rebase
      V10: Rebase
      V11: Accommodated rebasing changes in intel_git_port fptrs (set_infoframes and infoframe_enabled)
      
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Imre Deak <imre.deak@linux.intel.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1539325394-20788-5-git-send-email-shashank.sharma@intel.com
      06c812d7