qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH v1 1/2] sd: sdhci: Delete over-zealous power che


From: Sai Pavan Boddu
Subject: Re: [Qemu-block] [PATCH v1 1/2] sd: sdhci: Delete over-zealous power check
Date: Mon, 30 Nov 2015 05:46:20 +0000


> -----Original Message-----
> From: Peter Crosthwaite [mailto:address@hidden
> Sent: Sunday, November 29, 2015 2:21 AM
> To: address@hidden; address@hidden
> Cc: Sai Pavan Boddu; address@hidden; Peter Crosthwaite
> Subject: [PATCH v1 1/2] sd: sdhci: Delete over-zealous power check
> 
> This check was conditionalising SD card operation on the card being
> powered by the SDHCI host controller. It is however possible
> (particularly in embedded systems) for the power control of the SD card
> to be managed outside of SDHCI. This can be as trivial as hard-wiring
> the SD slot VCC to a constant power-rail.
> 
> This means the guest SDHCI can validly opt-out of the SDHCI power
> control feature while still using the card. So delete this check to
> allow operation of the card with SDHCI power control.
> 
> This is needed for at least Xilinx Zynq and also makes Freescale i.MX25
> work for me. The digilent Zybo board has a public schematic
> which shows SD VCC hardwiring:
> 
> http://digilentinc.com/Data/Products/ZYBO/ZYBO_sch_VB.3.pdf
> bottom of page 3.
> 
> Signed-off-by: Peter Crosthwaite <address@hidden>
Patch is good with the change.

Reviewed-by: Sai Pavan Boddu <address@hidden>

Thanks,
Sai Pavan


> ---
> 
>  hw/sd/sdhci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
> index d70d1a6..ed536ee 100644
> --- a/hw/sd/sdhci.c
> +++ b/hw/sd/sdhci.c
> @@ -831,7 +831,7 @@ static void sdhci_data_transfer(void *opaque)
> 
>  static bool sdhci_can_issue_command(SDHCIState *s)
>  {
> -    if (!SDHC_CLOCK_IS_ON(s->clkcon) || !(s->pwrcon & SDHC_POWER_ON) ||
> +    if (!SDHC_CLOCK_IS_ON(s->clkcon) ||
>          (((s->prnsts & SDHC_DATA_INHIBIT) || s->stopped_state) &&
>          ((s->cmdreg & SDHC_CMD_DATA_PRESENT) ||
>          ((s->cmdreg & SDHC_CMD_RESPONSE) == SDHC_CMD_RSP_WITH_BUSY &&
> --
> 1.9.1




reply via email to

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