All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@gmail.com>
To: Paulo Zanoni <przanoni@gmail.com>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>,
	Paulo Zanoni <paulo.r.zanoni@intel.com>
Subject: Re: [PATCH 05/11] drm/i915: change dev_priv->fbc.plane to dev_priv->fbc.crtc
Date: Fri, 12 Dec 2014 16:58:34 -0800	[thread overview]
Message-ID: <CABVU7+sKE0g1fpj3_ROWT=rs6WR878fbYWjGSySXXLKLe-MDNA@mail.gmail.com> (raw)
In-Reply-To: <1418054960-1403-6-git-send-email-przanoni@gmail.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

On Mon, Dec 8, 2014 at 8:09 AM, Paulo Zanoni <przanoni@gmail.com> wrote:
> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
>
> Since the mapping from CRTCs to planes is fixed, looking at the CRTC
> is essentially the same as looking at the plane. Also, the next
> patches wil start using the frontbuffer_bits macros, and they take the
> pipe as the parameter instead of the plane, and this could differ on
> gens 2 and 3.
>
> Another nice thing is that we don't risk accidentally initializing
> things to PLANE_A if we don't set the value before it is used for the
> first time. But this shouldn't be a problem with the current code.
>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.h      | 2 +-
>  drivers/gpu/drm/i915/intel_display.c | 5 ++---
>  drivers/gpu/drm/i915/intel_fbc.c     | 6 +++---
>  drivers/gpu/drm/i915/intel_sprite.c  | 2 +-
>  4 files changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index b5260bf..9d694f1 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -689,7 +689,7 @@ struct i915_fbc {
>         unsigned long size;
>         unsigned threshold;
>         unsigned int fb_id;
> -       enum plane plane;
> +       struct intel_crtc *crtc;
>         int y;
>
>         struct drm_mm_node compressed_fb;
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index e4789f4..88f3652 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -4218,11 +4218,10 @@ static void intel_crtc_disable_planes(struct drm_crtc *crtc)
>         struct drm_i915_private *dev_priv = dev->dev_private;
>         struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
>         int pipe = intel_crtc->pipe;
> -       int plane = intel_crtc->plane;
>
>         intel_crtc_wait_for_pending_flips(crtc);
>
> -       if (dev_priv->fbc.plane == plane)
> +       if (dev_priv->fbc.crtc == intel_crtc)
>                 intel_fbc_disable(dev);
>
>         hsw_disable_ips(intel_crtc);
> @@ -11813,7 +11812,7 @@ intel_commit_primary_plane(struct drm_plane *plane,
>                  */
>                 if (intel_crtc->primary_enabled &&
>                     INTEL_INFO(dev)->gen <= 4 && !IS_G4X(dev) &&
> -                   dev_priv->fbc.plane == intel_crtc->plane &&
> +                   dev_priv->fbc.crtc == intel_crtc &&
>                     intel_plane->rotation != BIT(DRM_ROTATE_0)) {
>                         intel_fbc_disable(dev);
>                 }
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
> index f3d5764..88d00d3 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -383,7 +383,7 @@ static void intel_fbc_work_fn(struct work_struct *__work)
>                 if (work->crtc->primary->fb == work->fb) {
>                         dev_priv->display.enable_fbc(work->crtc);
>
> -                       dev_priv->fbc.plane = to_intel_crtc(work->crtc)->plane;
> +                       dev_priv->fbc.crtc = to_intel_crtc(work->crtc);
>                         dev_priv->fbc.fb_id = work->crtc->primary->fb->base.id;
>                         dev_priv->fbc.y = work->crtc->y;
>                 }
> @@ -474,7 +474,7 @@ void intel_fbc_disable(struct drm_device *dev)
>                 return;
>
>         dev_priv->display.disable_fbc(dev);
> -       dev_priv->fbc.plane = -1;
> +       dev_priv->fbc.crtc = NULL;
>  }
>
>  static bool set_no_fbc_reason(struct drm_i915_private *dev_priv,
> @@ -626,7 +626,7 @@ void intel_fbc_update(struct drm_device *dev)
>          * cannot be unpinned (and have its GTT offset and fence revoked)
>          * without first being decoupled from the scanout and FBC disabled.
>          */
> -       if (dev_priv->fbc.plane == intel_crtc->plane &&
> +       if (dev_priv->fbc.crtc == intel_crtc &&
>             dev_priv->fbc.fb_id == fb->base.id &&
>             dev_priv->fbc.y == crtc->y)
>                 return;
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index c18e57d..942daca 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -1016,7 +1016,7 @@ intel_pre_disable_primary(struct drm_crtc *crtc)
>         struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
>
>         mutex_lock(&dev->struct_mutex);
> -       if (dev_priv->fbc.plane == intel_crtc->plane)
> +       if (dev_priv->fbc.crtc == intel_crtc)
>                 intel_fbc_disable(dev);
>         mutex_unlock(&dev->struct_mutex);
>
> --
> 2.1.3
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2014-12-13  0:58 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-08 16:09 [PATCH 00/11] FBC improvements + frontbuffer tracking conversion Paulo Zanoni
2014-12-08 16:09 ` [PATCH 01/11] drm/i915: Move FBC stuff to intel_fbc.c Paulo Zanoni
2014-12-08 16:09 ` [PATCH 02/11] drm/i915: Introduce FBC DocBook Paulo Zanoni
2014-12-08 16:49   ` Daniel Vetter
2014-12-08 14:46     ` [PATCH] " Rodrigo Vivi
2014-12-08 21:48     ` [PATCH 02/11] " Rodrigo Vivi
2014-12-09  9:52       ` Daniel Vetter
2014-12-08 16:09 ` [PATCH 03/11] drm/i915: don't try to find crtcs for FBC if it's disabled Paulo Zanoni
2014-12-13  0:53   ` Rodrigo Vivi
2014-12-15  8:35     ` Daniel Vetter
2014-12-08 16:09 ` [PATCH 04/11] drm/i915: don't keep reassigning FBC_UNSUPPORTED Paulo Zanoni
2014-12-13  0:55   ` Rodrigo Vivi
2014-12-15  8:37     ` Daniel Vetter
2014-12-08 16:09 ` [PATCH 05/11] drm/i915: change dev_priv->fbc.plane to dev_priv->fbc.crtc Paulo Zanoni
2014-12-13  0:58   ` Rodrigo Vivi [this message]
2014-12-08 16:09 ` [PATCH 06/11] drm/i915: pass which operation triggered the frontbuffer tracking Paulo Zanoni
2014-12-08 16:53   ` Daniel Vetter
2014-12-13  1:05     ` Rodrigo Vivi
2014-12-15  8:43       ` Daniel Vetter
2014-12-15 13:58         ` Paulo Zanoni
2014-12-08 16:09 ` [PATCH 07/11] drm/i915: also do frontbuffer tracking on pwrites Paulo Zanoni
2014-12-08 16:55   ` Daniel Vetter
2014-12-13  1:10     ` Rodrigo Vivi
2014-12-15  8:39       ` Daniel Vetter
2014-12-08 16:09 ` [PATCH 08/11] drm/i915: add fronbuffer tracking to FBC Paulo Zanoni
2014-12-13  1:12   ` [PATCH 6/9] drm/i915: add frontbuffer " Rodrigo Vivi
2014-12-13  1:16   ` [PATCH 08/11] drm/i915: add fronbuffer " Rodrigo Vivi
2014-12-15 14:00     ` [PATCH 8/11] drm/i915: add frontbuffer " Paulo Zanoni
2014-12-08 16:09 ` [PATCH 09/11] drm/i915: extract intel_fbc_find_crtc() Paulo Zanoni
2014-12-13  1:20   ` Rodrigo Vivi
2014-12-08 16:09 ` [PATCH 10/11] drm/i915: HSW+ FBC is tied to pipe A Paulo Zanoni
2014-12-13  1:23   ` Rodrigo Vivi
2014-12-15  8:41     ` Daniel Vetter
2014-12-08 16:09 ` [PATCH 11/11] drm/i915: gen5+ can have FBC with multiple pipes Paulo Zanoni
2014-12-09 16:08   ` shuang.he
2014-12-13  1:25   ` Rodrigo Vivi
2014-12-08 16:12 ` [PATCH igt 1/4] lib: add igt_wait() Paulo Zanoni
2014-12-08 16:12   ` [PATCH igt 2/4] tests/kms_fb_crc: call gem_sync() instead of gem_bo_busy() Paulo Zanoni
2014-12-08 16:12   ` [PATCH igt 3/4] tests/kms_fbc_crc: add wait_for_fbc_enabled() Paulo Zanoni
2014-12-08 16:12   ` [PATCH igt 4/4] tests/kms_fbc_crc: also gem_sync() on exec_nop() Paulo Zanoni
2014-12-08 16:40   ` [PATCH igt 1/4] lib: add igt_wait() Daniel Vetter

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='CABVU7+sKE0g1fpj3_ROWT=rs6WR878fbYWjGSySXXLKLe-MDNA@mail.gmail.com' \
    --to=rodrigo.vivi@gmail.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=paulo.r.zanoni@intel.com \
    --cc=przanoni@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.