[Intel-gfx] [PATCH v6] drm/i915/guc: Add a second client, to be used for preemption

Michel Thierry michel.thierry at intel.com
Thu Oct 26 18:49:06 UTC 2017


On 26/10/17 07:17, MichaƂ Winiarski wrote:
> @@ -763,14 +770,14 @@ static int guc_init_doorbell_hw(struct intel_guc *guc)
> 
>          /* Now for every client (and not only execbuf_client) make sure their
>           * doorbells are known by the GuC */
> -       //for (client = client_list; client != NULL; client = client->next)
> -       {
> -               ret = __create_doorbell(client);
> -               if (ret) {
> -                       DRM_ERROR("Couldn't recreate client %u doorbell: %d\n",
> -                               client->stage_id, ret);
> -                       return ret;
> -               }
> +       ret = __create_doorbell(guc->execbuf_client);
> +       if (ret)
> +               return ret;
> +
> +       ret = __create_doorbell(guc->preempt_client);
> +       if (ret) {
> +               __destroy_doorbell(guc->execbuf_client);
> +               return ret;
>          }

I'm pretty sure there's an old client left behind after this, e.g.:

  static int guc_init_doorbell_hw(struct intel_guc *guc)
  {
-	struct i915_guc_client *client = guc->execbuf_client;
  ...

-Michel


More information about the Intel-gfx mailing list