Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp1677632pxy; Fri, 23 Apr 2021 14:11:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxoG4fNiG5ApCGCNPK+atFqestVAboN3vV44FPuVLKsTYJGyQhDiLuA1RQLpqx/2TeQFIUo X-Received: by 2002:a17:906:3f88:: with SMTP id b8mr6418768ejj.36.1619212295626; Fri, 23 Apr 2021 14:11:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619212295; cv=none; d=google.com; s=arc-20160816; b=iqJuVVUJsxKRRXC3eFcrHKXT4vJdcQeGvAxXzJf6tspSb47v7PPafxqgDZkUfnvLnb V6d9ENkB0qNpzaxBv3NY8HZJZGW8kc7fduBUZecl8zxp/CiV0zNXg3EhXqDgYuNMCeyV qmKt/ayN0EnQ3tSCBDVqQeWMhAOQQE03xSieQOlljNry1jUz8T6PDBJON+etqC2r2tVq xzTkxmrrxn6BaGneoG76wc4TClWw/7jEuLJwvTjspUVM+oruU6RDsZ9F9c0Sd6uFslin 46BXowpVlFixhySW67H43kiJG9+nQVmfbOUsJbTcHyt0tR52BeVlW+uCtOjFmn82aokW 7U0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=vGf4Bqg3eO6JS3gvF6LxMt8XkWMGCm3Fd5yjKYFBgF8=; b=x/h+y1vZUM//M+Fp/CYvrIHmIXDtpchgvkaCgwIkPjaiw2bwdA18BYPKspL4H4Oa8c Ffop+FYnahSrNv1txkC3P+jd0uu1x3uwPnjo0WAQ9E5SkLJEU1kU7tU6wFzt455xwaQM s4s7ztja1HfgpOtrOyh++L3xix9ENkx/95fBbKxJ8r0x9FqCG4fDOtz153GPCVilB3TP bDEJE8CtQBJsnOh4OsVTue8g0uN5+nScn6giNvH+I4fi0eZzN0SOJXnfg6VIJ+IPWj1X tgZFrSR7QzzREzw9599o3lqSGYATr1V791vJq/wkqrw43MBcxsyvkQUz1VkFyFKizmH6 pPoA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d6si5986106edz.514.2021.04.23.14.11.11; Fri, 23 Apr 2021 14:11:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244169AbhDWVIc (ORCPT + 99 others); Fri, 23 Apr 2021 17:08:32 -0400 Received: from mail-io1-f51.google.com ([209.85.166.51]:39930 "EHLO mail-io1-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244156AbhDWVHz (ORCPT ); Fri, 23 Apr 2021 17:07:55 -0400 Received: by mail-io1-f51.google.com with SMTP id k25so7123957iob.6 for ; Fri, 23 Apr 2021 14:07:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vGf4Bqg3eO6JS3gvF6LxMt8XkWMGCm3Fd5yjKYFBgF8=; b=jLcS9iXjF38KzWEOw63///3Lzn0drXDKDeOXB2l4vEpOaV+nyaui1EQM8I/2b7p0OP nx2fmRsSBOEop5QM7Ng9sxydPQqyGiKVrXomrKiiRla/rrWHwzsE88B4yOfiXczFXdOR 6GB4ZLMLIM15iFQGcqcuGOnFEtacaAEpd8HOjvXfla7nVWSqaDtOXf5seQ3ExxkEFmKP n53QA2N8MlBCuECJg/8hP1kgsPozK1BofmMZcRNy+8PqvLcxfsfpTnTNjGVklz4SFyJe SH8j3UX+0ICTFy8ZvmeMzF4QxuE1jcaF/jrc7kllhEBIINaagjvehQjrr6SmOiU27Ni0 3VFA== X-Gm-Message-State: AOAM531cM2HU/jkFRoXNxaWadhw6++Pt52NqLniRXFb0yJWeSDADK2tH n3lfZZSc/0dmkJEBPWnmffB5z0fHja/ib9CJOCA= X-Received: by 2002:a5e:d515:: with SMTP id e21mr4718257iom.30.1619212035381; Fri, 23 Apr 2021 14:07:15 -0700 (PDT) MIME-Version: 1.0 References: <20210423184309.207645-1-lyude@redhat.com> <20210423184309.207645-3-lyude@redhat.com> In-Reply-To: <20210423184309.207645-3-lyude@redhat.com> From: Ilia Mirkin Date: Fri, 23 Apr 2021 17:07:04 -0400 Message-ID: Subject: Re: [Nouveau] [PATCH v4 02/17] drm/nouveau/kms/nv50-: Move AUX adapter reg to connector late register/early unregister To: Lyude Paul Cc: dri-devel , Intel Graphics Development , nouveau , amd-gfx mailing list , =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , Jani Nikula , Rodrigo Vivi , Thomas Zimmermann , Thierry Reding , David Airlie , Ben Skeggs , Daniel Vetter , open list Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some trivia, no comment on the real logic of the changes: On Fri, Apr 23, 2021 at 2:43 PM Lyude Paul wrote: > > Since AUX adapters on nouveau have their respective DRM connectors as > parents, we need to make sure that we register then after their connectors. then -> them > > Signed-off-by: Lyude Paul > --- > drivers/gpu/drm/nouveau/nouveau_connector.c | 25 ++++++++++++++++----- > 1 file changed, 20 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c > index 61e6d7412505..c04044be3d32 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_connector.c > +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c > @@ -401,7 +401,6 @@ nouveau_connector_destroy(struct drm_connector *connector) > drm_connector_cleanup(connector); > if (nv_connector->aux.transfer) { > drm_dp_cec_unregister_connector(&nv_connector->aux); > - drm_dp_aux_unregister(&nv_connector->aux); > kfree(nv_connector->aux.name); > } > kfree(connector); > @@ -905,13 +904,29 @@ nouveau_connector_late_register(struct drm_connector *connector) > int ret; > > ret = nouveau_backlight_init(connector); > + if (ret) > + return ret; > > + if (connector->connector_type == DRM_MODE_CONNECTOR_eDP || > + connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { > + ret = drm_dp_aux_register(&nouveau_connector(connector)->aux); > + if (ret) > + goto backlight_fini; > + } > + > + return 0; > +backlight_fini: > + nouveau_backlight_fini(connector); > return ret; > } > > static void > nouveau_connector_early_unregister(struct drm_connector *connector) > { > + if (connector->connector_type == DRM_MODE_CONNECTOR_eDP || > + connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) > + drm_dp_aux_unregister(&nouveau_connector(connector)->aux); > + > nouveau_backlight_fini(connector); > } > > @@ -1343,14 +1358,14 @@ nouveau_connector_create(struct drm_device *dev, > snprintf(aux_name, sizeof(aux_name), "sor-%04x-%04x", > dcbe->hasht, dcbe->hashm); > nv_connector->aux.name = kstrdup(aux_name, GFP_KERNEL); > - ret = drm_dp_aux_register(&nv_connector->aux); > + drm_dp_aux_init(&nv_connector->aux); > if (ret) { > - NV_ERROR(drm, "failed to register aux channel\n"); > + NV_ERROR(drm, "Failed to init AUX adapter for sor-%04x-%04x: %d\n", Maybe just use aux_name instead of rebuilding the string again? > + dcbe->hasht, dcbe->hashm, ret); > kfree(nv_connector); > return ERR_PTR(ret); > } > - funcs = &nouveau_connector_funcs; > - break; > + fallthrough; > default: > funcs = &nouveau_connector_funcs; > break; > -- > 2.30.2 > > _______________________________________________ > Nouveau mailing list > Nouveau@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau