xref: /aosp_15_r20/external/igt-gpu-tools/tools/intel_l3_parity.h (revision d83cc019efdc2edc6c4b16e9034a3ceb8d35d77c)
1*d83cc019SAndroid Build Coastguard Worker #ifndef INTEL_L3_PARITY_H_
2*d83cc019SAndroid Build Coastguard Worker #define INTEL_L3_PARITY_H_
3*d83cc019SAndroid Build Coastguard Worker 
4*d83cc019SAndroid Build Coastguard Worker #include <stdint.h>
5*d83cc019SAndroid Build Coastguard Worker #include <stdbool.h>
6*d83cc019SAndroid Build Coastguard Worker 
7*d83cc019SAndroid Build Coastguard Worker struct l3_parity {
8*d83cc019SAndroid Build Coastguard Worker 	struct udev *udev;
9*d83cc019SAndroid Build Coastguard Worker 	struct udev_monitor *uevent_monitor;
10*d83cc019SAndroid Build Coastguard Worker 	int fd;
11*d83cc019SAndroid Build Coastguard Worker 	fd_set fdset;
12*d83cc019SAndroid Build Coastguard Worker };
13*d83cc019SAndroid Build Coastguard Worker 
14*d83cc019SAndroid Build Coastguard Worker struct l3_location {
15*d83cc019SAndroid Build Coastguard Worker 	uint8_t slice;
16*d83cc019SAndroid Build Coastguard Worker 	uint16_t row;
17*d83cc019SAndroid Build Coastguard Worker 	uint8_t bank;
18*d83cc019SAndroid Build Coastguard Worker 	uint8_t subbank;
19*d83cc019SAndroid Build Coastguard Worker };
20*d83cc019SAndroid Build Coastguard Worker 
21*d83cc019SAndroid Build Coastguard Worker int l3_uevent_setup(struct l3_parity *par);
22*d83cc019SAndroid Build Coastguard Worker /* Listens (blocks) for an l3 parity event. Returns the location of the error. */
23*d83cc019SAndroid Build Coastguard Worker int l3_listen(struct l3_parity *par, bool daemon, struct l3_location *loc);
24*d83cc019SAndroid Build Coastguard Worker #define l3_uevent_teardown(par) {}
25*d83cc019SAndroid Build Coastguard Worker 
26*d83cc019SAndroid Build Coastguard Worker #endif
27