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