Q:
What is the purpose of the ownership bit when programming the PKTE module for encryption/hashing?
--------------
A:
In order to ensure correct operation of the PKTE module for encryption or hashing purpose, it has two ownership bit HOST_READY & PE_READY in Packet Engine Control Register and Packet Engine Length Register which provides synchronization between the Host and the Packet Engine and indicates ownership and the validation of the command descriptor.
Hence it is important that we program these bits in the REG_PKTE0_CTL_STAT accordingly.
Apart from this, REG_PKTE0_LEN register also provides the length of the packet and the second set of ownership bit (Bit 23 and 22).
These bits mirror the equivalent bits in the first Control / Status word of the descriptor. When the descriptor fetch engine reads a descriptor, these bits must match, or the descriptor will be discarded and fetched again.
Hence the Packet Engine Length Register should also have the ownership value assigned from the host end for correct operation of the PKTE module.