tc_intr_disestablish man page on NetBSD

Man page or keyword search:  
man Server   9087 pages
apropos Keyword Search (all sections)
Output format
NetBSD logo
[printable version]

TC(9)			 BSD Kernel Developer's Manual			 TC(9)

NAME
     TC, tc_intr_establish, tc_intr_disestablish, tc_intr_evcnt.  tc_mb,
     tc_wmb, tc_syncbus, tc_badaddr, TC_DENSE_TO_SPARSE, TC_PHYS_TO_UNCACHED —
     TURBOchannel bus

SYNOPSIS
     #include <sys/bus.h>
     #include <dev/tc/tcvar.h>
     #include <dev/tc/tcdevs.h>

     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);

DESCRIPTION
     The TC device provides support for the DEC TURBOchannel bus found on all
     DEC TURBOchannel machines with MIPS (DECstation 5000 series, excluding
     the 5000/200) and Alpha (3000-series) systems.  TURBOchannel is a 32-bit
     wide synchronous DMA-capable bus, running at 25 MHz on higher-end
     machines and at 12.5 MHz on lower-end machines.

DATA TYPES
     Drivers for devices attached to the TURBOchannel bus will make use of the
     following data types:

     struct tc_attach_args
	      A structure use to inform the driver of TURBOchannel bus proper‐
	      ties.  It contains the following members:

		      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.

FUNCTIONS
     tc_intr_establish(dev, cookie, level, handler, arg)
	      Establish an interrupt handler with device 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.

     tc_intr_disestablish(dev, cookie)
	      Dis-establish the interrupt handler with device dev for the
	      interrupt described completely cookie.

     tc_intr_evcnt(dev, cookie)
	      Do interrupt event counting with device dev for the event
	      described completely by cookie.

     tc_mb()  A read/write memory barrier.  Any CPU-to-memory reads/writes
	      before the barrier must complete before any CPU-to-memory
	      reads/writes after it.

     tc_wmb()
	      A write memory barrier.  Any CPU-to-memory writes before the
	      barrier must complete before any CPU-to-memory writes after it.

     tc_syncbus()
	      Synchronise writes on the TURBOchannel bus by ensuring CPU
	      writes are propagated across the TURBOchannel bus.

     tc_badaddr(tcaddr)
	      Returns non-zero if the given address tcaddr is invalid.

     TC_DENSE_TO_SPARSE(addr)
	      Convert the given physical address addr in TURBOchannel dense
	      space to the corresponding address in TURBOchannel sparse space.

     TC_PHYS_TO_UNCACHED(addr)
	      Convert the given system memory physical address addr to the
	      physical address of the corresponding region that is not cached.

AUTOCONFIGURATION
     The TURBOchannel bus is a direct-connection bus.  During autoconfigura‐
     tion, the parent specifies the name of the found TURBOchannel module into
     the ta_modname member of the tc_attach_args structure.  Drivers should
     match on this name.

DMA SUPPORT
     The TURBOchannel bus supports 32-bit, bidirectional DMA transfers.	 Sup‐
     port is provided by the standard bus_dma(9) interface.

CODE REFERENCES
     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.

SEE ALSO
     tc(4), autoconf(9), bus_dma(9), bus_space(9), driver(9)

BSD				October 7, 2001				   BSD
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server NetBSD

List of man pages available for NetBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net