Re: [PATCH 13/14] libata: implement ATAPI per-command-type DMA horkages

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

 



On Thu, 29 Nov 2007 23:33:36 +0900
Tejun Heo <htejun@xxxxxxxxx> wrote:

> ATAPI DMA is filled with mines.  Sector aligned READ transfers usually
> work but many other commands transfer non-sector aligned or variable
> number of bytes, and there are devices and controllers which have
> problems dealing with such non-aligned DMA transactions.
> 
> This patch implement ATAPI per-command-type DMA horkages and EH logic
> to set those quickly.  This way, failures localized to certain command
> type don't affect other operations (most importantly READs) and
> working configuration is found quickly such that the device can be
> used.

This I think makes sense. We want to fail rapidly when we discover DMA
problems with ATAPI and non core commands. OTOH we want to be pretty
resistant to randomly dropping into PIO on stuff we know works reliably.


> +	ATAPI_DMA_HORKAGE_WRITE		= (1 << 28), /* PIO for WRITEs */
> +	ATAPI_DMA_HORKAGE_READ_CD	= (1 << 29), /* PIO for READ_CDs */
> +	ATAPI_DMA_HORKAGE_READ_DVD_STR	= (1 << 30), /* PIO for READ DVD STR */
> +	ATAPI_DMA_HORKAGE_MISC		= (1 << 31), /* PIO for MISC commands */
> +
>  	 /* DMA mask for user DMA control: User visible values; DO NOT
>  	    renumber */
>  	ATA_DMA_MASK_ATA	= (1 << 0),	/* DMA on ATA Disk */

What are the locking rules for ->horkage at this point ?
-
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