Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/crypto/qce/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  core.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2010-2014, The Linux Foundation. All rights reserved.
 */


#ifndef _CORE_H_
#define _CORE_H_

#include <linux/mutex.h>
#include <linux/workqueue.h>

#include "dma.h"

/**
 * struct qce_device - crypto engine device structure
 * @queue: crypto request queue
 * @lock: the lock protects queue and req
 * @done_work: workqueue context
 * @req: current active request
 * @result: result of current transform
 * @base: virtual IO base
 * @dev: pointer to device structure
 * @core: core device clock
 * @iface: interface clock
 * @bus: bus clock
 * @dma: pointer to dma data
 * @burst_size: the crypto burst size
 * @pipe_pair_id: which pipe pair id the device using
 * @async_req_enqueue: invoked by every algorithm to enqueue a request
 * @async_req_done: invoked by every algorithm to finish its request
 */

struct qce_device {
 struct crypto_queue queue;
 struct mutex lock;
 struct work_struct done_work;
 struct crypto_async_request *req;
 int result;
 void __iomem *base;
 struct device *dev;
 struct clk *core, *iface, *bus;
 struct icc_path *mem_path;
 struct qce_dma_data dma;
 int burst_size;
 unsigned int pipe_pair_id;
 int (*async_req_enqueue)(struct qce_device *qce,
     struct crypto_async_request *req);
 void (*async_req_done)(struct qce_device *qce, int ret);
};

/**
 * struct qce_algo_ops - algorithm operations per crypto type
 * @type: should be CRYPTO_ALG_TYPE_XXX
 * @register_algs: invoked by core to register the algorithms
 * @unregister_algs: invoked by core to unregister the algorithms
 * @async_req_handle: invoked by core to handle enqueued request
 */

struct qce_algo_ops {
 u32 type;
 int (*register_algs)(struct qce_device *qce);
 void (*unregister_algs)(struct qce_device *qce);
 int (*async_req_handle)(struct crypto_async_request *async_req);
};

#endif /* _CORE_H_ */

Messung V0.5
C=96 H=95 G=95

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.