Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5361 | serge | 1 | /* |
2 | * Scoreboard update function for decoding kernels |
||
3 | * Copyright © <2010>, Intel Corporation. |
||
4 | * |
||
5 | * This program is licensed under the terms and conditions of the |
||
6 | * Eclipse Public License (EPL), version 1.0. The full text of the EPL is at |
||
7 | * http://www.opensource.org/licenses/eclipse-1.0.php. |
||
8 | * |
||
9 | */ |
||
10 | // |
||
11 | // Module name: scoreboard_update.asm |
||
12 | // |
||
13 | // Scoreboard update function for decoding kernels |
||
14 | // |
||
15 | // This module is used by decoding kernels to send message to scoreboard to update the |
||
16 | // "complete" status, thus the dependency of the MB can be cleared. |
||
17 | // |
||
18 | // $Revision: 6 $ |
||
19 | // $Date: 10/16/06 5:19p $ |
||
20 | // |
||
21 | mov (8) MSGHDRY1<1>:ud 0x00000000:ud // Initialize message header payload with 0 |
||
22 | |||
23 | // Compose M0.5:ud information |
||
24 | add (1) MSGHDRY1.10<1>:uw r0.20:ub 0x0200:uw // Message length = 1 DWORD |
||
25 | and (1) MSGHDRY1.11<1>:uw M05_STORE<0;1,0>:uw SB_MASK*4:uw // Retrieve stored value and wrap around scoreboard |
||
26 | |||
27 | or (1) MSGHDRY1.0<1>:ud M05_STORE<0;1,0>:uw 0xc0000000:ud // Set "Completed" bits |
||
28 | |||
29 | #ifndef BSDRESET_ENABLE |
||
30 | #ifdef INTER_KERNEL |
||
31 | mov (1) gREG_WRITE_COMMIT_Y<1>:ud gREG_WRITE_COMMIT_Y<0;1,0>:ud // Make sure Y write is committed |
||
32 | mov (1) gREG_WRITE_COMMIT_UV<1>:ud gREG_WRITE_COMMIT_UV<0;1,0>:ud // Make sure U/V write is committed |
||
33 | #else |
||
34 | mov (1) REG_WRITE_COMMIT_Y<1>:ud REG_WRITE_COMMIT_Y<0;1,0>:ud // Make sure Y write is committed |
||
35 | mov (1) REG_WRITE_COMMIT_UV<1>:ud REG_WRITE_COMMIT_UV<0;1,0>:ud // Make sure U/V write is committed |
||
36 | #endif // INTER_KERNEL |
||
37 | #endif // BSDRESET_ENABLE |
||
38 | |||
39 | send (8) NULLREG MSGHDRY1 null:ud MSG_GW FWDMSGDSC |
||
40 | |||
41 | // End of scoreboard_update0;1,0>1>0;1,0>1>0;1,0>1>0;1,0>1>0;1,0>1>0;1,0>1>1>1>2010> |