From nobody Tue Feb 10 03:38:22 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) client-ip=209.85.221.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1603301717; cv=none; d=zohomail.com; s=zohoarc; b=mKwu76/g+qFAozAfO8eD4+mbKt3qlQjGbnYmnhVD7ICYMRhGVtfBj++DKGt9uRN6cIPnwOuc7esXzSKcuhr+xF9B6lLofhJygquKmLoJ7d/bcOxbM15w0iphO87uErMbQG5CqBPNZBkuapkFUIzXHMbEiB+XBH/O/7726wMrNZ8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603301717; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/ytGsokUFsJElQ21X2X5EL4wzQhSW3vyhSdpuBM3Iy0=; b=RB8xqAhRsrvjaGvURA/zJSe6H8sY8WKV8qcatlo/M76epw2DU8RP+fxj42xugsBvbF34X63W0XDkdUsCV6IAnVZjSbyVSFlD4Ll7QWhVjNDz2ufJzK5KoHyDRowntR/TxET2XXiiPMAgVUqSdIMqZGuP+MGGbZ3WAQfb8lLpf0s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by mx.zohomail.com with SMTPS id 1603301717871420.9336095119613; Wed, 21 Oct 2020 10:35:17 -0700 (PDT) Received: by mail-wr1-f49.google.com with SMTP id y12so4005355wrp.6 for ; Wed, 21 Oct 2020 10:35:17 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id b63sm4643367wme.9.2020.10.21.10.35.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Oct 2020 10:35:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/ytGsokUFsJElQ21X2X5EL4wzQhSW3vyhSdpuBM3Iy0=; b=nbqb3u28VHRphmKZEzSFjsdEdoWb6g510uG/iCvddSmNhxu0cAi71HdNQtp486yHFg 6Wj7B5GJrJTFwn9RAIVi1ymprnLRIAYv1T4bqrAwRv1UqcxZgAG21dUxvtQ8oweWAfnP YKAk6NjgNzWn6ZR9gp/YwYtB2O35FLeMkW+DCgBX7FrKPtOSLR7+Kjn93ZNNHYIURQ2g tW61TFHYTGy1K7Z8A0Wk+7xtDgedGmVR/mtLAZ4dAhFi2ETCYSGJeDBNK61qiA5wqo1+ yffuZeUumRsDjez4FOitRw8p+RmOC2MwJKecNK+NtZajJEHZvY/O1aRblFJ+Wvdabrfl jNBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=/ytGsokUFsJElQ21X2X5EL4wzQhSW3vyhSdpuBM3Iy0=; b=mIu9BaDwa4SgewxaPNikc1UorgbcGfhDXRrPtOT/UZkrYCgSYNaf6e8ps3t0Y3aXg6 ASONjBaBOFNuO/Aa+jYLUmk+FIRgaIEuf4LtiwlK6LNNE9DITeIwsudZGen6VbyYRYP7 iI02ByyX7aqjBGRXDXU47qHKJbLqzDQPW2ZV7vuGE6n15iidjeFI0XUFsLQSvhF+sHw2 1AciVvMq8ApbhEs5iMv3qhM1b56oQ5cp3Zt0INVsO7n6OULcIaiQtpfiV2Rur9sS7l0T IwwjCDfKaNU0mdI0ieNyWdh9am4+Icl0oQnpVOoLLhBOhKNO7gzDTaTkZog9veEF02gU gPCw== X-Gm-Message-State: AOAM531FwJeBo/hxMRp48t9og2bkcWt2/dAdQvxw442Q0IgxWLR4zCdK Cm9Ey5VeUxyTclRFtkxc/5c= X-Google-Smtp-Source: ABdhPJw3Ykui0kKbtPN1zUJZUG2Lfz3PHxhrCmEw/cYAMRh3lABSC4TWJVB9VWK/qq2adF9/6VbPcA== X-Received: by 2002:adf:f810:: with SMTP id s16mr5758443wrp.424.1603301716086; Wed, 21 Oct 2020 10:35:16 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Alexander Bulekov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 05/13] hw/sd/sdhci: Resume pending DMA transfers on MMIO accesses Date: Wed, 21 Oct 2020 19:34:42 +0200 Message-Id: <20201021173450.2616910-6-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201021173450.2616910-1-f4bug@amsat.org> References: <20201021173450.2616910-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) If we have pending DMA requests scheduled, process them first. So far we don't need to implement a bottom half to process them. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Alexander Bulekov Message-Id: <20200903172806.489710-3-f4bug@amsat.org> --- hw/sd/sdhci.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 61e469bd32f..4db77decf87 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -948,11 +948,21 @@ sdhci_buff_access_is_sequential(SDHCIState *s, unsign= ed byte_num) return true; } =20 +static void sdhci_resume_pending_transfer(SDHCIState *s) +{ + timer_del(s->transfer_timer); + sdhci_data_transfer(s); +} + static uint64_t sdhci_read(void *opaque, hwaddr offset, unsigned size) { SDHCIState *s =3D (SDHCIState *)opaque; uint32_t ret =3D 0; =20 + if (timer_pending(s->transfer_timer)) { + sdhci_resume_pending_transfer(s); + } + switch (offset & ~0x3) { case SDHC_SYSAD: ret =3D s->sdmasysad; @@ -1096,6 +1106,10 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t va= l, unsigned size) uint32_t value =3D val; value <<=3D shift; =20 + if (timer_pending(s->transfer_timer)) { + sdhci_resume_pending_transfer(s); + } + switch (offset & ~0x3) { case SDHC_SYSAD: s->sdmasysad =3D (s->sdmasysad & mask) | value; --=20 2.26.2