dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Rob Clark <robdclark@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [RFCv1 10/12] drm: convert crtc to properties/state
Date: Mon, 7 Oct 2013 16:39:36 +0300	[thread overview]
Message-ID: <20131007133936.GH9395@intel.com> (raw)
In-Reply-To: <1381020350-1125-11-git-send-email-robdclark@gmail.com>

On Sat, Oct 05, 2013 at 08:45:48PM -0400, Rob Clark wrote:
> Break the mutable state of a crtc out into a separate structure
> and use atomic properties mechanism to set crtc attributes.  This
> makes it easier to have some helpers for crtc->set_property()
> and for checking for invalid params.  The idea is that individual
> drivers can wrap the state struct in their own struct which adds
> driver specific parameters, for easy build-up of state across
> multiple set_property() calls and for easy atomic commit or roll-
> back.

I'm not sure how we're going to handle the mismatch in the behaviour of
the atomic modeset vs. the current setcrtc.

The problem is that setcrtc ignore all kinds of conflicting
crtc->connector assignments, and just overwrites whatever was there
with the latest configuration. For the atomic case we want to return an
error if there's a conflict. And another thing is the DPMS handling. The
current API forces DPMS on when you do a modeset, but for the atomic
case I want to keep things nice and clean and avoid doing such silly
things.

So I don't think we can simply convert the current modeset codepaths to
call into the atomic code. We basically need another version of the
check function, or another step that happens before .check only in the
setcrtc case which eliminates the conflicts in a way that matches the
current setcrtc behaviour.

-- 
Ville Syrjälä
Intel OTC

  reply	other threads:[~2013-10-07 13:39 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-06  0:45 [RFCv1 00/12] Atomic/nuclear modeset/pageflip Rob Clark
2013-10-06  0:45 ` [RFCv1 01/12] drm: add atomic fxns Rob Clark
2013-10-06  0:45 ` [RFCv1 02/12] drm: add object property type Rob Clark
2013-10-07 13:43   ` Ville Syrjälä
2013-10-07 14:44     ` Rob Clark
2013-10-06  0:45 ` [RFCv1 03/12] drm: add DRM_MODE_PROP_DYNAMIC property flag Rob Clark
2013-10-07 13:46   ` Ville Syrjälä
2013-10-07 14:46     ` Rob Clark
2013-10-06  0:45 ` [RFCv1 04/12] drm: add DRM_MODE_PROP_SIGNED " Rob Clark
2013-10-07 14:46   ` Matt Plumtree
2013-10-06  0:45 ` [RFCv1 05/12] drm: helpers to find mode objects (BEFORE drm: split property values out) Rob Clark
2013-10-06  0:48   ` Rob Clark
2013-10-06  0:45 ` [RFCv1 06/12] drm: split propvals out and blob property support Rob Clark
2013-10-06  0:45 ` [RFCv1 07/12] drm: Allow drm_mode_object_find() to look up an object of any type Rob Clark
2013-10-06  0:45 ` [RFCv1 08/12] drm: Refactor object property check code Rob Clark
2013-10-07 13:47   ` Ville Syrjälä
2013-10-06  0:45 ` [RFCv1 09/12] drm: convert plane to properties/state Rob Clark
2013-10-06  0:45 ` [RFCv1 10/12] drm: convert crtc " Rob Clark
2013-10-07 13:39   ` Ville Syrjälä [this message]
2013-10-07 14:03     ` Rob Clark
2013-10-07 14:19       ` Ville Syrjälä
2013-10-07 14:29         ` Rob Clark
2013-10-07 17:51           ` Daniel Vetter
2013-10-06  0:45 ` [RFCv1 11/12] drm: Atomic modeset ioctl Rob Clark
2013-10-07 13:28   ` Ville Syrjälä
2013-10-07 13:55     ` Rob Clark
2013-10-07 14:18       ` Ville Syrjälä
2013-10-07 14:39         ` Rob Clark
2013-10-07 15:05           ` Ville Syrjälä
2013-10-07 15:20             ` Rob Clark
2013-10-07 17:56               ` Daniel Vetter
2013-10-07 18:49                 ` Rob Clark
2013-10-08 18:35         ` Matt Roper
2013-10-08 18:46           ` Rob Clark
2013-10-06  0:45 ` [RFCv1 12/12] ARM: add get_user() support for 8 byte types Rob Clark
2013-10-06  8:53   ` Russell King - ARM Linux
2013-10-06 14:09     ` Rob Clark
2013-10-06 15:56       ` Russell King - ARM Linux

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=20131007133936.GH9395@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=robdclark@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).