Unix/Linux Go Back    


NetBSD 6.1.5 - man page for tc_syncbus (netbsd section 9)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


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 properties.  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 com-
	      pletely 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 corre-
	      sponding 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 autoconfiguration, the parent spec-
     ifies 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.  Support 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
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 11:38 PM.