summaryrefslogtreecommitdiff
path: root/arch/alpha/include/asm/agp_backend.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-08-27 19:17:07 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-08-27 19:17:07 -0700
commitb30a72a7edfc64c8929104d5c2178aca489aa559 (patch)
tree2b26c155c318d08d946bd2d70cf815dcdb29a243 /arch/alpha/include/asm/agp_backend.h
parentf1c5d30e1d79bbfb60eaf189db862d3cb2bcac92 (diff)
parentc1b362e3b4d331a63915b268a33207311a439d60 (diff)
Merge branch 'x86/urgent' into x86/cpu
Conflicts: arch/x86/kernel/cpu/cyrix.c
Diffstat (limited to 'arch/alpha/include/asm/agp_backend.h')
-rw-r--r--arch/alpha/include/asm/agp_backend.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/arch/alpha/include/asm/agp_backend.h b/arch/alpha/include/asm/agp_backend.h
new file mode 100644
index 000000000000..55dd44a2cea7
--- /dev/null
+++ b/arch/alpha/include/asm/agp_backend.h
@@ -0,0 +1,42 @@
+#ifndef _ALPHA_AGP_BACKEND_H
+#define _ALPHA_AGP_BACKEND_H 1
+
+typedef union _alpha_agp_mode {
+ struct {
+ u32 rate : 3;
+ u32 reserved0 : 1;
+ u32 fw : 1;
+ u32 fourgb : 1;
+ u32 reserved1 : 2;
+ u32 enable : 1;
+ u32 sba : 1;
+ u32 reserved2 : 14;
+ u32 rq : 8;
+ } bits;
+ u32 lw;
+} alpha_agp_mode;
+
+typedef struct _alpha_agp_info {
+ struct pci_controller *hose;
+ struct {
+ dma_addr_t bus_base;
+ unsigned long size;
+ void *sysdata;
+ } aperture;
+ alpha_agp_mode capability;
+ alpha_agp_mode mode;
+ void *private;
+ struct alpha_agp_ops *ops;
+} alpha_agp_info;
+
+struct alpha_agp_ops {
+ int (*setup)(alpha_agp_info *);
+ void (*cleanup)(alpha_agp_info *);
+ int (*configure)(alpha_agp_info *);
+ int (*bind)(alpha_agp_info *, off_t, struct agp_memory *);
+ int (*unbind)(alpha_agp_info *, off_t, struct agp_memory *);
+ unsigned long (*translate)(alpha_agp_info *, dma_addr_t);
+};
+
+
+#endif /* _ALPHA_AGP_BACKEND_H */