1. 22 7月, 2021 15 次提交
  2. 03 6月, 2021 1 次提交
  3. 18 9月, 2020 1 次提交
  4. 21 8月, 2020 1 次提交
    • Y
      crypto: hisilicon/qm - fix the process of register algorithms to crypto · 3d29e98d
      Yang Shen 提交于
      When the devices are removed or not existing, the corresponding algorithms
      which are registered by 'hisi-zip' driver can't be used.
      
      Move 'hisi_zip_register_to_crypto' from 'hisi_zip_init' to
      'hisi_zip_probe'. The algorithms will be registered to crypto only when
      there is device bind on the driver. And when the devices are removed,
      the algorithms will be unregistered.
      
      In the previous process, the function 'xxx_register_to_crypto' need a lock
      and a static variable to judge if the registration is the first time.
      Move this action into the function 'hisi_qm_alg_register'. Each device
      will call 'hisi_qm_alg_register' to add itself to qm list in probe process
      and registering algs when the qm list is empty.
      Signed-off-by: NYang Shen <shenyang39@huawei.com>
      Reviewed-by: NZhou Wang <wangzhou1@hisilicon.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      3d29e98d
  5. 16 7月, 2020 2 次提交
    • M
      crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY · b8aa7dc5
      Mikulas Patocka 提交于
      Set the flag CRYPTO_ALG_ALLOCATES_MEMORY in the crypto drivers that
      allocate memory.
      
      drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c: sun8i_ce_cipher
      drivers/crypto/allwinner/sun8i-ss/sun8i-ss-core.c: sun8i_ss_cipher
      drivers/crypto/amlogic/amlogic-gxl-core.c: meson_cipher
      drivers/crypto/axis/artpec6_crypto.c: artpec6_crypto_common_init
      drivers/crypto/bcm/cipher.c: spu_skcipher_rx_sg_create
      drivers/crypto/caam/caamalg.c: aead_edesc_alloc
      drivers/crypto/caam/caamalg_qi.c: aead_edesc_alloc
      drivers/crypto/caam/caamalg_qi2.c: aead_edesc_alloc
      drivers/crypto/caam/caamhash.c: hash_digest_key
      drivers/crypto/cavium/cpt/cptvf_algs.c: process_request
      drivers/crypto/cavium/nitrox/nitrox_aead.c: nitrox_process_se_request
      drivers/crypto/cavium/nitrox/nitrox_skcipher.c: nitrox_process_se_request
      drivers/crypto/ccp/ccp-crypto-aes-cmac.c: ccp_do_cmac_update
      drivers/crypto/ccp/ccp-crypto-aes-galois.c: ccp_crypto_enqueue_request
      drivers/crypto/ccp/ccp-crypto-aes-xts.c: ccp_crypto_enqueue_request
      drivers/crypto/ccp/ccp-crypto-aes.c: ccp_crypto_enqueue_request
      drivers/crypto/ccp/ccp-crypto-des3.c: ccp_crypto_enqueue_request
      drivers/crypto/ccp/ccp-crypto-sha.c: ccp_crypto_enqueue_request
      drivers/crypto/chelsio/chcr_algo.c: create_cipher_wr
      drivers/crypto/hisilicon/sec/sec_algs.c: sec_alloc_and_fill_hw_sgl
      drivers/crypto/hisilicon/sec2/sec_crypto.c: sec_alloc_req_id
      drivers/crypto/inside-secure/safexcel_cipher.c: safexcel_queue_req
      drivers/crypto/inside-secure/safexcel_hash.c: safexcel_ahash_enqueue
      drivers/crypto/ixp4xx_crypto.c: ablk_perform
      drivers/crypto/marvell/cesa/cipher.c: mv_cesa_skcipher_dma_req_init
      drivers/crypto/marvell/cesa/hash.c: mv_cesa_ahash_dma_req_init
      drivers/crypto/marvell/octeontx/otx_cptvf_algs.c: create_ctx_hdr
      drivers/crypto/n2_core.c: n2_compute_chunks
      drivers/crypto/picoxcell_crypto.c: spacc_sg_to_ddt
      drivers/crypto/qat/qat_common/qat_algs.c: qat_alg_skcipher_encrypt
      drivers/crypto/qce/skcipher.c: qce_skcipher_async_req_handle
      drivers/crypto/talitos.c : talitos_edesc_alloc
      drivers/crypto/virtio/virtio_crypto_algs.c: __virtio_crypto_skcipher_do_req
      drivers/crypto/xilinx/zynqmp-aes-gcm.c: zynqmp_aes_aead_cipher
      Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
      [EB: avoid overly-long lines]
      Signed-off-by: NEric Biggers <ebiggers@google.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      b8aa7dc5
    • K
      crypto:hisilicon/sec2 - update busy processing logic · 9597efc3
      Kai Ye 提交于
      As before, if a SEC queue is at the 'fake busy' status,
      the request with a 'fake busy' flag will be sent into hardware
      and the sending function returns busy. After the request is
      finished, SEC driver's call back will identify the 'fake busy' flag,
      and notifies the user that hardware is not busy now by calling
      user's call back function.
      
      Now, a request sent into busy hardware will be cached in the
      SEC queue's backlog, return '-EBUSY' to user.
      After the request being finished, the cached requests will
      be processed in the call back function. to notify the
      corresponding user that SEC queue can process more requests.
      Signed-off-by: NKai Ye <yekai13@huawei.com>
      Reviewed-by: NLongfang Liu <liulongfang@huawei.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      9597efc3
  6. 22 5月, 2020 1 次提交
  7. 08 5月, 2020 1 次提交
  8. 20 3月, 2020 1 次提交
  9. 12 3月, 2020 2 次提交
  10. 28 2月, 2020 1 次提交
  11. 22 1月, 2020 1 次提交
  12. 16 1月, 2020 9 次提交
  13. 09 1月, 2020 1 次提交
    • A
      crypto: hisilicon/sec2 - Use atomics instead of __sync · cb1eeb75
      Arnd Bergmann 提交于
      The use of __sync functions for atomic memory access is not
      supported in the kernel, and can result in a link error depending
      on configuration:
      
      ERROR: "__tsan_atomic32_compare_exchange_strong" [drivers/crypto/hisilicon/sec2/hisi_sec2.ko] undefined!
      ERROR: "__tsan_atomic64_fetch_add" [drivers/crypto/hisilicon/sec2/hisi_sec2.ko] undefined!
      
      Use the kernel's own atomic interfaces instead. This way the
      debugfs interface actually reads the counter atomically.
      
      Fixes: 416d8220 ("crypto: hisilicon - add HiSilicon SEC V2 driver")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      cb1eeb75
  14. 27 11月, 2019 1 次提交
  15. 22 11月, 2019 2 次提交