All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Kleiner <mario.kleiner.de@gmail.com>
To: Gustavo Padovan <gustavo@padovan.org>, dri-devel@lists.freedesktop.org
Cc: "Gustavo Padovan" <gustavo.padovan@collabora.co.uk>,
	"David Airlie" <airlied@linux.ie>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Daniel Vetter" <daniel.vetter@ffwll.ch>,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Dave Airlie" <airlied@redhat.com>,
	"Ilia Mirkin" <imirkin@alum.mit.edu>,
	"Thierry Reding" <treding@nvidia.com>,
	"open list" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 07/14] drm/nouveau: use drm_crtc_send_vblank_event()
Date: Mon, 25 Apr 2016 09:01:10 +0200	[thread overview]
Message-ID: <571DC0B6.90504@gmail.com> (raw)
In-Reply-To: <1460656118-16766-7-git-send-email-gustavo@padovan.org>

On 04/14/2016 07:48 PM, Gustavo Padovan wrote:
> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
>
> Replace the legacy drm_send_vblank_event() with the new helper function.
>
> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
> ---
>   drivers/gpu/drm/nouveau/nouveau_display.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
> index 7ce7fa5..973c2d9 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_display.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_display.c
> @@ -841,10 +841,12 @@ nouveau_finish_page_flip(struct nouveau_channel *chan,
>
>   	s = list_first_entry(&fctx->flip, struct nouveau_page_flip_state, head);

Hi Gustavo

>   	if (s->event) {
> +		struct drm_crtc *crtc = drm_crtc_find(dev, s->crtc);
> +

I don't think this would work. s->crtc is a nouveau internal display 
pipe index, not a drm mode object id, so i don't think drm_crtc_find() 
will do what you need. Also it takes a mutex, which might_sleep() and i 
think nouveau_finish_page_flip gets called from irq context and holds a 
spin_lock_irqsave, so would end badly.

You'd probably have to extend struct nouveau_page_flip_state to carry 
around a reference to the required drm_crtc, set up in 
nouveau_crtc_page_flip().

-mario

>   		if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) {
>   			drm_arm_vblank_event(dev, s->crtc, s->event);
>   		} else {
> -			drm_send_vblank_event(dev, s->crtc, s->event);
> +			drm_crtc_send_vblank_event(crtc, s->event);
>
>   			/* Give up ownership of vblank for page-flipped crtc */
>   			drm_vblank_put(dev, s->crtc);
>

WARNING: multiple messages have this Message-ID (diff)
From: Mario Kleiner <mario.kleiner.de@gmail.com>
To: Gustavo Padovan <gustavo@padovan.org>, dri-devel@lists.freedesktop.org
Cc: Thierry Reding <treding@nvidia.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	open list <linux-kernel@vger.kernel.org>,
	Ben Skeggs <bskeggs@redhat.com>, Dave Airlie <airlied@redhat.com>,
	Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Subject: Re: [PATCH 07/14] drm/nouveau: use drm_crtc_send_vblank_event()
Date: Mon, 25 Apr 2016 09:01:10 +0200	[thread overview]
Message-ID: <571DC0B6.90504@gmail.com> (raw)
In-Reply-To: <1460656118-16766-7-git-send-email-gustavo@padovan.org>

On 04/14/2016 07:48 PM, Gustavo Padovan wrote:
> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
>
> Replace the legacy drm_send_vblank_event() with the new helper function.
>
> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
> ---
>   drivers/gpu/drm/nouveau/nouveau_display.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
> index 7ce7fa5..973c2d9 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_display.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_display.c
> @@ -841,10 +841,12 @@ nouveau_finish_page_flip(struct nouveau_channel *chan,
>
>   	s = list_first_entry(&fctx->flip, struct nouveau_page_flip_state, head);

Hi Gustavo

>   	if (s->event) {
> +		struct drm_crtc *crtc = drm_crtc_find(dev, s->crtc);
> +

I don't think this would work. s->crtc is a nouveau internal display 
pipe index, not a drm mode object id, so i don't think drm_crtc_find() 
will do what you need. Also it takes a mutex, which might_sleep() and i 
think nouveau_finish_page_flip gets called from irq context and holds a 
spin_lock_irqsave, so would end badly.

You'd probably have to extend struct nouveau_page_flip_state to carry 
around a reference to the required drm_crtc, set up in 
nouveau_crtc_page_flip().

-mario

>   		if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) {
>   			drm_arm_vblank_event(dev, s->crtc, s->event);
>   		} else {
> -			drm_send_vblank_event(dev, s->crtc, s->event);
> +			drm_crtc_send_vblank_event(crtc, s->event);
>
>   			/* Give up ownership of vblank for page-flipped crtc */
>   			drm_vblank_put(dev, s->crtc);
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2016-04-25  7:01 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-14 17:48 [PATCH 01/14] drm/amdgpu: use drm_crtc_send_vblank_event() Gustavo Padovan
2016-04-14 17:48 ` Gustavo Padovan
2016-04-14 17:48 ` [PATCH 02/14] drm/armada: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-14 17:48 ` [PATCH 03/14] drm/atmel: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-14 17:48 ` [PATCH 04/14] drm/i915: " Gustavo Padovan
2016-04-15  7:42   ` Daniel Vetter
2016-04-14 17:48 ` [PATCH 05/14] drm/msm: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-14 20:51   ` Rob Clark
2016-04-14 20:51     ` Rob Clark
2016-04-19 14:02     ` Gustavo Padovan
2016-04-19 14:02       ` Gustavo Padovan
2016-04-20 11:13       ` Daniel Vetter
2016-04-20 11:13         ` Daniel Vetter
2016-05-02 15:04     ` Daniel Vetter
2016-05-02 15:04       ` Daniel Vetter
2016-04-14 17:48 ` [PATCH 06/14] drm/qxl: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-14 17:48 ` [PATCH 07/14] drm/nouveau: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-25  7:01   ` Mario Kleiner [this message]
2016-04-25  7:01     ` Mario Kleiner
2016-04-25 20:06     ` Gustavo Padovan
2016-04-14 17:48 ` [PATCH 08/14] drm/radeon: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-14 17:48 ` [PATCH 09/14] drm/rcar-du: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-14 21:59   ` Laurent Pinchart
2016-04-14 21:59     ` Laurent Pinchart
2016-04-14 21:59     ` Laurent Pinchart
2016-04-14 17:48 ` [PATCH 10/14] drm/shmobile: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-14 21:59   ` Laurent Pinchart
2016-04-14 21:59     ` Laurent Pinchart
2016-04-14 21:59     ` Laurent Pinchart
2016-05-02 15:06     ` Daniel Vetter
2016-05-02 15:06       ` Daniel Vetter
2016-05-02 15:06       ` Daniel Vetter
2016-04-14 17:48 ` [PATCH 11/14] drm/tilcdc: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-19 12:56   ` Jyri Sarha
2016-04-19 12:56     ` Jyri Sarha
2016-04-19 14:03     ` Gustavo Padovan
2016-04-19 14:03       ` Gustavo Padovan
2016-05-02 15:05       ` Daniel Vetter
2016-05-02 15:05         ` Daniel Vetter
2016-05-02 18:58         ` Jyri Sarha
2016-05-02 18:58           ` Jyri Sarha
2016-04-14 17:48 ` [PATCH 12/14] drm/udl: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-14 17:48 ` [PATCH 13/14] drm/virtio: " Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-14 17:48 ` [PATCH 14/14] drm: remove legacy drm_send_vblank_event() Gustavo Padovan
2016-04-14 17:48   ` Gustavo Padovan
2016-04-15  2:55 ` [PATCH 01/14] drm/amdgpu: use drm_crtc_send_vblank_event() Michel Dänzer
2016-04-15  2:55   ` Michel Dänzer
2016-05-02 15:03   ` Daniel Vetter
2016-05-02 15:03     ` Daniel Vetter

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=571DC0B6.90504@gmail.com \
    --to=mario.kleiner.de@gmail.com \
    --cc=airlied@linux.ie \
    --cc=airlied@redhat.com \
    --cc=bskeggs@redhat.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gustavo.padovan@collabora.co.uk \
    --cc=gustavo@padovan.org \
    --cc=imirkin@alum.mit.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=treding@nvidia.com \
    --cc=ville.syrjala@linux.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 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.