xref: /linux/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.h (revision a23e1966932464e1c5226cb9ac4ce1d5fc10ba22)
177b001acSAbhinav Kumar /* SPDX-License-Identifier: GPL-2.0-only */
277b001acSAbhinav Kumar /*
377b001acSAbhinav Kumar  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
477b001acSAbhinav Kumar  */
577b001acSAbhinav Kumar 
677b001acSAbhinav Kumar #ifndef _DPU_WRITEBACK_H
777b001acSAbhinav Kumar #define _DPU_WRITEBACK_H
877b001acSAbhinav Kumar 
977b001acSAbhinav Kumar #include <drm/drm_crtc.h>
1077b001acSAbhinav Kumar #include <drm/drm_file.h>
1177b001acSAbhinav Kumar #include <drm/drm_probe_helper.h>
1277b001acSAbhinav Kumar #include <drm/drm_writeback.h>
1377b001acSAbhinav Kumar 
1477b001acSAbhinav Kumar #include "msm_drv.h"
1577b001acSAbhinav Kumar #include "dpu_kms.h"
1677b001acSAbhinav Kumar #include "dpu_encoder_phys.h"
1777b001acSAbhinav Kumar 
1877b001acSAbhinav Kumar struct dpu_wb_connector {
1977b001acSAbhinav Kumar 	struct drm_writeback_connector base;
2077b001acSAbhinav Kumar 	struct drm_encoder *wb_enc;
2171174f36SDmitry Baryshkov 	u32 maxlinewidth;
2277b001acSAbhinav Kumar };
2377b001acSAbhinav Kumar 
to_dpu_wb_conn(struct drm_writeback_connector * conn)2477b001acSAbhinav Kumar static inline struct dpu_wb_connector *to_dpu_wb_conn(struct drm_writeback_connector *conn)
2577b001acSAbhinav Kumar {
2677b001acSAbhinav Kumar 	return container_of(conn, struct dpu_wb_connector, base);
2777b001acSAbhinav Kumar }
2877b001acSAbhinav Kumar 
2977b001acSAbhinav Kumar int dpu_writeback_init(struct drm_device *dev, struct drm_encoder *enc,
3071174f36SDmitry Baryshkov 		const u32 *format_list, u32 num_formats, u32 maxlinewidth);
3177b001acSAbhinav Kumar 
3277b001acSAbhinav Kumar #endif /*_DPU_WRITEBACK_H */
33