PCI DMA_MR Problem

jimmy liu jimmyzhmliu at yahoo.com
Fri Aug 11 23:57:46 EST 2006

I got a problem when I set the pci dmamr for MPC8250
for DMA PCI transfering data on linux kernel 2.6.17.
When I set the values for the pci_dmamr registers,
then print the register values back, some bits can not
be set. Did anybody know what are the problem, or I
have to set other stuff.


The code like this:

volatile cpm2_map_t *immap = cpm2_immr;
immap->im_pci.pci_dmamr0 = 0x0042b00c;
immap->im_pci.pci_dmamr1 = 0x0042b00c;
immap->im_pci.pci_dmamr2 = 0x0042b00c;
immap->im_pci.pci_dmamr3 = 0x0042b00c;

printk("DMA0 MR = 0x%08x\n",
printk("DMA1 MR (0x%08x) = 0x%08x\n",
printk("DMA2 MR (0x%08x) = 0x%08x\n",
printk("DMA3 MR (0x%08x) = 0x%08x\n",

The results are following:
DMA0 MR (0xf0010500) = 0x0040b000
DMA1 MR (0xf0010580) = 0x0040b000
DMA2 MR (0xf0010600) = 0x0040b000
DMA3 MR (0xf0010680) = 0x0040b000

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the Linuxppc-embedded mailing list