[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 3/4] sd: sdhci: conditionally invoke multi bl
From: |
Alistair Francis |
Subject: |
Re: [Qemu-devel] [PATCH v3 3/4] sd: sdhci: conditionally invoke multi block transfer |
Date: |
Mon, 13 Feb 2017 11:55:39 -0800 |
On Sat, Feb 11, 2017 at 7:07 AM, P J P <address@hidden> wrote:
> From: Prasad J Pandit <address@hidden>
>
> In sdhci_write invoke multi block transfer if it is enabled
> in the transfer mode register 's->trnmod'.
>
> Signed-off-by: Prasad J Pandit <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Thanks,
Alistair
> ---
> hw/sd/sdhci.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> Update: test if (s->trnmod & SDHC_TRNS_MULTI) is true
> -> https://lists.gnu.org/archive/html/qemu-devel/2017-02/msg02357.html
>
> diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
> index 0307b8c..99fa0c7 100644
> --- a/hw/sd/sdhci.c
> +++ b/hw/sd/sdhci.c
> @@ -1022,7 +1022,11 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val,
> unsigned size)
> /* Writing to last byte of sdmasysad might trigger transfer */
> if (!(mask & 0xFF000000) && TRANSFERRING_DATA(s->prnsts) &&
> s->blkcnt &&
> s->blksize && SDHC_DMA_TYPE(s->hostctl) == SDHC_CTRL_SDMA) {
> - sdhci_sdma_transfer_multi_blocks(s);
> + if (s->trnmod & SDHC_TRNS_MULTI) {
> + sdhci_sdma_transfer_multi_blocks(s);
> + } else {
> + sdhci_sdma_transfer_single_block(s);
> + }
> }
> break;
> case SDHC_BLKSIZE:
> --
> 2.9.3
>