soc: mediatek: mtk-cmdq: Add cmdq_pkt_acquire_event() function
[linux-2.6-block.git] / drivers / soc / mediatek / mtk-cmdq-helper.c
index ee55992f6491177de04400beca0b7157caeb255b..d1ca4b21587e020b546f78de16140f4ddbf7044f 100644 (file)
@@ -334,6 +334,21 @@ int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear)
 }
 EXPORT_SYMBOL(cmdq_pkt_wfe);
 
+int cmdq_pkt_acquire_event(struct cmdq_pkt *pkt, u16 event)
+{
+       struct cmdq_instruction inst = {};
+
+       if (event >= CMDQ_MAX_EVENT)
+               return -EINVAL;
+
+       inst.op = CMDQ_CODE_WFE;
+       inst.value = CMDQ_WFE_UPDATE | CMDQ_WFE_UPDATE_VALUE | CMDQ_WFE_WAIT;
+       inst.event = event;
+
+       return cmdq_pkt_append_command(pkt, inst);
+}
+EXPORT_SYMBOL(cmdq_pkt_acquire_event);
+
 int cmdq_pkt_clear_event(struct cmdq_pkt *pkt, u16 event)
 {
        struct cmdq_instruction inst = { {0} };