vsp1_brx.h 892 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * vsp1_brx.h -- R-Car VSP1 Blend ROP Unit (BRU and BRS)
  4. *
  5. * Copyright (C) 2013 Renesas Corporation
  6. *
  7. * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
  8. */
  9. #ifndef __VSP1_BRX_H__
  10. #define __VSP1_BRX_H__
  11. #include <media/media-entity.h>
  12. #include <media/v4l2-ctrls.h>
  13. #include <media/v4l2-subdev.h>
  14. #include "vsp1_entity.h"
  15. struct vsp1_device;
  16. struct vsp1_rwpf;
  17. #define BRX_PAD_SINK(n) (n)
  18. struct vsp1_brx {
  19. struct vsp1_entity entity;
  20. unsigned int base;
  21. struct v4l2_ctrl_handler ctrls;
  22. struct {
  23. struct vsp1_rwpf *rpf;
  24. } inputs[VSP1_MAX_RPF];
  25. u32 bgcolor;
  26. };
  27. static inline struct vsp1_brx *to_brx(struct v4l2_subdev *subdev)
  28. {
  29. return container_of(subdev, struct vsp1_brx, entity.subdev);
  30. }
  31. struct vsp1_brx *vsp1_brx_create(struct vsp1_device *vsp1,
  32. enum vsp1_entity_type type);
  33. #endif /* __VSP1_BRX_H__ */