All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Chandra Konduru <chandra.konduru@intel.com>
Cc: ander.conselvan.de.oliveira@intel.com,
	intel-gfx@lists.freedesktop.org, daniel.vetter@intel.com
Subject: Re: [PATCH 00/21] skylake display scalers
Date: Tue, 17 Mar 2015 15:32:57 +0100	[thread overview]
Message-ID: <20150317143257.GO21993@phenom.ffwll.local> (raw)
In-Reply-To: <1426398946-5900-1-git-send-email-chandra.konduru@intel.com>

On Sat, Mar 14, 2015 at 10:55:25PM -0700, Chandra Konduru wrote:
> This patch enables skylake display scalers in atomic framework.
> Skylake scalers are sharable within a pipe and can be used as a panel
> fitter or plane scaler. Two scalers cannot be ganged to a single plane
> to get higher scale factor but simultaneous use of one as plane scaler
> and one scaler as panel fitter is allowed. Reformatted previous patch
> series into smaller patches and addressed previous feedback inputs.
> Performed some initial testing and more testing is in works.
> Testing is done applying these patches on top of Ander's v2
> atomic crtc patches.
> As several atomic crtc is in flight, will revisit scalers and perform
> any additional testing after atomic crtc is in place.

Ok sprinkled a few smaller comments over a few patches, looks good overall
I think. And we discussed a bunch of the more tricky bits already in a 1:1
code walkthrough.

A few high-level bits:
- When splitting up patches pls dont make patches which just add
  functions/structs without using them. That makes it a lot harder to
  understand the big picture. The only exception is register #defines
  since reviewing those against Bspec can be done mostly independently of
  the code. So for functions make sure you have at least 1 use-site so
  that it's clear what it does. For structures just start out with the
  basic structure, then add members as you start using them.

  Since this amounts to a full rewrite of the patch series and this one
  here isn't too tricky I think it's ok to not do that here. But please
  follow this bkm for the next one.

- Testcase: We definitely don't have testcases for primary plane scaling
  (and panning fwiw), and iirc we also don't have any function testcases
  for sprite scaling.

- Testcases 2: I think we're also missing tests for the crtc pfit stuff.
  I think it'd be good to exercise the various resolutions and different
  boxing modes supported. I don't think we can do a full functional
  testcase here with crc.

- Unfortunately we can't yet test the sharing logic fully due to lack of
  atomic. But that's an open that we need to address once atomic has
  landed. Especially to make sure that extreme cases (e.g. all scalers
  used by planes <-> pfit enabled) work correctly.

Overall I think this is ready for detailed review. Since we lack igts I
recommend that the reviewer also does the igt coverage, that's a good way
to make sure all issues are caught.

Thanks, Daniel


> 
> Thanks,
> Chandra
> 
> Chandra Konduru (21):
>   drm/i915: Adding drm helper function drm_plane_from_index().
>   drm/i915: Register definitions for skylake scalers
>   drm/i915: Enable get_colorkey functions for primary plane.
>   drm/i915: skylake scaler structure definitions
>   drm/i915: Initialize skylake scalers
>   drm/i915: Dump scaler_state too as part of dumping crtc_state
>   drm/i915: Helper function to update skylake scaling ratio.
>   drm/i915: Add helper function to update scaler_users in crtc_state
>   drm/i915: Add atomic function to setup scalers scalers for a crtc.
>   drm/i915: Helper function to detach a scaler from a plane or crtc
>   drm/i915: Ensure planes begin with no scaler.
>   drm/i915: Ensure colorkey and scaling aren't enabled at same time
>   drm/i915: Preserve scaler state when clearing crtc_state
>   drm/i915: use current scaler state during readout_hw_state.
>   drm/i915: Update scaling ratio as part of crtc_compute_config
>   drm/i915: Ensure setting up scalers into staged crtc_state
>   drm/i915: copy staged scaler state from drm state to crtc->config.
>   drm/i915: stage panel fitting scaler request for fixed mode panel
>   drm/i915: Enable skylake panel fitting using skylake shared scalers
>   drm/i915: Enable skylake primary plane scaling using shared scalers
>   drm/i915: Enable skylake sprite plane scaling using shared scalers
> 
>  drivers/gpu/drm/drm_crtc.c           |   20 ++
>  drivers/gpu/drm/i915/i915_reg.h      |  114 +++++++++
>  drivers/gpu/drm/i915/intel_atomic.c  |  157 ++++++++++++
>  drivers/gpu/drm/i915/intel_display.c |  442 +++++++++++++++++++++++++++++++---
>  drivers/gpu/drm/i915/intel_dp.c      |    7 +
>  drivers/gpu/drm/i915/intel_drv.h     |  109 +++++++++
>  drivers/gpu/drm/i915/intel_sprite.c  |   95 ++++++--
>  include/drm/drm_crtc.h               |    1 +
>  8 files changed, 895 insertions(+), 50 deletions(-)
> 
> -- 
> 1.7.9.5
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2015-03-17 14:31 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-15  5:55 [PATCH 00/21] skylake display scalers Chandra Konduru
2015-03-15  5:55 ` [PATCH 01/21] drm/i915: Adding drm helper function drm_plane_from_index() Chandra Konduru
2015-03-17 14:05   ` Daniel Vetter
2015-03-17 18:12     ` Konduru, Chandra
2015-03-15  5:55 ` [PATCH 02/21] drm/i915: Register definitions for skylake scalers Chandra Konduru
2015-03-15  5:55 ` [PATCH 03/21] drm/i915: Enable get_colorkey functions for primary plane Chandra Konduru
2015-03-17 14:12   ` Daniel Vetter
2015-03-15  5:55 ` [PATCH 04/21] drm/i915: skylake scaler structure definitions Chandra Konduru
2015-03-17 16:13   ` Matt Roper
2015-03-17 21:20     ` Konduru, Chandra
2015-03-18  8:00       ` Daniel Vetter
2015-03-18  8:13         ` Daniel Vetter
2015-03-15  5:55 ` [PATCH 05/21] drm/i915: Initialize skylake scalers Chandra Konduru
2015-03-15  5:55 ` [PATCH 06/21] drm/i915: Dump scaler_state too as part of dumping crtc_state Chandra Konduru
2015-03-15  5:55 ` [PATCH 07/21] drm/i915: Helper function to update skylake scaling ratio Chandra Konduru
2015-03-17 16:35   ` Matt Roper
2015-03-17 21:23     ` Konduru, Chandra
2015-03-15  5:55 ` [PATCH 08/21] drm/i915: Add helper function to update scaler_users in crtc_state Chandra Konduru
2015-03-18  8:15   ` Daniel Vetter
2015-03-19 17:43     ` Konduru, Chandra
2015-03-20  9:57       ` Daniel Vetter
2015-03-15  5:55 ` [PATCH 09/21] drm/i915: Add atomic function to setup scalers scalers for a crtc Chandra Konduru
2015-03-15  5:55 ` [PATCH 10/21] drm/i915: Helper function to detach a scaler from a plane or crtc Chandra Konduru
2015-03-15  5:55 ` [PATCH 11/21] drm/i915: Ensure planes begin with no scaler Chandra Konduru
2015-03-15  5:55 ` [PATCH 12/21] drm/i915: Ensure colorkey and scaling aren't enabled at same time Chandra Konduru
2015-03-17 14:16   ` Daniel Vetter
2015-03-17 14:16     ` Chris Wilson
2015-03-17 14:38       ` Daniel Vetter
2015-03-17 15:12         ` Chris Wilson
2015-03-17 18:03           ` Konduru, Chandra
2015-03-15  5:55 ` [PATCH 13/21] drm/i915: Preserve scaler state when clearing crtc_state Chandra Konduru
2015-03-17 14:17   ` Daniel Vetter
2015-03-17 18:11     ` Konduru, Chandra
2015-03-18  6:24       ` Ander Conselvan De Oliveira
2015-03-15  5:55 ` [PATCH 14/21] drm/i915: use current scaler state during readout_hw_state Chandra Konduru
2015-03-17 14:19   ` Daniel Vetter
2015-03-17 18:54     ` Konduru, Chandra
2015-03-18  8:06       ` Daniel Vetter
2015-03-15  5:55 ` [PATCH 15/21] drm/i915: Update scaling ratio as part of crtc_compute_config Chandra Konduru
2015-03-15  5:55 ` [PATCH 16/21] drm/i915: Ensure setting up scalers into staged crtc_state Chandra Konduru
2015-03-15  5:55 ` [PATCH 17/21] drm/i915: copy staged scaler state from drm state to crtc->config Chandra Konduru
2015-03-15  5:55 ` [PATCH 18/21] drm/i915: stage panel fitting scaler request for fixed mode panel Chandra Konduru
2015-03-15  5:55 ` [PATCH 19/21] drm/i915: Enable skylake panel fitting using skylake shared scalers Chandra Konduru
2015-03-17 14:22   ` Daniel Vetter
2015-03-17 20:43     ` Konduru, Chandra
2015-03-18  8:19       ` Daniel Vetter
2015-03-15  5:55 ` [PATCH 20/21] drm/i915: Enable skylake primary plane scaling using " Chandra Konduru
2015-03-15  5:55 ` [PATCH 21/21] drm/i915: Enable skylake sprite " Chandra Konduru
2015-03-17 14:32 ` Daniel Vetter [this message]
2015-03-17 20:54   ` [PATCH 00/21] skylake display scalers Konduru, Chandra

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=20150317143257.GO21993@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=ander.conselvan.de.oliveira@intel.com \
    --cc=chandra.konduru@intel.com \
    --cc=daniel.vetter@intel.com \
    --cc=intel-gfx@lists.freedesktop.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 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.