+ printf("===========================\ndone head (vor sync): 0x%08X\n", hcca_oh0.done_head);
+ sync_before_read(&hcca_oh0, 256);
+ printf("done head (nach sync): 0x%08X\n", hcca_oh0.done_head);
+
+ struct general_td *tmptd = allocate_general_td(sizeof(td->buffer));
+ (void) memcpy((void*) tmptd->cbp, td->buffer, sizeof(td->buffer));
+
+ printf("tmptd hexump (before):\n");
+ hexdump((void*) tmptd, sizeof(tmptd));
+ printf("tmptd-cbp hexump (before):\n");
+ hexdump((void*) (tmptd->cbp), sizeof(tmptd->cbp));
+
+ sync_after_write((void*) (tmptd->cbp), sizeof(tmptd->cbp));
+ sync_after_write(tmptd, sizeof(tmptd));
+
+ dummyconfig->headp = virt_to_phys(tmptd);
+ sync_after_write(dummyconfig, 64);
+
+ printf("+++++++++++++++++++++++++++++\n");
+ udelay(2000);
+ udelay(2000);
+ udelay(2000);
+ udelay(2000);
+ udelay(2000);
+ udelay(2000);
+ udelay(2000);
+ udelay(2000);
+
+ sync_before_read(tmptd, sizeof(tmptd));
+ printf("tmptd hexump (after):\n");
+ hexdump((void*) tmptd, sizeof(tmptd));
+
+ sync_before_read((void*) (tmptd->cbp), sizeof(tmptd->cbp));
+ printf("tmptd-cbp hexump (after):\n");
+ hexdump((void*) (tmptd->cbp), sizeof(tmptd->cbp));
+
+ printf("done head (vor sync): 0x%08X\n", hcca_oh0.done_head);
+ sync_before_read(&hcca_oh0, 256);
+ printf("done head (nach sync): 0x%08X\n", hcca_oh0.done_head);