disp: msm: sde: add support for WB VBIF clock split

Add support for localized CLK_CTRL access through WB
hardware block.

Change-Id: I408d1bbc798902d1abc7da5bcae9492baa3159c8
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
このコミットが含まれているのは:
Amine Najahi
2021-08-12 11:45:38 -04:00
コミット c8a4cdc761
4個のファイルの変更92行の追加25行の削除

ファイルの表示

@@ -19,6 +19,7 @@
#include "sde_hw_vdc.h"
#include "sde_crtc.h"
#include "sde_hw_qdss.h"
#include "sde_vbif.h"
#define RESERVED_BY_OTHER(h, r) \
(((h)->rsvp && ((h)->rsvp->enc_id != (r)->enc_id)) ||\
@@ -597,9 +598,12 @@ static int _sde_rm_hw_blk_create(
uint32_t id,
void *hw_catalog_info)
{
int rc;
struct sde_rm_hw_blk *blk;
struct sde_hw_mdp *hw_mdp;
struct sde_hw_blk_reg_map *hw;
struct sde_kms *sde_kms = to_sde_kms(ddev_to_msm_kms(rm->dev));
struct sde_vbif_clk_client clk_client;
hw_mdp = rm->hw_mdp;
@@ -626,7 +630,7 @@ static int _sde_rm_hw_blk_create(
hw = sde_hw_intf_init(id, mmio, cat);
break;
case SDE_HW_BLK_WB:
hw = sde_hw_wb_init(id, mmio, cat, hw_mdp);
hw = sde_hw_wb_init(id, mmio, cat, hw_mdp, &clk_client);
break;
case SDE_HW_BLK_DSC:
hw = sde_hw_dsc_init(id, mmio, cat);
@@ -666,6 +670,15 @@ static int _sde_rm_hw_blk_create(
_sde_rm_inc_resource_info(rm, &rm->avail_res, blk);
if (test_bit(SDE_FEATURE_VBIF_CLK_SPLIT, sde_kms->catalog->features) &&
SDE_CLK_CTRL_VALID(clk_client.clk_ctrl)) {
rc = sde_vbif_clk_register(sde_kms, &clk_client);
if (rc) {
SDE_ERROR("failed to register vbif client %d\n", clk_client.clk_ctrl);
return -EFAULT;
}
}
return 0;
}