Apart from the EDID and VBT based mechanism we also sometimes use the encoder's current mode as the panel fixed mode. We currently have the same code for that duplicated in two places. Let's unify. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220323182935.4701-8-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
59 lines
2.1 KiB
C
59 lines
2.1 KiB
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2019 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_PANEL_H__
|
|
#define __INTEL_PANEL_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
enum drm_connector_status;
|
|
enum drrs_type;
|
|
struct drm_connector;
|
|
struct drm_connector_state;
|
|
struct drm_display_mode;
|
|
struct drm_i915_private;
|
|
struct intel_connector;
|
|
struct intel_crtc_state;
|
|
struct intel_encoder;
|
|
|
|
int intel_panel_init(struct intel_connector *connector,
|
|
struct drm_display_mode *fixed_mode,
|
|
struct drm_display_mode *downclock_mode);
|
|
void intel_panel_fini(struct intel_connector *connector);
|
|
enum drm_connector_status
|
|
intel_panel_detect(struct drm_connector *connector, bool force);
|
|
bool intel_panel_use_ssc(struct drm_i915_private *i915);
|
|
const struct drm_display_mode *
|
|
intel_panel_preferred_fixed_mode(struct intel_connector *connector);
|
|
const struct drm_display_mode *
|
|
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);
|
|
int intel_panel_get_modes(struct intel_connector *connector);
|
|
enum drrs_type intel_panel_drrs_type(struct intel_connector *connector);
|
|
enum drm_mode_status
|
|
intel_panel_mode_valid(struct intel_connector *connector,
|
|
const struct drm_display_mode *mode);
|
|
int intel_panel_fitting(struct intel_crtc_state *crtc_state,
|
|
const struct drm_connector_state *conn_state);
|
|
int intel_panel_compute_config(struct intel_connector *connector,
|
|
struct drm_display_mode *adjusted_mode);
|
|
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_lfp_fixed_mode(struct intel_connector *connector);
|
|
struct drm_display_mode *
|
|
intel_panel_vbt_sdvo_fixed_mode(struct intel_connector *connector);
|
|
struct drm_display_mode *
|
|
intel_panel_encoder_fixed_mode(struct intel_connector *connector,
|
|
struct intel_encoder *encoder);
|
|
|
|
#endif /* __INTEL_PANEL_H__ */
|