All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vinod Koul <vinod.koul@intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.jf.intel.com>
Cc: linux-kernel@vger.kernel.org,
	spear-devel <spear-devel@list.st.com>,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	Mika Westerberg <mika.westerberg@linux.jf.intel.com>,
	Viresh Kumar <viresh.kumar@linaro.org>
Subject: Re: [PATCHv2] dw_dmac: adjust slave_id accordingly to request line base
Date: Mon, 4 Mar 2013 10:32:20 +0530	[thread overview]
Message-ID: <20130304050220.GF22513@intel.com> (raw)
In-Reply-To: <1361361137-15396-1-git-send-email-andriy.shevchenko@linux.intel.com>

On Wed, Feb 20, 2013 at 01:52:17PM +0200, Andy Shevchenko wrote:
> On some hardware configurations we have got the request line with the offset.
> The patch introduces convert_slave_id() helper for that cases. The request line
> base is came from the driver data provided by the platform_device_id table.
> 
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
Applied, Thanks

> ---
> Since v1:
>  - use driver_data instead of parsing IORESOURCE_DMA
>  drivers/dma/dw_dmac.c      |   17 ++++++++++++++++-
>  drivers/dma/dw_dmac_regs.h |    1 +
>  2 files changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c
> index 51c3ea2..67a868d 100644
> --- a/drivers/dma/dw_dmac.c
> +++ b/drivers/dma/dw_dmac.c
> @@ -994,6 +994,13 @@ static inline void convert_burst(u32 *maxburst)
>  		*maxburst = 0;
>  }
>  
> +static inline void convert_slave_id(struct dw_dma_chan *dwc)
> +{
> +	struct dw_dma *dw = to_dw_dma(dwc->chan.device);
> +
> +	dwc->dma_sconfig.slave_id -= dw->request_line_base;
> +}
> +
>  static int
>  set_runtime_config(struct dma_chan *chan, struct dma_slave_config *sconfig)
>  {
> @@ -1008,6 +1015,7 @@ set_runtime_config(struct dma_chan *chan, struct dma_slave_config *sconfig)
>  
>  	convert_burst(&dwc->dma_sconfig.src_maxburst);
>  	convert_burst(&dwc->dma_sconfig.dst_maxburst);
> +	convert_slave_id(dwc);
>  
>  	return 0;
>  }
> @@ -1637,6 +1645,7 @@ dw_dma_parse_dt(struct platform_device *pdev)
>  
>  static int dw_probe(struct platform_device *pdev)
>  {
> +	const struct platform_device_id *match;
>  	struct dw_dma_platform_data *pdata;
>  	struct resource		*io;
>  	struct dw_dma		*dw;
> @@ -1722,6 +1731,11 @@ static int dw_probe(struct platform_device *pdev)
>  		memcpy(dw->data_width, pdata->data_width, 4);
>  	}
>  
> +	/* Get the base request line if set */
> +	match = platform_get_device_id(pdev);
> +	if (match)
> +		dw->request_line_base = (unsigned int)match->driver_data;
> +
>  	/* Calculate all channel mask before DMA setup */
>  	dw->all_chan_mask = (1 << nr_channels) - 1;
>  
> @@ -1907,7 +1921,8 @@ MODULE_DEVICE_TABLE(of, dw_dma_id_table);
>  #endif
>  
>  static const struct platform_device_id dw_dma_ids[] = {
> -	{ "INTL9C60", 0 },
> +	/* Name,	Request Line Base */
> +	{ "INTL9C60",	(kernel_ulong_t)16 },
>  	{ }
>  };
>  
> diff --git a/drivers/dma/dw_dmac_regs.h b/drivers/dma/dw_dmac_regs.h
> index 88dd8eb..3eeb766 100644
> --- a/drivers/dma/dw_dmac_regs.h
> +++ b/drivers/dma/dw_dmac_regs.h
> @@ -248,6 +248,7 @@ struct dw_dma {
>  	/* hardware configuration */
>  	unsigned char		nr_masters;
>  	unsigned char		data_width[4];
> +	unsigned int		request_line_base;
>  
>  	struct dw_dma_chan	chan[0];
>  };
> -- 
> 1.7.10.4
> 

      parent reply	other threads:[~2013-03-04  5:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-20 11:52 [PATCHv2] dw_dmac: adjust slave_id accordingly to request line base Andy Shevchenko
2013-02-20 13:36 ` Viresh Kumar
2013-02-22 18:18 ` Andy Shevchenko
2013-03-04  5:02 ` Vinod Koul [this message]

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=20130304050220.GF22513@intel.com \
    --to=vinod.koul@intel.com \
    --cc=andriy.shevchenko@linux.jf.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mika.westerberg@linux.jf.intel.com \
    --cc=rafael.j.wysocki@intel.com \
    --cc=spear-devel@list.st.com \
    --cc=viresh.kumar@linaro.org \
    /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.