An error occurred fetching the project authors.
- 04 Oct, 2002 1 commit
-
-
Jens Axboe authored
All of them in a single patch, would be silly to split. Does two things: o Inc module usage count to forcefully pin the module o Make the chipset init data __devinitdata o Kill ->init_setup() and just make it generic
-
- 17 Sep, 2002 1 commit
-
-
Linus Torvalds authored
but makes it impossible to shut down cleanly.
-
- 16 Sep, 2002 1 commit
-
-
Jens Axboe authored
-
- 11 Sep, 2002 2 commits
-
-
Jens Axboe authored
-
Jens Axboe authored
-
- 10 Sep, 2002 1 commit
-
-
Jens Axboe authored
before applying patches, for clarity and for keeping bk revision history.
-
- 16 Aug, 2002 2 commits
-
-
Jens Axboe authored
-
Jens Axboe authored
-
- 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.
-
- 19 Jul, 2002 1 commit
-
-
Martin Dalecki authored
Trivia time: - C99 conforming initializations by Rusty. - ide__sti() -> local_irq_enable() and its friends.
-
- 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.
-
- 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
-
- 02 Jun, 2002 1 commit
-
-
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.
-
- 31 May, 2002 1 commit
-
-
Martin Dalecki authored
- Since Bartek has released finally an entierly user space based setup monitoring utility, we can finally remove the nonfunctional PROC code from the host chip drivers. We have preserved it thus far only for documentation purposes. - Use generic bus master DMA setup code. There is nothing wrong with it. - Make the ide-scsi code actually just allow for one device id per scsi host, since we are registering a host per device right now. This prevents the repetitive device recognition. Well registering an SCSI host of every single disk out there isn't the proper thing to do. I will deal with that later after my visual perception recovers again from already looking too long at the SCSI code :-). - Deal properly with host specific data mapping. (Could be that solves some problems with the driver, which where in reality kernel data corruptions.) - Homogenize flag handling for ATAPI drivers.
-
- 29 May, 2002 2 commits
-
-
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.
-
Martin Dalecki authored
- Simplify the ide-pci code further.
-
- 24 May, 2002 1 commit
-
-
Martin Dalecki authored
- Apply host chip driver cleanups by Bartomiej Zonierkiewicz. - Take the draft device type driver implementation from Adam Richter and make it actually work with some of the drivers we have at hand. Quite a lot of it was fixed by me as well to have the desired effects. We have added a attach method for the sub device type drivers to make it possible dor sub device type drivers to attach devices to the overall infrastructure. UNIX has something like this SCSI code is implementing something like this, just for some unknown reasons Linux block device operations don't have it... - ide_drive_t is finally gone. Please use struct ata_device instead. Hint the ide.h specific byte type should go over time as well, sine there is no need to invent something already handled by the kernel. Please use the unambigious u8 type instead where possible. - Add a bit of documentation about cabling issues. ide.txt needs a lot of improvement at some time still.
-
- 22 May, 2002 1 commit
-
-
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.
-
- 09 May, 2002 1 commit
-
-
Martin Dalecki authored
Basically PCI driver handling reorganization. This is one step further ahead toward the goal of fully modularized host chip drivers. - Adjust ide-scsi to the new error handling. Just don't try any device resets there. - Add unmasking of IRQ per default to the PMac PCI code. - Split up the crap table from ide-pci. Let the corresponding drivers do registration of the functions they provide. This small change makes this patch rather big. - Hard-code the number of ports requested for DMA engines. They are always precisely 8 on PCs. If you hove something different to deal with, well then please just provide your own init_dma method. - Remove the HDIO_GETGEO_BIG ioctl. Patch by Andries Brouwer. Applies unmodified. - Make ON_BOARD be equal 0, so we can spare ourself some typing in structure initialization. - Normalize the terminology in the host chip drivers. It will make spotting the tons of common code found there later easier.
-
- 07 May, 2002 1 commit
-
-
Martin Dalecki authored
Nuke /proc/ide. For explanations why, please see the frustrated comments in the previous change log. If one still don't see why it wasn't a good thing, well please just take a look at the following: Kernel size before: text data bss dec hex filename 1716049 403968 470252 2590269 27863d vmlinux Kernel size after: text data bss dec hex filename 1680993 403488 470124 2554605 26faed vmlinux 2% of overall size! And this is not exactly an minimalistic setup.
-
- 05 May, 2002 1 commit
-
-
Martin Dalecki authored
- Finish the changes from patch 53. ide_dma_actaion_t is gone now as well as whole hidden code paths associated with it. I hope I didn't mess too many things up with this, since the sheer size of the changes make them sensitive. (Tested on tree different host chip sets so it shouldn't be too bad...) Just still some minor cleanup remaining to be done in this area. The tags lefts there are intentional. In esp. the ide_dma_on method in cy82c693 looks suspicious. Using udma_enable in ide-cd.c, ide-floppy.c and ide-tape.c is suspicious as well. We have just uncovered it. In the next round we will concentrate on the fixes people did send me last time.
-
- 30 Apr, 2002 1 commit
-
-
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.
-
- 18 Apr, 2002 1 commit
-
-
Martin Dalecki authored
- Fix typo in ide_cmd_ioctl(). - Fix typo in cris driver. - Don't retry operations on medium errors. (pointed out by Eric Andersen). - Attach the no_io_32bit, io_32bit, no_unmask, unmask and slow fields to the ata_channel instead of the ata_device structure. They are a property of the channel and not just the devices attached to it. This allowed us to fix the set_io_32bit function by removing the CONFIG_BLK_DEV_DTC2278 conditional. In fact initialization shows that this is fixing many other host chipsets as well since all of them did expect sometimes particular values for those parameters in paralell on both drives attached to a channel but we where allowed to apply different values on a per drive basis. - The keep_settings flag is now unconditional and we don't mess with any channel parameters before drive reset. Some chipsets really really expect unconditionally that the tweaks they apply are always present and this wasn't honoured thus far! We are expecting the user to have good reasons for manually tweaking the settings. - Don't reset io_32bit in ata_pre_reset() unconditionally. There are chipsets out there which expect io_32bit to be *allways* enabled! - Remove many obsolete and nawadays just confusing documentation from ide.txt
-
- 02 Apr, 2002 2 commits
-
-
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...
-
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.
-
- 18 Mar, 2002 1 commit
-
-
Martin Dalecki authored
- Apply more patches from Vojtech Pavlik for the handling of host chip setup. Hopefully they are settled now. - Kill unused CONFIG_BLK_DEV_MODES - Push register addressing down in to task_vlb_sync. - Make the taskfile parsing stuff actually readable. This is compressing the code by an incredible amount. We use just one function doing the whole scanning right now. This should make sure that the IRQ handler used by a particular command is always right. I didn't introduce typos hopefully here. - Don't call ide_handler_parser as argument for do_taskfile() any longer. We have killed this function by coalescing it's functionality with ide_cmd_type_parser() anyway. - Kill unused SLC90E66 code, which Vojtech apparently missed in his patch. - sync up with 2.5.7-pre2 Once again the actual patch is rather big mostly due to the removal of some default configuration variables which are not used anylonger. So time for the next patch stage.
-
- 13 Mar, 2002 1 commit
-
-
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.
-
- 11 Mar, 2002 1 commit
-
-
Vojtech Pavlik authored
This patch replaces the current AMD IDE driver (by Andre Hedrick) by mine. Myself I think my implementation is much cleaner, but I'll leave upon others to judge that. My driver also additionally supports the AMD-8111 IDE. It's well tested, and I'd like to have this in the kernel instead of what's there now.
-
- 28 Feb, 2002 2 commits
-
-
Martin Dalecki authored
Most importantly this patch is making ide.c use the new automagic for module initialization lists and further preparing the rest of the code in question here for proper module separation. Despite this the CMOS probe has been removed as well... *Iff*, which I don't expect, this breaks anything it can be reintroduced easely. During this effort an actual bug in the initialization of the main module has been uncovered as well. a quite serious BUG has been tagged in ide-scsi.c as well, but as far as now I just didn't get along to actually fixing it. (The patch is big enough as it is). Details follow: - Kill *unused* ide_media_verbose() funciton. - Remove the unnecessary media and supports_dma fields from ide_driver_t. - Remove the global name field from ide_driver_t struct by pushing it down to the places where it's actually used. - Remove the unused hwif_data field from ide_hwif_t. - Push the supports_dsc_overlap condition up to the level where it belongs: disk type as well. - Make the initialization of ide main ide.c work with the new module initialization auto-magic instead of calling it explicitly in ll_rw_block.c This prevents the ide_init() from being called twice. We have BTW. renamed it to ata_module_init(), since ata is more adequate then ide and xxx_module_init corresponds better to the naming conventions used elsewhere throughout the kernel. This BUG was there before any ide-clean. It was worked around by a magic variable preventing the second call to succeed. We have removed this variable in one of the previous patches and thus uncovered it. - Kill proc_ide_read_driver() and proc_ide_write_driver(). The drivers already report on syslog which drives they have taken care of. (Or at least they should). In esp. the proc_ide_write_driver() was just too offending for me. Beleve it or not the purpose of it was to *request a particular* driver for a device, by echoing some magic values to a magic file... More importantly this "back door" was getting in the way of a properly done modularization of the IDE stuff. - Made some not externally used functions static or not EXPORT-ed. - Provide the start of a proper modularization between the main module and drivers for particular device types. Changing the name-space polluting DRIVER() macro to ata_ops() showed how inconsistently the busy (read: module busy!) field from ide_driver_t is currently used across the different device type modules. This has to be fixed soon. - Make the ide code use the similar device type ID numbers as the SCSI code :-). This is just tedious, but it will help in a distant feature. It helps reading the code anyway. - Mark repettitive code with /* ATA-PATTERN */ comments for later consolidation at places where we did came across it. - Various comments and notes added where some explanations was missing.
-
Martin Dalecki authored
1. Add some notes to Documentation/driver-model.txt about how and and where to mount the driverfs. 2. Reorganize and prepare the PCI scanning code for proper device dependant splitup. Basically tedious cleanup of macro games. 3. Use struct pci_dev name field as the name of PCI host dapaters instead of invention ambigious IDE special names. This makes the kernel bootup messages look a bit shifted, since those names are bit longer, but makes up for consistance and should allow one later to rearage things to fit into the generic PCI device initialization mechanisms provided by the kernel. 4. Set 3. Allowed us to make the host chip specific pci_init_xxx class functions have the proper signature of module initializers. This will make it possible to make true modules out of them later. 5. Make some functions in cmd64x.c static which where not used elsewhere. 6. rename ide_special_settings to trust_pci_irq - this is reflecting it's functionality better. And make it match the pci device vendor as well as the device ID. It was a BUG to match only the device id!. 7. Make the chanell setup more tollerant for BIOS-es which don't report IO and MEM bases properly. The code found previously there tryed but was inconsistant. 8. Start to use proper terminology in ide-pci.c: host chip, channel, drive instead of hwif, port, drive... 9. Enlarge the name field from ide_hwif_t to 64 bytes. It was only 6 previously and there where custom names there which where exceeding this!!! But since we use the proper pci devce name there now instead, we had to extend the size of this field anyway. 10. Add some explanatory comments and fix misguiding comments here and there. 11. Kill the proc_ide_write_config and proc_ide_read_config brain damage! Those where backdoors to the pci configuration registers on PCI devices and IO registers on directly connected ISA ATA controllers. They didn't discrement between them! Access to both of them *simply* doesn't belong into an operating system, which is supposed to abstract out the access to hardware! Did I mention that access to both can be done from user land without an IDE special interface! Any program which was using them (I hardly beleve there is one) just deserves to loose. The programmer responsible for it deserves to be fired immediately. 12. Move ide_map_xx and ide_unmap_xx tinny bio level wrappers away from the "global" ide.h to where those are actually used and kill trivial wrappers for otherwise generic bio_ routines. Just fighting code obfuscation. The "rq->bio is used or is not there" brain damage in ide-taskfile.c has to be fixed later. Possibly by killing ide-taskfile.c alltogether, becouse this should be a driver for users and not a driver for ATA disk disaster recovery companys... 13. Kill hwif->pci_devid and hwif->pci_venid. Just use the already present hwif->pci_dev field instead. 14. Kill unused big switch ide_reinit_drive function. This silly functon was switching upon every possible device driver cathegory and calling the correspondng reinit function directly. This idiocy was fortunately not used. That's all... Most will be clear if one starts looking at the changes in ide.h of course... In contrast to the previous patches this one is actually fixing two serious bugs. The next direct step will be to kill the sigle place global PCI device type recognition list from ide-pci.c by pushing the entries to where they belong -> the host chips setup modules.
-
- 05 Feb, 2002 5 commits
-
-
Linus Torvalds authored
- me: revert the "kill(-1..)" change. POSIX isn't that clear on the issue anyway, and the new behaviour breaks things. - Jens Axboe: more bio updates - Al Viro: rd_load cleanups. hpfs mount fix, mount cleanups - Ingo Molnar: more raid updates - Jakub Jelinek: fix Linux/x86 confusion about arg passing of "save_v86_state" and "do_signal" - Trond Myklebust: fix NFS client race conditions
-
Linus Torvalds authored
- Greg KH: USB update - Richard Gooch: refcounting for devfs - Jens Axboe: start of new block IO layer
-
Linus Torvalds authored
- Patrick Mochel: fix PCI:PCI bridge 64-bit memory type detection - me: more forgotten nfsd off_t -> loff_t - Alan Cox: ide driver merge - Eric Lammerts, Rik van Riel: when oom, kill all threads. - Ben LaHaise: use down_read, not down_write() in map_user_kiobuf. We don't change the mappings, we just read them. - Kai Germaschewski: ISDN updates - Roland Fehrenbacher: sparse lun check - Tim Waugh: handle awkward Titan parallel/serial port cards - Stephen Rothwell: APM updates - Anton Altaparmakov: NTFS updates
-
Linus Torvalds authored
- Russell King: ARM updates - Al Viro: more init cleanups - Cort Dougan: more PPC updates - David Miller: cleanups, pci mmap updates - Neil Brown: raid resync by sector - Alan Cox: more merging with -ac - Johannes Erdfelt: USB updates - Kai Germaschewski: ISDN updates - Tobias Ringstrom: dmfe.c network driver update - Trond Myklebust: NFS client updates and cleanups
-
Linus Torvalds authored
-