summaryrefslogtreecommitdiff
path: root/drivers/mxc/security/sahara2/include/sah_queue_manager.h
blob: 895006f7ab910f884b9c6795f11c1e4983767509 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
 * Copyright (C) 2004-2010 Freescale Semiconductor, Inc. All Rights Reserved.
 */

/*
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

/**
* @file sah_queue_manager.h
*
* @brief This file definitions for the Queue Manager.

* The Queue Manager manages additions and removal from the queue and updates
* the status of queue entries. It also calls sah_HW_* functions to interact
* with the hardware.
*
*/

#ifndef SAH_QUEUE_MANAGER_H
#define SAH_QUEUE_MANAGER_H

#include <sah_driver_common.h>
#include <sah_status_manager.h>


/*************************
* Queue Manager Functions
*************************/
fsl_shw_return_t sah_Queue_Manager_Init(void);
void             sah_Queue_Manager_Close(void);
void             sah_Queue_Manager_Reset_Entries(void);
void             sah_Queue_Manager_Append_Entry(sah_Head_Desc *entry);
void             sah_Queue_Manager_Remove_Entry(sah_Head_Desc *entry);


/*************************
* Queue Functions
*************************/
sah_Queue *sah_Queue_Construct(void);
void      sah_Queue_Destroy(sah_Queue *this);
void      sah_Queue_Append_Entry(sah_Queue *this, sah_Head_Desc *entry);
void      sah_Queue_Remove_Entry(sah_Queue *this);
void      sah_Queue_Remove_Any_Entry(sah_Queue *this, sah_Head_Desc *entry);
void      sah_postprocess_queue(unsigned long reset_flag);


/*************************
* Misc Releated Functions
*************************/

int              sah_blocking_mode(struct sah_Head_Desc *entry);
fsl_shw_return_t sah_convert_error_status(uint32_t error_status);


#endif  /* SAH_QUEUE_MANAGER_H */

/* End of sah_queue_manager.h */