CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Matthew Auld <[email protected]>
TO: [email protected]
CC: "Thomas Hellström" <[email protected]>
CC: Tvrtko Ursulin <[email protected]>
CC: Jordan Justen <[email protected]>
CC: [email protected]
CC: Chris Wilson <[email protected]>
CC: Kenneth Graunke <[email protected]>
CC: Jason Ekstrand <[email protected]>
CC: Daniel Vetter <[email protected]>

Hi Matthew,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next 
tegra-drm/drm/tegra/for-next v5.14-rc1 next-20210715]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Matthew-Auld/Some-DG1-uAPI-cleanup/20210715-181754
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
:::::: branch date: 4 hours ago
:::::: commit date: 4 hours ago
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
reproduce:
cd tools/perf && ./check-headers.sh

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


perfheadercheck warnings: (new ones prefixed by >>)
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h':  677> /* Query if the 
>> kernel supports the I915_USERPTR_PROBE flag. */
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h':  678> #define 
>> I915_PARAM_HAS_USERPTR_PROBE 56
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  679> 
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  886> /**
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  887>  * struct 
drm_i915_gem_set_domain - Adjust the objects write or read domain, in
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  888>  * preparation for 
accessing the pages via some CPU domain.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  889>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  890>  * Specifying a new 
write or read domain will flush the object out of the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  891>  * previous 
domain(if required), before then updating the objects domain
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  892>  * tracking with 
the new domain.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  893>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  894>  * Note this might 
involve waiting for the object first if it is still active on
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  895>  * the GPU.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  896>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  897>  * Supported values 
for @read_domains and @write_domain:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  898>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  899>  *     - 
I915_GEM_DOMAIN_WC: Uncached write-combined domain
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  900>  *     - 
I915_GEM_DOMAIN_CPU: CPU cache domain
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  901>  *     - 
I915_GEM_DOMAIN_GTT: Mappable aperture domain
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  902>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  903>  * All other 
domains are rejected.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  904>  */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  884<        /** Handle 
for the object */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  906>        /** @handle: 
Handle for the object. */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  887<        /** New read 
domains */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  909>        /** 
@read_domains: New read domains. */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  890<        /** New 
write domain */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  912>        /**
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  913>         * 
@write_domain: New write domain.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  914>         *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  915>         * Note that 
having something in the write domain implies it's in the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  916>         * read 
domain, and only that read domain.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h':  917>         */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1351<         * 
I915_CONTEXT_SET_ENGINES parameter and via perf, i.e.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1378>         * 
I915_CONTEXT_PARAM_ENGINES context parameter and via perf, i.e.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1353<         * reported 
as active itself. Some hardware may have parallel
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1354<         * execution 
engines, e.g. multiple media engines, which are
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1355<         * mapped to 
the same class identifier and so are not separately
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1356<         * reported 
for busyness.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1380>         * Some 
hardware may have parallel execution engines, e.g. multiple
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1381>         * media 
engines, which are mapped to the same class identifier and so
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1382>         * are not 
separately reported for busyness.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1367<  * I915_CACHING_NONE
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1368<  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1369<  * GPU access is 
not coherent with cpu caches. Default for machines without an
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1370<  * LLC.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1371<  */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1372< #define 
I915_CACHING_NONE              0
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1373< /**
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1374<  * 
I915_CACHING_CACHED
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1375<  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1376<  * GPU access is 
coherent with cpu caches and furthermore the data is cached in
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1377<  * last-level 
caches shared between cpu cores and the gpu GT. Default on
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1378<  * machines with 
HAS_LLC.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1379<  */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1380< #define 
I915_CACHING_CACHED            1
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1381< /**
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1382<  * 
I915_CACHING_DISPLAY
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1393>  * struct 
drm_i915_gem_caching - Set or get the caching for given object
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1394>  * handle.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1384<  * Special GPU 
caching mode which is coherent with the scanout engines.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1385<  * Transparently 
falls back to I915_CACHING_NONE on platforms where no special
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1386<  * cache mode (like 
write-through or gfdt flushing) is available. The kernel
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1387<  * automatically 
sets this mode when using a buffer as a scanout target.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1388<  * Userspace can 
manually set this mode to avoid a costly stall and clflush in
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1389<  * the hotpath of 
drawing the first frame.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1396>  * Allow userspace 
to control the GTT caching bits for a given object when the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1397>  * object is later 
mapped through the ppGTT(or GGTT on older platforms lacking
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1398>  * ppGTT support, 
or if the object is used for scanout). Note that this might
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1399>  * require 
unbinding the object from the GTT first, if its current caching value
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1400>  * doesn't match.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1401>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1402>  * Note that this 
all changes on discrete platforms, starting from DG1, the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1403>  * set/get caching 
is no longer supported, and is now rejected.  Instead the CPU
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1404>  * caching 
attributes(WB vs WC) will become an immutable creation time property
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1405>  * for the object, 
along with the GTT caching level. For now we don't expose any
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1406>  * new uAPI for 
this, instead on DG1 this is all implicit, although this largely
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1407>  * shouldn't matter 
since DG1 is coherent by default(without any way of
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1408>  * controlling it).
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1409>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1410>  * Implicit caching 
rules, starting from DG1:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1411>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1412>  *     - If any of 
the object placements (see &drm_i915_gem_create_ext_memory_regions)
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1413>  *       contain 
I915_MEMORY_CLASS_DEVICE then the object will be allocated and
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1414>  *       mapped as 
write-combined only.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1415>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1416>  *     - Everything 
else is always allocated and mapped as write-back, with the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1417>  *       guarantee 
that everything is also coherent with the GPU.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1418>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1419>  * Note that this 
is likely to change in the future again, where we might need
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1420>  * more flexibility 
on future devices, so making this all explicit as part of a
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1421>  * new 
&drm_i915_gem_create_ext extension is probable.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1422>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1423>  * Side note: Part 
of the reason for this is that changing the at-allocation-time CPU
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1424>  * caching 
attributes for the pages might be required(and is expensive) if we
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1425>  * need to then CPU 
map the pages later with different caching attributes. This
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1426>  * inconsistent 
caching behaviour, while supported on x86, is not universally
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1427>  * supported on 
other architectures. So for simplicity we opt for setting
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1428>  * everything at 
creation time, whilst also making it immutable, on discrete
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1429>  * platforms.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1391< #define 
I915_CACHING_DISPLAY           2
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1392< 
--
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2004>  * inside the flags 
field of `struct drm_i915_gem_execbuffer2`.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2005>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2006>  * To use it 
created GEM contexts need to be configured with a list of engines
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2007>  * the user is 
intending to submit to. This is accomplished using the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2008>  * 
`I915_CONTEXT_PARAM_ENGINES` parameter and `struct
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2009>  * 
i915_context_param_engines`.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2010>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2011>  * For such 
contexts the `I915_EXEC_RING_MASK` field becomes an index into the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2012>  * configured map.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2013>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2014>  * Example of 
creating such context and submitting against it:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2015>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2016>  * .. code-block:: C
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2017>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2018>  *     
I915_DEFINE_CONTEXT_PARAM_ENGINES(engines, 2) = {
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2019>  *             
.engines = { { I915_ENGINE_CLASS_RENDER, 0 },
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2020>  *                  
        { I915_ENGINE_CLASS_COPY, 0 } }
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2021>  *     };
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2022>  *     struct 
drm_i915_gem_context_create_ext_setparam p_engines = {
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2023>  *             
.base = {
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2024>  *                  
   .name = I915_CONTEXT_CREATE_EXT_SETPARAM,
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2025>  *             },
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2026>  *             
.param = {
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2027>  *                  
   .param = I915_CONTEXT_PARAM_ENGINES,
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2028>  *                  
   .value = to_user_pointer(&engines),
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2029>  *                  
   .size = sizeof(engines),
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2030>  *             },
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2031>  *     };
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2032>  *     struct 
drm_i915_gem_context_create_ext create = {
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2033>  *             
.flags = I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS,
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2034>  *             
.extensions = to_user_pointer(&p_engines);
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2035>  *     };
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2036>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2037>  *     ctx_id = 
gem_context_create_ext(drm_fd, &create);
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2038>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2039>  *     // We have 
now created a GEM context with two engines in the map:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2040>  *     // Index 0 
points to rcs0 while index 1 points to bcs0. Other engines
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2041>  *     // will not 
be accessible from this context.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2042>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2043>  *     ...
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2044>  *     
execbuf.rsvd1 = ctx_id;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2045>  *     
execbuf.flags = 0; // Submits to index 0, which is rcs0 for this context
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2046>  *     
gem_execbuf(drm_fd, &execbuf);
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2047>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2048>  *     ...
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2049>  *     
execbuf.rsvd1 = ctx_id;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2050>  *     
execbuf.flags = 1; // Submits to index 0, which is bcs0 for this context
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2051>  *     
gem_execbuf(drm_fd, &execbuf);
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2052>  */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2053> 
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1904< struct 
drm_i915_gem_context_create_ext_clone {
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2072> /* This API has 
been removed.  On the off chance someone somewhere has
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2073>  * attempted to use 
it, never re-use this extension number.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2074>  */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1906<        struct 
i915_user_extension base;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1907<        __u32 
clone_id;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1908<        __u32 flags;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1909< #define 
I915_CONTEXT_CLONE_ENGINES     (1u << 0)
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1910< #define 
I915_CONTEXT_CLONE_FLAGS       (1u << 1)
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1911< #define 
I915_CONTEXT_CLONE_SCHEDATTR   (1u << 2)
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1912< #define 
I915_CONTEXT_CLONE_SSEU                (1u << 3)
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1913< #define 
I915_CONTEXT_CLONE_TIMELINE    (1u << 4)
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1914< #define 
I915_CONTEXT_CLONE_VM          (1u << 5)
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1915< #define 
I915_CONTEXT_CLONE_UNKNOWN -(I915_CONTEXT_CLONE_VM << 1)
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1916<        __u64 rsvd;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1917< };
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2147> /**
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2148>  * struct 
drm_i915_gem_userptr - Create GEM object from user allocated memory.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2149>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2150>  * Userptr objects 
have several restrictions on what ioctls can be used with the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2151>  * object handle.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2152>  */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2154>        /**
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2155>         * 
@user_ptr: The pointer to the allocated memory.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2156>         *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2157>         * Needs to 
be aligned to PAGE_SIZE.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2158>         */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2160> 
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2161>        /**
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2162>         * 
@user_size:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2163>         *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2164>         * The size 
in bytes for the allocated memory. This will also become the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2165>         * object 
size.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2166>         *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2167>         * Needs to 
be aligned to PAGE_SIZE, and should be at least PAGE_SIZE,
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2168>         * or larger.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2169>         */
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2171> 
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2172>        /**
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2173>         * @flags:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2174>         *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2175>         * Supported 
flags:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2176>         *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2177>         * 
I915_USERPTR_READ_ONLY:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2178>         *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2179>         * Mark the 
object as readonly, this also means GPU access can only be
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2180>         * readonly. 
This is only supported on HW which supports readonly access
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2181>         * through 
the GTT. If the HW can't support readonly access, an error is
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2182>         * returned.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2183>         *
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h': 2184>         * 
>> I915_USERPTR_PROBE:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2185>         *
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h': 2186>         * Probe 
>> the provided @user_ptr range and validate that the @user_ptr is
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h': 2187>         * indeed 
>> pointing to normal memory and that the range is also valid.
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h': 2188>         * For 
>> example if some garbage address is given to the kernel, then this
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h': 2189>         * should 
>> complain.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2190>         *
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h': 2191>         * 
>> Returns -EFAULT if the probe failed.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2192>         *
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h': 2193>         * Note 
>> that this doesn't populate the backing pages.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2194>         *
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h': 2195>         * The 
>> kernel supports this feature if I915_PARAM_HAS_USERPTR_PROBE
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h': 2196>         * 
>> returns a non-zero value.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2197>         *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2198>         * 
I915_USERPTR_UNSYNCHRONIZED:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2199>         *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2200>         * NOT USED. 
Setting this flag will result in an error.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2201>         */
>> Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
>> from latest version at 'include/uapi/drm/i915_drm.h': 2204> #define 
>> I915_USERPTR_PROBE 0x2
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 1996<         * Returned 
handle for the object.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2207>         * @handle: 
Returned handle for the object.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2589> 
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2590> /**
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2591>  * DOC: Engine 
Discovery uAPI
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2592>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2593>  * Engine discovery 
uAPI is a way of enumerating physical engines present in a
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2594>  * GPU associated 
with an open i915 DRM file descriptor. This supersedes the old
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2595>  * way of using 
`DRM_IOCTL_I915_GETPARAM` and engine identifiers like
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2596>  * 
`I915_PARAM_HAS_BLT`.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2597>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2598>  * The need for 
this interface came starting with Icelake and newer GPUs, which
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2599>  * started to 
establish a pattern of having multiple engines of a same class,
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2600>  * where not all 
instances were always completely functionally equivalent.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2601>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2602>  * Entry point for 
this uapi is `DRM_IOCTL_I915_QUERY` with the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2603>  * 
`DRM_I915_QUERY_ENGINE_INFO` as the queried item id.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2604>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2605>  * Example for 
getting the list of engines:
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2606>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2607>  * .. code-block:: C
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2608>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2609>  *     struct 
drm_i915_query_engine_info *info;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2610>  *     struct 
drm_i915_query_item item = {
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2611>  *             
.query_id = DRM_I915_QUERY_ENGINE_INFO;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2612>  *     };
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2613>  *     struct 
drm_i915_query query = {
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2614>  *             
.num_items = 1,
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2615>  *             
.items_ptr = (uintptr_t)&item,
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2616>  *     };
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2617>  *     int err, i;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2618>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2619>  *     // First 
query the size of the blob we need, this needs to be large
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2620>  *     // enough to 
hold our array of engines. The kernel will fill out the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2621>  *     // 
item.length for us, which is the number of bytes we need.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2622>  *     //
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2623>  *     // 
Alternatively a large buffer can be allocated straight away enabling
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2624>  *     // querying 
in one pass, in which case item.length should contain the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2625>  *     // length of 
the provided buffer.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2626>  *     err = 
ioctl(fd, DRM_IOCTL_I915_QUERY, &query);
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2627>  *     if (err) ...
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2628>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2629>  *     info = 
calloc(1, item.length);
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2630>  *     // Now that 
we allocated the required number of bytes, we call the ioctl
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2631>  *     // again, 
this time with the data_ptr pointing to our newly allocated
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2632>  *     // blob, 
which the kernel can then populate with info on all engines.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2633>  *     
item.data_ptr = (uintptr_t)&info,
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2634>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2635>  *     err = 
ioctl(fd, DRM_IOCTL_I915_QUERY, &query);
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2636>  *     if (err) ...
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2637>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2638>  *     // We can 
now access each engine in the array
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2639>  *     for (i = 0; 
i < info->num_engines; i++) {
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2640>  *             
struct drm_i915_engine_info einfo = info->engines[i];
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2641>  *             u16 
class = einfo.engine.class;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2642>  *             u16 
instance = einfo.engine.instance;
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2643>  *             ....
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2644>  *     }
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2645>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2646>  *     free(info);
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2647>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2648>  * Each of the 
enumerated engines, apart from being defined by its class and
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2649>  * instance (see 
`struct i915_engine_class_instance`), also can have flags and
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2650>  * capabilities 
defined as documented in i915_drm.h.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2651>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2652>  * For instance 
video engines which support HEVC encoding will have the
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2653>  * 
`I915_VIDEO_CLASS_CAPABILITY_HEVC` capability bit set.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2654>  *
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2655>  * Engine discovery 
only fully comes to its own when combined with the new way
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2656>  * of addressing 
engines when submitting batch buffers using contexts with
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2657>  * engine maps 
configured.
   Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
from latest version at 'include/uapi/drm/i915_drm.h': 2658>  */

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to