static void __stm_enable(struct stm_drvdata *drvdata) { __stm_hwevent_enable(drvdata); __stm_port_enable(drvdata); STM_UNLOCK(drvdata); stm_writel(drvdata, 0xFFF, STMSYNCR); /* */ stm_writel(drvdata, 0x100003, STMTCSR); STM_LOCK(drvdata); }
static void __stm_enable(struct stm_drvdata *drvdata) { __stm_port_enable(drvdata); STM_UNLOCK(drvdata); stm_writel(drvdata, 0xFFF, STMSYNCR); /* SYNCEN is read-only and HWTEN is not implemented */ stm_writel(drvdata, 0x100003, STMTCSR); __stm_hwevent_enable(drvdata); STM_LOCK(drvdata); }
static int stm_hwevent_enable(struct stm_drvdata *drvdata) { int ret = 0; spin_lock(&drvdata->spinlock); if (drvdata->enable) __stm_hwevent_enable(drvdata); else ret = -EINVAL; spin_unlock(&drvdata->spinlock); return ret; }
static void __stm_enable(struct stm_drvdata *drvdata) { __stm_hwevent_enable(drvdata); __stm_port_enable(drvdata); STM_UNLOCK(drvdata); stm_writel(drvdata, 0xFFF, STMSYNCR); /* SYNCEN is read-only and HWTEN is not implemented */ stm_writel(drvdata, 0x100003,STMTCSR); #ifdef STM_DEBUG dev_dbg("STMSYNCR = 0x%02x\n", stm_readl(drvdata, STMSYNCR)); dev_dbg("STMTCSR = 0x%02x\n", stm_readl(drvdata, STMTCSR)); #endif STM_LOCK(drvdata); }