All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: linux-ide@vger.kernel.org
Cc: Linux Kernel <linux-kernel@vger.kernel.org>
Subject: [sata] libata update
Date: Fri, 26 Mar 2004 21:27:29 -0500	[thread overview]
Message-ID: <4064E691.2070009@pobox.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1041 bytes --]


More work on libata...  human-readable summary:
* scsi portion of command submission path now a lot more lightweight. 
Should reduce CPU usage a bit.
* improved documentation (see below)
* New SiS SATA driver.
* Promise: minor improvements in locking, error handling, and 
initialization.  Promise users, please test.
* Intel ICH5:  minor improvements in probing and combined mode handling. 
  Intel users, please test.

This is going to Linus after 2.6.5 is released.

BK repositories:
	http://gkernel.bkbits.net/libata-2.[46]

Patches:
http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.4.25-libata15.patch.bz2
http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.6.5-rc2-bk6-libata2.patch.bz2

And also, there are some PDF docs generated from the source code. 
Although this is always available via "make pdfdocs", I also post this 
document at
http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/libata.pdf


I have attached the short and long changelogs for the above patches, 
versus upstream 2.6.x.




[-- Attachment #2: changelog.txt --]
[-- Type: text/plain, Size: 1150 bytes --]


<uwe.koziolek:gmx.net>:
  o [libata] Add driver for SiS 964/180 SATA

Jeff Garzik:
  o [libata sata_promise] better locking and error handling
  o [libata] more documentation
  o [libata] more cmd queue path cleanups
  o [libata] more command queue path cleanup
  o [libata] clean up command queue/submit path a bit
  o [libata sata_promise] minor initialization updates
  o [libata] documentation, and a couple tiny cleanups
  o [libata] use scsi host lock
  o [libata] reduce diff with 2.4 libata backport
  o [libata] pci_dma_error() was renamed to pci_dma_mapping_error()
  o [ata] move some generic stuff linux/libata.h -> linux/ata.h
  o [libata] consolidate data transfer mode handling
  o [libata] set up some of the per-command data beforehand
  o [libata sata_promise] check for PATA port on PDC20375
  o [libata ata_piix] fix combined mode device detection
  o [libata ata_piix] clean up combined mode handling
  o [libata ata_piix] do not disable SATA port on module unload
  o [libata] use kmap_atomic() rather than kmap()
  o [libata] use new pci_dma_error() to check for pci_map_single() failure
  o [libata sata_sis] minor cleanups


[-- Attachment #3: changelog-long.txt --]
[-- Type: text/plain, Size: 5886 bytes --]

ChangeSet@1.1694, 2004-03-26 20:40:58-05:00, jgarzik@redhat.com
  [libata sata_promise] better locking and error handling
  
  * Prefer spin_lock() to spin_lock_irq() in interrupt handler
  * Reset each port, before probing the SATA phy
  * Reset port when every time an error occurs

ChangeSet@1.1673.6.13, 2004-03-26 18:02:34-05:00, jgarzik@redhat.com
  [libata] more documentation
  
  libata-scsi.c should now be fully documented.

ChangeSet@1.1673.6.12, 2004-03-26 04:04:17-05:00, jgarzik@redhat.com
  [libata] more cmd queue path cleanups
  
  Final part in tonight's series of changes to clean up the
  command queueing path.
  
  The simulate-ATA-over-SCSI code is moved to a new function,
  ata_scsi_simulate(), and ata_scsi_rw_queue() is renamed to
  ata_scsi_translate().  With the SCSI CDB debugging dump function
  also moved into its own function, the queue-command path is now
  nice, compact, and readable.

ChangeSet@1.1673.6.11, 2004-03-26 03:32:10-05:00, jgarzik@redhat.com
  [libata] more command queue path cleanup
  
  A new helper ata_scsi_xlat_possible(), and the command queue path
  gets a bit more compact.
  
  As side effects we kill the 'cmd_size' argument from two functions,
  and mark ata_scsi_rw_queue() as static, as its only needed 
  in libata-scsi.c.

ChangeSet@1.1673.6.10, 2004-03-26 03:20:47-05:00, jgarzik@redhat.com
  [libata] clean up command queue/submit path a bit
  
  This change is part of a series that compartmentalizes and consolidates
  ATA taskfile submission.
  
  Here, the device-location-related checks are moved out of the ->queuecommand()
  hook and into an inline helper function.

ChangeSet@1.1673.6.9, 2004-03-26 01:13:20-05:00, jgarzik@redhat.com
  [libata sata_promise] minor initialization updates
  
  * remove incorrect PATA port check
  * enable undocumented bit 13 in flash control register,
    because the Promise driver does so.
  * wait 10 ms after setting TBG mode, for the same reason.

ChangeSet@1.1673.6.8, 2004-03-25 17:23:41-05:00, jgarzik@redhat.com
  [libata] documentation, and a couple tiny cleanups
  
  Add more per-function source code documentation.  Some of this stuff
  is esoteric ATA crapola, and definitely needed to be documented.
  
  Also, two tiny cleanups spotted while documenting:
  * kill unused arg from internal function ata_dev_try_classify()
  * kill unused return value from ata_dev_id_string()

ChangeSet@1.1673.6.7, 2004-03-25 14:40:17-05:00, jgarzik@redhat.com
  [libata] use scsi host lock
  
  In 2.4 we release io_request_lock and take our own per-host lock,
  in the ->queuecommand() hook.  In 2.6, the SCSI layer provides a
  useful to simply use the lock we already have, via scsi_assign_lock().

ChangeSet@1.1673.6.6, 2004-03-25 14:36:59-05:00, jgarzik@redhat.com
  [libata] reduce diff with 2.4 libata backport

ChangeSet@1.1673.6.5, 2004-03-25 14:36:27-05:00, jgarzik@redhat.com
  [libata] pci_dma_error() was renamed to pci_dma_mapping_error()

ChangeSet@1.1643.1.215, 2004-03-25 01:57:34-05:00, jgarzik@redhat.com
  [ata] move some generic stuff linux/libata.h -> linux/ata.h
  
  struct ata_taskfile is generic, and so far its flags (ATA_TFLAG_xxx)
  
  Also, move ATA_PROT_xxx definitions into their own enum.

ChangeSet@1.1643.1.214, 2004-03-25 01:44:08-05:00, jgarzik@redhat.com
  [libata] consolidate data transfer mode handling
  
  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).

ChangeSet@1.1643.1.213, 2004-03-25 00:53:07-05:00, jgarzik@redhat.com
  [libata] set up some of the per-command data beforehand
  
  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.

ChangeSet@1.1643.1.212, 2004-03-24 23:50:34-05:00, jgarzik@redhat.com
  [libata sata_promise] check for PATA port on PDC20375
  
  We don't handle it yet, but this prints out a message in its presence,
  permitting verification of the check and informing users why their
  PATA device is not recognized.

ChangeSet@1.1643.1.211, 2004-03-23 12:35:54-05:00, jgarzik@redhat.com
  [libata ata_piix] fix combined mode device detection
  
  SATA port detection should not have assumed that a single SATA port
  mapped to a single struct ata_port.  Combined mode breaks this
  assumption.
  
  Change code to simply detect if one or more devices are present
  on the struct ata_port, which is what we really wanted to do.

ChangeSet@1.1643.1.210, 2004-03-23 11:52:00-05:00, jgarzik@redhat.com
  [libata ata_piix] clean up combined mode handling

ChangeSet@1.1643.1.209, 2004-03-23 11:14:06-05:00, jgarzik@redhat.com
  [libata ata_piix] do not disable SATA port on module unload
  
  We were disabling the SATA port, but not enabling it on module load.
  So, modprobe+rmmod+modprobe would fail.

ChangeSet@1.1643.1.208, 2004-03-23 09:20:14-05:00, jgarzik@redhat.com
  [libata] use kmap_atomic() rather than kmap()

ChangeSet@1.1643.1.207, 2004-03-22 23:40:01-05:00, jgarzik@redhat.com
  [libata] use new pci_dma_error() to check for pci_map_single() failure

ChangeSet@1.1643.39.2, 2004-03-21 12:15:16-05:00, jgarzik@redhat.com
  [libata sata_sis] minor cleanups

ChangeSet@1.1643.39.1, 2004-03-21 11:55:35-05:00, uwe.koziolek@gmx.net
  [libata] Add driver for SiS 964/180 SATA.


             reply	other threads:[~2004-03-27  2:27 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-27  2:27 Jeff Garzik [this message]
2004-03-30 22:59 ` [sata] libata update Petr Sebor
2004-03-30 23:14   ` Jeff Garzik
2004-03-31  1:43     ` Jarno Paananen
2004-03-31  1:50       ` Jeff Garzik
2004-03-31  1:53         ` Jarno Paananen
2004-03-30 23:16   ` Jeff Garzik
2004-03-30 23:26     ` Petr Sebor
2004-03-30 23:39     ` Bartlomiej Zolnierkiewicz
2004-03-30 23:47       ` Jeff Garzik
2004-03-31  0:28         ` Bartlomiej Zolnierkiewicz
2004-03-31  2:33           ` Jeff Garzik
2004-03-31  8:24   ` [PATCH] " Jeff Garzik
2004-03-31 11:50     ` Petr Sebor
2004-03-31 16:41       ` Jarno Paananen
2004-03-31 16:48       ` Jeff Garzik
2004-03-31 17:21         ` Jarno Paananen
2004-03-31 21:04           ` Jeff Garzik
2004-04-01  7:35             ` Petr Sebor
  -- strict thread matches above, loose matches on Subject: below --
2004-04-25  2:48 Jeff Garzik
2004-04-25  4:24 ` J. Ryan Earl
2004-03-31 21:02 Jeff Garzik
2004-04-03  0:45 ` Erik Andersen
2004-03-30 21:31 Jeff Garzik
2004-03-27 22:07 Henrik Gustafsson
2004-03-27 22:20 ` Jeff Garzik
2004-03-23 18:04 Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4064E691.2070009@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.