agp_backend.h 909 B

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