aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
Commit message (Collapse)AuthorAgeFilesLines
* fix BLK_DEV_HD_ONLY on ARM dependenciesAdrian Bunk2008-06-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch limits BLK_DEV_HD_ONLY to the ARM platforms offering IRQ_HARDDISK, fixing the following compile error on others: <-- snip --> ... CC drivers/ide/legacy/hd.o ... /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c: In function 'hd_times_out': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c:542: error: 'IRQ_HARDDISK' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c:542: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c:542: error: for each function it appears in.) /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c: In function 'do_hd_request': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c:661: error: 'IRQ_HARDDISK' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c: In function 'hd_init': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c:765: error: 'IRQ_HARDDISK' undeclared (first use in this function) make[3]: *** [drivers/ide/legacy/hd.o] Error 1 <-- snip --> Reported-by: Adrian Bunk <bunk@kernel.org> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: export ide_doublerAdrian Bunk2008-06-101-0/+4
| | | | | | | | | | | | | | | | | | | This patch fixes the following build error: <-- snip --> ... Building modules, stage 2. MODPOST 1204 modules ERROR: "ide_doubler" [drivers/ide/ide-core.ko] undefined! ... make[2]: *** [__modpost] Error 1 <-- snip --> Reported-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* palm_bk3710: add warm-plug supportBartlomiej Zolnierkiewicz2008-06-101-3/+0
| | | | | | | Don't fail the probe if there are no devices attached to the controller. Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* delkin_cb: add missing __init/__exit tagsBartlomiej Zolnierkiewicz2008-06-101-4/+2
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* delkin_cb: add warm-plug supportBartlomiej Zolnierkiewicz2008-06-101-4/+0
| | | | | | Don't fail the probe if there are no devices attached to the controller. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* delkin_cb: use struct ide_port_infoBartlomiej Zolnierkiewicz2008-06-101-8/+7
| | | | | | | | Convert the driver to use struct ide_port_info - as a nice side-effect this fixes racy setup of ->io_32bit/unmask settings (after ide_device_add() call device can be already in use). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* delkin_cb: set proper hwif->gendev.parent valueBartlomiej Zolnierkiewicz2008-06-101-1/+2
| | | | | | | | | | | hwif->dev was set too late (after ide_device_add() call) so hwif->gendev.parent was not initialized properly. Fix it by setting hw.dev and letting ide_init_port_hw() do the rest. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: fix host drivers missing hwif->chipset initializationBartlomiej Zolnierkiewicz2008-06-1011-0/+20
| | | | | | | | | | ide_find_port() now depends on ->chipset being set for occupied ide_hwifs[] slots so all host drivers have to initialize hwif->chipset properly. This patch fixes a regression on hosts with > 1 port or with a single port but no devices attached to it for an affected host drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-generic: add missing hwif->chipset setupBartlomiej Zolnierkiewicz2008-06-101-0/+1
| | | | | | | | | | | | | hwif->chipset need to be set properly or ide-generic driver will break once we make a final step in fixing host drivers' dependence on ide_hwifs[]. Problem was catched early thanks to IDE tree exposure in -mm / -next trees and reported by people listed people (thank you guys!). Reported-by: "John Keller" <jpk@sgi.com> Reported-by: Dmitri Vorobiev <dmitri.vorobiev@gmail.com> Reported-by: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* sis5513: add missing pci_enable_device() callBartlomiej Zolnierkiewicz2008-06-101-0/+5
| | | | | Cc: Riccardo Gori <goric@trivenet.it> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove the ide_etrax100 chipset typeAdrian Bunk2008-06-102-4/+2
| | | | | | | | | I forgot to remove the ide_etrax100 chipset type when removing the ETRAX_IDE driver. Reported-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: fix race in device_createGreg Kroah-Hartman2008-05-201-3/+2
| | | | | | | | | | | | | | | There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers <kay.sievers@vrfy.org> Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* m68k: macide doesnt check for MacGeert Uytterhoeven2008-05-181-0/+3
| | | | | | | | The Macintosh IDE driver (macide) doesn't check whether it's actually running on Mac hardware, causing a crash if it isn't. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* cs5520: disable VDMABartlomiej Zolnierkiewicz2008-05-141-1/+1
| | | | | | | | | Disable Virtual DMA support for now (it causes system hangs). Thanks to TAKADA Yoshihito for the help with debugging the problem. Reported-by: TAKADA Yoshihito <takada@mbf.nifty.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide/Kconfig: couple of fixesBartlomiej Zolnierkiewicz2008-05-141-28/+11
| | | | | | | | | | | | | | | | | | * Don't ask to enable no longer existing config options ("Use DMA by default when available" and "Special UDMA Feature"). * PIIX host driver doesn't support Victory66 chipset. * "ide0=cmd640_vlb" -> "cmd640.probe_vlb" * "ide=doubler" -> "gayle.doubler" * Amiga IDE doubler support is a feature for gayle host driver not a separate host driver. * Remove Andre's mail. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* alim15x3: remove WDC_ALI15X3 config optionBartlomiej Zolnierkiewicz2008-05-142-19/+0
| | | | | | There is "wdc_udma" module parameter now. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* alim15x3: add "wdc_udma" module parameterBartlomiej Zolnierkiewicz2008-05-141-2/+13
| | | | | | | Add "wdc_udma" module parameter for allowing UDMA transfers on M1543C-E chipset for WDC disks. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* alim15x3: remove stale warning about ATI RS100 northbridgeBartlomiej Zolnierkiewicz2008-05-141-8/+0
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* alim15x3: trivial cleanup for ali_set_pio_mode()Bartlomiej Zolnierkiewicz2008-05-141-15/+0
| | | | | | Remove commented out code and stale comment. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* make ide-iops.c:SELECT_MASK() staticAdrian Bunk2008-05-141-1/+1
| | | | | | | | | SELECT_MASK() can now become static. [bart: remove space between function name and open parenthesis] Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* SWARM IDE: Fix up following changes to ide_hwif_tMaciej W. Rozycki2008-05-141-7/+9
| | | | | | | | | Following recent changes to ide_hwif_t update the SWARM IDE driver to use hw_regs_t to initialize port mapping. Plus minor layout adjustments along the lines of other drivers. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* m68k: Fix falconide `data_adr' typoGeert Uytterhoeven2008-05-051-1/+1
| | | | | | | | | | | | | | commit 9567b349f7e7dd7e2483db99ee8e4a6fe0caca38 Author: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Date: Mon Apr 28 23:44:36 2008 +0200 ide: merge ->atapi_*put_bytes and ->ata_*put_data methods introduced a typo (`data_adr' instead of `data_addr'), leading to a compile failure. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* ide: IDE_HFLAG_SERIALIZE_DMA bugfixBartlomiej Zolnierkiewicz2008-05-041-6/+6
| | | | | | | | | | | | | | | | | | Patch re-ordering could be harmful: commit 1fd1890594bd355a4217f5658a34763e77decee3 Author: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Date: Sat Apr 26 22:25:24 2008 +0200 ide: add IDE_HFLAG_SERIALIZE_DMA host flag ... is buggy because ->init_dma method / ide_hwif_setup_dma() is called before IDE_HFLAG_SERIALIZE_DMA host flag is checked. Fix it by checking IDE_HFLAG_SERIALIZE[_DMA] after DMA initialization. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: fix early setup of hwif->host_flagsBartlomiej Zolnierkiewicz2008-05-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Thursday 01 May 2008, Jeremy Kerr wrote: > Hi all, > > On QS20 Cell machines, Linus' current git tree explodes on boot: > > SiI680: IDE controller (0x1095:0x0680 rev 0x02) at PCI slot > 0000:00:0a.0 > SiI680: BASE CLOCK == 133 > SiI680: 100% native mode on irq 51 > ide0: MMIO-DMA > ide1: MMIO-DMA > Unable to handle kernel paging request for data at address > 0xa000100081220080 > Faulting instruction address: 0xc000000000024748 > cpu 0x2: Vector: 300 (Data Access) at [c00000001e143420] > pc: c000000000024748: ._insw_ns+0x10/0x30 > lr: c000000000037fc4: .spiderpci_readsw+0x24/0x6c > sp: c00000001e1436a0 > msr: 9000000000001032 > dar: a000100081220080 > dsisr: 40000000 > current = 0xc00000003d060000 > paca = 0xc000000000623880 > pid = 1, comm = swapper > enter ? for help > [link register ] c000000000037fc4 .spiderpci_readsw+0x24/0x6c > [c00000001e1436a0] c00000000062ce63 (unreliable) > [c00000001e143730] c0000000000379d4 .iowa_readsw+0x78/0xa8 > [c00000001e1437c0] c000000000037a98 .iowa_insw+0x94/0xd4 > [c00000001e143850] c00000000022a190 .ata_input_data+0x298/0x2ec > [c00000001e143910] c00000000022b600 .try_to_identify+0x2c0/0x6d4 > [c00000001e1439d0] c00000000022bb54 .do_probe+0x140/0x35c > [c00000001e143a80] c00000000022bfbc .ide_probe_port+0x24c/0x670 > [c00000001e143b50] c00000000022d09c .ide_device_add_all+0x2ec/0x690 > [c00000001e143c00] c00000000022d4a4 .ide_device_add+0x64/0x74 > [c00000001e143c90] c00000000022f834 .ide_setup_pci_device+0x58/0x7c > [c00000001e143d30] c00000000038bdf8 > [c00000001e143e10] c000000000486fb0 .ide_scan_pcibus+0x8c/0x178 > [c00000001e143ea0] c000000000460c00 .kernel_init+0x1c4/0x344 > [c00000001e143f90] c000000000024a1c .kernel_thread+0x4c/0x68 > > It looks like we're trying to do PIO accesses (which appear to be > broken, but that's another issue) to this MMIO device. In > ata_input_data, we see that: > > u8 mmio = (hwif->host_flags & IDE_HFLAG_MMIO) ? 1 : 0; > > Gives mmio == 0. > > (what's the difference between hwif->mmio and ID_HFLAG_MMIO?) > > In the siimage driver, hwif->host flags is initially set up correctly > (host_flags includes IDE_HFLAG_MMIO), but we then *clear* this bit in > ide_init_port: > > hwif->host_flags = d->host_flags; > > where d is the struct ide_port_info for this chipset. In my case, > d->host_flags is 0x0. It looks like this will be the same for all of > the siimage chipsets. Don't over-write hwif->host_flags in ide_init_port(), some host drivers set IDE_HFLAG_MMIO or IDE_HFLAG_NO_IO_32BIT host flag early. Thanks to Jeremy Kerr for the excellent analysis of the bug. Reported-by: Jeremy Kerr <jk@ozlabs.org> Tested-by: Jeremy Kerr <jk@ozlabs.org> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Ben Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* alim15x3: disable init_hwif_ali15x3 for PowerPCAnton Vorontsov2008-04-291-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need init_hwif_ali15x3() on the PowerPC systems either. Before: ALI15X3: IDE controller (0x10b9:0x5229 rev 0xc8) at PCI slot 0001:03:1f.0 ALI15X3: 100% native mode on irq 19 ide0: BM-DMA at 0x1120-0x1127 ide1: BM-DMA at 0x1128-0x112f hda: SONY DVD RW AW-Q170A, ATAPI CD/DVD-ROM drive hda: UDMA/66 mode selected ide0: Disabled unable to get IRQ 14. ide0: failed to initialize IDE interface ide1: Disabled unable to get IRQ 15. ide1: failed to initialize IDE interface After: ALI15X3: IDE controller (0x10b9:0x5229 rev 0xc8) at PCI slot 0001:03:1f.0 ALI15X3: 100% native mode on irq 19 ide0: BM-DMA at 0x1120-0x1127 ide1: BM-DMA at 0x1128-0x112f hda: SONY DVD RW AW-Q170A, ATAPI CD/DVD-ROM drive hda: UDMA/66 mode selected ide0 at 0x1100-0x1107,0x110a on irq 19 ide1 at 0x1110-0x1117,0x111a on irq 19 hda: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache ide0 works well, though I can't test ide1, it isn't traced out on the board. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: fix crash at boot with siimage driverBenjamin Herrenschmidt2008-04-291-1/+8
| | | | | | | | | | | | | Some change to the IDE layer are causing the siimage driver to crash at boot with a NULL dereference. This is due to the sil_dma_ops not containing all the necessary pointers. I suppose it used to just "override" the defaults while now, it needs to contain everything. [bart: while at it: sil_dma_ops should be const now (pointed out by Sergei)] Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>, Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds2008-04-296-10/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: Skip I/O merges when disabled block: add large command support block: replace sizeof(rq->cmd) with BLK_MAX_CDB ide: use blk_rq_init() to initialize the request block: use blk_rq_init() to initialize the request block: rename and export rq_init() block: no need to initialize rq->cmd with blk_get_request block: no need to initialize rq->cmd in prepare_flush_fn hook block/blk-barrier.c:blk_ordered_cur_seq() mustn't be inline block/elevator.c:elv_rq_merge_ok() mustn't be inline block: make queue flags non-atomic block: add dma alignment and padding support to blk_rq_map_kern unexport blk_max_pfn ps3disk: Remove superfluous cast block: make rq_init() do a full memset() relay: fix splice problem
| * block: replace sizeof(rq->cmd) with BLK_MAX_CDBFUJITA Tomonori2008-04-292-3/+3
| | | | | | | | | | | | | | | | | | | | | | This is a preparation for changing rq->cmd from the static array to a pointer. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Boaz Harrosh <bharrosh@panasas.com> Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
| * ide: use blk_rq_init() to initialize the requestFUJITA Tomonori2008-04-294-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | This converts ide to use blk_rq_init to initialize the request. This is a preparation for large command support, which needs to initialize the request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* | drivers: use non-racy method for proc entries creation (2)Denis V. Lunev2008-04-291-5/+2
|/ | | | | | | | | | | | | | | | | | | Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev <den@openvz.org> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Alexey Dobriyan <adobriyan@gmail.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Peter Osterlund <petero2@telia.com> Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Cc: Dmitry Torokhov <dtor@mail.ru> Cc: Neil Brown <neilb@suse.de> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* siimage: coding style cleanup (take 2)Sergei Shtylyov2008-04-281-119/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix 18 errors and several warnings given by checkpatch.pl: - use of C99 // comments; - trailing whitespace; - 'switch' and 'case' not at the same indentation level; - no space before the open parenthesis of the 'if' and 'switch' statements; - space between function name and open parenthesis (though I have introduced such warnins in some places since the code looks prettier with the spaces); - including <asm/io.h> instead of <linux/io.h>; - line over 80 characters. In addition to these changes, also do the following: - make the arrays in sil_set_pio_mode() 'static', and make the arrays in sil_set_dma_mode() 'static const'; - change the string of the 'if' statements into the 'switch' statement in sil_pata_udma_filter(); - drop the needless '==' operators from the 'if' statements where a condition is a mere bit test; - remove needless initializer for the 'tmp' variable in init_chipset_siimage(); - beautify groups of the variable initializers and assignment operators; - add new line after variable definitions; - remove new line between the comment and the statements it refers to; - remove needless curly braces and parentheses; - fix typos, capitalize acronyms, etc. in the comments... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: clean up cdrom_analyze_sense_data()Roel Kluin2008-04-281-5/+2
| | | | | | | | [bart: fix handling of bio_sectors(failed_command->bio) == 0] Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: fix test unsigned var < 0Roel Kluin2008-04-281-2/+0
| | | | | | | | valid is unsigned and cannot be below 0. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[]Alexander Smal2008-04-281-0/+2
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* piix: add Asus Eee 701 controller to short cable listBartlomiej Zolnierkiewicz2008-04-281-0/+1
| | | | | | Based on ata_piix patch by Dan McGee. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* remove the broken ETRAX_IDE driverAdrian Bunk2008-04-284-1189/+1
| | | | | | | | | | | | | | | | | | ETRAX_IDE was marked as broken last year with the comment "it doesn't even compile currently". Remove it since it won't get fixed in the near future. On Mon, Apr 14, 2008 at 02:50:19PM +0200, Mikael Starvik wrote: > You can remove it for now and we will resubmit a new if/when we get around > to fix it. [bart: ported it over IDE tree] Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Mikael Starvik <mikael.starvik@axis.com> Cc: Jesper Nilsson <Jesper.Nilsson@axis.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove ->dma_prdtable field from ide_hwif_tBartlomiej Zolnierkiewicz2008-04-282-6/+4
| | | | | | | | | | | | | | * Use 'hwif->dma_base + {4,8}' instead of hwif->dma_prdtable in {ide,scc}_dma_setup(). * Remove no longer needed ->dma_prdtable field from ide_hwif_t. While at it: * Use ATA_DMA_TABLE_OFS define. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove ->dma_vendor{1,3} fields from ide_hwif_tBartlomiej Zolnierkiewicz2008-04-282-8/+4
| | | | | | | | | | * Use 'hwif->dma_base + {1,3}' instead of hwif->dma_vendor{1,3} in pdc202xx_new host driver. * Remove no longer needed ->dma_vendor{1,3} fields from ide_hwif_t. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* scc_pata: add ->dma_host_set and ->dma_start methodsBartlomiej Zolnierkiewicz2008-04-281-4/+50
| | | | | | | | | | Add ->dma_host_set and ->dma_start methods (+ __scc_dma_end() helper) so scc_ide_{in,out}b() can be used directly. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: skip "VLB sync" if host uses MMIOBartlomiej Zolnierkiewicz2008-04-281-10/+10
| | | | | | | | | | * Skip "VLB sync" in ata_{in,out}put_data() if host uses MMIO. * Use I/O ops directly in ata_vlb_sync() an drop no longer needed 'ide_drive_t *drive' argument. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: add ide_pad_transfer() helperBartlomiej Zolnierkiewicz2008-04-283-7/+19
| | | | | | | | | | | | * Add ide_pad_transfer() helper (which uses ->{in,out}put_data methods internally so the transfer is also padded to drive+host requirements) and use it instead of ide_atapi_{write_zeros,discard_data}(). * Remove no longer needed ide_atapi_{write_zeros,discard_data}(). Cc: Borislav Petkov <petkovbb@gmail.com> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove ->INW and ->OUTW methodsBartlomiej Zolnierkiewicz2008-04-284-45/+3
| | | | | | | | | | | * Remove no longer used ->INW and ->OUTW methods. While at it: * scc_pata.c: scc_ide_{out,in}w() is called only in scc_tf_{load,read}() so inline it there. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: use IDE I/O helpers directly in ide_tf_{load,read}()Bartlomiej Zolnierkiewicz2008-04-281-27/+56
| | | | | | There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ns87415: add ->tf_read methodBartlomiej Zolnierkiewicz2008-04-281-0/+44
| | | | | | | | | Add ->tf_read method so out{b,w}(), in{b,w}() and superio_ide_inb() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* scc_pata: add ->tf_{load,read} methodsBartlomiej Zolnierkiewicz2008-04-281-0/+87
| | | | | | | | | Add ->tf_{load,read} methods so scc_ide_{outb,outw,inb,inw}() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-h8300: add ->tf_{load,read} methodsBartlomiej Zolnierkiewicz2008-04-281-0/+88
| | | | | | | | | Add ->tf_{load,read} methods so outb()/inb() and mm_outw()/mm_inw() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cris: add ->tf_{load,read} methodsBartlomiej Zolnierkiewicz2008-04-281-0/+87
| | | | | | | | | Add ->tf_{load,read} methods so cris_ide_{outb,outw,inb,inw}() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: add ->tf_load and ->tf_read methodsBartlomiej Zolnierkiewicz2008-04-284-6/+9
| | | | | | | | | | | | | | * Add ->tf_load and ->tf_read methods to ide_hwif_t and set the default methods in default_hwif_transport(). * Use ->tf_{load,read} instead o calling ide_tf_{load,read}() directly. * Make ide_tf_{load,read}() static. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: move ide_tf_{load,read} to ide-iops.cBartlomiej Zolnierkiewicz2008-04-283-88/+88
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: factor out debugging code from ide_tf_load()Bartlomiej Zolnierkiewicz2008-04-282-12/+18
| | | | | | | Factor out debugging code from ide_tf_load() to ide_tf_dump() helper and update ide_tf_load() users accordingly. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>