From nobody Mon Feb 9 13:10:43 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1491868108203593.405253762116; Mon, 10 Apr 2017 16:48:28 -0700 (PDT) Received: from localhost ([::1]:36480 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cxj2p-0002rr-6C for importer@patchew.org; Mon, 10 Apr 2017 19:48:27 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59413) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cxj0x-0001cy-HF for qemu-devel@nongnu.org; Mon, 10 Apr 2017 19:46:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cxj0u-0002TY-DO for qemu-devel@nongnu.org; Mon, 10 Apr 2017 19:46:31 -0400 Received: from mail-bn3nam01on0064.outbound.protection.outlook.com ([104.47.33.64]:28076 helo=NAM01-BN3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cxj0u-0002TA-4U for qemu-devel@nongnu.org; Mon, 10 Apr 2017 19:46:28 -0400 Received: from MWHPR02CA0013.namprd02.prod.outlook.com (10.168.209.151) by MWHPR02MB2591.namprd02.prod.outlook.com (10.168.205.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.17; Mon, 10 Apr 2017 23:46:26 +0000 Received: from BL2NAM02FT023.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::207) by MWHPR02CA0013.outlook.office365.com (2603:10b6:300:4b::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.17 via Frontend Transport; Mon, 10 Apr 2017 23:46:25 +0000 Received: from xsj-pvapsmtpgw02 (149.199.60.100) by BL2NAM02FT023.mail.protection.outlook.com (10.152.77.72) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1019.14 via Frontend Transport; Mon, 10 Apr 2017 23:46:24 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:35381 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1cxj0q-0001GR-IQ; Mon, 10 Apr 2017 16:46:24 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1cxj0q-0000VX-FC; Mon, 10 Apr 2017 16:46:24 -0700 Received: from xsj-pvapsmtp01 (mailhost.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id v3ANkGdd001599; Mon, 10 Apr 2017 16:46:17 -0700 Received: from [172.19.2.220] (helo=xsjalistai50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1cxj0i-0000UF-QG; Mon, 10 Apr 2017 16:46:16 -0700 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=mnGbK9yeTXoSG2/q1sggl5ZlBaKd6IsswfCHs+51Btk=; b=desUGqHXFTfg2N9DJ42rW3tOq4usNsBGK0czPP5qq//b5w4FTTBCC6FiioPh2JCG/AQhiPW1WNBUzQY+U7fbjDb8xhiseUS9AGWNavGjDUqCYafFCqZ0nJI8rwLZpmmoAvSowqmkY0tsRSCYmDC8t0WVnzhIB4QhZMYosR+o494= Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; amsat.org; dkim=none (message not signed) header.d=none;amsat.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; From: Alistair Francis To: , Date: Mon, 10 Apr 2017 16:43:49 -0700 Message-ID: X-Mailer: git-send-email 2.9.3 In-Reply-To: References: X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.1.0.1062-22996.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.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39850400002)(39840400002)(39860400002)(39450400003)(39400400002)(39410400002)(2980300002)(438002)(189002)(199003)(9170700003)(9786002)(356003)(5660300001)(305945005)(4326008)(36386004)(5003940100001)(38730400002)(189998001)(39060400002)(47776003)(2906002)(8676002)(48376002)(6666003)(2950100002)(8936002)(81166006)(50466002)(50226002)(76176999)(77096006)(118296001)(36756003)(63266004)(50986999)(106466001)(33646002)(54906002)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR02MB2591; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; MLV:ovrnspm; MX:1; A:1; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT023; 1:TzSw5kMZ5oVqGi8NyiK4EIGEgCEw1OJCTTekulnJJ1LOAaWWnq2zBMK4rN5KFqq25dwA/9qg+8R7L+nJFVnXtW29NpQSpiE4E/3QJppD3R4IT6jZmI3PodlX6eYoqlm0RHhJ7/jhqZsj9CDM6wPajav36JICBfBC6sCqn+PuGFWjkKNcy85E10KIyspMNIr9Qq/5s7Eq+xT3jJjGLI7J/y6/nBySkak+R/eWJU0eoTRwsMnKgI513GlGsNQCgFNjeHb6I2c6cxM4C8YTr5fEE+kK60FmIfpqipbiQKcTbV9vrNdvT7gGsjt5IgUmPrMjH5GzZtEORSUMdsMrBqH78bswWpVQZN2YddElqFAPRpCUl0bj57YiH4WdtaDg9+GgYlq1pGrxXwEd2u0GbanycVwD95WaOLwNcCn4/PD4v55HLZpE0t1BKJHhjpWggsZTSD5Vfa/IdWxtpsW1K9qcOJs7Nf4IFUZz2I7dBm6F8K//TCKlkhPGOzdpgi4xqALUuK9FJHJhlKr97FZjtb5x6cmu36uJoc1i+hQDo0nbVwb3g9LvNcjLQZXJ6kT10cF0CqC3gHBKkFBZuArd9gQf2gEPRMNvKS5V6fJbK4seAkE= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 355a2fcf-30ef-4dfd-f7bc-08d4806bccc5 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:MWHPR02MB2591; X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB2591; 3:+Yk1baEGmgdHTyxN3jnDSZrb3cUB+YAq3dNaI5iAbvnR/aKlf5pdxvwZoq7WwY+ujweoG7Q1RzENBeLeFyIHbA1d7z7lrgt5nxbYq6Ctm4FS2BIUVcH3eLKLAJlRjRMwomITu4fk4dvNHi5Dry+O5jMu3xtdIzfTQWj6WYsgPK4snq852z4tt+AUtEaUwnYwYdPyHqGpBmlBG60SjFG2hlPHgdt1WEGncLSHjbB1TZ3TDYhUoaSYwdG8Pj5wUWMxNX0d/5tzBPC/tEqVFNMuDNS5JOXM04PCtOcZM4E33dh6siwinPmEDctAkUF6Nw+LPKZvpY8EiUZhkIL96urgsqLTX8GvwQH0GCXuY7nq+2LftlX/XxOuCgZIeP8+PQFanPXdl79eZpkGFnNsCm4fbUei91x8QFkB9TduH81lVarGlnXKDoZESc/d81vtd1ksEhKptfnacQFMWk8fSaK2eboPObnFJ0dj+b7ABSzIB5dCF+WofxX5/95kf4Bb2rePSUQFLptjSMQ1FdRvkI+urw== X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB2591; 25:T/Fidsj7Oxm0suNprhRYnxuxirSMk2fDi1FDm9QNSUZqCkRAd+E0NjovgTw3Yjo3aajGGs6jkGMzV1EZ9bai8OmCOxCvLqyzn8lrgB22xh7yOHA0ccBN5VdrERQjMEO9e5EY8appQHvl6mjiULboX7x0IBh6WDgKzmpRD/tdTHV73wY+CCm340rH8YPJm5pHW0jNZPV3Y8SEoaqzDU31G6ArhTeBf5FTvPfY+jai5yVbkqRAL/Jz0vvWjHfaFnRlMOnrlr1NmjKbVleOI2XvU58uzFifUCU89I1sdtxryJ231a7a8Wl0VtUlTQCsaJzX5V/ywrk2j1fEjkwjUJDthjDGH3jRbk4/6tUNOx/Rx56p5vtd6q3hb7wMj9mawhhZ6lGPfwECG8Xp7ffD0P1Hx5SyttzUOt5fEoi+p4qNt/p7zvpqO5B16dydmC94ElHYRPUX8YY2tH5PqNnyGM/eVw==; 31:AJS+6ID0Dqux4jCnmh1uEXUXZPLW0xaxlHfKKeRoPn7AummxmZnw0ANEC8wKE+Uq69yUFAgyUj7D0tsy47QIB96w7YCkqA1yUaJthK7Iz9gZCLwE4JfLdsYjZR2gKcu17PjExGu6Z92blcZtmKwBLL0a90XxKobznUY+BJh2C9zCaeR3K2XmdrNPS+G8RVnTefdnN9yag9TWZCIM2z2Io6SeorHyAZw0EDJ9ki4ZFQZZlGBTZ5oeG1noH9+jNPo/8dCLZfHsTzT3EQJ+6lLaOQ== X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB2591; 20:clM8jSd7zbLPMsDgVxIOvrY+PDuYddGitXSj8ZAbw6lcMegEcmQddI3mbfK2L6lb2DjN178Hw9l2MMnowwYNHAurIGy3B/BJI+E17T4guxDYzyVbjOZpaYndyzisch7fNixA6A86uOqnaxNsvS1Xsfr7NIQkxJSwv84r1NZQCNG5pJZOAsDYrlwVBNwl/KfC7T0JY/o19Vmp/hBtz+CL7jkqh+uu2TQJKHj8+ZV7cILJ5Bxqbzph0gzBqWas/enTQq+W6WjJUvOxcWeatertJEMZdTJsQnbOwoUppxK2ulttvUYjSVQkxX5oybqXbjhTp3jWY3CMQ3uQvfSvHh6z4Itkv3jRYFlD2VRUGVW6KCbLs2QxNHrfm/TMEKnOzkPblLdx5AUtYypD+/Ubjj3ebeJ5xL4X+6RBq1TZnLsBR4uCpJczq7ZHIG8sPGxiTOlWZVj84KXO2FopfRbydhUKSDZqu4UKuJNs+zjmHJn0y9N8Epbc8tpVPlv8DyJv6Qs9 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592)(17755550239193); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13015025)(8121501046)(5005006)(13017025)(13018025)(13024025)(13023025)(3002001)(10201501046)(93006095)(93004095)(6055026)(6041248)(20161123562025)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(20161123560025)(6072148); SRVR:MWHPR02MB2591; BCL:0; PCL:0; RULEID:; SRVR:MWHPR02MB2591; X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB2591; 4:vdn2DBPm30T2e/5aDm5YIR3eI3yIqzm/6tpeKN6vA9zgI1BF3x5LQ4t+taSpJ5VPdislSM6fVslafR5h4iynx2FEsXqDGDiEj7DYk9Nz6/tPXlqma2LRzP3B9g8IRtl5SYe0Ys/PdMOPKiAvCt6fxU+CmqvNSo6WUoB37VnQub1mE4sXLngnkGMTfOPh9BvO6YkO3ClU8AaCzSJwGALyfkV4MRrbFCNryoVlKux+JN/zwG1qp1Yu+46KRAxAgNJaiULmjxk/EKJBn6Pfkf1gYZ09aIhDf8zTyN/PtfN0uSOEOeXl9HIcv+ScwSaWwbpPr4VlPHBi+k1h9GhllIslZnNQhJE7us+53nXmWcel0XjAjjTrpYPP5qPHc9gXVmrK8T7Dt5tUniMt2kUrw3caBuHEI6VVUv+ocXqPcYrIfgsyBikT3dHqrEdNbZT/cxagaTaVq4JdZhsBB6x7mEYxYqogkrFje8sBlFytCZcIhwYKMLGUQVVMAu9t0wPqgd9W9IWV9b2yL20ywVRe0PucTtk2E+OxxL55JDGhqRRkbnTY2I9FsStBOwfqLY3p8PEfoSwRpoxpH5s9vSornDAulYVyvi9lxmGuUTD2PnXXVHqQsMPx6ngoRqXpcvTyG9bcHj0DUCwquajv+lwpPrbbKx6dAVSJnF0Esl4dxuh5Ss5Dq4yyMXWKSSjw+kAUtzDDRSETZq/My2dpeTlNvTdGag9jwo48ISKsVvVXIjeScnAj5MiEccn/Rk536U5H3xWb9IsQ0QbwoJS1YmwPTwQxsKnCxVpfDM+xjr3kGuMUjZoCnv+vF0URTgv1GlngoWiolAGRxQV40+a/maB1b4SjTnufy5+SkilWYG4EblUQJdoycqaek/PMa9lGM9NhrFEuht+yejGi+wqoo0TrRrAm+hWa4hfhjZvRc8dYvUkcoEc= X-Forefront-PRVS: 027367F73D X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR02MB2591; 23:VmnLE3fUD6U5fUjTT9yJ2TvBgFXJkKZLdPERcGIuj?= =?us-ascii?Q?YS4Z4XnNZ0Xm86OlgQN9ix/Dp0nIifRjr8pp+vka0oL9leHuUVs23JU+CJtj?= =?us-ascii?Q?oQEsx6b74i5v85CurhnbTbMOv8GijR1VTAU0te+KtUC03lBEmmBb87dM0qfg?= =?us-ascii?Q?JZF3Ty5aV3VF6fZz6AngbI2jSmpMIRDYlCuuDdb7Zgr6EepfpABNyOWNu+ii?= =?us-ascii?Q?msSe/ZZMrtyEMU6Tv1CVwubiNp7eyYcG8Knth5Bixg8lQXvrhJSXeqvaRtp2?= =?us-ascii?Q?Jagr9YsQ+SfW/uVMKa2pEolvJGmMw3YN2M0WHPXFHUv6ko6PZsfPG8uPBjB0?= =?us-ascii?Q?zdm/nnDQK73AZ2f+jZ7ihy12Gblkr5EA19n7uk2YeGVeatjFxNHKYHo/dVoS?= =?us-ascii?Q?7E0df0FYVmltCgpD2PAZxMt76wvpK51Ub18qaMk00lv+z6PRIvLz63FSxXId?= =?us-ascii?Q?BF/lxl6cfQVz7E/VSG70Gs4suSkz6xwnyEDYPKRtPAb8oOXJifLKOB7m1Deg?= =?us-ascii?Q?02CDkeIOdDdzeCjic7nXwDefS91JGqPymZG2SBV3xLBHNciIkzMPiPsbFV12?= =?us-ascii?Q?rvf1+qzUKWulEONRd9BA0rrun90Jt7YwXwvO5n58Iv7XAOFEVwKWynflPtnP?= =?us-ascii?Q?5ZDuP9EnxZxn3VVr1rR+HNQJPA2Vdr9iK8oHhRVvpT1OJjEcj8EMH+cDVXY8?= =?us-ascii?Q?IdMGtrqUWHT17o8iB3oeCxzkVi83RqKXl85HDj1tGvK66nEfn+HGVLMRnjkS?= =?us-ascii?Q?zMxIuT6yYm88j/jBmf17ABFBiioqcnNXKZa/cC93YEYRnEemMoqZGTAn7P2T?= =?us-ascii?Q?lwTfO+iwW1JAh0/5+wQstpzexxz9tUoRGHp8iuOdNOeOy5cD/vFV294krkeF?= =?us-ascii?Q?7b0FPScqex9CNWveIeuvfVLWn+tcK7kS76Tj0c5Y2NxXCLo23QRjfzfvn5pn?= =?us-ascii?Q?D5YOfNOyVFaHC8eI8gmotv8DIYocIFgVPj4KDk354y2c6JzEYWrYweaPvFda?= =?us-ascii?Q?Ve+ba1JI1AByuKPsqjUt+QIFvi/fZkiJVsVNn5NHN5gCyYIQvDgXka5f+IWU?= =?us-ascii?Q?hUl46IWlQeZp/iJ8o+z+pk4yvt0?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB2591; 6:TRWha9dex/c38YQyLKovB5+AhTfPOYuqoanifY8QLFPR4WBPKbQKOrRrUfzZR7gDCaYrBJ1GC9tCfWfSEJLuwBoGYief2s8cWgNGA0Hwd0DHUTbZ+3AfuxIqu2k5p9VlDdUtdT2i+G5kyVCJRIQwR7bjqWS0rfhV4ba+zaLnVuWH6/5BneLHZsK0AUBTGoOFvcwzs/WxRkjwMwSIW5L60z3JItEIGR6ohRghzmiQVKc7emavrBzLUD2z3GR5rWoE+6V9d1jxxEhLyoewmoEf4vfwPXcojNrFaTIHUw8XZbdJEjGHMooykQbHAc4WTbuyHSrRUJw8rXZeQ5ho0XPry6djmGMFxdmwO/ZrCI23YvxkCuPB31GO/YPPzf55Dym5EYia7bIOtUAtsAfvny/6KSFoJsgh36fZVznFrgl3um0bdWJdIKVQLPvCfZmBwhI2VQQ6Tauhkd1oaWAR8Uc/XPa91ySrrYaiwDgxLWI9UZI=; 5:7x9czFmiOT6qFhHN62u6dGsLgU77DpciyY9Qwrx9uXeACkJIEiix5EtF1sl1QV+mswv97G+wCWaiUYZSRxApj+TivLd+/G/y7qtKGlLPJjJbcP39no0XbNNnWuGl+6Yw19GyMY0Ov87kTD4+7Gy1EXxS7OB7gNbETq1jY/5SW1s=; 24:QH0G17zLoRLXFHPB3nhNDqO1Vpoj2ty8n80RWQW1Zw3i7WE0jCbQWcVV3xYTIooL+Vlz8NQofNJ/tMQYhKsuMVhICnQF38GBhG6jOQxuv9w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB2591; 7:jokRZybVuasL04udxpMHvOx0RTaNvfbwkzrvPq5FXqvezgj6bxad4xYL7WzeMPwBd7FJGnUHdDgobu0CyZOvCs62hgdCtaJNksx/894T9woSVKyzNsOHCKkZEa5GLJ+WDe4/xhhzQFtXrQjLWCGXnbr2CmlLy5XWjYn0OrjLQt+cXQhSKz3ZkkFrRWzTY/pVvmRl6upd/FgKENmWP7qi1wGK3M1+9c5jc9gqAM+C8k3LJadWMPkPNsMwl8lFU3hpRWVI2ChT4xxvdVrT9g5IYshTZ+MP67vdGhJQ9pR0e15QS5U5caaaHE5Wg2Bs1uyu39SCLsFPnT3awHGIBmlNTg== X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2017 23:46:24.9589 (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.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR02MB2591 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.33.64 Subject: [Qemu-devel] [PATCH v2 3/5] cadence_gem: Correct the interupt logic 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: alistair23@gmail.com, f4bug@amsat.org, alistair.francis@xilinx.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This patch fixes two mistakes in the interrupt logic. First we only trigger single-queue or multi-queue interrupts if the status register is set. This logic was already used for non multi-queue interrupts but it also applies to multi-queue interrupts. Secondly we need to lower the interrupts if the ISR isn't set. As part of this we can remove the other interrupt lowering logic and consolidate it inside gem_update_int_status(). Signed-off-by: Alistair Francis --- hw/net/cadence_gem.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c index a66a9cc..fc3a184 100644 --- a/hw/net/cadence_gem.c +++ b/hw/net/cadence_gem.c @@ -509,7 +509,18 @@ static void gem_update_int_status(CadenceGEMState *s) { int i; =20 - if ((s->num_priority_queues =3D=3D 1) && s->regs[GEM_ISR]) { + if (!s->regs[GEM_ISR]) { + /* ISR isn't set, clear all the interrupts */ + for (i =3D 0; i < s->num_priority_queues; ++i) { + qemu_set_irq(s->irq[i], 0); + } + return; + } + + /* If we get here we know s->regs[GEM_ISR] is set, so we don't need to + * check it again. + */ + if (s->num_priority_queues =3D=3D 1) { /* No priority queues, just trigger the interrupt */ DB_PRINT("asserting int.\n"); qemu_set_irq(s->irq[0], 1); @@ -1274,7 +1285,6 @@ static uint64_t gem_read(void *opaque, hwaddr offset,= unsigned size) { CadenceGEMState *s; uint32_t retval; - int i; s =3D (CadenceGEMState *)opaque; =20 offset >>=3D 2; @@ -1285,9 +1295,7 @@ static uint64_t gem_read(void *opaque, hwaddr offset,= unsigned size) switch (offset) { case GEM_ISR: DB_PRINT("lowering irqs on ISR read\n"); - for (i =3D 0; i < s->num_priority_queues; ++i) { - qemu_set_irq(s->irq[i], 0); - } + gem_update_int_status(s); break; case GEM_PHYMNTNC: if (retval & GEM_PHYMNTNC_OP_R) { --=20 2.9.3