[PATCHSET] libata: improve ATAPI data transfer handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello guys,

This patchset improves ATAPI PIO/DMA data transfer handling and
contains the following thirteen patches.

 0001-libata-update-atapi_eh_request_sense-such-that-lb.patch
 0002-cdrom-add-more-GPCMD_-constants.patch
 0003-libata-rename-ATA_PROT_ATAPI_-to-ATAPI_PROT_.patch
 0004-libata-add-ATAPI_-cmd-types-and-implement-atapi_cm.patch
 0005-libata-improve-ATAPI-draining.patch
 0006-libata-make-atapi_request_sense-use-sg.patch
 0007-libata-kill-non-sg-DMA-interface.patch
 0008-libata-change-ATA_QCFLAG_DMAMAP-semantics.patch
 0009-libata-convert-to-chained-sg.patch
 0010-libata-add-qc-dma_nbytes.patch
 0011-libata-implement-ATAPI-drain-buffer.patch
 0012-libata-implement-ATAPI-per-command-type-DMA-horkage.patch
 0013-libata-use-PIO-for-misc-ATAPI-commands.patch

0001-0004 are miscellaneous preparation patches.

0005 improves PIO draining.  This should fix regressions introduced by
setting transfer chunk size to allocation size.  I'll post simplified
version for #upstream-fixes.

0006-0008 kills non-sg DMA paths and clean up ATA_QCFLAG_DMAMAP
semantics.

0009 makes libata use chained sg instead of libata's private sg
iteration mechanism.  This is a clean up and will help implementing
DMA and PIO-over-DMA draining.

0010 adds qc->dma_nbytes which represents actual length of buffer
visible to host controller.

0011 implements DMA and PIO-over-DMA draining for misc ATAPI commands.
With this change, all of my ten ATAPI devcies can cope well with
shorter, matching and longer buffers.

0012 implements per-command type ATAPI DMA horkages.  These horkages
kick in on the first failure and don't interfere with other types of
operations.  This should allow libata to go on even when ATAPI DMA
support is flaky.

0013 makes libata always use PIO for misc ATAPI commands.  Yeah, even
with all the previous patches, I think it's much better to
unconditionally use PIO for misc ATAPI commands.  There isn't much to
lose by using PIO and IMHO it's wiser to concentrate our effort into
perfecting PIO support for misc commands and DMA support for bulk data
transfers.  Even if this one gets NACKed now it's definitely something
to think about.

This patchset is against

   #upstream (51a7ee37eaa85b8c35fe6090618e34ed4ce1d316)
 + improve-speed-down patchset, take #3  [1]
 + improve-timing-cod-and-fix-pata_amd, take #2 [2]

This patchset is also available as the following git tree.

master.kernel.org:/pub/scm/linux/kernel/git/tj/libata-dev.git improve-ATAPI-data-transfer

Thanks.

--
tejun

[1] http://thread.gmane.org/gmane.linux.ide/25406
[2] http://thread.gmane.org/gmane.linux.ide/25416
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux