From nobody Tue Feb 10 02:43:28 2026 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.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 (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513195641252697.9511734207407; Wed, 13 Dec 2017 12:07:21 -0800 (PST) Received: from localhost ([::1]:37397 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDJ3-0008TE-ED for importer@patchew.org; Wed, 13 Dec 2017 15:07:05 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57591) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDBf-0002i4-BJ for qemu-devel@nongnu.org; Wed, 13 Dec 2017 14:59:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDBb-0005Rm-OJ for qemu-devel@nongnu.org; Wed, 13 Dec 2017 14:59:27 -0500 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:41385) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDBb-0005Rc-Jk for qemu-devel@nongnu.org; Wed, 13 Dec 2017 14:59:23 -0500 Received: by mail-qk0-x244.google.com with SMTP id 84so3515202qks.8 for ; Wed, 13 Dec 2017 11:59:23 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id o5sm1518876qtc.72.2017.12.13.11.59.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 11:59:22 -0800 (PST) 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=eXxodLdNPeLpc3jtX0IMV2nL8CvnhliZv2lDsYziGto=; b=HRhft/r7vLNaVHblmHIk2EWxb2uKMML6tFkeotnIVXNZHH61GJCBno66uoLhoB0rDB K0fymA1KKjVR4DjchR5rq8yxROZkUSEBjFWUtq5RAm8wjI1LsLJktARlk4pqzaKyaBY2 Or+IctcEGLL0EmsQ3mri+f3PTjVY9Ymp7e+tzFMa0pfU0j0KKTGEW59Ru4BKV0sx/Ax4 4AAWFw+q+Rmed9bBw7v5I+6rl2TSlLMDFedg2gx1gJKdi2xDjoYQeqkWfSmqRLahLQZ8 F5h7FMSh8FSicpEiHELbMEZJNNf5q74Idwnm4hAMZyoP56pRZQ9adCFzUbwoM9Pw8qpH 2LTw== 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=eXxodLdNPeLpc3jtX0IMV2nL8CvnhliZv2lDsYziGto=; b=Dymkvp25TUksOPjs4N2KzA/MnNL4TLFE7zS4nw0ds8B+xWg9yVSb/SjWTfBjrUVy5W 5ugBQMLt37Dj6r3j2qKUqIZzIVQMzGbyxcxqZmrZXqfUo+Orj7w6TNqdfotN1fXtSEmB fnvOEkYMlSBueA3LZxmBh/qqCN5yPaem1xUhgHxgDuEhgk5qKMO91KmP/hwfGc7dtCMU lcypARkZpge38iEUK8Xg8n733Y+smW129X4s4MXfxx/XrpCunEKOOLPeqPdxWCf/Gm8/ v+BlvYWCxHAoIVSDzaif1PnhX2erV6SN+12BbMj1ahpxCjFh3NzrkgZqlUPHmg8x1N/u vcEw== X-Gm-Message-State: AKGB3mJG1wNT9oOA4yJLw73Ey7iaVaxt+o7O55J6N0alyu5B+6tF8ulm sD+AD73nOun5oSMzDzdr7Hc= X-Google-Smtp-Source: ACJfBovdM8iB1nnMzAaSzCm9jKrhkzmXkAasTJAQYlDGiLGjCjVxUuhuRzBZedHD9tjFn8LlQad+iw== X-Received: by 10.55.129.199 with SMTP id c190mr12786454qkd.145.1513195162995; Wed, 13 Dec 2017 11:59:22 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Wed, 13 Dec 2017 16:58:41 -0300 Message-Id: <20171213195852.30439-4-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213195852.30439-1-f4bug@amsat.org> References: <20171213195852.30439-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::244 Subject: [Qemu-devel] [PATCH 03/14] sdhci: use the ldst_le_dma() API 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org 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 This makes the code slightly safer, also easier to review. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 312b167bfa..e39623baba 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -603,14 +603,12 @@ typedef struct ADMADescr { =20 static void get_adma_description(SDHCIState *s, ADMADescr *dscr) { - uint32_t adma1 =3D 0; - uint64_t adma2 =3D 0; + uint32_t adma1; + uint64_t adma2; hwaddr entry_addr =3D (hwaddr)s->admasysaddr; switch (SDHC_DMA_TYPE(s->hostctl)) { case SDHC_CTRL_ADMA2_32: - dma_memory_read(&address_space_memory, entry_addr, (uint8_t *)&adm= a2, - sizeof(adma2)); - adma2 =3D le64_to_cpu(adma2); + adma2 =3D ldq_le_dma(&address_space_memory, entry_addr); /* The spec does not specify endianness of descriptor table. * We currently assume that it is LE. */ @@ -620,9 +618,7 @@ static void get_adma_description(SDHCIState *s, ADMADes= cr *dscr) dscr->incr =3D 8; break; case SDHC_CTRL_ADMA1_32: - dma_memory_read(&address_space_memory, entry_addr, (uint8_t *)&adm= a1, - sizeof(adma1)); - adma1 =3D le32_to_cpu(adma1); + adma1 =3D ldl_le_dma(&address_space_memory, entry_addr); dscr->addr =3D (hwaddr)(adma1 & 0xFFFFF000); dscr->attr =3D (uint8_t)extract32(adma1, 0, 7); dscr->incr =3D 4; @@ -633,14 +629,9 @@ static void get_adma_description(SDHCIState *s, ADMADe= scr *dscr) } break; case SDHC_CTRL_ADMA2_64: - dma_memory_read(&address_space_memory, entry_addr, - (uint8_t *)(&dscr->attr), 1); - dma_memory_read(&address_space_memory, entry_addr + 2, - (uint8_t *)(&dscr->length), 2); - dscr->length =3D le16_to_cpu(dscr->length); - dma_memory_read(&address_space_memory, entry_addr + 4, - (uint8_t *)(&dscr->addr), 8); - dscr->attr =3D le64_to_cpu(dscr->attr); + dscr->attr =3D ldub_dma(&address_space_memory, entry_addr); + dscr->length =3D lduw_le_dma(&address_space_memory, entry_addr + 2= ); + dscr->attr =3D ldq_le_dma(&address_space_memory, entry_addr + 4); dscr->attr &=3D 0xfffffff8; dscr->incr =3D 12; break; --=20 2.15.1