Ok first guess is you are assuming physical==virtual
> ch->txptr = memaddr + (((bc->tseg) << 4) & 0x1fffff);
ch->txptr = virt_to_bus(....)
if you want the pointer to contain the bus address to your memory. Or
phys_to_virt() to get the virtual (ie kernel mode) address of the
physical space.
> So the address below 000d1008 looks correct to me. We are trying to address
> the physical location on our board address 0x0d1008.
You need to do a phys_to_virt() on it.
Nothing has changed on the programming API. The kernel now isnt physically
mapped which broke a few drivers. However in theory people should always
have used those macros. On the alpha for example they are all needed
as the physical and virtual maps are different. Worse still the I/O
devices see main memory in a different place again!
Alan