I’ve ported Bernstein’s x86-pm assembly code of Salsa20 into the kernel. What I did is nothing more than adding glue code to call the assembly code.
More interesting is the patch to dm-crypt to support stream ciphers using the blkcipher interface. In other words, it is now possible to do something like:
cryptsetup luksFormat -c salsa20-stream-plain /dev/loop0
The patches have been sent to firstname.lastname@example.org. They are also available here where the status of the patches are tracked. Not all patches make it into the kernel. :-)