linux_dsm_epyc7002/drivers/gpu/drm/i915/display
Ville Syrjälä 03b0ce9532 drm/i915: Add support for half float framebuffers for gen4+ primary planes
gen4+ supports fp16 pixel formats on the primary planes. Add the
relevant code.

On ivb fp16 scanout is slightly busted. The output from the plane will
have 1/4 the expected value. For the primary plane we would have to
use the pipe gamma or pipe csc to correct that which would affect all
the other planes as well, hence we simply choose not to expose fp16
on the ivb primary plane. On hsw the primary plane got fixed.

On gmch platforms I observed that the plane width must be below 2k
pixels with fp16 or else we get a corrupted image. This limitation
does not seem to be documented in bspec. I verified the exact limit
using the chv pipe B primary plane since it has windowing capability.
The stride limits are unaffected by fp16.

v2: Rebase on top of icl fp16
    Split thea gen4+ primary plane bits into a separate patch
    Deal with HAS_GMCH()

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191015193035.25982-9-ville.syrjala@linux.intel.com
2019-10-24 21:22:25 +03:00
..
dvo_ch7xxx.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_ch7017.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_ivch.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_ns2501.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_sil164.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_tfp410.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
icl_dsi.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_acpi.c
intel_acpi.h
intel_atomic_plane.c drm/i915: Allow planes to declare their minimum acceptable cdclk 2019-10-24 21:22:25 +03:00
intel_atomic_plane.h drm/i915: Allow planes to declare their minimum acceptable cdclk 2019-10-24 21:22:25 +03:00
intel_atomic.c drm/i915: Rework global state locking 2019-10-24 21:22:25 +03:00
intel_atomic.h drm/i915: Rework global state locking 2019-10-24 21:22:25 +03:00
intel_audio.c drm/i915: Rework global state locking 2019-10-24 21:22:25 +03:00
intel_audio.h
intel_bios.c drm/i915/tgl: Enable DDI/Port G 2019-10-16 16:53:27 -07:00
intel_bios.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_bw.c drm/i915/tgl: Add memory type decoding for bandwidth checking 2019-09-25 15:52:08 -07:00
intel_bw.h drm/i915/bw: make intel_atomic_get_bw_state() static 2019-08-07 12:01:46 +03:00
intel_cdclk.c drm/i915: Allow planes to declare their minimum acceptable cdclk 2019-10-24 21:22:25 +03:00
intel_cdclk.h drm/i915: Extract intel_modeset_calc_cdclk() 2019-09-16 14:51:09 +03:00
intel_color.c drm/i915/color: move check of gamma_enable to specific func/platform 2019-10-09 17:13:14 +03:00
intel_color.h drm/i915/display: Add func to compare hw/sw gamma lut 2019-09-04 11:55:30 +03:00
intel_combo_phy.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_combo_phy.h drm/i915/gen11: Convert combo PHY logic to use new 'enum phy' namespace 2019-07-10 18:22:34 -07:00
intel_connector.c drm/i915/dp: Attach colorspace property 2019-10-15 16:24:59 +03:00
intel_connector.h
intel_crt.c drm/i915: Clean up encoder->crtc_mask setup 2019-10-02 18:18:07 +03:00
intel_crt.h
intel_ddi.c drm/i915/dsc: rename crtc state dsc_params member to dsc 2019-10-23 16:28:17 +03:00
intel_ddi.h drm/i915/dp: Add support of BT.2020 Colorimetry to DP MSA 2019-10-15 16:24:59 +03:00
intel_display_power.c drm/i915/tgl: Switch between dc3co and dc5 based on display idleness 2019-10-08 11:05:28 +03:00
intel_display_power.h drm/i915/tgl: Switch between dc3co and dc5 based on display idleness 2019-10-08 11:05:28 +03:00
intel_display_types.h drm/i915: Allow planes to declare their minimum acceptable cdclk 2019-10-24 21:22:25 +03:00
intel_display.c drm/i915: Add support for half float framebuffers for gen4+ primary planes 2019-10-24 21:22:25 +03:00
intel_display.h drm/i915: Simplify skl_max_scale() 2019-10-24 21:22:25 +03:00
intel_dp_aux_backlight.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dp_aux_backlight.h
intel_dp_link_training.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dp_link_training.h
intel_dp_mst.c drm/i915: fix port checks for MST support on gen >= 11 2019-10-18 17:28:12 -07:00
intel_dp_mst.h drm/i915/mst: un-inline intel_dp_mst_encoder_active_links() 2019-08-07 12:01:51 +03:00
intel_dp.c drm/i915/dsc: rename crtc state dsc_params member to dsc 2019-10-23 16:28:17 +03:00
intel_dp.h drm/i915/dp: Program an Infoframe SDP Header and DB for HDR Static Metadata 2019-10-15 16:24:59 +03:00
intel_dpio_phy.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_dpio_phy.h
intel_dpll_mgr.c drm/i915: Select DPLL's via mask 2019-10-09 08:33:28 -07:00
intel_dpll_mgr.h drm/i915/tgl: Add new pll ids 2019-07-11 16:31:12 -07:00
intel_dsb.c drm/i915: Pull i915_vma_pin under the vm->mutex 2019-10-04 15:39:02 +01:00
intel_dsb.h drm/i915/dsb: function to trigger workload execution of DSB. 2019-09-23 10:12:26 +03:00
intel_dsi_dcs_backlight.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dsi_dcs_backlight.h
intel_dsi_vbt.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dsi.c drm/i915: Don't advertise modes that exceed the max plane size 2019-09-19 20:28:57 +03:00
intel_dsi.h drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dvo_dev.h
intel_dvo.c drm/i915: Clean up encoder->crtc_mask setup 2019-10-02 18:18:07 +03:00
intel_dvo.h
intel_fbc.c drm/i915: Disable FBC if BIOS reserved memory (stolen) is unavailable 2019-09-12 11:43:48 +01:00
intel_fbc.h
intel_fbdev.c drm/i915/stolen: make the object creation interface consistent 2019-10-04 19:27:41 +01:00
intel_fbdev.h
intel_fifo_underrun.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_fifo_underrun.h
intel_frontbuffer.c drm/i915: Coordinate i915_active with its own mutex 2019-10-04 15:39:12 +01:00
intel_frontbuffer.h drm/i915: Extract intel_frontbuffer active tracking 2019-08-16 09:51:11 +01:00
intel_gmbus.c drm/i915: introduce INTEL_DISPLAY_ENABLED() 2019-09-16 10:20:05 +03:00
intel_gmbus.h drm/i915: Move gmbus definitions out of i915_reg.h 2019-08-16 21:52:49 +01:00
intel_hdcp.c drm/i915/hdcp: Enable HDCP 1.4 and 2.2 on Gen12+ 2019-08-30 14:08:32 +05:30
intel_hdcp.h drm/i915/hdcp: update current transcoder into intel_hdcp 2019-08-30 14:08:30 +05:30
intel_hdmi.c drm/i915: Make hdcp2_msg_timeout.timeout u16 2019-10-18 17:10:19 +03:00
intel_hdmi.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_hotplug.c drm/i915: Prefer encoder->name over port_name() 2019-09-02 18:43:28 +03:00
intel_hotplug.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_lpe_audio.c drm/i915: add INTEL_NUM_PIPES() and use it 2019-09-11 22:33:20 +03:00
intel_lpe_audio.h
intel_lspcon.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_lspcon.h
intel_lvds.c drm/i915: Clean up encoder->crtc_mask setup 2019-10-02 18:18:07 +03:00
intel_lvds.h
intel_opregion.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_opregion.h
intel_overlay.c drm/i915/gt: Split intel_ring_submission 2019-10-24 12:14:21 +01:00
intel_overlay.h
intel_panel.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_panel.h
intel_pipe_crc.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_pipe_crc.h
intel_psr.c drm/i915/dsc: rename crtc state dsc_params member to dsc 2019-10-23 16:28:17 +03:00
intel_psr.h drm/i915: Do not unmask PSR interruption in IRQ postinstall 2019-08-22 13:09:24 -07:00
intel_quirks.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_quirks.h
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Clean up encoder->crtc_mask setup 2019-10-02 18:18:07 +03:00
intel_sdvo.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_sprite.c drm/i915: Add support for half float framebuffers for skl+ 2019-10-24 21:22:25 +03:00
intel_sprite.h drm/i915: Allow planes to declare their minimum acceptable cdclk 2019-10-24 21:22:25 +03:00
intel_tc.c drm/i915/tc: Update DP_MODE programming 2019-09-27 10:40:17 -07:00
intel_tc.h drm/i915/tc: Update DP_MODE programming 2019-09-27 10:40:17 -07:00
intel_tv.c drm/i915: Clean up encoder->crtc_mask setup 2019-10-02 18:18:07 +03:00
intel_tv.h
intel_vbt_defs.h drm/i915/tgl: Enable DDI/Port G 2019-10-16 16:53:27 -07:00
intel_vdsc.c drm/i915/dsc: move crtc state dp_dsc_cfg member under dsc as config 2019-10-23 16:28:29 +03:00
intel_vdsc.h
intel_vga.c drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem() 2019-10-06 11:24:53 +03:00
intel_vga.h drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem() 2019-10-06 11:24:53 +03:00
Makefile drm/i915: use upstream version of header tests 2019-07-30 12:11:57 +03:00
vlv_dsi_pll.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
vlv_dsi.c drm/i915: Use enum pipe consistently 2019-08-23 21:36:01 +03:00