linux/drivers/gpu/drm/i915
Ville Syrjälä d6038611aa drm/i915: Parse max HDMI TMDS clock from VBT
Starting from version 204 VBT can specify the max TMDS clock we are
allowed to use with HDMI ports. Parse that information and take it
into account when filtering modes and computing a crtc state.

Also take the opportunity to sort the platform check if ladder
from new to old.

v2: Add defines for the values into intel_vbt_defs.h (Jani)
    Don't fall back to 0 silently for unknown values (Jani)
    Skip the debug print for the 0 case (Jani)

Cc: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171030145702.23662-1-ville.syrjala@linux.intel.com
2017-10-30 19:48:11 +02:00
..
gvt drm/i915/execlists: Distinguish the incomplete context notifies 2017-10-04 17:52:45 +01:00
selftests Revert "drm/i915/selftests: Convert timers to use timer_setup()" 2017-10-25 14:16:16 +01:00
dvo_ch7xxx.c drm/i915/dvo: fix debug logging on unknown DID 2017-06-01 15:53:03 +03:00
dvo_ch7017.c drm/i915/lvds: Remove magic from PLL programming 2017-05-10 13:47:55 +03:00
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Recreate vmapping even when the object is pinned 2017-08-30 12:08:11 -07:00
i915_debugfs.c drm/i915/guc: Add a second client, to be used for preemption 2017-10-26 21:35:21 +01:00
i915_drv.c drm/i915/guc: Preemption! With GuC 2017-10-26 21:35:21 +01:00
i915_drv.h drm/i915: Parse max HDMI TMDS clock from VBT 2017-10-30 19:48:11 +02:00
i915_gem_batch_pool.c drm/i915: Reinstate reservation_object zapping for batch_pool objects 2017-06-14 14:06:22 +01:00
i915_gem_batch_pool.h
i915_gem_clflush.c drm/i915: Refactor testing obj->mm.pages 2017-10-16 20:44:19 +01:00
i915_gem_clflush.h drm/i915: Force CPU synchronisation even if userspace requests ASYNC 2017-07-27 22:07:24 +02:00
i915_gem_context.c drm/i915: Hold rcu_read_lock when iterating over the radixtree (vma idr) 2017-10-27 12:39:10 +01:00
i915_gem_context.h drm/i915: Replace execbuf vma ht with an idr 2017-08-18 11:59:02 +01:00
i915_gem_dmabuf.c drm/i915: s/sg_mask/sg_page_sizes/ 2017-10-09 17:07:29 +01:00
i915_gem_evict.c drm/i915: Use same test for eviction and submitting kernel context 2017-10-25 12:13:03 +01:00
i915_gem_execbuffer.c drm/i915: Try a minimal attempt to insert the whole object for relocations 2017-10-09 17:07:29 +01:00
i915_gem_fence_reg.c drm/i915: Track user GTT faulting per-vma 2017-10-09 17:07:29 +01:00
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915: Disable lazy PPGTT page table optimization for vGPU 2017-10-25 17:24:59 +03:00
i915_gem_gtt.h drm/i915: support 64K pages for the 48b PPGTT 2017-10-07 10:11:57 +01:00
i915_gem_internal.c drm/i915: s/sg_mask/sg_page_sizes/ 2017-10-09 17:07:29 +01:00
i915_gem_object.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_object.h drm/i915: Move dev_priv->mm.[un]bound_list to its own lock 2017-10-16 20:44:19 +01:00
i915_gem_render_state.c drm/i915: Refactor testing obj->mm.pages 2017-10-16 20:44:19 +01:00
i915_gem_render_state.h
i915_gem_request.c drm/i915: Add a hook for making the engines idle (parking) and unparking 2017-10-25 18:47:30 +01:00
i915_gem_request.h drm/i915/scheduler: Support user-defined priorities 2017-10-04 17:52:46 +01:00
i915_gem_shrinker.c drm/i915: Set our shrinker->batch to 4096 (~16MiB) 2017-10-16 20:44:19 +01:00
i915_gem_stolen.c drm/i915: Move dev_priv->mm.[un]bound_list to its own lock 2017-10-16 20:44:19 +01:00
i915_gem_tiling.c drm/i915: Refactor testing obj->mm.pages 2017-10-16 20:44:19 +01:00
i915_gem_timeline.c drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_gem_timeline.h drm/i915: Rename intel_timeline.sync_seqno[] to .global_sync[] 2017-05-03 11:08:52 +01:00
i915_gem_userptr.c drm/i915: Fixup userptr mmu notifier registration error handling 2017-10-18 09:25:39 +01:00
i915_gem.c drm/i915: Hold rcu_read_lock when iterating over the radixtree (objects) 2017-10-27 12:38:45 +01:00
i915_gem.h drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_gemfs.c drm/i915/gemfs: enable THP 2017-10-07 10:11:43 +01:00
i915_gemfs.h drm/i915: introduce simple gemfs 2017-10-07 10:11:41 +01:00
i915_gpu_error.c drm/i915: Name i915_runtime_pm structure in dev_priv as "runtime_pm" 2017-10-11 08:56:54 +01:00
i915_guc_reg.h
i915_guc_submission.c drm/i915/guc: Preemption! With GuC 2017-10-26 21:35:21 +01:00
i915_guc_submission.h drm/i915: Unify uC variable types to avoid flooding checkpatch.pl 2017-10-06 14:09:40 +03:00
i915_ioc32.c
i915_irq.c drm/i915/guc: Always enable the breadcrumbs irq 2017-10-25 18:47:30 +01:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_bdw.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_bxt.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_bxt.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_cflgt2.c drm/i915/perf: add support for Coffeelake GT2 2017-09-18 19:46:36 +01:00
i915_oa_cflgt2.h drm/i915/perf: add support for Coffeelake GT2 2017-09-18 19:46:36 +01:00
i915_oa_chv.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_chv.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_glk.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_glk.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_hsw.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_hsw.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_kblgt2.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_kblgt2.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_kblgt3.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_kblgt3.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt2.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt2.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt3.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt3.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt4.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt4.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_params.c drm/i915: Remove use_mmio_flip modparm, v2. 2017-10-04 15:51:09 +02:00
i915_params.h drm/i915: Remove use_mmio_flip modparm, v2. 2017-10-04 15:51:09 +02:00
i915_pci.c drm/i915: remove g4x lowfreq_avail and has_pipe_cxsr 2017-10-19 15:52:52 +03:00
i915_perf.c drm/i915/perf: fix perf enable/disable ioctls with 32bits userspace 2017-10-24 16:49:58 +01:00
i915_pvinfo.h drm/i915: enable to read CSB and CSB write pointer from HWSP in GVT-g VM 2017-10-16 13:56:29 +03:00
i915_reg.h drm/i915/cnl: Fix SSEU Device Status. 2017-10-26 11:35:11 -07:00
i915_selftest.h drm/i915: Don't use MI_STORE_DWORD_IMM on Sandybridge/vcs 2017-08-18 11:55:02 +01:00
i915_suspend.c drm/i915: Move i915_gem_restore_fences to i915_gem_resume 2017-09-29 12:30:17 +01:00
i915_sw_fence.c drm/i915: Convert timers to use timer_setup() 2017-10-18 14:56:10 +03:00
i915_sw_fence.h main drm pull for v4.13 2017-07-09 18:48:37 -07:00
i915_syncmap.c drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_syncmap.h drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_sysfs.c drm/i915: Rename intel_enable_rc6 to intel_rc6_enabled 2017-10-11 08:57:02 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Remove defunct trace points 2017-10-04 15:19:20 +01:00
i915_utils.h drm/i915: Try harder to finish the idle-worker 2017-10-06 17:49:46 +01:00
i915_vgpu.c drm/i915: Enable guest i915 full ppgtt functionality 2017-08-15 10:12:48 +08:00
i915_vgpu.h drm/i915: enable to read CSB and CSB write pointer from HWSP in GVT-g VM 2017-10-16 13:56:29 +03:00
i915_vma.c drm/i915: Move dev_priv->mm.[un]bound_list to its own lock 2017-10-16 20:44:19 +01:00
i915_vma.h drm/i915: Track user GTT faulting per-vma 2017-10-09 17:07:29 +01:00
intel_acpi.c ACPI: Switch to use generic guid_t in acpi_evaluate_dsm() 2017-06-07 12:20:49 +02:00
intel_atomic_plane.c drm/i915: Pass proper old/new states to intel_plane_atomic_check_with_state() 2017-09-01 16:48:24 +03:00
intel_atomic.c drm/i915/cnl: Fix Cannonlake scaler mode programing. 2017-06-12 09:45:55 -07:00
intel_audio.c drm/i915: Don't relay on I915_MAX_PIPES 2017-10-10 18:07:48 +03:00
intel_bios.c drm/i915: Parse max HDMI TMDS clock from VBT 2017-10-30 19:48:11 +02:00
intel_bios.h
intel_breadcrumbs.c drm/i915/guc: Always enable the breadcrumbs irq 2017-10-25 18:47:30 +01:00
intel_cdclk.c drm/i915/cnl: Allow 2 pixel per clock on Cannonlake. 2017-10-25 10:36:01 -07:00
intel_color.c drm/i915: Use crtc_state_is_legacy_gamma in intel_color_check 2017-10-06 10:42:59 +02:00
intel_crt.c drm/i915/crt: split compute_config hook by platforms 2017-10-19 15:52:53 +03:00
intel_csr.c drm/i915/cnl: Update the DMC version on CNL 2017-10-24 13:52:00 -07:00
intel_ddi.c drm/i915: Fix BXT lane latency optimal setting with MST 2017-10-27 22:14:37 +03:00
intel_device_info.c drm/i915/cnl: Add support slice/subslice/eu configs 2017-09-26 13:02:44 -07:00
intel_display.c drm/i915: Cancel the modeset retry work during modeset cleanup 2017-10-26 23:19:53 +01:00
intel_dp_aux_backlight.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_dp_link_training.c drm/i915: Explicit the connector name for DP link training result 2017-07-19 08:32:42 +02:00
intel_dp_mst.c drm/i915: Fix BXT lane latency optimal setting with MST 2017-10-27 22:14:37 +03:00
intel_dp.c drm/i915: Improve DP downstream HPD handling 2017-10-27 22:14:46 +03:00
intel_dpio_phy.c drm/i915: Fix BXT lane latency optimal setting with MST 2017-10-27 22:14:37 +03:00
intel_dpll_mgr.c drm/i915: Start using output_types for DPLL selection 2017-10-27 18:45:36 +03:00
intel_dpll_mgr.h drm/i915/cnl: Initialize PLLs 2017-06-12 09:42:18 -07:00
intel_drv.h drm/i915: Do not rely on wm preservation for ILK watermarks 2017-10-27 09:06:05 +02:00
intel_dsi_dcs_backlight.c drm/i915: Initialize 'data' in intel_dsi_dcs_backlight.c 2017-08-16 18:02:00 +03:00
intel_dsi_pll.c drm/i915/glk: Validate only DSI PORT A PLL divider 2017-02-28 11:54:52 +02:00
intel_dsi_vbt.c drm/i915/bxt: use NULL for GPIO connection ID 2017-08-21 11:52:29 +03:00
intel_dsi.c drm/i915: Use existing DSI backlight ports info 2017-10-20 11:28:49 +03:00
intel_dsi.h drm/i915/dsi: arrange intel_dsi.h according to relevant files 2017-03-07 15:18:43 +02:00
intel_dvo.c drm/i915: Reuse normal state readout for LVDS/DVO fixed mode 2017-10-11 19:44:19 +03:00
intel_engine_cs.c drm/i915: Include RING_MODE when dumping the engine state 2017-10-26 21:35:21 +01:00
intel_fbc.c drm/i915: adjust get_crtc_fence_y_offset() to use base.y instead of crtc.y 2017-10-18 17:02:45 +03:00
intel_fbdev.c drm/i915: Replace *_reference/unreference() or *_ref/unref with _get/put() 2017-10-13 16:53:59 +02:00
intel_fifo_underrun.c drm/i915: Don't rmw PIPESTAT enable bits 2017-09-25 16:54:09 +03:00
intel_frontbuffer.c drm/i915: Remove 'retire' parameter from intel_fb_obj_flush 2017-02-22 12:12:17 +00:00
intel_frontbuffer.h drm/i915: Remove 'retire' parameter from intel_fb_obj_flush 2017-02-22 12:12:17 +00:00
intel_guc_ct.c drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_ct.h drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_fw.c drm/i915/uc: Unify firmware loading 2017-10-16 18:53:29 +03:00
intel_guc_fw.h drm/i915/guc: Rename intel_guc_loader.c to intel_guc_fw.c 2017-10-16 18:53:25 +03:00
intel_guc_fwif.h drm/i915/guc: Add preemption action to GuC firmware interface 2017-10-26 21:35:21 +01:00
intel_guc_log.c drm/i915: Unify uC variable types to avoid flooding checkpatch.pl 2017-10-06 14:09:40 +03:00
intel_guc_log.h drm/i915: Unify uC variable types to avoid flooding checkpatch.pl 2017-10-06 14:09:40 +03:00
intel_guc.c drm/i915/guc: Allocate separate shared data object for GuC communication 2017-10-26 21:35:21 +01:00
intel_guc.h drm/i915/guc: Preemption! With GuC 2017-10-26 21:35:21 +01:00
intel_gvt.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_gvt.h drm/i915/gvt: Add gvt options sanitize function 2017-05-30 15:59:47 +03:00
intel_hangcheck.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_hdmi.c drm/i915: Parse max HDMI TMDS clock from VBT 2017-10-30 19:48:11 +02:00
intel_hotplug.c drm/i915: Introduce intel_hpd_pin function. 2017-08-11 11:53:47 -07:00
intel_huc.c drm/i915/huc: Use helper function while waiting for DMA completion 2017-10-26 21:35:21 +01:00
intel_huc.h drm/i915/huc: Fix includes in intel_huc.c 2017-10-06 16:01:15 +01:00
intel_i2c.c drm/i915: Make i2c lock ops static 2017-09-01 10:30:40 -07:00
intel_lpe_audio.c drm/i915: Stop pretending to mask/unmask LPE audio interrupts 2017-05-26 11:51:18 +03:00
intel_lrc.c drm/i915/guc: Preemption! With GuC 2017-10-26 21:35:21 +01:00
intel_lrc.h drm/i915/guc: Preemption! With GuC 2017-10-26 21:35:21 +01:00
intel_lspcon.c drm/i915: Add retries for LSPCON detection 2017-10-13 12:15:10 +03:00
intel_lvds.c drm/i915: Allow PCH platforms fall back to BIOS LVDS mode 2017-10-11 21:43:30 +03:00
intel_mocs.c drm/i915/cnl: Cannonlake has same MOCS table than Skylake. 2017-06-07 07:29:51 -07:00
intel_mocs.h
intel_modes.c drm/i915: always update ELD connector type after get modes 2017-09-20 10:36:34 +03:00
intel_opregion.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_overlay.c drm: Pass struct drm_file * to __drm_mode_object_find [v2] 2017-10-12 10:03:04 +10:00
intel_panel.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_pipe_crc.c drm/i915: Favor for_each_pipe() macro 2017-10-10 18:29:52 +03:00
intel_pm.c drm/i915: Calculate ironlake intermediate watermarks correctly, v2. 2017-10-27 09:07:10 +02:00
intel_psr.c drm/i915: Remove mostly duplicated video DIP handling from PSR code 2017-10-17 12:38:58 +03:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c drm/i915/gen9: Send all components in VF state 2017-08-14 12:15:49 +03:00
intel_renderstate.h
intel_ringbuffer.c drm/i915: Empty the ring before disabling 2017-10-27 12:09:29 +01:00
intel_ringbuffer.h drm/i915/guc: Preemption! With GuC 2017-10-26 21:35:21 +01:00
intel_runtime_pm.c drm/i915: Start tracking voltage level in the cdclk state 2017-10-25 13:40:00 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Make i2c lock ops static 2017-09-01 10:30:40 -07:00
intel_sideband.c drm/i915: Move rps.hw_lock to dev_priv and s/hw_lock/pcu_lock 2017-10-11 08:56:56 +01:00
intel_sprite.c drm/i915: Unify skylake plane disable 2017-10-18 17:02:38 +03:00
intel_tv.c drm/i915: Use mul_u32_u32() for 32b x 32b -> 64b result 2017-09-13 13:27:20 +01:00
intel_uc_fw.c drm/i915/uc: Add pretty printer for uc firmware 2017-10-17 16:42:56 +01:00
intel_uc_fw.h drm/i915/uc: Add pretty printer for uc firmware 2017-10-17 16:42:56 +01:00
intel_uc.c drm/i915/guc: Update Guc messages on load failure 2017-10-16 18:53:30 +03:00
intel_uc.h drm/i915/guc: Move GuC core definitions into dedicated files 2017-10-06 09:37:20 +03:00
intel_uncore.c drm/i915: Empty the ring before disabling 2017-10-27 12:09:29 +01:00
intel_uncore.h drm/i915: Provide an assert for when we expect forcewake to be held 2017-10-09 17:07:29 +01:00
intel_vbt_defs.h drm/i915: Parse max HDMI TMDS clock from VBT 2017-10-30 19:48:11 +02:00
Kconfig drm/i915/fence: Avoid del_timer_sync() from inside a timer 2017-09-19 13:06:21 +01:00
Kconfig.debug drm/i915: Add SW_SYNC to our recommend testing Kconfig 2017-08-12 10:30:42 +01:00
Makefile drm/i915: Add -Wall -Wextra to our build, set warnings to full 2017-10-26 21:35:21 +01:00