^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * OMAP Crypto driver common support routines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Copyright (c) 2017 Texas Instruments Incorporated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Tero Kristo <t-kristo@ti.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #ifndef __CRYPTO_OMAP_CRYPTO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define __CRYPTO_OMAP_CRYPTO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) enum {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) OMAP_CRYPTO_NOT_ALIGNED = 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) OMAP_CRYPTO_BAD_DATA_LENGTH,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define OMAP_CRYPTO_DATA_COPIED BIT(0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define OMAP_CRYPTO_SG_COPIED BIT(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define OMAP_CRYPTO_COPY_MASK 0x3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #define OMAP_CRYPTO_COPY_DATA BIT(0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define OMAP_CRYPTO_FORCE_COPY BIT(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define OMAP_CRYPTO_ZERO_BUF BIT(2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define OMAP_CRYPTO_FORCE_SINGLE_ENTRY BIT(3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) int omap_crypto_align_sg(struct scatterlist **sg, int total, int bs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) struct scatterlist *new_sg, u16 flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) u8 flags_shift, unsigned long *dd_flags);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) void omap_crypto_cleanup(struct scatterlist *sg, struct scatterlist *orig,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) int offset, int len, u8 flags_shift,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) unsigned long flags);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #endif