All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: Mikko Perttunen <mperttunen@nvidia.com>,
	thierry.reding@gmail.com, jonathanh@nvidia.com, airlied@linux.ie,
	daniel@ffwll.ch
Cc: dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH v7 01/15] gpu: host1x: Add DMA fence implementation
Date: Wed, 16 Jun 2021 00:47:34 +0300	[thread overview]
Message-ID: <3867c5c2-7cf1-66f2-96fe-74ed106f590c@gmail.com> (raw)
In-Reply-To: <20210610110456.3692391-2-mperttunen@nvidia.com>

..
> diff --git a/drivers/gpu/host1x/fence.c b/drivers/gpu/host1x/fence.c
> new file mode 100644
> index 000000000000..2b0bb97f053f
> --- /dev/null
> +++ b/drivers/gpu/host1x/fence.c
> @@ -0,0 +1,184 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Syncpoint dma_fence implementation
> + *
> + * Copyright (c) 2020, NVIDIA Corporation.
> + */
> +
> +#include <linux/dma-fence.h>
> +#include <linux/file.h>
> +#include <linux/fs.h>
> +#include <linux/slab.h>
> +#include <linux/sync_file.h>

Stale headers

> +#include "fence.h"
> +#include "intr.h"
> +#include "syncpt.h"
> +
> +DEFINE_SPINLOCK(lock);

static

...
> +static bool host1x_syncpt_fence_enable_signaling(struct dma_fence *f)
> +{
> +	struct host1x_syncpt_fence *sf = to_host1x_fence(f);
> +	int err;
> +
> +	if (host1x_syncpt_is_expired(sf->sp, sf->threshold))
> +		return false;
> +
> +	dma_fence_get(f);
> +
> +	/*
> +	 * The dma_fence framework requires the fence driver to keep a
> +	 * reference to any fences for which 'enable_signaling' has been
> +	 * called (and that have not been signalled).
> +	 * 
> +	 * We provide a userspace API to create arbitrary syncpoint fences,
> +	 * so we cannot normally guarantee that all fences get signalled.
> +	 * As such, setup a timeout, so that long-lasting fences will get
> +	 * reaped eventually.
> +	 */
> +	schedule_delayed_work(&sf->timeout_work, msecs_to_jiffies(30000));

I don't see this API. Please always remove all dead code, make patches
minimal and functional.

...> +int host1x_fence_extract(struct dma_fence *fence, u32 *id, u32
*threshold)
> +{
> +	struct host1x_syncpt_fence *f;
> +
> +	if (fence->ops != &host1x_syncpt_fence_ops)
> +		return -EINVAL;
> +
> +	f = container_of(fence, struct host1x_syncpt_fence, base);
> +
> +	*id = f->sp->id;
> +	*threshold = f->threshold;
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL(host1x_fence_extract);

dead code

WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Osipenko <digetx@gmail.com>
To: Mikko Perttunen <mperttunen@nvidia.com>,
	thierry.reding@gmail.com, jonathanh@nvidia.com, airlied@linux.ie,
	daniel@ffwll.ch
Cc: linux-tegra@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v7 01/15] gpu: host1x: Add DMA fence implementation
Date: Wed, 16 Jun 2021 00:47:34 +0300	[thread overview]
Message-ID: <3867c5c2-7cf1-66f2-96fe-74ed106f590c@gmail.com> (raw)
In-Reply-To: <20210610110456.3692391-2-mperttunen@nvidia.com>

..
> diff --git a/drivers/gpu/host1x/fence.c b/drivers/gpu/host1x/fence.c
> new file mode 100644
> index 000000000000..2b0bb97f053f
> --- /dev/null
> +++ b/drivers/gpu/host1x/fence.c
> @@ -0,0 +1,184 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Syncpoint dma_fence implementation
> + *
> + * Copyright (c) 2020, NVIDIA Corporation.
> + */
> +
> +#include <linux/dma-fence.h>
> +#include <linux/file.h>
> +#include <linux/fs.h>
> +#include <linux/slab.h>
> +#include <linux/sync_file.h>

Stale headers

> +#include "fence.h"
> +#include "intr.h"
> +#include "syncpt.h"
> +
> +DEFINE_SPINLOCK(lock);

static

...
> +static bool host1x_syncpt_fence_enable_signaling(struct dma_fence *f)
> +{
> +	struct host1x_syncpt_fence *sf = to_host1x_fence(f);
> +	int err;
> +
> +	if (host1x_syncpt_is_expired(sf->sp, sf->threshold))
> +		return false;
> +
> +	dma_fence_get(f);
> +
> +	/*
> +	 * The dma_fence framework requires the fence driver to keep a
> +	 * reference to any fences for which 'enable_signaling' has been
> +	 * called (and that have not been signalled).
> +	 * 
> +	 * We provide a userspace API to create arbitrary syncpoint fences,
> +	 * so we cannot normally guarantee that all fences get signalled.
> +	 * As such, setup a timeout, so that long-lasting fences will get
> +	 * reaped eventually.
> +	 */
> +	schedule_delayed_work(&sf->timeout_work, msecs_to_jiffies(30000));

I don't see this API. Please always remove all dead code, make patches
minimal and functional.

...> +int host1x_fence_extract(struct dma_fence *fence, u32 *id, u32
*threshold)
> +{
> +	struct host1x_syncpt_fence *f;
> +
> +	if (fence->ops != &host1x_syncpt_fence_ops)
> +		return -EINVAL;
> +
> +	f = container_of(fence, struct host1x_syncpt_fence, base);
> +
> +	*id = f->sp->id;
> +	*threshold = f->threshold;
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL(host1x_fence_extract);

dead code

  reply	other threads:[~2021-06-15 21:47 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-10 11:04 [PATCH v7 00/15] TegraDRM UAPI Mikko Perttunen
2021-06-10 11:04 ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 01/15] gpu: host1x: Add DMA fence implementation Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-15 21:47   ` Dmitry Osipenko [this message]
2021-06-15 21:47     ` Dmitry Osipenko
2021-06-10 11:04 ` [PATCH v7 02/15] gpu: host1x: Add no-recovery mode Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-15 22:06   ` Dmitry Osipenko
2021-06-15 22:06     ` Dmitry Osipenko
2021-06-10 11:04 ` [PATCH v7 03/15] gpu: host1x: Add job release callback Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 04/15] gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 05/15] gpu: host1x: Add option to skip firewall for a job Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-22 20:46   ` Michał Mirosław
2021-06-22 20:46     ` Michał Mirosław
2021-06-10 11:04 ` [PATCH v7 06/15] drm/tegra: Extract tegra_gem_lookup Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 07/15] drm/tegra: Add new UAPI to header Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 08/15] drm/tegra: Boot VIC during runtime PM resume Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 09/15] drm/tegra: Allocate per-engine channel in core code Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 10/15] drm/tegra: Implement new UAPI Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 11/15] drm/tegra: Implement syncpoint management UAPI Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 12/15] drm/tegra: Implement syncpoint wait UAPI Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 13/15] drm/tegra: Implement job submission part of new UAPI Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-15 19:00   ` Jon Hunter
2021-06-15 19:00     ` Jon Hunter
2021-06-15 19:03     ` Mikko Perttunen
2021-06-15 19:03       ` Mikko Perttunen
2021-06-15 22:19   ` Dmitry Osipenko
2021-06-15 22:19     ` Dmitry Osipenko
2021-06-15 22:24   ` Dmitry Osipenko
2021-06-15 22:24     ` Dmitry Osipenko
2021-06-16  9:31   ` Jon Hunter
2021-06-16  9:31     ` Jon Hunter
2021-06-10 11:04 ` [PATCH v7 14/15] drm/tegra: Add job firewall Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-10 11:04 ` [PATCH v7 15/15] drm/tegra: Bump driver version Mikko Perttunen
2021-06-10 11:04   ` Mikko Perttunen
2021-06-15 20:32 ` [PATCH v7 00/15] TegraDRM UAPI Dmitry Osipenko
2021-06-15 20:32   ` Dmitry Osipenko

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=3867c5c2-7cf1-66f2-96fe-74ed106f590c@gmail.com \
    --to=digetx@gmail.com \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jonathanh@nvidia.com \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mperttunen@nvidia.com \
    --cc=thierry.reding@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.