linux/drivers/gpu/drm/mediatek/mtk_drm_drv.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Copyright (c) 2015 MediaTek Inc.
   4 */
   5
   6#ifndef MTK_DRM_DRV_H
   7#define MTK_DRM_DRV_H
   8
   9#include <linux/io.h>
  10#include "mtk_drm_ddp_comp.h"
  11
  12#define MAX_CRTC        3
  13#define MAX_CONNECTOR   2
  14
  15struct device;
  16struct device_node;
  17struct drm_crtc;
  18struct drm_device;
  19struct drm_fb_helper;
  20struct drm_property;
  21struct regmap;
  22
  23struct mtk_mmsys_driver_data {
  24        const enum mtk_ddp_comp_id *main_path;
  25        unsigned int main_len;
  26        const enum mtk_ddp_comp_id *ext_path;
  27        unsigned int ext_len;
  28        const enum mtk_ddp_comp_id *third_path;
  29        unsigned int third_len;
  30
  31        bool shadow_register;
  32};
  33
  34struct mtk_drm_private {
  35        struct drm_device *drm;
  36        struct device *dma_dev;
  37
  38        unsigned int num_pipes;
  39
  40        struct device_node *mutex_node;
  41        struct device *mutex_dev;
  42        struct device *mmsys_dev;
  43        struct device_node *comp_node[DDP_COMPONENT_ID_MAX];
  44        struct mtk_ddp_comp ddp_comp[DDP_COMPONENT_ID_MAX];
  45        const struct mtk_mmsys_driver_data *data;
  46        struct drm_atomic_state *suspend_state;
  47};
  48
  49extern struct platform_driver mtk_disp_aal_driver;
  50extern struct platform_driver mtk_disp_ccorr_driver;
  51extern struct platform_driver mtk_disp_color_driver;
  52extern struct platform_driver mtk_disp_gamma_driver;
  53extern struct platform_driver mtk_disp_ovl_driver;
  54extern struct platform_driver mtk_disp_rdma_driver;
  55extern struct platform_driver mtk_dpi_driver;
  56extern struct platform_driver mtk_dsi_driver;
  57
  58#endif /* MTK_DRM_DRV_H */
  59