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 X-Spam-Level: X-Spam-Status: No, score=-19.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B32E4C433ED for ; Thu, 6 May 2021 09:08:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 903B760FEE for ; Thu, 6 May 2021 09:08:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234078AbhEFJJh (ORCPT ); Thu, 6 May 2021 05:09:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:46146 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234026AbhEFJJ1 (ORCPT ); Thu, 6 May 2021 05:09:27 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0A36F613B5; Thu, 6 May 2021 09:08:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620292109; bh=2qAnuZ0glq7AD0WdQxX0rOeTrE+qvGfHUxQ2lCXNL8s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=InnKih16wgbo7uvL8fVAgljGJ7Fuq274vMkcZmlj5XQ2kIIFHn0o4IMz6Zi2Y0vY7 PbbX+4+6Mv5ayp+Rr1zMeopl/R588ZwD9VX0Pm0toZj+21PA72keO0kAhCmZ6T58vK S4CG69a/e8WiwITj6Gc34DN5RtDUMFhHOhO5EtAaVm6bqmhFBok73DKr1iyhX39BYH IT4aT249gdHfyR+ZTO2sXoz1JfV262R9fZ6Ulwii0O7uTCC+QUn+VF10pZujRvqQC+ Tf+/n876A7NyixeAnshMoIDIBqWc3BKHyvUTQz1jN2w+r5aP31Zfnvd8enKSGGTkBz R3LKi4fFoR2Hg== Received: by pali.im (Postfix) id 16F96865; Thu, 6 May 2021 11:08:27 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Gregory CLEMENT , Andrew Lunn Cc: =?UTF-8?q?Marek=20Beh=C3=BAn?= , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 mvebu + mvebu/dt64 3/6] firmware: turris-mox-rwtm: fail probing when firmware does not support hwrng Date: Thu, 6 May 2021 11:07:59 +0200 Message-Id: <20210506090802.14268-3-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210506090802.14268-1-pali@kernel.org> References: <20210308153703.23097-1-kabel@kernel.org> <20210506090802.14268-1-pali@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When Marvell's rWTM firmware, which does not support the GET_RANDOM command, is used, kernel prints an error message hwrng: no data available every 10 seconds. Fail probing of this driver if the rWTM firmware does not support the GET_RANDOM command. This makes it possible to put this driver's compatible into generic armada-37xx device tree, to be available for other Armada 3720 devices besides Turris MOX. If they use the rWTM firmware from CZ.NIC, they will have HWRNG available, and if not, the driver won't be complaining. Signed-off-by: Pali Rohár Fixes: 389711b37493 ("firmware: Add Turris Mox rWTM firmware driver") Signed-off-by: Marek Behún --- drivers/firmware/turris-mox-rwtm.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/drivers/firmware/turris-mox-rwtm.c b/drivers/firmware/turris-mox-rwtm.c index d7e3489e4bf2..3ef9687dddca 100644 --- a/drivers/firmware/turris-mox-rwtm.c +++ b/drivers/firmware/turris-mox-rwtm.c @@ -260,6 +260,27 @@ static int mox_get_board_info(struct mox_rwtm *rwtm) return 0; } +static int check_get_random_support(struct mox_rwtm *rwtm) +{ + struct armada_37xx_rwtm_tx_msg msg; + int ret; + + msg.command = MBOX_CMD_GET_RANDOM; + msg.args[0] = 1; + msg.args[1] = rwtm->buf_phys; + msg.args[2] = 4; + + ret = mbox_send_message(rwtm->mbox, &msg); + if (ret < 0) + return ret; + + ret = wait_for_completion_timeout(&rwtm->cmd_done, HZ / 2); + if (ret < 0) + return ret; + + return mox_get_status(MBOX_CMD_GET_RANDOM, rwtm->reply.retval); +} + static int mox_hwrng_read(struct hwrng *rng, void *data, size_t max, bool wait) { struct mox_rwtm *rwtm = (struct mox_rwtm *) rng->priv; @@ -497,6 +518,13 @@ static int turris_mox_rwtm_probe(struct platform_device *pdev) if (ret < 0) dev_warn(dev, "Cannot read board information: %i\n", ret); + ret = check_get_random_support(rwtm); + if (ret < 0) { + dev_notice(dev, + "Firmware does not support the GET_RANDOM command\n"); + goto free_channel; + } + rwtm->hwrng.name = DRIVER_NAME "_hwrng"; rwtm->hwrng.read = mox_hwrng_read; rwtm->hwrng.priv = (unsigned long) rwtm; -- 2.20.1 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 X-Spam-Level: X-Spam-Status: No, score=-17.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD727C433ED for ; Thu, 6 May 2021 09:12:12 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3946561041 for ; Thu, 6 May 2021 09:12:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3946561041 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; 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: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:List-Owner; bh=HiUL0s3NFVMgkXKINyLc7BxOgRW7xtuluoVj0Sm2yFY=; b=fiQFmBnM8kI6lL7Rv1/MBLsou 9ABP0JS46DUWSwQsWviFDmgKh+Husrhe47YBIqpifvSFmUyI0X2C94wz0EI8iPZwDoozbJ45IyBJg SomtX9hOZhcvPJkouYjNUiNtysLyLGtGWPCYn6fpALlgydSO4ZVHDdiqZ0HYRmAVgesWYyTDx+12m JOP4pzGnIzhyNr+SqNCOEnGzzjsPizolNhs8bIyk7XZLggMq/gOXH5On3t0lBrI/LfIykpqtTZolH yp7V5AK1nQxeYUq8UUr130r3ZT1azW4ypuixIa++2gPpcg1zPHdhffGf+eP4ij8mh1BSgrbWaKp8C IsLmVB4AQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lea0e-003kwB-Ov; Thu, 06 May 2021 09:09:28 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1leZzk-003koZ-5L for linux-arm-kernel@desiato.infradead.org; Thu, 06 May 2021 09:08:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=FLlvs6ovGZfb8w0iuNcZbBcfcNUF7mpFvitEWswOGNY=; b=PCfGhjYGsRY/kfM3lJwsxXNMgG eP7uplcRumLjT4tQuOTh4E39v3fj8yluBDP42Hk6BxjkTwbs3aKOuAMsUr8ifTuY+Kdmx0iugwp7r FAN40/R+uJpNPMnoYcekhyFBkb9Z5CMBvM8L/vlfcVOYNZ1h8tf2HVMWOKPrGQafHdhvc6Zzql7DE LgVTrnnal8+jbUmV0AMczhivovGkH0/AIRThyj0cIbD0QkaxIFl/abgztAriU5Lnw6GAcaj3Vat3W tg+LiQG9t3hPYwZvHa3WB09IuCIoKkSaLTIS6vGmDMewmVNXGRBIxgl/WfjSp7smjH0DnwoL3apx1 uQI/K6Ig==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1leZzh-005tRH-JF for linux-arm-kernel@lists.infradead.org; Thu, 06 May 2021 09:08:30 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0A36F613B5; Thu, 6 May 2021 09:08:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620292109; bh=2qAnuZ0glq7AD0WdQxX0rOeTrE+qvGfHUxQ2lCXNL8s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=InnKih16wgbo7uvL8fVAgljGJ7Fuq274vMkcZmlj5XQ2kIIFHn0o4IMz6Zi2Y0vY7 PbbX+4+6Mv5ayp+Rr1zMeopl/R588ZwD9VX0Pm0toZj+21PA72keO0kAhCmZ6T58vK S4CG69a/e8WiwITj6Gc34DN5RtDUMFhHOhO5EtAaVm6bqmhFBok73DKr1iyhX39BYH IT4aT249gdHfyR+ZTO2sXoz1JfV262R9fZ6Ulwii0O7uTCC+QUn+VF10pZujRvqQC+ Tf+/n876A7NyixeAnshMoIDIBqWc3BKHyvUTQz1jN2w+r5aP31Zfnvd8enKSGGTkBz R3LKi4fFoR2Hg== Received: by pali.im (Postfix) id 16F96865; Thu, 6 May 2021 11:08:27 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Gregory CLEMENT , Andrew Lunn Cc: =?UTF-8?q?Marek=20Beh=C3=BAn?= , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 mvebu + mvebu/dt64 3/6] firmware: turris-mox-rwtm: fail probing when firmware does not support hwrng Date: Thu, 6 May 2021 11:07:59 +0200 Message-Id: <20210506090802.14268-3-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210506090802.14268-1-pali@kernel.org> References: <20210308153703.23097-1-kabel@kernel.org> <20210506090802.14268-1-pali@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210506_020829_695475_F276A8D3 X-CRM114-Status: GOOD ( 14.64 ) 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 V2hlbiBNYXJ2ZWxsJ3MgcldUTSBmaXJtd2FyZSwgd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCB0aGUg R0VUX1JBTkRPTQpjb21tYW5kLCBpcyB1c2VkLCBrZXJuZWwgcHJpbnRzIGFuIGVycm9yIG1lc3Nh Z2UKICBod3JuZzogbm8gZGF0YSBhdmFpbGFibGUKZXZlcnkgMTAgc2Vjb25kcy4KCkZhaWwgcHJv YmluZyBvZiB0aGlzIGRyaXZlciBpZiB0aGUgcldUTSBmaXJtd2FyZSBkb2VzIG5vdCBzdXBwb3J0 IHRoZQpHRVRfUkFORE9NIGNvbW1hbmQuCgpUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHB1dCB0 aGlzIGRyaXZlcidzIGNvbXBhdGlibGUgaW50byBnZW5lcmljCmFybWFkYS0zN3h4IGRldmljZSB0 cmVlLCB0byBiZSBhdmFpbGFibGUgZm9yIG90aGVyIEFybWFkYSAzNzIwIGRldmljZXMKYmVzaWRl cyBUdXJyaXMgTU9YLiBJZiB0aGV5IHVzZSB0aGUgcldUTSBmaXJtd2FyZSBmcm9tIENaLk5JQywg dGhleSB3aWxsCmhhdmUgSFdSTkcgYXZhaWxhYmxlLCBhbmQgaWYgbm90LCB0aGUgZHJpdmVyIHdv bid0IGJlIGNvbXBsYWluaW5nLgoKU2lnbmVkLW9mZi1ieTogUGFsaSBSb2jDoXIgPHBhbGlAa2Vy bmVsLm9yZz4KRml4ZXM6IDM4OTcxMWIzNzQ5MyAoImZpcm13YXJlOiBBZGQgVHVycmlzIE1veCBy V1RNIGZpcm13YXJlIGRyaXZlciIpClNpZ25lZC1vZmYtYnk6IE1hcmVrIEJlaMO6biA8a2FiZWxA a2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2Zpcm13YXJlL3R1cnJpcy1tb3gtcnd0bS5jIHwgMjgg KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL3R1cnJpcy1tb3gtcnd0bS5jIGIv ZHJpdmVycy9maXJtd2FyZS90dXJyaXMtbW94LXJ3dG0uYwppbmRleCBkN2UzNDg5ZTRiZjIuLjNl Zjk2ODdkZGRjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS90dXJyaXMtbW94LXJ3dG0u YworKysgYi9kcml2ZXJzL2Zpcm13YXJlL3R1cnJpcy1tb3gtcnd0bS5jCkBAIC0yNjAsNiArMjYw LDI3IEBAIHN0YXRpYyBpbnQgbW94X2dldF9ib2FyZF9pbmZvKHN0cnVjdCBtb3hfcnd0bSAqcnd0 bSkKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBjaGVja19nZXRfcmFuZG9tX3N1cHBvcnQo c3RydWN0IG1veF9yd3RtICpyd3RtKQoreworCXN0cnVjdCBhcm1hZGFfMzd4eF9yd3RtX3R4X21z ZyBtc2c7CisJaW50IHJldDsKKworCW1zZy5jb21tYW5kID0gTUJPWF9DTURfR0VUX1JBTkRPTTsK Kwltc2cuYXJnc1swXSA9IDE7CisJbXNnLmFyZ3NbMV0gPSByd3RtLT5idWZfcGh5czsKKwltc2cu YXJnc1syXSA9IDQ7CisKKwlyZXQgPSBtYm94X3NlbmRfbWVzc2FnZShyd3RtLT5tYm94LCAmbXNn KTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCXJldCA9IHdhaXRfZm9yX2NvbXBs ZXRpb25fdGltZW91dCgmcnd0bS0+Y21kX2RvbmUsIEhaIC8gMik7CisJaWYgKHJldCA8IDApCisJ CXJldHVybiByZXQ7CisKKwlyZXR1cm4gbW94X2dldF9zdGF0dXMoTUJPWF9DTURfR0VUX1JBTkRP TSwgcnd0bS0+cmVwbHkucmV0dmFsKTsKK30KKwogc3RhdGljIGludCBtb3hfaHdybmdfcmVhZChz dHJ1Y3QgaHdybmcgKnJuZywgdm9pZCAqZGF0YSwgc2l6ZV90IG1heCwgYm9vbCB3YWl0KQogewog CXN0cnVjdCBtb3hfcnd0bSAqcnd0bSA9IChzdHJ1Y3QgbW94X3J3dG0gKikgcm5nLT5wcml2OwpA QCAtNDk3LDYgKzUxOCwxMyBAQCBzdGF0aWMgaW50IHR1cnJpc19tb3hfcnd0bV9wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCWlmIChyZXQgPCAwKQogCQlkZXZfd2FybihkZXYs ICJDYW5ub3QgcmVhZCBib2FyZCBpbmZvcm1hdGlvbjogJWlcbiIsIHJldCk7CiAKKwlyZXQgPSBj aGVja19nZXRfcmFuZG9tX3N1cHBvcnQocnd0bSk7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X25v dGljZShkZXYsCisJCQkgICAiRmlybXdhcmUgZG9lcyBub3Qgc3VwcG9ydCB0aGUgR0VUX1JBTkRP TSBjb21tYW5kXG4iKTsKKwkJZ290byBmcmVlX2NoYW5uZWw7CisJfQorCiAJcnd0bS0+aHdybmcu bmFtZSA9IERSSVZFUl9OQU1FICJfaHdybmciOwogCXJ3dG0tPmh3cm5nLnJlYWQgPSBtb3hfaHdy bmdfcmVhZDsKIAlyd3RtLT5od3JuZy5wcml2ID0gKHVuc2lnbmVkIGxvbmcpIHJ3dG07Ci0tIAoy LjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg==