]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] libata: Simplex and other mode filtering logic
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Mon, 27 Mar 2006 17:58:20 +0000 (18:58 +0100)
committerJeff Garzik <jeff@garzik.org>
Thu, 30 Mar 2006 00:30:28 +0000 (19:30 -0500)
commita8425b4705137bdda3f3e17ed7a5a4470dcec5c0
tree9265a1e65563add47a9fe5f1ddae44d6dd0742e3
parent9621824194eb5118b9c5e2840d1cb3385be5503c
[PATCH] libata: Simplex and other mode filtering logic

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: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Documentation/DocBook/libata.tmpl
drivers/scsi/libata-core.c
include/linux/libata.h