On 11/3/2015 11:46 AM, Timur Tabi wrote:
Sinan Kaya wrote:
1. Bug in ARM64 DMA subsystem.
2. Bug in IOMMU driver.
3. Bug in another newly introduced driver. The new driver would hog the
CPU and won't allow HIDMA interrupts to execute. Therefore, the test
times out.
Which driver?
Some other driver that is not upstream yet.
Wouldn't these problems already be exposed by dmatest? I was asking
whether it's possible that, every now and then, your DMA internal test
could fail and then the driver would unload. I'm not talking about hard
bugs in other code that always causes the DMA driver test to fail.
The point is that dmatest is a kernel module that requires manual
interaction. It does not run automatically and is generally used by the
dma engine driver developer during development only.
Other developers like UART, SATA, USB, IOMMU etc. They don't care about
dmatest and I have seen their changes broke self-test multiple times. I
see the value of self test all the time.
I can make dma-self test a new kernel module. It could discover all DMA
devices with MEMCPY capability and run a self test on them. We could
tell the self test code deregister all DMA devices that fail the test.
I can also make it kernel command line dependent and disabled by
default. Those who want this functionality all the time can change their
kernel command line.
I hope this addresses concerns.
--
Sinan Kaya
Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a
Linux Foundation Collaborative Project
--
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