From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jyri Sarha <jsarha@ti.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 4/7] drm/omap: Implement CTM property for CRTC using OVL managers CPR matrix
Date: Thu, 5 Sep 2019 13:05:24 +0300 [thread overview]
Message-ID: <20190905100524.GF5035@pendragon.ideasonboard.com> (raw)
In-Reply-To: <67eafe69-e947-5572-b29c-f306b792f8ee@ti.com>
Hi Jyri,
On Thu, Sep 05, 2019 at 01:00:51PM +0300, Jyri Sarha wrote:
> On 05/09/2019 00:52, Laurent Pinchart wrote:
> >>>>>> static void omap_crtc_write_crtc_properties(struct drm_crtc *crtc)
> >>>>>> {
> >>>>>> struct omap_drm_private *priv = crtc->dev->dev_private;
> >>>>>> @@ -402,7 +428,16 @@ static void omap_crtc_write_crtc_properties(struct drm_crtc *crtc)
> >>>>>> info.default_color = 0x000000;
> >>>>>> info.trans_enabled = false;
> >>>>>> info.partial_alpha_enabled = false;
> >>>>>> - info.cpr_enable = false;
> >>>>>> +
> >>>>>> + if (crtc->state->ctm) {
> >>>>>> + struct drm_color_ctm *ctm =
> >>>>>> + (struct drm_color_ctm *) crtc->state->ctm->data;
> >>>>>> +
> >>>>>> + info.cpr_enable = true;
> >>>>>> + omap_crtc_cpr_coefs_from_ctm(ctm, &info.cpr_coefs);
> >>>>>
> >>>>> As an optimisation it would be nice to only write the coefficients when
> >>>>> they actually change. That could be implemented on top of this series.
> >>>>
> >>>> E.g. apply this ?
> >>>>
> >>>> - if (crtc->state->ctm)
> >>>> + if (crtc->state->color_mgmt_changed && crtc->state->ctm)
> >>>
> >>> Something like that, but .mgr_setup() should then be taught not to write
> >>> unchanged CTM tables to registers. Do you think it would be worth it ?
> >>
> >> Hmmm, jess I should do it like this:
> >> if (crtc->state->color_mgmt_changed) {
> >> if (crtc->state->ctm) {
> >> ...
> >>>>>> + } else {
> >>>>>> + info.cpr_enable = false;
> >>>>>> + }
> >> }
> >>
> >> This way the whole CPR functionality is turned off, if the there is no
> >> CTM in the crtc state.
> >
> > Yes, but you would also need to update .mgr_setup() :-) A new
> > color_mgmt_changed flag would be needed in the info structure too.
>
> I am starting to thing that such an "optimization" may not be worth the
> added complexity. The arithmetic and writing three registers is not that
> costly and we do not commit a new crtc state that often.
We call omap_crtc_write_crtc_properties() in omap_crtc_atomic_flush(),
so that's at every page flip...
> If we later consider otherwise we can add the optimization as a separate
> patch.
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-09-05 10:05 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-02 12:53 [PATCH 0/7] drm/omap: misc improvements Tomi Valkeinen
2019-09-02 12:53 ` [PATCH 1/7] drm/omap: drop unneeded locking from mgr_fld_write() Tomi Valkeinen
2019-09-03 14:14 ` Laurent Pinchart
2019-09-02 12:53 ` [PATCH 2/7] drm/omap: tweak HDMI DDC timings Tomi Valkeinen
2019-09-03 14:23 ` Laurent Pinchart
2019-09-26 12:54 ` Tomi Valkeinen
2019-09-26 14:40 ` Alejandro Hernandez
2019-09-02 12:53 ` [PATCH 3/7] drm/omap: fix missing scaler pixel fmt limitations Tomi Valkeinen
2019-09-03 15:12 ` Laurent Pinchart
2019-09-26 12:55 ` Tomi Valkeinen
2019-09-02 12:53 ` [PATCH 4/7] drm/omap: Implement CTM property for CRTC using OVL managers CPR matrix Tomi Valkeinen
2019-09-03 15:24 ` Laurent Pinchart
[not found] ` <b44372e2-1bb7-ddb8-d121-ae096b38d918@ti.com>
2019-09-04 11:11 ` Laurent Pinchart
2019-09-04 20:08 ` Jyri Sarha
2019-09-04 20:20 ` Ilia Mirkin
2020-09-21 11:08 ` Tomi Valkeinen
2020-09-21 11:49 ` Pekka Paalanen
2020-09-22 7:44 ` Tomi Valkeinen
2020-09-22 9:48 ` Pekka Paalanen
2020-09-22 10:02 ` Daniel Stone
2019-09-04 21:52 ` Laurent Pinchart
2019-09-05 10:00 ` Jyri Sarha
2019-09-05 10:05 ` Laurent Pinchart [this message]
2019-09-05 13:48 ` Jyri Sarha
2019-09-02 12:53 ` [PATCH 5/7] drm/omap: Enable COLOR_ENCODING and COLOR_RANGE properties for planes Tomi Valkeinen
2019-09-03 15:32 ` Laurent Pinchart
2019-09-05 9:24 ` Jyri Sarha
2019-09-05 9:43 ` Laurent Pinchart
2019-09-02 12:53 ` [PATCH 6/7] drm/omap: dss: platform_register_drivers() to dss.c and remove core.c Tomi Valkeinen
2019-09-03 15:34 ` Laurent Pinchart
2019-09-04 6:47 ` Jyri Sarha
2019-09-02 12:53 ` [PATCH 7/7] drm/omap: hdmi5: automatically choose limited/full range output Tomi Valkeinen
2019-09-03 15:38 ` Laurent Pinchart
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=20190905100524.GF5035@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jsarha@ti.com \
--cc=tomi.valkeinen@ti.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