All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Ye-B37916 <b37916@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/2] net: fec_mxc: Adjust RX DMA alignment for mx6solox
Date: Thu, 21 Aug 2014 11:44:53 +0800	[thread overview]
Message-ID: <53F56B35.1060403@freescale.com> (raw)
In-Reply-To: <1408569876-28539-1-git-send-email-festevam@gmail.com>

Hi Fabio,

    I feel the name "ARCH_DMA_MINALIGN_MX6SX" is not good here. Because the 64 bytes alignment is only required by the DMA engine in FEC controller, not a ARCH DMA value.

Best regards,
Ye Li

On 8/21/2014 5:24 AM, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> mx6solox has a requirement for 64 bytes alignment for RX DMA transfer.
>
> Adjust it accordingly.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
> Changes since v1:
> - Avoid too many ifdef's by providing a dma_rx_align() funtion as suggested
> by Otavio
>
>  drivers/net/fec_mxc.c | 17 ++++++++++++++---
>  1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
> index 4cefda4..1a5105e 100644
> --- a/drivers/net/fec_mxc.c
> +++ b/drivers/net/fec_mxc.c
> @@ -28,6 +28,8 @@ DECLARE_GLOBAL_DATA_PTR;
>   */
>  #define FEC_XFER_TIMEOUT	5000
>  
> +#define ARCH_DMA_MINALIGN_MX6SX	64
> +
>  #ifndef CONFIG_MII
>  #error "CONFIG_MII has to be defined!"
>  #endif
> @@ -267,6 +269,15 @@ static int fec_tx_task_disable(struct fec_priv *fec)
>  	return 0;
>  }
>  
> +static int dma_rx_align(void)
> +{
> +#ifdef CONFIG_MX6SX
> +	return	ARCH_DMA_MINALIGN_MX6SX;
> +#else
> +	return ARCH_DMA_MINALIGN;
> +#endif
> +}
> +
>  /**
>   * Initialize receive task's buffer descriptors
>   * @param[in] fec all we know about the device yet
> @@ -286,7 +297,7 @@ static void fec_rbd_init(struct fec_priv *fec, int count, int dsize)
>  	 * Reload the RX descriptors with default values and wipe
>  	 * the RX buffers.
>  	 */
> -	size = roundup(dsize, ARCH_DMA_MINALIGN);
> +	size = roundup(dsize, dma_rx_align());
>  	for (i = 0; i < count; i++) {
>  		data = (uint8_t *)fec->rbd_base[i].data_pointer;
>  		memset(data, 0, dsize);
> @@ -881,9 +892,9 @@ static int fec_alloc_descs(struct fec_priv *fec)
>  	/* Allocate RX buffers. */
>  
>  	/* Maximum RX buffer size. */
> -	size = roundup(FEC_MAX_PKT_SIZE, ARCH_DMA_MINALIGN);
> +	size = roundup(FEC_MAX_PKT_SIZE, dma_rx_align());
>  	for (i = 0; i < FEC_RBD_NUM; i++) {
> -		data = memalign(ARCH_DMA_MINALIGN, size);
> +		data = memalign(dma_rx_align(), size);
>  		if (!data) {
>  			printf("%s: error allocating rxbuf %d\n", __func__, i);
>  			goto err_ring;

  parent reply	other threads:[~2014-08-21  3:44 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-20 21:24 [U-Boot] [PATCH v2 1/2] net: fec_mxc: Adjust RX DMA alignment for mx6solox Fabio Estevam
2014-08-20 21:24 ` [U-Boot] [PATCH v2 2/2] net: fec_mxc: Do not error out when FEC_TBD_READY Fabio Estevam
2014-08-20 21:34   ` Otavio Salvador
2014-08-21  3:47     ` Marek Vasut
2014-08-21  3:53   ` Marek Vasut
2014-08-21  4:11     ` Ye Li
2014-08-21  5:02       ` Marek Vasut
2014-08-21  7:57         ` Stefano Babic
2014-08-21  8:35           ` Li Ye-B37916
2014-08-21 11:39           ` Marek Vasut
2014-08-21  3:44 ` Li Ye-B37916 [this message]
2014-08-21  3:51 ` [U-Boot] [PATCH v2 1/2] net: fec_mxc: Adjust RX DMA alignment for mx6solox Marek Vasut
2014-08-21  6:03 ` Stefan Roese
2014-08-21 12:08   ` Fabio Estevam
2014-08-21  8:01 ` Stefano Babic
2014-08-21 11:55   ` Fabio Estevam

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=53F56B35.1060403@freescale.com \
    --to=b37916@freescale.com \
    --cc=u-boot@lists.denx.de \
    /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.