| .. | .. |
|---|
| 17 | 17 | #define CMDQ_JUMP_PASS CMDQ_INST_SIZE |
|---|
| 18 | 18 | |
|---|
| 19 | 19 | #define CMDQ_WFE_UPDATE BIT(31) |
|---|
| 20 | +#define CMDQ_WFE_UPDATE_VALUE BIT(16) |
|---|
| 20 | 21 | #define CMDQ_WFE_WAIT BIT(15) |
|---|
| 21 | 22 | #define CMDQ_WFE_WAIT_VALUE 0x1 |
|---|
| 23 | + |
|---|
| 24 | +/* |
|---|
| 25 | + * WFE arg_b |
|---|
| 26 | + * bit 0-11: wait value |
|---|
| 27 | + * bit 15: 1 - wait, 0 - no wait |
|---|
| 28 | + * bit 16-27: update value |
|---|
| 29 | + * bit 31: 1 - update, 0 - no update |
|---|
| 30 | + */ |
|---|
| 31 | +#define CMDQ_WFE_OPTION (CMDQ_WFE_WAIT | CMDQ_WFE_WAIT_VALUE) |
|---|
| 32 | + |
|---|
| 33 | +/** cmdq event maximum */ |
|---|
| 34 | +#define CMDQ_MAX_EVENT 0x3ff |
|---|
| 22 | 35 | |
|---|
| 23 | 36 | /* |
|---|
| 24 | 37 | * CMDQ_CODE_MASK: |
|---|
| .. | .. |
|---|
| 42 | 55 | enum cmdq_code { |
|---|
| 43 | 56 | CMDQ_CODE_MASK = 0x02, |
|---|
| 44 | 57 | CMDQ_CODE_WRITE = 0x04, |
|---|
| 58 | + CMDQ_CODE_POLL = 0x08, |
|---|
| 45 | 59 | CMDQ_CODE_JUMP = 0x10, |
|---|
| 46 | 60 | CMDQ_CODE_WFE = 0x20, |
|---|
| 47 | 61 | CMDQ_CODE_EOC = 0x40, |
|---|
| 62 | + CMDQ_CODE_READ_S = 0x80, |
|---|
| 63 | + CMDQ_CODE_WRITE_S = 0x90, |
|---|
| 64 | + CMDQ_CODE_WRITE_S_MASK = 0x91, |
|---|
| 65 | + CMDQ_CODE_LOGIC = 0xa0, |
|---|
| 48 | 66 | }; |
|---|
| 49 | 67 | |
|---|
| 50 | 68 | enum cmdq_cb_status { |
|---|
| .. | .. |
|---|
| 74 | 92 | void *cl; |
|---|
| 75 | 93 | }; |
|---|
| 76 | 94 | |
|---|
| 95 | +u8 cmdq_get_shift_pa(struct mbox_chan *chan); |
|---|
| 96 | + |
|---|
| 77 | 97 | #endif /* __MTK_CMDQ_MAILBOX_H__ */ |
|---|