[PATCH 03/17] drm/xe/oa/uapi: Add OA data formats

Dixit, Ashutosh ashutosh.dixit at intel.com
Thu Jun 20 17:57:17 UTC 2024


On Thu, 20 Jun 2024 10:28:46 -0700, Matt Roper wrote:
>
> > @@ -636,10 +637,14 @@ int xe_device_probe(struct xe_device *xe)
> >
> >	xe_heci_gsc_init(xe);
> >
> > -	err = xe_display_init(xe);
> > +	err = xe_oa_init(xe);
> >	if (err)
> >		goto err_irq_shutdown;
> >
> > +	err = xe_display_init(xe);
> > +	if (err)
> > +		goto err_oa_fini;
> > +
> >	err = drm_dev_register(&xe->drm, 0);
> >	if (err)
> >		goto err_fini_display;
>
> I didn't really look at this series earlier, but it seems odd to me that
> we're sticking a bunch of OA code at the device level.  Isn't OA a
> GT-specific concept?  As far as I know, there's no observability
> functionality in the soci/sgunit/display.

That's correct, there is no OA HW at device level and a GT can potentially
have multiple OA units. But OA configuration information (which perf
counters to capture) and format information (format of the OA data) is
applicable to multiple OA units spread across GT's and is maintained at
device level.

Look at OA data struct's in xe_oa_types.h, specially 'struct xe_oa' which
contains OA device level information.

Ashutosh


More information about the Intel-xe mailing list