f20de073 |
1 | |
2 | enum tas_pkt_type { |
19560e5f |
3 | PKT_FIXED_STATE = 0xef01, |
4 | PKT_STREAM_ENABLE = 0xef02, |
5 | PKT_STREAM_REQ = 0xef03, |
6 | PKT_STREAM_DATA_TO_P1 = 0xef04, |
7 | PKT_STREAM_DATA_TO_P2 = 0xef05, |
8 | PKT_STREAM_DATA_FROM = 0xef06, |
9 | PKT_STREAM_END = 0xef07, |
10 | PKT_STREAM_ABORT = 0xef08, |
f20de073 |
11 | }; |
12 | |
13 | struct tas_pkt { |
14 | uint16_t type; |
15 | uint16_t size; // for DATA_FROM/TO |
16 | union { |
17 | uint8_t data[60]; |
18 | struct { |
19 | uint32_t frame; // just fyi |
19560e5f |
20 | uint8_t is_p2; |
f20de073 |
21 | } req; |
22 | struct { |
23 | uint8_t stream_to; |
24 | uint8_t stream_from; |
25 | // frame increment on read |
19560e5f |
26 | uint8_t inc_mode; |
6d4349fc |
27 | uint8_t no_start_seq; |
f20de073 |
28 | } enable; |
29 | }; |
30 | } __attribute__((packed)); |
19560e5f |
31 | |
32 | enum inc_mode { |
33 | INC_MODE_VSYNC = 0, |
34 | // shared stream index incremented by pl1 or pl2 |
35 | INC_MODE_SHARED_PL1 = 1, |
36 | INC_MODE_SHARED_PL2 = 2, |
be48e888 |
37 | INC_MODE_SEPARATE = 3, |
19560e5f |
38 | }; |