aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
Commit message (Collapse)AuthorAge
* ide-disk: workaround for buggy HPA support on ST340823A (take 3)Bartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This disk reports total number of sectors instead of maximum sector address in response to READ_NATIVE_MAX_ADDRESS command and also happily accepts SET_MAX_ADDRESS command with the bogus value. This results in +1 sector capacity being used and errors on attempts to use the last sector. ... hdd: Host Protected Area detected.         current capacity is 78165360 sectors (40020 MB)         native  capacity is 78165361 sectors (40020 MB) hdd: Host Protected Area disabled. ... hdd: reading: block=78165360, sectors=1, buffer=0xc1e63000 hdd: dma_intr: status=0x51 { DriveReady SeekComplete Error } hdd: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=78165360, sector=78165360 ... Add hpa_list[] table and workaround the issue in idedisk_check_hpa(). v2: * Add missing export and improve patch description a bit. v3: * Add list termination. (From Mikko) Fixes kernel bugzilla bug #8816. Thanks to Mikko for investigating the issue and helping with this patch. Cc: Mikko Rapeli <mikko.rapeli@iki.fi> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* hpt34x: fix CONFIG_HPT34X_AUTODMA=n handlingBartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | | | | Programming DMA mode may destroy current PIO mode setting so if CONFIG_HPT34X_AUTODMA=n (the default case) make ide_tune_dma() fail early by disabling all host DMA masks and re-tune PIO mode. This fix doesn't help with the driver being broken but is needed for some other changes. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* triflex: add missing ->dma_base checkBartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* pdc202xx_old: add missing ->dma_base checkBartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* pdc202xx_new: add missing ->dma_base checkBartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | | | If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Also this host driver requires valid PCI BAR4 for normal operation so check it in ->init_chipset and fail initialization if not set. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* cs5530: add missing ->dma_base checkBartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | | | If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Also this host driver requires valid PCI BAR4 for normal operation so check it in ->init_chipset and fail initialization if not set. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: ide_config_drive_speed() bugfixesBartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | | | | | | | * Use ->OUTBSYNC instead of ->OUTB when writing command register (needed for scc_pata and pmac host drivers). * Don't check DRDY bit of the status register on ATAPI devices (ATAPI devices are free to ignore DRDY bit). Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Cc: Akira Iguchi <akira2.iguchi@toshiba.co.jp> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: add cable detection for early UDMA66 devices (take 3)Bartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | * Move ide_in_drive_list() from ide-dma.c to ide-iops.c. * Add ivb_list[] table for listening early UDMA66 devices which don't conform to ATA4 standard wrt cable detection (bit14 is zero, only bit13 is valid) and use only device side cable detection for them since host side cable detection may be unreliable. * Add model "QUANTUM FIREBALLlct10 05" with firwmare "A03.0900" to the list (from Craig's bugreport). v2: * Improve kernel message basing on suggestion from Sergei. v3: * Don't print kernel message when no device side cable detection is done, plus some minor fixes. (Noticed by Sergei) Thanks to Craig for testing this patch. Cc: Craig Block <chblock3@yahoo.com> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-pmac: fix drive->init_speed reportingBartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | | | pmac_ide_tune_chipset() don't set drive->init_speed. Fix it by setting drive->{current,init}_speed in pmac_ide_do_setfeature() and clean up pmac_ide_{tune_chipset,mdma_enable,udma_enable}(). Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: config_drive_for_dma() fixesBartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | | | | | | | * Add DMA blacklist checking (->ide_dma_on check probably can go now). * Add ->atapi_dma flag checking and remove no longer needed ns87415_ide_dma_check() from ns87415 host driver. * Remove now needless __ide_dma_check() wrapper and symbol export. * Check drive->autodma instead of hwif->autodma (there should be no changes in behavior as all users of config_drive_for_dma() set both ->autodma flags). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cris: fix ->set_pio_mode method to set transfer mode on the deviceBartlomiej Zolnierkiewicz2007-08-20
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: fix hidden dependencies on CONFIG_IDE_GENERICBartlomiej Zolnierkiewicz2007-08-20
| | | | | | | | | Some host drivers depend on CONFIG_IDE_GENERIC to do the probing but their config options lack explicit dependencies on IDE_GENERIC. In the long-term these host drivers should be fixed to do the probing themselves but for now fix them by making their config options select CONFIG_IDE_GENERIC. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: make CONFIG_IDE_GENERIC default to NTejun Heo2007-08-20
| | | | | | | | | | | These days, CONFIG_IDE_GENERIC causes more confusion and misconfiguration than it helps. Especially so because libata is linked after the generic driver. Default to N. Signed-off-by: Tejun Heo <htejun@gmail.com> Acked-by: Jeff Garzik <jeff@garzik.org> Cc: "P.C.Chan" <pc.chan@alcatel-lucent.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* scc_pata: PIO fixesBartlomiej Zolnierkiewicz2007-08-01
| | | | | | | | | | | | | | * Use pio == 255 == "auto-tune" in scc_config_drive_for_dma() instead of forcing PIO4 on PIO fallback. Fix comment while at it. * Rename scc_tuneproc() to scc_tune_pio() and add scc_tuneproc() wrapper. Move finding of the best PIO mode and setting of transfer mode on the device to the new wrapper. * Fix scc_tune_chipset() to tune PIO modes. Do a small cleanup while at it. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* piix/slc90e66: fix PIO1 handling in ->speedproc method (take 2)Bartlomiej Zolnierkiewicz2007-08-01
| | | | | | | | | | | | | | | | * Don't call {piix,slc90e66}_dma_2_pio() for PIO modes in {piix,slc90e66}_tune_chipset(). * Add PIO1 handling to {piix,slc90e66}_tune_chipset(). * Bump driver version. v2: * Remove PIO modes from {piix,slc90e66}_dma_2_pio(), they are no longer needed there (Noticed by Sergei) Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* jmicron: PIO fixesBartlomiej Zolnierkiewicz2007-08-01
| | | | | | | | | | | | * Set transfer mode on the device in jmicron_tuneproc(), also add pio == 255 == "auto-tune" handling. * Use jmicron_tuneproc() in jmicron_config_drive_for_dma(). * Remove no longer needed config_jmicron_chipset_for_pio(). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* it8213: PIO fixes (take 2)Bartlomiej Zolnierkiewicz2007-08-01
| | | | | | | | | | | | | | | | | | * Rename it8213_tuneproc() to it8213_tune_pio() and add it8213_tuneproc() wrapper. Move finding of the best PIO mode to the new wrapper. * Add setting of transfer mode on the device to it8213_tuneproc(). * Don't call it8213_dma_2_pio() for PIO modes in it8213_tune_chipset(). * Use it8213_tuneproc() in it8213_config_drive_for_dma(). v2: * Remove PIO modes from it8213_dma_2_pio(), they are no longer needed there (Noticed by Sergei) Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* cs5535: PIO fixesBartlomiej Zolnierkiewicz2007-08-01
| | | | | | | | | | | | | | | | | * Fix cs5535_tuneproc() to pass PIO transfer mode value instead of PIO mode number to cs5535_set_speed() (fixes random PIO timings being programmed and a possible OOPS). Do a little cleanup while at it. * Fix cs5535_set_speed() to check if the mate device is present (fixes PIO0 taskfile timings being used if there is no other device on the cable). * Use cs5535_tuneproc() in cs5535_dma_check(). The old code had the same issue as cs5535_tuneproc() and add additionally caused 0x00-0x04 transfer mode values (== default PIO, default PIO w/ IORDY + two invalid values) being set on the device instead of values 0x08-0x0c (XFER_PIO_[0,4]). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* cs5520: fix PIO auto-tuning in ->ide_dma_check methodBartlomiej Zolnierkiewicz2007-08-01
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* drivers/ide/arm/icside.c: kmalloc + memset conversion to kzallocMariusz Kozlowski2007-08-01
| | | | | | | | | | | | | | | Is this a bug? In original verison memset cleared sizeof(state) bytes instead of sizeof(*state). If it was intentional then this patch is invalid. If not intentional -> valid :) Please review. Bart: Yes, it is a bug so this patch is a valid bugfix. :-) drivers/ide/arm/icside.c | 18883 -> 18849 (-34 bytes) Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: eliminate warnings in ide-tape.cStephen Rothwell2007-08-01
| | | | | | | | | | | | drivers/ide/ide-tape.c: In function '__idetape_kmalloc_stage': drivers/ide/ide-tape.c:2588: warning: large integer implicitly truncated to unsigned type drivers/ide/ide-tape.c:2616: warning: large integer implicitly truncated to unsigned type b_size in struct idetape_bh is an unsigned short. We sometimes assigne PAGE_SIZE to it and PAGE_SIZE can be 64K or larger, so make it a u32. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: fix runtogether printk's in cmd64x IDE driverMeelis Roos2007-08-01
| | | | | | | | Fix a couple of runtogether printks in cmd64x.c IDE driver by adding proper newlines. Signed-off-by: Meelis Roos <mroos@linux.ee> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* sis5513: Add FSC Amilo A1630 PCI subvendor/dev to laptopsDavid Lamparter2007-08-01
| | | | | | | | | Recognise the FSC Amilo A1630's incarnation of a SiS5513 chip as laptop to get UDMA100 support. Signed-off-by: David Lamparter <equinox@diac24.net> Cc: Lionel Bouton <Lionel.Bouton@inet6.fr> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* alim15x3: Correct HP detectBartlomiej Zolnierkiewicz2007-08-01
| | | | | | | Direct port of Alan's fix for pata_ali. Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: Fix an overrun found in the CS5535 IDE driverJordan Crouse2007-08-01
| | | | | | | | | | | | | | | | As found by the Coverity checker, and reported by Adrian Bunk, this fixes a overrun error in the CS5535 IDE driver. Somebody got a little excited with the if() statement - the CS5535 only supports UDMA 0-4. Bart: Not a bug per se since the upper layer will never feed this function with speed > XFER_UDMA_4 (thanks to ->ultra_mask being set to 0x1f). Worth fixing anyway. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Cc: Adrian Bunk <bunk@stusta.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* Remove the arm26 portAdrian Bunk2007-07-31
| | | | | | | | | | | | The arm26 port has been in a state where it was far from even compiling for quite some time. Ian Molton agreed with the removal. Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: Ian Molton <spyro@f2s.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* drivers/ misc __iomem annotationsAl Viro2007-07-26
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [BLOCK] Get rid of request_queue_t typedefJens Axboe2007-07-24
| | | | | | | | | Some of the code has been gradually transitioned to using the proper struct request_queue, but there's lots left. So do a full sweet of the kernel and get rid of this typedef and replace its uses with the proper type. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* m68k: missing exportsAl Viro2007-07-20
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* ide: add support for SCSI ioctls to ide-floppyBartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | Now that ide-floppy supports SG_IO we can add support for SCSI ioctls (except deprecated SCSI_IOCTL_SEND_COMMAND and legacy CDROM_SEND_PACKET ones - we can add them later iff really needed). While at it remove handling of CDROMEJECT and CDROMCLOSETRAY ioctls from generic_ide_ioctl(): - This prevents ide-{disk,tape,scsi} device drivers from obtaining REQ_TYPE_BLOCK_PC type requests which are currently unsupported by these drivers and which are potentially harmful (as reported by Andrew). - There is no functionality loss since aforementioned ioctls will now be handled by idefloppy_ioctl()->scsi_cmd_ioctl() (for devices using ide-floppy driver) and by idecd_ioctl->cdrom_ioctl()->scsi_cmd_ioctl() (for devices using ide-cd driver). Cc: Jens Axboe <jens.axboe@oracle.com> Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: Jeff Garzik <jeff@garzik.org> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove stale changelog from setup-pci.cBartlomiej Zolnierkiewicz2007-07-19
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove stale changelog/comments/TODO from ide.cBartlomiej Zolnierkiewicz2007-07-19
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cris: handle PIO auto-tuning in tune_cris_ide()Bartlomiej Zolnierkiewicz2007-07-19
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: add PIO masksBartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | * Add ATA_PIO[0-6] defines to <linux/ata.h>. * Add ->pio_mask field to ide_pci_device_t and ide_hwif_t. * Add PIO masks to host drivers. <linux/ata.h> change ACK-ed by Jeff Garzik <jeff@garzik.org>. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove ide_find_best_pio_mode()Bartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | | | | | * Add ->host_flags to ide_hwif_t to store ide_pci_device_t.host_flags, assign it in setup-pci.c:ide_pci_setup_ports(). * Add IDE_HFLAG_PIO_NO_{BLACKLIST,DOWNGRADE} to ide_pci_device_t.host_flags and teach ide_get_best_pio_mode() about them. Also remove needless !drive->id check while at it (drive->id is always present). * Convert amd74xx, via82cxxx and ide-timing.h to use ide_get_best_pio_mode() and then remove no longer needed ide_find_best_pio_mode(). There should be no functionality changes caused by this patch. Acked-by: Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: drop "PIO data" argument from ide_get_best_pio_mode()Bartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | * Drop no longer needed "PIO data" argument from ide_get_best_pio_mode() and convert all users accordingly. * Remove no longer needed ide_pio_data_t. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: ide_find_best_pio_mode() fixes (take 2)Bartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | | * Check IORDY bit for PIO modes > 2. * Some devices claim maximum PIO mode > 2 in id->tPIO, they were punished too severly for this by being limited to PIO_SLOW. Limit them to PIO2 instead. v2: * Fix PIO number being returned incorrectly instead of PIO mode (Noticed by Sergei). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: add ide_pio_cycle_time() helper (take 2)Bartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | | | | * Add ide_pio_cycle_time() helper. * Use it in ali14xx/ht6560b/qd65xx/cmd64{0,x}/sl82c105 and pmac host drivers (previously cycle time given by the device was only used for "pio" == 255). * Remove no longer needed ide_pio_data_t.cycle_time field. v2: * Fix "ata_" prefix (Noticed by Jeff). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* sc1200: remove stale Power Management codeBartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | | | * Nowadays core IDE code handles restoring of PIO and DMA modes (ide-io.c:ide_start_power_step() etc) so remove open-coded version from sc1200_resume(). There should be no change in behavior because settings done by sc1200_resume() were always overridden by generic_ide_resume() and ide_{start,stop}_power_step(). * Bump driver version. Cc: Mark Lord <mlord@pobox.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: ide_start_power_step() fix WRT disabling DMABartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | * Do the same thing as probe_hwif() and always disable DMA so chipset DMA enabled bit gets cleared (if the drive doesn't support DMA ide_set_dma() won't try to tune it anyway). * Add TODO comment about respecting ->using_dma setting. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* serverworks: fix DMABartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | The driver used to depend on BIOS settings for deciding whether it is OK to use DMA. However it seems that BIOS doesn't always handle all cases correctly so just let IDE core to decide about this. It should be a safe thing to do now, after the driver went through heavy bugfixing. Thanks for bugreport and testing the patch goes out to Sven Niedner. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* serverworks: always tune PIOBartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | | | | | | * Always set ->autotune so PIO gets correctly auto-tuned (previously ->autotune was only set when ->dma_base wasn't available, however ->ide_dma_check()/->speedproc() was always trying to tune PIO when tuning DMA). * Move code responsible for programming chipset for PIO mode from svwks_tune_chipset() to svwks_tune_pio(). Don't tune PIO when tuning DMA (this is no longer needed since ->autotune is always set now). * Handle PIO modes early in svwks_tune_chipset() so DMA configuration registers don't get cleared when programming PIO mode. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: add ide_pci_device_t.host_flags (take 2)Bartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | | | | | | * Rename ide_pci_device_t.flags to ide_pci_device_t.host_flags and IDEPCI_FLAG_ISA_PORTS flag to IDE_HFLAG_ISA_PORTS. * Add IDE_HFLAG_SINGLE flag for single channel devices. * Convert core code and all IDE PCI drivers to use IDE_HFLAG_SINGLE and remove no longer needed ide_pci_device_t.channels field. v2: * Fix issues noticed by Sergei: - correct code alignment in scc_pata.c - s/IDE_HFLAG_SINGLE/~IDE_HFLAG_SINGLE/ in serverworks.c Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: add ide_dev_has_iordy() helper (take 4)Bartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | | | | | | * Add ide_dev_has_iordy() helper and use it sl82c105 host driver. * Remove no longer needed ide_pio_data_t.use_iordy field. v2/v3: * Fix issues noticed by Sergei: - correct patch description - fix comment in ide_get_best_pio_mode() v4: * Fix "ata_" prefix (Noticed by Jeff). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: make ide_get_best_pio_mode() print info if overriding PIO modeBartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | * Print info about overriding PIO mode in ide_get_best_pio_mode(). * Remove info about overriding PIO mode from cmd64{0,x} host drivers. * Remove no longer needed ide_pio_data_t.overridden field. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* siimage: PIO mode setup fixes (take 2)Bartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add sil_tuneproc() wrapper for siimage_tuneproc() which also sets PIO mode on the device. * Add missing ide_get_best_pio_mode() call to sil_tuneproc() so "pio" == 255 (autotune) is handled correctly (previously PIO0 was used) and "pio" values > 4 && < 255 are filtered to PIO4 (instead of PIO0). * Add code limiting maximum PIO mode according to the pair device capabilities to sil_tuneproc(). * Convert users of config_siimage_chipset_for_pio() to use sil_tune_pio() and sil_tuneproc(). This fixes PIO fallback in siimage_config_drive_for_dma() to use max PIO mode available instead of PIO4 (config_siimage_chipset_for_pio() used wrong arguments for ide_get_best_pio_mode() and as a results always tried to set PIO4). * Remove no longer needed siimage_taskfile_timing() and config_siimage_chipset_for_pio(). * Enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes from siimage_speedproc() * Bump driver version. v2: * Fix issues noticed by Sergei: - correct pair device check - trim only taskfile PIO to the slowest of the master/slave - enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes from siimage_speedproc() - add TODO item for IORDY bugs - minor cleanups Reviewed-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* atiixp: PIO mode setup fixesBartlomiej Zolnierkiewicz2007-07-19
| | | | | | | | | | | | | | | | | | | | | | * Split off exisiting atiixp_tuneproc() into atiixp_tune_pio() and then add setting device PIO mode to atiixp_tuneproc(). * Add missing ide_get_best_pio_mode() call to atiixp_tuneproc() so "pio" == 255 (autotune) is handled correctly and "pio" values > 4 && < 255 are filtered to PIO4 (previously "pio" == 5 could result in wrong timings being used and "pio" values > 4 && < 255 in an OOPS). * Handle PIO modes early in atiixp_speedproc() so save_mdma_mode[] doesn't get cleared. * In atiixp_dma_check(): - fix max_mode argument for ide_get_best_pio_mode() - don't call atiixp_dma_2_pio() so PIO1 doesn't get remapped to PIO0 - use atiixp_tuneproc() instead of atiixp_speedproc() * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: Stop mapping ROMsAlan Cox2007-07-19
| | | | | | | | | | | | | Various old IDE drivers go mapping ROM devices for no apparent reason and without using the ROM mapping API we now have. They don't actually use the ROM they map and the new libata drivers are happy without it being mapped so rather than port them lets just junk it for the next -rc1. Signed-off-by: Alan Cox <alan@redhat.com> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Andrew Morton <akpm@osdl.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* IDE: Remove references to dead ETRAX-related variables.Robert P. J. Day2007-07-19
| | | | | | | | | | | | | | | The two CONFIG variables CONFIG_ETRAX_IDE_CSE1_16_RESET CONFIG_ETRAX_IDE_CSP0_8_RESET appear to have been dead since way back in 2.5.xx days: http://www.linuxhq.com/kernel/v2.5/75/arch/cris/drivers/Kconfig Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Cc: Michael Starvik <starvik@axis.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* PCMCIA: Add another MemoryCard to ide-cs/pata_pcmciaMarcin Juszkiewicz2007-07-19
| | | | | | | | | One card submitted by user. Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>