RFC: DMA support for OMAP SHA1/MD5

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

 



Hi,

I'm working on DMA support for SHA1/MD5 driver and there are some issues for comments regarding this.

The SHA1/MD5 digest can be processed in one or three passes. When the total length for input is known previously, we can configure the REG_CTRL just once and copy all the data into its buffer (64 bytes per iteration). This is the one-pass process, where we can configure the DMA just once too and transfer all the data. The element size is set to 32 bits, the frame size is set to 16 elements and the block size has as many frames as needed. Unfortunately, the crypto api does not inform the total length always. Some times, the dia_update function is called two or more times and it has to continue the digest process from the previous dia_update. In this case, the three passes is used. Now, for each 64 bytes written on input digest buffer, the SHA_CTRL must be configured. The main problem here is the block size should be set to 1 frame only. I don't think DMA is a good option for the three passes digest process.

I'm currently trying to mix the one and three passes. For each dia_update iteration, I'm trying to continue a prior hash but using the one-shot mode. Without success for now. At least with the documentation I have and with my tests results, it's not possible. Does Anyone know how to implement something like this? Or so, is anyone sure it can't be implemented this way?

Any comments would be welcome.

BR,

David Cohen
-
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux