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
8#ifndef __RCAR_DU_WRITEBACK_H__
9#define __RCAR_DU_WRITEBACK_H__
10
11#include <drm/drm_plane.h>
12
13struct rcar_du_crtc;
14struct rcar_du_device;
15struct vsp1_du_atomic_pipe_config;
16
17#ifdef CONFIG_DRM_RCAR_WRITEBACK
18int rcar_du_writeback_init(struct rcar_du_device *rcdu,
19			   struct rcar_du_crtc *rcrtc);
20void rcar_du_writeback_setup(struct rcar_du_crtc *rcrtc,
21			     struct vsp1_du_writeback_config *cfg);
22void rcar_du_writeback_complete(struct rcar_du_crtc *rcrtc);
23#else
24static inline int rcar_du_writeback_init(struct rcar_du_device *rcdu,
25					 struct rcar_du_crtc *rcrtc)
26{
27	return -ENXIO;
28}
29static inline void
30rcar_du_writeback_setup(struct rcar_du_crtc *rcrtc,
31			struct vsp1_du_writeback_config *cfg)
32{
33}
34static inline void rcar_du_writeback_complete(struct rcar_du_crtc *rcrtc)
35{
36}
37#endif
38
39#endif /* __RCAR_DU_WRITEBACK_H__ */
40