From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 72A33C4167B for ; Thu, 10 Dec 2020 02:30:46 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B09FC23C81 for ; Thu, 10 Dec 2020 02:30:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B09FC23C81 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id D7F8C6B0036; Wed, 9 Dec 2020 21:30:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D2DB86B005D; Wed, 9 Dec 2020 21:30:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C20F16B0068; Wed, 9 Dec 2020 21:30:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0243.hostedemail.com [216.40.44.243]) by kanga.kvack.org (Postfix) with ESMTP id A4BE46B0036 for ; Wed, 9 Dec 2020 21:30:44 -0500 (EST) Received: from smtpin06.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 69932180AD81A for ; Thu, 10 Dec 2020 02:30:44 +0000 (UTC) X-FDA: 77575794408.06.spot22_2912ca3273f4 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin06.hostedemail.com (Postfix) with ESMTP id 4ACAF100444A1 for ; Thu, 10 Dec 2020 02:30:44 +0000 (UTC) X-HE-Tag: spot22_2912ca3273f4 X-Filterd-Recvd-Size: 82994 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by imf50.hostedemail.com (Postfix) with ESMTP for ; Thu, 10 Dec 2020 02:30:42 +0000 (UTC) IronPort-SDR: 7+y0GVRJfDi4QiuHtqa/KARhjy8c39i4PHEkHei9yFj/RzoQhNstVT2JmeaDLAvxKMkqYa9Tt/ EfEZDP3hlP+w== X-IronPort-AV: E=McAfee;i="6000,8403,9830"; a="238288742" X-IronPort-AV: E=Sophos;i="5.78,407,1599548400"; d="gz'50?scan'50,208,50";a="238288742" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Dec 2020 18:30:40 -0800 IronPort-SDR: Fv6Z1ENYaZfEjlTWSyCbwxbgL4RTKSlDeDNYtosyKxbRccHYEjTjmo43uwJjNSjT0dF9K96soF DgueGpO68zGA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,407,1599548400"; d="gz'50?scan'50,208,50";a="348599824" Received: from lkp-server01.sh.intel.com (HELO 2bbb63443648) ([10.239.97.150]) by orsmga002.jf.intel.com with ESMTP; 09 Dec 2020 18:30:38 -0800 Received: from kbuild by 2bbb63443648 with local (Exim 4.92) (envelope-from ) id 1knBj3-0000b8-TF; Thu, 10 Dec 2020 02:30:37 +0000 Date: Thu, 10 Dec 2020 10:30:23 +0800 From: kernel test robot To: Krzysztof Kozlowski Cc: kbuild-all@lists.01.org, Linux Memory Management List , Vinod Koul Subject: [linux-next:master 1782/12085] drivers/dma/ppc4xx/adma.c:4094:14: sparse: sparse: incorrect type in assignment (different address spaces) Message-ID: <202012101016.0qanTLBw-lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="XsQoSWH+UP9D9v3l" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --XsQoSWH+UP9D9v3l Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 2f1d5c77f13fe64497c2e2601605f7d7ec4da9b1 commit: 68f35add4ba4c850a33878633e10c02d7ba32d84 [1782/12085] dmaengine: ppc4xx: make ppc440spe_adma_chan_list static config: powerpc64-randconfig-s032-20201209 (attached as .config) compiler: powerpc-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-179-ga00755aa-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=68f35add4ba4c850a33878633e10c02d7ba32d84 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 68f35add4ba4c850a33878633e10c02d7ba32d84 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot "sparse warnings: (new ones prefixed by >>)" drivers/dma/ppc4xx/adma.c:1159:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1159:38: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1159:38: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:911:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@ drivers/dma/ppc4xx/adma.c:911:25: sparse: expected struct dma_regs *dma_reg drivers/dma/ppc4xx/adma.c:911:25: sparse: got struct dma_regs [noderef] __iomem *dma_reg drivers/dma/ppc4xx/adma.c:912:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:912:40: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:912:40: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:974:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:974:32: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:974:32: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:979:40: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:979:40: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:979:40: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:984:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:984:25: sparse: expected struct xor_regs *xor_reg drivers/dma/ppc4xx/adma.c:984:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:985:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:985:34: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:985:34: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:986:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:986:34: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:986:34: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:993:55: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:993:55: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:993:55: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:995:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:995:51: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:995:51: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:997:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:997:51: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:997:51: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:999:46: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:999:46: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:999:46: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1008:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1008:35: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1008:35: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1027:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@ drivers/dma/ppc4xx/adma.c:1027:25: sparse: expected struct dma_regs *dma_reg drivers/dma/ppc4xx/adma.c:1027:25: sparse: got struct dma_regs [noderef] __iomem *dma_reg drivers/dma/ppc4xx/adma.c:1031:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1031:31: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1031:31: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1031:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1031:60: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1031:60: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1032:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1032:31: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1032:31: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1032:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1032:60: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1032:60: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1038:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1038:25: sparse: expected struct xor_regs *xor_reg drivers/dma/ppc4xx/adma.c:1038:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1039:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1039:37: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1039:37: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1053:48: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1053:48: sparse: expected struct xor_regs *xor_reg drivers/dma/ppc4xx/adma.c:1053:48: sparse: got struct xor_regs [noderef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1055:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1055:25: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1055:25: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1062:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1062:41: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1062:41: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1064:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1064:39: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1064:39: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1065:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1065:25: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1065:25: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1066:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1066:33: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1066:33: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1067:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1067:22: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1067:22: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1080:48: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@ drivers/dma/ppc4xx/adma.c:1080:48: sparse: expected struct dma_regs *dma_reg drivers/dma/ppc4xx/adma.c:1080:48: sparse: got struct dma_regs [noderef] __iomem *dma_reg drivers/dma/ppc4xx/adma.c:1090:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1090:26: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1090:26: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1210:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1210:25: sparse: expected struct xor_regs *xor_reg drivers/dma/ppc4xx/adma.c:1210:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1214:30: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1214:30: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1214:30: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:2777:62: sparse: sparse: Using plain integer as NULL pointer >> drivers/dma/ppc4xx/adma.c:4094:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *regs @@ got void [noderef] __iomem * @@ drivers/dma/ppc4xx/adma.c:4094:14: sparse: expected void *regs drivers/dma/ppc4xx/adma.c:4094:14: sparse: got void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:4102:31: sparse: sparse: too many warnings vim +4094 drivers/dma/ppc4xx/adma.c 12458ea06efd7b Anatolij Gustschin 2009-12-11 4003 12458ea06efd7b Anatolij Gustschin 2009-12-11 4004 /** 12458ea06efd7b Anatolij Gustschin 2009-12-11 4005 * ppc440spe_adma_probe - probe the asynch device 12458ea06efd7b Anatolij Gustschin 2009-12-11 4006 */ 463a1f8b3ceebe Bill Pemberton 2012-11-19 4007 static int ppc440spe_adma_probe(struct platform_device *ofdev) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4008 { 05c02542c20aa0 Anatolij Gustschin 2010-06-03 4009 struct device_node *np = ofdev->dev.of_node; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4010 struct resource res; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4011 struct ppc440spe_adma_device *adev; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4012 struct ppc440spe_adma_chan *chan; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4013 struct ppc_dma_chan_ref *ref, *_ref; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4014 int ret = 0, initcode = PPC_ADMA_INIT_OK; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4015 const u32 *idx; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4016 int len; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4017 void *regs; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4018 u32 id, pool_size; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4019 12458ea06efd7b Anatolij Gustschin 2009-12-11 4020 if (of_device_is_compatible(np, "amcc,xor-accelerator")) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4021 id = PPC440SPE_XOR_ID; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4022 /* As far as the XOR engine is concerned, it does not 12458ea06efd7b Anatolij Gustschin 2009-12-11 4023 * use FIFOs but uses linked list. So there is no dependency 12458ea06efd7b Anatolij Gustschin 2009-12-11 4024 * between pool size to allocate and the engine configuration. 12458ea06efd7b Anatolij Gustschin 2009-12-11 4025 */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4026 pool_size = PAGE_SIZE << 1; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4027 } else { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4028 /* it is DMA0 or DMA1 */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4029 idx = of_get_property(np, "cell-index", &len); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4030 if (!idx || (len != sizeof(u32))) { c6c93048baff25 Rob Herring 2017-07-18 4031 dev_err(&ofdev->dev, "Device node %pOF has missing " 12458ea06efd7b Anatolij Gustschin 2009-12-11 4032 "or invalid cell-index property\n", c6c93048baff25 Rob Herring 2017-07-18 4033 np); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4034 return -EINVAL; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4035 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4036 id = *idx; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4037 /* DMA0,1 engines use FIFO to maintain CDBs, so we 12458ea06efd7b Anatolij Gustschin 2009-12-11 4038 * should allocate the pool accordingly to size of this 12458ea06efd7b Anatolij Gustschin 2009-12-11 4039 * FIFO. Thus, the pool size depends on the FIFO depth: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4040 * how much CDBs pointers the FIFO may contain then so 12458ea06efd7b Anatolij Gustschin 2009-12-11 4041 * much CDBs we should provide in the pool. 12458ea06efd7b Anatolij Gustschin 2009-12-11 4042 * That is 12458ea06efd7b Anatolij Gustschin 2009-12-11 4043 * CDB size = 32B; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4044 * CDBs number = (DMA0_FIFO_SIZE >> 3); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4045 * Pool size = CDBs number * CDB size = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4046 * = (DMA0_FIFO_SIZE >> 3) << 5 = DMA0_FIFO_SIZE << 2. 12458ea06efd7b Anatolij Gustschin 2009-12-11 4047 */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4048 pool_size = (id == PPC440SPE_DMA0_ID) ? 12458ea06efd7b Anatolij Gustschin 2009-12-11 4049 DMA0_FIFO_SIZE : DMA1_FIFO_SIZE; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4050 pool_size <<= 2; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4051 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4052 12458ea06efd7b Anatolij Gustschin 2009-12-11 4053 if (of_address_to_resource(np, 0, &res)) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4054 dev_err(&ofdev->dev, "failed to get memory resource\n"); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4055 initcode = PPC_ADMA_INIT_MEMRES; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4056 ret = -ENODEV; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4057 goto out; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4058 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4059 12458ea06efd7b Anatolij Gustschin 2009-12-11 4060 if (!request_mem_region(res.start, resource_size(&res), 12458ea06efd7b Anatolij Gustschin 2009-12-11 4061 dev_driver_string(&ofdev->dev))) { a584bff5efae8c Joe Perches 2010-11-12 4062 dev_err(&ofdev->dev, "failed to request memory region %pR\n", a584bff5efae8c Joe Perches 2010-11-12 4063 &res); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4064 initcode = PPC_ADMA_INIT_MEMREG; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4065 ret = -EBUSY; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4066 goto out; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4067 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4068 12458ea06efd7b Anatolij Gustschin 2009-12-11 4069 /* create a device */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4070 adev = kzalloc(sizeof(*adev), GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4071 if (!adev) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4072 initcode = PPC_ADMA_INIT_ALLOC; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4073 ret = -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4074 goto err_adev_alloc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4075 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4076 12458ea06efd7b Anatolij Gustschin 2009-12-11 4077 adev->id = id; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4078 adev->pool_size = pool_size; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4079 /* allocate coherent memory for hardware descriptors */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4080 adev->dma_desc_pool_virt = dma_alloc_coherent(&ofdev->dev, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4081 adev->pool_size, &adev->dma_desc_pool, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4082 GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4083 if (adev->dma_desc_pool_virt == NULL) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4084 dev_err(&ofdev->dev, "failed to allocate %d bytes of coherent " 12458ea06efd7b Anatolij Gustschin 2009-12-11 4085 "memory for hardware descriptors\n", 12458ea06efd7b Anatolij Gustschin 2009-12-11 4086 adev->pool_size); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4087 initcode = PPC_ADMA_INIT_COHERENT; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4088 ret = -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4089 goto err_dma_alloc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4090 } d73111c6d43f08 Masanari Iida 2012-08-04 4091 dev_dbg(&ofdev->dev, "allocated descriptor pool virt 0x%p phys 0x%llx\n", 12458ea06efd7b Anatolij Gustschin 2009-12-11 4092 adev->dma_desc_pool_virt, (u64)adev->dma_desc_pool); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4093 12458ea06efd7b Anatolij Gustschin 2009-12-11 @4094 regs = ioremap(res.start, resource_size(&res)); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4095 if (!regs) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4096 dev_err(&ofdev->dev, "failed to ioremap regs!\n"); f3b77727e82722 Julia Lawall 2013-12-29 4097 ret = -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4098 goto err_regs_alloc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4099 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4100 12458ea06efd7b Anatolij Gustschin 2009-12-11 4101 if (adev->id == PPC440SPE_XOR_ID) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4102 adev->xor_reg = regs; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4103 /* Reset XOR */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4104 iowrite32be(XOR_CRSR_XASR_BIT, &adev->xor_reg->crsr); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4105 iowrite32be(XOR_CRSR_64BA_BIT, &adev->xor_reg->crrr); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4106 } else { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4107 size_t fifo_size = (adev->id == PPC440SPE_DMA0_ID) ? 12458ea06efd7b Anatolij Gustschin 2009-12-11 4108 DMA0_FIFO_SIZE : DMA1_FIFO_SIZE; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4109 adev->dma_reg = regs; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4110 /* DMAx_FIFO_SIZE is defined in bytes, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4111 * - is defined in number of CDB pointers (8byte). 12458ea06efd7b Anatolij Gustschin 2009-12-11 4112 * DMA FIFO Length = CSlength + CPlength, where 12458ea06efd7b Anatolij Gustschin 2009-12-11 4113 * CSlength = CPlength = (fsiz + 1) * 8. 12458ea06efd7b Anatolij Gustschin 2009-12-11 4114 */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4115 iowrite32(DMA_FIFO_ENABLE | ((fifo_size >> 3) - 2), 12458ea06efd7b Anatolij Gustschin 2009-12-11 4116 &adev->dma_reg->fsiz); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4117 /* Configure DMA engine */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4118 iowrite32(DMA_CFG_DXEPR_HP | DMA_CFG_DFMPP_HP | DMA_CFG_FALGN, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4119 &adev->dma_reg->cfg); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4120 /* Clear Status */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4121 iowrite32(~0, &adev->dma_reg->dsts); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4122 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4123 12458ea06efd7b Anatolij Gustschin 2009-12-11 4124 adev->dev = &ofdev->dev; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4125 adev->common.dev = &ofdev->dev; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4126 INIT_LIST_HEAD(&adev->common.channels); dd3daca162f741 Jingoo Han 2013-05-24 4127 platform_set_drvdata(ofdev, adev); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4128 12458ea06efd7b Anatolij Gustschin 2009-12-11 4129 /* create a channel */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4130 chan = kzalloc(sizeof(*chan), GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4131 if (!chan) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4132 initcode = PPC_ADMA_INIT_CHANNEL; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4133 ret = -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4134 goto err_chan_alloc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4135 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4136 12458ea06efd7b Anatolij Gustschin 2009-12-11 4137 spin_lock_init(&chan->lock); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4138 INIT_LIST_HEAD(&chan->chain); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4139 INIT_LIST_HEAD(&chan->all_slots); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4140 chan->device = adev; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4141 chan->common.device = &adev->common; 8ac695463f37af Russell King - ARM Linux 2012-03-06 4142 dma_cookie_init(&chan->common); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4143 list_add_tail(&chan->common.device_node, &adev->common.channels); 7f8281765f9949 Allen Pais 2020-08-31 4144 tasklet_setup(&chan->irq_tasklet, ppc440spe_adma_tasklet); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4145 12458ea06efd7b Anatolij Gustschin 2009-12-11 4146 /* allocate and map helper pages for async validation or 12458ea06efd7b Anatolij Gustschin 2009-12-11 4147 * async_mult/async_sum_product operations on DMA0/1. 12458ea06efd7b Anatolij Gustschin 2009-12-11 4148 */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4149 if (adev->id != PPC440SPE_XOR_ID) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4150 chan->pdest_page = alloc_page(GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4151 chan->qdest_page = alloc_page(GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4152 if (!chan->pdest_page || 12458ea06efd7b Anatolij Gustschin 2009-12-11 4153 !chan->qdest_page) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4154 if (chan->pdest_page) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4155 __free_page(chan->pdest_page); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4156 if (chan->qdest_page) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4157 __free_page(chan->qdest_page); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4158 ret = -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4159 goto err_page_alloc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4160 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4161 chan->pdest = dma_map_page(&ofdev->dev, chan->pdest_page, 0, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4162 PAGE_SIZE, DMA_BIDIRECTIONAL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4163 chan->qdest = dma_map_page(&ofdev->dev, chan->qdest_page, 0, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4164 PAGE_SIZE, DMA_BIDIRECTIONAL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4165 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4166 12458ea06efd7b Anatolij Gustschin 2009-12-11 4167 ref = kmalloc(sizeof(*ref), GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4168 if (ref) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4169 ref->chan = &chan->common; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4170 INIT_LIST_HEAD(&ref->node); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4171 list_add_tail(&ref->node, &ppc440spe_adma_chan_list); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4172 } else { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4173 dev_err(&ofdev->dev, "failed to allocate channel reference!\n"); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4174 ret = -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4175 goto err_ref_alloc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4176 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4177 12458ea06efd7b Anatolij Gustschin 2009-12-11 4178 ret = ppc440spe_adma_setup_irqs(adev, chan, &initcode); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4179 if (ret) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4180 goto err_irq; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4181 12458ea06efd7b Anatolij Gustschin 2009-12-11 4182 ppc440spe_adma_init_capabilities(adev); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4183 12458ea06efd7b Anatolij Gustschin 2009-12-11 4184 ret = dma_async_device_register(&adev->common); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4185 if (ret) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4186 initcode = PPC_ADMA_INIT_REGISTER; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4187 dev_err(&ofdev->dev, "failed to register dma device\n"); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4188 goto err_dev_reg; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4189 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4190 12458ea06efd7b Anatolij Gustschin 2009-12-11 4191 goto out; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4192 12458ea06efd7b Anatolij Gustschin 2009-12-11 4193 err_dev_reg: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4194 ppc440spe_adma_release_irqs(adev, chan); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4195 err_irq: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4196 list_for_each_entry_safe(ref, _ref, &ppc440spe_adma_chan_list, node) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4197 if (chan == to_ppc440spe_adma_chan(ref->chan)) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4198 list_del(&ref->node); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4199 kfree(ref); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4200 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4201 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4202 err_ref_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4203 if (adev->id != PPC440SPE_XOR_ID) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4204 dma_unmap_page(&ofdev->dev, chan->pdest, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4205 PAGE_SIZE, DMA_BIDIRECTIONAL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4206 dma_unmap_page(&ofdev->dev, chan->qdest, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4207 PAGE_SIZE, DMA_BIDIRECTIONAL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4208 __free_page(chan->pdest_page); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4209 __free_page(chan->qdest_page); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4210 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4211 err_page_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4212 kfree(chan); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4213 err_chan_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4214 if (adev->id == PPC440SPE_XOR_ID) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4215 iounmap(adev->xor_reg); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4216 else 12458ea06efd7b Anatolij Gustschin 2009-12-11 4217 iounmap(adev->dma_reg); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4218 err_regs_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4219 dma_free_coherent(adev->dev, adev->pool_size, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4220 adev->dma_desc_pool_virt, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4221 adev->dma_desc_pool); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4222 err_dma_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4223 kfree(adev); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4224 err_adev_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4225 release_mem_region(res.start, resource_size(&res)); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4226 out: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4227 if (id < PPC440SPE_ADMA_ENGINES_NUM) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4228 ppc440spe_adma_devices[id] = initcode; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4229 12458ea06efd7b Anatolij Gustschin 2009-12-11 4230 return ret; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4231 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4232 :::::: The code at line 4094 was first introduced by commit :::::: 12458ea06efd7b44281e68fe59c950ec7d59c649 ppc440spe-adma: adds updated ppc440spe adma driver :::::: TO: Anatolij Gustschin :::::: CC: Dan Williams --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --XsQoSWH+UP9D9v3l Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --XsQoSWH+UP9D9v3l-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3765802229366092057==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [linux-next:master 1782/12085] drivers/dma/ppc4xx/adma.c:4094:14: sparse: sparse: incorrect type in assignment (different address spaces) Date: Thu, 10 Dec 2020 10:30:23 +0800 Message-ID: <202012101016.0qanTLBw-lkp@intel.com> List-Id: --===============3765802229366092057== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git= master head: 2f1d5c77f13fe64497c2e2601605f7d7ec4da9b1 commit: 68f35add4ba4c850a33878633e10c02d7ba32d84 [1782/12085] dmaengine: pp= c4xx: make ppc440spe_adma_chan_list static config: powerpc64-randconfig-s032-20201209 (attached as .config) compiler: powerpc-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-179-ga00755aa-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.g= it/commit/?id=3D68f35add4ba4c850a33878633e10c02d7ba32d84 git remote add linux-next https://git.kernel.org/pub/scm/linux/kern= el/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 68f35add4ba4c850a33878633e10c02d7ba32d84 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-9.3.0 make.cross = C=3D1 CF=3D'-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=3Dpowerpc64 = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot "sparse warnings: (new ones prefixed by >>)" drivers/dma/ppc4xx/adma.c:1159:38: sparse: sparse: incorrect type in arg= ument 2 (different address spaces) @@ expected void [noderef] __iomem *= @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1159:38: sparse: expected void [noderef] _= _iomem * drivers/dma/ppc4xx/adma.c:1159:38: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:911:25: sparse: sparse: incorrect type in assi= gnment (different address spaces) @@ expected struct dma_regs *dma_reg = @@ got struct dma_regs [noderef] __iomem *dma_reg @@ drivers/dma/ppc4xx/adma.c:911:25: sparse: expected struct dma_regs *= dma_reg drivers/dma/ppc4xx/adma.c:911:25: sparse: got struct dma_regs [noder= ef] __iomem *dma_reg drivers/dma/ppc4xx/adma.c:912:40: sparse: sparse: incorrect type in argu= ment 1 (different address spaces) @@ expected void const [noderef] __io= mem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:912:40: sparse: expected void const [noder= ef] __iomem * drivers/dma/ppc4xx/adma.c:912:40: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __l= e32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __l= e32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __l= e32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __l= e32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __l= e32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __l= e32 drivers/dma/ppc4xx/adma.c:974:32: sparse: sparse: incorrect type in argu= ment 1 (different address spaces) @@ expected void const [noderef] __io= mem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:974:32: sparse: expected void const [noder= ef] __iomem * drivers/dma/ppc4xx/adma.c:974:32: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:979:40: sparse: sparse: incorrect type in argu= ment 2 (different address spaces) @@ expected void [noderef] __iomem * = @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:979:40: sparse: expected void [noderef] __= iomem * drivers/dma/ppc4xx/adma.c:979:40: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:984:25: sparse: sparse: incorrect type in assi= gnment (different address spaces) @@ expected struct xor_regs *xor_reg = @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:984:25: sparse: expected struct xor_regs *= xor_reg drivers/dma/ppc4xx/adma.c:984:25: sparse: got struct xor_regs [noder= ef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:985:34: sparse: sparse: incorrect type in argu= ment 1 (different address spaces) @@ expected void const [noderef] __io= mem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:985:34: sparse: expected void const [noder= ef] __iomem * drivers/dma/ppc4xx/adma.c:985:34: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:986:34: sparse: sparse: incorrect type in argu= ment 2 (different address spaces) @@ expected void [noderef] __iomem * = @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:986:34: sparse: expected void [noderef] __= iomem * drivers/dma/ppc4xx/adma.c:986:34: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:993:55: sparse: sparse: incorrect type in argu= ment 1 (different address spaces) @@ expected void const [noderef] __io= mem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:993:55: sparse: expected void const [noder= ef] __iomem * drivers/dma/ppc4xx/adma.c:993:55: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:995:51: sparse: sparse: incorrect type in argu= ment 2 (different address spaces) @@ expected void [noderef] __iomem * = @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:995:51: sparse: expected void [noderef] __= iomem * drivers/dma/ppc4xx/adma.c:995:51: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:997:51: sparse: sparse: incorrect type in argu= ment 1 (different address spaces) @@ expected void const [noderef] __io= mem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:997:51: sparse: expected void const [noder= ef] __iomem * drivers/dma/ppc4xx/adma.c:997:51: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:999:46: sparse: sparse: incorrect type in argu= ment 2 (different address spaces) @@ expected void [noderef] __iomem * = @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:999:46: sparse: expected void [noderef] __= iomem * drivers/dma/ppc4xx/adma.c:999:46: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1008:35: sparse: sparse: incorrect type in arg= ument 1 (different address spaces) @@ expected void const [noderef] __i= omem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1008:35: sparse: expected void const [node= ref] __iomem * drivers/dma/ppc4xx/adma.c:1008:35: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1027:25: sparse: sparse: incorrect type in ass= ignment (different address spaces) @@ expected struct dma_regs *dma_reg= @@ got struct dma_regs [noderef] __iomem *dma_reg @@ drivers/dma/ppc4xx/adma.c:1027:25: sparse: expected struct dma_regs = *dma_reg drivers/dma/ppc4xx/adma.c:1027:25: sparse: got struct dma_regs [node= ref] __iomem *dma_reg drivers/dma/ppc4xx/adma.c:1031:31: sparse: sparse: incorrect type in arg= ument 1 (different address spaces) @@ expected void const [noderef] __i= omem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1031:31: sparse: expected void const [node= ref] __iomem * drivers/dma/ppc4xx/adma.c:1031:31: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1031:60: sparse: sparse: incorrect type in arg= ument 1 (different address spaces) @@ expected void const [noderef] __i= omem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1031:60: sparse: expected void const [node= ref] __iomem * drivers/dma/ppc4xx/adma.c:1031:60: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1032:31: sparse: sparse: incorrect type in arg= ument 1 (different address spaces) @@ expected void const [noderef] __i= omem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1032:31: sparse: expected void const [node= ref] __iomem * drivers/dma/ppc4xx/adma.c:1032:31: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1032:60: sparse: sparse: incorrect type in arg= ument 1 (different address spaces) @@ expected void const [noderef] __i= omem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1032:60: sparse: expected void const [node= ref] __iomem * drivers/dma/ppc4xx/adma.c:1032:60: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1038:25: sparse: sparse: incorrect type in ass= ignment (different address spaces) @@ expected struct xor_regs *xor_reg= @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1038:25: sparse: expected struct xor_regs = *xor_reg drivers/dma/ppc4xx/adma.c:1038:25: sparse: got struct xor_regs [node= ref] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1039:37: sparse: sparse: incorrect type in arg= ument 1 (different address spaces) @@ expected void const [noderef] __i= omem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1039:37: sparse: expected void const [node= ref] __iomem * drivers/dma/ppc4xx/adma.c:1039:37: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1053:48: sparse: sparse: incorrect type in ini= tializer (different address spaces) @@ expected struct xor_regs *xor_re= g @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1053:48: sparse: expected struct xor_regs = *xor_reg drivers/dma/ppc4xx/adma.c:1053:48: sparse: got struct xor_regs [node= ref] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1055:25: sparse: sparse: incorrect type in arg= ument 1 (different address spaces) @@ expected void const [noderef] __i= omem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1055:25: sparse: expected void const [node= ref] __iomem * drivers/dma/ppc4xx/adma.c:1055:25: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1062:41: sparse: sparse: incorrect type in arg= ument 2 (different address spaces) @@ expected void [noderef] __iomem *= @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1062:41: sparse: expected void [noderef] _= _iomem * drivers/dma/ppc4xx/adma.c:1062:41: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1064:39: sparse: sparse: incorrect type in arg= ument 2 (different address spaces) @@ expected void [noderef] __iomem *= @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1064:39: sparse: expected void [noderef] _= _iomem * drivers/dma/ppc4xx/adma.c:1064:39: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1065:25: sparse: sparse: incorrect type in arg= ument 2 (different address spaces) @@ expected void [noderef] __iomem *= @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1065:25: sparse: expected void [noderef] _= _iomem * drivers/dma/ppc4xx/adma.c:1065:25: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1066:33: sparse: sparse: incorrect type in arg= ument 1 (different address spaces) @@ expected void const [noderef] __i= omem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1066:33: sparse: expected void const [node= ref] __iomem * drivers/dma/ppc4xx/adma.c:1066:33: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1067:22: sparse: sparse: incorrect type in arg= ument 2 (different address spaces) @@ expected void [noderef] __iomem *= @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1067:22: sparse: expected void [noderef] _= _iomem * drivers/dma/ppc4xx/adma.c:1067:22: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1080:48: sparse: sparse: incorrect type in ini= tializer (different address spaces) @@ expected struct dma_regs *dma_re= g @@ got struct dma_regs [noderef] __iomem *dma_reg @@ drivers/dma/ppc4xx/adma.c:1080:48: sparse: expected struct dma_regs = *dma_reg drivers/dma/ppc4xx/adma.c:1080:48: sparse: got struct dma_regs [node= ref] __iomem *dma_reg drivers/dma/ppc4xx/adma.c:1090:26: sparse: sparse: incorrect type in arg= ument 2 (different address spaces) @@ expected void [noderef] __iomem *= @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1090:26: sparse: expected void [noderef] _= _iomem * drivers/dma/ppc4xx/adma.c:1090:26: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1210:25: sparse: sparse: incorrect type in ass= ignment (different address spaces) @@ expected struct xor_regs *xor_reg= @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1210:25: sparse: expected struct xor_regs = *xor_reg drivers/dma/ppc4xx/adma.c:1210:25: sparse: got struct xor_regs [node= ref] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1214:30: sparse: sparse: incorrect type in arg= ument 2 (different address spaces) @@ expected void [noderef] __iomem *= @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1214:30: sparse: expected void [noderef] _= _iomem * drivers/dma/ppc4xx/adma.c:1214:30: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:2777:62: sparse: sparse: Using plain integer a= s NULL pointer >> drivers/dma/ppc4xx/adma.c:4094:14: sparse: sparse: incorrect type in ass= ignment (different address spaces) @@ expected void *regs @@ got vo= id [noderef] __iomem * @@ drivers/dma/ppc4xx/adma.c:4094:14: sparse: expected void *regs drivers/dma/ppc4xx/adma.c:4094:14: sparse: got void [noderef] __iome= m * drivers/dma/ppc4xx/adma.c:4102:31: sparse: sparse: too many warnings vim +4094 drivers/dma/ppc4xx/adma.c 12458ea06efd7b Anatolij Gustschin 2009-12-11 4003 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4004 /** 12458ea06efd7b Anatolij Gustschin 2009-12-11 4005 * ppc440spe_adma= _probe - probe the asynch device 12458ea06efd7b Anatolij Gustschin 2009-12-11 4006 */ 463a1f8b3ceebe Bill Pemberton 2012-11-19 4007 static int ppc440= spe_adma_probe(struct platform_device *ofdev) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4008 { 05c02542c20aa0 Anatolij Gustschin 2010-06-03 4009 struct device_no= de *np =3D ofdev->dev.of_node; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4010 struct resource = res; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4011 struct ppc440spe= _adma_device *adev; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4012 struct ppc440spe= _adma_chan *chan; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4013 struct ppc_dma_c= han_ref *ref, *_ref; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4014 int ret =3D 0, i= nitcode =3D PPC_ADMA_INIT_OK; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4015 const u32 *idx; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4016 int len; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4017 void *regs; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4018 u32 id, pool_siz= e; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4019 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4020 if (of_device_is= _compatible(np, "amcc,xor-accelerator")) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4021 id =3D PPC440SP= E_XOR_ID; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4022 /* As far as th= e XOR engine is concerned, it does not 12458ea06efd7b Anatolij Gustschin 2009-12-11 4023 * use FIFOs bu= t uses linked list. So there is no dependency 12458ea06efd7b Anatolij Gustschin 2009-12-11 4024 * between pool= size to allocate and the engine configuration. 12458ea06efd7b Anatolij Gustschin 2009-12-11 4025 */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4026 pool_size =3D P= AGE_SIZE << 1; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4027 } else { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4028 /* it is DMA0 o= r DMA1 */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4029 idx =3D of_get_= property(np, "cell-index", &len); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4030 if (!idx || (le= n !=3D sizeof(u32))) { c6c93048baff25 Rob Herring 2017-07-18 4031 dev_err(&ofdev= ->dev, "Device node %pOF has missing " 12458ea06efd7b Anatolij Gustschin 2009-12-11 4032 "or invalid c= ell-index property\n", c6c93048baff25 Rob Herring 2017-07-18 4033 np); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4034 return -EINVAL; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4035 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4036 id =3D *idx; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4037 /* DMA0,1 engin= es use FIFO to maintain CDBs, so we 12458ea06efd7b Anatolij Gustschin 2009-12-11 4038 * should alloc= ate the pool accordingly to size of this 12458ea06efd7b Anatolij Gustschin 2009-12-11 4039 * FIFO. Thus, = the pool size depends on the FIFO depth: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4040 * how much CDB= s pointers the FIFO may contain then so 12458ea06efd7b Anatolij Gustschin 2009-12-11 4041 * much CDBs we= should provide in the pool. 12458ea06efd7b Anatolij Gustschin 2009-12-11 4042 * That is 12458ea06efd7b Anatolij Gustschin 2009-12-11 4043 * CDB size = =3D 32B; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4044 * CDBs numbe= r =3D (DMA0_FIFO_SIZE >> 3); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4045 * Pool size = =3D CDBs number * CDB size =3D 12458ea06efd7b Anatolij Gustschin 2009-12-11 4046 * =3D (DM= A0_FIFO_SIZE >> 3) << 5 =3D DMA0_FIFO_SIZE << 2. 12458ea06efd7b Anatolij Gustschin 2009-12-11 4047 */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4048 pool_size =3D (= id =3D=3D PPC440SPE_DMA0_ID) ? 12458ea06efd7b Anatolij Gustschin 2009-12-11 4049 DMA0_FIFO_= SIZE : DMA1_FIFO_SIZE; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4050 pool_size <<=3D= 2; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4051 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4052 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4053 if (of_address_t= o_resource(np, 0, &res)) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4054 dev_err(&ofdev-= >dev, "failed to get memory resource\n"); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4055 initcode =3D PP= C_ADMA_INIT_MEMRES; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4056 ret =3D -ENODEV; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4057 goto out; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4058 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4059 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4060 if (!request_mem= _region(res.start, resource_size(&res), 12458ea06efd7b Anatolij Gustschin 2009-12-11 4061 dev_driver_st= ring(&ofdev->dev))) { a584bff5efae8c Joe Perches 2010-11-12 4062 dev_err(&ofdev-= >dev, "failed to request memory region %pR\n", a584bff5efae8c Joe Perches 2010-11-12 4063 &res); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4064 initcode =3D PP= C_ADMA_INIT_MEMREG; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4065 ret =3D -EBUSY; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4066 goto out; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4067 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4068 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4069 /* create a devi= ce */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4070 adev =3D kzalloc= (sizeof(*adev), GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4071 if (!adev) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4072 initcode =3D PP= C_ADMA_INIT_ALLOC; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4073 ret =3D -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4074 goto err_adev_a= lloc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4075 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4076 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4077 adev->id =3D id; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4078 adev->pool_size = =3D pool_size; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4079 /* allocate cohe= rent memory for hardware descriptors */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4080 adev->dma_desc_p= ool_virt =3D dma_alloc_coherent(&ofdev->dev, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4081 adev->pool_s= ize, &adev->dma_desc_pool, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4082 GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4083 if (adev->dma_de= sc_pool_virt =3D=3D NULL) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4084 dev_err(&ofdev-= >dev, "failed to allocate %d bytes of coherent " 12458ea06efd7b Anatolij Gustschin 2009-12-11 4085 "memory for ha= rdware descriptors\n", 12458ea06efd7b Anatolij Gustschin 2009-12-11 4086 adev->pool_siz= e); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4087 initcode =3D PP= C_ADMA_INIT_COHERENT; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4088 ret =3D -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4089 goto err_dma_al= loc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4090 } d73111c6d43f08 Masanari Iida 2012-08-04 4091 dev_dbg(&ofdev->= dev, "allocated descriptor pool virt 0x%p phys 0x%llx\n", 12458ea06efd7b Anatolij Gustschin 2009-12-11 4092 adev->dma_desc_= pool_virt, (u64)adev->dma_desc_pool); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4093 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 @4094 regs =3D ioremap= (res.start, resource_size(&res)); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4095 if (!regs) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4096 dev_err(&ofdev-= >dev, "failed to ioremap regs!\n"); f3b77727e82722 Julia Lawall 2013-12-29 4097 ret =3D -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4098 goto err_regs_a= lloc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4099 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4100 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4101 if (adev->id =3D= =3D PPC440SPE_XOR_ID) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4102 adev->xor_reg = =3D regs; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4103 /* Reset XOR */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4104 iowrite32be(XOR= _CRSR_XASR_BIT, &adev->xor_reg->crsr); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4105 iowrite32be(XOR= _CRSR_64BA_BIT, &adev->xor_reg->crrr); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4106 } else { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4107 size_t fifo_siz= e =3D (adev->id =3D=3D PPC440SPE_DMA0_ID) ? 12458ea06efd7b Anatolij Gustschin 2009-12-11 4108 DMA0_FIFO_= SIZE : DMA1_FIFO_SIZE; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4109 adev->dma_reg = =3D regs; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4110 /* DMAx_FIFO_SI= ZE is defined in bytes, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4111 * - is = defined in number of CDB pointers (8byte). 12458ea06efd7b Anatolij Gustschin 2009-12-11 4112 * DMA FIFO Len= gth =3D CSlength + CPlength, where 12458ea06efd7b Anatolij Gustschin 2009-12-11 4113 * CSlength =3D= CPlength =3D (fsiz + 1) * 8. 12458ea06efd7b Anatolij Gustschin 2009-12-11 4114 */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4115 iowrite32(DMA_F= IFO_ENABLE | ((fifo_size >> 3) - 2), 12458ea06efd7b Anatolij Gustschin 2009-12-11 4116 &adev->dma_r= eg->fsiz); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4117 /* Configure DM= A engine */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4118 iowrite32(DMA_C= FG_DXEPR_HP | DMA_CFG_DFMPP_HP | DMA_CFG_FALGN, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4119 &adev->dma_r= eg->cfg); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4120 /* Clear Status= */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4121 iowrite32(~0, &= adev->dma_reg->dsts); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4122 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4123 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4124 adev->dev =3D &o= fdev->dev; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4125 adev->common.dev= =3D &ofdev->dev; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4126 INIT_LIST_HEAD(&= adev->common.channels); dd3daca162f741 Jingoo Han 2013-05-24 4127 platform_set_drv= data(ofdev, adev); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4128 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4129 /* create a chan= nel */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4130 chan =3D kzalloc= (sizeof(*chan), GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4131 if (!chan) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4132 initcode =3D PP= C_ADMA_INIT_CHANNEL; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4133 ret =3D -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4134 goto err_chan_a= lloc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4135 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4136 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4137 spin_lock_init(&= chan->lock); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4138 INIT_LIST_HEAD(&= chan->chain); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4139 INIT_LIST_HEAD(&= chan->all_slots); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4140 chan->device =3D= adev; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4141 chan->common.dev= ice =3D &adev->common; 8ac695463f37af Russell King - ARM Linux 2012-03-06 4142 dma_cookie_init(= &chan->common); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4143 list_add_tail(&c= han->common.device_node, &adev->common.channels); 7f8281765f9949 Allen Pais 2020-08-31 4144 tasklet_setup(&c= han->irq_tasklet, ppc440spe_adma_tasklet); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4145 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4146 /* allocate and = map helper pages for async validation or 12458ea06efd7b Anatolij Gustschin 2009-12-11 4147 * async_mult/as= ync_sum_product operations on DMA0/1. 12458ea06efd7b Anatolij Gustschin 2009-12-11 4148 */ 12458ea06efd7b Anatolij Gustschin 2009-12-11 4149 if (adev->id != =3D PPC440SPE_XOR_ID) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4150 chan->pdest_pag= e =3D alloc_page(GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4151 chan->qdest_pag= e =3D alloc_page(GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4152 if (!chan->pdes= t_page || 12458ea06efd7b Anatolij Gustschin 2009-12-11 4153 !chan->qdes= t_page) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4154 if (chan->pdes= t_page) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4155 __free_page(c= han->pdest_page); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4156 if (chan->qdes= t_page) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4157 __free_page(c= han->qdest_page); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4158 ret =3D -ENOME= M; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4159 goto err_page_= alloc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4160 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4161 chan->pdest =3D= dma_map_page(&ofdev->dev, chan->pdest_page, 0, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4162 PAGE_SIZE= , DMA_BIDIRECTIONAL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4163 chan->qdest =3D= dma_map_page(&ofdev->dev, chan->qdest_page, 0, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4164 PAGE_SIZE= , DMA_BIDIRECTIONAL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4165 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4166 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4167 ref =3D kmalloc(= sizeof(*ref), GFP_KERNEL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4168 if (ref) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4169 ref->chan =3D &= chan->common; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4170 INIT_LIST_HEAD(= &ref->node); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4171 list_add_tail(&= ref->node, &ppc440spe_adma_chan_list); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4172 } else { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4173 dev_err(&ofdev-= >dev, "failed to allocate channel reference!\n"); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4174 ret =3D -ENOMEM; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4175 goto err_ref_al= loc; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4176 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4177 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4178 ret =3D ppc440sp= e_adma_setup_irqs(adev, chan, &initcode); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4179 if (ret) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4180 goto err_irq; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4181 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4182 ppc440spe_adma_i= nit_capabilities(adev); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4183 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4184 ret =3D dma_asyn= c_device_register(&adev->common); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4185 if (ret) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4186 initcode =3D PP= C_ADMA_INIT_REGISTER; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4187 dev_err(&ofdev-= >dev, "failed to register dma device\n"); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4188 goto err_dev_re= g; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4189 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4190 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4191 goto out; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4192 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4193 err_dev_reg: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4194 ppc440spe_adma_r= elease_irqs(adev, chan); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4195 err_irq: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4196 list_for_each_en= try_safe(ref, _ref, &ppc440spe_adma_chan_list, node) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4197 if (chan =3D=3D= to_ppc440spe_adma_chan(ref->chan)) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4198 list_del(&ref-= >node); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4199 kfree(ref); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4200 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4201 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4202 err_ref_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4203 if (adev->id != =3D PPC440SPE_XOR_ID) { 12458ea06efd7b Anatolij Gustschin 2009-12-11 4204 dma_unmap_page(= &ofdev->dev, chan->pdest, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4205 PAGE_SI= ZE, DMA_BIDIRECTIONAL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4206 dma_unmap_page(= &ofdev->dev, chan->qdest, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4207 PAGE_SI= ZE, DMA_BIDIRECTIONAL); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4208 __free_page(cha= n->pdest_page); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4209 __free_page(cha= n->qdest_page); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4210 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4211 err_page_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4212 kfree(chan); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4213 err_chan_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4214 if (adev->id =3D= =3D PPC440SPE_XOR_ID) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4215 iounmap(adev->x= or_reg); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4216 else 12458ea06efd7b Anatolij Gustschin 2009-12-11 4217 iounmap(adev->d= ma_reg); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4218 err_regs_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4219 dma_free_coheren= t(adev->dev, adev->pool_size, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4220 adev->dma_de= sc_pool_virt, 12458ea06efd7b Anatolij Gustschin 2009-12-11 4221 adev->dma_de= sc_pool); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4222 err_dma_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4223 kfree(adev); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4224 err_adev_alloc: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4225 release_mem_regi= on(res.start, resource_size(&res)); 12458ea06efd7b Anatolij Gustschin 2009-12-11 4226 out: 12458ea06efd7b Anatolij Gustschin 2009-12-11 4227 if (id < PPC440S= PE_ADMA_ENGINES_NUM) 12458ea06efd7b Anatolij Gustschin 2009-12-11 4228 ppc440spe_adma_= devices[id] =3D initcode; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4229 = 12458ea06efd7b Anatolij Gustschin 2009-12-11 4230 return ret; 12458ea06efd7b Anatolij Gustschin 2009-12-11 4231 } 12458ea06efd7b Anatolij Gustschin 2009-12-11 4232 = :::::: The code@line 4094 was first introduced by commit :::::: 12458ea06efd7b44281e68fe59c950ec7d59c649 ppc440spe-adma: adds update= d ppc440spe adma driver :::::: TO: Anatolij Gustschin :::::: CC: Dan Williams --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============3765802229366092057== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 RbBTk+kVAgA= --===============3765802229366092057==--