disp: msm: sde: add support for SSPP VBIF clock split
Add support for localized CLK_CTRL access through SSPP hardware block. Change-Id: I86345c94cb12c5584337aa45b562bceaab6cf8e6 Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
This commit is contained in:
@@ -4738,6 +4738,7 @@ struct drm_plane *sde_plane_init(struct drm_device *dev,
|
||||
struct msm_drm_private *priv;
|
||||
struct sde_kms *kms;
|
||||
enum drm_plane_type type;
|
||||
struct sde_vbif_clk_client clk_client;
|
||||
int ret = -EINVAL;
|
||||
|
||||
if (!dev) {
|
||||
@@ -4783,8 +4784,8 @@ struct drm_plane *sde_plane_init(struct drm_device *dev,
|
||||
}
|
||||
|
||||
/* initialize underlying h/w driver */
|
||||
psde->pipe_hw = sde_hw_sspp_init(pipe, kms->mmio, kms->catalog,
|
||||
psde->is_virtual);
|
||||
psde->pipe_hw = sde_hw_sspp_init(pipe, kms->mmio, kms->catalog, psde->is_virtual,
|
||||
&clk_client);
|
||||
if (IS_ERR(psde->pipe_hw)) {
|
||||
SDE_ERROR("[%u]SSPP init failed\n", pipe);
|
||||
ret = PTR_ERR(psde->pipe_hw);
|
||||
@@ -4794,6 +4795,15 @@ struct drm_plane *sde_plane_init(struct drm_device *dev,
|
||||
goto clean_sspp;
|
||||
}
|
||||
|
||||
if (test_bit(SDE_FEATURE_VBIF_CLK_SPLIT, kms->catalog->features)) {
|
||||
ret = sde_vbif_clk_register(kms, &clk_client);
|
||||
if (ret) {
|
||||
SDE_ERROR("failed to register vbif client %d\n",
|
||||
clk_client.clk_ctrl);
|
||||
goto clean_sspp;
|
||||
}
|
||||
}
|
||||
|
||||
/* cache features mask for later */
|
||||
psde->features = psde->pipe_hw->cap->features_ext;
|
||||
psde->perf_features = psde->pipe_hw->cap->perf_features;
|
||||
|
Reference in New Issue
Block a user