mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 08:02:27 +02:00
drm/amd/display: remove TF check for LLS policy
[Why & How] LLS policy not affected by TF. Remove check in don't care case and use pixel format only. Reviewed-by: Navid Assadian <navid.assadian@amd.com> Signed-off-by: Samson Tam <Samson.Tam@amd.com> Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
8e539d2dd2
commit
2a4519c4e9
|
|
@ -767,25 +767,13 @@ static enum scl_mode spl_get_dscl_mode(const struct spl_in *spl_in,
|
|||
return SCL_MODE_SCALING_420_YCBCR_ENABLE;
|
||||
}
|
||||
|
||||
static bool spl_choose_lls_policy(enum spl_pixel_format format,
|
||||
enum spl_transfer_func_type tf_type,
|
||||
enum spl_transfer_func_predefined tf_predefined_type,
|
||||
static void spl_choose_lls_policy(enum spl_pixel_format format,
|
||||
enum linear_light_scaling *lls_pref)
|
||||
{
|
||||
if (spl_is_video_format(format)) {
|
||||
if (spl_is_subsampled_format(format))
|
||||
*lls_pref = LLS_PREF_NO;
|
||||
if ((tf_type == SPL_TF_TYPE_PREDEFINED) ||
|
||||
(tf_type == SPL_TF_TYPE_DISTRIBUTED_POINTS))
|
||||
return true;
|
||||
} else { /* RGB or YUV444 */
|
||||
if ((tf_type == SPL_TF_TYPE_PREDEFINED) ||
|
||||
(tf_type == SPL_TF_TYPE_BYPASS)) {
|
||||
*lls_pref = LLS_PREF_YES;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
*lls_pref = LLS_PREF_NO;
|
||||
return false;
|
||||
else /* RGB or YUV444 */
|
||||
*lls_pref = LLS_PREF_YES;
|
||||
}
|
||||
|
||||
/* Enable EASF ?*/
|
||||
|
|
@ -794,7 +782,6 @@ static bool enable_easf(struct spl_in *spl_in, struct spl_scratch *spl_scratch)
|
|||
int vratio = 0;
|
||||
int hratio = 0;
|
||||
bool skip_easf = false;
|
||||
bool lls_enable_easf = true;
|
||||
|
||||
if (spl_in->disable_easf)
|
||||
skip_easf = true;
|
||||
|
|
@ -810,17 +797,13 @@ static bool enable_easf(struct spl_in *spl_in, struct spl_scratch *spl_scratch)
|
|||
skip_easf = true;
|
||||
|
||||
/*
|
||||
* If lls_pref is LLS_PREF_DONT_CARE, then use pixel format and transfer
|
||||
* function to determine whether to use LINEAR or NONLINEAR scaling
|
||||
* If lls_pref is LLS_PREF_DONT_CARE, then use pixel format
|
||||
* to determine whether to use LINEAR or NONLINEAR scaling
|
||||
*/
|
||||
if (spl_in->lls_pref == LLS_PREF_DONT_CARE)
|
||||
lls_enable_easf = spl_choose_lls_policy(spl_in->basic_in.format,
|
||||
spl_in->basic_in.tf_type, spl_in->basic_in.tf_predefined_type,
|
||||
spl_choose_lls_policy(spl_in->basic_in.format,
|
||||
&spl_in->lls_pref);
|
||||
|
||||
if (!lls_enable_easf)
|
||||
skip_easf = true;
|
||||
|
||||
/* Check for linear scaling or EASF preferred */
|
||||
if (spl_in->lls_pref != LLS_PREF_YES && !spl_in->prefer_easf)
|
||||
skip_easf = true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user