/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * The driver for the Cirrus Logic's Sound Fusion CS46XX based soundcards * Copyright (c) by Jaroslav Kysela <[email protected]> * * NOTE: comments are copy/paste from cwcemb80.lst * provided by Tom Woller at Cirrus (my only * documentation about the SP OS running inside * the DSP) */ #ifndef __CS46XX_DSP_TASK_TYPES_H__ #define __CS46XX_DSP_TASK_TYPES_H__ #include "cs46xx_dsp_scb_types.h" /********************************************************************************************* Example hierarchy of stream control blocks in the SP hfgTree Ptr____Call (c) \ -------+------ ------------- ------------- ------------- ----- | SBlaster IF |______\| Foreground |___\| Middlegr'nd |___\| Background |___\| Nul | | |Goto /| tree header |g /| tree header |g /| tree header |g /| SCB |r -------------- (g) ------------- ------------- ------------- ----- |c |c |c |c | | | | \/ ------------- ------------- ------------- | Foreground |_\ | Middlegr'nd |_\ | Background |_\ | tree |g/ | tree |g/ | tree |g/ ------------- ------------- ------------- |c |c |c | | | \/ \/ \/ *********************************************************************************************/ #define HFG_FIRST_EXECUTE_MODE … #define HFG_FIRST_EXECUTE_MODE_BIT … #define HFG_CONTEXT_SWITCH_MODE … #define HFG_CONTEXT_SWITCH_MODE_BIT … #define MAX_FG_STACK_SIZE … #define MAX_MG_STACK_SIZE … #define MAX_BG_STACK_SIZE … #define MAX_HFG_STACK_SIZE … #define SLEEP_ACTIVE_INCREMENT … #define STANDARD_ACTIVE_INCREMENT … #define SUSPEND_ACTIVE_INCREMENT … #define HOSTFLAGS_DISABLE_BG_SLEEP … /* Minimal context save area for Hyper Forground */ struct dsp_hf_save_area { … }; /* Task link data structure */ struct dsp_tree_link { … }; struct dsp_task_tree_data { … }; struct dsp_interval_timer_data { … }; /* This structure contains extra storage for the task tree Currently, this additional data is related only to a full context save */ struct dsp_task_tree_context_block { … }; struct dsp_task_tree_control_block { … }; #endif /* __DSP_TASK_TYPES_H__ */