[PATCH v3 6/6] drm/mediatek: Add mt8195 DisplayPort driver

Chun-Kuang Hu chunkuang.hu at kernel.org
Fri Oct 1 09:16:26 PDT 2021


Hi, Markus:

Markus Schneider-Pargmann <msp at baylibre.com> 於 2021年10月1日 週五 下午5:44寫道:
>
> This patch adds a DisplayPort driver for the Mediatek mt8195 SoC and a
> according phy driver mediatek-dp-phy.
>
> It supports both functional units on the mt8195, the embedded
> DisplayPort as well as the external DisplayPort units. It offers
> hot-plug-detection, audio up to 8 channels, and DisplayPort 1.4 with up
> to 4 lanes.
>
> The driver creates a child device for the phy. The child device will
> never exist without the parent being active. As they are sharing a
> register range, the parent passes a regmap pointer to the child so that
> both can work with the same register range. The phy driver sets device
> data that is read by the parent to get the phy device that can be used
> to control the phy properties.
>
> This driver is based on an initial version by
> Jason-JH.Lin <jason-jh.lin at mediatek.com>.
>
> Signed-off-by: Markus Schneider-Pargmann <msp at baylibre.com>
> ---
>
> Notes:
>     Changes v2 -> v3:
>     - Solve TODOs and add defines for undescribed registers
>     - Remove TODOs that were irrelevant
>
>     Changes v1 -> v2:
>     - Fix checkpatch --strict suggestions
>     - General cleanups of the code.
>     - Remove all remaining non-atomic functions.
>     - Remove unused includes and sort them.
>     - Remove unused select GENERIC_PHY
>     - Rename phy registers DP_PHY -> MTK_DP_PHY
>     - Replace usage of delays with usleep_range.
>     - Split the phy register accesses into a separate phy driver.
>     - Use a lock to guard access to mtk_dp->edid as it can be allocated/used/freed
>       in different threads
>     - use struct dp_sdp for sdp packets.
>
>     Changes RFC -> v1:
>     - Removed unused register definitions.
>     - Replaced workqueue with threaded irq.
>     - Removed connector code.
>     - Move to atomic_* drm functions.
>     - General cleanups of the code.
>     - Remove unused select GENERIC_PHY.
>
>  drivers/gpu/drm/mediatek/Kconfig       |    7 +
>  drivers/gpu/drm/mediatek/Makefile      |    2 +
>  drivers/gpu/drm/mediatek/mtk_dp.c      | 2825 ++++++++++++++++++++++++
>  drivers/gpu/drm/mediatek/mtk_dp_reg.h  |  535 +++++
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c |    1 +
>  drivers/gpu/drm/mediatek/mtk_drm_drv.h |    1 +
>  drivers/phy/mediatek/Kconfig           |    8 +
>  drivers/phy/mediatek/Makefile          |    1 +
>  drivers/phy/mediatek/phy-mtk-dp.c      |  218 ++

Separate the phy driver to another patch because phy driver would go
into different maintainer's tree.

Regards,
Chun-Kuang.

>  include/linux/soc/mediatek/mtk-mmsys.h |    2 +
>  10 files changed, 3600 insertions(+)
>  create mode 100644 drivers/gpu/drm/mediatek/mtk_dp.c
>  create mode 100644 drivers/gpu/drm/mediatek/mtk_dp_reg.h
>  create mode 100644 drivers/phy/mediatek/phy-mtk-dp.c
>



More information about the linux-arm-kernel mailing list