Merge tag 'drm-misc-next-fixes-2024-05-08' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
drm-misc-next-fixes for v6.10-rc1: - panthor fixes. - Reverting Kconfig changes, and moving drm options to submenu. - Hide physical fb address in fb helper. - zynqmp bridge fix. - Revert broken ti-sn65dsi83 fix. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/fe630414-d13e-4052-86f3-ce3155eb3e44@linux.intel.com
This commit is contained in:
commit
110ed472d3
@ -29,6 +29,8 @@ menuconfig DRM
|
||||
details. You should also select and configure AGP
|
||||
(/dev/agpgart) support if it is available for your platform.
|
||||
|
||||
if DRM
|
||||
|
||||
config DRM_MIPI_DBI
|
||||
tristate
|
||||
depends on DRM
|
||||
@ -74,12 +76,10 @@ config DRM_KUNIT_TEST_HELPERS
|
||||
|
||||
config DRM_KUNIT_TEST
|
||||
tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on KUNIT
|
||||
depends on MMU
|
||||
depends on DRM && KUNIT && MMU
|
||||
select DRM_BUDDY
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_EXEC
|
||||
select DRM_EXPORT_FOR_TESTS if m
|
||||
select DRM_GEM_SHMEM_HELPER
|
||||
@ -439,10 +439,6 @@ config DRM_HYPERV
|
||||
config DRM_EXPORT_FOR_TESTS
|
||||
bool
|
||||
|
||||
# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
|
||||
config DRM_PANEL_ORIENTATION_QUIRKS
|
||||
tristate
|
||||
|
||||
config DRM_LIB_RANDOM
|
||||
bool
|
||||
default n
|
||||
@ -463,3 +459,9 @@ config DRM_WERROR
|
||||
this config option is disabled by default.
|
||||
|
||||
If in doubt, say N.
|
||||
|
||||
endif
|
||||
|
||||
# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
|
||||
config DRM_PANEL_ORIENTATION_QUIRKS
|
||||
tristate
|
||||
|
@ -2,15 +2,13 @@
|
||||
|
||||
config DRM_AMDGPU
|
||||
tristate "AMD GPU"
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HDCP_HELPER
|
||||
depends on DRM_DISPLAY_HDMI_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on MMU
|
||||
depends on PCI
|
||||
depends on DRM && PCI && MMU
|
||||
depends on !UML
|
||||
select FW_LOADER
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HDMI_HELPER
|
||||
select DRM_DISPLAY_HDCP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select DRM_SCHED
|
||||
select DRM_TTM
|
||||
|
@ -92,11 +92,11 @@ config DRM_FSL_LDB
|
||||
|
||||
config DRM_ITE_IT6505
|
||||
tristate "ITE IT6505 DisplayPort bridge"
|
||||
depends on DRM_DISPLAY_DP_AUX_BUS
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HDCP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HDCP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_AUX_BUS
|
||||
select DRM_KMS_HELPER
|
||||
select EXTCON
|
||||
select CRYPTO
|
||||
@ -232,10 +232,10 @@ config DRM_PARADE_PS8622
|
||||
|
||||
config DRM_PARADE_PS8640
|
||||
tristate "Parade PS8640 MIPI DSI to eDP Converter"
|
||||
depends on DRM_DISPLAY_DP_AUX_BUS
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_AUX_BUS
|
||||
select DRM_KMS_HELPER
|
||||
select DRM_MIPI_DSI
|
||||
select DRM_PANEL
|
||||
@ -319,9 +319,9 @@ config DRM_TOSHIBA_TC358764
|
||||
|
||||
config DRM_TOSHIBA_TC358767
|
||||
tristate "Toshiba TC358767 eDP bridge"
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select REGMAP_I2C
|
||||
select DRM_MIPI_DSI
|
||||
@ -342,9 +342,9 @@ config DRM_TOSHIBA_TC358768
|
||||
|
||||
config DRM_TOSHIBA_TC358775
|
||||
tristate "Toshiba TC358775 DSI/LVDS bridge"
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select REGMAP_I2C
|
||||
select DRM_PANEL
|
||||
@ -387,15 +387,15 @@ config DRM_TI_SN65DSI83
|
||||
|
||||
config DRM_TI_SN65DSI86
|
||||
tristate "TI SN65DSI86 DSI to eDP bridge"
|
||||
depends on DRM_DISPLAY_DP_AUX_BUS
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select REGMAP_I2C
|
||||
select DRM_PANEL
|
||||
select DRM_MIPI_DSI
|
||||
select AUXILIARY_BUS
|
||||
select DRM_DISPLAY_DP_AUX_BUS
|
||||
help
|
||||
Texas Instruments SN65DSI86 DSI to eDP Bridge driver
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config DRM_ANALOGIX_ANX6345
|
||||
tristate "Analogix ANX6345 bridge"
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
select DRM_ANALOGIX_DP
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select REGMAP_I2C
|
||||
help
|
||||
@ -15,9 +15,9 @@ config DRM_ANALOGIX_ANX6345
|
||||
|
||||
config DRM_ANALOGIX_ANX78XX
|
||||
tristate "Analogix ANX78XX bridge"
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
select DRM_ANALOGIX_DP
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select REGMAP_I2C
|
||||
help
|
||||
@ -28,16 +28,16 @@ config DRM_ANALOGIX_ANX78XX
|
||||
|
||||
config DRM_ANALOGIX_DP
|
||||
tristate
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on DRM
|
||||
|
||||
config DRM_ANALOGIX_ANX7625
|
||||
tristate "Analogix Anx7625 MIPI to DP interface support"
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_DP_AUX_BUS
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HDCP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HDCP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_AUX_BUS
|
||||
select DRM_MIPI_DSI
|
||||
help
|
||||
ANX7625 is an ultra-low power 4K mobile HD transmitter
|
||||
|
@ -23,12 +23,12 @@ endif
|
||||
|
||||
config DRM_CDNS_MHDP8546
|
||||
tristate "Cadence DPI/DP bridge"
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HDCP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HDCP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select DRM_PANEL_BRIDGE
|
||||
depends on OF
|
||||
help
|
||||
Support Cadence DPI to DP bridge. This is an internal
|
||||
bridge and is meant to be directly embedded in a SoC.
|
||||
|
@ -5,9 +5,9 @@ config DRM_IMX_LDB_HELPER
|
||||
|
||||
config DRM_IMX8MP_DW_HDMI_BRIDGE
|
||||
tristate "Freescale i.MX8MP HDMI-TX bridge support"
|
||||
depends on COMMON_CLK
|
||||
depends on DRM_DW_HDMI
|
||||
depends on OF
|
||||
depends on COMMON_CLK
|
||||
select DRM_DW_HDMI
|
||||
imply DRM_IMX8MP_HDMI_PVI
|
||||
imply PHY_FSL_SAMSUNG_HDMI_PHY
|
||||
help
|
||||
|
@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config DRM_DW_HDMI
|
||||
tristate "Synopsys Designware HDMI TX Controller"
|
||||
depends on DRM_DISPLAY_HDMI_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
tristate
|
||||
select DRM_DISPLAY_HDMI_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select REGMAP_MMIO
|
||||
select CEC_CORE if CEC_NOTIFIER
|
||||
|
@ -478,7 +478,6 @@ static void sn65dsi83_atomic_pre_enable(struct drm_bridge *bridge,
|
||||
dev_err(ctx->dev, "failed to lock PLL, ret=%i\n", ret);
|
||||
/* On failure, disable PLL again and exit. */
|
||||
regmap_write(ctx->regmap, REG_RC_PLL_EN, 0x00);
|
||||
regulator_disable(ctx->vcc);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1,23 +1,20 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config DRM_DISPLAY_HELPER
|
||||
tristate "DRM Display Helpers"
|
||||
tristate
|
||||
depends on DRM
|
||||
default y
|
||||
help
|
||||
DRM helpers for display adapters.
|
||||
|
||||
config DRM_DISPLAY_DP_AUX_BUS
|
||||
tristate "DRM DisplayPort AUX bus support"
|
||||
tristate
|
||||
depends on DRM
|
||||
depends on OF || COMPILE_TEST
|
||||
default y
|
||||
|
||||
config DRM_DISPLAY_DP_AUX_CEC
|
||||
bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support"
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM && DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select CEC_CORE
|
||||
help
|
||||
Choose this option if you want to enable HDMI CEC support for
|
||||
@ -27,26 +24,23 @@ config DRM_DISPLAY_DP_AUX_CEC
|
||||
that do support this they often do not hook up the CEC pin.
|
||||
|
||||
config DRM_DISPLAY_DP_AUX_CHARDEV
|
||||
bool "DRM DisplayPort AUX Interface"
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
bool "DRM DP AUX Interface"
|
||||
depends on DRM && DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
help
|
||||
Choose this option to enable a /dev/drm_dp_auxN node that allows to
|
||||
read and write values to arbitrary DPCD registers on the DP aux
|
||||
channel.
|
||||
|
||||
config DRM_DISPLAY_DP_HELPER
|
||||
bool "DRM DisplayPort Helpers"
|
||||
bool
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
default y
|
||||
help
|
||||
DRM display helpers for DisplayPort.
|
||||
|
||||
config DRM_DISPLAY_DP_TUNNEL
|
||||
bool "DRM DisplayPort tunnels support"
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
bool
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
help
|
||||
Enable support for DisplayPort tunnels. This allows drivers to use
|
||||
DP tunnel features like the Bandwidth Allocation mode to maximize the
|
||||
@ -66,15 +60,13 @@ config DRM_DISPLAY_DP_TUNNEL_STATE_DEBUG
|
||||
If in doubt, say "N".
|
||||
|
||||
config DRM_DISPLAY_HDCP_HELPER
|
||||
bool "DRM HDCD Helpers"
|
||||
bool
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
default y
|
||||
help
|
||||
DRM display helpers for HDCP.
|
||||
|
||||
config DRM_DISPLAY_HDMI_HELPER
|
||||
bool "DRM HDMI Helpers"
|
||||
bool
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
default y
|
||||
help
|
||||
DRM display helpers for HDMI.
|
||||
|
@ -167,6 +167,9 @@ int drm_fb_dma_get_scanout_buffer(struct drm_plane *plane,
|
||||
struct drm_gem_dma_object *dma_obj;
|
||||
struct drm_framebuffer *fb;
|
||||
|
||||
if (!plane->state || !plane->state->fb)
|
||||
return -EINVAL;
|
||||
|
||||
fb = plane->state->fb;
|
||||
/* Only support linear modifier */
|
||||
if (fb->modifier != DRM_FORMAT_MOD_LINEAR)
|
||||
|
@ -113,7 +113,6 @@ static int drm_fbdev_generic_helper_fb_probe(struct drm_fb_helper *fb_helper,
|
||||
/* screen */
|
||||
info->flags |= FBINFO_VIRTFB | FBINFO_READS_FAST;
|
||||
info->screen_buffer = screen_buffer;
|
||||
info->fix.smem_start = page_to_phys(vmalloc_to_page(info->screen_buffer));
|
||||
info->fix.smem_len = screen_size;
|
||||
|
||||
/* deferred I/O */
|
||||
|
@ -4,6 +4,7 @@ config DRM_EXYNOS
|
||||
depends on OF && DRM && COMMON_CLK
|
||||
depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
|
||||
depends on MMU
|
||||
select DRM_DISPLAY_HELPER if DRM_EXYNOS_DP
|
||||
select DRM_KMS_HELPER
|
||||
select VIDEOMODE_HELPERS
|
||||
select FB_DMAMEM_HELPERS if DRM_FBDEV_EMULATION
|
||||
@ -67,9 +68,8 @@ config DRM_EXYNOS_DSI
|
||||
config DRM_EXYNOS_DP
|
||||
bool "Exynos specific extensions for Analogix DP driver"
|
||||
depends on DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER=y || (DRM_DISPLAY_HELPER=m && DRM_EXYNOS=m)
|
||||
select DRM_ANALOGIX_DP
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
default DRM_EXYNOS
|
||||
select DRM_PANEL
|
||||
help
|
||||
|
@ -2,10 +2,6 @@
|
||||
config DRM_I915
|
||||
tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics"
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HDCP_HELPER
|
||||
depends on DRM_DISPLAY_HDMI_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on X86 && PCI
|
||||
depends on !PREEMPT_RT
|
||||
select INTEL_GTT if X86
|
||||
@ -14,6 +10,10 @@ config DRM_I915
|
||||
# the shmem_readpage() which depends upon tmpfs
|
||||
select SHMEM
|
||||
select TMPFS
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HDCP_HELPER
|
||||
select DRM_DISPLAY_HDMI_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select DRM_PANEL
|
||||
select DRM_MIPI_DSI
|
||||
|
@ -35,8 +35,7 @@ config DRM_IMX_LDB
|
||||
|
||||
config DRM_IMX_HDMI
|
||||
tristate "Freescale i.MX DRM HDMI"
|
||||
depends on DRM_DW_HDMI
|
||||
depends on DRM_IMX
|
||||
depends on OF
|
||||
select DRM_DW_HDMI
|
||||
depends on DRM_IMX && OF
|
||||
help
|
||||
Choose this if you want to use HDMI on i.MX6.
|
||||
|
@ -27,8 +27,8 @@ config DRM_INGENIC_IPU
|
||||
|
||||
config DRM_INGENIC_DW_HDMI
|
||||
tristate "Ingenic specific support for Synopsys DW HDMI"
|
||||
depends on DRM_DW_HDMI
|
||||
depends on MACH_JZ4780
|
||||
select DRM_DW_HDMI
|
||||
help
|
||||
Choose this option to enable Synopsys DesignWare HDMI based driver.
|
||||
If you want to enable HDMI on Ingenic JZ4780 based SoC, you should
|
||||
|
@ -22,11 +22,11 @@ config DRM_MEDIATEK
|
||||
|
||||
config DRM_MEDIATEK_DP
|
||||
tristate "DRM DPTX Support for MediaTek SoCs"
|
||||
depends on DRM_DISPLAY_DP_AUX_BUS
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on DRM_MEDIATEK
|
||||
select PHY_MTK_DP
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_DP_AUX_BUS
|
||||
help
|
||||
DRM/KMS Display Port driver for MediaTek SoCs.
|
||||
|
||||
|
@ -13,9 +13,9 @@ config DRM_MESON
|
||||
|
||||
config DRM_MESON_DW_HDMI
|
||||
tristate "HDMI Synopsys Controller support for Amlogic Meson Display"
|
||||
depends on DRM_DW_HDMI
|
||||
depends on DRM_MESON
|
||||
default y if DRM_MESON
|
||||
select DRM_DW_HDMI
|
||||
imply DRM_DW_HDMI_I2S_AUDIO
|
||||
|
||||
config DRM_MESON_DW_MIPI_DSI
|
||||
|
@ -2,12 +2,9 @@
|
||||
|
||||
config DRM_MSM
|
||||
tristate "MSM DRM"
|
||||
depends on DRM
|
||||
depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST
|
||||
depends on COMMON_CLK
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_DP_AUX_BUS
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on IOMMU_SUPPORT
|
||||
depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n
|
||||
depends on QCOM_OCMEM || QCOM_OCMEM=n
|
||||
@ -17,6 +14,9 @@ config DRM_MSM
|
||||
select IOMMU_IO_PGTABLE
|
||||
select QCOM_MDT_LOADER if ARCH_QCOM
|
||||
select REGULATOR
|
||||
select DRM_DISPLAY_DP_AUX_BUS
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_EXEC
|
||||
select DRM_KMS_HELPER
|
||||
select DRM_PANEL
|
||||
|
@ -1,14 +1,12 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config DRM_NOUVEAU
|
||||
tristate "Nouveau (NVIDIA) cards"
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HDMI_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on PCI
|
||||
depends on MMU
|
||||
depends on DRM && PCI && MMU
|
||||
select IOMMU_API
|
||||
select FW_LOADER
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HDMI_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select DRM_TTM
|
||||
select DRM_TTM_HELPER
|
||||
|
@ -544,11 +544,11 @@ config DRM_PANEL_RAYDIUM_RM68200
|
||||
|
||||
config DRM_PANEL_RAYDIUM_RM692E5
|
||||
tristate "Raydium RM692E5-based DSI panel"
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on DRM_MIPI_DSI
|
||||
depends on OF
|
||||
depends on DRM_MIPI_DSI
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
help
|
||||
Say Y here if you want to enable support for Raydium RM692E5-based
|
||||
display panels, such as the one found in the Fairphone 5 smartphone.
|
||||
@ -582,12 +582,12 @@ config DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01
|
||||
|
||||
config DRM_PANEL_SAMSUNG_ATNA33XC20
|
||||
tristate "Samsung ATNA33XC20 eDP panel"
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
depends on DRM_DISPLAY_DP_AUX_BUS
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
depends on PM
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_AUX_BUS
|
||||
help
|
||||
DRM panel driver for the Samsung ATNA33XC20 panel. This panel can't
|
||||
be handled by the DRM_PANEL_SIMPLE driver because its power
|
||||
@ -822,13 +822,13 @@ config DRM_PANEL_STARTEK_KD070FHFID015
|
||||
|
||||
config DRM_PANEL_EDP
|
||||
tristate "support for simple Embedded DisplayPort panels"
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
depends on DRM_DISPLAY_DP_AUX_BUS
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
depends on PM
|
||||
select VIDEOMODE_HELPERS
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_AUX_BUS
|
||||
select DRM_KMS_HELPER
|
||||
help
|
||||
DRM panel driver for dumb eDP panels that need at most a regulator and
|
||||
@ -902,11 +902,11 @@ config DRM_PANEL_TRULY_NT35597_WQXGA
|
||||
|
||||
config DRM_PANEL_VISIONOX_R66451
|
||||
tristate "Visionox R66451"
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on DRM_MIPI_DSI
|
||||
depends on OF
|
||||
depends on DRM_MIPI_DSI
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
help
|
||||
Say Y here if you want to enable support for Visionox
|
||||
R66451 1080x2340 AMOLED DSI panel.
|
||||
|
@ -1083,10 +1083,11 @@ int panthor_fw_post_reset(struct panthor_device *ptdev)
|
||||
if (!ret)
|
||||
goto out;
|
||||
|
||||
/* Force a disable, so we get a fresh boot on the next
|
||||
* panthor_fw_start() call.
|
||||
/* Forcibly reset the MCU and force a slow reset, so we get a
|
||||
* fresh boot on the next panthor_fw_start() call.
|
||||
*/
|
||||
gpu_write(ptdev, MCU_CONTROL, MCU_CONTROL_DISABLE);
|
||||
panthor_fw_stop(ptdev);
|
||||
ptdev->fw->fast_reset = false;
|
||||
drm_err(&ptdev->base, "FW fast reset failed, trying a slow reset");
|
||||
}
|
||||
|
||||
|
@ -490,6 +490,18 @@ enum panthor_group_state {
|
||||
* Can no longer be scheduled. The only allowed action is a destruction.
|
||||
*/
|
||||
PANTHOR_CS_GROUP_TERMINATED,
|
||||
|
||||
/**
|
||||
* @PANTHOR_CS_GROUP_UNKNOWN_STATE: Group is an unknown state.
|
||||
*
|
||||
* The FW returned an inconsistent state. The group is flagged unusable
|
||||
* and can no longer be scheduled. The only allowed action is a
|
||||
* destruction.
|
||||
*
|
||||
* When that happens, we also schedule a FW reset, to start from a fresh
|
||||
* state.
|
||||
*/
|
||||
PANTHOR_CS_GROUP_UNKNOWN_STATE,
|
||||
};
|
||||
|
||||
/**
|
||||
@ -1127,6 +1139,7 @@ csg_slot_sync_state_locked(struct panthor_device *ptdev, u32 csg_id)
|
||||
struct panthor_fw_csg_iface *csg_iface;
|
||||
struct panthor_group *group;
|
||||
enum panthor_group_state new_state, old_state;
|
||||
u32 csg_state;
|
||||
|
||||
lockdep_assert_held(&ptdev->scheduler->lock);
|
||||
|
||||
@ -1137,7 +1150,8 @@ csg_slot_sync_state_locked(struct panthor_device *ptdev, u32 csg_id)
|
||||
return;
|
||||
|
||||
old_state = group->state;
|
||||
switch (csg_iface->output->ack & CSG_STATE_MASK) {
|
||||
csg_state = csg_iface->output->ack & CSG_STATE_MASK;
|
||||
switch (csg_state) {
|
||||
case CSG_STATE_START:
|
||||
case CSG_STATE_RESUME:
|
||||
new_state = PANTHOR_CS_GROUP_ACTIVE;
|
||||
@ -1148,11 +1162,28 @@ csg_slot_sync_state_locked(struct panthor_device *ptdev, u32 csg_id)
|
||||
case CSG_STATE_SUSPEND:
|
||||
new_state = PANTHOR_CS_GROUP_SUSPENDED;
|
||||
break;
|
||||
default:
|
||||
/* The unknown state might be caused by a FW state corruption,
|
||||
* which means the group metadata can't be trusted anymore, and
|
||||
* the SUSPEND operation might propagate the corruption to the
|
||||
* suspend buffers. Flag the group state as unknown to make
|
||||
* sure it's unusable after that point.
|
||||
*/
|
||||
drm_err(&ptdev->base, "Invalid state on CSG %d (state=%d)",
|
||||
csg_id, csg_state);
|
||||
new_state = PANTHOR_CS_GROUP_UNKNOWN_STATE;
|
||||
break;
|
||||
}
|
||||
|
||||
if (old_state == new_state)
|
||||
return;
|
||||
|
||||
/* The unknown state might be caused by a FW issue, reset the FW to
|
||||
* take a fresh start.
|
||||
*/
|
||||
if (new_state == PANTHOR_CS_GROUP_UNKNOWN_STATE)
|
||||
panthor_device_schedule_reset(ptdev);
|
||||
|
||||
if (new_state == PANTHOR_CS_GROUP_SUSPENDED)
|
||||
csg_slot_sync_queues_state_locked(ptdev, csg_id);
|
||||
|
||||
@ -1783,6 +1814,7 @@ static bool
|
||||
group_can_run(struct panthor_group *group)
|
||||
{
|
||||
return group->state != PANTHOR_CS_GROUP_TERMINATED &&
|
||||
group->state != PANTHOR_CS_GROUP_UNKNOWN_STATE &&
|
||||
!group->destroyed && group->fatal_queues == 0 &&
|
||||
!group->timedout;
|
||||
}
|
||||
@ -2546,8 +2578,8 @@ void panthor_sched_suspend(struct panthor_device *ptdev)
|
||||
{
|
||||
struct panthor_scheduler *sched = ptdev->scheduler;
|
||||
struct panthor_csg_slots_upd_ctx upd_ctx;
|
||||
u32 suspended_slots, faulty_slots;
|
||||
struct panthor_group *group;
|
||||
u32 suspended_slots;
|
||||
u32 i;
|
||||
|
||||
mutex_lock(&sched->lock);
|
||||
@ -2557,7 +2589,8 @@ void panthor_sched_suspend(struct panthor_device *ptdev)
|
||||
|
||||
if (csg_slot->group) {
|
||||
csgs_upd_ctx_queue_reqs(ptdev, &upd_ctx, i,
|
||||
CSG_STATE_SUSPEND,
|
||||
group_can_run(csg_slot->group) ?
|
||||
CSG_STATE_SUSPEND : CSG_STATE_TERMINATE,
|
||||
CSG_STATE_MASK);
|
||||
}
|
||||
}
|
||||
@ -2566,10 +2599,9 @@ void panthor_sched_suspend(struct panthor_device *ptdev)
|
||||
|
||||
csgs_upd_ctx_apply_locked(ptdev, &upd_ctx);
|
||||
suspended_slots &= ~upd_ctx.timedout_mask;
|
||||
faulty_slots = upd_ctx.timedout_mask;
|
||||
|
||||
if (faulty_slots) {
|
||||
u32 slot_mask = faulty_slots;
|
||||
if (upd_ctx.timedout_mask) {
|
||||
u32 slot_mask = upd_ctx.timedout_mask;
|
||||
|
||||
drm_err(&ptdev->base, "CSG suspend failed, escalating to termination");
|
||||
csgs_upd_ctx_init(&upd_ctx);
|
||||
@ -2620,9 +2652,6 @@ void panthor_sched_suspend(struct panthor_device *ptdev)
|
||||
|
||||
slot_mask &= ~BIT(csg_id);
|
||||
}
|
||||
|
||||
if (flush_caches_failed)
|
||||
faulty_slots |= suspended_slots;
|
||||
}
|
||||
|
||||
for (i = 0; i < sched->csg_slot_count; i++) {
|
||||
|
@ -2,13 +2,11 @@
|
||||
|
||||
config DRM_RADEON
|
||||
tristate "ATI Radeon"
|
||||
depends on DRM && PCI && MMU
|
||||
depends on AGP || !AGP
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on PCI
|
||||
depends on MMU
|
||||
select FW_LOADER
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select DRM_SUBALLOC_HELPER
|
||||
select DRM_TTM
|
||||
|
@ -25,8 +25,8 @@ config DRM_RCAR_CMM
|
||||
config DRM_RCAR_DW_HDMI
|
||||
tristate "R-Car Gen3 and RZ/G2 DU HDMI Encoder Support"
|
||||
depends on DRM && OF
|
||||
depends on DRM_DW_HDMI
|
||||
depends on DRM_RCAR_DU || COMPILE_TEST
|
||||
select DRM_DW_HDMI
|
||||
help
|
||||
Enable support for R-Car Gen3 or RZ/G2 internal HDMI encoder.
|
||||
|
||||
|
@ -7,6 +7,7 @@ config DRM_ROCKCHIP
|
||||
select DRM_PANEL
|
||||
select VIDEOMODE_HELPERS
|
||||
select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP
|
||||
select DRM_DW_HDMI if ROCKCHIP_DW_HDMI
|
||||
select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI
|
||||
select GENERIC_PHY if ROCKCHIP_DW_MIPI_DSI
|
||||
select GENERIC_PHY_MIPI_DPHY if ROCKCHIP_DW_MIPI_DSI
|
||||
@ -35,9 +36,9 @@ config ROCKCHIP_VOP2
|
||||
|
||||
config ROCKCHIP_ANALOGIX_DP
|
||||
bool "Rockchip specific extensions for Analogix DP driver"
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER=y || (DRM_DISPLAY_HELPER=m && DRM_ROCKCHIP=m)
|
||||
depends on ROCKCHIP_VOP
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
help
|
||||
This selects support for Rockchip SoC specific extensions
|
||||
for the Analogix Core DP driver. If you want to enable DP
|
||||
@ -45,9 +46,9 @@ config ROCKCHIP_ANALOGIX_DP
|
||||
|
||||
config ROCKCHIP_CDN_DP
|
||||
bool "Rockchip cdn DP"
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER=y || (DRM_DISPLAY_HELPER=m && DRM_ROCKCHIP=m)
|
||||
depends on EXTCON=y || (EXTCON=m && DRM_ROCKCHIP=m)
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
help
|
||||
This selects support for Rockchip SoC specific extensions
|
||||
for the cdn DP driver. If you want to enable Dp on
|
||||
@ -56,7 +57,6 @@ config ROCKCHIP_CDN_DP
|
||||
|
||||
config ROCKCHIP_DW_HDMI
|
||||
bool "Rockchip specific extensions for Synopsys DW HDMI"
|
||||
depends on DRM_DW_HDMI
|
||||
help
|
||||
This selects support for Rockchip SoC specific extensions
|
||||
for the Synopsys DesignWare HDMI driver. If you want to
|
||||
|
@ -57,8 +57,8 @@ config DRM_SUN6I_DSI
|
||||
config DRM_SUN8I_DW_HDMI
|
||||
tristate "Support for Allwinner version of DesignWare HDMI"
|
||||
depends on DRM_SUN4I
|
||||
depends on DRM_DW_HDMI
|
||||
default DRM_SUN4I
|
||||
select DRM_DW_HDMI
|
||||
help
|
||||
Choose this option if you have an Allwinner SoC with the
|
||||
DesignWare HDMI controller. SoCs that support HDMI and
|
||||
|
@ -4,11 +4,11 @@ config DRM_TEGRA
|
||||
depends on ARCH_TEGRA || COMPILE_TEST
|
||||
depends on COMMON_CLK
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_DP_AUX_BUS
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HDMI_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HDMI_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_DISPLAY_DP_AUX_BUS
|
||||
select DRM_KMS_HELPER
|
||||
select DRM_MIPI_DSI
|
||||
select DRM_PANEL
|
||||
|
@ -2,15 +2,15 @@
|
||||
config DRM_VC4
|
||||
tristate "Broadcom VC4 Graphics"
|
||||
depends on ARCH_BCM || ARCH_BCM2835 || COMPILE_TEST
|
||||
depends on COMMON_CLK
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_HDMI_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on PM
|
||||
# Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only
|
||||
# happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE.
|
||||
depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
|
||||
depends on DRM
|
||||
depends on SND && SND_SOC
|
||||
depends on COMMON_CLK
|
||||
depends on PM
|
||||
select DRM_DISPLAY_HDMI_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select DRM_GEM_DMA_HELPER
|
||||
select DRM_PANEL_BRIDGE
|
||||
|
@ -1,14 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config DRM_XE
|
||||
tristate "Intel Xe Graphics"
|
||||
depends on (m || (y && KUNIT=y))
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HDCP_HELPER
|
||||
depends on DRM_DISPLAY_HDMI_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on MMU
|
||||
depends on PCI
|
||||
depends on DRM && PCI && MMU && (m || (y && KUNIT=y))
|
||||
select INTERVAL_TREE
|
||||
# we need shmfs for the swappable backing store, and in particular
|
||||
# the shmem_readpage() which depends upon tmpfs
|
||||
@ -20,6 +13,10 @@ config DRM_XE
|
||||
select DRM_KUNIT_TEST_HELPERS if DRM_XE_KUNIT_TEST != n
|
||||
select DRM_PANEL
|
||||
select DRM_SUBALLOC_HELPER
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HDCP_HELPER
|
||||
select DRM_DISPLAY_HDMI_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_MIPI_DSI
|
||||
select RELAY
|
||||
select IRQ_WORK
|
||||
|
@ -1,15 +1,13 @@
|
||||
config DRM_ZYNQMP_DPSUB
|
||||
tristate "ZynqMP DisplayPort Controller Driver"
|
||||
depends on ARCH_ZYNQMP || COMPILE_TEST
|
||||
depends on COMMON_CLK
|
||||
depends on COMMON_CLK && DRM && OF
|
||||
depends on DMADEVICES
|
||||
depends on DRM
|
||||
depends on DRM_DISPLAY_DP_HELPER
|
||||
depends on DRM_DISPLAY_HELPER
|
||||
depends on OF
|
||||
depends on PHY_XILINX_ZYNQMP
|
||||
depends on XILINX_ZYNQMP_DPDMA
|
||||
select DMA_ENGINE
|
||||
select DRM_DISPLAY_DP_HELPER
|
||||
select DRM_DISPLAY_HELPER
|
||||
select DRM_GEM_DMA_HELPER
|
||||
select DRM_KMS_HELPER
|
||||
select GENERIC_PHY
|
||||
|
@ -256,12 +256,12 @@ static int zynqmp_dpsub_probe(struct platform_device *pdev)
|
||||
if (ret)
|
||||
goto err_dp;
|
||||
|
||||
drm_bridge_add(dpsub->bridge);
|
||||
|
||||
if (dpsub->dma_enabled) {
|
||||
ret = zynqmp_dpsub_drm_init(dpsub);
|
||||
if (ret)
|
||||
goto err_disp;
|
||||
} else {
|
||||
drm_bridge_add(dpsub->bridge);
|
||||
}
|
||||
|
||||
dev_info(&pdev->dev, "ZynqMP DisplayPort Subsystem driver probed");
|
||||
@ -288,9 +288,8 @@ static void zynqmp_dpsub_remove(struct platform_device *pdev)
|
||||
|
||||
if (dpsub->drm)
|
||||
zynqmp_dpsub_drm_cleanup(dpsub);
|
||||
else
|
||||
drm_bridge_remove(dpsub->bridge);
|
||||
|
||||
drm_bridge_remove(dpsub->bridge);
|
||||
zynqmp_disp_remove(dpsub);
|
||||
zynqmp_dp_remove(dpsub);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user