39 lines
		
	
	
		
			906 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			906 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef __NVKM_FAULT_H__
 | 
						|
#define __NVKM_FAULT_H__
 | 
						|
#include <core/subdev.h>
 | 
						|
#include <core/event.h>
 | 
						|
#include <core/notify.h>
 | 
						|
 | 
						|
struct nvkm_fault {
 | 
						|
	const struct nvkm_fault_func *func;
 | 
						|
	struct nvkm_subdev subdev;
 | 
						|
 | 
						|
	struct nvkm_fault_buffer *buffer[2];
 | 
						|
	int buffer_nr;
 | 
						|
 | 
						|
	struct nvkm_event event;
 | 
						|
 | 
						|
	struct nvkm_notify nrpfb;
 | 
						|
 | 
						|
	struct nvkm_device_oclass user;
 | 
						|
};
 | 
						|
 | 
						|
struct nvkm_fault_data {
 | 
						|
	u64  addr;
 | 
						|
	u64  inst;
 | 
						|
	u64  time;
 | 
						|
	u8 engine;
 | 
						|
	u8  valid;
 | 
						|
	u8    gpc;
 | 
						|
	u8    hub;
 | 
						|
	u8 access;
 | 
						|
	u8 client;
 | 
						|
	u8 reason;
 | 
						|
};
 | 
						|
 | 
						|
int gp100_fault_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fault **);
 | 
						|
int gp10b_fault_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fault **);
 | 
						|
int gv100_fault_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fault **);
 | 
						|
int tu102_fault_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fault **);
 | 
						|
#endif
 |