17f4dd379Sjsg /* Public domain. */ 27f4dd379Sjsg 3*c349dbc7Sjsg #ifndef _DRM_WRITEBACK_H 4*c349dbc7Sjsg #define _DRM_WRITEBACK_H 57f4dd379Sjsg 67f4dd379Sjsg #include <drm/drm_connector.h> 77f4dd379Sjsg 87f4dd379Sjsg struct drm_writeback_connector { 97f4dd379Sjsg struct drm_connector base; 107f4dd379Sjsg }; 117f4dd379Sjsg 127f4dd379Sjsg struct drm_writeback_job { 137f4dd379Sjsg struct dma_fence *out_fence; 147f4dd379Sjsg struct drm_framebuffer *fb; 157f4dd379Sjsg }; 167f4dd379Sjsg 177f4dd379Sjsg static inline struct drm_writeback_connector * drm_connector_to_writeback(struct drm_connector * connector)187f4dd379Sjsgdrm_connector_to_writeback(struct drm_connector *connector) 197f4dd379Sjsg { 207f4dd379Sjsg return container_of(connector, struct drm_writeback_connector, base); 217f4dd379Sjsg } 227f4dd379Sjsg 237f4dd379Sjsg static inline struct dma_fence * drm_writeback_get_out_fence(struct drm_writeback_connector * connector)247f4dd379Sjsgdrm_writeback_get_out_fence(struct drm_writeback_connector *connector) 257f4dd379Sjsg { 267f4dd379Sjsg return NULL; 277f4dd379Sjsg } 287f4dd379Sjsg 29*c349dbc7Sjsg static inline void drm_writeback_cleanup_job(struct drm_writeback_job * j)30*c349dbc7Sjsgdrm_writeback_cleanup_job(struct drm_writeback_job *j) 31*c349dbc7Sjsg { 32*c349dbc7Sjsg } 33*c349dbc7Sjsg 34*c349dbc7Sjsg static inline int drm_writeback_prepare_job(struct drm_writeback_job * j)35*c349dbc7Sjsgdrm_writeback_prepare_job(struct drm_writeback_job *j) 36*c349dbc7Sjsg { 37*c349dbc7Sjsg return 0; 38*c349dbc7Sjsg } 39*c349dbc7Sjsg 40*c349dbc7Sjsg static inline int drm_writeback_set_fb(struct drm_connector_state * cs,struct drm_framebuffer * fb)41*c349dbc7Sjsgdrm_writeback_set_fb(struct drm_connector_state *cs, struct drm_framebuffer *fb) 42*c349dbc7Sjsg { 43*c349dbc7Sjsg return 0; 44*c349dbc7Sjsg } 45*c349dbc7Sjsg 467f4dd379Sjsg #endif 47