sde_hw_rc.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2020, The Linux Foundation. All rights reserved.
  4. */
  5. #ifndef _SDE_HW_RC_H
  6. #define _SDE_HW_RC_H
  7. #include "sde_hw_mdss.h"
  8. /**
  9. * sde_hw_rc_init - Initialize RC internal state object and ops
  10. * @hw_dspp: DSPP instance.
  11. * Return: 0 on success, non-zero otherwise.
  12. */
  13. int sde_hw_rc_init(struct sde_hw_dspp *hw_dspp);
  14. /**
  15. * sde_hw_rc_check_mask - Validate RC mask configuration
  16. * @hw_dspp: DSPP instance.
  17. * @cfg: Pointer to configuration blob.
  18. * Return: 0 on success, non-zero otherwise.
  19. */
  20. int sde_hw_rc_check_mask(struct sde_hw_dspp *hw_dspp, void *cfg);
  21. /**
  22. * sde_hw_rc_setup_mask - Setup RC mask configuration
  23. * @hw_dspp: DSPP instance.
  24. * @cfg: Pointer to configuration blob.
  25. * Return: 0 on success, non-zero otherwise.
  26. */
  27. int sde_hw_rc_setup_mask(struct sde_hw_dspp *hw_dspp, void *cfg);
  28. /**
  29. * sde_hw_rc_check_pu_roi - Validate RC partial update region of interest
  30. * @hw_dspp: DSPP instance.
  31. * @cfg: Pointer to configuration blob.
  32. * Return: 0 on success.
  33. * > 0 on early return.
  34. * < 0 on error.
  35. */
  36. int sde_hw_rc_check_pu_roi(struct sde_hw_dspp *hw_dspp, void *cfg);
  37. /**
  38. * sde_hw_rc_setup_pu_roi - Setup RC partial update region of interest
  39. * @hw_dspp: DSPP instance.
  40. * @cfg: Pointer to configuration blob.
  41. * Return: 0 on success.
  42. * > 0 on early return.
  43. * < 0 on error.
  44. */
  45. int sde_hw_rc_setup_pu_roi(struct sde_hw_dspp *hw_dspp, void *cfg);
  46. /**
  47. * sde_hw_rc_setup_data_ahb - Program mask data with AHB
  48. * @hw_dspp: DSPP instance.
  49. * @cfg: Pointer to configuration blob.
  50. * Return: 0 on success, non-zero otherwise.
  51. */
  52. int sde_hw_rc_setup_data_ahb(struct sde_hw_dspp *hw_dspp, void *cfg);
  53. /**
  54. * sde_hw_rc_setup_data_dma - Program mask data with DMA
  55. * @hw_dspp: DSPP instance.
  56. * @cfg: Pointer to configuration blob.
  57. * Return: 0 on success, non-zero otherwise.
  58. */
  59. int sde_hw_rc_setup_data_dma(struct sde_hw_dspp *hw_dspp, void *cfg);
  60. #endif