Add support for Flash Memory Protector (FMP), which is the inline encryption hardware on Exynos and Exynos-based SoCs. Specifically, add support for the "traditional FMP mode" that works on many Exynos-based SoCs including gs101. This is the mode that uses "software keys" and is compatible with the upstream kernel's existing inline encryption framework in the block and filesystem layers. I plan to add support for the wrapped key support on gs101 at a later time. Tested on gs101 (specifically Pixel 6) by running the 'encrypt' group of xfstests on a filesystem mounted with the 'inlinecrypt' mount option. This patchset applies to v6.10-rc3, and it has no prerequisites that aren't already upstream. Eric Biggers (6): scsi: ufs: core: Add UFSHCD_QUIRK_CUSTOM_CRYPTO_PROFILE scsi: ufs: core: fold ufshcd_clear_keyslot() into its caller scsi: ufs: core: Add UFSHCD_QUIRK_BROKEN_CRYPTO_ENABLE scsi: ufs: core: Add fill_crypto_prdt variant op scsi: ufs: core: Add UFSHCD_QUIRK_KEYS_IN_PRDT scsi: ufs: exynos: Add support for Flash Memory Protector (FMP) drivers/ufs/core/ufshcd-crypto.c | 34 +++-- drivers/ufs/core/ufshcd-crypto.h | 36 +++++ drivers/ufs/core/ufshcd.c | 3 +- drivers/ufs/host/ufs-exynos.c | 219 ++++++++++++++++++++++++++++++- include/ufs/ufshcd.h | 28 ++++ 5 files changed, 304 insertions(+), 16 deletions(-) base-commit: 83a7eefedc9b56fe7bfeff13b6c7356688ffa670 -- 2.45.2