1. 16 Apr, 2014 1 commit
    • Daniel Vetter's avatar
      drm/i915: Remove vblank wait from haswell_write_eld · c7905792
      Daniel Vetter authored
      The pipe is off at that point in time, so a vblank wait is simply a
      50ms wait. Caught by Jesse's verbose "make vblank wait timeouts WARN"
      patch. We've probably had a few versions of this float around already.
      
      To document assumptions put a pipe assert into the same place. And
      also add a posting read.
      
      If we ever decide to update the eld and infoframes while the pipe is
      already on (e.g. for fastboot) then there's lots of work to do. So
      better properly document all the hidden assumptions.
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      c7905792
  2. 15 Apr, 2014 4 commits
  3. 14 Apr, 2014 1 commit
  4. 13 Apr, 2014 1 commit
  5. 11 Apr, 2014 1 commit
  6. 10 Apr, 2014 3 commits
    • Pradeep Bhat's avatar
      drm/i915: Add support for DRRS to switch RR · 439d7ac0
      Pradeep Bhat authored
      This patch computes and stored 2nd M/N/TU for switching to different
      refresh rate dynamically. PIPECONF_EDP_RR_MODE_SWITCH bit helps toggle
      between alternate refresh rates programmed in 2nd M/N/TU registers.
      
      v2: Daniel's review comments
      Computing M2/N2 in compute_config and storing it in crtc_config
      
      v3: Modified reference to edp_downclock and edp_downclock_avail based on the
      changes made to move them from dev_private to intel_panel.
      
      v4: Modified references to is_drrs_supported based on the changes made to
      rename it to drrs_support.
      
      v5: Jani's review comments
      Removed superfluous return statements. Changed support for Gen 7 and above.
      Corrected indentation. Re-structured the code which finds crtc and connector
      from encoder. Changed some logs to be less verbose.
      
      v6: Modifying i915_drrs to include only intel connector as intel_dp can be
      derived from intel connector when required.
      
      v7: As per internal review comments, acquiring mutex just before accessing
      drrs RR. As per Chris's review comments, added documentation about the use
      of locking in the function.
      
      v8: Incorporated Jani's review comments.
      Removed reference to edp_downclock.
      
      v9: Jani's review comments. Modified comment in set_drrs. Changed index to
      type edp_drrs_refresh_rate_type. Check if PSR is enabled before setting
      registers fo DRRS.
      Signed-off-by: default avatarPradeep Bhat <pradeep.bhat@intel.com>
      Signed-off-by: default avatarVandana Kannan <vandana.kannan@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      439d7ac0
    • Pradeep Bhat's avatar
      drm/i915: Parse EDID probed modes for DRRS support · 4f9db5b5
      Pradeep Bhat authored
      This patch and finds out the lowest refresh rate supported for the resolution
      same as the fixed_mode.
      It also checks the VBT fields to see if panel supports seamless DRRS or not.
      Based on above data it marks whether eDP panel supports seamless DRRS or not.
      This information is needed for supporting seamless DRRS switch for certain
      power saving usecases. This patch is tested by enabling the DRM logs and
      user should see whether Seamless DRRS is supported or not.
      
      v2: Daniel's review comments
      Modified downclock deduction based on intel_find_panel_downclock
      
      v3: Chris's review comments
      Moved edp_downclock_avail and edp_downclock to intel_panel
      
      v4: Jani's review comments.
      Changed name of the enum edp_panel_type to drrs_support type.
      Change is_drrs_supported to drrs_support of type enum drrs_support_type.
      
      v5: Incorporated Jani's review comments
      Modify intel_dp_drrs_initialize to return downclock mode. Support for Gen7
      and above.
      
      v6: Incorporated Chris's review comments.
      Changed initialize to init in intel_drrs_initialize
      
      v7: Incorporated Jani's review comments.
      Removed edp_downclock and edp_downclock_avail. Return NULL explicitly.
      Make drrs_state and unnamed struct. Move Gen based check inside drrs_init.
      
      v8: Made changes to track PSR enable/disable throughout system use (instead
      of just in the init sequence) for disabling/enabling DRRS. Jani's review
      comments.
      
      v9: PSR tracking will be done as part of idleness detection patch. Removed
      PSR state tracker in i915_drrs. Jani's review comments.
      
      v10: Added log for DRRS not supported in drrs_init
      
      v11: Modification in drrs_init. suggested by Jani
      Signed-off-by: default avatarPradeep Bhat <pradeep.bhat@intel.com>
      Signed-off-by: default avatarVandana Kannan <vandana.kannan@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      4f9db5b5
    • Daniel Vetter's avatar
      Revert "drm/i915: fix infinite loop at gen6_update_ring_freq" · fc1744ff
      Daniel Vetter authored
      This reverts commit 4b28a1f3.
      
      This patch duct-tapes over some issue in the current bdw rps patches
      which must wait with enabling rc6/rps until the very first batch has
      been submitted by userspace.
      
      But those patches aren't merged yet, and for upstream we need to have
      an in-kernel emission of the very first batch. I shouldn't have
      merged this patch so let's revert it again.
      
      Also Imre noticed that even when rps is set up normally there's a
      small window (due to the 1s delay of the async rps init work) where we
      could runtime suspend already and blow up all over the place. Imre has
      a proper fix to block runtime pm until the rps init work has
      successfully completed.
      
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Imre Deak <imre.deak@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      fc1744ff
  7. 09 Apr, 2014 29 commits