From: kernel test robot <lkp@intel.com>
To: "Christian König" <christian.koenig@amd.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Rob Clark <robdclark@gmail.com>
Subject: drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Fri, 16 Sep 2022 01:56:45 +0800 [thread overview]
Message-ID: <202209160154.prhjF2zM-lkp@intel.com> (raw)
Hi Christian,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 3245cb65fd91cd514801bf91f5a3066d562f0ac4
commit: b3ed524f84f573ece1aa2f26e9db3c34a593e0d1 drm/msm: allow compile_test on !ARM
date: 12 months ago
config: mips-randconfig-s041-20220915 (https://download.01.org/0day-ci/archive/20220916/202209160154.prhjF2zM-lkp@intel.com/config)
compiler: mips64-linux-gcc (GCC) 12.1.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.4-39-gce1a6720-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b3ed524f84f573ece1aa2f26e9db3c34a593e0d1
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b3ed524f84f573ece1aa2f26e9db3c34a593e0d1
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=mips SHELL=/bin/bash drivers/gpu/drm/msm/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: got void *
>> drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_hfi.c: note: in included file:
drivers/gpu/drm/msm/adreno/a6xx_gmu.h:98:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.h:98:44: sparse: expected void [noderef] __iomem *addr
drivers/gpu/drm/msm/adreno/a6xx_gmu.h:98:44: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.h:98:34: sparse: sparse: dereference of noderef expression
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: sparse: dereference of noderef expression
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: sparse: dereference of noderef expression
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: sparse: dereference of noderef expression
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: sparse: dereference of noderef expression
drivers/gpu/drm/msm/adreno/a6xx_gmu.h:98:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.h:98:44: sparse: expected void [noderef] __iomem *addr
drivers/gpu/drm/msm/adreno/a6xx_gmu.h:98:44: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.h:98:34: sparse: sparse: dereference of noderef expression
--
>> drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: got void *
>> drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:320:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:320:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:320:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:320:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:320:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:320:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:362:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:362:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:362:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:362:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:362:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:362:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:387:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:387:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:387:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:387:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:387:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:387:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:460:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:460:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:460:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:460:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:460:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:460:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:467:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:467:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:467:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:467:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:467:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:467:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:493:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:493:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:493:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:493:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:493:15: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:493:15: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1412:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1412:31: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1412:31: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1418:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1418:31: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1418:31: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:858:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:858:9: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:858:9: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:858:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:858:9: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:858:9: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:860:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:860:9: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:860:9: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:860:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:860:9: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:860:9: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1066:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1066:23: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1066:23: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1066:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got void * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1066:23: sparse: expected void const volatile [noderef] __iomem *mem
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1066:23: sparse: got void *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1458:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *[noderef] mmio @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1458:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1458:20: sparse: got void *[noderef] mmio
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1460:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *[noderef] rscc @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1460:28: sparse: expected void const volatile [noderef] __iomem *addr
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1460:28: sparse: got void *[noderef] rscc
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1560:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[noderef] mmio @@ got void [noderef] __iomem * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1560:19: sparse: expected void *[noderef] mmio
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1560:19: sparse: got void [noderef] __iomem *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1567:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[noderef] rscc @@ got void [noderef] __iomem * @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1567:27: sparse: expected void *[noderef] rscc
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1567:27: sparse: got void [noderef] __iomem *
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1598:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *[noderef] mmio @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1598:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1598:20: sparse: got void *[noderef] mmio
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1600:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *[noderef] rscc @@
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1600:28: sparse: expected void const volatile [noderef] __iomem *addr
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1600:28: sparse: got void *[noderef] rscc
drivers/gpu/drm/msm/adreno/a6xx_gmu.c: note: in included file (through drivers/gpu/drm/msm/adreno/a6xx_gpu.h):
drivers/gpu/drm/msm/adreno/a6xx_gmu.h:93:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got void * @@
vim +104 drivers/gpu/drm/msm/adreno/a6xx_hfi.c
4b565ca5a2cbbb Jordan Crouse 2018-08-06 95
df0dff13290597 Jordan Crouse 2018-09-20 96 static int a6xx_hfi_wait_for_ack(struct a6xx_gmu *gmu, u32 id, u32 seqnum,
df0dff13290597 Jordan Crouse 2018-09-20 97 u32 *payload, u32 payload_size)
df0dff13290597 Jordan Crouse 2018-09-20 98 {
df0dff13290597 Jordan Crouse 2018-09-20 99 struct a6xx_hfi_queue *queue = &gmu->queues[HFI_RESPONSE_QUEUE];
df0dff13290597 Jordan Crouse 2018-09-20 100 u32 val;
df0dff13290597 Jordan Crouse 2018-09-20 101 int ret;
4b565ca5a2cbbb Jordan Crouse 2018-08-06 102
df0dff13290597 Jordan Crouse 2018-09-20 103 /* Wait for a response */
df0dff13290597 Jordan Crouse 2018-09-20 @104 ret = gmu_poll_timeout(gmu, REG_A6XX_GMU_GMU2HOST_INTR_INFO, val,
df0dff13290597 Jordan Crouse 2018-09-20 105 val & A6XX_GMU_GMU2HOST_INTR_INFO_MSGQ, 100, 5000);
4b565ca5a2cbbb Jordan Crouse 2018-08-06 106
df0dff13290597 Jordan Crouse 2018-09-20 107 if (ret) {
6a41da17e87dee Mamta Shukla 2018-10-20 108 DRM_DEV_ERROR(gmu->dev,
df0dff13290597 Jordan Crouse 2018-09-20 109 "Message %s id %d timed out waiting for response\n",
df0dff13290597 Jordan Crouse 2018-09-20 110 a6xx_hfi_msg_id[id], seqnum);
df0dff13290597 Jordan Crouse 2018-09-20 111 return -ETIMEDOUT;
4b565ca5a2cbbb Jordan Crouse 2018-08-06 112 }
4b565ca5a2cbbb Jordan Crouse 2018-08-06 113
df0dff13290597 Jordan Crouse 2018-09-20 114 /* Clear the interrupt */
df0dff13290597 Jordan Crouse 2018-09-20 115 gmu_write(gmu, REG_A6XX_GMU_GMU2HOST_INTR_CLR,
df0dff13290597 Jordan Crouse 2018-09-20 116 A6XX_GMU_GMU2HOST_INTR_INFO_MSGQ);
4b565ca5a2cbbb Jordan Crouse 2018-08-06 117
df0dff13290597 Jordan Crouse 2018-09-20 118 for (;;) {
df0dff13290597 Jordan Crouse 2018-09-20 119 struct a6xx_hfi_msg_response resp;
4b565ca5a2cbbb Jordan Crouse 2018-08-06 120
df0dff13290597 Jordan Crouse 2018-09-20 121 /* Get the next packet */
8167e6fa76c8f7 Jonathan Marek 2020-04-23 122 ret = a6xx_hfi_queue_read(gmu, queue, (u32 *) &resp,
df0dff13290597 Jordan Crouse 2018-09-20 123 sizeof(resp) >> 2);
df0dff13290597 Jordan Crouse 2018-09-20 124
df0dff13290597 Jordan Crouse 2018-09-20 125 /* If the queue is empty our response never made it */
df0dff13290597 Jordan Crouse 2018-09-20 126 if (!ret) {
6a41da17e87dee Mamta Shukla 2018-10-20 127 DRM_DEV_ERROR(gmu->dev,
df0dff13290597 Jordan Crouse 2018-09-20 128 "The HFI response queue is unexpectedly empty\n");
df0dff13290597 Jordan Crouse 2018-09-20 129
df0dff13290597 Jordan Crouse 2018-09-20 130 return -ENOENT;
4b565ca5a2cbbb Jordan Crouse 2018-08-06 131 }
4b565ca5a2cbbb Jordan Crouse 2018-08-06 132
df0dff13290597 Jordan Crouse 2018-09-20 133 if (HFI_HEADER_ID(resp.header) == HFI_F2H_MSG_ERROR) {
df0dff13290597 Jordan Crouse 2018-09-20 134 struct a6xx_hfi_msg_error *error =
df0dff13290597 Jordan Crouse 2018-09-20 135 (struct a6xx_hfi_msg_error *) &resp;
4b565ca5a2cbbb Jordan Crouse 2018-08-06 136
6a41da17e87dee Mamta Shukla 2018-10-20 137 DRM_DEV_ERROR(gmu->dev, "GMU firmware error %d\n",
df0dff13290597 Jordan Crouse 2018-09-20 138 error->code);
df0dff13290597 Jordan Crouse 2018-09-20 139 continue;
df0dff13290597 Jordan Crouse 2018-09-20 140 }
4b565ca5a2cbbb Jordan Crouse 2018-08-06 141
df0dff13290597 Jordan Crouse 2018-09-20 142 if (seqnum != HFI_HEADER_SEQNUM(resp.ret_header)) {
6a41da17e87dee Mamta Shukla 2018-10-20 143 DRM_DEV_ERROR(gmu->dev,
df0dff13290597 Jordan Crouse 2018-09-20 144 "Unexpected message id %d on the response queue\n",
df0dff13290597 Jordan Crouse 2018-09-20 145 HFI_HEADER_SEQNUM(resp.ret_header));
df0dff13290597 Jordan Crouse 2018-09-20 146 continue;
df0dff13290597 Jordan Crouse 2018-09-20 147 }
df0dff13290597 Jordan Crouse 2018-09-20 148
df0dff13290597 Jordan Crouse 2018-09-20 149 if (resp.error) {
6a41da17e87dee Mamta Shukla 2018-10-20 150 DRM_DEV_ERROR(gmu->dev,
df0dff13290597 Jordan Crouse 2018-09-20 151 "Message %s id %d returned error %d\n",
df0dff13290597 Jordan Crouse 2018-09-20 152 a6xx_hfi_msg_id[id], seqnum, resp.error);
df0dff13290597 Jordan Crouse 2018-09-20 153 return -EINVAL;
4b565ca5a2cbbb Jordan Crouse 2018-08-06 154 }
4b565ca5a2cbbb Jordan Crouse 2018-08-06 155
df0dff13290597 Jordan Crouse 2018-09-20 156 /* All is well, copy over the buffer */
df0dff13290597 Jordan Crouse 2018-09-20 157 if (payload && payload_size)
df0dff13290597 Jordan Crouse 2018-09-20 158 memcpy(payload, resp.payload,
df0dff13290597 Jordan Crouse 2018-09-20 159 min_t(u32, payload_size, sizeof(resp.payload)));
4b565ca5a2cbbb Jordan Crouse 2018-08-06 160
df0dff13290597 Jordan Crouse 2018-09-20 161 return 0;
4b565ca5a2cbbb Jordan Crouse 2018-08-06 162 }
4b565ca5a2cbbb Jordan Crouse 2018-08-06 163 }
4b565ca5a2cbbb Jordan Crouse 2018-08-06 164
:::::: The code at line 104 was first introduced by commit
:::::: df0dff132905974697e2a19aa8bcc0ecc447c00e drm/msm/a6xx: Poll for HFI responses
:::::: TO: Jordan Crouse <jcrouse@codeaurora.org>
:::::: CC: Rob Clark <robdclark@gmail.com>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next reply other threads:[~2022-09-15 17:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-15 17:56 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-02-10 13:03 drivers/gpu/drm/msm/adreno/a6xx_hfi.c:104:15: sparse: sparse: incorrect type in argument 1 (different address spaces) kernel test robot
2022-12-03 21:33 kernel test robot
2022-11-08 12:34 kernel test robot
2022-11-06 5:40 kernel test robot
2022-08-20 23:10 kernel test robot
2022-08-06 22:01 kernel test robot
2021-11-17 13:15 kernel test robot
2021-11-17 13:15 ` kernel test robot
2021-11-17 10:38 kernel test robot
2021-11-17 10:38 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202209160154.prhjF2zM-lkp@intel.com \
--to=lkp@intel.com \
--cc=christian.koenig@amd.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robdclark@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.