void
tc_intr_establish(
struct device *dev
, void *cookie
, int level
, int (*handler)(void *)
, void *arg
)
void
tc_intr_disestablish(
struct device *dev
, void *cookie
)
const
struct
evcnt
*
tc_intr_evcnt(
struct device *dev
, void *cookie
)
void
tc_mb(
)
void
tc_wmb(
)
void
tc_syncbus(
)
int
tc_badaddr(
tc_addr_t tcaddr
)
tc_addr_t
TC_DENSE_TO_SPARSE(
tc_addr_t addr
)
tc_addr_t
TC_PHYS_TO_UNCACHED(
tc_addr_t addr
)
struct
tc_attach_args
bus_space_tag_t ta_memt;
bus_dma_tag_t ta_dmat;
char ta_modname[TC_ROM_LLEN+1];
u_int ta_slot;
tc_offset_t ta_offset;
tc_addr_t ta_addr;
void *ta_cookie;
u_int ta_busspeed;
The ta_busspeed member specifies the TURBOchannel bus speed and is useful for time-related functions. Values values are TC_SPEED_12_5_MHZ for the 12.5 MHz bus and TC_SPEED_25_MHZ for the 50 MHz bus.
dev
, cookie
, level
, handler
, arg
)
dev
for the interrupt described completely by
cookie
,
the value passed to the driver in the
ta_cookie
member of the
tc_attach_args
structure.
The priority of the interrupt is specified by
level
.
When the interrupt occurs the function
handler
is called with argument
arg
.
dev
, cookie
)
dev
for the interrupt described completely
cookie
.
dev
, cookie
)
dev
for the event described completely by
cookie
.
)
)
)
tcaddr
)
tcaddr
is invalid.
addr
)
addr
in TURBOchannel dense space to the corresponding address in
TURBOchannel sparse space.
addr
)
addr
to the physical address of the corresponding region that is not
cached.
ta_modname
member of the
tc_attach_args
structure.
Drivers should match on this name.
/usr/src
.
The TURBOchannel subsystem itself is implemented within the file
sys/dev/tc/tc_subr.c
.
Machine-dependent portions can be found in
sys/arch/<arch>/tc/tcbus.c
.