Re: [Intel-gfx] [PATCH v4 03/11] drm/i915: Add hw.pipe_mode to allow bigjoiner pipe/transcoder split
by kbuild test robot
Hi Manasi,
I love your patch! Yet something to improve:
[auto build test ERROR on drm-tip/drm-tip]
[also build test ERROR on next-20200430]
[cannot apply to drm-intel/for-linux-next linus/master v5.7-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Manasi-Navare/Rebased-Big-Joiner...
base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: x86_64-defconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/i915/display/intel_display.c: In function 'skl_update_scaler_crtc':
>> drivers/gpu/drm/i915/display/intel_display.c:6094:46: error: 'state' undeclared (first use in this function); did you mean 'statx'?
const struct drm_display_mode *pipe_mode = &state->hw.pipe_mode;
^~~~~
statx
drivers/gpu/drm/i915/display/intel_display.c:6094:46: note: each undeclared identifier is reported only once for each function it appears in
vim +6094 drivers/gpu/drm/i915/display/intel_display.c
6091
6092 static int skl_update_scaler_crtc(struct intel_crtc_state *crtc_state)
6093 {
> 6094 const struct drm_display_mode *pipe_mode = &state->hw.pipe_mode;
6095 int width, height;
6096
6097 if (crtc_state->pch_pfit.enabled) {
6098 width = drm_rect_width(&crtc_state->pch_pfit.dst);
6099 height = drm_rect_height(&crtc_state->pch_pfit.dst);
6100 } else {
6101 width = pipe_mode->crtc_hdisplay;
6102 height = pipe_mode->crtc_vdisplay;
6103 }
6104 return skl_update_scaler(crtc_state, !crtc_state->hw.active,
6105 SKL_CRTC_INDEX,
6106 &crtc_state->scaler_state.scaler_id,
6107 crtc_state->pipe_src_w, crtc_state->pipe_src_h,
6108 width, height, NULL, 0,
6109 crtc_state->pch_pfit.enabled);
6110 }
6111
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[linuxppc:next-test 48/49] arch/x86/kernel/signal.c:312:7: error: implicit declaration of function 'user_access_begin'; did you mean 'user_access_end'?
by kbuild test robot
tree: https://github.com/linuxppc/linux next-test
head: 7d204d846b04d0a1b4d3712736029fbf2e7a7359
commit: 5bb3b9d986426296507d3ef58d1e5fe4625de01f [48/49] uaccess: Rename user_access_begin/end() to user_full_access_begin/end()
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
git checkout 5bb3b9d986426296507d3ef58d1e5fe4625de01f
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/x86/kernel/signal.c: In function '__setup_frame':
>> arch/x86/kernel/signal.c:312:7: error: implicit declaration of function 'user_access_begin'; did you mean 'user_access_end'? [-Werror=implicit-function-declaration]
if (!user_access_begin(frame, sizeof(*frame)))
^~~~~~~~~~~~~~~~~
user_access_end
cc1: some warnings being treated as errors
vim +312 arch/x86/kernel/signal.c
75779f05264b99 arch/x86/kernel/signal.c Hiroshi Shimamoto 2009-02-27 301
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 302 static int
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 303 __setup_frame(int sig, struct ksignal *ksig, sigset_t *set,
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 304 struct pt_regs *regs)
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 305 {
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 306 struct sigframe __user *frame;
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 307 void __user *restorer;
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 308 void __user *fp = NULL;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 309
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 310 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fp);
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 311
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 @312 if (!user_access_begin(frame, sizeof(*frame)))
3d0aedd9538e6b arch/x86/kernel/signal_32.c Hiroshi Shimamoto 2008-09-12 313 return -EFAULT;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 314
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 315 unsafe_put_user(sig, &frame->sig, Efault);
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 316 unsafe_put_sigcontext(&frame->sc, fp, regs, set, Efault);
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 317 unsafe_put_user(set->sig[1], &frame->extramask[0], Efault);
1a3e4ca41c5a38 arch/x86/kernel/signal_32.c Roland McGrath 2008-04-09 318 if (current->mm->context.vdso)
6f121e548f8367 arch/x86/kernel/signal.c Andy Lutomirski 2014-05-05 319 restorer = current->mm->context.vdso +
0a6d1fa0d2b48f arch/x86/kernel/signal.c Andy Lutomirski 2015-10-05 320 vdso_image_32.sym___kernel_sigreturn;
9fbbd4dd17d071 arch/i386/kernel/signal.c Andi Kleen 2007-02-13 321 else
ade1af77129dea arch/x86/kernel/signal_32.c Jan Engelhardt 2008-01-30 322 restorer = &frame->retcode;
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 323 if (ksig->ka.sa.sa_flags & SA_RESTORER)
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 324 restorer = ksig->ka.sa.sa_restorer;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 325
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 326 /* Set up to return from userspace. */
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 327 unsafe_put_user(restorer, &frame->pretcode, Efault);
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 328
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 329 /*
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 330 * This is popl %eax ; movl $__NR_sigreturn, %eax ; int $0x80
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 331 *
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 332 * WE DO NOT USE IT ANY MORE! It's only left here for historical
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 333 * reasons and because gdb uses it as a signature to notice
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 334 * signal handler stack frames.
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 335 */
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 336 unsafe_put_user(*((u64 *)&retcode), (u64 *)frame->retcode, Efault);
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 337 user_access_end();
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 338
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 339 /* Set up registers for signal handler */
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 340 regs->sp = (unsigned long)frame;
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 341 regs->ip = (unsigned long)ksig->ka.sa.sa_handler;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 342 regs->ax = (unsigned long)sig;
92bc2056855b32 arch/x86/kernel/signal_32.c Harvey Harrison 2008-02-08 343 regs->dx = 0;
92bc2056855b32 arch/x86/kernel/signal_32.c Harvey Harrison 2008-02-08 344 regs->cx = 0;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 345
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 346 regs->ds = __USER_DS;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 347 regs->es = __USER_DS;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 348 regs->ss = __USER_DS;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 349 regs->cs = __USER_CS;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 350
283828f3c19ceb arch/i386/kernel/signal.c David Howells 2006-01-18 351 return 0;
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 352
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 353 Efault:
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 354 user_access_end();
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 355 return -EFAULT;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 356 }
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 357
:::::: The code at line 312 was first introduced by commit
:::::: 5c1f178094631e8b9acc67e4a9b6e03abfbc2529 x86: __setup_frame(): consolidate uaccess areas
:::::: TO: Al Viro <viro(a)zeniv.linux.org.uk>
:::::: CC: Al Viro <viro(a)zeniv.linux.org.uk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH] drm/mediatek: cleanup coding style in mediatek a bit
by kbuild test robot
Hi Bernard,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on pza/reset/next]
[also build test ERROR on drm-intel/for-linux-next drm-tip/drm-tip linus/master v5.7-rc3 next-20200430]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Bernard-Zhao/drm-mediatek-cleanu...
base: https://git.pengutronix.de/git/pza/linux reset/next
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/mediatek/mtk_hdmi.c: In function 'mtk_hdmi_hw_send_info_frame':
>> drivers/gpu/drm/mediatek/mtk_hdmi.c:1807: error: unterminated argument list invoking macro "dev_err"
1807 | MODULE_LICENSE("GPL v2");
|
>> drivers/gpu/drm/mediatek/mtk_hdmi.c:316:3: error: 'dev_err' undeclared (first use in this function); did you mean '_dev_err'?
316 | dev_err(hdmi->dev, "Wrong frame len: %d\n", frame_len;
| ^~~~~~~
| _dev_err
drivers/gpu/drm/mediatek/mtk_hdmi.c:316:3: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/gpu/drm/mediatek/mtk_hdmi.c:316:10: error: expected ';' at end of input
316 | dev_err(hdmi->dev, "Wrong frame len: %d\n", frame_len;
| ^
| ;
......
1807 | MODULE_LICENSE("GPL v2");
|
>> drivers/gpu/drm/mediatek/mtk_hdmi.c:316:3: error: expected declaration or statement at end of input
316 | dev_err(hdmi->dev, "Wrong frame len: %d\n", frame_len;
| ^~~~~~~
>> drivers/gpu/drm/mediatek/mtk_hdmi.c:316:3: error: expected declaration or statement at end of input
drivers/gpu/drm/mediatek/mtk_hdmi.c:308:6: warning: unused variable 'ctrl_frame_en' [-Wunused-variable]
308 | int ctrl_frame_en = 0;
| ^~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:302:6: warning: unused variable 'i' [-Wunused-variable]
302 | int i;
| ^
drivers/gpu/drm/mediatek/mtk_hdmi.c:301:6: warning: unused variable 'ctrl_reg' [-Wunused-variable]
301 | u32 ctrl_reg = GRL_CTRL;
| ^~~~~~~~
At top level:
drivers/gpu/drm/mediatek/mtk_hdmi.c:298:13: warning: 'mtk_hdmi_hw_send_info_frame' defined but not used [-Wunused-function]
298 | static void mtk_hdmi_hw_send_info_frame(struct mtk_hdmi *hdmi, u8 *buffer,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:293:13: warning: 'mtk_hdmi_hw_enable_dvi_mode' defined but not used [-Wunused-function]
293 | static void mtk_hdmi_hw_enable_dvi_mode(struct mtk_hdmi *hdmi, bool enable)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:288:13: warning: 'mtk_hdmi_hw_write_int_mask' defined but not used [-Wunused-function]
288 | static void mtk_hdmi_hw_write_int_mask(struct mtk_hdmi *hdmi, u32 int_mask)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:282:13: warning: 'mtk_hdmi_hw_enable_notice' defined but not used [-Wunused-function]
282 | static void mtk_hdmi_hw_enable_notice(struct mtk_hdmi *hdmi, bool enable_notice)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:271:13: warning: 'mtk_hdmi_hw_reset' defined but not used [-Wunused-function]
271 | static void mtk_hdmi_hw_reset(struct mtk_hdmi *hdmi)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:266:13: warning: 'mtk_hdmi_hw_aud_unmute' defined but not used [-Wunused-function]
266 | static void mtk_hdmi_hw_aud_unmute(struct mtk_hdmi *hdmi)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:261:13: warning: 'mtk_hdmi_hw_aud_mute' defined but not used [-Wunused-function]
261 | static void mtk_hdmi_hw_aud_mute(struct mtk_hdmi *hdmi)
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:255:13: warning: 'mtk_hdmi_hw_1p4_version_enable' defined but not used [-Wunused-function]
255 | static void mtk_hdmi_hw_1p4_version_enable(struct mtk_hdmi *hdmi, bool enable)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:230:13: warning: 'mtk_hdmi_hw_make_reg_writable' defined but not used [-Wunused-function]
230 | static void mtk_hdmi_hw_make_reg_writable(struct mtk_hdmi *hdmi, bool enable)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:224:13: warning: 'mtk_hdmi_hw_vid_black' defined but not used [-Wunused-function]
224 | static void mtk_hdmi_hw_vid_black(struct mtk_hdmi *hdmi, bool black)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_hdmi.c:184:12: warning: 'mtk_hdmi_read' defined but not used [-Wunused-function]
184 | static u32 mtk_hdmi_read(struct mtk_hdmi *hdmi, u32 offset)
| ^~~~~~~~~~~~~
vim +/dev_err +1807 drivers/gpu/drm/mediatek/mtk_hdmi.c
8f83f26891e1257 Jie Qiu 2016-01-04 1804
8f83f26891e1257 Jie Qiu 2016-01-04 1805 MODULE_AUTHOR("Jie Qiu <jie.qiu(a)mediatek.com>");
8f83f26891e1257 Jie Qiu 2016-01-04 1806 MODULE_DESCRIPTION("MediaTek HDMI Driver");
8f83f26891e1257 Jie Qiu 2016-01-04 @1807 MODULE_LICENSE("GPL v2");
:::::: The code at line 1807 was first introduced by commit
:::::: 8f83f26891e12570780dcfc8ae376b655915ff6d drm/mediatek: Add HDMI support
:::::: TO: Jie Qiu <jie.qiu(a)mediatek.com>
:::::: CC: Philipp Zabel <p.zabel(a)pengutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[hare-scsi-devel:reserved-tags.v3 36/41] drivers/scsi/hisi_sas/hisi_sas_main.c:1194:18: error: variable has incomplete type 'struct scsilun'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git reserved-tags.v3
head: 7e846b812c89291eaaf342f3a37944fefc17473b
commit: 7f3f003ba62f8d93a1eec0cd56877a15c7989740 [36/41] scsi: libsas,hisi_sas,mvsas,pm8001: Allocate Scsi_cmd for slow task
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 1ccde533425a4ba9d379510206ad680ff9702129)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 7f3f003ba62f8d93a1eec0cd56877a15c7989740
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
>> drivers/scsi/hisi_sas/hisi_sas_main.c:1194:18: error: variable has incomplete type 'struct scsilun'
struct scsilun lun;
^
drivers/scsi/hisi_sas/hisi_sas_main.c:1194:10: note: forward declaration of 'struct scsilun'
struct scsilun lun;
^
>> drivers/scsi/hisi_sas/hisi_sas_main.c:1197:8: warning: address of function 'dev_is_sata' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (!dev_is_sata) {
~^~~~~~~~~~~
drivers/scsi/hisi_sas/hisi_sas_main.c:1197:8: note: prefix with the address-of operator to silence this warning
if (!dev_is_sata) {
^
&
>> drivers/scsi/hisi_sas/hisi_sas_main.c:1198:24: error: initializing 'struct sas_ssp_task' with an expression of incompatible type 'void *'
struct sas_ssp_task ssp_task = parameter;
^ ~~~~~~~~~
drivers/scsi/hisi_sas/hisi_sas_main.c:2598:41: warning: shift count >= width of type [-Wshift-count-overflow]
error = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
2 warnings and 2 errors generated.
vim +1194 drivers/scsi/hisi_sas/hisi_sas_main.c
1178
1179 #define TASK_TIMEOUT 20
1180 #define TASK_RETRY 3
1181 #define INTERNAL_ABORT_TIMEOUT 6
1182 static int hisi_sas_exec_internal_tmf_task(struct domain_device *device,
1183 void *parameter, u32 para_len,
1184 struct hisi_sas_tmf_task *tmf)
1185 {
1186 struct hisi_sas_device *sas_dev = device->lldd_dev;
1187 struct hisi_hba *hisi_hba = sas_dev->hisi_hba;
1188 struct sas_ha_struct *sha = &hisi_hba->sha;
1189 struct device *dev = hisi_hba->dev;
1190 struct sas_task *task;
1191 int res, retry;
1192
1193 for (retry = 0; retry < TASK_RETRY; retry++) {
> 1194 struct scsilun lun;
1195
1196 int_to_scsilun(0, &lun);
> 1197 if (!dev_is_sata) {
> 1198 struct sas_ssp_task ssp_task = parameter;
1199
1200 memcpy(lun.scsi_lun, ssp_task.LUN, 8);
1201 }
1202 task = sas_alloc_slow_task(sha, device, &lun, GFP_KERNEL);
1203 if (!task)
1204 return -ENOMEM;
1205
1206 task->dev = device;
1207 task->task_proto = device->tproto;
1208
1209 if (dev_is_sata(device)) {
1210 task->ata_task.device_control_reg_update = 1;
1211 memcpy(&task->ata_task.fis, parameter, para_len);
1212 } else {
1213 memcpy(&task->ssp_task, parameter, para_len);
1214 }
1215 task->task_done = hisi_sas_task_done;
1216
1217 task->slow_task->timer.function = hisi_sas_tmf_timedout;
1218 task->slow_task->timer.expires = jiffies + TASK_TIMEOUT * HZ;
1219 add_timer(&task->slow_task->timer);
1220
1221 res = hisi_sas_task_exec(task, GFP_KERNEL, 1, tmf);
1222
1223 if (res) {
1224 del_timer(&task->slow_task->timer);
1225 dev_err(dev, "abort tmf: executing internal task failed: %d\n",
1226 res);
1227 goto ex_err;
1228 }
1229
1230 wait_for_completion(&task->slow_task->completion);
1231 res = TMF_RESP_FUNC_FAILED;
1232 /* Even TMF timed out, return direct. */
1233 if ((task->task_state_flags & SAS_TASK_STATE_ABORTED)) {
1234 if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) {
1235 struct hisi_sas_slot *slot = task->lldd_task;
1236
1237 dev_err(dev, "abort tmf: TMF task timeout and not done\n");
1238 if (slot) {
1239 struct hisi_sas_cq *cq =
1240 &hisi_hba->cq[slot->dlvry_queue];
1241 /*
1242 * sync irq to avoid free'ing task
1243 * before using task in IO completion
1244 */
1245 synchronize_irq(cq->irq_no);
1246 slot->task = NULL;
1247 }
1248
1249 goto ex_err;
1250 } else
1251 dev_err(dev, "abort tmf: TMF task timeout\n");
1252 }
1253
1254 if (task->task_status.resp == SAS_TASK_COMPLETE &&
1255 task->task_status.stat == TMF_RESP_FUNC_COMPLETE) {
1256 res = TMF_RESP_FUNC_COMPLETE;
1257 break;
1258 }
1259
1260 if (task->task_status.resp == SAS_TASK_COMPLETE &&
1261 task->task_status.stat == TMF_RESP_FUNC_SUCC) {
1262 res = TMF_RESP_FUNC_SUCC;
1263 break;
1264 }
1265
1266 if (task->task_status.resp == SAS_TASK_COMPLETE &&
1267 task->task_status.stat == SAS_DATA_UNDERRUN) {
1268 /* no error, but return the number of bytes of
1269 * underrun
1270 */
1271 dev_warn(dev, "abort tmf: task to dev %016llx resp: 0x%x sts 0x%x underrun\n",
1272 SAS_ADDR(device->sas_addr),
1273 task->task_status.resp,
1274 task->task_status.stat);
1275 res = task->task_status.residual;
1276 break;
1277 }
1278
1279 if (task->task_status.resp == SAS_TASK_COMPLETE &&
1280 task->task_status.stat == SAS_DATA_OVERRUN) {
1281 dev_warn(dev, "abort tmf: blocked task error\n");
1282 res = -EMSGSIZE;
1283 break;
1284 }
1285
1286 if (task->task_status.resp == SAS_TASK_COMPLETE &&
1287 task->task_status.stat == SAS_OPEN_REJECT) {
1288 dev_warn(dev, "abort tmf: open reject failed\n");
1289 res = -EIO;
1290 } else {
1291 dev_warn(dev, "abort tmf: task to dev %016llx resp: 0x%x status 0x%x\n",
1292 SAS_ADDR(device->sas_addr),
1293 task->task_status.resp,
1294 task->task_status.stat);
1295 }
1296 sas_free_task(task);
1297 task = NULL;
1298 }
1299 ex_err:
1300 if (retry == TASK_RETRY)
1301 dev_warn(dev, "abort tmf: executing internal task failed!\n");
1302 sas_free_task(task);
1303 return res;
1304 }
1305
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH 3/4] counter: Add character device interface
by kbuild test robot
Hi William,
I love your patch! Yet something to improve:
[auto build test ERROR on stm32/stm32-next]
[cannot apply to linus/master linux/master v5.7-rc3 next-20200430]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/William-Breathitt-Gray/Introduce...
base: https://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git stm32-next
config: x86_64-randconfig-d003-20200501 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from <command-line>:32:0:
>> ./usr/include/linux/counter.h:22:2: error: unknown type name 'size_t'
size_t num_signals;
^~~~~~
./usr/include/linux/counter.h:23:2: error: unknown type name 'size_t'
size_t num_counts;
^~~~~~
./usr/include/linux/counter.h:24:2: error: unknown type name 'size_t'
size_t num_ext;
^~~~~~
./usr/include/linux/counter.h:35:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:39:2: error: unknown type name 'size_t'
size_t num_ext;
^~~~~~
./usr/include/linux/counter.h:50:2: error: unknown type name 'size_t'
size_t count_index;
^~~~~~
./usr/include/linux/counter.h:51:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:53:2: error: unknown type name 'size_t'
size_t num_actions;
^~~~~~
./usr/include/linux/counter.h:54:2: error: unknown type name 'size_t'
size_t signal_index;
^~~~~~
./usr/include/linux/counter.h:67:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:71:2: error: unknown type name 'size_t'
size_t num_functions;
^~~~~~
./usr/include/linux/counter.h:72:2: error: unknown type name 'size_t'
size_t num_synapses;
^~~~~~
./usr/include/linux/counter.h:73:2: error: unknown type name 'size_t'
size_t num_ext;
^~~~~~
./usr/include/linux/counter.h:86:2: error: unknown type name 'size_t'
size_t owner_index;
^~~~~~
./usr/include/linux/counter.h:87:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:99:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:110:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:121:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:133:2: error: unknown type name 'size_t'
size_t count_index;
^~~~~~
./usr/include/linux/counter.h:134:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:146:2: error: unknown type name 'size_t'
size_t count_index;
^~~~~~
./usr/include/linux/counter.h:147:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:160:2: error: unknown type name 'size_t'
size_t count_index;
^~~~~~
./usr/include/linux/counter.h:161:2: error: unknown type name 'size_t'
size_t synapse_index;
^~~~~~
./usr/include/linux/counter.h:162:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:176:2: error: unknown type name 'size_t'
size_t owner_index;
^~~~~~
./usr/include/linux/counter.h:177:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
>> ./usr/include/linux/counter.h:179:2: error: unknown type name 'bool'
bool data;
^~~~
./usr/include/linux/counter.h:191:2: error: unknown type name 'size_t'
size_t owner_index;
^~~~~~
./usr/include/linux/counter.h:192:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:206:2: error: unknown type name 'size_t'
size_t owner_index;
^~~~~~
./usr/include/linux/counter.h:207:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:221:2: error: unknown type name 'size_t'
size_t owner_index;
^~~~~~
./usr/include/linux/counter.h:222:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:224:2: error: unknown type name 'size_t'
size_t enum_index;
^~~~~~
./usr/include/linux/counter.h:237:2: error: unknown type name 'size_t'
size_t owner_index;
^~~~~~
./usr/include/linux/counter.h:238:2: error: unknown type name 'size_t'
size_t ext_index;
^~~~~~
./usr/include/linux/counter.h:239:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:251:2: error: unknown type name 'size_t'
size_t count_index;
^~~~~~
./usr/include/linux/counter.h:252:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:264:2: error: unknown type name 'size_t'
size_t count_index;
^~~~~~
./usr/include/linux/counter.h:265:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
./usr/include/linux/counter.h:278:2: error: unknown type name 'size_t'
size_t count_index;
^~~~~~
./usr/include/linux/counter.h:279:2: error: unknown type name 'size_t'
size_t ext_index;
^~~~~~
./usr/include/linux/counter.h:280:2: error: unknown type name 'size_t'
size_t index;
^~~~~~
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[RFC PATCH] ath11k: ath11k_mac_get_tx_mcs_map() can be static
by kbuild test robot
Signed-off-by: kbuild test robot <lkp(a)intel.com>
---
mac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index ad05409783c05..c8acdc1e33353 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -5285,7 +5285,7 @@ ath11k_mac_has_single_legacy_rate(struct ath11k *ar,
return num_rates == 1;
}
-u16 ath11k_mac_get_tx_mcs_map(const struct ieee80211_sta_he_cap *he_cap)
+static u16 ath11k_mac_get_tx_mcs_map(const struct ieee80211_sta_he_cap *he_cap)
{
if (he_cap->he_cap_elem.phy_cap_info[0] &
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G)
2 years, 3 months
Re: [PATCH V3 3/3] ath11k: add support for setting fixed HE rate/gi/ltf
by kbuild test robot
Hi John,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on mac80211/master]
[also build test WARNING on ath6kl/ath-next v5.7-rc3]
[cannot apply to mac80211-next/master next-20200430]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/John-Crispin/nl80211-add-support...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git master
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-191-gc51a0382-dirty
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/wireless/ath/ath11k/mac.c:1310:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] v @@ got tricted __le16 [usertype] v @@
>> drivers/net/wireless/ath/ath11k/mac.c:1310:27: sparse: expected restricted __le16 [usertype] v
>> drivers/net/wireless/ath/ath11k/mac.c:1310:27: sparse: got unsigned short [usertype]
>> drivers/net/wireless/ath/ath11k/mac.c:1311:83: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __le16unsigned int @@
>> drivers/net/wireless/ath/ath11k/mac.c:1311:83: sparse: expected unsigned int
>> drivers/net/wireless/ath/ath11k/mac.c:1311:83: sparse: got restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1313:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] v @@ got tricted __le16 [usertype] v @@
drivers/net/wireless/ath/ath11k/mac.c:1313:27: sparse: expected restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1313:27: sparse: got unsigned short [usertype]
>> drivers/net/wireless/ath/ath11k/mac.c:1314:58: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [assigned] [usertype] tx_mcs_set @@ got short [assigned] [usertype] tx_mcs_set @@
>> drivers/net/wireless/ath/ath11k/mac.c:1314:58: sparse: expected unsigned short [assigned] [usertype] tx_mcs_set
drivers/net/wireless/ath/ath11k/mac.c:1314:58: sparse: got restricted __le16 [usertype] v
>> drivers/net/wireless/ath/ath11k/mac.c:1314:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] v @@ got 16 [usertype] v @@
drivers/net/wireless/ath/ath11k/mac.c:1314:27: sparse: expected restricted __le16 [usertype] v
>> drivers/net/wireless/ath/ath11k/mac.c:1314:27: sparse: got unsigned short
drivers/net/wireless/ath/ath11k/mac.c:1315:83: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __le16unsigned int @@
drivers/net/wireless/ath/ath11k/mac.c:1315:83: sparse: expected unsigned int
drivers/net/wireless/ath/ath11k/mac.c:1315:83: sparse: got restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1320:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] v @@ got tricted __le16 [usertype] v @@
drivers/net/wireless/ath/ath11k/mac.c:1320:19: sparse: expected restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1320:19: sparse: got unsigned short [usertype]
drivers/net/wireless/ath/ath11k/mac.c:1321:73: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __le16unsigned int @@
drivers/net/wireless/ath/ath11k/mac.c:1321:73: sparse: expected unsigned int
drivers/net/wireless/ath/ath11k/mac.c:1321:73: sparse: got restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1323:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] v @@ got tricted __le16 [usertype] v @@
drivers/net/wireless/ath/ath11k/mac.c:1323:19: sparse: expected restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1323:19: sparse: got unsigned short [usertype]
drivers/net/wireless/ath/ath11k/mac.c:1324:50: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [assigned] [usertype] tx_mcs_set @@ got short [assigned] [usertype] tx_mcs_set @@
drivers/net/wireless/ath/ath11k/mac.c:1324:50: sparse: expected unsigned short [assigned] [usertype] tx_mcs_set
drivers/net/wireless/ath/ath11k/mac.c:1324:50: sparse: got restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1324:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] v @@ got 16 [usertype] v @@
drivers/net/wireless/ath/ath11k/mac.c:1324:19: sparse: expected restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1324:19: sparse: got unsigned short
drivers/net/wireless/ath/ath11k/mac.c:1325:73: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __le16unsigned int @@
drivers/net/wireless/ath/ath11k/mac.c:1325:73: sparse: expected unsigned int
drivers/net/wireless/ath/ath11k/mac.c:1325:73: sparse: got restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1333:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] v @@ got tricted __le16 [usertype] v @@
drivers/net/wireless/ath/ath11k/mac.c:1333:19: sparse: expected restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1333:19: sparse: got unsigned short [usertype]
drivers/net/wireless/ath/ath11k/mac.c:1334:72: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __le16unsigned int @@
drivers/net/wireless/ath/ath11k/mac.c:1334:72: sparse: expected unsigned int
drivers/net/wireless/ath/ath11k/mac.c:1334:72: sparse: got restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1336:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] v @@ got tricted __le16 [usertype] v @@
drivers/net/wireless/ath/ath11k/mac.c:1336:19: sparse: expected restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1336:19: sparse: got unsigned short [usertype]
drivers/net/wireless/ath/ath11k/mac.c:1337:50: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [assigned] [usertype] tx_mcs_set @@ got short [assigned] [usertype] tx_mcs_set @@
drivers/net/wireless/ath/ath11k/mac.c:1337:50: sparse: expected unsigned short [assigned] [usertype] tx_mcs_set
drivers/net/wireless/ath/ath11k/mac.c:1337:50: sparse: got restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1337:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] v @@ got 16 [usertype] v @@
drivers/net/wireless/ath/ath11k/mac.c:1337:19: sparse: expected restricted __le16 [usertype] v
drivers/net/wireless/ath/ath11k/mac.c:1337:19: sparse: got unsigned short
drivers/net/wireless/ath/ath11k/mac.c:1338:72: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __le16unsigned int @@
drivers/net/wireless/ath/ath11k/mac.c:1338:72: sparse: expected unsigned int
drivers/net/wireless/ath/ath11k/mac.c:1338:72: sparse: got restricted __le16 [usertype] v
>> drivers/net/wireless/ath/ath11k/mac.c:5292:47: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned short @@ got restricted __le16 conunsigned short @@
>> drivers/net/wireless/ath/ath11k/mac.c:5292:47: sparse: expected unsigned short
>> drivers/net/wireless/ath/ath11k/mac.c:5292:47: sparse: got restricted __le16 const [usertype] tx_mcs_80p80
drivers/net/wireless/ath/ath11k/mac.c:5296:47: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned short @@ got restricted __le16 conunsigned short @@
drivers/net/wireless/ath/ath11k/mac.c:5296:47: sparse: expected unsigned short
>> drivers/net/wireless/ath/ath11k/mac.c:5296:47: sparse: got restricted __le16 const [usertype] tx_mcs_160
drivers/net/wireless/ath/ath11k/mac.c:5298:39: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned short @@ got restricted __le16 conunsigned short @@
drivers/net/wireless/ath/ath11k/mac.c:5298:39: sparse: expected unsigned short
>> drivers/net/wireless/ath/ath11k/mac.c:5298:39: sparse: got restricted __le16 const [usertype] tx_mcs_80
>> drivers/net/wireless/ath/ath11k/mac.c:5288:5: sparse: sparse: symbol 'ath11k_mac_get_tx_mcs_map' was not declared. Should it be static?
>> drivers/net/wireless/ath/ath11k/mac.c:5339:22: sparse: sparse: cast to restricted __le16
Please review and possibly fold the followup patch.
vim +1310 drivers/net/wireless/ath/ath11k/mac.c
f4740f8f367c7c Miles Hu 2020-04-29 1231
d5c65159f28953 Kalle Valo 2019-11-23 1232 static void ath11k_peer_assoc_h_he(struct ath11k *ar,
d5c65159f28953 Kalle Valo 2019-11-23 1233 struct ieee80211_vif *vif,
d5c65159f28953 Kalle Valo 2019-11-23 1234 struct ieee80211_sta *sta,
d5c65159f28953 Kalle Valo 2019-11-23 1235 struct peer_assoc_params *arg)
d5c65159f28953 Kalle Valo 2019-11-23 1236 {
f4740f8f367c7c Miles Hu 2020-04-29 1237 struct ath11k_vif *arvif = (void *)vif->drv_priv;
f4740f8f367c7c Miles Hu 2020-04-29 1238 struct cfg80211_chan_def def;
9f056ed8ee01ad John Crispin 2019-11-25 1239 const struct ieee80211_sta_he_cap *he_cap = &sta->he_cap;
f4740f8f367c7c Miles Hu 2020-04-29 1240 enum nl80211_band band;
f4740f8f367c7c Miles Hu 2020-04-29 1241 const u16 *he_mcs_mask;
f4740f8f367c7c Miles Hu 2020-04-29 1242 u8 max_nss, he_mcs;
f4740f8f367c7c Miles Hu 2020-04-29 1243 __le16 he_tx_mcs = 0, v = 0;
f4740f8f367c7c Miles Hu 2020-04-29 1244 int i;
f4740f8f367c7c Miles Hu 2020-04-29 1245
f4740f8f367c7c Miles Hu 2020-04-29 1246 if (WARN_ON(ath11k_mac_vif_chan(vif, &def)))
f4740f8f367c7c Miles Hu 2020-04-29 1247 return;
9f056ed8ee01ad John Crispin 2019-11-25 1248
9f056ed8ee01ad John Crispin 2019-11-25 1249 if (!he_cap->has_he)
9f056ed8ee01ad John Crispin 2019-11-25 1250 return;
9f056ed8ee01ad John Crispin 2019-11-25 1251
f4740f8f367c7c Miles Hu 2020-04-29 1252 band = def.chan->band;
f4740f8f367c7c Miles Hu 2020-04-29 1253 he_mcs_mask = arvif->bitrate_mask.control[band].he_mcs;
f4740f8f367c7c Miles Hu 2020-04-29 1254
f4740f8f367c7c Miles Hu 2020-04-29 1255 if (ath11k_peer_assoc_h_he_masked(he_mcs_mask))
f4740f8f367c7c Miles Hu 2020-04-29 1256 return;
f4740f8f367c7c Miles Hu 2020-04-29 1257
9f056ed8ee01ad John Crispin 2019-11-25 1258 arg->he_flag = true;
9f056ed8ee01ad John Crispin 2019-11-25 1259
9f056ed8ee01ad John Crispin 2019-11-25 1260 memcpy(&arg->peer_he_cap_macinfo, he_cap->he_cap_elem.mac_cap_info,
9f056ed8ee01ad John Crispin 2019-11-25 1261 sizeof(arg->peer_he_cap_macinfo));
9f056ed8ee01ad John Crispin 2019-11-25 1262 memcpy(&arg->peer_he_cap_phyinfo, he_cap->he_cap_elem.phy_cap_info,
9f056ed8ee01ad John Crispin 2019-11-25 1263 sizeof(arg->peer_he_cap_phyinfo));
9f056ed8ee01ad John Crispin 2019-11-25 1264 memcpy(&arg->peer_he_ops, &vif->bss_conf.he_operation,
9f056ed8ee01ad John Crispin 2019-11-25 1265 sizeof(arg->peer_he_ops));
9f056ed8ee01ad John Crispin 2019-11-25 1266
9f056ed8ee01ad John Crispin 2019-11-25 1267 /* the top most byte is used to indicate BSS color info */
9f056ed8ee01ad John Crispin 2019-11-25 1268 arg->peer_he_ops &= 0xffffff;
9f056ed8ee01ad John Crispin 2019-11-25 1269
9f056ed8ee01ad John Crispin 2019-11-25 1270 if (he_cap->he_cap_elem.phy_cap_info[6] &
9f056ed8ee01ad John Crispin 2019-11-25 1271 IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT) {
9f056ed8ee01ad John Crispin 2019-11-25 1272 int bit = 7;
9f056ed8ee01ad John Crispin 2019-11-25 1273 int nss, ru;
9f056ed8ee01ad John Crispin 2019-11-25 1274
9f056ed8ee01ad John Crispin 2019-11-25 1275 arg->peer_ppet.numss_m1 = he_cap->ppe_thres[0] &
9f056ed8ee01ad John Crispin 2019-11-25 1276 IEEE80211_PPE_THRES_NSS_MASK;
9f056ed8ee01ad John Crispin 2019-11-25 1277 arg->peer_ppet.ru_bit_mask =
9f056ed8ee01ad John Crispin 2019-11-25 1278 (he_cap->ppe_thres[0] &
9f056ed8ee01ad John Crispin 2019-11-25 1279 IEEE80211_PPE_THRES_RU_INDEX_BITMASK_MASK) >>
9f056ed8ee01ad John Crispin 2019-11-25 1280 IEEE80211_PPE_THRES_RU_INDEX_BITMASK_POS;
9f056ed8ee01ad John Crispin 2019-11-25 1281
9f056ed8ee01ad John Crispin 2019-11-25 1282 for (nss = 0; nss <= arg->peer_ppet.numss_m1; nss++) {
9f056ed8ee01ad John Crispin 2019-11-25 1283 for (ru = 0; ru < 4; ru++) {
9f056ed8ee01ad John Crispin 2019-11-25 1284 u32 val = 0;
9f056ed8ee01ad John Crispin 2019-11-25 1285 int i;
9f056ed8ee01ad John Crispin 2019-11-25 1286
9f056ed8ee01ad John Crispin 2019-11-25 1287 if ((arg->peer_ppet.ru_bit_mask & BIT(ru)) == 0)
9f056ed8ee01ad John Crispin 2019-11-25 1288 continue;
9f056ed8ee01ad John Crispin 2019-11-25 1289 for (i = 0; i < 6; i++) {
9f056ed8ee01ad John Crispin 2019-11-25 1290 val >>= 1;
9f056ed8ee01ad John Crispin 2019-11-25 1291 val |= ((he_cap->ppe_thres[bit / 8] >>
9f056ed8ee01ad John Crispin 2019-11-25 1292 (bit % 8)) & 0x1) << 5;
9f056ed8ee01ad John Crispin 2019-11-25 1293 bit++;
9f056ed8ee01ad John Crispin 2019-11-25 1294 }
9f056ed8ee01ad John Crispin 2019-11-25 1295 arg->peer_ppet.ppet16_ppet8_ru3_ru0[nss] |=
9f056ed8ee01ad John Crispin 2019-11-25 1296 val << (ru * 6);
9f056ed8ee01ad John Crispin 2019-11-25 1297 }
9f056ed8ee01ad John Crispin 2019-11-25 1298 }
9f056ed8ee01ad John Crispin 2019-11-25 1299 }
9f056ed8ee01ad John Crispin 2019-11-25 1300
6d293d447670da John Crispin 2019-11-25 1301 if (he_cap->he_cap_elem.mac_cap_info[0] & IEEE80211_HE_MAC_CAP0_TWT_RES)
6d293d447670da John Crispin 2019-11-25 1302 arg->twt_responder = true;
6d293d447670da John Crispin 2019-11-25 1303 if (he_cap->he_cap_elem.mac_cap_info[0] & IEEE80211_HE_MAC_CAP0_TWT_REQ)
6d293d447670da John Crispin 2019-11-25 1304 arg->twt_requester = true;
6d293d447670da John Crispin 2019-11-25 1305
9f056ed8ee01ad John Crispin 2019-11-25 1306 switch (sta->bandwidth) {
9f056ed8ee01ad John Crispin 2019-11-25 1307 case IEEE80211_STA_RX_BW_160:
9f056ed8ee01ad John Crispin 2019-11-25 1308 if (he_cap->he_cap_elem.phy_cap_info[0] &
9f056ed8ee01ad John Crispin 2019-11-25 1309 IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G) {
9f056ed8ee01ad John Crispin 2019-11-25 @1310 v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_80p80);
9f056ed8ee01ad John Crispin 2019-11-25 @1311 arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
9f056ed8ee01ad John Crispin 2019-11-25 1312
9f056ed8ee01ad John Crispin 2019-11-25 1313 v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80p80);
f4740f8f367c7c Miles Hu 2020-04-29 @1314 v = ath11k_peer_assoc_h_he_limit(v, he_mcs_mask);
9f056ed8ee01ad John Crispin 2019-11-25 1315 arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
9f056ed8ee01ad John Crispin 2019-11-25 1316
9f056ed8ee01ad John Crispin 2019-11-25 1317 arg->peer_he_mcs_count++;
f4740f8f367c7c Miles Hu 2020-04-29 1318 he_tx_mcs = v;
9f056ed8ee01ad John Crispin 2019-11-25 1319 }
9f056ed8ee01ad John Crispin 2019-11-25 1320 v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_160);
9f056ed8ee01ad John Crispin 2019-11-25 1321 arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
9f056ed8ee01ad John Crispin 2019-11-25 1322
9f056ed8ee01ad John Crispin 2019-11-25 1323 v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_160);
f4740f8f367c7c Miles Hu 2020-04-29 1324 v = ath11k_peer_assoc_h_he_limit(v, he_mcs_mask);
9f056ed8ee01ad John Crispin 2019-11-25 1325 arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
9f056ed8ee01ad John Crispin 2019-11-25 1326
9f056ed8ee01ad John Crispin 2019-11-25 1327 arg->peer_he_mcs_count++;
f4740f8f367c7c Miles Hu 2020-04-29 1328 if (!he_tx_mcs)
f4740f8f367c7c Miles Hu 2020-04-29 1329 he_tx_mcs = v;
9f056ed8ee01ad John Crispin 2019-11-25 1330 /* fall through */
9f056ed8ee01ad John Crispin 2019-11-25 1331
9f056ed8ee01ad John Crispin 2019-11-25 1332 default:
9f056ed8ee01ad John Crispin 2019-11-25 1333 v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_80);
9f056ed8ee01ad John Crispin 2019-11-25 1334 arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
9f056ed8ee01ad John Crispin 2019-11-25 1335
9f056ed8ee01ad John Crispin 2019-11-25 1336 v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80);
f4740f8f367c7c Miles Hu 2020-04-29 @1337 v = ath11k_peer_assoc_h_he_limit(v, he_mcs_mask);
9f056ed8ee01ad John Crispin 2019-11-25 @1338 arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
9f056ed8ee01ad John Crispin 2019-11-25 1339
9f056ed8ee01ad John Crispin 2019-11-25 1340 arg->peer_he_mcs_count++;
f4740f8f367c7c Miles Hu 2020-04-29 1341 if (!he_tx_mcs)
f4740f8f367c7c Miles Hu 2020-04-29 1342 he_tx_mcs = v;
9f056ed8ee01ad John Crispin 2019-11-25 1343 break;
9f056ed8ee01ad John Crispin 2019-11-25 1344 }
f4740f8f367c7c Miles Hu 2020-04-29 1345 /* Calculate peer NSS capability from HE capabilities if STA
f4740f8f367c7c Miles Hu 2020-04-29 1346 * supports HE.
f4740f8f367c7c Miles Hu 2020-04-29 1347 */
f4740f8f367c7c Miles Hu 2020-04-29 1348 for (i = 0, max_nss = 0, he_mcs = 0; i < NL80211_HE_NSS_MAX; i++) {
f4740f8f367c7c Miles Hu 2020-04-29 1349 he_mcs = __le16_to_cpu(he_tx_mcs) >> (2 * i) & 3;
f4740f8f367c7c Miles Hu 2020-04-29 1350
f4740f8f367c7c Miles Hu 2020-04-29 1351 if (he_mcs != IEEE80211_HE_MCS_NOT_SUPPORTED &&
f4740f8f367c7c Miles Hu 2020-04-29 1352 he_mcs_mask[i])
f4740f8f367c7c Miles Hu 2020-04-29 1353 max_nss = i + 1;
f4740f8f367c7c Miles Hu 2020-04-29 1354 }
f4740f8f367c7c Miles Hu 2020-04-29 1355 arg->peer_nss = min(sta->rx_nss, max_nss);
f4740f8f367c7c Miles Hu 2020-04-29 1356
f4740f8f367c7c Miles Hu 2020-04-29 1357 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
f4740f8f367c7c Miles Hu 2020-04-29 1358 "mac he peer %pM nss %d mcs cnt %d\n",
f4740f8f367c7c Miles Hu 2020-04-29 1359 sta->addr, arg->peer_nss, arg->peer_he_mcs_count);
d5c65159f28953 Kalle Valo 2019-11-23 1360 }
d5c65159f28953 Kalle Valo 2019-11-23 1361
:::::: The code at line 1310 was first introduced by commit
:::::: 9f056ed8ee01ad6898db49707cdc70ce923be3d0 ath11k: add HE support
:::::: TO: John Crispin <john(a)phrozen.org>
:::::: CC: Kalle Valo <kvalo(a)codeaurora.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[linux-review:UPDATE-20200501-062253/Chris-Wilson/drm-i915-Implement-vm_ops-access-for-gdb-access-into-mmaps/20200501-055751 1/1] drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c:996:6: note: in expansion of macro 'IS_ERR_VALUE'
by kbuild test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20200501-062253/Chris-Wil...
head: e14b572311dd64ebaee8f6f0d57b68ba60c2b92e
commit: e14b572311dd64ebaee8f6f0d57b68ba60c2b92e [1/1] drm/i915: Implement vm_ops->access for gdb access into mmaps
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
git checkout e14b572311dd64ebaee8f6f0d57b68ba60c2b92e
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from include/linux/mman.h:5,
from drivers/gpu/drm/i915/gem/i915_gem_mman.c:8:
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c: In function '__igt_mmap_access':
>> include/linux/err.h:22:49: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
>> drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c:996:6: note: in expansion of macro 'IS_ERR_VALUE'
if (IS_ERR_VALUE(addr))
^~~~~~~~~~~~
vim +/IS_ERR_VALUE +996 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
973
974 static int __igt_mmap_access(struct drm_i915_private *i915,
975 struct drm_i915_gem_object *obj,
976 enum i915_mmap_type type)
977 {
978 struct i915_mmap_offset *mmo;
979 unsigned long __user *ptr;
980 unsigned long A, B;
981 unsigned long x, y;
982 u64 addr;
983 int err;
984
985 memset(&A, 0xAA, sizeof(A));
986 memset(&B, 0xBB, sizeof(B));
987
988 if (!can_mmap(obj, type) || !can_access(obj))
989 return 0;
990
991 mmo = mmap_offset_attach(obj, type, NULL);
992 if (IS_ERR(mmo))
993 return PTR_ERR(mmo);
994
995 addr = igt_mmap_node(i915, &mmo->vma_node, 0, PROT_WRITE, MAP_SHARED);
> 996 if (IS_ERR_VALUE(addr))
997 return addr;
998 ptr = u64_to_user_ptr(addr);
999
1000 err = __put_user(A, ptr);
1001 if (err) {
1002 pr_err("%s(%s): failed to write into user mmap\n",
1003 obj->mm.region->name, repr_mmap_type(type));
1004 goto out_unmap;
1005 }
1006
1007 err = access_process_vm(current, addr, &x, sizeof(x), 0);
1008 if (err != sizeof(x)) {
1009 pr_err("%s(%s): access_process_vm() read failed\n",
1010 obj->mm.region->name, repr_mmap_type(type));
1011 goto out_unmap;
1012 }
1013
1014 err = access_process_vm(current, addr, &B, sizeof(B), FOLL_WRITE);
1015 if (err != sizeof(B)) {
1016 pr_err("%s(%s): access_process_vm() write failed\n",
1017 obj->mm.region->name, repr_mmap_type(type));
1018 goto out_unmap;
1019 }
1020
1021 err = __get_user(y, ptr);
1022 if (err) {
1023 pr_err("%s(%s): failed to read from user mmap\n",
1024 obj->mm.region->name, repr_mmap_type(type));
1025 goto out_unmap;
1026 }
1027
1028 if (x != A || y != B) {
1029 pr_err("%s(%s): failed to read/write values, found (%lx, %lx)\n",
1030 obj->mm.region->name, repr_mmap_type(type),
1031 x, y);
1032 err = -EINVAL;
1033 goto out_unmap;
1034 }
1035
1036 out_unmap:
1037 vm_munmap(addr, obj->base.size);
1038 return err;
1039 }
1040
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[android-common:android-4.19 69/106] arch/mips/vdso/vgettimeofday.c:17:9: error: implicit declaration of function '__cvdso_clock_gettime32'; did you mean '__cvdso_clock_gettime'?
by kbuild test robot
tree: https://android.googlesource.com/kernel/common android-4.19
head: a1728ecf5aed447128ca7143f29d8b0f5f6263c5
commit: 0854e59101a9219eb1607fb584dde8da4dea220e [69/106] UPSTREAM: lib/vdso: Build 32 bit specific functions in the right context
config: mips-malta_kvm_guest_defconfig (attached as .config)
compiler: mipsel-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
git checkout 0854e59101a9219eb1607fb584dde8da4dea220e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from lib/vdso/gettimeofday.c:26,
from <command-line>:
arch/mips/include/asm/vdso/gettimeofday.h: In function 'clock_gettime_fallback':
arch/mips/include/asm/vdso/gettimeofday.h:59:31: error: '__NR_clock_gettime64' undeclared (first use in this function)
59 | register long nr asm("v0") = __NR_clock_gettime64;
| ^~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/vdso/gettimeofday.h:59:31: note: each undeclared identifier is reported only once for each function it appears in
arch/mips/include/asm/vdso/gettimeofday.h: In function 'clock_getres_fallback':
arch/mips/include/asm/vdso/gettimeofday.h:83:31: error: '__NR_clock_getres_time64' undeclared (first use in this function)
83 | register long nr asm("v0") = __NR_clock_getres_time64;
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/vdso/vgettimeofday.c: In function '__vdso_clock_gettime':
>> arch/mips/vdso/vgettimeofday.c:17:9: error: implicit declaration of function '__cvdso_clock_gettime32'; did you mean '__cvdso_clock_gettime'? [-Werror=implicit-function-declaration]
17 | return __cvdso_clock_gettime32(clock, ts);
| ^~~~~~~~~~~~~~~~~~~~~~~
| __cvdso_clock_gettime
arch/mips/vdso/vgettimeofday.c: In function '__vdso_clock_getres':
>> arch/mips/vdso/vgettimeofday.c:39:9: error: implicit declaration of function '__cvdso_clock_getres_time32'; did you mean '__cvdso_clock_getres_common'? [-Werror=implicit-function-declaration]
39 | return __cvdso_clock_getres_time32(clock_id, res);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| __cvdso_clock_getres_common
cc1: all warnings being treated as errors
vim +17 arch/mips/vdso/vgettimeofday.c
6b7f832e465d88 Vincenzo Frascino 2019-06-21 12
6b7f832e465d88 Vincenzo Frascino 2019-06-21 13 #if _MIPS_SIM != _MIPS_SIM_ABI64
6b7f832e465d88 Vincenzo Frascino 2019-06-21 14 int __vdso_clock_gettime(clockid_t clock,
6b7f832e465d88 Vincenzo Frascino 2019-06-21 15 struct old_timespec32 *ts)
6b7f832e465d88 Vincenzo Frascino 2019-06-21 16 {
6b7f832e465d88 Vincenzo Frascino 2019-06-21 @17 return __cvdso_clock_gettime32(clock, ts);
6b7f832e465d88 Vincenzo Frascino 2019-06-21 18 }
6b7f832e465d88 Vincenzo Frascino 2019-06-21 19
cf84512fe7aac9 Vincenzo Frascino 2019-11-29 20 #ifdef CONFIG_MIPS_CLOCK_VSYSCALL
cf84512fe7aac9 Vincenzo Frascino 2019-11-29 21
cf84512fe7aac9 Vincenzo Frascino 2019-11-29 22 /*
cf84512fe7aac9 Vincenzo Frascino 2019-11-29 23 * This is behind the ifdef so that we don't provide the symbol when there's no
cf84512fe7aac9 Vincenzo Frascino 2019-11-29 24 * possibility of there being a usable clocksource, because there's nothing we
cf84512fe7aac9 Vincenzo Frascino 2019-11-29 25 * can do without it. When libc fails the symbol lookup it should fall back on
cf84512fe7aac9 Vincenzo Frascino 2019-11-29 26 * the standard syscall path.
cf84512fe7aac9 Vincenzo Frascino 2019-11-29 27 */
6b7f832e465d88 Vincenzo Frascino 2019-06-21 28 int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
6b7f832e465d88 Vincenzo Frascino 2019-06-21 29 struct timezone *tz)
6b7f832e465d88 Vincenzo Frascino 2019-06-21 30 {
6b7f832e465d88 Vincenzo Frascino 2019-06-21 31 return __cvdso_gettimeofday(tv, tz);
6b7f832e465d88 Vincenzo Frascino 2019-06-21 32 }
6b7f832e465d88 Vincenzo Frascino 2019-06-21 33
cf84512fe7aac9 Vincenzo Frascino 2019-11-29 34 #endif /* CONFIG_MIPS_CLOCK_VSYSCALL */
cf84512fe7aac9 Vincenzo Frascino 2019-11-29 35
23dea1cf7ed384 Vincenzo Frascino 2019-06-21 36 int __vdso_clock_getres(clockid_t clock_id,
23dea1cf7ed384 Vincenzo Frascino 2019-06-21 37 struct old_timespec32 *res)
23dea1cf7ed384 Vincenzo Frascino 2019-06-21 38 {
23dea1cf7ed384 Vincenzo Frascino 2019-06-21 @39 return __cvdso_clock_getres_time32(clock_id, res);
23dea1cf7ed384 Vincenzo Frascino 2019-06-21 40 }
23dea1cf7ed384 Vincenzo Frascino 2019-06-21 41
:::::: The code at line 17 was first introduced by commit
:::::: 6b7f832e465d88fca5f3a07b85e664f962c88e0b BACKPORT: mips: Add support for generic vDSO
:::::: TO: Vincenzo Frascino <vincenzo.frascino(a)arm.com>
:::::: CC: Alistair Delva <adelva(a)google.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months