nouveau_compat.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #ifndef __NOUVEAU_COMPAT_H__
  2. #define __NOUVEAU_COMPAT_H__
  3. int nvdrm_gart_init(struct drm_device *, u64 *, u64 *);
  4. u8 _nv_rd08(struct drm_device *, u32);
  5. void _nv_wr08(struct drm_device *, u32, u8);
  6. u32 _nv_rd32(struct drm_device *, u32);
  7. void _nv_wr32(struct drm_device *, u32, u32);
  8. u32 _nv_mask(struct drm_device *, u32, u32, u32);
  9. bool _nv_bios(struct drm_device *, u8 **, u32 *);
  10. struct dcb_gpio_func;
  11. void nouveau_gpio_reset(struct drm_device *);
  12. int nouveau_gpio_find(struct drm_device *, int, u8, u8, struct dcb_gpio_func *);
  13. bool nouveau_gpio_func_valid(struct drm_device *, u8 tag);
  14. int nouveau_gpio_func_set(struct drm_device *, u8 tag, int state);
  15. int nouveau_gpio_func_get(struct drm_device *, u8 tag);
  16. int nouveau_gpio_irq(struct drm_device *, int idx, u8 tag, u8 line, bool on);
  17. int nouveau_gpio_isr_add(struct drm_device *, int idx, u8 tag, u8 line,
  18. void (*)(void *, int state), void *data);
  19. void nouveau_gpio_isr_del(struct drm_device *, int idx, u8 tag, u8 line,
  20. void (*)(void *, int state), void *data);
  21. struct nouveau_i2c_port *nouveau_i2c_find(struct drm_device *, u8);
  22. bool nouveau_probe_i2c_addr(struct nouveau_i2c_port *, int addr);
  23. struct i2c_adapter *nouveau_i2c_adapter(struct nouveau_i2c_port *);
  24. int nouveau_i2c_identify(struct drm_device *dev, const char *what,
  25. struct i2c_board_info *info,
  26. bool (*match)(struct nouveau_i2c_port *,
  27. struct i2c_board_info *), int index);
  28. int auxch_rd(struct drm_device *, struct nouveau_i2c_port *, u32, u8 *, u8);
  29. int auxch_wr(struct drm_device *, struct nouveau_i2c_port *, u32, u8 *, u8);
  30. struct nvbios_pll;
  31. struct nouveau_pll_vals;
  32. u32 get_pll_register(struct drm_device *dev, u32 type);
  33. int get_pll_limits(struct drm_device *, u32, struct nvbios_pll *);
  34. int setPLL(struct drm_device *, u32 reg, u32 clk);
  35. int nouveau_calc_pll_mnp(struct drm_device *, struct nvbios_pll *,
  36. int, struct nouveau_pll_vals *);
  37. int nva3_calc_pll(struct drm_device *dev, struct nvbios_pll *info, u32 freq,
  38. int *N, int *fN, int *M, int *P);
  39. int nouveau_hw_setpll(struct drm_device *, u32, struct nouveau_pll_vals *);
  40. struct dcb_output;
  41. void nouveau_bios_run_init_table(struct drm_device *, u16, struct dcb_output *, int);
  42. void nouveau_bios_init_exec(struct drm_device *, u16);
  43. void nv_intr(struct drm_device *);
  44. bool nouveau_wait_eq(struct drm_device *, uint64_t timeout,
  45. uint32_t reg, uint32_t mask, uint32_t val);
  46. bool nouveau_wait_ne(struct drm_device *, uint64_t timeout,
  47. uint32_t reg, uint32_t mask, uint32_t val);
  48. bool nouveau_wait_cb(struct drm_device *, u64 timeout,
  49. bool (*cond)(void *), void *);
  50. u64 nv_timer_read(struct drm_device *);
  51. #endif