File Index
Files and directories
Sign in
FILE

dpu_hw_merge3d.h

File preview with syntax highlighting.

linux-6.19.14/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_merge3d.h C
 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 * struct dpu_hw_merge_3d_ops : Interface to the merge_3d Hw driver functions
16 *  Assumption is these functions will be called after clocks are enabled
17 *  @setup_3d_mode : enable 3D merge
18 */
19struct dpu_hw_merge_3d_ops {
20	void (*setup_3d_mode)(struct dpu_hw_merge_3d *merge_3d,
21			enum dpu_3d_blend_mode mode_3d);
22
23};
24
25struct dpu_hw_merge_3d {
26	struct dpu_hw_blk base;
27	struct dpu_hw_blk_reg_map hw;
28
29	/* merge_3d */
30	enum dpu_merge_3d idx;
31	const struct dpu_merge_3d_cfg *caps;
32
33	/* ops */
34	struct dpu_hw_merge_3d_ops ops;
35};
36
37/**
38 * to_dpu_hw_merge_3d - convert base object dpu_hw_base to container
39 * @hw: Pointer to base hardware block
40 * return: Pointer to hardware block container
41 */
42static inline struct dpu_hw_merge_3d *to_dpu_hw_merge_3d(struct dpu_hw_blk *hw)
43{
44	return container_of(hw, struct dpu_hw_merge_3d, base);
45}
46
47struct dpu_hw_merge_3d *dpu_hw_merge_3d_init(struct drm_device *dev,
48					     const struct dpu_merge_3d_cfg *cfg,
49					     void __iomem *addr);
50
51#endif /*_DPU_HW_MERGE3D_H */
~/ Read-only file preview.