/drivers/gpu/drm/radeon/ |
D | radeon_encoders.c | 312 struct drm_display_mode *adjusted_mode) in radeon_panel_mode_fixup() argument 325 adjusted_mode->clock = native_mode->clock; in radeon_panel_mode_fixup() 326 adjusted_mode->flags = native_mode->flags; in radeon_panel_mode_fixup() 329 adjusted_mode->hdisplay = native_mode->hdisplay; in radeon_panel_mode_fixup() 330 adjusted_mode->vdisplay = native_mode->vdisplay; in radeon_panel_mode_fixup() 333 adjusted_mode->htotal = native_mode->hdisplay + hblank; in radeon_panel_mode_fixup() 334 adjusted_mode->hsync_start = native_mode->hdisplay + hover; in radeon_panel_mode_fixup() 335 adjusted_mode->hsync_end = adjusted_mode->hsync_start + hsync_width; in radeon_panel_mode_fixup() 337 adjusted_mode->vtotal = native_mode->vdisplay + vblank; in radeon_panel_mode_fixup() 338 adjusted_mode->vsync_start = native_mode->vdisplay + vover; in radeon_panel_mode_fixup() [all …]
|
/drivers/gpu/drm/gma500/ |
D | mdfld_intel_display.c | 667 struct drm_display_mode *adjusted_mode, in mdfld_crtc_mode_set() argument 697 android_hdmi_crtc_mode_set(crtc, mode, adjusted_mode, in mdfld_crtc_mode_set() 708 adjusted_mode->hdisplay); in mdfld_crtc_mode_set() 710 adjusted_mode->vdisplay); in mdfld_crtc_mode_set() 712 adjusted_mode->hsync_start); in mdfld_crtc_mode_set() 714 adjusted_mode->hsync_end); in mdfld_crtc_mode_set() 716 adjusted_mode->htotal); in mdfld_crtc_mode_set() 718 adjusted_mode->vsync_start); in mdfld_crtc_mode_set() 720 adjusted_mode->vsync_end); in mdfld_crtc_mode_set() 722 adjusted_mode->vtotal); in mdfld_crtc_mode_set() [all …]
|
D | oaktrail_crtc.c | 366 struct drm_display_mode *adjusted_mode, in oaktrail_crtc_mode_set() argument 390 return oaktrail_crtc_hdmi_mode_set(crtc, mode, adjusted_mode, x, y, old_fb); in oaktrail_crtc_mode_set() 399 adjusted_mode, in oaktrail_crtc_mode_set() 444 offsetX = (adjusted_mode->crtc_hdisplay - in oaktrail_crtc_mode_set() 446 offsetY = (adjusted_mode->crtc_vdisplay - in oaktrail_crtc_mode_set() 451 ((adjusted_mode->crtc_htotal - 1) << 16), i); in oaktrail_crtc_mode_set() 453 ((adjusted_mode->crtc_vtotal - 1) << 16), i); in oaktrail_crtc_mode_set() 455 (adjusted_mode->crtc_hblank_start - offsetX - 1) | in oaktrail_crtc_mode_set() 456 ((adjusted_mode->crtc_hblank_end - offsetX - 1) << 16), i); in oaktrail_crtc_mode_set() 458 (adjusted_mode->crtc_hsync_start - offsetX - 1) | in oaktrail_crtc_mode_set() [all …]
|
D | oaktrail_hdmi.c | 261 struct drm_display_mode *adjusted_mode, in oaktrail_crtc_hdmi_mode_set() argument 304 oaktrail_hdmi_find_dpll(crtc, adjusted_mode->clock, refclk, &clock); in oaktrail_crtc_hdmi_mode_set() 325 temp = htotal_calculate(adjusted_mode); in oaktrail_crtc_hdmi_mode_set() 327 …REG_WRITE(hblank_reg, (adjusted_mode->crtc_hblank_start - 1) | ((adjusted_mode->crtc_hblank_end - … in oaktrail_crtc_hdmi_mode_set() 328 …REG_WRITE(hsync_reg, (adjusted_mode->crtc_hsync_start - 1) | ((adjusted_mode->crtc_hsync_end - 1) … in oaktrail_crtc_hdmi_mode_set() 329 REG_WRITE(vtot_reg, (adjusted_mode->crtc_vdisplay - 1) | ((adjusted_mode->crtc_vtotal - 1) << 16)); in oaktrail_crtc_hdmi_mode_set() 330 …REG_WRITE(vblank_reg, (adjusted_mode->crtc_vblank_start - 1) | ((adjusted_mode->crtc_vblank_end - … in oaktrail_crtc_hdmi_mode_set() 331 …REG_WRITE(vsync_reg, (adjusted_mode->crtc_vsync_start - 1) | ((adjusted_mode->crtc_vsync_end - 1) … in oaktrail_crtc_hdmi_mode_set() 334 …REG_WRITE(PCH_HTOTAL_B, (adjusted_mode->crtc_hdisplay - 1) | ((adjusted_mode->crtc_htotal - 1) << … in oaktrail_crtc_hdmi_mode_set() 335 …REG_WRITE(PCH_HBLANK_B, (adjusted_mode->crtc_hblank_start - 1) | ((adjusted_mode->crtc_hblank_end … in oaktrail_crtc_hdmi_mode_set() [all …]
|
D | psb_intel_display.c | 103 struct drm_display_mode *adjusted_mode, in psb_intel_crtc_mode_set() argument 152 ok = limit->find_pll(limit, crtc, adjusted_mode->clock, refclk, in psb_intel_crtc_mode_set() 156 adjusted_mode->clock, clock.dot); in psb_intel_crtc_mode_set() 170 adjusted_mode->clock / mode->clock; in psb_intel_crtc_mode_set() 271 REG_WRITE(map->htotal, (adjusted_mode->crtc_hdisplay - 1) | in psb_intel_crtc_mode_set() 272 ((adjusted_mode->crtc_htotal - 1) << 16)); in psb_intel_crtc_mode_set() 273 REG_WRITE(map->hblank, (adjusted_mode->crtc_hblank_start - 1) | in psb_intel_crtc_mode_set() 274 ((adjusted_mode->crtc_hblank_end - 1) << 16)); in psb_intel_crtc_mode_set() 275 REG_WRITE(map->hsync, (adjusted_mode->crtc_hsync_start - 1) | in psb_intel_crtc_mode_set() 276 ((adjusted_mode->crtc_hsync_end - 1) << 16)); in psb_intel_crtc_mode_set() [all …]
|
D | cdv_intel_lvds.c | 274 struct drm_display_mode *adjusted_mode) in cdv_intel_lvds_mode_fixup() argument 300 adjusted_mode->hdisplay = panel_fixed_mode->hdisplay; in cdv_intel_lvds_mode_fixup() 301 adjusted_mode->hsync_start = panel_fixed_mode->hsync_start; in cdv_intel_lvds_mode_fixup() 302 adjusted_mode->hsync_end = panel_fixed_mode->hsync_end; in cdv_intel_lvds_mode_fixup() 303 adjusted_mode->htotal = panel_fixed_mode->htotal; in cdv_intel_lvds_mode_fixup() 304 adjusted_mode->vdisplay = panel_fixed_mode->vdisplay; in cdv_intel_lvds_mode_fixup() 305 adjusted_mode->vsync_start = panel_fixed_mode->vsync_start; in cdv_intel_lvds_mode_fixup() 306 adjusted_mode->vsync_end = panel_fixed_mode->vsync_end; in cdv_intel_lvds_mode_fixup() 307 adjusted_mode->vtotal = panel_fixed_mode->vtotal; in cdv_intel_lvds_mode_fixup() 308 adjusted_mode->clock = panel_fixed_mode->clock; in cdv_intel_lvds_mode_fixup() [all …]
|
D | cdv_intel_display.c | 580 struct drm_display_mode *adjusted_mode, in cdv_intel_crtc_mode_set() argument 661 drm_mode_debug_printmodeline(adjusted_mode); in cdv_intel_crtc_mode_set() 665 ok = limit->find_pll(limit, crtc, adjusted_mode->clock, refclk, in cdv_intel_crtc_mode_set() 669 adjusted_mode->clock, clock.dot); in cdv_intel_crtc_mode_set() 682 cdv_intel_dp_set_m_n(crtc, mode, adjusted_mode); in cdv_intel_crtc_mode_set() 793 int sdvo_pixel_multiply = adjusted_mode->clock / mode->clock; in cdv_intel_crtc_mode_set() 797 REG_WRITE(map->htotal, (adjusted_mode->crtc_hdisplay - 1) | in cdv_intel_crtc_mode_set() 798 ((adjusted_mode->crtc_htotal - 1) << 16)); in cdv_intel_crtc_mode_set() 799 REG_WRITE(map->hblank, (adjusted_mode->crtc_hblank_start - 1) | in cdv_intel_crtc_mode_set() 800 ((adjusted_mode->crtc_hblank_end - 1) << 16)); in cdv_intel_crtc_mode_set() [all …]
|
D | psb_intel_lvds.c | 376 struct drm_display_mode *adjusted_mode) in psb_intel_lvds_mode_fixup() argument 416 adjusted_mode->hdisplay = panel_fixed_mode->hdisplay; in psb_intel_lvds_mode_fixup() 417 adjusted_mode->hsync_start = panel_fixed_mode->hsync_start; in psb_intel_lvds_mode_fixup() 418 adjusted_mode->hsync_end = panel_fixed_mode->hsync_end; in psb_intel_lvds_mode_fixup() 419 adjusted_mode->htotal = panel_fixed_mode->htotal; in psb_intel_lvds_mode_fixup() 420 adjusted_mode->vdisplay = panel_fixed_mode->vdisplay; in psb_intel_lvds_mode_fixup() 421 adjusted_mode->vsync_start = panel_fixed_mode->vsync_start; in psb_intel_lvds_mode_fixup() 422 adjusted_mode->vsync_end = panel_fixed_mode->vsync_end; in psb_intel_lvds_mode_fixup() 423 adjusted_mode->vtotal = panel_fixed_mode->vtotal; in psb_intel_lvds_mode_fixup() 424 adjusted_mode->clock = panel_fixed_mode->clock; in psb_intel_lvds_mode_fixup() [all …]
|
D | cdv_intel_dp.c | 682 struct drm_display_mode *adjusted_mode) in cdv_intel_fixed_panel_mode() argument 684 adjusted_mode->hdisplay = fixed_mode->hdisplay; in cdv_intel_fixed_panel_mode() 685 adjusted_mode->hsync_start = fixed_mode->hsync_start; in cdv_intel_fixed_panel_mode() 686 adjusted_mode->hsync_end = fixed_mode->hsync_end; in cdv_intel_fixed_panel_mode() 687 adjusted_mode->htotal = fixed_mode->htotal; in cdv_intel_fixed_panel_mode() 689 adjusted_mode->vdisplay = fixed_mode->vdisplay; in cdv_intel_fixed_panel_mode() 690 adjusted_mode->vsync_start = fixed_mode->vsync_start; in cdv_intel_fixed_panel_mode() 691 adjusted_mode->vsync_end = fixed_mode->vsync_end; in cdv_intel_fixed_panel_mode() 692 adjusted_mode->vtotal = fixed_mode->vtotal; in cdv_intel_fixed_panel_mode() 694 adjusted_mode->clock = fixed_mode->clock; in cdv_intel_fixed_panel_mode() [all …]
|
D | oaktrail_lvds.c | 93 struct drm_display_mode *adjusted_mode) in oaktrail_lvds_mode_set() argument 143 if ((mode->vdisplay != adjusted_mode->crtc_vdisplay) || in oaktrail_lvds_mode_set() 144 (mode->hdisplay != adjusted_mode->crtc_hdisplay)) { in oaktrail_lvds_mode_set() 145 if ((adjusted_mode->crtc_hdisplay * mode->vdisplay) == in oaktrail_lvds_mode_set() 146 (mode->hdisplay * adjusted_mode->crtc_vdisplay)) in oaktrail_lvds_mode_set() 148 else if ((adjusted_mode->crtc_hdisplay * in oaktrail_lvds_mode_set() 150 adjusted_mode->crtc_vdisplay)) in oaktrail_lvds_mode_set()
|
D | mdfld_dsi_dpi.c | 688 struct drm_display_mode *adjusted_mode) in mdfld_dsi_dpi_mode_fixup() argument 696 adjusted_mode->hdisplay = fixed_mode->hdisplay; in mdfld_dsi_dpi_mode_fixup() 697 adjusted_mode->hsync_start = fixed_mode->hsync_start; in mdfld_dsi_dpi_mode_fixup() 698 adjusted_mode->hsync_end = fixed_mode->hsync_end; in mdfld_dsi_dpi_mode_fixup() 699 adjusted_mode->htotal = fixed_mode->htotal; in mdfld_dsi_dpi_mode_fixup() 700 adjusted_mode->vdisplay = fixed_mode->vdisplay; in mdfld_dsi_dpi_mode_fixup() 701 adjusted_mode->vsync_start = fixed_mode->vsync_start; in mdfld_dsi_dpi_mode_fixup() 702 adjusted_mode->vsync_end = fixed_mode->vsync_end; in mdfld_dsi_dpi_mode_fixup() 703 adjusted_mode->vtotal = fixed_mode->vtotal; in mdfld_dsi_dpi_mode_fixup() 704 adjusted_mode->clock = fixed_mode->clock; in mdfld_dsi_dpi_mode_fixup() [all …]
|
/drivers/gpu/drm/i915/ |
D | intel_panel.c | 38 struct drm_display_mode *adjusted_mode) in intel_fixed_panel_mode() argument 40 drm_mode_copy(adjusted_mode, fixed_mode); in intel_fixed_panel_mode() 42 drm_mode_set_crtcinfo(adjusted_mode, 0); in intel_fixed_panel_mode() 104 struct drm_display_mode *adjusted_mode; in intel_pch_panel_fitting() local 107 adjusted_mode = &pipe_config->adjusted_mode; in intel_pch_panel_fitting() 112 if (adjusted_mode->hdisplay == pipe_config->pipe_src_w && in intel_pch_panel_fitting() 113 adjusted_mode->vdisplay == pipe_config->pipe_src_h) in intel_pch_panel_fitting() 120 x = (adjusted_mode->hdisplay - width + 1)/2; in intel_pch_panel_fitting() 121 y = (adjusted_mode->vdisplay - height + 1)/2; in intel_pch_panel_fitting() 127 u32 scaled_width = adjusted_mode->hdisplay in intel_pch_panel_fitting() [all …]
|
D | intel_hdmi.c | 363 struct drm_display_mode *adjusted_mode) in intel_hdmi_set_avi_infoframe() argument 371 adjusted_mode->picture_aspect_ratio = intel_hdmi->aspect_ratio; in intel_hdmi_set_avi_infoframe() 374 adjusted_mode); in intel_hdmi_set_avi_infoframe() 410 struct drm_display_mode *adjusted_mode) in intel_hdmi_set_hdmi_infoframe() argument 416 adjusted_mode); in intel_hdmi_set_hdmi_infoframe() 425 struct drm_display_mode *adjusted_mode) in g4x_set_infoframes() argument 472 intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); in g4x_set_infoframes() 474 intel_hdmi_set_hdmi_infoframe(encoder, adjusted_mode); in g4x_set_infoframes() 479 struct drm_display_mode *adjusted_mode) in ibx_set_infoframes() argument 520 intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); in ibx_set_infoframes() [all …]
|
D | intel_dvo.c | 163 pipe_config->adjusted_mode.flags |= flags; in intel_dvo_get_config() 165 pipe_config->adjusted_mode.crtc_clock = pipe_config->port_clock; in intel_dvo_get_config() 190 &crtc->config.adjusted_mode); in intel_enable_dvo() 267 struct drm_display_mode *adjusted_mode = &pipe_config->adjusted_mode; in intel_dvo_compute_config() local 275 #define C(x) adjusted_mode->x = intel_dvo->panel_fixed_mode->x in intel_dvo_compute_config() 287 drm_mode_set_crtcinfo(adjusted_mode, 0); in intel_dvo_compute_config() 298 struct drm_display_mode *adjusted_mode = &crtc->config.adjusted_mode; in intel_dvo_pre_enable() local 326 if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) in intel_dvo_pre_enable() 328 if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) in intel_dvo_pre_enable() 335 (adjusted_mode->hdisplay << DVO_SRCDIM_HORIZONTAL_SHIFT) | in intel_dvo_pre_enable() [all …]
|
D | intel_dsi.c | 87 struct drm_display_mode *adjusted_mode = &config->adjusted_mode; in intel_dsi_compute_config() local 93 intel_fixed_panel_mode(fixed_mode, adjusted_mode); in intel_dsi_compute_config() 96 adjusted_mode->flags = 0; in intel_dsi_compute_config() 100 mode, adjusted_mode); in intel_dsi_compute_config() 382 pipe_config->adjusted_mode.crtc_clock = pclk; in intel_dsi_get_config() 484 struct drm_display_mode *adjusted_mode = in intel_dsi_prepare() local 485 &intel_crtc->config.adjusted_mode; in intel_dsi_prepare() 510 adjusted_mode->vdisplay << VERTICAL_ADDRESS_SHIFT | in intel_dsi_prepare() 511 adjusted_mode->hdisplay << HORIZONTAL_ADDRESS_SHIFT); in intel_dsi_prepare() 513 set_dsi_timings(encoder, adjusted_mode); in intel_dsi_prepare() [all …]
|
D | dvo_ivch.c | 342 struct drm_display_mode *adjusted_mode) in ivch_mode_set() argument 351 if (mode->hdisplay != adjusted_mode->hdisplay || in ivch_mode_set() 352 mode->vdisplay != adjusted_mode->vdisplay) { in ivch_mode_set() 358 (adjusted_mode->hdisplay - 1)) >> 2; in ivch_mode_set() 360 (adjusted_mode->vdisplay - 1)) >> 2; in ivch_mode_set()
|
/drivers/gpu/drm/ast/ |
D | ast_mode.c | 77 struct drm_display_mode *adjusted_mode, in ast_get_vbios_mode_info() argument 178 adjusted_mode->crtc_htotal = vbios_mode->enh_table->ht; in ast_get_vbios_mode_info() 179 adjusted_mode->crtc_hblank_start = vbios_mode->enh_table->hde + hborder; in ast_get_vbios_mode_info() 180 adjusted_mode->crtc_hblank_end = vbios_mode->enh_table->ht - hborder; in ast_get_vbios_mode_info() 181 adjusted_mode->crtc_hsync_start = vbios_mode->enh_table->hde + hborder + in ast_get_vbios_mode_info() 183 adjusted_mode->crtc_hsync_end = (vbios_mode->enh_table->hde + hborder + in ast_get_vbios_mode_info() 187 adjusted_mode->crtc_vtotal = vbios_mode->enh_table->vt; in ast_get_vbios_mode_info() 188 adjusted_mode->crtc_vblank_start = vbios_mode->enh_table->vde + vborder; in ast_get_vbios_mode_info() 189 adjusted_mode->crtc_vblank_end = vbios_mode->enh_table->vt - vborder; in ast_get_vbios_mode_info() 190 adjusted_mode->crtc_vsync_start = vbios_mode->enh_table->vde + vborder + in ast_get_vbios_mode_info() [all …]
|
/drivers/gpu/drm/tilcdc/ |
D | tilcdc_slave.c | 77 struct drm_display_mode *adjusted_mode) in slave_encoder_fixup() argument 85 adjusted_mode->hskew = mode->hsync_end - mode->hsync_start; in slave_encoder_fixup() 86 adjusted_mode->flags |= DRM_MODE_FLAG_HSKEW; in slave_encoder_fixup() 89 adjusted_mode->flags |= DRM_MODE_FLAG_PHSYNC; in slave_encoder_fixup() 90 adjusted_mode->flags &= ~DRM_MODE_FLAG_NHSYNC; in slave_encoder_fixup() 92 adjusted_mode->flags |= DRM_MODE_FLAG_NHSYNC; in slave_encoder_fixup() 93 adjusted_mode->flags &= ~DRM_MODE_FLAG_PHSYNC; in slave_encoder_fixup() 96 return drm_i2c_encoder_mode_fixup(encoder, mode, adjusted_mode); in slave_encoder_fixup()
|
/drivers/gpu/drm/rcar-du/ |
D | rcar_du_encoder.c | 53 struct drm_display_mode *adjusted_mode) in rcar_du_encoder_mode_fixup() argument 91 drm_mode_copy(adjusted_mode, panel_mode); in rcar_du_encoder_mode_fixup() 97 adjusted_mode->clock = clamp(adjusted_mode->clock, in rcar_du_encoder_mode_fixup() 123 struct drm_display_mode *adjusted_mode) in rcar_du_encoder_mode_set() argument
|
/drivers/gpu/drm/ |
D | drm_encoder_slave.c | 141 struct drm_display_mode *adjusted_mode) in drm_i2c_encoder_mode_fixup() argument 143 return get_slave_funcs(encoder)->mode_fixup(encoder, mode, adjusted_mode); in drm_i2c_encoder_mode_fixup() 161 struct drm_display_mode *adjusted_mode) in drm_i2c_encoder_mode_set() argument 163 get_slave_funcs(encoder)->mode_set(encoder, mode, adjusted_mode); in drm_i2c_encoder_mode_set()
|
D | drm_crtc_helper.c | 250 struct drm_display_mode *adjusted_mode, saved_mode; in drm_crtc_helper_set_mode() local 265 adjusted_mode = drm_mode_duplicate(dev, mode); in drm_crtc_helper_set_mode() 266 if (!adjusted_mode) { in drm_crtc_helper_set_mode() 293 encoder->bridge, mode, adjusted_mode); in drm_crtc_helper_set_mode() 302 adjusted_mode))) { in drm_crtc_helper_set_mode() 308 if (!(ret = crtc_funcs->mode_fixup(crtc, mode, adjusted_mode))) { in drm_crtc_helper_set_mode() 338 ret = !crtc_funcs->mode_set(crtc, mode, adjusted_mode, x, y, old_fb); in drm_crtc_helper_set_mode() 351 encoder_funcs->mode_set(encoder, mode, adjusted_mode); in drm_crtc_helper_set_mode() 355 adjusted_mode); in drm_crtc_helper_set_mode() 377 crtc->hwmode = *adjusted_mode; in drm_crtc_helper_set_mode() [all …]
|
/drivers/gpu/drm/exynos/ |
D | exynos_drm_encoder.c | 49 struct drm_display_mode *adjusted_mode) in exynos_drm_encoder_mode_fixup() argument 62 adjusted_mode); in exynos_drm_encoder_mode_fixup() 70 struct drm_display_mode *adjusted_mode) in exynos_drm_encoder_mode_set() argument 76 display->ops->mode_set(display, adjusted_mode); in exynos_drm_encoder_mode_set()
|
/drivers/gpu/drm/nouveau/dispnv04/ |
D | dfp.c | 184 struct drm_display_mode *adjusted_mode) in nv04_dfp_mode_fixup() argument 193 nv_encoder->mode = *adjusted_mode; in nv04_dfp_mode_fixup() 197 adjusted_mode->clock = nv_connector->native_mode->clock; in nv04_dfp_mode_fixup() 281 struct drm_display_mode *adjusted_mode) in nv04_dfp_mode_set() argument 333 else if (adjusted_mode->hdisplay == output_mode->hdisplay && in nv04_dfp_mode_set() 334 adjusted_mode->vdisplay == output_mode->vdisplay) /* native mode */ in nv04_dfp_mode_set() 373 mode_ratio = (1 << 12) * adjusted_mode->hdisplay / adjusted_mode->vdisplay; in nv04_dfp_mode_set() 387 scale = (1 << 12) * adjusted_mode->vdisplay / output_mode->vdisplay; in nv04_dfp_mode_set() 403 scale = (1 << 12) * adjusted_mode->hdisplay / output_mode->hdisplay; in nv04_dfp_mode_set()
|
D | tvnv04.c | 139 struct drm_display_mode *adjusted_mode) in nv04_tv_mode_set() argument 145 regp->tv_htotal = adjusted_mode->htotal; in nv04_tv_mode_set() 146 regp->tv_vtotal = adjusted_mode->vtotal; in nv04_tv_mode_set() 158 get_slave_funcs(encoder)->mode_set(encoder, mode, adjusted_mode); in nv04_tv_mode_set()
|
/drivers/gpu/drm/omapdrm/ |
D | omap_encoder.c | 85 struct drm_display_mode *adjusted_mode) in omap_encoder_mode_fixup() argument 92 struct drm_display_mode *adjusted_mode) in omap_encoder_mode_set() argument 115 r = drm_hdmi_avi_infoframe_from_display_mode(&avi, adjusted_mode); in omap_encoder_mode_set()
|