mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-27 17:59:37 -04:00
drm/amd/display: Check for sharpening case when calculating max vtaps for scaler
[Why & How] - calc_lb_num_partitions has check when scaler is not enabled to use larger LB in calculations for max vtaps based on viewport being 1:1 - however, scaler is forced on when sharpening is enabled, so need to consider this in check - taps is predetermined in spl_get_optimal_number_of_taps prior to calc_lb_num_partitions. Add check for taps not 1 to handle sharpening case Reviewed-by: Charlene Liu <charlene.liu@amd.com> Signed-off-by: Samson Tam <Samson.Tam@amd.com> Signed-off-by: Ray Wu <ray.wu@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -390,9 +390,11 @@ void dscl401_spl_calc_lb_num_partitions(
|
||||
lb_memory_size_a = 1290;
|
||||
} else if (lb_config == LB_MEMORY_CONFIG_3) {
|
||||
if (scl_data->viewport.width == scl_data->h_active &&
|
||||
scl_data->viewport.height == scl_data->v_active) {
|
||||
scl_data->viewport.height == scl_data->v_active &&
|
||||
scl_data->taps.h_taps == 1 && scl_data->taps.v_taps == 1) {
|
||||
/* 420 mode: luma using all 3 mem from Y, plus 3rd mem from Cr and Cb */
|
||||
/* use increased LB size for calculation only if Scaler not enabled */
|
||||
/* Scaler is forced on when sharpening is on. Add check for taps = 1 */
|
||||
lb_memory_size = 970 + 1290 + 1170 + 1170 + 1170;
|
||||
lb_memory_size_c = 970 + 1290;
|
||||
lb_memory_size_a = 970 + 1290 + 1170;
|
||||
@@ -404,8 +406,10 @@ void dscl401_spl_calc_lb_num_partitions(
|
||||
}
|
||||
} else {
|
||||
if (scl_data->viewport.width == scl_data->h_active &&
|
||||
scl_data->viewport.height == scl_data->v_active) {
|
||||
scl_data->viewport.height == scl_data->v_active &&
|
||||
scl_data->taps.h_taps == 1 && scl_data->taps.v_taps == 1) {
|
||||
/* use increased LB size for calculation only if Scaler not enabled */
|
||||
/* Scaler is forced on when sharpening is on. Add check for taps = 1 */
|
||||
lb_memory_size = 970 + 1290 + 1170;
|
||||
lb_memory_size_c = 970 + 1290 + 1170;
|
||||
lb_memory_size_a = 970 + 1290 + 1170;
|
||||
|
||||
Reference in New Issue
Block a user