aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* ide: convert ide_find_best_mode() users to use ide_max_dma_mode()Bartlomiej Zolnierkiewicz2007-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ide-timing.h: * remove handling of DMA modes from ide_find_best_mode() and rename it to ide_find_best_pio_mode() * drop no longer needed "map" argument from ide_find_best_pio_mode() and delete needless ->id check * remove no longer needed XFER_SWDMA and XFER_UDMA* defines au1xxx-ide.c: * use ide_max_dma_mode() instead of ide_find_best_mode() * remove needless CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA #ifdef amd74xx.c: * store UDMA masks in amd_ide_chip[] and while at it make "base" field to be u8 instead of unsigned long * convert the driver to use UDMA masks from amd_ide_chip[] * use ide_max_dma_mode() and ide_find_best_pio_mode() instead of ide_find_best_mode() * delete stale comment from amd74xx_ide_dma_check() * remove no longer needed AMD_UDMA* defines via82cxxx.c: * remove unused DISPLAY_VIA_TIMINGS define * store UDMA masks in via_isa_bridges[] and while at it make "flags" field to be u8 instead of u16 * convert the driver to use UDMA masks from via_isa_bridges[] * use ide_max_dma_mode() and ide_find_best_pio_mode() instead of ide_find_best_mode() * remove no longer needed VIA_UDMA* defines pmac.c: * use ide_max_dma_mode() instead of ide_find_best_mode() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Reviewed-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
* ide: fix pre-EIDE SWDMA supportBartlomiej Zolnierkiewicz2007-07-09
| | | | | | | If the word 62 is not defined use the word 52 to get SWDMA mask in ide_get_mode_mask(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* drivers/ide/legacy/hd.c: Array size calculation using sizeof replaced with ↵Andi Drebes2007-07-09
| | | | | | | | | | | | | ARRAY_SIZE This patch replaces an array size calculation in drivers/ide/legacy/hd.c that was done using sizeof with the ARRAY_SIZE macro. Tested by compilation on an i386 box using "allyesconfig". Diffed against Linus' git-tree. Signed-off-by: Andi Drebes <lists-receive@programmierforen.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove content related to dead CONFIG_BLK_DEV_MAC_MEDIABAY config variableRobert P. J. Day2007-07-09
| | | | | Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove references to the non-existent CONFIG_SCSI_EATA_DMARobert P. J. Day2007-07-09
| | | | | Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: replace C code with call to ARRAY_SIZE() macroRobert P. J. Day2007-07-09
| | | | | | | Delete the unnecessary macro ARY_LEN and use ARRAY_SIZE directly. Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide_in_drive_list(): "ALL" is not a wildcard anymoreJunio C Hamano2007-07-09
| | | | | | | | | | | | This removes the support to treat "ALL" as a wildcard for firmware revision. This is made a separate patch, as it will break out-of-tree ide drivers that feed its own table that uses "ALL" as the wildcard to ide_in_drive_list(). Signed-off-by: Junio C Hamano <junkio@cox.net> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Dave Jones <davej@redhat.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* mips au1xxx_ide.h: use NULL as firmware-revision wildcardJunio C Hamano2007-07-09
| | | | | | | | | | This updates the DMA whitelist in MIPS specific au1xxx ide driver to use NULL instead of "ALL" as the wildcard. Signed-off-by: Junio C Hamano <junkio@cox.net> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Dave Jones <davej@redhat.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide_in_drive_list(): accept NULL as the wildcard for firmware revisionJunio C Hamano2007-07-09
| | | | | | | | | | | | | | | | | Earlier, the matching of (model,rev) in ide-dma black/white list handling was to consider "ALL" in the table to match any revision. This makes NULL to be also an accepted wildcard, and changes the entries of tables in ide-dma.c to use NULL. The code still accepts "ALL" as the wildcard, in order to keep any out-of-tree ide driver that feeds its own table that uses "ALL" as the wildcard to ide_in_drive_list() function from breaking. Signed-off-by: Junio C Hamano <junkio@cox.net> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Dave Jones <davej@redhat.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* aec62xx: kill speedproc() method wrapper (take 2)Sergei Shtylyov2007-07-09
| | | | | | | | | There's no reason to have the speedproc() method wrapper for the two quite different chip families, so just get rid of it. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: use mutex instead of ide_setting_sem semaphore in IDE driverMatthias Kaehlcke2007-07-09
| | | | | | | | | | | The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> --
* aec62xx: remove init_dma() method (take 2)Sergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | | Get rid of the init_dma() method (which had no particular reason to exist) by folding it into the init_hwif() method. While at it, also perform some cleanup in the latter method: - get rid of the useless clearing of hwif->autodma; - fold the serialization code into one 'if' statement; - fold setting the drives' 'autotune' and 'autodma' fields into the single statements... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* aec62xx: rework init_setup_aec6x80()Sergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | | | | | | Rework init_setup_aec6x80() so that it won't rewrite the constant name strings anymore -- in order to do this: - in aec62xx_init_one(), pass a local copy of 'struct pci_device_id' down the call chain; - change the names for in aec62xx_chipsets[] to default to AEC-6280[R]; - override the 'name' field in init_setup_aec6x80() only if bit 4 of the DMA status register is set. While at it, also change the 'udma_mask' field for AEC-6x80R chips in this function and remove the code doing the same from the init_hwif() method... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* cmd64x: init. code cleanupSergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | | | | | | | Fix two minor issues with PCI0646 chip reporting in the init_chipset() method: "IRQ workaround enabled" message printed out not only for revision 0x01 and "CMD646: chipset revision" printed twice (by IDE core and the driver itself). Also, remove empty/pointless switch cases for the chips other than PCI0646, duplicate write to the MRDMODE register when enabling interrupts and MEMORY READ LINE cycles, and needless/misplaced initialization of the timing registers in this method. Switch to reading only the PCI revision ID register itself, not the whole 32 bits at its address in init_chipset() and init_hwif() methods; in addition, get rid of the useless clearing of hwif->autodma and perform some cosmetic style changes in the latter method. Refactor ata66_cmd64x() by moving all the code into the 'switch' statement, renaming/adding variables, and fixing the coding style. While at it, finally get rid of the meaningless aliasing register #define's... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* hpt366: simplify UltraDMA filtering (take 4)Sergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | | | | Simplify UltraDMA mode filtering in the driver: - make use of the newly introduced 'udma_mask' field of 'ide_pci_device_t' to set the correct hwif->ultra_mask, modifying init_setup_hpt366() to select the correct mask based on the chip revision; - replace 'max_mode' field of the 'struct hpt_info' with 'max_ultra' specifying the maximum UltraDMA mode allowed; - rewrite hpt3xx_udma_filter() to differ the filters based on the 'chip_type' field, and only use it for HPT366 and HPT370[A] where it's really necessary. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: use mutex instead of ide_cfg_sem semaphore in IDE driverMatthias Kaehlcke2007-07-09
| | | | | | | | The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: make void and rename ide_dma_timeout() methodSergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | Since ide_dma_timeout() method's result is discarded, make it return 'void'. While at it, drop 'ide_' from the method's name, drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in ide-dma.c, au1xxx-ide.c, and pdc202xx_old.c, define/use 'hwif' variable; - in au1xxx-ide.c, get rid of commented out printk(); - in sl82c105.c, get rid of unnecessary variables. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: make void and rename ide_dma_lostirq() methodSergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | | Since ide_dma_lostirq() method's result is discarded, make it return 'void'. While at it, rename the method to dma_lost_irq(), drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in aec62xx.c, rename the method in accordance with other drivers, and get rid of unnecessary variables there; - in pdc202xx_old.c, define/use 'hwif' variable; - in sgiioc4.c, rearrange the code to call the resetproc() method directly. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* serverworks: always tune CSB6Bartlomiej Zolnierkiewicz2007-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch the driver to always program DMA/PIO timings and set device transfer mode instead of trusting BIOS on CSB6 controllers (libata pata_serverworks.c driver is also doing things this way and there were no problems reported so far). While doing conversion I noticed that the old code had many issues: * the code was assuming that hwif->dma_status is always valid (which obviously isn't true if hwif->dma_base == NULL) * value of "(ultra_timing >> (4*unit)) & ~(0xF0)" expression wasn't checked to fit into udma_modes[5] * code validating DMA timings didn't validate corresponding PIO timings * extra CSB5 PIO register wasn't validated et all * hwif->ide_dma_off_quietly() is always called before ide_set_dma() (which in turn calls hwif->speedproc() method - svwks_tune_chipset() in this case) so the code depending on DMA capable bit of DMA status to be set was never executed (=> the code was never validating DMA timings despite actually enabling DMA if the PIO timings were OK!) * on resume driver dependend entirely on BIOS to restore timings and set transfer mode on the device While at it: There is no need to read PIO/MWDMA timings now so don't do it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
* Merge branch 'for-linus' of ↵Linus Torvalds2007-07-09
|\ | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: JFS: Update print_hex_dump() syntax JFS: use print_hex_dump() rather than private dump_mem() function JFS: Whitespace cleanup and remove some dead code
| * JFS: Update print_hex_dump() syntaxDave Kleikamp2007-06-13
| | | | | | | | Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
| * JFS: use print_hex_dump() rather than private dump_mem() functionDave Kleikamp2007-06-06
| | | | | | | | Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
| * JFS: Whitespace cleanup and remove some dead codeDave Kleikamp2007-06-06
| | | | | | | | Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
* | sched: add CFS creditsIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | | | | | add credits for recent major scheduler contributions: Con Kolivas, for pioneering the fair-scheduling approach Peter Williams, for smpnice Mike Galbraith, for interactivity tuning of CFS Srivatsa Vaddagiri, for group scheduling enhancements Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: micro-optimize mmdrop()Ingo Molnar2007-07-09
| | | | | | | | | | | | micro-optimize mmdrop(). Improves schedule()'s assembly a bit. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: more agressive idle balancingIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | | | the Linux scheduler is starving a number of workloads. So default to more agressive idle-balancing. This hurts lmbench context-switching numbers (which was the main reason we sucked at idle-balancing for such a long time) but the lmbench numbers are fine once the system is minimally utilized. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: clean up sleep_on() APIsIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | clean up the sleep_on() APIs: - do not use fastcall - replace fragile macro magic with proper inline functions Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: style cleanupsIngo Molnar2007-07-09
| | | | | | | | | | | | | | 4 small style cleanups to sched.c: checkpatch.pl is now happy about the totality of sched.c [ignoring false positives] - yay! ;-) Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: do not set softirqs to nice +19Ingo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | do not set softirqs to nice +19. _If_ for whatever reason we missed to process some high-prio softirq and woke up ksoftirqd, we should give it a fair chance to actually get some work done, even if the system is under load. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: simplify sched_find_first_bit()Mike Galbraith2007-07-09
| | | | | | | | | | | | | | simplify sched_rt.c's sched_find_first_bit() function: there are only 100 RT priority levels left. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: add CFS documentationIngo Molnar2007-07-09
| | | | | | | | | | | | add Documentation/sched-design-CFS.txt Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: scheduler debugging, enable in KconfigIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | enable CONFIG_SCHED_DEBUG in lib/Kconfig.debug. the runtime overhead of this option is very small. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: scheduler debugging, coreIngo Molnar2007-07-09
| | | | | | | | | | | | | | scheduler debugging core: implement /proc/sched_debug and /proc/<PID>/sched files for scheduler debugging. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: add CFS debug sysctlsIngo Molnar2007-07-09
| | | | | | | | | | | | | | add CFS debug sysctls: only tweakable if SCHED_DEBUG is enabled. This allows for faster debugging of scheduler problems. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove old cpu accounting fieldIngo Molnar2007-07-09
| | | | | | | | | | | | | | remove the old cpu-accounting field from signal_struct, now that the code is using CFS's stats. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove unused rq types from sched.cIngo Molnar2007-07-09
| | | | | | | | | | | | | | remove unused rq types from sched.c, now that we switched over to CFS. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove batch_task()Ingo Molnar2007-07-09
| | | | | | | | | | | | batch_task() in sched.h is now unused - remove it. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove interactivity types from sched.hIngo Molnar2007-07-09
| | | | | | | | | | | | remove now-unused types/fields used by the old scheduler. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove interactivity typesIngo Molnar2007-07-09
| | | | | | | | | | | | | | remove now unused interactivity-heuristics related defined and types of the old scheduler. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: clean up include files in sched.cIngo Molnar2007-07-09
| | | | | | | | | | | | clean up include files in sched.c, they were still old-style <asm/>. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: clean up fastcall uses of sched_fork()/sched_exit()Ingo Molnar2007-07-09
| | | | | | | | | | | | | | | | sched_fork()/sched_exit() does not need to specify fastcall anymore, as the x86 kernel defaults to regparm3, and no assembly code calls these functions. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: update delay-accounting to use CFS's precise statsBalbir Singh2007-07-09
| | | | | | | | | | | | update delay-accounting to use CFS's precise stats. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: make use of precise accounting for /proc task statsIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | make use of CFS's precise accounting to drive /proc/<pid>/stat statistics. this code was co-authored by: Balbir Singh <balbir@linux.vnet.ibm.com> Dmitry Adamushko <dmitry.adamushko@gmail.com> Ingo Molnar <mingo@elte.hu> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com>
* | sched: turn on the use of unstable eventsIngo Molnar2007-07-09
| | | | | | | | | | | | make use of sched-clock-unstable events. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: x86, track TSC-unstable eventsIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | track TSC-unstable events and propagate it to the scheduler code. Also allow sched_clock() to be used when the TSC is unstable, the rq_clock() wrapper creates a reliable clock out of it. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: cfs core codeIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | apply the CFS core code. this change switches over the scheduler core to CFS's modular design and makes use of kernel/sched_fair/rt/idletask.c to implement Linux's scheduling policies. thanks to Andrew Morton and Thomas Gleixner for lots of detailed review feedback and for fixlets. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Mike Galbraith <efault@gmx.de> Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com> Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
* | sched: remove the sleep-bonus interactivity codeIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | remove the sleep-bonus interactivity code from the core scheduler. scheduling policy is implemented in the policy modules, and CFS does not need such type of heuristics. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove expired_starving()Ingo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | remove the expired_starving() heuristics from the core scheduler. CFS does not need it, and this did not really work well in practice anyway, due to the rq->nr_running multiplier to STARVATION_LIMIT. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove sleep_typeIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | remove the sleep_type heuristics from the core scheduler - scheduling policy is implemented in the scheduling-policy modules. (and CFS does not use this type of sleep-type heuristics) Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: cfs, add load-calculation methodsIngo Molnar2007-07-09
| | | | | | | | | | | | add the new load-calculation methods of CFS. Signed-off-by: Ingo Molnar <mingo@elte.hu>