Received: by 2002:a05:7208:3188:b0:7e:5202:c8b4 with SMTP id r8csp937956rbd; Fri, 23 Feb 2024 08:05:53 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUJx+hg0SAT3HfvCp28tGg3r4m9ImxBP7TKg2lVhUfV/EC1kmJkzxScNh+aAAWYtCXbmNQU3DUbY7XCvsGRdF6ERyPpsGvRkLHISpsXtQ== X-Google-Smtp-Source: AGHT+IHnwBdFyOc0xcSR8r+hGYcKNh9T6OrbIIVPn5H4esEQJcjlspJEnqREsE0QDg0MyCLqiqV6 X-Received: by 2002:a17:906:260d:b0:a3e:5de6:701d with SMTP id h13-20020a170906260d00b00a3e5de6701dmr184465ejc.50.1708704353315; Fri, 23 Feb 2024 08:05:53 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708704353; cv=pass; d=google.com; s=arc-20160816; b=elkExnc3AO3MEj7AqIw8309OlR8Xh7SRW7MNx+amKKbln17dyB91q76+5T7XwfesqU BFxn0yBUhrRz5H/kw2Flp3dgSnXq9ZVvVsBOZr2yihh/d7bTqsqRQWi0sAXzXo1JLDrM ac43kRnHCKhLd98cTdADXz8Y8IHY6Vdy8qJQ2G+rrxwV5Ka0mqAVdNl6Lea1eV3ZY12S 4xCbHR9ZIGlzJaUfd/5xwK73b+uZDXpKYKJS/LnV7pT0nIcXslSSsJ2aA2cBxtnBclUD u5umoabXjNMV5tasjtVlKH1Y0GWipo916FDFyscW39/W+jHn+FHN19xsk/rba/sk3aH1 u4rw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:from :dkim-signature; bh=Li2+I12FfS24iUKA1Zm8E3sY5gCIrsUZEr/2pyoOe/g=; fh=ETrV/TJQ0D54aecHJ7+ZWHft2hV1Bw4fCfbLWnN7i4U=; b=xE0WBL6Rym5X+OwK7S2ocBZrJCOp3YvAZ3JeO6o+tF5j8MHTJ9ysk2td/mpNtREvzM Ug2XFj7vN/lraaWF7JtY9m/ZnkGEcuywbjNRIiXfDGpXGFrVtnbrNwjwek2hb9lKoGXX E31B31LysVweXgrJ4O/bg5BRGnnJ8Vx2zdbYjNvdQ6xXnP01FH0FjGiuW/hVGKbRdKgx 4SGJJKOTWi55v3XN2mgteIqYnJ/uDZyGpdzyrNivvQvdY+XI63y0yl1d/7gePNQ7Q92F 0VAEFzy42aaJH0lmHOUIT/na2ASOggUrwI6G1+YsqQEhH6f4yqeJnYSoytwCvO+vooSD RdqQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=ZDKjekhr; arc=pass (i=1 spf=pass spfdomain=bootlin.com dkim=pass dkdomain=bootlin.com dmarc=pass fromdomain=bootlin.com); spf=pass (google.com: domain of linux-kernel+bounces-78665-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-78665-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id a6-20020a170906190600b00a3f5287920bsi2018136eje.460.2024.02.23.08.05.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Feb 2024 08:05:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-78665-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=ZDKjekhr; arc=pass (i=1 spf=pass spfdomain=bootlin.com dkim=pass dkdomain=bootlin.com dmarc=pass fromdomain=bootlin.com); spf=pass (google.com: domain of linux-kernel+bounces-78665-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-78665-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.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 am.mirrors.kernel.org (Postfix) with ESMTPS id 0FEB41F26205 for ; Fri, 23 Feb 2024 16:05:53 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 640C184A51; Fri, 23 Feb 2024 16:05:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="ZDKjekhr" Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 1A83383A0D; Fri, 23 Feb 2024 16:05:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708704335; cv=none; b=HwAJJpj9AcRrGS6kyuOTYWBDtDLpctcAQjShu9IWf5toWIUWt0BaHQEa7MQEi6a/6hmfngHV3+pev1JFO+o53JYNOKIH+2tMxv3CEwbBHNkVsaTJxW6nbII+GoNfTaK2Wrc7TIBLaHBewTIsw/Slgg30ZyktmHbMHWyZ/R8luiQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708704335; c=relaxed/simple; bh=ckeNdwKsC7xFdcIdJOzsr7JiLrTGk1/eeg9eGYwEzKU=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=E0QNiKM6KxXx2bJiNPPE0G2QD4qpi9IZIkuKrpkDTAbCgRgRVcTiYWqUXmK1dHHYwANFu7XO7YkWJ+/ypoKl4YrBvs1WzMsV4VlK9iUqXPh09JBLjW7I6i0aJmmqcz2hOvPiAssMw/wVNxpLyeKqntD/ERX4fii/20uc9f6LCQ0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=ZDKjekhr; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id B59301C000A; Fri, 23 Feb 2024 16:05:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1708704331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Li2+I12FfS24iUKA1Zm8E3sY5gCIrsUZEr/2pyoOe/g=; b=ZDKjekhrBvoTORZMLUVtzJZVQyZjl8JU/y5/R8bKyl5gKTSmD9cXKcE/nscy8dgBfEUceK N6upG2D46KFXNhKm0//+/g70X5rQ55gmMdI5TG5uWHunuowJnnoPk+oAMYuCqUDbn8EK4V idck7zSTCXMrcxVUXeT7AVv4JYKI5Gy+iKRuJFI9Dy73zwZT1Ce8ebFsYo79zqbZBa69ov k86Dr0hzH6di6CzqtwaPZiVgS6nKBdgeiiUOU7BsFb5+UvUhHrg31mVP9ihGHRUEXEKc98 6hR0+J8WIn+J1tKSUGQGAVEcW7hZjT+9jO17Zz1xkgo2tSfvrpP2L0BlrNdS8A== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Subject: [PATCH v3 0/8] usb: cdns: fix suspend on J7200 by assuming reset-on-resume Date: Fri, 23 Feb 2024 17:05:24 +0100 Message-Id: <20240223-j7200-usb-suspend-v3-0-b41c9893a130@bootlin.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-B4-Tracking: v=1; b=H4sIAETC2GUC/33NQQrCMBCF4auUrI1kJpEUV95DXKTJ1Ea0KUkbl NK7m3alIC7/B/PNzBJFT4kdq5lFyj750JeQu4rZzvRX4t6VZihQAoDkN41C8Ck1PE1poN5xNEq 3iDWQUKzcDZFa/9zM86V059MY4mt7kWFd/2kZuODGAZEGVcuDPTUhjHff7214sNXL+GGg+GVgM YSsrSZlpGvVt7EsyxtJOEvJ+AAAAA== To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Roger Quadros , Peter Chen , Pawel Laszczak , Nishanth Menon , Vignesh Raghavendra , Tero Kristo Cc: Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , Kevin Hilman , Alan Stern , linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.13.0 X-GND-Sasl: theo.lebrun@bootlin.com Hi, Here is a new revision of the J7200 USB suspend fix. It is currently broken on the platform, leading to a kernel panic at resume. Patches are tested on a J7200 evaluation board, both s2idle and suspend-to-RAM. Previous discussion showed that runtime PM was not to be deleted. Indeed, we cannot guarantee PM domains will stay active if we don't register to runtime PM. We therefore rely fully on runtime PM and put our init sequence previously done in the probe in our ->runtime_resume(). We then do the necessary to get it called at system-wide resume for the J7200 platform. Have a nice day, Théo -- Théo Lebrun, Bootlin Embedded Linux and Kernel engineering https://bootlin.com Signed-off-by: Théo Lebrun --- Changes in v3: - dt-bindings: use an enum to list compatibles instead of the previous odd construct. This is done in a separate patch from the one adding J7200 compatible. - dt-bindings: dropped Acked-by Conor as the changes were modified a lot. - Add runtime PM back. Put the init sequence in ->runtime_resume(). It gets called at probe for all compatibles and at resume for J7200. - Introduce a cdns_ti_match_data struct rather than rely on compatible from code. - Reorder code changes. Add infrastructure based on match data THEN add compatible and its match data. - DTSI: use only J7200 compatible rather than both J7200 then J721E. - Link to v2: https://lore.kernel.org/r/20231120-j7200-usb-suspend-v2-0-038c7e4a3df4@bootlin.com Changes in v2: - Remove runtime PM from cdns3-ti; it brings nothing. That means our cdns3-ti suspend/resume patch is simpler; there is no need to handle runtime PM at suspend/resume. - Do not add cdns3 host role suspend/resume callbacks; they are not needed as core detects reset on resume & calls cdns_drd_host_on when needed. - cdns3-ti: Move usb2_refclk_rate_code assignment closer to the value computation. - cdns3/host.c: do not pass XHCI_SUSPEND_RESUME_CLKS quirk to xHCI; it is unneeded on our platform. - Link to v1: https://lore.kernel.org/r/20231113-j7200-usb-suspend-v1-0-ad1ee714835c@bootlin.com --- Théo Lebrun (8): dt-bindings: usb: ti,j721e-usb: drop useless compatible list dt-bindings: usb: ti,j721e-usb: add ti,j7200-usb compatible usb: cdns3-ti: move reg writes from probe into ->runtime_resume() usb: cdns3-ti: support reset-on-resume behavior usb: cdns3-ti: pass auxdata from match data to of_platform_populate() usb: cdns3: add quirk to platform data for reset-on-resume usb: cdns3-ti: add J7200 support with reset-on-resume behavior arm64: dts: ti: k3-j7200: use J7200-specific USB compatible .../devicetree/bindings/usb/ti,j721e-usb.yaml | 10 +- arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 2 +- drivers/usb/cdns3/cdns3-ti.c | 125 ++++++++++++++++----- drivers/usb/cdns3/core.h | 1 + drivers/usb/cdns3/host.c | 3 + 5 files changed, 104 insertions(+), 37 deletions(-) --- base-commit: 1871c27e3539e5b812d50ec6ccad7567ec5414f2 change-id: 20231113-j7200-usb-suspend-2a47f2281e04 Best regards, -- Théo Lebrun