linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] drm/komeda: Computing layer_split and image_enhancer internally
@ 2019-07-05 11:44 james qian wang (Arm Technology China)
  2019-07-05 12:25 ` Daniel Vetter
  0 siblings, 1 reply; 3+ messages in thread
From: james qian wang (Arm Technology China) @ 2019-07-05 11:44 UTC (permalink / raw)
  To: Liviu Dudau, airlied, Brian Starkey, maarten.lankhorst, sean
  Cc: Jonathan Chai (Arm Technology China),
	Julien Yin (Arm Technology China),
	thomas Sun (Arm Technology China),
	Lowry Li (Arm Technology China),
	Ayan Halder, Tiannan Zhu (Arm Technology China),
	Yiqi Kang (Arm Technology China),
	nd, linux-kernel, dri-devel, Ben Davis,
	Oscar Zhang (Arm Technology China),
	Channing Chen (Arm Technology China),
	james qian wang (Arm Technology China)

For layer_split:
Enable it if the scaling exceed the accept range of scaler.

For image_enhancer:
Enable it if the scaling is a 2x+ scaling

Signed-off-by: james qian wang (Arm Technology China) <james.qian.wang@arm.com>
---
 .../gpu/drm/arm/display/komeda/komeda_pipeline.h  |  3 ++-
 .../arm/display/komeda/komeda_pipeline_state.c    | 15 ++++++++++++++-
 drivers/gpu/drm/arm/display/komeda/komeda_plane.c |  8 +-------
 .../drm/arm/display/komeda/komeda_wb_connector.c  | 10 +---------
 4 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h
index fc1b8613385e..a90bcbb3cb23 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h
@@ -537,7 +537,8 @@ void komeda_pipeline_disable(struct komeda_pipeline *pipe,
 void komeda_pipeline_update(struct komeda_pipeline *pipe,
 			    struct drm_atomic_state *old_state);
 
-void komeda_complete_data_flow_cfg(struct komeda_data_flow_cfg *dflow,
+void komeda_complete_data_flow_cfg(struct komeda_layer *layer,
+				   struct komeda_data_flow_cfg *dflow,
 				   struct drm_framebuffer *fb);
 
 #endif /* _KOMEDA_PIPELINE_H_*/
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 2b415ef2b7d3..709870bdaa4f 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
@@ -784,9 +784,11 @@ komeda_timing_ctrlr_validate(struct komeda_timing_ctrlr *ctrlr,
 	return 0;
 }
 
-void komeda_complete_data_flow_cfg(struct komeda_data_flow_cfg *dflow,
+void komeda_complete_data_flow_cfg(struct komeda_layer *layer,
+				   struct komeda_data_flow_cfg *dflow,
 				   struct drm_framebuffer *fb)
 {
+	struct komeda_scaler *scaler = layer->base.pipeline->scalers[0];
 	u32 w = dflow->in_w;
 	u32 h = dflow->in_h;
 
@@ -803,6 +805,17 @@ void komeda_complete_data_flow_cfg(struct komeda_data_flow_cfg *dflow,
 
 	dflow->en_scaling = (w != dflow->out_w) || (h != dflow->out_h);
 	dflow->is_yuv = fb->format->is_yuv;
+
+	/* try to enable image enhancer if it is a 2x+ upscaling */
+	dflow->en_img_enhancement = dflow->out_w >= 2 * w ||
+				    dflow->out_h >= 2 * h;
+
+	/* try to enable split if scaling exceed the scaler's acceptable
+	 * input/output range.
+	 */
+	if (dflow->en_scaling && scaler)
+		dflow->en_split = !in_range(&scaler->hsize, dflow->in_w) ||
+				  !in_range(&scaler->hsize, dflow->out_w);
 }
 
 static bool merger_is_available(struct komeda_pipeline *pipe,
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
index 5bb8553cc117..c095af154216 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
@@ -18,7 +18,6 @@ komeda_plane_init_data_flow(struct drm_plane_state *st,
 			    struct komeda_data_flow_cfg *dflow)
 {
 	struct komeda_plane *kplane = to_kplane(st->plane);
-	struct komeda_plane_state *kplane_st = to_kplane_st(st);
 	struct drm_framebuffer *fb = st->fb;
 	const struct komeda_format_caps *caps = to_kfb(fb)->format_caps;
 	struct komeda_pipeline *pipe = kplane->layer->base.pipeline;
@@ -57,10 +56,7 @@ komeda_plane_init_data_flow(struct drm_plane_state *st,
 		return -EINVAL;
 	}
 
-	dflow->en_img_enhancement = !!kplane_st->img_enhancement;
-	dflow->en_split = !!kplane_st->layer_split;
-
-	komeda_complete_data_flow_cfg(dflow, fb);
+	komeda_complete_data_flow_cfg(kplane->layer, dflow, fb);
 
 	return 0;
 }
@@ -175,8 +171,6 @@ komeda_plane_atomic_duplicate_state(struct drm_plane *plane)
 
 	old = to_kplane_st(plane->state);
 
-	new->img_enhancement = old->img_enhancement;
-
 	return &new->base;
 }
 
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 bb8a61f6e9a4..617e1f7b8472 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
@@ -13,7 +13,6 @@ komeda_wb_init_data_flow(struct komeda_layer *wb_layer,
 			 struct komeda_crtc_state *kcrtc_st,
 			 struct komeda_data_flow_cfg *dflow)
 {
-	struct komeda_scaler *scaler = wb_layer->base.pipeline->scalers[0];
 	struct drm_framebuffer *fb = conn_st->writeback_job->fb;
 
 	memset(dflow, 0, sizeof(*dflow));
@@ -28,14 +27,7 @@ komeda_wb_init_data_flow(struct komeda_layer *wb_layer,
 	dflow->pixel_blend_mode = DRM_MODE_BLEND_PIXEL_NONE;
 	dflow->rot = DRM_MODE_ROTATE_0;
 
-	komeda_complete_data_flow_cfg(dflow, fb);
-
-	/* if scaling exceed the acceptable scaler input/output range, try to
-	 * enable split.
-	 */
-	if (dflow->en_scaling && scaler)
-		dflow->en_split = !in_range(&scaler->hsize, dflow->in_w) ||
-				  !in_range(&scaler->hsize, dflow->out_w);
+	komeda_complete_data_flow_cfg(wb_layer, dflow, fb);
 
 	return 0;
 }
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 2/2] drm/komeda: Computing layer_split and image_enhancer internally
  2019-07-05 11:44 [PATCH 2/2] drm/komeda: Computing layer_split and image_enhancer internally james qian wang (Arm Technology China)
@ 2019-07-05 12:25 ` Daniel Vetter
  2019-07-08  7:32   ` james qian wang (Arm Technology China)
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Vetter @ 2019-07-05 12:25 UTC (permalink / raw)
  To: james qian wang (Arm Technology China)
  Cc: Liviu Dudau, airlied, Brian Starkey, maarten.lankhorst, sean, nd,
	Ayan Halder, Oscar Zhang (Arm Technology China),
	Tiannan Zhu (Arm Technology China),
	Jonathan Chai (Arm Technology China),
	linux-kernel, dri-devel, Julien Yin (Arm Technology China),
	Channing Chen (Arm Technology China),
	Yiqi Kang (Arm Technology China),
	thomas Sun (Arm Technology China),
	Lowry Li (Arm Technology China),
	Ben Davis

On Fri, Jul 05, 2019 at 11:44:45AM +0000, james qian wang (Arm Technology China) wrote:
> For layer_split:
> Enable it if the scaling exceed the accept range of scaler.
> 
> For image_enhancer:
> Enable it if the scaling is a 2x+ scaling

Imo should be two patches. Aside from that (and with 0 knowledge about the
hw, just looking at this from a kms/atomic uapi pov):

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> 
> Signed-off-by: james qian wang (Arm Technology China) <james.qian.wang@arm.com>
> ---
>  .../gpu/drm/arm/display/komeda/komeda_pipeline.h  |  3 ++-
>  .../arm/display/komeda/komeda_pipeline_state.c    | 15 ++++++++++++++-
>  drivers/gpu/drm/arm/display/komeda/komeda_plane.c |  8 +-------
>  .../drm/arm/display/komeda/komeda_wb_connector.c  | 10 +---------
>  4 files changed, 18 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h
> index fc1b8613385e..a90bcbb3cb23 100644
> --- a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h
> +++ b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h
> @@ -537,7 +537,8 @@ void komeda_pipeline_disable(struct komeda_pipeline *pipe,
>  void komeda_pipeline_update(struct komeda_pipeline *pipe,
>  			    struct drm_atomic_state *old_state);
>  
> -void komeda_complete_data_flow_cfg(struct komeda_data_flow_cfg *dflow,
> +void komeda_complete_data_flow_cfg(struct komeda_layer *layer,
> +				   struct komeda_data_flow_cfg *dflow,
>  				   struct drm_framebuffer *fb);
>  
>  #endif /* _KOMEDA_PIPELINE_H_*/
> 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 2b415ef2b7d3..709870bdaa4f 100644
> --- a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
> +++ b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
> @@ -784,9 +784,11 @@ komeda_timing_ctrlr_validate(struct komeda_timing_ctrlr *ctrlr,
>  	return 0;
>  }
>  
> -void komeda_complete_data_flow_cfg(struct komeda_data_flow_cfg *dflow,
> +void komeda_complete_data_flow_cfg(struct komeda_layer *layer,
> +				   struct komeda_data_flow_cfg *dflow,
>  				   struct drm_framebuffer *fb)
>  {
> +	struct komeda_scaler *scaler = layer->base.pipeline->scalers[0];
>  	u32 w = dflow->in_w;
>  	u32 h = dflow->in_h;
>  
> @@ -803,6 +805,17 @@ void komeda_complete_data_flow_cfg(struct komeda_data_flow_cfg *dflow,
>  
>  	dflow->en_scaling = (w != dflow->out_w) || (h != dflow->out_h);
>  	dflow->is_yuv = fb->format->is_yuv;
> +
> +	/* try to enable image enhancer if it is a 2x+ upscaling */
> +	dflow->en_img_enhancement = dflow->out_w >= 2 * w ||
> +				    dflow->out_h >= 2 * h;
> +
> +	/* try to enable split if scaling exceed the scaler's acceptable
> +	 * input/output range.
> +	 */
> +	if (dflow->en_scaling && scaler)
> +		dflow->en_split = !in_range(&scaler->hsize, dflow->in_w) ||
> +				  !in_range(&scaler->hsize, dflow->out_w);
>  }
>  
>  static bool merger_is_available(struct komeda_pipeline *pipe,
> diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> index 5bb8553cc117..c095af154216 100644
> --- a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> +++ b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> @@ -18,7 +18,6 @@ komeda_plane_init_data_flow(struct drm_plane_state *st,
>  			    struct komeda_data_flow_cfg *dflow)
>  {
>  	struct komeda_plane *kplane = to_kplane(st->plane);
> -	struct komeda_plane_state *kplane_st = to_kplane_st(st);
>  	struct drm_framebuffer *fb = st->fb;
>  	const struct komeda_format_caps *caps = to_kfb(fb)->format_caps;
>  	struct komeda_pipeline *pipe = kplane->layer->base.pipeline;
> @@ -57,10 +56,7 @@ komeda_plane_init_data_flow(struct drm_plane_state *st,
>  		return -EINVAL;
>  	}
>  
> -	dflow->en_img_enhancement = !!kplane_st->img_enhancement;
> -	dflow->en_split = !!kplane_st->layer_split;
> -
> -	komeda_complete_data_flow_cfg(dflow, fb);
> +	komeda_complete_data_flow_cfg(kplane->layer, dflow, fb);
>  
>  	return 0;
>  }
> @@ -175,8 +171,6 @@ komeda_plane_atomic_duplicate_state(struct drm_plane *plane)
>  
>  	old = to_kplane_st(plane->state);
>  
> -	new->img_enhancement = old->img_enhancement;
> -
>  	return &new->base;
>  }
>  
> 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 bb8a61f6e9a4..617e1f7b8472 100644
> --- a/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
> +++ b/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
> @@ -13,7 +13,6 @@ komeda_wb_init_data_flow(struct komeda_layer *wb_layer,
>  			 struct komeda_crtc_state *kcrtc_st,
>  			 struct komeda_data_flow_cfg *dflow)
>  {
> -	struct komeda_scaler *scaler = wb_layer->base.pipeline->scalers[0];
>  	struct drm_framebuffer *fb = conn_st->writeback_job->fb;
>  
>  	memset(dflow, 0, sizeof(*dflow));
> @@ -28,14 +27,7 @@ komeda_wb_init_data_flow(struct komeda_layer *wb_layer,
>  	dflow->pixel_blend_mode = DRM_MODE_BLEND_PIXEL_NONE;
>  	dflow->rot = DRM_MODE_ROTATE_0;
>  
> -	komeda_complete_data_flow_cfg(dflow, fb);
> -
> -	/* if scaling exceed the acceptable scaler input/output range, try to
> -	 * enable split.
> -	 */
> -	if (dflow->en_scaling && scaler)
> -		dflow->en_split = !in_range(&scaler->hsize, dflow->in_w) ||
> -				  !in_range(&scaler->hsize, dflow->out_w);
> +	komeda_complete_data_flow_cfg(wb_layer, dflow, fb);
>  
>  	return 0;
>  }
> -- 
> 2.20.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 2/2] drm/komeda: Computing layer_split and image_enhancer internally
  2019-07-05 12:25 ` Daniel Vetter
@ 2019-07-08  7:32   ` james qian wang (Arm Technology China)
  0 siblings, 0 replies; 3+ messages in thread
From: james qian wang (Arm Technology China) @ 2019-07-08  7:32 UTC (permalink / raw)
  To: Liviu Dudau, airlied, Brian Starkey, maarten.lankhorst, sean, nd,
	Ayan Halder, Oscar Zhang (Arm Technology China),
	Tiannan Zhu (Arm Technology China),
	Jonathan Chai (Arm Technology China),
	linux-kernel, dri-devel, Julien Yin (Arm Technology China),
	Channing Chen (Arm Technology China),
	Yiqi Kang (Arm Technology China),
	thomas Sun (Arm Technology China),
	Lowry Li (Arm Technology China),
	Ben Davis

On Fri, Jul 05, 2019 at 02:25:46PM +0200, Daniel Vetter wrote:
> On Fri, Jul 05, 2019 at 11:44:45AM +0000, james qian wang (Arm Technology China) wrote:
> > For layer_split:
> > Enable it if the scaling exceed the accept range of scaler.
> >
> > For image_enhancer:
> > Enable it if the scaling is a 2x+ scaling
>
> Imo should be two patches. Aside from that (and with 0 knowledge about the
> hw, just looking at this from a kms/atomic uapi pov):
>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Hi Daniel:
I split this change to two patches, please ignore this one, and please
help to review the below sparated ones:
- https://patchwork.freedesktop.org/series/63340/ for layer_split
- https://patchwork.freedesktop.org/series/63341/ for image enhancer

Thanks
James
> >
> > Signed-off-by: james qian wang (Arm Technology China) <james.qian.wang@arm.com>
> > ---
> >  .../gpu/drm/arm/display/komeda/komeda_pipeline.h  |  3 ++-
> >  .../arm/display/komeda/komeda_pipeline_state.c    | 15 ++++++++++++++-
> >  drivers/gpu/drm/arm/display/komeda/komeda_plane.c |  8 +-------
> >  .../drm/arm/display/komeda/komeda_wb_connector.c  | 10 +---------
> >  4 files changed, 18 insertions(+), 18 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h
> > index fc1b8613385e..a90bcbb3cb23 100644
> > --- a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h
> > +++ b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h
> > @@ -537,7 +537,8 @@ void komeda_pipeline_disable(struct komeda_pipeline *pipe,
> >  void komeda_pipeline_update(struct komeda_pipeline *pipe,
> >      struct drm_atomic_state *old_state);
> >
> > -void komeda_complete_data_flow_cfg(struct komeda_data_flow_cfg *dflow,
> > +void komeda_complete_data_flow_cfg(struct komeda_layer *layer,
> > +   struct komeda_data_flow_cfg *dflow,
> >     struct drm_framebuffer *fb);
> >
> >  #endif /* _KOMEDA_PIPELINE_H_*/
> > 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 2b415ef2b7d3..709870bdaa4f 100644
> > --- a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
> > +++ b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
> > @@ -784,9 +784,11 @@ komeda_timing_ctrlr_validate(struct komeda_timing_ctrlr *ctrlr,
> >  return 0;
> >  }
> >
> > -void komeda_complete_data_flow_cfg(struct komeda_data_flow_cfg *dflow,
> > +void komeda_complete_data_flow_cfg(struct komeda_layer *layer,
> > +   struct komeda_data_flow_cfg *dflow,
> >     struct drm_framebuffer *fb)
> >  {
> > +struct komeda_scaler *scaler = layer->base.pipeline->scalers[0];
> >  u32 w = dflow->in_w;
> >  u32 h = dflow->in_h;
> >
> > @@ -803,6 +805,17 @@ void komeda_complete_data_flow_cfg(struct komeda_data_flow_cfg *dflow,
> >
> >  dflow->en_scaling = (w != dflow->out_w) || (h != dflow->out_h);
> >  dflow->is_yuv = fb->format->is_yuv;
> > +
> > +/* try to enable image enhancer if it is a 2x+ upscaling */
> > +dflow->en_img_enhancement = dflow->out_w >= 2 * w ||
> > +    dflow->out_h >= 2 * h;
> > +
> > +/* try to enable split if scaling exceed the scaler's acceptable
> > + * input/output range.
> > + */
> > +if (dflow->en_scaling && scaler)
> > +dflow->en_split = !in_range(&scaler->hsize, dflow->in_w) ||
> > +  !in_range(&scaler->hsize, dflow->out_w);
> >  }
> >
> >  static bool merger_is_available(struct komeda_pipeline *pipe,
> > diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> > index 5bb8553cc117..c095af154216 100644
> > --- a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> > +++ b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> > @@ -18,7 +18,6 @@ komeda_plane_init_data_flow(struct drm_plane_state *st,
> >      struct komeda_data_flow_cfg *dflow)
> >  {
> >  struct komeda_plane *kplane = to_kplane(st->plane);
> > -struct komeda_plane_state *kplane_st = to_kplane_st(st);
> >  struct drm_framebuffer *fb = st->fb;
> >  const struct komeda_format_caps *caps = to_kfb(fb)->format_caps;
> >  struct komeda_pipeline *pipe = kplane->layer->base.pipeline;
> > @@ -57,10 +56,7 @@ komeda_plane_init_data_flow(struct drm_plane_state *st,
> >  return -EINVAL;
> >  }
> >
> > -dflow->en_img_enhancement = !!kplane_st->img_enhancement;
> > -dflow->en_split = !!kplane_st->layer_split;
> > -
> > -komeda_complete_data_flow_cfg(dflow, fb);
> > +komeda_complete_data_flow_cfg(kplane->layer, dflow, fb);
> >
> >  return 0;
> >  }
> > @@ -175,8 +171,6 @@ komeda_plane_atomic_duplicate_state(struct drm_plane *plane)
> >
> >  old = to_kplane_st(plane->state);
> >
> > -new->img_enhancement = old->img_enhancement;
> > -
> >  return &new->base;
> >  }
> >
> > 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 bb8a61f6e9a4..617e1f7b8472 100644
> > --- a/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
> > +++ b/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
> > @@ -13,7 +13,6 @@ komeda_wb_init_data_flow(struct komeda_layer *wb_layer,
> >   struct komeda_crtc_state *kcrtc_st,
> >   struct komeda_data_flow_cfg *dflow)
> >  {
> > -struct komeda_scaler *scaler = wb_layer->base.pipeline->scalers[0];
> >  struct drm_framebuffer *fb = conn_st->writeback_job->fb;
> >
> >  memset(dflow, 0, sizeof(*dflow));
> > @@ -28,14 +27,7 @@ komeda_wb_init_data_flow(struct komeda_layer *wb_layer,
> >  dflow->pixel_blend_mode = DRM_MODE_BLEND_PIXEL_NONE;
> >  dflow->rot = DRM_MODE_ROTATE_0;
> >
> > -komeda_complete_data_flow_cfg(dflow, fb);
> > -
> > -/* if scaling exceed the acceptable scaler input/output range, try to
> > - * enable split.
> > - */
> > -if (dflow->en_scaling && scaler)
> > -dflow->en_split = !in_range(&scaler->hsize, dflow->in_w) ||
> > -  !in_range(&scaler->hsize, dflow->out_w);
> > +komeda_complete_data_flow_cfg(wb_layer, dflow, fb);
> >
> >  return 0;
> >  }
> > --
> > 2.20.1
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-07-08  7:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-05 11:44 [PATCH 2/2] drm/komeda: Computing layer_split and image_enhancer internally james qian wang (Arm Technology China)
2019-07-05 12:25 ` Daniel Vetter
2019-07-08  7:32   ` james qian wang (Arm Technology China)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).