tests/i915/gem_huc_copy: Enable a HuC copy test

This test case loads the HuC copy firmware to copy the content of
the source buffer to the destination buffer.

v2: (Tony Ye)
 * Restructured some functions and files.
 * Defined the copy buffer size as 4K explicitly as the HuC Copy kernel
   always copy 4K bytes from src buffer to dst buffer.

v3: (Feng Qi, Antonio Argenziano, Tony Ye)
 * Restructured some functions as igt requested, exclude libdrm function call.
 * Remove huc function wrappers
 * Random initialize source input buffer

v4: (Robert Fosha)
 * Fix autotools build failure.

v5: (Feng Qi, Tony Ye)
 * Released all bo buffer after huc copying.
 * Restructured huc_copy() function.

v6: (Feng Qi)
 * Fixed the function of huc enabling and status check
 * Added huc_copy to fast feedback testlist

v7: (Tony Ye, Feng Qi, Robert Fosha, Chris Wilson, Michal Wajdeczko)
 * Check error with HUC_STATUS ioctl instead of debugfs

v8: (Antonio Argenziano)
 * Remove unnecessary variable.
 * Add huc_load subtest.
 * Move failure checks out of igt_fixture.
 * get_huc_status() returns errno and then status as a parameter

v9: (Antonio Argenziano)
 * Remove huc_load subtest - to be added later.

v10:
 * Rebase
 * Remove huc_load subtest from fast-feedback.testlist.

Signed-off-by: Feng Qi <feng.qi@intel.com>
Signed-off-by: Tony Ye <tony.ye@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Antonio Argenziano <antonio.argenziano@intel.com>
26 jobs for master in 13 minutes and 50 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Build Containers
passed #3630764
build-containers:build-debian

00:00:38

passed #3630766
build-containers:build-debian-arm64

00:00:25

passed #3630765
build-containers:build-debian-armhf

00:00:24

passed #3630767
build-containers:build-debian-mips

00:00:24

passed #3630768
build-containers:build-fedora

00:00:24

 
  Build
passed #3630778
build:tests-debian-autotools

00:08:45

passed #3630773
build:tests-debian-meson

00:01:16

passed #3630776
build:tests-debian-meson-arm64

00:01:37

passed #3630775
build:tests-debian-meson-armhf

00:00:42

passed #3630777
build:tests-debian-meson-mips

00:00:48

passed #3630774
build:tests-debian-minimal

00:00:59

passed #3630769
build:tests-fedora

00:01:29

passed #3630772
build:tests-fedora-clang

00:01:32

passed #3630770
build:tests-fedora-no-libunwind

00:01:17

passed #3630771
build:tests-fedora-oldest-meson

00:01:02

 
  Test
passed #3630786
test:list-undocumented-tests

00:00:23

passed #3630779
test:ninja-test

00:01:17

passed #3630782
test:ninja-test-arm64

00:01:37

passed #3630783
test:ninja-test-armhf

00:01:51

passed #3630780
test:ninja-test-clang

00:01:17

passed #3630781
test:ninja-test-minimal

00:00:49

passed #3630784
test:ninja-test-mips

00:01:50

passed #3630785
test:test-list-diff

00:00:21

passed #3630787
test:verify-blacklists

00:01:11

 
  Containers
passed #3630788
containers:igt

00:02:32

 
  Deploy
manual #3630789
allowed to fail manual
pages