1. 01 Feb, 2008 2 commits
  2. 26 Jan, 2008 5 commits
  3. 25 Jan, 2008 20 commits
  4. 12 Dec, 2007 2 commits
    • Bartlomiej Zolnierkiewicz's avatar
    • Bartlomiej Zolnierkiewicz's avatar
      ide: DMA reporting and validity checking fixes (take 3) · 3ab7efe8
      Bartlomiej Zolnierkiewicz authored
      * ide_xfer_verbose() fixups:
        - beautify returned mode names
        - fix PIO5 reporting
        - make it return 'const char *'
      
      * Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().
      
      * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid
        DMA info in identify block.
      
      * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().
      
        As a result DMA won't be tuned or will be disabled after tuning if device
        reports inconsistent info about enabled DMA mode (ide_dma_verbose() does the
        same checks while the IDE device is probed by ide-{cd,disk} device driver).
      
      * Remove no longer needed ide_dma_verbose().
      
      This patch should fix the following problem with out-of-sync IDE messages
      reported by Nick Warne:
      
             hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
             skipping word 93 validity check
              , UDMA(66)
      
      and later debugged by Mark Lord to be caused by:
      
              ide_dma_verbose()
                      printk( ... "2048kB Cache");
              eighty_ninty_three()
                      printk(KERN_DEBUG "%s: skipping word 93 validity check\n");
              ide_dma_verbose()
                      printk(", UDMA(66)"
      
      Please note that as a result ide-{cd,disk} device drivers won't report the
      DMA speed used but this is intended since now DMA mode being used is always
      reported by IDE core code.
      
      v2:
      * fixes suggested by Randy:
        - use KERN_CONT for printk()-s in ide-{cd,disk}.c
        - don't remove argument name from ide_xfer_verbose() declaration
      
      v3:
      * Remove incorrect check for (id->field_valid & 1) from ide_id_dma_bug()
        (spotted by Sergei).
      
      * "XFER SLOW" -> "PIO SLOW" in ide_xfer_verbose() (suggested by Sergei).
      
      * Fix ide_find_dma_mode() to report the correct mode ('mode' after being
        limited by 'req_mode').
      
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Nick Warne <nick@ukfsn.org>
      Cc: Mark Lord <lkml@rtr.ca>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3ab7efe8
  5. 19 Oct, 2007 1 commit
  6. 18 Oct, 2007 1 commit
  7. 16 Oct, 2007 1 commit
  8. 17 Sep, 2007 1 commit
  9. 20 Aug, 2007 1 commit
    • Bartlomiej Zolnierkiewicz's avatar
      ide-disk: workaround for buggy HPA support on ST340823A (take 3) · b0244a00
      Bartlomiej Zolnierkiewicz authored
      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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      b0244a00
  10. 24 Jul, 2007 1 commit
  11. 09 Jul, 2007 1 commit
  12. 08 Jun, 2007 1 commit
    • Lee Trager's avatar
      ide: HPA detect from resume · 0d2157f7
      Lee Trager authored
      Currently when system which have HPA require HPA to be detected and
      disabled upon resume from RAM or disk. The current IDE drivers do not do
      this nor does libata (obviously it since it doesn't support HPA yet).
      
      I have implemented this into the current IDE drivers and it has been
      tested by many others since 7/15/2006 in bug number 6840:
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=6840
      
      and it has been confirmed to work fine with no problems.
      
      bart: added drv != NULL check to generic_ide_suspend()
      
      From: Lee Trager <lt73@cs.drexel.edu>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      0d2157f7
  13. 09 May, 2007 3 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: move IDE settings handling to ide-proc.c · 7662d046
      Bartlomiej Zolnierkiewicz authored
      * move
      	__ide_add_setting()
      	ide_add_setting()
      	__ide_remove_setting()
      	auto_remove_settings()
      	ide_find_setting_by_name()
      	ide_read_setting()
      	ide_write_setting()
      	set_xfer_rate()
      	ide_add_generic_settings()
      	ide_register_subdriver()
      	ide_unregister_subdriver()
      
        from ide.c to ide-proc.c
      
      * set_{io_32bit,pio_mode,using_dma}() cannot be marked static now, fix it
      
      * rename ide_[un]register_subdriver() to ide_proc_[un]register_driver(),
        update device drivers to use new names
      
      * add CONFIG_IDE_PROC_FS=n versions of ide_proc_[un]register_driver()
        and ide_add_generic_settings()
      
      * make ide_find_setting_by_name(), ide_{read,write}_setting()
        and ide_{add,remove}_proc_entries() static
      
      * cover IDE settings code in device drivers with CONFIG_IDE_PROC_FS #ifdef,
        also while at it cover with CONFIG_IDE_PROC_FS #ifdef ide_driver_t.proc
      
      * remove bogus comment from ide.h
      
      * cover with CONFIG_IDE_PROC_FS #ifdef .proc and .settings in ide_drive_t
      
      Besides saner code this patch results in the IDE core smaller by ~2 kB
      (on x86-32) and IDE disk driver by ~1 kB (ditto) when CONFIG_IDE_PROC_FS=n.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      7662d046
    • Bartlomiej Zolnierkiewicz's avatar
      ide: split off ioctl handling from IDE settings (v2) · 1497943e
      Bartlomiej Zolnierkiewicz authored
      * do write permission and min/max checks in ide_procset_t functions
      
      * ide-disk.c: drive->id is always available so cleanup "multcount" setting
        accordingly
      
      * ide-disk.c: "address" setting was incorrectly defined as type TYPE_INTA,
        fix it by using type TYPE_BYTE and updating ide_drive_t->adressing field,
        the bug didn't trigger because this IDE setting uses custom ->set function
      
      * ide.c: add set_ksettings() for handling HDIO_SET_KEEPSETTINGS ioctl
      
      * ide.c: add set_unmaskirq() for handling HDIO_SET_UNMASKINTR ioctl
      
      * handle ioctls directly in generic_ide_ioclt() and idedisk_ioctl()
        instead of using IDE settings to deal with them
      
      * remove no longer needed ide_find_setting_by_ioctl() and {read,write}_ioctl
        fields from ide_settings_t, also remove now unused TYPE_INTA handling
      
      v2:
      * add missing EXPORT_SYMBOL_GPL(ide_setting_sem) needed now for ide-disk
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      1497943e
    • Bartlomiej Zolnierkiewicz's avatar
      ide: make /proc/ide/ optional · ecfd80e4
      Bartlomiej Zolnierkiewicz authored
      All important information/features should be already available through
      sysfs and ioctl interfaces.
      
      Add CONFIG_IDE_PROC_FS (CONFIG_SCSI_PROC_FS rip-off) config option,
      disabling it makes IDE driver ~5 kB smaller (on x86-32).
      
      While at it add CONFIG_PROC_FS=n versions of proc_ide_{create,destroy}()
      and remove no longer needed #ifdefs.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ecfd80e4