From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>,
intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 06/16] drm/xe/oa/uapi: Define and parse OA stream properties
Date: Mon, 12 Feb 2024 23:04:20 -0800 [thread overview]
Message-ID: <85v86svo97.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <ZcpsqsRhEk9UyTGg@unerlige-ril>
On Mon, 12 Feb 2024 11:08:26 -0800, Umesh Nerlige Ramappa wrote:
>
Hi Umesh,
> On Mon, Feb 12, 2024 at 10:57:18AM -0800, Umesh Nerlige Ramappa wrote:
> > On Thu, Feb 08, 2024 at 02:26:39PM -0800, Dixit, Ashutosh wrote:
> >> On Thu, 08 Feb 2024 13:40:29 -0800, Lionel Landwerlin wrote:
> >>
> >> Hi Lionel,
> >>
> >>> +
> >>> + /** @DRM_XE_OA_PROPERTY_OA_FORMAT: Perf counter report format */
> >>> + DRM_XE_OA_PROPERTY_OA_FORMAT,
> >>> + /**
> >>> + * OA_FORMAT's are specified the same way as in Bspec, in terms of
> >>> + * the following quantities: a. enum @drm_xe_oa_format_type
> >>> + * b. Counter select c. Counter size and d. BC report
> >>> + */
> >>> +#define DRM_XE_OA_FORMAT_MASK_FMT_TYPE (0xff << 0)
> >>> +#define DRM_XE_OA_FORMAT_MASK_COUNTER_SEL (0xff << 8)
> >>> +#define DRM_XE_OA_FORMAT_MASK_COUNTER_SIZE (0xff << 16)
> >>> +#define DRM_XE_OA_FORMAT_MASK_BC_REPORT (0xff << 24)
> >>>
> >>> People outside of Intel don't have access to the BSpec.
> >>
> >> Hmm, I was assuming Bspec is public, at least parts of it. Since we keep
> >> dropping Bspec references in patch commit messages?
> >>
> >>>
> >>> And since there is no page number either
> >>
> >> Page numbers are in the commit message, but you are right, they should be
> >> added here.
> >>
> >>> , it would just be easier for everybody to say :
> >>>
> >>> "Refer to the oa_formats array in drivers/gpu/drm/xe/xe_oa.c"
> >>
> >> Umesh, what do you think about this? I don't like the idea too much, of
> >> referring to the internal implementation in the uapi, but if Bspec is not
> >> public, and we want to keep this uapi, we'll probably need to do this.
> >>
> >> Also, we are directly returning the oa_status register in response to
> >> DRM_XE_PERF_IOCTL_STATUS ioctl (see 'struct drm_xe_oa_stream_status'), so
> >> that also needs access to Bspec. But there I think we can just document the
> >> relevant bits in xe_drm.h.
> >
> > If that's the case, then based on the PRM documents, I would just put
> > this in the comment -
> >
> > "Refer to performance counter report formats under the Observability
> > section in the PRM"
>
>
> Missed your comment on the oa_status reg. In general, we should avoid
> exposing the register as is in the uApi. Instead we should just have a set
> of enums or bits that define a particular state. That would do away with
> the need to point to the spec.
>
> If you disagree, then PRM reference should be good enough - OAG_OASTATUS
> register in the PRM or Hardware Specifications.
>
> Specifically from this link:
> https://www.intel.com/content/www/us/en/docs/graphics-for-linux/developer-reference/1-0/overview.html
This is what I ended up doing for this:
+ /** @oa_status: OA status register as specified in PRM/Bspec 46717/61226 */
__u64 oa_status;
+#define DRM_XE_OASTATUS_MMIO_TRG_Q_FULL (1 << 6)
+#define DRM_XE_OASTATUS_COUNTER_OVERFLOW (1 << 2)
+#define DRM_XE_OASTATUS_BUFFER_OVERFLOW (1 << 1)
+#define DRM_XE_OASTATUS_REPORT_LOST (1 << 0)
And for the formats:
+ /*
+ * OA_FORMAT's are specified the same way as in PRM/Bspec 52198/60942,
+ * in terms of the following quantities: a. enum @drm_xe_oa_format_type
+ * b. Counter select c. Counter size and d. BC report. Also refer to the
+ * oa_formats array in drivers/gpu/drm/xe/xe_oa.c.
+ */
Probably easier to see this here:
https://patchwork.freedesktop.org/patch/577943/?series=128993&rev=3
Thanks.
--
Ashutosh
next prev parent reply other threads:[~2024-02-13 7:04 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-08 5:49 [PATCH 00/16] Add OA functionality to Xe Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 01/16] drm/xe/perf/uapi: "Perf" layer to support multiple perf counter stream types Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 02/16] drm/xe/perf/uapi: Add perf_stream_paranoid sysctl Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 03/16] drm/xe/oa/uapi: Add OA data formats Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 04/16] drm/xe/oa/uapi: Initialize OA units Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 05/16] drm/xe/oa/uapi: Add/remove OA config perf ops Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 06/16] drm/xe/oa/uapi: Define and parse OA stream properties Ashutosh Dixit
2024-02-08 21:40 ` Lionel Landwerlin
2024-02-08 22:26 ` Dixit, Ashutosh
2024-02-09 6:25 ` Lionel Landwerlin
2024-02-09 6:46 ` Dixit, Ashutosh
2024-02-12 18:57 ` Umesh Nerlige Ramappa
2024-02-12 19:08 ` Umesh Nerlige Ramappa
2024-02-13 7:04 ` Dixit, Ashutosh [this message]
2024-02-08 5:49 ` [PATCH 07/16] drm/xe/oa: OA stream initialization (OAG) Ashutosh Dixit
2024-02-09 6:23 ` Lionel Landwerlin
2024-02-09 7:08 ` Dixit, Ashutosh
2024-02-09 8:14 ` Lionel Landwerlin
2024-02-13 17:04 ` Dixit, Ashutosh
2024-02-08 5:49 ` [PATCH 08/16] drm/xe/oa/uapi: Expose OA stream fd Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 09/16] drm/xe/oa/uapi: Read file_operation Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 10/16] drm/xe/oa: Disable overrun mode for Xe2+ OAG Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 11/16] drm/xe/oa: Add OAR support Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 12/16] drm/xe/oa: Add OAC support Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 13/16] drm/xe/oa/uapi: Query OA unit properties Ashutosh Dixit
2024-02-12 19:59 ` Umesh Nerlige Ramappa
2024-02-13 7:09 ` Dixit, Ashutosh
2024-02-08 5:49 ` [PATCH 14/16] drm/xe/oa/uapi: OA buffer mmap Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 15/16] drm/xe/oa: Add MMIO trigger support Ashutosh Dixit
2024-02-08 5:49 ` [PATCH 16/16] drm/xe/oa: Override GuC RC with OA on PVC Ashutosh Dixit
2024-02-08 5:52 ` ✓ CI.Patch_applied: success for Add OA functionality to Xe (rev9) Patchwork
2024-02-08 5:53 ` ✗ CI.checkpatch: warning " Patchwork
2024-02-08 5:54 ` ✓ CI.KUnit: success " Patchwork
2024-02-08 6:01 ` ✓ CI.Build: " Patchwork
2024-02-08 6:02 ` ✗ CI.Hooks: failure " Patchwork
2024-02-08 6:03 ` ✓ CI.checksparse: success " Patchwork
2024-02-08 6:22 ` ✓ CI.BAT: " Patchwork
2024-02-08 21:34 ` [PATCH 00/16] Add OA functionality to Xe Lionel Landwerlin
2024-02-08 21:56 ` Dixit, Ashutosh
-- strict thread matches above, loose matches on Subject: below --
2024-03-05 5:32 Ashutosh Dixit
2024-03-05 5:32 ` [PATCH 06/16] drm/xe/oa/uapi: Define and parse OA stream properties Ashutosh Dixit
2024-02-13 6:44 [PATCH 00/16] Add OA functionality to Xe Ashutosh Dixit
2024-02-13 6:44 ` [PATCH 06/16] drm/xe/oa/uapi: Define and parse OA stream properties Ashutosh Dixit
2024-01-20 2:00 [PATCH 00/16] Add OA functionality to Xe Ashutosh Dixit
2024-01-20 2:00 ` [PATCH 06/16] drm/xe/oa/uapi: Define and parse OA stream properties Ashutosh Dixit
2024-02-06 22:25 ` Umesh Nerlige Ramappa
2024-02-06 22:58 ` Dixit, Ashutosh
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=85v86svo97.wl-ashutosh.dixit@intel.com \
--to=ashutosh.dixit@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=lionel.g.landwerlin@intel.com \
--cc=umesh.nerlige.ramappa@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox