From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6DEC113CF94 for ; Wed, 17 Apr 2024 12:12:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713355975; cv=none; b=i/HuzFKK9KMulDTIMOiMhpgrrRMXstMOHxQKrpt1qLvnAu91I32I3WE7CnxZBAB0tkksjsLSN500no4IVZaTQ/NxqtLFh4efoDBaOSW9KfoQNGnjRdUbYSgrb6Bb0CMjkFLnyxR4behbIQRMuAe0hYOwfc0VBw4+bSSV57rZaX8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713355975; c=relaxed/simple; bh=HrZpYSTsoC4ix4EpnTAb47aPRg1jX1QDOboBvCgUWeI=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=CHCVs916ik0d8H0o8HigQACi/9Lh6exx2rFZ49SClbd/W1mM19QLBQ8SUlh37XEHa+tQnguMhqBZh39XaPn8c/RSGez26ZIgBQghJDD5VudDob4mlWTeZwFyeka34RC1pxS5+BpIcllgzkaolQovZ7GYJ5Rde8gipX5rotJYADI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bT9GGZHd; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bT9GGZHd" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-418c2bf2f90so2787665e9.1 for ; Wed, 17 Apr 2024 05:12:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713355971; x=1713960771; darn=lists.linux.dev; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=HrZpYSTsoC4ix4EpnTAb47aPRg1jX1QDOboBvCgUWeI=; b=bT9GGZHdlSm2MW/f6+Hnt7U3gxhvx6K6rw4S9IX/277C6PqNBLwCkllFB/DAVP09DO +zoMsQVacuGaDWKXkchzTjwVQKWs8XA3y6qbnto+VRFrn+OwooCK/FwMlykk7QVUvZGn DQcybOV/mhsVU8oaSmZAJhMGSonypLgluZ4CTGsCX6EgfbSNTRIGc/xjLsGmKrb82gmx IAlGKeWuOCW1+nCxXAyOl04hcOCsTOoCHrhRRzFZx8qhT3dSC+S7/9sqwfHvySmh2E0J F3An3ZKVUpY3KED/KRNqHY9oCshjtPLXYUbSDsncWI2BDmilu/S1DUAWVPmyi2Y+sG5U lXIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713355971; x=1713960771; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=HrZpYSTsoC4ix4EpnTAb47aPRg1jX1QDOboBvCgUWeI=; b=QCDO/5DICdtJjkvL9ANPO35KLMHj3/O3NwTkiRbKGUAZtCYqVIFnFGMU/E7cJTUx+N 13+PC4PY3NTJUhTZSYBgk+ywdTt/ZE4yibjD7QnfSEq17GrzRwUlmH/h8f3MWKFgX0Y9 /oYsDXITG6VVJ1Z4m05TNsJt8e+6Dpe7WugIrmMjt87lKUo/DX+uObud82LHhb7dGMrB pjbl/oSzQuSExVZILb4pb5VBVyhFVOeiesK4eLu/JY5tH+50O9ej3xNIjVtHJh7jNCN3 E4Y55NqGY6NW/wYD6Z/0pJhRuJmaWZcUwAeCPLo56AxruDTpFtYm6H2rG7F9q90xyoyd gang== X-Forwarded-Encrypted: i=1; AJvYcCU0yRlIQrGXyz/wg7gyNkA4oWfEdS0S5tkwQGvzjamiScSjqImbxaRVvlGjXY/F3s3aJMJlxkvYib/nX69y83mrN0y5 X-Gm-Message-State: AOJu0YxQq5STRK8k4fZ3IhSCztudUuDyPyQtZZ6nr4ukWs21549bMpeB ZoHYIvPnHeht3NtzUnXlQn39jQwGhTOA9ZxpT33cxvE6Ta0G42Yw X-Google-Smtp-Source: AGHT+IHSLygSTkmUK8kxFK7/Y0W8n7WxJu8sNlhyt+B+fUCRZxXO7GbTQJ3brmq96IFuBDfw86LBsw== X-Received: by 2002:a05:600c:1d09:b0:417:d347:ac68 with SMTP id l9-20020a05600c1d0900b00417d347ac68mr4178655wms.17.1713355971267; Wed, 17 Apr 2024 05:12:51 -0700 (PDT) Received: from ?IPv6:2001:8a0:e622:f700:abb8:8caf:bab6:45a3? ([2001:8a0:e622:f700:abb8:8caf:bab6:45a3]) by smtp.gmail.com with ESMTPSA id n26-20020a05600c3b9a00b00418a2ce884bsm2632187wms.32.2024.04.17.05.12.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Apr 2024 05:12:50 -0700 (PDT) Message-ID: Subject: Re: [PATCH v1] arm64: dts: imx8mm: fix missing pgc_vpu_* power domain parent From: Vitor Soares To: Lucas Stach , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Peng Fan Cc: Vitor Soares , devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Date: Wed, 17 Apr 2024 13:12:44 +0100 In-Reply-To: <47cd522d09fbfb4cce7d1d82e6657b6b21fa04d7.camel@pengutronix.de> References: <20240409085802.290439-1-ivitro@gmail.com> <9ce35b9bb5a15891f6bd01bd54b7dc84b3ba4021.camel@pengutronix.de> <564fa534b32f4a6e96da6752f531fc7447ec633d.camel@gmail.com> <47cd522d09fbfb4cce7d1d82e6657b6b21fa04d7.camel@pengutronix.de> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.4-0ubuntu2 Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Hi Lucas, On Wed, 2024-04-17 at 10:00 +0200, Lucas Stach wrote: > Hi Vitor, >=20 > Am Dienstag, dem 16.04.2024 um 17:08 +0100 schrieb Vitor Soares: > > On Tue, 2024-04-16 at 11:53 +0100, Vitor Soares wrote: > > > ++ Peng Fan > > >=20 > > > Greetings, > > >=20 > > >=20 > > > On Wed, 2024-04-10 at 12:01 +0100, Vitor Soares wrote: > > > > Hi Lucas, > > > >=20 > > > > On Tue, 2024-04-09 at 17:44 +0100, Vitor Soares wrote: > > > > > On Tue, 2024-04-09 at 16:36 +0200, Lucas Stach wrote: > > > > > > Am Dienstag, dem 09.04.2024 um 14:22 +0100 schrieb Vitor Soares= : > > > > > > > Hi Lucas, > > > > > > >=20 > > > > > > > Thanks for your feedback. > > > > > > >=20 > > > > > > > On Tue, 2024-04-09 at 11:13 +0200, Lucas Stach wrote: > > > > > > > > Hi Vitor, > > > > > > > >=20 > > > > > > > > Am Dienstag, dem 09.04.2024 um 09:58 +0100 schrieb Vitor > > > > > > > > Soares: > > > > > > > > > From: Vitor Soares > > > > > > > > >=20 > > > > > > > > > The pgc_vpu_* nodes miss the reference to the power domai= n > > > > > > > > > parent, > > > > > > > > > leading the system to hang during the resume. > > > > > > > > >=20 > > > > > > > > This change is not correct. The vpumix domain is controlled > > > > > > > > through > > > > > > > > the > > > > > > > > imx8mm-vpu-blk-ctrl and must not be directly triggered by t= he > > > > > > > > child > > > > > > > > domains in order to guarantee proper power sequencing. > > > > > > > >=20 > > > > > > > > If the sequencing is incorrect for resume, it needs to be > > > > > > > > fixed > > > > > > > > in > > > > > > > > the > > > > > > > > blk-ctrl driver. I'll happily assist if you have any > > > > > > > > questions > > > > > > > > about > > > > > > > > this intricate mix between GPC and blk-ctrl hardware/driver= s. > > > > > > > =C2=A0 > > > > > > > I'm new into the topic, so I tried to follow same approach as > > > > > > > in > > > > > > > imx8mp > > > > > > > DT. > > > > > > >=20 > > > > > > That's a good hint, the 8MP VPU GPC node additions missed my > > > > > > radar. > > > > > > The > > > > > > direct dependency there between the GPC domains is equally wron= g. > > > > > >=20 > > > > > > > I also checked the imx8mq DT and it only have one domain for > > > > > > > the > > > > > > > VPU in the GPC. It seem blk-ctrl also dependes on pgc_vpu_* t= o > > > > > > > work > > > > > > > properly. > > > > > > >=20 > > > > > > > The blk-ctrl driver hangs on imx8m_blk_ctrl_power_on() when > > > > > > > access > > > > > > > the > > > > > > > ip registers for the soft reset. I tried to power-up the befo= re > > > > > > > the > > > > > > > soft reset, but it didn't work. > > > > > > >=20 > > > > > > The runtime_pm_get_sync() at the start of that function should > > > > > > ensure > > > > > > that bus GPC domain aka vpumix is powered up. Can you check if > > > > > > that > > > > > > is > > > > > > happening? > > > > >=20 > > > > > I checked bc->bus_power_dev->power.runtime_status and it is > > > > > RPM_ACTIVE. > > > > >=20 > > > > > Am I looking to on the right thing? It is RPM_ACTIVE event before > > > > > runtime_pm_get_sync(). > > > >=20 > > > > During the probe I can see that > > > > bus_power_dev->power.runtime_status =3D RPM_SUSPENDED and then vpum= ix > > > > is > > > > powered up on GPC driver. > > > >=20 > > > > On resume routine I can't see this flow. bus_power_dev- > > > > > power.runtime_status =3D RPM_ACTIVE and vpumix end up not being > > > > > powered- > > > > up. > > > >=20 > > > > I checked the suspend flow and the GPC tries to poweroff vpumix. > > > >=20 > > > >=20 > > >=20 > > > My understanding is that when resuming the 38310000.video-codec, the > > > vpumix isn't powered up. It happens because runtime_status and > > > runtime_last_status =3D RPM_ACTIVE.=20 > > >=20 > > > I tried to change blk-ctrl suspend routine to force the runtime_statu= s > > > =3D RPM_SUSPENDED, but the system ended up hanging on another device. > > >=20 > > > From the comment in blk-ctrl suspend, we rely on PM_SLEEP code that > > > iterates over dpm_list for suspend/resume. > > > I did look at the dpm_list, and it changes the order on every boot.= =20 > > >=20 > > > With all the tests, I also found that the system randomly hangs on > > > dispblk-lcdif suspend. I have confirmed this device is in a different > > > place in the dpm_list (not sure if it is the root cause).=20 > > > I haven't understood how blk-ctrl ensures the correct order there yet= .=20 > > >=20 > Random order of the DPM list seems like a good find to investigate > further. >=20 > > > Taking the following dpm_list excerpt: > > > idx - device > > > ------------------------------ > > > ...=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 > > > 191 - imx-pgc-domain.7=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 > > > 192 - imx-pgc-domain.8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 > > > 193 - imx-pgc-domain.9=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 > > > 194 - 38330000.blk-ctrl=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 > > > 195 - 38310000.video-codec=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 > > > 196 - 38300000.video-codec=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 > > > ... > > > 205 - genpd:0:38330000.blk-ctrl > > > 206 - genpd:1:38330000.blk-ctrl > > > 207 - genpd:2:38330000.blk-ctrl > > > 208 - genpd:3:38330000.blk-ctrl > > > ------------------------------ > > >=20 > > > Shouldn't genpd devices be before 38330000.blk-ctrl? > > > As their power domain is GPC and the blk-ctrl power domain is genpd. > > >=20 > >=20 > > I did the following change to have genpd device before 38330000.blk-ctr= l > > on dpm_list and it did work. > >=20 > > diff --git a/drivers/pmdomain/imx/imx8m-blk-ctrl.c b/drivers/pmdomain/i= mx/imx8m-blk-ctrl.c > > index ca942d7929c2..0f1471dcd4e8 100644 > > --- a/drivers/pmdomain/imx/imx8m-blk-ctrl.c > > +++ b/drivers/pmdomain/imx/imx8m-blk-ctrl.c > > @@ -220,6 +220,7 @@ static int imx8m_blk_ctrl_probe(struct platform_dev= ice *pdev) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur= n dev_err_probe(dev, PTR_ERR(bc->bus_power_dev), > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "failed to attach power domai= n \"bus\"\n"); > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 device_move(dev, bc->bus_power_de= v, DPM_ORDER_PARENT_BEFORE_DEV); > > =C2=A0 > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for (i =3D 0; i < bc_data->n= um_domains; i++) { > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 const struct imx8m_blk_ctrl_domain_data *data =3D &bc= _data->domains[i]; > > @@ -268,6 +269,7 @@ static int imx8m_blk_ctrl_probe(struct platform_dev= ice *pdev) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 data->gpc_name); > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto = cleanup_pds; > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 } > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 device_move(dev, domain->power_dev, DPM_ORDER_PARENT_BEFORE= _DEV); > > =C2=A0 > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 domain->genpd.name =3D data->name; > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 domain->genpd.power_on =3D imx8m_blk_ctrl_power_on; > >=20 > > any concern about this approach? > >=20 > I'm a bit uncomfortable with calling such a low-level function from > this driver. Also we don't really want to move the device to a new > parent, but just want to ensure proper order on the dpm list. Adding a > device_link between the devices seems like the better way to do so. Thanks for your feedback. I have tested with device_link_add() and it is working. I will prepare a ne= w patch with this change. Best regards, Vitor Soares >=20 > Regards, > Lucas >=20 > > Best regards, > > Vitor Soares > > >=20 > > > >=20 > > > > >=20 > > > > >=20 > > > > > >=20 > > > > > > Regards, > > > > > > Lucas > > > > > >=20 > > > > > > > Do you have an idea how we can address this within blk-ctrl? > > > > > > >=20 > > > > > > > Best regards, > > > > > > > Vitor > > > > >=20 > > > >=20 > > >=20 > >=20 >=20 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A3606C4345F for ; Wed, 17 Apr 2024 12:13:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cXWEkKF3QTTRS9JLyOF84lLfST65AWabGM4SVvFrY1A=; b=aEZCT7kj3d6wBB 0I7csO37STnfeMCFe4aYUVIh58tAevcaV/Le8vMZD3g/2kOlRVBF+/b6Y0l0YRkyYDLZ+J2l+l/9F EZxGJY1bnQWvY2rS5leowcbUOX3JKb3/mUNBxS6WCn0AynXaeNkl5QWoESgLVbNSge+h5GBZfNjM2 jjwrvCLtNFcjvhnV9XjnCYYdvGARu9huv492sscNeLjLDIQs6HK0YUWgSOCxkGzyqRH1fluG/P09H cq0JPNj5/3zgqm47zoNtPvOwaMKYAX5yLeAPJxnsaqDIqpUDcOSwLwmQu6IRmMCQv9wLJcegsJj24 VVeI7BxMeFdPLaTos5nw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rx49p-0000000Ftgy-0wAP; Wed, 17 Apr 2024 12:12:57 +0000 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rx49m-0000000Ftfj-0C09 for linux-arm-kernel@lists.infradead.org; Wed, 17 Apr 2024 12:12:55 +0000 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-418c2bf2f90so2787655e9.1 for ; Wed, 17 Apr 2024 05:12:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713355971; x=1713960771; darn=lists.infradead.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=HrZpYSTsoC4ix4EpnTAb47aPRg1jX1QDOboBvCgUWeI=; b=P30rX05GQ1WxY39+YVEaEkj+6UlNaNzRY4xLKykYHN5ltJBtMmpwp2o8w3enNBXvkY BZaB0/dmHbJ1UUJYSBrnR4u4i3fWjCI5ZDvzqkxjEJI84jNxM2XNxJXXmR/XCiLPiNnW 9YAL99LyJtLB4mq6ZaY9civRbWUkGXuAkNq7C0zTNWOP+obO/aNE4iKQIfq00eP07DcE Cg7b8UPSpDSbkz06vEcEAjFNqWNDB2HR/rMTChqRV5ZrsZ65Gv/VBOLUXBxpbYo0xpNO Y00OtOZBX3CJcuyfis8lRW7Wos2Xfb/Liq35KkYyWN0hnjuYQFmc27BXTUe3NnJ2HXNS rmgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713355971; x=1713960771; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=HrZpYSTsoC4ix4EpnTAb47aPRg1jX1QDOboBvCgUWeI=; b=QIgT+bGg6QrdcM6P43r9aOpVHDymCa6aAsGz0ncYf+xQLTuo/Jl7EWZyOXKRJaHh7j b+0omjtwOzyqcXPjL161S9r3Z6W3I3+IOuEwJaakgbGSwH9XZOHKJHCghcm5ED0tj87Y GBW8sWD99TQHr6pcwMwVOJzYSeVXCNn5wCkEFE77s1ryNEBg3lCgHXT7GitmoqvnHpe3 QGGFeEZ38JhgtlRJ30JhXg9noiSgWNoXtOBi1fGrxfj2ST+KcU9dmVxsvyM3IsQZo9zk kdUd0j+DQG2ujZKLiDJKwmFdR/AnW4nZzP5QH/5BaucMh9idzFlNRb38UWd8nr1G7Y6R EeuA== X-Forwarded-Encrypted: i=1; AJvYcCXcqcsK71GB1ATCnWhR+zEAUJomB7m8u0SCclRIpdYycBw1BYoMHm0cW2x/dokYSpVNlzUNQ8jshPGnTDDYEFBRZiE4TjMBrWm3F72TOqDCRZrwJ+c= X-Gm-Message-State: AOJu0YyAltjgJUJBUQ+KACxQBxqvUubB3f0Q9xa36AslsFnjFwmmZXSP D2KMpRIJyxnYcTIggIVNTGazg4jqOYguMyV2RfXqpyZknJdXoKRg X-Google-Smtp-Source: AGHT+IHSLygSTkmUK8kxFK7/Y0W8n7WxJu8sNlhyt+B+fUCRZxXO7GbTQJ3brmq96IFuBDfw86LBsw== X-Received: by 2002:a05:600c:1d09:b0:417:d347:ac68 with SMTP id l9-20020a05600c1d0900b00417d347ac68mr4178655wms.17.1713355971267; Wed, 17 Apr 2024 05:12:51 -0700 (PDT) Received: from ?IPv6:2001:8a0:e622:f700:abb8:8caf:bab6:45a3? ([2001:8a0:e622:f700:abb8:8caf:bab6:45a3]) by smtp.gmail.com with ESMTPSA id n26-20020a05600c3b9a00b00418a2ce884bsm2632187wms.32.2024.04.17.05.12.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Apr 2024 05:12:50 -0700 (PDT) Message-ID: Subject: Re: [PATCH v1] arm64: dts: imx8mm: fix missing pgc_vpu_* power domain parent From: Vitor Soares To: Lucas Stach , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Peng Fan Cc: Vitor Soares , devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Date: Wed, 17 Apr 2024 13:12:44 +0100 In-Reply-To: <47cd522d09fbfb4cce7d1d82e6657b6b21fa04d7.camel@pengutronix.de> References: <20240409085802.290439-1-ivitro@gmail.com> <9ce35b9bb5a15891f6bd01bd54b7dc84b3ba4021.camel@pengutronix.de> <564fa534b32f4a6e96da6752f531fc7447ec633d.camel@gmail.com> <47cd522d09fbfb4cce7d1d82e6657b6b21fa04d7.camel@pengutronix.de> User-Agent: Evolution 3.44.4-0ubuntu2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240417_051254_185239_09165021 X-CRM114-Status: GOOD ( 54.84 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgTHVjYXMsCgpPbiBXZWQsIDIwMjQtMDQtMTcgYXQgMTA6MDAgKzAyMDAsIEx1Y2FzIFN0YWNo IHdyb3RlOgo+IEhpIFZpdG9yLAo+IAo+IEFtIERpZW5zdGFnLCBkZW0gMTYuMDQuMjAyNCB1bSAx NzowOCArMDEwMCBzY2hyaWViIFZpdG9yIFNvYXJlczoKPiA+IE9uIFR1ZSwgMjAyNC0wNC0xNiBh dCAxMTo1MyArMDEwMCwgVml0b3IgU29hcmVzIHdyb3RlOgo+ID4gPiArKyBQZW5nIEZhbiA8cGVu Zy5mYW5AbnhwLmNvbT4KPiA+ID4gCj4gPiA+IEdyZWV0aW5ncywKPiA+ID4gCj4gPiA+IAo+ID4g PiBPbiBXZWQsIDIwMjQtMDQtMTAgYXQgMTI6MDEgKzAxMDAsIFZpdG9yIFNvYXJlcyB3cm90ZToK PiA+ID4gPiBIaSBMdWNhcywKPiA+ID4gPiAKPiA+ID4gPiBPbiBUdWUsIDIwMjQtMDQtMDkgYXQg MTc6NDQgKzAxMDAsIFZpdG9yIFNvYXJlcyB3cm90ZToKPiA+ID4gPiA+IE9uIFR1ZSwgMjAyNC0w NC0wOSBhdCAxNjozNiArMDIwMCwgTHVjYXMgU3RhY2ggd3JvdGU6Cj4gPiA+ID4gPiA+IEFtIERp ZW5zdGFnLCBkZW0gMDkuMDQuMjAyNCB1bSAxNDoyMiArMDEwMCBzY2hyaWViIFZpdG9yIFNvYXJl czoKPiA+ID4gPiA+ID4gPiBIaSBMdWNhcywKPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBU aGFua3MgZm9yIHlvdXIgZmVlZGJhY2suCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gT24g VHVlLCAyMDI0LTA0LTA5IGF0IDExOjEzICswMjAwLCBMdWNhcyBTdGFjaCB3cm90ZToKPiA+ID4g PiA+ID4gPiA+IEhpIFZpdG9yLAo+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiBBbSBE aWVuc3RhZywgZGVtIDA5LjA0LjIwMjQgdW0gMDk6NTggKzAxMDAgc2NocmllYiBWaXRvcgo+ID4g PiA+ID4gPiA+ID4gU29hcmVzOgo+ID4gPiA+ID4gPiA+ID4gPiBGcm9tOiBWaXRvciBTb2FyZXMg PHZpdG9yLnNvYXJlc0B0b3JhZGV4LmNvbT4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ ID4gPiA+IFRoZSBwZ2NfdnB1Xyogbm9kZXMgbWlzcyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBwb3dl ciBkb21haW4KPiA+ID4gPiA+ID4gPiA+ID4gcGFyZW50LAo+ID4gPiA+ID4gPiA+ID4gPiBsZWFk aW5nIHRoZSBzeXN0ZW0gdG8gaGFuZyBkdXJpbmcgdGhlIHJlc3VtZS4KPiA+ID4gPiA+ID4gPiA+ ID4gCj4gPiA+ID4gPiA+ID4gPiBUaGlzIGNoYW5nZSBpcyBub3QgY29ycmVjdC4gVGhlIHZwdW1p eCBkb21haW4gaXMgY29udHJvbGxlZAo+ID4gPiA+ID4gPiA+ID4gdGhyb3VnaAo+ID4gPiA+ID4g PiA+ID4gdGhlCj4gPiA+ID4gPiA+ID4gPiBpbXg4bW0tdnB1LWJsay1jdHJsIGFuZCBtdXN0IG5v dCBiZSBkaXJlY3RseSB0cmlnZ2VyZWQgYnkgdGhlCj4gPiA+ID4gPiA+ID4gPiBjaGlsZAo+ID4g PiA+ID4gPiA+ID4gZG9tYWlucyBpbiBvcmRlciB0byBndWFyYW50ZWUgcHJvcGVyIHBvd2VyIHNl cXVlbmNpbmcuCj4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+IElmIHRoZSBzZXF1ZW5j aW5nIGlzIGluY29ycmVjdCBmb3IgcmVzdW1lLCBpdCBuZWVkcyB0byBiZQo+ID4gPiA+ID4gPiA+ ID4gZml4ZWQKPiA+ID4gPiA+ID4gPiA+IGluCj4gPiA+ID4gPiA+ID4gPiB0aGUKPiA+ID4gPiA+ ID4gPiA+IGJsay1jdHJsIGRyaXZlci4gSSdsbCBoYXBwaWx5IGFzc2lzdCBpZiB5b3UgaGF2ZSBh bnkKPiA+ID4gPiA+ID4gPiA+IHF1ZXN0aW9ucwo+ID4gPiA+ID4gPiA+ID4gYWJvdXQKPiA+ID4g PiA+ID4gPiA+IHRoaXMgaW50cmljYXRlIG1peCBiZXR3ZWVuIEdQQyBhbmQgYmxrLWN0cmwgaGFy ZHdhcmUvZHJpdmVycy4KPiA+ID4gPiA+ID4gPiDCoAo+ID4gPiA+ID4gPiA+IEknbSBuZXcgaW50 byB0aGUgdG9waWMsIHNvIEkgdHJpZWQgdG8gZm9sbG93IHNhbWUgYXBwcm9hY2ggYXMKPiA+ID4g PiA+ID4gPiBpbgo+ID4gPiA+ID4gPiA+IGlteDhtcAo+ID4gPiA+ID4gPiA+IERULgo+ID4gPiA+ ID4gPiA+IAo+ID4gPiA+ID4gPiBUaGF0J3MgYSBnb29kIGhpbnQsIHRoZSA4TVAgVlBVIEdQQyBu b2RlIGFkZGl0aW9ucyBtaXNzZWQgbXkKPiA+ID4gPiA+ID4gcmFkYXIuCj4gPiA+ID4gPiA+IFRo ZQo+ID4gPiA+ID4gPiBkaXJlY3QgZGVwZW5kZW5jeSB0aGVyZSBiZXR3ZWVuIHRoZSBHUEMgZG9t YWlucyBpcyBlcXVhbGx5IHdyb25nLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBJIGFsc28g Y2hlY2tlZCB0aGUgaW14OG1xIERUIGFuZCBpdCBvbmx5IGhhdmUgb25lIGRvbWFpbiBmb3IKPiA+ ID4gPiA+ID4gPiB0aGUKPiA+ID4gPiA+ID4gPiBWUFUgaW4gdGhlIEdQQy4gSXQgc2VlbSBibGst Y3RybCBhbHNvIGRlcGVuZGVzIG9uIHBnY192cHVfKiB0bwo+ID4gPiA+ID4gPiA+IHdvcmsKPiA+ ID4gPiA+ID4gPiBwcm9wZXJseS4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBUaGUgYmxr LWN0cmwgZHJpdmVyIGhhbmdzIG9uIGlteDhtX2Jsa19jdHJsX3Bvd2VyX29uKCkgd2hlbgo+ID4g PiA+ID4gPiA+IGFjY2Vzcwo+ID4gPiA+ID4gPiA+IHRoZQo+ID4gPiA+ID4gPiA+IGlwIHJlZ2lz dGVycyBmb3IgdGhlIHNvZnQgcmVzZXQuIEkgdHJpZWQgdG8gcG93ZXItdXAgdGhlIGJlZm9yZQo+ ID4gPiA+ID4gPiA+IHRoZQo+ID4gPiA+ID4gPiA+IHNvZnQgcmVzZXQsIGJ1dCBpdCBkaWRuJ3Qg d29yay4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gVGhlIHJ1bnRpbWVfcG1fZ2V0X3N5bmMo KSBhdCB0aGUgc3RhcnQgb2YgdGhhdCBmdW5jdGlvbiBzaG91bGQKPiA+ID4gPiA+ID4gZW5zdXJl Cj4gPiA+ID4gPiA+IHRoYXQgYnVzIEdQQyBkb21haW4gYWthIHZwdW1peCBpcyBwb3dlcmVkIHVw LiBDYW4geW91IGNoZWNrIGlmCj4gPiA+ID4gPiA+IHRoYXQKPiA+ID4gPiA+ID4gaXMKPiA+ID4g PiA+ID4gaGFwcGVuaW5nPwo+ID4gPiA+ID4gCj4gPiA+ID4gPiBJIGNoZWNrZWQgYmMtPmJ1c19w b3dlcl9kZXYtPnBvd2VyLnJ1bnRpbWVfc3RhdHVzIGFuZCBpdCBpcwo+ID4gPiA+ID4gUlBNX0FD VElWRS4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gQW0gSSBsb29raW5nIHRvIG9uIHRoZSByaWdodCB0 aGluZz8gSXQgaXMgUlBNX0FDVElWRSBldmVudCBiZWZvcmUKPiA+ID4gPiA+IHJ1bnRpbWVfcG1f Z2V0X3N5bmMoKS4KPiA+ID4gPiAKPiA+ID4gPiBEdXJpbmcgdGhlIHByb2JlIEkgY2FuIHNlZSB0 aGF0Cj4gPiA+ID4gYnVzX3Bvd2VyX2Rldi0+cG93ZXIucnVudGltZV9zdGF0dXMgPSBSUE1fU1VT UEVOREVEIGFuZCB0aGVuIHZwdW1peAo+ID4gPiA+IGlzCj4gPiA+ID4gcG93ZXJlZCB1cCBvbiBH UEMgZHJpdmVyLgo+ID4gPiA+IAo+ID4gPiA+IE9uIHJlc3VtZSByb3V0aW5lIEkgY2FuJ3Qgc2Vl IHRoaXMgZmxvdy4gYnVzX3Bvd2VyX2Rldi0KPiA+ID4gPiA+IHBvd2VyLnJ1bnRpbWVfc3RhdHVz ID0gUlBNX0FDVElWRSBhbmQgdnB1bWl4IGVuZCB1cCBub3QgYmVpbmcKPiA+ID4gPiA+IHBvd2Vy ZWQtCj4gPiA+ID4gdXAuCj4gPiA+ID4gCj4gPiA+ID4gSSBjaGVja2VkIHRoZSBzdXNwZW5kIGZs b3cgYW5kIHRoZSBHUEMgdHJpZXMgdG8gcG93ZXJvZmYgdnB1bWl4Lgo+ID4gPiA+IAo+ID4gPiA+ IAo+ID4gPiAKPiA+ID4gTXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0IHdoZW4gcmVzdW1pbmcgdGhl IDM4MzEwMDAwLnZpZGVvLWNvZGVjLCB0aGUKPiA+ID4gdnB1bWl4IGlzbid0IHBvd2VyZWQgdXAu IEl0IGhhcHBlbnMgYmVjYXVzZSBydW50aW1lX3N0YXR1cyBhbmQKPiA+ID4gcnVudGltZV9sYXN0 X3N0YXR1cyA9IFJQTV9BQ1RJVkUuIAo+ID4gPiAKPiA+ID4gSSB0cmllZCB0byBjaGFuZ2UgYmxr LWN0cmwgc3VzcGVuZCByb3V0aW5lIHRvIGZvcmNlIHRoZSBydW50aW1lX3N0YXR1cwo+ID4gPiA9 IFJQTV9TVVNQRU5ERUQsIGJ1dCB0aGUgc3lzdGVtIGVuZGVkIHVwIGhhbmdpbmcgb24gYW5vdGhl ciBkZXZpY2UuCj4gPiA+IAo+ID4gPiBGcm9tIHRoZSBjb21tZW50IGluIGJsay1jdHJsIHN1c3Bl bmQsIHdlIHJlbHkgb24gUE1fU0xFRVAgY29kZSB0aGF0Cj4gPiA+IGl0ZXJhdGVzIG92ZXIgZHBt X2xpc3QgZm9yIHN1c3BlbmQvcmVzdW1lLgo+ID4gPiBJIGRpZCBsb29rIGF0IHRoZSBkcG1fbGlz dCwgYW5kIGl0IGNoYW5nZXMgdGhlIG9yZGVyIG9uIGV2ZXJ5IGJvb3QuIAo+ID4gPiAKPiA+ID4g V2l0aCBhbGwgdGhlIHRlc3RzLCBJIGFsc28gZm91bmQgdGhhdCB0aGUgc3lzdGVtIHJhbmRvbWx5 IGhhbmdzIG9uCj4gPiA+IGRpc3BibGstbGNkaWYgc3VzcGVuZC4gSSBoYXZlIGNvbmZpcm1lZCB0 aGlzIGRldmljZSBpcyBpbiBhIGRpZmZlcmVudAo+ID4gPiBwbGFjZSBpbiB0aGUgZHBtX2xpc3Qg KG5vdCBzdXJlIGlmIGl0IGlzIHRoZSByb290IGNhdXNlKS4gCj4gPiA+IEkgaGF2ZW4ndCB1bmRl cnN0b29kIGhvdyBibGstY3RybCBlbnN1cmVzIHRoZSBjb3JyZWN0IG9yZGVyIHRoZXJlIHlldC4g Cj4gPiA+IAo+IFJhbmRvbSBvcmRlciBvZiB0aGUgRFBNIGxpc3Qgc2VlbXMgbGlrZSBhIGdvb2Qg ZmluZCB0byBpbnZlc3RpZ2F0ZQo+IGZ1cnRoZXIuCj4gCj4gPiA+IFRha2luZyB0aGUgZm9sbG93 aW5nIGRwbV9saXN0IGV4Y2VycHQ6Cj4gPiA+IGlkeCAtIGRldmljZQo+ID4gPiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gLi4uwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+IDE5 MSAtIGlteC1wZ2MtZG9tYWluLjfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg Cj4gPiA+IDE5MiAtIGlteC1wZ2MtZG9tYWluLjjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgCj4gPiA+IDE5MyAtIGlteC1wZ2MtZG9tYWluLjnCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+IDE5NCAtIDM4MzMwMDAwLmJsay1jdHJswqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiA+ID4gMTk1IC0gMzgzMTAwMDAudmlkZW8tY29k ZWPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gPiAxOTYgLSAzODMwMDAwMC52aWRl by1jb2RlY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+IC4uLgo+ID4gPiAyMDUg LSBnZW5wZDowOjM4MzMwMDAwLmJsay1jdHJsCj4gPiA+IDIwNiAtIGdlbnBkOjE6MzgzMzAwMDAu YmxrLWN0cmwKPiA+ID4gMjA3IC0gZ2VucGQ6MjozODMzMDAwMC5ibGstY3RybAo+ID4gPiAyMDgg LSBnZW5wZDozOjM4MzMwMDAwLmJsay1jdHJsCj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo+ID4gPiAKPiA+ID4gU2hvdWxkbid0IGdlbnBkIGRldmljZXMgYmUgYmVmb3JlIDM4 MzMwMDAwLmJsay1jdHJsPwo+ID4gPiBBcyB0aGVpciBwb3dlciBkb21haW4gaXMgR1BDIGFuZCB0 aGUgYmxrLWN0cmwgcG93ZXIgZG9tYWluIGlzIGdlbnBkLgo+ID4gPiAKPiA+IAo+ID4gSSBkaWQg dGhlIGZvbGxvd2luZyBjaGFuZ2UgdG8gaGF2ZSBnZW5wZCBkZXZpY2UgYmVmb3JlIDM4MzMwMDAw LmJsay1jdHJsCj4gPiBvbiBkcG1fbGlzdCBhbmQgaXQgZGlkIHdvcmsuCj4gPiAKPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3BtZG9tYWluL2lteC9pbXg4bS1ibGstY3RybC5jIGIvZHJpdmVycy9w bWRvbWFpbi9pbXgvaW14OG0tYmxrLWN0cmwuYwo+ID4gaW5kZXggY2E5NDJkNzkyOWMyLi4wZjE0 NzFkY2Q0ZTggMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL3BtZG9tYWluL2lteC9pbXg4bS1ibGst Y3RybC5jCj4gPiArKysgYi9kcml2ZXJzL3BtZG9tYWluL2lteC9pbXg4bS1ibGstY3RybC5jCj4g PiBAQCAtMjIwLDYgKzIyMCw3IEBAIHN0YXRpYyBpbnQgaW14OG1fYmxrX2N0cmxfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJSKGJj LT5idXNfcG93ZXJfZGV2KSwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgImZh aWxlZCB0byBhdHRhY2ggcG93ZXIgZG9tYWluIFwiYnVzXCJcbiIpOwo+ID4gwqDCoMKgwqDCoMKg wqAgfQo+ID4gK8KgwqDCoMKgwqDCoCBkZXZpY2VfbW92ZShkZXYsIGJjLT5idXNfcG93ZXJfZGV2 LCBEUE1fT1JERVJfUEFSRU5UX0JFRk9SRV9ERVYpOwo+ID4gwqAKPiA+IMKgwqDCoMKgwqDCoMKg IGZvciAoaSA9IDA7IGkgPCBiY19kYXRhLT5udW1fZG9tYWluczsgaSsrKSB7Cj4gPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IGlteDhtX2Jsa19jdHJsX2RvbWFp bl9kYXRhICpkYXRhID0gJmJjX2RhdGEtPmRvbWFpbnNbaV07Cj4gPiBAQCAtMjY4LDYgKzI2OSw3 IEBAIHN0YXRpYyBpbnQgaW14OG1fYmxrX2N0cmxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRhdGEtPmdwY19uYW1lKTsKPiA+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBjbGVhbnVwX3Bk czsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBkZXZpY2VfbW92ZShkZXYsIGRvbWFpbi0+cG93ZXJfZGV2LCBEUE1f T1JERVJfUEFSRU5UX0JFRk9SRV9ERVYpOwo+ID4gwqAKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBkb21haW4tPmdlbnBkLm5hbWUgPSBkYXRhLT5uYW1lOwo+ID4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRvbWFpbi0+Z2VucGQucG93ZXJfb24gPSBpbXg4bV9ibGtf Y3RybF9wb3dlcl9vbjsKPiA+IAo+ID4gYW55IGNvbmNlcm4gYWJvdXQgdGhpcyBhcHByb2FjaD8K PiA+IAo+IEknbSBhIGJpdCB1bmNvbWZvcnRhYmxlIHdpdGggY2FsbGluZyBzdWNoIGEgbG93LWxl dmVsIGZ1bmN0aW9uIGZyb20KPiB0aGlzIGRyaXZlci4gQWxzbyB3ZSBkb24ndCByZWFsbHkgd2Fu dCB0byBtb3ZlIHRoZSBkZXZpY2UgdG8gYSBuZXcKPiBwYXJlbnQsIGJ1dCBqdXN0IHdhbnQgdG8g ZW5zdXJlIHByb3BlciBvcmRlciBvbiB0aGUgZHBtIGxpc3QuIEFkZGluZyBhCj4gZGV2aWNlX2xp bmsgYmV0d2VlbiB0aGUgZGV2aWNlcyBzZWVtcyBsaWtlIHRoZSBiZXR0ZXIgd2F5IHRvIGRvIHNv LgoKVGhhbmtzIGZvciB5b3VyIGZlZWRiYWNrLgoKSSBoYXZlIHRlc3RlZCB3aXRoIGRldmljZV9s aW5rX2FkZCgpIGFuZCBpdCBpcyB3b3JraW5nLiBJIHdpbGwgcHJlcGFyZSBhIG5ldyBwYXRjaCB3 aXRoIHRoaXMgY2hhbmdlLgoKQmVzdCByZWdhcmRzLApWaXRvciBTb2FyZXMKPiAKPiBSZWdhcmRz LAo+IEx1Y2FzCj4gCj4gPiBCZXN0IHJlZ2FyZHMsCj4gPiBWaXRvciBTb2FyZXMKPiA+ID4gCj4g PiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gUmVn YXJkcywKPiA+ID4gPiA+ID4gTHVjYXMKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gRG8geW91 IGhhdmUgYW4gaWRlYSBob3cgd2UgY2FuIGFkZHJlc3MgdGhpcyB3aXRoaW4gYmxrLWN0cmw/Cj4g PiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gQmVzdCByZWdhcmRzLAo+ID4gPiA+ID4gPiA+IFZp dG9yCj4gPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gCj4gPiAKPiAKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==