Re: [PATCH 1/4] dma: imx-dma: Add a field to the driver's private data to distinguish names of interrupts

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

 



Четверг,  6 марта 2014, 20:47 +05:30 от Vinod Koul <vinod.koul@xxxxxxxxx>:
> On Sat, Feb 22, 2014 at 10:16:45PM +0400, Alexander Shiyan wrote:
> > Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx>
> > ---
> >  drivers/dma/imx-dma.c | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c
> > index 6f9ac20..7ef16e8 100644
> > --- a/drivers/dma/imx-dma.c
> > +++ b/drivers/dma/imx-dma.c
> > @@ -167,6 +167,7 @@ struct imxdma_channel {
> >  	u32				ccr_to_device;
> >  	bool				enabled_2d;
> >  	int				slot_2d;
> > +	char				name[6];
> and this seems unused, so can you give motivation for this change?

This is used by devm_request_irq() in the code a bit below.
Currently IRQ statistics shows like:

# cat /proc/interrupts
...
 48:          1  mxc-avic  32  DMA
 49:          0  mxc-avic  33  DMA
 50:          0  mxc-avic  34  DMA
 51:          0  mxc-avic  35  DMA
 52:          0  mxc-avic  36  DMA
 53:          0  mxc-avic  37  DMA
 54:          0  mxc-avic  38  DMA
 55:          0  mxc-avic  39  DMA
 56:          0  mxc-avic  40  DMA
 57:          0  mxc-avic  41  DMA
 58:          0  mxc-avic  42  DMA
 59:          0  mxc-avic  43  DMA
 60:          0  mxc-avic  44  DMA
 61:          0  mxc-avic  45  DMA
 62:          0  mxc-avic  46  DMA
 63:          0  mxc-avic  47  DMA
 
...
> >  enum imx_dma_type {
> > @@ -1111,7 +1112,7 @@ static int __init imxdma_probe(struct platform_device *pdev)
> >  		}
> >  
> >  		ret = devm_request_irq(&pdev->dev, irq_err,
> > -				       imxdma_err_handler, 0, "DMA", imxdma);
> > +				       imxdma_err_handler, 0, "DMAERR", imxdma);
> >  		if (ret) {
> >  			dev_warn(imxdma->dev, "Can't register ERRIRQ for DMA\n");
> >  			goto err;
> > @@ -1145,8 +1146,10 @@ static int __init imxdma_probe(struct platform_device *pdev)
> >  		struct imxdma_channel *imxdmac = &imxdma->channel[i];
> >  
> >  		if (!is_imx1_dma(imxdma)) {
> > +			sprintf(imxdmac->name, "DMA%i", i);
> >  			ret = devm_request_irq(&pdev->dev, irq + i,
> > -					dma_irq_handler, 0, "DMA", imxdma);
> > +					       dma_irq_handler, 0,
> > +					       imxdmac->name, imxdma);

Here.
So, as a result this change, we could distinguish DMA channels.

> >  			if (ret) {
> >  				dev_warn(imxdma->dev, "Can't register IRQ %d "
> >  					 "for DMA channel %d\n",
> > -- 

---
��.n��������+%������w��{.n��������)�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux