disp: msm: fix rscc branch offset for lito
Branch address offset for TCS sleep/wake has changed for lito, add changes to support it. Change-Id: Id938c4c85df17f6709b9533ff737cf5a0186bc09 Signed-off-by: Animesh Kishore <animeshk@codeaurora.org>
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
#include <linux/sde_rsc.h>
|
||||
|
||||
/* display rsc offset */
|
||||
#define SDE_RSCC_RSC_ID_DRV0 0x0
|
||||
#define SDE_RSCC_PDC_SEQ_START_ADDR_REG_OFFSET_DRV0 0x020
|
||||
#define SDE_RSCC_PDC_MATCH_VALUE_LO_REG_OFFSET_DRV0 0x024
|
||||
#define SDE_RSCC_PDC_MATCH_VALUE_HI_REG_OFFSET_DRV0 0x028
|
||||
|
@@ -84,6 +84,7 @@ static int _rsc_hw_seq_memory_init_v3(struct sde_rsc_priv *rsc)
|
||||
const u32 mode_0_start_addr = 0x0;
|
||||
const u32 mode_1_start_addr = 0xc;
|
||||
const u32 mode_2_start_addr = 0x18;
|
||||
u32 br_offset = 0;
|
||||
|
||||
pr_debug("rsc sequencer memory init v2\n");
|
||||
|
||||
@@ -130,9 +131,12 @@ static int _rsc_hw_seq_memory_init_v3(struct sde_rsc_priv *rsc)
|
||||
0x00209ce7, rsc->debug_mode);
|
||||
|
||||
/* branch address */
|
||||
dss_reg_w(&rsc->drv_io, SDE_RSCC_SEQ_CFG_BR_ADDR_0_DRV0,
|
||||
if (rsc->hw_drv_ver >= SDE_RSC_HW_MAJOR_MINOR_STEP(2,0,5))
|
||||
br_offset = 0xf0;
|
||||
|
||||
dss_reg_w(&rsc->drv_io, SDE_RSCC_SEQ_CFG_BR_ADDR_0_DRV0 + br_offset,
|
||||
0x34, rsc->debug_mode);
|
||||
dss_reg_w(&rsc->drv_io, SDE_RSCC_SEQ_CFG_BR_ADDR_1_DRV0,
|
||||
dss_reg_w(&rsc->drv_io, SDE_RSCC_SEQ_CFG_BR_ADDR_1_DRV0 + br_offset,
|
||||
0x3c, rsc->debug_mode);
|
||||
|
||||
/* start address */
|
||||
@@ -477,6 +481,9 @@ int rsc_hw_init_v3(struct sde_rsc_priv *rsc)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
rsc->hw_drv_ver = dss_reg_r(&rsc->drv_io,
|
||||
SDE_RSCC_RSC_ID_DRV0, rsc->debug_mode);
|
||||
|
||||
rc = _rsc_hw_qtimer_init(rsc);
|
||||
if (rc) {
|
||||
pr_err("rsc hw qtimer init failed\n");
|
||||
|
@@ -28,6 +28,11 @@
|
||||
#define SDE_RSC_REV_2 0x2
|
||||
#define SDE_RSC_REV_3 0x3
|
||||
|
||||
#define SDE_RSC_HW_MAJOR_MINOR_STEP(major, minor, step) \
|
||||
(((major & 0xff) << 16) |\
|
||||
((minor & 0xff) << 8) | \
|
||||
(step & 0xff))
|
||||
|
||||
struct sde_rsc_priv;
|
||||
|
||||
/**
|
||||
@@ -140,6 +145,7 @@ struct sde_rsc_bw_config {
|
||||
/**
|
||||
* struct sde_rsc_priv: sde resource state coordinator(rsc) private handle
|
||||
* @version: rsc sequence version
|
||||
* @hw_drv_ver: rscc hw version
|
||||
* @phandle: module power handle for clocks
|
||||
* @fs: "MDSS GDSC" handle
|
||||
* @sw_fs_enabled: track "MDSS GDSC" sw vote during probe
|
||||
@@ -182,6 +188,7 @@ struct sde_rsc_bw_config {
|
||||
*/
|
||||
struct sde_rsc_priv {
|
||||
u32 version;
|
||||
u32 hw_drv_ver;
|
||||
struct sde_power_handle phandle;
|
||||
struct regulator *fs;
|
||||
bool sw_fs_enabled;
|
||||
|
Reference in New Issue
Block a user