BPicture: Fix archive constructor.
[haiku.git] / src / add-ons / kernel / drivers / graphics / radeon_hd / radeon_hd_private.h
blobc4e320332f38a6c1c6a0cdd101905f539bc3499f
1 /*
2 * Copyright 2006-2010, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
5 * Authors:
6 * Axel Dörfler, axeld@pinc-software.de
7 * Clemens Zeidler, haiku@clemens-zeidler.de
8 */
9 #ifndef RADEON_RD_PRIVATE_H
10 #define RADEON_RD_PRIVATE_H
13 #include <AGP.h>
14 #include <KernelExport.h>
15 #include <PCI.h>
18 #include "radeon_hd.h"
19 #include "lock.h"
22 // PCI Base Address Registers
23 #define PCI_BAR_FB 0
25 #define RADEON_BIOS8(adr, v) (adr[v])
26 #define RADEON_BIOS16(adr, v) ((adr[v]) | (adr[(v) + 1] << 8))
27 #define RADEON_BIOS32(adr, v) \
28 ((RADEON_BIOS16(adr, v) | RADEON_BIOS16(adr, v + 2) << 16))
31 struct radeon_info {
32 int32 open_count;
33 status_t init_status;
34 int32 id;
35 pci_info* pci;
36 addr_t registers;
38 uint8* atom_buffer; // buffer for atombios
40 area_id registers_area;
41 area_id framebuffer_area;
42 area_id rom_area;
44 struct radeon_shared_info* shared_info;
45 area_id shared_area;
47 uint32 pciID;
48 const char* deviceName;
49 uint16 chipsetID;
50 const char* chipsetName;
51 uint32 chipsetFlags;
52 uint8 dceMajor;
53 uint8 dceMinor;
57 status_t mapAtomBIOS(radeon_info &info, uint32 romBase, uint32 romSize);
58 extern status_t radeon_hd_init(radeon_info& info);
59 extern void radeon_hd_uninit(radeon_info& info);
62 #endif /* RADEON_RD_PRIVATE_H */