From patchwork Thu Nov 25 10:10:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Chiu X-Patchwork-Id: 1559603 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=qcYVTJIe; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J0DCh4vDYz9s5P for ; Thu, 25 Nov 2021 21:10:40 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1mqBi3-0005B1-J2; Thu, 25 Nov 2021 10:10:31 +0000 Received: from smtp-relay-internal-0.internal ([10.131.114.225] helo=smtp-relay-internal-0.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1mqBi2-0005At-Kt for kernel-team@lists.ubuntu.com; Thu, 25 Nov 2021 10:10:30 +0000 Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 7880B3F225 for ; Thu, 25 Nov 2021 10:10:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1637835030; bh=i24TqiJiMD+IZOKXC5FwJJgURaRl8E81H26dJHgt/XY=; h=From:To:Subject:Date:Message-Id:MIME-Version:Content-Type; b=qcYVTJIePE+gmaxJ+Vx9BJ7pt+1BG4hL4yPii/Qd76M62TXE5E/qqrW3ulr+rvPUo Ox3RJH7yMYhpihGghH/qyK5b/7w0DnUPdYuHr34DBUR6975O2bynhqsxzBzcZicJaz Ux5yi+lwQ3T5NK3a53DIfG0c7qeJtaEzV0iGtBh/H8vK8gPGvta8CDYOf+pq+bmdRa 3rrV7c9QHWIS5HEffrJH7HABgCYsgGMlR74xj0FsGiRjQyyS50NGVCCSRPslI+/1ws tutdoypnZd8mfxEAbDfOVLwgoBPOm1Fr8qJ61yOjIUN8owf6HdZ7uOMl+LgMzqnq6f bAOpjA4LLJyow== Received: by mail-pl1-f200.google.com with SMTP id e4-20020a170902b78400b00143c2e300ddso1873848pls.17 for ; Thu, 25 Nov 2021 02:10:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=i24TqiJiMD+IZOKXC5FwJJgURaRl8E81H26dJHgt/XY=; b=Kqs0WXNAwBq7xmlik6vEFwZL1IXON1GoRSYH5nBuEZCC1x5VG781ExJTiIgt/duRT6 P7gikYa0tANty4pEcokvnCAcpo30x8DoFKkQYt6w6TNBJWcC3bQ7sfIUvdtdbIBVMVdz mgC6gLXncdo4ob/eJE8L58f/CRVr24aBDuduFWdHrJ0ZOhB4J/SgLjtkZFoq2W2BfWcj uYMy4BcqpHU5FZQRncHnrh3YyD+c1UFWypgnKGgXIYIFtMI70J3x5i2fXT6/XWeJ1XIH TywzAE/1ppz3wYIif4ieQYD5eDVw+KZ1ZIgzO9LsmfOhoIc5ZUpq0mwxQIeCScBtZaLb mNFQ== X-Gm-Message-State: AOAM530b05dq5+VdX+IwyXjxpFR5zQxh+KBh5ayyLzJdEDfRf1/YXTuw HiryC+xqPWEYlAcliHr6wTDIgIEOK7dNqVIODrJedzhN0k4DK/JWF9FGTDN0tOGdE+rzTingB5W kUa7r7QbxkTNEqasRQXSJSCz9CC9r8jv+d7YS5vBzgg== X-Received: by 2002:a65:60c2:: with SMTP id r2mr15199028pgv.123.1637835028966; Thu, 25 Nov 2021 02:10:28 -0800 (PST) X-Google-Smtp-Source: ABdhPJxJTWfNVn+GXRXHULGdGmASMSur3Wz8/VxUbyVIZfoUl+xI7G//GPRIeWbrq1W1p1ph8WT1+Q== X-Received: by 2002:a65:60c2:: with SMTP id r2mr15199009pgv.123.1637835028580; Thu, 25 Nov 2021 02:10:28 -0800 (PST) Received: from localhost.localdomain (111-240-133-170.dynamic-ip.hinet.net. [111.240.133.170]) by smtp.gmail.com with ESMTPSA id g18sm2621861pfb.103.2021.11.25.02.10.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Nov 2021 02:10:28 -0800 (PST) From: Chris Chiu To: kernel-team@lists.ubuntu.com Subject: [PATCH v2 00/12][SRU][OEM-5.14]Fix i915 TypeC disconnect problems for Intel ADL-P Date: Thu, 25 Nov 2021 18:10:13 +0800 Message-Id: <20211125101025.20214-1-chris.chiu@canonical.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1952041 [Impact] When the ADL-P system connects the external display via TypeC port, it will hang after unplugging the TypeC connector. The system will never come back until reboot. [Fix] Intel has released a patch set to fix the TypeC PHY connect/disconnect logic. The shift for ownership of PHY and power domain will be handled correctly for ADL-P. [Test] The ADL-P system will no longer freeze and the ownership will shift correctly after disconnecting the external display connects via TypeC port. [Where problem could occur] It's kind of a big refactor for the i915 TypeC PHY handling logic. Don't know if there's any problems on older platforms. Targeting only on Jammy/Unstable and latest OEM kernel for lower risk. v2: remove SRU for U since #4 of this series should be cleanly cherry-picked to U and J. Imre Deak (12): drm/i915/adlp/tc: Fix PHY connected check for Thunderbolt mode drm/i915/tc: Remove waiting for PHY complete during releasing ownership drm/i915/tc: Check for DP-alt, legacy sinks before taking PHY ownership drm/i915/tc: Add/use helpers to retrieve TypeC port properties drm/i915/tc: Don't keep legacy TypeC ports in connected state w/o a sink drm/i915/tc: Add a mode for the TypeC PHY's disconnected state drm/i915/tc: Refactor TC-cold block/unblock helpers drm/i915/tc: Avoid using legacy AUX PW in TBT mode drm/i915/icl/tc: Remove the ICL special casing during TC-cold blocking drm/i915/tc: Fix TypeC PHY connect/disconnect logic on ADL-P drm/i915/tc: Drop extra TC cold blocking from intel_tc_port_connected() drm/i915/tc: Fix system hang on ADL-P during TypeC PHY disconnect drivers/gpu/drm/i915/display/intel_ddi.c | 34 +- drivers/gpu/drm/i915/display/intel_display.c | 6 +- drivers/gpu/drm/i915/display/intel_display.h | 1 + .../drm/i915/display/intel_display_power.c | 4 +- .../drm/i915/display/intel_display_types.h | 3 + drivers/gpu/drm/i915/display/intel_dp_aux.c | 6 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 5 +- drivers/gpu/drm/i915/display/intel_tc.c | 290 ++++++++++++------ drivers/gpu/drm/i915/display/intel_tc.h | 6 +- 9 files changed, 224 insertions(+), 131 deletions(-)