vlv_iosf_sb.h 899 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /* SPDX-License-Identifier: MIT */
  2. /*
  3. * Copyright © 2013-2021 Intel Corporation
  4. */
  5. #ifndef _VLV_IOSF_SB_H_
  6. #define _VLV_IOSF_SB_H_
  7. #include <linux/types.h>
  8. #include "vlv_iosf_sb_reg.h"
  9. struct drm_device;
  10. struct drm_i915_private;
  11. enum vlv_iosf_sb_unit {
  12. VLV_IOSF_SB_BUNIT,
  13. VLV_IOSF_SB_CCK,
  14. VLV_IOSF_SB_CCU,
  15. VLV_IOSF_SB_DPIO,
  16. VLV_IOSF_SB_DPIO_2,
  17. VLV_IOSF_SB_FLISDSI,
  18. VLV_IOSF_SB_GPIO,
  19. VLV_IOSF_SB_NC,
  20. VLV_IOSF_SB_PUNIT,
  21. };
  22. void vlv_iosf_sb_init(struct drm_i915_private *i915);
  23. void vlv_iosf_sb_fini(struct drm_i915_private *i915);
  24. void vlv_iosf_sb_get(struct drm_device *drm, unsigned long unit_mask);
  25. void vlv_iosf_sb_put(struct drm_device *drm, unsigned long unit_mask);
  26. u32 vlv_iosf_sb_read(struct drm_device *drm, enum vlv_iosf_sb_unit unit, u32 addr);
  27. int vlv_iosf_sb_write(struct drm_device *drm, enum vlv_iosf_sb_unit unit, u32 addr, u32 val);
  28. #endif /* _VLV_IOSF_SB_H_ */