drm/i915/guc: drop negative doorbell alloc selftest
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Thu, 18 Oct 2018 00:46:05 +0000 (17:46 -0700)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 18 Oct 2018 12:42:40 +0000 (13:42 +0100)
The test requires driver tweaks to avoid causing error messages
on intentionally-triggered errors and to stop accessing non
existing register. However, this is a pure GuC FW interface test
and should be covered by FW validation, so it isn't really worth
tweaking the driver for it and we're better off dropping it instead.

Testing the driver running out of doorbells is already covered by
igt_guc_doorbells

Suggested-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20181018004610.22895-1-daniele.ceraolospurio@intel.com
drivers/gpu/drm/i915/selftests/intel_guc.c

index bf27162fb3277bb6dd573f3a3c7107af7eef19dc..464f7d5defadf1e0c6a470abb7dc008599e63294 100644 (file)
@@ -217,48 +217,6 @@ static int igt_guc_clients(void *args)
        if (err)
                goto out;
 
-       /*
-        * Negative test - a client with no doorbell (invalid db id).
-        * After destroying the doorbell, the db id is changed to
-        * GUC_DOORBELL_INVALID and the firmware will reject any attempt to
-        * allocate a doorbell with an invalid id (db has to be reserved before
-        * allocation).
-        */
-       destroy_doorbell(guc->execbuf_client);
-       if (client_doorbell_in_sync(guc->execbuf_client)) {
-               pr_err("destroy db did not work\n");
-               err = -EINVAL;
-               goto out;
-       }
-
-       unreserve_doorbell(guc->execbuf_client);
-
-       __create_doorbell(guc->execbuf_client);
-       err = __guc_allocate_doorbell(guc, guc->execbuf_client->stage_id);
-       if (err != -EIO) {
-               pr_err("unexpected (err = %d)", err);
-               goto out_db;
-       }
-
-       if (!available_dbs(guc, guc->execbuf_client->priority)) {
-               pr_err("doorbell not available when it should\n");
-               err = -EIO;
-               goto out_db;
-       }
-
-out_db:
-       /* clean after test */
-       __destroy_doorbell(guc->execbuf_client);
-       err = reserve_doorbell(guc->execbuf_client);
-       if (err) {
-               pr_err("failed to reserve back the doorbell back\n");
-       }
-       err = create_doorbell(guc->execbuf_client);
-       if (err) {
-               pr_err("recreate doorbell failed\n");
-               goto out;
-       }
-
 out:
        /*
         * Leave clean state for other test, plus the driver always destroy the