Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp462138pxb; Mon, 8 Nov 2021 16:41:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJxpywSHMZw/c65oRpGMVEMcETiMP08jY6muz9oEiG8Zw6Dq0E4XMA1W9ymd0DmVMm34Fv/J X-Received: by 2002:a17:907:62a5:: with SMTP id nd37mr4465892ejc.114.1636418516324; Mon, 08 Nov 2021 16:41:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1636418516; cv=none; d=google.com; s=arc-20160816; b=gumwVnksDGNkeqwCaMGVY3s71KqeAS8aKM+fsCfHJVll5B//7vN/oXxg+NbpPU5Bw+ RghcGoXFmx1X2nhWdauiR/d9zmMVinjQh+XqRlmkzXHhmwZm1PX6yUmEGfqQlJl5mntQ xjqJ99WqBJBVEyEhxSUORrfDqiWy7X2gu9qwW2giE8gtItZYaMMjeWTZ/L6PamBU+DNy sUfwrXhallYY1i2LpxJb86bXcvkCsXiLTPKv30vMRjgVqMjJ+xV1SZ0pa9ZniZlZAdOu y7QvuVMnve4wRZqtEMxuBDKxIPmVETOr8gWHYtPJDqz3ERh3MUn4ErrorER8MH2EnLkt K7CA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :to:subject:dkim-signature; bh=ayfVWyvCKWObtEefpUK8XiDUodN1RBTjoIq7oKL3uI8=; b=PzI3Q8RI7CPT4iD1XRsbaGi81uRPSDX3pftgE7zEoQlU+vVsOGV4mEvNbp+jW2iRqu 4T9xoN0FGetTquRIYeemo4RP5yYl7u+xtnrOpWbBAnh4DpP9Xkc6sWCWfAyrY199uQ02 iTWyc8XoCyI1xBCANR8EUVr0+6Lu6c5dEGx57nkAjvifOZs87Q0iDYyt9R00FOhFaSzI S545XOm4iKtURXNOk6bIv7AEArKUdS3EV3baMMW7sd9jIkN2jE3IVcfVNb2w2x8hOrIa nQDn7UnrvRcN3k+fgMIb1Be8qTE9m9xjSkw00ZMfqIcre887zSrflpyxhG+hv2vgSUzg ErGg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=psSuSdje; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c11si36731459edx.502.2021.11.08.16.41.32; Mon, 08 Nov 2021 16:41:56 -0800 (PST) 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; dkim=pass header.i=@gmail.com header.s=20210112 header.b=psSuSdje; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235175AbhKHSS5 (ORCPT + 99 others); Mon, 8 Nov 2021 13:18:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235105AbhKHSS4 (ORCPT ); Mon, 8 Nov 2021 13:18:56 -0500 Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 81069C061570; Mon, 8 Nov 2021 10:16:10 -0800 (PST) Received: by mail-lf1-x131.google.com with SMTP id l22so11412448lfg.7; Mon, 08 Nov 2021 10:16:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=ayfVWyvCKWObtEefpUK8XiDUodN1RBTjoIq7oKL3uI8=; b=psSuSdjeBh18x7/UZOLKYBZ050xV58E8myXKgo3MzqnBgaLSlTfDeB/Ih/DhJOKXCK JY/VGKOm85LNgvzMOlB/NITTvk00vhg+Zs+EYtYOL8gPxCdC/DqHzeCy59PWmR/5BwS5 EKQhxhOcmMYxZhAKG7ebJd81iZclDmD6aKsbW/LiR/7faDuaOyUNLO40+1fTUuTWnpIa cKACbu7rch+9+KBFhUPBmCS6DMAesFG5gmdZgS/dKgdCMMvaWI2XnvcRDZ5WawOP12Ku lVL1daDvmHqKvdDnI4C8a8JA2aRSxZtoxJzRZZrrtZZ1H7QYFRKKDOzai4CsXjdNm/4G 3/7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=ayfVWyvCKWObtEefpUK8XiDUodN1RBTjoIq7oKL3uI8=; b=AT6JncGFzXtC18MQDHf45XIZoRPDU+hunfRvQtO5O7TfQXT950orFnxqGVgJ16pWTU qiQu8fIGDeLR455/hb7g1SKJQN+bpR5KmFKJyNtMrMSjIJEPlFxdWSu9ZxDU7y9R1eOf Bs/TBCcsh1Mseot0TGkxKE3C2yps0kNE+JJM8IuCTOhuU5j52qPdOEtRn8dUUNwvgz0E Iv6B+v3ZMvES7EbAPzPyUTnWshvIJRUBGnUjXydXI0DVRW9kALPgNv4BrAFHce3ITpB+ 5oa4/zqt1P+ZGLsFeFX+GBZWjaxUYLd73Zv9gmr/FNs4NBQ+COj90thH43lRq+BTtWEq 035w== X-Gm-Message-State: AOAM531wNQLaz33aRGmmjRe+E6A5HZ3dUZLba69UqK+Nzbcir3t5R3R7 heSEenzo+wbOelEy1lIkKh1h3uH0eSA= X-Received: by 2002:ac2:4c50:: with SMTP id o16mr1106096lfk.517.1636395368730; Mon, 08 Nov 2021 10:16:08 -0800 (PST) Received: from [192.168.2.145] (79-139-188-96.dynamic.spd-mgts.ru. [79.139.188.96]) by smtp.googlemail.com with ESMTPSA id g10sm318910lfv.113.2021.11.08.10.16.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 08 Nov 2021 10:16:08 -0800 (PST) Subject: Re: [PATCH v1 2/2] drm/tegra: Use drm_dp_aux_register_ddc/chardev() helpers To: Thierry Reding , Jonathan Hunter , Lyude Paul , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Thomas Graichen , dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org References: <20211107230821.13511-1-digetx@gmail.com> <20211107230821.13511-2-digetx@gmail.com> From: Dmitry Osipenko Message-ID: <0a2c02ae-3fe1-e384-28d3-13e13801d675@gmail.com> Date: Mon, 8 Nov 2021 21:16:07 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 08.11.2021 18:17, Daniel Vetter пишет: > On Mon, Nov 08, 2021 at 02:08:21AM +0300, Dmitry Osipenko wrote: >> Use drm_dp_aux_register_ddc/chardev() helpers that allow to register I2C >> adapter separately from the character device. This fixes broken display >> panel driver of Acer Chromebook CB5-311 that fails to probe starting with >> v5.13 kernel when DP AUX registration order was changed. Tegra SOR driver >> is never probed now using the new registration order because tegra-output >> always fails with -EPROBE_DEFER due to missing display panel that requires >> DP AUX DDC to be registered first. The offending commit made DDC to be >> registered after SOR's output, which can't ever happen. Use new helpers >> to restore the registration order and revive display panel. > > This feels a bit backward, I think the clean solution would be to untangle > the SOR loading from the panel driver loading, and then only block > registering the overall drm_device on both drivers having loaded. Sounds impossible. 1. DRM device can be created only when all components are ready, panel is one of the components. 2. SOR driver is controlling panel and programs h/w based on panel presence. 3. Panel can't become ready until DP AUX DDC is created. 4. DP AUX DDC can't be created until DRM device is created. 5. Go to 1. Even if there is an option to somehow rewrite Tegra DRM driver to accommodate it to the desired driver model, it won't be something portable to stable kernels. > This here at least feels like a game of whack-a-mole, if like every driver > needs its own careful staging of everything. That is inevitable because each hardware design is individual.