2023-05-29 14:51:53

by Guillaume Ranquet

[permalink] [raw]
Subject: [PATCH v4 0/8] Add MT8195 HDMI support

Add support for HDMI Tx on MT8195.

This includes a split of the current "legacy" hdmi driver into a common
library of functions and two dedicated compilation units with specific
code for mt8167 and another for the "v2" mt8195 SoC.

Support for the new mt8195 dpi/drm_drv adjustments to support hdmi.

Based on next-20230523

Still in my TODO-list for v5:

- Removal of the 'is_internal_hdmi' flag in mtk_dpi. [1]
I Couldn't find a way to get rid of it with the way things are done
in mtk_drm_drv/mtk_ddp_comp.
- Do not use a "virtual" device for the ddc v2 hw as it is embedded in
the hdmi IP. [2]
Seems that a lot of work is done by the framework when using a
proper device-tree entry that can be linked as the ddc-i2c-bus of
the hdmi-connector.
I will keep the virtual device unless I find a way to avoid
rewriting the framework code that handles this.

[1] : https://lore.kernel.org/all/[email protected]/
[2] : https://lore.kernel.org/all/[email protected]/

Signed-off-by: Guillaume Ranquet <[email protected]>
---

Changes in v4:
- Split phy related patches to another series (merged)
- Removed regmap wrappers in mtk_hdmi
- Removed colorimetry related changes as this initial version only
support one color depth
- Fixed dt-bindings properties
- Removed some now useless clocks from mtk_hdmi_v2 and mtk_dpi
- Link to v3: https://lore.kernel.org/r/[email protected]

Changes in v3:
- phy: Grouped register and bit definition together to add clarity
- dt-bindings: Addressed comments
- Link to v2: https://lore.kernel.org/r/[email protected]

Changes in v2:
- Removed syscon requirement from the hdmi node
- Use as much as possible bit FIELD_PREP/FIELD_GET macros across all the
patches
- Make cec optional dynamically instead of hardcoded with a flag
- Renamed hdmi variants to v1 (legacy) and v2 (mt8195) while waiting for
a better name
- Rework hdmi v2 code to use a connector (same as v1)
- Remove "magic" 0x43 addr special handling in hdmi ddc code
- Link to v1: https://lore.kernel.org/r/[email protected]

---
Guillaume Ranquet (8):
dt-bindings: display: mediatek: add MT8195 hdmi bindings
drm/mediatek: hdmi: use a regmap instead of iomem
drm/mediatek: extract common functions from the mtk hdmi driver
drm/mediatek: hdmi: make the cec dev optional
drm/mediatek: hdmi: add v2 support
drm/mediatek: hdmi: v2: add audio support
dt-bindings: display: mediatek: dpi: Add compatible for MediaTek MT8195
drm/mediatek: dpi: Add mt8195 hdmi to DPI driver

.../bindings/display/mediatek/mediatek,dpi.yaml | 1 +
.../bindings/display/mediatek/mediatek,hdmi.yaml | 59 +-
.../display/mediatek/mediatek,mt8195-hdmi-ddc.yaml | 45 +
drivers/gpu/drm/mediatek/Kconfig | 2 +
drivers/gpu/drm/mediatek/Makefile | 5 +-
drivers/gpu/drm/mediatek/mtk_dpi.c | 121 +-
drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 +
drivers/gpu/drm/mediatek/mtk_hdmi.c | 773 ++----------
drivers/gpu/drm/mediatek/mtk_hdmi.h | 18 +
drivers/gpu/drm/mediatek/mtk_hdmi_common.c | 437 +++++++
drivers/gpu/drm/mediatek/mtk_hdmi_common.h | 208 ++++
drivers/gpu/drm/mediatek/mtk_hdmi_ddc_v2.c | 362 ++++++
drivers/gpu/drm/mediatek/mtk_hdmi_regs_v2.h | 276 +++++
drivers/gpu/drm/mediatek/mtk_hdmi_v2.c | 1303 ++++++++++++++++++++
drivers/gpu/drm/mediatek/mtk_hdmi_v2.h | 32 +
15 files changed, 2955 insertions(+), 692 deletions(-)
---
base-commit: c8a64c6a78c54887da437098d97dc2accc689e89
change-id: 20220919-hdmi_mtk

Best regards,
--
Guillaume Ranquet <[email protected]>



Subject: Re: [PATCH v4 0/8] Add MT8195 HDMI support

Il 29/05/23 16:30, Guillaume Ranquet ha scritto:
> Add support for HDMI Tx on MT8195.
>
> This includes a split of the current "legacy" hdmi driver into a common
> library of functions and two dedicated compilation units with specific
> code for mt8167 and another for the "v2" mt8195 SoC.
>
> Support for the new mt8195 dpi/drm_drv adjustments to support hdmi.
>
> Based on next-20230523
>
> Still in my TODO-list for v5:

Hello,
sorry for bumping a year old topic; are you still interested in upstreaming this?

Cheers,
Angelo

>
> - Removal of the 'is_internal_hdmi' flag in mtk_dpi. [1]
> I Couldn't find a way to get rid of it with the way things are done
> in mtk_drm_drv/mtk_ddp_comp.
> - Do not use a "virtual" device for the ddc v2 hw as it is embedded in
> the hdmi IP. [2]
> Seems that a lot of work is done by the framework when using a
> proper device-tree entry that can be linked as the ddc-i2c-bus of
> the hdmi-connector.
> I will keep the virtual device unless I find a way to avoid
> rewriting the framework code that handles this.
>
> [1] : https://lore.kernel.org/all/[email protected]/
> [2] : https://lore.kernel.org/all/[email protected]/
>
> Signed-off-by: Guillaume Ranquet <[email protected]>
> ---
>
> Changes in v4:
> - Split phy related patches to another series (merged)
> - Removed regmap wrappers in mtk_hdmi
> - Removed colorimetry related changes as this initial version only
> support one color depth
> - Fixed dt-bindings properties
> - Removed some now useless clocks from mtk_hdmi_v2 and mtk_dpi
> - Link to v3: https://lore.kernel.org/r/[email protected]
>
> Changes in v3:
> - phy: Grouped register and bit definition together to add clarity
> - dt-bindings: Addressed comments
> - Link to v2: https://lore.kernel.org/r/[email protected]
>
> Changes in v2:
> - Removed syscon requirement from the hdmi node
> - Use as much as possible bit FIELD_PREP/FIELD_GET macros across all the
> patches
> - Make cec optional dynamically instead of hardcoded with a flag
> - Renamed hdmi variants to v1 (legacy) and v2 (mt8195) while waiting for
> a better name
> - Rework hdmi v2 code to use a connector (same as v1)
> - Remove "magic" 0x43 addr special handling in hdmi ddc code
> - Link to v1: https://lore.kernel.org/r/[email protected]
>
> ---
> Guillaume Ranquet (8):
> dt-bindings: display: mediatek: add MT8195 hdmi bindings
> drm/mediatek: hdmi: use a regmap instead of iomem
> drm/mediatek: extract common functions from the mtk hdmi driver
> drm/mediatek: hdmi: make the cec dev optional
> drm/mediatek: hdmi: add v2 support
> drm/mediatek: hdmi: v2: add audio support
> dt-bindings: display: mediatek: dpi: Add compatible for MediaTek MT8195
> drm/mediatek: dpi: Add mt8195 hdmi to DPI driver
>
> .../bindings/display/mediatek/mediatek,dpi.yaml | 1 +
> .../bindings/display/mediatek/mediatek,hdmi.yaml | 59 +-
> .../display/mediatek/mediatek,mt8195-hdmi-ddc.yaml | 45 +
> drivers/gpu/drm/mediatek/Kconfig | 2 +
> drivers/gpu/drm/mediatek/Makefile | 5 +-
> drivers/gpu/drm/mediatek/mtk_dpi.c | 121 +-
> drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 +
> drivers/gpu/drm/mediatek/mtk_hdmi.c | 773 ++----------
> drivers/gpu/drm/mediatek/mtk_hdmi.h | 18 +
> drivers/gpu/drm/mediatek/mtk_hdmi_common.c | 437 +++++++
> drivers/gpu/drm/mediatek/mtk_hdmi_common.h | 208 ++++
> drivers/gpu/drm/mediatek/mtk_hdmi_ddc_v2.c | 362 ++++++
> drivers/gpu/drm/mediatek/mtk_hdmi_regs_v2.h | 276 +++++
> drivers/gpu/drm/mediatek/mtk_hdmi_v2.c | 1303 ++++++++++++++++++++
> drivers/gpu/drm/mediatek/mtk_hdmi_v2.h | 32 +
> 15 files changed, 2955 insertions(+), 692 deletions(-)
> ---
> base-commit: c8a64c6a78c54887da437098d97dc2accc689e89
> change-id: 20220919-hdmi_mtk
>
> Best regards,