History log of /optee_os/core/drivers/crypto/caam/caam_desc.c (Results 1 – 7 of 7)
Revision Date Author Comments
# b78d0115 29-Jan-2024 Olivier Masse <olivier.masse@nxp.com>

drivers: caam: Add SEQ FIFO Load

Introduce Sequence Fifo load command

Signed-off-by: Olivier Masse <olivier.masse@nxp.com>
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com>
Acked-by: Jens Wikl

drivers: caam: Add SEQ FIFO Load

Introduce Sequence Fifo load command

Signed-off-by: Olivier Masse <olivier.masse@nxp.com>
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 53d714df 27-Mar-2020 Cedric Neveux <cedric.neveux@nxp.com>

drivers: caam: add dmaobj descriptor functions

Add descriptor operation to handle caamdmaobj to set:
- SGT data type
- Extension length

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Acked-by

drivers: caam: add dmaobj descriptor functions

Add descriptor operation to handle caamdmaobj to set:
- SGT data type
- Extension length

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 38923d48 27-Mar-2020 Cedric Neveux <cedric.neveux@nxp.com>

drivers: caam: implement CAAM DMA Object

Implementation of a CAAM DMA object to:
- create a DMA object (SGT/buffer) based on input/output buffers
- reallocate a new buffer accessible from the CA

drivers: caam: implement CAAM DMA Object

Implementation of a CAAM DMA object to:
- create a DMA object (SGT/buffer) based on input/output buffers
- reallocate a new buffer accessible from the CAAM address space
- ensure buffer is cache aligned (for the output)

Implementation of CAAM DMA object functions to:
- cache maintenance
- free CAAM DMA object

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Signed-off-by: Clement Faure <clement.faure@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 282c1a86 17-Apr-2020 Ruchika Gupta <ruchika.gupta@nxp.com>

drivers: caam: Fix alignment fault caused by caam_desc_pop()

Size of each JR Output ring entry is of 12 bytes for CAAM
using address pointer size as 64 bit. The descriptor address
pointer thus lies

drivers: caam: Fix alignment fault caused by caam_desc_pop()

Size of each JR Output ring entry is of 12 bytes for CAAM
using address pointer size as 64 bit. The descriptor address
pointer thus lies at 32 bit boundary in second output ring entry.
64 bit access of descriptor pointer at 32 bit boundary generates
alignment fault. To fix this, descriptor address pointer should
be accessed as two 32 bit operations.

regression_1004 Test User Crypt TA

E/TC:03 00 Core data-abort at address 0xfc09e74c (alignment fault)
E/TC:03 00 esr 0x96000021 ttbr0 0x20000fc0d7060 ttbr1 0x00000000 cidr 0x0
E/TC:03 00 cpu #3 cpsr 0x200001c4
E/TC:03 00 x0 00000000fc09e74c x1 0000000000000000
E/TC:03 00 x2 0000000000000050 x3 0000008000010100
E/TC:03 00 x4 0000000000000003 x5 00000000fc0e46e5
E/TC:03 00 x6 00000000fc09e74c x7 00000000fc09df78
E/TC:03 00 x8 0000000000000078 x9 00000000fc09c110
E/TC:03 00 x10 0000000041001900 x11 00000000ab12a911
E/TC:03 00 x12 0000000032e4d24d x13 00000000fc0e46e5
E/TC:03 00 x14 0000000000000000 x15 0000000000000000
E/TC:03 00 x16 00000000fc0e4b88 x17 0000000000000000
E/TC:03 00 x18 0000000000000000 x19 0000000000000000
E/TC:03 00 x20 000000000000270f x21 00000000fc07c000
E/TC:03 00 x22 00000000fc07c000 x23 0000000000000000
E/TC:03 00 x24 00000000fc09e74c x25 00000000fc0716d0
E/TC:03 00 x26 00000000fc09df78 x27 0000000000000000
E/TC:03 00 x28 0000000000000000 x29 00000000fc0e4900
E/TC:03 00 x30 00000000fc01ae8c elr 00000000fc01c124
E/TC:03 00 sp_el0 00000000fc0e4900
E/TC:03 00 TEE load address @ 0xfc000000
E/TC:03 00 Core data-abort at address 0xfc09e74c .debug_info+649036 (alignment fault)
E/TC:03 00 Call stack:
E/TC:03 00 0x00000000fc01c124 caam_desc_pop at core/drivers/crypto/caam/caam_desc.c:88
E/TC:03 00 0x00000000fc01b2ac caam_jr_enqueue at core/drivers/crypto/caam/caam_jr.c:510
E/TC:03 00 0x00000000fc02247c caam_cipher_block at core/drivers/crypto/caam/cipher/caam_cipher.c:331
E/TC:03 00 0x00000000fc022970 do_update_cipher at core/drivers/crypto/caam/cipher/caam_cipher.c:976
E/TC:03 00 0x00000000fc01a290 cipher_update at core/drivers/crypto/crypto_api/cipher/cipher.c:144
E/TC:03 00 0x00000000fc03562c tee_fs_fek_crypt at core/tee/tee_fs_key_manager.c:118
E/TC:03 00 0x00000000fc033dbc verify_root at core/tee/fs_htree.c:549
E/TC:03 00 0x00000000fc031edc ree_fs_open_primitive at core/tee/tee_ree_fs.c:416
E/TC:03 00 0x00000000fc0345d0 tee_fs_dirfile_open at core/tee/fs_dirfile.c:122
E/TC:03 00 0x00000000fc0321cc open_dirh at core/tee/tee_ree_fs.c:530
E/TC:03 00 0x00000000fc032498 ree_fs_open at core/tee/tee_ree_fs.c:604
E/TC:03 00 0x00000000fc0363dc tadb_open at core/tee/tadb.c:214
E/TC:03 00 0x00000000fc036c44 tee_tadb_ta_open at core/tee/tadb.c:633
E/TC:03 00 0x00000000fc00578c secstor_ta_open at core/arch/arm/kernel/secstor_ta.c:19
E/TC:03 00 0x00000000fc026658 system_open_ta_binary at core/pta/system.c:259
E/TC:03 00 0x00000000fc005e24 pseudo_ta_enter_invoke_cmd at core/arch/arm/kernel/pseudo_ta.c:199
E/TC:03 00 0x00000000fc0250dc tee_ta_invoke_command at core/kernel/tee_ta_manager.c:761
E/TC:03 00 0x00000000fc02b398 syscall_invoke_ta_command at core/tee/tee_svc.c:885
E/TC:03 00 0x00000000fc0123bc tee_svc_do_call at core/arch/arm/tee/arch_svc_a64.S:141
E/TC:03 00 0x00000000fc00811c thread_svc_handler at core/arch/arm/kernel/thread.c:1378
E/TC:03 00 0x00000000fc0039e0 el0_svc at core/arch/arm/kernel/thread_a64.S:639

Signed-off-by: Ruchika Gupta <ruchika.gupta@nxp.com>
Reviewed-by: Sahil Malhotra <sahil.malhotra@nxp.com>
Reviewed-by: Clement Faure <clement.faure@nxp.com>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# 6a16bb35 03-Apr-2020 Clement Faure <clement.faure@nxp.com>

drivers: caam: use pointers to out/inring_entry for CAAM

Use pointers to outring_entry and inring_entry as input for
caam_desc_pop(), caam_desc_push() and caam_desc_jobstatus() functions.

This quic

drivers: caam: use pointers to out/inring_entry for CAAM

Use pointers to outring_entry and inring_entry as input for
caam_desc_pop(), caam_desc_push() and caam_desc_jobstatus() functions.

This quick re-work originaly comes from the initiative to get rid of a
GGC 9.2 warning -Waddress-of-packed-member

core/drivers/crypto/caam/caam_jr.c: In function ‘do_jr_dequeue’:
core/drivers/crypto/caam/caam_jr.c:262:22: warning: taking address of packed member of ‘struct outring_entry’ may result in an unaligned pointer value [-Waddress-of-packed-member]
262 | if (caam_desc_pop(&jr_out->desc) == caller->pdesc) {
| ^~~~~~~~~~~~~
core/drivers/crypto/caam/caam_jr.c:265:26: warning: taking address of packed member of ‘struct outring_entry’ may result in an unaligned pointer value [-Waddress-of-packed-member]
265 | caam_read_jobstatus(&jr_out->status);
| ^~~~~~~~~~~~~~~

By doing this, we let the function safely extracting the field.

Signed-off-by: Clement Faure <clement.faure@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# 65d9b708 11-Feb-2020 Priyanka Singh <priyanka.singh@nxp.com>

drivers: CAAM: Fix caam_desc_pop() function for 64bit platforms

Fix caam_desc_pop() function for reading the output CAAM job ring
entry for 64-bit platforms.

Signed-off-by: Priyanka Singh <priyanka

drivers: CAAM: Fix caam_desc_pop() function for 64bit platforms

Fix caam_desc_pop() function for reading the output CAAM job ring
entry for 64-bit platforms.

Signed-off-by: Priyanka Singh <priyanka.singh@nxp.com>
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Cedric Neveux <cedric.neveux@nxp.com>

show more ...


# 2d7a8964 06-Aug-2019 Cedric Neveux <cedric.neveux@nxp.com>

driver: implement CAAM driver

Add the NXP CAAM drivers:
- Random generator (instantiation and random generation)
- Hash

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Acked-by: Etienne Ca

driver: implement CAAM driver

Add the NXP CAAM drivers:
- Random generator (instantiation and random generation)
- Hash

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...