1. 13 7月, 2008 1 次提交
  2. 21 6月, 2008 2 次提交
  3. 19 6月, 2008 7 次提交
  4. 13 6月, 2008 2 次提交
  5. 05 6月, 2008 1 次提交
  6. 04 6月, 2008 4 次提交
    • A
      libata-sff: Fix oops reported in kerneloops.org for pnp devices with no ctl · a57c1bad
      Alan Cox 提交于
      - Make ata_sff_altstatus private so nobody uses it by mistake
      - Drop the 400nS delay from it
      
      Add
      
      ata_sff_irq_status	-	encapsulates the IRQ check logic
      
      This function keeps the existing behaviour for altstatus using devices. I
      actually suspect the logic was wrong before the changes but -rc isn't the
      time to play with that
      
      ata_sff_sync		-	ensure writes hit the device
      
      Really we want an io* operation for 'is posted' eg ioisposted(ioaddr) so
      that we can fix the nasty delay this causes on most systems.
      
      - ata_sff_pause		-	400nS delay
      
      Ensure the command hit the device and delay 400nS
      
      - ata_sff_dma_pause
      
      Ensure the I/O hit the device and enforce an HDMA1:0 transition delay.
      Requires altstatus register exists, BUG if not so we don't risk
      corruption in MWDMA modes. (UDMA the checksum will save your backside in
      theory)
      
      The only other complication then is devices with their own handlers.
      rb532 can use dma_pause but scc needs to access its own altstatus
      register for internal errata workarounds so directly call the drivers own
      altstatus function.
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      a57c1bad
    • M
      sata_mv: PHY_MODE4 cleanups · ba069e37
      Mark Lord 提交于
      The handling for PHY_MODE4 was originally just cloned from the
      Marvell proprietary driver (with their blessing).
      But we can do better than that.
      
      Tidy things up with some judicious mask definitions, to improve maintainability.
      Signed-off-by: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ba069e37
    • C
      [libata] ata_piix: more acer short cable quirks · e1fefea9
      Colin Ian King 提交于
      Add ICH6 on ACER Aspire 1694WLMi to list of laptops that use short cables
      rather than 80 wire
      
      OriginalAuthor: Tiago Sousa
      OriginalLocation: http://launchpadlibrarian.net/11627664/new.ich_laptop.short.cables.diff
      Bug: #187121
      Signed-off-by: NColin Ian King <colin.king@canonical.com>
      Signed-off-by: Nmaximilian attems <max@stro.at>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      e1fefea9
    • H
      [libata] ACPI: Properly handle bay devices in dock stations · 664d080c
      Holger Macht 提交于
      * Differentiate between bay devices in dock stations and others:
      
       - When an ACPI_NOTIFY_EJECT_REQUEST appears, just signal uevent to
         userspace (that is when the optional eject button on a bay device is
         pressed/pulled) giving the possibility to unmount file systems and to
         clean up. Also, only send uevent in case we get an EJECT_REQUEST
         without doing anything else. In other cases, you'll get an add/remove
         event because libata attaches/detaches the device.
      
       - In case of a dock event, which in turn signals an
         ACPI_NOTIFY_EJECT_REQUEST, immediately detach the device, because it
         may already have been gone
      
      * In case of an ACPI_NOTIFY_DEVICE/BUS_CHECK, evaluate _STA to check if
        the device has been plugged or unplugged. If plugged, hotplug it, if
        unplugged, just signal event to userspace
        (initial patch by Matthew Garrett <mjg59@srcf.ucam.org>)
      
      * Call ACPI _EJ0 for detached devices
      Signed-off-by: NHolger Macht <hmacht@suse.de>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      664d080c
  7. 31 5月, 2008 11 次提交
  8. 20 5月, 2008 12 次提交
    • J
      drivers/ata: trim trailing whitespace · c85665ff
      Jeff Garzik 提交于
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      c85665ff
    • M
      Fixups to ATA ACPI hotplug · ae6c23c4
      Matthew Garrett 提交于
      The libata-acpi.c code currently accepts hotplug messages from both the
      port and the device. This does not match the behaviour of the bay
      driver, and may result in confusion when two hotplug requests are
      received for the same device. This patch limits the hotplug notification
      to removable ACPI devices, which in turn allows it to use the _STA
      method to determine whether the device has been removed or inserted.
      On removal, devices are marked as detached. On insertion, a hotplug scan
      is started. This should avoid lockups caused by the ata layer attempting
      to scan devices which have been removed. The uevent sending is moved
      outside the spinlock in order to avoid a warning generated by it firing
      when interrupts are disabled.
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ae6c23c4
    • T
      libata: ignore SIMG4726 config pseudo device · 50af2fa1
      Tejun Heo 提交于
      I was hoping ATA_HORKAGE_NODMA | ATA_HORKAGE_SKIP_PM could keep it
      happy but no even this doesn't work under certain configurations and
      it's not like we can do anything useful with the cofig device anyway.
      Replace ATA_HORKAGE_SKIP_PM with ATA_HORKAGE_DISABLE and use it for
      the config device.  This makes the device completely ignored by
      libata.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      50af2fa1
    • T
      sata_sil24: don't use NCQ if marvell 4140 PMP is attached · 906c1ff4
      Tejun Heo 提交于
      When 4140 PMP is attached to sil24, NCQ commands to fan out port 1 and
      2 (0 based) often stall if commands are in progress to other ports.
      I've tried a number of things but can't tell what's going on.  It
      never happens w/ ahci and reportedly sata_mv which can issue NCQ
      commands to multiple devices simultaneously like sil24 does.
      
      Disable NCQ for devices behind 4140 PMP for the time being.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Mark Lord <liml@rtr.ca>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      906c1ff4
    • T
      libata: don't schedule LPM action seperately during probing · 391191c1
      Tejun Heo 提交于
      There's no reason to schedule LPM action after probing is complete
      causing another EH iteration.  Just schedule it together with probing
      itself.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      391191c1
    • T
      libata: make sure PMP notification is turned off during recovery · f1bbfb90
      Tejun Heo 提交于
      PMP notification during reset can make some controllers fail reset
      processing and needs to be turned off during resets.  PMP attach and
      full-revalidation path did this via sata_pmp_configure() but the quick
      revalidation wasn't.  Move the notification disable code right above
      fan-out port recovery so that it's always turned off.
      
      This fixes obscure reset failures.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      f1bbfb90
    • T
      libata: increase PMP register access timeout to 3s · bf1bff6f
      Tejun Heo 提交于
      This timeout was set low because previously PMP register access was
      done via polling and register access timeouts could stack up.  This is
      no longer the case.  One timeout will make all following accesses fail
      immediately.
      
      In rare cases both marvell and SIMG PMPs need almost a second.  Bump
      it to 3s.
      
      While at it, rename it to SATA_PMP_RW_TIMEOUT.  It's not specific to
      SCR access.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      bf1bff6f
    • T
      libata: ignore recovered PHY errors · e0614db2
      Tejun Heo 提交于
      No reason to get overzealous about recovered comm and data errors.
      Some PHYs habitually sets them w/o no good reason and being draconian
      about these soft error conditions doesn't seem to help anybody.
      
      If need ever rises, we might need to add soft PHY error condition, say
      AC_ERR_MAYBE_ATA_BUS and use it only to determine whether speed down
      is necessary but I don't think that's very likely to happen.  It's far
      more likely we'll get timeouts or fatal transmission errors if
      recovered errors are so prominent that they hamper operation.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      e0614db2
    • T
      libata: kill hotplug related race condition · f046519f
      Tejun Heo 提交于
      Originally, whole reset processing was done while the port is frozen
      and SError was cleared during @postreset().  This had two race
      conditions.  1: hotplug could occur after reset but before SError is
      cleared and libata won't know about it.  2: hotplug could occur after
      all the reset is complete but before the port is thawed.  As all
      events are cleared on thaw, the hotplug event would be lost.
      
      Commit ac371987 kills the first race
      by clearing SError during link resume but before link onlineness test.
      However, this doesn't fix race #2 and in some cases clearing SError
      after SRST is a good idea.
      
      This patch solves this problem by cross checking link onlineness with
      classification result after SError is cleared and port is thawed.
      Reset is retried if link is online but all devices attached to the
      link are unknown.  As all devices will be revalidated, this one-way
      check is enough to ensure that all devices are detected and
      revalidated reliably.
      
      This, luckily, also fixes the cases where host controller returns
      bogus status while harddrive is spinning up after hotplug making
      classification run before the device sends the first FIS and thus
      causes misdetection.
      
      Low level drivers can bypass the logic by setting class explicitly to
      ATA_DEV_NONE if ever necessary (currently none requires this).
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      f046519f
    • T
      libata: move reset freeze/thaw handling into ata_eh_reset() · dc98c32c
      Tejun Heo 提交于
      Previously reset freeze/thaw handling lived outside of ata_eh_reset()
      mainly because the original PMP reset code needed the port frozen
      while resetting all the fan-out ports, which is no longer the case.
      
      This patch moves freeze/thaw handling into ata_eh_reset().
      @prereset() and @postreset() are now called w/o freezing the port
      although @prereset() an be called frozen if the port is frozen prior
      to entering ata_eh_reset().
      
      This makes code simpler and will help removing hotplug event related
      races.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      dc98c32c
    • T
      libata: reorganize ata_eh_reset() no reset method path · 932648b0
      Tejun Heo 提交于
      Reorganize ata_eh_reset() such that @prereset() is called even when no
      reset method is available and if block is used instead of goto to skip
      actual reset.  This makes no reset case behave better (readiness wait)
      and future changes easier.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      932648b0
    • T
      libata: fix sata_link_hardreset() @online out parameter handling · 0cbf0711
      Tejun Heo 提交于
      The @online out parameter is supposed to set to true iff link is
      online and reset succeeded as advertised in the function description
      and callers are coded expecting that.  However, sata_link_reset()
      didn't behave this way on device readiness test failure.  Fix it.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      0cbf0711
新手
引导
客服 返回
顶部