summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSkylar Chang <chiaweic@codeaurora.org>2016-08-01 17:46:24 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-08-02 17:43:17 -0700
commit5d3b9a2d4c447aea05a00109052d206d46287f3c (patch)
treeb20809d7afe0ee3e9b9d45cc2dd8128eaf2c13f1
parentec9fd7cc51bcc302aefe26e4cbfc7f4e2590918d (diff)
msm: gsi: do not register to inter ee irq
Inter EE commands and IRQ are not supported currently and AP does not have access to those. CRs-Fixed: 1048160 Change-Id: I033044db83e8af6fb0976d711ea12c2f99291f91 Acked-by: Ady Abraham <adya@qti.qualcomm.com> Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
-rw-r--r--drivers/platform/msm/gsi/gsi.c29
1 files changed, 4 insertions, 25 deletions
diff --git a/drivers/platform/msm/gsi/gsi.c b/drivers/platform/msm/gsi/gsi.c
index 0069c07474d4..d2e31c3b0945 100644
--- a/drivers/platform/msm/gsi/gsi.c
+++ b/drivers/platform/msm/gsi/gsi.c
@@ -93,26 +93,6 @@ static void __gsi_config_gen_irq(int ee, uint32_t mask, uint32_t val)
GSI_EE_n_CNTXT_GSI_IRQ_EN_OFFS(ee));
}
-static void __gsi_config_inter_ee_ch_irq(int ee, uint32_t mask, uint32_t val)
-{
- uint32_t curr;
-
- curr = gsi_readl(gsi_ctx->base +
- GSI_INTER_EE_n_SRC_GSI_CH_IRQ_MSK_OFFS(ee));
- gsi_writel((curr & ~mask) | (val & mask), gsi_ctx->base +
- GSI_INTER_EE_n_SRC_GSI_CH_IRQ_MSK_OFFS(ee));
-}
-
-static void __gsi_config_inter_ee_evt_irq(int ee, uint32_t mask, uint32_t val)
-{
- uint32_t curr;
-
- curr = gsi_readl(gsi_ctx->base +
- GSI_INTER_EE_n_SRC_EV_CH_IRQ_MSK_OFFS(ee));
- gsi_writel((curr & ~mask) | (val & mask), gsi_ctx->base +
- GSI_INTER_EE_n_SRC_EV_CH_IRQ_MSK_OFFS(ee));
-}
-
static void gsi_handle_ch_ctrl(int ee)
{
uint32_t ch;
@@ -684,7 +664,10 @@ int gsi_register_device(struct gsi_per_props *props, unsigned long *dev_hdl)
/* only support 16 un-reserved + 7 reserved event virtual IDs */
gsi_ctx->evt_bmap = ~0x7E03FF;
- /* enable all interrupts but GSI_BREAK_POINT */
+ /*
+ * enable all interrupts but GSI_BREAK_POINT.
+ * Inter EE commands / interrupt are no supported.
+ */
__gsi_config_type_irq(props->ee, ~0, ~0);
__gsi_config_ch_irq(props->ee, ~0, ~0);
__gsi_config_evt_irq(props->ee, ~0, ~0);
@@ -692,8 +675,6 @@ int gsi_register_device(struct gsi_per_props *props, unsigned long *dev_hdl)
__gsi_config_glob_irq(props->ee, ~0, ~0);
__gsi_config_gen_irq(props->ee, ~0,
~GSI_EE_n_CNTXT_GSI_IRQ_CLR_GSI_BREAK_POINT_BMSK);
- __gsi_config_inter_ee_ch_irq(props->ee, ~0, ~0);
- __gsi_config_inter_ee_evt_irq(props->ee, ~0, ~0);
gsi_writel(props->intr, gsi_ctx->base +
GSI_EE_n_CNTXT_INTSET_OFFS(gsi_ctx->per.ee));
@@ -791,8 +772,6 @@ int gsi_deregister_device(unsigned long dev_hdl, bool force)
__gsi_config_ieob_irq(gsi_ctx->per.ee, ~0, 0);
__gsi_config_glob_irq(gsi_ctx->per.ee, ~0, 0);
__gsi_config_gen_irq(gsi_ctx->per.ee, ~0, 0);
- __gsi_config_inter_ee_ch_irq(gsi_ctx->per.ee, ~0, 0);
- __gsi_config_inter_ee_evt_irq(gsi_ctx->per.ee, ~0, 0);
devm_free_irq(gsi_ctx->dev, gsi_ctx->per.irq, gsi_ctx);
devm_iounmap(gsi_ctx->dev, gsi_ctx->base);