-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The Sunday 2006-03-05 at 07:42 -0800, Randall R Schulz wrote:
Isn't that a function of what hardware is incorporated into the system? Are you saying that no one makes a USB adaptor with DMA capability even now that there are so many high-speed and mass storage devices? You'd think there'd be a demand for such a thing.
No, I didn't say that.
Actually, you did. You said "There is no dma for usb drives. No way."
The word "drives" is the key there, as compared with IDE drives. Ok, I didn't make myself clear enough. «I didn't mean that», is that ok? ;-)
The OP poster wanted to activate DMA for his DVD drive on the USB, the same way it is done for internal drives on the IDE bus, with hdparm or something similar.
I see.
There is no such thing.
Yes. There's (currently) no USB counterpart to "hdparm".
I assume that if the usb chip can use DMA, it would be set for every device plugged to the bus, not only for certain drives or devices separately.
It should be possible for the designers of usb controller chips to use dma... but that is a diferent thing. Anyway, the speed of the bus is limited and fixed, dma would not increase it. It would lower the overhead on the cpu, that's all.
Yes and no. It's true that the use of DMA versus programmed I/O doesn't change the characteristic of the device. But if the processor has to take an interrupt for every byte (or word) transmitted, then at the upper ranges of USB bus speeds, DMA would be necessary to permit the full bandwidth of the bus to be realized without saturating the CPU. Consider the Hi-Speed USB spec. That's 20% faster than FireWire 400. Do you think any of the first-generation FireWire interfaces used programmed I/O? 40+ million interrupts per second? Doubtful.
Granted. But you do not need one interrupt for every byte, because the bus can transfer data in blocks or batches. The device transmits a block to the controller chip (actually, it is the chip in the PC who does the fetching), which could be stored in a local memory in the chip (this bit I'm speculating, I don't know for sure), and when the block is finished it sets an IRQ for the CPU to handle and retrieve it. I don't know if it is done this way, but it is how I would design it if it were my job, and I do know there is a block mode transfer. - -- Cheers, Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFEC4q7tTMYHG2NR9URApksAKCWUSgsOm5/mfVyHUvtY3vKKB+TkgCeJpGC DfPiuKJ0m9nvUpTf9N8r8nQ= =coyQ -----END PGP SIGNATURE-----