Message ID | 20250225-bridge-connector-v4-0-7ecb07b09cad@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | drm/bridge: Various quality of life improvements | expand |
Hi Maxime, On Tue, 25 Feb 2025 17:43:48 +0100 Maxime Ripard <mripard@kernel.org> wrote: > Hi, > > Here's a series of changes after to the KMS helpers and bridge API > following a bunch of reviews I did. > > It's mostly centered across providing an easier time to deal with bridge > states, and a somewhat consistent with the other entities API. > > It's build tested only, with arm64 allmodconfig. > > Maxime > > Signed-off-by: Maxime Ripard <mripard@kernel.org> > --- I Tried to test this series on my system but I've got a compilation issue. depmod: ERROR: Cycle detected: drm -> drm_kms_helper -> drm depmod: ERROR: Found 2 modules in dependency cycles! CONFIG_DRM=m in my configuration. Tested to move to CONFIG_DRM=y but in that case, I've got aarch64-buildroot-linux-gnu-ld: Unexpected GOT/PLT entries detected! aarch64-buildroot-linux-gnu-ld: Unexpected run-time procedure linkages detected! aarch64-buildroot-linux-gnu-ld: drivers/gpu/drm/drm_bridge.o: in function `drm_bridge_reset_crtc': drivers/gpu/drm/drm_bridge.c:1413: undefined reference to `drm_atomic_helper_reset_crtc' Best regards, Hervé
On Thu, Feb 27, 2025 at 12:00:04PM +0100, Herve Codina wrote: > Hi Maxime, > > On Tue, 25 Feb 2025 17:43:48 +0100 > Maxime Ripard <mripard@kernel.org> wrote: > > > Hi, > > > > Here's a series of changes after to the KMS helpers and bridge API > > following a bunch of reviews I did. > > > > It's mostly centered across providing an easier time to deal with bridge > > states, and a somewhat consistent with the other entities API. > > > > It's build tested only, with arm64 allmodconfig. > > > > Maxime > > > > Signed-off-by: Maxime Ripard <mripard@kernel.org> > > --- > > I Tried to test this series on my system but I've got a compilation issue. > depmod: ERROR: Cycle detected: drm -> drm_kms_helper -> drm > depmod: ERROR: Found 2 modules in dependency cycles! > > CONFIG_DRM=m in my configuration. Could you share your configuration? it doesn't happen with allmodconfig. Thanks! Maxime
Hi Maxime, On Mon, 3 Mar 2025 14:11:05 +0100 Maxime Ripard <mripard@kernel.org> wrote: > On Thu, Feb 27, 2025 at 12:00:04PM +0100, Herve Codina wrote: > > Hi Maxime, > > > > On Tue, 25 Feb 2025 17:43:48 +0100 > > Maxime Ripard <mripard@kernel.org> wrote: > > > > > Hi, > > > > > > Here's a series of changes after to the KMS helpers and bridge API > > > following a bunch of reviews I did. > > > > > > It's mostly centered across providing an easier time to deal with bridge > > > states, and a somewhat consistent with the other entities API. > > > > > > It's build tested only, with arm64 allmodconfig. > > > > > > Maxime > > > > > > Signed-off-by: Maxime Ripard <mripard@kernel.org> > > > --- > > > > I Tried to test this series on my system but I've got a compilation issue. > > depmod: ERROR: Cycle detected: drm -> drm_kms_helper -> drm > > depmod: ERROR: Found 2 modules in dependency cycles! > > > > CONFIG_DRM=m in my configuration. > > Could you share your configuration? it doesn't happen with allmodconfig. > Here is a defconfig that leads to the issue on my side: --- 8< --- # CONFIG_LOCALVERSION_AUTO is not set CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y CONFIG_AUDIT=y CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y CONFIG_PREEMPT=y CONFIG_IRQ_TIME_ACCOUNTING=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=20 CONFIG_LOG_CPU_MAX_BUF_SHIFT=15 CONFIG_NUMA_BALANCING=y CONFIG_MEMCG=y CONFIG_BLK_CGROUP=y CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_HUGETLB=y CONFIG_CPUSETS=y CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y CONFIG_USER_NS=y CONFIG_SCHED_AUTOGROUP=y CONFIG_BLK_DEV_INITRD=y # CONFIG_RD_BZIP2 is not set # CONFIG_RD_LZMA is not set # CONFIG_RD_XZ is not set # CONFIG_RD_LZO is not set # CONFIG_RD_LZ4 is not set # CONFIG_RD_ZSTD is not set # CONFIG_INITRAMFS_PRESERVE_MTIME is not set CONFIG_PROFILING=y CONFIG_KEXEC_FILE=y CONFIG_ARCH_NXP=y CONFIG_ARCH_MXC=y CONFIG_ARM64_VA_BITS_48=y CONFIG_SCHED_MC=y CONFIG_SCHED_SMT=y CONFIG_NUMA=y CONFIG_PARAVIRT=y CONFIG_COMPAT=y CONFIG_RANDOMIZE_BASE=y CONFIG_HIBERNATION=y CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y CONFIG_ENERGY_MODEL=y CONFIG_CPU_IDLE=y CONFIG_ARM_PSCI_CPUIDLE=y CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_GOV_POWERSAVE=m CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m CONFIG_CPUFREQ_DT=y CONFIG_ARM_IMX_CPUFREQ_DT=m CONFIG_ARM_SCMI_CPUFREQ=y CONFIG_JUMP_LABEL=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set # CONFIG_COMPAT_BRK is not set CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_PAGE_REPORTING=y CONFIG_KSM=y CONFIG_MEMORY_FAILURE=y CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_CMA=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_BOOTP=y # CONFIG_IPV6 is not set # CONFIG_WIRELESS is not set CONFIG_FAILOVER=y CONFIG_PCI=y CONFIG_PCIEPORTBUS=y CONFIG_PCIEAER=y CONFIG_PCI_IOV=y CONFIG_PCI_PASID=y CONFIG_HOTPLUG_PCI=y CONFIG_PCI_HOST_GENERIC=y CONFIG_PCI_IMX6_HOST=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_FW_LOADER_USER_HELPER=y CONFIG_ARM_SCMI_PROTOCOL=y CONFIG_ARM_SCPI_PROTOCOL=y # CONFIG_DMIID is not set # CONFIG_EFI_ARMSTUB_DTB_LOADER is not set CONFIG_IMX_SCU=y CONFIG_MTD=y CONFIG_MTD_BLOCK=y CONFIG_MTD_SPI_NOR=y CONFIG_OF_OVERLAY=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_NBD=m CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_NVME=m CONFIG_SRAM=y CONFIG_EEPROM_AT24=y CONFIG_EEPROM_AT25=y CONFIG_UACCE=m CONFIG_SCSI=y # CONFIG_SCSI_PROC_FS is not set CONFIG_BLK_DEV_SD=y # CONFIG_BLK_DEV_BSG is not set # CONFIG_SCSI_LOWLEVEL is not set CONFIG_MD=y CONFIG_BLK_DEV_MD=m CONFIG_BLK_DEV_DM=m CONFIG_DM_CRYPT=m CONFIG_DM_MIRROR=m CONFIG_DM_ZERO=m CONFIG_NETDEVICES=y # CONFIG_NET_VENDOR_3COM is not set # CONFIG_NET_VENDOR_ADAPTEC is not set # CONFIG_NET_VENDOR_AGERE is not set # CONFIG_NET_VENDOR_ALACRITECH is not set # CONFIG_NET_VENDOR_ALTEON is not set # CONFIG_NET_VENDOR_AMAZON is not set # CONFIG_NET_VENDOR_AMD is not set # CONFIG_NET_VENDOR_AQUANTIA is not set # CONFIG_NET_VENDOR_ARC is not set # CONFIG_NET_VENDOR_ASIX is not set # CONFIG_NET_VENDOR_ATHEROS is not set # CONFIG_NET_VENDOR_BROADCOM is not set # CONFIG_NET_VENDOR_CADENCE is not set # CONFIG_NET_VENDOR_CAVIUM is not set # CONFIG_NET_VENDOR_CHELSIO is not set # CONFIG_NET_VENDOR_CISCO is not set # CONFIG_NET_VENDOR_CORTINA is not set # CONFIG_NET_VENDOR_DAVICOM is not set # CONFIG_NET_VENDOR_DEC is not set # CONFIG_NET_VENDOR_DLINK is not set # CONFIG_NET_VENDOR_EMULEX is not set # CONFIG_NET_VENDOR_ENGLEDER is not set # CONFIG_NET_VENDOR_EZCHIP is not set CONFIG_FEC=y CONFIG_FSL_ENETC_MDIO=y # CONFIG_NET_VENDOR_FUNGIBLE is not set # CONFIG_NET_VENDOR_GOOGLE is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_INTEL is not set # CONFIG_NET_VENDOR_ADI is not set # CONFIG_NET_VENDOR_LITEX is not set # CONFIG_NET_VENDOR_MARVELL is not set # CONFIG_NET_VENDOR_MELLANOX is not set # CONFIG_NET_VENDOR_MICREL is not set # CONFIG_NET_VENDOR_MICROCHIP is not set # CONFIG_NET_VENDOR_MICROSEMI is not set # CONFIG_NET_VENDOR_MICROSOFT is not set # CONFIG_NET_VENDOR_MYRI is not set # CONFIG_NET_VENDOR_NI is not set # CONFIG_NET_VENDOR_NATSEMI is not set # CONFIG_NET_VENDOR_NETERION is not set # CONFIG_NET_VENDOR_NETRONOME is not set # CONFIG_NET_VENDOR_NVIDIA is not set # CONFIG_NET_VENDOR_OKI is not set # CONFIG_NET_VENDOR_PACKET_ENGINES is not set # CONFIG_NET_VENDOR_PENSANDO is not set # CONFIG_NET_VENDOR_QLOGIC is not set # CONFIG_NET_VENDOR_BROCADE is not set # CONFIG_NET_VENDOR_QUALCOMM is not set # CONFIG_NET_VENDOR_RDC is not set # CONFIG_NET_VENDOR_REALTEK is not set # CONFIG_NET_VENDOR_RENESAS is not set # CONFIG_NET_VENDOR_ROCKER is not set # CONFIG_NET_VENDOR_SAMSUNG is not set # CONFIG_NET_VENDOR_SEEQ is not set # CONFIG_NET_VENDOR_SILAN is not set # CONFIG_NET_VENDOR_SIS is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set # CONFIG_NET_VENDOR_SMSC is not set # CONFIG_NET_VENDOR_SOCIONEXT is not set CONFIG_STMMAC_ETH=m # CONFIG_NET_VENDOR_SUN is not set # CONFIG_NET_VENDOR_SYNOPSYS is not set # CONFIG_NET_VENDOR_TEHUTI is not set # CONFIG_NET_VENDOR_TI is not set # CONFIG_NET_VENDOR_VERTEXCOM is not set # CONFIG_NET_VENDOR_VIA is not set # CONFIG_NET_VENDOR_WANGXUN is not set # CONFIG_NET_VENDOR_WIZNET is not set # CONFIG_NET_VENDOR_XILINX is not set CONFIG_SMSC_PHY=m CONFIG_DP83867_PHY=y CONFIG_MDIO_BITBANG=y CONFIG_MDIO_BCM_UNIMAC=m CONFIG_MDIO_THUNDER=y CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y CONFIG_MDIO_BUS_MUX_MMIOREG=y # CONFIG_WLAN is not set CONFIG_INPUT_MATRIXKMAP=y CONFIG_INPUT_EVDEV=y CONFIG_KEYBOARD_ADC=m CONFIG_KEYBOARD_GPIO=y CONFIG_KEYBOARD_SNVS_PWRKEY=m CONFIG_KEYBOARD_IMX_SC_KEY=m CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ATMEL_MXT=m CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_INPUT_MISC=y CONFIG_INPUT_PWM_BEEPER=m CONFIG_INPUT_PWM_VIBRA=m # CONFIG_SERIO_SERPORT is not set CONFIG_SERIO_AMBAKMI=y CONFIG_LEGACY_PTY_COUNT=16 CONFIG_SERIAL_IMX=y CONFIG_SERIAL_IMX_CONSOLE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_HW_RANDOM_CN10K=m # CONFIG_DEVPORT is not set CONFIG_I2C=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MUX=y CONFIG_I2C_MUX_PCA954x=y CONFIG_I2C_CADENCE=m CONFIG_I2C_DESIGNWARE_CORE=y CONFIG_I2C_GPIO=m CONFIG_I2C_IMX=y CONFIG_I2C_IMX_LPI2C=y CONFIG_I2C_RK3X=y CONFIG_SPI=y CONFIG_SPI_CADENCE_QUADSPI=y CONFIG_SPI_DESIGNWARE=m CONFIG_SPI_DW_DMA=y CONFIG_SPI_DW_MMIO=m CONFIG_SPI_FSL_LPSPI=y CONFIG_SPI_FSL_QUADSPI=y CONFIG_SPI_NXP_FLEXSPI=y CONFIG_SPI_IMX=m CONFIG_SPI_PL022=y CONFIG_SPI_SPIDEV=m # CONFIG_PTP_1588_CLOCK is not set CONFIG_PINCTRL=y CONFIG_PINCTRL_MAX77620=y CONFIG_PINCTRL_SINGLE=y CONFIG_PINCTRL_IMX8MM=y CONFIG_PINCTRL_IMX8MN=y CONFIG_PINCTRL_IMX8MP=y CONFIG_PINCTRL_IMX8MQ=y CONFIG_PINCTRL_IMX8QM=y CONFIG_PINCTRL_IMX8QXP=y CONFIG_PINCTRL_IMX8DXL=y CONFIG_PINCTRL_IMX8ULP=y CONFIG_PINCTRL_IMX93=y CONFIG_GPIOLIB=y CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_MXC=y CONFIG_GPIO_MAX732X=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_BD9571MWV=m CONFIG_GPIO_MAX77620=y CONFIG_BATTERY_SBS=m CONFIG_BATTERY_BQ27XXX=y CONFIG_BATTERY_MAX17042=m CONFIG_CHARGER_GPIO=m CONFIG_CHARGER_MT6360=m CONFIG_CHARGER_BQ25890=m CONFIG_CHARGER_BQ25980=m CONFIG_SENSORS_ARM_SCMI=y CONFIG_SENSORS_ARM_SCPI=y CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_JC42=m CONFIG_SENSORS_LTC4151=m CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM90=m CONFIG_SENSORS_TMP103=m CONFIG_THERMAL=y CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y CONFIG_CPU_THERMAL=y CONFIG_DEVFREQ_THERMAL=y CONFIG_THERMAL_EMULATION=y CONFIG_IMX_SC_THERMAL=m CONFIG_IMX8MM_THERMAL=m CONFIG_QORIQ_THERMAL=m CONFIG_GENERIC_ADC_THERMAL=m CONFIG_WATCHDOG=y CONFIG_ARM_SP805_WATCHDOG=y CONFIG_ARM_SBSA_WATCHDOG=y CONFIG_DW_WATCHDOG=y CONFIG_IMX2_WDT=y CONFIG_IMX_SC_WDT=m CONFIG_ARM_SMC_WATCHDOG=y CONFIG_MFD_BD9571MWV=y CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_HI6421_PMIC=y CONFIG_MFD_MAX77620=y CONFIG_MFD_MT6360=y CONFIG_MFD_MT6397=y CONFIG_MFD_SEC_CORE=y CONFIG_MFD_ROHM_BD718XX=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_AXP20X=y CONFIG_REGULATOR_BD718XX=y CONFIG_REGULATOR_BD9571MWV=y CONFIG_REGULATOR_FAN53555=y CONFIG_REGULATOR_GPIO=y CONFIG_REGULATOR_HI6421V530=y CONFIG_REGULATOR_MAX77620=y CONFIG_REGULATOR_MAX8973=y CONFIG_REGULATOR_MP8859=y CONFIG_REGULATOR_MT6358=y CONFIG_REGULATOR_MT6359=y CONFIG_REGULATOR_MT6360=y CONFIG_REGULATOR_MT6397=y CONFIG_REGULATOR_PCA9450=y CONFIG_REGULATOR_PF8X00=y CONFIG_REGULATOR_PFUZE100=y CONFIG_REGULATOR_PWM=y CONFIG_REGULATOR_S2MPS11=y CONFIG_REGULATOR_TPS65132=m CONFIG_REGULATOR_VCTRL=m CONFIG_DRM=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_DISPLAY_CONNECTOR=m CONFIG_DRM_FSL_LDB=m CONFIG_DRM_I2C_NXP_TDA998X=m CONFIG_DRM_SAMSUNG_DSIM=m CONFIG_DRM_SIMPLE_BRIDGE=m CONFIG_DRM_TI_SN65DSI83=m CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE=m CONFIG_DRM_MXSFB=m CONFIG_DRM_IMX_LCDIF=m CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_PWM=m CONFIG_BACKLIGHT_LP855X=m CONFIG_BACKLIGHT_LED=m CONFIG_HID_MULTITOUCH=m CONFIG_I2C_HID_OF=m # CONFIG_USB_SUPPORT is not set CONFIG_MMC=y CONFIG_MMC_BLOCK_MINORS=32 CONFIG_MMC_ARMMMCI=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MMC_SDHCI_OF_ARASAN=y CONFIG_MMC_SDHCI_OF_ESDHC=y CONFIG_MMC_SDHCI_OF_DWCMSHC=y CONFIG_MMC_SDHCI_CADENCE=y CONFIG_MMC_SDHCI_ESDHC_IMX=y CONFIG_MMC_SDHCI_F_SDH30=y CONFIG_MMC_SPI=y CONFIG_MMC_DW=y CONFIG_MMC_DW_EXYNOS=y CONFIG_MMC_DW_HI3798CV200=y CONFIG_MMC_DW_K3=y CONFIG_MMC_MTK=y CONFIG_MMC_SDHCI_XENON=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLASS_MULTICOLOR=m CONFIG_LEDS_LM3692X=m CONFIG_LEDS_PCA9532=m CONFIG_LEDS_GPIO=y CONFIG_LEDS_PCA963X=m CONFIG_LEDS_PWM=y CONFIG_LEDS_SYSCON=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_LEDS_TRIGGER_CPU=y CONFIG_LEDS_TRIGGER_DEFAULT_ON=y CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_EDAC=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_M41T80=m CONFIG_RTC_DRV_S35390A=m CONFIG_RTC_DRV_RX8010=m CONFIG_RTC_DRV_SNVS=m CONFIG_RTC_DRV_IMX_SC=m CONFIG_DMADEVICES=y CONFIG_FSL_EDMA=y CONFIG_IMX_SDMA=m CONFIG_MV_XOR_V2=y CONFIG_PL330_DMA=y CONFIG_QCOM_HIDMA_MGMT=y CONFIG_QCOM_HIDMA=y # CONFIG_VIRTIO_MENU is not set # CONFIG_VHOST_MENU is not set # CONFIG_SURFACE_PLATFORMS is not set CONFIG_CLK_IMX8MM=y CONFIG_CLK_IMX8MN=y CONFIG_CLK_IMX8MP=y CONFIG_CLK_IMX8MQ=y CONFIG_CLK_IMX8QXP=y CONFIG_CLK_IMX8ULP=y CONFIG_HWSPINLOCK=y CONFIG_MAILBOX=y CONFIG_ARM_MHU=y CONFIG_IMX_MBOX=y CONFIG_PLATFORM_MHU=y CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y CONFIG_IOMMU_IO_PGTABLE_DART=y CONFIG_ARM_SMMU=y CONFIG_ARM_SMMU_V3=y CONFIG_REMOTEPROC=y CONFIG_RPMSG_CHAR=m CONFIG_RPMSG_CTRL=m CONFIG_RPMSG_QCOM_GLINK_RPM=y CONFIG_FSL_RCPM=y CONFIG_SOC_TI=y CONFIG_IMX_SCU_PD=y CONFIG_PM_DEVFREQ=y CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y CONFIG_DEVFREQ_GOV_PASSIVE=m CONFIG_ARM_IMX_BUS_DEVFREQ=m CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m CONFIG_EXTCON=y CONFIG_EXTCON_PTN5150=m CONFIG_EXTCON_USB_GPIO=y CONFIG_IIO=y CONFIG_IIO_ST_ACCEL_3AXIS=m # CONFIG_IIO_ST_ACCEL_SPI_3AXIS is not set CONFIG_LTC2497=m CONFIG_IIO_ST_LSM6DSX=m CONFIG_SENSORS_ISL29018=m CONFIG_OPT3001=m CONFIG_VCNL4000=m CONFIG_IIO_ST_MAGN_3AXIS=m CONFIG_MPL3115=m CONFIG_IIO_ST_PRESS=m CONFIG_PWM=y CONFIG_PWM_IMX27=m CONFIG_RESET_IMX7=y CONFIG_PHY_FSL_IMX8M_PCIE=y CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY=y CONFIG_ARM_CCI_PMU=m CONFIG_ARM_CCN=m CONFIG_ARM_CMN=m CONFIG_ARM_DSU_PMU=m CONFIG_FSL_IMX8_DDR_PMU=m CONFIG_ARM_SPE_PMU=m CONFIG_NVMEM_IMX_OCOTP=y CONFIG_NVMEM_IMX_OCOTP_SCU=y CONFIG_NVMEM_RMEM=m CONFIG_NVMEM_SNVS_LPGPR=y CONFIG_STM=m CONFIG_MUX_MMIO=y CONFIG_INTERCONNECT=y CONFIG_INTERCONNECT_IMX=m CONFIG_INTERCONNECT_IMX8MM=m CONFIG_INTERCONNECT_IMX8MN=m CONFIG_INTERCONNECT_IMX8MQ=m CONFIG_INTERCONNECT_IMX8MP=m CONFIG_EXT2_FS=y CONFIG_EXT3_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_FANOTIFY=y CONFIG_QUOTA=y CONFIG_VFAT_FS=m CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_HUGETLBFS=y CONFIG_EFIVAR_FS=y CONFIG_NFS_FS=y CONFIG_ROOT_NFS=y CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,bpf" CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=m CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_CURVE25519=m CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_ANSI_CPRNG=y CONFIG_CRYPTO_DRBG_MENU=y CONFIG_CRYPTO_USER_API_RNG=m # CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set CONFIG_CRYPTO_CHACHA20_NEON=m CONFIG_CRYPTO_GHASH_ARM64_CE=y CONFIG_CRYPTO_SHA1_ARM64_CE=y CONFIG_CRYPTO_SHA2_ARM64_CE=y CONFIG_CRYPTO_SHA512_ARM64_CE=m CONFIG_CRYPTO_SHA3_ARM64=m CONFIG_CRYPTO_SM3_ARM64_CE=m CONFIG_CRYPTO_AES_ARM64_BS=m CONFIG_CRYPTO_AES_ARM64_CE_CCM=y CONFIG_CRYPTO_DEV_FSL_CAAM=m CONFIG_CRYPTO_DEV_CCREE=m CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m CONFIG_PACKING=y CONFIG_INDIRECT_PIO=y CONFIG_CRC_CCITT=m CONFIG_LIBCRC32C=y CONFIG_DMA_CMA=y CONFIG_CMA_SIZE_MBYTES=32 CONFIG_IRQ_POLL=y CONFIG_PRINTK_TIME=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DEBUG_FS=y CONFIG_FUNCTION_TRACER=y CONFIG_FUNCTION_GRAPH_RETVAL=y CONFIG_FTRACE_SYSCALLS=y CONFIG_USER_EVENTS=y CONFIG_MEMTEST=y --- 8< --- Best regards Hervé
On Mon, Mar 03, 2025 at 02:34:04PM +0100, Herve Codina wrote: > Hi Maxime, > > On Mon, 3 Mar 2025 14:11:05 +0100 > Maxime Ripard <mripard@kernel.org> wrote: > > > On Thu, Feb 27, 2025 at 12:00:04PM +0100, Herve Codina wrote: > > > Hi Maxime, > > > > > > On Tue, 25 Feb 2025 17:43:48 +0100 > > > Maxime Ripard <mripard@kernel.org> wrote: > > > > > > > Hi, > > > > > > > > Here's a series of changes after to the KMS helpers and bridge API > > > > following a bunch of reviews I did. > > > > > > > > It's mostly centered across providing an easier time to deal with bridge > > > > states, and a somewhat consistent with the other entities API. > > > > > > > > It's build tested only, with arm64 allmodconfig. > > > > > > > > Maxime > > > > > > > > Signed-off-by: Maxime Ripard <mripard@kernel.org> > > > > --- > > > > > > I Tried to test this series on my system but I've got a compilation issue. > > > depmod: ERROR: Cycle detected: drm -> drm_kms_helper -> drm > > > depmod: ERROR: Found 2 modules in dependency cycles! > > > > > > CONFIG_DRM=m in my configuration. > > > > Could you share your configuration? it doesn't happen with allmodconfig. > > > > Here is a defconfig that leads to the issue on my side: I still can't reproduce it, sorry. Is this based on linux-next / drm-misc-next, or a private branch? Maxime
On Mon, 3 Mar 2025 16:00:33 +0100 Maxime Ripard <mripard@kernel.org> wrote: > On Mon, Mar 03, 2025 at 02:34:04PM +0100, Herve Codina wrote: > > Hi Maxime, > > > > On Mon, 3 Mar 2025 14:11:05 +0100 > > Maxime Ripard <mripard@kernel.org> wrote: > > > > > On Thu, Feb 27, 2025 at 12:00:04PM +0100, Herve Codina wrote: > > > > Hi Maxime, > > > > > > > > On Tue, 25 Feb 2025 17:43:48 +0100 > > > > Maxime Ripard <mripard@kernel.org> wrote: > > > > > > > > > Hi, > > > > > > > > > > Here's a series of changes after to the KMS helpers and bridge API > > > > > following a bunch of reviews I did. > > > > > > > > > > It's mostly centered across providing an easier time to deal with bridge > > > > > states, and a somewhat consistent with the other entities API. > > > > > > > > > > It's build tested only, with arm64 allmodconfig. > > > > > > > > > > Maxime > > > > > > > > > > Signed-off-by: Maxime Ripard <mripard@kernel.org> > > > > > --- > > > > > > > > I Tried to test this series on my system but I've got a compilation issue. > > > > depmod: ERROR: Cycle detected: drm -> drm_kms_helper -> drm > > > > depmod: ERROR: Found 2 modules in dependency cycles! > > > > > > > > CONFIG_DRM=m in my configuration. > > > > > > Could you share your configuration? it doesn't happen with allmodconfig. > > > > > > > Here is a defconfig that leads to the issue on my side: > > I still can't reproduce it, sorry. Is this based on linux-next / > drm-misc-next, or a private branch? > > Maxime Got it with this git history (based on 72d0af4accd9 available in drm-misc-next): f86431f9d3fc (HEAD -> test_maxime_series_drm_next_clean_v4) drm/bridge: ti-sn65dsi86: Use bridge_state crtc pointer 27b49a4a713f drm/bridge: tc358768: Convert to atomic helpers f3f203c823e3 drm/bridge: tc358768: Stop disabling when failing to enable 89f4b115b1ca drm/bridge: tc358775: Switch to atomic commit 142be5c7910a drm/bridge: cdns-csi: Switch to atomic helpers e6db675d871a drm/bridge: Introduce drm_bridge_is_atomic() helper 1745511b7394 drm/bridge: ti-sn65dsi83: Switch to drm_bridge_reset_crtc e44654d4c9bd drm/tests: bridge: Provide tests for drm_bridge_reset_crtc 671a94f57f99 drm/bridge: Add helper to reset bridge pipeline bcf02dc7fb61 drm/tests: Create tests for drm_atomic f7b479b6f283 drm/atomic: Introduce helper to lookup connector by encoder 56d9fa19b833 drm/tests: Add kunit tests for bridges 9c86d5205422 drm/bridge: Provide a helper to retrieve current bridge state 3e0010915240 drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 72d0af4accd9 (upstream_drm/for-linux-next, upstream_drm/drm-misc-next) drm/msm/dp: Add support for LTTPR handling 6dcc3c5121b7 drm/i915/dp: Use the generic helper to control LTTPR transparent mode 226a0baf9098 drm/nouveau/dp: Use the generic helper to control LTTPR transparent mode ... Best regards Hervé
On Mon, Mar 03, 2025 at 05:50:11PM +0100, Herve Codina wrote: > On Mon, 3 Mar 2025 16:00:33 +0100 > Maxime Ripard <mripard@kernel.org> wrote: > > > On Mon, Mar 03, 2025 at 02:34:04PM +0100, Herve Codina wrote: > > > Hi Maxime, > > > > > > On Mon, 3 Mar 2025 14:11:05 +0100 > > > Maxime Ripard <mripard@kernel.org> wrote: > > > > > > > On Thu, Feb 27, 2025 at 12:00:04PM +0100, Herve Codina wrote: > > > > > Hi Maxime, > > > > > > > > > > On Tue, 25 Feb 2025 17:43:48 +0100 > > > > > Maxime Ripard <mripard@kernel.org> wrote: > > > > > > > > > > > Hi, > > > > > > > > > > > > Here's a series of changes after to the KMS helpers and bridge API > > > > > > following a bunch of reviews I did. > > > > > > > > > > > > It's mostly centered across providing an easier time to deal with bridge > > > > > > states, and a somewhat consistent with the other entities API. > > > > > > > > > > > > It's build tested only, with arm64 allmodconfig. > > > > > > > > > > > > Maxime > > > > > > > > > > > > Signed-off-by: Maxime Ripard <mripard@kernel.org> > > > > > > --- > > > > > > > > > > I Tried to test this series on my system but I've got a compilation issue. > > > > > depmod: ERROR: Cycle detected: drm -> drm_kms_helper -> drm > > > > > depmod: ERROR: Found 2 modules in dependency cycles! > > > > > > > > > > CONFIG_DRM=m in my configuration. > > > > > > > > Could you share your configuration? it doesn't happen with allmodconfig. > > > > > > > > > > Here is a defconfig that leads to the issue on my side: > > > > I still can't reproduce it, sorry. Is this based on linux-next / > > drm-misc-next, or a private branch? > > > > Maxime > > Got it with this git history (based on 72d0af4accd9 available in > drm-misc-next): > > f86431f9d3fc (HEAD -> test_maxime_series_drm_next_clean_v4) drm/bridge: ti-sn65dsi86: Use bridge_state crtc pointer > 27b49a4a713f drm/bridge: tc358768: Convert to atomic helpers > f3f203c823e3 drm/bridge: tc358768: Stop disabling when failing to enable > 89f4b115b1ca drm/bridge: tc358775: Switch to atomic commit > 142be5c7910a drm/bridge: cdns-csi: Switch to atomic helpers > e6db675d871a drm/bridge: Introduce drm_bridge_is_atomic() helper > 1745511b7394 drm/bridge: ti-sn65dsi83: Switch to drm_bridge_reset_crtc > e44654d4c9bd drm/tests: bridge: Provide tests for drm_bridge_reset_crtc > 671a94f57f99 drm/bridge: Add helper to reset bridge pipeline > bcf02dc7fb61 drm/tests: Create tests for drm_atomic > f7b479b6f283 drm/atomic: Introduce helper to lookup connector by encoder > 56d9fa19b833 drm/tests: Add kunit tests for bridges > 9c86d5205422 drm/bridge: Provide a helper to retrieve current bridge state > 3e0010915240 drm/bridge: Add encoder parameter to drm_bridge_funcs.attach > 72d0af4accd9 (upstream_drm/for-linux-next, upstream_drm/drm-misc-next) drm/msm/dp: Add support for LTTPR handling > 6dcc3c5121b7 drm/i915/dp: Use the generic helper to control LTTPR transparent mode > 226a0baf9098 drm/nouveau/dp: Use the generic helper to control LTTPR transparent mode > ... Yeah, I found it. It doesn't happen during compilation but during modules_install. It's fixed now, thanks! Maxime
Hi, Here's a series of changes after to the KMS helpers and bridge API following a bunch of reviews I did. It's mostly centered across providing an easier time to deal with bridge states, and a somewhat consistent with the other entities API. It's build tested only, with arm64 allmodconfig. Maxime Signed-off-by: Maxime Ripard <mripard@kernel.org> --- Changes in v4: - Rebased on top of drm-misc-next-2025-02-20 - Changed the approach to helpers suggested by Sima, dropped the tags affected by the rework - Drop drm_bridge_state->crtc and connector fields - Drop drm_bridge->encoder deprecation - Introduced kunit tests - Link to v3: https://lore.kernel.org/r/20250213-bridge-connector-v3-0-e71598f49c8f@kernel.org Changes in v3: - Add tags - Fix compilation breakages - Reword some commit messages - Create drm_bridge_is_atomic() helper - Retrieve the CRTC state through drm_atomic_get_new_crtc_state() instead of crtc->state in bridges - Fix ti-sn65dsi86 - Link to v2: https://lore.kernel.org/r/20250204-bridge-connector-v2-0-35dd6c834e08@kernel.org Changes in v2: - Pass the full atomic state to bridge atomic hooks - Make attach take the encoder as a parameter - Mark bridge->encoder as deprecated - Rework the logic to detect if a bridge uses a state or not at atomic_check time - Add lockdep assertion to drm_bridge_get_current_state() - Link to v1: https://lore.kernel.org/r/20250115-bridge-connector-v1-0-9a2fecd886a6@kernel.org --- Maxime Ripard (15): drm/bridge: Add encoder parameter to drm_bridge_funcs.attach drm/bridge: Provide a helper to retrieve current bridge state drm/tests: Add kunit tests for bridges drm/atomic: Introduce helper to lookup connector by encoder drm/tests: helpers: Create new helper to enable output drm/tests: Create tests for drm_atomic drm/bridge: Add helper to reset bridge pipeline drm/tests: bridge: Provide tests for drm_bridge_reset_crtc drm/bridge: ti-sn65dsi83: Switch to drm_bridge_reset_crtc drm/bridge: Introduce drm_bridge_is_atomic() helper drm/bridge: cdns-csi: Switch to atomic helpers drm/bridge: tc358775: Switch to atomic commit drm/bridge: tc358768: Stop disabling when failing to enable drm/bridge: tc358768: Convert to atomic helpers drm/bridge: ti-sn65dsi86: Use bridge_state crtc pointer drivers/gpu/drm/Kconfig | 1 + drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 3 +- drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 3 +- drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 3 +- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +- drivers/gpu/drm/bridge/analogix/anx7625.c | 3 +- drivers/gpu/drm/bridge/aux-bridge.c | 3 +- drivers/gpu/drm/bridge/aux-hpd-bridge.c | 1 + drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 34 +- .../gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 1 + drivers/gpu/drm/bridge/chipone-icn6211.c | 6 +- drivers/gpu/drm/bridge/chrontel-ch7033.c | 5 +- drivers/gpu/drm/bridge/display-connector.c | 1 + drivers/gpu/drm/bridge/fsl-ldb.c | 3 +- drivers/gpu/drm/bridge/imx/imx-ldb-helper.c | 7 +- drivers/gpu/drm/bridge/imx/imx-ldb-helper.h | 2 +- drivers/gpu/drm/bridge/imx/imx-legacy-bridge.c | 3 +- drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c | 3 +- .../gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c | 3 +- drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 3 +- drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c | 3 +- drivers/gpu/drm/bridge/ite-it6263.c | 7 +- drivers/gpu/drm/bridge/ite-it6505.c | 1 + drivers/gpu/drm/bridge/ite-it66121.c | 3 +- drivers/gpu/drm/bridge/lontium-lt8912b.c | 3 +- drivers/gpu/drm/bridge/lontium-lt9211.c | 3 +- drivers/gpu/drm/bridge/lontium-lt9611.c | 3 +- drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 3 +- drivers/gpu/drm/bridge/lvds-codec.c | 3 +- .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 + drivers/gpu/drm/bridge/microchip-lvds.c | 3 +- drivers/gpu/drm/bridge/nwl-dsi.c | 3 +- drivers/gpu/drm/bridge/nxp-ptn3460.c | 5 +- drivers/gpu/drm/bridge/panel.c | 3 +- drivers/gpu/drm/bridge/parade-ps8622.c | 1 + drivers/gpu/drm/bridge/parade-ps8640.c | 3 +- drivers/gpu/drm/bridge/samsung-dsim.c | 3 +- drivers/gpu/drm/bridge/sii902x.c | 5 +- drivers/gpu/drm/bridge/sil-sii8620.c | 1 + drivers/gpu/drm/bridge/simple-bridge.c | 5 +- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 +- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 5 +- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c | 5 +- drivers/gpu/drm/bridge/tc358762.c | 3 +- drivers/gpu/drm/bridge/tc358764.c | 3 +- drivers/gpu/drm/bridge/tc358767.c | 2 + drivers/gpu/drm/bridge/tc358768.c | 41 ++- drivers/gpu/drm/bridge/tc358775.c | 45 ++- drivers/gpu/drm/bridge/tda998x_drv.c | 1 + drivers/gpu/drm/bridge/thc63lvd1024.c | 3 +- drivers/gpu/drm/bridge/ti-dlpc3433.c | 4 +- drivers/gpu/drm/bridge/ti-sn65dsi83.c | 29 +- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 61 ++-- drivers/gpu/drm/bridge/ti-tdp158.c | 6 +- drivers/gpu/drm/bridge/ti-tfp410.c | 5 +- drivers/gpu/drm/bridge/ti-tpd12s015.c | 3 +- drivers/gpu/drm/drm_atomic.c | 45 +++ drivers/gpu/drm/drm_bridge.c | 55 ++- drivers/gpu/drm/imx/ipuv3/parallel-display.c | 3 +- drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 5 +- drivers/gpu/drm/mcde/mcde_dsi.c | 3 +- drivers/gpu/drm/mediatek/mtk_dp.c | 3 +- drivers/gpu/drm/mediatek/mtk_dpi.c | 3 +- drivers/gpu/drm/mediatek/mtk_dsi.c | 3 +- drivers/gpu/drm/mediatek/mtk_hdmi.c | 3 +- drivers/gpu/drm/meson/meson_encoder_cvbs.c | 3 +- drivers/gpu/drm/meson/meson_encoder_dsi.c | 3 +- drivers/gpu/drm/meson/meson_encoder_hdmi.c | 3 +- drivers/gpu/drm/msm/dsi/dsi_manager.c | 3 +- drivers/gpu/drm/omapdrm/dss/dpi.c | 3 +- drivers/gpu/drm/omapdrm/dss/dsi.c | 3 +- drivers/gpu/drm/omapdrm/dss/hdmi4.c | 3 +- drivers/gpu/drm/omapdrm/dss/hdmi5.c | 3 +- drivers/gpu/drm/omapdrm/dss/sdi.c | 3 +- drivers/gpu/drm/omapdrm/dss/venc.c | 3 +- drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c | 3 +- drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 3 +- drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c | 3 +- drivers/gpu/drm/stm/lvds.c | 11 +- drivers/gpu/drm/tests/Makefile | 2 + drivers/gpu/drm/tests/drm_atomic_test.c | 153 +++++++++ drivers/gpu/drm/tests/drm_bridge_test.c | 376 +++++++++++++++++++++ drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c | 151 +++++---- drivers/gpu/drm/tests/drm_kunit_helpers.c | 61 ++++ drivers/gpu/drm/tidss/tidss_encoder.c | 3 +- drivers/gpu/drm/vc4/vc4_dsi.c | 3 +- drivers/gpu/drm/xlnx/zynqmp_dp.c | 3 +- drivers/platform/arm64/acer-aspire1-ec.c | 3 +- include/drm/drm_atomic.h | 3 + include/drm/drm_bridge.h | 36 +- include/drm/drm_kunit_helpers.h | 8 + 91 files changed, 1107 insertions(+), 239 deletions(-) --- base-commit: e82e1a0c22d841f379b1c768469dcdaae650e443 change-id: 20250115-bridge-connector-f93194e267ff Best regards,