disp: msm: rotator: migrated the new BUS driver for rotator on lahaina

Migrate to icb framework API in drm and rotator driver. The change also
removes msm_bus custom API usage from both drivers.

Change-Id: I15de82986204a12e4cc124f51793328c3d403256
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
This commit is contained in:
Yuan Zhao
2019-09-09 16:52:20 +08:00
committed by Gerrit - the friendly Code Review server
parent cc564849ae
commit f3553ab628
7 changed files with 204 additions and 269 deletions

View File

@@ -13,6 +13,7 @@
#include <linux/regulator/consumer.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/interconnect.h>
#include "sde_rotator_hwio.h"
#include "sde_rotator_io_util.h"
@@ -90,9 +91,9 @@ struct sde_mdp_vbif_halt_params {
enum sde_bus_vote_type {
VOTE_INDEX_DISABLE,
VOTE_INDEX_19_MHZ,
VOTE_INDEX_40_MHZ,
VOTE_INDEX_80_MHZ,
VOTE_INDEX_76_MHZ,
VOTE_INDEX_150_MHZ,
VOTE_INDEX_300_MHZ,
VOTE_INDEX_MAX,
};
@@ -192,6 +193,16 @@ struct sde_smmu_client {
u32 sid;
};
/*
* struct sde_rot_bus_data: struct for bus setting
* @ab: average bandwidth in kilobytes per second
* @ib: peak bandwidth in kilobytes per second
*/
struct sde_rot_bus_data {
uint64_t ab; /* Arbitrated bandwidth */
uint64_t ib; /* Instantaneous bandwidth */
};
/*
* struct sde_rot_debug_bus: rotator debugbus header structure
* @wr_addr: write address for debugbus controller
@@ -251,7 +262,7 @@ struct sde_rot_data_type {
u32 rot_block_size;
/* register bus (AHB) */
u32 reg_bus_hdl;
struct icc_path *reg_bus_hdl;
u32 reg_bus_usecase_ndx;
struct list_head reg_bus_clist;
struct mutex reg_bus_lock;
@@ -320,6 +331,7 @@ void vbif_unlock(struct platform_device *parent_pdev);
void sde_mdp_halt_vbif_xin(struct sde_mdp_vbif_halt_params *params);
int sde_mdp_init_vbif(void);
const struct sde_rot_bus_data *sde_get_rot_reg_bus_value(u32 usecase_ndx);
#define SDE_VBIF_WRITE(mdata, offset, value) \
(sde_reg_w(&mdata->vbif_nrt_io, offset, value, 0))