nouveau_compat.c 808 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "nouveau_drm.h"
  2. #include "nouveau_compat.h"
  3. void *nouveau_newpriv(struct drm_device *);
  4. u8
  5. _nv_rd08(struct drm_device *dev, u32 reg)
  6. {
  7. struct nouveau_drm *drm = nouveau_newpriv(dev);
  8. return nv_ro08(drm->device, reg);
  9. }
  10. void
  11. _nv_wr08(struct drm_device *dev, u32 reg, u8 val)
  12. {
  13. struct nouveau_drm *drm = nouveau_newpriv(dev);
  14. nv_wo08(drm->device, reg, val);
  15. }
  16. u32
  17. _nv_rd32(struct drm_device *dev, u32 reg)
  18. {
  19. struct nouveau_drm *drm = nouveau_newpriv(dev);
  20. return nv_ro32(drm->device, reg);
  21. }
  22. void
  23. _nv_wr32(struct drm_device *dev, u32 reg, u32 val)
  24. {
  25. struct nouveau_drm *drm = nouveau_newpriv(dev);
  26. nv_wo32(drm->device, reg, val);
  27. }
  28. u32
  29. _nv_mask(struct drm_device *dev, u32 reg, u32 mask, u32 val)
  30. {
  31. u32 tmp = _nv_rd32(dev, reg);
  32. _nv_wr32(dev, reg, (tmp & ~mask) | val);
  33. return tmp;
  34. }