An error occurred fetching the project authors.
  1. 09 Jun, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.20 IDE 86 · 467b45ea
      Martin Dalecki authored
      Most importantly this makes ide-scsi work again, which I broke
      IDE 85. And we are starting to be serious about locking issues.
      However the locking issues will take some patches until they stabilize.
      
       - Add spin locks in ata_special_intr.
      
       - Add Server Works CSB6 handling by Matt Domsch.
      
       - Atari updates by Geert Uytterhoeven:
         * irq_lock is used in more than one file, so make it global and rename it
           to ide_irq_lock
         * `hwgroup' is dead, use `channel' instead
         * ide_irq_lock depends on ATA_ARCH_LOCK, not on m68k or APUS
      
       - Small janitorial tidbits by Angus Sawyer.
      
       - PIIX driver updates by Vojtech Pavlik:
      
         * Removes the CONFIG_BLK_DEV_PIIX_TRY133 option. I've got an official
           statement from Intel saying that the controller definitely isn't intended
           to operate at this speed and doing so may cause severe trouble.
      
         * Fixes a bug in ata-timing.c, where EIDE timing data was discarded by
           accident.
      
         * Fixed a couple bugs in the Artop driver (UDMA clocks, active/recovery
           timing), 8-bit timing merging.
      
         * Removes an unused variable from piix.c
      
       - Move locking out from ide_set_handler(). There are places where it incurred
         too frequent lock grab and release or where we did miss to lock against
         concurrent hardware access.
      
         Generally the locking appears to be too fine grained and inconsistent at many
         places. This is the first cut. We will deal with it step by step.
      
       - Make sure message string is initialized even if FANCY_STATUS_DUMPS is
         disabled.
      
       - Don't lock directly inside udma_init and implementations of this method.
      
       - Guard against REQ_SPECIAL issued by the SCSI layer on us. Use REQ_PC in
         ide-scsi.c instead.
      467b45ea
  2. 05 Jun, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.20 IDE 85 · 856dd13d
      Martin Dalecki authored
       - Work a bit on the automatic CRC error recovery handling. System still hangs.
         But one thing for sure - we don't have to use any specialized irq handler for
         it.
      
       - Since ioctl don't any longer submit requests to the queue without
         rq->special set, we can safely remove args_error handling from
         start_request.
      
       - Make REQ_SPECIAL usage in ide-floppy obvious.
      
       - Use REQ_SPECIAL everywhere instead of REQ_DRIVE_ACB. This is actually a bit
         dangerous but should work as far as I can see.
      
       - Unfold the now not REQ_SPECIAL specific dequeing part of ide_end_drive_cmd().
         Turns out that we can thereafter remove the calls to ide_end_drice_cmd() at
         places where the request type isn't REQ_SPECIAL all any longer. (tcq.c)
      
      
       - After the above operation it turns out that there are just two places where
         ide_end_drive_cmd remains, namely: ata_error, task_no_data_intr
         drive_cmd_intr.
      
         We can avoid it by changing the logics in ata_error a slightly.
      
         So now just to cases remain where ide_end_drive_cmd remains used:
         drive_cmd_intr and task_no_data_intr.
      
       - Now looking  a bit closer we can realize that drive_cmd_intr and
         task_no_data_intr can be easly merged together, since the usage of
         task_no_data_intr implied taskfile.sector_number == 0.
      
       - Use one single ata_special_intr function for the handling of interrupts
         submitted through ide_raw_cmd.
      
       - Move the remaining artefacts of ide_end_drive_cmd directly to
         ata_special_intr. Oh we don't need to check for REQ_SPECIAL any longer there,
         since the context is already known.
      
       - Set the ata_special_intr handler and command type directly inside
         ide_raw_taskfile to save code.
      856dd13d
  3. 03 Jun, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] ]PATCH] 2.5.20 IDE 83 · 7723316a
      Martin Dalecki authored
       - Remove last parameter from ide_dump_status. This information is now
         permanently present in device->staus field, so there is not need to pass it
         around.
      
       - Patch for DVD read through ide-scsi. There is the possibility that we can get
         request structures passed down, which don't have the queue field set.
         At lest on the BIO code path this seems to be something worth further
         investigation. Found by Adam J. Richter. (Jens?)
      
       - Revert my change to the hostdata handling. I did get it wrong about the way
         host structures are allocated by the generic SCSI layer. It plays
         tricks there.
      
       - piix driver updates by Vojtech Pavlik.
      
       - We have a ata_out_regfile, so we should have ata_in_regfile too.
      7723316a
  4. 02 Jun, 2002 2 commits
    • Martin Dalecki's avatar
      [PATCH] 2.5.19 IDE 81 · 08446d85
      Martin Dalecki authored
       - Don't use ata_taskfiles cmd field for drive status reporting,
         we can now simply use drive->status instead.
      
       - Unify command type parser entries which could be unified due to the
         unification of corresponding interrupt handlers.
      
       - Eliminate reading parameter from ata_do_udma(). We have this information
         already in the rq. This allows us to merge several methods.
      
       - Rename XXX_udma to udma_setup, since we have finally settled up on this
         semantics.
      
       - Simplify tons of host chip code by removing wrapper functions.
      08446d85
    • Martin Dalecki's avatar
      [PATCH] 2.5.19 IDE 78 · 8b4e98ea
      Martin Dalecki authored
       - Move ide_fixstring() from ide.c to probe.c, since this is the place, where it's
         most used.
      
       - Remove GET_STAT() - it's not used any longer.
      
       - Remove last parameter of ide_error. Rename it to ata_error().
      
       - Don't use ide_fixstring in qd65xx.c host chip driver. The model name is
         already fixed in probe.c.
      
       - Invent ata_irq_enable() for the handling of the trice nIEN bit of the
         control register.  Consistently use ch->intrproc method every time we toggle
         this bit.  This simply wasn't the case before!
      
       - Disable interrupts on a previous channel only when we share them indeed.
      
       - Eliminate simple drive command handling function drive_cmd.
      
       - Simplify the ioctl handler. Move it to ioctl, since that's the only place
         where it's actually used.
      8b4e98ea
  5. 31 May, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.19 IDE 77 · 77da0c5c
      Martin Dalecki authored
       - Get rid of SELECT_DRIVE macro. Start to move all direct hardware access
         functions in to one place.
      
       - Get rid of SELECT_MASK macro. Realize that the mask is always equal 0.
         Simplify the maskproc therefore.
      
       - Get rid of GET_STAT and OK_STAT macros as well.
      
       - hpt366 cleanups by Andrej Panin.
      
       - Artop driver update by Franz Sirl.
      77da0c5c
  6. 29 May, 2002 2 commits
    • Martin Dalecki's avatar
      [PATCH] 2.5.18 IDE 75 · 1138d8a0
      Martin Dalecki authored
       - Comment out config_chipset_for_pio from hpt366 driver. It seems to hang on it
         and many people consistently reported that this may be necessary.
         Well apparently this host chip is forced to be in DMA read mode anyway
         and we where undoing this there.
      
       - Apply small cosmetics to pdc202xx.c driver by Thierry Vignaud.
         His change log entries follow:
      
            - factorize constants with PDC_CLOCK and UDMA_SPEED_FLAG macros and
      	the init_high_16() static inline functions, thus removing floating
      	constants in code
      
            - remove unused variables and pci space read
      
            - kill useless code in pdc202xx_udma_irq_status() resulting in
      	removing unused variable: the code does lots of tests to check what
      	value to return but just always return the same exact value in all
      	code paths!
      	this also saves a few cpu & pci bus cyles by removing a useless read
      	in pci space
      
            - simplify #if/#else resulting in code duplication
      
            - make init_pdc202xx clearer
      
            - remove duplicated initializations in config_drive_xfer_rate() and
      	simplify code paths
      
       - Kill unused init_speed member from ata_device struct. Spotted by
         M.H.VanLeeuwen.
      1138d8a0
    • Martin Dalecki's avatar
      [PATCH] 2.5.18 IDE 73 · eb796b17
      Martin Dalecki authored
       - Merge ide-probe.c and ide-features.c in to one single file.  They are
         mutually doing basically the same and in esp. in case of the device ID
         retrieval there *is* quite a lot of code duplication between them.
         ide-geometry.c fits there as well.
      
       - Remove ide_xfer_verbose - it wasn't really used.
      
       - Don't allow check_partition to be more clever then the writer of a driver.
         It was interfering with drivers which check partitions as they go and
         finally if we want to spew something about it - we can do it ourself.
      
       - Eliminate ide_geninit(). We scan for partitions now inside the recently
         introduced attach method. register_disk() is broken by the way and 90% of
         places where it's used it is doing literally nothing. Either some one didn't
         finish some code or the code is basically just junk from the past.
      
         Anyway we grok the partitions now one by one as we detect the channels.
      
       - ide_driveid_update is gone. We don't report the drive id through /proc/ide
         and we don't have to update it any longer on the fly. Still someone out there
         complaining that it went away!?
      
       - Use the global driver spin-lock to protect data structure access in the
         ide_register_subdriver() function instead of blatantly disabling all
         interrupts.
      eb796b17
  7. 22 May, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.17 IDE 69 · 80d461c8
      Martin Dalecki authored
       - Apply small host chip driver cosmetics by Andrej xxx Panin
         and Vojtech Pavlik.
      
       - Remove support for "disc recovery time". It could only supposedly
         help with really simplistic broken devices from the past,
         which didn't have moderately sophisticated controllers.
         And finally Vojtech voted for it as well... so I just trust him.
      
       - Apply icside host chip driver and other ARM related updates by Russell King,
         which finally settle the "portability" work a bit, well hopefully.
      80d461c8
  8. 05 May, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.13 IDE 52 · ab08629c
      Martin Dalecki authored
      Adapted from patch Bar³omiej ¯o³nierkiewicz:
      
       - make straight8 a flag in ata_channel instead of byte
      
       - don't store tables as code in drive_is_flashcard()
         and ide_xfer_verbose()
      
       - fix init_gendisk() (due to 2.5.13 blksize_size[] change)
      
       - compress region requesting/releasing
         in channel_probe() and ide_unregister()
      
       - clean a bit ide_setup_ports()
      
      Start of DMA handling tratment.
      
       - Fix the parameters to ide_build_dmatable() to be channel and request.
         Rename it to udma_new_table(). udma will mark arch specific functions
         later.
      
       - Let ide_start_dma() take the request directly as an arguemnt. Rename it to
         ata_start_dma(). After realizing that the usage of the func argument of it
         was bogous and that nobody is using rwproc we where able to remove both of
         them.
      
       - Fix ide_destroy_dmatable() to take the channel as argument and rename it to
         udma_destroy_table(). This function should have possible architecture
         specific implementation as well at some point in time.
      
       - Split up the TCQ UDMA handling stuff in to proper functions. Jens must has
         been dreaming as he introduced them ;-).
      ab08629c
  9. 30 Apr, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.11 IDE 46 · 4a58bd1a
      Martin Dalecki authored
      - Remove the specific CONFIG_IDEDMA_PCI_WIP in favor of using the generic
         CONFIG_EXPERIMENTAL tag. (Pointed out by Vojtech Pavlik).
      
      - Change the signature of the IRQ handler to take the request directly as a
         parameter. This doesn't blow the code up but makes it much more obvious and
         finally it's reducing the number of side effects of the hwgroup->rq field.
      
      - A second sharp look after the above change allowed us to remove the wrq field
         from the hwgroup struct. It's just not used at all.
      
      - Change the signature of the end_request member of struct ata_operations to
         take the request as a second argument. Similar for __ide_end_request()
         and ide_end_request().
      
      - Remove BUG_ON() items just before ide_set_handler(). The check in
         ide_set_handler is clever enough now.
      
      - Remove the rq subfield from ide-scsi packet structure. We have now the
         request context always in place. Same for floppy.
      
      - Let the timer expiry function take the request as a direct argument.
      
      Yes I know those changes are extensive. But they are a necessary step
      in between for the following purposes:
      
      - Consolidate the whole ATA/ATAPI stuff on passing a single unified request
         handling object. Because after eliminating those side effects it's far easier
         to see what's passed where.
      
      - Minimizing the amount of side effects in the overall code. That's a good
         thing anyway and it *doesn't* cost us neither performance nor space, since
         the stack depths are small anyway here.
      
      - Minimizing the usage of hwgroup - which should go away if possible.
      4a58bd1a
  10. 10 Apr, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.8-pre3 IDE 31 · 17b581c6
      Martin Dalecki authored
      - Integrate the TCQ stuff from Jens Axboe. Deal with the conflicts, apply some
         cosmetic changes. We are still not at a stage where we could immediately
         integrate ata_request and ata_taskfile but we are no longer far away.
      
      - Clean up the data transfer function in ide-disk to use ata_request structures
         directly.
      
      - Kill useless leading version information in ide-disk.c
      
      - Replace the ATA_AR_INIT macro with inline ata_ar_init() function.
      
      - Replace IDE_CLEAR_TAG with ata_clear_tag().
      
      - Replace IDE_SET_TAG with ata_set_tag().
      
      - Kill georgeous ide_dmafunc_verbose().
      
      - Fix typo in ide_enable_queued() (ide-tcq.c!)
      
      Apparently there still problems with a TCQ enabled device and a not enabled
      device on the same channel, but let's first synchronize up with Jens.
      17b581c6
  11. 02 Apr, 2002 3 commits
    • Martin Dalecki's avatar
      [PATCH] 2.5.7 IDE 28a · 5be8243b
      Martin Dalecki authored
      - Apply Pavel Macheks suspend resume double resume fix.
      
      - Finally remove the busy field for ata_operations and replace it with
         MOD_INC_USE_COUNT and MOD_DEC_USE_COUNT.
      
      - Fix ali15xx chipset support by removing initialization differences,
         apparently caused by mislead interpretation of the specs or a mismatch
         between the specification and reality.
      
      - Guard calls to ide_set_handler with checks to see whatever the previously
         installed IRQ handler already served it's purpose.
      
      - Convert timeout checks on poll_timeout to the time_before() interface.
      
      - Consolidate the two different IRQ handlers for multi mode PIO writes into
         one. The problems remain the same but at least now we will only have to
         tangle one single problem.
      5be8243b
    • Martin Dalecki's avatar
      [PATCH] 2.5.7 IDE 27 · ff3c2cbb
      Martin Dalecki authored
      - Make for less terse error messages in ide-tape.c.
      
      - Replaced all timecomparisions done by hand with all the proper timer_after()
         commands.
      
      - Remove the drive niec1 mechanisms alltogether. There are several reasons for
         this:
      
         1. The code implementing it is nonintelliglible and therefore propably
         broken.
      
         2. If we have to invent somethig about sceduling drive IO, it should be done
         on the BIO level.
      
         3. We may in fact interleave with the IO sceduling on the upper layers and
         the results of two overlapping signal filters overlapped with each other can
         be disasterous to the overall throughput. (In fact they *are* most of the
         time.)
      
         4. It was not working if you had intermixed modes on different drives
         DMA versus PIO.
      
         5. Our goal is to have a driver which is able to share the badwidth
         properly and shouldn't needing this kind of "tuning".
      
      - Remove unused nice2 from disk struct.
      
      - Rename channel member of ata_channel to unit and device to dev to
         just prevent wrong interpretations. This prevents constructs like
         channel->channel...
      ff3c2cbb
    • Martin Dalecki's avatar
      [PATCH] 2.5.7 IDE 26 · d1372f76
      Martin Dalecki authored
      - Mark all members of structures, which get jiffies assigned or involved in
         ugly timeout calculations with the prefix PADAM_  for easy spotting. This is
         Polish for "I'm falling down" or "This brings me to the knees" or slag
         comment for "What a sh..". Please be assured that it doesn't sound vulgar.
      
         Please grep for it to see immediately why this nomenclature is justified.
      
      - Rename hwifs_s to ata_channel and eliminate ide_hwifs_t as well as the HWIF
         macro. OK this step makes this patch rather big.
      d1372f76
  12. 28 Mar, 2002 1 commit
  13. 13 Mar, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] IDE 21 · 10cea35a
      Martin Dalecki authored
      If I was to give this patch a name it would be:
      
      "Vojtech Pavlik unleashed from the chains".
      
      So credit where credit is due :-).
      
      Anyway here follows the change log:
      
      Mon Mar 11 23:48:28 CET 2002 ide-clean-21
      
      - Swallow rewritten amd74xx host chip setup code from Vojtech Pavlik.  We can
         revert it easly if it turns out to be a bad thing. However the code looks
         quite sane to me. In esp. it doesn't containg that many magic numbers.
      
      - Clean stale white spaces in ide-timing.h tirvial fix.
      
      - Make ide_release_dma return void. It's value is never used anyway.
      
      - Swallow more timing setup code cleanup by Vojtech Pavlik. Apply some
         cosmetics to it. Port opti621 to the new setup code.
      
      - Kill abuse of ide_do_reset() on error return paths for atapi floppy tape and
         cd-rom devices. Just stop them. This gives better changes that defect
         removable media will not cause suddenly broken timings on hard discs
         containing system data! Even then comments in ide_do_reset() admit, that
         resetting the whole channel can have adverse effects on the second interface
         on this channel. And I have too frequently observed linux struggling on
         defect cd-rom for a far too long time to wish it to continue.
      
         Oh did I forget to say that the corresponding "how can I break my system fast
         and reliable" ioctl is gone as well?
      
         Removing it recovered the fact that the CONFIG_BLK_DEV_IDEDMA_TIMEOUT is
         completely bogous. I have removed this option therefore as well, because it's
         playing the same wrack havoc on the devices if enabled. This cat has been in
         an unfinished and *unfunctional* state anyway.
      
      - Actually add physical suspend code to the power handling code.  Still the
         resume code isn't finished just jet. This is all subject to change at the
         point in time when we get to proper command queueing.
         I think however that Pavel will be interrested in tidding this bit up...
      
      - Resync with 2.5.7-pre1.
      10cea35a
  14. 18 Feb, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] Re: IDE cleanup for 2.5.4-pre3 · 5191903e
      Martin Dalecki authored
      The end_request() function familiy (not the global one, but the IDE
      specific ones), did bear a permuted parameter ordering.  After fixing
      this it turned out that at all places the huk parameter wasn't the
      hwgroup, but just the drive in question itself.  I have changed this to
      be more sane, which allowed to remove many unneccessary code
      duplication, or rather obfuscation, in between the __ide_end_request()
      and ide_end_request() functions.  This simplification is actually the
      "spreading" part of the game. 
      5191903e
  15. 05 Feb, 2002 4 commits
    • Linus Torvalds's avatar
      v2.5.1.2 -> v2.5.1.3 · 25aa595a
      Linus Torvalds authored
      - Christoph Hellwig: scsi_register_module cleanup
      - Mikael Pettersson: apic.c LVTERR fixes
      - Russell King: ARM update (including bio update for icside)
      - Jens Axboe: more bio updates
      - Al Viro: make ready to switch bread away from kdev_t..
      - Davide Libenzi: scheduler cleanups
      - Anders Gustafsson: LVM fixes for bio
      - Richard Gooch: devfs update
      25aa595a
    • Linus Torvalds's avatar
      v2.4.13.1 -> v2.4.13.2 · 4fd9cc9e
      Linus Torvalds authored
        - Alan Cox: more merging
        - Alexander Viro: block device module race fixes
        - Richard Henderson: mmap for 32-bit alpha personality
        - Jeff Garzik: 8139 and natsemi update
      4fd9cc9e
    • Linus Torvalds's avatar
      v2.4.1.2 -> v2.4.1.3 · c8ebfc88
      Linus Torvalds authored
        - Jens: better ordering of requests when unable to merge
        - Neil Brown: make md work as a module again (we cannot autodetect
        in modules, not enough background information)
        - Neil Brown: raid5 SMP locking cleanups
        - Neil Brown: nfsd: handle Irix NFS clients named pipe behavior and
        dentry leak fix
        - maestro3 shutdown fix
        - fix dcache hash calculation that could cause bad hashes under certain
        circumstances (Dean Gaudet)
        - David Miller: networking and sparc updates
        - Jeff Garzik: include file cleanups
        - Andy Grover: ACPI update
        - Coda-fs error return fixes
        - rth: alpha Jensen update
      c8ebfc88
    • Linus Torvalds's avatar
      Import changeset · 7a2deb32
      Linus Torvalds authored
      7a2deb32