[PATCH v17 0/6] MIPS: JZ4780 and CI20 HDMI

From: H. Nikolaus Schaller
Date: Wed Apr 06 2022 - 13:43:02 EST


PATCH V17 2022-04-06 18:26:08:
* removed our local attempts to enable HPD because
"drm/bridge_connector: enable HPD by default if supported"
became available and solves the issue globally (by nikita.yoush@xxxxxxxxxxxxxxxxxx)
* add new mechanism to disable Color Space Conversion (by narmstrong@xxxxxxxxxxxx)
* rebased to v5.18-rc1 based drm-misc/drm-misc-next

PATCH V16 2022-02-26 18:13:02:
* fixed and renamed dw-hdmi bus negotiation patch (by narmstrong@xxxxxxxxxxxx)
* reordered and merged HPD fix (suggested by paul@xxxxxxxxxxxxxxx)
* fixed MODULE_ALIAS for dw-hdmi-ingenic (reported by paul@xxxxxxxxxxxxxxx)
* dropped some already merged commits from the series

PATCH V15 2022-02-12 16:50:54:
* remove already (elsewhere) merged commits (suggested by paul@xxxxxxxxxxxxxxx)
* clarify commit message for (now) 1/7 ((suggested by paul@xxxxxxxxxxxxxxx))

PATCH V14 2022-02-12 15:19:25:
* make compatible to c03d0b52ff71d5 ("drm/connector: Fix typo in output format")
* move "dw-hdmi/ingenic-dw-hdmi: repair interworking with hdmi-connector" before
drm/ingenic: Add dw-hdmi driver specialization for jz4780 (by paul@xxxxxxxxxxxxxxx)
* split introduction of dw_hdmi_enable_poll() into separate patch
* explicitly mark plane f0 as not working in jz4780 (suggested by paul@xxxxxxxxxxxxxxx)
* drop 1/9 since it is now in drm-misc/drm-misc-next

PATCH V13 2022-02-02 17:31:22:
* 7/9: remove call to gpiod_set_value() because of GPIOD_OUT_HIGH (by paul@xxxxxxxxxxxxxxx)
* 4/9: replace ".." by "." (by paul@xxxxxxxxxxxxxxx)
* 3/9: remove old hdmi-5v-power in the example (by paul@xxxxxxxxxxxxxxx)
* 2/9: disable handling of plane f0 only for jz4780 (by paul@xxxxxxxxxxxxxxx)

PATCH V12 2022-01-31 13:26:54:
This version reworks how hdmi ddc power is controlled by connector and not
by ddc/hdmi bridge driver.

Also some patches of the previous version of this series have been removed
since they are already applied to mips-next/linux/next/v5.17-rc1.

Fixes and changes:

- repair interworking of dw-hdmi with connector-hdmi (by hns@xxxxxxxxxxxxx)
- fix JZ_REG_LCD_OSDC setup for jz4780 (by hns@xxxxxxxxxxxxx and paul@xxxxxxxxxxxxxxx)
- adjustments for ci20.dts to use connector gpio for +5v (suggested by several)
- to add control of "ddc-en-gpios" to hdmi-connector driver (by hns@xxxxxxxxxxxxx)
- regulator code removed because we now use the "ddc-en-gpios" of the connector
driver (suggested by paul@xxxxxxxxxxxxxxx)
- bindings: addition of "ddc-i2c-bus" and "hdmi-5v-supply" removed (suggested by robh+dt@xxxxxxxxxx)
- rebase on v5.17-rc2

PATCH V11 2021-12-02 19:39:52:
- patch 4/8: change devm_regulator_get_optional to devm_regulator_get and
remove NULL check (requested by broonie@xxxxxxxxxx)
- patch 3/8: make hdmi-5v-supply required (requested by broonie@xxxxxxxxxx)

PATCH V10 2021-11-30 22:26:41:
- patch 3/8: fix $id and $ref paths (found by robh@xxxxxxxxxx)

PATCH V9 2021-11-24 22:29:14:
- patch 6/8: remove optional <0> for assigned-clocks and unintentionally included "unwedge" setup (found by paul@xxxxxxxxxxxxxxx)
- patch 4/8: some cosmetics
make regulator enable/disable only if not NULL (found by paul@xxxxxxxxxxxxxxx)
simplify/fix error handling and driver cleanup on remove (proposed by paul@xxxxxxxxxxxxxxx)
- patch 3/8: fix #include path in example (found by paul@xxxxxxxxxxxxxxx)
fix missing "i" in unevaluatedProperties (found by robh@xxxxxxxxxx)
fix 4 spaces indentation for required: property (found by robh@xxxxxxxxxx)

PATCH V8 2021-11-23 19:14:00:
- fix a bad editing result from patch 2/8 (found by paul@xxxxxxxxxxxxxxx)

PATCH V7 2021-11-23 18:46:23:
- changed gpio polarity of hdmi_power to 0 (suggested by paul@xxxxxxxxxxxxxxx)
- fixed LCD1 irq number (bug found by paul@xxxxxxxxxxxxxxx)
- removed "- 4" for calculating max_register (suggested by paul@xxxxxxxxxxxxxxx)
- use unevaluatedPropertes instead of additionalProperties (suggested by robh@xxxxxxxxxx)
- moved and renamed ingenic,jz4780-hdmi.yaml (suggested by robh@xxxxxxxxxx)
- adjusted assigned-clocks changes to upstream which added some for SSI (by hns@xxxxxxxxxxxxx)
- rebased and tested with v5.16-rc2 + patch set drm/ingenic by paul@xxxxxxxxxxxxxxx (by hns@xxxxxxxxxxxxx)

PATCH V6 2021-11-10 20:43:33:
- changed CONFIG_DRM_INGENIC_DW_HDMI to "m" (by hns@xxxxxxxxxxxxx)
- made ingenic-dw-hdmi an independent platform driver which can be compiled as module
and removed error patch fixes for IPU (suggested by paul@xxxxxxxxxxxxxxx)
- moved assigned-clocks from jz4780.dtsi to ci20.dts (suggested by paul@xxxxxxxxxxxxxxx)
- fixed reg property in jz4780.dtsi to cover all registers incl. gamma and vee (by hns@xxxxxxxxxxxxx)
- added a base patch to calculate regmap size from DTS reg property (requested by paul@xxxxxxxxxxxxxxx)
- restored resetting all bits except one in LCDOSDC (requested by paul@xxxxxxxxxxxxxxx)
- clarified setting of cpos (suggested by paul@xxxxxxxxxxxxxxx)
- moved bindings definition for ddc-i2c-bus (suggested by paul@xxxxxxxxxxxxxxx)
- simplified mask definitions for JZ_LCD_DESSIZE (requested by paul@xxxxxxxxxxxxxxx)
- removed setting alpha premultiplication (suggested by paul@xxxxxxxxxxxxxxx)
- removed some comments (suggested by paul@xxxxxxxxxxxxxxx)

PATCH V5 2021-10-05 14:28:44:
- dropped mode_fixup and timings support in dw-hdmi as it is no longer needed in this V5 (by hns@xxxxxxxxxxxxx)
- dropped "drm/ingenic: add some jz4780 specific features" (stimulated by paul@xxxxxxxxxxxxxxx)
- fixed typo in commit subject: "synopsis" -> "synopsys" (by hns@xxxxxxxxxxxxx)
- swapped clocks in jz4780.dtsi to match synopsys,dw-hdmi.yaml (by hns@xxxxxxxxxxxxx)
- improved, simplified, fixed, dtbschecked ingenic-jz4780-hdmi.yaml and made dependent of bridge/synopsys,dw-hdmi.yaml (based on suggestions by maxime@xxxxxxxxxx)
- fixed binding vs. driver&DTS use of hdmi-5v regulator (suggested by maxime@xxxxxxxxxx)
- dropped "drm/bridge: synopsis: Fix to properly handle HPD" - was a no longer needed workaround for a previous version
(suggested by maxime@xxxxxxxxxx)

PATCH V4 2021-09-27 18:44:38:
- fix setting output_port = 1 (issue found by paul@xxxxxxxxxxxxxxx)
- ci20.dts: convert to use hdmi-connector (by hns@xxxxxxxxxxxxx)
- add a hdmi-regulator to control +5V power (by hns@xxxxxxxxxxxxx)
- added a fix to dw-hdmi to call drm_kms_helper_hotplug_event on plugin event detection (by hns@xxxxxxxxxxxxx)
- always allocate extended descriptor but initialize only for jz4780 (by hns@xxxxxxxxxxxxx)
- updated to work on top of "[PATCH v3 0/6] drm/ingenic: Various improvements v3" (by paul@xxxxxxxxxxxxxxx)
- rebased to v5.13-rc3

PATCH V3 2021-08-08 07:10:50:
This series adds HDMI support for JZ4780 and CI20 board (and fixes one IPU related issue in registration error path)
- [patch 1/8] switched from mode_fixup to atomic_check (suggested by robert.foss@xxxxxxxxxx)
- the call to the dw-hdmi specialization is still called mode_fixup
- [patch 3/8] diverse fixes for ingenic-drm-drv (suggested by paul@xxxxxxxxxxxxxxx)
- factor out some non-HDMI features of the jz4780 into a separate patch
- multiple fixes around max height
- do not change regmap config but a copy on stack
- define some constants
- factor out fixing of drm_init error path for IPU into separate patch
- use FIELD_PREP()
- [patch 8/8] conversion to component framework dropped (suggested by Laurent.pinchart@xxxxxxxxxxxxxxxx and paul@xxxxxxxxxxxxxxx)

PATCH V2 2021-08-05 16:08:05:
- code and commit messages revisited for checkpatch warnings
- rebased on v5.14-rc4
- include (failed, hence RFC 8/8) attempt to convert to component framework
(was suggested by Paul Cercueil <paul@xxxxxxxxxxxxxxx> a while ago)

This series adds HDMI support for JZ4780 and CI20 board



H. Nikolaus Schaller (2):
drm/bridge: dw-hdmi: add YCBCR formats only if CSC is available
drm/bridge: display-connector: add ddc-en gpio support

Neil Armstrong (2):
drm/bridge: dw-hdmi: filter out YUV output formats when DVI
drm/bridge: dw-hdmi: handle unusable or non-configured CSC module

Paul Boddie (1):
drm/ingenic: Add dw-hdmi driver specialization for jz4780

Paul Cercueil (1):
drm/ingenic: Implement proper .atomic_get_input_bus_fmts

drivers/gpu/drm/bridge/display-connector.c | 15 +++
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 119 ++++++++++++++-------
drivers/gpu/drm/bridge/synopsys/dw-hdmi.h | 1 +
drivers/gpu/drm/ingenic/Kconfig | 9 ++
drivers/gpu/drm/ingenic/Makefile | 1 +
drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 28 ++++-
drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c | 104 ++++++++++++++++++
include/drm/bridge/dw_hdmi.h | 1 +
8 files changed, 238 insertions(+), 40 deletions(-)
create mode 100644 drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c

--
2.33.0