From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eugeniy.Paltsev@synopsys.com (Eugeniy Paltsev) Date: Wed, 10 Aug 2016 11:06:50 +0000 Subject: dmatest no longer works on ARC SDP with DW DMAC List-ID: Message-ID: <1470827209.21247.12.camel@synopsys.com> To: linux-snps-arc@lists.infradead.org dmatest on ARC SDP with DW DMAC became broken after df5c7386 ("dmaengine: dw: some Intel devices has no memcpy support") and 30cb2639 ("dmaengine: dw: don't override platform data with autocfg") commits. * After df5c7386 commit "DMA_MEMCPY" capability option doesn't get set correctly in platform driver version. * After 30cb2639 commit "data_width" and "nollp" parameters don't get set correctly in platform driver version. This happens because in old driver version there are three sources? of parameters: pdata, device tree and autoconfig hardware registers.? Some parameters were read from pdata and others from autoconfig hardware registers. If pdata was absent some pdata structure? fields were filled with parameters from device tree. But 30cb2639 commit disabled overriding pdata with autocfg, so if we use platform driver version without pdata some parameters will not be set. I'm wondering what would be the best way to fix this situation? Should we strictly read parameters from only one source (pdata/device tree/autoconfig) or we may mix some of them (for example getting missing data from autoconf regs)? From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933576AbcHJSPF (ORCPT ); Wed, 10 Aug 2016 14:15:05 -0400 Received: from smtprelay.synopsys.com ([198.182.47.9]:54257 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933553AbcHJSO6 (ORCPT ); Wed, 10 Aug 2016 14:14:58 -0400 From: Eugeniy Paltsev To: "dmaengine@vger.kernel.org" CC: "vinod.koul@intel.com" , "linux-kernel@vger.kernel.org" , Vlad Zakharov , "linux-snps-arc@lists.infradead.org" , Eugeniy Paltsev , Alexey Brodkin , Nelson Pereira , "viresh.kumar@linaro.org" , "andriy.shevchenko@linux.intel.com" Subject: dmatest no longer works on ARC SDP with DW DMAC Thread-Topic: dmatest no longer works on ARC SDP with DW DMAC Thread-Index: AQHR8vdLsUeJb4g4ik65oCfKKcwFOQ== Date: Wed, 10 Aug 2016 11:06:50 +0000 Message-ID: <1470827209.21247.12.camel@synopsys.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.121.14.112] Content-Type: text/plain; charset="utf-8" Content-ID: MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id u7AIFEDo002966 dmatest on ARC SDP with DW DMAC became broken after df5c7386 ("dmaengine: dw: some Intel devices has no memcpy support") and 30cb2639 ("dmaengine: dw: don't override platform data with autocfg") commits. * After df5c7386 commit "DMA_MEMCPY" capability option doesn't get set correctly in platform driver version. * After 30cb2639 commit "data_width" and "nollp" parameters don't get set correctly in platform driver version. This happens because in old driver version there are three sources  of parameters: pdata, device tree and autoconfig hardware registers.  Some parameters were read from pdata and others from autoconfig hardware registers. If pdata was absent some pdata structure  fields were filled with parameters from device tree. But 30cb2639 commit disabled overriding pdata with autocfg, so if we use platform driver version without pdata some parameters will not be set. I'm wondering what would be the best way to fix this situation? Should we strictly read parameters from only one source (pdata/device tree/autoconfig) or we may mix some of them (for example getting missing data from autoconf regs)?