[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 12/17] sdhci: use FIELD_DP32() macro for the WRIT
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH v4 12/17] sdhci: use FIELD_DP32() macro for the WRITE_PROTECT flag |
Date: |
Wed, 3 Jan 2018 08:01:21 -0300 |
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/sd/sdhci-internal.h | 6 ++++--
hw/sd/sdhci.c | 8 ++------
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h
index e941bc2386..df240ea046 100644
--- a/hw/sd/sdhci-internal.h
+++ b/hw/sd/sdhci-internal.h
@@ -24,6 +24,8 @@
#ifndef SDHCI_INTERNAL_H
#define SDHCI_INTERNAL_H
+#include "hw/registerfields.h"
+
/* R/W SDMA System Address register 0x0 */
#define SDHC_SYSAD 0x00
@@ -77,8 +79,8 @@
#define SDHC_SPACE_AVAILABLE 0x00000400
#define SDHC_DATA_AVAILABLE 0x00000800
#define SDHC_CARD_PRESENT 0x00010000
-#define SDHC_CARD_DETECT 0x00040000
-#define SDHC_WRITE_PROTECT 0x00080000
+FIELD(SDHC_PRNSTS, CARD_DETECT, 18, 1);
+FIELD(SDHC_PRNSTS, WRITE_PROTECT, 19, 1);
#define TRANSFERRING_DATA(x) \
((x) & (SDHC_DOING_READ | SDHC_DOING_WRITE))
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index dd42820a38..586db181e3 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -160,12 +160,8 @@ static void sdhci_set_readonly(DeviceState *dev, bool
level)
{
SDHCIState *s = (SDHCIState *)dev;
- if (level) {
- s->prnsts &= ~SDHC_WRITE_PROTECT;
- } else {
- /* Write enabled */
- s->prnsts |= SDHC_WRITE_PROTECT;
- }
+ /* Write enabled */
+ s->prnsts = FIELD_DP32(s->prnsts, SDHC_PRNSTS, WRITE_PROTECT, level);
}
static void sdhci_reset(SDHCIState *s)
--
2.15.1
- [Qemu-devel] [PATCH v4 02/17] sdhci: sort registers comments, (continued)
- [Qemu-devel] [PATCH v4 02/17] sdhci: sort registers comments, Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 04/17] sdhci: refactor same sysbus/pci properties into a common one, Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 05/17] sdhci: refactor common sysbus/pci class_init() into sdhci_class_init(), Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 07/17] sdhci: refactor common sysbus/pci unrealize() into sdhci_unrealizefn(), Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 06/17] sdhci: refactor common sysbus/pci realize() into sdhci_realizefn(), Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 08/17] sdhci: use qemu_log_mask(UNIMP) instead of fprintf(), Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 09/17] sdhci: convert the DPRINT() calls into trace events, Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 10/17] sdhci: add a GPIO for the 'access control' LED, Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 11/17] sdhci: move MASK_TRNMOD with other SDHC_TRN* defines in "sd-internal.h", Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 12/17] sdhci: use FIELD_DP32() macro for the WRITE_PROTECT flag,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH v4 13/17] sdhci: rename the SDHC_CAPAB register, Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 14/17] sdhci: fix CAPAB/MAXCURR registers, both are 64bit and read-only, Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 15/17] sdhci: Implement write method of ACMD12ERRSTS register, Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 16/17] sdhci: use deposit64() on admasysaddr, Philippe Mathieu-Daudé, 2018/01/03
- [Qemu-devel] [PATCH v4 17/17] sdhci: add a "dma-memory" property, Philippe Mathieu-Daudé, 2018/01/03
- Re: [Qemu-devel] [PATCH v4 00/17] SDHCI: housekeeping, no-reply, 2018/01/03