aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_modes.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-01-09 17:46:24 -0500
committerDave Airlie <airlied@redhat.com>2015-01-09 17:46:24 -0500
commitadc31849b27fefeca6c225d3895143a2ec6970fa (patch)
tree96644dea69278efbdd0f0fac52202203a67030fa /drivers/gpu/drm/drm_modes.c
parentc93546a5e32bd788c22aefa072385f3784551c13 (diff)
parent0e2cfc005b376ed7b5c9a9fc466b5842fcc18cc7 (diff)
Merge tag 'drm-intel-next-2014-12-19' of git://anongit.freedesktop.org/drm-intel into drm-next
- plane handling refactoring from Matt Roper and Gustavo Padovan in prep for atomic updates - fixes and more patches for the seqno to request transformation from John - docbook for fbc from Rodrigo - prep work for dual-link dsi from Gaurav Signh - crc fixes from Ville - special ggtt views infrastructure from Tvrtko Ursulin - shadow patch copying for the cmd parser from Brad Volkin - execlist and full ppgtt by default on gen8, for testing for now * tag 'drm-intel-next-2014-12-19' of git://anongit.freedesktop.org/drm-intel: (131 commits) drm/i915: Update DRIVER_DATE to 20141219 drm/i915: Hold runtime PM during plane commit drm/i915: Organize bind_vma funcs drm/i915: Organize INSTDONE report for future. drm/i915: Organize PDP regs report for future. drm/i915: Organize PPGTT init drm/i915: Organize Fence registers for future enablement. drm/i915: tame the chattermouth (v2) drm/i915: Warn about missing context state workarounds only once drm/i915: Use true PPGTT in Gen8+ when execlists are enabled drm/i915: Skip gunit save/restore for cherryview drm/i915/chv: Use timeout mode for RC6 on chv drm/i915: Add GPGPU_THREADS_DISPATCHED to the register whitelist drm/i915: Tidy up execbuffer command parsing code drm/i915: Mark shadow batch buffers as purgeable drm/i915: Use batch length instead of object size in command parser drm/i915: Use batch pools with the command parser drm/i915: Implement a framework for batch buffer pools drm/i915: fix use after free during eDP encoder destroying drm/i915/skl: Skylake also supports DP MST ...
Diffstat (limited to 'drivers/gpu/drm/drm_modes.c')
-rw-r--r--drivers/gpu/drm/drm_modes.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
index 11cc4deca55b..5125aa91e66f 100644
--- a/drivers/gpu/drm/drm_modes.c
+++ b/drivers/gpu/drm/drm_modes.c
@@ -739,6 +739,8 @@ EXPORT_SYMBOL(drm_mode_vrefresh);
739 * - The CRTC_STEREO_DOUBLE flag can be used to compute the timings for 739 * - The CRTC_STEREO_DOUBLE flag can be used to compute the timings for
740 * buffers containing two eyes (only adjust the timings when needed, eg. for 740 * buffers containing two eyes (only adjust the timings when needed, eg. for
741 * "frame packing" or "side by side full"). 741 * "frame packing" or "side by side full").
742 * - The CRTC_NO_DBLSCAN and CRTC_NO_VSCAN flags request that adjustment *not*
743 * be performed for doublescan and vscan > 1 modes respectively.
742 */ 744 */
743void drm_mode_set_crtcinfo(struct drm_display_mode *p, int adjust_flags) 745void drm_mode_set_crtcinfo(struct drm_display_mode *p, int adjust_flags)
744{ 746{
@@ -765,18 +767,22 @@ void drm_mode_set_crtcinfo(struct drm_display_mode *p, int adjust_flags)
765 } 767 }
766 } 768 }
767 769
768 if (p->flags & DRM_MODE_FLAG_DBLSCAN) { 770 if (!(adjust_flags & CRTC_NO_DBLSCAN)) {
769 p->crtc_vdisplay *= 2; 771 if (p->flags & DRM_MODE_FLAG_DBLSCAN) {
770 p->crtc_vsync_start *= 2; 772 p->crtc_vdisplay *= 2;
771 p->crtc_vsync_end *= 2; 773 p->crtc_vsync_start *= 2;
772 p->crtc_vtotal *= 2; 774 p->crtc_vsync_end *= 2;
775 p->crtc_vtotal *= 2;
776 }
773 } 777 }
774 778
775 if (p->vscan > 1) { 779 if (!(adjust_flags & CRTC_NO_VSCAN)) {
776 p->crtc_vdisplay *= p->vscan; 780 if (p->vscan > 1) {
777 p->crtc_vsync_start *= p->vscan; 781 p->crtc_vdisplay *= p->vscan;
778 p->crtc_vsync_end *= p->vscan; 782 p->crtc_vsync_start *= p->vscan;
779 p->crtc_vtotal *= p->vscan; 783 p->crtc_vsync_end *= p->vscan;
784 p->crtc_vtotal *= p->vscan;
785 }
780 } 786 }
781 787
782 if (adjust_flags & CRTC_STEREO_DOUBLE) { 788 if (adjust_flags & CRTC_STEREO_DOUBLE) {