WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [ivtv-devel] Problems loading ivtv in Xen - DMA issues?

To: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: [Xen-devel] Re: [ivtv-devel] Problems loading ivtv in Xen - DMA issues?
From: David Muench <davemuench@xxxxxxxxx>
Date: Fri, 15 Jul 2005 08:43:29 -0400
Cc: xen-devel List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 15 Jul 2005 12:44:01 +0000
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=A0FxDlGbsrvdkIE3rXpOTPdF+UNZgd8OFfrYbUPvsy+ANRhTG7fp/q9Mh7PktoJrtnVoOvxrR55vFMXQr9a7U6otvBaOOPhG61eqyJOWd+6LBjgBW9UX9kWscbWLYItWrbLHBlyhxANgNsyK+qNKz3i37RgMKO28G3Ds3grfgqE=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <a7cabfda232da909dbfb7ab385493621@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <bc0c36d305070607205e82ea14@xxxxxxxxxxxxxx> <1120750950.1556.24.camel@mud> <bc0c36d30507070907307b7a8e@xxxxxxxxxxxxxx> <5c8bdef6ff868881d1a1e3bc0a79a906@xxxxxxxxxxxx> <bc0c36d305070710343d90162@xxxxxxxxxxxxxx> <16670726ccb66463d6804f0dc87e3690@xxxxxxxxxxxx> <bc0c36d30507080838152a8618@xxxxxxxxxxxxxx> <38a9ac6264e50346c160833d732fc567@xxxxxxxxxxxx> <bc0c36d3050713125185b3c9a@xxxxxxxxxxxxxx> <a7cabfda232da909dbfb7ab385493621@xxxxxxxxxxxx>
Reply-to: David Muench <davemuench@xxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On 7/13/05, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> wrote:
> 
> I believe the code as checked in is strictly correct, but maybe we can
> relax things a little. What happens if you leave the direction tests in
> dma_map_single and dma_unmap_single, but remove them from
> dma_sync_single_for_cpu and dma_sync_single_for_device?

That works fine.

> If the above works, leave the direction tests in the new modified form;
> otherwise revert to the previous working state (ie. direction tests
> removed from all four functions). Either way, another thing that is
> interesting to try is the following:
> (1) At the start of dma_sync_single_for_cpu add:
>   if (direction == DMA_TO_DEVICE)
>      dma_sync_single_for_device(dev, dma_handle, size, direction);
> (2) At the start of dma_sync_single_for_device add:
>   if (direction == DMA_FROM_DEVICE)
>      dma_sync_single_for_cpu(dev, dma_handle, size, direction);
> 
> This will make the sync functions behave as they do in the ARM
> architecture, which also uses bounce buffers but has at least been
> looked over by the core kernel DMA guys.

That doesn't work however:

saa7115: decoder disable output
saa7115: decoder enable output
ivtv: DEC: REG_ENCSG1LEN wait failed
ivtv: DMA Registers State: xfer: 0x00000002, state: 0x00000001
dec_addr: 0x00000000 enc_addr: 0x46760060 control: 0x00000003
ivtv: DMA DEC Buffers:
 0x00000000:0x00000000:0x00000000
ivtv: DMA ENC Buffers:
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
ivtv: ENC: REG_DMAXFER wait failed
ivtv: DMA Registers State: xfer: 0x00000002, state: 0x00000001
dec_addr: 0x00000000 enc_addr: 0x46760060 control: 0x00000003
ivtv: DMA DEC Buffers:
 0x00000000:0x00000000:0x00000000
ivtv: DMA ENC Buffers:
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
ivtv: ENC: User stopped capture.
ivtv: ENC: REG_DMASTATUS2 wait failed
ivtv: DMA Registers State: xfer: 0x00000002, state: 0x00000001
dec_addr: 0x00000000 enc_addr: 0x46760060 control: 0x00000003
ivtv: DMA DEC Buffers:
 0x00000000:0x00000000:0x00000000
ivtv: DMA ENC Buffers:
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000
 0x00000000:0x00000000:0x00000000

I'm going to take that out and run with the conditionals in the map
functions only, and see if that holds up under longer testing.

Dave

-- 
David Muench - davemuench@xxxxxxxxx
Jabber ID: dave@xxxxxxxxxxxxxxxxxxxx

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel