/linux-6.1.9/drivers/gpu/drm/tegra/ |
D | mipi-phy.c | 16 int mipi_dphy_timing_get_default(struct mipi_dphy_timing *timing, in mipi_dphy_timing_get_default() argument 19 timing->clkmiss = 0; in mipi_dphy_timing_get_default() 20 timing->clkpost = 70 + 52 * period; in mipi_dphy_timing_get_default() 21 timing->clkpre = 8; in mipi_dphy_timing_get_default() 22 timing->clkprepare = 65; in mipi_dphy_timing_get_default() 23 timing->clksettle = 95; in mipi_dphy_timing_get_default() 24 timing->clktermen = 0; in mipi_dphy_timing_get_default() 25 timing->clktrail = 80; in mipi_dphy_timing_get_default() 26 timing->clkzero = 260; in mipi_dphy_timing_get_default() 27 timing->dtermen = 0; in mipi_dphy_timing_get_default() [all …]
|
/linux-6.1.9/drivers/gpu/drm/msm/dsi/phy/ |
D | dsi_phy.c | 28 static void dsi_dphy_timing_calc_clk_zero(struct msm_dsi_dphy_timing *timing, in dsi_dphy_timing_calc_clk_zero() argument 35 temp = 300 * coeff - ((timing->clk_prepare >> 1) + 1) * 2 * ui; in dsi_dphy_timing_calc_clk_zero() 46 temp = (timing->hs_rqst + timing->clk_prepare + clk_z) & 0x7; in dsi_dphy_timing_calc_clk_zero() 47 timing->clk_zero = clk_z + 8 - temp; in dsi_dphy_timing_calc_clk_zero() 50 int msm_dsi_dphy_timing_calc(struct msm_dsi_dphy_timing *timing, in msm_dsi_dphy_timing_calc() argument 72 timing->clk_prepare = linear_inter(tmax, tmin, pcnt0, 0, true); in msm_dsi_dphy_timing_calc() 76 timing->hs_rqst = temp; in msm_dsi_dphy_timing_calc() 78 timing->hs_rqst = max_t(s32, 0, temp - 2); in msm_dsi_dphy_timing_calc() 81 dsi_dphy_timing_calc_clk_zero(timing, ui, coeff, pcnt2); in msm_dsi_dphy_timing_calc() 86 timing->clk_trail = linear_inter(tmax, tmin, pcnt3, 0, true); in msm_dsi_dphy_timing_calc() [all …]
|
D | dsi_phy_20nm.c | 11 struct msm_dsi_dphy_timing *timing) in dsi_20nm_dphy_set_timing() argument 16 DSI_20nm_PHY_TIMING_CTRL_0_CLK_ZERO(timing->clk_zero)); in dsi_20nm_dphy_set_timing() 18 DSI_20nm_PHY_TIMING_CTRL_1_CLK_TRAIL(timing->clk_trail)); in dsi_20nm_dphy_set_timing() 20 DSI_20nm_PHY_TIMING_CTRL_2_CLK_PREPARE(timing->clk_prepare)); in dsi_20nm_dphy_set_timing() 21 if (timing->clk_zero & BIT(8)) in dsi_20nm_dphy_set_timing() 25 DSI_20nm_PHY_TIMING_CTRL_4_HS_EXIT(timing->hs_exit)); in dsi_20nm_dphy_set_timing() 27 DSI_20nm_PHY_TIMING_CTRL_5_HS_ZERO(timing->hs_zero)); in dsi_20nm_dphy_set_timing() 29 DSI_20nm_PHY_TIMING_CTRL_6_HS_PREPARE(timing->hs_prepare)); in dsi_20nm_dphy_set_timing() 31 DSI_20nm_PHY_TIMING_CTRL_7_HS_TRAIL(timing->hs_trail)); in dsi_20nm_dphy_set_timing() 33 DSI_20nm_PHY_TIMING_CTRL_8_HS_RQST(timing->hs_rqst)); in dsi_20nm_dphy_set_timing() [all …]
|
/linux-6.1.9/drivers/clk/tegra/ |
D | clk-tegra124-emc.c | 120 struct emc_timing *timing = NULL; in emc_determine_rate() local 136 timing = tegra->timings + i; in emc_determine_rate() 138 if (timing->rate < req->rate && i != t - 1) in emc_determine_rate() 141 if (timing->rate > req->max_rate) { in emc_determine_rate() 147 if (timing->rate < req->min_rate) in emc_determine_rate() 150 req->rate = timing->rate; in emc_determine_rate() 154 if (timing) { in emc_determine_rate() 155 req->rate = timing->rate; in emc_determine_rate() 210 struct emc_timing *timing) in emc_set_timing() argument 221 pr_debug("going to rate %ld prate %ld p %s\n", timing->rate, in emc_set_timing() [all …]
|
/linux-6.1.9/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
D | timing.c | 33 u32 timing = 0; in nvbios_timingTe() local 37 timing = nvbios_rd32(bios, bit_P.offset + 4); in nvbios_timingTe() 40 timing = nvbios_rd32(bios, bit_P.offset + 8); in nvbios_timingTe() 42 if (timing) { in nvbios_timingTe() 43 *ver = nvbios_rd08(bios, timing + 0); in nvbios_timingTe() 46 *hdr = nvbios_rd08(bios, timing + 1); in nvbios_timingTe() 47 *cnt = nvbios_rd08(bios, timing + 2); in nvbios_timingTe() 48 *len = nvbios_rd08(bios, timing + 3); in nvbios_timingTe() 51 return timing; in nvbios_timingTe() 53 *hdr = nvbios_rd08(bios, timing + 1); in nvbios_timingTe() [all …]
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn201/ |
D | dcn201_optc.c | 42 bool optc201_is_two_pixels_per_containter(const struct dc_crtc_timing *timing) in optc201_is_two_pixels_per_containter() argument 44 return optc1_is_two_pixels_per_containter(timing); in optc201_is_two_pixels_per_containter() 77 const struct dc_crtc_timing *timing) in optc201_validate_timing() argument 84 ASSERT(timing != NULL); in optc201_validate_timing() 86 v_blank = (timing->v_total - timing->v_addressable - in optc201_validate_timing() 87 timing->v_border_top - timing->v_border_bottom); in optc201_validate_timing() 89 h_blank = (timing->h_total - timing->h_addressable - in optc201_validate_timing() 90 timing->h_border_right - in optc201_validate_timing() 91 timing->h_border_left); in optc201_validate_timing() 93 if (timing->timing_3d_format != TIMING_3D_FORMAT_NONE && in optc201_validate_timing() [all …]
|
/linux-6.1.9/drivers/gpu/drm/msm/disp/dpu1/ |
D | dpu_encoder_phys_vid.c | 43 struct intf_timing_params *timing) in drm_mode_to_intf_timing_params() argument 45 memset(timing, 0, sizeof(*timing)); in drm_mode_to_intf_timing_params() 72 timing->width = mode->hdisplay; /* active width */ in drm_mode_to_intf_timing_params() 73 timing->height = mode->vdisplay; /* active height */ in drm_mode_to_intf_timing_params() 74 timing->xres = timing->width; in drm_mode_to_intf_timing_params() 75 timing->yres = timing->height; in drm_mode_to_intf_timing_params() 76 timing->h_back_porch = mode->htotal - mode->hsync_end; in drm_mode_to_intf_timing_params() 77 timing->h_front_porch = mode->hsync_start - mode->hdisplay; in drm_mode_to_intf_timing_params() 78 timing->v_back_porch = mode->vtotal - mode->vsync_end; in drm_mode_to_intf_timing_params() 79 timing->v_front_porch = mode->vsync_start - mode->vdisplay; in drm_mode_to_intf_timing_params() [all …]
|
/linux-6.1.9/drivers/video/fbdev/ |
D | gbefb.c | 37 struct gbe_timing_info timing; member 410 static void gbefb_setup_flatpanel(struct gbe_timing_info *timing) in gbefb_setup_flatpanel() argument 416 (timing->flags & FB_SYNC_HOR_HIGH_ACT) ? 0 : 1); in gbefb_setup_flatpanel() 418 (timing->flags & FB_SYNC_VERT_HIGH_ACT) ? 0 : 1); in gbefb_setup_flatpanel() 426 timing->pll_m = 4; in gbefb_setup_flatpanel() 427 timing->pll_n = 1; in gbefb_setup_flatpanel() 428 timing->pll_p = 0; in gbefb_setup_flatpanel() 455 struct gbe_timing_info *timing) in compute_gbe_timing() argument 503 if (timing) { in compute_gbe_timing() 504 timing->width = var->xres; in compute_gbe_timing() [all …]
|
/linux-6.1.9/drivers/video/fbdev/via/ |
D | via_modesetting.c | 18 void via_set_primary_timing(const struct via_display_timing *timing) in via_set_primary_timing() argument 22 raw.hor_total = timing->hor_total / 8 - 5; in via_set_primary_timing() 23 raw.hor_addr = timing->hor_addr / 8 - 1; in via_set_primary_timing() 24 raw.hor_blank_start = timing->hor_blank_start / 8 - 1; in via_set_primary_timing() 25 raw.hor_blank_end = timing->hor_blank_end / 8 - 1; in via_set_primary_timing() 26 raw.hor_sync_start = timing->hor_sync_start / 8; in via_set_primary_timing() 27 raw.hor_sync_end = timing->hor_sync_end / 8; in via_set_primary_timing() 28 raw.ver_total = timing->ver_total - 2; in via_set_primary_timing() 29 raw.ver_addr = timing->ver_addr - 1; in via_set_primary_timing() 30 raw.ver_blank_start = timing->ver_blank_start - 1; in via_set_primary_timing() [all …]
|
/linux-6.1.9/drivers/gpu/drm/sti/ |
D | sti_awg_utils.c | 122 struct awg_timing *timing) in awg_generate_line_signal() argument 127 if (timing->trailing_pixels > 0) { in awg_generate_line_signal() 129 val = timing->blanking_level; in awg_generate_line_signal() 132 val = timing->trailing_pixels - 1 + AWG_DELAY; in awg_generate_line_signal() 137 val = timing->blanking_level; in awg_generate_line_signal() 138 ret |= awg_generate_instr((timing->trailing_pixels > 0) ? SET : RPLSET, in awg_generate_line_signal() 141 if (timing->blanking_pixels > 0) { in awg_generate_line_signal() 143 val = timing->active_pixels - 1; in awg_generate_line_signal() 147 val = timing->blanking_level; in awg_generate_line_signal() 156 struct awg_timing *timing) in sti_awg_generate_code_data_enable_mode() argument [all …]
|
/linux-6.1.9/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ |
D | ramnv50.c | 73 nv50_ram_timing_calc(struct nv50_ram *ram, u32 *timing) in nv50_ram_timing_calc() argument 98 timing[6] = (0x2d + T(CL) - T(CWL) + in nv50_ram_timing_calc() 104 timing[6] = (0x2b + T(CL) - T(CWL)) << 16 | in nv50_ram_timing_calc() 109 timing[0] = (T(RP) << 24 | T(RAS) << 16 | T(RFC) << 8 | T(RC)); in nv50_ram_timing_calc() 110 timing[1] = (T(WR) + 1 + T(CWL)) << 24 | in nv50_ram_timing_calc() 114 timing[2] = (T(CWL) - 1) << 24 | in nv50_ram_timing_calc() 118 timing[3] = (unkt3b - 2 + T(CL)) << 24 | in nv50_ram_timing_calc() 122 timing[4] = (cur4 & 0xffff0000) | in nv50_ram_timing_calc() 125 timing[5] = T(RFC) << 24 | in nv50_ram_timing_calc() 129 timing[7] = (cur7 & 0xff00ffff) | (T(CL) - 1) << 16; in nv50_ram_timing_calc() [all …]
|
/linux-6.1.9/drivers/media/i2c/ |
D | bt819.c | 60 struct timing { struct 70 static struct timing timing_data[] = { argument 175 struct timing *timing = &timing_data[(decoder->norm & V4L2_STD_525_60) ? 1 : 0]; in bt819_init() local 178 (((timing->vdelay >> 8) & 0x03) << 6) | in bt819_init() 179 (((timing->vactive >> 8) & 0x03) << 4) | in bt819_init() 180 (((timing->hdelay >> 8) & 0x03) << 2) | in bt819_init() 181 ((timing->hactive >> 8) & 0x03); in bt819_init() 182 init[0x04 * 2 - 1] = timing->vdelay & 0xff; in bt819_init() 183 init[0x05 * 2 - 1] = timing->vactive & 0xff; in bt819_init() 184 init[0x06 * 2 - 1] = timing->hdelay & 0xff; in bt819_init() [all …]
|
/linux-6.1.9/drivers/memory/tegra/ |
D | tegra124-emc.c | 577 struct emc_timing *timing = NULL; in tegra_emc_find_timing() local 582 timing = &emc->timings[i]; in tegra_emc_find_timing() 587 if (!timing) { in tegra_emc_find_timing() 592 return timing; in tegra_emc_find_timing() 598 struct emc_timing *timing = tegra_emc_find_timing(emc, rate); in tegra_emc_prepare_timing_change() local 606 if (!timing) in tegra_emc_prepare_timing_change() 609 if ((last->emc_mode_1 & 0x1) == (timing->emc_mode_1 & 0x1)) in tegra_emc_prepare_timing_change() 611 else if (timing->emc_mode_1 & 0x1) in tegra_emc_prepare_timing_change() 643 if (!(timing->emc_bgbias_ctl0 & in tegra_emc_prepare_timing_change() 663 if (timing->emc_xm2dqspadctrl2 & EMC_XM2DQSPADCTRL2_VREF_ENABLE && in tegra_emc_prepare_timing_change() [all …]
|
D | tegra30-emc.c | 440 struct emc_timing *timing = NULL; in emc_find_timing() local 445 timing = &emc->timings[i]; in emc_find_timing() 450 if (!timing) { in emc_find_timing() 455 return timing; in emc_find_timing() 458 static bool emc_dqs_preset(struct tegra_emc *emc, struct emc_timing *timing, in emc_dqs_preset() argument 464 if (timing->data[71] & EMC_XM2DQSPADCTRL2_VREF_ENABLE) { in emc_dqs_preset() 475 if (timing->data[78] & EMC_XM2DQSPADCTRL3_VREF_ENABLE) { in emc_dqs_preset() 486 if (timing->data[77] & EMC_XM2QUSEPADCTRL_IVREF_ENABLE) { in emc_dqs_preset() 525 struct emc_timing *timing = emc_find_timing(emc, rate); in emc_prepare_timing_change() local 538 if (!timing || emc->bad_state) in emc_prepare_timing_change() [all …]
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dsc/ |
D | dc_dsc.c | 56 const struct dc_crtc_timing *timing, 61 const struct dc_crtc_timing *timing, 81 const struct dc_crtc_timing *timing, 348 const struct dc_crtc_timing *timing, in dc_dsc_compute_bandwidth_range() argument 356 get_dsc_enc_caps(dsc, &dsc_enc_caps, timing->pix_clk_100hz); in dc_dsc_compute_bandwidth_range() 359 timing->pixel_encoding, &dsc_common_caps); in dc_dsc_compute_bandwidth_range() 362 is_dsc_possible = setup_dsc_config(dsc_sink_caps, &dsc_enc_caps, 0, timing, in dc_dsc_compute_bandwidth_range() 367 config.num_slices_h, &dsc_common_caps, timing, range); in dc_dsc_compute_bandwidth_range() 470 const struct dc_crtc_timing *timing, in compute_bpp_x16_from_target_bandwidth() argument 480 timing, num_slices_h, is_dp); in compute_bpp_x16_from_target_bandwidth() [all …]
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dce110/ |
D | dce110_timing_generator_v.c | 243 const struct dc_crtc_timing *timing) in dce110_timing_generator_v_program_blanking() argument 245 uint32_t vsync_offset = timing->v_border_bottom + in dce110_timing_generator_v_program_blanking() 246 timing->v_front_porch; in dce110_timing_generator_v_program_blanking() 247 uint32_t v_sync_start = timing->v_addressable + vsync_offset; in dce110_timing_generator_v_program_blanking() 249 uint32_t hsync_offset = timing->h_border_right + in dce110_timing_generator_v_program_blanking() 250 timing->h_front_porch; in dce110_timing_generator_v_program_blanking() 251 uint32_t h_sync_start = timing->h_addressable + hsync_offset; in dce110_timing_generator_v_program_blanking() 262 timing->h_total - 1, in dce110_timing_generator_v_program_blanking() 271 timing->v_total - 1, in dce110_timing_generator_v_program_blanking() 279 tmp = timing->h_total - in dce110_timing_generator_v_program_blanking() [all …]
|
D | dce110_timing_generator.c | 67 struct dc_crtc_timing *timing) in dce110_timing_generator_apply_front_porch_workaround() argument 69 if (timing->flags.INTERLACE == 1) { in dce110_timing_generator_apply_front_porch_workaround() 70 if (timing->v_front_porch < 2) in dce110_timing_generator_apply_front_porch_workaround() 71 timing->v_front_porch = 2; in dce110_timing_generator_apply_front_porch_workaround() 73 if (timing->v_front_porch < 1) in dce110_timing_generator_apply_front_porch_workaround() 74 timing->v_front_porch = 1; in dce110_timing_generator_apply_front_porch_workaround() 256 const struct dc_crtc_timing *timing) in program_horz_count_by_2() argument 267 if (timing->flags.HORZ_COUNT_BY_TWO) in program_horz_count_by_2() 602 const struct dc_crtc_timing *timing) in dce110_timing_generator_program_blanking() argument 604 uint32_t vsync_offset = timing->v_border_bottom + in dce110_timing_generator_program_blanking() [all …]
|
/linux-6.1.9/drivers/ata/ |
D | pata_triflex.c | 76 u32 timing = 0; in triflex_load_timing() local 88 timing = 0x0103;break; in triflex_load_timing() 90 timing = 0x0203;break; in triflex_load_timing() 92 timing = 0x0808;break; in triflex_load_timing() 96 timing = 0x0F0F;break; in triflex_load_timing() 98 timing = 0x0202;break; in triflex_load_timing() 100 timing = 0x0204;break; in triflex_load_timing() 102 timing = 0x0404;break; in triflex_load_timing() 104 timing = 0x0508;break; in triflex_load_timing() 106 timing = 0x0808;break; in triflex_load_timing() [all …]
|
D | pata_cs5530.c | 76 u32 tuning, timing = 0; in cs5530_set_dmamode() local 84 timing = 0x00921250;break; in cs5530_set_dmamode() 86 timing = 0x00911140;break; in cs5530_set_dmamode() 88 timing = 0x00911030;break; in cs5530_set_dmamode() 90 timing = 0x00077771;break; in cs5530_set_dmamode() 92 timing = 0x00012121;break; in cs5530_set_dmamode() 94 timing = 0x00002020;break; in cs5530_set_dmamode() 99 timing |= (tuning & 0x80000000UL); in cs5530_set_dmamode() 101 iowrite32(timing, base + 0x04); in cs5530_set_dmamode() 103 if (timing & 0x00100000) in cs5530_set_dmamode() [all …]
|
D | pata_sis.c | 341 u16 timing; in sis_old_set_dmamode() local 346 pci_read_config_word(pdev, drive_pci, &timing); in sis_old_set_dmamode() 351 timing &= ~0x870F; in sis_old_set_dmamode() 352 timing |= mwdma_bits[speed]; in sis_old_set_dmamode() 356 timing &= ~0x6000; in sis_old_set_dmamode() 357 timing |= udma_bits[speed]; in sis_old_set_dmamode() 359 pci_write_config_word(pdev, drive_pci, timing); in sis_old_set_dmamode() 380 u16 timing; in sis_66_set_dmamode() local 386 pci_read_config_word(pdev, drive_pci, &timing); in sis_66_set_dmamode() 391 timing &= ~0x870F; in sis_66_set_dmamode() [all …]
|
D | pata_cmd640.c | 54 struct cmd640_reg *timing = ap->private_data; in cmd640_set_piomode() local 116 timing->reg58[adev->devno] = (t.active << 4) | t.recover; in cmd640_set_piomode() 134 struct cmd640_reg *timing = ap->private_data; in cmd640_qc_issue() local 136 if (ap->port_no != 0 && adev->devno != timing->last) { in cmd640_qc_issue() 137 pci_write_config_byte(pdev, DRWTIM23, timing->reg58[adev->devno]); in cmd640_qc_issue() 138 timing->last = adev->devno; in cmd640_qc_issue() 154 struct cmd640_reg *timing; in cmd640_port_start() local 156 timing = devm_kzalloc(&pdev->dev, sizeof(struct cmd640_reg), GFP_KERNEL); in cmd640_port_start() 157 if (timing == NULL) in cmd640_port_start() 159 timing->last = -1; /* Force a load */ in cmd640_port_start() [all …]
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn314/ |
D | dcn314_hwseq.c | 77 bool hblank_halved = optc2_is_two_pixels_per_containter(&stream->timing); in calc_mpc_flow_ctrl_cnt() 83 flow_ctrl_cnt = stream->timing.h_total - stream->timing.h_addressable - in calc_mpc_flow_ctrl_cnt() 84 stream->timing.h_border_left - in calc_mpc_flow_ctrl_cnt() 85 stream->timing.h_border_right; in calc_mpc_flow_ctrl_cnt() 114 …dsc_cfg.pic_width = (stream->timing.h_addressable + stream->timing.h_border_left + stream->timing.… in update_dsc_on_stream() 115 …dsc_cfg.pic_height = stream->timing.v_addressable + stream->timing.v_border_top + stream->timing.v… in update_dsc_on_stream() 116 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in update_dsc_on_stream() 117 dsc_cfg.color_depth = stream->timing.display_color_depth; in update_dsc_on_stream() 119 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in update_dsc_on_stream() 188 …rol_2x_pclk = (pipe_ctx->stream->timing.flags.INTERLACE || optc2_is_two_pixels_per_containter(&pip… in dcn314_update_odm() [all …]
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dce120/ |
D | dce120_timing_generator.c | 103 const struct dc_crtc_timing *timing, in dce120_timing_generator_validate_timing() argument 106 uint32_t interlace_factor = timing->flags.INTERLACE ? 2 : 1; in dce120_timing_generator_validate_timing() 108 (timing->v_total - timing->v_addressable - in dce120_timing_generator_validate_timing() 109 timing->v_border_top - timing->v_border_bottom) * in dce120_timing_generator_validate_timing() 115 timing, in dce120_timing_generator_validate_timing() 121 timing->h_sync_width < tg110->min_h_sync_width || in dce120_timing_generator_validate_timing() 122 timing->v_sync_width < tg110->min_v_sync_width) in dce120_timing_generator_validate_timing() 129 const struct dc_crtc_timing *timing) in dce120_tg_validate_timing() argument 131 return dce120_timing_generator_validate_timing(tg, timing, SIGNAL_TYPE_NONE); in dce120_tg_validate_timing() 430 const struct dc_crtc_timing *timing) in dce120_timing_generator_program_blanking() argument [all …]
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn32/ |
D | dcn32_dio_stream_encoder.c | 237 static bool is_two_pixels_per_containter(const struct dc_crtc_timing *timing) in is_two_pixels_per_containter() argument 239 bool two_pix = timing->pixel_encoding == PIXEL_ENCODING_YCBCR420; in is_two_pixels_per_containter() 241 two_pix = two_pix || (timing->flags.DSC && timing->pixel_encoding == PIXEL_ENCODING_YCBCR422 in is_two_pixels_per_containter() 242 && !timing->dsc_cfg.ycbcr422_simple); in is_two_pixels_per_containter() 246 static bool is_h_timing_divisible_by_2(const struct dc_crtc_timing *timing) in is_h_timing_divisible_by_2() argument 256 if (timing) { in is_h_timing_divisible_by_2() 257 h_blank_start = timing->h_total - timing->h_front_porch; in is_h_timing_divisible_by_2() 258 h_blank_end = h_blank_start - timing->h_addressable; in is_h_timing_divisible_by_2() 264 divisible = (timing->h_total % 2 == 0) && in is_h_timing_divisible_by_2() 267 (timing->h_sync_width % 2 == 0); in is_h_timing_divisible_by_2() [all …]
|
/linux-6.1.9/drivers/gpu/drm/mediatek/ |
D | mtk_dsi.c | 233 struct mtk_phy_timing *timing = &dsi->phy_timing; in mtk_dsi_phy_timconfig() local 235 timing->lpx = (60 * data_rate_mhz / (8 * 1000)) + 1; in mtk_dsi_phy_timconfig() 236 timing->da_hs_prepare = (80 * data_rate_mhz + 4 * 1000) / 8000; in mtk_dsi_phy_timconfig() 237 timing->da_hs_zero = (170 * data_rate_mhz + 10 * 1000) / 8000 + 1 - in mtk_dsi_phy_timconfig() 238 timing->da_hs_prepare; in mtk_dsi_phy_timconfig() 239 timing->da_hs_trail = timing->da_hs_prepare + 1; in mtk_dsi_phy_timconfig() 241 timing->ta_go = 4 * timing->lpx - 2; in mtk_dsi_phy_timconfig() 242 timing->ta_sure = timing->lpx + 2; in mtk_dsi_phy_timconfig() 243 timing->ta_get = 4 * timing->lpx; in mtk_dsi_phy_timconfig() 244 timing->da_hs_exit = 2 * timing->lpx + 1; in mtk_dsi_phy_timconfig() [all …]
|