• Martin Dalecki's avatar
    [PATCH] IDE 98 · 2dbd1502
    Martin Dalecki authored
    Synchronize with 2.5.25.
    
    Incorporate IDE-94, as well as 95, 96, 97 and 98-pre as announced by Bartek and
    unfortunately still not included in 2.5.25, which makes admittedly things
    still fall appart:
    
    Missing changelog for 98-pre by Bartlomiej Zolnierkiewicz (BTW.  Handling
    Unicode should be essential at least to make proper crediting of many many
    peoples possible!) follows here:
    
     - add missing channel->lock unlocking/locking and fix some comments
       in ide_timer_expiry()
    
     - allow PCI drivers to disable autodma in ->init_dma()
       (bug introduced in IDE 97, affects sl82c105.c only)
    
       noticed by Russell King
    
     - alim15x3.c, if revision is <= 0x20 disable autodma
    
     - remove unneeded checks (drive.dn > 3) from pdc202xx.c and sis5513.c
    
     - use block layer wrappers
    
    And my additions follow:
    
     - Fix TCQ code. Patch based on work by Alexander Atanasov.
    
     - Use the FreeBSD derived request handler return values:
    
    	ATA_OP_FINISHED
    	ATA_OP_CONTINUES
    	ATA_OP_RELEASED
    	ATA_OP_READY	/* for status ready reporting during poll */
    
     - PMAC compilation fix by Paul Mackerras.
    
     - Simplify the ata_status_poll function significantly.
    
     - Fix logic used to prevent drive IRQ assertion from drive on channels sharing
       our interrupt.
    
    NOTE: We will move it later to the time where a request is really finished
    soon.
    
     - Don't use ata_busy_poll() use ata_status_poll() instead. This increases code
       unification.
    
    NOTE: We should maybe invent some way to prevent the error recovery path to be
    taken at all. In esp to prevent ata_error from trying to reissue commands.
    2dbd1502
tcq.c 15 KB