• Melissa Wen's avatar
    drm/amd/display: move FPU-related code from dcn20 to dml folder · cf689e86
    Melissa Wen authored
    Move parts of dcn20 code that uses FPU to dml folder. It aims to isolate
    FPU operations as described by series:
    
    drm/amd/display: Introduce FPU directory inside DC
    https://patchwork.freedesktop.org/series/93042/
    
    This patch moves the following functions from dcn20_resource to
    dml/dcn20_fpu and calls of public functions in dcn20_resource are
    wrapped by DC_FP_START/END():
    
    - void dcn20_populate_dml_writeback_from_context
    - static bool is_dtbclk_required()
    - static enum dcn_zstate_support_state()
    - void dcn20_calculate_dlg_params()
    - static void swizzle_to_dml_params()
    - int dcn20_populate_dml_pipes_from_context()
    - void dcn20_calculate_wm()
    - void dcn20_cap_soc_clocks()
    - void dcn20_update_bounding_box()
    - void dcn20_patch_bounding_box()
    - bool dcn20_validate_bandwidth_fp()
    
    This movement also affects dcn21/30/31, as dcn20_calculate_dlg_params()
    is used by them. For this reason, I included dcn20_fpu headers in
    dcn20_resource headers to make dcn20_calculate_dlg_params() visible to
    dcn21/30/31.
    
    Three new functions are created to isolate well-delimited FPU
    operations:
    
    - void dcn20_fpu_set_wb_arb_params(): set cli_watermark,
      pstate_watermark and time_per_pixel from wb_arb_params (struct
    mcif_arb_params), since those uses FPU operations on double types:
    WritebackUrgentWatermark, WritebackDRAMClockChangeWatermark, '16.0'.
    - void dcn20_fpu_set_wm_ranges(): set min_fill_clk_mhz and
      max_fill_clk_mhz involves FPU calcs on dram_speed_mts (double type);
    - void dcn20_fpu_adjust_dppclk(): adjust operation on RequiredDPPCLK
      that is a double.
    Signed-off-by: default avatarMelissa Wen <mwen@igalia.com>
    Acked-by: default avatarAlan Liu <HaoPing.Liu@amd.com>
    Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    cf689e86
dcn30_resource.c 85.6 KB