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 D9396C43334 for ; Mon, 6 Jun 2022 14:20:32 +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:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=F1Ap9PO5+TFlZw0N2CcDZnpdOUh/7UbT3vun6WXQqjA=; b=byVqj0sWe9SMa7 gP7z0VH8E5dEdX3cxvsEwVa00TpAporIHT1E+uaHXO4m/mPk29l03xb7LK47rXGs2xs+JFu3g6iM1 Br9hD2Mi4AuzX6TyofG4Nn6kTc/XskgsMd83bWPxFs6Mc4eWcvtqer0yJcPAcbk8RJS8tdOkJKriU xevc6LSvyp7nVgUWlmIyThP633d9yXtxNRUYOjO9X2vwORiiKWpY09ZuksHPXO59/oneZb1v1+Xzd 2h3Q9hsYHAODsD8NiBFVx2298Ea/aVyqKVOSqbnypyX7tlNZTGPwkwRoIhRlXTDtyx9CdJo1aE8hm VrJr3YuObj+Qpq28D3mg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nyDZe-001T8Q-Vm; Mon, 06 Jun 2022 14:19:19 +0000 Received: from relay9-d.mail.gandi.net ([2001:4b98:dc4:8::229]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nyDZb-001T7R-7u for linux-arm-kernel@lists.infradead.org; Mon, 06 Jun 2022 14:19:17 +0000 Received: (Authenticated sender: clement.leger@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id D5982FF80B; Mon, 6 Jun 2022 14:19:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1654525149; 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=UVNkQODBqVWRRDx3JRrIjnQHpW+gqO3sjXdNdYZmSAU=; b=BLTSh4W+RL3xkfxy7OYjW+rJz/hgJbdOv68JduJhHKPy3WPRubAktfY96L0P3YajocO5l1 M0fO+e6jZ0NhMEwGBMyqYzhZtsnTVpxTcsvpnzeUPSJnXeZeBk+EuQGH4XjOeQNJk616yQ 3nOyN9NvCLc+VPOiMpBSXa+6CTHqh4KGEiK/QtU4fSfePFtvlC2QFM9cQxDxpOCSL6rRRP AsSO3y2dPhMBvE8XfJQKbbDauFBrs5blgY9OUnZv6xKjSP6zEMeSgAWJv25y4fO+cHrj2p RbM5KJvgFE1F5bDDcZyBYsjwlmAIRqEEWduUsyhr4lz0vCg/TAuEnWCV2IrOFQ== From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= To: Alan Stern , Greg Kroah-Hartman , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea Cc: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] usb: host: ohci-at91: add support to enter suspend using SMC Date: Mon, 6 Jun 2022 16:18:02 +0200 Message-Id: <20220606141802.165252-1-clement.leger@bootlin.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220606_071915_631449_8045A08C X-CRM114-Status: GOOD ( 17.79 ) 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 V2hlbiBMaW51eCBpcyBydW5uaW5nIHVuZGVyIE9QLVRFRSwgdGhlIFNGUiBpcyBzZXQgYXMgc2Vj dXJlZCBhbmQgdGh1cwp0aGUgQVQ5MV9PSENJSUNSX1VTQl9TVVNQRU5EIHJlZ2lzdGVyIGlzbid0 IGFjY2Vzc2libGUuIEFkZCBhIFNNQyB0bwpkbyB0aGUgYXBwcm9wcmlhdGUgY2FsbCB0byBzdXNw ZW5kIHRoZSBjb250cm9sbGVyLgpUaGUgU01DIGlkIGlzIGZldGNoZWQgZnJvbSB0aGUgZGV2aWNl LXRyZWUgcHJvcGVydHkKIm1pY3JvY2hpcCxzdXNwZW5kLXNtYy1pZCIuIGlmIHByZXNlbnQsIHRo ZW4gdGhlIHN5c2NvbiByZWdtYXAgaXMgbm90CnVzZWQgdG8gZW50ZXIgc3VzcGVuZCBhbmQgYSBT TUMgaXMgaXNzdWVkLgoKU2lnbmVkLW9mZi1ieTogQ2zDqW1lbnQgTMOpZ2VyIDxjbGVtZW50Lmxl Z2VyQGJvb3RsaW4uY29tPgotLS0KIGRyaXZlcnMvdXNiL2hvc3Qvb2hjaS1hdDkxLmMgfCA2OSAr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NiBp bnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9o b3N0L29oY2ktYXQ5MS5jIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLWF0OTEuYwppbmRleCBhMjRh ZWEzZDI3NTkuLmU3M2ZkYTRhZjI3OCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC9vaGNp LWF0OTEuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktYXQ5MS5jCkBAIC0xMyw2ICsxMyw3 IEBACiAgKiBUaGlzIGZpbGUgaXMgbGljZW5jZWQgdW5kZXIgdGhlIEdQTC4KICAqLwogCisjaW5j bHVkZSA8bGludXgvYXJtLXNtY2NjLmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVk ZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9ncGlvL2NvbnN1bWVyLmg+ CkBAIC01NSw2ICs1Niw3IEBAIHN0cnVjdCBvaGNpX2F0OTFfcHJpdiB7CiAJYm9vbCBjbG9ja2Vk OwogCWJvb2wgd2FrZXVwOwkJLyogU2F2ZWQgd2FrZS11cCBzdGF0ZSBmb3IgcmVzdW1lICovCiAJ c3RydWN0IHJlZ21hcCAqc2ZyX3JlZ21hcDsKKwl1MzIgc21jX2lkOwogfTsKIC8qIGludGVyZmFj ZSBhbmQgZnVuY3Rpb24gY2xvY2tzOyBzb21ldGltZXMgYWxzbyBhbiBBSEIgY2xvY2sgKi8KIApA QCAtMTM1LDYgKzEzNywxOSBAQCBzdGF0aWMgdm9pZCBhdDkxX3N0b3BfaGMoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKIAogc3RhdGljIHZvaWQgdXNiX2hjZF9hdDkxX3JlbW92ZSAoc3Ry dWN0IHVzYl9oY2QgKiwgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqKTsKIAorc3RhdGljIHUzMiBh dDkxX2R0X3N1c3BlbmRfc21jKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwl1MzIgc21jX2lkOwor CisJaWYgKCFkZXYtPm9mX25vZGUpCisJCXJldHVybiAwOworCisJaWYgKG9mX3Byb3BlcnR5X3Jl YWRfdTMyKGRldi0+b2Zfbm9kZSwgIm1pY3JvY2hpcCxzdXNwZW5kLXNtYy1pZCIsICZzbWNfaWQp KQorCQlyZXR1cm4gMDsKKworCXJldHVybiBzbWNfaWQ7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgcmVn bWFwICphdDkxX2R0X3N5c2Nvbl9zZnIodm9pZCkKIHsKIAlzdHJ1Y3QgcmVnbWFwICpyZWdtYXA7 CkBAIC0yMTUsOSArMjMwLDEzIEBAIHN0YXRpYyBpbnQgdXNiX2hjZF9hdDkxX3Byb2JlKGNvbnN0 IHN0cnVjdCBoY19kcml2ZXIgKmRyaXZlciwKIAkJZ290byBlcnI7CiAJfQogCi0Jb2hjaV9hdDkx LT5zZnJfcmVnbWFwID0gYXQ5MV9kdF9zeXNjb25fc2ZyKCk7Ci0JaWYgKCFvaGNpX2F0OTEtPnNm cl9yZWdtYXApCi0JCWRldl9kYmcoZGV2LCAiZmFpbGVkIHRvIGZpbmQgc2ZyIG5vZGVcbiIpOwor CW9oY2lfYXQ5MS0+c21jX2lkID0gYXQ5MV9kdF9zdXNwZW5kX3NtYyhkZXYpOworCWlmICghb2hj aV9hdDkxLT5zbWNfaWQpICB7CisJCWRldl9kYmcoZGV2LCAiZmFpbGVkIHRvIGZpbmQgc2ZyIHN1 c3BlbmQgc21jIGlkLCB1c2luZyByZWdtYXBcbiIpOworCQlvaGNpX2F0OTEtPnNmcl9yZWdtYXAg PSBhdDkxX2R0X3N5c2Nvbl9zZnIoKTsKKwkJaWYgKCFvaGNpX2F0OTEtPnNmcl9yZWdtYXApCisJ CQlkZXZfZGJnKGRldiwgImZhaWxlZCB0byBmaW5kIHNmciBub2RlXG4iKTsKKwl9CiAKIAlib2Fy ZCA9IGhjZC0+c2VsZi5jb250cm9sbGVyLT5wbGF0Zm9ybV9kYXRhOwogCW9oY2kgPSBoY2RfdG9f b2hjaShoY2QpOwpAQCAtMzAzLDI0ICszMjIsMzAgQEAgc3RhdGljIGludCBvaGNpX2F0OTFfaHVi X3N0YXR1c19kYXRhKHN0cnVjdCB1c2JfaGNkICpoY2QsIGNoYXIgKmJ1ZikKIAlyZXR1cm4gbGVu Z3RoOwogfQogCi1zdGF0aWMgaW50IG9oY2lfYXQ5MV9wb3J0X3N1c3BlbmQoc3RydWN0IHJlZ21h cCAqcmVnbWFwLCB1OCBzZXQpCitzdGF0aWMgaW50IG9oY2lfYXQ5MV9wb3J0X3N1c3BlbmQoc3Ry dWN0IG9oY2lfYXQ5MV9wcml2ICpvaGNpX2F0OTEsIHU4IHNldCkKIHsKKwlzdHJ1Y3QgcmVnbWFw ICpyZWdtYXAgPSBvaGNpX2F0OTEtPnNmcl9yZWdtYXA7CiAJdTMyIHJlZ3ZhbDsKIAlpbnQgcmV0 OwogCi0JaWYgKCFyZWdtYXApCi0JCXJldHVybiAwOworCWlmIChyZWdtYXApIHsKKwkJcmV0ID0g cmVnbWFwX3JlYWQocmVnbWFwLCBBVDkxX1NGUl9PSENJSUNSLCAmcmVndmFsKTsKKwkJaWYgKHJl dCkKKwkJCXJldHVybiByZXQ7CiAKLQlyZXQgPSByZWdtYXBfcmVhZChyZWdtYXAsIEFUOTFfU0ZS X09IQ0lJQ1IsICZyZWd2YWwpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7CisJCWlmIChzZXQp CisJCQlyZWd2YWwgfD0gQVQ5MV9PSENJSUNSX1VTQl9TVVNQRU5EOworCQllbHNlCisJCQlyZWd2 YWwgJj0gfkFUOTFfT0hDSUlDUl9VU0JfU1VTUEVORDsKIAotCWlmIChzZXQpCi0JCXJlZ3ZhbCB8 PSBBVDkxX09IQ0lJQ1JfVVNCX1NVU1BFTkQ7Ci0JZWxzZQotCQlyZWd2YWwgJj0gfkFUOTFfT0hD SUlDUl9VU0JfU1VTUEVORDsKKwkJcmVnbWFwX3dyaXRlKHJlZ21hcCwgQVQ5MV9TRlJfT0hDSUlD UiwgcmVndmFsKTsKKwl9IGVsc2UgaWYgKG9oY2lfYXQ5MS0+c21jX2lkKSB7CisJCXN0cnVjdCBh cm1fc21jY2NfcmVzIHJlczsKIAotCXJlZ21hcF93cml0ZShyZWdtYXAsIEFUOTFfU0ZSX09IQ0lJ Q1IsIHJlZ3ZhbCk7CisJCWFybV9zbWNjY19zbWMob2hjaV9hdDkxLT5zbWNfaWQsIHNldCwgMCwg MCwgMCwgMCwgMCwgMCwgJnJlcyk7CisJCWlmIChyZXMuYTApCisJCQlyZXR1cm4gLUVJTlZBTDsK Kwl9CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTM1Nyw5ICszODIsOCBAQCBzdGF0aWMgaW50IG9oY2lf YXQ5MV9odWJfY29udHJvbChzdHJ1Y3QgdXNiX2hjZCAqaGNkLCB1MTYgdHlwZVJlcSwgdTE2IHdW YWx1ZSwKIAogCQljYXNlIFVTQl9QT1JUX0ZFQVRfU1VTUEVORDoKIAkJCWRldl9kYmcoaGNkLT5z ZWxmLmNvbnRyb2xsZXIsICJTZXRQb3J0RmVhdDogU1VTUEVORFxuIik7Ci0JCQlpZiAodmFsaWRf cG9ydCh3SW5kZXgpICYmIG9oY2lfYXQ5MS0+c2ZyX3JlZ21hcCkgewotCQkJCW9oY2lfYXQ5MV9w b3J0X3N1c3BlbmQob2hjaV9hdDkxLT5zZnJfcmVnbWFwLAotCQkJCQkJICAgICAgIDEpOworCQkJ aWYgKHZhbGlkX3BvcnQod0luZGV4KSkgeworCQkJCW9oY2lfYXQ5MV9wb3J0X3N1c3BlbmQob2hj aV9hdDkxLCAxKTsKIAkJCQlyZXR1cm4gMDsKIAkJCX0KIAkJCWJyZWFrOwpAQCAtNDAwLDkgKzQy NCw4IEBAIHN0YXRpYyBpbnQgb2hjaV9hdDkxX2h1Yl9jb250cm9sKHN0cnVjdCB1c2JfaGNkICpo Y2QsIHUxNiB0eXBlUmVxLCB1MTYgd1ZhbHVlLAogCiAJCWNhc2UgVVNCX1BPUlRfRkVBVF9TVVNQ RU5EOgogCQkJZGV2X2RiZyhoY2QtPnNlbGYuY29udHJvbGxlciwgIkNsZWFyUG9ydEZlYXR1cmU6 IFNVU1BFTkRcbiIpOwotCQkJaWYgKHZhbGlkX3BvcnQod0luZGV4KSAmJiBvaGNpX2F0OTEtPnNm cl9yZWdtYXApIHsKLQkJCQlvaGNpX2F0OTFfcG9ydF9zdXNwZW5kKG9oY2lfYXQ5MS0+c2ZyX3Jl Z21hcCwKLQkJCQkJCSAgICAgICAwKTsKKwkJCWlmICh2YWxpZF9wb3J0KHdJbmRleCkpIHsKKwkJ CQlvaGNpX2F0OTFfcG9ydF9zdXNwZW5kKG9oY2lfYXQ5MSwgMCk7CiAJCQkJcmV0dXJuIDA7CiAJ CQl9CiAJCQlicmVhazsKQEAgLTYzMCwxMCArNjUzLDEwIEBAIG9oY2lfaGNkX2F0OTFfZHJ2X3N1 c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQogCQkvKiBmbHVzaCB0aGUgd3JpdGVzICovCiAJCSh2 b2lkKSBvaGNpX3JlYWRsIChvaGNpLCAmb2hjaS0+cmVncy0+Y29udHJvbCk7CiAJCW1zbGVlcCgx KTsKLQkJb2hjaV9hdDkxX3BvcnRfc3VzcGVuZChvaGNpX2F0OTEtPnNmcl9yZWdtYXAsIDEpOwor CQlvaGNpX2F0OTFfcG9ydF9zdXNwZW5kKG9oY2lfYXQ5MSwgMSk7CiAJCWF0OTFfc3RvcF9jbG9j ayhvaGNpX2F0OTEpOwogCX0gZWxzZSB7Ci0JCW9oY2lfYXQ5MV9wb3J0X3N1c3BlbmQob2hjaV9h dDkxLT5zZnJfcmVnbWFwLCAxKTsKKwkJb2hjaV9hdDkxX3BvcnRfc3VzcGVuZChvaGNpX2F0OTEs IDEpOwogCX0KIAogCXJldHVybiByZXQ7CkBAIC02NDUsNyArNjY4LDcgQEAgb2hjaV9oY2RfYXQ5 MV9kcnZfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKIAlzdHJ1Y3QgdXNiX2hjZAkqaGNkID0g ZGV2X2dldF9kcnZkYXRhKGRldik7CiAJc3RydWN0IG9oY2lfYXQ5MV9wcml2ICpvaGNpX2F0OTEg PSBoY2RfdG9fb2hjaV9hdDkxX3ByaXYoaGNkKTsKIAotCW9oY2lfYXQ5MV9wb3J0X3N1c3BlbmQo b2hjaV9hdDkxLT5zZnJfcmVnbWFwLCAwKTsKKwlvaGNpX2F0OTFfcG9ydF9zdXNwZW5kKG9oY2lf YXQ5MSwgMCk7CiAKIAlpZiAob2hjaV9hdDkxLT53YWtldXApCiAJCWRpc2FibGVfaXJxX3dha2Uo aGNkLT5pcnEpOwotLSAKMi4zNi4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=