]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blame - Documentation/xtensa/atomctl.rst
Merge tag 'x86-urgent-2023-02-11' of git://git.kernel.org/pub/scm/linux/kernel/git...
[mirror_ubuntu-kernels.git] / Documentation / xtensa / atomctl.rst
CommitLineData
8ea0afa3
MCC
1===========================================
2Atomic Operation Control (ATOMCTL) Register
3===========================================
4
c622b29d
MF
5We Have Atomic Operation Control (ATOMCTL) Register.
6This register determines the effect of using a S32C1I instruction
7with various combinations of:
8
9 1. With and without an Coherent Cache Controller which
10 can do Atomic Transactions to the memory internally.
11
12 2. With and without An Intelligent Memory Controller which
13 can do Atomic Transactions itself.
14
8ea0afa3 15The Core comes up with a default value of for the three types of cache ops::
c622b29d
MF
16
17 0x28: (WB: Internal, WT: Internal, BY:Exception)
18
19On the FPGA Cards we typically simulate an Intelligent Memory controller
20which can implement RCW transactions. For FPGA cards with an External
21Memory controller we let it to the atomic operations internally while
22doing a Cached (WB) transaction and use the Memory RCW for un-cached
23operations.
24
25For systems without an coherent cache controller, non-MX, we always
26use the memory controllers RCW, thought non-MX controlers likely
27support the Internal Operation.
28
29CUSTOMER-WARNING:
30 Virtually all customers buy their memory controllers from vendors that
31 don't support atomic RCW memory transactions and will likely want to
32 configure this register to not use RCW.
33
34Developers might find using RCW in Bypass mode convenient when testing
35with the cache being bypassed; for example studying cache alias problems.
36
8ea0afa3 37See Section 4.3.12.4 of ISA; Bits::
c622b29d
MF
38
39 WB WT BY
40 5 4 | 3 2 | 1 0
8ea0afa3
MCC
41
42========= ================== ================== ===============
c622b29d
MF
43 2 Bit
44 Field
45 Values WB - Write Back WT - Write Thru BY - Bypass
8ea0afa3 46========= ================== ================== ===============
c622b29d
MF
47 0 Exception Exception Exception
48 1 RCW Transaction RCW Transaction RCW Transaction
5f42146e 49 2 Internal Operation Internal Operation Reserved
c622b29d 50 3 Reserved Reserved Reserved
8ea0afa3 51========= ================== ================== ===============