summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* lib: percpu_counter_subPeter Zijlstra2007-10-174-3/+8
| | | | | | | | | | | | | | | | | | | Hugh spotted that some code does: percpu_counter_add(&counter, -unsignedlong) which, when the amount argument is of type s32, sort-of works thanks to two's-complement. However when we'd change the type to s64 this breaks on 32bit machines, because the promotion rules zero extend the unsigned number. Provide percpu_counter_sub() to hide the s64 cast. That is: percpu_counter_sub(&counter, foo) is equal to: percpu_counter_add(&counter, -(s64)foo); Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* lib: percpu_counter_addPeter Zijlstra2007-10-178-17/+17
| | | | | | | | | | s/percpu_counter_mod/percpu_counter_add/ Because its a better name, _mod implies modulo. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* nfs: remove congestion_end()Peter Zijlstra2007-10-173-17/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These patches aim to improve balance_dirty_pages() and directly address three issues: 1) inter device starvation 2) stacked device deadlocks 3) inter process starvation 1 and 2 are a direct result from removing the global dirty limit and using per device dirty limits. By giving each device its own dirty limit is will no longer starve another device, and the cyclic dependancy on the dirty limit is broken. In order to efficiently distribute the dirty limit across the independant devices a floating proportion is used, this will allocate a share of the total limit proportional to the device's recent activity. 3 is done by also scaling the dirty limit proportional to the current task's recent dirty rate. This patch: nfs: remove congestion_end(). It's redundant, clear_bdi_congested() already wakes the waiters. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: "J. Bruce Fields" <bfields@fieldses.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* powerpc: add Altivec/VMX state to coredumpsMark Nelson2007-10-173-3/+34
| | | | | | | | | | | | | | | | | | | | Update dump_task_altivec() (which has so far never been put to use) so that it dumps the Altivec/VMX registers (VR[0] - VR[31], VSCR and VRSAVE) in the same format as the ptrace get_vrregs(), and add the appropriate glue typedef and #defines to make it work. A new note type of NT_PPC_VMX was chosen to be 0x100 (arbitrarily) because it allows the low range values to be used for more generic purposes and 0x100 seems an adequate starting point for PowerPC extensions. Signed-off-by: Mark Nelson <markn@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Andi Kleen <ak@suse.de> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* x86: replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE #defineMark Nelson2007-10-175-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | Replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE in the coredump code which allows for more flexibility in the note type for the state of 'extended floating point' implementations in coredumps. New note types can now be added with an appropriate #define. This does #define ELF_CORE_XFPREG_TYPE to be NT_PRXFPREG in all current users so there's are no change in behaviour. This will let us use different note types on powerpc for the Altivec/VMX state that some PowerPC cpus have (G4, PPC970, POWER6) and for the SPE (signal processing extension) state that some embedded PowerPC cpus from Freescale have. Signed-off-by: Mark Nelson <markn@au1.ibm.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Andi Kleen <ak@suse.de> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* partially fix up the lookup_one_noperm messChristoph Hellwig2007-10-173-26/+39
| | | | | | | | | | | | | | | | | | | | | | | Try to fix the mess created by sysfs braindamage. - refactor code internal to fs/namei.c a little to avoid too much duplication: o __lookup_hash_kern is renamed back to __lookup_hash o the old __lookup_hash goes away, permission checks moves to the two callers o useless inline qualifiers on above functions go away - lookup_one_len_kern loses it's last argument and is renamed to lookup_one_noperm to make it's useage a little more clear - added kerneldoc comments to describe lookup_one_len aswell as lookup_one_noperm and make it very clear that no one should use the latter ever. Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu> Cc: Miklos Szeredi <miklos@szeredi.hu> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'upstream-linus' of ↵Linus Torvalds2007-10-1612-216/+558
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: WOL bugfix for 3c59x.c skge 1.12 skge: add a debug interface skge: eeprom support skge: internal stats skge: XM PHY handling fixes skge: changing MTU while running causes problems skge: fix ram buffer size calculation gianfar: Fix compile regression caused by 09f75cd7 net: Fix new EMAC driver for NAPI changes bonding: two small fixes for IPoIB support e1000e: don't poke PHY registers to retreive link status e1000e: fix error checks e1000e: Fix debug printk macro tokenring/3c359.c: fixed array index problem [netdrvr] forcedeth: remove in-driver copy of net_device_stats [netdrvr] forcedeth: improved probe info; dev_printk() cleanups forcedeth: fix NAPI rx poll function
| * WOL bugfix for 3c59x.cSteffen Klassert2007-10-161-1/+7
| | | | | | | | | | | | | | | | | | | | | | Some NICs (3c905B) can not generate PME in power state PCI_D0, while others like 3c905C can. Call pci_enable_wake() with PCI_D3hot should give proper WOL for 3c905B. Signed-off-by: Steffen Klassert <klassert@mathematik.tu-chemnitz.de> Tested-by: Harry Coin <hcoin@n4comm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * skge 1.12Stephen Hemminger2007-10-161-1/+1
| | | | | | | | | | | | | | version update Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * skge: add a debug interfaceStephen Hemminger2007-10-163-0/+156
| | | | | | | | | | | | | | Add a debugfs interface to look at internal ring state. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * skge: eeprom supportStephen Hemminger2007-10-162-2/+102
| | | | | | | | | | | | | | Add ability to read/write EEPROM Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * skge: internal statsStephen Hemminger2007-10-162-30/+24
| | | | | | | | | | | | | | Use internal stats structure Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * skge: XM PHY handling fixesStephen Hemminger2007-10-162-44/+50
| | | | | | | | | | | | | | | | Change how PHY is managed on SysKonnect fibre based boards. Poll for PHY coming up 1 per second, but use interrupt to detect loss. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * skge: changing MTU while running causes problemsStephen Hemminger2007-10-161-7/+44
| | | | | | | | | | | | | | | | Rather than bring network down/up when changing MTU, only need to impact receiver. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * skge: fix ram buffer size calculationStephen Hemminger2007-10-161-27/+24
| | | | | | | | | | | | | | | | | | | | This fixes problems with transmit hangs on older fiber based SysKonnect boards. Adjust ram buffer sizing calculation to make it correct on all boards and make it like the code in sky2 driver. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * gianfar: Fix compile regression caused by 09f75cd7Li Yang2007-10-161-4/+3
| | | | | | | | | | Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * net: Fix new EMAC driver for NAPI changesBenjamin Herrenschmidt2007-10-161-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | net: Fix new EMAC driver for NAPI changes This fixes the new EMAC driver for the NAPI updates. The previous patch by Roland Dreier (already applied) to do that doesn't actually work. This applies on top of it makes it work on my test Ebony machine. This patch depends on "net: Add __napi_sycnhronize() to sync with napi poll" posted previously. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * bonding: two small fixes for IPoIB supportJay Vosburgh2007-10-162-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Two small fixes to IPoIB support for bonding: 1- copy header_ops from slave to bonding for IPoIB slaves 2- move release and destroy logic to UNREGISTER from GOING_DOWN notifier to avoid double release Set bonding to version 3.2.1. Signed-off-by: Moni Shoua <monis at voltaire.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * e1000e: don't poke PHY registers to retreive link statusAuke Kok2007-10-161-10/+21
| | | | | | | | | | | | | | | | | | | | | | Apparently poking the link status registers when autonegotiation is running on the PHY might botch the PHY link on 80003es2lan devices. While this is a very rare condition we can completely avoid it alltogether by just using the MAC link bits to provide the proper information to ethtool. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * e1000e: fix error checksAdrian Bunk2007-10-161-2/+2
| | | | | | | | | | | | | | | | Spotted by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * e1000e: Fix debug printk macroAuke Kok2007-10-161-1/+1
| | | | | | | | | | | | | | Spotted by Joe Perches. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * tokenring/3c359.c: fixed array index problemMarcus Meissner2007-10-161-1/+1
| | | | | | | | | | | | | | | | | | The xl_laa array is just 6 bytes long, so we should substract 10 from the index, like is also done some lines above already. Signed-Off-By: Marcus Meissner <meissner@suse.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [netdrvr] forcedeth: remove in-driver copy of net_device_statsJeff Garzik2007-10-161-36/+36
| | | | | | | | | | | | | | A copy of struct net_device_stats now lives in struct net_device, making in-driver copies a waste of memory. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [netdrvr] forcedeth: improved probe info; dev_printk() cleanupsJeff Garzik2007-10-161-31/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | main change: * greatly improve per-NIC probe diagnostic output. Similar to other net drivers, print out MAC address, PHY info, and various hardware and software flags that may be relevant. other changes: * similar to other net drivers, only print the initial version message when we have found at least one board. * don't bother to print error message when pci_enable_device() fails, it will do so for us. * use dev_printk() rather than printk() in nv_probe(). This gives use a standardized output similar to the rest of the kernel, and eliminates the need to manually print out PCI bus id. * use DRV_NAME constant where appropriate * clean struct pci_driver indentation Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * forcedeth: fix NAPI rx poll functionIngo Molnar2007-10-161-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix the forcedeth NAPI poll function to not emit this warning: [ 186.635916] WARNING: at net/core/dev.c:2166 net_rx_action() [ 186.641351] [<c060d9f5>] net_rx_action+0x145/0x1b0 [ 186.646191] [<c011d752>] __do_softirq+0x42/0x90 [ 186.650784] [<c011d7c6>] do_softirq+0x26/0x30 [ 186.655202] [<c011db48>] local_bh_enable+0x48/0xa0 [ 186.660055] [<c06023e0>] lock_sock_nested+0xa0/0xc0 [ 186.664995] [<c065da16>] tcp_recvmsg+0x16/0xbc0 [ 186.669588] [<c013e94b>] __generic_file_aio_write_nolock+0x27b/0x520 [ 186.676001] [<c0601d75>] sock_common_recvmsg+0x45/0x70 [ 186.681202] [<c05ff5df>] sock_aio_read+0x11f/0x140 [ 186.686054] [<c015c086>] do_sync_read+0xc6/0x110 [ 186.690735] [<c012b9b0>] autoremove_wake_function+0x0/0x40 [ 186.696280] [<c060dcfc>] net_tx_action+0x3c/0xe0 [ 186.700961] [<c015c9c2>] vfs_read+0x132/0x140 [ 186.705378] [<c015cd41>] sys_read+0x41/0x70 [ 186.709625] [<c0102b66>] sysenter_past_esp+0x5f/0x89 [ 186.714651] ======================= Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | missing include in mmcAl Viro2007-10-161-0/+1
| | | | | | | | | | | | | | AFAICS, fallout from repacing include of blkdev.h with include of bio.h. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | fix adbhid mismergeAl Viro2007-10-161-1/+1
|/ | | | | | | | This fixes a lost 'key' variable declaration that went missing in a mismerge (commit b981d8b3f5e008ff10d993be633ad00564fc22cd) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6Linus Torvalds2007-10-1648-1699/+449
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: (33 commits) amd74xx: remove /proc/ide/amd74xx amd74xx/via82cxxx: don't initialize drive->dn sis5513: remove /proc/ide/sis ide: remove CONFIG_IDEDMA_ONLYDISK ide: add "hdx=nodma" kernel parameter ide: remove hwif->autodma and drive->autodma ide: remove "idex=dma" kernel parameter ide: remove CONFIG_BLK_DEV_IDEDMA_FORCED ide: use PCI_VDEVICE() macro sis5513: clear prefetch and postwrite for ATAPI devices it8213/piix/slc90e66: "de-couple" PIO and UDMA modes ide: unexport noautodma ide: unexport ide_tune_dma ide: remove ->ide_dma_check (take 2) ide-pmac: add PIO autotune fallback to ->ide_dma_check ide-cris: add PIO autotune fallback to ->ide_dma_check sl82c105: add PIO autotune fallback to ->ide_dma_check cs5530/sc1200: add PIO autotune fallback to ->ide_dma_check ide: remove ide_use_fast_pio() ide: remove drive->init_speed zeroing ...
| * amd74xx: remove /proc/ide/amd74xxBartlomiej Zolnierkiewicz2007-10-161-129/+1
| | | | | | | | | | | | | | | | | | | | This belongs to user-space (and only if really needed). text data bss dec hex filename 6723 2000 28 8751 222f drivers/ide/pci/amd74xx.o.before 3833 2000 16 5849 16d9 drivers/ide/pci/amd74xx.o.after Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * amd74xx/via82cxxx: don't initialize drive->dnBartlomiej Zolnierkiewicz2007-10-162-2/+0
| | | | | | | | | | | | | | | | drive->dn is initialized by ide-probe.c::probe_hwif() so no need to do it in ->init_hwif method. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * sis5513: remove /proc/ide/sisBartlomiej Zolnierkiewicz2007-10-161-248/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This belongs to user-space (and only if really needed). text data bss dec hex filename 7129 404 8 7541 1d75 drivers/ide/pci/sis5513.o.before 3916 404 1 4321 10e1 drivers/ide/pci/sis5513.o.after Additionaly to being bloat the code contained two bugs: - wrong cable bit was checked (0x0001 instead of 0x8000) on ATA_133 chipsets - incorrect UDMA cycle time was reported on ATA_100a/ATA_133 chipsets Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: remove CONFIG_IDEDMA_ONLYDISKBartlomiej Zolnierkiewicz2007-10-162-14/+1
| | | | | | | | | | | | | | | | ATAPI devices with broken DMA support should be handled by DMA blacklist and for debugging purposes we have new shiny "hdx=nodma" kernel paremeter. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: add "hdx=nodma" kernel parameterBartlomiej Zolnierkiewicz2007-10-164-5/+9
| | | | | | | | | | | | | | | | | | * Add "hdx=nodma" option allowing user to disallow DMA for a given device. * Obsolete "ide=nodma" option. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: remove hwif->autodma and drive->autodmaBartlomiej Zolnierkiewicz2007-10-1641-249/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * hpt34x.c: disable DMA masks for HPT345 (hwif->autodma is zero so DMA won't be enabled anyway). * trm290.c: disable IDE_HFLAG_TRUST_BIOS_FOR_DMA flag (hwif->autodma is zero so DMA won't be enabled anyway). * Check noautodma global variable instead of drive->autodma in ide_tune_dma(). This fixes handling of "ide=nodma" kernel parameter for icside, ide-cris, au1xxx-ide, pmac, it821x, jmicron, sgiioc4 and siimage host drivers. * Remove hwif->autodma (it was not checked by IDE core code anyway) and drive->autodma (was set by all host drivers - except HPT345/TRM290 special cases - unless "ide=nodma" was used). While at it: - remove needless printk() from icside.c - remove stale FIXME/comment from ide-probe.c - don't force DMA off if PCI bus-mastering had to be enabled in setup-pci.c (this setting was always later over-ridden by host drivers anyway) Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: remove "idex=dma" kernel parameterBartlomiej Zolnierkiewicz2007-10-162-6/+2
| | | | | | | | | | | | | | | | | | It has been obsoleted since 1 Nov 2004, is valid only when used together with "ide=nodma" kernel parameter (which makes no sense) and only for aec62xx, cmd64x, cs5220, generic, hpt366, sl82c105, tc86c001 and triflex host drivers. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: remove CONFIG_BLK_DEV_IDEDMA_FORCEDBartlomiej Zolnierkiewicz2007-10-162-51/+3
| | | | | | | | | | | | | | | | | | This code doesn't use pci_assign_resource() and ide_get_or_set_dma_base() uses pci_resource_start() to get DMA base address so it has no chance of working. Moreover this belongs to PCI quirks (in case somebody would like to fix it). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: use PCI_VDEVICE() macroBartlomiej Zolnierkiewicz2007-10-1632-181/+174
| | | | | | | | | | | | | | | | | | While at it: - make struct pci_device_id tables const - use PCI_DEVICE_ID_ITE_8213 define in it8213.c - fix comment in generic.c Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * sis5513: clear prefetch and postwrite for ATAPI devicesBartlomiej Zolnierkiewicz2007-10-161-7/+6
| | | | | | | | | | | | | | Clear prefetch and postwrite for ATAPI devices instead of depending on BIOS. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * it8213/piix/slc90e66: "de-couple" PIO and UDMA modesBartlomiej Zolnierkiewicz2007-10-163-17/+13
| | | | | | | | | | | | | | Don't force PIO4 when programming UDMA mode (suggested by Sergei). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: unexport noautodmaAdrian Bunk2007-10-161-2/+0
| | | | | | | | | | | | | | | | noautodma can now be unexported. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: unexport ide_tune_dmaAdrian Bunk2007-10-161-2/+0
| | | | | | | | | | | | | | | | static code mustn't be exported. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: remove ->ide_dma_check (take 2)Bartlomiej Zolnierkiewicz2007-10-1642-502/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add IDE_HFLAG_TRUST_BIOS_FOR_DMA host flag for host drivers that depend on BIOS for programming device/controller for DMA. Set it in cy82c693, generic, ns87415, opti621 and trm290 host drivers. * Add IDE_HFLAG_VDMA host flag for host drivers using VDMA. Set it in cs5520 host driver. * Teach ide_tune_dma() about IDE_HFLAG_TRUST_BIOS_FOR_DMA flag. * Add generic ide_dma_check() helper and remove all open coded ->ide_dma_check implementations. Fix all places checking for presence of ->ide_dma_check hook to check for ->ide_dma_on instead. * Remove no longer needed code from config_drive_for_dma(). * Make ide_tune_dma() static. v2: * Fix config_drive_for_dma() return values. * Fix ide-dma.c build for CONFIG_BLK_DEV_IDEDMA_PCI=n by adding dummy config_drive_for_dma() inline. * Fix IDE_HFLAG_TRUST_BIOS_FOR_DMA handling in ide_dma_check(). * Fix init_hwif_it8213() comment. There should be no functionality changes caused by this patch. Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide-pmac: add PIO autotune fallback to ->ide_dma_checkBartlomiej Zolnierkiewicz2007-10-161-0/+2
| | | | | | | | | | | | | | | | | | | | Since ide-pmac allows separate PIO and DMA timings, and ide-pmac always sets ->autotune this change shouldn't have any other effect than bringing ide-pmac driver in-line with other host drivers wrt ->ide_dma_check implementation. Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide-cris: add PIO autotune fallback to ->ide_dma_checkBartlomiej Zolnierkiewicz2007-10-161-0/+2
| | | | | | | | | | | | | | | | | | | | Since ide-cris allows separate PIO and DMA timings, and ide-cris always sets ->autotune this change shouldn't have any other effect than bringing ide-cris driver in-line with other host drivers wrt ->ide_dma_check implementation. Cc: Mikael Starvik <starvik@axis.com> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * sl82c105: add PIO autotune fallback to ->ide_dma_checkBartlomiej Zolnierkiewicz2007-10-161-0/+2
| | | | | | | | | | | | | | | | Since sl82c105 re-programs DMA/PIO timings for DMA enable/disable, and sets ->autotune this change shouldn't have any other effect than bringing sl82c105 driver in-line with other host drivers wrt ->ide_dma_check implementation. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * cs5530/sc1200: add PIO autotune fallback to ->ide_dma_checkBartlomiej Zolnierkiewicz2007-10-162-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add PIO autotune fallback to ->ide_dma_check. Since cs5530/sc1200 allow separate PIO and DMA timings, and cs5530/sc1200 always set ->autotune this change shouldn't have any other effect than bringing these drivers in-line with other host drivers wrt ->ide_dma_check implementations. * Fix ->ide_dma_check to return "-1" if DMA cannot be set. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: remove ide_use_fast_pio()Bartlomiej Zolnierkiewicz2007-10-1617-46/+15
| | | | | | | | | | | | | | | | | | | | Remove ide_use_fast_pio() and just re-tune PIO unconditionally if DMA tuning has failed in ->ide_dma_check. All host drivers using ide_use_fast_pio() set drive->autotune so PIO is always tuned anyway and in some cases we _really_ need to re-tune PIO because PIO and DMA timings are shared. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: remove drive->init_speed zeroingBartlomiej Zolnierkiewicz2007-10-1611-22/+0
| | | | | | | | | | | | | | | | Several host drivers used to reset drive->init_speed in their ->ide_dma_check implementations which resulted in incorrect init speed being reported to the user, fix it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * au1xxx-ide: use ide_tune_dma()Bartlomiej Zolnierkiewicz2007-10-161-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove needless setting of drive->using_dma from auide_dma_check(). * Split off auide_mdma_filter() from auide_dma_check(). * Use ide_tune_dma() in auide_dma_check(), this fixes following issues: - device's DMA capability bit not being checked - device not being checked against generic DMA blacklist - transfer mode not being set on device/host * Add PIO autotune fallback to auide_dma_check(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * it8213/piix/slc90e66: remove {it8213,piix,slc90e66}_dma_2_pio()Bartlomiej Zolnierkiewicz2007-10-163-88/+33
| | | | | | | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
OpenPOWER on IntegriCloud