xref: /haiku/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme_private.h (revision d374a27286b8a52974a97dba0d5966ea026a665d)
1 /*
2  * Copyright 2006-2008, 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 <AGP.h>
13 #include <KernelExport.h>
14 #include <PCI.h>
15 
16 #include "intel_extreme.h"
17 #include "lock.h"
18 
19 
20 struct intel_info {
21 	int32			open_count;
22 	status_t		init_status;
23 	int32			id;
24 	pci_info*		pci;
25 	addr_t			aperture_base;
26 	aperture_id		aperture;
27 	uint8*			registers;
28 	area_id			registers_area;
29 	struct intel_shared_info* shared_info;
30 	area_id			shared_area;
31 
32 	struct overlay_registers* overlay_registers;
33 
34 	bool			fake_interrupts;
35 
36 	const char*		device_identifier;
37 	DeviceType		device_type;
38 };
39 
40 extern status_t intel_free_memory(intel_info& info, addr_t offset);
41 extern status_t intel_allocate_memory(intel_info& info, size_t size,
42 	size_t alignment, uint32 flags, addr_t* _offset,
43 	phys_addr_t* _physicalBase = NULL);
44 extern status_t intel_extreme_init(intel_info& info);
45 extern void intel_extreme_uninit(intel_info& info);
46 
47 #endif  /* INTEL_EXTREME_PRIVATE_H */
48