Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757618AbYBMVGw (ORCPT ); Wed, 13 Feb 2008 16:06:52 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752440AbYBMVGo (ORCPT ); Wed, 13 Feb 2008 16:06:44 -0500 Received: from nat-132.atmel.no ([80.232.32.132]:58583 "EHLO relay.atmel.no" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752287AbYBMVGn (ORCPT ); Wed, 13 Feb 2008 16:06:43 -0500 Date: Wed, 13 Feb 2008 22:06:46 +0100 From: Haavard Skinnemoen To: "Dan Williams" Cc: linux-kernel@vger.kernel.org, "Shannon Nelson" , "David Brownell" , kernel@avr32linux.org, "Francis Moreau" , "Paul Mundt" , "Vladimir A. Barinov" , "Pierre Ossman" Subject: Re: [RFC v2 5/5] Atmel MCI: Driver for Atmel on-chip MMC controllers Message-ID: <20080213220646.081583d6@siona> In-Reply-To: References: <1201630213-31900-1-git-send-email-hskinnemoen@atmel.com> <1201630213-31900-2-git-send-email-hskinnemoen@atmel.com> <1201630213-31900-3-git-send-email-hskinnemoen@atmel.com> <1201630213-31900-4-git-send-email-hskinnemoen@atmel.com> <1201630213-31900-5-git-send-email-hskinnemoen@atmel.com> <1201630213-31900-6-git-send-email-hskinnemoen@atmel.com> Organization: Atmel X-Mailer: Claws Mail 2.10.0 (GTK+ 2.12.0; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1319 Lines: 33 On Wed, 13 Feb 2008 12:11:58 -0700 "Dan Williams" wrote: > > + desc = chan->device->device_prep_slave(chan, > > + sg_dma_address(sg), direction, > > + DMA_SLAVE_WIDTH_32BIT, > > + sg_dma_len(sg), dma_flags); > > + desc->txd.callback = NULL; > > + list_add_tail(&desc->client_node, > > + &host->dma.data_descs); > > + } > > Need to handle device_prep_slave returning NULL? You're right, we definitely need to handle that. Which probably means we need to prepare an interrupt descriptor first that we can throw in when we're unable to obtain more descriptors, and submit the rest from the callback. Except we're not allowed to submit anything from the callback. Ouch. How can we solve that? Set up a work queue and submit it from there? Trigger a different tasklet? In any case, I guess I need to implement support for interrupt descriptors in the dw_dmac driver. Haavard -- 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/