Message ID | 20240217150228.5788-1-johan+linaro@kernel.org |
---|---|
Headers |
Return-Path: <linux-kernel+bounces-69923-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp368309dyc; Sat, 17 Feb 2024 07:11:00 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVgEwX3ORuGAWzJjCogN7KLz8z7J9Lvn2b6sAJmGf0wDxdIx7qOryAfmyE35j8uUbS4U7JS6uz3aKOyDfI7IOMo4oQ9gA== X-Google-Smtp-Source: AGHT+IHKo58tNaatS46Gjixhk0OKCnJIHODoSXxZkPV2F/6XBAcziJjyPByR0t62iuya8DRZLSDn X-Received: by 2002:a0c:f009:0:b0:68f:2b9b:2809 with SMTP id z9-20020a0cf009000000b0068f2b9b2809mr6472877qvk.54.1708182660502; Sat, 17 Feb 2024 07:11:00 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708182660; cv=pass; d=google.com; s=arc-20160816; b=spvh4GSVebYhmXPpdCu8XK4y8Y072PoWSoaxLh2zrZu5aeKbixVb4IEB5TCbq4ZX53 cXBYi+2lchnLfGRbvcrki/oXmNy+uiyqvsjDyVUZxoGMNDbsZx+zcxumuIDeNgLAgbiw JBa6+/7uJ64qTMEFiKpkzLJmTiOjUU0bqg8ew/b9xM1ukUDV0TmakUbPWV1NS4JHKfyo xJzIua8WYRi5aZsFh+Vo4pm6TQOfDAx7lAD5AB5wBhP7GlS2g05Wzvq28IT0wgSvP0VT NixaDB4la8m11zDl41beM46kOgzFqQk+CI1hnulP5lpedMqUsSkOaLiz60egwofJVv3W kcOQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=z69Rhf9uLG6lQp8geYioLuuBMWCGb7wvfX9FMct4Llw=; fh=pcX3nLBLzYPdmuawBHbOhWNtQQD3frRXqpw6hcDvZ+Y=; b=XiYHMn0C0GgjHRamMBNa3g9hnrXnr2A9xoKFSATty109xG23oSejH/ALE3CQgBm2kq lZAcgeQBwp54y3juLMYz4sNCgx7DrLUdQ3Wx46N++Pl4+tseZ/K3/CvTSE16pYyJbHAn 7K+StPpux4KJXpd+JU+x2zoszsOsogpNP1o5VkdMN38Cg3fcgSyogmbgVrL2I1NTuzWy obcwZgOaC/8eXIGrzjJAmGwJGdrVzElv+BC1ldW8jTVxy0aHAtKiCPRzVsGsoabd+Ubk WV8E6YnZXdbJ7X77eEp2U8c7gdui2W75sx3i9fpNaAlYMFsloLWQcpY211vzbod3/nXk Ij9w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Sk6Bj7qn; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-69923-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-69923-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id gv2-20020a056214262200b0068f24b2ad76si2132681qvb.93.2024.02.17.07.11.00 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 Feb 2024 07:11:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-69923-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Sk6Bj7qn; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-69923-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-69923-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0C6531C226C5 for <ouuuleilei@gmail.com>; Sat, 17 Feb 2024 15:04:09 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3A69D7D40E; Sat, 17 Feb 2024 15:03:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Sk6Bj7qn" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C6007C08E; Sat, 17 Feb 2024 15:03:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708182183; cv=none; b=JU57P2otv88wpG0anqGD98QrMYy4L/dnPH8HFcT/QJH/X5sK2X4P31+JHOgz0C+zi6Jf4RASftAFDkYMpZcq1IhpdU4zTzdCyUu8MEtNHXTvnqPABHv/t494jykRq/dTVqJ738cIHHapHUmqP/dKUd+psHKGwaonXOX0K95VNAk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708182183; c=relaxed/simple; bh=RYGrgArfEQO1hz4ZDJrYc151D2jwcPj4HsJMgduGqdg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=mYv9kfB8L01xHeU3zwudfIoqbxqUbp2tt1h1kS8CickFQ2XLX/eEe7VD27/sz39tRTujZNEy4HoaasQnBB8VBZD/ZsE/5nktswTLusHFt7iRWPlYd4D7prNcZnT+6UP57ltIJC4iSKDXMjFpsCKmgzFluzd+DOr6AH6onp8kgPc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Sk6Bj7qn; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0FF3FC43399; Sat, 17 Feb 2024 15:03:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708182183; bh=RYGrgArfEQO1hz4ZDJrYc151D2jwcPj4HsJMgduGqdg=; h=From:To:Cc:Subject:Date:From; b=Sk6Bj7qnkUtxpPu7r0OWOEKX33/NEitQ5TtRnYdKJx+5sZ2r+IdHyM4505BXrMdz7 GQebIt2mgAB3H+iuiVvivn25osbNIPGGdUUA6Sy7we/HmOoNHmvZ29aY/D1v/3OXKD P0bwBYQVv0Ddw4ZaTUT+gKpRcQrYUqIJMifT/Fi8HGaiNqwKjJbCouYHnoGUUkhJwI Bbf7tsUiicb0WSQafeUfOO4SvhcBn4jAy7CpR1tGSBqOarXQ+/gZF8xYjmsOgZNnzD AqUCkvJtcEa+vQ7aB1sdYH+ZhJa3h5ARzbrw4zE8XlUbS07GjIwzvSopeuJnp/v7Nw PeCQwYiphYhEw== Received: from johan by xi.lan with local (Exim 4.97.1) (envelope-from <johan+linaro@kernel.org>) id 1rbMDW-000000001Vm-1iMa; Sat, 17 Feb 2024 16:03:02 +0100 From: Johan Hovold <johan+linaro@kernel.org> To: Bjorn Andersson <andersson@kernel.org>, Andrzej Hajda <andrzej.hajda@intel.com>, Neil Armstrong <neil.armstrong@linaro.org>, Robert Foss <rfoss@kernel.org>, Maarten Lankhorst <maarten.lankhorst@linux.intel.com>, Maxime Ripard <mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>, David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>, Vinod Koul <vkoul@kernel.org> Cc: Jonas Karlman <jonas@kwiboo.se>, Laurent Pinchart <Laurent.pinchart@ideasonboard.com>, Jernej Skrabec <jernej.skrabec@gmail.com>, Konrad Dybcio <konrad.dybcio@linaro.org>, Kishon Vijay Abraham I <kishon@kernel.org>, Dmitry Baryshkov <dmitry.baryshkov@linaro.org>, Rob Clark <robdclark@gmail.com>, Abhinav Kumar <quic_abhinavk@quicinc.com>, Kuogee Hsieh <quic_khsieh@quicinc.com>, freedreno@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, Johan Hovold <johan+linaro@kernel.org> Subject: [PATCH 0/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free Date: Sat, 17 Feb 2024 16:02:22 +0100 Message-ID: <20240217150228.5788-1-johan+linaro@kernel.org> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791158917789245069 X-GMAIL-MSGID: 1791159341443953646 |
Series |
soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free
|
|
Message
Johan Hovold
Feb. 17, 2024, 3:02 p.m. UTC
Starting with 6.8-rc1 the internal display sometimes fails to come up on machines like the Lenovo ThinkPad X13s and the logs indicate that this is due to a regression in the DRM subsystem [1]. This series fixes a race in the pmic_glink_altmode driver which was exposed / triggered by the transparent DRM bridges rework that went into 6.8-rc1 and that manifested itself as a bridge failing to attach and sometimes triggering a NULL-pointer dereference. The intermittent hard resets that have also been reported since 6.8-rc1 unfortunately still remains and suggests that we are dealing with two separate regressions. There is some indication that also the hard resets (e.g. due to register accesses to unclocked hardware) are also due to changes in the DRM subsystem as it happens around the time that the eDP panel and display controller would be initialised during boot (the runtime PM rework?). This remains to be verified, however. Included is also a fix for a related OF node reference leak in the aux-hpd driver found through inspection when reworking the driver. The use-after-free bug is triggered by a probe deferral and highlighted some further bugs in the involved drivers, which were registering child devices before deferring probe. This behaviour is not correct and can both trigger probe deferral loops and potentially also further issues with the DRM bridge implementation. This series can either go through the Qualcomm SoC tree (pmic_glink) or the DRM tree. The PHY patches do not depend on the rest of the series and could possibly be merged separately through the PHY tree. Whichever gets this to mainline the fastest. Johan [1] https://lore.kernel.org/lkml/ZctVmLK4zTwcpW3A@hovoldconsulting.com/ Johan Hovold (5): drm/bridge: aux-hpd: fix OF node leaks drm/bridge: aux-hpd: separate allocation and registration soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free phy: qcom-qmp-combo: fix drm bridge registration phy: qcom-qmp-combo: fix type-c switch registration Rob Clark (1): soc: qcom: pmic_glink: Fix boot when QRTR=m drivers/gpu/drm/bridge/aux-hpd-bridge.c | 70 ++++++++++++++++++----- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 16 +++--- drivers/soc/qcom/pmic_glink.c | 21 +++---- drivers/soc/qcom/pmic_glink_altmode.c | 16 +++++- include/drm/bridge/aux-bridge.h | 15 +++++ 5 files changed, 102 insertions(+), 36 deletions(-)
Comments
Hi, On Sat, 17 Feb 2024 16:02:22 +0100, Johan Hovold wrote: > Starting with 6.8-rc1 the internal display sometimes fails to come up on > machines like the Lenovo ThinkPad X13s and the logs indicate that this > is due to a regression in the DRM subsystem [1]. > > This series fixes a race in the pmic_glink_altmode driver which was > exposed / triggered by the transparent DRM bridges rework that went into > 6.8-rc1 and that manifested itself as a bridge failing to attach and > sometimes triggering a NULL-pointer dereference. > > [...] Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-fixes) [1/6] drm/bridge: aux-hpd: fix OF node leaks https://cgit.freedesktop.org/drm/drm-misc/commit/?id=9ee485bdda68d6d3f5728cbe3150eb9013d7d22b [2/6] drm/bridge: aux-hpd: separate allocation and registration (no commit info) [3/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free (no commit info) [4/6] soc: qcom: pmic_glink: Fix boot when QRTR=m (no commit info) [5/6] phy: qcom-qmp-combo: fix drm bridge registration (no commit info) [6/6] phy: qcom-qmp-combo: fix type-c switch registration (no commit info)
On 23/02/2024 12:02, Neil Armstrong wrote: > Hi, > > On Sat, 17 Feb 2024 16:02:22 +0100, Johan Hovold wrote: >> Starting with 6.8-rc1 the internal display sometimes fails to come up on >> machines like the Lenovo ThinkPad X13s and the logs indicate that this >> is due to a regression in the DRM subsystem [1]. >> >> This series fixes a race in the pmic_glink_altmode driver which was >> exposed / triggered by the transparent DRM bridges rework that went into >> 6.8-rc1 and that manifested itself as a bridge failing to attach and >> sometimes triggering a NULL-pointer dereference. >> >> [...] > > Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-fixes) > > [1/6] drm/bridge: aux-hpd: fix OF node leaks > https://cgit.freedesktop.org/drm/drm-misc/commit/?id=9ee485bdda68d6d3f5728cbe3150eb9013d7d22b > [2/6] drm/bridge: aux-hpd: separate allocation and registration > (no commit info) > [3/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free > (no commit info) > [4/6] soc: qcom: pmic_glink: Fix boot when QRTR=m > (no commit info) > [5/6] phy: qcom-qmp-combo: fix drm bridge registration > (no commit info) > [6/6] phy: qcom-qmp-combo: fix type-c switch registration > (no commit info) > To clarify, I only applied patch 1 to drm-misc-fixes Thanks, Neil
On Fri, Feb 23, 2024 at 12:03:10PM +0100, Neil Armstrong wrote: > On 23/02/2024 12:02, Neil Armstrong wrote: > > Hi, > > > > On Sat, 17 Feb 2024 16:02:22 +0100, Johan Hovold wrote: > >> Starting with 6.8-rc1 the internal display sometimes fails to come up on > >> machines like the Lenovo ThinkPad X13s and the logs indicate that this > >> is due to a regression in the DRM subsystem [1]. > >> > >> This series fixes a race in the pmic_glink_altmode driver which was > >> exposed / triggered by the transparent DRM bridges rework that went into > >> 6.8-rc1 and that manifested itself as a bridge failing to attach and > >> sometimes triggering a NULL-pointer dereference. > >> > >> [...] > > > > Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-fixes) > > > > [1/6] drm/bridge: aux-hpd: fix OF node leaks > > https://cgit.freedesktop.org/drm/drm-misc/commit/?id=9ee485bdda68d6d3f5728cbe3150eb9013d7d22b > > [2/6] drm/bridge: aux-hpd: separate allocation and registration > > (no commit info) > > [3/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free > > (no commit info) > > [4/6] soc: qcom: pmic_glink: Fix boot when QRTR=m > > (no commit info) > > [5/6] phy: qcom-qmp-combo: fix drm bridge registration > > (no commit info) > > [6/6] phy: qcom-qmp-combo: fix type-c switch registration > > (no commit info) > > > > To clarify, I only applied patch 1 to drm-misc-fixes Ok, but can you please not do that? :) These patches should go in through the same tree to avoid conflicts. I discussed this with Bjorn and Dmitry the other day and the conclusion was that it was easiest to take all of these through DRM. With Vinod acking the PHY patches, I believe you have what you need to merge the whole series now? Johan
On 23/02/2024 13:51, Johan Hovold wrote: > On Fri, Feb 23, 2024 at 12:03:10PM +0100, Neil Armstrong wrote: >> On 23/02/2024 12:02, Neil Armstrong wrote: >>> Hi, >>> >>> On Sat, 17 Feb 2024 16:02:22 +0100, Johan Hovold wrote: >>>> Starting with 6.8-rc1 the internal display sometimes fails to come up on >>>> machines like the Lenovo ThinkPad X13s and the logs indicate that this >>>> is due to a regression in the DRM subsystem [1]. >>>> >>>> This series fixes a race in the pmic_glink_altmode driver which was >>>> exposed / triggered by the transparent DRM bridges rework that went into >>>> 6.8-rc1 and that manifested itself as a bridge failing to attach and >>>> sometimes triggering a NULL-pointer dereference. >>>> >>>> [...] >>> >>> Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-fixes) >>> >>> [1/6] drm/bridge: aux-hpd: fix OF node leaks >>> https://cgit.freedesktop.org/drm/drm-misc/commit/?id=9ee485bdda68d6d3f5728cbe3150eb9013d7d22b >>> [2/6] drm/bridge: aux-hpd: separate allocation and registration >>> (no commit info) >>> [3/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free >>> (no commit info) >>> [4/6] soc: qcom: pmic_glink: Fix boot when QRTR=m >>> (no commit info) >>> [5/6] phy: qcom-qmp-combo: fix drm bridge registration >>> (no commit info) >>> [6/6] phy: qcom-qmp-combo: fix type-c switch registration >>> (no commit info) >>> >> >> To clarify, I only applied patch 1 to drm-misc-fixes > > Ok, but can you please not do that? :) > > These patches should go in through the same tree to avoid conflicts. > > I discussed this with Bjorn and Dmitry the other day and the conclusion > was that it was easiest to take all of these through DRM. I only applied patch 1, which is a standalone fix and goes into a separate tree, for the next patches it would be indeed simpler for them to go via drm-misc when they are properly acked. Neil > > With Vinod acking the PHY patches, I believe you have what you need to > merge the whole series now? > > Johan
On Fri, 23 Feb 2024 at 15:52, Neil Armstrong <neil.armstrong@linaro.org> wrote: > > On 23/02/2024 13:51, Johan Hovold wrote: > > On Fri, Feb 23, 2024 at 12:03:10PM +0100, Neil Armstrong wrote: > >> On 23/02/2024 12:02, Neil Armstrong wrote: > >>> Hi, > >>> > >>> On Sat, 17 Feb 2024 16:02:22 +0100, Johan Hovold wrote: > >>>> Starting with 6.8-rc1 the internal display sometimes fails to come up on > >>>> machines like the Lenovo ThinkPad X13s and the logs indicate that this > >>>> is due to a regression in the DRM subsystem [1]. > >>>> > >>>> This series fixes a race in the pmic_glink_altmode driver which was > >>>> exposed / triggered by the transparent DRM bridges rework that went into > >>>> 6.8-rc1 and that manifested itself as a bridge failing to attach and > >>>> sometimes triggering a NULL-pointer dereference. > >>>> > >>>> [...] > >>> > >>> Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-fixes) > >>> > >>> [1/6] drm/bridge: aux-hpd: fix OF node leaks > >>> https://cgit.freedesktop.org/drm/drm-misc/commit/?id=9ee485bdda68d6d3f5728cbe3150eb9013d7d22b > >>> [2/6] drm/bridge: aux-hpd: separate allocation and registration > >>> (no commit info) > >>> [3/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free > >>> (no commit info) > >>> [4/6] soc: qcom: pmic_glink: Fix boot when QRTR=m > >>> (no commit info) > >>> [5/6] phy: qcom-qmp-combo: fix drm bridge registration > >>> (no commit info) > >>> [6/6] phy: qcom-qmp-combo: fix type-c switch registration > >>> (no commit info) > >>> > >> > >> To clarify, I only applied patch 1 to drm-misc-fixes > > > > Ok, but can you please not do that? :) > > > > These patches should go in through the same tree to avoid conflicts. > > > > I discussed this with Bjorn and Dmitry the other day and the conclusion > > was that it was easiest to take all of these through DRM. > > I only applied patch 1, which is a standalone fix and goes into a separate tree, > for the next patches it would be indeed simpler for them to go via drm-misc when > they are properly acked. I think PHY patches can go through a usual route (phy/next or phy/fixes). For patches 3 and 4 I'd need an ack from Bjorn to merge them through drm-misc-next or drm-misc-fixes.
On Fri, Feb 23, 2024 at 02:52:28PM +0100, Neil Armstrong wrote: > On 23/02/2024 13:51, Johan Hovold wrote: > > On Fri, Feb 23, 2024 at 12:03:10PM +0100, Neil Armstrong wrote: > >> On 23/02/2024 12:02, Neil Armstrong wrote: > >>> Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-fixes) > >>> > >>> [1/6] drm/bridge: aux-hpd: fix OF node leaks > >>> https://cgit.freedesktop.org/drm/drm-misc/commit/?id=9ee485bdda68d6d3f5728cbe3150eb9013d7d22b > >>> [2/6] drm/bridge: aux-hpd: separate allocation and registration > >>> (no commit info) > >>> [3/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free > >>> (no commit info) > >>> [4/6] soc: qcom: pmic_glink: Fix boot when QRTR=m > >>> (no commit info) > >>> [5/6] phy: qcom-qmp-combo: fix drm bridge registration > >>> (no commit info) > >>> [6/6] phy: qcom-qmp-combo: fix type-c switch registration > >>> (no commit info) > >>> > >> > >> To clarify, I only applied patch 1 to drm-misc-fixes > > > > Ok, but can you please not do that? :) > > > > These patches should go in through the same tree to avoid conflicts. > > > > I discussed this with Bjorn and Dmitry the other day and the conclusion > > was that it was easiest to take all of these through DRM. > > I only applied patch 1, which is a standalone fix and goes into a separate tree, > for the next patches it would be indeed simpler for them to go via drm-misc when > they are properly acked. But it is *not* standalone as I tried to explain above. So you have to drop it again as the later patches depend on it and cannot be merged (through a different tree) without it. I thought you had all the acks you needed to take this through drm-misc, but we can wait a bit more if necessary (and there's no rush to get the first one in). Johan
On Fri, Feb 23, 2024 at 04:18:08PM +0200, Dmitry Baryshkov wrote: > On Fri, 23 Feb 2024 at 15:52, Neil Armstrong <neil.armstrong@linaro.org> wrote: > > On 23/02/2024 13:51, Johan Hovold wrote: > > > On Fri, Feb 23, 2024 at 12:03:10PM +0100, Neil Armstrong wrote: > > >> On 23/02/2024 12:02, Neil Armstrong wrote: > > >>> Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-fixes) > > >>> > > >>> [1/6] drm/bridge: aux-hpd: fix OF node leaks > > >>> https://cgit.freedesktop.org/drm/drm-misc/commit/?id=9ee485bdda68d6d3f5728cbe3150eb9013d7d22b > > >>> [2/6] drm/bridge: aux-hpd: separate allocation and registration > > >>> (no commit info) > > >>> [3/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free > > >>> (no commit info) > > >>> [4/6] soc: qcom: pmic_glink: Fix boot when QRTR=m > > >>> (no commit info) > > >>> [5/6] phy: qcom-qmp-combo: fix drm bridge registration > > >>> (no commit info) > > >>> [6/6] phy: qcom-qmp-combo: fix type-c switch registration > > >>> (no commit info) > > >>> > > >> > > >> To clarify, I only applied patch 1 to drm-misc-fixes > > > > > > Ok, but can you please not do that? :) > > > > > > These patches should go in through the same tree to avoid conflicts. > > > > > > I discussed this with Bjorn and Dmitry the other day and the conclusion > > > was that it was easiest to take all of these through DRM. > > > > I only applied patch 1, which is a standalone fix and goes into a separate tree, > > for the next patches it would be indeed simpler for them to go via drm-misc when > > they are properly acked. > > I think PHY patches can go through a usual route (phy/next or > phy/fixes). They can, but I've explicitly asked Vinod to ack them so that they can go in with the rest of the series through DRM. They also fix a regression that came in through DRM in 6.8-rc1 (the bridge rework which started registering child devices) so it makes sense to also route the fix the same way. And to do it for this cycle. > For patches 3 and 4 I'd need an ack from Bjorn to merge > them through drm-misc-next or drm-misc-fixes. You have Bjorn's ack. He's reviewed all the patches for this purpose and we discussed this in person two days ago. And, again, this has to go in for *this* cycle. You broke the display on the X13s and other machines so this cannot wait for 6.9. Johan
On 23/02/2024 15:21, Johan Hovold wrote: > On Fri, Feb 23, 2024 at 02:52:28PM +0100, Neil Armstrong wrote: >> On 23/02/2024 13:51, Johan Hovold wrote: >>> On Fri, Feb 23, 2024 at 12:03:10PM +0100, Neil Armstrong wrote: >>>> On 23/02/2024 12:02, Neil Armstrong wrote: > >>>>> Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-fixes) >>>>> >>>>> [1/6] drm/bridge: aux-hpd: fix OF node leaks >>>>> https://cgit.freedesktop.org/drm/drm-misc/commit/?id=9ee485bdda68d6d3f5728cbe3150eb9013d7d22b >>>>> [2/6] drm/bridge: aux-hpd: separate allocation and registration >>>>> (no commit info) >>>>> [3/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free >>>>> (no commit info) >>>>> [4/6] soc: qcom: pmic_glink: Fix boot when QRTR=m >>>>> (no commit info) >>>>> [5/6] phy: qcom-qmp-combo: fix drm bridge registration >>>>> (no commit info) >>>>> [6/6] phy: qcom-qmp-combo: fix type-c switch registration >>>>> (no commit info) >>>>> >>>> >>>> To clarify, I only applied patch 1 to drm-misc-fixes >>> >>> Ok, but can you please not do that? :) >>> >>> These patches should go in through the same tree to avoid conflicts. >>> >>> I discussed this with Bjorn and Dmitry the other day and the conclusion >>> was that it was easiest to take all of these through DRM. >> >> I only applied patch 1, which is a standalone fix and goes into a separate tree, >> for the next patches it would be indeed simpler for them to go via drm-misc when >> they are properly acked. > > But it is *not* standalone as I tried to explain above. > > So you have to drop it again as the later patches depend on it and > cannot be merged (through a different tree) without it. drm-misc branches cannot be rebased, it must be reverted, but it can still be applied on drm-misc-next and I'll send a revert patch for drm-misc-fixes if needed, not a big deal. > I thought you had all the acks you needed to take this through drm-misc, > but we can wait a bit more if necessary (and there's no rush to get the > first one in). If you want it to be in v6.9, it's too late since the last drm-misc-next PR has been sent yesterday (https://cgit.freedesktop.org/drm/drm-misc/tag/?h=drm-misc-next-2024-02-22) Please ping Thomas or Maxime, perhaps it's not too late since the drm-misc-next tree really closes on sunday. Neil > > Johan
On Fri, Feb 23, 2024 at 03:38:13PM +0100, Neil Armstrong wrote: > On 23/02/2024 15:21, Johan Hovold wrote: > > But it is *not* standalone as I tried to explain above. > > > > So you have to drop it again as the later patches depend on it and > > cannot be merged (through a different tree) without it. > > drm-misc branches cannot be rebased, it must be reverted, but it can still be applied > on drm-misc-next and I'll send a revert patch for drm-misc-fixes if needed, not a big deal. > > > I thought you had all the acks you needed to take this through drm-misc, > > but we can wait a bit more if necessary (and there's no rush to get the > > first one in). > > If you want it to be in v6.9, it's too late since the last drm-misc-next PR has been sent > yesterday (https://cgit.freedesktop.org/drm/drm-misc/tag/?h=drm-misc-next-2024-02-22) > > Please ping Thomas or Maxime, perhaps it's not too late since the drm-misc-next tree > really closes on sunday. I don't want this in 6.9, this is needed for *6.8* as this fixes a DRM regression in 6.8-rc1 that breaks the display on machines like the X13s. If you guys can't sort this out in time, then perhaps Bjorn can take this through the Qualcomm tree instead (with DRM acks). But again, this is fixing a severe *regression* in 6.8-rc1. It can not wait for 6.9. Johan
On 17/02/2024 16:02, Johan Hovold wrote: > Starting with 6.8-rc1 the internal display sometimes fails to come up on > machines like the Lenovo ThinkPad X13s and the logs indicate that this > is due to a regression in the DRM subsystem [1]. > > This series fixes a race in the pmic_glink_altmode driver which was > exposed / triggered by the transparent DRM bridges rework that went into > 6.8-rc1 and that manifested itself as a bridge failing to attach and > sometimes triggering a NULL-pointer dereference. > > The intermittent hard resets that have also been reported since 6.8-rc1 > unfortunately still remains and suggests that we are dealing with two > separate regressions. There is some indication that also the hard resets > (e.g. due to register accesses to unclocked hardware) are also due to > changes in the DRM subsystem as it happens around the time that the eDP > panel and display controller would be initialised during boot (the > runtime PM rework?). This remains to be verified, however. > > Included is also a fix for a related OF node reference leak in the > aux-hpd driver found through inspection when reworking the driver. > > The use-after-free bug is triggered by a probe deferral and highlighted > some further bugs in the involved drivers, which were registering child > devices before deferring probe. This behaviour is not correct and can > both trigger probe deferral loops and potentially also further issues > with the DRM bridge implementation. > > This series can either go through the Qualcomm SoC tree (pmic_glink) or > the DRM tree. The PHY patches do not depend on the rest of the series > and could possibly be merged separately through the PHY tree. > > Whichever gets this to mainline the fastest. > > Johan > > > [1] https://lore.kernel.org/lkml/ZctVmLK4zTwcpW3A@hovoldconsulting.com/ > > > Johan Hovold (5): > drm/bridge: aux-hpd: fix OF node leaks > drm/bridge: aux-hpd: separate allocation and registration > soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free > phy: qcom-qmp-combo: fix drm bridge registration > phy: qcom-qmp-combo: fix type-c switch registration > > Rob Clark (1): > soc: qcom: pmic_glink: Fix boot when QRTR=m > > drivers/gpu/drm/bridge/aux-hpd-bridge.c | 70 ++++++++++++++++++----- > drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 16 +++--- > drivers/soc/qcom/pmic_glink.c | 21 +++---- > drivers/soc/qcom/pmic_glink_altmode.c | 16 +++++- > include/drm/bridge/aux-bridge.h | 15 +++++ > 5 files changed, 102 insertions(+), 36 deletions(-) > For the serie: Acked-by: Neil Armstrong <neil.armstrong@linaro.org> After an offline discussion, Dmitry, it's ok to push the remaining patches to drm-misc-fixes. Thanks, Neil
On 23/02/2024 15:52, Johan Hovold wrote: > On Fri, Feb 23, 2024 at 03:38:13PM +0100, Neil Armstrong wrote: >> On 23/02/2024 15:21, Johan Hovold wrote: > >>> But it is *not* standalone as I tried to explain above. >>> >>> So you have to drop it again as the later patches depend on it and >>> cannot be merged (through a different tree) without it. >> >> drm-misc branches cannot be rebased, it must be reverted, but it can still be applied >> on drm-misc-next and I'll send a revert patch for drm-misc-fixes if needed, not a big deal. >> >>> I thought you had all the acks you needed to take this through drm-misc, >>> but we can wait a bit more if necessary (and there's no rush to get the >>> first one in). >> >> If you want it to be in v6.9, it's too late since the last drm-misc-next PR has been sent >> yesterday (https://cgit.freedesktop.org/drm/drm-misc/tag/?h=drm-misc-next-2024-02-22) >> >> Please ping Thomas or Maxime, perhaps it's not too late since the drm-misc-next tree >> really closes on sunday. > > I don't want this in 6.9, this is needed for *6.8* as this fixes a DRM > regression in 6.8-rc1 that breaks the display on machines like the X13s. > > If you guys can't sort this out in time, then perhaps Bjorn can take > this through the Qualcomm tree instead (with DRM acks). > > But again, this is fixing a severe *regression* in 6.8-rc1. It can not > wait for 6.9. Right, I can't apply them right now, I send a patchset ack so it can be applied ASAP, Thanks, Neil > > Johan
On Sat, 17 Feb 2024 16:02:22 +0100, Johan Hovold wrote: > Starting with 6.8-rc1 the internal display sometimes fails to come up on > machines like the Lenovo ThinkPad X13s and the logs indicate that this > is due to a regression in the DRM subsystem [1]. > > This series fixes a race in the pmic_glink_altmode driver which was > exposed / triggered by the transparent DRM bridges rework that went into > 6.8-rc1 and that manifested itself as a bridge failing to attach and > sometimes triggering a NULL-pointer dereference. > > [...] Applied to drm-misc-fixes, thanks! [2/6] drm/bridge: aux-hpd: separate allocation and registration commit: e5ca263508f7e9d2cf711edf3258d11ca087885c [3/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free commit: b979f2d50a099f3402418d7ff5f26c3952fb08bb [4/6] soc: qcom: pmic_glink: Fix boot when QRTR=m commit: f79ee78767ca60e7a2c89eacd2dbdf237d97e838 Note, PHY patches (5,6) do not have dependency on the drm patch, so they can go through the phy/fixes tree. Best regards,
On Fri, 23 Feb 2024 at 16:55, Neil Armstrong <neil.armstrong@linaro.org> wrote: > > On 23/02/2024 15:52, Johan Hovold wrote: > > On Fri, Feb 23, 2024 at 03:38:13PM +0100, Neil Armstrong wrote: > >> On 23/02/2024 15:21, Johan Hovold wrote: > > > >>> But it is *not* standalone as I tried to explain above. > >>> > >>> So you have to drop it again as the later patches depend on it and > >>> cannot be merged (through a different tree) without it. > >> > >> drm-misc branches cannot be rebased, it must be reverted, but it can still be applied > >> on drm-misc-next and I'll send a revert patch for drm-misc-fixes if needed, not a big deal. > >> > >>> I thought you had all the acks you needed to take this through drm-misc, > >>> but we can wait a bit more if necessary (and there's no rush to get the > >>> first one in). > >> > >> If you want it to be in v6.9, it's too late since the last drm-misc-next PR has been sent > >> yesterday (https://cgit.freedesktop.org/drm/drm-misc/tag/?h=drm-misc-next-2024-02-22) > >> > >> Please ping Thomas or Maxime, perhaps it's not too late since the drm-misc-next tree > >> really closes on sunday. > > > > I don't want this in 6.9, this is needed for *6.8* as this fixes a DRM > > regression in 6.8-rc1 that breaks the display on machines like the X13s. > > > > If you guys can't sort this out in time, then perhaps Bjorn can take > > this through the Qualcomm tree instead (with DRM acks). > > > > But again, this is fixing a severe *regression* in 6.8-rc1. It can not > > wait for 6.9. > > Right, I can't apply them right now, I send a patchset ack so it can be applied ASAP, Applied and pushed patches 2-4. Patches 5 and 6 can go through the phy/fixes. There is no need for them to go through drm-misc tree.