kernel_optimize_test/include/drm
Mario Kleiner 639e0db2d7 drm/i915/dp: Add dpcd link_rate quirk for Apple 15" MBP 2017 (v3)
This fixes a problem found on the MacBookPro 2017 Retina panel.

The panel reports 10 bpc color depth in its EDID, and the
firmware chooses link settings at boot which support enough
bandwidth for 10 bpc (324000 kbit/sec = multiplier 0xc),
but the DP_MAX_LINK_RATE dpcd register only reports
2.7 Gbps (multiplier value 0xa) as possible, in direct
contradiction of what the firmware successfully set up.

This restricts the panel to 8 bpc, not providing the full
color depth of the panel.

This patch adds a quirk specific to the MBP 2017 15" Retina
panel to add the additiional 324000 kbps link rate during
edp setup.

Link to previous discussion of a different attempted fix
with Ville and Jani:

https://patchwork.kernel.org/patch/11325935/

v2: Follow Jani's proposal of defining quirk_rates[] instead
    of just appending 324000. This for better clarity.

v3: Rebased onto current drm-tip, as of 16-March-2020. Adapt
    to new edid_quirks parameter of drm_dp_has_quirk().

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Tested-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200316042340.4783-1-mario.kleiner.de@gmail.com
2020-03-18 21:10:35 +02:00
..
bridge drm-misc-next for v5.6: 2020-01-03 11:43:44 +10:00
i2c
ttm drm/ttm: nuke invalidate_caches callback 2020-01-16 16:35:07 +01:00
amd_asic_type.h
drm_agpsupport.h
drm_atomic_helper.h drm/bridge: Add the necessary bits to support bus format negotiation 2020-01-31 16:39:53 +01:00
drm_atomic_state_helper.h drm/bridge: Add a drm_bridge_state object 2020-01-31 16:00:21 +01:00
drm_atomic_uapi.h
drm_atomic.h drm/bridge: Add the necessary bits to support bus format negotiation 2020-01-31 16:39:53 +01:00
drm_audio_component.h
drm_auth.h
drm_blend.h
drm_bridge.h drm/bridge: Add the necessary bits to support bus format negotiation 2020-01-31 16:39:53 +01:00
drm_cache.h MIPS: Loongson64: Rename CPU TYPES 2019-10-31 15:03:10 -07:00
drm_client.h
drm_color_mgmt.h drm: Inline drm_color_lut_extract() 2019-11-29 21:29:17 +02:00
drm_connector.h drm/connector: Split out orientation quirk detection (v2) 2020-01-11 11:57:58 +01:00
drm_crtc_helper.h
drm_crtc.h drm: Initialize struct drm_crtc_state.no_vblank from device settings 2020-01-30 08:57:12 +01:00
drm_damage_helper.h
drm_debugfs_crc.h
drm_debugfs.h
drm_device.h drm: Avoid drm_global_mutex for simple inc/dec of dev->open_count 2020-01-24 17:41:34 +00:00
drm_displayid.h
drm_dp_dual_mode_helper.h
drm_dp_helper.h drm/i915/dp: Add dpcd link_rate quirk for Apple 15" MBP 2017 (v3) 2020-03-18 21:10:35 +02:00
drm_dp_mst_helper.h drm-misc-next for 5.7: 2020-02-21 05:44:40 +10:00
drm_drv.h drm/auth: Drop master_create/destroy hooks 2020-01-29 09:14:11 +01:00
drm_dsc.h
drm_edid.h drm/edid: Add drm_hdmi_avi_infoframe_bars() 2019-10-22 19:11:11 +03:00
drm_encoder_slave.h
drm_encoder.h drm/bridge: Make the bridge chain a double-linked list 2019-12-09 10:03:01 +01:00
drm_fb_cma_helper.h drm/fb-cma-helpers: Fix include issue 2020-01-09 17:33:41 +01:00
drm_fb_helper.h drm/fb-helper: Remove drm_fb_helper_unlink_fbi() 2019-11-19 14:37:39 +01:00
drm_file.h drm: Release filp before global lock 2020-01-24 17:41:34 +00:00
drm_fixed.h
drm_flip_work.h
drm_format_helper.h
drm_fourcc.h drm/fb: Extend format_info member arrays to handle four planes 2020-01-07 13:16:08 +02:00
drm_framebuffer.h
drm_gem_cma_helper.h
drm_gem_framebuffer_helper.h
drm_gem_shmem_helper.h Linux 5.4-rc7 2019-11-14 05:53:10 +10:00
drm_gem_ttm_helper.h drm/ttm: add drm_gem_ttm_mmap() 2019-10-17 13:59:16 +02:00
drm_gem_vram_helper.h drm/vram: Add helpers to validate a display mode's memory requirements 2020-02-06 10:32:54 +01:00
drm_gem.h drm: call drm_gem_object_funcs.mmap with fake offset 2019-12-06 11:18:11 +01:00
drm_hashtab.h
drm_hdcp.h
drm_ioctl.h
drm_irq.h
drm_lease.h
drm_legacy.h drm: Remove the dma_alloc_coherent wrapper for internal usage 2020-02-04 23:57:26 +00:00
drm_mipi_dbi.h drm/mipi_dbi: Add support for display offsets 2020-01-19 18:07:08 +01:00
drm_mipi_dsi.h drm/dsi: add helpers for DSI compression mode and PPS packets 2019-11-07 15:00:16 +02:00
drm_mm.h
drm_mode_config.h
drm_mode_object.h
drm_modes.h
drm_modeset_helper_vtables.h
drm_modeset_helper.h
drm_modeset_lock.h
drm_of.h drm: of: Fix linking when CONFIG_OF is not set 2020-01-09 10:40:58 +10:00
drm_panel.h drm/drm_panel: fix export of drm_panel_of_backlight, try #3 2020-01-12 21:16:30 +01:00
drm_pci.h drm/pci: Hide legacy PCI functions from non-legacy code 2019-12-05 08:44:04 +01:00
drm_pciids.h
drm_plane_helper.h
drm_plane.h
drm_prime.h
drm_print.h drm/print: introduce new struct drm_device based WARN* macros 2020-01-22 16:17:32 +02:00
drm_probe_helper.h
drm_property.h
drm_rect.h drm/selftests: Add drm_rect selftests 2019-11-28 13:33:43 +02:00
drm_scdc_helper.h drm/scdc: Fix typo in bit definition of SCDC_STATUS_FLAGS 2019-11-04 17:58:46 +01:00
drm_self_refresh_helper.h drm/atomic: fix self-refresh helpers crtc state dereference 2019-11-06 13:00:21 -05:00
drm_simple_kms_helper.h drm: Initialize struct drm_crtc_state.no_vblank from device settings 2020-01-30 08:57:12 +01:00
drm_syncobj.h
drm_sysfs.h
drm_util.h drm: Move EXPORT_SYMBOL_FOR_TESTS_ONLY under a separate Kconfig 2019-11-07 21:22:15 +00:00
drm_utils.h
drm_vblank.h drm: Initialize struct drm_crtc_state.no_vblank from device settings 2020-01-30 08:57:12 +01:00
drm_vma_manager.h
drm_writeback.h
gma_drm.h
gpu_scheduler.h drm/amdgpu: fix doc by clarifying sched_list definition 2020-01-27 16:46:44 -05:00
i915_component.h
i915_drm.h
i915_mei_hdcp_interface.h drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
i915_pciids.h drm/i915/cml: Separate U series pci id from origianl list. 2019-12-12 22:15:16 +02:00
intel_lpe_audio.h
intel-gtt.h
spsc_queue.h
task_barrier.h drm: Add Reusable task barrier. 2019-12-18 16:09:12 -05:00