135 lines
3.4 KiB
Plaintext
135 lines
3.4 KiB
Plaintext
.TH pcibr_hints D3
|
|
.IX "\f4pcibr_hints_dualslot\f1(D3)"
|
|
.IX "\f4pcibr_hints_fix_rrbs\f1(D3)"
|
|
.IX "\f4pcibr_hints_fix_some_rrbs\f1(D3)"
|
|
.IX "\f4pcibr_hints_handsoff\f1(D3)"
|
|
.IX "\f4pcibr_hints_subdevs\f1(D3)"
|
|
.SH NAME
|
|
.nf
|
|
\f4pcibr_hints_dualslot\f1 \- note device uses two PCI slots
|
|
\f4pcibr_hints_fix_rrbs\f1 \- prevent all automatic RRB allocation
|
|
\f4pcibr_hints_fix_some_rrbs\f1 \- prevent some automatic RRB allocation
|
|
\f4pcibr_hints_handsoff\f1 \- prevent generic handling
|
|
\f4pcibr_hints_subdevs\f1 \- specify subdevice mask
|
|
.fi
|
|
.SH SYNOPSIS
|
|
.ds fT \f1
|
|
.if t .ds fT \f4
|
|
.nf
|
|
\*(fT#include <sys/PCI/pcibr.h>
|
|
.sp .8v
|
|
void
|
|
pcibr_hints_dualslot(
|
|
vertex_hdl_t \f2xconn_vhdl\*(fT,
|
|
pciio_slot_t \f2host\*(fT,
|
|
pciio_slot_t \f2guest\*(fT)
|
|
.sp .8v
|
|
void
|
|
pcibr_hints_fix_rrbs(
|
|
vertex_hdl_t \f2xconn_vhdl\*(fT)
|
|
.sp .8v
|
|
void
|
|
pcibr_hints_fix_some_rrbs(
|
|
vertex_hdl_t \f2xconn_vhdl\*(fT,
|
|
unsigned \f2slot_mask\*(fT)
|
|
.sp .8v
|
|
void
|
|
pcibr_hints_handsoff(
|
|
vertex_hdl_t \f2xconn_vhdl\*(fT)
|
|
.sp .8v
|
|
void
|
|
pcibr_hints_subdevs(
|
|
vertex_hdl_t \f2xconn_vhdl\*(fT,
|
|
pciio_slot_t \f2pci_slot\*(fT,
|
|
ulong_t \f2subdev\*(fTs)
|
|
.fi
|
|
.SS Arguments
|
|
.IP "\f2guest\f1" 8n
|
|
A PCI slot number other than the host slot whose
|
|
resources are used by a dualslot device.
|
|
.IP "\f2host\f1" 8n
|
|
A PCI slot number in which a dualslot device responds to
|
|
Config space accesses.
|
|
.IP "\f2pci_slot\f1" 8n
|
|
The (possibly logical) PCI slot number of the device of
|
|
interest.
|
|
.IP "\f2slot_mask\f1" 8n
|
|
A bit mask specifying which PCI slots (or REQ/GNT pairs)
|
|
are affected by the call; the least significant bit is
|
|
REQ0/GNT0, and so on up to bit 0x80 is REQ7/GNT7.
|
|
.IP "\f2subdev\f1" 8n
|
|
A bitmask of populated subdevices for a specific PCI
|
|
slot. The exact bit layout is dependent on the PCI
|
|
device involved.
|
|
.IP "\f2xconn_vhdl\f1" 8n
|
|
The XIO connection point for the bridge, generally
|
|
obtained from a nic_vmc callback.
|
|
.IP
|
|
.SH DESCRIPTION
|
|
.P
|
|
Boards are sometimes built with onboard PCI
|
|
busses that route more than one REQ/GNT pair
|
|
to a single device.
|
|
.IR pcibr_hints_dualslot ()
|
|
is used to inform the infrastructure of
|
|
such devices.
|
|
.P
|
|
.IR pcibr_hints_fix_rrbs ()
|
|
disables automatic RRB adjustment for
|
|
all REQ/GNT pairs on the bus.
|
|
.P
|
|
.IR pcibr_hints_fix_some_rrbs ()
|
|
disables automatic RRB adjustment for
|
|
the specified REQ/GNT pairs on the bus;
|
|
the least significant bit coresponds to REQ0/GNT0
|
|
and bit 0x80 corresponds to REQ7/GNT7.
|
|
.P
|
|
.IR pcibr_hints_handsoff ()
|
|
prevents additional initialization of the
|
|
specified Bridge ASIC and the infrastructure
|
|
at and beyond the Bridge.
|
|
.P
|
|
.IR pcibr_hints_subdevs ()
|
|
is used to inform varous PCI device drivers
|
|
that have multiple subdevices
|
|
of which subdevices are meaningful;
|
|
for instance,
|
|
a chip supporting serial ports and
|
|
ethernet may be used
|
|
without serial port connectors,
|
|
and
|
|
.IR pcibr_hints_subdevs ()
|
|
would be called to inform the driver
|
|
that it need not provide support
|
|
for those particular serial ports.
|
|
.\".SH EXAMPLES
|
|
.\".nf
|
|
.\".if t .ft 4
|
|
.\".fi
|
|
.\".ft 1
|
|
.SH NOTES
|
|
.P
|
|
.IR pcibr_hints_dualslot ()
|
|
is limited to noting two REQ/GNT pairs
|
|
for a single device.
|
|
Using multiple calls to associate
|
|
additional REQ/GNT pairs with a
|
|
single device
|
|
has undefined results.
|
|
.P
|
|
If
|
|
.IR pcibr_hints_fix_rrbs ()
|
|
or
|
|
.IR pcibr_hints_fix_some_rrbs ()
|
|
is applied and RRBs are not manually
|
|
assigned to REQ/GNT pairs,
|
|
any DMA READ request from outside
|
|
the local PCI bus
|
|
using one of those REQ/GNT pairs
|
|
will stall forever.
|
|
.\" .SH FILES
|
|
.SH "SEE ALSO"
|
|
nic_vmc(D3)
|
|
pcibr_rrb(D3)
|
|
.\".SH DIAGNOSTICS
|