Logo Search packages:      
Sourcecode: linux-fsl-imx51 version File versions  Download package

sah_queue_manager.c File Reference

Detailed Description

This file provides a Queue Manager implementation.

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

Definition in file sah_queue_manager.c.

#include "portable_os.h"
#include <sah_driver_common.h>
#include <sah_queue_manager.h>
#include <sah_status_manager.h>
#include <sah_hardware_interface.h>
#include <sah_memory_mapper.h>

Go to the source code of this file.


#define SAH_CHA_ERR_SOURCE_MASK   0x07
#define SAH_DMA_ERR_DIR_MASK   0x01
#define SAH_DMA_ERR_SIZE_MASK   0x03
#define SAH_ERROR_MASK   0x0F
#define SAH_STATUS_MASK   0x07


fsl_shw_return_t sah_convert_error_status (uint32_t error_status)
fsl_shw_return_t sah_convert_op_status (uint32_t op_status)
sah_Head_Descsah_Find_With_State (sah_Queue_Status state)
 Handle the IDLE state.
void sah_postprocess_queue (unsigned long reset_flag)
void sah_process_finished_request (sah_Head_Desc *desc_head, unsigned error)
void sah_Queue_Manager_Append_Entry (sah_Head_Desc *entry)
 Appends an entry to the Queue Manager's queue.
void sah_Queue_Manager_Close (void)
 Close the Queue Manager.
int sah_Queue_Manager_Count_Entries (int ignore_state, sah_Queue_Status state)
fsl_shw_return_t sah_Queue_Manager_Init (void)
 Initialise the Queue Manager.
void sah_Queue_Manager_Prime (sah_Head_Desc *entry)
 Prime SAHARA.
void sah_Queue_Manager_Remove_Entry (sah_Head_Desc *entry)
 Remove an entry from the Queue Manager's queue.
void sah_Queue_Manager_Reset_Entries (void)
 Mark all entries with state SAH_STATE_RESET.
void sah_reset_sahara_request (void)


os_lock_t desc_queue_lock
wait_queue_head_t * int_queue
sah_Queuemain_queue = NULL
static sah_CHA_Error_Status sah_CHA_Error_Status_Array []
static sah_DMA_Error_Status sah_DMA_Error_Status_Array []
static sah_Execute_Error sah_Execute_Error_Array []

Generated by  Doxygen 1.6.0   Back to index