linux/drivers/media/platform/mtk-mdp/mtk_mdp_comp.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Copyright (c) 2016 MediaTek Inc.
   4 * Author: Ming Hsiu Tsai <minghsiu.tsai@mediatek.com>
   5 */
   6
   7#ifndef __MTK_MDP_COMP_H__
   8#define __MTK_MDP_COMP_H__
   9
  10/**
  11 * enum mtk_mdp_comp_type - the MDP component
  12 * @MTK_MDP_RDMA:       Read DMA
  13 * @MTK_MDP_RSZ:        Riszer
  14 * @MTK_MDP_WDMA:       Write DMA
  15 * @MTK_MDP_WROT:       Write DMA with rotation
  16 */
  17enum mtk_mdp_comp_type {
  18        MTK_MDP_RDMA,
  19        MTK_MDP_RSZ,
  20        MTK_MDP_WDMA,
  21        MTK_MDP_WROT,
  22};
  23
  24/**
  25 * struct mtk_mdp_comp - the MDP's function component data
  26 * @node:       list node to track sibing MDP components
  27 * @dev_node:   component device node
  28 * @clk:        clocks required for component
  29 * @larb_dev:   SMI device required for component
  30 * @type:       component type
  31 */
  32struct mtk_mdp_comp {
  33        struct list_head        node;
  34        struct device_node      *dev_node;
  35        struct clk              *clk[2];
  36        struct device           *larb_dev;
  37        enum mtk_mdp_comp_type  type;
  38};
  39
  40int mtk_mdp_comp_init(struct device *dev, struct device_node *node,
  41                      struct mtk_mdp_comp *comp,
  42                      enum mtk_mdp_comp_type comp_type);
  43void mtk_mdp_comp_deinit(struct device *dev, struct mtk_mdp_comp *comp);
  44void mtk_mdp_comp_clock_on(struct device *dev, struct mtk_mdp_comp *comp);
  45void mtk_mdp_comp_clock_off(struct device *dev, struct mtk_mdp_comp *comp);
  46
  47
  48#endif /* __MTK_MDP_COMP_H__ */
  49