0001
0002 #ifndef _ALPHA_AGP_BACKEND_H
0003 #define _ALPHA_AGP_BACKEND_H 1
0004
0005 typedef union _alpha_agp_mode {
0006 struct {
0007 u32 rate : 3;
0008 u32 reserved0 : 1;
0009 u32 fw : 1;
0010 u32 fourgb : 1;
0011 u32 reserved1 : 2;
0012 u32 enable : 1;
0013 u32 sba : 1;
0014 u32 reserved2 : 14;
0015 u32 rq : 8;
0016 } bits;
0017 u32 lw;
0018 } alpha_agp_mode;
0019
0020 typedef struct _alpha_agp_info {
0021 struct pci_controller *hose;
0022 struct {
0023 dma_addr_t bus_base;
0024 unsigned long size;
0025 void *sysdata;
0026 } aperture;
0027 alpha_agp_mode capability;
0028 alpha_agp_mode mode;
0029 void *private;
0030 struct alpha_agp_ops *ops;
0031 } alpha_agp_info;
0032
0033 struct alpha_agp_ops {
0034 int (*setup)(alpha_agp_info *);
0035 void (*cleanup)(alpha_agp_info *);
0036 int (*configure)(alpha_agp_info *);
0037 int (*bind)(alpha_agp_info *, off_t, struct agp_memory *);
0038 int (*unbind)(alpha_agp_info *, off_t, struct agp_memory *);
0039 unsigned long (*translate)(alpha_agp_info *, dma_addr_t);
0040 };
0041
0042
0043 #endif