mali_dlbu.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * This confidential and proprietary software may be used only as
  3. * authorised by a licensing agreement from ARM Limited
  4. * (C) COPYRIGHT 2012-2013 ARM Limited
  5. * ALL RIGHTS RESERVED
  6. * The entire notice above must be reproduced on all authorised
  7. * copies and copies may only be made to the extent permitted
  8. * by a licensing agreement from ARM Limited.
  9. */
  10. #ifndef __MALI_DLBU_H__
  11. #define __MALI_DLBU_H__
  12. #define MALI_DLBU_VIRT_ADDR 0xFFF00000 /* master tile virtual address fixed at this value and mapped into every session */
  13. #include "mali_osk.h"
  14. struct mali_pp_job;
  15. struct mali_group;
  16. extern u32 mali_dlbu_phys_addr;
  17. struct mali_dlbu_core;
  18. _mali_osk_errcode_t mali_dlbu_initialize(void);
  19. void mali_dlbu_terminate(void);
  20. struct mali_dlbu_core *mali_dlbu_create(const _mali_osk_resource_t * resource);
  21. void mali_dlbu_delete(struct mali_dlbu_core *dlbu);
  22. _mali_osk_errcode_t mali_dlbu_reset(struct mali_dlbu_core *dlbu);
  23. void mali_dlbu_add_group(struct mali_dlbu_core *dlbu, struct mali_group *group);
  24. void mali_dlbu_remove_group(struct mali_dlbu_core *dlbu, struct mali_group *group);
  25. /** @brief Called to update HW after DLBU state changed
  26. *
  27. * This function must be called after \a mali_dlbu_add_group or \a
  28. * mali_dlbu_remove_group to write the updated mask to hardware, unless the
  29. * same is accomplished by calling \a mali_dlbu_reset.
  30. */
  31. void mali_dlbu_update_mask(struct mali_dlbu_core *dlbu);
  32. void mali_dlbu_config_job(struct mali_dlbu_core *dlbu, struct mali_pp_job *job);
  33. #endif /* __MALI_DLBU_H__ */