From: kernel test robot <lkp@intel.com>
To: Daehwan Jung <dh10.jung@samsung.com>,
Mathias Nyman <mathias.nyman@intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: kbuild-all@lists.01.org, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org, Howard Yen <howardyen@google.com>,
Jack Pham <jackp@codeaurora.org>, Puma Hsu <pumahsu@google.com>,
"J . Avila" <elavila@google.com>,
"chihhao . chen" <chihhao.chen@mediatek.com>,
Daehwan Jung <dh10.jung@samsung.com>,
sc.suh@samsung.com, cpgs@samsung.com, cpgsproxy5@samsung.com
Subject: Re: [PATCH v1 2/4] usb: host: add xhci hooks for USB offload
Date: Tue, 8 Mar 2022 18:51:52 +0800 [thread overview]
Message-ID: <202203081848.5KEiXYSo-lkp@intel.com> (raw)
In-Reply-To: <891095110.61646375404257.JavaMail.epsvc@epcpadp3>
Hi Daehwan,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on krzk/for-next]
[also build test ERROR on char-misc/char-misc-testing v5.17-rc7]
[cannot apply to usb/usb-testing next-20220308]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Daehwan-Jung/usb-host-export-symbols-for-xhci-hooks-usage/20220304-143406
base: https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git for-next
config: arm-hisi_defconfig (https://download.01.org/0day-ci/archive/20220308/202203081848.5KEiXYSo-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/2b6a5d700c2bbb0a3ccfcd6e83a7f7b2ea049db9
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Daehwan-Jung/usb-host-export-symbols-for-xhci-hooks-usage/20220304-143406
git checkout 2b6a5d700c2bbb0a3ccfcd6e83a7f7b2ea049db9
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash drivers/usb/host/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/usb/host/xhci.c:4361:5: warning: no previous prototype for 'xhci_address_device' [-Wmissing-prototypes]
4361 | int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev)
| ^~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.c: In function 'xhci_vendor_get_ops':
>> drivers/usb/host/xhci.c:4459:20: error: 'struct xhci_hcd' has no member named 'vendor_ops'
4459 | return xhci->vendor_ops;
| ^~
drivers/usb/host/xhci.c:4460:1: error: control reaches end of non-void function [-Werror=return-type]
4460 | }
| ^
cc1: some warnings being treated as errors
vim +4459 drivers/usb/host/xhci.c
4360
> 4361 int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev)
4362 {
4363 return xhci_setup_device(hcd, udev, SETUP_CONTEXT_ADDRESS);
4364 }
4365 EXPORT_SYMBOL_GPL(xhci_address_device);
4366
4367 static int xhci_enable_device(struct usb_hcd *hcd, struct usb_device *udev)
4368 {
4369 return xhci_setup_device(hcd, udev, SETUP_CONTEXT_ONLY);
4370 }
4371
4372 /*
4373 * Transfer the port index into real index in the HW port status
4374 * registers. Caculate offset between the port's PORTSC register
4375 * and port status base. Divide the number of per port register
4376 * to get the real index. The raw port number bases 1.
4377 */
4378 int xhci_find_raw_port_number(struct usb_hcd *hcd, int port1)
4379 {
4380 struct xhci_hub *rhub;
4381
4382 rhub = xhci_get_rhub(hcd);
4383 return rhub->ports[port1 - 1]->hw_portnum + 1;
4384 }
4385
4386 /*
4387 * Issue an Evaluate Context command to change the Maximum Exit Latency in the
4388 * slot context. If that succeeds, store the new MEL in the xhci_virt_device.
4389 */
4390 static int __maybe_unused xhci_change_max_exit_latency(struct xhci_hcd *xhci,
4391 struct usb_device *udev, u16 max_exit_latency)
4392 {
4393 struct xhci_virt_device *virt_dev;
4394 struct xhci_command *command;
4395 struct xhci_input_control_ctx *ctrl_ctx;
4396 struct xhci_slot_ctx *slot_ctx;
4397 unsigned long flags;
4398 int ret;
4399
4400 spin_lock_irqsave(&xhci->lock, flags);
4401
4402 virt_dev = xhci->devs[udev->slot_id];
4403
4404 /*
4405 * virt_dev might not exists yet if xHC resumed from hibernate (S4) and
4406 * xHC was re-initialized. Exit latency will be set later after
4407 * hub_port_finish_reset() is done and xhci->devs[] are re-allocated
4408 */
4409
4410 if (!virt_dev || max_exit_latency == virt_dev->current_mel) {
4411 spin_unlock_irqrestore(&xhci->lock, flags);
4412 return 0;
4413 }
4414
4415 /* Attempt to issue an Evaluate Context command to change the MEL. */
4416 command = xhci->lpm_command;
4417 ctrl_ctx = xhci_get_input_control_ctx(command->in_ctx);
4418 if (!ctrl_ctx) {
4419 spin_unlock_irqrestore(&xhci->lock, flags);
4420 xhci_warn(xhci, "%s: Could not get input context, bad type.\n",
4421 __func__);
4422 return -ENOMEM;
4423 }
4424
4425 ret = xhci_vendor_sync_dev_ctx(xhci, udev->slot_id);
4426 if (ret) {
4427 spin_unlock_irqrestore(&xhci->lock, flags);
4428 xhci_warn(xhci, "%s: Failed to sync device context failed, err=%d",
4429 __func__, ret);
4430 return ret;
4431 }
4432
4433 xhci_slot_copy(xhci, command->in_ctx, virt_dev->out_ctx);
4434 spin_unlock_irqrestore(&xhci->lock, flags);
4435
4436 ctrl_ctx->add_flags |= cpu_to_le32(SLOT_FLAG);
4437 slot_ctx = xhci_get_slot_ctx(xhci, command->in_ctx);
4438 slot_ctx->dev_info2 &= cpu_to_le32(~((u32) MAX_EXIT));
4439 slot_ctx->dev_info2 |= cpu_to_le32(max_exit_latency);
4440 slot_ctx->dev_state = 0;
4441
4442 xhci_dbg_trace(xhci, trace_xhci_dbg_context_change,
4443 "Set up evaluate context for LPM MEL change.");
4444
4445 /* Issue and wait for the evaluate context command. */
4446 ret = xhci_configure_endpoint(xhci, udev, command,
4447 true, true);
4448
4449 if (!ret) {
4450 spin_lock_irqsave(&xhci->lock, flags);
4451 virt_dev->current_mel = max_exit_latency;
4452 spin_unlock_irqrestore(&xhci->lock, flags);
4453 }
4454 return ret;
4455 }
4456
4457 struct xhci_vendor_ops *xhci_vendor_get_ops(struct xhci_hcd *xhci)
4458 {
> 4459 return xhci->vendor_ops;
4460 }
4461 EXPORT_SYMBOL_GPL(xhci_vendor_get_ops);
4462
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
next prev parent reply other threads:[~2022-03-08 10:52 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20220304062617epcas2p2084161966aaa66d07f4c25720ec18088@epcas2p2.samsung.com>
[not found] ` <1646375038-72082-1-git-send-email-dh10.jung@samsung.com>
2022-03-04 6:23 ` [PATCH v1 1/4] usb: host: export symbols for xhci hooks usage Daehwan Jung
2022-03-07 9:59 ` Krzysztof Kozlowski
2022-03-23 2:58 ` Jung Daehwan
2022-03-23 9:41 ` Krzysztof Kozlowski
2022-03-23 11:43 ` Greg Kroah-Hartman
2022-03-25 2:07 ` Jung Daehwan
2022-03-25 1:28 ` Jung Daehwan
2022-03-25 11:36 ` Krzysztof Kozlowski
2022-03-29 2:43 ` Jung Daehwan
2022-03-08 5:35 ` kernel test robot
2022-03-04 6:23 ` [PATCH v1 2/4] usb: host: add xhci hooks for USB offload Daehwan Jung
2022-03-08 6:16 ` kernel test robot
2022-03-08 10:51 ` kernel test robot [this message]
2022-03-04 6:23 ` [PATCH v1 3/4] usb: host: add some to xhci overrides " Daehwan Jung
2022-03-04 6:23 ` [PATCH v1 4/4] usb: host: add xhci-exynos module Daehwan Jung
2022-03-04 7:37 ` Greg Kroah-Hartman
2022-03-07 10:07 ` Krzysztof Kozlowski
2022-03-07 10:26 ` Jung Daehwan
2022-03-07 10:59 ` Krzysztof Kozlowski
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=202203081848.5KEiXYSo-lkp@intel.com \
--to=lkp@intel.com \
--cc=chihhao.chen@mediatek.com \
--cc=cpgs@samsung.com \
--cc=cpgsproxy5@samsung.com \
--cc=dh10.jung@samsung.com \
--cc=elavila@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=howardyen@google.com \
--cc=jackp@codeaurora.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=pumahsu@google.com \
--cc=sc.suh@samsung.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.