From nobody Sun May 5 22:26:31 2024 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 (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1503861806960729.1538221658535; Sun, 27 Aug 2017 12:23:26 -0700 (PDT) Received: from localhost ([::1]:34513 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dm39Z-0003pF-OQ for importer@patchew.org; Sun, 27 Aug 2017 15:23:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50418) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dm37E-0002I0-Jz for qemu-devel@nongnu.org; Sun, 27 Aug 2017 15:21:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dm37B-0001zk-En for qemu-devel@nongnu.org; Sun, 27 Aug 2017 15:21:00 -0400 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:34851) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dm37B-0001zN-8I for qemu-devel@nongnu.org; Sun, 27 Aug 2017 15:20:57 -0400 Received: by mail-wm0-x243.google.com with SMTP id r187so4995105wma.2 for ; Sun, 27 Aug 2017 12:20:55 -0700 (PDT) Received: from solar.home (host86-161-47-41.range86-161.btcentralplus.com. [86.161.47.41]) by smtp.gmail.com with ESMTPSA id 63sm11712242wra.30.2017.08.27.12.20.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 27 Aug 2017 12:20:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=ks9N/f8EogfABe0Niz2UzQY4poxHnqJi2FF5vtciqN0=; b=YQ4dFdGyf5Oq1r04h7Rhq8OVj62gFJpPtpLN8aMl1s4ZXZXgtbwmLE3UFp77EDRO6r RfKqA4Ez+TJBEdpOgZqBayOcoT6N80OMBbaxaaGYu7ZDks+meqnqEOJ8zOShZ0Jju0et hlrIeH9ZWc1we2nZD0RuipwFLwYFC59pvYP2TBqgTOkhyf+o118CrImVIh9SQsecehN0 yO+UUEU3If65V81mUBAjCAAQzisf7fO8EzdWTNKUCY7SjNNZZGLv0WwUotZkW2hZ4Ckf VMxwmRCi4hhpN5cIl5XflLlHHk49UaZhvvBrEJXxf8jyb8+ka8Svle7qscMFp36g1Oo9 7zGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=ks9N/f8EogfABe0Niz2UzQY4poxHnqJi2FF5vtciqN0=; b=Tp5rs7LMcMiQQ7QkpwboF2WEbcLC6rv/xjZi0xhgjzefVaUNAQLUam/UTFoleUDoUq 4qJ6iP1BGOWo0vQWV20jJk6SrfoK+I21S0MYFT5G97Hbg5MLHpagJsr+amvi/cnzG9hF x1AVg2Om2KhyTZcXbM3RuMkhpYwqKOkOmVSm16sO4Gg0FyPCqaubnrAA00puiPgDzuKa Di980tGQ5jk0uYudQLabXcr0dLHcxTnY72uLn4l8e8HC5L7JWv42scAX1QDFPC471vta ku03xVDI5N234jBDoR9/rS6BVS+FQIG+bwBLNVUPSjCWC8GUPYJPXMmAt+HsYm9akoDY eFCA== X-Gm-Message-State: AHYfb5gbPihLZwzYcnrU3d2KtL0/cCesUzgGm8C6ttQ2r+CeFYb1BXrO KpMBEHZRaNBLvDMh X-Received: by 10.28.95.212 with SMTP id t203mr2248119wmb.56.1503861654626; Sun, 27 Aug 2017 12:20:54 -0700 (PDT) From: Matt Parker To: qemu-devel@nongnu.org Date: Sun, 27 Aug 2017 20:20:38 +0100 Message-Id: <20170827192038.28930-1-mtparkr@gmail.com> X-Mailer: git-send-email 2.13.2 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::243 Subject: [Qemu-devel] [PATCH v3] audio: intel-hda: do not use old_mmio accesses 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: kraxel@redhat.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 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" intel-hda is currently using the old_mmio accessors for io. This updates the device to use .read and .write accessors instead. Signed-off-by: Matt Parker --- v3: * use MAKE_64BIT_MASK --- hw/audio/intel-hda.c | 58 ++++++++++--------------------------------------= ---- 1 file changed, 11 insertions(+), 47 deletions(-) diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c index 06acc98f7b..18a50a8f83 100644 --- a/hw/audio/intel-hda.c +++ b/hw/audio/intel-hda.c @@ -22,6 +22,7 @@ #include "hw/pci/pci.h" #include "hw/pci/msi.h" #include "qemu/timer.h" +#include "qemu/bitops.h" #include "hw/audio/soundhw.h" #include "intel-hda.h" #include "intel-hda-defs.h" @@ -1043,66 +1044,29 @@ static void intel_hda_regs_reset(IntelHDAState *d) =20 /* --------------------------------------------------------------------- */ =20 -static void intel_hda_mmio_writeb(void *opaque, hwaddr addr, uint32_t val) +static void intel_hda_mmio_write(void *opaque, hwaddr addr, uint64_t val, + unsigned size) { IntelHDAState *d =3D opaque; const IntelHDAReg *reg =3D intel_hda_reg_find(d, addr); =20 - intel_hda_reg_write(d, reg, val, 0xff); + intel_hda_reg_write(d, reg, val, MAKE_64BIT_MASK(0, size * 8)); } =20 -static void intel_hda_mmio_writew(void *opaque, hwaddr addr, uint32_t val) +static uint64_t intel_hda_mmio_read(void *opaque, hwaddr addr, unsigned si= ze) { IntelHDAState *d =3D opaque; const IntelHDAReg *reg =3D intel_hda_reg_find(d, addr); =20 - intel_hda_reg_write(d, reg, val, 0xffff); -} - -static void intel_hda_mmio_writel(void *opaque, hwaddr addr, uint32_t val) -{ - IntelHDAState *d =3D opaque; - const IntelHDAReg *reg =3D intel_hda_reg_find(d, addr); - - intel_hda_reg_write(d, reg, val, 0xffffffff); -} - -static uint32_t intel_hda_mmio_readb(void *opaque, hwaddr addr) -{ - IntelHDAState *d =3D opaque; - const IntelHDAReg *reg =3D intel_hda_reg_find(d, addr); - - return intel_hda_reg_read(d, reg, 0xff); -} - -static uint32_t intel_hda_mmio_readw(void *opaque, hwaddr addr) -{ - IntelHDAState *d =3D opaque; - const IntelHDAReg *reg =3D intel_hda_reg_find(d, addr); - - return intel_hda_reg_read(d, reg, 0xffff); -} - -static uint32_t intel_hda_mmio_readl(void *opaque, hwaddr addr) -{ - IntelHDAState *d =3D opaque; - const IntelHDAReg *reg =3D intel_hda_reg_find(d, addr); - - return intel_hda_reg_read(d, reg, 0xffffffff); + return intel_hda_reg_read(d, reg, MAKE_64BIT_MASK(0, size * 8)); } =20 static const MemoryRegionOps intel_hda_mmio_ops =3D { - .old_mmio =3D { - .read =3D { - intel_hda_mmio_readb, - intel_hda_mmio_readw, - intel_hda_mmio_readl, - }, - .write =3D { - intel_hda_mmio_writeb, - intel_hda_mmio_writew, - intel_hda_mmio_writel, - }, + .read =3D intel_hda_mmio_read, + .write =3D intel_hda_mmio_write, + .impl =3D { + .min_access_size =3D 1, + .max_access_size =3D 4, }, .endianness =3D DEVICE_NATIVE_ENDIAN, }; --=20 2.13.2