Alan Cox wrote:
>> I can't think of a way to avoid second pass over scatterlist without
>> duplicating code (ata_qc_prep() and ata_fill_sg() from libata-core.c).
>
> This appears to be incomplete:
>
[...]
>
> What guarantees you have enough PRD entries to do this without changing
> the limit in the structures ?
>
> Otherwise looks good
PRD entries count is 256
include/linux/ata.h:
ATA_MAX_PRD = 256,
ATA_PRD_TBL_SZ = (ATA_MAX_PRD * ATA_PRD_SZ),
drivers/ata/libata-core.c:
ap->prd = dmam_alloc_coherent(dev, ATA_PRD_TBL_SZ, &ap->prd_dma,
sata_promise Scsi_Host declares support for half of that:
include/linux/libata.h:
LIBATA_MAX_PRD = ATA_MAX_PRD / 2,
drivers/ata/sata_promise.c
.sg_tablesize = LIBATA_MAX_PRD,
PS: Vendor code has this limit at 32.
--
./lxnt
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html