[BACK]Return to bktr_core.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / dev / pci / bktr

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

Diff for /src/sys/dev/pci/bktr/bktr_core.c between version 1.36 and 1.36.18.1

version 1.36, 2005/12/11 12:23:22 version 1.36.18.1, 2006/09/14 05:07:09
Line 471  static int      i2c_read_byte(bktr_ptr_t
Line 471  static int      i2c_read_byte(bktr_ptr_t
 /*  /*
  * the common attach code, used by all OS versions.   * the common attach code, used by all OS versions.
  */   */
 void  int
 common_bktr_attach(bktr_ptr_t bktr, int unit, u_long pci_id, u_int rev)  common_bktr_attach(bktr_ptr_t bktr, int unit, u_long pci_id, u_int rev)
 {  {
 #if defined(__NetBSD__)  #if defined(__NetBSD__)
Line 487  common_bktr_attach(bktr_ptr_t bktr, int 
Line 487  common_bktr_attach(bktr_ptr_t bktr, int 
         /* allocate space for DMA program */          /* allocate space for DMA program */
         bktr->dma_prog = get_bktr_mem(bktr, &bktr->dm_prog,          bktr->dma_prog = get_bktr_mem(bktr, &bktr->dm_prog,
                                       DMA_PROG_ALLOC);                                        DMA_PROG_ALLOC);
           if (bktr->dma_prog == 0)
                   return 0;
         bktr->odd_dma_prog = get_bktr_mem(bktr, &bktr->dm_oprog,          bktr->odd_dma_prog = get_bktr_mem(bktr, &bktr->dm_oprog,
                                           DMA_PROG_ALLOC);                                            DMA_PROG_ALLOC);
           if (bktr->odd_dma_prog == 0)
                   return 0;
   
         /* allocate space for the VBI buffer */          /* allocate space for the VBI buffer */
         bktr->vbidata  = get_bktr_mem(bktr, &bktr->dm_vbidata,          bktr->vbidata  = get_bktr_mem(bktr, &bktr->dm_vbidata,
                                       VBI_DATA_SIZE);                                        VBI_DATA_SIZE);
           if (bktr->vbidata == 0)
                   return 0;
         bktr->vbibuffer = get_bktr_mem(bktr, &bktr->dm_vbibuffer,          bktr->vbibuffer = get_bktr_mem(bktr, &bktr->dm_vbibuffer,
                                        VBI_BUFFER_SIZE);                                         VBI_BUFFER_SIZE);
           if (bktr->vbibuffer == 0)
                   return 0;
   
         /* allocate space for pixel buffer */          /* allocate space for pixel buffer */
         if (BROOKTREE_ALLOC)          if (BROOKTREE_ALLOC) {
                 sbuf = get_bktr_mem(bktr, &bktr->dm_mem, BROOKTREE_ALLOC);                  sbuf = get_bktr_mem(bktr, &bktr->dm_mem, BROOKTREE_ALLOC);
         else                  if (sbuf == 0)
                           return 0;
           } else
                 sbuf = 0;                  sbuf = 0;
 #endif  #endif
   
Line 550  bktr_store_address(unit, BKTR_MEM_BUF,  
Line 560  bktr_store_address(unit, BKTR_MEM_BUF,  
         if (bootverbose) {          if (bootverbose) {
                 printf("%s: buffer size %d, addr %p\n",                  printf("%s: buffer size %d, addr %p\n",
                         bktr_name(bktr), BROOKTREE_ALLOC,                          bktr_name(bktr), BROOKTREE_ALLOC,
                         (void *)(uintptr_t)vtophys(sbuf));                          (void *)(uintptr_t)bktr->dm_mem->dm_segs[0].ds_addr);
         }          }
   
         if (sbuf != 0) {          if (sbuf != 0) {
Line 625  bktr_store_address(unit, BKTR_MEM_BUF,  
Line 635  bktr_store_address(unit, BKTR_MEM_BUF,  
   
         /* Initialise any MSP34xx or TDA98xx audio chips */          /* Initialise any MSP34xx or TDA98xx audio chips */
         init_audio_devices(bktr);          init_audio_devices(bktr);
           return 1;
 }  }
   
   
Line 758  common_bktr_intr(void *arg)
Line 768  common_bktr_intr(void *arg)
                         }                          }
                 }                  }
   
                 OUTL(bktr, BKTR_RISC_STRT_ADD, vtophys(bktr->dma_prog));                  OUTL(bktr, BKTR_RISC_STRT_ADD,
                       bktr->dm_prog->dm_segs[0].ds_addr);
                 OUTW(bktr, BKTR_GPIO_DMA_CTL, FIFO_ENABLED);                  OUTW(bktr, BKTR_GPIO_DMA_CTL, FIFO_ENABLED);
                 OUTW(bktr, BKTR_GPIO_DMA_CTL, bktr->capcontrol);                  OUTW(bktr, BKTR_GPIO_DMA_CTL, bktr->capcontrol);
   
Line 2735  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
Line 2746  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
         volatile u_long         pitch;          volatile u_long         pitch;
         volatile u_long         *dma_prog;      /* DMA prog is an array of          volatile u_long         *dma_prog;      /* DMA prog is an array of
                                                 32 bit RISC instructions */                                                  32 bit RISC instructions */
         volatile u_long         *loop_point;          volatile bus_addr_t     loop_point;
         const struct meteor_pixfmt_internal *pf_int = &pixfmt_table[bktr->pixfmt];          const struct meteor_pixfmt_internal *pf_int = &pixfmt_table[bktr->pixfmt];
         u_int                   Bpp = pf_int->public.Bpp;          u_int                   Bpp = pf_int->public.Bpp;
         unsigned int            vbisamples;     /* VBI samples per line */          unsigned int            vbisamples;     /* VBI samples per line */
Line 2780  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
Line 2791  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
                 pitch = bktr->video.width;                  pitch = bktr->video.width;
         }          }
         else {          else {
                 target_buffer = (u_long) vtophys(bktr->bigbuf);                  target_buffer = (u_long) bktr->dm_mem->dm_segs[0].ds_addr;
                 pitch = cols*Bpp;                  pitch = cols*Bpp;
         }          }
   
Line 2792  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
Line 2803  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
         *dma_prog++ = htole32(OP_SYNC | BKTR_RESYNC | BKTR_VRE);          *dma_prog++ = htole32(OP_SYNC | BKTR_RESYNC | BKTR_VRE);
         *dma_prog++ = htole32(0);          *dma_prog++ = htole32(0);
   
         loop_point = dma_prog;          loop_point = bktr->dm_prog->dm_segs[0].ds_addr;
   
         /* store the VBI data */          /* store the VBI data */
         /* look for sync with packed data */          /* look for sync with packed data */
Line 2800  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
Line 2811  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
         *dma_prog++ = htole32(0);          *dma_prog++ = htole32(0);
         for(i = 0; i < vbilines; i++) {          for(i = 0; i < vbilines; i++) {
                 *dma_prog++ = htole32(OP_WRITE | OP_SOL | OP_EOL | vbisamples);                  *dma_prog++ = htole32(OP_WRITE | OP_SOL | OP_EOL | vbisamples);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->vbidata +                  *dma_prog++ = htole32((u_long)
                                         (i * VBI_LINE_SIZE)));                      bktr->dm_vbidata->dm_segs[0].ds_addr + (i * VBI_LINE_SIZE));
         }          }
   
         if ((i_flag == 2/*Odd*/) || (i_flag==3) /*interlaced*/) {          if ((i_flag == 2/*Odd*/) || (i_flag==3) /*interlaced*/) {
Line 2851  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
Line 2862  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
         *dma_prog++ = htole32(0);          *dma_prog++ = htole32(0);
         for(i = 0; i < vbilines; i++) {          for(i = 0; i < vbilines; i++) {
                 *dma_prog++ = htole32(OP_WRITE | OP_SOL | OP_EOL | vbisamples);                  *dma_prog++ = htole32(OP_WRITE | OP_SOL | OP_EOL | vbisamples);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->vbidata +                  *dma_prog++ = htole32((u_long)
                                 ((i+MAX_VBI_LINES) * VBI_LINE_SIZE)));                      bktr->dm_vbidata->dm_segs[0].ds_addr +
                       ((i+MAX_VBI_LINES) * VBI_LINE_SIZE));
         }          }
   
         /* store the video image */          /* store the video image */
Line 2901  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
Line 2913  rgb_vbi_prog(bktr_ptr_t bktr, char i_fla
         *dma_prog++ = htole32(0);  /* NULL WORD */          *dma_prog++ = htole32(0);  /* NULL WORD */
   
         *dma_prog++ = htole32(OP_JUMP);          *dma_prog++ = htole32(OP_JUMP);
         *dma_prog++ = htole32((u_long) vtophys((vaddr_t)loop_point));          *dma_prog++ = htole32(loop_point);
         *dma_prog++ = htole32(0);  /* NULL WORD */          *dma_prog++ = htole32(0);  /* NULL WORD */
   
 }  }
Line 2952  rgb_prog(bktr_ptr_t bktr, char i_flag, i
Line 2964  rgb_prog(bktr_ptr_t bktr, char i_flag, i
                 pitch = bktr->video.width;                  pitch = bktr->video.width;
         }          }
         else {          else {
                 target_buffer = (u_long) vtophys(bktr->bigbuf);                  target_buffer = (u_long) bktr->dm_mem->dm_segs[0].ds_addr;
                 pitch = cols*Bpp;                  pitch = cols*Bpp;
         }          }
   
Line 2999  rgb_prog(bktr_ptr_t bktr, char i_flag, i
Line 3011  rgb_prog(bktr_ptr_t bktr, char i_flag, i
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
   
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_prog->dm_segs[0].ds_addr);
                 return;                  return;
   
         case 2:          case 2:
Line 3008  rgb_prog(bktr_ptr_t bktr, char i_flag, i
Line 3021  rgb_prog(bktr_ptr_t bktr, char i_flag, i
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
   
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_prog->dm_segs[0].ds_addr);
                 return;                  return;
   
         case 3:          case 3:
Line 3016  rgb_prog(bktr_ptr_t bktr, char i_flag, i
Line 3030  rgb_prog(bktr_ptr_t bktr, char i_flag, i
                 *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRO);                  *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRO);
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->odd_dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_oprog->dm_segs[0].ds_addr);
                 break;                  break;
         }          }
   
Line 3063  rgb_prog(bktr_ptr_t bktr, char i_flag, i
Line 3078  rgb_prog(bktr_ptr_t bktr, char i_flag, i
         *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRE);          *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRE);
         *dma_prog++ = htole32(0);  /* NULL WORD */          *dma_prog++ = htole32(0);  /* NULL WORD */
         *dma_prog++ = htole32(OP_JUMP);          *dma_prog++ = htole32(OP_JUMP);
         *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));          *dma_prog++ = htole32((u_long) bktr->dm_prog->dm_segs[0].ds_addr);
         *dma_prog++ = htole32(0);  /* NULL WORD */          *dma_prog++ = htole32(0);  /* NULL WORD */
 }  }
   
Line 3106  yuvpack_prog(bktr_ptr_t bktr, char i_fla
Line 3121  yuvpack_prog(bktr_ptr_t bktr, char i_fla
         if (bktr->video.addr)          if (bktr->video.addr)
                 target_buffer = (u_long) bktr->video.addr;                  target_buffer = (u_long) bktr->video.addr;
         else          else
                 target_buffer = (u_long) vtophys(bktr->bigbuf);                  target_buffer = (u_long) bktr->dm_mem->dm_segs[0].ds_addr;
   
         buffer = target_buffer;          buffer = target_buffer;
   
Line 3132  yuvpack_prog(bktr_ptr_t bktr, char i_fla
Line 3147  yuvpack_prog(bktr_ptr_t bktr, char i_fla
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
   
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));                  *dma_prog++ = htole32(
                                   (u_long)bktr->dm_prog->dm_segs[0].ds_addr);
                 return;                  return;
   
         case 2:          case 2:
Line 3140  yuvpack_prog(bktr_ptr_t bktr, char i_fla
Line 3156  yuvpack_prog(bktr_ptr_t bktr, char i_fla
                 *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_VRO);                  *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_VRO);
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_prog->dm_segs[0].ds_addr);
                 return;                  return;
   
         case 3:          case 3:
Line 3148  yuvpack_prog(bktr_ptr_t bktr, char i_fla
Line 3165  yuvpack_prog(bktr_ptr_t bktr, char i_fla
                 *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRO);                  *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRO);
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->odd_dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_oprog->dm_segs[0].ds_addr);
                 break;                  break;
         }          }
   
Line 3175  yuvpack_prog(bktr_ptr_t bktr, char i_fla
Line 3193  yuvpack_prog(bktr_ptr_t bktr, char i_fla
         *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRE);          *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRE);
         *dma_prog++ = htole32(0);  /* NULL WORD */          *dma_prog++ = htole32(0);  /* NULL WORD */
         *dma_prog++ = htole32(OP_JUMP);          *dma_prog++ = htole32(OP_JUMP);
         *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));          *dma_prog++ = htole32((u_long) bktr->dm_prog->dm_segs[0].ds_addr);
   
         *dma_prog++ = htole32(OP_JUMP);          *dma_prog++ = htole32(OP_JUMP);
         *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));          *dma_prog++ = htole32((u_long)bktr->dm_prog->dm_segs[0].ds_addr);
         *dma_prog++ = htole32(0);  /* NULL WORD */          *dma_prog++ = htole32(0);  /* NULL WORD */
 }  }
   
Line 3224  yuv422_prog(bktr_ptr_t bktr, char i_flag
Line 3242  yuv422_prog(bktr_ptr_t bktr, char i_flag
         if (bktr->video.addr)          if (bktr->video.addr)
                 target_buffer = (u_long) bktr->video.addr;                  target_buffer = (u_long) bktr->video.addr;
         else          else
                 target_buffer = (u_long) vtophys(bktr->bigbuf);                  target_buffer = (u_long) bktr->dm_mem->dm_segs[0].ds_addr;
   
         buffer = target_buffer;          buffer = target_buffer;
   
Line 3249  yuv422_prog(bktr_ptr_t bktr, char i_flag
Line 3267  yuv422_prog(bktr_ptr_t bktr, char i_flag
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
   
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_prog->dm_segs[0].ds_addr);
                 return;                  return;
   
         case 2:          case 2:
Line 3257  yuv422_prog(bktr_ptr_t bktr, char i_flag
Line 3276  yuv422_prog(bktr_ptr_t bktr, char i_flag
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
   
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_prog->dm_segs[0].ds_addr);
                 return;                  return;
   
         case 3:          case 3:
Line 3265  yuv422_prog(bktr_ptr_t bktr, char i_flag
Line 3285  yuv422_prog(bktr_ptr_t bktr, char i_flag
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
   
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->odd_dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_oprog->dm_segs[0].ds_addr);
                 break;                  break;
         }          }
   
Line 3291  yuv422_prog(bktr_ptr_t bktr, char i_flag
Line 3312  yuv422_prog(bktr_ptr_t bktr, char i_flag
         *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRE);          *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRE);
         *dma_prog++ = htole32(0);  /* NULL WORD */          *dma_prog++ = htole32(0);  /* NULL WORD */
         *dma_prog++ = htole32(OP_JUMP);          *dma_prog++ = htole32(OP_JUMP);
         *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));          *dma_prog++ = htole32((u_long)bktr->dm_prog->dm_segs[0].ds_addr);
         *dma_prog++ = htole32(0);  /* NULL WORD */          *dma_prog++ = htole32(0);  /* NULL WORD */
 }  }
   
Line 3325  yuv12_prog(bktr_ptr_t bktr, char i_flag,
Line 3346  yuv12_prog(bktr_ptr_t bktr, char i_flag,
         if (bktr->video.addr)          if (bktr->video.addr)
                 target_buffer = (u_long) bktr->video.addr;                  target_buffer = (u_long) bktr->video.addr;
         else          else
                 target_buffer = (u_long) vtophys(bktr->bigbuf);                  target_buffer = (u_long) bktr->dm_mem->dm_segs[0].ds_addr;
   
         buffer = target_buffer;          buffer = target_buffer;
         t1 = buffer;          t1 = buffer;
Line 3353  yuv12_prog(bktr_ptr_t bktr, char i_flag,
Line 3374  yuv12_prog(bktr_ptr_t bktr, char i_flag,
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
   
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_prog->dm_segs[0].ds_addr);
                 return;                  return;
   
         case 2:          case 2:
Line 3361  yuv12_prog(bktr_ptr_t bktr, char i_flag,
Line 3383  yuv12_prog(bktr_ptr_t bktr, char i_flag,
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
   
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_prog->dm_segs[0].ds_addr);
                 return;                  return;
   
         case 3:          case 3:
                 *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRO);                  *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRO);
                 *dma_prog++ = htole32(0);  /* NULL WORD */                  *dma_prog++ = htole32(0);  /* NULL WORD */
                 *dma_prog++ = htole32(OP_JUMP);                  *dma_prog++ = htole32(OP_JUMP);
                 *dma_prog++ = htole32((u_long) vtophys(bktr->odd_dma_prog));                  *dma_prog++ = htole32((u_long)
                                   bktr->dm_oprog->dm_segs[0].ds_addr);
                 break;                  break;
         }          }
   
Line 3401  yuv12_prog(bktr_ptr_t bktr, char i_flag,
Line 3425  yuv12_prog(bktr_ptr_t bktr, char i_flag,
         *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRE);          *dma_prog++ = htole32(OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRE);
         *dma_prog++ = htole32(0);  /* NULL WORD */          *dma_prog++ = htole32(0);  /* NULL WORD */
         *dma_prog++ = htole32(OP_JUMP);          *dma_prog++ = htole32(OP_JUMP);
         *dma_prog++ = htole32((u_long) vtophys(bktr->dma_prog));          *dma_prog++ = htole32((u_long)bktr->dm_prog->dm_segs[0].ds_addr);
         *dma_prog++ = htole32(0);  /* NULL WORD */          *dma_prog++ = htole32(0);  /* NULL WORD */
 }  }
   
Line 3561  build_dma_prog(bktr_ptr_t bktr, char i_f
Line 3585  build_dma_prog(bktr_ptr_t bktr, char i_f
                 break;                  break;
         }          }
   
         OUTL(bktr, BKTR_RISC_STRT_ADD, vtophys(bktr->dma_prog));          OUTL(bktr, BKTR_RISC_STRT_ADD, bktr->dm_prog->dm_segs[0].ds_addr);
   
         rows = bktr->rows;          rows = bktr->rows;
         cols = bktr->cols;          cols = bktr->cols;
Line 3669  start_capture(bktr_ptr_t bktr, unsigned 
Line 3693  start_capture(bktr_ptr_t bktr, unsigned 
         }          }
   
   
         OUTL(bktr, BKTR_RISC_STRT_ADD, vtophys(bktr->dma_prog));          OUTL(bktr, BKTR_RISC_STRT_ADD, bktr->dm_prog->dm_segs[0].ds_addr);
   
 }  }
   

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.36.18.1

CVSweb <webmaster@jp.NetBSD.org>