linux/drivers/gpu/drm
Hersen Wu 0a1d56599b drm/amd/display: hook dp test pattern through debugfs
set PHY layer or Link layer test pattern
 PHY test pattern is used for PHY SI check.
 Link layer test will not affect PHY SI.

 - normal video mode
  0 = DP_TEST_PATTERN_VIDEO_MODE

 - PHY test pattern supported
  1 = DP_TEST_PATTERN_D102
  2 = DP_TEST_PATTERN_SYMBOL_ERROR
  3 = DP_TEST_PATTERN_PRBS7
  4 = DP_TEST_PATTERN_80BIT_CUSTOM
  5 = DP_TEST_PATTERN_CP2520_1
  6 = DP_TEST_PATTERN_CP2520_2 = DP_TEST_PATTERN_HBR2_COMPLIANCE_EYE
  7 = DP_TEST_PATTERN_CP2520_3

 - DP PHY Link Training Patterns
  8 = DP_TEST_PATTERN_TRAINING_PATTERN1
  9 = DP_TEST_PATTERN_TRAINING_PATTERN2
  0xa = DP_TEST_PATTERN_TRAINING_PATTERN3
  0xb = DP_TEST_PATTERN_TRAINING_PATTERN4

 - DP Link Layer Test pattern
  0xc = DP_TEST_PATTERN_COLOR_SQUARES
  0xd = DP_TEST_PATTERN_COLOR_SQUARES_CEA
  0xe = DP_TEST_PATTERN_VERTICAL_BARS
  0xf = DP_TEST_PATTERN_HORIZONTAL_BARS
  0x10= DP_TEST_PATTERN_COLOR_RAMP

 debugfs phy_test_pattern is located at /syskernel/debug/dri/0/DP-x

 --- set test pattern
  echo <test pattern #> > test_pattern

 - custom test pattern
  If test pattern # is not supported, NO HW programming will be done
  for DP_TEST_PATTERN_80BIT_CUSTOM, it needs extra 10 bytes of data
  for the user pattern. input 10 bytes data are separated by space

  echo 0x4 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 0x99 0xaa >
  test_pattern

 --- reset test pattern
  echo 0 > test_pattern

 --- HPD detection is disabled when set PHY test pattern

  when PHY test pattern (pattern # within [1,7]) is set, HPD pin of
  HW ASIC is disable. User could unplug DP display from DP connected
  and plug scope to check test pattern PHY SI.
  If there is need unplug scope and plug DP display back, do steps
  below:
  echo 0 > phy_test_pattern
  unplug scope
  plug DP display.

  "echo 0 > phy_test_pattern" will re-enable HPD pin again so that
  video sw driver could detect "unplug scope" and "plug DP display"

Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2018-07-13 14:49:02 -05:00
..
amd drm/amd/display: hook dp test pattern through debugfs 2018-07-13 14:49:02 -05:00
arc drm: add missing ctx argument to plane transitional helpers 2018-07-03 09:30:19 +02:00
arm Merge commit 'refs/for-upstream/mali-dp' of git://linux-arm.org/linux-ld into drm-next 2018-07-06 10:02:13 +10:00
armada dma-buf: remove kmap_atomic interface 2018-06-20 15:59:34 +02:00
ast
atmel-hlcdc Merge v4.18-rc3 into drm-next 2018-07-04 10:27:12 +10:00
bochs
bridge Merge v4.18-rc3 into drm-next 2018-07-04 10:27:12 +10:00
cirrus drm/cirrus: cirrus_framebuffer -> drm_framebuffer 2018-05-18 14:52:30 +01:00
etnaviv drm/scheduler: modify args of drm_sched_entity_init 2018-07-13 14:46:05 -05:00
exynos drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
fsl-dcu
gma500 drm-misc-next for 4.19: 2018-06-28 13:29:07 +10:00
hisilicon drm: kirin: Remove useless "Scale not support" error message 2018-06-25 18:09:38 +02:00
i2c Merge drm-upstream/drm-next into drm-misc-next 2018-06-20 13:22:22 -03:00
i810 drm/i810: off by one in i810_dma_vertex() 2018-07-03 15:00:42 +02:00
i915 drm-misc-next for 4.19: 2018-07-06 10:01:56 +10:00
imx drm/imx: Use drm_plane_mask() 2018-07-02 18:45:56 +03:00
lib
mediatek Merge drm-upstream/drm-next into drm-misc-next 2018-06-20 13:22:22 -03:00
meson drm/meson: Fix an un-handled error path in 'meson_drv_bind_master()' 2018-06-26 10:22:29 +02:00
mga
mgag200
msm drm: add missing ctx argument to plane transitional helpers 2018-07-03 09:30:19 +02:00
mxsfb
nouveau drm/noveau: add SPDX identifier and clarify license 2018-06-29 15:28:47 -05:00
omapdrm omapdrm changes for 4.19 2018-07-06 06:29:24 +10:00
panel drm/panel: Add Ilitek ILI9881c panel driver 2018-06-25 20:03:40 +02:00
pl111 drm/pl111: Support Nomadik LCDC variant 2018-07-01 21:36:47 +02:00
qxl drm/qxl: Remove unecessary dma_fence_ops 2018-07-03 13:13:56 +02:00
r128
radeon drm/radeon: use pcie functions for link width 2018-07-05 16:40:00 -05:00
rcar-du DeviceTree updates for v4.18: 2018-06-07 14:06:31 -07:00
rockchip drm/rockchip: vop: fixup linebuffer mode calc error 2018-06-27 14:07:40 +02:00
savage drm/savage: off by one in savage_bci_cmdbuf() 2018-07-04 14:27:01 +02:00
scheduler drm/scheduler: modify args of drm_sched_entity_init 2018-07-13 14:46:05 -05:00
selftests drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
shmobile
sis
sti drm: add missing ctx argument to plane transitional helpers 2018-07-03 09:30:19 +02:00
stm
sun4i Merge v4.18-rc3 into drm-next 2018-07-04 10:27:12 +10:00
tdfx
tegra Merge drm-upstream/drm-next into drm-misc-next 2018-06-20 13:22:22 -03:00
tilcdc drm/tilcdc: Defer probe if there are no connectors 2018-07-05 14:06:22 +03:00
tinydrm drm-misc-next for 4.19: 2018-06-28 13:29:07 +10:00
ttm drm/ttm: Replace ttm_bo_unref() with ttm_bo_put() 2018-07-10 14:18:28 -05:00
tve200
udl dma-buf: remove kmap_atomic interface 2018-06-20 15:59:34 +02:00
v3d drm/scheduler: modify args of drm_sched_entity_init 2018-07-13 14:46:05 -05:00
vc4 drm/vc4: Remove unecessary dma_fence_ops 2018-07-03 13:14:10 +02:00
vgem drm/vgem: off by one in vgem_gem_fault() 2018-07-03 15:06:15 +02:00
via treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
virtio drm/virtio: Remove unecessary dma_fence_ops 2018-07-03 13:14:18 +02:00
vmwgfx Merge tag 'vmwgfx-next-4.19-3' of git://people.freedesktop.org/~thomash/linux into drm-next 2018-07-10 11:13:39 +10:00
xen drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
zte drm: add missing ctx argument to plane transitional helpers 2018-07-03 09:30:19 +02:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c drm: Add drm_encoder_mask() 2018-07-02 18:45:55 +03:00
drm_atomic.c Merge commit 'refs/for-upstream/mali-dp' of git://linux-arm.org/linux-ld into drm-next 2018-07-06 10:02:13 +10:00
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_color_mgmt.c
drm_connector.c drm: Fix hdmi connector content type property docs 2018-07-03 08:58:57 +02:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c
drm_crtc_internal.h drm: Make ioctls available for in-kernel clients 2018-06-25 16:20:14 +02:00
drm_crtc.c drm: Remove unecessary dma_fence_ops 2018-07-03 13:13:22 +02:00
drm_debugfs_crc.c
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm for v4.18-rc1 2018-06-06 08:16:33 -07:00
drm_dp_mst_topology.c
drm_drv.c Single fix for v4.18: 2018-06-20 16:58:31 +10:00
drm_dumb_buffers.c drm-misc-next for 4.19: 2018-06-28 13:29:07 +10:00
drm_edid_load.c
drm_edid.c drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c
drm_fb_helper.c drm: Stop updating plane->crtc/fb/old_fb on atomic drivers 2018-06-11 20:22:44 +03:00
drm_file.c drm/file: Don't set master on in-kernel clients 2018-06-25 16:18:39 +02:00
drm_flip_work.c
drm_fourcc.c
drm_framebuffer.c drm: Add drm_plane_mask() 2018-07-02 18:45:55 +03:00
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c drm/gem-fb-helper: Always do implicit sync 2018-06-20 14:43:13 +02:00
drm_gem.c
drm_global.c drm: add SPDX identifier and clarify license 2018-06-29 15:28:47 -05:00
drm_hashtab.c treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
drm_info.c
drm_internal.h drm: provide management functions for drm_file 2018-06-25 16:17:03 +02:00
drm_ioc32.c
drm_ioctl.c drm: Make ioctls available for in-kernel clients 2018-06-25 16:20:14 +02:00
drm_irq.c
drm_kms_helper_common.c
drm_lease.c
drm_legacy.h
drm_lock.c
drm_memory.c treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
drm_mipi_dsi.c
drm_mm.c drm/mm: Add a search-by-address variant to only inspect a single hole 2018-05-24 15:04:30 +01:00
drm_mode_config.c drm: writeback: Add client capability for exposing writeback connectors 2018-06-20 15:30:20 +01:00
drm_mode_object.c
drm_modes.c drm: Print bad user modes 2018-06-15 23:31:07 +03:00
drm_modeset_helper.c
drm_modeset_lock.c drm: Change deadlock-avoidance algorithm for the modeset locks. 2018-07-03 09:46:05 +02:00
drm_of.c drm: of: Export and rename drm_crtc_port_mask() 2018-06-27 21:44:04 +02:00
drm_panel_orientation_quirks.c
drm_panel.c drm/panel: Add device_link from panel device to DRM device 2018-05-18 11:22:06 +02:00
drm_pci.c drm: drop drm_pcie_get_speed_cap_mask and drm_pcie_get_max_link_width 2018-07-05 16:40:00 -05:00
drm_plane_helper.c drm: add missing ctx argument to plane transitional helpers 2018-07-03 09:30:19 +02:00
drm_plane.c drm: Add checks for atomic_[duplicate/destroy]_state with atomic drivers 2018-06-18 09:20:51 +02:00
drm_prime.c dma-buf: remove kmap_atomic interface 2018-06-20 15:59:34 +02:00
drm_print.c
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_simple_kms_helper.c drm: Use drm_crtc_mask() 2018-07-02 18:45:55 +03:00
drm_syncobj.c drm: Remove unecessary dma_fence_ops 2018-07-03 13:13:22 +02:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank.c
drm_vm.c gpu: drm: drm_vm: Adding new typedef vm_fault_t 2018-05-29 08:58:46 +02:00
drm_vma_manager.c drm: add SPDX idenitifier and clarify license 2018-06-29 15:28:47 -05:00
drm_writeback.c drm: writeback: Add out-fences for writeback connectors 2018-06-20 15:29:18 +01:00
Kconfig
Makefile drm: Add writeback connector type 2018-06-20 15:27:49 +01:00