From: Sankeerth Billakanti <sbillaka@codeaurora.org>
To: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: Sankeerth Billakanti <sbillaka@codeaurora.org>,
robdclark@gmail.com, seanpaul@chromium.org, swboyd@chromium.org,
kalyan_t@codeaurora.org, abhinavk@codeaurora.org,
dianders@chromium.org, khsieh@codeaurora.org,
mkrishn@codeaurora.org
Subject: [PATCH v1 3/3] drm/msm/disp/dpu1: add support for edp encoder
Date: Wed, 5 May 2021 13:46:19 +0530 [thread overview]
Message-ID: <1620202579-19066-4-git-send-email-sbillaka@codeaurora.org> (raw)
In-Reply-To: <1620202579-19066-1-git-send-email-sbillaka@codeaurora.org>
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
WARNING: multiple messages have this Message-ID (diff)
From: Sankeerth Billakanti <sbillaka@codeaurora.org>
To: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: mkrishn@codeaurora.org, dianders@chromium.org,
abhinavk@codeaurora.org, swboyd@chromium.org,
khsieh@codeaurora.org, seanpaul@chromium.org,
kalyan_t@codeaurora.org,
Sankeerth Billakanti <sbillaka@codeaurora.org>
Subject: [PATCH v1 3/3] drm/msm/disp/dpu1: add support for edp encoder
Date: Wed, 5 May 2021 13:46:19 +0530 [thread overview]
Message-ID: <1620202579-19066-4-git-send-email-sbillaka@codeaurora.org> (raw)
In-Reply-To: <1620202579-19066-1-git-send-email-sbillaka@codeaurora.org>
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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2021-05-05 8:17 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-05 8:16 [PATCH v1 0/3] Add support for next gen eDP driver on SnapDragon Sankeerth Billakanti
2021-05-05 8:16 ` Sankeerth Billakanti
2021-05-05 8:16 ` [PATCH v1 1/3] drm/msm/edp: support multiple generations of edp hardware Sankeerth Billakanti
2021-05-05 8:16 ` Sankeerth Billakanti
2021-05-05 8:16 ` [PATCH v1 2/3] drm/msm/edp: add support for next gen edp Sankeerth Billakanti
2021-05-05 8:16 ` Sankeerth Billakanti
2021-05-05 9:49 ` kernel test robot
2021-05-05 9:49 ` kernel test robot
2021-05-05 9:49 ` kernel test robot
2021-05-06 1:50 ` kernel test robot
2021-05-06 1:50 ` kernel test robot
2021-05-06 1:50 ` kernel test robot
2021-05-05 8:16 ` Sankeerth Billakanti [this message]
2021-05-05 8:16 ` [PATCH v1 3/3] drm/msm/disp/dpu1: add support for edp encoder Sankeerth Billakanti
2021-05-05 10:01 ` [PATCH v1 0/3] Add support for next gen eDP driver on SnapDragon Dmitry Baryshkov
2021-05-05 10:01 ` Dmitry Baryshkov
2021-05-06 6:47 ` sbillaka
2021-05-06 6:47 ` sbillaka
2021-05-06 12:14 ` Dmitry Baryshkov
2021-05-06 12:14 ` Dmitry Baryshkov
2021-05-06 15:02 ` Rob Clark
2021-05-06 15:02 ` Rob Clark
2021-05-10 12:16 ` sbillaka
2021-05-10 12:16 ` sbillaka
2021-05-11 4:55 ` Bjorn Andersson
2021-05-11 4:55 ` Bjorn Andersson
-- strict thread matches above, loose matches on Subject: below --
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
2021-05-06 6:46 ` Sankeerth Billakanti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1620202579-19066-4-git-send-email-sbillaka@codeaurora.org \
--to=sbillaka@codeaurora.org \
--cc=abhinavk@codeaurora.org \
--cc=dianders@chromium.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=kalyan_t@codeaurora.org \
--cc=khsieh@codeaurora.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mkrishn@codeaurora.org \
--cc=robdclark@gmail.com \
--cc=seanpaul@chromium.org \
--cc=swboyd@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.