msm: gsi: gsi 2.9 upgrade
Driver upgrade for GSI v2.9. Change-Id: I5d148ead27499e6571196bc320c60da1e727163d Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
76a1edce0e
commit
54f5b081c1
@@ -867,6 +867,13 @@ static uint32_t gsi_get_max_channels(enum gsi_ver ver)
|
|||||||
GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_NUM_CH_PER_EE_BMSK) >>
|
GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_NUM_CH_PER_EE_BMSK) >>
|
||||||
GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_NUM_CH_PER_EE_SHFT;
|
GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_NUM_CH_PER_EE_SHFT;
|
||||||
break;
|
break;
|
||||||
|
case GSI_VER_2_9:
|
||||||
|
reg = gsi_readl(gsi_ctx->base +
|
||||||
|
GSI_V2_9_EE_n_GSI_HW_PARAM_2_OFFS(gsi_ctx->per.ee));
|
||||||
|
reg = (reg &
|
||||||
|
GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_NUM_CH_PER_EE_BMSK) >>
|
||||||
|
GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_NUM_CH_PER_EE_SHFT;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
GSIDBG("max channels %d\n", reg);
|
GSIDBG("max channels %d\n", reg);
|
||||||
@@ -931,6 +938,13 @@ static uint32_t gsi_get_max_event_rings(enum gsi_ver ver)
|
|||||||
GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_NUM_EV_PER_EE_BMSK) >>
|
GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_NUM_EV_PER_EE_BMSK) >>
|
||||||
GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_NUM_EV_PER_EE_SHFT;
|
GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_NUM_EV_PER_EE_SHFT;
|
||||||
break;
|
break;
|
||||||
|
case GSI_VER_2_9:
|
||||||
|
reg = gsi_readl(gsi_ctx->base +
|
||||||
|
GSI_V2_9_EE_n_GSI_HW_PARAM_2_OFFS(gsi_ctx->per.ee));
|
||||||
|
reg = (reg &
|
||||||
|
GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_NUM_EV_PER_EE_BMSK) >>
|
||||||
|
GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_NUM_EV_PER_EE_SHFT;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
GSIDBG("max event rings %d\n", reg);
|
GSIDBG("max event rings %d\n", reg);
|
||||||
@@ -1056,6 +1070,7 @@ int gsi_register_device(struct gsi_per_props *props, unsigned long *dev_hdl)
|
|||||||
break;
|
break;
|
||||||
case GSI_VER_2_5:
|
case GSI_VER_2_5:
|
||||||
case GSI_VER_2_7:
|
case GSI_VER_2_7:
|
||||||
|
case GSI_VER_2_9:
|
||||||
needed_reg_ver = GSI_REGISTER_VER_2;
|
needed_reg_ver = GSI_REGISTER_VER_2;
|
||||||
break;
|
break;
|
||||||
case GSI_VER_ERR:
|
case GSI_VER_ERR:
|
||||||
@@ -4078,6 +4093,9 @@ void gsi_get_inst_ram_offset_and_size(unsigned long *base_offset,
|
|||||||
case GSI_VER_2_7:
|
case GSI_VER_2_7:
|
||||||
maxn = GSI_V2_7_GSI_INST_RAM_n_MAXn;
|
maxn = GSI_V2_7_GSI_INST_RAM_n_MAXn;
|
||||||
break;
|
break;
|
||||||
|
case GSI_VER_2_9:
|
||||||
|
maxn = GSI_V2_9_GSI_INST_RAM_n_MAXn;
|
||||||
|
break;
|
||||||
case GSI_VER_ERR:
|
case GSI_VER_ERR:
|
||||||
case GSI_VER_MAX:
|
case GSI_VER_MAX:
|
||||||
default:
|
default:
|
||||||
|
@@ -442,6 +442,7 @@
|
|||||||
#define GSI_V2_2_GSI_INST_RAM_n_MAXn 4095
|
#define GSI_V2_2_GSI_INST_RAM_n_MAXn 4095
|
||||||
#define GSI_V2_5_GSI_INST_RAM_n_MAXn 8191
|
#define GSI_V2_5_GSI_INST_RAM_n_MAXn 8191
|
||||||
#define GSI_V2_7_GSI_INST_RAM_n_MAXn 5119
|
#define GSI_V2_7_GSI_INST_RAM_n_MAXn 5119
|
||||||
|
#define GSI_V2_9_GSI_INST_RAM_n_MAXn 6143
|
||||||
|
|
||||||
#define GSI_GSI_INST_RAM_n_INST_BYTE_3_BMSK 0xff000000
|
#define GSI_GSI_INST_RAM_n_INST_BYTE_3_BMSK 0xff000000
|
||||||
#define GSI_GSI_INST_RAM_n_INST_BYTE_3_SHFT 0x18
|
#define GSI_GSI_INST_RAM_n_INST_BYTE_3_SHFT 0x18
|
||||||
@@ -884,6 +885,39 @@
|
|||||||
#define GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_IRAM_SIZE_THREE_N_HALF_KB_FVAL 0x4
|
#define GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_IRAM_SIZE_THREE_N_HALF_KB_FVAL 0x4
|
||||||
#define GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_IRAM_SIZE_FOUR_KB_FVAL 0x5
|
#define GSI_V2_7_EE_n_GSI_HW_PARAM_2_GSI_IRAM_SIZE_FOUR_KB_FVAL 0x5
|
||||||
|
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_OFFS(n) \
|
||||||
|
(GSI_GSI_REG_BASE_OFFS + 0x00012040 + 0x4000 * (n))
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_RMSK 0xffffffff
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_MAXn 2
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_INI(n) \
|
||||||
|
in_dword_masked(GSI_V2_9_EE_n_GSI_HW_PARAM_2_OFFS(n), \
|
||||||
|
GSI_V2_9_EE_n_GSI_HW_PARAM_2_RMSK)
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_INMI(n, mask) \
|
||||||
|
in_dword_masked(GSI_V2_9_EE_n_GSI_HW_PARAM_2_OFFS(n), \
|
||||||
|
mask)
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_USE_INTER_EE_BMSK 0x80000000
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_USE_INTER_EE_SHFT 0x1f
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_USE_RD_WR_ENG_BMSK 0x40000000
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_USE_RD_WR_ENG_SHFT 0x1e
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_SDMA_N_IOVEC_BMSK 0x38000000
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_SDMA_N_IOVEC_SHFT 0x1b
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_SDMA_MAX_BURST_BMSK 0x7f80000
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_SDMA_MAX_BURST_SHFT 0x13
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_SDMA_N_INT_BMSK 0x70000
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_SDMA_N_INT_SHFT 0x10
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_USE_SDMA_BMSK 0x8000
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_USE_SDMA_SHFT 0xf
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_CH_FULL_LOGIC_BMSK 0x4000
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_CH_FULL_LOGIC_SHFT 0xe
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_CH_PEND_TRANSLATE_BMSK 0x2000
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_CH_PEND_TRANSLATE_SHFT 0xd
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_NUM_EV_PER_EE_BMSK 0x1f00
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_NUM_EV_PER_EE_SHFT 0x8
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_NUM_CH_PER_EE_BMSK 0xf8
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_NUM_CH_PER_EE_SHFT 0x3
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_IRAM_SIZE_BMSK 0x7
|
||||||
|
#define GSI_V2_9_EE_n_GSI_HW_PARAM_2_GSI_IRAM_SIZE_SHFT 0x0
|
||||||
|
|
||||||
#define GSI_EE_n_GSI_SW_VERSION_OFFS(n) \
|
#define GSI_EE_n_GSI_SW_VERSION_OFFS(n) \
|
||||||
(GSI_GSI_REG_BASE_OFFS + 0x00012044 + 0x4000 * (n))
|
(GSI_GSI_REG_BASE_OFFS + 0x00012044 + 0x4000 * (n))
|
||||||
#define GSI_EE_n_GSI_SW_VERSION_MAJOR_BMSK 0xf0000000
|
#define GSI_EE_n_GSI_SW_VERSION_MAJOR_BMSK 0xf0000000
|
||||||
|
@@ -5450,6 +5450,9 @@ static enum gsi_ver ipa3_get_gsi_ver(enum ipa_hw_type ipa_hw_type)
|
|||||||
case IPA_HW_v4_7:
|
case IPA_HW_v4_7:
|
||||||
gsi_ver = GSI_VER_2_7;
|
gsi_ver = GSI_VER_2_7;
|
||||||
break;
|
break;
|
||||||
|
case IPA_HW_v4_9:
|
||||||
|
gsi_ver = GSI_VER_2_9;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
IPAERR("No GSI version for ipa type %d\n", ipa_hw_type);
|
IPAERR("No GSI version for ipa type %d\n", ipa_hw_type);
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
|
@@ -17,6 +17,7 @@ enum gsi_ver {
|
|||||||
GSI_VER_2_2 = 5,
|
GSI_VER_2_2 = 5,
|
||||||
GSI_VER_2_5 = 6,
|
GSI_VER_2_5 = 6,
|
||||||
GSI_VER_2_7 = 7,
|
GSI_VER_2_7 = 7,
|
||||||
|
GSI_VER_2_9 = 8,
|
||||||
GSI_VER_MAX,
|
GSI_VER_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user