1. 23 9月, 2019 1 次提交
    • S
      drm/i915/color: Extract icl_read_luts() · 84af7649
      Swati Sharma 提交于
      For icl+, have hw read out to create hw blob of gamma
      lut values. icl+ platforms supports multi segmented gamma
      mode by default, add hw lut creation for this mode.
      
      This will be used to validate gamma programming using dsb
      (display state buffer) which is a tgl specific feature.
      
      Major change done-removal of readouts of coarse and fine segments
      because PAL_PREC_DATA register isn't giving propoer values.
      State checker limited only to "fine segment"
      
      v2: -readout code for multisegmented gamma has to come
           up with some intermediate entries that aren't preserved
           in hardware (Jani N)
          -linear interpolation (Ville)
          -moved common code to check gamma_enable to specific funcs,
           since icl doesn't support that
      v3: -use u16 instead of __u16 [Jani N]
          -used single lut [Jani N]
          -improved and more readable for loops [Jani N]
          -read values directly to actual locations and then fill gaps [Jani N]
          -moved cleaning to patch 1 [Jani N]
          -renamed icl_read_lut_multi_seg() to icl_read_lut_multi_segment to
           make it similar to icl_load_luts()
          -renamed icl_compute_interpolated_gamma_blob() to
           icl_compute_interpolated_gamma_lut_values() more sensible, I guess
      v4: -removed interpolated func for creating gamma lut values
          -removed readouts of fine and coarse segments, failure to read PAL_PREC_DATA
           correctly
      Signed-off-by: NSwati Sharma <swati2.sharma@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1569096654-24433-3-git-send-email-swati2.sharma@intel.com
      84af7649
  2. 21 9月, 2019 6 次提交
  3. 20 9月, 2019 2 次提交
  4. 19 9月, 2019 1 次提交
  5. 10 9月, 2019 2 次提交
  6. 05 9月, 2019 3 次提交
  7. 04 9月, 2019 3 次提交
  8. 31 8月, 2019 3 次提交
  9. 30 8月, 2019 1 次提交
  10. 24 8月, 2019 1 次提交
  11. 23 8月, 2019 1 次提交
    • J
      drm/i915/psr: Make PSR registers relative to transcoders · 4ab4fa10
      José Roberto de Souza 提交于
      PSR registers are a mess, some have the full address while others just
      have the additional offset from psr_mmio_base.
      
      For BDW+ psr_mmio_base is nothing more than TRANSCODER_EDP_OFFSET +
      0x800 and using it makes more difficult for people with an PSR
      register address or PSR register name from from BSpec as i915 also
      don't match the BSpec names.
      For HSW psr_mmio_base is _DDI_BUF_CTL_A + 0x800 and PSR registers are
      only available in DDIA.
      
      Other reason to make relative to transcoder is that since BDW every
      transcoder have PSR registers, so in theory it should be possible to
      have PSR enabled in a non-eDP transcoder.
      
      So for BDW+ we can use _TRANS2() to get the register offset of any
      PSR register in any transcoder while for HSW we have _HSW_PSR_ADJ
      that will calculate the register offset for the single PSR instance,
      noting that we are already guarded about trying to enable PSR in other
      port than DDIA on HSW by the 'if (dig_port->base.port != PORT_A)' in
      intel_psr_compute_config(), this check should only be valid for HSW
      and will be changed in future.
      PSR2 registers and PSR_EVENT was added after Haswell so that is why
      _PSR_ADJ() is not used in some macros.
      
      The only registers that can not be relative to transcoder are
      PSR_IMR and PSR_IIR that are not relative to anything, so keeping it
      hardcoded. That changed for TGL but it will be handled in another
      patch.
      
      Also removing BDW_EDP_PSR_BASE from GVT because it is not used as it
      is the only PSR register that GVT have.
      
      v5:
      - Macros changed to be more explicit about HSW (Dhinakaran)
      - Squashed with the patch that added the tran parameter to the
      macros (Dhinakaran)
      
      v6:
      - Checking for interruption errors after module reload in the
      transcoder that will be used (Dhinakaran)
      - Using lowercase to the registers offsets
      
      v7:
      - Removing IS_HASWELL() from registers macros(Jani)
      
      Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Zhi Wang <zhi.a.wang@intel.com>
      Reviewed-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: NJosé Roberto de Souza <jose.souza@intel.com>
      Signed-off-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190820223325.27490-1-jose.souza@intel.com
      4ab4fa10
  12. 20 8月, 2019 1 次提交
  13. 17 8月, 2019 3 次提交
  14. 14 8月, 2019 2 次提交
  15. 09 8月, 2019 1 次提交
  16. 08 8月, 2019 1 次提交
  17. 02 8月, 2019 1 次提交
  18. 31 7月, 2019 5 次提交
  19. 27 7月, 2019 2 次提交