[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v8 07/17] sdhci: add init_readonly_registers() to in
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH v8 07/17] sdhci: add init_readonly_registers() to initialize the CAPAB register |
Date: |
Thu, 18 Jan 2018 15:30:58 -0300 |
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/sd/sdhci.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index 8c9c0fbc2a..caf5e5a1b4 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -1174,12 +1174,19 @@ static inline unsigned int sdhci_get_fifolen(SDHCIState
*s)
}
}
+static void sdhci_init_readonly_registers(SDHCIState *s, Error **errp)
+{
+ if (s->capareg == UINT64_MAX) {
+ s->capareg = SDHC_CAPAB_REG_DEFAULT;
+ }
+}
+
/* --- qdev common --- */
#define DEFINE_SDHCI_COMMON_PROPERTIES(_state) \
- /* Capabilities registers provide information on supported features
- * of this specific host controller implementation */ \
- DEFINE_PROP_UINT64("capareg", _state, capareg, SDHC_CAPAB_REG_DEFAULT), \
+ /* deprecated: Capabilities registers provide information on supported
+ * features of this specific host controller implementation */ \
+ DEFINE_PROP_UINT64("capareg", _state, capareg, UINT64_MAX), \
DEFINE_PROP_UINT64("maxcurr", _state, maxcurr, 0)
static void sdhci_initfn(SDHCIState *s)
@@ -1204,6 +1211,13 @@ static void sdhci_uninitfn(SDHCIState *s)
static void sdhci_common_realize(SDHCIState *s, Error **errp)
{
+ Error *local_err = NULL;
+
+ sdhci_init_readonly_registers(s, &local_err);
+ if (local_err) {
+ error_propagate(errp, local_err);
+ return;
+ }
s->buf_maxsz = sdhci_get_fifolen(s);
s->fifo_buffer = g_malloc0(s->buf_maxsz);
--
2.15.1
- [Qemu-devel] [PATCH v8 00/17] SDHCI: clean v1/v2 Specs (part 2), Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 01/17] sdhci: use error_propagate(local_err) in realize(), Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 02/17] sdhci: add qtest to check the SD capabilities register, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 03/17] sdhci: add check_capab_readonly() qtest, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 04/17] sdhci: add a check_capab_baseclock() qtest, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 05/17] sdhci: add a check_capab_sdma() qtest, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 06/17] sdhci: add qtest to check the SD Spec version, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 07/17] sdhci: add init_readonly_registers() to initialize the CAPAB register,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH v8 08/17] sdhci: add a 'spec_version property' (default to v2), Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 09/17] sdhci: add basic Spec v1 capabilities, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 10/17] sdhci: add max-block-length capability (Spec v1), Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 13/17] sdhci: Fix 64-bit ADMA2, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 15/17] hw/arm/xilinx_zynq: implement SDHCI Spec v2, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 16/17] hw/arm/exynos4210: implement SDHCI Spec v2, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v8 17/17] sdhci: throw an error if capabilities are incorrectly configured, Philippe Mathieu-Daudé, 2018/01/18