1#ifndef _ALPHA_AGP_BACKEND_H 2#define _ALPHA_AGP_BACKEND_H 1 3 4typedef 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 19typedef 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 32struct 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