qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v5 12/17] sdhci: use FIELD_DP32() macro for the


From: Alistair Francis
Subject: Re: [Qemu-devel] [PATCH v5 12/17] sdhci: use FIELD_DP32() macro for the WRITE_PROTECT flag
Date: Thu, 4 Jan 2018 09:54:53 -0800

On Wed, Jan 3, 2018 at 10:08 AM, Philippe Mathieu-Daudé <address@hidden> wrote:
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>

Reviewed-by: Alistair Francis <address@hidden>

Alistair

> ---
>  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 ede51d7e45..2c8dc66e7a 100644
> --- a/hw/sd/sdhci.c
> +++ b/hw/sd/sdhci.c
> @@ -159,12 +159,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
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]