linux-stable/drivers/gpu/drm/i915
Ville Syrjälä 7bed8adcd9 drm/i915: Try to sanitize bogus DPLL state left over by broken SNB BIOSen
Certain SNB machines (eg. ASUS K53SV) seem to have a broken BIOS
which misprograms the hardware badly when encountering a suitably
high resolution display. The programmed pipe timings are somewhat
bonkers and the DPLL is totally misprogrammed (P divider == 0).
That will result in atomic commit timeouts as apparently the pipe
is sufficiently stuck to not signal vblank interrupts.

IIRC something like this was also observed on some other SNB
machine years ago (might have been a Dell XPS 8300) but a BIOS
update cured it. Sadly looks like this was never fixed for the
ASUS K53SV as the latest BIOS (K53SV.320 11/11/2011) is still
broken.

The quickest way to deal with this seems to be to shut down
the pipe+ports+DPLL. Unfortunately doing this during the
normal sanitization phase isn't quite soon enough as we
already spew several WARNs about the bogus hardware state.
But it's better than hanging the boot for a few dozen seconds.
Since this is limited to a few old machines it doesn't seem
entirely worthwile to try and rework the readout+sanitization
code to handle it more gracefully.

v2: Fix potential NULL deref (kbuild test robot)
    Constify has_bogus_dpll_config()

Cc: stable@vger.kernel.org # v4.20+
Cc: Daniel Kamil Kozar <dkk089@gmail.com>
Reported-by: Daniel Kamil Kozar <dkk089@gmail.com>
Tested-by: Daniel Kamil Kozar <dkk089@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109245
Fixes: 516a49cc19 ("drm/i915: Fix assert_plane() warning on bootup with external display")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190111174950.10681-1-ville.syrjala@linux.intel.com
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
2019-01-28 15:53:32 +02:00
..
gvt Merge tag 'gvt-next-2019-01-24' of https://github.com/intel/gvt-linux into drm-intel-next-queued 2019-01-24 14:50:04 -08:00
selftests drm/i915: Issue engine resets onto idle engines 2019-01-25 14:27:30 +00:00
dvo.h drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
dvo_ch7xxx.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_ch7017.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_ivch.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_ns2501.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_sil164.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_tfp410.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
i915_cmd_parser.c drm/i915: replace IS_GEN<N> with IS_GEN(..., N) 2018-12-12 16:52:10 -08:00
i915_debugfs.c drm/i915: Wait for a moment before forcibly resetting the device 2019-01-28 09:30:08 +00:00
i915_drv.c drm/i915: Pull all the reset functionality together into i915_reset.c 2019-01-16 22:45:31 +00:00
i915_drv.h drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
i915_fixed.h drm/i915/fixed: cosmetic cleanup 2018-11-20 12:49:24 +02:00
i915_gem.c drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
i915_gem.h drm/i915: GEM_WARN_ON considered harmful 2018-10-18 10:10:12 +01:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_clflush.c drm/i915: Remove unecessary dma_fence_ops 2018-08-17 11:22:15 +02:00
i915_gem_clflush.h
i915_gem_context.c drm/i915: De-inline intel_context_init() 2019-01-24 09:51:28 +00:00
i915_gem_context.h drm/i915: De-inline intel_context_init() 2019-01-24 09:51:28 +00:00
i915_gem_dmabuf.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
i915_gem_evict.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
i915_gem_execbuffer.c drm/i915/gem: Track the rpm wakerefs 2019-01-14 16:18:13 +00:00
i915_gem_fence_reg.c drm/i915: small isolated c99 types to kernel types switch 2019-01-17 09:02:00 +02:00
i915_gem_fence_reg.h drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
i915_gem_gtt.c drm/i915: Pull all the reset functionality together into i915_reset.c 2019-01-16 22:45:31 +00:00
i915_gem_gtt.h drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
i915_gem_internal.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
i915_gem_object.c
i915_gem_object.h drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start 2019-01-15 17:07:23 +00:00
i915_gem_render_state.c drm/i915: Start returning an error from i915_vma_move_to_active() 2018-07-06 18:22:37 +01:00
i915_gem_render_state.h
i915_gem_shrinker.c drm/i915: Syntatic sugar for using intel_runtime_pm 2019-01-14 16:18:25 +00:00
i915_gem_stolen.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
i915_gem_tiling.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
i915_gem_userptr.c drm/i915/userptr: Fix error handling of mutex_lock_killable() 2019-01-16 08:31:41 +00:00
i915_gemfs.c
i915_gemfs.h
i915_gpu_error.c drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
i915_gpu_error.h drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
i915_ioc32.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
i915_irq.c drm/i915/tv: Use the scanline counter for timestamps on i965gm TV output 2019-01-28 15:53:32 +02:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bdw.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bxt.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bxt.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_chv.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_chv.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cnl.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cnl.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_glk.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_glk.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_hsw.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_hsw.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_icl.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_icl.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt4.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt4.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_params.c drm/i915/params: set i915.enable_hangcheck permissions to 0600 2018-12-31 15:27:41 +02:00
i915_params.h drm/i915/params: document I915_PARAMS_FOR_EACH() 2018-12-31 17:13:35 +02:00
i915_pci.c drm/i915: Always try to reset the GPU on takeover 2019-01-03 12:40:42 +00:00
i915_perf.c drm/i915: small isolated c99 types to kernel types switch 2019-01-17 09:02:00 +02:00
i915_pmu.c drm/i915: Syntatic sugar for using intel_runtime_pm 2019-01-14 16:18:25 +00:00
i915_pmu.h
i915_pvinfo.h
i915_query.c Merge drm/drm-next into drm-intel-next-queued 2019-01-08 10:50:22 +02:00
i915_query.h
i915_reg.h drm/i915/tv: Generate better pipe timings for TV encoder 2019-01-25 19:09:40 +02:00
i915_request.c drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
i915_request.h drm/i915: Tidy common test_bit probing of i915_request->fence.flags 2019-01-22 13:13:53 +00:00
i915_reset.c drm/i915: Issue engine resets onto idle engines 2019-01-25 14:27:30 +00:00
i915_reset.h drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
i915_scheduler.c drm/i915: Priority boost for waiting clients 2018-10-01 20:34:24 +01:00
i915_scheduler.h drm/i915: Priority boost for waiting clients 2018-10-01 20:34:24 +01:00
i915_selftest.h drm/i915/selftests: Downgrade igt_timeout message 2018-07-16 11:23:45 +01:00
i915_suspend.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
i915_sw_fence.c drm-misc-next for 5.1: 2019-01-10 05:58:52 +10:00
i915_sw_fence.h drm/i915: change i915_sw_fence license to MIT 2018-12-04 12:13:48 +00:00
i915_syncmap.c drm/i915: Convert to BITS_PER_TYPE 2018-09-26 13:32:03 +01:00
i915_syncmap.h
i915_sysfs.c drm/i915: Syntatic sugar for using intel_runtime_pm 2019-01-14 16:18:25 +00:00
i915_timeline.c
i915_timeline.h drm/i915: Remove HW semaphores for gen7 inter-engine synchronisation 2018-12-28 14:43:27 +00:00
i915_trace.h drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
i915_trace_points.c
i915_utils.h drm/i915: Make sure fb gtt offsets stay within 32bits 2018-11-29 22:00:49 +02:00
i915_vgpu.c
i915_vgpu.h
i915_vma.c Merge drm/drm-next into drm-intel-next-queued 2018-11-20 13:14:08 +02:00
i915_vma.h drm/i915: Fix gtt_view asserts 2018-08-28 18:49:33 +03:00
icl_dsi.c drm/i915/backlight: Restore backlight on resume, v3. 2019-01-24 13:02:08 +01:00
intel_acpi.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
intel_atomic.c drm/i915: small isolated c99 types to kernel types switch 2019-01-17 09:02:00 +02:00
intel_atomic_plane.c drm/i915: Clean up intel_plane_atomic_check_with_state() 2019-01-25 21:26:08 +02:00
intel_audio.c drm/i915: Markup paired operations on display power domains 2019-01-14 16:18:30 +00:00
intel_bios.c drm/i915/ddi: Move DDI port detection to the corresponding helper 2019-01-15 16:18:23 +02:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Tidy common test_bit probing of i915_request->fence.flags 2019-01-22 13:13:53 +00:00
intel_cdclk.c drm/i915/cdclk: switch to kernel types 2019-01-17 09:02:06 +02:00
intel_color.c drm/i915: Validate userspace-provided color management LUT's (v4) 2019-01-23 16:31:27 -08:00
intel_combo_phy.c drm/i915/icl: reverse uninit order 2018-11-15 16:36:58 -08:00
intel_connector.c Merge drm/drm-next into drm-intel-next-queued 2019-01-22 14:51:36 -08:00
intel_crt.c drm/i915/crt: switch to kernel types 2019-01-17 09:02:06 +02:00
intel_csr.c drm/i915/csr: switch to kernel types 2019-01-21 11:09:16 +02:00
intel_ddi.c drm/i915/backlight: Restore backlight on resume, v3. 2019-01-24 13:02:08 +01:00
intel_device_info.c drm/i915: Fixup kerneldoc for intel_device_info_runtime_init 2019-01-07 09:56:17 +00:00
intel_device_info.h drm/i915: Always try to reset the GPU on takeover 2019-01-03 12:40:42 +00:00
intel_display.c drm/i915: Try to sanitize bogus DPLL state left over by broken SNB BIOSen 2019-01-28 15:53:32 +02:00
intel_display.h drm/i915: start moving runtime device info to a separate struct 2019-01-02 12:46:29 +02:00
intel_dp.c drm/i915/backlight: Restore backlight on resume, v3. 2019-01-24 13:02:08 +01:00
intel_dp_aux_backlight.c drm/i915/backlight: switch to kernel unsigned int types 2018-06-18 14:46:04 +03:00
intel_dp_link_training.c drm/i915/dp: switch to kernel types 2019-01-17 09:02:06 +02:00
intel_dp_mst.c Merge drm/drm-next into drm-intel-next-queued 2019-01-22 14:51:36 -08:00
intel_dpio_phy.c drm/i915: small isolated c99 types to kernel types switch 2019-01-17 09:02:00 +02:00
intel_dpll_mgr.c drm/i915/dpll_mgr: switch to kernel types 2019-01-17 09:02:06 +02:00
intel_dpll_mgr.h drm/i915/dpll_mgr: switch to kernel types 2019-01-17 09:02:06 +02:00
intel_drv.h drm/i915/tv: Use the scanline counter for timestamps on i965gm TV output 2019-01-28 15:53:32 +02:00
intel_dsi.c drm/i915: Determine DSI panel orientation from VBT 2018-11-13 17:20:32 +02:00
intel_dsi.h drm/i915/dsi: Fix pipe_bpp for handling for 6 bpc pixel-formats 2019-01-21 10:45:23 +01:00
intel_dsi_dcs_backlight.c
intel_dsi_vbt.c drm/i915/intel_dsi_vbt: Add support for PMIC MIPI sequences 2019-01-09 10:35:05 +01:00
intel_dvo.c drm/i915: Pass down rc in intel_encoder->compute_config() 2019-01-16 12:49:58 +02:00
intel_engine_cs.c drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
intel_fbc.c drm/i915: small isolated c99 types to kernel types switch 2019-01-17 09:02:00 +02:00
intel_fbdev.c drm/i915/fb: Track rpm wakerefs 2019-01-14 16:18:16 +00:00
intel_fifo_underrun.c drm/i915: small isolated c99 types to kernel types switch 2019-01-17 09:02:00 +02:00
intel_frontbuffer.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
intel_frontbuffer.h
intel_gpu_commands.h drm/i915: Compute the HWS offsets explicitly 2019-01-25 12:53:15 +00:00
intel_guc.c drm/i915/guc: Limit number of scratch registers used for H2G 2018-10-22 12:36:49 +01:00
intel_guc.h drm/i915: Pull all the reset functionality together into i915_reset.c 2019-01-16 22:45:31 +00:00
intel_guc_ads.c drm/i915: Pull unpin map into vma release 2018-07-24 09:55:12 +01:00
intel_guc_ads.h
intel_guc_ct.c drm/i915: Pull unpin map into vma release 2018-07-24 09:55:12 +01:00
intel_guc_ct.h
intel_guc_fw.c drm/i915: Downgrade scare message for unknown HuC firmware 2019-01-08 22:41:09 +00:00
intel_guc_fw.h
intel_guc_fwif.h drm/i915/guc: doorbell checking cleanup 2018-10-23 09:42:25 +01:00
intel_guc_log.c drm/i915: Syntatic sugar for using intel_runtime_pm 2019-01-14 16:18:25 +00:00
intel_guc_log.h drm/i915/guc: Add support for define guc_log_size in megabytes. 2018-06-12 15:44:47 +01:00
intel_guc_reg.h drm/i915/guc: doorbell checking cleanup 2018-10-23 09:42:25 +01:00
intel_guc_submission.c drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
intel_guc_submission.h drm/i915/selftests: ring all doorbells in igt_guc_doorbells 2018-08-28 13:41:27 +01:00
intel_gvt.c drm/i915: Enable gfx virtualization for Coffeelake platform 2019-01-10 11:38:34 +08:00
intel_gvt.h
intel_hangcheck.c drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
intel_hdcp.c drm/i915: small isolated c99 types to kernel types switch 2019-01-17 09:02:00 +02:00
intel_hdmi.c Merge drm/drm-next into drm-intel-next-queued 2019-01-22 14:51:36 -08:00
intel_hotplug.c drm/i915/hotplug: Track temporary rpm wakeref 2019-01-14 16:18:18 +00:00
intel_huc.c drm/i915: Syntatic sugar for using intel_runtime_pm 2019-01-14 16:18:25 +00:00
intel_huc.h drm/i915/uc: Fetch GuC/HuC firmwares from guc/huc specific init 2018-06-28 22:51:33 +01:00
intel_huc_fw.c drm/i915: Downgrade scare message for unknown HuC firmware 2019-01-08 22:41:09 +00:00
intel_huc_fw.h
intel_i2c.c drm/i915: Markup paired operations on display power domains 2019-01-14 16:18:30 +00:00
intel_lpe_audio.c drm/i915: Don't oops during modeset shutdown after lpe audio deinit 2018-11-06 17:18:01 +02:00
intel_lrc.c drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
intel_lrc.h drm/i915: Move intel_execlists_show_requests() aside 2019-01-15 22:38:20 +00:00
intel_lrc_reg.h drm/i915/execlists: Terminate the context image with BB_END 2018-08-01 17:03:31 +01:00
intel_lspcon.c Merge drm/drm-next into drm-intel-next-queued 2019-01-22 14:51:36 -08:00
intel_lvds.c drm/i915/backlight: Restore backlight on resume, v3. 2019-01-24 13:02:08 +01:00
intel_mocs.c drm/i915/icl: Define MOCS table for Icelake 2019-01-24 19:34:34 -08:00
intel_mocs.h drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
intel_opregion.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
intel_opregion.h drm/i915: Fixup stub definitions for intel_opregion_suspend|resume 2018-11-30 09:46:31 +00:00
intel_overlay.c drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
intel_panel.c drm/i915/backlight: Fix backlight takeover on LPT, v3. 2019-01-24 13:02:48 +01:00
intel_pipe_crc.c drm/i915: small isolated c99 types to kernel types switch 2019-01-17 09:02:00 +02:00
intel_pm.c drm/i915: Tidy common test_bit probing of i915_request->fence.flags 2019-01-22 13:13:53 +00:00
intel_psr.c drm/i915/psr: Allow PSR2 to be enabled when debugfs asks 2019-01-22 16:33:10 -08:00
intel_quirks.c drm/i915/quirks: pass dev_priv instead of drm dev to quirk code 2018-10-18 13:40:13 +03:00
intel_renderstate.h
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_ringbuffer.c drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
intel_ringbuffer.h drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
intel_runtime_pm.c drm/i915: small isolated c99 types to kernel types switch 2019-01-17 09:02:00 +02:00
intel_sdvo.c drm/i915/sdvo: switch to kernel types 2019-01-23 10:02:43 +02:00
intel_sdvo_regs.h
intel_sideband.c
intel_sprite.c drm/i915/sprite: switch to kernel types 2019-01-17 09:02:06 +02:00
intel_tv.c drm/i915/tv: Use the scanline counter for timestamps on i965gm TV output 2019-01-28 15:53:32 +02:00
intel_uc.c drm/i915: Pull all the reset functionality together into i915_reset.c 2019-01-16 22:45:31 +00:00
intel_uc.h drm/i915/uc: add dev_priv parameter to intel_uc_is_using_* functions 2018-12-31 15:27:23 +02:00
intel_uc_fw.c drm/i915: Downgrade scare message for unknown HuC firmware 2019-01-08 22:41:09 +00:00
intel_uc_fw.h drm/i915/guc: init GuC descriptors after GuC load 2018-10-04 07:29:47 +01:00
intel_uncore.c drm/i915: Pull all the reset functionality together into i915_reset.c 2019-01-16 22:45:31 +00:00
intel_uncore.h drm/i915: Restore user forcewake domains across suspend 2018-08-15 13:41:05 -07:00
intel_vbt_defs.h drm/i915/bios: make the aux channel macros private to the vbt parser 2018-11-15 16:22:17 +02:00
intel_vdsc.c drm/i915: Markup paired operations on display power domains 2019-01-14 16:18:30 +00:00
intel_wopcm.c drm/i915/uc: add dev_priv parameter to intel_uc_is_using_* functions 2018-12-31 15:27:23 +02:00
intel_wopcm.h
intel_workarounds.c drm/i915/selftests: recreate WA lists inside the selftest 2019-01-10 09:15:18 +00:00
intel_workarounds.h drm/i915: Introduce per-engine workarounds 2018-12-05 13:50:24 +02:00
Kconfig treewide: surround Kconfig file paths with double quotes 2018-12-22 00:25:54 +09:00
Kconfig.debug drm/i915: Track all held rpm wakerefs 2019-01-14 16:17:50 +00:00
Makefile drm/i915: Disable -Wuninitialized 2019-01-26 17:07:58 +00:00
vlv_dsi.c drm/i915/backlight: Restore backlight on resume, v3. 2019-01-24 13:02:08 +01:00
vlv_dsi_pll.c drm/i915/dsi: Fix pipe_bpp for handling for 6 bpc pixel-formats 2019-01-21 10:45:23 +01:00