xref: /haiku/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme_private.h (revision 56eb8e78cc702792e3b032e3f5f45da9e5dbea9e)
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 	struct overlay_registers *overlay_registers;
30 		// update buffer, shares an area with shared_info
31 
32 	uint8			*gtt_base;
33 	size_t			gtt_size;
34 	uint8			*graphics_memory;
35 	area_id			graphics_memory_area;
36 	area_id			additional_memory_area;
37 		// allocated memory beyond the "stolen" amount
38 	mem_info		*memory_manager;
39 
40 	bool			fake_interrupts;
41 
42 	const char		*device_identifier;
43 	uint32			device_type;
44 };
45 
46 extern status_t intel_extreme_init(intel_info &info);
47 extern void intel_extreme_uninit(intel_info &info);
48 
49 #endif  /* INTEL_EXTREME_PRIVATE_H */
50