]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4 LT |
2 | #ifndef _ALPHA_AGP_BACKEND_H |
3 | #define _ALPHA_AGP_BACKEND_H 1 | |
4 | ||
5 | typedef union _alpha_agp_mode { | |
6 | struct { | |
7 | u32 rate : 3; | |
8 | u32 reserved0 : 1; | |
9 | u32 fw : 1; | |
10 | u32 fourgb : 1; | |
11 | u32 reserved1 : 2; | |
12 | u32 enable : 1; | |
13 | u32 sba : 1; | |
14 | u32 reserved2 : 14; | |
15 | u32 rq : 8; | |
16 | } bits; | |
17 | u32 lw; | |
18 | } alpha_agp_mode; | |
19 | ||
20 | typedef struct _alpha_agp_info { | |
21 | struct pci_controller *hose; | |
22 | struct { | |
23 | dma_addr_t bus_base; | |
24 | unsigned long size; | |
25 | void *sysdata; | |
26 | } aperture; | |
27 | alpha_agp_mode capability; | |
28 | alpha_agp_mode mode; | |
29 | void *private; | |
30 | struct alpha_agp_ops *ops; | |
31 | } alpha_agp_info; | |
32 | ||
33 | struct alpha_agp_ops { | |
34 | int (*setup)(alpha_agp_info *); | |
35 | void (*cleanup)(alpha_agp_info *); | |
36 | int (*configure)(alpha_agp_info *); | |
37 | int (*bind)(alpha_agp_info *, off_t, struct agp_memory *); | |
38 | int (*unbind)(alpha_agp_info *, off_t, struct agp_memory *); | |
39 | unsigned long (*translate)(alpha_agp_info *, dma_addr_t); | |
40 | }; | |
41 | ||
42 | ||
43 | #endif /* _ALPHA_AGP_BACKEND_H */ |