Tejun Heo wrote:
Hello,
Bob Stewart wrote:
Is there an easy way to tell whether the command was sent as
LBA48, say, in the driver's bmdma_start function or even in the
hardreset function after the fact? One of my tests was using a 64
sector limit, with pretty much the same results. I always test against
the same file, and the results, including the number of timeouts, are
different from test to test.
The driver is seriously broken regarding LBA48 support. The timeout
goes away if max_sectors is decreased to ATA_MAX_SECTORS - 1, doh. But
both the reading and writing are seriously broken. I can't tell whether
they end up in the wrong sectors or garbage is transferred to/from the
right sectors.
I'm really close to marking this device broken or we'll need to
implement a mechanism to veto LBA48 device from LLD (may be negative
return from ->dev_config).
AFAICS you just need to use the ADMA-like DMA engine, to achieve LBA48.
It's just a guess that the HOB bit is supported by the Device Control
shadow register on the INIC chips. The only actual mention in the
datasheets is in the ADMA CPB data structure definition.
BTW, all my infos came off their public website, let me know if anybody
is missing these docs:
INIC1622.PDF
Initio INIC-1620TA2_1622TA2_1623TA2 Databook v1.4.pdf
Initio INIC-1623 Databook v1.3.pdf
Regards,
Jeff
-
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