| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (C) 2012 Texas Instruments |
|---|
| 3 | 4 | * Author: Rob Clark <robdclark@gmail.com> |
|---|
| 4 | | - * |
|---|
| 5 | | - * This program is free software; you can redistribute it and/or modify it |
|---|
| 6 | | - * under the terms of the GNU General Public License version 2 as published by |
|---|
| 7 | | - * the Free Software Foundation. |
|---|
| 8 | | - * |
|---|
| 9 | | - * This program is distributed in the hope that it will be useful, but WITHOUT |
|---|
| 10 | | - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|---|
| 11 | | - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
|---|
| 12 | | - * more details. |
|---|
| 13 | | - * |
|---|
| 14 | | - * You should have received a copy of the GNU General Public License along with |
|---|
| 15 | | - * this program. If not, see <http://www.gnu.org/licenses/>. |
|---|
| 16 | 5 | */ |
|---|
| 17 | 6 | |
|---|
| 18 | 7 | #ifndef __TILCDC_DRV_H__ |
|---|
| 19 | 8 | #define __TILCDC_DRV_H__ |
|---|
| 20 | 9 | |
|---|
| 21 | | -#include <linux/clk.h> |
|---|
| 22 | 10 | #include <linux/cpufreq.h> |
|---|
| 23 | | -#include <linux/module.h> |
|---|
| 24 | | -#include <linux/platform_device.h> |
|---|
| 25 | | -#include <linux/pm.h> |
|---|
| 26 | | -#include <linux/pm_runtime.h> |
|---|
| 27 | | -#include <linux/slab.h> |
|---|
| 28 | | -#include <linux/of.h> |
|---|
| 29 | | -#include <linux/of_device.h> |
|---|
| 30 | | -#include <linux/list.h> |
|---|
| 11 | +#include <linux/irqreturn.h> |
|---|
| 31 | 12 | |
|---|
| 32 | | -#include <drm/drmP.h> |
|---|
| 33 | | -#include <drm/drm_crtc_helper.h> |
|---|
| 34 | | -#include <drm/drm_gem_cma_helper.h> |
|---|
| 35 | | -#include <drm/drm_fb_cma_helper.h> |
|---|
| 36 | | -#include <drm/drm_bridge.h> |
|---|
| 13 | +#include <drm/drm_print.h> |
|---|
| 14 | + |
|---|
| 15 | +struct clk; |
|---|
| 16 | +struct workqueue_struct; |
|---|
| 17 | + |
|---|
| 18 | +struct drm_connector; |
|---|
| 19 | +struct drm_connector_helper_funcs; |
|---|
| 20 | +struct drm_crtc; |
|---|
| 21 | +struct drm_device; |
|---|
| 22 | +struct drm_display_mode; |
|---|
| 23 | +struct drm_encoder; |
|---|
| 24 | +struct drm_framebuffer; |
|---|
| 25 | +struct drm_minor; |
|---|
| 26 | +struct drm_pending_vblank_event; |
|---|
| 27 | +struct drm_plane; |
|---|
| 37 | 28 | |
|---|
| 38 | 29 | /* Defaulting to pixel clock defined on AM335x */ |
|---|
| 39 | 30 | #define TILCDC_DEFAULT_MAX_PIXELCLOCK 126000 |
|---|
| .. | .. |
|---|
| 70 | 61 | const uint32_t *pixelformats; |
|---|
| 71 | 62 | uint32_t num_pixelformats; |
|---|
| 72 | 63 | |
|---|
| 73 | | - /* The context for pm susped/resume cycle is stored here */ |
|---|
| 74 | | - struct drm_atomic_state *saved_state; |
|---|
| 75 | | - |
|---|
| 76 | 64 | #ifdef CONFIG_CPU_FREQ |
|---|
| 77 | 65 | struct notifier_block freq_transition; |
|---|
| 78 | 66 | #endif |
|---|
| .. | .. |
|---|
| 89 | 77 | |
|---|
| 90 | 78 | struct drm_encoder *external_encoder; |
|---|
| 91 | 79 | struct drm_connector *external_connector; |
|---|
| 92 | | - const struct drm_connector_helper_funcs *connector_funcs; |
|---|
| 93 | 80 | |
|---|
| 94 | 81 | bool is_registered; |
|---|
| 95 | 82 | bool is_componentized; |
|---|
| .. | .. |
|---|
| 171 | 158 | const struct tilcdc_panel_info *info); |
|---|
| 172 | 159 | void tilcdc_crtc_set_simulate_vesa_sync(struct drm_crtc *crtc, |
|---|
| 173 | 160 | bool simulate_vesa_sync); |
|---|
| 174 | | -int tilcdc_crtc_mode_valid(struct drm_crtc *crtc, struct drm_display_mode *mode); |
|---|
| 175 | 161 | int tilcdc_crtc_max_width(struct drm_crtc *crtc); |
|---|
| 176 | 162 | void tilcdc_crtc_shutdown(struct drm_crtc *crtc); |
|---|
| 177 | 163 | int tilcdc_crtc_update_fb(struct drm_crtc *crtc, |
|---|