* [PATCH v1 0/3] Add support for next gen eDP driver on sc7280 @ 2021-05-06 6:46 Sankeerth Billakanti 2021-05-06 6:46 ` [PATCH v1 3/3] drm/msm/disp/dpu1: add support for edp encoder Sankeerth Billakanti 0 siblings, 1 reply; 2+ messages in thread From: Sankeerth Billakanti @ 2021-05-06 6:46 UTC (permalink / raw) To: dri-devel, linux-arm-msm, freedreno, linux-kernel Cc: Sankeerth Billakanti, robdclark, seanpaul, swboyd, kalyan_t, abhinavk, dianders, khsieh, mkrishn These patches add support for the next generation eDP driver on SnapDragon with dpu support. The existing eDP driver cannot support the new eDP hardware. So, to maintain backward compatibility, the older eDP driver is moved to v200 folder and the new generation eDP driver is added in the v510 folder. These are baseline changes with which we can enable display. The new eDP controller can also support additional features such as backlight control, PSR etc. which will be enabled in subsequent patch series. Summary of changes: DPU driver interface to the new eDP v510 display driver. New generation eDP controller and phy driver implementation. A common interface to choose enable the required eDP driver. Sankeerth Billakanti (3): drm/msm/edp: support multiple generations of edp hardware drm/msm/edp: add support for next gen edp drm/msm/disp/dpu1: add support for edp encoder drivers/gpu/drm/msm/Makefile | 19 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 7 +- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 33 + drivers/gpu/drm/msm/edp/edp.c | 198 --- drivers/gpu/drm/msm/edp/edp.h | 78 - drivers/gpu/drm/msm/edp/edp.xml.h | 380 ----- drivers/gpu/drm/msm/edp/edp_aux.c | 264 ---- drivers/gpu/drm/msm/edp/edp_bridge.c | 111 -- drivers/gpu/drm/msm/edp/edp_common.c | 38 + drivers/gpu/drm/msm/edp/edp_common.h | 47 + drivers/gpu/drm/msm/edp/edp_connector.c | 132 -- drivers/gpu/drm/msm/edp/edp_ctrl.c | 1375 ------------------ drivers/gpu/drm/msm/edp/edp_phy.c | 98 -- drivers/gpu/drm/msm/edp/v200/edp.xml.h | 380 +++++ drivers/gpu/drm/msm/edp/v200/edp_v200.c | 210 +++ drivers/gpu/drm/msm/edp/v200/edp_v200.h | 70 + drivers/gpu/drm/msm/edp/v200/edp_v200_aux.c | 264 ++++ drivers/gpu/drm/msm/edp/v200/edp_v200_bridge.c | 111 ++ drivers/gpu/drm/msm/edp/v200/edp_v200_connector.c | 132 ++ drivers/gpu/drm/msm/edp/v200/edp_v200_ctrl.c | 1375 ++++++++++++++++++ drivers/gpu/drm/msm/edp/v200/edp_v200_phy.c | 98 ++ drivers/gpu/drm/msm/edp/v510/edp_v510.c | 220 +++ drivers/gpu/drm/msm/edp/v510/edp_v510.h | 151 ++ drivers/gpu/drm/msm/edp/v510/edp_v510_aux.c | 268 ++++ drivers/gpu/drm/msm/edp/v510/edp_v510_bridge.c | 111 ++ drivers/gpu/drm/msm/edp/v510/edp_v510_connector.c | 117 ++ drivers/gpu/drm/msm/edp/v510/edp_v510_ctrl.c | 1583 +++++++++++++++++++++ drivers/gpu/drm/msm/edp/v510/edp_v510_phy.c | 641 +++++++++ drivers/gpu/drm/msm/edp/v510/edp_v510_reg.h | 339 +++++ 29 files changed, 6207 insertions(+), 2643 deletions(-) delete mode 100644 drivers/gpu/drm/msm/edp/edp.c delete mode 100644 drivers/gpu/drm/msm/edp/edp.h delete mode 100644 drivers/gpu/drm/msm/edp/edp.xml.h delete mode 100644 drivers/gpu/drm/msm/edp/edp_aux.c delete mode 100644 drivers/gpu/drm/msm/edp/edp_bridge.c create mode 100644 drivers/gpu/drm/msm/edp/edp_common.c create mode 100644 drivers/gpu/drm/msm/edp/edp_common.h delete mode 100644 drivers/gpu/drm/msm/edp/edp_connector.c delete mode 100644 drivers/gpu/drm/msm/edp/edp_ctrl.c delete mode 100644 drivers/gpu/drm/msm/edp/edp_phy.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp.xml.h create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200.h create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200_aux.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200_bridge.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200_connector.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200_ctrl.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200_phy.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510.h create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_aux.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_bridge.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_connector.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_ctrl.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_phy.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_reg.h -- The Qualcomm Innovatin Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH v1 3/3] drm/msm/disp/dpu1: add support for edp encoder 2021-05-06 6:46 [PATCH v1 0/3] Add support for next gen eDP driver on sc7280 Sankeerth Billakanti @ 2021-05-06 6:46 ` Sankeerth Billakanti 0 siblings, 0 replies; 2+ messages in thread From: Sankeerth Billakanti @ 2021-05-06 6:46 UTC (permalink / raw) To: dri-devel, linux-arm-msm, freedreno, linux-kernel Cc: Sankeerth Billakanti, robdclark, seanpaul, swboyd, kalyan_t, abhinavk, dianders, khsieh, mkrishn This change will enable dpu encoder support for the native eDP interface on next generation snapdragon platforms. Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org> --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 7 +++++- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 33 +++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c index 8d94205..9f5185bb 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c @@ -2075,7 +2075,12 @@ static int dpu_encoder_setup_display(struct dpu_encoder_virt *dpu_enc, intf_type = INTF_DSI; break; case DRM_MODE_ENCODER_TMDS: - intf_type = INTF_DP; + if (disp_info->capabilities & MSM_DISPLAY_CAP_CMD_MODE) { + intf_type = INTF_EDP; + /* PSR CMD mode not supported */ + disp_info->capabilities = MSM_DISPLAY_CAP_VID_MODE; + } else + intf_type = INTF_DP; break; } diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c index 88e9cc3..ecd7dc8 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -499,6 +499,33 @@ static int _dpu_kms_initialize_dsi(struct drm_device *dev, return rc; } +static int _dpu_kms_initialize_edp(struct drm_device *dev, + struct msm_drm_private *priv, + struct dpu_kms *dpu_kms) +{ + struct drm_encoder *encoder = NULL; + int rc = 0; + + if (!priv->edp) + return rc; + + encoder = dpu_encoder_init(dev, DRM_MODE_ENCODER_TMDS); + if (IS_ERR(encoder)) { + DPU_ERROR("encoder init failed for eDP display\n"); + return PTR_ERR(encoder); + } + + rc = msm_edp_modeset_init(priv->edp, dev, encoder); + if (rc) { + DPU_ERROR("modeset_init failed for eDP, rc = %d\n", rc); + drm_encoder_cleanup(encoder); + return rc; + } + + priv->encoders[priv->num_encoders++] = encoder; + return rc; +} + static int _dpu_kms_initialize_displayport(struct drm_device *dev, struct msm_drm_private *priv, struct dpu_kms *dpu_kms) @@ -546,6 +573,12 @@ static int _dpu_kms_setup_displays(struct drm_device *dev, return rc; } + rc = _dpu_kms_initialize_edp(dev, priv, dpu_kms); + if (rc) { + DPU_ERROR("initialize_eDP failed, rc = %d\n", rc); + return rc; + } + rc = _dpu_kms_initialize_displayport(dev, priv, dpu_kms); if (rc) { DPU_ERROR("initialize_DP failed, rc = %d\n", rc); -- The Qualcomm Innovatin Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-05-06 6:47 UTC | newest] Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-05-06 6:46 [PATCH v1 0/3] Add support for next gen eDP driver on sc7280 Sankeerth Billakanti 2021-05-06 6:46 ` [PATCH v1 3/3] drm/msm/disp/dpu1: add support for edp encoder Sankeerth Billakanti
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).