Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Sean Paul <sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
To: Bruce Wang <bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org,
	jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: Re: [PATCH 1/5] drm/msm/dpu: Remove unneeded checks from dpu_plane
Date: Wed, 19 Sep 2018 15:01:44 -0400	[thread overview]
Message-ID: <20180919190144.GU188300@art_vandelay> (raw)
In-Reply-To: <20180919154415.131292-2-bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>

On Wed, Sep 19, 2018 at 11:44:11AM -0400, Bruce Wang wrote:
> Removes some checks from dpu_plane.c that will never result in an error.
> Subsequent variable assignments become part of the initialization wherever
> possible.
> 
> Signed-off-by: Bruce Wang <bzwang@chromium.org>
> ---
>  drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 53 +++--------------------
>  1 file changed, 6 insertions(+), 47 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> index 1ce76460d710..a8d00f57f06a 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> @@ -229,19 +229,11 @@ static u64 _dpu_plane_get_qos_lut(const struct dpu_qos_lut_tbl *tbl,
>  static void _dpu_plane_set_qos_lut(struct drm_plane *plane,
>  		struct drm_framebuffer *fb)
>  {
> -	struct dpu_plane *pdpu;
> +	struct dpu_plane *pdpu = to_dpu_plane(plane);
>  	const struct dpu_format *fmt = NULL;
>  	u64 qos_lut;
>  	u32 total_fl = 0, lut_usage;
>  
> -	if (!plane || !fb) {
> -		DPU_ERROR("invalid arguments plane %d fb %d\n",
> -				plane != 0, fb != 0);
> -		return;
> -	}
> -
> -	pdpu = to_dpu_plane(plane);
> -
>  	if (!pdpu->pipe_hw || !pdpu->pipe_sblk || !pdpu->catalog) {

As we discussed, it looks like we can remove all of these too \o/

>  		DPU_ERROR("invalid arguments\n");
>  		return;
> @@ -290,17 +282,10 @@ static void _dpu_plane_set_qos_lut(struct drm_plane *plane,
>  static void _dpu_plane_set_danger_lut(struct drm_plane *plane,
>  		struct drm_framebuffer *fb)
>  {
> -	struct dpu_plane *pdpu;
> +	struct dpu_plane *pdpu = to_dpu_plane(plane);
>  	const struct dpu_format *fmt = NULL;
>  	u32 danger_lut, safe_lut;
>  
> -	if (!plane || !fb) {
> -		DPU_ERROR("invalid arguments\n");
> -		return;
> -	}
> -
> -	pdpu = to_dpu_plane(plane);
> -
>  	if (!pdpu->pipe_hw || !pdpu->pipe_sblk || !pdpu->catalog) {

and here

>  		DPU_ERROR("invalid arguments\n");
>  		return;
> @@ -361,14 +346,7 @@ static void _dpu_plane_set_danger_lut(struct drm_plane *plane,
>  static void _dpu_plane_set_qos_ctrl(struct drm_plane *plane,
>  	bool enable, u32 flags)
>  {
> -	struct dpu_plane *pdpu;
> -
> -	if (!plane) {
> -		DPU_ERROR("invalid arguments\n");
> -		return;
> -	}
> -
> -	pdpu = to_dpu_plane(plane);
> +	struct dpu_plane *pdpu = to_dpu_plane(plane);
>  
>  	if (!pdpu->pipe_hw || !pdpu->pipe_sblk) {

and here

>  		DPU_ERROR("invalid arguments\n");
> @@ -452,16 +430,9 @@ static void _dpu_plane_set_ot_limit(struct drm_plane *plane,
>  {
>  	struct dpu_plane *pdpu;
>  	struct dpu_vbif_set_ot_params ot_params;
> -	struct msm_drm_private *priv;
> +	struct msm_drm_private *priv = plane->dev->dev_private;
>  	struct dpu_kms *dpu_kms;
>  
> -	if (!plane || !plane->dev || !crtc) {
> -		DPU_ERROR("invalid arguments plane %d crtc %d\n",
> -				plane != 0, crtc != 0);
> -		return;
> -	}
> -
> -	priv = plane->dev->dev_private;
>  	if (!priv || !priv->kms) {

These are also guaranteed to be non-NULL (dev_private checked in msm_drv and kms
is checked in dpu_kms.c (or maybe msm_kms.c, but either way)).

>  		DPU_ERROR("invalid KMS reference\n");
>  		return;
> @@ -496,15 +467,9 @@ static void _dpu_plane_set_qos_remap(struct drm_plane *plane)
>  {
>  	struct dpu_plane *pdpu;
>  	struct dpu_vbif_set_qos_params qos_params;
> -	struct msm_drm_private *priv;
> +	struct msm_drm_private *priv = plane->dev->dev_private;
>  	struct dpu_kms *dpu_kms;
>  
> -	if (!plane || !plane->dev) {
> -		DPU_ERROR("invalid arguments\n");
> -		return;
> -	}
> -
> -	priv = plane->dev->dev_private;
>  	if (!priv || !priv->kms) {
>  		DPU_ERROR("invalid KMS reference\n");
>  		return;
> @@ -1737,17 +1702,11 @@ struct drm_plane *dpu_plane_init(struct drm_device *dev,
>  	struct drm_plane *plane = NULL, *master_plane = NULL;
>  	const struct dpu_format_extended *format_list;
>  	struct dpu_plane *pdpu;
> -	struct msm_drm_private *priv;
> +	struct msm_drm_private *priv = dev->dev_private;
>  	struct dpu_kms *kms;
>  	int zpos_max = DPU_ZPOS_MAX;
>  	int ret = -EINVAL;
>  
> -	if (!dev) {
> -		DPU_ERROR("[%u]device is NULL\n", pipe);
> -		goto exit;
> -	}
> -
> -	priv = dev->dev_private;
>  	if (!priv) {

So let's do another pass of all dev_private checks along with kms, pipe_hw/sblk/etc.

Sean

>  		DPU_ERROR("[%u]private data is NULL\n", pipe);
>  		goto exit;
> -- 
> 2.19.0.397.gdd90340f6a-goog
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

  parent reply	other threads:[~2018-09-19 19:01 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-19 15:44 [PATCH 0/5] drm/msm/dpu: Clean up dpu code Bruce Wang
     [not found] ` <20180919154415.131292-1-bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2018-09-19 15:44   ` [PATCH 1/5] drm/msm/dpu: Remove unneeded checks from dpu_plane Bruce Wang
     [not found]     ` <20180919154415.131292-2-bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2018-09-19 19:01       ` Sean Paul [this message]
2018-09-19 15:44   ` [PATCH 2/5] drm/msm/dpu: Clean up plane atomic disable/update Bruce Wang
     [not found]     ` <20180919154415.131292-3-bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2018-09-19 19:02       ` Sean Paul
2018-09-19 15:44   ` [PATCH 3/5] drm/msm/dpu: Remove impossible checks Bruce Wang
     [not found]     ` <20180919154415.131292-4-bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2018-09-19 19:10       ` Sean Paul
2018-09-19 15:44   ` [PATCH 4/5] drm/msm/dpu: Change _dpu_crtc_power_enable to void Bruce Wang
     [not found]     ` <20180919154415.131292-5-bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2018-09-19 19:13       ` Sean Paul
2018-09-19 19:14         ` Sean Paul
2018-09-19 15:44   ` [PATCH 5/5] drm/msm/dpu: Change _dpu_crtc_vblank_enable_no_lock " Bruce Wang
     [not found]     ` <20180919154415.131292-6-bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2018-09-19 19:14       ` Sean Paul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180919190144.GU188300@art_vandelay \
    --to=sean-p7ytbzm4h96eqtr555yldq@public.gmane.org \
    --cc=abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    --cc=freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox