XenevaOS
Loading...
Searching...
No Matches
XenevaOS
BaseHdr
drm
drm_debugfs_crc.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2016 Collabora Ltd.
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a
5
* copy of this software and associated documentation files (the "Software"),
6
* to deal in the Software without restriction, including without limitation
7
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
* and/or sell copies of the Software, and to permit persons to whom the
9
* Software is furnished to do so, subject to the following conditions:
10
*
11
* The above copyright notice and this permission notice shall be included in
12
* all copies or substantial portions of the Software.
13
*
14
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20
* OTHER DEALINGS IN THE SOFTWARE.
21
*/
22
#ifndef __DRM_DEBUGFS_CRC_H__
23
#define __DRM_DEBUGFS_CRC_H__
24
25
#include <
linux/spinlock_types.h
>
26
#include <
linux/types.h
>
27
#include <
linux/wait.h
>
28
29
struct
drm_crtc
;
30
31
#define DRM_MAX_CRC_NR 10
32
39
struct
drm_crtc_crc_entry
{
40
bool
has_frame_counter
;
41
uint32_t
frame
;
42
uint32_t
crcs
[
DRM_MAX_CRC_NR
];
43
};
44
45
#define DRM_CRC_ENTRIES_NR 128
46
59
struct
drm_crtc_crc
{
60
spinlock_t
lock
;
61
const
char
*
source
;
62
bool
opened
,
overflow
;
63
struct
drm_crtc_crc_entry
*
entries
;
64
int
head
,
tail
;
65
size_t
values_cnt
;
66
wait_queue_head_t
wq
;
67
};
68
69
#if defined(CONFIG_DEBUG_FS)
70
int
drm_crtc_add_crc_entry(
struct
drm_crtc
*
crtc
,
bool
has_frame,
71
uint32_t
frame
,
uint32_t
*
crcs
);
72
#else
73
static
inline
int
drm_crtc_add_crc_entry(
struct
drm_crtc
*
crtc
,
bool
has_frame,
74
uint32_t
frame
,
uint32_t
*
crcs
)
75
{
76
return
-
EINVAL
;
77
}
78
#endif
/* defined(CONFIG_DEBUG_FS) */
79
80
#endif
/* __DRM_DEBUGFS_CRC_H__ */
types.h
EINVAL
#define EINVAL
Definition
acclib.h:198
uint32_t
unsigned int uint32_t
Definition
acefiex.h:163
crtc
struct drm_crtc * crtc
Definition
drm_crtc.h:1238
DRM_MAX_CRC_NR
#define DRM_MAX_CRC_NR
Definition
drm_debugfs_crc.h:31
spinlock_t
int spinlock_t
Definition
kernel.h:44
spinlock_types.h
drm_crtc_crc_entry
Definition
drm_debugfs_crc.h:39
drm_crtc_crc_entry::has_frame_counter
bool has_frame_counter
Definition
drm_debugfs_crc.h:40
drm_crtc_crc_entry::crcs
uint32_t crcs[DRM_MAX_CRC_NR]
Definition
drm_debugfs_crc.h:42
drm_crtc_crc_entry::frame
uint32_t frame
Definition
drm_debugfs_crc.h:41
drm_crtc_crc
Definition
drm_debugfs_crc.h:59
drm_crtc_crc::opened
bool opened
Definition
drm_debugfs_crc.h:62
drm_crtc_crc::head
int head
Definition
drm_debugfs_crc.h:64
drm_crtc_crc::tail
int tail
Definition
drm_debugfs_crc.h:64
drm_crtc_crc::wq
wait_queue_head_t wq
Definition
drm_debugfs_crc.h:66
drm_crtc_crc::source
const char * source
Definition
drm_debugfs_crc.h:61
drm_crtc_crc::values_cnt
size_t values_cnt
Definition
drm_debugfs_crc.h:65
drm_crtc_crc::overflow
bool overflow
Definition
drm_debugfs_crc.h:62
drm_crtc_crc::lock
spinlock_t lock
Definition
drm_debugfs_crc.h:60
drm_crtc_crc::entries
struct drm_crtc_crc_entry * entries
Definition
drm_debugfs_crc.h:63
drm_crtc
Definition
drm_crtc.h:955
wait_queue_head
Definition
wait.h:75
wait.h
Generated by
1.9.8