2019-04-29 15:29:32 +03:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
|
|
|
/*
|
|
|
|
* Copyright © 2019 Intel Corporation
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __INTEL_VDSC_H__
|
|
|
|
#define __INTEL_VDSC_H__
|
|
|
|
|
2019-12-10 12:50:51 +02:00
|
|
|
#include <linux/types.h>
|
|
|
|
|
2024-08-05 18:07:55 +03:00
|
|
|
struct drm_printer;
|
|
|
|
|
2021-09-13 17:44:31 +03:00
|
|
|
enum transcoder;
|
|
|
|
struct intel_crtc;
|
2019-04-29 15:29:32 +03:00
|
|
|
struct intel_crtc_state;
|
2021-09-13 17:44:31 +03:00
|
|
|
struct intel_encoder;
|
2019-04-29 15:29:32 +03:00
|
|
|
|
2020-11-17 11:47:07 -08:00
|
|
|
bool intel_dsc_source_support(const struct intel_crtc_state *crtc_state);
|
2021-05-14 08:37:07 -07:00
|
|
|
void intel_uncompressed_joiner_enable(const struct intel_crtc_state *crtc_state);
|
2021-10-22 13:33:01 +03:00
|
|
|
void intel_dsc_enable(const struct intel_crtc_state *crtc_state);
|
2019-04-29 15:29:32 +03:00
|
|
|
void intel_dsc_disable(const struct intel_crtc_state *crtc_state);
|
2021-10-22 13:33:01 +03:00
|
|
|
int intel_dsc_compute_params(struct intel_crtc_state *pipe_config);
|
2020-11-17 11:47:07 -08:00
|
|
|
void intel_dsc_get_config(struct intel_crtc_state *crtc_state);
|
2019-04-29 15:29:32 +03:00
|
|
|
enum intel_display_power_domain
|
2021-09-13 17:44:31 +03:00
|
|
|
intel_dsc_power_domain(struct intel_crtc *crtc, enum transcoder cpu_transcoder);
|
2021-06-10 12:05:28 +03:00
|
|
|
struct intel_crtc *intel_dsc_get_bigjoiner_secondary(const struct intel_crtc *primary_crtc);
|
2023-07-04 16:17:57 +03:00
|
|
|
int intel_dsc_get_num_vdsc_instances(const struct intel_crtc_state *crtc_state);
|
2021-10-22 13:33:01 +03:00
|
|
|
void intel_dsc_dsi_pps_write(struct intel_encoder *encoder,
|
|
|
|
const struct intel_crtc_state *crtc_state);
|
|
|
|
void intel_dsc_dp_pps_write(struct intel_encoder *encoder,
|
|
|
|
const struct intel_crtc_state *crtc_state);
|
2024-08-05 18:07:55 +03:00
|
|
|
void intel_vdsc_state_dump(struct drm_printer *p, int indent,
|
|
|
|
const struct intel_crtc_state *crtc_state);
|
2024-10-29 23:52:16 +02:00
|
|
|
int intel_vdsc_min_cdclk(const struct intel_crtc_state *crtc_state);
|
2019-04-29 15:29:32 +03:00
|
|
|
|
|
|
|
#endif /* __INTEL_VDSC_H__ */
|