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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A12BAC433EF for ; Sat, 18 Dec 2021 10:00:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:cc:To: From:Date:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=gdyWtZEWmyqLkzbxLZg33rhqbYoQ0TPdrlLSnp9kpwk=; b=vzArxXkGh6p3RY 83wvyHkDSB9mihoeHWY5J4MT0vnWRJEAy4inVJRG0LLYIB6DnFgrqaBE9E3ndFrTJJQSfjPAXJISg n183Jw90zzyUPZAtKJon3pmQNkmwApZ+nXuMDbnbf+Ju308bvthwMNRFe5MeNQmkjGXefb2VsW6qS WDMtCohllVoMVfcSIeh6WdqudS3qrJSsy2MyZQsuq84vSxUPOjfUWW0sLTd7/YHOk4vgYgbJfh6Tb s519EJ/8tFnaNUxcqgh6VgNGQDtDqKxvHsNWYB5PMvIJzyJqYbpDVm4D9fLUmK6g+IQPGETUqkb6H 2c7VEJmW2+4gcEPrgYRQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1myWUW-00DROw-1r; Sat, 18 Dec 2021 09:59:00 +0000 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1myWTy-00DR9e-9q for linux-arm-kernel@lists.infradead.org; Sat, 18 Dec 2021 09:58:29 +0000 IronPort-Data: =?us-ascii?q?A9a23=3ANs+E6qNf0OWjmnnvrR03lcFynXyQoLVcMsFnjC/?= =?us-ascii?q?WdVO+0T8j12QBnTAeWGiObKmMYDTwfIokaojj9hgFuZXWm99gGjLY11k9FiMQ8?= =?us-ascii?q?ZKt6fexdxqrYXvKdqUvdK/WhiknQoGowPscEzmM9n9BDpC79SMljPvRFuKlYAL?= =?us-ascii?q?5EnsZqTFMGX5JZS1Ly7ZRbr5A2bBVMivV0T/Ai5W31GyNh1aYBlkpB5er83uDi?= =?us-ascii?q?hhdVAQw5TTSbdgT1LPXeuJ84Jg3fcldJFOgKmVY83LTegrN8F251juxExYFCtq?= =?us-ascii?q?piLf2dCXmQJaCYE7Q2jwPAfHk20cZzsAx+v9T2P40a1pTijzPm9luwdFJnZ22U?= =?us-ascii?q?wYgeKPW8AgYe0ABTHkiZ/wakFPACT3l2SCJ9GXfbnLq0vxoAwcpNIsX0vl2B21?= =?us-ascii?q?U9OIVMnYGaRXrr+exxqmnUMFpgcI4MNOtMZ53knhlzC2fDusjSIqGRqzK7MdRw?= =?us-ascii?q?C05rtBPGffYd4wSbj8HRBDBZQBff14NDdc9kf2ui33XdzxDtEnTpKw5+WHfwQV?= =?us-ascii?q?9lr/3P7L9edaXRMFZ20+cokrC/n/lGVdCbZqY0zXtz54GrocjhguiB9lUTefhs?= =?us-ascii?q?KA6xg3OgHYeFlsNW0H9p/Sl4nNSkul3cyQ8khfCZ4BrnKBzcuTAYg=3D=3D?= IronPort-HdrOrdr: =?us-ascii?q?A9a23=3AOjf5Cq3f6Nfc504qYn9towqjBKskLtp133Aq?= =?us-ascii?q?2lEZdPU1SK2lfq+V98jzuSWftN9zYh8dcLK7VJVoKEm0naKdirN/AV7NZmTbUR?= =?us-ascii?q?OTXeJfBNzZowHdJw=3D=3D?= X-IronPort-AV: E=Sophos;i="5.88,216,1635199200"; d="scan'208";a="11704294" Received: from 173.121.68.85.rev.sfr.net (HELO hadrien) ([85.68.121.173]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Dec 2021 10:58:22 +0100 Date: Sat, 18 Dec 2021 10:58:22 +0100 (CET) From: Julia Lawall X-X-Sender: jll@hadrien To: Quanyang Wang cc: Michal Simek , Amit Kumar Mahapatra , linux-arm-kernel@lists.infradead.org, kbuild-all@lists.01.org Subject: [xilinx-xlnx:xlnx_rebase_v5.10 65/1981] drivers/spi/spi-zynqmp-gqspi.c:968:3-9: preceding lock on line 959 (fwd) Message-ID: User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211218_015826_799614_C68FAF6C X-CRM114-Status: UNSURE ( 9.88 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hello, Line 968 seems to need an unlock. julia ---------- Forwarded message ---------- Date: Sat, 18 Dec 2021 03:01:38 +0800 From: kernel test robot To: kbuild@lists.01.org Cc: lkp@intel.com, Julia Lawall Subject: [xilinx-xlnx:xlnx_rebase_v5.10 65/1981] drivers/spi/spi-zynqmp-gqspi.c:968:3-9: preceding lock on line 959 CC: kbuild-all@lists.01.org CC: linux-arm-kernel@lists.infradead.org TO: Quanyang Wang CC: Michal Simek CC: Amit Kumar Mahapatra tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.10 head: 87ec9a2d98a7a7dfc98b57348a0ec310fd170e4b commit: bc753db9c74d949b33bbb8b08a9b6340b57a444f [65/1981] spi: spi-zynqmp-gqspi: add mutex locking for exec_op :::::: branch date: 3 days ago :::::: commit date: 9 months ago config: x86_64-randconfig-c002-20211216 (https://download.01.org/0day-ci/archive/20211218/202112180238.NUlXfiNL-lkp@intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Julia Lawall cocci warnings: (new ones prefixed by >>) >> drivers/spi/spi-zynqmp-gqspi.c:968:3-9: preceding lock on line 959 vim +968 drivers/spi/spi-zynqmp-gqspi.c 9e3a000362aecb Naga Sureshkumar Relli 2018-03-26 934 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 935 /** 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 936 * zynqmp_qspi_exec_op() - Initiates the QSPI transfer 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 937 * @mem: The SPI memory 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 938 * @op: The memory operation to execute 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 939 * 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 940 * Executes a memory operation. 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 941 * 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 942 * This function first selects the chip and starts the memory operation. 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 943 * 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 944 * Return: 0 in case of success, a negative error code otherwise. 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 945 */ 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 946 static int zynqmp_qspi_exec_op(struct spi_mem *mem, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 947 const struct spi_mem_op *op) 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 948 { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 949 struct zynqmp_qspi *xqspi = spi_controller_get_devdata 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 950 (mem->spi->master); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 951 int err = 0, i; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 952 u8 *tmpbuf; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 953 u32 genfifoentry = 0; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 954 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 955 dev_dbg(xqspi->dev, "cmd:%#x mode:%d.%d.%d.%d\n", 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 956 op->cmd.opcode, op->cmd.buswidth, op->addr.buswidth, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 957 op->dummy.buswidth, op->data.buswidth); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 958 bc753db9c74d94 Quanyang Wang 2020-11-19 @959 mutex_lock(&xqspi->op_lock); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 960 zynqmp_qspi_config_op(xqspi, mem->spi); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 961 zynqmp_qspi_chipselect(mem->spi, false); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 962 genfifoentry |= xqspi->genfifocs; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 963 genfifoentry |= xqspi->genfifobus; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 964 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 965 if (op->cmd.opcode) { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 966 tmpbuf = kzalloc(op->cmd.nbytes, GFP_KERNEL | GFP_DMA); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 967 if (!tmpbuf) 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 @968 return -ENOMEM; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 969 tmpbuf[0] = op->cmd.opcode; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 970 reinit_completion(&xqspi->data_completion); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 971 xqspi->txbuf = tmpbuf; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 972 xqspi->rxbuf = NULL; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 973 xqspi->bytes_to_transfer = op->cmd.nbytes; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 974 xqspi->bytes_to_receive = 0; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 975 zynqmp_qspi_write_op(xqspi, op->cmd.buswidth, genfifoentry); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 976 zynqmp_gqspi_write(xqspi, GQSPI_CONFIG_OFST, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 977 zynqmp_gqspi_read(xqspi, GQSPI_CONFIG_OFST) | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 978 GQSPI_CFG_START_GEN_FIFO_MASK); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 979 zynqmp_gqspi_write(xqspi, GQSPI_IER_OFST, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 980 GQSPI_IER_GENFIFOEMPTY_MASK | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 981 GQSPI_IER_TXNOT_FULL_MASK); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 982 if (!wait_for_completion_interruptible_timeout 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 983 (&xqspi->data_completion, msecs_to_jiffies(1000))) { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 984 err = -ETIMEDOUT; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 985 kfree(tmpbuf); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 986 goto return_err; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 987 } 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 988 kfree(tmpbuf); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 989 } 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 990 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 991 if (op->addr.nbytes) { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 992 for (i = 0; i < op->addr.nbytes; i++) { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 993 *(((u8 *)xqspi->txbuf) + i) = op->addr.val >> 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 994 (8 * (op->addr.nbytes - i - 1)); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 995 } 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 996 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 997 reinit_completion(&xqspi->data_completion); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 998 xqspi->rxbuf = NULL; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 999 xqspi->bytes_to_transfer = op->addr.nbytes; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1000 xqspi->bytes_to_receive = 0; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1001 zynqmp_qspi_write_op(xqspi, op->addr.buswidth, genfifoentry); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1002 zynqmp_gqspi_write(xqspi, GQSPI_CONFIG_OFST, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1003 zynqmp_gqspi_read(xqspi, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1004 GQSPI_CONFIG_OFST) | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1005 GQSPI_CFG_START_GEN_FIFO_MASK); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1006 zynqmp_gqspi_write(xqspi, GQSPI_IER_OFST, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1007 GQSPI_IER_TXEMPTY_MASK | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1008 GQSPI_IER_GENFIFOEMPTY_MASK | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1009 GQSPI_IER_TXNOT_FULL_MASK); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1010 if (!wait_for_completion_interruptible_timeout 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1011 (&xqspi->data_completion, msecs_to_jiffies(1000))) { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1012 err = -ETIMEDOUT; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1013 goto return_err; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1014 } 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1015 } 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1016 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1017 if (op->dummy.nbytes) { 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1018 xqspi->txbuf = NULL; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1019 xqspi->rxbuf = NULL; 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1020 /* 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1021 * xqspi->bytes_to_transfer here represents the dummy circles 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1022 * per data line. 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1023 */ 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1024 xqspi->bytes_to_transfer = op->dummy.nbytes * 8 / op->dummy.buswidth; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1025 xqspi->bytes_to_receive = 0; 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1026 /* 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1027 * Using op->data.buswidth instead of op->dummy.buswidth since 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1028 * the specification requires that the dummy.buswidth should 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1029 * be the same as data.buswidth. 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1030 */ 5e19e3ddfa5d4b Quanyang Wang 2020-11-16 1031 zynqmp_qspi_write_op(xqspi, op->data.buswidth, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1032 genfifoentry); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1033 zynqmp_gqspi_write(xqspi, GQSPI_CONFIG_OFST, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1034 zynqmp_gqspi_read(xqspi, GQSPI_CONFIG_OFST) | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1035 GQSPI_CFG_START_GEN_FIFO_MASK); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1036 } 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1037 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1038 if (op->data.nbytes) { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1039 reinit_completion(&xqspi->data_completion); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1040 if (op->data.dir == SPI_MEM_DATA_OUT) { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1041 xqspi->txbuf = (u8 *)op->data.buf.out; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1042 xqspi->rxbuf = NULL; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1043 xqspi->bytes_to_transfer = op->data.nbytes; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1044 xqspi->bytes_to_receive = 0; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1045 zynqmp_qspi_write_op(xqspi, op->data.buswidth, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1046 genfifoentry); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1047 zynqmp_gqspi_write(xqspi, GQSPI_CONFIG_OFST, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1048 zynqmp_gqspi_read 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1049 (xqspi, GQSPI_CONFIG_OFST) | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1050 GQSPI_CFG_START_GEN_FIFO_MASK); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1051 zynqmp_gqspi_write(xqspi, GQSPI_IER_OFST, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1052 GQSPI_IER_TXEMPTY_MASK | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1053 GQSPI_IER_GENFIFOEMPTY_MASK | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1054 GQSPI_IER_TXNOT_FULL_MASK); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1055 } else { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1056 xqspi->txbuf = NULL; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1057 xqspi->rxbuf = (u8 *)op->data.buf.in; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1058 xqspi->bytes_to_receive = op->data.nbytes; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1059 xqspi->bytes_to_transfer = 0; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1060 zynqmp_qspi_read_op(xqspi, op->data.buswidth, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1061 genfifoentry); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1062 zynqmp_gqspi_write(xqspi, GQSPI_CONFIG_OFST, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1063 zynqmp_gqspi_read 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1064 (xqspi, GQSPI_CONFIG_OFST) | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1065 GQSPI_CFG_START_GEN_FIFO_MASK); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1066 if (xqspi->mode == GQSPI_MODE_DMA) { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1067 zynqmp_gqspi_write 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1068 (xqspi, GQSPI_QSPIDMA_DST_I_EN_OFST, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1069 GQSPI_QSPIDMA_DST_I_EN_DONE_MASK); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1070 } else { 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1071 zynqmp_gqspi_write(xqspi, GQSPI_IER_OFST, 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1072 GQSPI_IER_GENFIFOEMPTY_MASK | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1073 GQSPI_IER_RXNEMPTY_MASK | 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1074 GQSPI_IER_RXEMPTY_MASK); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1075 } 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1076 } 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1077 if (!wait_for_completion_interruptible_timeout 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1078 (&xqspi->data_completion, msecs_to_jiffies(1000))) 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1079 err = -ETIMEDOUT; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1080 } 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1081 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1082 return_err: 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1083 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1084 zynqmp_qspi_chipselect(mem->spi, true); bc753db9c74d94 Quanyang Wang 2020-11-19 1085 mutex_unlock(&xqspi->op_lock); 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1086 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1087 return err; 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1088 } 1c26372e5aa9e5 Amit Kumar Mahapatra 2020-09-24 1089 :::::: The code at line 968 was first introduced by commit :::::: 1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e spi: spi-zynqmp-gqspi: Update driver to use spi-mem framework :::::: TO: Amit Kumar Mahapatra :::::: CC: Mark Brown --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel