An error occurred fetching the project authors.
  1. 14 Jun, 2004 1 commit
    • Jeff Garzik's avatar
      [libata] don't probe from workqueue · 77ca20f2
      Jeff Garzik authored
      Since we want the probe phase to call other workqueues, this is
      required to eliminate future deadlocks.
      
      Other methods would include starting a single-shot thread just for
      probing, but overall, using a separate thread for probing is pointless
      since we are already in process context when we probe.
      
      So, we simply call ata_bus_probe directly.
      77ca20f2
  2. 02 Jun, 2004 2 commits
  3. 18 May, 2004 1 commit
  4. 17 May, 2004 1 commit
  5. 16 May, 2004 3 commits
    • Jeff Garzik's avatar
      [libata] replace ATA_QCFLAG_ATAPI with inline helper · 043ea303
      Jeff Garzik authored
      Detection of an ATAPI taskfile is possible using a simple test
      on existing information, so there is no need to cache this value
      in a separate flag (ATA_QCFLAG_ATAPI).  Instead, create and use
      a new helper function is_atapi_taskfile().
      043ea303
    • Jeff Garzik's avatar
      [libata] comments and constants · a163af74
      Jeff Garzik authored
      * note a nasty problem with shared interrupts that must be fixed
        before we turn on certain code paths.
      * add a few comments to the READ CAPACITY scsi simulator
      * remove a FIXME comment from the TEST UNIT READY scsi simulator
      * add constant for ATA command CHECK POWER MODE, and associated
        "mandatory" power management feature set bit.
      a163af74
    • Jeff Garzik's avatar
      [libata] SCSI->ATA simulator hacking: INQUIRY command · 7f594e47
      Jeff Garzik authored
      The SCSI T10 committee is working on a document describing a standard
      method for translating ATA<->SCSI, since it being done quite often
      these days.  Some of the recommendations are reasonable, and we implement
      two here:
      
      * Mirror that ATA 'removeable media' bit into INQUIRY output.
      * Change behavior of INQUIRY output field 'product revision' from
        the libata software version number to the first 4 bytes of the
        ATA device's firmware revision number.
      
      Rather than cache the firmware revision in struct ata_device, as was/is
      done with two other strings, I took the opportunity to eliminate the
      caching of the two other strings, 'vendor' and 'product'.  These strings
      are now retrieved as needed from the IDENTIFY [PACKET] DEVICE info page,
      since we cache its entire contents.
      
      Retrieving a string from the identify-device page is done via the
      helper function ata_dev_id_string(), which is now exported.
      
      This patch winds up making struct ata_device 40 bytes smaller, and
      the libata core gets a bit smaller as well.
      7f594e47
  6. 15 May, 2004 3 commits
    • Jeff Garzik's avatar
      [libata] handle non-data ATAPI commands via interrupt · 80e00375
      Jeff Garzik authored
      It's easier to do it this way, than polling, at the moment.
      
      Also, fix a test in ata_scsi_translate that was incorrectly
      erroring-out non-data commands.
      80e00375
    • Jeff Garzik's avatar
      [libata] minor stuff · 96b2b4d7
      Jeff Garzik authored
      * now that ATAPI is close to working, making ATAPI DMA interrupts
        in ata_host_intr
      * remove unnecessary space character in printk() output (oh, the horror)
      96b2b4d7
    • Jeff Garzik's avatar
      [libata] internal cleanups · 50112a63
      Jeff Garzik authored
      Remove unused 'done_late' arg to ata_qc_complete(), which was never
      useful in 2.4, and never used at all in 2.6.
      
      This allows us to eliminate the same arg from ata_dma_complete(),
      and also make it more correct by passing the command rather than
      the ATA port structure as arg0.
      50112a63
  7. 13 May, 2004 5 commits
    • Jeff Garzik's avatar
      [libata] kill ATA_QCFLAG_POLL flag · 32b467bb
      Jeff Garzik authored
      The standard ATA bit nIEN in the Device Control register serves as
      the indicator for whether we are polling or not.  As it mirrors
      ATA_QCFLAG_POLL completely, eliminate that in favor of testing
      ATA_NIEN bit.
      32b467bb
    • Jeff Garzik's avatar
      [libata] random minor bug fixes · 63a2ea09
      Jeff Garzik authored
      * Only call ata_sg_setup{_one} if ATA_QCFLAG_SG is set.  Preparation
        for future use, as currently ATA_QCFLAG_SG is always set when
        ata_qc_issue is called.
      
        This change in theory is incorrect for Promise TX/SX4 drivers,
        since those drivers set up the Promise-specific packet in their
        ->fill_sg hook, which is now called conditionally.
      
        A FIXME that doesn't affect anything, for now.
      
      * ATA_PROT_ATAPI and ATA_PROT_ATAPI_DMA command issue need to be
        differentiated.
      
      * Create and use ata_qc_set_polling() to consistently set/clear the
        flags associated with using polling instead of interrupts.
      63a2ea09
    • Jeff Garzik's avatar
      [libata] more ATAPI work - translate SCSI CDB to ATA PACKET · 2e0b0572
      Jeff Garzik authored
      Now that we can specify ATAPI as a taskfile protocol, we can utilize
      the existing SCSI->ATA translation infrastructure to build an ATA
      PACKET command quickly and easily.
      2e0b0572
    • Jeff Garzik's avatar
    • Jeff Garzik's avatar
      [libata] add new ->bmdma_setup hook · 8fdb45f5
      Jeff Garzik authored
      In order to support some new taskfile protocols, particularly ATAPI,
      the setup-and-start-DMA hook needs to be split into its component
      pieces, 'setup' and 'start'.
      
      For PCI IDE-style controllers, most of the code is moved into the
      'setup' portion, with the 'start' portion only flipping a single
      bit in hardware.
      8fdb45f5
  8. 10 May, 2004 1 commit
    • Jeff Garzik's avatar
      [libata] preparation for writeback caching support · 8962c315
      Jeff Garzik authored
      * bug fix: make sure 'nsect' member of struct ata_queued_cmd is
      initialized each time a cmd is re-used.  Only affects PIO data xfers,
      which nobody uses.
      * slightly change the way a device's flags are printed out.  currently
      the only flag is 'lba48', but soon 'wcache' will appear also.
      * add WB-cache-related constants and macros to linux/ata.h
      8962c315
  9. 26 Apr, 2004 1 commit
  10. 25 Apr, 2004 9 commits
  11. 24 Apr, 2004 2 commits
    • Jeff Garzik's avatar
      [libata] clean up taskfile submission to hardware · f2959ec3
      Jeff Garzik authored
      When writing taskfile (an ATA command) to the controller, the exact
      setup of the taskfile is dependent on the taskfile "protocol":
      PIO, PIO Multiple, DMA, Non-data, etc.
      
      So, we separate out the submission of the taskfile to hardware into
      a separate function ata_qc_issue_prot(), which will later be the
      home for more code.
      
      Also, remove some dead code (#if 0'd).
      f2959ec3
    • Jeff Garzik's avatar
      [libata] add ata_tf_{to,from}_fis helpers · 7506a701
      Jeff Garzik authored
      7506a701
  12. 19 Apr, 2004 1 commit
    • Andrew Morton's avatar
      [PATCH] Rename PF_IOTHREAD to PF_NOFREEZE · ef29bf03
      Andrew Morton authored
      From: Nigel Cunningham <ncunningham@users.sourceforge.net>
      
      A few weeks ago, Pavel and I agreed that PF_IOTHREAD should be renamed to
      PF_NOFREEZE.  This reflects the fact that some threads so marked aren't
      actually used for IO while suspending, but simply shouldn't be frozen.
      This patch, against 2.6.5 vanilla, applies that change.  In the
      refrigerator calls, the actual value doesn't matter (so long as it's
      non-zero) and it makes more sense to use PF_FREEZE so I've used that.
      ef29bf03
  13. 14 Apr, 2004 1 commit
  14. 30 Mar, 2004 1 commit
    • Jeff Garzik's avatar
      [libata] fix broken delay · 07899aed
      Jeff Garzik authored
      Due to rounding and HZ==100, sometimes delays would not occur for
      the desired length of time, or even at all.
      
      Fix call to schedule_timeout() to ensure we delay -at least- for
      the correct amount of time.
      07899aed
  15. 25 Mar, 2004 3 commits
  16. 24 Mar, 2004 2 commits
    • Jeff Garzik's avatar
      [libata] consolidate data transfer mode handling · 263924d7
      Jeff Garzik authored
      The various ways you can send data to/from your ATA device is
      known as the ATA taskfile protocol:  PIO single sector, PIO
      multiple sector, DMA, DMA TCQ, DMA NCQ, ...
      
      Prior to this change, the data direction (read/write) was encoded
      implicitly into the ATA_PROT_xxx value itself.  This increased
      complexity in some areas, and inhibited flexibility in others.
      
      This change separates data direction from taskfile protocol, and also
      moves the data direction flag (ATA_QCFLAG_WRITE) down to a lower
      level (ATA_TFLAG_WRITE).
      263924d7
    • Jeff Garzik's avatar
      [libata] set up some of the per-command data beforehand · 3b64bb0c
      Jeff Garzik authored
      The data transfer mode and the set of read/write commands we generate
      during normal operation remains constant until we change the data
      transfer mode.
      
      This removes a series of branches in the read/write fast path,
      and in general cleans up that particular spot of code.
      3b64bb0c
  17. 22 Mar, 2004 1 commit
  18. 18 Mar, 2004 2 commits