agp_backend.h 948 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _ALPHA_AGP_BACKEND_H
  3. #define _ALPHA_AGP_BACKEND_H 1
  4. typedef 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. typedef struct _alpha_agp_info {
  19. struct pci_controller *hose;
  20. struct {
  21. dma_addr_t bus_base;
  22. unsigned long size;
  23. void *sysdata;
  24. } aperture;
  25. alpha_agp_mode capability;
  26. alpha_agp_mode mode;
  27. void *private;
  28. struct alpha_agp_ops *ops;
  29. } alpha_agp_info;
  30. struct alpha_agp_ops {
  31. int (*setup)(alpha_agp_info *);
  32. void (*cleanup)(alpha_agp_info *);
  33. int (*configure)(alpha_agp_info *);
  34. int (*bind)(alpha_agp_info *, off_t, struct agp_memory *);
  35. int (*unbind)(alpha_agp_info *, off_t, struct agp_memory *);
  36. unsigned long (*translate)(alpha_agp_info *, dma_addr_t);
  37. };
  38. #endif /* _ALPHA_AGP_BACKEND_H */