All of lore.kernel.org
 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" <dri-devel@lists.freedesktop.org>
Subject: Re: crtc ganging in KMS, "large" displays, etc
Date: Tue, 1 Apr 2014 17:12:16 +0300	[thread overview]
Message-ID: <20140401141216.GH21652@intel.com> (raw)
In-Reply-To: <CAF6AEGs-NnkprqFNJQHhO0T9U0C15TApT0CHZovuK-49Lf_YyQ@mail.gmail.com>

On Tue, Apr 01, 2014 at 09:54:40AM -0400, Rob Clark wrote:
> On Tue, Apr 1, 2014 at 9:40 AM, Daniel Vetter <daniel@ffwll.ch> wrote:
> > On Tue, Apr 01, 2014 at 08:40:54AM -0400, Rob Clark wrote:
> >> No, not really.  I was just trying to get away with pushing some
> >> complexity (for case #1) up to userspace instead of doing it in the
> >> kernel.
> >
> > To clarify: I don't think it makes sense to fully abstract this away in
> > the kernel, especially if userspace needs to be aware of the boundary
> > between the crtcs so that it can correctly tile up the logical frambuffer.
> > But I'm not sure whether trying to make that possible with a generic
> > userspace driver is sensible, or whether having a bit of magic glue code
> > in the ddx/wayland/hwc part for e.g. msm is the better option, at least in
> > the short term.
> >
> > Since if the set of useable planes actually changes we need to push that
> > decision up the stack even further like wayland/hwc currently allow, and
> > maybe there's some things we need to fix at that layer first. Once we've
> > learned that lesson we can push things down again and add a neat little
> > generic kernel interface. At least thus far we've always done a bit of
> > prototyping with driver-specific code to learn a few lessons, e.g. the
> > various pieces of non-standard plane/overlay in i915.
> 
> right, things like 'STATUS' property for returning per-object status
> would start as driver custom.  (And even 'SLAVE_CRTC'..)  Userspace
> could look for certain property names in the same way that it looks
> for certain gl extension strings.  But should be semi-standardized, so
> other drivers which need the same thing should use same property
> names/values/behaviors as much as possible.. which was the point for
> starting the thread ;-)

What's the problem with just using two crtcs? With the atomic API you
just shovel the state for both down into the driver in one ioctl. This
is pretty much what we'll need to do to drive those 4k MST DP displays
as well. The driver will then have to do its best to genlock the crtcs
if the hardware doesn't do it fully. IIRC that's how we're going to have
to do the MST stuff, ie. use the same clock source for both obviously,
and try to start all the pipes as fast as possible so that the vblanks
line up. And that's going to require more changes to our modesetting
codepaths.

So, I don't see a need for any SLAVE_CRTC properties or dynamic remapping
of resources. The latter would get nasty when the resources (eg. planes)
aren't uniform anyway. Just let userspace figure it out.

-- 
Ville Syrjälä
Intel OTC

  reply	other threads:[~2014-04-01 14:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-31 18:04 crtc ganging in KMS, "large" displays, etc Rob Clark
2014-04-01  8:04 ` Daniel Vetter
2014-04-01 12:40   ` Rob Clark
2014-04-01 13:07     ` Rob Clark
2014-04-01 13:40     ` Daniel Vetter
2014-04-01 13:54       ` Rob Clark
2014-04-01 14:12         ` Ville Syrjälä [this message]
2014-04-01 14:22           ` Rob Clark
2014-04-01 14:42             ` Ville Syrjälä
2014-04-01 15:00               ` Rob Clark

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=20140401141216.GH21652@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 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.