Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932688AbcLHMbk (ORCPT ); Thu, 8 Dec 2016 07:31:40 -0500 Received: from mail-io0-f195.google.com ([209.85.223.195]:36091 "EHLO mail-io0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932360AbcLHMbg (ORCPT ); Thu, 8 Dec 2016 07:31:36 -0500 MIME-Version: 1.0 In-Reply-To: References: <58356EA8.2010806@free.fr> <20161125045549.GC2698@localhost> <092f44ee-4560-be17-25f7-00948dba3cfa@free.fr> <20fc9020-7278-bc2f-2a8d-43aff5cabff8@free.fr> <20161206051222.GQ6408@localhost> <5846B237.8060409@free.fr> <20161207164341.GX6408@localhost> <20161208103921.GC6408@localhost> From: Geert Uytterhoeven Date: Thu, 8 Dec 2016 13:31:34 +0100 X-Google-Sender-Auth: 9N-Vk0SIONEwVLzZexyD6HUsJzg Message-ID: Subject: Re: Tearing down DMA transfer setup after DMA client has finished To: =?UTF-8?B?TcOlbnMgUnVsbGfDpXJk?= Cc: Vinod Koul , Mason , Russell King , dmaengine@vger.kernel.org, Linus Walleij , Dan Williams , LKML , Linux ARM , Jon Mason , Mark Brown , Lars-Peter Clausen , Lee Jones , Laurent Pinchart , Arnd Bergmann , Maxime Ripard , Dave Jiang , Peter Ujfalusi , Bartlomiej Zolnierkiewicz , Sebastian Frias , Thibaud Cornic Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id uB8CVmu5029856 Content-Length: 2058 Lines: 44 On Thu, Dec 8, 2016 at 1:20 PM, Måns Rullgård wrote: > Geert Uytterhoeven writes: >> On Thu, Dec 8, 2016 at 12:44 PM, Måns Rullgård wrote: >>> Vinod Koul writes: >>>> On Wed, Dec 07, 2016 at 04:45:58PM +0000, Måns Rullgård wrote: >>>>> Vinod Koul writes: >>>>> > On Tue, Dec 06, 2016 at 01:14:20PM +0000, Måns Rullgård wrote: >>>>> >> That's not going to work very well. Device drivers typically request >>>>> >> dma channels in their probe functions or when the device is opened. >>>>> >> This means that reserving one of the few channels there will inevitably >>>>> >> make some other device fail to operate. >>>>> > >>>>> > No that doesnt make sense at all, you should get a channel only when you >>>>> > want to use it and not in probe! >>>>> >>>>> Tell that to just about every single driver ever written. >>>> >>>> Not really, few do yes which is wrong but not _all_ do that. >>> >>> Every driver I ever looked at does. Name one you consider "correct." >> >> I'm far from claiming that drivers/tty/serial/sh-sci.c is perfect, but >> it does request DMA channels at open time, not at probe time. > > In the part quoted above, I said most drivers request dma channels in > their probe or open functions. For the purposes of this discussion, > that distinction is irrelevant. In either case, the channel is held > indefinitely. If this wasn't the correct way to use the dmaengine, > there would be no need for the virt-dma helpers which are specifically > designed for cases the one currently at hand. Sorry, I mainly read Vinod's "not in probe", and missed your "or when the device is opened". Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds