rcar_du_writeback.h 997 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * R-Car Display Unit Writeback Support
  4. *
  5. * Copyright (C) 2019 Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  6. */
  7. #ifndef __RCAR_DU_WRITEBACK_H__
  8. #define __RCAR_DU_WRITEBACK_H__
  9. #include <drm/drm_plane.h>
  10. struct rcar_du_crtc;
  11. struct rcar_du_device;
  12. struct vsp1_du_atomic_pipe_config;
  13. #ifdef CONFIG_DRM_RCAR_WRITEBACK
  14. int rcar_du_writeback_init(struct rcar_du_device *rcdu,
  15. struct rcar_du_crtc *rcrtc);
  16. void rcar_du_writeback_setup(struct rcar_du_crtc *rcrtc,
  17. struct vsp1_du_writeback_config *cfg);
  18. void rcar_du_writeback_complete(struct rcar_du_crtc *rcrtc);
  19. #else
  20. static inline int rcar_du_writeback_init(struct rcar_du_device *rcdu,
  21. struct rcar_du_crtc *rcrtc)
  22. {
  23. return -ENXIO;
  24. }
  25. static inline void
  26. rcar_du_writeback_setup(struct rcar_du_crtc *rcrtc,
  27. struct vsp1_du_writeback_config *cfg)
  28. {
  29. }
  30. static inline void rcar_du_writeback_complete(struct rcar_du_crtc *rcrtc)
  31. {
  32. }
  33. #endif
  34. #endif /* __RCAR_DU_WRITEBACK_H__ */