• Jesse Barnes's avatar
    [PATCH] add boot option to control Intel SATA/PATA combined mode · 2bd0fa3b
    Jesse Barnes authored
    Combined mode sucks.  Especially when both libata and the legacy IDE
    drivers try to drive ports on the same device, since that makes DMA
    rather difficult.
    
    This patch addresses the problem by allowing the user to control which
    driver binds to the ports in a combined mode configuration.  In many
    cases, they'll probably want the libata driver to control both ports
    since it can use DMA for talking with ATAPI devices (when
    libata.atapi_enabled=1 of course).  It also allows the user to get old
    school behavior by letting the legacy IDE driver bind to both ports.
    But neither is forced, the patch doesn't change current behavior unless
    one of combined_mode=ide or combined_mode=libata is passed
    on the boot line.  Either of those options may require you to access
    your devices via different device nodes (/dev/hd* in the ide case
    and /dev/sd* in the libata case), though of course if you have udev
    installed nicely you may not notice anything.  :)
    
    Let me know if the documentation is too cryptic, I'd be happy to expand
    on it if necessary.  I think most users will want to boot with
    'combined_mode=libata' and add 'options libata atapi_enabled=1'
    to their modules.conf to get good DVD playing and disk behavior
    (haven't tested CD or DVD writing though).
    
    I'd much rather things behave sanely by default (i.e. DMA for devices on
    both ports), but apparently that's difficult given the various chip
    bugs and hardware configs out there (not to mention that people's
    drives may suddenly change from /dev/hdc to /dev/sdb), so this boot
    option may be the correct long term fix.
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
    2bd0fa3b
quirks.c 45.7 KB