Is there DMA for SATA Optical Drives? Or is my inspiron optical not supported (yet)?
Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Is there DMA for SATA Optical Drives? Or is my inspiron optical not supported (yet)?
I'm having for the first time in 3 years, choppyness in my DVD playback. This is with my new laptop a DELL Inspiron E1505 Custom(but no the drive). Would like to know if this is indeed a SATA drive (if anyone owns this model Dell laptop or similar, since the laptops don't seem to change all that much except the GPU and CPU), or if it is an IDE drive. If it is a SATA where in the kenerl am I able to enable DMA for my drive? I have tried generic DAM acceleration but that is not for SATA drives. Under Serial devices,(I believe that is what it is called, I'll have to look it up once more, bad recall memory) I cannot find anything that has to do with DMA acceleration, unless there isn't any at all.
DMA is supposedly not needed for SATA here is what I have set for the IDE variety.
Code:
>$ grep -i idedma /boot/config-2.6.17-ck1-smp
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
Thank you, afer reviewing dmesg and chatting with someone from dell support chat. (that is terrible by the way) Though, I got next to nothing from Dell (I'm suprised to say after fighting about me not using Windows but using Linux, the person sent me a link out of the blue to enable DMA for Linux, strange), dmesg and lspci seems to tell me I'm using an IDE chipset named ICH7 from intel... sadly, I only see ICH5 in the Linux kernel. My question is, is there any hope of me being able to enable any sort of DMA acceleration?
2.6.17.6 vanilla sources from gentoo, not the gen kernel. When I passed that arguement above, I got no results, but no errors.
That would be for my kernel config that gets installed you need to check in your config most likely in your top level kernel directory as a hidden file .config.
george@geotop /usr/src/linux $ grep -i idedma /usr/src/linux/.config
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
george@geotop /usr/src/linux $
That looks ok can you install hdparm and check the output of hdparm /dev/hd? changing the ? to the drive letter of the CD to see if the DMA is enabled. If not then try hdparm -d1 /dev/hd? to see if it will let you set it if this works then put the command in a script that runs at startup to have it set on boot in Debian you can do the same by editing the /etc/hdparm.conf perhaps Gentoo has a similar setup and you may not have to put it in a script.
From what I understand the 'failed' line means that the required module (builtin or not) is not found, or does not support this device if one is loaded. I need to have my chipset ticked off, except that I do not see (under ide/ata section in the kernel) one for my Intel Chipset ICH7, just ICH5. If I'm looking in the wrong place please tell me.
--EDIT--
Passing values such as
Code:
hdparm -d1 /dev/hdc
results in the following:
Code:
geotop linux # hdparm -d1 /dev/hdc
/dev/hdc:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)
geotop linux #
Last edited by RHLinuxGUY; 07-27-2006 at 11:39 PM.
From what I understand the 'failed' line means that the required module (builtin or not) is not found, or does not support this device if one is loaded. I need to have my chipset ticked off, except that I do not see (under ide/ata section in the kernel) one for my Intel Chipset ICH7, just ICH5. If I'm looking in the wrong place please tell me.
I think you are looking in the wrong place this I found this page which seems to suggest you need CONFIG_BLK_DEV_PIIX=y. Not sure what exactly the failed means but it is of no importance to the DMA I get it on my CD/DVD drives.
Well, I got what I needed. It was to tick off "Intel PIIXn chipsets support" in "ATA/ATAPI/MFM/RLL support", when configuring your kernel. I don't remember exactly trying to enable settings in hdparm using the following command:
but the first two seem to help the stuttering, I almost see some stuttering, but it is not drasticly reduced from before. If someone can help me get DMA enabled, I would appreciate it. Though, now the DVD playback is much, much more smooth then it was before. HappyTux thanks for the help!
Well, I got what I needed. It was to tick off "Intel PIIXn chipsets support" in "ATA/ATAPI/MFM/RLL support", when configuring your kernel. I don't remember exactly trying to enable settings in hdparm using the following command:
but the first two seem to help the stuttering, I almost see some stuttering, but it is not drasticly reduced from before. If someone can help me get DMA enabled, I would appreciate it. Though, now the DVD playback is much, much more smooth then it was before. HappyTux thanks for the help!
Your welcome I think I have run out of ideas on why the dma doesn't get set in this instance now though. These are the only other settings for dma I have can't see the ISA applying but you never know might be worth trying if you don't have them set might want to give the CONFIG_BLK_DEV_IDEDMA_FORCED=y a try as well.
Code:
grep -i dma /boot/config-2.6.17-ck1-smp
CONFIG_GENERIC_ISA_DMA=y
CONFIG_ISA_DMA_API=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_SCSI_PDC_ADMA is not set
# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
# CONFIG_SOUND_DMAP is not set
I have the same laptop and have been working on this for a while. I think the problem has to do with 2.6.17 kernel not supporting ICH7, you can look at it here. The issue was supposed to be fixed in 2.6.18 as the patch went mainstream, but I still can't get it working. Try upgrading the kernel or using the patch a few replies later in the thread and let me know if you have any success.
Actually it looks like using the new kernel UDMA is enabled by default. You cannot change this and I dont believe there is DMA on SATA drives. hdparm -i /dev/hdc gives me:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.