Received: by 2002:a05:7412:9c07:b0:fa:6e18:a558 with SMTP id lr7csp382151rdb; Sat, 27 Jan 2024 10:21:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IGIup098dj5yhQHa3HalnCvOipMIkGYNZLi0qrYjT8rSIbYwQ+oxToh2cJ5HwWpji0bwgdd X-Received: by 2002:a05:6a00:be5:b0:6dd:ce8b:ecbb with SMTP id x37-20020a056a000be500b006ddce8becbbmr765225pfu.42.1706379709430; Sat, 27 Jan 2024 10:21:49 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706379709; cv=pass; d=google.com; s=arc-20160816; b=DUHo/C3HXs4Qsp6dGQIYV67N6MCYoM3X0Oz6zrZGJKA/OqhXkRmrew/Yt9yF3hBPS/ bnXcePwxtKMuPn9Xi+kec9WeFNtD6GbM+yCYR+CU7oRM8jMrtfutq13Hyb8IJ0PGcT9W BM+QG+zlnsMQT4OKcDWkEJ5v22xN6zrieFCkGQpuFfzz4d+H3mhKicRqv9rhMIVg0emr ydNwdGj/AyX8epSjQF2wP2g8494WLBapmPKakz9yoO+2SI3xisvtMK7qcbNEWa/PQOAw 5/yFNZiO1Vyjzla02xN3XPiYsIIhaf25rve/xbAu25CVCrET7zGy05IC6xDJYSIYm/8y NrJQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=kItuuplq9gKxvPdah7o7cU5Dr7iTWQBKGEy/GZ0EpAA=; fh=d5uYOuT12VQL9KlUQgEBfdwv59v+CS07p/C421zGCW0=; b=SZPjeuYyoc+NWwivwQDNqoWOposz/gVO1mvf7BJWUtk+vl/TIlszfsDmWgx4zz9Hoe z5ktUwVUYn4eUdQRnUMK072fLwYlhqu+HQi9ni1P9nSEMyr1wE/IvB0rGTnJDzD7llaw bz8GuAF3UqgxCgAwb1AbwlP5q29Tj27ffear2tJRqJj8Xan7S7M+0ZuIHN3FJsRoMkHI f+OtmfKON+W0c4wwWHj0U8paHvX5N2F0KjDu3dj73vkBlWV/0PWzewR9bYyKvEKcxMpa /Geob7GHWX+8qj+z8vLZawLF89V7VlcgEirE5rMuvrLeQC2ycGAZIhmsV7P68442VSj/ lpQA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=EmxeDqHb; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-41354-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-41354-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id m129-20020a632687000000b005d8b4ae4892si1597657pgm.253.2024.01.27.10.21.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Jan 2024 10:21:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-41354-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=EmxeDqHb; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-41354-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-41354-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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 sy.mirrors.kernel.org (Postfix) with ESMTPS id 2D27BB21F8E for ; Sat, 27 Jan 2024 18:20:15 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 63DB32E40E; Sat, 27 Jan 2024 18:20:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EmxeDqHb" Received: from mail-oi1-f180.google.com (mail-oi1-f180.google.com [209.85.167.180]) (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 190412D60C; Sat, 27 Jan 2024 18:20:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706379604; cv=none; b=FvE0SOh8WN2V+H/WzN5bPo1ZiZIsSM/NxmUJE4IuYNLwpsSEWJqcdUii+nY+m11MsseCuvZ1uaezeX0uewdV3U9+9K0WcatsCCrXDqWvGabSiWBrtTzlvjIRIt+DXUJoIHtw2hBNTg0Kns5JmV3HQXtPSbPpB5v9HdvOv7i5Spw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706379604; c=relaxed/simple; bh=3qf/Tcsst6PvPX+mtlEE/pY7q7lnHOq8wve0vPMLfeo=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=DqT1TXqV7eMcVdVg3l+50maIGzOfFiYKD9OQmeDGnWZmKR6J+c7fJepRvm5xtyBUAHVSwMP5GS0J24sCXUgeceN7ujiuasV7u87i+GV+kvAjFtJsrSOOjbCUeM9vLij5EmNqlfpEWv9i+7ZZqe0uKwVOixIW+Q3l6lz2a3wrK68= 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=EmxeDqHb; arc=none smtp.client-ip=209.85.167.180 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 Received: by mail-oi1-f180.google.com with SMTP id 5614622812f47-3bded20a30eso1039593b6e.2; Sat, 27 Jan 2024 10:20:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706379602; x=1706984402; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=kItuuplq9gKxvPdah7o7cU5Dr7iTWQBKGEy/GZ0EpAA=; b=EmxeDqHbdY8L9oCWNvovK+t6VQZEyrydRVk4ZfrvIBldHkwnJgsC128O3jSsJmYF7R sCl87tFch/F9yg+QOUe862l6Qn7Or4j1zADzKj54u38zFwMry+kKm46pI9DrnnZB8osA 3exQ+NUEVcDDxdR30t3dJpDXDhQgM0sTwnf+n8rxATWkHhJghKsEmgek2DYzgchH4CPw 2/w02xgwI/Ycumnfhl1hOFTxhclfgPxBEoXlTWT97JrklpLmIhNbIFDFAXSNa8u83wB3 fU3xy79DlE906A8eJb8skCyEgv1BXL8vTyC3wgmcOgdjJ99SiDTsGONAxXJQLmYwxRF3 /x/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706379602; x=1706984402; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kItuuplq9gKxvPdah7o7cU5Dr7iTWQBKGEy/GZ0EpAA=; b=jYRQbjW19/aPn0kDHeIskrNPc+L5KtHR2dBb4vwTfmXJRHH0t5h3ABh2zkMjUbr3Um fQJcZpA4KPYHyZtEjMaUgij6DnKo7zJwV+k/TK0SzolIw2z9OVcKD/OiNlFAOW93XPBz GDZikCy8+WmmRwqA1sssZv7RZImJScGDOkJ7gIiUEC8398a3m6wcg0DbVZnKb0RUgWse o3QPK1oR5y33zx+VCT3Ww4Gh3VKxxrs1w/YpjMW3OFX6UN1o9RS01xiOEs9N398mY0J4 3CU9OeHDV2NIszsYeUISHus2Ud9hdz3VoeFNz0fkL5SKLLBsIJsmx4Hcr6vkuLJFJeyI f+vQ== X-Gm-Message-State: AOJu0Yz6gK/NljxsItH8lxFaILostD3GOF9MY3qEQw4kF4LoyzuYRhye vxFo6EnGtlqjDBAzbIEsu+C3NTsfjf5+YKwQnK2b47/6qGChToKxiJ317oqS97z0qciUJIYu1fH PtVLO7pZTxMaTNQ1TCVpkCIXHVF1oh6P3 X-Received: by 2002:a05:6359:c89:b0:176:707d:4c71 with SMTP id go9-20020a0563590c8900b00176707d4c71mr2398126rwb.15.1706379601425; Sat, 27 Jan 2024 10:20:01 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240106223951.387067-1-aford173@gmail.com> <20240106223951.387067-2-aford173@gmail.com> In-Reply-To: <20240106223951.387067-2-aford173@gmail.com> From: Adam Ford Date: Sat, 27 Jan 2024 12:19:50 -0600 Message-ID: Subject: Re: [PATCH 2/3] pmdomain: imx8mp-blk-ctrl: imx8mp_blk: Add fdcc clock to hdmimix domain To: linux-pm@vger.kernel.org Cc: Sandor Yu , Jacky Bai , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Ulf Hansson , Lucas Stach , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Marek Vasut , "Peng Fan (OSS)" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Jan 6, 2024 at 4:40=E2=80=AFPM Adam Ford wrote= : > > According to i.MX8MP RM and HDMI ADD, the fdcc clock is part of > hdmi rx verification IP that should not enable for HDMI TX. > But actually if the clock is disabled before HDMI/LCDIF probe, > LCDIF will not get pixel clock from HDMI PHY and print the error > logs: > > [CRTC:39:crtc-2] vblank wait timed out > WARNING: CPU: 2 PID: 9 at drivers/gpu/drm/drm_atomic_helper.c:1634 drm_at= omic_helper_wait_for_vblanks.part.0+0x23c/0x260 > > Add fdcc clock to LCDIF and HDMI TX power domains to fix the issue. Peng (or anyone from NXP), I borrowed this patch from the NXP down-stream kernel for two reasons: It's in NXP's branch to address an error & move the fdcc clock out of the HDMI-tx driver due to questions/feedback that Lucas got on that driver. The FDCC clock isn't well documented, and it seems like it's necessary for the HDMI-TX, but I'd like to make sure this is the proper solution, and I haven't received any additional feedback. Can someone from NXP confirm that really is the proper solution? thank you, adam > > Signed-off-by: Sandor Yu > Reviewed-by: Jacky Bai > Signed-off-by: Adam Ford > --- > The original work was from Sandor on the NXP Down-stream kernel > > diff --git a/drivers/pmdomain/imx/imx8mp-blk-ctrl.c b/drivers/pmdomain/im= x/imx8mp-blk-ctrl.c > index e3203eb6a022..a56f7f92d091 100644 > --- a/drivers/pmdomain/imx/imx8mp-blk-ctrl.c > +++ b/drivers/pmdomain/imx/imx8mp-blk-ctrl.c > @@ -55,7 +55,7 @@ struct imx8mp_blk_ctrl_domain_data { > const char *gpc_name; > }; > > -#define DOMAIN_MAX_CLKS 2 > +#define DOMAIN_MAX_CLKS 3 > #define DOMAIN_MAX_PATHS 3 > > struct imx8mp_blk_ctrl_domain { > @@ -457,8 +457,8 @@ static const struct imx8mp_blk_ctrl_domain_data imx8m= p_hdmi_domain_data[] =3D { > }, > [IMX8MP_HDMIBLK_PD_LCDIF] =3D { > .name =3D "hdmiblk-lcdif", > - .clk_names =3D (const char *[]){ "axi", "apb" }, > - .num_clks =3D 2, > + .clk_names =3D (const char *[]){ "axi", "apb", "fdcc" }, > + .num_clks =3D 3, > .gpc_name =3D "lcdif", > .path_names =3D (const char *[]){"lcdif-hdmi"}, > .num_paths =3D 1, > @@ -483,8 +483,8 @@ static const struct imx8mp_blk_ctrl_domain_data imx8m= p_hdmi_domain_data[] =3D { > }, > [IMX8MP_HDMIBLK_PD_HDMI_TX] =3D { > .name =3D "hdmiblk-hdmi-tx", > - .clk_names =3D (const char *[]){ "apb", "ref_266m" }, > - .num_clks =3D 2, > + .clk_names =3D (const char *[]){ "apb", "ref_266m", "fdcc= " }, > + .num_clks =3D 3, > .gpc_name =3D "hdmi-tx", > }, > [IMX8MP_HDMIBLK_PD_HDMI_TX_PHY] =3D { > -- > 2.43.0 >