# Configuring DMA support - confused

## FFighter

Hello,

I wonder if someone could enlighten me as I'm confused with the DMA configuration options in the latest tuxonice-sources kernel menuconfig.

In the handbook (http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?full=1), in the kernel configuration section, "Code Listing 3.5: Activating DMA" it tells you to activate DMA:

```

Device Drivers --->

  ATA/ATAPI/MFM/RLL support --->

    [*] Generic PCI bus-master DMA support

```

I went to menuconfig, Device Drivers->ATA/ATAPI/MFM/RLL support, but couldn't find the "Generic PCI bus-master DMA support" option. Instead, there are two other options:

```

--- ATA/ATAPI/MFM/RLL support

[  ] Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support

[  ]       Old hard disk (MFM/RLL/IDE) driver (NEW)

```

I then activated the first one and to my surprise, a bunch of other options appeared:

```

--- ATA/ATAPI/MFM/RLL support

[ * ] Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support

       *** Please see Documentation/ide.txt for help/info on IDE drives ***

[  ] Support for SATA (deprecated; conflicts with lbata SATA driver) (NEW)

[  ] Use old disk-only driver on primary interface (NEW)

[  ] Include IDE/ATA-2 DISK support (NEW)

[  ] Use multiple sector mode for Programmed Input/Output by default (NEW)

[  ] Include IDE/ATAPI CDROM support (NEW)

[  ] Include IDE/ATAPI TAPE support (EXPERIMENTAL) (NEW)

[  ] Include IDE/ATAPI FLOPPY support (NEW)

[  ] IDE Taskfile Access (NEW)

[ * ] legacy /proc/ide support (NEW)

        *** IDE chipset support/bugfixes ***

[  ] generic/default IDE chipset support (NEW)

[  ] Platform driver for IDE interfaces (NEW)

[  ] CMD640 chipset bugfix/support (NEW)

```

Much more options than the ones the handbook shows...

So, Does anyone know which options should I use? I have a Centrino Core 2 Duo T520 Pavillion dv6500se notebook.

EDIT: Here's the output of lspci (as it might happen figure out which options to turn on):

```

00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 0c)

00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c)

00:02.1 Display controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c)

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 03)

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)

00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)

00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)

00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)

00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03)

00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03)

00:1f.2 SATA controller: Intel Corporation Mobile SATA AHCI Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)

02:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 01)

07:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)

07:09.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)

07:09.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 12)

07:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)

07:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

```

Thanks in advance.

----------

## NeddySeagoon

FFighter,

You should probably use none of them. Post your lspci so we can see what hardware your have.

Most users, with a 2.6.23 kernel or later, should turn  ATA/ATAPI/MFM/RLL support off altogether and use the libata drivers under the SATA Menu.

----------

## FFighter

 *Quote:*   

> FFighter,
> 
> You should probably use none of them. Post your lspci so we can see what hardware your have.
> 
> Most users, with a 2.6.23 kernel or later, should turn ATA/ATAPI/MFM/RLL support off altogether and use the libata drivers under the SATA Menu.

 

Thanks for replying NeddySeagoon. My lspci outouput has been posted in the edit in the first message.

----------

## NeddySeagoon

FFighter,

You need this had drive setup with the addition of  

```
<*>   AHCI SATA support 
```

Some AHCI systems provide a BIOS selectable IDE emulation mode. If you have it, it must be off.

All your hard drives will become  /dev/sd... if they are not already and your CD will be /dev/sr0.

You may need to adjust grub.conf and /etc/fstab

----------

## nixnut

Moved from Installing Gentoo to Kernel & Hardware.

Kernel question, so moved here.

----------

## FFighter

 *NeddySeagoon wrote:*   

> FFighter,
> 
> You need this had drive setup with the addition of  
> 
> ```
> ...

 

NeddySeagoon, thanks a lot  for helping, I really appreciate it!

When I enable "Serial ATA(prod) and Parallel ATA (experimental) drivers" and when I "enter" this configuration section, I see no " <*>   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support" sub-item. What might have I done wrong?

Thanks.

----------

## NeddySeagoon

FFighter,

What kernel version do you have ?

```
  │ │    --- Serial ATA (prod) and Parallel ATA (experimental) drivers    │ │  

  │ │    <*>   AHCI SATA support                                          │ │  

  │ │    < >   ServerWorks Frodo / Apple K2 SATA support                  │ │  

  │ │    <*>   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support             │ │  
```

is from 2.6.24

```
  │ │    <*> ATA device support                                           │ │  

  │ │    <*>   AHCI SATA support                                          │ │  

  │ │    < >   ServerWorks Frodo / Apple K2 SATA support                  │ │  

  │ │    <*>   Intel PIIX/ICH SATA support                                │ │  

  │ │    < >   Marvell SATA support (HIGHLY EXPERIMENTAL)                 │ │  

  │ │    < >   NVIDIA SATA support  
```

is from 2.6.20

The option changed from 

```
Intel PIIX/ICH SATA support
```

 to 

```
Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support
```

You should not be using a kernel older than 2.6.23-r7 as you will have a major well known security issue, unless you know its patched for you.

----------

## FFighter

 *Quote:*   

> FFighter,
> 
> What kernel version do you have ?
> 
> Code:
> ...

 

I have the v.2.6.24-tuxonice-r3 kernel. 

There aren't subitems in the "Serial ATA (prod) and Parallel ATA (experimental) drivers". When I select it and press <enter>, all that I see is:

"--- Serial ATA (prod) and Parallel ATA (experimental) drivers"

and nothing below it.

Could that be the tuxonice-sources kernel? I chose it becouse I'd like to use the hibernation feature. However, I might as well use the gentoo-sources if this one is buggy. I should note that I had to add ~amd64 to the /etc/portage/packages.keywords in order to emerge it.

----------

## FFighter

*bump*

----------

