Re: [PATCH] dmaengine: free descriptor when free chan resource

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

 



Vinod Koul <vinod.koul@xxxxxxxxx> writes:

>> Just blindly removing all the existing users wont work, you'd have
>> to carefully review each case and see if anything potentially breaks
>> by removing it. This will probably take longer than one cycle.
>> Repurposing a flag that is so wildly used with completely different
>> semantics in such a short timespan will cause all kinds of issues.
> NO the idea is *not* to blindly remove BUT fix the users to do the right
> thing...

Hi Vinod,

With [1], I've made some digging to assess the span of the fix. I have the
result in [2]. This gives us all DMA_CTRL_ACK users which do not ack the txs. I
suppose the dmaengine drivers ack them given the leftside column and its
drivers/dma/* content.

Now I need to refine the search a bit. I hope crypto and ata are using the
master dmaengine API.

As for the others, these are probably the fix target. I you have an idea to
limit further the list, that would be great.

I must admit I don't have a clear idea what their expectation of DMA_CTRL_ACK is
...

Cheers.

--
Robert

[1]
find . -name '*.[ch]' -exec grep -ls async_tx_ack {} \; | sort -u > /tmp/async_tx_ack.txt
find . -name '*.[ch]' -exec grep -ls DMA_CTRL_ACK {} \; | sort -u >
/tmp/dma_ctrl_ack.txt
sdiff -s /tmp/async_tx_ack.txt /tmp/dma_ctrl_ack.txt

[2] 
./crypto/async_tx/async_tx.c				      |	./drivers/ata/pata_ep93xx.c
							      >	./drivers/ata/sata_dwc_460ex.c
							      >	./drivers/crypto/atmel-aes.c
							      >	./drivers/crypto/atmel-sha.c
							      >	./drivers/crypto/atmel-tdes.c
							      >	./drivers/crypto/img-hash.c
							      >	./drivers/crypto/omap-aes.c
							      >	./drivers/crypto/omap-des.c
							      >	./drivers/crypto/omap-sham.c
							      >	./drivers/crypto/qce/dma.c
							      >	./drivers/crypto/ux500/cryp/cryp_core.c
							      >	./drivers/crypto/ux500/hash/hash_core.c
							      >	./drivers/dma/at_hdmac.c
							      >	./drivers/dma/dmatest.c
./drivers/dma/fsldma.c					      |	./drivers/dma/ep93xx_dma.c
./drivers/dma/ioat/dma.c				      |	./drivers/dma/imx-dma.c
./drivers/dma/ioat/dma_v2.c				      |	./drivers/dma/imx-sdma.c
./drivers/dma/ioat/dma_v3.c				      <
./drivers/dma/mmp_pdma.c				      |	./drivers/dma/mpc512x_dma.c
./drivers/dma/mv_xor.c					      <
./drivers/dma/pl330.c					      |	./drivers/dma/pch_dma.c
./drivers/dma/ppc4xx/adma.c				      |	./drivers/dma/sa11x0-dma.c
./drivers/dma/sh/shdma-base.c				      |	./drivers/dma/sirf-dma.c
./drivers/dma/xgene-dma.c				      |	./drivers/dma/tegra20-apb-dma.c
./drivers/dma/xilinx/xilinx_vdma.c			      |	./drivers/dma/timb_dma.c
./drivers/md/raid5.c					      |	./drivers/dma/txx9dmac.c
./drivers/media/platform/soc_camera/mx3_camera.c	      |	./drivers/i2c/busses/i2c-at91.c
							      >	./drivers/i2c/busses/i2c-imx.c
							      >	./drivers/i2c/busses/i2c-mxs.c
							      >	./drivers/i2c/busses/i2c-sh_mobile.c
							      >	./drivers/media/platform/m2m-deinterlace.c
							      >	./drivers/media/platform/omap3isp/isphist.c
							      >	./drivers/media/platform/xilinx/xilinx-dma.c
							      >	./drivers/mmc/host/atmel-mci.c
							      >	./drivers/mmc/host/davinci_mmc.c
							      >	./drivers/mmc/host/jz4740_mmc.c
							      >	./drivers/mmc/host/mmci.c
							      >	./drivers/mmc/host/moxart-mmc.c
							      >	./drivers/mmc/host/mxcmmc.c
							      >	./drivers/mmc/host/mxs-mmc.c
							      >	./drivers/mmc/host/omap.c
							      >	./drivers/mmc/host/omap_hsmmc.c
							      >	./drivers/mmc/host/s3cmci.c
							      >	./drivers/mmc/host/sh_mmcif.c
							      >	./drivers/mmc/host/tmio_mmc_dma.c
							      >	./drivers/mmc/host/usdhi6rol0.c
							      >	./drivers/mtd/nand/atmel_nand.c
							      >	./drivers/mtd/nand/fsmc_nand.c
							      >	./drivers/mtd/nand/gpmi-nand/gpmi-lib.c
							      >	./drivers/mtd/nand/lpc32xx_mlc.c
							      >	./drivers/mtd/nand/lpc32xx_slc.c
							      >	./drivers/mtd/nand/omap2.c
							      >	./drivers/mtd/nand/sh_flctl.c
							      >	./drivers/net/irda/sa1100_ir.c
							      >	./drivers/rapidio/devices/tsi721_dma.c
							      >	./drivers/soc/tegra/fuse/fuse-tegra20.c
							      >	./drivers/spi/spi-atmel.c
							      >	./drivers/spi/spi-davinci.c
							      >	./drivers/spi/spi-dw-mid.c
							      >	./drivers/spi/spi-ep93xx.c
							      >	./drivers/spi/spi-imx.c
							      >	./drivers/spi/spi-mxs.c
							      >	./drivers/spi/spi-omap2-mcspi.c
							      >	./drivers/spi/spi-pl022.c
							      >	./drivers/spi/spi-pxa2xx-dma.c
							      >	./drivers/spi/spi-rspi.c
							      >	./drivers/spi/spi-sh-msiof.c
							      >	./drivers/spi/spi-sirf.c
							      >	./drivers/spi/spi-tegra114.c
							      >	./drivers/spi/spi-tegra20-slink.c
							      >	./drivers/tty/serial/8250/8250_dma.c
							      >	./drivers/tty/serial/8250/8250_omap.c
							      >	./drivers/tty/serial/amba-pl011.c
./drivers/tty/serial/fsl_lpuart.c			      |	./drivers/tty/serial/mxs-auart.c
./drivers/tty/serial/samsung.c				      <
./drivers/tty/serial/serial-tegra.c			      <
./drivers/video/fbdev/mx3fb.c				      |	./drivers/usb/musb/musb_cppi41.c
							      >	./drivers/usb/musb/ux500_dma.c
							      >	./drivers/usb/renesas_usbhs/fifo.c
							      >	./sound/core/pcm_dmaengine.c
							      >	./sound/soc/fsl/fsl_asrc_dma.c
							      >	./sound/soc/intel/common/sst-firmware.c
							      >	./sound/soc/sh/fsi.c
							      >	./sound/soc/sh/rcar/dma.c
							      >	./sound/soc/sh/siu_pcm.c
							      >	./sound/soc/txx9/txx9aclc.c
--
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