Module Name: src
Committed By: isaki
Date: Fri Aug 11 06:47:35 UTC 2017
Modified Files:
src/sys/arch/x68k/dev: vs.c
Log Message:
Use dmac_prepare_xfer().
>From Y.Sugahara.
To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/x68k/dev/vs.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/x68k/dev/vs.c
diff -u src/sys/arch/x68k/dev/vs.c:1.44 src/sys/arch/x68k/dev/vs.c:1.45
--- src/sys/arch/x68k/dev/vs.c:1.44 Sat Aug 5 06:05:37 2017
+++ src/sys/arch/x68k/dev/vs.c Fri Aug 11 06:47:35 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: vs.c,v 1.44 2017/08/05 06:05:37 isaki Exp $ */
+/* $NetBSD: vs.c,v 1.45 2017/08/11 06:47:35 isaki Exp $ */
/*
* Copyright (c) 2001 Tetsuya Isaki. All rights reserved.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vs.c,v 1.44 2017/08/05 06:05:37 isaki Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vs.c,v 1.45 2017/08/11 06:47:35 isaki Exp $");
#include "audio.h"
#include "vs.h"
@@ -490,7 +490,6 @@ vs_start_output(void *hdl, void *block,
{
struct vs_softc *sc;
struct vs_dma *vd;
- struct dmac_dma_xfer *xf;
struct dmac_channel_stat *chan;
int hwblksize;
@@ -518,17 +517,17 @@ vs_start_output(void *hdl, void *block,
vd = sc->sc_dmas;
chan = sc->sc_dma_ch;
- xf = dmac_alloc_xfer(chan, sc->sc_dmat, vd->vd_map);
- sc->sc_current.xfer = xf;
chan->ch_dcr = (DMAC_DCR_XRM_CSWOH | DMAC_DCR_OTYP_EASYNC |
DMAC_DCR_OPS_8BIT);
chan->ch_ocr = DMAC_OCR_REQG_EXTERNAL;
- xf->dx_ocr = DMAC_OCR_DIR_MTD;
- xf->dx_scr = DMAC_SCR_MAC_COUNT_UP | DMAC_SCR_DAC_NO_COUNT;
- xf->dx_device = sc->sc_addr + MSM6258_DATA * 2 + 1;
- dmac_load_xfer(chan->ch_softc, xf);
- dmac_start_xfer_offset(chan->ch_softc, xf, 0, sc->sc_current.blksize);
+ sc->sc_current.xfer = dmac_prepare_xfer(chan, sc->sc_dmat, vd->vd_map,
+ DMAC_OCR_DIR_MTD,
+ (DMAC_SCR_MAC_COUNT_UP | DMAC_SCR_DAC_NO_COUNT),
+ sc->sc_addr + MSM6258_DATA * 2 + 1);
+
+ dmac_start_xfer_offset(chan->ch_softc, sc->sc_current.xfer, 0,
+ sc->sc_current.blksize);
bus_space_write_1(sc->sc_iot, sc->sc_ioh, MSM6258_STAT, 2);
sc->sc_active = 1;
@@ -541,7 +540,6 @@ vs_start_input(void *hdl, void *block, i
{
struct vs_softc *sc;
struct vs_dma *vd;
- struct dmac_dma_xfer *xf;
struct dmac_channel_stat *chan;
int hwblksize;
@@ -567,17 +565,17 @@ vs_start_input(void *hdl, void *block, i
vd = sc->sc_dmas;
chan = sc->sc_dma_ch;
- xf = dmac_alloc_xfer(chan, sc->sc_dmat, vd->vd_map);
- sc->sc_current.xfer = xf;
chan->ch_dcr = (DMAC_DCR_XRM_CSWOH | DMAC_DCR_OTYP_EASYNC |
DMAC_DCR_OPS_8BIT);
chan->ch_ocr = DMAC_OCR_REQG_EXTERNAL;
- xf->dx_ocr = DMAC_OCR_DIR_DTM;
- xf->dx_scr = DMAC_SCR_MAC_COUNT_UP | DMAC_SCR_DAC_NO_COUNT;
- xf->dx_device = sc->sc_addr + MSM6258_DATA * 2 + 1;
- dmac_load_xfer(chan->ch_softc, xf);
- dmac_start_xfer_offset(chan->ch_softc, xf, 0, sc->sc_current.blksize);
+ sc->sc_current.xfer = dmac_prepare_xfer(chan, sc->sc_dmat, vd->vd_map,
+ DMAC_OCR_DIR_DTM,
+ (DMAC_SCR_MAC_COUNT_UP | DMAC_SCR_DAC_NO_COUNT),
+ sc->sc_addr + MSM6258_DATA * 2 + 1);
+
+ dmac_start_xfer_offset(chan->ch_softc, sc->sc_current.xfer, 0,
+ sc->sc_current.blksize);
bus_space_write_1(sc->sc_iot, sc->sc_ioh, MSM6258_STAT, 4);
sc->sc_active = 1;