xref: /linux/arch/alpha/include/asm/agp_backend.h (revision 0d456bad36d42d16022be045c8a53ddbb59ee478)
1 #ifndef _ALPHA_AGP_BACKEND_H
2 #define _ALPHA_AGP_BACKEND_H 1
3 
4 typedef	union _alpha_agp_mode {
5 	struct {
6 		u32 rate : 3;
7 		u32 reserved0 : 1;
8 		u32 fw : 1;
9 		u32 fourgb : 1;
10 		u32 reserved1 : 2;
11 		u32 enable : 1;
12 		u32 sba : 1;
13 		u32 reserved2 : 14;
14 		u32 rq : 8;
15 	} bits;
16 	u32 lw;
17 } alpha_agp_mode;
18 
19 typedef struct _alpha_agp_info {
20 	struct pci_controller *hose;
21 	struct {
22 		dma_addr_t bus_base;
23 		unsigned long size;
24 		void *sysdata;
25 	} aperture;
26 	alpha_agp_mode capability;
27 	alpha_agp_mode mode;
28 	void *private;
29 	struct alpha_agp_ops *ops;
30 } alpha_agp_info;
31 
32 struct alpha_agp_ops {
33 	int (*setup)(alpha_agp_info *);
34 	void (*cleanup)(alpha_agp_info *);
35 	int (*configure)(alpha_agp_info *);
36 	int (*bind)(alpha_agp_info *, off_t, struct agp_memory *);
37 	int (*unbind)(alpha_agp_info *, off_t, struct agp_memory *);
38 	unsigned long (*translate)(alpha_agp_info *, dma_addr_t);
39 };
40 
41 
42 #endif /* _ALPHA_AGP_BACKEND_H */
43