From patchwork Fri Mar 24 19:22:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiaying Liang X-Patchwork-Id: 9643893 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id B3E74601E9 for ; Fri, 24 Mar 2017 19:30:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A190327D16 for ; Fri, 24 Mar 2017 19:30:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9621B27E5A; Fri, 24 Mar 2017 19:30:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 26DFE27D16 for ; Fri, 24 Mar 2017 19:30:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967084AbdCXTaP (ORCPT ); Fri, 24 Mar 2017 15:30:15 -0400 Received: from mail-cys01nam02on0055.outbound.protection.outlook.com ([104.47.37.55]:41952 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935840AbdCXT3v (ORCPT ); Fri, 24 Mar 2017 15:29:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=l/xXNz9n/hcTYQTExV/rbTikUuhsU4Et3KiuHBCnFyA=; b=YWUHnmwKX2MQII4F/1veKABznfH1kz2cg/X7ZhuVbL2L/esGEkdUNsmLob3xXhzDSn5ReSNTL9gJTX2Ke2Zf/UAfgI3E/w7tfWjOFeNUSF6Y20muYw3TWL82LWtqp0d1nNvpPxuQJWg8powdBmuZoTT80eKGcq31RRfd1P4zbzg= Received: from BY1PR0201CA0012.namprd02.prod.outlook.com (10.160.191.150) by CY1PR0201MB0761.namprd02.prod.outlook.com (10.160.141.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.977.11; Fri, 24 Mar 2017 19:29:48 +0000 Received: from CY1NAM02FT007.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::203) by BY1PR0201CA0012.outlook.office365.com (2a01:111:e400:4814::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.991.14 via Frontend Transport; Fri, 24 Mar 2017 19:29:48 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT007.mail.protection.outlook.com (10.152.75.5) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.977.7 via Frontend Transport; Fri, 24 Mar 2017 19:29:48 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1crUuB-0006Id-Ac; Fri, 24 Mar 2017 12:29:47 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1crUuB-0002kt-5s; Fri, 24 Mar 2017 12:29:47 -0700 Received: from xsj-pvapsmtp01 (smtp.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id v2OJTi2A010419; Fri, 24 Mar 2017 12:29:44 -0700 Received: from [172.19.2.167] (helo=xsjjliang50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1crUu7-0002jg-Vk; Fri, 24 Mar 2017 12:29:43 -0700 From: Wendy Liang To: CC: , , "Wendy Liang" , Wendy Liang , Michal Simek Subject: [RFC LINUX PATCH 07/19] remoteproc: Add firmware checksum resource entry Date: Fri, 24 Mar 2017 12:22:23 -0700 Message-ID: <1490383355-23176-8-git-send-email-jliang@xilinx.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1490383355-23176-1-git-send-email-jliang@xilinx.com> References: <1490383355-23176-1-git-send-email-jliang@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.1.0.1062-22962.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39840400002)(39410400002)(39850400002)(39450400003)(39860400002)(2980300002)(438002)(189002)(199003)(9170700003)(50986999)(77096006)(36386004)(107886003)(48376002)(50466002)(8936002)(38730400002)(6666003)(8676002)(54906002)(36756003)(110136004)(2950100002)(6916009)(5003940100001)(81166006)(47776003)(9786002)(50226002)(2351001)(4326008)(76176999)(356003)(189998001)(5660300001)(106466001)(33646002)(305945005)(2906002)(107986001)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0201MB0761; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT007; 1:KTa8tHxybQi8PvNljFaRYlIS4lDUaZrnHxE0jfrO2UQnTI01ybTfI50qA9xxfdgI0puPPD7CDjYVfItotuS4ylmUj4q8iE3qyBXqFtoDg7WTXsByAvGmDBLlAMaGBstmm1iiCII20Gx7IIwjeLNaRqCE/bhuB4pEN/GGutbHT+SfGLaOfr9bLQts5f7STak2/SNes40WxYwgs8mr94oX2umHqHa7NTlzmy0ON9Wg1o2UqScLGzJ/cAaWZGfuhstJ24sxxVTGpJDWA2bYXMdse5vHM6bC6GWHGPbmwtTFU2tzH3d5FqIz+tkl6lGsDJVYz/HPlzJxFi1PAYmAHd1LiICqCakueDdUv4A07ho/AjzxMqt8POKUrNuz5xMqTTj+YA80x/IXHhiwNBMZh5x1CyCsJMhybPhwyWCCt4KfLN4UrVlu/TdsKTd9F/uRgWoBSO4X5zIKIpa1R/UcSVwM+Z3EkGzvcJRdhUiX7fY/9bm3BvRJw0iRXOI0i70bjWgctVQ7bKe/fEToHsWqMoK3R2qvG0U4MRMYDWrDDWBXhZk2hm6vPd7YQRSbFd3gqYUgDQfN+cNOaJObX+ao7YI9ZA== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: ccea13c7-dfdb-4678-2c5e-08d472ec22ae X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075); SRVR:CY1PR0201MB0761; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB0761; 3:eYj6hBbtHN05ELP13CVCWrkenhkejM2T070lSeDzvFr5W+iKoNrDUMx7WI5d90/hwPpEay0Ym0T5E6BzFaq1JN2lGupnN0Y4ukyL/Ff6rvcfmO8WSemU2VXrJ0yL4HqjFtXA7mEVNhLkmNySRxno1oL5uRN8pxfvdEL4kAw/V4eu1tW+SasxnaPjfJVxSEjA5kDOOFoemPkxCybyO5YCxMkaVe3vIMiTN+ikcT80h7IXjPzEDHAVHOknqEdSWwt6tKKaKoqh8DWdUyPE+1BQcPZgbrySXEBxcJVOE9iPYvDCIzS3tcMVlIpmmnHbqmRPKcQ2tFyQsRM1pqEUB+3xBrmyFG8XoT1WQpeUDaccobWf10DVjPD0GekdRXXZeocRy6RjlsTyYt6RIiImfeKgL+HqB1MqhdeqcvzUrGkquxY=; 25:Fdp+gPQRdPAXx50drzjnjey22d4KAIb2s4vYyoIfTuemnpQbAVsjITEjlgm2bsVdkctTBfvIB0tPTjvcvL+XYY5yGDH8OfpDXh9+lwaAYErbxrilRtSB5CyJP5f3W3gl8t8SPl3TKA4u6Y3NJNdr6Vu04KBsIa6nJNKiGKFXHHUjGJcYcPlbFPCoa6m8ET0ywt2GgCY0bPMkf0SgVW8+OgGSiI2cyH4ZsUIAROCVP1FY9uYHSUJEYwNGUNr12z6w+14At/jjKe23Kwo8aXwcGix1w3Cz37bYvXfBLHdIANcfRu7tvzPYWdKOcasRxDItr6Tg6M1qUBG9a9GovgotVFU7fxlrMZnXZnJvMVwhs0TZEo0BgzDA54ewaAwURK1YPEPIMuEVzhLjOF4qvD633l+Bf7uxKN4MyQXOYJrlL4LgQQlLLMNy+/B/lZK71ZfghH/DALkN6wbu3P8+59fhsw== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB0761; 31:mii1+uT6bwWPwTCI3VAM4G+wy8upB6lnhWeyV+2/oR9Z0dCC6WHWjqD7ZkMiVI5lM0b/i+owiDxX5Qt96TneA0SoRyBGo8O1dR51RxTKcvh9zxSYVUZWMULMSX8WQpvNA1Ll27fd5AW/71P6AtjpWvqOlSCAK0yHem6GIuVdxXltwZyEfaDR5qBWslWYesYsw4nDZY0a/Ebz8fhmTBN2OExgQDlzNcqoJR5zwpdTr9e/ksncqIGxB7pFCzd1kpoyPPLLohtI/9PskUHGPQdEWtR9JzusyxExmycR03xddUo=; 20:qyT5nkiAE2n2TkH7WGV0RUev49JQgyamyTxWBY/AT5Ru9l59ATKmhL59lWpcOoFOpXrVddW1lZCYkaM1fLcWB+d2m5vz+HnmABzlDA+rggPoPxkvjBThSNwY+lFSflYBAebx0ANHc/xQrk60dMuL3z2u077wBNbQjkkq8slPiKeQQuZef1oUHGRYMzsLX9te87nzMU7soPBy85No56fKON1qprRYqlkRNTc8j51pn1BMkALau7l79GNVLl/QgYXmaHL2RyDqOhukF3bsssDyI8OqucdJEuk7jBERik3coHHn6szuY7w0MK8cbwiofop3mnd9oZDj44rjzv7Tjj/x9ZEUzVQkyX9XqbP7TP6v15cZKQBV+nrvHrr9V/yASps+iI6Y9kb+264GNkM/v5Zm8NcWx/VXdwKhgBKE4CmnJqYHd/NJb0fUzkd7vyo+JLIYkyheiReHjpDJuLg+kq+v9lW+1Vs8XTPIXfpI6/F8HOX+CVcnfZeftXngLl0DPCtt X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13023025)(13015025)(13018025)(13024025)(8121501046)(13017025)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123555025)(20161123560025)(20161123564025)(20161123562025)(20161123558025)(6072148); SRVR:CY1PR0201MB0761; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0201MB0761; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB0761; 4:mZ+i1jiCwVB0PcOaGHiYbxPnLREce1QiPCMBYrzudrV+tUd/6rdhVPi0luh2bLb1JAUsiHNTeOtbqZi48Gv4T1YcOGrvCa20KSngvVaGZrEV2EN2BSHGo5gA6rSKnvgCNnDP1zo0R3rU24mC8AxA8ikEgAMBkCrzq87EhfT2VfbHIYXRdc9GMjwHt5iSXUrRt7ltQJ4E7QBrqHxBxPpoOFKoxmFN+zmQC5AM8Po5WFEidBAqOB2QiZyER2085r7hAfEmaT8xArXuIGlwVBZfXB6GSpzH/yyTDh1LJ4yxQ17jqGtnXHrKogrGCuWex3fJ0AYzWE2CQ3C0GXgHevQpy0VL0cGYZ7xXxGpNiHJGbWwmGvDYK1a9hoNWgVLFif+UmZ15kdwYTjoT32PRodYWrvjYiLufMxBd5PjdFumpEclBghpV+D5Uu0i66aizI+6Ek77hfgQ8ZZ2dbcegxF0R2zZY+ndPXxig+twS31Y1TO0adg7Ox/es9rWhw9nCkCilbHQE2gjGg+jHqMDG9nxC+MsM0raSHy4kyWc9ep9kbaf+h0CIbEFIp0U9oMB7/Hbf2cd56GJOAji/uHFDaJLN72Md+i8+M73w97IWPiXZh3OUD0Z5LzHeq6WVs39L6mlZNiRk/EWtsiQxg4viQm9TJ4jve3SDQrbvfeC06IXdHa/C1SjMCxFdTRJWrLyYSr93n6rvwZ2/UGDOqFkzQVCq9NRhXPMJMnFv1vgyW90tTTWX9ThR99VIKPQcYE8ORJZjWrWsgpS2iHwIMGOGf0gNow== X-Forefront-PRVS: 0256C18696 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0201MB0761; 23:RvhtXCldAF5yCKkME3+0AqiTwNmTnWPeUKIMyDu?= =?us-ascii?Q?UAMLYcXaMnTrMu6WvvwyQ816yRCs447NYycsDXeyhtNGp/0hBepm5OdHrdBO?= =?us-ascii?Q?3i4pmJgynRIHyFBrKYaG1MgNu9DtifkbZblLN2nUw0rY4a20QBZBLABr7N2L?= =?us-ascii?Q?t8m60saaRp1kTzZz2ZTkvaHIgUVFBothJRNAmbAZVvoCRho0bOKGeeec6qq6?= =?us-ascii?Q?jxYybgns4WJSguuCFx/jTdhwDOCUjRLf2TxIL8TXJhLJ4etc0VHM+OZ4D7NJ?= =?us-ascii?Q?KcX4StdlFEJ/cEY38olgZChMqAzRroRhjrVNDPbw8cFYPeEsHKcJQbI7Q97D?= =?us-ascii?Q?C8JQLb/E/NqPrl4TflMu7dAxKWFm0vjtTAKa7jQ/B3F7zYXn4pyGFi/bcqIh?= =?us-ascii?Q?blSWAGsdhx9O6AAWuHIgTT1EX8ON72O+ihZ+f3ShQPr3mPu+XZQPIlwumr6V?= =?us-ascii?Q?VE1bkRyffi1CjU1NTgRopCoA97l/9/H3p31ye273ZPDXkmS+u69BRyxseodw?= =?us-ascii?Q?rtHn2q80LVryqoBrGcmQHxlLIzKGKN8FLKDI3Z0SgVHktxe9jhma5RV6Ne3k?= =?us-ascii?Q?pu608CS6BrLjYnQcbOeNOZEzoADpuakDvPPGhCAvIBTGEb0QOuFVl3nNkGDT?= =?us-ascii?Q?tO/eZYBuTaLkYmMbz5CzW+ZzWB7rliCja5r8e9+m8SOVQ8QsKnia+RKC7QMW?= =?us-ascii?Q?xjCjIR8vlw3oq6m03uANVW/88kbQFX0cmjT4jMuPnmtBn8TKmMMtsqeJ1OYs?= =?us-ascii?Q?7Swv2ZPflxWye0M0eS71oCunVnCh8ALkY4ye2UlcNUkzTRb6/7wJZ1MPgBjF?= =?us-ascii?Q?JY9J50MuMu1+SEh5E1NTHGprLRChA3kQy11oVeaRdME91PMMbTY8shWu97w3?= =?us-ascii?Q?U6ZTAFRcv72V/RO1t0xzAFyIAHLpeQN7nLCPCWcX2zfV5dNG1V7ECPZFlnd9?= =?us-ascii?Q?B7bYnwNJVSsi2T470/mWnAOnWaAYDBScOpg+CArki/QRB2euTt4Q82SZ+Ax7?= =?us-ascii?Q?rbLN6NxGV27MeQuGG1NCuMTHmmHKQLXKlPFt7pfb9Lt3JSuF/Hc+C+ZhOXl0?= =?us-ascii?Q?UbEPEUwfihfL4gIm26gFGRjLrqbx5?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB0761; 6:QCMwJmgRsE1+0Za2LueW1u2aZdkOVDV8aLZ6VQsq2ngMQBeFqjfIzkNg0EHVl8E2dFV8wk3ZDb+JvTqzr7UfHBmPkIwWIXoioDWLOYVONVnnV1ubId2lsdzQmz2/tuDk5u76LekpM8GFaSjQyN5fsER51eAvnik7WHUWvenTTAHjzD0+h3rfDt8355ASvGE03yDpinXyrAPwddbZOMJTX0t9YA59jzoV5RgMzwkGdvdwP9lpBysCTAezq2Xd4YljKo4gh7kFNZWzxGfgBJOW+mlAdZLfoVWHgLNZtl8mYVv34QmqoXolntPQynoDiawyZJ79nY9UT7Rm7/lPkzoQP3/XURStHj+TSG/N9Fy+/J+q4Fl/exM/LlcpEm5ZV+IwiwbOgm222W/yvptHgWzcrBworScKkTybCaNLmvJ3uDw=; 5:ve0gwN6PkO/sQpe+fH1oNFqIFPLMTivRPFMI/ZIfokDYm6ydFw+E8J9KjlACm9OMTwHO6Fzj428qMfG72oGxs91EGkJP1JpmpI8wGjevKX1nCpq3TRZ5SKhA8IT6SufQnEkeIygsQyHGF2dBSRsI/w==; 24:/QUr6AkfA6RQZjlsgJG/buYGnwYpqfhIvFVSs7uAOVt76tY4lqwHYjWIhxxYyElmhZqfXed4PILPd3fRdYUerFPmgKzF7hYeyicY4t/vgNY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB0761; 7:/w9NogPcNaI7pM+GZE4BsQcCFx2g0wEQ6LUXHvMpe7HvlXPAtHdu8f4emngUpf+qJdP5xx25jHR4RdIkHGXwREe+xzjD1c3hpJlNtEOTCr5aV1tbrP/pEuVvvtZuWy3yKHtfRxlbeKQ9frqLhYtEtBvIC49RZ1zrZ6PDP7gUGUUREhVg7npPITHyO2TLcJBp5dF3b0HscKXRJ8kH/8FZbZUPKkSOslmAjEG+Xd4ZuOWQTV2Y02u7J61XztuMIHjq4ImDxVg5OD7aKlaNRjxRYaM+E8Aj7rwPvKrqTqWQEoL4g57rjDDbZzkXuB8fQNDOu6vrAxD0vy0dHxJwV6pg4Q== X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2017 19:29:48.3270 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0201MB0761 Sender: linux-remoteproc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Wendy Liang Add a firmware checksum resource entry type to store the checksum of the firmware in the resource table. In the remoteproc driver firmware booting process, it can check if the remote already runs the expected firmware so that it can decide if it needs to restart the remote if the remote already runs. Signed-off-by: Wendy Liang Signed-off-by: Michal Simek --- include/linux/remoteproc.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h index b740b93..303210b 100644 --- a/include/linux/remoteproc.h +++ b/include/linux/remoteproc.h @@ -116,7 +116,8 @@ enum fw_resource_type { RSC_TRACE = 2, RSC_VDEV = 3, RSC_RPROC_MEM = 4, - RSC_LAST = 5, + RSC_FW_CHKSUM = 5, + RSC_LAST = 6, }; #define FW_RSC_ADDR_ANY (-1) @@ -327,6 +328,20 @@ struct fw_rsc_rproc_mem { } __packed; /** + * struct fw_rsc_fw_chksum - firmware checksum + * @algo: algorithm to generate the cheksum + * @chksum: checksum of the firmware loadable sections. + * + * This resource entry provides checksum for the firmware loadable sections. + * It is used to check if the remote already runs with the expected firmware to + * decide if it needs to start the remote if the remote is already running. + */ +struct fw_rsc_fw_chksum { + u8 algo[16]; + u8 chksum[64]; +} __packed; + +/** * struct rproc_mem_entry - memory entry descriptor * @va: virtual address * @dma: dma address