diff options
author | Dave Airlie <airlied@redhat.com> | 2015-01-09 17:46:24 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2015-01-09 17:46:24 -0500 |
commit | adc31849b27fefeca6c225d3895143a2ec6970fa (patch) | |
tree | 96644dea69278efbdd0f0fac52202203a67030fa /drivers/gpu/drm/drm_modes.c | |
parent | c93546a5e32bd788c22aefa072385f3784551c13 (diff) | |
parent | 0e2cfc005b376ed7b5c9a9fc466b5842fcc18cc7 (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.c | 26 |
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 | */ |
743 | void drm_mode_set_crtcinfo(struct drm_display_mode *p, int adjust_flags) | 745 | void 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) { |