Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755145AbaBRL2I (ORCPT ); Tue, 18 Feb 2014 06:28:08 -0500 Received: from mail-la0-f50.google.com ([209.85.215.50]:61406 "EHLO mail-la0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754869AbaBRL2G (ORCPT ); Tue, 18 Feb 2014 06:28:06 -0500 MIME-Version: 1.0 In-Reply-To: References: <1392465619-27614-1-git-send-email-sthokal@xilinx.com> <1392465619-27614-2-git-send-email-sthokal@xilinx.com> Date: Tue, 18 Feb 2014 16:58:04 +0530 X-Google-Sender-Auth: AX7TBZ1b1M2ER1xpu6k0C4SEkME Message-ID: Subject: Re: [PATCH v3 1/3] dma: Support multiple interleaved frames with non-contiguous memory From: Srikanth Thokala To: Jassi Brar Cc: Srikanth Thokala , "Williams, Dan J" , "Koul, Vinod" , michal.simek@xilinx.com, Grant Likely , robh+dt@kernel.org, devicetree@vger.kernel.org, Levente Kurusa , Lars-Peter Clausen , lkml , dmaengine@vger.kernel.org, Andy Shevchenko , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 17, 2014 at 3:27 PM, Jassi Brar wrote: > On 15 February 2014 17:30, Srikanth Thokala wrote: >> The current implementation of interleaved DMA API support multiple >> frames only when the memory is contiguous by incrementing src_start/ >> dst_start members of interleaved template. >> >> But, when the memory is non-contiguous it will restrict slave device >> to not submit multiple frames in a batch. This patch handles this >> issue by allowing the slave device to send array of interleaved dma >> templates each having a different memory location. >> > How fragmented could be memory in your case? Is it inefficient to > submit separate transfers for each segment/frame? > It will help if you could give a typical example (chunk size and gap > in bytes) of what you worry about. With scatter-gather engine feature in the hardware, submitting separate transfers for each frame look inefficient. As an example, our DMA engine supports up to 16 video frames, with each frame (a typical video frame size) being contiguous in memory but frames are scattered into different locations. We could not definitely submit frame by frame as it would be software overhead (HW interrupting for each frame) resulting in video lags. By this approach, it will allow slave device to submit multiple frames at once. Srikanth > > Thanks, > Jassi > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/