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]

 



On Thu, Mar 06, 2014 at 07:33:32PM +0400, Alexander Shiyan wrote:
> Четверг,  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",
> > > -- 
> 
> ---
well this should be part of changelog too. 6 months down the line you wouldn't
remember why you did this, so changelog would help :)

-- 
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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