From owner-svn-soc-all@freebsd.org Sun Aug 16 14:54:48 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1AD4F9BB05D for ; Sun, 16 Aug 2015 14:54:48 +0000 (UTC) (envelope-from pratiksinghal@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D971FBA9 for ; Sun, 16 Aug 2015 14:54:47 +0000 (UTC) (envelope-from pratiksinghal@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7GEsluB092925 for ; Sun, 16 Aug 2015 14:54:47 GMT (envelope-from pratiksinghal@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7GEslDL092923 for svn-soc-all@FreeBSD.org; Sun, 16 Aug 2015 14:54:47 GMT (envelope-from pratiksinghal@FreeBSD.org) Date: Sun, 16 Aug 2015 14:54:47 GMT Message-Id: <201508161454.t7GEslDL092923@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to pratiksinghal@FreeBSD.org using -f From: pratiksinghal@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289808 - soc2015/pratiksinghal/cubie-head/sys/arm/allwinner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2015 14:54:48 -0000 Author: pratiksinghal Date: Sun Aug 16 14:54:46 2015 New Revision: 289808 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289808 Log: PCM channels are now initialized correctly Modified: soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c Modified: soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c ============================================================================== --- soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c Sun Aug 16 13:59:11 2015 (r289807) +++ soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c Sun Aug 16 14:54:46 2015 (r289808) @@ -40,6 +40,9 @@ #include "a10_ac97.h" +#define A10_NREC_CHANNEL 1 +#define A10_NPLAY_CHANNEL 1 + /* TODO :- Add DMA support after the pio mode works corectly. */ struct a10_ac97_channel @@ -78,6 +81,14 @@ static void *a10_ac97_chan_init(kobj_t, void *, struct snd_dbuf *, struct pcm_channel *, int); static int a10_ac97_setfmt(kobj_t, void *, uint32_t); +static kobj_method_t a10_ac97_chan_methods[] = { + KOBJMETHOD(channel_init, a10_ac97_chan_init), + KOBJMETHOD(channel_setformat, a10_ac97_setfmt), + KOBJMETHOD_END +}; + +CHANNEL_DECLARE(a10_ac97_chan); + #define AC97_READ(_sc, _reg) \ bus_space_read_4((_sc)->ac97_bst, (_sc)->ac97_bsh, _reg) #define AC97_WRITE(_sc, _reg, _value) \ @@ -132,6 +143,12 @@ sc->ac97_bst = rman_get_bustag(sc->mem_res); sc->ac97_bsh = rman_get_bushandle(sc->mem_res); + if (pcm_register(sc->ac_dev, sc, A10_NPLAY_CHANNEL, A10_NREC_CHANNEL)) + goto fail; + + pcm_addchan(sc->ac_dev, PCMDIR_PLAY, &a10_ac97_chan_class, sc); + pcm_addchan(sc->ac_dev, PCMDIR_REC, &a10_ac97_chan_class, sc); + mtx_init(&sc->ac97_mtx, device_get_nameunit(dev), "a10_ac97", MTX_DEF); uint32_t val,total; @@ -226,20 +243,6 @@ } } -static kobj_method_t a10_ac97_chan_methods[] = { - KOBJMETHOD(channel_init, a10_ac97_chan_init), - KOBJMETHOD(channel_setformat, a10_ac97_setfmt), - //KOBJMETHOD(channel_setspeed, a10_ac97_speed), - //KOBJMETHOD(channel_setblocksize, a10_ac97_setblksz), - //KOBJMETHOD(channel_setfragments, a10_ac97_setfragments), - //KOBJMETHOD(channel_trigger, a10_ac97_chan_trigger), - //KOBJMETHOD(channel_getptr, a10_ac97_getptr), - //KOBJMETHOD(channel_getcaps, a10_ac97_getcaps) - KOBJMETHOD_END -}; - -CHANNEL_DECLARE(a10_ac97_chan); - static device_method_t a10_ac97_methods[] = { DEVMETHOD(device_probe, ac97_probe), DEVMETHOD(device_attach, ac97_attach),