An error occurred fetching the project authors.
- 30 Jul, 2002 1 commit
-
-
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.
-
- 26 Jul, 2002 1 commit
-
-
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.
-
- 21 Jul, 2002 1 commit
-
-
Alexander Viro authored
blk_ioctl() not exported anymore; calls moved from drivers to block_dev.c.
-
- 14 Jul, 2002 1 commit
-
-
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.
-
- 20 Jun, 2002 1 commit
-
-
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.
-
- 18 Jun, 2002 1 commit
-
-
Linus Torvalds authored
-
- 16 Jun, 2002 1 commit
-
-
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
-
- 14 Jun, 2002 1 commit
-
-
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.
-
- 09 Jun, 2002 1 commit
-
-
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.
-
- 05 Jun, 2002 1 commit
-
-
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.
-
- 04 Jun, 2002 1 commit
-
-
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.
-
- 02 Jun, 2002 3 commits
-
-
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.
-
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.
-
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.
-
- 27 May, 2002 1 commit
-
-
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.
-