Hi Dave, Daniel, Here's this week drm-misc-next PR. Thank! Maxime drm-misc-next-2020-02-27: drm-misc-next for $kernel-version: UAPI Changes: Cross-subsystem Changes: Core Changes: - bridge: huge rework to get rid of omap_dss custom display drivers Driver Changes: - hisilicon: some fixes related to modes it can deal with / default to - virtio: shmem and gpu context fixes and enhancements - sun4i: Support for LVDS on the A33 The following changes since commit d718e53a48f7bcfa6cdd0c00d5ed1fb516595446: drm/sun4i: tcon: Support LVDS output on Allwinner A20 (2020-02-20 18:25:36 +0100) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2020-02-27 for you to fetch changes up to 18b39fb975b79d6526449ca7c8ab504bc92e2825: drm/virtio: add virtio_gpu_is_shmem helper (2020-02-27 11:31:34 +0100) ---------------------------------------------------------------- drm-misc-next for $kernel-version: UAPI Changes: Cross-subsystem Changes: Core Changes: - bridge: huge rework to get rid of omap_dss custom display drivers Driver Changes: - hisilicon: some fixes related to modes it can deal with / default to - virtio: shmem and gpu context fixes and enhancements - sun4i: Support for LVDS on the A33 ---------------------------------------------------------------- Boris Brezillon (1): drm/bridge: panel: Propagate bus format/flags Gurchetan Singh (6): drm/virtio: use consistent names for drm_files drm/virtio: factor out context create hypercall drm/virtio: track whether or not a context has been initiated drm/virtio: enqueue virtio_gpu_create_context after the first 3D ioctl drm/virtio: make mmap callback consistent with callbacks drm/virtio: add virtio_gpu_is_shmem helper Laurent Pinchart (56): drm/bridge: lvds-codec: Add to_lvds_codec() function drm/bridge: lvds-codec: Constify the drm_bridge_funcs structure video: hdmi: Change return type of hdmi_avi_infoframe_init() to void drm/connector: Add helper to get a connector type name drm/edid: Add flag to drm_display_info to identify HDMI sinks drm/bridge: Document the drm_encoder.bridge_chain field as private drm/bridge: Fix atomic state ops documentation drm/bridge: Improve overview documentation drm/bridge: Add connector-related bridge operations and data drm/bridge: Add interlace_allowed flag to drm_bridge drm/bridge: Extend bridge API to disable connector creation drm/bridge: dumb-vga-dac: Rename internal symbols to simple-bridge drm/bridge: dumb-vga-dac: Rename driver to simple-bridge drm/bridge: simple-bridge: Add support for non-VGA bridges drm/bridge: simple-bridge: Add support for enable GPIO drm/bridge: simple-bridge: Add support for the TI OPA362 drm/bridge: Add bridge driver for display connectors drm/bridge: Add driver for the TI TPD12S015 HDMI level shifter drm/bridge: panel: Implement bridge connector operations drm/bridge: tfp410: Replace manual connector handling with bridge drm/bridge: tfp410: Allow operation without drm_connector drm: Add helper to create a connector for a chain of bridges drm/omap: dss: Cleanup DSS ports on initialisation failure drm/omap: Simplify HDMI mode and infoframe configuration drm/omap: Factor out display type to connector type conversion drm/omap: Use the drm_panel_bridge API drm/omap: dss: Fix output next device lookup in DT drm/omap: Add infrastructure to support drm_bridge local to DSS outputs drm/omap: dss: Make omap_dss_device_ops optional drm/omap: hdmi: Allocate EDID in the .read_edid() operation drm/omap: hdmi4: Rework EDID read to isolate data read drm/omap: hdmi5: Rework EDID read to isolate data read drm/omap: hdmi4: Register a drm_bridge for EDID read drm/omap: hdmi5: Register a drm_bridge for EDID read drm/omap: hdmi4: Move mode set, enable and disable operations to bridge drm/omap: hdmi5: Move mode set, enable and disable operations to bridge drm/omap: hdmi4: Implement drm_bridge .hpd_notify() operation drm/omap: dss: Remove .set_hdmi_mode() and .set_infoframe() operations drm/omap: venc: Register a drm_bridge drm/omap: Create connector for bridges drm/omap: Switch the HDMI and VENC outputs to drm_bridge drm/omap: Remove HPD, detect and EDID omapdss operations drm/omap: hdmi: Remove omap_dss_device operations drm/omap: venc: Remove omap_dss_device operations drm/omap: hdmi4: Simplify EDID read drm/omap: hdmi5: Simplify EDID read drm/omap: dpi: Sort includes alphabetically drm/omap: dpi: Reorder functions in sections drm/omap: dpi: Simplify clock setting API drm/omap: dpi: Register a drm_bridge drm/omap: sdi: Sort includes alphabetically drm/omap: sdi: Register a drm_bridge drm/omap: Hardcode omap_connector type to DSI drm/omap: dss: Inline the omapdss_display_get() function drm/omap: dss: Remove unused omapdss_of_find_connected_device() function drm/omap: dss: Remove unused omap_dss_device operations Marek Szyprowski (1): drm/panel: ld9040: add MODULE_DEVICE_TABLE with SPI IDs Maxime Ripard (1): drm/sun4i: tcon: Support LVDS on the A33 Nicolas Boichat (3): drm/panfrost: Improve error reporting in panfrost_gpu_power_on drm/panfrost: Add support for multiple regulators drm/panfrost: Add support for multiple power domains Tian Tao (6): drm/hisilicon: Add new clock/resolution configurations drm/hisilicon: Enable the shadowfb for hibmc drm/hisilicon: fixed the wrong resolution configurations drm/hisilicon: Add the mode_valid function drm/hisilicon: Set preferred mode resolution and maximum resolution drm/hisilicon: Fixed pcie resource conflict between drm and firmware Tomi Valkeinen (1): drm/panel: simple: fix osd070t1718_19ts sync drive edge Torsten Duwe (2): drm/bridge: analogix-anx78xx: Fix drm_dp_link helper removal drm/bridge: analogix-anx6345: Avoid duplicate -supply suffix Xinliang Liu (1): MAINTAINERS: Update myself email address Documentation/gpu/drm-kms-helpers.rst | 18 +- Documentation/gpu/todo.rst | 14 + MAINTAINERS | 5 +- arch/arm/configs/davinci_all_defconfig | 2 +- arch/arm/configs/integrator_defconfig | 2 +- arch/arm/configs/multi_v7_defconfig | 2 +- arch/arm/configs/omap2plus_defconfig | 7 +- arch/arm/configs/shmobile_defconfig | 2 +- arch/arm/configs/sunxi_defconfig | 2 +- arch/arm/configs/versatile_defconfig | 2 +- drivers/gpu/drm/Makefile | 3 +- drivers/gpu/drm/arc/arcpgu_hdmi.c | 2 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 2 +- drivers/gpu/drm/bridge/Kconfig | 29 +- drivers/gpu/drm/bridge/Makefile | 4 +- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 8 +- drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 12 +- drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 13 +- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 10 +- drivers/gpu/drm/bridge/cdns-dsi.c | 6 +- drivers/gpu/drm/bridge/display-connector.c | 295 ++++++++++++++++ drivers/gpu/drm/bridge/dumb-vga-dac.c | 300 ---------------- drivers/gpu/drm/bridge/lvds-codec.c | 21 +- .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 8 +- drivers/gpu/drm/bridge/nxp-ptn3460.c | 8 +- drivers/gpu/drm/bridge/panel.c | 21 +- drivers/gpu/drm/bridge/parade-ps8622.c | 8 +- drivers/gpu/drm/bridge/parade-ps8640.c | 5 +- drivers/gpu/drm/bridge/sii902x.c | 8 +- drivers/gpu/drm/bridge/sil-sii8620.c | 3 +- drivers/gpu/drm/bridge/simple-bridge.c | 342 +++++++++++++++++++ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 10 +- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 8 +- drivers/gpu/drm/bridge/tc358764.c | 8 +- drivers/gpu/drm/bridge/tc358767.c | 9 +- drivers/gpu/drm/bridge/tc358768.c | 6 +- drivers/gpu/drm/bridge/thc63lvd1024.c | 5 +- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 8 +- drivers/gpu/drm/bridge/ti-tfp410.c | 222 +++++------- drivers/gpu/drm/bridge/ti-tpd12s015.c | 211 ++++++++++++ drivers/gpu/drm/drm_bridge.c | 314 +++++++++++++++-- drivers/gpu/drm/drm_bridge_connector.c | 379 +++++++++++++++++++++ drivers/gpu/drm/drm_connector.c | 15 + drivers/gpu/drm/drm_edid.c | 11 +- drivers/gpu/drm/drm_simple_kms_helper.c | 2 +- drivers/gpu/drm/exynos/exynos_dp.c | 3 +- drivers/gpu/drm/exynos/exynos_drm_dsi.c | 4 +- drivers/gpu/drm/exynos/exynos_hdmi.c | 2 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 2 +- drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 23 ++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 9 +- drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_regs.h | 2 + drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 11 +- drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c | 2 +- drivers/gpu/drm/i2c/tda998x_drv.c | 10 +- drivers/gpu/drm/imx/imx-ldb.c | 2 +- drivers/gpu/drm/imx/parallel-display.c | 4 +- drivers/gpu/drm/ingenic/ingenic-drm.c | 2 +- drivers/gpu/drm/mcde/mcde_dsi.c | 5 +- drivers/gpu/drm/mediatek/mtk_dpi.c | 2 +- drivers/gpu/drm/mediatek/mtk_dsi.c | 2 +- drivers/gpu/drm/mediatek/mtk_hdmi.c | 10 +- drivers/gpu/drm/msm/dsi/dsi_manager.c | 4 +- drivers/gpu/drm/msm/edp/edp.c | 2 +- drivers/gpu/drm/msm/edp/edp_bridge.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 2 +- drivers/gpu/drm/omapdrm/displays/Kconfig | 22 -- drivers/gpu/drm/omapdrm/displays/Makefile | 4 - .../gpu/drm/omapdrm/displays/connector-analog-tv.c | 97 ------ drivers/gpu/drm/omapdrm/displays/connector-hdmi.c | 183 ---------- drivers/gpu/drm/omapdrm/displays/encoder-opa362.c | 137 -------- .../gpu/drm/omapdrm/displays/encoder-tpd12s015.c | 217 ------------ drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 2 +- drivers/gpu/drm/omapdrm/dss/Makefile | 2 +- drivers/gpu/drm/omapdrm/dss/base.c | 55 +-- drivers/gpu/drm/omapdrm/dss/display.c | 9 - drivers/gpu/drm/omapdrm/dss/dpi.c | 349 ++++++++++--------- drivers/gpu/drm/omapdrm/dss/dsi.c | 4 +- drivers/gpu/drm/omapdrm/dss/dss-of.c | 28 -- drivers/gpu/drm/omapdrm/dss/dss.c | 58 ++-- drivers/gpu/drm/omapdrm/dss/hdmi.h | 4 +- drivers/gpu/drm/omapdrm/dss/hdmi4.c | 337 ++++++++++-------- drivers/gpu/drm/omapdrm/dss/hdmi4_core.c | 59 +--- drivers/gpu/drm/omapdrm/dss/hdmi4_core.h | 4 +- drivers/gpu/drm/omapdrm/dss/hdmi5.c | 313 +++++++++-------- drivers/gpu/drm/omapdrm/dss/hdmi5_core.c | 48 +-- drivers/gpu/drm/omapdrm/dss/hdmi5_core.h | 5 +- drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c | 5 - drivers/gpu/drm/omapdrm/dss/omapdss.h | 46 +-- drivers/gpu/drm/omapdrm/dss/output.c | 53 ++- drivers/gpu/drm/omapdrm/dss/sdi.c | 192 +++++++---- drivers/gpu/drm/omapdrm/dss/venc.c | 269 ++++++++------- drivers/gpu/drm/omapdrm/omap_connector.c | 247 +------------- drivers/gpu/drm/omapdrm/omap_connector.h | 3 - drivers/gpu/drm/omapdrm/omap_drv.c | 90 +++-- drivers/gpu/drm/omapdrm/omap_encoder.c | 83 +---- drivers/gpu/drm/panel/panel-samsung-ld9040.c | 6 + drivers/gpu/drm/panel/panel-simple.c | 3 +- drivers/gpu/drm/panfrost/panfrost_device.c | 127 ++++++- drivers/gpu/drm/panfrost/panfrost_device.h | 26 +- drivers/gpu/drm/panfrost/panfrost_drv.c | 30 +- drivers/gpu/drm/panfrost/panfrost_gpu.c | 11 +- drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 2 +- drivers/gpu/drm/rcar-du/rcar_lvds.c | 11 +- drivers/gpu/drm/rockchip/rockchip_lvds.c | 2 +- drivers/gpu/drm/rockchip/rockchip_rgb.c | 2 +- drivers/gpu/drm/sti/sti_dvo.c | 2 +- drivers/gpu/drm/sti/sti_hda.c | 2 +- drivers/gpu/drm/sti/sti_hdmi.c | 2 +- drivers/gpu/drm/stm/ltdc.c | 2 +- drivers/gpu/drm/sun4i/sun4i_lvds.c | 2 +- drivers/gpu/drm/sun4i/sun4i_rgb.c | 2 +- drivers/gpu/drm/sun4i/sun4i_tcon.c | 1 + drivers/gpu/drm/tidss/tidss_kms.c | 2 +- drivers/gpu/drm/tilcdc/tilcdc_external.c | 2 +- drivers/gpu/drm/vc4/vc4_dpi.c | 2 +- drivers/gpu/drm/vc4/vc4_dsi.c | 2 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 5 + drivers/gpu/drm/virtio/virtgpu_ioctl.c | 78 +++-- drivers/gpu/drm/virtio/virtgpu_kms.c | 28 +- drivers/gpu/drm/virtio/virtgpu_object.c | 11 +- drivers/video/hdmi.c | 11 +- include/drm/drm_bridge.h | 237 ++++++++++++- include/drm/drm_bridge_connector.h | 18 + include/drm/drm_connector.h | 9 + include/drm/drm_encoder.h | 3 +- include/linux/hdmi.h | 2 +- 128 files changed, 3463 insertions(+), 2584 deletions(-) create mode 100644 drivers/gpu/drm/bridge/display-connector.c delete mode 100644 drivers/gpu/drm/bridge/dumb-vga-dac.c create mode 100644 drivers/gpu/drm/bridge/simple-bridge.c create mode 100644 drivers/gpu/drm/bridge/ti-tpd12s015.c create mode 100644 drivers/gpu/drm/drm_bridge_connector.c delete mode 100644 drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c delete mode 100644 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c delete mode 100644 drivers/gpu/drm/omapdrm/displays/encoder-opa362.c delete mode 100644 drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c delete mode 100644 drivers/gpu/drm/omapdrm/dss/dss-of.c create mode 100644 include/drm/drm_bridge_connector.h