diff options
author | Dave Airlie <airlied@redhat.com> | 2017-12-03 14:38:52 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2017-12-03 14:42:49 -0500 |
commit | 2c1c55cb75a9c72f9726fabb8c3607947711a8df (patch) | |
tree | fa835b954149545970eaa256107876d9a24bbf28 /drivers/gpu/drm/i915/intel_hdmi.c | |
parent | ae64f9bd1d3621b5e60d7363bc20afb46aede215 (diff) | |
parent | 2f51be0945b9e0b9baafe47289c802be6d4c7980 (diff) |
Merge tag 'drm-misc-next-2017-11-30' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
Cross-subsystem Changes:
- device tree doc for the Mitsubishi AA070MC01 and Tianma TM070RVHG71
panels (Lukasz Majewski) and for a 2nd endpoint on stm32 (Philippe Cornu)
Core Changes:
The most important changes are:
- Add drm_driver .last_close and .output_poll_changed helpers to reduce
fbdev emulation footprint in drivers (Noralf)
- Fix plane clipping in core and for vmwgfx (Ville)
Then we have a bunch of of improvement for print and debug such as the
addition of a framebuffer debugfs file. ELD connector, HDMI and
improvements. And a bunch of misc improvements, clean ups and style
changes and doc updates
[airlied: drop eld bits from amdgpu_dm]
Driver Changes:
- sii8620: filter unsupported modes and add DVI mode support (Maciej Purski)
- rockchip: analogix_dp: Remove unnecessary init code (Jeffy Chen)
- virtio, cirrus: add fb create_handle support to enable screenshots(Lepton Wu)
- virtio: replace reference/unreference with get/put (Aastha Gupta)
- vc4, gma500: Convert timers to use timer_setup() (Kees Cook)
- vc4: Reject HDMI modes with too high of clocks (Eric)
- vc4: Add support for more pixel formats (Dave Stevenson)
- stm: dsi: Rename driver name to "stm32-display-dsi" (Philippe Cornu)
- stm: ltdc: add a 2nd endpoint (Philippe Cornu)
- via: use monotonic time for VIA_WAIT_IRQ (Arnd Bergmann)
* tag 'drm-misc-next-2017-11-30' of git://anongit.freedesktop.org/drm/drm-misc: (96 commits)
drm/bridge: tc358767: add copyright lines
MAINTAINERS: change maintainer for Rockchip drm drivers
drm/vblank: Fix vblank timestamp debugs
drm/via: use monotonic time for VIA_WAIT_IRQ
dma-buf: Fix ifnullfree.cocci warnings
drm/printer: Add drm_vprintf()
drm/edid: Allow HDMI infoframe without VIC or S3D
video/hdmi: Allow "empty" HDMI infoframes
dma-buf/fence: Fix lock inversion within dma-fence-array
drm/sti: Handle return value of platform_get_irq_byname
drm/vc4: Add support for NV21 and NV61.
drm/vc4: Use .pixel_order instead of custom .flip_cbcr
drm/vc4: Add support for DRM_FORMAT_RGB888 and DRM_FORMAT_BGR888
drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c
drm: Check crtc_state->enable rather than crtc->enabled in drm_plane_helper_check_state()
drm/vmwgfx: Try to fix plane clipping
drm/vmwgfx: Use drm_plane_helper_check_state()
drm/vmwgfx: Remove bogus crtc coords vs fb size check
gpu: gma500: remove unneeded DRIVER_LICENSE #define
drm: don't link DP aux i2c adapter to the hardware device node
...
Diffstat (limited to 'drivers/gpu/drm/i915/intel_hdmi.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 4dea833f9d1b..e039702c1907 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
@@ -513,12 +513,14 @@ static void intel_hdmi_set_spd_infoframe(struct drm_encoder *encoder, | |||
513 | 513 | ||
514 | static void | 514 | static void |
515 | intel_hdmi_set_hdmi_infoframe(struct drm_encoder *encoder, | 515 | intel_hdmi_set_hdmi_infoframe(struct drm_encoder *encoder, |
516 | const struct intel_crtc_state *crtc_state) | 516 | const struct intel_crtc_state *crtc_state, |
517 | const struct drm_connector_state *conn_state) | ||
517 | { | 518 | { |
518 | union hdmi_infoframe frame; | 519 | union hdmi_infoframe frame; |
519 | int ret; | 520 | int ret; |
520 | 521 | ||
521 | ret = drm_hdmi_vendor_infoframe_from_display_mode(&frame.vendor.hdmi, | 522 | ret = drm_hdmi_vendor_infoframe_from_display_mode(&frame.vendor.hdmi, |
523 | conn_state->connector, | ||
522 | &crtc_state->base.adjusted_mode); | 524 | &crtc_state->base.adjusted_mode); |
523 | if (ret < 0) | 525 | if (ret < 0) |
524 | return; | 526 | return; |
@@ -585,7 +587,7 @@ static void g4x_set_infoframes(struct drm_encoder *encoder, | |||
585 | 587 | ||
586 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); | 588 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); |
587 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); | 589 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); |
588 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state); | 590 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state, conn_state); |
589 | } | 591 | } |
590 | 592 | ||
591 | static bool hdmi_sink_is_deep_color(const struct drm_connector_state *conn_state) | 593 | static bool hdmi_sink_is_deep_color(const struct drm_connector_state *conn_state) |
@@ -726,7 +728,7 @@ static void ibx_set_infoframes(struct drm_encoder *encoder, | |||
726 | 728 | ||
727 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); | 729 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); |
728 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); | 730 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); |
729 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state); | 731 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state, conn_state); |
730 | } | 732 | } |
731 | 733 | ||
732 | static void cpt_set_infoframes(struct drm_encoder *encoder, | 734 | static void cpt_set_infoframes(struct drm_encoder *encoder, |
@@ -769,7 +771,7 @@ static void cpt_set_infoframes(struct drm_encoder *encoder, | |||
769 | 771 | ||
770 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); | 772 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); |
771 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); | 773 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); |
772 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state); | 774 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state, conn_state); |
773 | } | 775 | } |
774 | 776 | ||
775 | static void vlv_set_infoframes(struct drm_encoder *encoder, | 777 | static void vlv_set_infoframes(struct drm_encoder *encoder, |
@@ -822,7 +824,7 @@ static void vlv_set_infoframes(struct drm_encoder *encoder, | |||
822 | 824 | ||
823 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); | 825 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); |
824 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); | 826 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); |
825 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state); | 827 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state, conn_state); |
826 | } | 828 | } |
827 | 829 | ||
828 | static void hsw_set_infoframes(struct drm_encoder *encoder, | 830 | static void hsw_set_infoframes(struct drm_encoder *encoder, |
@@ -855,7 +857,7 @@ static void hsw_set_infoframes(struct drm_encoder *encoder, | |||
855 | 857 | ||
856 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); | 858 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); |
857 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); | 859 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); |
858 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state); | 860 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state, conn_state); |
859 | } | 861 | } |
860 | 862 | ||
861 | void intel_dp_dual_mode_set_tmds_output(struct intel_hdmi *hdmi, bool enable) | 863 | void intel_dp_dual_mode_set_tmds_output(struct intel_hdmi *hdmi, bool enable) |