diff options
author | james qian wang (Arm Technology China) <james.qian.wang@arm.com> | 2019-05-24 04:16:47 +0100 |
---|---|---|
committer | Liviu Dudau <Liviu.Dudau@arm.com> | 2019-06-19 11:42:18 +0100 |
commit | f461d6591f33e0344d1211e50e76a837f9e43169 (patch) | |
tree | 4aee1e3782f5c45243e78059489e4b2d3f763499 /drivers/gpu/drm/arm/display | |
parent | 420810cec63bfd15069de1681605f137a8886d25 (diff) |
drm/komeda: Accept null writeback configurations for writeback
User may send null writeback configurations for writeback connector like:
- Only bind the writeback connector to crtc.
- set a fb_id(0) to writeback_fb_id_property
All above configurations are meaningless for writeback, but since they are
still valid configurations, accept them.
Depends on:
- https://patchwork.freedesktop.org/series/60856/
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')
-rw-r--r-- | drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c b/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c index 20295291572f..0d734244f662 100644 --- a/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c +++ b/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c @@ -13,11 +13,7 @@ komeda_wb_init_data_flow(struct komeda_layer *wb_layer, struct komeda_crtc_state *kcrtc_st, struct komeda_data_flow_cfg *dflow) { - struct drm_framebuffer *fb = conn_st->writeback_job ? - conn_st->writeback_job->fb : NULL; - - if (!fb) - return -EINVAL; + struct drm_framebuffer *fb = conn_st->writeback_job->fb; memset(dflow, 0, sizeof(*dflow)); @@ -42,10 +38,15 @@ komeda_wb_encoder_atomic_check(struct drm_encoder *encoder, struct drm_connector_state *conn_st) { struct komeda_crtc_state *kcrtc_st = to_kcrtc_st(crtc_st); + struct drm_writeback_job *writeback_job = conn_st->writeback_job; struct komeda_layer *wb_layer; struct komeda_data_flow_cfg dflow; int err; + if (!writeback_job || !writeback_job->fb) { + return 0; + } + if (!crtc_st->active) { DRM_DEBUG_ATOMIC("Cannot write the composition result out on a inactive CRTC.\n"); return -EINVAL; |