linux/drivers/gpu/drm
Jani Nikula 963bbdb32b drm/i915/dsi: add support for ICL+ native MIPI GPIO sequence
Starting from ICL, the default for MIPI GPIO sequences seems to be using
native GPIOs i.e. GPIOs available in the GPU. These native GPIOs reuse
many pins that quite frankly seem scary to poke based on the VBT
sequences. We pretty much have to trust that the board is configured
such that the relevant HPD, PP_CONTROL and GPIO bits aren't used for
anything else.

MIPI sequence v4 also adds a flag to fall back to non-native sequences.

v5:
- Wrap SHOTPLUG_CTL_DDI modification in spin_lock() in icp_irq_handler()
  too (Ville)
- References instead of Closes issue 6131 because this does not fix everything

v4:
- Wrap SHOTPLUG_CTL_DDI modification in spin_lock_irq() (Ville)

v3:
- Fix -Wbitwise-conditional-parentheses (kernel test robot <lkp@intel.com>)

v2:
- Fix HPD pin output set (impacts GPIOs 0 and 5)
- Fix GPIO data output direction set (impacts GPIOs 4 and 9)
- Reduce register accesses to single intel_de_rwm()

References: https://gitlab.freedesktop.org/drm/intel/-/issues/6131
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221219105955.4014451-1-jani.nikula@intel.com
(cherry picked from commit f087cfe6fc)
Cc: stable@vger.kernel.org # 6.1
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2022-12-30 04:27:04 -05:00
..
amd drm fixes for 6.2-rc1 2022-12-23 11:09:44 -08:00
arm drm/arm/malidp: remove calls to drm_mode_config_cleanup() 2022-11-16 10:33:45 +00:00
armada drm/fb-helper: Perform all fbdev I/O with the same implementation 2022-11-05 17:05:54 +01:00
aspeed drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
ast drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
atmel-hlcdc drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
bridge pwm: Changes for v6.2-rc1 2022-12-21 09:41:28 -08:00
display Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
etnaviv MM patches for 6.2-rc1. 2022-12-13 19:29:45 -08:00
exynos MM patches for 6.2-rc1. 2022-12-13 19:29:45 -08:00
fsl-dcu hardening updates for v6.2-rc1 2022-12-14 12:20:00 -08:00
gma500 drm/fb-helper: Perform all fbdev I/O with the same implementation 2022-11-05 17:05:54 +01:00
gud drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
hisilicon drm/hisilicon: Use drm_mode_init() for on-stack modes 2022-11-12 01:36:43 +02:00
hyperv drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
i2c drm: tda99x: Don't advertise non-existent capture support 2022-12-02 14:07:19 +00:00
i810
i915 drm/i915/dsi: add support for ICL+ native MIPI GPIO sequence 2022-12-30 04:27:04 -05:00
imx Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
ingenic drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
kmb drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
lib
lima Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
logicvc drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
mcde drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
mediatek Mediatek DRM Next for Linux 6.2 2022-11-24 12:49:36 +10:00
meson drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
mga
mgag200 drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
msm Merge tag 'drm-msm-next-2022-11-28' of https://gitlab.freedesktop.org/drm/msm into drm-next 2022-11-30 17:19:18 +10:00
mxsfb drm: lcdif: Set and enable FIFO Panic threshold 2022-11-09 01:31:45 +01:00
nouveau drm-misc-next for 6.2: 2022-11-22 09:21:17 +10:00
omapdrm drm: Assert held reservation lock for dma-buf mmapping 2022-11-11 23:49:47 +03:00
panel Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
panfrost Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
pl111 drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
qxl drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
r128
radeon drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() 2022-11-29 11:03:38 -05:00
rcar-du Kconfig fix for RZ/G2L DSI 2022-11-24 12:38:36 +10:00
rockchip Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
savage
scheduler Merge tag 'amd-drm-next-6.2-2022-11-18' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2022-11-22 13:41:11 +10:00
shmobile drm/plane: Remove drm_plane_init() 2022-09-20 09:37:12 +02:00
sis drm/sis: use idr_init_base() to initialize dev_priv->object_idr 2022-07-28 15:35:56 +01:00
solomon drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
sprd drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
sti hardening updates for v6.2-rc1 2022-12-14 12:20:00 -08:00
stm drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
sun4i drm/sun4i: dsi: Add the A100 variant 2022-11-07 14:09:54 +01:00
tdfx
tegra drm/tegra: Changes for v6.2-rc1 2022-11-30 13:08:58 +10:00
tests drm for 6.2: 2022-12-13 11:59:58 -08:00
tidss drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
tilcdc drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
tiny drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
ttm drm/ttm: optimize pool allocations a bit v2 2022-11-08 10:45:30 +01:00
tve200 drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
udl drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
v3d drm/v3d: add missing mutex_destroy 2022-11-10 11:49:40 -01:00
vboxvideo drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
vc4 Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
vgem
via drm/via: Add new condition to via_dma_cleanup() 2022-09-07 07:01:16 +02:00
virtio drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
vkms drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
vmwgfx drm for 6.2: 2022-12-13 11:59:58 -08:00
xen drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
xlnx drm-misc-next for 6.2: 2022-11-16 07:17:32 +10:00
Kconfig Merge tag 'amd-drm-next-6.2-2022-11-18' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2022-11-22 13:41:11 +10:00
Makefile drivers/accel: define kconfig and register a new major 2022-11-22 13:13:51 +02:00
drm_agpsupport.c
drm_aperture.c drm/aperture: Fix some kerneldoc comments 2022-09-12 09:34:07 +02:00
drm_atomic.c
drm_atomic_helper.c drm/atomic-helper: Add {begin,end}_fb_access to plane helpers 2022-11-08 17:10:27 +01:00
drm_atomic_state_helper.c drm/atomic-helper: Rename drm_atomic_helper_connector_tv_reset to avoid ambiguity 2022-10-10 13:55:47 +02:00
drm_atomic_uapi.c drm/atomic: Add TV subconnector property to get/set_property 2022-10-10 13:56:42 +02:00
drm_auth.c drm: use idr_init_base() to initialize master->lessee_idr 2022-07-28 15:35:55 +01:00
drm_blend.c
drm_bridge.c
drm_bridge_connector.c
drm_buddy.c
drm_bufs.c
drm_cache.c
drm_client.c drm/client: Prevent NULL dereference in drm_client_buffer_delete() 2022-11-02 13:53:57 +03:00
drm_client_modeset.c drm/client: Add some tests for drm_connector_pick_cmdline_mode() 2022-11-15 10:08:37 +01:00
drm_color_mgmt.c drm: fix whitespace in drm_plane_create_color_properties() 2022-08-04 15:24:46 +02:00
drm_connector.c drm-misc-next for 6.2: 2022-10-28 13:16:36 +10:00
drm_context.c
drm_crtc.c
drm_crtc_helper.c drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
drm_crtc_helper_internal.h
drm_crtc_internal.h drm/edid: move edid load declarations to internal header 2022-10-26 09:53:56 +03:00
drm_damage_helper.c drm: Use original src rect while initializing damage iterator 2022-09-13 14:38:33 +03:00
drm_debugfs.c drm/edid: abstract debugfs override EDID show better 2022-10-26 09:53:08 +03:00
drm_debugfs_crc.c
drm_displayid.c
drm_dma.c
drm_drv.c This tag contains the patches that add the new compute acceleration 2022-11-30 12:01:27 +10:00
drm_dumb_buffers.c
drm_edid.c drm-misc-next for 6.2: 2022-11-22 09:21:17 +10:00
drm_edid_load.c drm/edid/firmware: stop using a throwaway platform device 2022-11-16 14:54:44 +02:00
drm_encoder.c
drm_encoder_slave.c
drm_fb_dma_helper.c drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
drm_fb_helper.c Revert "drm/fb-helper: Perform damage handling in deferred-I/O helper" 2022-11-23 09:11:32 +01:00
drm_fbdev_generic.c drm/fbdev: Include <linux/vmalloc.h> 2022-11-08 16:15:48 +01:00
drm_file.c accel: add dedicated minor for accelerator devices 2022-11-22 13:14:44 +02:00
drm_flip_work.c
drm_format_helper.c Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
drm_fourcc.c drm/fourcc: Fix vsub/hsub for Q410 and Q401 2022-11-16 11:29:09 +00:00
drm_framebuffer.c drm/framebuffer: convert to drm_dbg_kms() 2022-09-28 10:43:30 +02:00
drm_gem.c Merge drm/drm-next into drm-misc-next 2022-10-18 15:00:03 +02:00
drm_gem_atomic_helper.c drm/gem: Implement shadow-plane {begin, end}_fb_access with vmap 2022-11-08 17:10:41 +01:00
drm_gem_dma_helper.c drm/gem: Take reservation lock for vmap/vunmap operations 2022-10-18 01:21:38 +03:00
drm_gem_framebuffer_helper.c drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
drm_gem_shmem_helper.c drm/shmem-helper: Avoid vm_open error paths 2022-12-04 18:56:53 +01:00
drm_gem_ttm_helper.c drm/gem: Take reservation lock for vmap/vunmap operations 2022-10-18 01:21:38 +03:00
drm_gem_vram_helper.c drm/gem-vram: Fix deadlock in drm_gem_vram_vmap() 2022-11-14 15:55:21 +03:00
drm_hashtab.c
drm_internal.h drm: Fix potential null-ptr-deref in drm_vblank_destroy_worker() 2022-11-10 18:49:02 -05:00
drm_ioc32.c
drm_ioctl.c
drm_irq.c
drm_kms_helper_common.c
drm_lease.c
drm_legacy.h
drm_legacy_misc.c
drm_lock.c
drm_managed.c
drm_memory.c
drm_mipi_dbi.c drm/probe-helper: Add drm_crtc_helper_mode_valid_fixed() 2022-09-12 09:14:26 +02:00
drm_mipi_dsi.c gpu/drm: fix repeated words in comments 2022-10-24 09:26:56 +02:00
drm_mm.c
drm_mode_config.c Revert "drm: hide unregistered connectors from GETCONNECTOR IOCTL" 2022-11-15 19:18:41 +01:00
drm_mode_object.c
drm_modes.c drm/connector: Add pixel clock to cmdline mode 2022-11-15 10:10:24 +01:00
drm_modeset_helper.c drm/plane-helper: Provide DRM_PLANE_NON_ATOMIC_FUNCS initializer macro 2022-09-20 09:42:31 +02:00
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for Acer Switch V 10 (SW5-017) 2022-11-08 10:12:45 +01:00
drm_pci.c
drm_plane.c drm/plane: Allocate planes with drm_universal_plane_alloc() 2022-09-20 09:41:06 +02:00
drm_plane_helper.c drm/crtc-helper: Add a drm_crtc_helper_atomic_check() helper 2022-10-13 09:17:05 +02:00
drm_prime.c drm: Assert held reservation lock for dma-buf mmapping 2022-11-11 23:49:47 +03:00
drm_print.c drm_print: add _ddebug descriptor to drm_*dbg prototypes 2022-09-24 15:02:02 +02:00
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c drm/fb-helper: Remove unnecessary include statements 2022-11-05 17:12:04 +01:00
drm_property.c
drm_rect.c gpu/drm: fix repeated words in comments 2022-10-24 09:27:04 +02:00
drm_scatter.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm/atomic-helper: Add {begin,end}_fb_access to plane helpers 2022-11-08 17:10:27 +01:00
drm_syncobj.c
drm_sysfs.c Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
drm_trace.h
drm_trace_points.c
drm_vblank.c
drm_vblank_work.c
drm_vm.c
drm_vma_manager.c
drm_writeback.c