xref: /OK3568_Linux_fs/external/rockit/mpi/sdk/include/rk_errno.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* GPL-2.0 WITH Linux-syscall-note OR Apache 2.0 */
2*4882a593Smuzhiyun /* Copyright (c) 2021 Fuzhou Rockchip Electronics Co., Ltd */
3*4882a593Smuzhiyun 
4*4882a593Smuzhiyun #ifndef INCLUDE_RT_MPI_RK_ERRNO_H_
5*4882a593Smuzhiyun #define INCLUDE_RT_MPI_RK_ERRNO_H_
6*4882a593Smuzhiyun #ifndef __BUILD_KO__
7*4882a593Smuzhiyun #include <stdint.h>
8*4882a593Smuzhiyun #endif
9*4882a593Smuzhiyun #include "rk_type.h"
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #ifdef __cplusplus
12*4882a593Smuzhiyun #if __cplusplus
13*4882a593Smuzhiyun extern "C" {
14*4882a593Smuzhiyun #endif
15*4882a593Smuzhiyun #endif /* __cplusplus */
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun typedef enum rkERR_LEVEL_E {
18*4882a593Smuzhiyun     RK_ERR_LEVEL_DEBUG = 0,  /* debug-level                                  */
19*4882a593Smuzhiyun     RK_ERR_LEVEL_INFO,       /* informational                                */
20*4882a593Smuzhiyun     RK_ERR_LEVEL_NOTICE,     /* normal but significant condition             */
21*4882a593Smuzhiyun     RK_ERR_LEVEL_WARNING,    /* warning conditions                           */
22*4882a593Smuzhiyun     RK_ERR_LEVEL_ERROR,      /* error conditions                             */
23*4882a593Smuzhiyun     RK_ERR_LEVEL_CRIT,       /* critical conditions                          */
24*4882a593Smuzhiyun     RK_ERR_LEVEL_ALERT,      /* action must be taken immediately             */
25*4882a593Smuzhiyun     RK_ERR_LEVEL_FATAL,      /* just for compatibility with previous version */
26*4882a593Smuzhiyun     RK_ERR_LEVEL_BUTT
27*4882a593Smuzhiyun } ERR_LEVEL_E;
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun #define RK_ERR_APPID  (0x80000000L + 0x20000000L)
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun /******************************************************************************
32*4882a593Smuzhiyun |----------------------------------------------------------------|
33*4882a593Smuzhiyun | 1 |   APP_ID   |   MOD_ID    | ERR_LEVEL |   ERR_ID            |
34*4882a593Smuzhiyun |----------------------------------------------------------------|
35*4882a593Smuzhiyun |<--><--7bits----><----8bits---><--3bits---><------13bits------->|
36*4882a593Smuzhiyun ******************************************************************************/
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #define RK_DEF_ERR(module, level, errid) \
39*4882a593Smuzhiyun     ((RK_S32)((RK_ERR_APPID) | ((module) << 16 ) | ((level) << 13) | (errid)))
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun /* NOTE! the following defined all common error code,
42*4882a593Smuzhiyun ** all module must reserved 0~63 for their common error code
43*4882a593Smuzhiyun */
44*4882a593Smuzhiyun typedef enum rkEN_ERR_CODE_E {
45*4882a593Smuzhiyun     // invlalid device ID
46*4882a593Smuzhiyun     RK_ERR_INVALID_DEVID = 1,
47*4882a593Smuzhiyun     // invlalid channel ID
48*4882a593Smuzhiyun     RK_ERR_INVALID_CHNID = 2,
49*4882a593Smuzhiyun     /*
50*4882a593Smuzhiyun      * at lease one parameter is illagal
51*4882a593Smuzhiyun      * eg, an illegal enumeration value
52*4882a593Smuzhiyun      */
53*4882a593Smuzhiyun     RK_ERR_ILLEGAL_PARAM = 3,
54*4882a593Smuzhiyun     // resource exists
55*4882a593Smuzhiyun     RK_ERR_EXIST         = 4,
56*4882a593Smuzhiyun     // resource unexists
57*4882a593Smuzhiyun     RK_ERR_UNEXIST       = 5,
58*4882a593Smuzhiyun     // using a NULL point
59*4882a593Smuzhiyun     RK_ERR_NULL_PTR      = 6,
60*4882a593Smuzhiyun     /*
61*4882a593Smuzhiyun      * try to enable or initialize system, device
62*4882a593Smuzhiyun      * or channel, before configing attribute
63*4882a593Smuzhiyun      */
64*4882a593Smuzhiyun     RK_ERR_NOT_CONFIG    = 7,
65*4882a593Smuzhiyun     // operation or type is not supported by NOW
66*4882a593Smuzhiyun     RK_ERR_NOT_SUPPORT   = 8,
67*4882a593Smuzhiyun     /*
68*4882a593Smuzhiyun      * operation is not permitted
69*4882a593Smuzhiyun      * eg, try to change static attribute
70*4882a593Smuzhiyun      */
71*4882a593Smuzhiyun     RK_ERR_NOT_PERM      = 9,
72*4882a593Smuzhiyun     // invlalid pipe ID
73*4882a593Smuzhiyun     RK_ERR_INVALID_PIPEID = 10,
74*4882a593Smuzhiyun     // invlalid stitch group ID
75*4882a593Smuzhiyun     RK_ERR_INVALID_STITCHGRPID  = 11,
76*4882a593Smuzhiyun     // failure caused by malloc memory
77*4882a593Smuzhiyun     RK_ERR_NOMEM         = 12,
78*4882a593Smuzhiyun     // failure caused by malloc buffer
79*4882a593Smuzhiyun     RK_ERR_NOBUF         = 13,
80*4882a593Smuzhiyun     // no data in buffer
81*4882a593Smuzhiyun     RK_ERR_BUF_EMPTY     = 14,
82*4882a593Smuzhiyun     // no buffer for new data
83*4882a593Smuzhiyun     RK_ERR_BUF_FULL      = 15,
84*4882a593Smuzhiyun     /*
85*4882a593Smuzhiyun      * System is not ready,maybe not initialed or
86*4882a593Smuzhiyun      * loaded. Returning the error code when opening
87*4882a593Smuzhiyun      * a device file failed.
88*4882a593Smuzhiyun      */
89*4882a593Smuzhiyun     RK_ERR_NOTREADY      = 16,
90*4882a593Smuzhiyun     /*
91*4882a593Smuzhiyun      * bad address,
92*4882a593Smuzhiyun      * eg. used for copy_from_user & copy_to_user
93*4882a593Smuzhiyun      */
94*4882a593Smuzhiyun     RK_ERR_BADADDR       = 17,
95*4882a593Smuzhiyun     /*
96*4882a593Smuzhiyun      * resource is busy,
97*4882a593Smuzhiyun      * eg. destroy a venc chn without unregister it
98*4882a593Smuzhiyun      */
99*4882a593Smuzhiyun     RK_ERR_BUSY          = 18,
100*4882a593Smuzhiyun     // buffer size is smaller than the actual size required
101*4882a593Smuzhiyun     RK_ERR_SIZE_NOT_ENOUGH = 19,
102*4882a593Smuzhiyun     /*
103*4882a593Smuzhiyun      * maxium code, private error code of all modules
104*4882a593Smuzhiyun      * must be greater than it
105*4882a593Smuzhiyun      */
106*4882a593Smuzhiyun     RK_ERR_BUTT          = 63,
107*4882a593Smuzhiyun }RK_ERR_CODE_E;
108*4882a593Smuzhiyun 
109*4882a593Smuzhiyun #ifdef __cplusplus
110*4882a593Smuzhiyun #if __cplusplus
111*4882a593Smuzhiyun }
112*4882a593Smuzhiyun #endif
113*4882a593Smuzhiyun #endif /* __cplusplus */
114*4882a593Smuzhiyun 
115*4882a593Smuzhiyun #endif  // INCLUDE_RT_MPI_RK_ERRNO_H_
116