All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sinan Kaya <okaya@codeaurora.org>
To: Vinod Koul <vinod.koul@intel.com>,
	Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Dan Williams <dan.j.williams@intel.com>,
	"dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>,
	timur@codeaurora.org, cov@codeaurora.org, jcm@redhat.com,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH V2 2/3] dmaselftest: add memcpy selftest support functions
Date: Wed, 4 Nov 2015 21:42:46 -0500	[thread overview]
Message-ID: <563AC226.30303@codeaurora.org> (raw)
In-Reply-To: <20151103160800.GD12910@localhost>



On 11/3/2015 11:08 AM, Vinod Koul wrote:
> On Tue, Nov 03, 2015 at 10:22:25AM +0200, Andy Shevchenko wrote:
>> On Tue, Nov 3, 2015 at 9:44 AM, Dan Williams <dan.j.williams@intel.com> wrote:
>>> On Mon, Nov 2, 2015 at 10:30 PM, Vinod Koul <vinod.koul@intel.com> wrote:
>>>> On Mon, Nov 02, 2015 at 11:18:37PM -0500, Sinan Kaya wrote:
>>>>> On 11/2/2015 11:15 PM, Vinod Koul wrote:
>>>>>> On Mon, Nov 02, 2015 at 01:07:38AM -0500, Sinan Kaya wrote:
>>
>>
>>>>> This one; on the other hand, is selftest to verify hardware is
>>>>> working as expected during power up.
>>
>> I prefer to have such nice case by run time parameter (let's say
>> common to all DMA Engine drivers)
>>
>>>> We can have common code which is used for dmatest as well as selftest. I do
>>>> not want to see same code duplicated..
>>
>> First thought was to merge this to dmatest, however, some DMA
>> controllers doesn't have a memcpy capability.
>
> The tests should be based on capablity of memcpy
>
>> How would we test them?

Here is what I proposed.

- a common file that gets compiled into a module that wants to use 
self-test with a public API. It can be called from driver's probe routine.
- the test is independent of my implementation. It uses dmaengine API 
and should be portable to most drivers.
- there *are* still drivers in the kernel that has selftest code 
embedded inside them. I followed the design pattern from other drivers 
thinking this must have been a good idea and it paid off for me.

As far as I understand, there is interest in doing more than this and 
reusing the dmatest code for code duplication.

Facts:
- Dmatest can be actually configured to run during boot.
- Nobody besides the dma driver developer uses dmatest. This leaves 
holes for regressions that are really hard to debug due to interaction 
with the rest of the system.
- Dmatest doesn't exist in most distribution kernels.

If we want to do something else, I need clear directions. I can remove 
the self test code completely from my driver. But, I need an equivalent 
functionality.

 >
 > That part is tricky, you need to do so thru clients, spi/audio/serial etc
 >

My selftest code actually attaches to all slave devices and issues a 
memcpy command and then detaches from the slave devices.

-- 
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

  reply	other threads:[~2015-11-05  2:42 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1446444460-21600-1-git-send-email-okaya@codeaurora.org>
2015-11-02  6:07 ` [PATCH V2 1/3] dma: add Qualcomm Technologies HIDMA management driver Sinan Kaya
     [not found]   ` <1446444460-21600-2-git-send-email-okaya-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-11-02 15:57     ` Rob Herring
2015-11-02 15:57       ` Rob Herring
     [not found]       ` <CAL_Jsq+XCkaPD_Bop_BaTfEVP2YuOQ+=ChFvyLN47jps2NcZSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-02 16:20         ` Sinan Kaya
2015-11-02 16:20           ` Sinan Kaya
2015-11-02 17:26           ` Timur Tabi
     [not found]             ` <56379CD6.5020807-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-11-02 17:42               ` Rob Herring
2015-11-02 17:42                 ` Rob Herring
2015-11-02 17:48                 ` Timur Tabi
     [not found]                   ` <5637A1EB.9080002-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-11-02 18:25                     ` Rob Herring
2015-11-02 18:25                       ` Rob Herring
2015-11-02 18:30                       ` Timur Tabi
2015-11-05 14:31                         ` Rob Herring
2015-11-05 14:43                           ` Timur Tabi
2015-11-06 13:13                             ` Rob Herring
2015-11-02 18:49                 ` Sinan Kaya
2015-11-02 22:00                   ` Arnd Bergmann
2015-11-03  5:18       ` Sinan Kaya
2015-11-03 10:22     ` Andy Shevchenko
2015-11-03 10:22       ` Andy Shevchenko
2015-11-04  0:47       ` Sinan Kaya
2015-11-02  6:07 ` [PATCH V2 2/3] dmaselftest: add memcpy selftest support functions Sinan Kaya
2015-11-03  4:15   ` Vinod Koul
2015-11-03  4:18     ` Sinan Kaya
2015-11-03  6:30       ` Vinod Koul
2015-11-03  7:44         ` Dan Williams
2015-11-03  8:22           ` Andy Shevchenko
2015-11-03 16:08             ` Vinod Koul
2015-11-05  2:42               ` Sinan Kaya [this message]
2015-11-05 12:05                 ` Vinod Koul
2015-11-05 16:17                   ` Sinan Kaya
2015-11-07  6:23                     ` Sinan Kaya
2015-11-08 13:53                       ` Vinod Koul
2015-11-13 20:20                         ` okaya
2015-11-03 15:51           ` Sinan Kaya
2015-11-03 16:06           ` Vinod Koul
2015-11-03 14:31       ` Timur Tabi
2015-11-03 16:10         ` Vinod Koul
2015-11-03 16:28           ` Sinan Kaya
2015-11-03 16:46             ` Timur Tabi
2015-11-03 16:57               ` Sinan Kaya
2015-11-03 16:48           ` Timur Tabi
2015-11-02  6:07 ` [PATCH V2 3/3] dma: add Qualcomm Technologies HIDMA channel driver Sinan Kaya
     [not found]   ` <1446444460-21600-4-git-send-email-okaya-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-11-03 10:10     ` Andy Shevchenko
2015-11-03 10:10       ` Andy Shevchenko
2015-11-04  0:07       ` Sinan Kaya
     [not found]         ` <56394C37.4060603-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-11-04 17:44           ` Andy Shevchenko
2015-11-04 17:44             ` Andy Shevchenko
2015-11-05  2:22             ` Sinan Kaya

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=563AC226.30303@codeaurora.org \
    --to=okaya@codeaurora.org \
    --cc=andy.shevchenko@gmail.com \
    --cc=cov@codeaurora.org \
    --cc=dan.j.williams@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=jcm@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=timur@codeaurora.org \
    --cc=vinod.koul@intel.com \
    /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.