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.