diff options
author | james qian wang (Arm Technology China) <james.qian.wang@arm.com> | 2019-05-23 12:10:27 +0100 |
---|---|---|
committer | Liviu Dudau <Liviu.Dudau@arm.com> | 2019-06-19 11:42:16 +0100 |
commit | 42b6f118f6d11268d652ce4946fef25a2611c39d (patch) | |
tree | 604caff6e250c6ed5e5781aadc5ad75e28f76daf /drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c | |
parent | 1f7f9ab7900ec92c0beac0660cdce37d6af02d38 (diff) | |
download | lwn-42b6f118f6d11268d652ce4946fef25a2611c39d.tar.gz lwn-42b6f118f6d11268d652ce4946fef25a2611c39d.zip |
drm/komeda: Add image enhancement support
Besides scaling, Arm display scaler also can support image enhancement.
For support it, Add a new property "img_enhancement" to plane, then user
can turn on/off it by this property, and kernel follow user's requirement
to maitain the state and enable/disable the real HW image enhancement.
v2: Rebase and rename "needs_img_enhancement" to "en_img_enhancement"
Signed-off-by: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
Diffstat (limited to 'drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c')
-rw-r--r-- | drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c index 01544c274848..db34ea26760c 100644 --- a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c +++ b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c @@ -457,7 +457,7 @@ komeda_scaler_validate(void *user, struct komeda_scaler *scaler; int err = 0; - if (!dflow->en_scaling) + if (!(dflow->en_scaling || dflow->en_img_enhancement)) return 0; scaler = komeda_component_get_avail_scaler(dflow->input.component, @@ -482,9 +482,11 @@ komeda_scaler_validate(void *user, st->vsize_in = dflow->in_h; st->hsize_out = dflow->out_w; st->vsize_out = dflow->out_h; - st->en_scaling = dflow->en_scaling; + /* Enable alpha processing if the next stage needs the pixel alpha */ st->en_alpha = dflow->pixel_blend_mode != DRM_MODE_BLEND_PIXEL_NONE; + st->en_scaling = dflow->en_scaling; + st->en_img_enhancement = dflow->en_img_enhancement; komeda_component_add_input(&st->base, &dflow->input, 0); komeda_component_set_output(&dflow->input, &scaler->base, 0); |