2019-04-05 11:00:14 +00:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
|
|
|
/*
|
|
|
|
* Copyright © 2019 Intel Corporation
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __INTEL_PANEL_H__
|
|
|
|
#define __INTEL_PANEL_H__
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
|
2021-08-25 11:06:50 +00:00
|
|
|
enum drm_connector_status;
|
2019-04-05 11:00:14 +00:00
|
|
|
struct drm_connector;
|
|
|
|
struct drm_connector_state;
|
|
|
|
struct drm_display_mode;
|
2021-08-25 11:06:50 +00:00
|
|
|
struct drm_i915_private;
|
2019-04-05 11:00:14 +00:00
|
|
|
struct intel_connector;
|
|
|
|
struct intel_crtc_state;
|
|
|
|
struct intel_panel;
|
|
|
|
|
|
|
|
int intel_panel_init(struct intel_panel *panel,
|
|
|
|
struct drm_display_mode *fixed_mode,
|
|
|
|
struct drm_display_mode *downclock_mode);
|
|
|
|
void intel_panel_fini(struct intel_panel *panel);
|
2020-09-10 16:42:56 +00:00
|
|
|
enum drm_connector_status
|
|
|
|
intel_panel_detect(struct drm_connector *connector, bool force);
|
2021-08-18 10:11:08 +00:00
|
|
|
bool intel_panel_use_ssc(struct drm_i915_private *i915);
|
2022-03-11 17:24:18 +00:00
|
|
|
const struct drm_display_mode *
|
2022-03-11 17:24:20 +00:00
|
|
|
intel_panel_preferred_fixed_mode(struct intel_connector *connector);
|
|
|
|
const struct drm_display_mode *
|
2022-03-11 17:24:18 +00:00
|
|
|
intel_panel_fixed_mode(struct intel_connector *connector,
|
|
|
|
const struct drm_display_mode *mode);
|
|
|
|
const struct drm_display_mode *
|
|
|
|
intel_panel_downclock_mode(struct intel_connector *connector,
|
|
|
|
const struct drm_display_mode *adjusted_mode);
|
2022-03-11 17:24:19 +00:00
|
|
|
int intel_panel_get_modes(struct intel_connector *connector);
|
2021-09-23 20:01:04 +00:00
|
|
|
enum drm_mode_status
|
|
|
|
intel_panel_mode_valid(struct intel_connector *connector,
|
|
|
|
const struct drm_display_mode *mode);
|
2021-08-25 11:06:52 +00:00
|
|
|
int intel_panel_fitting(struct intel_crtc_state *crtc_state,
|
|
|
|
const struct drm_connector_state *conn_state);
|
2021-09-27 18:52:07 +00:00
|
|
|
int intel_panel_compute_config(struct intel_connector *connector,
|
|
|
|
struct drm_display_mode *adjusted_mode);
|
2019-04-05 11:00:14 +00:00
|
|
|
struct drm_display_mode *
|
|
|
|
intel_panel_edid_downclock_mode(struct intel_connector *connector,
|
|
|
|
const struct drm_display_mode *fixed_mode);
|
|
|
|
struct drm_display_mode *
|
|
|
|
intel_panel_edid_fixed_mode(struct intel_connector *connector);
|
|
|
|
struct drm_display_mode *
|
|
|
|
intel_panel_vbt_fixed_mode(struct intel_connector *connector);
|
|
|
|
|
|
|
|
#endif /* __INTEL_PANEL_H__ */
|