All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Deucher <alexdeucher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "Christian König"
	<ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: amd-gfx list <amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: [PATCH 09/11] drm/amdgpu: add support for processing IH ring 1 & 2
Date: Fri, 30 Nov 2018 11:10:18 -0500	[thread overview]
Message-ID: <CADnq5_Pb4BTJpTvbUYUTJJ2S4OK4-_J6Aj+wMZ2zHS1LHgdCGw@mail.gmail.com> (raw)
In-Reply-To: <20181130123558.14898-9-christian.koenig-5C7GfCeVMHo@public.gmane.org>

On Fri, Nov 30, 2018 at 7:36 AM Christian König
<ckoenig.leichtzumerken@gmail.com> wrote:
>
> Previously we only added the ring buffer memory, now add the handling as
> well.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>

Acked-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 33 +++++++++++++++++++++++++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h |  4 ++-
>  2 files changed, 36 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> index 127ed7de841d..64ec92bd74fb 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> @@ -176,6 +176,36 @@ irqreturn_t amdgpu_irq_handler(int irq, void *arg)
>         return ret;
>  }
>
> +/**
> + * amdgpu_irq_handle_ih1 - kick of processing for IH1
> + *
> + * @work: work structure in struct amdgpu_irq
> + *
> + * Kick of processing IH ring 1.
> + */
> +static void amdgpu_irq_handle_ih1(struct work_struct *work)
> +{
> +       struct amdgpu_device *adev = container_of(work, struct amdgpu_device,
> +                                                 irq.ih1_work);
> +
> +       amdgpu_ih_process(adev, &adev->irq.ih1, amdgpu_irq_callback);
> +}
> +
> +/**
> + * amdgpu_irq_handle_ih2 - kick of processing for IH2
> + *
> + * @work: work structure in struct amdgpu_irq
> + *
> + * Kick of processing IH ring 2.
> + */
> +static void amdgpu_irq_handle_ih2(struct work_struct *work)
> +{
> +       struct amdgpu_device *adev = container_of(work, struct amdgpu_device,
> +                                                 irq.ih2_work);
> +
> +       amdgpu_ih_process(adev, &adev->irq.ih2, amdgpu_irq_callback);
> +}
> +
>  /**
>   * amdgpu_msi_ok - check whether MSI functionality is enabled
>   *
> @@ -240,6 +270,9 @@ int amdgpu_irq_init(struct amdgpu_device *adev)
>                                 amdgpu_hotplug_work_func);
>         }
>
> +       INIT_WORK(&adev->irq.ih1_work, amdgpu_irq_handle_ih1);
> +       INIT_WORK(&adev->irq.ih2_work, amdgpu_irq_handle_ih2);
> +
>         adev->irq.installed = true;
>         r = drm_irq_install(adev->ddev, adev->ddev->pdev->irq);
>         if (r) {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h
> index 7e06fa64321a..c27decfda494 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h
> @@ -89,7 +89,9 @@ struct amdgpu_irq {
>
>         /* interrupt rings */
>         struct amdgpu_ih_ring           ih, ih1, ih2;
> -       const struct amdgpu_ih_funcs    *ih_funcs;
> +       const struct amdgpu_ih_funcs    *ih_funcs;
> +       struct work_struct              ih1_work, ih2_work;
> +       struct amdgpu_irq_src           self_irq;
>
>         /* gen irq stuff */
>         struct irq_domain               *domain; /* GPU irq controller domain */
> --
> 2.17.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2018-11-30 16:10 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-30 12:35 [PATCH 01/11] drm/amdgpu: add missing error handling Christian König
     [not found] ` <20181130123558.14898-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 12:35   ` [PATCH 02/11] drm/amdgpu: send IVs to the KFD only after processing them v2 Christian König
     [not found]     ` <20181130123558.14898-2-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 16:02       ` Alex Deucher
     [not found]         ` <CADnq5_OipWaH0=BMMmzJMu-gUKZt-L=nG4Dkt2GWQgMnCKxG1w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-30 16:31           ` Kuehling, Felix
     [not found]             ` <DM5PR12MB17078A9132DCA1AD4920300192D30-2J9CzHegvk9TCtO+SvGBKwdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-12-01 14:11               ` Christian König
     [not found]                 ` <b2792f9c-127a-b738-9e11-400525b00ed2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-12-03 16:31                   ` Kuehling, Felix
     [not found]                     ` <2c58d93f-7f41-9511-b3f8-2a5f89eff6c9-5C7GfCeVMHo@public.gmane.org>
2018-12-03 16:35                       ` Christian König
     [not found]                         ` <842543c4-f4ed-bff9-eaf5-2b8f8085ed81-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-12-03 16:38                           ` Koenig, Christian
2018-11-30 20:55       ` Zeng, Oak
     [not found]         ` <BN6PR12MB1651C628F04CBC8AD670590A80D30-/b2+HYfkarRSqX7PDniLCgdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-12-01 14:16           ` Christian König
2018-11-30 12:35   ` [PATCH 03/11] drm/amdgpu: remove VM fault_credit handling Christian König
     [not found]     ` <20181130123558.14898-3-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 16:04       ` Alex Deucher
2018-11-30 21:07       ` Zeng, Oak
     [not found]         ` <BN6PR12MB1651C10E3977C786DE29BB1980D30-/b2+HYfkarRSqX7PDniLCgdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-12-01 13:59           ` Christian König
2018-11-30 12:35   ` [PATCH 04/11] drm/amdgpu: move IV prescreening into the GMC code Christian König
     [not found]     ` <20181130123558.14898-4-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 16:05       ` Alex Deucher
2018-11-30 12:35   ` [PATCH 05/11] drm/amdgpu: add IH ring to ih_get_wptr/ih_set_rptr v2 Christian König
     [not found]     ` <20181130123558.14898-5-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 16:09       ` Alex Deucher
2018-11-30 12:35   ` [PATCH 06/11] drm/amdgpu: simplify IH programming Christian König
     [not found]     ` <20181130123558.14898-6-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 15:45       ` Alex Deucher
2018-11-30 12:35   ` [PATCH 07/11] drm/amdgpu: enable IH ring 1 and ring 2 v2 Christian König
     [not found]     ` <20181130123558.14898-7-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 16:01       ` Alex Deucher
     [not found]         ` <CADnq5_MwEqFZsPcgtkpL9vQKLEjqUev51QKtak9nEweNZ5Q7_Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-30 16:04           ` Christian König
2018-11-30 12:35   ` [PATCH 08/11] drm/amdgpu: add the IH to the IV trace Christian König
     [not found]     ` <20181130123558.14898-8-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 16:01       ` Alex Deucher
2018-11-30 12:35   ` [PATCH 09/11] drm/amdgpu: add support for processing IH ring 1 & 2 Christian König
     [not found]     ` <20181130123558.14898-9-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 16:10       ` Alex Deucher [this message]
2018-11-30 12:35   ` [PATCH 10/11] drm/amdgpu: add support for self irq on Vega10 Christian König
     [not found]     ` <20181130123558.14898-10-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 16:11       ` Alex Deucher
2018-11-30 12:35   ` [PATCH 11/11] drm/amdgpu: disable IH ring 1 & 2 WPTR overflow " Christian König
     [not found]     ` <20181130123558.14898-11-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-11-30 16:11       ` Alex Deucher
2018-11-30 15:41   ` [PATCH 01/11] drm/amdgpu: add missing error handling Alex Deucher

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=CADnq5_Pb4BTJpTvbUYUTJJ2S4OK4-_J6Aj+wMZ2zHS1LHgdCGw@mail.gmail.com \
    --to=alexdeucher-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /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.