#include <linux/kernel.h>
#include <linux/pwm.h>
#include <drm/drm_edid.h>
#include "i915_reg.h"
#include "intel_backlight.h"
#include "intel_connector.h"
#include "intel_de.h"
#include "intel_display_driver.h"
#include "intel_display_types.h"
#include "intel_drrs.h"
#include "intel_lvds_regs.h"
#include "intel_panel.h"
#include "intel_quirks.h"
#include "intel_vrr.h"
bool intel_panel_use_ssc(struct drm_i915_private *i915)
{ … }
const struct drm_display_mode *
intel_panel_preferred_fixed_mode(struct intel_connector *connector)
{ … }
static bool is_best_fixed_mode(struct intel_connector *connector,
int vrefresh, int fixed_mode_vrefresh,
const struct drm_display_mode *best_mode)
{ … }
const struct drm_display_mode *
intel_panel_fixed_mode(struct intel_connector *connector,
const struct drm_display_mode *mode)
{ … }
static bool is_alt_drrs_mode(const struct drm_display_mode *mode,
const struct drm_display_mode *preferred_mode)
{ … }
static bool is_alt_fixed_mode(const struct drm_display_mode *mode,
const struct drm_display_mode *preferred_mode)
{ … }
const struct drm_display_mode *
intel_panel_downclock_mode(struct intel_connector *connector,
const struct drm_display_mode *adjusted_mode)
{ … }
const struct drm_display_mode *
intel_panel_highest_mode(struct intel_connector *connector,
const struct drm_display_mode *adjusted_mode)
{ … }
int intel_panel_get_modes(struct intel_connector *connector)
{ … }
static bool has_drrs_modes(struct intel_connector *connector)
{ … }
enum drrs_type intel_panel_drrs_type(struct intel_connector *connector)
{ … }
int intel_panel_compute_config(struct intel_connector *connector,
struct drm_display_mode *adjusted_mode)
{ … }
static void intel_panel_add_edid_alt_fixed_modes(struct intel_connector *connector)
{ … }
static void intel_panel_add_edid_preferred_mode(struct intel_connector *connector)
{ … }
static void intel_panel_destroy_probed_modes(struct intel_connector *connector)
{ … }
void intel_panel_add_edid_fixed_modes(struct intel_connector *connector,
bool use_alt_fixed_modes)
{ … }
static void intel_panel_add_fixed_mode(struct intel_connector *connector,
struct drm_display_mode *fixed_mode,
const char *type)
{ … }
void intel_panel_add_vbt_lfp_fixed_mode(struct intel_connector *connector)
{ … }
void intel_panel_add_vbt_sdvo_fixed_mode(struct intel_connector *connector)
{ … }
void intel_panel_add_encoder_fixed_mode(struct intel_connector *connector,
struct intel_encoder *encoder)
{ … }
static int pch_panel_fitting(struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state)
{ … }
static void
centre_horizontally(struct drm_display_mode *adjusted_mode,
int width)
{ … }
static void
centre_vertically(struct drm_display_mode *adjusted_mode,
int height)
{ … }
static u32 panel_fitter_scaling(u32 source, u32 target)
{ … }
static void i965_scale_aspect(struct intel_crtc_state *crtc_state,
u32 *pfit_control)
{ … }
static void i9xx_scale_aspect(struct intel_crtc_state *crtc_state,
u32 *pfit_control, u32 *pfit_pgm_ratios,
u32 *border)
{ … }
static int gmch_panel_fitting(struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state)
{ … }
int intel_panel_fitting(struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state)
{ … }
enum drm_connector_status
intel_panel_detect(struct drm_connector *connector, bool force)
{ … }
enum drm_mode_status
intel_panel_mode_valid(struct intel_connector *connector,
const struct drm_display_mode *mode)
{ … }
void intel_panel_init_alloc(struct intel_connector *connector)
{ … }
int intel_panel_init(struct intel_connector *connector,
const struct drm_edid *fixed_edid)
{ … }
void intel_panel_fini(struct intel_connector *connector)
{ … }