From: Boris BREZILLON <boris.brezillon@free-electrons.com>
To: Rob Clark <robdclark@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Nicolas Ferre <nicolas.ferre@atmel.com>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Bo Shen <voice.shen@atmel.com>, Lee Jones <lee.jones@linaro.org>,
Jean-Jacques Hiblot <jjhiblot@traphandler.com>,
Samuel Ortiz <sameo@linux.intel.com>,
Tim Niemeyer <tim.niemeyer@corscience.de>,
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
linux-pwm@vger.kernel.org, Pawel Moll <pawel.moll@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Rob Herring <robh+dt@kernel.org>,
Andrew Victor <linux@maxim.org.za>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.c>
Subject: Re: [RESEND PATCH v3 05/11] drm: add Atmel HLCDC Display Controller support
Date: Tue, 15 Jul 2014 13:26:24 +0200 [thread overview]
Message-ID: <20140715132624.00add008@bbrezillon> (raw)
In-Reply-To: <CAF6AEGv=irY0B-Cg6No7voadnShYQTwSLpZjk19xxX5qGcZeMw@mail.gmail.com>
On Sat, 12 Jul 2014 14:37:16 -0400
Rob Clark <robdclark@gmail.com> wrote:
> On Sat, Jul 12, 2014 at 2:16 PM, Boris BREZILLON
> <boris.brezillon@free-electrons.com> wrote:
> > Hello,
> >
> > On Mon, 7 Jul 2014 18:42:58 +0200
> > Boris BREZILLON <boris.brezillon@free-electrons.com> wrote:
> >
> >
> >> +int atmel_hlcdc_layer_disable(struct atmel_hlcdc_layer *layer)
> >> +{
> >> + struct atmel_hlcdc_layer_dma_channel *dma = &layer->dma;
> >> + unsigned long flags;
> >> + int i;
> >> +
> >> + spin_lock_irqsave(&dma->lock, flags);
> >> + for (i = 0; i < layer->max_planes; i++) {
> >> + if (!dma->cur[i])
> >> + break;
> >> +
> >> + dma->cur[i]->ctrl = 0;
> >> + }
> >> + spin_unlock_irqrestore(&dma->lock, flags);
> >> +
> >> + return 0;
> >> +}
> >
> >
> > I'm trying to simplify the hlcdc_layer code and in order to do that I
> > need to know what's expected when a user calls plane_disable (or more
> > exactly DRM_IOCTL_MODE_SETPLANE ioctl call with the frame buffer ID set
> > to 0).
> >
> > The HLCDC Display Controller support two types of disable:
> >
> > 1) The plane is disabled at the end of the current frame (the is the
> > solution I'm using)
> >
> > 2) The plane is disabled right away (I haven't tested it, but I think
> > this solution could generate some sort of artifacts for a short period
> > of time, because the framebuffer might be partially displayed)
> >
> > If solution 1 is chosen, should I wait for the plane to be actually
> > disabled before returning ?
>
> for cursor in particular, if you block, it is going to be a massive
> slowdown for some apps. I remember at least older gdm would rapidly
> flash a spinning cursor. As a result, if you wait for vsync each
> time, it would take a couple minutes to login!
That makes sense.
>
> if #2 works, I'd recommend it. Otherwise you may have to do some of
> the same hijinks that I have to do in mdp4_crtc for the cursor.
I already have a working solution which does not block with #1, I was
just trying to simplify my code ;-).
I'll try #2 and if it works without any side effects I'll go for it.
Thanks,
Boris
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
WARNING: multiple messages have this Message-ID (diff)
From: boris.brezillon@free-electrons.com (Boris BREZILLON)
To: linux-arm-kernel@lists.infradead.org
Subject: [RESEND PATCH v3 05/11] drm: add Atmel HLCDC Display Controller support
Date: Tue, 15 Jul 2014 13:26:24 +0200 [thread overview]
Message-ID: <20140715132624.00add008@bbrezillon> (raw)
In-Reply-To: <CAF6AEGv=irY0B-Cg6No7voadnShYQTwSLpZjk19xxX5qGcZeMw@mail.gmail.com>
On Sat, 12 Jul 2014 14:37:16 -0400
Rob Clark <robdclark@gmail.com> wrote:
> On Sat, Jul 12, 2014 at 2:16 PM, Boris BREZILLON
> <boris.brezillon@free-electrons.com> wrote:
> > Hello,
> >
> > On Mon, 7 Jul 2014 18:42:58 +0200
> > Boris BREZILLON <boris.brezillon@free-electrons.com> wrote:
> >
> >
> >> +int atmel_hlcdc_layer_disable(struct atmel_hlcdc_layer *layer)
> >> +{
> >> + struct atmel_hlcdc_layer_dma_channel *dma = &layer->dma;
> >> + unsigned long flags;
> >> + int i;
> >> +
> >> + spin_lock_irqsave(&dma->lock, flags);
> >> + for (i = 0; i < layer->max_planes; i++) {
> >> + if (!dma->cur[i])
> >> + break;
> >> +
> >> + dma->cur[i]->ctrl = 0;
> >> + }
> >> + spin_unlock_irqrestore(&dma->lock, flags);
> >> +
> >> + return 0;
> >> +}
> >
> >
> > I'm trying to simplify the hlcdc_layer code and in order to do that I
> > need to know what's expected when a user calls plane_disable (or more
> > exactly DRM_IOCTL_MODE_SETPLANE ioctl call with the frame buffer ID set
> > to 0).
> >
> > The HLCDC Display Controller support two types of disable:
> >
> > 1) The plane is disabled at the end of the current frame (the is the
> > solution I'm using)
> >
> > 2) The plane is disabled right away (I haven't tested it, but I think
> > this solution could generate some sort of artifacts for a short period
> > of time, because the framebuffer might be partially displayed)
> >
> > If solution 1 is chosen, should I wait for the plane to be actually
> > disabled before returning ?
>
> for cursor in particular, if you block, it is going to be a massive
> slowdown for some apps. I remember at least older gdm would rapidly
> flash a spinning cursor. As a result, if you wait for vsync each
> time, it would take a couple minutes to login!
That makes sense.
>
> if #2 works, I'd recommend it. Otherwise you may have to do some of
> the same hijinks that I have to do in mdp4_crtc for the cursor.
I already have a working solution which does not block with #1, I was
just trying to simplify my code ;-).
I'll try #2 and if it works without any side effects I'll go for it.
Thanks,
Boris
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
next prev parent reply other threads:[~2014-07-15 11:26 UTC|newest]
Thread overview: 149+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-07 16:42 [RESEND PATCH v3 00/11] drm: add support for Atmel HLCDC Display Controller Boris BREZILLON
2014-07-07 16:42 ` Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 01/11] mfd: add atmel-hlcdc driver Boris BREZILLON
2014-07-07 16:42 ` Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 02/11] mfd: add documentation for atmel-hlcdc DT bindings Boris BREZILLON
2014-07-07 16:42 ` Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 03/11] pwm: add support for atmel-hlcdc-pwm device Boris BREZILLON
2014-07-07 16:42 ` Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 04/11] pwm: add DT bindings documentation for atmel-hlcdc-pwm driver Boris BREZILLON
2014-07-07 16:42 ` Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 05/11] drm: add Atmel HLCDC Display Controller support Boris BREZILLON
2014-07-07 16:42 ` Boris BREZILLON
2014-07-08 3:45 ` Rob Clark
2014-07-08 7:23 ` Boris BREZILLON
2014-07-08 7:23 ` Boris BREZILLON
2014-07-08 12:49 ` Rob Clark
2014-07-08 12:49 ` Rob Clark
2014-07-08 14:37 ` Boris BREZILLON
2014-07-08 14:37 ` Boris BREZILLON
2014-07-08 15:41 ` Rob Clark
2014-07-08 15:41 ` Rob Clark
2014-07-08 17:08 ` Boris BREZILLON
2014-07-08 17:08 ` Boris BREZILLON
2014-07-08 23:51 ` Matt Roper
2014-07-08 23:51 ` Matt Roper
2014-07-09 7:14 ` Boris BREZILLON
2014-07-09 7:14 ` Boris BREZILLON
2014-07-09 14:02 ` Daniel Vetter
2014-07-09 14:02 ` Daniel Vetter
2014-07-09 8:18 ` Boris BREZILLON
2014-07-09 8:18 ` Boris BREZILLON
2014-07-09 11:53 ` Rob Clark
2014-07-09 11:53 ` Rob Clark
2014-07-11 15:17 ` [RFC PATCH] drm: rework flip-work helpers to avoid calling func when the FIFO is full Boris BREZILLON
2014-07-11 15:41 ` Rob Clark
2014-07-11 15:47 ` Boris BREZILLON
2014-07-11 15:57 ` Boris BREZILLON
2014-07-11 16:05 ` Rob Clark
2014-07-12 18:16 ` [RESEND PATCH v3 05/11] drm: add Atmel HLCDC Display Controller support Boris BREZILLON
2014-07-12 18:16 ` Boris BREZILLON
2014-07-12 18:37 ` Rob Clark
2014-07-12 18:37 ` Rob Clark
2014-07-15 11:26 ` Boris BREZILLON [this message]
2014-07-15 11:26 ` Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 06/11] drm: add DT bindings documentation for atmel-hlcdc-dc driver Boris BREZILLON
2014-07-07 16:42 ` Boris BREZILLON
2014-07-10 11:16 ` Laurent Pinchart
2014-07-10 11:16 ` Laurent Pinchart
2014-07-10 12:56 ` Boris BREZILLON
2014-07-10 12:56 ` Boris BREZILLON
2014-07-11 10:37 ` Laurent Pinchart
2014-07-11 10:37 ` Laurent Pinchart
2014-07-11 12:00 ` Boris BREZILLON
2014-07-11 12:00 ` Boris BREZILLON
2014-07-11 12:19 ` Boris BREZILLON
2014-07-11 12:19 ` Boris BREZILLON
2014-07-14 10:18 ` Thierry Reding
2014-07-14 10:18 ` Thierry Reding
2014-07-15 11:45 ` Boris BREZILLON
2014-07-15 11:45 ` Boris BREZILLON
2014-07-14 10:05 ` Thierry Reding
2014-07-14 10:05 ` Thierry Reding
2014-07-15 10:06 ` Boris BREZILLON
2014-07-15 10:06 ` Boris BREZILLON
2014-07-15 10:20 ` Laurent Pinchart
2014-07-15 10:20 ` Laurent Pinchart
2014-07-15 10:37 ` Thierry Reding
2014-07-15 10:37 ` Thierry Reding
2014-07-15 10:43 ` Laurent Pinchart
2014-07-15 10:43 ` Laurent Pinchart
2014-07-15 10:52 ` Thierry Reding
2014-07-15 10:52 ` Thierry Reding
2014-07-15 11:07 ` Laurent Pinchart
2014-07-15 11:07 ` Laurent Pinchart
2014-07-16 13:05 ` Boris BREZILLON
2014-07-16 13:05 ` Boris BREZILLON
2014-07-16 13:20 ` Laurent Pinchart
2014-07-16 13:20 ` Laurent Pinchart
2014-07-16 13:20 ` Laurent Pinchart
2014-07-16 13:44 ` Boris BREZILLON
2014-07-16 13:44 ` Boris BREZILLON
2014-07-15 12:14 ` Boris BREZILLON
2014-07-15 12:14 ` Boris BREZILLON
2014-07-15 10:31 ` Thierry Reding
2014-07-15 10:31 ` Thierry Reding
2014-07-18 14:51 ` Boris BREZILLON
2014-07-18 14:51 ` Boris BREZILLON
2014-07-18 15:43 ` Boris BREZILLON
2014-07-18 15:43 ` Boris BREZILLON
2014-07-21 8:59 ` Thierry Reding
2014-07-21 8:59 ` Thierry Reding
2014-07-21 9:24 ` Boris BREZILLON
2014-07-21 9:24 ` Boris BREZILLON
2014-07-21 9:32 ` Laurent Pinchart
2014-07-21 9:32 ` Laurent Pinchart
2014-07-21 9:57 ` Boris BREZILLON
2014-07-21 9:57 ` Boris BREZILLON
2014-07-21 12:12 ` Thierry Reding
2014-07-21 12:12 ` Thierry Reding
2014-07-21 12:16 ` Laurent Pinchart
2014-07-21 12:16 ` Laurent Pinchart
2014-07-21 12:34 ` Boris BREZILLON
2014-07-21 12:34 ` Boris BREZILLON
2014-07-21 12:55 ` Thierry Reding
2014-07-21 12:55 ` Thierry Reding
2014-07-21 13:22 ` Laurent Pinchart
2014-07-21 13:22 ` Laurent Pinchart
2014-07-21 13:30 ` Thierry Reding
2014-07-21 13:30 ` Thierry Reding
2014-07-21 13:43 ` Boris BREZILLON
2014-07-21 13:43 ` Boris BREZILLON
2014-07-21 13:47 ` Laurent Pinchart
2014-07-21 13:47 ` Laurent Pinchart
2014-07-21 13:54 ` Thierry Reding
2014-07-21 13:54 ` Thierry Reding
2014-07-21 14:21 ` Boris BREZILLON
2014-07-21 14:21 ` Boris BREZILLON
2014-07-21 18:30 ` Laurent Pinchart
2014-07-21 18:30 ` Laurent Pinchart
2014-07-21 22:04 ` Thierry Reding
2014-07-21 22:04 ` Thierry Reding
2014-07-21 14:18 ` Boris BREZILLON
2014-07-21 14:18 ` Boris BREZILLON
2014-07-21 18:32 ` Laurent Pinchart
2014-07-21 18:32 ` Laurent Pinchart
2014-07-21 17:06 ` Russell King - ARM Linux
2014-07-21 17:06 ` Russell King - ARM Linux
2014-07-21 22:17 ` Thierry Reding
2014-07-21 22:17 ` Thierry Reding
2014-07-21 12:15 ` Thierry Reding
2014-07-21 12:15 ` Thierry Reding
2014-07-21 12:33 ` Boris BREZILLON
2014-07-21 12:33 ` Boris BREZILLON
2014-07-21 12:56 ` Thierry Reding
2014-07-21 12:56 ` Thierry Reding
2014-07-21 13:26 ` Laurent Pinchart
2014-07-21 13:26 ` Laurent Pinchart
2014-07-21 13:33 ` Thierry Reding
2014-07-21 13:33 ` Thierry Reding
2014-07-07 16:43 ` [RESEND PATCH v3 07/11] ARM: AT91/dt: split sama5d3 lcd pin definitions to match RGB mode configs Boris BREZILLON
2014-07-07 16:43 ` Boris BREZILLON
2014-07-07 16:43 ` [RESEND PATCH v3 08/11] ARM: AT91/dt: add alternative pin muxing for sama5d3 lcd pins Boris BREZILLON
2014-07-07 16:43 ` Boris BREZILLON
2014-07-07 16:43 ` [RESEND PATCH v3 09/11] ARM: at91/dt: define the HLCDC node available on sama5d3 SoCs Boris BREZILLON
2014-07-07 16:43 ` Boris BREZILLON
2014-07-07 16:43 ` [RESEND PATCH v3 10/11] ARM: at91/dt: add LCD panel description to sama5d3xdm.dtsi Boris BREZILLON
2014-07-07 16:43 ` Boris BREZILLON
2014-07-07 16:43 ` [RESEND PATCH v3 11/11] ARM: at91/dt: enable the LCD panel on sama5d3xek boards Boris BREZILLON
2014-07-07 16:43 ` Boris BREZILLON
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=20140715132624.00add008@bbrezillon \
--to=boris.brezillon@free-electrons.com \
--cc=alexandre.belloni@free-electrons.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=jjhiblot@traphandler.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pwm@vger.kernel.org \
--cc=linux@maxim.org.za \
--cc=mark.rutland@arm.com \
--cc=nicolas.ferre@atmel.com \
--cc=pawel.moll@arm.com \
--cc=plagnioj@jcrosoft.com \
--cc=robdclark@gmail.com \
--cc=robh+dt@kernel.org \
--cc=sameo@linux.intel.com \
--cc=thomas.petazzoni@free-electrons.c \
--cc=tim.niemeyer@corscience.de \
--cc=voice.shen@atmel.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.