.....
// start dma transfer
writel(p->addr, p->gdma + 0x0020); // src
writel(0x10000a10, p->gdma + 0x0024); //I2S address
writel(0x00200210, p->gdma + 0x002c); // gdma ct1 2
writel(0x10000046, p->gdma + 0x0028); //Target_Byte_Count=4096 CH_EN=1
.....
But I need more than 10k data to i2s, so change to this code:
unsigned char buff[ 10* 1024];
memset(buff,0xFF,sizeof(buf)); //only for test
.....
writel(p->addr, p->gdma + 0x0020); // buff address
writel(0x10000a10, p->gdma + 0x0024); //I2S address
writel(0x00200210, p->gdma + 0x002c); // gdma ct1 2
writel(0x28000046, p->gdma + 0x0028); //Target_Byte_Count=0x2800 = 10k CH_EN=1
.......
but in my USBee only catch 4096 byte, can't see more than 4096 byte, can someone help me, thks.
![Sad :(](./images/smilies/icon_e_sad.gif)