Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright (c) 2015 MediaTek Inc.
0004  */
0005 
0006 #ifndef MTK_DRM_DRV_H
0007 #define MTK_DRM_DRV_H
0008 
0009 #include <linux/io.h>
0010 #include "mtk_drm_ddp_comp.h"
0011 
0012 #define MAX_CRTC    3
0013 #define MAX_CONNECTOR   2
0014 
0015 struct device;
0016 struct device_node;
0017 struct drm_crtc;
0018 struct drm_device;
0019 struct drm_fb_helper;
0020 struct drm_property;
0021 struct regmap;
0022 
0023 struct mtk_mmsys_driver_data {
0024     const resource_size_t io_start;
0025     const enum mtk_ddp_comp_id *main_path;
0026     unsigned int main_len;
0027     const enum mtk_ddp_comp_id *ext_path;
0028     unsigned int ext_len;
0029     const enum mtk_ddp_comp_id *third_path;
0030     unsigned int third_len;
0031 
0032     bool shadow_register;
0033 };
0034 
0035 struct mtk_mmsys_match_data {
0036     unsigned short num_drv_data;
0037     const struct mtk_mmsys_driver_data *drv_data[];
0038 };
0039 
0040 struct mtk_drm_private {
0041     struct drm_device *drm;
0042     struct device *dma_dev;
0043 
0044     unsigned int num_pipes;
0045 
0046     struct device_node *mutex_node;
0047     struct device *mutex_dev;
0048     struct device *mmsys_dev;
0049     struct device_node *comp_node[DDP_COMPONENT_ID_MAX];
0050     struct mtk_ddp_comp ddp_comp[DDP_COMPONENT_ID_MAX];
0051     const struct mtk_mmsys_driver_data *data;
0052     struct drm_atomic_state *suspend_state;
0053 };
0054 
0055 extern struct platform_driver mtk_disp_aal_driver;
0056 extern struct platform_driver mtk_disp_ccorr_driver;
0057 extern struct platform_driver mtk_disp_color_driver;
0058 extern struct platform_driver mtk_disp_gamma_driver;
0059 extern struct platform_driver mtk_disp_merge_driver;
0060 extern struct platform_driver mtk_disp_ovl_driver;
0061 extern struct platform_driver mtk_disp_rdma_driver;
0062 extern struct platform_driver mtk_dpi_driver;
0063 extern struct platform_driver mtk_dsi_driver;
0064 extern struct platform_driver mtk_mdp_rdma_driver;
0065 
0066 #endif /* MTK_DRM_DRV_H */