[BACK]Return to psycho.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / arch / sparc64 / dev

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/arch/sparc64/dev/psycho.c between version 1.75.2.2 and 1.76

version 1.75.2.2, 2006/03/01 09:28:03 version 1.76, 2006/02/01 20:21:38
Line 77  int psycho_debug = 0x0;
Line 77  int psycho_debug = 0x0;
   
 #include "ioconf.h"  #include "ioconf.h"
   
 static pci_chipset_tag_t psycho_alloc_chipset(struct psycho_pbm *, int,  static pci_chipset_tag_t psycho_alloc_chipset __P((struct psycho_pbm *, int,
         pci_chipset_tag_t);                                                     pci_chipset_tag_t));
 static struct extent *psycho_alloc_extent(struct psycho_pbm *, int, int,  static struct extent *psycho_alloc_extent __P((struct psycho_pbm *, int, int,
         const char *);                                                 const char *));
 static void psycho_get_bus_range(int, int *);  static void psycho_get_bus_range __P((int, int *));
 static void psycho_get_ranges(int, struct psycho_ranges **, int *);  static void psycho_get_ranges __P((int, struct psycho_ranges **, int *));
 static void psycho_set_intr(struct psycho_softc *, int, void *, uint64_t *,  static void psycho_set_intr __P((struct psycho_softc *, int, void *,
         uint64_t *);          u_int64_t *, u_int64_t *));
   
 /* Interrupt handlers */  /* Interrupt handlers */
 static int psycho_ue(void *);  static int psycho_ue __P((void *));
 static int psycho_ce(void *);  static int psycho_ce __P((void *));
 static int psycho_bus_a(void *);  static int psycho_bus_a __P((void *));
 static int psycho_bus_b(void *);  static int psycho_bus_b __P((void *));
 static int psycho_powerfail(void *);  static int psycho_powerfail __P((void *));
 static int psycho_wakeup(void *);  static int psycho_wakeup __P((void *));
   
   
 /* IOMMU support */  /* IOMMU support */
 static void psycho_iommu_init(struct psycho_softc *, int);  static void psycho_iommu_init __P((struct psycho_softc *, int));
   
 /*  /*
  * bus space and bus DMA support for UltraSPARC `psycho'.  note that most   * bus space and bus DMA support for UltraSPARC `psycho'.  note that most
  * of the bus DMA support is provided by the iommu dvma controller.   * of the bus DMA support is provided by the iommu dvma controller.
  */   */
 static int get_childspace(int);  static int get_childspace __P((int));
 static struct psycho_ranges *get_psychorange(struct psycho_pbm *, int);  static struct psycho_ranges *get_psychorange __P((struct psycho_pbm *, int));
   
 static paddr_t psycho_bus_mmap(bus_space_tag_t, bus_addr_t, off_t, int, int);  static paddr_t psycho_bus_mmap __P((bus_space_tag_t, bus_addr_t, off_t,
 static int _psycho_bus_map(bus_space_tag_t, bus_addr_t, bus_size_t, int,                                      int, int));
         vaddr_t, bus_space_handle_t *);  static int _psycho_bus_map __P((bus_space_tag_t, bus_addr_t, bus_size_t, int,
 static void *psycho_intr_establish(bus_space_tag_t, int, int, int (*)(void *),                                  vaddr_t, bus_space_handle_t *));
         void *, void(*)(void));  static void *psycho_intr_establish __P((bus_space_tag_t, int, int,
                                   int (*) __P((void *)), void *, void(*)__P((void))));
 static int psycho_dmamap_load(bus_dma_tag_t, bus_dmamap_t, void *, bus_size_t,  
         struct proc *, int);  static int psycho_dmamap_load __P((bus_dma_tag_t, bus_dmamap_t, void *,
 static void psycho_dmamap_unload(bus_dma_tag_t, bus_dmamap_t);                                     bus_size_t, struct proc *, int));
 static int psycho_dmamap_load_raw(bus_dma_tag_t, bus_dmamap_t,  static void psycho_dmamap_unload __P((bus_dma_tag_t, bus_dmamap_t));
         bus_dma_segment_t *, int, bus_size_t, int);  static int psycho_dmamap_load_raw __P((bus_dma_tag_t, bus_dmamap_t,
 static void psycho_dmamap_sync(bus_dma_tag_t, bus_dmamap_t, bus_addr_t,                      bus_dma_segment_t *, int, bus_size_t, int));
         bus_size_t, int);  static void psycho_dmamap_sync __P((bus_dma_tag_t, bus_dmamap_t, bus_addr_t,
 int psycho_dmamem_alloc(bus_dma_tag_t, bus_size_t, bus_size_t, bus_size_t,                                      bus_size_t, int));
         bus_dma_segment_t *, int, int *, int);  int psycho_dmamem_alloc __P((bus_dma_tag_t, bus_size_t, bus_size_t, bus_size_t,
 void psycho_dmamem_free(bus_dma_tag_t, bus_dma_segment_t *, int);                               bus_dma_segment_t *, int, int *, int));
 int psycho_dmamem_map(bus_dma_tag_t, bus_dma_segment_t *, int, size_t,  void psycho_dmamem_free __P((bus_dma_tag_t, bus_dma_segment_t *, int));
         caddr_t *, int);  int psycho_dmamem_map __P((bus_dma_tag_t, bus_dma_segment_t *, int, size_t,
 void psycho_dmamem_unmap(bus_dma_tag_t, caddr_t, size_t);                             caddr_t *, int));
   void psycho_dmamem_unmap __P((bus_dma_tag_t, caddr_t, size_t));
   
 /* base pci_chipset */  /* base pci_chipset */
 extern struct sparc_pci_chipset _sparc_pci_chipset;  extern struct sparc_pci_chipset _sparc_pci_chipset;
Line 135  static void psycho_power_button_pressed(
Line 136  static void psycho_power_button_pressed(
 /*  /*
  * autoconfiguration   * autoconfiguration
  */   */
 static  int     psycho_match(struct device *, struct cfdata *, void *);  static  int     psycho_match __P((struct device *, struct cfdata *, void *));
 static  void    psycho_attach(struct device *, struct device *, void *);  static  void    psycho_attach __P((struct device *, struct device *, void *));
 static  int     psycho_print(void *aux, const char *p);  static  int     psycho_print __P((void *aux, const char *p));
   
 CFATTACH_DECL(psycho, sizeof(struct psycho_softc),  CFATTACH_DECL(psycho, sizeof(struct psycho_softc),
     psycho_match, psycho_attach, NULL, NULL);      psycho_match, psycho_attach, NULL, NULL);
Line 195  struct psycho_names {
Line 196  struct psycho_names {
 };  };
   
 static  int  static  int
 psycho_match(struct device *parent, struct cfdata *match, void *aux)  psycho_match(parent, match, aux)
           struct device   *parent;
           struct cfdata   *match;
           void            *aux;
 {  {
         struct mainbus_attach_args *ma = aux;          struct mainbus_attach_args *ma = aux;
         char *model = prom_getpropstring(ma->ma_node, "model");          char *model = prom_getpropstring(ma->ma_node, "model");
Line 220  static void psycho_dump_intmap(struct ps
Line 224  static void psycho_dump_intmap(struct ps
 static void  static void
 psycho_dump_intmap(struct psycho_softc *sc)  psycho_dump_intmap(struct psycho_softc *sc)
 {  {
         volatile uint64_t *intrmapptr = NULL;          volatile u_int64_t *intrmapptr = NULL;
   
         printf("psycho_dump_intmap: OBIO\n");          printf("psycho_dump_intmap: OBIO\n");
   
Line 259  psycho_dump_intmap(struct psycho_softc *
Line 263  psycho_dump_intmap(struct psycho_softc *
  *        just copy it's tags and addresses.   *        just copy it's tags and addresses.
  */   */
 static  void  static  void
 psycho_attach(struct device *parent, struct device *self, void *aux)  psycho_attach(parent, self, aux)
           struct device *parent, *self;
           void *aux;
 {  {
         struct psycho_softc *sc = (struct psycho_softc *)self;          struct psycho_softc *sc = (struct psycho_softc *)self;
         struct psycho_softc *osc = NULL;          struct psycho_softc *osc = NULL;
Line 267  psycho_attach(struct device *parent, str
Line 273  psycho_attach(struct device *parent, str
         struct pcibus_attach_args pba;          struct pcibus_attach_args pba;
         struct mainbus_attach_args *ma = aux;          struct mainbus_attach_args *ma = aux;
         bus_space_handle_t bh;          bus_space_handle_t bh;
         uint64_t csr;          u_int64_t csr;
         int psycho_br[2], n, i;          int psycho_br[2], n, i;
         bus_space_handle_t pci_ctl;          bus_space_handle_t pci_ctl;
         char *model = prom_getpropstring(ma->ma_node, "model");          char *model = prom_getpropstring(ma->ma_node, "model");
Line 508  found:
Line 514  found:
                         &sc->sc_regs->power_clr_int);                          &sc->sc_regs->power_clr_int);
                 psycho_register_power_button(sc);                  psycho_register_power_button(sc);
                 if (sc->sc_mode != PSYCHO_MODE_SABRE) {                  if (sc->sc_mode != PSYCHO_MODE_SABRE) {
                         /* sabre doesn't have these interrupts */                          /* sabre doesn't have these interrups */
                         psycho_set_intr(sc, 15, psycho_bus_b,                          psycho_set_intr(sc, 15, psycho_bus_b,
                                         &sc->sc_regs->pciberr_int_map,                                          &sc->sc_regs->pciberr_int_map,
                                         &sc->sc_regs->pciberr_clr_int);                                          &sc->sc_regs->pciberr_clr_int);
Line 640  found:
Line 646  found:
 }  }
   
 static  int  static  int
 psycho_print(void *aux, const char *p)  psycho_print(aux, p)
           void *aux;
           const char *p;
 {  {
   
         if (p == NULL)          if (p == NULL)
Line 649  psycho_print(void *aux, const char *p)
Line 657  psycho_print(void *aux, const char *p)
 }  }
   
 static void  static void
 psycho_set_intr(struct psycho_softc *sc, int ipl, void *handler,  psycho_set_intr(sc, ipl, handler, mapper, clearer)
         uint64_t *mapper, uint64_t *clearer)          struct psycho_softc *sc;
           int ipl;
           void *handler;
           u_int64_t *mapper;
           u_int64_t *clearer;
 {  {
         struct intrhand *ih;          struct intrhand *ih;
   
Line 706  psycho_power_button_pressed(void *arg)
Line 718  psycho_power_button_pressed(void *arg)
  * allocate a PCI chipset tag and set it's cookie.   * allocate a PCI chipset tag and set it's cookie.
  */   */
 static pci_chipset_tag_t  static pci_chipset_tag_t
 psycho_alloc_chipset(struct psycho_pbm *pp, int node, pci_chipset_tag_t pc)  psycho_alloc_chipset(pp, node, pc)
           struct psycho_pbm *pp;
           int node;
           pci_chipset_tag_t pc;
 {  {
         pci_chipset_tag_t npc;          pci_chipset_tag_t npc;
   
Line 724  psycho_alloc_chipset(struct psycho_pbm *
Line 739  psycho_alloc_chipset(struct psycho_pbm *
  * create extent for free bus space, then allocate assigned regions.   * create extent for free bus space, then allocate assigned regions.
  */   */
 static struct extent *  static struct extent *
 psycho_alloc_extent(struct psycho_pbm *pp, int node, int ss, const char *name)  psycho_alloc_extent(pp, node, ss, name)
           struct psycho_pbm *pp;
           int node;
           int ss;
           const char *name;
 {  {
         struct psycho_registers *pa = NULL;          struct psycho_registers *pa = NULL;
         struct psycho_ranges *pr;          struct psycho_ranges *pr;
Line 799  ret:
Line 818  ret:
  * grovel the OBP for various psycho properties   * grovel the OBP for various psycho properties
  */   */
 static void  static void
 psycho_get_bus_range(int node, int *brp)  psycho_get_bus_range(node, brp)
           int node;
           int *brp;
 {  {
         int n, error;          int n, error;
   
Line 814  psycho_get_bus_range(int node, int *brp)
Line 835  psycho_get_bus_range(int node, int *brp)
 }  }
   
 static void  static void
 psycho_get_ranges(int node, struct psycho_ranges **rp, int *np)  psycho_get_ranges(node, rp, np)
           int node;
           struct psycho_ranges **rp;
           int *np;
 {  {
   
         if (prom_getprop(node, "ranges", sizeof(**rp), np, rp))          if (prom_getprop(node, "ranges", sizeof(**rp), np, rp))
Line 827  psycho_get_ranges(int node, struct psych
Line 851  psycho_get_ranges(int node, struct psych
  */   */
   
 static int  static int
 psycho_ue(void *arg)  psycho_ue(arg)
           void *arg;
 {  {
         struct psycho_softc *sc = (struct psycho_softc *)arg;          struct psycho_softc *sc = (struct psycho_softc *)arg;
         struct psychoreg *regs = sc->sc_regs;          struct psychoreg *regs = sc->sc_regs;
Line 860  psycho_ue(void *arg)
Line 885  psycho_ue(void *arg)
         return (1);          return (1);
 }  }
 static int  static int
 psycho_ce(void *arg)  psycho_ce(arg)
           void *arg;
 {  {
         struct psycho_softc *sc = (struct psycho_softc *)arg;          struct psycho_softc *sc = (struct psycho_softc *)arg;
         struct psychoreg *regs = sc->sc_regs;          struct psychoreg *regs = sc->sc_regs;
Line 875  psycho_ce(void *arg)
Line 901  psycho_ce(void *arg)
         return (1);          return (1);
 }  }
 static int  static int
 psycho_bus_a(void *arg)  psycho_bus_a(arg)
           void *arg;
 {  {
         struct psycho_softc *sc = (struct psycho_softc *)arg;          struct psycho_softc *sc = (struct psycho_softc *)arg;
         struct psychoreg *regs = sc->sc_regs;          struct psychoreg *regs = sc->sc_regs;
Line 891  psycho_bus_a(void *arg)
Line 918  psycho_bus_a(void *arg)
         return (1);          return (1);
 }  }
 static int  static int
 psycho_bus_b(void *arg)  psycho_bus_b(arg)
           void *arg;
 {  {
         struct psycho_softc *sc = (struct psycho_softc *)arg;          struct psycho_softc *sc = (struct psycho_softc *)arg;
         struct psychoreg *regs = sc->sc_regs;          struct psychoreg *regs = sc->sc_regs;
Line 908  psycho_bus_b(void *arg)
Line 936  psycho_bus_b(void *arg)
 }  }
   
 static int  static int
 psycho_powerfail(void *arg)  psycho_powerfail(arg)
           void *arg;
 {  {
         struct psycho_softc *sc = (struct psycho_softc *)arg;          struct psycho_softc *sc = (struct psycho_softc *)arg;
   
Line 924  psycho_powerfail(void *arg)
Line 953  psycho_powerfail(void *arg)
 }  }
   
 static  static
 int psycho_wakeup(void *arg)  int psycho_wakeup(arg)
           void *arg;
 {  {
         struct psycho_softc *sc = (struct psycho_softc *)arg;          struct psycho_softc *sc = (struct psycho_softc *)arg;
   
Line 942  int psycho_wakeup(void *arg)
Line 972  int psycho_wakeup(void *arg)
  * initialise the IOMMU..   * initialise the IOMMU..
  */   */
 void  void
 psycho_iommu_init(struct psycho_softc *sc, int tsbsize)  psycho_iommu_init(sc, tsbsize)
           struct psycho_softc *sc;
           int tsbsize;
 {  {
         char *name;          char *name;
         struct iommu_state *is = sc->sc_is;          struct iommu_state *is = sc->sc_is;
         uint32_t iobase = -1;          u_int32_t iobase = -1;
         int *vdma = NULL;          int *vdma = NULL;
         int nitem;          int nitem;
   
Line 994  psycho_iommu_init(struct psycho_softc *s
Line 1026  psycho_iommu_init(struct psycho_softc *s
  * below here is bus space and bus DMA support   * below here is bus space and bus DMA support
  */   */
 bus_space_tag_t  bus_space_tag_t
 psycho_alloc_bus_tag(struct psycho_pbm *pp, int type)  psycho_alloc_bus_tag(pp, type)
           struct psycho_pbm *pp;
           int type;
 {  {
         struct psycho_softc *sc = pp->pp_sc;          struct psycho_softc *sc = pp->pp_sc;
         bus_space_tag_t bt;          bus_space_tag_t bt;
Line 1015  psycho_alloc_bus_tag(struct psycho_pbm *
Line 1049  psycho_alloc_bus_tag(struct psycho_pbm *
 }  }
   
 bus_dma_tag_t  bus_dma_tag_t
 psycho_alloc_dma_tag(struct psycho_pbm *pp)  psycho_alloc_dma_tag(pp)
           struct psycho_pbm *pp;
 {  {
         struct psycho_softc *sc = pp->pp_sc;          struct psycho_softc *sc = pp->pp_sc;
         bus_dma_tag_t dt, pdt = sc->sc_dmatag;          bus_dma_tag_t dt, pdt = sc->sc_dmatag;
Line 1052  psycho_alloc_dma_tag(struct psycho_pbm *
Line 1087  psycho_alloc_dma_tag(struct psycho_pbm *
  */   */
   
 static int  static int
 get_childspace(int type)  get_childspace(type)
           int type;
 {  {
         int ss;          int ss;
   
Line 1080  get_childspace(int type)
Line 1116  get_childspace(int type)
 }  }
   
 static struct psycho_ranges *  static struct psycho_ranges *
 get_psychorange(struct psycho_pbm *pp, int ss)  get_psychorange(pp, ss)
           struct psycho_pbm *pp;
           int ss;
 {  {
         int i;          int i;
   
Line 1093  get_psychorange(struct psycho_pbm *pp, i
Line 1131  get_psychorange(struct psycho_pbm *pp, i
 }  }
   
 static int  static int
 _psycho_bus_map(bus_space_tag_t t, bus_addr_t offset, bus_size_t size,  _psycho_bus_map(t, offset, size, flags, unused, hp)
         int flags, vaddr_t unused, bus_space_handle_t *hp)          bus_space_tag_t t;
           bus_addr_t offset;
           bus_size_t size;
           int     flags;
           vaddr_t unused;
           bus_space_handle_t *hp;
 {  {
         struct psycho_pbm *pp = t->cookie;          struct psycho_pbm *pp = t->cookie;
         struct psycho_softc *sc = pp->pp_sc;          struct psycho_softc *sc = pp->pp_sc;
Line 1125  _psycho_bus_map(bus_space_tag_t t, bus_a
Line 1168  _psycho_bus_map(bus_space_tag_t t, bus_a
 }  }
   
 static paddr_t  static paddr_t
 psycho_bus_mmap(bus_space_tag_t t, bus_addr_t paddr, off_t off, int prot,  psycho_bus_mmap(t, paddr, off, prot, flags)
         int flags)          bus_space_tag_t t;
           bus_addr_t paddr;
           off_t off;
           int prot;
           int flags;
 {  {
         bus_addr_t offset = paddr;          bus_addr_t offset = paddr;
         struct psycho_pbm *pp = t->cookie;          struct psycho_pbm *pp = t->cookie;
Line 1157  psycho_bus_mmap(bus_space_tag_t t, bus_a
Line 1204  psycho_bus_mmap(bus_space_tag_t t, bus_a
  * Get a PCI offset address from bus_space_handle_t.   * Get a PCI offset address from bus_space_handle_t.
  */   */
 bus_addr_t  bus_addr_t
 psycho_bus_offset(bus_space_tag_t t, bus_space_handle_t *hp)  psycho_bus_offset(t, hp)
           bus_space_tag_t t;
           bus_space_handle_t *hp;
 {  {
         struct psycho_pbm *pp = t->cookie;          struct psycho_pbm *pp = t->cookie;
         struct psycho_ranges *pr;          struct psycho_ranges *pr;
Line 1195  psycho_bus_offset(bus_space_tag_t t, bus
Line 1244  psycho_bus_offset(bus_space_tag_t t, bus
  * install an interrupt handler for a PCI device   * install an interrupt handler for a PCI device
  */   */
 void *  void *
 psycho_intr_establish(bus_space_tag_t t, int ihandle, int level,  psycho_intr_establish(t, ihandle, level, handler, arg, fastvec)
         int (*handler)(void *), void *arg, void (*fastvec)(void) /* ignored */)          bus_space_tag_t t;
           int ihandle;
           int level;
           int (*handler) __P((void *));
           void *arg;
           void (*fastvec) __P((void));    /* ignored */
 {  {
         struct psycho_pbm *pp = t->cookie;          struct psycho_pbm *pp = t->cookie;
         struct psycho_softc *sc = pp->pp_sc;          struct psycho_softc *sc = pp->pp_sc;
         struct intrhand *ih;          struct intrhand *ih;
         volatile uint64_t *intrmapptr = NULL, *intrclrptr = NULL;          volatile u_int64_t *intrmapptr = NULL, *intrclrptr = NULL;
         int64_t imap = 0;          int64_t imap = 0;
         int ino;          int ino;
         long vec = INTVEC(ihandle);          long vec = INTVEC(ihandle);
Line 1316  found:
Line 1370  found:
  * hooks into the iommu dvma calls.   * hooks into the iommu dvma calls.
  */   */
 int  int
 psycho_dmamap_load(bus_dma_tag_t t, bus_dmamap_t map, void *buf,  psycho_dmamap_load(t, map, buf, buflen, p, flags)
         bus_size_t buflen, struct proc *p, int flags)          bus_dma_tag_t t;
           bus_dmamap_t map;
           void *buf;
           bus_size_t buflen;
           struct proc *p;
           int flags;
 {  {
         struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;          struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;
   
Line 1325  psycho_dmamap_load(bus_dma_tag_t t, bus_
Line 1384  psycho_dmamap_load(bus_dma_tag_t t, bus_
 }  }
   
 void  void
 psycho_dmamap_unload(bus_dma_tag_t t, bus_dmamap_t map)  psycho_dmamap_unload(t, map)
           bus_dma_tag_t t;
           bus_dmamap_t map;
 {  {
         struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;          struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;
   
Line 1333  psycho_dmamap_unload(bus_dma_tag_t t, bu
Line 1394  psycho_dmamap_unload(bus_dma_tag_t t, bu
 }  }
   
 int  int
 psycho_dmamap_load_raw(bus_dma_tag_t t, bus_dmamap_t map,  psycho_dmamap_load_raw(t, map, segs, nsegs, size, flags)
         bus_dma_segment_t *segs, int nsegs, bus_size_t size, int flags)          bus_dma_tag_t t;
           bus_dmamap_t map;
           bus_dma_segment_t *segs;
           int nsegs;
           bus_size_t size;
           int flags;
 {  {
         struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;          struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;
   
Line 1342  psycho_dmamap_load_raw(bus_dma_tag_t t, 
Line 1408  psycho_dmamap_load_raw(bus_dma_tag_t t, 
 }  }
   
 void  void
 psycho_dmamap_sync(bus_dma_tag_t t, bus_dmamap_t map, bus_addr_t offset,  psycho_dmamap_sync(t, map, offset, len, ops)
         bus_size_t len, int ops)          bus_dma_tag_t t;
           bus_dmamap_t map;
           bus_addr_t offset;
           bus_size_t len;
           int ops;
 {  {
         struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;          struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;
   
Line 1361  psycho_dmamap_sync(bus_dma_tag_t t, bus_
Line 1431  psycho_dmamap_sync(bus_dma_tag_t t, bus_
 }  }
   
 int  int
 psycho_dmamem_alloc(bus_dma_tag_t t, bus_size_t size, bus_size_t alignment,  psycho_dmamem_alloc(t, size, alignment, boundary, segs, nsegs, rsegs, flags)
         bus_size_t boundary, bus_dma_segment_t *segs, int nsegs, int *rsegs,          bus_dma_tag_t t;
         int flags)          bus_size_t size;
           bus_size_t alignment;
           bus_size_t boundary;
           bus_dma_segment_t *segs;
           int nsegs;
           int *rsegs;
           int flags;
 {  {
         struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;          struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;
   
Line 1372  psycho_dmamem_alloc(bus_dma_tag_t t, bus
Line 1448  psycho_dmamem_alloc(bus_dma_tag_t t, bus
 }  }
   
 void  void
 psycho_dmamem_free(bus_dma_tag_t t, bus_dma_segment_t *segs, int nsegs)  psycho_dmamem_free(t, segs, nsegs)
           bus_dma_tag_t t;
           bus_dma_segment_t *segs;
           int nsegs;
 {  {
         struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;          struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;
   
Line 1380  psycho_dmamem_free(bus_dma_tag_t t, bus_
Line 1459  psycho_dmamem_free(bus_dma_tag_t t, bus_
 }  }
   
 int  int
 psycho_dmamem_map(bus_dma_tag_t t, bus_dma_segment_t *segs, int nsegs,  psycho_dmamem_map(t, segs, nsegs, size, kvap, flags)
         size_t size, caddr_t *kvap, int flags)          bus_dma_tag_t t;
           bus_dma_segment_t *segs;
           int nsegs;
           size_t size;
           caddr_t *kvap;
           int flags;
 {  {
         struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;          struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;
   
Line 1389  psycho_dmamem_map(bus_dma_tag_t t, bus_d
Line 1473  psycho_dmamem_map(bus_dma_tag_t t, bus_d
 }  }
   
 void  void
 psycho_dmamem_unmap(bus_dma_tag_t t, caddr_t kva, size_t size)  psycho_dmamem_unmap(t, kva, size)
           bus_dma_tag_t t;
           caddr_t kva;
           size_t size;
 {  {
         struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;          struct psycho_pbm *pp = (struct psycho_pbm *)t->_cookie;
   

Legend:
Removed from v.1.75.2.2  
changed lines
  Added in v.1.76

CVSweb <webmaster@jp.NetBSD.org>