- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All ,
We need to use around 1500 descptors for transferring data from camera sensor to system memory ( 64 bit OS ) vi MSGDMA (64 bit). since we needed 1500 descs .. i just did kython.sgdma_desc_pool1_phy =pci_map_single(pdev,kython.sgdma_desc_pool1_virt,MSGDMA_NUM_DESCS*(sizeof(alt_msgdma_prefetcher_extended_descriptor)),PCI_DMA_BIDIRECtional); root_node = python.sgdma_desc_pool1_phy /* set next descriptor registers to point to the list root-node */ IOWR_ALT_MSGDMA_PREFETCHER_NEXT_DESCRIPTOR_PTR_LOW(lower_32_bits(root_node)); IOWR_ALT_MSGDMA_PREFETCHER_NEXT_DESCRIPTOR_PTR_HIGH(upper_32_bits(root_node)); But the MSGDMA is rejecting the desc as invalid desc .We have populated the descriptor correctly . is it because pci_map_single does not support 64 bit addressing , is there equalvaent calls for pci_map_single ???Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't have experience with the prefetcher of the DMA but in order to use extended descriptions you have to make sure that the hardware has that option enabled.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page