All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Wang YanQing <udknight@gmail.com>
Cc: Johan Hovold <johan@kernel.org>,
	gregkh@linuxfoundation.org, linus.walleij@linaro.org,
	jhovold@gmail.com, andi@lisas.de, dforsi@gmail.com,
	gnomes@lxorguk.ukuu.org.uk, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: Resend Re: [PATCH v6] usb:serial:pl2303: add GPIOs interface on PL2303
Date: Tue, 12 Aug 2014 16:02:59 +0200	[thread overview]
Message-ID: <20140812140259.GA9799@localhost> (raw)
In-Reply-To: <20140808184655.GA20958@udknight>

On Sat, Aug 09, 2014 at 02:46:56AM +0800, Wang YanQing wrote:
> On Fri, Aug 08, 2014 at 09:54:42AM +0200, Johan Hovold wrote:
> > On Fri, Aug 08, 2014 at 03:10:34AM +0800, Wang YanQing wrote:
> > > On Tue, Aug 05, 2014 at 03:54:08PM +0200, Johan Hovold wrote:
> > > > > > I noticed that setting direction to output and setting the gpio high has
> > > > > > no effect on the read-back value (i.e. I still read back 0) for my
> > > > > > pl2303hx (note that my device has no easily accessible gpios so I
> > > > > > haven't verified the actual state of the output pin).
> > > > > > 
> > > > > > What happens on your system? Is the read-back value still 0, even when
> > > > > > the GPIO output is actually high? Should we return the cached value in
> > > > > > this case?
> > > > > 
> > > > > If i set direction to output, then I could control gpio high and low
> > > > > by set 1 or 0, and the read-back value is 1 or 0 according to high and
> > > > > low(I test high and low by oscillscope)
> > > > > 
> > > > > I test it with my pl2303hx with only two gpios.
> > > > >
> > > > > Could you use usbmon to see whether the traffic is right according
> > > > > to comment in struct pl2303_gpio?
> > > > 
> > > > The traffic appears correct judging from the debug output (which I
> > > > trust). Output-enable is reflected in register 0x81, but the value
> > > > isn't.
> > > > 
> > > > What is the lsusb -v output for your device?
> > > 
> > > Bus 001 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port.
> > 
> > You forgot the verbose flag (-v).
> Sorry, below is output with -v:
> Bus 002 Device 004: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               1.10
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0 
>   bDeviceProtocol         0 
>   bMaxPacketSize0        64
>   idVendor           0x067b Prolific Technology, Inc.
>   idProduct          0x2303 PL2303 Serial Port
>   bcdDevice            3.00

You seem to have an HX device, whereas mine is an HXD (rev D) with
bcdDevice 4.00. That could account for the different behaviour of the
GPIO state/value register.

How did you figure out which registers to use? Were you sniffing the
traffic of some driver for some other OS? And does your device only have
two GPIOs and not four like the HX rev D?

<snip>

> > > It is strange your device doesn't work, I verify the control method by
> > > analyze usbmon output from linux host which has VirtualBox running 
> > > gpio test program, but I don't have right to distribute the gpio test
> > > program I think, so I can't help you to figure out why it doesn't work 
> > > for your device.
> > 
> > What do you use the gpio test program for? I thought you verified the
> > gpios with a scope?
> 
> Yes, I verified gpios with a scope.
> 
> "
> You must allocate the buffer dynamically as some platforms cannot do
> DMA to the stack.
> "
> Thanks very much for point out it, could you clarify it? 
> I want to know the reason.

The memory where the stack resides might not be available for DMA, and
even if it is, there could still be problems with cache coherency.

Johan

  reply	other threads:[~2014-08-12 14:04 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-29 16:57 [PATCH v6] usb:serial:pl2303: add GPIOs interface on PL2303 Wang YanQing
2014-07-29 20:31 ` Johan Hovold
2014-08-04 14:00 ` Johan Hovold
2014-08-04 17:15   ` Resend " Wang YanQing
2014-08-05 13:54     ` Johan Hovold
2014-08-07 19:10       ` Wang YanQing
2014-08-08  7:54         ` Johan Hovold
2014-08-08 18:46           ` Wang YanQing
2014-08-12 14:02             ` Johan Hovold [this message]
2014-08-27 23:38               ` Wang YanQing
2014-08-29 10:38                 ` Johan Hovold

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=20140812140259.GA9799@localhost \
    --to=johan@kernel.org \
    --cc=andi@lisas.de \
    --cc=dforsi@gmail.com \
    --cc=gnomes@lxorguk.ukuu.org.uk \
    --cc=gregkh@linuxfoundation.org \
    --cc=jhovold@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=udknight@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.