From: Ayan Halder <Ayan.Halder@arm.com>
To: Brian Starkey <Brian.Starkey@arm.com>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>, nd <nd@arm.com>,
"james qian wang (Arm Technology China)"
<james.qian.wang@arm.com>, LKML <linux-kernel@vger.kernel.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH v3] drm/crc-debugfs: Add notes about CRC<->commit interactions
Date: Wed, 7 Aug 2019 13:01:54 +0000 [thread overview]
Message-ID: <20190807130153.GA19148@arm.com> (raw)
In-Reply-To: <20190806124622.28399-1-brian.starkey@arm.com>
On Tue, Aug 06, 2019 at 01:46:22PM +0100, Brian Starkey wrote:
> CRC generation can be impacted by commits coming from userspace, and
> enabling CRC generation may itself trigger a commit. Add notes about
> this to the kerneldoc.
>
> Changes since v1:
> - Clarified that anything that would disable CRCs counts as a full
> modeset, and so userspace needs to reconfigure after full modesets
>
> Changes since v2:
> - Add these notes
> - Rebase onto drm-misc-next (trivial conflict in comment)
>
> Signed-off-by: Brian Starkey <brian.starkey@arm.com>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> drivers/gpu/drm/drm_debugfs_crc.c | 9 +++++++++
> include/drm/drm_crtc.h | 4 ++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_debugfs_crc.c b/drivers/gpu/drm/drm_debugfs_crc.c
> index 6604ed223160..be1b7ba92ffe 100644
> --- a/drivers/gpu/drm/drm_debugfs_crc.c
> +++ b/drivers/gpu/drm/drm_debugfs_crc.c
> @@ -69,6 +69,15 @@
> * implement &drm_crtc_funcs.set_crc_source and &drm_crtc_funcs.verify_crc_source.
> * The debugfs files are automatically set up if those vfuncs are set. CRC samples
> * need to be captured in the driver by calling drm_crtc_add_crc_entry().
> + * Depending on the driver and HW requirements, &drm_crtc_funcs.set_crc_source
> + * may result in a commit (even a full modeset).
> + *
> + * CRC results must be reliable across non-full-modeset atomic commits, so if a
> + * commit via DRM_IOCTL_MODE_ATOMIC would disable or otherwise interfere with
> + * CRC generation, then the driver must mark that commit as a full modeset
> + * (drm_atomic_crtc_needs_modeset() should return true). As a result, to ensure
> + * consistent results, generic userspace must re-setup CRC generation after a
> + * legacy SETCRTC or an atomic commit with DRM_MODE_ATOMIC_ALLOW_MODESET.
> */
>
> static int crc_control_show(struct seq_file *m, void *data)
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index 128d8b210621..7d14c11bdc0a 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -756,6 +756,9 @@ struct drm_crtc_funcs {
> * provided from the configured source. Drivers must accept an "auto"
> * source name that will select a default source for this CRTC.
> *
> + * This may trigger an atomic modeset commit if necessary, to enable CRC
> + * generation.
> + *
> * Note that "auto" can depend upon the current modeset configuration,
> * e.g. it could pick an encoder or output specific CRC sampling point.
> *
> @@ -767,6 +770,7 @@ struct drm_crtc_funcs {
> * 0 on success or a negative error code on failure.
> */
> int (*set_crc_source)(struct drm_crtc *crtc, const char *source);
> +
> /**
> * @verify_crc_source:
> *
> --
> 2.17.1
>
Pushed to drm-misc-next.
Commit id :- 178e5f3a5bc1d67d1248a74c0abab41040abe7c4
-Ayan
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: Ayan Halder <Ayan.Halder@arm.com>
To: Brian Starkey <Brian.Starkey@arm.com>
Cc: "dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>, nd <nd@arm.com>,
"james qian wang (Arm Technology China)"
<james.qian.wang@arm.com>, Liviu Dudau <Liviu.Dudau@arm.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3] drm/crc-debugfs: Add notes about CRC<->commit interactions
Date: Wed, 7 Aug 2019 13:01:54 +0000 [thread overview]
Message-ID: <20190807130153.GA19148@arm.com> (raw)
In-Reply-To: <20190806124622.28399-1-brian.starkey@arm.com>
On Tue, Aug 06, 2019 at 01:46:22PM +0100, Brian Starkey wrote:
> CRC generation can be impacted by commits coming from userspace, and
> enabling CRC generation may itself trigger a commit. Add notes about
> this to the kerneldoc.
>
> Changes since v1:
> - Clarified that anything that would disable CRCs counts as a full
> modeset, and so userspace needs to reconfigure after full modesets
>
> Changes since v2:
> - Add these notes
> - Rebase onto drm-misc-next (trivial conflict in comment)
>
> Signed-off-by: Brian Starkey <brian.starkey@arm.com>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> drivers/gpu/drm/drm_debugfs_crc.c | 9 +++++++++
> include/drm/drm_crtc.h | 4 ++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_debugfs_crc.c b/drivers/gpu/drm/drm_debugfs_crc.c
> index 6604ed223160..be1b7ba92ffe 100644
> --- a/drivers/gpu/drm/drm_debugfs_crc.c
> +++ b/drivers/gpu/drm/drm_debugfs_crc.c
> @@ -69,6 +69,15 @@
> * implement &drm_crtc_funcs.set_crc_source and &drm_crtc_funcs.verify_crc_source.
> * The debugfs files are automatically set up if those vfuncs are set. CRC samples
> * need to be captured in the driver by calling drm_crtc_add_crc_entry().
> + * Depending on the driver and HW requirements, &drm_crtc_funcs.set_crc_source
> + * may result in a commit (even a full modeset).
> + *
> + * CRC results must be reliable across non-full-modeset atomic commits, so if a
> + * commit via DRM_IOCTL_MODE_ATOMIC would disable or otherwise interfere with
> + * CRC generation, then the driver must mark that commit as a full modeset
> + * (drm_atomic_crtc_needs_modeset() should return true). As a result, to ensure
> + * consistent results, generic userspace must re-setup CRC generation after a
> + * legacy SETCRTC or an atomic commit with DRM_MODE_ATOMIC_ALLOW_MODESET.
> */
>
> static int crc_control_show(struct seq_file *m, void *data)
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index 128d8b210621..7d14c11bdc0a 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -756,6 +756,9 @@ struct drm_crtc_funcs {
> * provided from the configured source. Drivers must accept an "auto"
> * source name that will select a default source for this CRTC.
> *
> + * This may trigger an atomic modeset commit if necessary, to enable CRC
> + * generation.
> + *
> * Note that "auto" can depend upon the current modeset configuration,
> * e.g. it could pick an encoder or output specific CRC sampling point.
> *
> @@ -767,6 +770,7 @@ struct drm_crtc_funcs {
> * 0 on success or a negative error code on failure.
> */
> int (*set_crc_source)(struct drm_crtc *crtc, const char *source);
> +
> /**
> * @verify_crc_source:
> *
> --
> 2.17.1
>
Pushed to drm-misc-next.
Commit id :- 178e5f3a5bc1d67d1248a74c0abab41040abe7c4
-Ayan
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-08-07 13:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-06 12:46 [PATCH v3] drm/crc-debugfs: Add notes about CRC<->commit interactions Brian Starkey
2019-08-07 13:01 ` Ayan Halder [this message]
2019-08-07 13:01 ` Ayan Halder
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=20190807130153.GA19148@arm.com \
--to=ayan.halder@arm.com \
--cc=Brian.Starkey@arm.com \
--cc=Liviu.Dudau@arm.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=james.qian.wang@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nd@arm.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.