[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [ivtv-devel] Problems loading ivtv in Xen - DMA issues?
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |