PCOPY copying engine

Present on:

cv0 [1 engine]: GT215:GF100

cv1 [2 engines]: GF100:GK104

cv2 [3 engines]: GK104+

BAR0 address:

engine #0: 0x104000

engine #1: 0x105000

engine #2: 0x105000

PMC interrupt line:

cv0: 22

cv1, engine #0: 5

cv1, engine #1: 6

PMC enable bit:

cv0: 13

cv1, engine #0: 6

cv1, engine #0: 7

Version:

cv0, cv1: 3

cv2: [none]

Code segment size:
0x1200
Data segment size:
0x800
Fifo size:
0x10
Xfer slots:
8
Secretful:
no
Code TLB index bits:

cv0: 5

cv1: 7

Code ports:
1
Data ports:
1
IO addressing type:
indexed
Core clock:

cv0: NVCLK

cv1: hub clock [Fermi clock #9]

Tesla VM engine:
0xd
Tesla VM client:
0x13
Tesla context DMA:
0xc
Fermi VM engine:

engine #0: 0x15

engine #1: 0x16

engine #2: 0x1b

Fermi VM client:

engine #0: HUB 0x01

engine #1: HUB 0x02

engine #2: HUB 0x18

The IO registers:

Host Falcon Name Description
0x600:0x640 0x18000:0x19000 MEMIF Falcon memory interface
0x640:0x680 0x19000:0x1a000 ??? ??? PCOPY copying engine
0x800:0x880 0x20000:0x22000 COPY Copy engine
0x900:0x980 0x24000:0x26000 ??? ??? PCOPY copying engine
Interrupts:
Line Type Name Description
8 edge MEMIF_TARGET_INVALID [GT215:GF100] MEMIF port not initialised
9 edge MEMIF_FAULT [GT215:GF100] MEMIF VM fault
9 edge MEMIF_BREAK [GF100-] MEMIF Break
10 level COPY_BLOCK  
11 level COPY_NONBLOCK  
Status bits:
Bit Name Description
0 FALCON Falcon unit
1 MEMIF Memory interface and COPY
8-bit space pcopy [0x1000]
gf100-mmio 0x104000+i*0x1000: PCOPY[i] (i<2) [GF100:GK104]
gf100-mmio 0x104000+i*0x1000: PCOPY[i] (i<3) [GK104:]
g80-mmio 0x104000: PCOPY [GT215:GF100]

Todo

write me

Todo

describe PCOPY