1. 30 3月, 2008 1 次提交
  2. 25 3月, 2008 6 次提交
    • J
      [libata] ahci: SB600 workaround is suspect... play it safe for now · 4cde32fc
      Jeff Garzik 提交于
      At least one report claims that a878539e
      failed to solve lockups, whereas the old limit-to-32-bit trick worked.
      
      Restore the 32-bit limit, but also leave the 255-sector limit in place,
      because we know that's needed as well.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      4cde32fc
    • M
      sata_promise: fix hardreset hotplug events, take 2 · c07a9c49
      Mikael Pettersson 提交于
      A Promise SATA controller will signal hotplug events when a hard
      reset (COMRESET) is done on a port. These events aren't masked by
      the driver, and the unexpected interrupts will cause a sequence
      of failed reset attempts util libata's EH finally gives up.
      
      This has not been a common problem so far, but the pending libata
      hardreset-by-default changes makes it a critical issue.
      
      The solution is to disable hotplug events before a reset, and to
      reenable them afterwards. (Promise's driver does this too.)
      
      This patch adds SATA-specific versions of ->freeze() and ->thaw()
      that also disable and enable hotplug events. PATA ports continue
      to use the old versions of ->freeze() and ->thaw().
      
      Accesses to the hotplug register must be serialised via host->lock.
      We rely on ap->lock == &ap->host->lock and that libata takes this
      lock before ->freeze() and ->thaw(). Document this requirement.
      The interrupt handler is adjusted so its hotplug register accesses
      are inside the region protected by host->lock.
      
      Tested on various chips (SATA300TX4, SATA300TX2plus, SATAII150TX4,
      FastTrack TX4000) with various combinations of SATA and PATA disks,
      with and without the pending hardreset-by-default changes.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Acked-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      c07a9c49
    • T
      libata: improve HPA error handling · dda7aba1
      Tejun Heo 提交于
      There's no point in retrying and eventually failing device detection
      when the device rejects READ_NATIVE_MAX[_EXT].  Disable HPA unlocking
      if READ_NATIVE_MAX[_EXT] is rejected as done when SET_MAX[_EXT] is
      rejected.
      
      This allows some old drives to work even if they aren't blacklisted.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      dda7aba1
    • T
      libata: assume no device is attached if both IDENTIFYs are aborted · 1ffc151f
      Tejun Heo 提交于
      This is to fix bugzilla #10254.  QSI cdrom attached to pata_sis as
      secondary master appears as phantom device for the slave.
      Interestingly, instead of not setting DRQ after IDENTIFY which
      triggers NODEV_HINT, it aborts both IDENTIFY and IDENTIFY PACKET which
      makes EH retry.
      
      Modify EH such that it assumes no device is attached if both flavors
      of IDENTIFY are aborted by the device.  There really isn't much point
      in retrying when the device actively aborts the commands.
      
      While at it, convert NODEV detection message to ata_dev_printk() to
      help debugging obscure detection problems.
      
      This problem was reported by Jan Bücken.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Jan Bücken <jb.faq@gmx.de>
      Acked-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      1ffc151f
    • T
      pata_it821x: use raw nbytes in check_atapi_dma · b63b1331
      Tejun Heo 提交于
      pata_it821x needs to look at raw request size in check_atapi_dma().
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      b63b1331
    • T
      libata: implement ata_qc_raw_nbytes() · aacda375
      Tejun Heo 提交于
      Implement ata_qc_raw_nbytes() which determines the raw user-requested
      size of a PC command.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      aacda375
  3. 18 3月, 2008 1 次提交
  4. 17 3月, 2008 5 次提交
  5. 11 3月, 2008 7 次提交
  6. 05 3月, 2008 2 次提交
  7. 04 3月, 2008 2 次提交
  8. 01 3月, 2008 1 次提交
  9. 29 2月, 2008 1 次提交
  10. 26 2月, 2008 2 次提交
  11. 24 2月, 2008 8 次提交
    • R
      libata-core: fix kernel-doc warning · 4cdfa1b3
      Randy Dunlap 提交于
      Fix libata-core kernel-doc warning:
      Warning(linux-2.6.25-rc2-git6//drivers/ata/libata-core.c:168): No description found for parameter 'ap'
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      4cdfa1b3
    • A
      sata_fsl: fix build with ATA_VERBOSE_DEBUG · b1f5dc48
      Anton Vorontsov 提交于
      This patch fixes build and few warnings when ATA_VERBOSE_DEBUG
      is defined:
      
        CC      drivers/ata/sata_fsl.o
      drivers/ata/sata_fsl.c: In function ‘sata_fsl_fill_sg’:
      drivers/ata/sata_fsl.c:338: warning: format ‘%x’ expects type ‘unsigned int’, but argument 3 has type ‘void *’
      drivers/ata/sata_fsl.c:338: warning: format ‘%x’ expects type ‘unsigned int’, but argument 4 has type ‘struct prde *’
      drivers/ata/sata_fsl.c: In function ‘sata_fsl_qc_issue’:
      drivers/ata/sata_fsl.c:459: error: ‘csr_base’ undeclared (first use in this function)
      drivers/ata/sata_fsl.c:459: error: (Each undeclared identifier is reported only once
      drivers/ata/sata_fsl.c:459: error: for each function it appears in.)
      drivers/ata/sata_fsl.c: In function ‘sata_fsl_freeze’:
      drivers/ata/sata_fsl.c:525: error: ‘csr_base’ undeclared (first use in this function)
      make[2]: *** [drivers/ata/sata_fsl.o] Error 1
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      b1f5dc48
    • S
      [libata] ahci: AMD SB700/SB800 SATA support 64bit DMA · e39fc8c9
      Shane Huang 提交于
      SB700 SATA controller can support 64 bit DMA, the previous commit
      badc2341 was added with
      careless reference to SB600, which should be modified by this patch.
      Signed-off-by: NShane Huang <shane.huang@amd.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      e39fc8c9
    • M
      libata-pmp: clear hob for pmp register accesses · 39f25e70
      Mark Lord 提交于
      >> Mark Lord wrote:
      >>> Tejun, I've added PMP to sata_mv, and am now trying to get it
      >>> to work with a Marvell PM attached.
      
      > >>> And the behaviour I see is very bizarre.
      
      >>> After hard+soft resets, the PM signature is found,
      >>> and libata interrogates the PM registers.
      >>>
      >>> It successfully reads register 0, and then register 1.
      >>> But all subsequent registers read out (incorrectly) as zeros.
      ...
      
      This behavior has been confirmed by Marvell with a SATA analyzer.
      The Marvell port-multiplier apparently likes to see clean HOB
      information when accessing PMP registers.
      
      Since sata_mv uses PIO shadow register access, this doesn't happen
      automatically, as it might in a more purely FIS-based driver (eg. ahci).
      
      One way to fix this is to flag these commands with ATA_TFLAG_LBA48,
      forcing libata to write out the HOB fields with known (zero) values.
      Signed-off-by: NSaeed Bishara <saeed@marvell.com>
      Acked-by: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      39f25e70
    • T
      libata: automatically use DMADIR if drive/bridge requires it · 91163006
      Tejun Heo 提交于
      Back in 2.6.17-rc2, a libata module parameter was added for atapi_dmadir.
      
      That's nice, but most SATA devices which need it will tell us about it
      in their IDENTIFY PACKET response, as bit-15 of word-62 of the
      returned data (as per ATA7, ATA8 specifications).
      
      So for those which specify it, we should automatically use the DMADIR bit.
      Otherwise, disc writing will fail by default on many SATA-ATAPI drives.
      
      This patch adds ATA_DFLAG_DMADIR and make ata_dev_configure() set it
      if atapi_dmadir is set or identify data indicates DMADIR is necessary.
      atapi_xlat() is converted to check ATA_DFLAG_DMADIR before setting
      DMADIR.
      
      Original patch is from Mark Lord.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Mark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      91163006
    • P
      power_state: get rid of write-only variable in SATA · 559bbe6c
      Pavel Machek 提交于
      power_state is scheduled for removal, and libata uses it in write-only
      mode. Remove it.
      Signed-off-by: NPavel Machek <pavel@suse.cz>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      559bbe6c
    • A
      pata_atiixp: Use 255 sector limit · 635adc28
      Alan Cox 提交于
      AHCI needs sorting too but this deals with the old interface
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      635adc28
    • R
      PM: Introduce PM_EVENT_HIBERNATE callback state · 3a2d5b70
      Rafael J. Wysocki 提交于
      During the last step of hibernation in the "platform" mode (with the
      help of ACPI) we use the suspend code, including the devices'
      ->suspend() methods, to prepare the system for entering the ACPI S4
      system sleep state.
      
      But at least for some devices the operations performed by the
      ->suspend() callback in that case must be different from its operations
      during regular suspend.
      
      For this reason, introduce the new PM event type PM_EVENT_HIBERNATE and
      pass it to the device drivers' ->suspend() methods during the last phase
      of hibernation, so that they can distinguish this case and handle it as
      appropriate.  Modify the drivers that handle PM_EVENT_SUSPEND in a
      special way and need to handle PM_EVENT_HIBERNATE in the same way.
      
      These changes are necessary to fix a hibernation regression related
      to the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488).
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Tested-by: NJeff Chua <jeff.chua.linux@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3a2d5b70
  12. 21 2月, 2008 4 次提交
新手
引导
客服 返回
顶部