* Re: [PATCH v6 10/12] usb: dbc: add handshake between debug target and host
[not found] <201601261754.HqYDuGWL%fengguang.wu@intel.com>
@ 2016-01-26 10:40 ` Julia Lawall
2016-01-26 11:01 ` Lu Baolu
0 siblings, 1 reply; 3+ messages in thread
From: Julia Lawall @ 2016-01-26 10:40 UTC (permalink / raw)
To: Lu Baolu; +Cc: kbuild-all, Greg Kroah-Hartman, linux-usb, linux-kernel
Please check. As far as I can see, the call to early_xdbc_read ends up at
xdbc_bulk_transfer, which return negative error codes on failure.
julia
On Tue, 26 Jan 2016, kbuild test robot wrote:
> CC: kbuild-all@01.org
> In-Reply-To: <1453781665-4714-11-git-send-email-baolu.lu@linux.intel.com>
> TO: Lu Baolu <baolu.lu@linux.intel.com>
> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> CC: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Lu Baolu <baolu.lu@linux.intel.com>
>
> Hi Lu,
>
> [auto build test WARNING on usb/usb-testing]
> [also build test WARNING on v4.5-rc1 next-20160125]
> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>
> url: https://github.com/0day-ci/linux/commits/Lu-Baolu/usb-early-add-support-for-early-printk-through-USB3-debug-port/20160126-122049
> base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
> :::::: branch date: 5 hours ago
> :::::: commit date: 5 hours ago
>
> >> drivers/usb/early/xhci-dbc.c:917:6-10: WARNING: Unsigned expression compared with zero: size > 0
>
> git remote add linux-review https://github.com/0day-ci/linux
> git remote update linux-review
> git checkout cdae956781925bbc269faa7f40c931a2825be11a
> vim +917 drivers/usb/early/xhci-dbc.c
>
> 5319db53 Lu Baolu 2016-01-26 901
> 5319db53 Lu Baolu 2016-01-26 902 /* hand over the owner of host from BIOS */
> 5319db53 Lu Baolu 2016-01-26 903 xdbc_bios_handoff();
> 5319db53 Lu Baolu 2016-01-26 904
> 5319db53 Lu Baolu 2016-01-26 905 ret = xdbc_setup();
> 5319db53 Lu Baolu 2016-01-26 906 if (ret < 0) {
> 5319db53 Lu Baolu 2016-01-26 907 pr_notice("failed to setup xHCI DbC connection\n");
> 5319db53 Lu Baolu 2016-01-26 908 xdbcp->xhci_base = NULL;
> 5319db53 Lu Baolu 2016-01-26 909 xdbcp->xdbc_reg = NULL;
> 12cd5775 Lu Baolu 2016-01-26 910 xdbc_dump_debug_buffer();
> 5319db53 Lu Baolu 2016-01-26 911 return ret;
> 5319db53 Lu Baolu 2016-01-26 912 }
> 5319db53 Lu Baolu 2016-01-26 913
> cdae9567 Lu Baolu 2016-01-26 914 while (retry > 0) {
> cdae9567 Lu Baolu 2016-01-26 915 early_xdbc_write(NULL, ping, strlen(ping));
> cdae9567 Lu Baolu 2016-01-26 916 size = early_xdbc_read(NULL, pong, 64);
> cdae9567 Lu Baolu 2016-01-26 @917 if (size > 0) {
> cdae9567 Lu Baolu 2016-01-26 918 xdbc_trace("%s: pong message: %s\n", __func__, pong);
> cdae9567 Lu Baolu 2016-01-26 919 if (pong[0] == 'Y' || pong[0] == 'y')
> cdae9567 Lu Baolu 2016-01-26 920 break;
> cdae9567 Lu Baolu 2016-01-26 921 } else {
> cdae9567 Lu Baolu 2016-01-26 922 xdbc_trace("%s: pong message error %d\n",
> cdae9567 Lu Baolu 2016-01-26 923 __func__, size);
> cdae9567 Lu Baolu 2016-01-26 924 }
> cdae9567 Lu Baolu 2016-01-26 925
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v6 10/12] usb: dbc: add handshake between debug target and host
2016-01-26 10:40 ` [PATCH v6 10/12] usb: dbc: add handshake between debug target and host Julia Lawall
@ 2016-01-26 11:01 ` Lu Baolu
0 siblings, 0 replies; 3+ messages in thread
From: Lu Baolu @ 2016-01-26 11:01 UTC (permalink / raw)
To: Julia Lawall; +Cc: kbuild-all, Greg Kroah-Hartman, linux-usb, linux-kernel
On 01/26/2016 06:40 PM, Julia Lawall wrote:
> Please check. As far as I can see, the call to early_xdbc_read ends up at
> xdbc_bulk_transfer, which return negative error codes on failure.
Good catch. Thank you. I will correct it.
>
> julia
>
> On Tue, 26 Jan 2016, kbuild test robot wrote:
>
>> CC: kbuild-all@01.org
>> In-Reply-To: <1453781665-4714-11-git-send-email-baolu.lu@linux.intel.com>
>> TO: Lu Baolu <baolu.lu@linux.intel.com>
>> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> CC: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Lu Baolu <baolu.lu@linux.intel.com>
>>
>> Hi Lu,
>>
>> [auto build test WARNING on usb/usb-testing]
>> [also build test WARNING on v4.5-rc1 next-20160125]
>> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>>
>> url: https://github.com/0day-ci/linux/commits/Lu-Baolu/usb-early-add-support-for-early-printk-through-USB3-debug-port/20160126-122049
>> base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
>> :::::: branch date: 5 hours ago
>> :::::: commit date: 5 hours ago
>>
>>>> drivers/usb/early/xhci-dbc.c:917:6-10: WARNING: Unsigned expression compared with zero: size > 0
>> git remote add linux-review https://github.com/0day-ci/linux
>> git remote update linux-review
>> git checkout cdae956781925bbc269faa7f40c931a2825be11a
>> vim +917 drivers/usb/early/xhci-dbc.c
>>
>> 5319db53 Lu Baolu 2016-01-26 901
>> 5319db53 Lu Baolu 2016-01-26 902 /* hand over the owner of host from BIOS */
>> 5319db53 Lu Baolu 2016-01-26 903 xdbc_bios_handoff();
>> 5319db53 Lu Baolu 2016-01-26 904
>> 5319db53 Lu Baolu 2016-01-26 905 ret = xdbc_setup();
>> 5319db53 Lu Baolu 2016-01-26 906 if (ret < 0) {
>> 5319db53 Lu Baolu 2016-01-26 907 pr_notice("failed to setup xHCI DbC connection\n");
>> 5319db53 Lu Baolu 2016-01-26 908 xdbcp->xhci_base = NULL;
>> 5319db53 Lu Baolu 2016-01-26 909 xdbcp->xdbc_reg = NULL;
>> 12cd5775 Lu Baolu 2016-01-26 910 xdbc_dump_debug_buffer();
>> 5319db53 Lu Baolu 2016-01-26 911 return ret;
>> 5319db53 Lu Baolu 2016-01-26 912 }
>> 5319db53 Lu Baolu 2016-01-26 913
>> cdae9567 Lu Baolu 2016-01-26 914 while (retry > 0) {
>> cdae9567 Lu Baolu 2016-01-26 915 early_xdbc_write(NULL, ping, strlen(ping));
>> cdae9567 Lu Baolu 2016-01-26 916 size = early_xdbc_read(NULL, pong, 64);
>> cdae9567 Lu Baolu 2016-01-26 @917 if (size > 0) {
>> cdae9567 Lu Baolu 2016-01-26 918 xdbc_trace("%s: pong message: %s\n", __func__, pong);
>> cdae9567 Lu Baolu 2016-01-26 919 if (pong[0] == 'Y' || pong[0] == 'y')
>> cdae9567 Lu Baolu 2016-01-26 920 break;
>> cdae9567 Lu Baolu 2016-01-26 921 } else {
>> cdae9567 Lu Baolu 2016-01-26 922 xdbc_trace("%s: pong message error %d\n",
>> cdae9567 Lu Baolu 2016-01-26 923 __func__, size);
>> cdae9567 Lu Baolu 2016-01-26 924 }
>> cdae9567 Lu Baolu 2016-01-26 925
>>
>> ---
>> 0-DAY kernel test infrastructure Open Source Technology Center
>> https://lists.01.org/pipermail/kbuild-all Intel Corporation
>>
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v6 10/12] usb: dbc: add handshake between debug target and host
2016-01-26 4:14 [PATCH v6 00/12] usb: early: add support for early printk through USB3 debug port Lu Baolu
@ 2016-01-26 4:14 ` Lu Baolu
0 siblings, 0 replies; 3+ messages in thread
From: Lu Baolu @ 2016-01-26 4:14 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: linux-usb, linux-kernel, Lu Baolu
After DbC setup, debug target needs to wait until tty driver and
application (e.g. mincom) on debug taget start. Otherwise, out
messages might be ignored.
This patch adds a ping/pong mechanism between debug target and
host. Debug target will be waiting there until user presses 'Y'
or 'y' in the tty application.
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
drivers/usb/early/xhci-dbc.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/drivers/usb/early/xhci-dbc.c b/drivers/usb/early/xhci-dbc.c
index 6c24ba0..37c5c87 100644
--- a/drivers/usb/early/xhci-dbc.c
+++ b/drivers/usb/early/xhci-dbc.c
@@ -32,6 +32,9 @@
static struct xdbc_state xdbc_stat;
static struct xdbc_state *xdbcp = &xdbc_stat;
+static int early_xdbc_read(struct console *con, char *str, unsigned n);
+static void early_xdbc_write(struct console *con, const char *str, u32 n);
+
#ifdef DBC_DEBUG
#define XDBC_DEBUG_BUF_SIZE (PAGE_SIZE * 32)
#define MSG_MAX_LINE 128
@@ -860,8 +863,12 @@ int __init early_xdbc_init(char *s)
{
u32 bus = 0, dev = 0, func = 0;
unsigned long dbgp_num = 0;
+ char *ping = "Press Y to continue...\n";
+ char pong[64];
+ size_t size;
u32 offset;
int ret;
+ int retry = 20;
if (!early_pci_allowed())
return -EPERM;
@@ -904,6 +911,21 @@ int __init early_xdbc_init(char *s)
return ret;
}
+ while (retry > 0) {
+ early_xdbc_write(NULL, ping, strlen(ping));
+ size = early_xdbc_read(NULL, pong, 64);
+ if (size > 0) {
+ xdbc_trace("%s: pong message: %s\n", __func__, pong);
+ if (pong[0] == 'Y' || pong[0] == 'y')
+ break;
+ } else {
+ xdbc_trace("%s: pong message error %d\n",
+ __func__, size);
+ }
+
+ retry--;
+ }
+
return 0;
}
@@ -1325,6 +1347,11 @@ int xdbc_bulk_write(const char *bytes, int size)
* Start a bulk-in or bulk-out transfer, wait until transfer completion
* or error. Return the count of actually transferred bytes or error.
*/
+static int early_xdbc_read(struct console *con, char *str, unsigned n)
+{
+ return xdbc_bulk_read(str, n, 0);
+}
+
static void early_xdbc_write(struct console *con, const char *str, u32 n)
{
int chunk, ret;
--
2.1.4
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-01-26 11:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <201601261754.HqYDuGWL%fengguang.wu@intel.com>
2016-01-26 10:40 ` [PATCH v6 10/12] usb: dbc: add handshake between debug target and host Julia Lawall
2016-01-26 11:01 ` Lu Baolu
2016-01-26 4:14 [PATCH v6 00/12] usb: early: add support for early printk through USB3 debug port Lu Baolu
2016-01-26 4:14 ` [PATCH v6 10/12] usb: dbc: add handshake between debug target and host Lu Baolu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome