lkml.org 
[lkml]   [2003]   [Dec]   [16]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateTue, 16 Dec 2003 15:38:08 +0100
FromClaas Langbehn <>
Subject[2.6.0-test11] VIA IDE DMA problems with sleeping harddisk
Hello,


I have got two harddiscs in my system (hda, hdb) and an CD-R/W writer as
hdc. Both harddiscs are UDMA-100 drives. First of all, it is strange
that the drives are only set to a transfer rate of 88.8 MB/s and not
to 100MB/s (see below).


hdb is sleeping most of the time (hdparm -S), but when I need the drive,
it does not spin up fast enough, so that the kernel messages say:

    Dec 16 15:13:14 kernel: hdb: dma_timer_expiry: dma status == 0x61
    Dec 16 15:13:24 kernel: hdb: DMA timeout error
    Dec 16 15:13:24 kernel: hdb: dma timeout error: status=0xd0 { Busy }
    Dec 16 15:13:24 kernel: 
    Dec 16 15:13:24 kernel: hda: DMA disabled
    Dec 16 15:13:24 kernel: hdb: DMA disabled
    Dec 16 15:13:25 kernel: ide0: reset: success
In /proc/ide/via i see, that hda is using PIO now:

    -------------------drive0----drive1----drive2----drive3-----
    Transfer Mode:        PIO      UDMA      UDMA       PIO
    Address Setup:      120ns     120ns     120ns     120ns
    Cmd Active:          90ns      90ns      90ns      90ns
    Cmd Recovery:        30ns      30ns      30ns      30ns
    Data Active:         90ns      90ns      90ns     330ns
    Data Recovery:       30ns      30ns      30ns     270ns
    Cycle Time:         120ns      22ns      60ns     600ns
    Transfer Rate:   16.6MB/s  88.8MB/s  33.3MB/s   3.3MB/s
When I re-enable DMA afterwards the messages say:

Dec 16 15:13:49 zoo kernel: blk: queue dfde1200, I/O limit 4095Mb (mask
0xffffffff)


- How do I increase the dma_timer_expiry so that DMA will 
  not be disabled so fast? 

- Why does the kernel say "hdb: DMA disabled" but /proc/ide/via says
  that DMA was only disabled on hda?
  Is it a bug or is it enabled again without telling me?

- Which workaround should be considered?



Regards, Claas



# cat /proc/ide/via   (with DMA enabled)

    ----------VIA BusMastering IDE Configuration----------------
    Driver Version:                     3.38
    South Bridge:                       VIA vt8235
    Revision:                           ISA 0x0 IDE 0x6
    Highest DMA rate:                   UDMA133
    BM-DMA base:                        0xdc00
    PCI clock:                          33.3MHz
    Master Read  Cycle IRDY:            0ws
    Master Write Cycle IRDY:            0ws
    BM IDE Status Register Read Retry:  yes
    Max DRDY Pulse Width:               No limit
    -----------------------Primary IDE-------Secondary IDE------
    Read DMA FIFO flush:          yes                 yes
    End Sector FIFO flush:         no                  no
    Prefetch Buffer:              yes                 yes
    Post Write Buffer:            yes                 yes
    Enabled:                      yes                 yes
    Simplex only:                  no                  no
    Cable Type:                   80w                 80w
    -------------------drive0----drive1----drive2----drive3-----
    Transfer Mode:       UDMA      UDMA      UDMA       PIO
    Address Setup:      120ns     120ns     120ns     120ns
    Cmd Active:          90ns      90ns      90ns      90ns
    Cmd Recovery:        30ns      30ns      30ns      30ns
    Data Active:         90ns      90ns      90ns     330ns
    Data Recovery:       30ns      30ns      30ns     270ns
    Cycle Time:          22ns      22ns      60ns     600ns
    Transfer Rate:   88.8MB/s  88.8MB/s  33.3MB/s   3.3MB/s
# uname -a
    Linux zoo 2.6.0-test11 #3 Mon Dec 1 19:57:51 CET 2003 i686 GNU/Linux

-
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 12:59    [from the cache]
©2003-2008