Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm
[sfrench/cifs-2.6.git] / arch / alpha / include / asm / agp_backend.h
1 /* SPDX-License-Identifier: GPL-2.0 */
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 */