1. 06 10月, 2005 3 次提交
  2. 05 10月, 2005 1 次提交
  3. 04 10月, 2005 7 次提交
    • A
      9d5b1302
    • A
      [libata scsi] tidy up SCSI lba and xfer len calculations · 3aef5231
      Albert Lee 提交于
      move the redundant SCSI lba and transfer length calculation code from
      ata_scsi_verify_xlat() and ata_scsi_rw_xlat() to common functions.
      3aef5231
    • A
      libata: minor whitespace, comment, debug message updates · c187c4b5
      Albert Lee 提交于
      c187c4b5
    • A
      libata: bitmask based pci init functions for one or two ports · 47a86593
      Alan Cox 提交于
      This redoes the n_ports logic I proposed before as a bitmask.
      ata_pci_init_native_mode is now used with a mask allowing for mixed mode
      stuff later on. ata_pci_init_legacy_port is called with port number and
      does one port now not two. Instead it is called twice by the ata init
      logic which cleans both of them up.
      
      There are stil limits in the original code left over
      
      - IRQ/port mapping for legacy mode should be arch specific values
      - You can have one legacy mode IDE adapter per PCI root bridge on some systems
      - Doesn't handle mixed mode devices yet (but is now a lot closer to it)
      47a86593
    • B
      [PATCH] libata: Marvell SATA support (DMA mode) (resend: v0.22) · 31961943
      Brett Russ 提交于
      This is my libata compatible low level driver for the Marvell SATA
      family.  Currently it runs in DMA mode on a 6081 chip.
      
      The 5xxx series parts are not yet DMA capable in this driver because
      the registers have differences that haven't been accounted for yet.
      Basically, I'm focused on the 6xxx series right now.  I apologize for
      those seeing problems on the 5xxx series, I've not had a chance to
      look at those problems yet.
      
      For those curious, the previous bug causing the SCSI timeout and
      subsequent panics was caused by an improper clear of hc_irq_cause in
      mv_host_intr().
      
      This version is running well in my environment (6081 chips,
      with/without SW raid1) and is showing equal or better performance
      compared to the Marvell driver (mv_sata) in my initial tests (timed
      dd's of reads/writes to/from memory/disk).
      
      I still need to look at the causes of occasional problems such as this:
      
      ata11: translating stat 0x35 err 0x00 to sense
      ata11: status=0x35 { DeviceFault SeekComplete CorrectedError Error }
      SCSI error : <10 0 0 0> return code = 0x8000002
      Current sda: sense key Hardware Error
      end_request: I/O error, dev sda, sector 3155010
      
      and this, seen at init time:
      
      ATA: abnormal status 0x80 on port 0xE093911C
      
      but they aren't showstoppers.
      Signed-off-by: NBrett Russ <russb@emc.com>
      Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
      31961943
    • J
      [libata] improve device scan even more · 3f19ee8c
      Jeff Garzik 提交于
      Since our max_lun is unconditionally set to 1, we might as well
      hardcode a LUN 0 probe, rather than a wildcard LUN scan.
      
      The ide-scsi driver sets max_lun to a value greater than under
      certain conditions:
      
              if ((drive->id->last_lun & 0x7) != 7)
                      host->max_lun = (drive->id->last_lun & 0x7) + 1;
              else
                      host->max_lun = 1;
      
      last_lun is Word 126 of IDENTIFY PACKET DEVICE, marked as obsolete
      and undocumented in non-ancient specs.  We'll leave it out for now.
      Should the need arise to support multi-LUN ATAPI devices, we'll
      probably want to add the above code.
      
      Finally, there have been reports of REPORT LUNS commands locking up
      ATAPI drives.  Eliminating the wildcard LUN scan could help reduce
      the trouble from problematic drives.
      3f19ee8c
    • J
      [libata] improve device scan · 644dd0cc
      Jeff Garzik 提交于
      Replace SCSI's legacy "bang at the door" method of probing with one
      directly controlled by the underlying ATA transport layer.
      
      We now only call scsi_scan_target() for devices we find, rather than
      probing every possible channel/id within a certain range.
      644dd0cc
  4. 29 9月, 2005 1 次提交
  5. 28 9月, 2005 2 次提交
  6. 23 9月, 2005 1 次提交
  7. 22 9月, 2005 1 次提交
  8. 19 9月, 2005 3 次提交
    • J
      [SCSI] Fix thread termination for the SCSI error handle · 3ed7a470
      James Bottomley 提交于
      From: 	Alan Stern <stern@rowland.harvard.edu>
      
      This patch (as561) fixes the error handler's thread-exit code.  The
      kthread_stop call won't wake the thread from a down_interruptible, so
      the patch gets rid of the semaphore and simply does
      
              set_current_state(TASK_INTERRUPTIBLE);
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      
      Modified to simplify the termination loop and correct the sleep condition.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      3ed7a470
    • J
      [SCSI] fix oops on usb storage device disconnect · 939647ee
      James Bottomley 提交于
      We fix the oops by enforcing the host state model.  There have also
      been two extra states added: SHOST_CANCEL_RECOVERY and
      SHOST_DEL_RECOVERY so we can take the model through host removal while
      the recovery thread is active.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      939647ee
    • A
      [SCSI] SCSI scanning and removal fixes · a64358db
      Alan Stern 提交于
      This patch (as545) fixes the list traversals in __scsi_remove_target and
      scsi_forget_host.  In each case the existing code list_for_each_entry_safe
      in an _unsafe_ manner, because the list was not protected from outside
      modification while the iteration was running.
      
      The new scsi_forget_host routine takes the moderately controversial step
      of iterating over devices for removal rather than iterating over targets.
      This makes more sense to me because the current scheme treats targets as
      second-class citizens, created and removed on demand, rather than as
      objects corresponding to actual hardware.  (Also I couldn't figure out any
      safe way to iterate over the target list, since it's not so easy to tell
      when a target has already been removed.)
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      a64358db
  9. 18 9月, 2005 2 次提交
  10. 16 9月, 2005 4 次提交
  11. 15 9月, 2005 4 次提交
  12. 14 9月, 2005 3 次提交
  13. 13 9月, 2005 2 次提交
  14. 11 9月, 2005 6 次提交