/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ /* * Copyright (c) 2019 Amlogic, Inc. All rights reserved. */ #ifndef __MESON_WRITEBACK_H__ #define __MESON_WRITEBACK_H__ #include "meson_drv.h" #include #include #include struct am_drm_writeback { struct meson_connector base; struct drm_writeback_connector wb_connector; struct drm_device drm_dev; struct drm_framebuffer *fb; struct workqueue_struct *writeback_wq; struct work_struct writeback_work; /*capture port prop*/ struct drm_property *capture_port_prop; u32 capture_port; u32 hdisplay; u32 vdisplay; }; struct am_drm_writeback_state { struct drm_connector_state base; u32 capture_port; }; #define to_am_writeback_state(x) \ container_of(x, struct am_drm_writeback_state, base) #define connector_to_wb_connector(x) \ container_of((x), struct drm_writeback_connector, base) #define connector_to_am_writeback(x) \ container_of(connector_to_wb_connector(x), \ struct am_drm_writeback, wb_connector) int am_meson_writeback_create(struct drm_device *drm); #endif