Zitat von Alan Stern :
On Mon, 18 Mar 2019, Guido Kiener wrote:
The OUT endpoint normally blocks (NAK) subsequent packets when a
short packet was received and returns an incomplete queue entry to
the gadget driver. Thereby the gadget driver can detect a short packet
when reading queue
the conditions are met. This
ensures that all received data is delivered to the gadget driver,
which can detect a short packet now before new packets are appended
to the last short packet.
Thank you. Sounds good.
Guido
Zitat von Guido Kiener :
Restore the status of ep->stopped in function net2272_dequeue().
When the given request is not found in the endpoint queue
the function returns -EINVAL without restoring the state of
ep->stopped. Thus the endpoint keeps blocked and does not transfer
any data a
Zitat von Greg KH :
On Thu, May 17, 2018 at 07:03:26PM +0200, Guido Kiener wrote:
- Add 'struct usbtmc_file_data' for each file handle to cache last
srq_byte (=Status Byte with SRQ) received by usbtmc_interrupt(..)
- usbtmc488_ioctl_read_stb returns cached srq_byte when ava
Zitat von Greg KH :
On Thu, May 17, 2018 at 07:03:24PM +0200, Guido Kiener wrote:
The working group "VISA for Linux" of the IVI Foundation
www.ivifoundation.org specifies common rules, shared libraries and
drivers to implement the specification of "VPP-4.3: The VISA Library&
Zitat von Greg KH :
On Thu, May 17, 2018 at 07:03:28PM +0200, Guido Kiener wrote:
- add USBTMC488_IOCTL_TRIGGER to send TRIGGER Bulk-OUT header
according to Subclass USB488 Specification
The usbtmc trigger command is equivalent to the IEEE 488 GET (Group
Execute Trigger) action. While
Zitat von Greg KH :
On Fri, May 18, 2018 at 11:52:36AM +, gu...@kiener-muenchen.de wrote:
Zitat von Greg KH :
> On Thu, May 17, 2018 at 07:03:26PM +0200, Guido Kiener wrote:
> > - Add 'struct usbtmc_file_data' for each file handle to cache last
> > srq_by
Zitat von Greg KH :
On Thu, May 17, 2018 at 07:03:29PM +0200, Guido Kiener wrote:
Add USBTMC_IOCTL_CTRL_REQUEST to send arbitrary requests on the
control pipe. Used by specific applications of IVI Foundation,
Inc. to implement VISA API functions: viUsbControlIn/Out.
Signed-off-by: Guido
Zitat von Greg KH :
On Thu, May 17, 2018 at 07:03:30PM +0200, Guido Kiener wrote:
- ioctl USBTMC_IOCTL_WRITE sends an (a)synchronous generic message
to bulk OUT. The message is split into chunks of 4k (page size).
Message size is aligned to 32 bit boundaries.
With flag
Zitat von Greg KH :
On Thu, May 17, 2018 at 07:03:30PM +0200, Guido Kiener wrote:
+/*
+ * usbtmc_message->flags:
+ */
+#define USBTMC_FLAG_ASYNC 0x0001
+#define USBTMC_FLAG_APPEND 0x0002
+#define USBTMC_FLAG_IGNORE_TRAILER 0x0004
+
+struct usbtmc_mess
Zitat von Greg KH :
On Thu, May 17, 2018 at 07:03:27PM +0200, Guido Kiener wrote:
Add ioctls USBTMC_IOCTL_GET_TIMEOUT / USBTMC_IOCTL_SET_TIMEOUT to
get/set I/O timeout for specific file handle.
Different operations on an instrument can take different lengths of
time thus it is important to
Zitat von Greg KH :
On Thu, May 17, 2018 at 07:03:31PM +0200, Guido Kiener wrote:
@@ -2420,8 +2476,8 @@ static int usbtmc_probe(struct usb_interface *intf,
retcode = usb_register_dev(intf, &usbtmc_class);
if (retcode) {
- dev_err(&intf->dev, "N
Zitat von Greg KH :
On Fri, May 18, 2018 at 02:48:11PM +, gu...@kiener-muenchen.de wrote:
Zitat von Greg KH :
> On Thu, May 17, 2018 at 07:03:30PM +0200, Guido Kiener wrote:
> > +/*
> > + * usbtmc_message->flags:
> > + */
> > +#define USBTMC_FLAG_ASYNC
Zitat von Greg KH :
On Fri, May 18, 2018 at 03:02:10PM +, gu...@kiener-muenchen.de wrote:
Zitat von Greg KH :
> On Thu, May 17, 2018 at 07:03:31PM +0200, Guido Kiener wrote:
> > @@ -2420,8 +2476,8 @@ static int usbtmc_probe(struct
usb_interface *intf,
> >
&g
Zitat von Andy Shevchenko :
On Thu, May 17, 2018 at 8:03 PM, Guido Kiener
wrote:
Add ioctls USBTMC_IOCTL_GET_TIMEOUT / USBTMC_IOCTL_SET_TIMEOUT to
get/set I/O timeout for specific file handle.
+static int usbtmc_ioctl_get_timeout(struct usbtmc_file_data *file_data
Zitat von Greg KH :
On Fri, May 18, 2018 at 02:48:11PM +, gu...@kiener-muenchen.de wrote:
Zitat von Greg KH :
> On Thu, May 17, 2018 at 07:03:30PM +0200, Guido Kiener wrote:
> > +/*
> > + * usbtmc_message->flags:
> > + */
> > +#define USBTMC_FLAG_ASYNC
Zitat von Greg KH :
@@ -122,7 +141,7 @@ static int usbtmc_open(struct inode *inode,
struct file *filp)
{
struct usb_interface *intf;
struct usbtmc_device_data *data;
- int retval = 0;
+ struct usbtmc_file_data *file_data;
intf = usb_find_interface(&usbtmc
Zitat von Greg KH :
On Fri, May 18, 2018 at 01:32:51PM +, gu...@kiener-muenchen.de wrote:
Zitat von Greg KH :
> On Thu, May 17, 2018 at 07:03:29PM +0200, Guido Kiener wrote:
> > Add USBTMC_IOCTL_CTRL_REQUEST to send arbitrary requests on the
> > control pipe. U
Zitat von Greg KH :
On Mon, May 21, 2018 at 08:41:22PM +, gu...@kiener-muenchen.de wrote:
Zitat von Greg KH :
> On Fri, May 18, 2018 at 02:48:11PM +, gu...@kiener-muenchen.de wrote:
> >
> > Zitat von Greg KH :
> >
> > > On Thu, May 17, 2018 at 07:03:
Zitat von Oliver Neukum :
Am Montag, den 21.05.2018, 21:00 + schrieb guido@kiener-
muenchen.de:
I looked for a race here, but I do not find a race between open and release,
since a refcount of "file_data->data->kref" is always hold by
usbtmc_probe/disconnect.
Howe
Zitat von Oliver Neukum :
Am Donnerstag, den 17.05.2018, 19:03 +0200 schrieb Guido Kiener:
+ retval = usb_bulk_msg(data->usb_dev,
+ usb_sndbulkpipe(data->usb_dev,
+ data->
Zitat von Oliver Neukum :
Am Donnerstag, den 17.05.2018, 19:03 +0200 schrieb Guido Kiener:
+static int usbtmc488_ioctl_wait_srq(struct usbtmc_file_data *file_data,
+ unsigned int __user *arg)
+{
+ struct usbtmc_device_data *data = file_data->d
Zitat von Oliver Neukum :
Am Donnerstag, den 24.05.2018, 12:59 + schrieb guido@kiener-
muenchen.de:
Zitat von Oliver Neukum :
> Am Donnerstag, den 17.05.2018, 19:03 +0200 schrieb Guido Kiener:
> > +static int usbtmc488_ioctl_wait_srq(struct usbtmc_file_data *
Zitat von Greg KH :
On Wed, Jul 18, 2018 at 10:45:41AM +0200, Guido Kiener wrote:
Add USBTMC_IOCTL_CTRL_REQUEST to send arbitrary requests on the
control pipe. Used by specific applications of IVI Foundation,
Inc. to implement VISA API functions: viUsbControlIn/Out.
The maximum length of
Zitat von Greg KH :
On Sat, Jul 21, 2018 at 11:11:55AM +, gu...@kiener-muenchen.de wrote:
Zitat von Greg KH :
> On Wed, Jul 18, 2018 at 10:45:41AM +0200, Guido Kiener wrote:
> > Add USBTMC_IOCTL_CTRL_REQUEST to send arbitrary requests on the
> > control pipe. U
Zitat von Greg KH :
On Tue, Jul 24, 2018 at 11:05:29AM +0200, Guido Kiener wrote:
Add USBTMC_IOCTL_CTRL_REQUEST to send arbitrary requests on the
control pipe. Used by specific applications of IVI Foundation,
Inc. to implement VISA API functions: viUsbControlIn/Out.
The maximum length of
Zitat von Greg KH :
On Tue, Jul 24, 2018 at 11:05:29AM +0200, Guido Kiener wrote:
+struct usbtmc_ctrlrequest {
+ struct usbtmc_request req;
+ __u64 data; /* pointer to user space */
+} __attribute__ ((packed));
Hint, this structure could just be:
struct
Zitat von Greg KH :
On Mon, Jul 30, 2018 at 10:04:30AM +0200, Guido Kiener wrote:
The working group "VISA for Linux" of the IVI Foundation
www.ivifoundation.org specifies common rules, shared libraries and
drivers to implement the specification of "VPP-4.3: The VISA Library&
cover/10554819/
Regards,
Guido
I need to push out my testing branch now, 0-day seems
to be stalled :(
Big sorry! There is a superflous kmalloc line 1270 til 1272.
Shall I send the fix?
Regards
Guido
internal build system?
And I still have to make an official fix, isn't it?
Guido
tem?
And I still have to make an official fix, isn't it?
Yes, you need to send a "real" patch for anyone to be able to pick it
up.
I sent the patch series: https://patchwork.kernel.org/cover/10612963/
Anything else I can do to relieve my bad conscience?
Regards,
Guido
k.
I have already sent a patch series here:
https://patchwork.kernel.org/cover/10612963/
This includes a similar patch to your proposal:
https://patchwork.kernel.org/patch/10612965/
Thank you!
Regards,
Guido
Zitat von Alan Stern :
On Mon, 4 Feb 2019, Guido Kiener wrote:
From: Guido Kiener
The OUT endpoint normally blocks (NAK) subsequent packets when a
short packet is received and returns an incomplete queue entry to
the gadget driver. Thereby the gadget driver can detect
a short packet when
Zitat von Alan Stern :
On Mon, 4 Feb 2019, Guido Kiener wrote:
From: Guido Kiener
Fix spelling of automatically.
Signed-off-by: Guido Kiener
---
drivers/usb/gadget/udc/net2280.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/net2280.c
b
Zitat von Alan Stern :
On Mon, 4 Feb 2019, Guido Kiener wrote:
From: Guido Kiener
A reset e.g. calling ep_reset_338x() can happen while endpoints
are enabled.
How can this happen? That routine is called from only two places.
One is in net2280_disable(), so after the endpoint has
Zitat von Alan Stern :
On Tue, 5 Feb 2019 gu...@kiener-muenchen.de wrote:
Zitat von Alan Stern :
> On Mon, 4 Feb 2019, Guido Kiener wrote:
>
>> From: Guido Kiener
>>
>> The OUT endpoint normally blocks (NAK) subsequent packets when a
>> short packet is rece
Zitat von Alan Stern :
On Tue, 5 Feb 2019 gu...@kiener-muenchen.de wrote:
Zitat von Alan Stern :
> On Mon, 4 Feb 2019, Guido Kiener wrote:
>
>> From: Guido Kiener
>>
>> The OUT endpoint normally blocks (NAK) subsequent packets when a
>> short packet is rece
stop_out_naking(ep);
}
writel(BIT(DMA_START), &dma->dmastat);
}
start_queue() is only called by start_dma(). I see that we can
simplify this patch
when we just insert the stop_out_nacking(ep) between line 909 and 910:
https://elixir.bootlin.com/linux/v5.0-rc5/source/drivers/usb/gadget/udc/net2280.c#L909
and remove the stop_out_naking() call in start_queue(). I will test
this over weekend.
Regards,
Guido
s as expected, although the driver issues the
false error message "Request mismatch".
What do you think? It's labor-intensive to fix the error message here,
or shall we leave it as it is, and only insert the "ep->stopped = stopped;"
Regards,
Guido
910:
https://elixir.bootlin.com/linux/v5.0-rc5/source/drivers/usb/gadget/udc/net2280.c#L909
and remove the stop_out_naking() call in start_queue()...
I will add this improvement to the new patch sequence.
Guido
lregs->ll_lfps_timers_2);
+ writel((val & 0x) | LFPS_TIMERS_2_WORKAROUND_VALUE,
+ &dev->llregs->ll_lfps_timers_2);
+
/*
* Set Recovery Idle to Recover bit:
* - On SS connections, setting Recovery Idle to Recover Fmw improves
I'm ok with your patch sequence.
-Guido
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/ branch
usb-next. Please note that [PATCH 1/2] was sent twice.
-Guido
] hub 6-0:1.0: unable to enumerate USB device on port 2
*** NOTE: Device is permanently disabled at this point ***
I don't know whether my analysis is correct (and therefore the proposed
solution appropriate), as reproducing the problem is very difficult...
Regards,
Guido
Add an option t
Hello Greg !
On dom, 2016-03-20 at 10:34 -0700, Greg KH wrote:
> On Sun, Mar 20, 2016 at 06:09:57PM +0100, Guido Trentalancia wrote:
> >
> > [ 1295.575679] usb 6-2: FTDI USB Serial Device converter now
> > attached
> > to ttyUSB1
> > [ 1302.204285] usb usb6-
so that it correctly
documents Documentation/kernel-parameters.txt.
Regards,
Guido
Il 21 marzo 2016 09:52:39 CET, Oliver Neukum ha scritto:
>On Sun, 2016-03-20 at 18:09 +0100, Guido Trentalancia wrote:
>> Hello.
>>
>> Considering that EM interference can last for a while (gen
Hello Alan,
thanks for getting back on this...
Il 21 marzo 2016 16:01:17 CET, Alan Stern ha
scritto:
>On Sun, 20 Mar 2016, Guido Trentalancia wrote:
>
>> Hello.
>>
>> Considering that EM interference can last for a while (generally up
>to
>> seconds), I a
study on typical duration of EMI
inside buildings... In the meanwhile, I believe 1000 milliseconds (plus
configurability) to be safe.
Regards,
Guido
Il 21 marzo 2016 16:42:14 CET, Guido Trentalancia ha
scritto:
>Hello Alan,
>
>thanks for getting back on this...
>
>Il 21 marzo 20
Hello again.
On lun, 2016-03-21 at 09:36 -0400, Greg KH wrote:
> On Sun, Mar 20, 2016 at 06:57:30PM +0100, Guido Trentalancia wrote:
> >
> > Hello Greg !
> >
> > On dom, 2016-03-20 at 10:34 -0700, Greg KH wrote:
> > >
> > > On Sun, Mar 20,
packet now before new
packets overrun the last short packet.
Signed-off-by: Guido Kiener
---
drivers/usb/gadget/udc/net2280.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/usb/gadget/udc/net2280.c b/drivers/usb/gadget/udc/net2280.c
index f63f82450bf4..e0b413e9e532
ompile-tested, since we do not have a
corresponding hardware. An analogous fix was tested in the sibling
driver. See "usb: gadget: net2280: Fix net2280_dequeue()"
Signed-off-by: Guido Kiener
---
drivers/usb/gadget/udc/net2272.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/driver
restoring the status ep->stopped.
Thus the endpoint keeps blocked and does not receive any data
anymore.
This fix restores the status and does not issue an error message.
Signed-off-by: Guido Kiener
---
drivers/usb/gadget/udc/net2280.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --
ackets are appended
to the last short packet.
Signed-off-by: Guido Kiener
---
drivers/usb/gadget/udc/net2280.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/usb/gadget/udc/net2280.c b/drivers/usb/gadget/udc/net2280.c
index f63f82450bf4..e0b413e9e532 100644
--- a/d
Hello.
I am trying to use a Digitus DA-71114 USB-to-SATA HDD enclosure.
Such unit is reported to use the JMicron JMS578 chipset by the same
manufacturer, although it is listed with a different USB VID/PID:
0080:a001.
Immediately after plugging in the USB cable, it reports I/O errors,
even though
disabled or enabled, respectively ? If yes, how
?
Thanks very much for your time !
Guido
On Fri, 17/05/2019 at 21.32 +0200, Guido Trentalancia wrote:
> Hello.
>
> I am trying to use a Digitus DA-71114 USB-to-SATA HDD enclosure.
>
> Such unit is reported to use the JMicron JMS578
matter of unlocking the drive
in the BIOS before connecting it to the JMicron JMS578 enclosure.
On Sat, 18/05/2019 at 14.31 +0200, Guido Trentalancia wrote:
> Hello again.
>
> I have now upgraded the original HDD enclosure firmware (version
> 46.01.00.01) with the latest available one f
ou do not want to get more emails about this topic.
-Guido
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
/gather streams) ?
Best regards,
Guido
-Original Message-
From: Greg KH
Sent: Wednesday, March 28, 2018 7:52 AM
To: Kiener Guido 1DC3
Subject: Re: usb: usbtmc: Proposal for new ioctl functions
On Tue, Mar 27, 2018 at 08:57:27PM +0200, guido.kie...@rohde-schwarz.com wrote:
> Hi a
[gk] See below
-Original Message-
From: Greg KH
Sent: Thursday, April 05, 2018 3:45 PM
To: Kiener Guido
Subject: Re: usb: usbtmc: Proposal for new ioctl functions
On Wed, Apr 04, 2018 at 10:03:22PM +, Guido Kiener wrote:
> Greg,
>
> Before sending patches we want to be s
Alan,
Thank you for your clarification. Indeed I'm missing some details how USB bulk
protocol works.
I will discuss your comments with Keysight & NI, and I hope we may ask you the
one or other question.
Guido
-Original Message-
From: Alan Stern
Sent: Friday, April 06, 2018 4
the usbtmc driver
The following collaborative patches meet the requirements of the IVI
Foundation to implement the library based on the usbtmc driver.
Improvements in the data transfer rate of over 130 MByte/s for
usb 3.x connections have been measured.
Guido Kiener, Dave Penkler, Steve Bayless (12):
ETIMEOUT instead of ETIME
Tested-by: Dave Penkler
Reviewed-by: Steve Bayless
Signed-off-by: Guido Kiener
---
drivers/usb/class/usbtmc.c | 176 -
1 file changed, 136 insertions(+), 40 deletions(-)
diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/
Add USBTMC_IOCTL_CTRL_REQUEST to send arbitrary requests on the
control pipe. Used by specific applications of IVI Foundation,
Inc. to implement VISA API functions: viUsbControlIn/Out.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 61
ld
'bmTransferAttributes' of REQUEST_DEV_DEP_MSG_IN BULK-OUT header.
Allows enabling/disabling of terminating a read on reception of
term_char individually for each read request.
Reviewed-by: Steve Bayless
Signed-off-by: Dave Penkler
Signed-off-by: Guido Kiener
to optimise the
responsiveness of the application. As the instrument may be shared by
multiple applications the timeout should be settable on a per file
descriptor basis.
Tested-by: Dave Penkler
Reviewed-by: Steve Bayless
Signed-off-by: Dave Penkler
Signed-off-by: Guido Kiener
---
drivers/usb
Insert a sleep of 50 ms between subsequent CHECK_CLEAR_STATUS
control requests to avoid stressing the instrument with repeated
requests.
Some instruments need time to cleanup internal I/O buffers.
Polling and repeated requests slow down the response time of
devices.
Signed-off-by: Guido Kiener
different or wrong tag ids.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 151 ++-
include/uapi/linux/usb/tmc.h | 2 +
2 files changed, 81 insertions(+), 72 deletions(-)
diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb
- add ioctl USBTMC_IOCTL_API_VERSION to get current API version
- add info message to show API version
- replace USBTMC_TIMEOUT macros with common used USB_CTRL_GET_TIMEOUT
or USB_CTRL_SET_TIMEOUT macros.
- delete some superfluous code lines.
- update ioctl-number.txt
Signed-off-by: Guido
is always zero when the device does not support
termchar feature or when termchar detection is not enabled
(see ioctl USBTMC_IOCTL_CONFIG_TERMCHAR).
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 357 ---
include/uapi
The ioctls USBTMC_IOCTL_SET_OUT_HALT or USBTMC_IOCTL_SET_IN_HALT
send a SET_FEATURE(HALT) request to the corresponding OUT or IN pipe.
Useful for testing devices and client applications: The ioctls force
the device to simulate the error state at the specified pipe.
Signed-off-by: Guido Kiener
All T&M instruments should also work with rigol_quirk = 1 code path.
So remove unnecessary code in rigol_quirk = 0 code path to simplify the driver.
Tested-by: Dave Penkler
Reviewed-by: Steve Bayless
Signed-off-by: Guido Kiener
---
drivers/usb/class/usbtmc.c
Wait until an SRQ (service request) is received on the interrupt pipe
or until the given period of time is expired. In contrast to the
poll() function this ioctl does not return when other (a)synchronous
I/O operations fail with EPOLLERR.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
and
IN bulk, and clears all received data from IN bulk. Internal
transfer counters and error states are reset.
- Flush flying urbs when file handle is closed or device is
suspended.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c |
mance?
3. Do you have any plans to modify/evolve the USBTMC driver moving
forward?
4. Do you know of any other differences between the Linux USBTMC driver
and the Windows USBTMC driver?
We are looking forward to your comments. Please let us know if some of you
would like to participate to the ne
e filled up or analyzed in
user mode. This allows VISA vendors to be more flexible to maintain their
applications. The specification is here:
http://ivifoundation.org/downloads/Protocol%20Specifications/Ivi-6%202_USBTMC_2010-03-23.pdf
At the moment I'm still not sure about the right way
" quirk, which simply uses
> a single read request for the entire buffer. (I don't know why the
> driver author thought this shouldn't be done for every device.)
Thank you for the hint! I think that all T&M instruments should be able to
send the entire buffer and I
er
Signed-off-by: Dave Penkler
Signed-off-by: Guido Kiener
---
drivers/usb/class/usbtmc.c | 28 +++-
include/uapi/linux/usb/tmc.h | 2 ++
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c
index 38
already available due to a previous non blocking call the ioctl
will return -EINVAL when the message pointer is NULL.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 369 ++-
include/uapi/linux/usb/tmc.h | 2 +
2 files
er.
Improvements in the data transfer rate of over 130 MByte/s for
usb 3.x connections have been measured.
Guido Kiener, Dave Penkler, Steve Bayless (29):
01 Support Read Status Byte with SRQ per file
02 Use consistent timeout error
03 Add ioctls to set/get usb timeout
04 Add ioctl for trigger
message is received.
Bit 1 = is set when the last byte is a termchar (e.g. '\n').
Note that this bit is always zero when the device does not support
the termchar feature or when termchar detection is not enabled
(see ioctl USBTMC_IOCTL_CONFIG_TERMCHAR).
Signed-off-by: Guido Kiener
Reviewed
dually for each read request.
Reviewed-by: Steve Bayless
Tested-by: Dave Penkler
Signed-off-by: Dave Penkler
Signed-off-by: Guido Kiener
---
drivers/usb/class/usbtmc.c | 36 ++--
include/uapi/linux/usb/tmc.h | 6 ++
2 files changed, 40 insertions(+), 2 deleti
uations an instrument
will be busy and unable to process the data immediately in which
case the USBTMC488_IOCTL_TRIGGER can be used to trigger the
instrument with lower latency.
Reviewed-by: Steve Bayless
Tested-by: Dave Penkler
Signed-off-by: Dave Penkler
Signed-off-by: Guido Kiener
---
drivers
.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 19 +++
include/uapi/linux/usb/tmc.h | 1 +
2 files changed, 20 insertions(+)
diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c
index d9ebecce65a4..9fc468ed0dee 100644
ioctl USBTMC_IOCTL_CANCEL_IO stops and kills all flying urbs of
last USBTMC_IOCTL_READ and USBTMC_IOCTL_WRITE function calls.
A subsequent call to USBTMC_IOCTL_READ or
USBTMC_IOCTL_WRITE_RESULT returns -ECANCELED with
information about current transferred data.
Signed-off-by: Guido Kiener
flag USBTMC_FLAG_APPEND additional urbs are queued and
out_status/out_transfer_size is not reset. EPOLLOUT | EPOLLWRNORM
is signaled when all submitted urbs are completed.
Flush flying urbs when file handle is closed or device is
suspended or reset.
Signed-off-by: Guido Kiener
Reviewed-by: Steve
Use common timeout macro USB_CTRL_GET_TIMEOUT (=5s) for all
usb_control_msg() function calls.
The macro USBTMC_TIMEOUT should only be used as default value for
Bulk IN/OUT transfers.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 8
1 file
Wait until an SRQ (service request) is received on the interrupt pipe
or until the given period of time is expired. In contrast to the
poll() function this ioctl does not return when other (a)synchronous
I/O operations fail with EPOLLERR.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
Use new usbtmc_generic_write function to maximize bandwidth
during long data transfer.
The maximum output transfer size is limited to INT_MAX (=2GB).
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 176 +++--
1 file
CHECK_CLEAR_STATUS
response, since other bits are reserved and can change in
future versions.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 46 +++---
1 file changed, 18 insertions(+), 28 deletions(-)
diff --git a/drivers/usb/class
Add USBTMC_IOCTL_CTRL_REQUEST to send arbitrary requests on the
control pipe. Used by specific applications of IVI Foundation,
Inc. to implement VISA API functions: viUsbControlIn/Out.
The maximum length of control request is set to 4k.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
32 bit applications can only call ioctl functions on 64 bit systems
when the field .compat_ioctl is defined for file operations.
Tested-by: Dave Penkler
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 12
1 file changed, 12 insertions
instead of USBTMC_TIMEOUT.
Check only bit 0 (field bmAbortBulkIn) of the
CHECK_ABORT_BULK_IN_STATUS response, since other bits are reserved
and can change in future versions.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 139 ---
s EPOLLPRI instead of EPOLLIN since EPOLLIN is now reserved
for asynchronous reads
Tested-by: Dave Penkler
Reviewed-by: Steve Bayless
Signed-off-by: Guido Kiener
---
drivers/usb/class/usbtmc.c | 136 -
1 file changed, 105 insertions(+), 31 deletions(-)
diff --git
: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 222 ++---
1 file changed, 105 insertions(+), 117 deletions(-)
diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c
index f38475ee6d5c..fa8b17947792 100644
--- a/drivers/usb
Submitted urbs are not allowed when system is suspended.
Thus the submitted urb waiting at interrupt pipe is killed
during suspend callback and submitted again when system resumes.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 16 +++-
1
To allow applications to determine the status and progress of
the last asynchronous USBTMC_IOCTL_WRITE call, the ioctl
USBTMC_IOCTL_WRITE_RESULT copies the current out_transfer_size
to the provided __u32 pointer and returns current out_status.
Signed-off-by: Guido Kiener
Reviewed-by: Steve
- use consistent error value ETIMEOUT instead of ETIME
Tested-by: Dave Penkler
Reviewed-by: Steve Bayless
Signed-off-by: Guido Kiener
---
drivers/usb/class/usbtmc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c
Add ioctl USBTMC_IOCTL_AUTO_ABORT to configure auto_abort for
each specific file handle.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 23 ---
include/uapi/linux/usb/tmc.h | 1 +
2 files changed, 17 insertions(+), 7 deletions
to optimise the
responsiveness of the application. As the instrument may be shared by
multiple applications the timeout should be settable on a per file
descriptor basis.
Tested-by: Dave Penkler
Reviewed-by: Steve Bayless
Signed-off-by: Dave Penkler
Signed-off-by: Guido Kiener
---
drivers/usb
s to avoid stressing
the instrument with repeated requests.
Use common macro USB_CTRL_GET_TIMEOUT instead of USBTMC_TIMEOUT.
Signed-off-by: Guido Kiener
Reviewed-by: Steve Bayless
---
drivers/usb/class/usbtmc.c | 16
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers
1 - 100 of 209 matches
Mail list logo