From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755177AbcLOEmZ (ORCPT ); Wed, 14 Dec 2016 23:42:25 -0500 Received: from mga09.intel.com ([134.134.136.24]:42774 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754784AbcLOEmY (ORCPT ); Wed, 14 Dec 2016 23:42:24 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,350,1477983600"; d="scan'208";a="1082036449" Date: Thu, 15 Dec 2016 10:08:51 +0530 From: Vinod Koul To: Holger Dengler Cc: Lee Jones , Arnd Bergmann , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, Thomas Gleixner , Sebastian Siewior , Juergen Bubeck , Peter Mahler , Benedikt Spranger Subject: Re: [PATCH 12/12] dma: Flexcard DMA ringbuffer demux driver Message-ID: <20161215043851.GH25795@localhost> References: <1481674313-30378-1-git-send-email-dengler@linutronix.de> <1481674313-30378-13-git-send-email-dengler@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1481674313-30378-13-git-send-email-dengler@linutronix.de> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Dec 14, 2016 at 01:11:53AM +0100, Holger Dengler wrote: > The Flexcard interface design split packet receive and transmit. All > received packets and card status information are multiplexed with a > Flexcard specific protocol and handled through a DMA capable ringbuffer. > The TX path has to poke each available component separate. > > Add a Flexcard DMA ringbuffer driver and packet demultiplexer. so the dma driver should only provide service and not do demuxing... > +config FLEXCARD_DMA > + tristate "DMA support for Eberspaecher Flexcard PMC II Carrier Board" > + depends on MFD_FLEXCARD > + help > + The Eberspaecher Flexcard PMC (PCI Mezzanine Card) II carrier > + board support one DMA capable receive ringbuffer for all devices. > + A card specific protocol is used to multiplex the received packets > + through the ringbuffer. Enable DMA and Packet parser. > + This file is sorted alphabetically, so please add it it relavant place > +#define DMA_TOTAL_BUF_SIZE (2*FLEXCARD_DMA_BUF_SIZE) space around * pls > +#define FLEXCARD_DMA_BUF_SIZE 0x200000 > +#define FLEXCARD_DMA_BUF_MASK (FLEXCARD_DMA_BUF_SIZE - 1) > + > +#define FLEXCARD_DMA_CTRL_DMA_ENA (1 << 0) > +#define FLEXCARD_DMA_CTRL_MAN_ENA (1 << 1) > +#define FLEXCARD_DMA_CTRL_STOP_REQ (1 << 16) > +#define FLEXCARD_DMA_CTRL_DMA_IDLE (1 << 17) > +#define FLEXCARD_DMA_CTRL_RST_DMA (1 << 31) BIT() and friends please > + > +#define FLEXCARD_DMA_STAT_BUSY (1 << 15) > +#define FLEXCARD_DMA_STAT_OFL (1 << 31) > + > +#define FLEXCARD_MAX_PAKET_SIZE 0x200 > + > +#define FLEXCARD_BUF_HEADER_LEN_SHIFT 15 > +#define FLEXCARD_BUF_HEADER_LEN_MASK 0xfe > + > +#define FLEXCARD_CANIF_OFFSET 0x20 Okay I have skipped over the parser and other stuff and still looking for the dmaengine APIs. This driver _doesn't_ do that, and am not sure why. Anyway, if this driver doesnt need dmaengine APIs it doesnt belong in drivers/dma/. Otherwise please port to dmanegine APIs, possibly use parser as a client. You cna use virt-channels as well for managing the transfers. So I am not considering this submission Thanks -- ~Vinod