1. 14 Apr, 2014 1 commit
  2. 13 Apr, 2014 1 commit
  3. 11 Apr, 2014 1 commit
  4. 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
  5. 09 Apr, 2014 32 commits
  6. 08 Apr, 2014 1 commit
  7. 05 Apr, 2014 1 commit
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2014-04-04' of git://anongit.freedesktop.org/drm-intel into drm-next · 9f97ba80
      Dave Airlie authored
       Merge window -fixes pull request as usual. Well, I did sneak in Jani's
      drm_i915_private_t typedef removal, need to have fun with a big sed job
      too ;-)
      
      Otherwise:
      - hdmi interlaced fixes (Jesse&Ville)
      - pipe error/underrun/crc tracking fixes, regression in late 3.14-rc (but
        not cc: stable since only really relevant for igt runs)
      - large cursor wm fixes (Chris)
      - fix gpu turbo boost/throttle again, was getting stuck due to vlv rps
        patches (Chris+Imre)
      - fix runtime pm fallout (Paulo)
      - bios framebuffer inherit fix (Chris)
      - a few smaller things
      
      * tag 'drm-intel-fixes-2014-04-04' of git://anongit.freedesktop.org/drm-intel: (196 commits)
        Skip intel_crt_init for Dell XPS 8700
        drm/i915: vlv: fix RPS interrupt mask setting
        Revert "drm/i915/vlv: fixup DDR freq detection per Punit spec"
        drm/i915: move power domain init earlier during system resume
        drm/i915: Fix the computation of required fb size for pipe
        drm/i915: don't get/put runtime PM at the debugfs forcewake file
        drm/i915: fix WARNs when reading DDI state while suspended
        drm/i915: don't read cursor registers on powered down pipes
        drm/i915: get runtime PM at i915_display_info
        drm/i915: don't read pp_ctrl_reg if we're suspended
        drm/i915: get runtime PM at i915_reg_read_ioctl
        drm/i915: don't schedule force_wake_timer at gen6_read
        drm/i915: vlv: reserve the GT power context only once during driver init
        drm/i915: prefer struct drm_i915_private to drm_i915_private_t
        drm/i915/overlay: prefer struct drm_i915_private to drm_i915_private_t
        drm/i915/ringbuffer: prefer struct drm_i915_private to drm_i915_private_t
        drm/i915/display: prefer struct drm_i915_private to drm_i915_private_t
        drm/i915/irq: prefer struct drm_i915_private to drm_i915_private_t
        drm/i915/gem: prefer struct drm_i915_private to drm_i915_private_t
        drm/i915/dma: prefer struct drm_i915_private to drm_i915_private_t
        ...
      9f97ba80