From patchwork Fri Jun 17 10:28:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: marcin.krzeminski@nokia.com X-Patchwork-Id: 9183375 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 F28D860573 for ; Fri, 17 Jun 2016 10:33:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E187D28386 for ; Fri, 17 Jun 2016 10:33:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D630F28399; Fri, 17 Jun 2016 10:33:22 +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=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 6111328386 for ; Fri, 17 Jun 2016 10:33:22 +0000 (UTC) Received: from localhost ([::1]:55526 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDr5V-00083t-0G for patchwork-qemu-devel@patchwork.kernel.org; Fri, 17 Jun 2016 06:33:21 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44101) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDr4v-00080V-2S for qemu-devel@nongnu.org; Fri, 17 Jun 2016 06:32:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bDr4q-00039z-36 for qemu-devel@nongnu.org; Fri, 17 Jun 2016 06:32:44 -0400 Received: from mail-db3on0129.outbound.protection.outlook.com ([157.55.234.129]:24216 helo=emea01-db3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDr4p-00039f-KI for qemu-devel@nongnu.org; Fri, 17 Jun 2016 06:32:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=GcUnfrmaNzbSja4582Alj2gY6pN7nmnBVntKEaoPCn8=; b=AdJ/9y887ymfDVgqCQkuzIuQagNHVwKNyrGMxWhwZIJkxGyeBvr8XszU8m+fXSLPkcnc8i6BfKN4+ldqlrhXXsbjd8tcgo66mguC7ccODITf580MkQbYQ0eD/jyoH0ZAMQEOLZ4gwiKGNFZt3BuBI8Z/P237ZPu5IC9cf3OD8yc= Received: from VI1PR07CA0066.eurprd07.prod.outlook.com (10.164.94.162) by HE1PR07MB0907.eurprd07.prod.outlook.com (10.162.26.14) with Microsoft SMTP Server (TLS) id 15.1.523.12; Fri, 17 Jun 2016 10:32:36 +0000 Received: from AM1FFO11FD050.protection.gbl (2a01:111:f400:7e00::122) by VI1PR07CA0066.outlook.office365.com (2a01:111:e400:5967::34) with Microsoft SMTP Server (TLS) id 15.1.523.12 via Frontend Transport; Fri, 17 Jun 2016 10:32:36 +0000 Authentication-Results: spf=temperror (sender IP is 131.228.2.241) smtp.mailfrom=nokia.com; nongnu.org; dkim=none (message not signed) header.d=none; nongnu.org; dmarc=temperror action=none header.from=nokia.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of nokia.com: DNS Timeout) Received: from mailrelay.int.nokia.com (131.228.2.241) by AM1FFO11FD050.mail.protection.outlook.com (10.174.65.213) with Microsoft SMTP Server (TLS) id 15.1.511.7 via Frontend Transport; Fri, 17 Jun 2016 10:31:42 +0000 Received: from mailrelay.int.nokia.com (localhost [127.0.0.1]) by fihe3nok0735.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id u5HATG0n000586 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 17 Jun 2016 13:29:16 +0300 Received: from CNU418C7XK.nsn-intra.net ([10.154.155.220]) by mailrelay.int.nokia.com (8.14.9/8.14.5) with ESMTP id u5HATC34000470; Fri, 17 Jun 2016 13:29:15 +0300 X-HPESVCS-Source-Ip: 10.154.155.220 From: To: Date: Fri, 17 Jun 2016 12:28:28 +0200 Message-ID: <1466159314-28597-5-git-send-email-marcin.krzeminski@nokia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1466159314-28597-1-git-send-email-marcin.krzeminski@nokia.com> References: <1466159314-28597-1-git-send-email-marcin.krzeminski@nokia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:131.228.2.241; IPV:NLI; CTRY:FI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(7916002)(2980300002)(199003)(189002)(87936001)(86152002)(2876002)(19580395003)(86362001)(19580405001)(47776003)(2950100001)(8676002)(77096005)(81166006)(81156014)(97736004)(11100500001)(50466002)(5820100001)(4326007)(92566002)(23676002)(2906002)(356003)(586003)(36756003)(76176999)(50986999)(6806005)(2870700001)(2351001)(53416004)(229853001)(106466001)(189998001)(33646002)(16796002)(5008740100001)(110136002)(50226002)(8936002); DIR:OUT; SFP:1102; SCL:1; SRVR:HE1PR07MB0907; H:mailrelay.int.nokia.com; FPR:; SPF:TempError; PTR:ErrorRetry; A:1; MX:1; CAT:NONE; LANG:en; CAT:NONE; X-Microsoft-Exchange-Diagnostics: 1; AM1FFO11FD050; 1:GHTiSASIIUCORsUyM5Lxj0394ZjNlByVnScPZv5j+4llU9CTdo+o/letz+5HqXhtbGOqISpK3J8rf5OPsUgtMWcBQon6XMft2rX2//kRRe+A3Yllm4KdCbjltMC1UoOc6xFdcrZPyXhBLUNarekxKTwwy+wdna/oEDVO3Tf0Uwy7HNSNvUtvZ48b4alylgfAebIxYE6mvEqOaxqhfK23qMrROli/6Tmc8wg7RSrqo0gRychAzyJZ+sPbfaH7NamZehj2+Hn2PI3LmK+L2L3BKsMcq1aQW/l8BAhRpEDki/nJqBB7sBEFUxinET7HxC3hESFp5/nfuZl87rwwlBbRhHWoElKlqqK74MRWavHWc2nSoUtiTAQ2S4eIOXigNHGym0QZZPNb2smyAwdX/QL0k+mn7q9SkyM0iRJFdJZemauAqRTVUru2iNIPesPMfFE7 X-MS-Office365-Filtering-Correlation-Id: 5b3b1e71-f910-46f0-fcf0-08d3969a92ee X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0907; 2:OaL9vr7LItXc7O6IZjkJOPvcg3/iQSTSvMYOIDa5fG250lfCRrZVjqe4TDfor82guc7dcTm/IDetmV6YMvbYAd6eIULZFbpYkEM5qOcHuGiAtHditRnleTXgBuLdBjidR8xNwzTOz+HJvLTDZqgtZCH8uB9NeWzpQOMEOcf49igo255ntsncL5XVkuv8iSyK; 3:6414MBp1lAfmHarDq/iJCsJ9dwpngbv5z0UPZ0bElkMgNrr4yIrRo00FJnWUZMa0oy3wUZqkRsTaxqYyPn31qRY5MCMtJnQXdTERcIQSWt1y5fJoqtksSTNygBGlOQp9C5MMLmlcmTEFw4emF5OOV43220heZRxdUbaITF8FyfHXHZfc8BrCFvmN5fUhwleXUfuSaakwj+5Z/sqsacGFGic4A2qHACGm1fFznDeAhzk=; 25:o5qQ2X3qFutocxfU/rRhuasCWYfeJNuftzsqNr+Ebn3lde9i/dljYQTTYoLHJSYHMqy9egvpcDVjm+kq9A14tW73xnPC8owOCjpos2Ciwhdx+JPNkgdaEN8oZvWWAYSgaJr56Tdg7PP/DtI0gpWwDMJ1ndhJ3ihyr0g6o3wGW7ZAT0vnxifGTscNmvn3yJTmljKOWEOqHuWk1WW1c1mcT/v1rJmnFbeFj08SPSFAyUKwtyGekVmLiwte0RrUFAIlgk0yPzGUdiTbCjIV2x041bakGT9AuujgEezny35LxVpIEECXuljHDthJGwzKariJWr7bOvyTDmQKsYEFx2n7w6S018QV1FqH9/M9nlMHWARz/oULKh7wGhae84BHiq/qp8CvStbk+CWunCdapQxpJ30QxEkJ1Jnl+hppNwTTv2c= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR07MB0907; X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0907; 20:AfpgRPHMtVbyo4I77BqYEWvWulL4wRHSXPIXVK0jZqlQMOyeIs4bkqe9T7X0sIjvPRYYR0rQRwbf99Frc0sdcXGyi+9CzW2yK/7Ek0DxPqQ9r27lAVTfbsJSuiVFYmv1k1un1mUzYcbfniMCf2LZZ0jo+NPfozBJB2Yxtr7b8o6SwA8sjDh+tfX4Ye5xzEwIzmEnvPaD7U9KsZlwBu2nsw6kzYwOAA765Rk7tyQmV/+NrGj2eaE0RrQjg0WHG1Ryi3dQU/gP9Yla1/PD4GhCFJSNES2ZGGRLVAs2627zFeDTlyMikEiKzdqpfhcQRheIRmt4ykO2yFMc/JTJvby/quOOwmhsJhw5VApLHDH+9Weem7XhmVz1hsWxIzVQSh/MAmXnduQc+4SNvHuUh8LZ0dZnYeTDOCNQogm4mHcfEwhG7fNqU74L6oRMczaZU6VT1P8UlT06Kkbd+WEWl3ZT/4ZA1uY45U0vBUYMTs8TSCgtzPRi2/GjdeFwE+ADvigaQM63yS2wKMEnNdXJQdYiR5ZF47vxTlbzSVV+6V9SxuoZo1yfY6iAXRMM39Ci6qlN8Ui813RziwG70efr/cruNtgDNl3weLcCvm6mgD5k5TE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(82608151540597); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13016025)(13018025)(5005006)(8121501046)(3002001)(10201501046); SRVR:HE1PR07MB0907; BCL:0; PCL:0; RULEID:; SRVR:HE1PR07MB0907; X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0907; 4:MNs4yr2hHqTKawllNr3sufBdxnsuVI609oLn0NOq2cnkdFb4uGv8FE8PmSgUY2azG9JpxXimecpAkHWHGJb3jZ815zDyaM1x7sUe6NzYO/yfRIw94oIE+U+RkJ3NEDajjDxm7gsU/XBKayNiTo9xFrX2iC1/9bUru4ssEPn8PoOjcIsuEcjdxIIymC+FHDdFxXHK0/VRwtfSEDJ4mugnb+AdPj74dGwhBmnjA54qNccPdOo7eXoukYVxGL5gLh8LzXhNJk4hnwCLLhiqcZsDkl8G4DdFhzq/V8GokfZCQcDyrxvz5x4/m6Z6Oe+2IEEegziMEHO+ZTAkwgpVHf9DVmgEwdbnOj4NxASiyrkDCYbbZMFyjVjOo589zLlkVKTghyIAi4KT3vOUm1FTY+STIoj28+Mq6S8lIz+rMfsP7WpONm8oKqCz0GMyrHipw9gCgikj5mqIi33cJ1tPW+//qA== X-Forefront-PRVS: 09760A0505 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR07MB0907; 23:zI3L/IR+IzBXfwR+G7KpFbizYmG+4f1BzkhoWQQ6Q?= =?us-ascii?Q?jQUHA/clQ8ES8ayHFIbXyILjzPVlz53aFFC7jrlhaF7EPNNYAlWq1LGLpVfJ?= =?us-ascii?Q?u7D4unKgwsdFiVGUegDKfpkrYnh8B3hU/iCYc9rzzBkYIUiigSTOWGmFg2Kf?= =?us-ascii?Q?saieRMcCIE5VkE69rUXK1yCV7L7bR3rx3fLl2/PkD5twfUBrBF64iRDVj0B1?= =?us-ascii?Q?qav4NcjRxN0p1yLLDU4jYurvG+ydyLhZ0hsO8RKn9MzMxBgFhq3Dy+Qsem/p?= =?us-ascii?Q?80ktgPUzzAp+vW+ZTnierEH92oKk7VcACdNFsTJtpQqyhy+wi8GMRNopjbES?= =?us-ascii?Q?0liBqJiEj8vrWDhkplgslREc8ftmGqfqFtRrYEQNCineY6qfUWJI6K3G7OBe?= =?us-ascii?Q?eXBee1sE5tnHqAA5hecvn3U+DFL7HZPj2EDf1o+PqO+LG/R3IP+8o+hKtIEo?= =?us-ascii?Q?aQjuCPRgDrUgtt/agXbx6bXaLnoD1oi56NaBaB35Gfl4z7jATvmdtZits9D4?= =?us-ascii?Q?w5GkFQTKqSFM5pjM1Y9ECbYN9Kjt8jz2gIXBodu4RR8p4o2wbN0BXU8hKl8z?= =?us-ascii?Q?g1jjgbsE6hkzuZswcW+rkzJ13jekjFV2l5+zF/fkQykp8u8fr8AGi0OE3spU?= =?us-ascii?Q?4k7RbU/orHleeuFzQVwCb4ti2slNFqXz4xGI4B9wLmdork/7QDq2FLSBxJOb?= =?us-ascii?Q?6i8bbixl4k/oBRAHZ3i3wmtVCA+581N1tvvHOAOXdWOKqWpplLQqujN7Yeg9?= =?us-ascii?Q?rYqZgtVERNNXaxcCCVt9I7OYPnuloSxTrRi7qK6SRj2oVK31qiLjy1/vSz2M?= =?us-ascii?Q?77yGZleisjKskdz7/PpCsBPX5nhXrFoKIxobYz1WLBYEyxRb5qsktjZNoACg?= =?us-ascii?Q?zGQhQufM9DHcjtZHHYT2phpUsTsjGrYZAEka5gSYFIZWN7eYBlcAi9ItOYkZ?= =?us-ascii?Q?wZt1JUSJqCte3Arn2mODCMH5Zr/mGsQtJ4KDLhqACiAj3zXlBeD+3u6RfB3a?= =?us-ascii?Q?PMXbDDtSqUd6/OnD6tOqU54qfZiRdc6vpgat98lKD9qP+1KQhYMR5Ra+rpZj?= =?us-ascii?Q?A8drk5Jr+pjhI0+WILJMjy0tWixehtc6GDKMIngRERPCkdo7Q=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0907; 6:JCiOXA3dZcK7kbFres2LtxvtJ/AthGFMYFoTMB+8zn7Nas1WGgiJh6oiZq86iqZzUUo5sGfwvKaw7tUfSzC3t5PQOWjjNl1jB0vdwhTTO/ueJu8R0HafD1PRLhJeMJmsy4L9oiGCSRe0T95+KYOmuOBVM+B22LGwZXG+WuC7EezAq4L6SVjn39LzlwmoxTbwCbt3NecxDg1e9+P67kclO5RLCAJE7/oym8JfISKUbLqW7AyglZ5Pssc/P1GJZ1OltaVbArGxvVNuzCmO+s5ncEt4SjufSJgqwR5qGLrx2Kw=; 5:XGeIP/UBoSD1h+dDp3XaGtKG5izzR3NoRY1h95euiqbxZFhX4hfcLKSazY6jA1SEKg5dVMNe/JB+B81IaDW4AqOIrBbrDGcbAwiJA2TkFGK1X+FP+pltxDc8o/TBr2bNpkikOCMI64uZ9OKkIAu/bg==; 24:KXatu02Rg+B0sFqQKQYrfxRlzLZ5rRLcB+YXy+8ubZnhIcq+YnFCDJ/QeV6BamyIXiswqot82bzL2gu0Fx0ixFfe5ENuoFB+EfLA/2fCXso=; 7:jTXWT3qf2zT1NejfIVf4vyE73rCo5rOOhafAQJs/GnwX23BnNG52wP5qFO9aM3dhwn4yEqRJrawtjq5qjFEwsz9D2pC7x9ji5cOWCLb813vg6Tb3ypZ2qp6XVxL+F8FcFqKw3LKZ/5ASsgltulVFfMrgwZ4+sxa1GoQxD5R2D+ROolTaey/hKtrF/tCHDIFL+7McKTtKmhLxT6I9VnpjhQ== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2016 10:31:42.2233 (UTC) X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0; Ip=[131.228.2.241]; Helo=[mailrelay.int.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB0907 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 X-Received-From: 157.55.234.129 Subject: [Qemu-devel] [PATCH v2 04/10] m25p80: Introduce COLLECTING_VAR_LEN_DATA state. X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, crosthwaitepeter@gmail.com, clg@fr.ibm.com, clg@kaod.org, pawel.lenkow@itlen.com, rfsw-patches@mlist.emea.nsn-intra.net Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Marcin Krzeminski Some flash allows to stop read at any time. Allow framework to support this. Signed-off-by: Marcin Krzeminski Reviewed-by: Cédric Le Goater --- hw/block/m25p80.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c index 6910c52..ca1f882 100644 --- a/hw/block/m25p80.c +++ b/hw/block/m25p80.c @@ -330,6 +330,7 @@ typedef enum { STATE_PAGE_PROGRAM, STATE_READ, STATE_COLLECTING_DATA, + STATE_COLLECTING_VAR_LEN_DATA, STATE_READING_DATA, } CMDState; @@ -872,6 +873,9 @@ static int m25p80_cs(SSISlave *ss, bool select) Flash *s = M25P80(ss); if (select) { + if (s->state == STATE_COLLECTING_VAR_LEN_DATA) { + complete_collecting_data(s); + } s->len = 0; s->pos = 0; s->state = STATE_IDLE; @@ -905,6 +909,7 @@ static uint32_t m25p80_transfer8(SSISlave *ss, uint32_t tx) break; case STATE_COLLECTING_DATA: + case STATE_COLLECTING_VAR_LEN_DATA: s->data[s->len] = (uint8_t)tx; s->len++;