From: Daniel Vetter <daniel@ffwll.ch>
To: Matt Roper <matthew.d.roper@intel.com>
Cc: ander.conselvan.de.oliveira@intel.com, daniel.vetter@intel.com,
intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 04/21 v2] drm/i915: skylake scaler structure definitions
Date: Wed, 25 Mar 2015 14:22:19 +0100 [thread overview]
Message-ID: <20150325132219.GX1349@phenom.ffwll.local> (raw)
In-Reply-To: <20150325051354.GE28667@intel.com>
On Tue, Mar 24, 2015 at 10:13:54PM -0700, Matt Roper wrote:
> On Fri, Mar 20, 2015 at 05:04:25PM -0700, Chandra Konduru wrote:
> > +struct intel_scaler {
> > + int id;
> > + int in_use;
> > + uint32_t mode;
>
> If I'm reading later patches correctly, this looks like this is always
> PS_SCALER_MODE_HQ if one scaler is needed, or PS_SCALER_MODE_DYN if
> multiple scalers are needed. So the values for each of a CRTC's scalers
> doesn't actually vary; should this just be a single value in
> intel_crtc_scalar_state rather than being duplicated for each scaler?
Or we can just compute it at runtime with hweight of the inuse scaler
bitmask.
> > + uint32_t filter;
>
> Is filter a constant? Unless I missed something in later patches, it
> looks like it's set to PS_FILTER_MEDIUM and then never changed. Can we
> drop the field and just use the constant itself where appropriate?
Concured. I prefer that we add struct members only when there's a need -
all that indirection just makes it harder to follow the code logic.
I also agree with all of the other comments from Matt cut out here.
[snip]
> > + struct intel_crtc_scaler_state scaler_state;
>
> If we can kill off a bunch of the fields above, then we may be able to
> put the remaining few fields directly in intel_crtc_state and eliminate
> a level of structure nesting, which might make things a bit simpler.
Imo substructures for separate things make sense - otherwise we'll just
have a pile of members with the same prefix, which semantically is exactly
the same thing. But I agree that reducing dynamic state to only the bits
that are indeed dynamic (and not trivially derived from existing dynamic
state) is a good goal.
-Daniel
--
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
next prev parent reply other threads:[~2015-03-25 13:20 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-21 0:04 [PATCH 00/21 v2] Adding support for skylake shared scalers Chandra Konduru
2015-03-21 0:04 ` [PATCH 01/21 v2] drm/i915: Adding drm helper function drm_plane_from_index() Chandra Konduru
2015-03-23 9:32 ` Daniel Vetter
2015-03-23 16:32 ` Konduru, Chandra
2015-03-21 0:04 ` [PATCH 02/21 v2] drm/i915: Register definitions for skylake scalers Chandra Konduru
2015-03-21 0:04 ` [PATCH 03/21 v2] drm/i915: Enable get_colorkey functions for primary plane Chandra Konduru
2015-03-21 0:04 ` [PATCH 04/21 v2] drm/i915: skylake scaler structure definitions Chandra Konduru
2015-03-25 5:13 ` Matt Roper
2015-03-25 13:22 ` Daniel Vetter [this message]
2015-03-25 16:54 ` Konduru, Chandra
2015-03-21 0:04 ` [PATCH 05/21 v2] drm/i915: Initialize skylake scalers Chandra Konduru
2015-03-25 5:14 ` Matt Roper
2015-03-25 13:24 ` Daniel Vetter
2015-03-25 16:56 ` Konduru, Chandra
2015-03-25 23:21 ` [PATCH 05/21 v3] " Chandra Konduru
2015-03-21 0:04 ` [PATCH 06/21 v2] drm/i915: Dump scaler_state too as part of dumping crtc_state Chandra Konduru
2015-03-21 0:04 ` [PATCH 07/21 v2] drm/i915: Helper function to update skylake scaling ratio Chandra Konduru
2015-03-25 5:14 ` Matt Roper
2015-03-25 17:37 ` Konduru, Chandra
2015-03-25 23:21 ` [PATCH 07/21 v3] " Chandra Konduru
2015-03-21 0:04 ` [PATCH 08/21 v2] drm/i915: Add helper function to update scaler_users in crtc_state Chandra Konduru
2015-03-25 5:15 ` Matt Roper
2015-03-25 19:20 ` Konduru, Chandra
2015-03-25 20:58 ` Matt Roper
2015-03-25 22:02 ` Konduru, Chandra
2015-03-25 23:21 ` [PATCH 08/21 v3] " Chandra Konduru
2015-03-21 0:04 ` [PATCH 09/21 v2] drm/i915: Add atomic function to setup scalers scalers for a crtc Chandra Konduru
2015-03-25 5:15 ` Matt Roper
2015-03-25 19:46 ` Konduru, Chandra
2015-03-25 23:21 ` [PATCH 09/21 v3] " Chandra Konduru
2015-03-21 0:04 ` [PATCH 10/21 v2] drm/i915: Helper function to detach a scaler from a plane or crtc Chandra Konduru
2015-03-25 5:15 ` Matt Roper
2015-03-25 20:14 ` Konduru, Chandra
2015-03-25 21:13 ` Matt Roper
2015-03-25 21:28 ` Konduru, Chandra
2015-03-28 0:21 ` Matt Roper
2015-03-30 19:06 ` Konduru, Chandra
2015-03-25 23:21 ` [PATCH 10/21 v3] " Chandra Konduru
2015-03-21 0:04 ` [PATCH 11/21 v2] drm/i915: Ensure planes begin with no scaler Chandra Konduru
2015-03-25 5:17 ` Matt Roper
2015-03-21 0:04 ` [PATCH 12/21 v2] drm/i915: Ensure colorkey and scaling aren't enabled at same time Chandra Konduru
2015-03-25 17:21 ` Matt Roper
2015-03-25 17:29 ` Konduru, Chandra
2015-03-21 0:04 ` [PATCH 13/21 v2] drm/i915: Preserve scaler state when clearing crtc_state Chandra Konduru
2015-03-21 0:04 ` [PATCH 14/21 v2] drm/i915: use current scaler state during readout_hw_state Chandra Konduru
2015-03-21 0:04 ` [PATCH 15/21 v2] drm/i915: Update scaling ratio as part of crtc_compute_config Chandra Konduru
2015-03-21 0:04 ` [PATCH 16/21 v2] drm/i915: Ensure setting up scalers into staged crtc_state Chandra Konduru
2015-03-25 17:21 ` Matt Roper
2015-03-25 17:26 ` Konduru, Chandra
2015-03-21 0:04 ` [PATCH 17/21 v2] drm/i915: copy staged scaler state from drm state to crtc->config Chandra Konduru
2015-03-21 0:04 ` [PATCH 18/21 v2] drm/i915: stage panel fitting scaler request for fixed mode panel Chandra Konduru
2015-03-21 0:04 ` [PATCH 19/21 v2] drm/i915: Enable skylake panel fitting using skylake shared scalers Chandra Konduru
2015-03-21 0:04 ` [PATCH 20/21 v2] drm/i915: Enable skylake primary plane scaling using " Chandra Konduru
2015-03-21 0:04 ` [PATCH 21/21 v2] drm/i915: Enable skylake sprite " Chandra Konduru
2015-03-25 21:29 ` Matt Roper
2015-03-25 21:55 ` 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=20150325132219.GX1349@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=ander.conselvan.de.oliveira@intel.com \
--cc=daniel.vetter@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=matthew.d.roper@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox