Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
 1/* SPDX-License-Identifier: GPL-2.0-only */
 2/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
 3 */
 4
 5#ifndef _DPU_HW_MERGE3D_H
 6#define _DPU_HW_MERGE3D_H
 7
 8#include "dpu_hw_catalog.h"
 9#include "dpu_hw_mdss.h"
10#include "dpu_hw_util.h"
11
12struct dpu_hw_merge_3d;
13
14/**
15 *
16 * struct dpu_hw_merge_3d_ops : Interface to the merge_3d Hw driver functions
17 *  Assumption is these functions will be called after clocks are enabled
18 *  @setup_3d_mode : enable 3D merge
19 */
20struct dpu_hw_merge_3d_ops {
21	void (*setup_3d_mode)(struct dpu_hw_merge_3d *merge_3d,
22			enum dpu_3d_blend_mode mode_3d);
23
24};
25
26struct dpu_hw_merge_3d {
27	struct dpu_hw_blk base;
28	struct dpu_hw_blk_reg_map hw;
29
30	/* merge_3d */
31	enum dpu_merge_3d idx;
32	const struct dpu_merge_3d_cfg *caps;
33
34	/* ops */
35	struct dpu_hw_merge_3d_ops ops;
36};
37
38/**
39 * to_dpu_hw_merge_3d - convert base object dpu_hw_base to container
40 * @hw: Pointer to base hardware block
41 * return: Pointer to hardware block container
42 */
43static inline struct dpu_hw_merge_3d *to_dpu_hw_merge_3d(struct dpu_hw_blk *hw)
44{
45	return container_of(hw, struct dpu_hw_merge_3d, base);
46}
47
48struct dpu_hw_merge_3d *dpu_hw_merge_3d_init(struct drm_device *dev,
49					     const struct dpu_merge_3d_cfg *cfg,
50					     void __iomem *addr);
51
52#endif /*_DPU_HW_MERGE3D_H */