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=-7.2 required=3.0 tests=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 61A56C10F00 for ; Sat, 7 Mar 2020 18:06:57 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 1067720663 for ; Sat, 7 Mar 2020 18:06:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1067720663 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 6CD886B0005; Sat, 7 Mar 2020 13:06:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 67E176B0006; Sat, 7 Mar 2020 13:06:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5933C6B0007; Sat, 7 Mar 2020 13:06:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3F2776B0005 for ; Sat, 7 Mar 2020 13:06:56 -0500 (EST) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id CEC95181AC9CC for ; Sat, 7 Mar 2020 18:06:55 +0000 (UTC) X-FDA: 76569347190.19.bath23_3c6c76ff08f60 X-HE-Tag: bath23_3c6c76ff08f60 X-Filterd-Recvd-Size: 6235 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by imf07.hostedemail.com (Postfix) with ESMTP for ; Sat, 7 Mar 2020 18:06:55 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Mar 2020 10:06:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,518,1574150400"; d="scan'208";a="259944786" Received: from lkp-server01.sh.intel.com (HELO lkp-server01) ([10.239.97.150]) by orsmga002.jf.intel.com with ESMTP; 07 Mar 2020 10:06:51 -0800 Received: from kbuild by lkp-server01 with local (Exim 4.89) (envelope-from ) id 1jAdqc-0001WI-MR; Sun, 08 Mar 2020 02:06:50 +0800 Date: Sun, 8 Mar 2020 02:06:45 +0800 From: kbuild test robot To: Andrew Morton Cc: kbuild-all@lists.01.org, Linux Memory Management List Subject: [linux-next:master 3010/7050] drivers/soc/fsl/dpio/qbman-portal.c:755:42: sparse: sparse: incorrect type in argument 1 (different address spaces) Message-ID: <202003080243.yoQ5ZJhO%lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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: tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: b86a6a241b7c60ca7a6ca4fb3c0d2aedbbf2c1b6 commit: 3b2abda7d28c69f564c1157b9b9c21ef40092ee9 [3010/7050] soc: fsl: dpio: Replace QMAN array mode with ring mode enqueue reproduce: # apt-get install sparse # sparse version: v0.6.1-174-g094d5a94-dirty git checkout 3b2abda7d28c69f564c1157b9b9c21ef40092ee9 make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag Reported-by: kbuild test robot sparse warnings: (new ones prefixed by >>) >> drivers/soc/fsl/dpio/qbman-portal.c:755:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] *addr @@ got d const volatile [noderef] *addr @@ drivers/soc/fsl/dpio/qbman-portal.c:755:42: sparse: expected void const volatile [noderef] *addr drivers/soc/fsl/dpio/qbman-portal.c:755:42: sparse: got unsigned int [usertype] *[assigned] p drivers/soc/fsl/dpio/qbman-portal.c:903:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] *addr @@ got d const volatile [noderef] *addr @@ drivers/soc/fsl/dpio/qbman-portal.c:903:42: sparse: expected void const volatile [noderef] *addr drivers/soc/fsl/dpio/qbman-portal.c:903:42: sparse: got unsigned int [usertype] *[assigned] p vim +755 drivers/soc/fsl/dpio/qbman-portal.c 722 723 /** 724 * qbman_swp_enqueue_multiple_mem_back() - Issue a multi enqueue command 725 * using one enqueue descriptor 726 * @s: the software portal used for enqueue 727 * @d: the enqueue descriptor 728 * @fd: table pointer of frame descriptor table to be enqueued 729 * @flags: table pointer of QBMAN_ENQUEUE_FLAG_DCA flags, not used if NULL 730 * @num_frames: number of fd to be enqueued 731 * 732 * Return the number of fd enqueued, or a negative error number. 733 */ 734 static 735 int qbman_swp_enqueue_multiple_mem_back(struct qbman_swp *s, 736 const struct qbman_eq_desc *d, 737 const struct dpaa2_fd *fd, 738 uint32_t *flags, 739 int num_frames) 740 { 741 uint32_t *p = NULL; 742 const uint32_t *cl = (uint32_t *)(d); 743 uint32_t eqcr_ci, eqcr_pi, half_mask, full_mask; 744 int i, num_enqueued = 0; 745 unsigned long irq_flags; 746 747 spin_lock(&s->access_spinlock); 748 local_irq_save(irq_flags); 749 750 half_mask = (s->eqcr.pi_ci_mask>>1); 751 full_mask = s->eqcr.pi_ci_mask; 752 if (!s->eqcr.available) { 753 eqcr_ci = s->eqcr.ci; 754 p = s->addr_cena + QBMAN_CENA_SWP_EQCR_CI_MEMBACK; > 755 s->eqcr.ci = __raw_readl(p) & full_mask; 756 s->eqcr.available = qm_cyc_diff(s->eqcr.pi_ring_size, 757 eqcr_ci, s->eqcr.ci); 758 if (!s->eqcr.available) { 759 local_irq_restore(irq_flags); 760 spin_unlock(&s->access_spinlock); 761 return 0; 762 } 763 } 764 765 eqcr_pi = s->eqcr.pi; 766 num_enqueued = (s->eqcr.available < num_frames) ? 767 s->eqcr.available : num_frames; 768 s->eqcr.available -= num_enqueued; 769 /* Fill in the EQCR ring */ 770 for (i = 0; i < num_enqueued; i++) { 771 p = (s->addr_cena + QBMAN_CENA_SWP_EQCR(eqcr_pi & half_mask)); 772 /* Skip copying the verb */ 773 memcpy(&p[1], &cl[1], EQ_DESC_SIZE_WITHOUT_FD - 1); 774 memcpy(&p[EQ_DESC_SIZE_FD_START/sizeof(uint32_t)], 775 &fd[i], sizeof(*fd)); 776 eqcr_pi++; 777 } 778 779 /* Set the verb byte, have to substitute in the valid-bit */ 780 eqcr_pi = s->eqcr.pi; 781 for (i = 0; i < num_enqueued; i++) { 782 p = (s->addr_cena + QBMAN_CENA_SWP_EQCR(eqcr_pi & half_mask)); 783 p[0] = cl[0] | s->eqcr.pi_vb; 784 if (flags && (flags[i] & QBMAN_ENQUEUE_FLAG_DCA)) { 785 struct qbman_eq_desc *d = (struct qbman_eq_desc *)p; 786 787 d->dca = (1 << QB_ENQUEUE_CMD_DCA_EN_SHIFT) | 788 ((flags[i]) & QBMAN_EQCR_DCA_IDXMASK); 789 } 790 eqcr_pi++; 791 if (!(eqcr_pi & half_mask)) 792 s->eqcr.pi_vb ^= QB_VALID_BIT; 793 } 794 s->eqcr.pi = eqcr_pi & full_mask; 795 796 dma_wmb(); 797 qbman_write_register(s, QBMAN_CINH_SWP_EQCR_PI, 798 (QB_RT_BIT)|(s->eqcr.pi)|s->eqcr.pi_vb); 799 local_irq_restore(irq_flags); 800 spin_unlock(&s->access_spinlock); 801 802 return num_enqueued; 803 } 804 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org