All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Hogan <james@albanarts.com>
To: Jaehoon Chung <jh80.chung@samsung.com>
Cc: linux-mmc <linux-mmc@vger.kernel.org>,
	Chris Ball <cjb@laptop.org>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Will Newton <will.newton@imgtec.com>,
	James Hogan <james.hogan@imgtec.com>,
	Seungwon Jeon <tgih.jun@samsung.com>
Subject: Re: mmc: dw_mmc: fixed compile error when disable CONFIG_MMC_DW_IDMAC
Date: Thu, 16 Feb 2012 23:22:11 +0000	[thread overview]
Message-ID: <20120216232211.GA1955@balrog> (raw)
In-Reply-To: <4F3C67BA.7040309@samsung.com>

On Thu, Feb 16, 2012 at 11:19:38AM +0900, Jaehoon Chung wrote:
> When disable CONFIG_MMC_DW_IDMAC, can see the compiler error.
> Because in dw_mci_post_req(), called the dw_mci_get_dma_dir().
> But that function is in #ifdef CONFIG_MMC_DW_IDMAC.
> 
> I think that function is generic function.
> Not need the CONFIG_MMC_DW_IDMAC.
> 
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>

I've also tested and confirmed that this fixes a compiler error
introduced in 3ec7699d3bb1b0ee7f6e8588974a209d47fc64b2 ("mmc: dw_mmc:
Add support for pre_req and post_req"), however that patch also seems to
have regressed by disabled DMA when not using the internal DMAC. 

Specifically dw_mci_pre_dma_transfer() returns -ENOSYS when not using
internal DMAC, which makes dw_mci_submit_data_dma() now return early:

+       sg_len = dw_mci_pre_dma_transfer(host, data, 0);
+       if (sg_len < 0)
+               return sg_len;

I think that 3ec7699d3bb1b0ee7f6e8588974a209d47fc64b2 should be
removed/reverted until it is fixed.

Regards
James

> ---
>  drivers/mmc/host/dw_mmc.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index f9457e5..692c3ba 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -295,7 +295,6 @@ static void dw_mci_stop_dma(struct dw_mci *host)
>  	}
>  }
>  
> -#ifdef CONFIG_MMC_DW_IDMAC
>  static int dw_mci_get_dma_dir(struct mmc_data *data)
>  {
>  	if (data->flags & MMC_DATA_WRITE)
> @@ -304,6 +303,7 @@ static int dw_mci_get_dma_dir(struct mmc_data *data)
>  		return DMA_FROM_DEVICE;
>  }
>  
> +#ifdef CONFIG_MMC_DW_IDMAC
>  static void dw_mci_dma_cleanup(struct dw_mci *host)
>  {
>  	struct mmc_data *data = host->data;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2012-02-16 23:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-16  2:19 mmc: dw_mmc: fixed compile error when disable CONFIG_MMC_DW_IDMAC Jaehoon Chung
2012-02-16  3:40 ` Seungwon Jeon
2012-02-16 23:22 ` James Hogan [this message]
2012-02-17  1:17   ` mmc: " Seungwon Jeon
2012-02-20 12:10 ` James Hogan
2012-02-20 17:04   ` Chris Ball

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120216232211.GA1955@balrog \
    --to=james@albanarts.com \
    --cc=cjb@laptop.org \
    --cc=james.hogan@imgtec.com \
    --cc=jh80.chung@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-mmc@vger.kernel.org \
    --cc=tgih.jun@samsung.com \
    --cc=will.newton@imgtec.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.