mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
Merge tag 'amd-drm-next-6.11-2024-06-22' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
amd-drm-next-6.11-2024-06-22: amdgpu: - HPD fixes - PSR fixes - DCC updates - DCN 4.0.1 fixes - FAMS fixes - Misc code cleanups - SR-IOV fixes - GPUVM TLB flush cleanups - Make VCN less verbose - ACPI backlight fixes - MES fixes - Firmware loading cleanups - Replay fixes - LTTPR fixes - Trap handler fixes - Cursor and overlay fixes - Primary plane zpos fixes - DML 2.1 fixes - RAS updates - USB4 fixes - MALL fixes - Reserved VMID fix - Silence UBSAN warnings amdkfd: - Misc code cleanups From: Alex Deucher <alexander.deucher@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240622152523.2267072-1-alexander.deucher@amd.com Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -690,7 +690,7 @@ static void hack_disable_optional_pipe_split(struct dcn_bw_internal_vars *v)
|
||||
static void hack_force_pipe_split(struct dcn_bw_internal_vars *v,
|
||||
unsigned int pixel_rate_100hz)
|
||||
{
|
||||
float pixel_rate_mhz = pixel_rate_100hz / 10000;
|
||||
float pixel_rate_mhz = pixel_rate_100hz / 10000.0;
|
||||
|
||||
/*
|
||||
* force enabling pipe split by lower dpp clock for DPM0 to just
|
||||
|
||||
@@ -1882,10 +1882,10 @@ void dcn20_update_bounding_box(struct dc *dc,
|
||||
bb->clock_limits[i].fabricclk_mhz = (min_fclk_required_by_uclk < min_dcfclk) ?
|
||||
min_dcfclk : min_fclk_required_by_uclk;
|
||||
|
||||
bb->clock_limits[i].socclk_mhz = (bb->clock_limits[i].fabricclk_mhz > max_clocks->socClockInKhz / 1000) ?
|
||||
bb->clock_limits[i].socclk_mhz = (bb->clock_limits[i].fabricclk_mhz > max_clocks->socClockInKhz / 1000.0) ?
|
||||
max_clocks->socClockInKhz / 1000 : bb->clock_limits[i].fabricclk_mhz;
|
||||
|
||||
bb->clock_limits[i].dcfclk_mhz = (bb->clock_limits[i].fabricclk_mhz > max_clocks->dcfClockInKhz / 1000) ?
|
||||
bb->clock_limits[i].dcfclk_mhz = (bb->clock_limits[i].fabricclk_mhz > max_clocks->dcfClockInKhz / 1000.0) ?
|
||||
max_clocks->dcfClockInKhz / 1000 : bb->clock_limits[i].fabricclk_mhz;
|
||||
|
||||
bb->clock_limits[i].dispclk_mhz = max_clocks->displayClockInKhz / 1000;
|
||||
@@ -1917,35 +1917,35 @@ void dcn20_cap_soc_clocks(struct _vcs_dpi_soc_bounding_box_st *bb,
|
||||
|
||||
// First pass - cap all clocks higher than the reported max
|
||||
for (i = 0; i < bb->num_states; i++) {
|
||||
if ((bb->clock_limits[i].dcfclk_mhz > (max_clocks.dcfClockInKhz / 1000))
|
||||
if ((bb->clock_limits[i].dcfclk_mhz > (max_clocks.dcfClockInKhz / 1000.0))
|
||||
&& max_clocks.dcfClockInKhz != 0)
|
||||
bb->clock_limits[i].dcfclk_mhz = (max_clocks.dcfClockInKhz / 1000);
|
||||
|
||||
if ((bb->clock_limits[i].dram_speed_mts > (max_clocks.uClockInKhz / 1000) * 16)
|
||||
if ((bb->clock_limits[i].dram_speed_mts > (max_clocks.uClockInKhz / 1000.0) * 16)
|
||||
&& max_clocks.uClockInKhz != 0)
|
||||
bb->clock_limits[i].dram_speed_mts = (max_clocks.uClockInKhz / 1000) * 16;
|
||||
|
||||
if ((bb->clock_limits[i].fabricclk_mhz > (max_clocks.fabricClockInKhz / 1000))
|
||||
if ((bb->clock_limits[i].fabricclk_mhz > (max_clocks.fabricClockInKhz / 1000.0))
|
||||
&& max_clocks.fabricClockInKhz != 0)
|
||||
bb->clock_limits[i].fabricclk_mhz = (max_clocks.fabricClockInKhz / 1000);
|
||||
|
||||
if ((bb->clock_limits[i].dispclk_mhz > (max_clocks.displayClockInKhz / 1000))
|
||||
if ((bb->clock_limits[i].dispclk_mhz > (max_clocks.displayClockInKhz / 1000.0))
|
||||
&& max_clocks.displayClockInKhz != 0)
|
||||
bb->clock_limits[i].dispclk_mhz = (max_clocks.displayClockInKhz / 1000);
|
||||
|
||||
if ((bb->clock_limits[i].dppclk_mhz > (max_clocks.dppClockInKhz / 1000))
|
||||
if ((bb->clock_limits[i].dppclk_mhz > (max_clocks.dppClockInKhz / 1000.0))
|
||||
&& max_clocks.dppClockInKhz != 0)
|
||||
bb->clock_limits[i].dppclk_mhz = (max_clocks.dppClockInKhz / 1000);
|
||||
|
||||
if ((bb->clock_limits[i].phyclk_mhz > (max_clocks.phyClockInKhz / 1000))
|
||||
if ((bb->clock_limits[i].phyclk_mhz > (max_clocks.phyClockInKhz / 1000.0))
|
||||
&& max_clocks.phyClockInKhz != 0)
|
||||
bb->clock_limits[i].phyclk_mhz = (max_clocks.phyClockInKhz / 1000);
|
||||
|
||||
if ((bb->clock_limits[i].socclk_mhz > (max_clocks.socClockInKhz / 1000))
|
||||
if ((bb->clock_limits[i].socclk_mhz > (max_clocks.socClockInKhz / 1000.0))
|
||||
&& max_clocks.socClockInKhz != 0)
|
||||
bb->clock_limits[i].socclk_mhz = (max_clocks.socClockInKhz / 1000);
|
||||
|
||||
if ((bb->clock_limits[i].dscclk_mhz > (max_clocks.dscClockInKhz / 1000))
|
||||
if ((bb->clock_limits[i].dscclk_mhz > (max_clocks.dscClockInKhz / 1000.0))
|
||||
&& max_clocks.dscClockInKhz != 0)
|
||||
bb->clock_limits[i].dscclk_mhz = (max_clocks.dscClockInKhz / 1000);
|
||||
}
|
||||
|
||||
@@ -1017,7 +1017,7 @@ static unsigned int CalculateVMAndRowBytes(
|
||||
if (ScanDirection == dm_horz)
|
||||
FractionOfPTEReturnDrop = 0;
|
||||
else
|
||||
FractionOfPTEReturnDrop = 7 / 8;
|
||||
FractionOfPTEReturnDrop = 7.0 / 8;
|
||||
} else if (VMMPageSize == 4096 && MacroTileSizeBytes > 4096) {
|
||||
PixelPTEReqHeight = 16 * BlockHeight256Bytes;
|
||||
PixelPTEReqWidth = 16 * BlockWidth256Bytes;
|
||||
@@ -3231,22 +3231,22 @@ static unsigned int TruncToValidBPP(
|
||||
if (Format == dm_420) {
|
||||
if (DecimalBPP < 6)
|
||||
return BPP_INVALID;
|
||||
else if (DecimalBPP >= 1.5 * DSCInputBitPerComponent - 1 / 16)
|
||||
return 1.5 * DSCInputBitPerComponent - 1 / 16;
|
||||
else if (DecimalBPP >= 1.5 * DSCInputBitPerComponent - 1.0 / 16)
|
||||
return 1.5 * DSCInputBitPerComponent - 1.0 / 16;
|
||||
else
|
||||
return dml_floor(16 * DecimalBPP, 1) / 16;
|
||||
} else if (Format == dm_n422) {
|
||||
if (DecimalBPP < 7)
|
||||
return BPP_INVALID;
|
||||
else if (DecimalBPP >= 2 * DSCInputBitPerComponent - 1 / 16)
|
||||
return 2 * DSCInputBitPerComponent - 1 / 16;
|
||||
else if (DecimalBPP >= 2 * DSCInputBitPerComponent - 1.0 / 16)
|
||||
return 2 * DSCInputBitPerComponent - 1.0 / 16;
|
||||
else
|
||||
return dml_floor(16 * DecimalBPP, 1) / 16;
|
||||
} else {
|
||||
if (DecimalBPP < 8)
|
||||
return BPP_INVALID;
|
||||
else if (DecimalBPP >= 3 * DSCInputBitPerComponent - 1 / 16)
|
||||
return 3 * DSCInputBitPerComponent - 1 / 16;
|
||||
else if (DecimalBPP >= 3 * DSCInputBitPerComponent - 1.0 / 16)
|
||||
return 3 * DSCInputBitPerComponent - 1.0 / 16;
|
||||
else
|
||||
return dml_floor(16 * DecimalBPP, 1) / 16;
|
||||
}
|
||||
@@ -4322,7 +4322,7 @@ void dml20_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
|
||||
locals->RoundedUpMaxSwathSizeBytesC = 0;
|
||||
}
|
||||
|
||||
if (locals->RoundedUpMaxSwathSizeBytesY + locals->RoundedUpMaxSwathSizeBytesC <= locals->DETBufferSizeInKByte[0] * 1024 / 2) {
|
||||
if (locals->RoundedUpMaxSwathSizeBytesY + locals->RoundedUpMaxSwathSizeBytesC <= locals->DETBufferSizeInKByte[0] * 1024.0 / 2) {
|
||||
locals->SwathHeightYPerState[i][j][k] = locals->MaxSwathHeightY[k];
|
||||
locals->SwathHeightCPerState[i][j][k] = locals->MaxSwathHeightC[k];
|
||||
} else {
|
||||
|
||||
@@ -1077,7 +1077,7 @@ static unsigned int CalculateVMAndRowBytes(
|
||||
if (ScanDirection == dm_horz)
|
||||
FractionOfPTEReturnDrop = 0;
|
||||
else
|
||||
FractionOfPTEReturnDrop = 7 / 8;
|
||||
FractionOfPTEReturnDrop = 7.0 / 8;
|
||||
} else if (VMMPageSize == 4096 && MacroTileSizeBytes > 4096) {
|
||||
PixelPTEReqHeight = 16 * BlockHeight256Bytes;
|
||||
PixelPTEReqWidth = 16 * BlockWidth256Bytes;
|
||||
@@ -4443,7 +4443,7 @@ void dml20v2_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode
|
||||
locals->RoundedUpMaxSwathSizeBytesC = 0;
|
||||
}
|
||||
|
||||
if (locals->RoundedUpMaxSwathSizeBytesY + locals->RoundedUpMaxSwathSizeBytesC <= locals->DETBufferSizeInKByte[0] * 1024 / 2) {
|
||||
if (locals->RoundedUpMaxSwathSizeBytesY + locals->RoundedUpMaxSwathSizeBytesC <= locals->DETBufferSizeInKByte[0] * 1024.0 / 2) {
|
||||
locals->SwathHeightYPerState[i][j][k] = locals->MaxSwathHeightY[k];
|
||||
locals->SwathHeightCPerState[i][j][k] = locals->MaxSwathHeightC[k];
|
||||
} else {
|
||||
|
||||
@@ -1156,11 +1156,6 @@ static void dml20_rq_dlg_get_dlg_params(struct display_mode_lib *mode_lib,
|
||||
swath_width_pixels_ub_c = swath_width_ub_c * 1;
|
||||
}
|
||||
|
||||
hscale_pixel_rate_l = 0.;
|
||||
hscale_pixel_rate_c = 0.;
|
||||
min_hratio_fact_l = 1.0;
|
||||
min_hratio_fact_c = 1.0;
|
||||
|
||||
if (htaps_l <= 1)
|
||||
min_hratio_fact_l = 2.0;
|
||||
else if (htaps_l <= 6) {
|
||||
|
||||
@@ -1157,11 +1157,6 @@ static void dml20v2_rq_dlg_get_dlg_params(struct display_mode_lib *mode_lib,
|
||||
swath_width_pixels_ub_c = swath_width_ub_c * 1;
|
||||
}
|
||||
|
||||
hscale_pixel_rate_l = 0.;
|
||||
hscale_pixel_rate_c = 0.;
|
||||
min_hratio_fact_l = 1.0;
|
||||
min_hratio_fact_c = 1.0;
|
||||
|
||||
if (htaps_l <= 1)
|
||||
min_hratio_fact_l = 2.0;
|
||||
else if (htaps_l <= 6) {
|
||||
|
||||
@@ -1399,7 +1399,7 @@ static unsigned int CalculateVMAndRowBytes(
|
||||
if (ScanDirection == dm_horz)
|
||||
FractionOfPTEReturnDrop = 0;
|
||||
else
|
||||
FractionOfPTEReturnDrop = 7 / 8;
|
||||
FractionOfPTEReturnDrop = 7.0 / 8;
|
||||
} else if (VMMPageSize == 4096 && MacroTileSizeBytes > 4096) {
|
||||
PixelPTEReqHeightPTEs = 16;
|
||||
*PixelPTEReqHeight = 16 * BlockHeight256Bytes;
|
||||
|
||||
@@ -297,9 +297,6 @@ static void handle_det_buf_split(
|
||||
|
||||
if (swath_height_c > 0)
|
||||
log2_swath_height_c = dml_log2(swath_height_c);
|
||||
|
||||
if (req128_c && log2_swath_height_c > 0)
|
||||
log2_swath_height_c -= 1;
|
||||
}
|
||||
|
||||
rq_param->dlg.rq_l.swath_height = 1 << log2_swath_height_l;
|
||||
@@ -1208,11 +1205,6 @@ static void dml_rq_dlg_get_dlg_params(
|
||||
swath_width_pixels_ub_c = swath_width_ub_c * 1;
|
||||
}
|
||||
|
||||
hscale_pixel_rate_l = 0.;
|
||||
hscale_pixel_rate_c = 0.;
|
||||
min_hratio_fact_l = 1.0;
|
||||
min_hratio_fact_c = 1.0;
|
||||
|
||||
if (hratio_l <= 1)
|
||||
min_hratio_fact_l = 2.0;
|
||||
else if (htaps_l <= 6) {
|
||||
|
||||
@@ -1783,7 +1783,7 @@ static unsigned int CalculateVMAndRowBytes(
|
||||
if (ScanDirection != dm_vert)
|
||||
FractionOfPTEReturnDrop = 0;
|
||||
else
|
||||
FractionOfPTEReturnDrop = 7 / 8;
|
||||
FractionOfPTEReturnDrop = 7.0 / 8;
|
||||
} else if (GPUVMMinPageSize == 4 && MacroTileSizeBytes > 4096) {
|
||||
PixelPTEReqHeightPTEs = 16;
|
||||
*PixelPTEReqHeight = 16 * BlockHeight256Bytes;
|
||||
|
||||
@@ -1309,11 +1309,6 @@ static void dml_rq_dlg_get_dlg_params(struct display_mode_lib *mode_lib,
|
||||
swath_width_pixels_ub_c = swath_width_ub_c * 1;
|
||||
}
|
||||
|
||||
hscale_pixel_rate_l = 0.;
|
||||
hscale_pixel_rate_c = 0.;
|
||||
min_hratio_fact_l = 1.0;
|
||||
min_hratio_fact_c = 1.0;
|
||||
|
||||
if (hratio_l <= 1)
|
||||
min_hratio_fact_l = 2.0;
|
||||
else if (htaps_l <= 6) {
|
||||
|
||||
@@ -1932,7 +1932,7 @@ static unsigned int CalculateVMAndRowBytes(
|
||||
if (ScanDirection != dm_vert)
|
||||
FractionOfPTEReturnDrop = 0;
|
||||
else
|
||||
FractionOfPTEReturnDrop = 7 / 8;
|
||||
FractionOfPTEReturnDrop = 7.0 / 8;
|
||||
} else if (GPUVMMinPageSize == 4 && MacroTileSizeBytes > 4096) {
|
||||
PixelPTEReqHeightPTEs = 16;
|
||||
*PixelPTEReqHeight = 16 * BlockHeight256Bytes;
|
||||
@@ -3617,7 +3617,7 @@ static double TruncToValidBPP(
|
||||
NonDSCBPP1 = 15;
|
||||
NonDSCBPP2 = 18;
|
||||
MinDSCBPP = 6;
|
||||
MaxDSCBPP = 1.5 * DSCInputBitPerComponent - 1 / 16;
|
||||
MaxDSCBPP = 1.5 * DSCInputBitPerComponent - 1.0 / 16;
|
||||
} else if (Format == dm_444) {
|
||||
NonDSCBPP0 = 24;
|
||||
NonDSCBPP1 = 30;
|
||||
|
||||
@@ -1150,11 +1150,6 @@ static void dml_rq_dlg_get_dlg_params(
|
||||
swath_width_pixels_ub_c = swath_width_ub_c * 1;
|
||||
}
|
||||
|
||||
hscale_pixel_rate_l = 0.;
|
||||
hscale_pixel_rate_c = 0.;
|
||||
min_hratio_fact_l = 1.0;
|
||||
min_hratio_fact_c = 1.0;
|
||||
|
||||
if (hratio_l <= 1)
|
||||
min_hratio_fact_l = 2.0;
|
||||
else if (htaps_l <= 6) {
|
||||
|
||||
@@ -1941,15 +1941,6 @@ static unsigned int CalculateVMAndRowBytes(
|
||||
*PixelPTEReqWidth = 32768.0 / BytePerPixel;
|
||||
*PTERequestSize = 64;
|
||||
FractionOfPTEReturnDrop = 0;
|
||||
} else if (MacroTileSizeBytes == 4096) {
|
||||
PixelPTEReqHeightPTEs = 1;
|
||||
*PixelPTEReqHeight = MacroTileHeight;
|
||||
*PixelPTEReqWidth = 8 * *MacroTileWidth;
|
||||
*PTERequestSize = 64;
|
||||
if (ScanDirection != dm_vert)
|
||||
FractionOfPTEReturnDrop = 0;
|
||||
else
|
||||
FractionOfPTEReturnDrop = 7 / 8;
|
||||
} else if (GPUVMMinPageSize == 4 && MacroTileSizeBytes > 4096) {
|
||||
PixelPTEReqHeightPTEs = 16;
|
||||
*PixelPTEReqHeight = 16 * BlockHeight256Bytes;
|
||||
@@ -3723,7 +3714,7 @@ static double TruncToValidBPP(
|
||||
NonDSCBPP1 = 15;
|
||||
NonDSCBPP2 = 18;
|
||||
MinDSCBPP = 6;
|
||||
MaxDSCBPP = 1.5 * DSCInputBitPerComponent - 1 / 16;
|
||||
MaxDSCBPP = 1.5 * DSCInputBitPerComponent - 1.0 / 16;
|
||||
} else if (Format == dm_444) {
|
||||
NonDSCBPP0 = 24;
|
||||
NonDSCBPP1 = 30;
|
||||
|
||||
@@ -1238,11 +1238,6 @@ static void dml_rq_dlg_get_dlg_params(
|
||||
swath_width_pixels_ub_c = swath_width_ub_c * 1;
|
||||
}
|
||||
|
||||
hscale_pixel_rate_l = 0.;
|
||||
hscale_pixel_rate_c = 0.;
|
||||
min_hratio_fact_l = 1.0;
|
||||
min_hratio_fact_c = 1.0;
|
||||
|
||||
if (hratio_l <= 1)
|
||||
min_hratio_fact_l = 2.0;
|
||||
else if (htaps_l <= 6) {
|
||||
|
||||
@@ -738,9 +738,9 @@ static bool subvp_subvp_schedulable(struct dc *dc, struct dc_state *context)
|
||||
/* Loop to calculate the maximum microschedule time between the two SubVP pipes,
|
||||
* and also to store the two main SubVP pipe pointers in subvp_pipes[2].
|
||||
*/
|
||||
if (pipe->stream && pipe->plane_state && !pipe->top_pipe &&
|
||||
phantom = dc_state_get_paired_subvp_stream(context, pipe->stream);
|
||||
if (phantom && pipe->stream && pipe->plane_state && !pipe->top_pipe &&
|
||||
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN) {
|
||||
phantom = dc_state_get_paired_subvp_stream(context, pipe->stream);
|
||||
microschedule_lines = (phantom->timing.v_total - phantom->timing.v_front_porch) +
|
||||
phantom->timing.v_addressable;
|
||||
|
||||
@@ -845,8 +845,8 @@ static bool subvp_drr_schedulable(struct dc *dc, struct dc_state *context)
|
||||
}
|
||||
}
|
||||
|
||||
if (subvp_found && drr_found) {
|
||||
phantom_stream = dc_state_get_paired_subvp_stream(context, pipe->stream);
|
||||
phantom_stream = dc_state_get_paired_subvp_stream(context, pipe->stream);
|
||||
if (phantom_stream && subvp_found && drr_found) {
|
||||
main_timing = &pipe->stream->timing;
|
||||
phantom_timing = &phantom_stream->timing;
|
||||
drr_timing = &drr_pipe->stream->timing;
|
||||
@@ -1177,6 +1177,9 @@ static void init_pipe_slice_table_from_context(
|
||||
stream = context->streams[i];
|
||||
otg_master = resource_get_otg_master_for_stream(
|
||||
&context->res_ctx, stream);
|
||||
if (!otg_master)
|
||||
continue;
|
||||
|
||||
count = resource_get_odm_slice_count(otg_master);
|
||||
update_slice_table_for_stream(table, stream, count);
|
||||
|
||||
@@ -2154,6 +2157,8 @@ bool dcn32_internal_validate_bw(struct dc *dc,
|
||||
|
||||
dc->res_pool->funcs->update_soc_for_wm_a(dc, context);
|
||||
|
||||
for (i = 0; i < context->stream_count; i++)
|
||||
resource_update_pipes_for_stream_with_slice_count(context, dc->current_state, dc->res_pool, context->streams[i], 1);
|
||||
pipe_cnt = dc->res_pool->funcs->populate_dml_pipes(dc, context, pipes, fast_validate);
|
||||
|
||||
if (!pipe_cnt) {
|
||||
|
||||
@@ -1401,13 +1401,13 @@ void dml32_CalculateOutputLink(
|
||||
if (Output == dm_dp2p0) {
|
||||
*OutBpp = 0;
|
||||
if ((OutputLinkDPRate == dm_dp_rate_na || OutputLinkDPRate == dm_dp_rate_uhbr10) &&
|
||||
PHYCLKD32PerState >= 10000 / 32) {
|
||||
PHYCLKD32PerState >= 10000.0 / 32) {
|
||||
*OutBpp = dml32_TruncToValidBPP((1 - Downspreading / 100) * 10000,
|
||||
OutputLinkDPLanes, HTotal, HActive, PixelClockBackEnd,
|
||||
ForcedOutputLinkBPP, LinkDSCEnable, Output, OutputFormat,
|
||||
DSCInputBitPerComponent, NumberOfDSCSlices, AudioSampleRate,
|
||||
AudioSampleLayout, ODMModeNoDSC, ODMModeDSC, RequiredSlots);
|
||||
if (*OutBpp == 0 && PHYCLKD32PerState < 13500 / 32 && DSCEnable == true &&
|
||||
if (*OutBpp == 0 && PHYCLKD32PerState < 13500.0 / 32 && DSCEnable == true &&
|
||||
ForcedOutputLinkBPP == 0) {
|
||||
*RequiresDSC = true;
|
||||
LinkDSCEnable = true;
|
||||
@@ -1423,7 +1423,7 @@ void dml32_CalculateOutputLink(
|
||||
*OutputRate = dm_output_rate_dp_rate_uhbr10;
|
||||
}
|
||||
if ((OutputLinkDPRate == dm_dp_rate_na || OutputLinkDPRate == dm_dp_rate_uhbr13p5) &&
|
||||
*OutBpp == 0 && PHYCLKD32PerState >= 13500 / 32) {
|
||||
*OutBpp == 0 && PHYCLKD32PerState >= 13500.0 / 32) {
|
||||
*OutBpp = dml32_TruncToValidBPP((1 - Downspreading / 100) * 13500,
|
||||
OutputLinkDPLanes, HTotal, HActive, PixelClockBackEnd,
|
||||
ForcedOutputLinkBPP, LinkDSCEnable, Output, OutputFormat,
|
||||
@@ -1601,7 +1601,7 @@ double dml32_TruncToValidBPP(
|
||||
NonDSCBPP1 = 15;
|
||||
NonDSCBPP2 = 18;
|
||||
MinDSCBPP = 6;
|
||||
MaxDSCBPP = 1.5 * DSCInputBitPerComponent - 1 / 16;
|
||||
MaxDSCBPP = 1.5 * DSCInputBitPerComponent - 1.0 / 16;
|
||||
} else if (Format == dm_444) {
|
||||
NonDSCBPP0 = 24;
|
||||
NonDSCBPP1 = 30;
|
||||
|
||||
@@ -177,7 +177,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_5_soc = {
|
||||
.urgent_latency_pixel_data_only_us = 4.0,
|
||||
.urgent_latency_pixel_mixed_with_vm_data_us = 4.0,
|
||||
.urgent_latency_vm_data_only_us = 4.0,
|
||||
.dram_clock_change_latency_us = 11.72,
|
||||
.dram_clock_change_latency_us = 34.0,
|
||||
.urgent_out_of_order_return_per_channel_pixel_only_bytes = 4096,
|
||||
.urgent_out_of_order_return_per_channel_pixel_and_vm_bytes = 4096,
|
||||
.urgent_out_of_order_return_per_channel_vm_only_bytes = 4096,
|
||||
|
||||
@@ -215,7 +215,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_51_soc = {
|
||||
.urgent_latency_pixel_data_only_us = 4.0,
|
||||
.urgent_latency_pixel_mixed_with_vm_data_us = 4.0,
|
||||
.urgent_latency_vm_data_only_us = 4.0,
|
||||
.dram_clock_change_latency_us = 11.72,
|
||||
.dram_clock_change_latency_us = 34,
|
||||
.urgent_out_of_order_return_per_channel_pixel_only_bytes = 4096,
|
||||
.urgent_out_of_order_return_per_channel_pixel_and_vm_bytes = 4096,
|
||||
.urgent_out_of_order_return_per_channel_vm_only_bytes = 4096,
|
||||
|
||||
@@ -1596,11 +1596,6 @@ void dml1_rq_dlg_get_dlg_params(
|
||||
swath_width_pixels_ub_c = swath_width_ub_c * 1;
|
||||
}
|
||||
|
||||
hscale_pixel_rate_l = 0.;
|
||||
hscale_pixel_rate_c = 0.;
|
||||
min_hratio_fact_l = 1.0;
|
||||
min_hratio_fact_c = 1.0;
|
||||
|
||||
if (htaps_l <= 1)
|
||||
min_hratio_fact_l = 2.0;
|
||||
else if (htaps_l <= 6) {
|
||||
|
||||
Reference in New Issue
Block a user