From nobody Tue Jun 16 02:38:27 2026 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 48B8333F8B7 for ; Wed, 15 Apr 2026 11:39:59 +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=1776253200; cv=none; b=jfTZvdG5ByfAILy9hLVM+w0S3n6CJ2UzE8LNB+UThLi3J+2X2mApjE7n/r645RYVE7z/gPHI+Tlx+3fzwpYExMo5C4R7uvTovuQMXgbcZKu2Cm1apJzAxdz6gi7FdJliUBjva5EwxZyI/YIhGI6DCs7Ppf4umYeub1RxPq4N9t0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776253200; c=relaxed/simple; bh=be7bIoI4ZsQlYGybHdn1GeOzOhO/AbTYv1qhdoE2bWE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=u3C5DlU+5CzAdENKCAD4OeQuvCptW5crk+vHN5EuS3JZHrx+xQV21Dd7OquSKMjfUVKJcTK4eeXShgWCXSbFQCV1DTcgUQMwgxga+3g0puJybeYSNV8YawwI/PaalhingdCfzf8BQ6uPTJ3VSmgooab/rN/+2Jex7B7LlfMqeH0= 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=f3gydOCi; 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="f3gydOCi" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-488af96f6b2so88462145e9.0 for ; Wed, 15 Apr 2026 04:39:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776253198; x=1776857998; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=uSepOr97f4KGd6yzx67mHmWZD0NUs9mIs5ATwxGH8F4=; b=f3gydOCi60B+Fz0QY+B0M1AujlzlYFKej1BWq35zOPjkOqOGZjJkbhgW1J7JSOYOpQ r63yM+Z33oo5rsB4O7G2y7rfVot8h2QUC3xBtRoXrvIEDhp4sO22NwZ7tuDGAhPi7hiW wlB6Pa16EVJCIR/tNLdPrxTvtbgKKDKSxAA4jygK4usQN2hmyeveRPDMszk8JwbZz4kx QDeNkfZKVWRuqucshg6eogikrgwVoHUFqOoluPoXEbKmcbRkCNevx/4sd285snZRDSbw jTFvm3c9Wq3hFuLw90L6heit2wsoT5M+VBodOHF+J9jP5hU8KS9EdYez37HRUCY0cTLv aphg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776253198; x=1776857998; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=uSepOr97f4KGd6yzx67mHmWZD0NUs9mIs5ATwxGH8F4=; b=WJgE+JGzrvliScPW0OELxspkBN2E1YszVD00qvs6y3BD/SbvQUa6lL4QeOvlOx7puY iuTn5KCDjs/9zB5yGlFf/ozitURSSXdpK95zowOhXR69LLgjyxSWyv4UOic8nYgCeSBw h1n8KIBd4mkxXHS83nhMQ2YZGTZHZybooUfUEwylKQgoCqQJMtFJKRFLcJSTth9SmMtq zb8AIqMivF7754hnk9n3IhCirdJseYvLHrjvqoR+AHfmVtilL5gzCVd/GPWW/AKK+e1F NhpCY1H6nDJQV/4Qd0TwngdZkKsUKbU8LNGmnPmpeUUoUU1NtjOsb3NqvshfNGY/rAYo G9vQ== X-Forwarded-Encrypted: i=1; AFNElJ9ZAwIb5tyDHZ66+dZYJSYGTRwQ5cVCX5iEE2Ssgonr0uKh4ipTDnAk2XRenKfQMe9oaLm54VqZ055rIuA=@vger.kernel.org X-Gm-Message-State: AOJu0Yy16lwlcBIGmTzupKmI0iZiV6wvnBtul/5ka9YA66y7JzMiOpag jQO+0l8q5OX1gA9xGj/tR5PiX7pxUvcWhVlwq0h2KMK3+lAoLvWBaLlw X-Gm-Gg: AeBDievzkAjp+Dh7InhTSl5tgRJ/bhqIqmxzdupWawPAtnbHbHwQDAuuR3hjcXcrjBg 6PhDqazEHwp5vhvBcuPykWQY4YqZ4s2A17YBXYNETmEvH8RJXx/gy3mZg5y8SKjACStB47pYfSh hhvUawE8yboY4sX6qGigTkotd7aXBBVisIqu3V48+k1YQMsP6eHN3u2Px9PiBDMl1FJ8esncGAh ptB34khnQYe1olx0wuCZDir5udS2Dx390CnCYIrQ0TyFLTQTfe+fEI6mpt4Pm555sDezup2N2SL uFAOssktB7kiqfeJZk19Jlhb+z/pAgDdB2Mk+K/ix7/HUl17ZYgmpSzvVIyOWhy5GCdV5MDSmqE stYcjOywEi4UJQIgyutX3RC/sEyMc2jM0aSDBDXrtIwfbJyPelX8wTRgArOxZApX32bdcBVSTnx Cogv/HkaMESPY8CxvLdtpmRGaTEU+Qp3qjTHrs27nKS24Xg/hg0TzwuHDAX54= X-Received: by 2002:a05:600c:a010:b0:487:300:d9ca with SMTP id 5b1f17b1804b1-488d68af201mr299898965e9.31.1776253197457; Wed, 15 Apr 2026 04:39:57 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:2bdf:4b8c:9773:211a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488ede1e050sm209976145e9.5.2026.04.15.04.39.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 04:39:57 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Liu Ying , Andrzej Hajda , Neil Armstrong , Robert Foss , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: Biju Das , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Prabhakar Mahadev Lad , Biju Das , linux-renesas-soc@vger.kernel.org Subject: [PATCH] drm/bridge: ite-it6263: Add basic resume support Date: Wed, 15 Apr 2026 12:39:52 +0100 Message-ID: <20260415113954.179006-1-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Biju Das RZ/G3L SMARC EVK has a single-link LVDS connected to an ITE IT6263 chip. On the RZ/G3L SMARC EVK using PSCI, s2ram powers down the ITE IT6263 chip. Add a minimal system resume callback to restore the bridge after s2ram. The it6263_resume() callback re-establishes the LVDS I2C address and reconfigures the LVDS output. Wire it into a dev_pm_ops struct using SET_SYSTEM_SLEEP_PM_OPS with no suspend handler, and attach it to the driver via pm_sleep_ptr(). Signed-off-by: Biju Das --- drivers/gpu/drm/bridge/ite-it6263.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/i= te-it6263.c index 4f3ebb7af4d4..9727ebef48e8 100644 --- a/drivers/gpu/drm/bridge/ite-it6263.c +++ b/drivers/gpu/drm/bridge/ite-it6263.c @@ -906,6 +906,24 @@ static int it6263_probe(struct i2c_client *client) return devm_drm_bridge_add(dev, &it->bridge); } =20 +static int it6263_resume(struct device *dev) +{ + struct it6263 *it =3D dev_get_drvdata(dev); + int ret; + + ret =3D it6263_lvds_set_i2c_addr(it); + if (ret) + return ret; + + it6263_lvds_config(it); + + return 0; +} + +static const struct dev_pm_ops it6263_pm_ops =3D { + SET_SYSTEM_SLEEP_PM_OPS(NULL, it6263_resume) +}; + static const struct of_device_id it6263_of_match[] =3D { { .compatible =3D "ite,it6263", }, { } @@ -922,6 +940,7 @@ static struct i2c_driver it6263_driver =3D { .probe =3D it6263_probe, .driver =3D { .name =3D "it6263", + .pm =3D pm_sleep_ptr(&it6263_pm_ops), .of_match_table =3D it6263_of_match, }, .id_table =3D it6263_i2c_ids, --=20 2.43.0