2
* Scoreboard update function for decoding kernels
3
* Copyright © <2010>, Intel Corporation.
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.
11
// Module name: scoreboard_update.asm
13
// Scoreboard update function for decoding kernels
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.
19
// $Date: 10/16/06 5:19p $
21
mov (8) MSGHDRY1<1>:ud 0x00000000:ud // Initialize message header payload with 0
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
27
or (1) MSGHDRY1.0<1>:ud M05_STORE<0;1,0>:uw 0xc0000000:ud // Set "Completed" bits
29
#ifndef BSDRESET_ENABLE
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
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
39
send (8) NULLREG MSGHDRY1 null:ud MSG_GW FWDMSGDSC
41
// End of scoreboard_update