brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · 2133984 Raw
74 lines · c
1/* SPDX-License-Identifier: MIT */2/*3 * Copyright © 2020 Intel Corporation4 */5 6#ifndef _INTEL_DDI_BUF_TRANS_H_7#define _INTEL_DDI_BUF_TRANS_H_8 9#include <linux/types.h>10 11struct drm_i915_private;12struct intel_encoder;13struct intel_crtc_state;14 15struct hsw_ddi_buf_trans {16	u32 trans1;	/* balance leg enable, de-emph level */17	u32 trans2;	/* vref sel, vswing */18	u8 i_boost;	/* SKL: I_boost; valid: 0x0, 0x1, 0x3, 0x7 */19};20 21struct bxt_ddi_buf_trans {22	u8 margin;	/* swing value */23	u8 scale;	/* scale value */24	u8 enable;	/* scale enable */25	u8 deemphasis;26};27 28struct icl_ddi_buf_trans {29	u8 dw2_swing_sel;30	u8 dw7_n_scalar;31	u8 dw4_cursor_coeff;32	u8 dw4_post_cursor_2;33	u8 dw4_post_cursor_1;34};35 36struct icl_mg_phy_ddi_buf_trans {37	u8 cri_txdeemph_override_11_6;38	u8 cri_txdeemph_override_5_0;39	u8 cri_txdeemph_override_17_12;40};41 42struct tgl_dkl_phy_ddi_buf_trans {43	u8 vswing;44	u8 preshoot;45	u8 de_emphasis;46};47 48struct dg2_snps_phy_buf_trans {49	u8 vswing;50	u8 pre_cursor;51	u8 post_cursor;52};53 54union intel_ddi_buf_trans_entry {55	struct hsw_ddi_buf_trans hsw;56	struct bxt_ddi_buf_trans bxt;57	struct icl_ddi_buf_trans icl;58	struct icl_mg_phy_ddi_buf_trans mg;59	struct tgl_dkl_phy_ddi_buf_trans dkl;60	struct dg2_snps_phy_buf_trans snps;61};62 63struct intel_ddi_buf_trans {64	const union intel_ddi_buf_trans_entry *entries;65	u8 num_entries;66	u8 hdmi_default_entry;67};68 69bool is_hobl_buf_trans(const struct intel_ddi_buf_trans *table);70 71void intel_ddi_buf_trans_init(struct intel_encoder *encoder);72 73#endif74