An error occurred fetching the project authors.
  1. 30 Jul, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.29 IDE 108 · 3bd271cd
      Martin Dalecki authored
       - typedef unsigned char byte; is finally gone. Everything using it should
         be just ported to u8 if I missed some place where it still gets used.
      
       - Next round of parameter parsing cleanups by Gerald Champagne.
         Adjusted a bit to harmonize with  hd.c.
      
       - Move IDE register bitfields declarations over from hdparm.h to
         ide.h.
      
       - Declare constants needed by hd.c directly there. Those are standard
         values not subject to change and we prefer a bit of code duplication
         in favour of making the two drivers independant from each other.
      
       - Move everything not ioctl related away from hdreg.h to ide.h.
         This header is in effect not private to the ATA code and should
         therefore not contain stuff only usefull there.
      3bd271cd
  2. 26 Jul, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] IDE 105 · e7a6bdfd
      Martin Dalecki authored
       - Rename ata-timings.h to timings.h. Same arguments as for agp.
      
       - Always include hdparm.h just before ide.h. Include them last where
         used. This is preparing to split out the IDE register declarations
         out of this file, since many other files in the kernel include it,
         which don't have anything to do with IDE.
      
       - Don't use the "IDE special" data type "byte". Just use the u8 data
         type for consistency with the rest of the kernel where applicable.
      e7a6bdfd
  3. 21 Jul, 2002 1 commit
  4. 14 Jul, 2002 1 commit
    • 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
  5. 20 Jun, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] IDE 93 · 68c14a04
      Martin Dalecki authored
       - Revert patch number 92. It turned out to be broken behind hope.  Personally I
         attribute this to the recent heat wave over here and apologize for the
         problems this may have caused. Turned out that my note about the change
         beeing dnagerous in the last change log was more then true...
      
       - Locking issues for ioctl handling.
      
       - Remove waiting_for_dma bit field. Use IDE_DMA bit flag instead.
         Apply this bit globally and not in the corresponding implementation
         functions.
      68c14a04
  6. 18 Jun, 2002 1 commit
  7. 16 Jun, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.21 ide 92 · 78929a18
      Martin Dalecki authored
       - Finally unify task_in_intr and task_mulin_intr. One crucial code path less to
         watch out, but a quite dangerous step in itself. PIO reading is functional
         again. The next step will be the unification of the write path of course.
      
       - Introduce a small helper for the execution of task file commands which
         basically just send a simple command down to the drive.
      
       - Add a buffer parameter to ide_raw_taskfile allowing to unify the handling of
         ioctl and normal ide_raw_taskfile request.
      
       - Fix some small function pointer type mismatches.
      
      Apply more host chip controller clenups by Bartlomiej:
      
           - move setting drive->current_speed from *_tune_chipset()
             to ide_config_drive_speed()
      
          cmd64x.c:
      	- convert cmd64x_tuneproc() to use ata-timing library
      	- clean cmd64x_tune_chipset() and cmd680_tune_chipset()
      
          hpt366.c:
      	- remove empty timings table
      
          it8172.c:
      	- kill prototypes
      	- update to new udma_setup() scheme
      
          - misc cleanups
      78929a18
  8. 14 Jun, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.21 IDE 91 · 826267d3
      Martin Dalecki authored
       - Realize that the only place where ata_do_taskfile gets used is ide-disk.c
         move it and its "friends' over there.
      
       - Unify the do_request method for disk devices. This saves quite a lot of code.
      
       - Make task_muin_intr and task_in_intr use the same busy status checks on
         entry.
      
       - Unfold get_command at the single only place where it's used.
      
       - Add missing __ata_end_request on kill_rq path.
      
       - Rename udma_tcq_taskfile() to udma_tcq_init to make the code look like to
         normal udma_init. Revert the logics of udma_init and it's
         implementations to mirror that of udma_tcq_init().
      
       - Fix a tiny bug in pmac_udma_init() where it was reporting the wrong value up
         on failure.
      
       - Revert the logics of udma_start(). It's called from udma_init context.
         Realize that it is always returning ide_started. Make it self and the
         implementations of it return void.
      826267d3
  9. 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
  10. 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
  11. 04 Jun, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.20 IDE 84 · a73f75e2
      Martin Dalecki authored
       - Simplify ide_cmd_type_parse by removing the handling of commands which we
         never use.
      
       - Realize that pre_task_out_intr and pre_task_mulout_intr are semanticaly
         identical. Use only pre_task_out_intr(). This allowed us to
         eliminate the prehandler altogether.
      
       - Updated fix for misconfigured host chips by Vojtech Pavlik.
      
       - Be more permissive about ioctl handling to allow device type drivers to do
         they own checks.
      
       - ali14xx cleanups by Andrej Panin.
      
       - Unfold usage ide_cmd_type_parser in tcq.c code. This makes this operation
         local to ide-disk.c. Move it as well as the interrupt handlers used only for
         the handling of disk requests there too.
      
       - Guard against calling handler before the drive is ready for it in
         ata_taskfile()! Well this bug was there before, but right now we inform
         about it.
      
       - Unfold ide_cmd_type_praser in ide-disk.c. Merge the remaining bits of it with
         get_command. Well it's no more.
      
       - Move recal_intr to ide.c - the only place where it's used.
      
      This doesn't change the "mechanics" of the code but it makes it a lot more
      "obvious" what's going on.
      a73f75e2
  12. 02 Jun, 2002 3 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 80 · 76d04538
      Martin Dalecki authored
       - Sanitize the handling of the ioctl's and fix a bug on the way in dealing with
         the WIN_SMART command where arguments where exchanged.
      
       - Finally sanitize ioctl further until it turned out that we could get rid of
         the special request type REQ_DRIVE_CMD entierly. We are now using
         consistently REQ_DRIVE_ACB.
      
         One hidden code path less again!
      
       - Realize the ide_end_drive_cmd can be on the REQ_DRIVE_ACB only for ioctl() to
         a disk. Eliminate it's usage from device type driver modules.
      
       - Remove command member from struct  hd_drive_task_hdr and place it in strcut
         ata_taskfile. It is not common between the normal register file and HOB.
      
         We will have to introduce some helper functions for particular command types.
      76d04538
    • Martin Dalecki's avatar
      [PATCH] [PATCH} 2.5.19 IDE 79 · b6e6f175
      Martin Dalecki authored
       - Fix typo in sparc_v9 code, in ns87415, just introduced.
      
       - Eliminate unnecessary struct hd_drive_hob_hdr those are
         in reality precisely the same registers as usual.
      
       - Eliminate control_t, nowhere used type.
      
       - Unfold ide_init_drive_cmd() at the places where it's used. This makes obvious
         that REQ_DRIVE_CMD gets only used on the ioctl command path.
      b6e6f175
  13. 27 May, 2002 1 commit
    • Martin Dalecki's avatar
      [PATCH] 2.5.18 IDE 71 · 4478f040
      Martin Dalecki authored
       - Rewritten Artop host chip driver by Vojtech Pavlik. His log entries are:
      
         Cleanup whitespace.
      
         Remove superfluous chip entries in chip table.  Remove global variables to
         allow more than one controller.  Remove other forgotten stuff.
      
         This is a new driver for the Artop (Acard) controllers. It's completely
         untested, as I have never seen the hardware. However, I suspect it is much
         less broken than the previous one ...
      
         UDMA33 controller cannot detect 80-wire cable.
      
       - Separate ioctl handling out from ide.c. It's big enough.
      
       - Move atapi_read and atapi_write to the new atapi module.  Fix the declaration
         of those functions. The data buffer did have the void * type!
      
       - Separate module handling code out from actual transfer handling code in to a
         new module called main.c. Slowly we are at the stage where the code indeed
         has to be organized logically and not just "sporadically" as was the case
         before.
      
       - Apply patch by Adam Richter for the ide-scsi.c attach method implementation.
         This particular driver is still broken due to generic SCSI layer issues.
      
       - Apply true modularization patch for qd65xx.c by Samuel Thibault. Here
         are his notes about it:
      
         Then, patch-modularize-2.[45] is a proposal for modularizing qd65xx.o. As a
         single module, one can choose to insmod it before being able to do some
         hdparm -p /dev/hd[a-d]. But one can't remove it while tuned, since selectproc
         may be needed.
      
         I am sorry I wasn't able to test it under 2.5 series, lacking a functionning
         kernel for my test computer, but it seemed to work perfectly under 2.4
         series, and patches are almost the same.
      
       - Move PCI device id's to where they belong. Patch by Vojtech Pavlik.
      
       - Don't use BH_Lock in ide-tape.c - somehow this driver scares me sometimes.
      4478f040