1. 15 4月, 2015 1 次提交
  2. 13 4月, 2015 4 次提交
    • C
      drm/i915: skylake panel fitting using shared scalers · a1b2278e
      Chandra Konduru 提交于
      Enabling skylake panel fitting feature using shared scalers
      
      v2:
      -added force detach parameter for pfit disable purpose (me)
      -read crtc scaler state from hw state (Daniel)
      -replaced both skylake_pfit_enable and disable with skylake_pfit_update (me)
      -added scaler id check to intel_pipe_config_compare (Daniel)
      
      v3:
      -updated function header to kerneldoc format (Matt)
      -dropped need_scaling checks (Matt)
      
      v4:
      -move clearing of scaler id from commit path to check path (Matt)
      -updated colorkey checks based on recent updates (me)
      -squashed scaler check while enabling colorkey to here (me)
      -use values in plane_state->src as regular integers (me)
      -changes made not to modify state in commit path (Matt)
      
      v5:
      -squashed helper function to update scaler users to here (Matt)
      -squashed helper function to detach scaler to here (Matt, me)
      -changes to align with updated scaler structures (Matt, me)
      Signed-off-by: NChandra Konduru <chandra.konduru@intel.com>
      Reviewed-by: NMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      a1b2278e
    • C
      drm/i915: setup scalers for crtc_compute_config · d03c93d4
      Chandra Konduru 提交于
      Added intel_atomic_setup_scalers to setup scalers based on
      staged scaling requests from a crtc and its planes. If staged
      requests are supportable, this function assigns scalers to
      requested planes and crtc. Note that the scaler assignement
      itself is staged into crtc_state and respective plane_states
      for later commit after all checks have been done.
      
      overall high level flow:
       - scaler requests are staged into crtc_state by planes/crtc
       - check whether staged scaling requests can be supported
       - add planes using scalers that aren't in current transaction
       - assign scalers to requested users
       - as part of plane commit, scalers will be committed
         (i.e., either attached or detached) to respective planes in hw
       - as part of crtc_commit, scaler will be either attached or detached
         to crtc in hw
      
      crtc_compute_config calls intel_atomic_setup_scalers() to start
      scaler assignments as per scaler state in crtc config. This call
      should be moved to atomic crtc once it is available.
      
      v2:
      -removed a log message (me)
      -changed input parameter to crtc_state (me)
      
      v3:
      -remove assigning plane_state returned by drm_atomic_get_plane_state (Matt)
      -fail if there is an error from drm_atomic_get_plane_state (Matt)
      
      v4:
      -changes to align with updated scaler structure (Matt, me)
      
      v5:
      -added addtional checks before enabling HQ mode (me)
      -added comments to enable HQ mode (Matt)
      Signed-off-by: NChandra Konduru <chandra.konduru@intel.com>
      Reviewed-by: NMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      d03c93d4
    • C
      drm/i915: skylake scaler structure definitions · be41e336
      Chandra Konduru 提交于
      skylake scaler structure definitions. scalers live in crtc_state as
      they are pipe resources. They can be used either as plane scaler or
      panel fitter.
      
      scaler assigned to either plane (for plane scaling) or crtc (for panel
      fitting) is saved in scaler_id in plane_state or crtc_state respectively.
      
      scaler_id is used instead of scaler pointer in plane or crtc state
      to avoid updating scaler pointer everytime a new crtc_state is created.
      
      v2:
      -made single copy of min/max values for scalers (Matt)
      
      v3:
      -updated commentary for scaler_id (me)
      
      v4:
      -converted src/dst ranges to #defines, dropped ratios (Matt)
      Signed-off-by: NChandra Konduru <chandra.konduru@intel.com>
      Reviewed-by: NMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      be41e336
    • A
      drm/i915: Allocate connector state together with the connectors · 9bdbd0b9
      Ander Conselvan de Oliveira 提交于
      Connector states were being allocated in intel_setup_outputs() in loop
      over all connectors. That meant hot-added connectors would have a NULL
      state. Since the change to use a struct drm_atomic_state for the legacy
      modeset, connector states are necessary for the i915 driver to function
      properly, so that would lead to oopses.
      
      v2: Fix test for intel_connector_init() success in lvds and sdvo (PRTS)
      Signed-off-by: NAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
      Reported-and-tested-by: NNicolas Kalkhof <nkalkhof@web.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      9bdbd0b9
  3. 10 4月, 2015 4 次提交
  4. 31 3月, 2015 1 次提交
  5. 27 3月, 2015 1 次提交
  6. 26 3月, 2015 2 次提交
  7. 23 3月, 2015 6 次提交
  8. 20 3月, 2015 7 次提交
  9. 18 3月, 2015 7 次提交
  10. 05 3月, 2015 1 次提交
  11. 28 2月, 2015 2 次提交
  12. 24 2月, 2015 1 次提交
    • R
      drm/i915: Add support for DRRS in intel_dp_set_m_n · fe3cd48d
      Ramalingam C 提交于
      Till Gen 7 we have two sets of M_N registers, but Gen 8 onwards
      we have only one M_N register set. To support DRRS on both scenarios
      a input parameter to intel_dp_set_m_n is added.
      
      In case of DRRS, When platform provides two set of M_N registers for dp,
      we can program them with two different dividers and switch between them.
      But when only one such register set is provided, we have to program
      the required divider M_N value on that registers itself.
      
      Two enum members M1_N1 and M2_N2 are defined to represent the above
      scenarios.
      
      M1_N1        :	Program dp_m_n on M1_N1 registers
      			dp_m2_n2 on M2_N2 registers (If supported)
      
      M2_N2        :	Program dp_m2_n2 on M1_N1 registers
      			M2_N2 registers are not supported
      Signed-off-by: NRamalingam C <ramalingam.c@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      fe3cd48d
  13. 14 2月, 2015 3 次提交