xref: /haiku/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme_private.h (revision 020cbad9d40235a2c50a81a42d69912a5ff8fbc4)
1 /*
2  * Copyright 2006-2007, Haiku, Inc. All Rights Reserved.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Axel Dörfler, axeld@pinc-software.de
7  */
8 #ifndef INTEL_EXTREME_PRIVATE_H
9 #define INTEL_EXTREME_PRIVATE_H
10 
11 
12 #include <KernelExport.h>
13 #include <PCI.h>
14 
15 #include "intel_extreme.h"
16 #include "lock.h"
17 
18 
19 struct intel_info {
20 	int32			open_count;
21 	status_t		init_status;
22 	int32			id;
23 	pci_info		*pci;
24 	uint8			*registers;
25 	area_id			registers_area;
26 	struct intel_shared_info *shared_info;
27 	area_id			shared_area;
28 
29 	uint32			overlay_handle;
30 	uint32			overlay_offset;
31 	struct overlay_registers *overlay_registers;
32 		// update buffer, shares an area with shared_info
33 
34 	uint8			*gtt_base;
35 	size_t			gtt_size;
36 	area_id			gtt_area;
37 	uint8			*graphics_memory;
38 	area_id			graphics_memory_area;
39 	area_id			additional_memory_area;
40 		// allocated memory beyond the "stolen" amount
41 	mem_info		*memory_manager;
42 
43 	bool			fake_interrupts;
44 
45 	const char		*device_identifier;
46 	uint32			device_type;
47 };
48 
49 extern status_t intel_extreme_init(intel_info &info);
50 extern void intel_extreme_uninit(intel_info &info);
51 
52 #endif  /* INTEL_EXTREME_PRIVATE_H */
53