1. 15 5月, 2006 7 次提交
    • T
      [PATCH] libata: add dev->ap · 38d87234
      Tejun Heo 提交于
      Add dev->ap which points back to the port the device belongs to.  This
      makes it unnecessary to pass @ap for silly reasons (e.g. printks).
      Also, this change is necessary to accomodate later PM support which
      will introduce ATA link inbetween port and device.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      38d87234
    • T
      [PATCH] libata: kill old SCR functions and sata_dev_present() · a0ab51ce
      Tejun Heo 提交于
      Kill now unused scr_{read|write|write_flush}() and sata_dev_present().
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      a0ab51ce
    • T
      [PATCH] libata: implement new SCR handling and port on/offline functions · 34bf2170
      Tejun Heo 提交于
      Implement ata_scr_{valid|read|write|write_flush}() and
      ata_port_{online|offline}().  These functions replace
      scr_{read|write}() and sata_dev_present().
      
      Major difference between between the new SCR functions and the old
      ones is that the new ones have a way to signal error to the caller.
      This makes handling SCR-available and SCR-unavailable cases in the
      same path easier.  Also, it eases later PM implementation where SCR
      access can fail due to various reasons.
      
      ata_port_{online|offline}() functions return 1 only when they are
      affirmitive of the condition.  e.g.  if SCR is unaccessible or
      presence cannot be determined for other reasons, these functions
      return 0.  So, ata_port_online() != !ata_port_offline().  This
      distinction is useful in many exception handling cases.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      34bf2170
    • T
      [PATCH] libata: implement qc->result_tf · e61e0672
      Tejun Heo 提交于
      Add qc->result_tf and ATA_QCFLAG_RESULT_TF.  This moves the
      responsibility of loading result TF from post-compltion path to qc
      execution path.  qc->result_tf is loaded if explicitly requested or
      the qc failsa.  This allows more efficient completion implementation
      and correct handling of result TF for controllers which don't have
      global TF representation such as sil3124/32.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      e61e0672
    • T
      [PATCH] libata: use preallocated buffers · fe635c7e
      Tejun Heo 提交于
      It's not a very good idea to allocate memory during EH.  Use
      statically allocated buffer for dev->id[] and add 512byte buffer
      ap->sector_buf.  This buffer is owned by EH (or probing) and to be
      used as temporary buffer for various purposes (IDENTIFY, NCQ log page
      10h, PM GSCR block).
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      fe635c7e
    • T
      [PATCH] libata: kill duplicate prototypes · 6cd727b1
      Tejun Heo 提交于
      Kill duplicate prototypes for ata_eh_qc_complete/retry() in libata.h.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      6cd727b1
    • T
      [PATCH] libata: rename ata_down_sata_spd_limit() and friends · 3c567b7d
      Tejun Heo 提交于
      Rename ata_down_sata_spd_limit() and friends to sata_down_spd_limit()
      and likewise for simplicity & consistency.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      3c567b7d
  2. 12 4月, 2006 5 次提交
  3. 11 4月, 2006 1 次提交
  4. 04 4月, 2006 1 次提交
  5. 02 4月, 2006 10 次提交
  6. 30 3月, 2006 3 次提交
    • A
      [PATCH] libata: Simplex and other mode filtering logic · 5444a6f4
      Alan Cox 提交于
      Add a field to the host_set called 'flags' (was host_set_flags changed
      to suit Jeff)
      Add a simplex_claimed field so we can remember who owns the DMA channel
      Add a ->mode_filter() hook to allow drivers to filter modes
      Add docs for mode_filter and set_mode
      Filter according to simplex state
      Filter cable in core
      
      This provides the needed framework to support all the mode rules found
      in the PATA world. The simplex filter deals with 'to spec' simplex DMA
      systems found in older chips. The cable filter avoids duplicating the
      same rules in each chip driver with PATA. Finally the mode filter is
      neccessary because drive/chip combinations have errata that forbid
      certain modes with some drives or types of ATA object.
      
      Drive speed setup remains per channel for now and the filters now use
      the framework Tejun put into place which cleans them up a lot from the
      older libata-pata patches.
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      5444a6f4
    • A
      [PATCH] libata: Add ->set_mode hook for odd drivers · e35a9e01
      Alan Cox 提交于
      Some hardware doesn't want the usual mode setup logic running. This
      allows the hardware driver to replace it for special cases in the least
      invasive way possible.
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      e35a9e01
    • A
      [PATCH] libata: BMDMA handling updates · 4e5ec5db
      Alan Cox 提交于
      This is the minimal patch set to enable the current code to be used with
      a controller following SFF (ie any PATA and early SATA controllers)
      safely without crashes if there is no BMDMA area or if BMDMA is not
      assigned by the BIOS for some reason.
      
      Simplex status is recorded but not acted upon in this change, this isn't
      a problem with the current drivers as none of them are for simplex
      hardware. A following diff will deal with that.
      
      The flags in the probe structure remain ->host_set_flags although Jeff
      asked me to rename them, simply because the rename would break the usual
      Linux rules that old code should break when there are changes. not
      compile and run and then blow up/eat your computer/etc. Renaming this
      later is a trivial exercise once a better name is chosen.
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      4e5ec5db
  7. 25 3月, 2006 1 次提交
  8. 24 3月, 2006 4 次提交
  9. 22 3月, 2006 3 次提交
  10. 12 3月, 2006 4 次提交
  11. 06 3月, 2006 1 次提交
    • T
      [PATCH] libata: implement ata_dev_revalidate() · 623a3128
      Tejun Heo 提交于
      ata_dev_revalidate() re-reads IDENTIFY PAGE of the given device and
      makes sure it's the same device as the configured one.  Once it's
      verified that it's the same device, @dev is configured according to
      newly read IDENTIFY PAGE.  Note that revalidation currently doesn't
      invoke transfer mode reconfiguration.
      
      Criteria for 'same device'
      
      * same class (of course)
      * same model string
      * same serial string
      * if ATA, same n_sectors (to catch geometry parameter changes)
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      623a3128