[Freedreno] [PATCH 5/5] drm/msm/mdp5: drop split display support
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Mon Oct 9 20:57:27 UTC 2023
The MSM DSI driver has dropped support for calling
mdp_kms_funcs::set_split_display() callback. Drop corresponding callback
from the mdp5 driver together with the rest of the infrastructure.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
---
.../gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c | 42 -------------------
drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c | 42 -------------------
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 14 -------
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h | 9 ----
drivers/gpu/drm/msm/msm_kms.h | 4 --
5 files changed, 111 deletions(-)
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c
index a640af22eafc..e5662412db9b 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c
@@ -158,46 +158,4 @@ void mdp5_cmd_encoder_enable(struct drm_encoder *encoder)
mdp5_cmd_enc->enabled = true;
}
-
-int mdp5_cmd_encoder_set_split_display(struct drm_encoder *encoder,
- struct drm_encoder *slave_encoder)
-{
- struct mdp5_encoder *mdp5_cmd_enc = to_mdp5_encoder(encoder);
- struct mdp5_kms *mdp5_kms;
- struct device *dev;
- int intf_num;
- u32 data = 0;
-
- if (!encoder || !slave_encoder)
- return -EINVAL;
-
- mdp5_kms = get_kms(encoder);
- intf_num = mdp5_cmd_enc->intf->num;
-
- /* Switch slave encoder's trigger MUX, to use the master's
- * start signal for the slave encoder
- */
- if (intf_num == 1)
- data |= MDP5_SPLIT_DPL_UPPER_INTF2_SW_TRG_MUX;
- else if (intf_num == 2)
- data |= MDP5_SPLIT_DPL_UPPER_INTF1_SW_TRG_MUX;
- else
- return -EINVAL;
-
- /* Smart Panel, Sync mode */
- data |= MDP5_SPLIT_DPL_UPPER_SMART_PANEL;
-
- dev = &mdp5_kms->pdev->dev;
-
- /* Make sure clocks are on when connectors calling this function. */
- pm_runtime_get_sync(dev);
- mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_UPPER, data);
-
- mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_LOWER,
- MDP5_SPLIT_DPL_LOWER_SMART_PANEL);
- mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_EN, 1);
- pm_runtime_put_sync(dev);
-
- return 0;
-}
#endif /* CONFIG_DRM_MSM_DSI */
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c
index 79d67c495780..7c2092ca4040 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c
@@ -274,48 +274,6 @@ u32 mdp5_encoder_get_framecount(struct drm_encoder *encoder)
return mdp5_read(mdp5_kms, REG_MDP5_INTF_FRAME_COUNT(intf));
}
-int mdp5_vid_encoder_set_split_display(struct drm_encoder *encoder,
- struct drm_encoder *slave_encoder)
-{
- struct mdp5_encoder *mdp5_encoder = to_mdp5_encoder(encoder);
- struct mdp5_encoder *mdp5_slave_enc = to_mdp5_encoder(slave_encoder);
- struct mdp5_kms *mdp5_kms;
- struct device *dev;
- int intf_num;
- u32 data = 0;
-
- if (!encoder || !slave_encoder)
- return -EINVAL;
-
- mdp5_kms = get_kms(encoder);
- intf_num = mdp5_encoder->intf->num;
-
- /* Switch slave encoder's TimingGen Sync mode,
- * to use the master's enable signal for the slave encoder.
- */
- if (intf_num == 1)
- data |= MDP5_SPLIT_DPL_LOWER_INTF2_TG_SYNC;
- else if (intf_num == 2)
- data |= MDP5_SPLIT_DPL_LOWER_INTF1_TG_SYNC;
- else
- return -EINVAL;
-
- dev = &mdp5_kms->pdev->dev;
- /* Make sure clocks are on when connectors calling this function. */
- pm_runtime_get_sync(dev);
-
- /* Dumb Panel, Sync mode */
- mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_UPPER, 0);
- mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_LOWER, data);
- mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_EN, 1);
-
- mdp5_ctl_pair(mdp5_encoder->ctl, mdp5_slave_enc->ctl, true);
-
- pm_runtime_put_sync(dev);
-
- return 0;
-}
-
void mdp5_encoder_set_intf_mode(struct drm_encoder *encoder, bool cmd_mode)
{
struct mdp5_encoder *mdp5_encoder = to_mdp5_encoder(encoder);
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
index 11d9fc2c6bf5..22f2d2ec4a9c 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
@@ -190,19 +190,6 @@ static void mdp5_complete_commit(struct msm_kms *kms, unsigned crtc_mask)
mdp5_smp_complete_commit(mdp5_kms->smp, &global_state->smp);
}
-static int mdp5_set_split_display(struct msm_kms *kms,
- struct drm_encoder *encoder,
- struct drm_encoder *slave_encoder,
- bool is_cmd_mode)
-{
- if (is_cmd_mode)
- return mdp5_cmd_encoder_set_split_display(encoder,
- slave_encoder);
- else
- return mdp5_vid_encoder_set_split_display(encoder,
- slave_encoder);
-}
-
static void mdp5_destroy(struct mdp5_kms *mdp5_kms);
static void mdp5_kms_destroy(struct msm_kms *kms)
@@ -275,7 +262,6 @@ static const struct mdp_kms_funcs kms_funcs = {
.wait_flush = mdp5_wait_flush,
.complete_commit = mdp5_complete_commit,
.get_format = mdp_get_format,
- .set_split_display = mdp5_set_split_display,
.destroy = mdp5_kms_destroy,
#ifdef CONFIG_DEBUG_FS
.debugfs_init = mdp5_kms_debugfs_init,
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h
index 29bf11f08601..ee68e9913f8c 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h
@@ -291,8 +291,6 @@ struct drm_crtc *mdp5_crtc_init(struct drm_device *dev,
struct drm_encoder *mdp5_encoder_init(struct drm_device *dev,
struct mdp5_interface *intf, struct mdp5_ctl *ctl);
-int mdp5_vid_encoder_set_split_display(struct drm_encoder *encoder,
- struct drm_encoder *slave_encoder);
void mdp5_encoder_set_intf_mode(struct drm_encoder *encoder, bool cmd_mode);
int mdp5_encoder_get_linecount(struct drm_encoder *encoder);
u32 mdp5_encoder_get_framecount(struct drm_encoder *encoder);
@@ -303,8 +301,6 @@ void mdp5_cmd_encoder_mode_set(struct drm_encoder *encoder,
struct drm_display_mode *adjusted_mode);
void mdp5_cmd_encoder_disable(struct drm_encoder *encoder);
void mdp5_cmd_encoder_enable(struct drm_encoder *encoder);
-int mdp5_cmd_encoder_set_split_display(struct drm_encoder *encoder,
- struct drm_encoder *slave_encoder);
#else
static inline void mdp5_cmd_encoder_mode_set(struct drm_encoder *encoder,
struct drm_display_mode *mode,
@@ -317,11 +313,6 @@ static inline void mdp5_cmd_encoder_disable(struct drm_encoder *encoder)
static inline void mdp5_cmd_encoder_enable(struct drm_encoder *encoder)
{
}
-static inline int mdp5_cmd_encoder_set_split_display(
- struct drm_encoder *encoder, struct drm_encoder *slave_encoder)
-{
- return -EINVAL;
-}
#endif
#endif /* __MDP5_KMS_H__ */
diff --git a/drivers/gpu/drm/msm/msm_kms.h b/drivers/gpu/drm/msm/msm_kms.h
index 44aa435d68ce..0641f6111b93 100644
--- a/drivers/gpu/drm/msm/msm_kms.h
+++ b/drivers/gpu/drm/msm/msm_kms.h
@@ -105,10 +105,6 @@ struct msm_kms_funcs {
/* misc: */
long (*round_pixclk)(struct msm_kms *kms, unsigned long rate,
struct drm_encoder *encoder);
- int (*set_split_display)(struct msm_kms *kms,
- struct drm_encoder *encoder,
- struct drm_encoder *slave_encoder,
- bool is_cmd_mode);
/* cleanup: */
void (*destroy)(struct msm_kms *kms);
--
2.39.2
More information about the Freedreno
mailing list