.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "TIOCA_DMA_D48" "9" "09 October 2005" "" ""
.SH NAME
tioca_dma_d48 \- create a DMA mapping using 48-bit direct mode
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
uint64_t tioca_dma_d48 (struct pci_dev * \fIpdev\fB, uint64_t \fIpaddr\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIpdev\fB\fR
linux pci_dev representing the function
.TP
\fB\fIpaddr\fB\fR
system physical address
.SH "DESCRIPTION"
.PP
Map \fIpaddr\fR into 64-bit bus space of the CA associated with \fIpcidev_info\fR\&.
.SH "THE CA AGP 48 BIT DIRECT ADDRESS FALLS OUT AS FOLLOWS"
.PP
.PP
When direct mapping AGP addresses, the 48 bit AGP address is
.SH "CONSTRUCTED AS FOLLOWS"
.PP
.PP
[47:40] - Low 8 bits of the page Node ID extracted from coretalk
address [47:40]. The upper 8 node bits are fixed
and come from the xxx register bits [5:0]
[39:38] - Chiplet ID extracted from coretalk address [39:38]
[37:00] - node offset extracted from coretalk address [37:00]
.PP
Since the node id in general will be non-zero, and the chiplet id
will always be non-zero, it follows that the device must support
a dma mask of at least 0xffffffffff (40 bits) to target node 0
and in general should be 0xffffffffffff (48 bits) to target nodes
up to 255. Nodes above 255 need the support of the xxx register,
and so a given CA can only directly target nodes in the range
xxx - xxx+255.