diff options
author | Philippe Mathieu-Daudé <f4bug@amsat.org> | 2018-02-08 13:47:57 -0300 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2018-02-13 16:15:07 +0100 |
commit | 09b738ff653665dfcc646f6293998b490ca7f54e (patch) | |
tree | 897a620ead0c5c4a510c791ebc05dd35b8bb853d /hw/sd/sdhci.c | |
parent | aa164fbff3fef9e2815d5782dd063a3d32153af6 (diff) | |
download | qemu-09b738ff653665dfcc646f6293998b490ca7f54e.zip qemu-09b738ff653665dfcc646f6293998b490ca7f54e.tar.gz qemu-09b738ff653665dfcc646f6293998b490ca7f54e.tar.bz2 |
sdhci: simplify sdhci_get_fifolen()
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Message-Id: <20180208164818.7961-10-f4bug@amsat.org>
Diffstat (limited to 'hw/sd/sdhci.c')
-rw-r--r-- | hw/sd/sdhci.c | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 491e624..f22ed91 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -58,6 +58,11 @@ */ #define SDHC_CAPAB_REG_DEFAULT 0x057834b4 +static inline unsigned int sdhci_get_fifolen(SDHCIState *s) +{ + return 1 << (9 + FIELD_EX32(s->capareg, SDHC_CAPAB, MAXBLOCKLENGTH)); +} + static uint8_t sdhci_slotint(SDHCIState *s) { return (s->norintsts & s->norintsigen) || (s->errintsts & s->errintsigen) || @@ -1118,21 +1123,6 @@ static const MemoryRegionOps sdhci_mmio_ops = { .endianness = DEVICE_LITTLE_ENDIAN, }; -static inline unsigned int sdhci_get_fifolen(SDHCIState *s) -{ - switch (SDHC_CAPAB_BLOCKSIZE(s->capareg)) { - case 0: - return 512; - case 1: - return 1024; - case 2: - return 2048; - default: - hw_error("SDHC: unsupported value for maximum block size\n"); - return 0; - } -} - static void sdhci_init_readonly_registers(SDHCIState *s, Error **errp) { if (s->sd_spec_version != 2) { |