lkml.org 
[lkml]   [2002]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH][RFC] ServerWorks autodma behavior
    There wasn't a specific MAINTAINER for this stuff, other than perhaps
    Andre Hedrick by proxy, so I decided it might be best to post this
    directly.

    I have a lot of ServerWorks OSB4 IDE hardware, which has the annoyingly
    suboptimal behavior of corrupting filesystems when DMA is active.
    Unfortunately, serverworks.c (in recent 2.4, at least) does not honor
    the CONFIG_IDEDMA_AUTO config option -- it turns dma on only unless
    "ide=nodma" is set on the kernel command line.

    Personally, I think the correct behavior is for the subdrivers to honor
    this config value. However, only VIA behaves in this way, and PIIX only
    because of its funky CONFIG_PIIX_TUNING config. This obviates having to
    modify lilo.conf (or similar) on all machines, and having to remember
    to do so, etc etc.

    The alternative is that, somewhat unintuitively, the correct behavior is
    for the subdrivers to make their own non-CONFIGurable decisions on DMA.
    In this case, VIA and PIIX should be corrected, I would think.

    In any case, I've appended the patch I'm using to be able to turn off
    auto-DMA at config-time rather than run-time for ServerWorks. One
    alternative is to shed this code altogether, since ide-pci.c seems to
    set a rational default.

    I just wanted to see if there was any clear consensus on this -- I'd be
    glad to whip out patches for either behavior.

    Thanks,
    --
    Ken.
    brownfld@irridia.com


    --- linux/drivers/ide/serverworks.c.orig Sun Sep 9 10:43:02 2001
    +++ linux/drivers/ide/serverworks.c Tue Feb 26 00:39:17 2002
    @@ -590,8 +590,10 @@
    #else /* CONFIG_BLK_DEV_IDEDMA */

    if (hwif->dma_base) {
    +#ifdef CONFIG_IDEDMA_AUTO
    if (!noautodma)
    hwif->autodma = 1;
    +#endif
    hwif->dmaproc = &svwks_dmaproc;
    } else {
    hwif->autodma = 0;
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:24    [W:0.021 / U:156.760 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site