linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Manu Gautam <mgautam@codeaurora.org>
To: balbi@ti.com
Cc: Jack Pham <jackp@codeaurora.org>,
	pheatwol@codeaurora.org, linux-usb@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, gregkh@linuxfoundation.org
Subject: Re: [PATCH v2 1/1] usb: gadget: f_fs: Add support for SuperSpeed Mode
Date: Thu, 26 Sep 2013 12:37:38 +0530	[thread overview]
Message-ID: <5243DD3A.8080603@codeaurora.org> (raw)
In-Reply-To: <20130925204030.GW10746@radagast>

On 9/26/2013 2:10 AM, Felipe Balbi wrote:
> Hi,
>
> (please avoid top-posting)
>
> On Tue, Sep 24, 2013 at 03:00:20PM +0530, Manu Gautam wrote:
>> Hi Felipe,
>>
>> I wanted to mention one point with respect to this patch: Below
>> changes in the functionfs.h to add ss_count (super speed descriptors
>> count) in desc_header (which is passed from userspace) make the driver
>> incompatible with existing userspace applications compiled against old
>> header file. Let me know if that is acceptable.  We are using this
>> driver with Android for adbd (android debug bridge) and these changes
>> are required to support adb over Super Speed controllers e.g. DWC3
>> along with changed in adbd to pass SS EP and companion descriptors.
>
> Good you mentioned, it saves me the trouble of reviewing this patch :-)
>
> It's not acceptable to break userspace ABI at all. If you want
> SuperSpeed support on function fs, we need to figure out a way to do so
> without breaking userspace.
>
> This might mean adding a separate userspace interface to be used with
> superspeed. While at that, we might want to add a few bytes of reserved,
> unused space in our structures for situations where we need to add more
> data into it, just to make it slightly future proof.
>

Thanks for your reply.
As you suggested we can have a different interface for super speed
which would be optional to workaround ABI compatibility issue.
Let me know if below interface looks fine to you, I will then implement
accordingly:

diff --git a/include/uapi/linux/usb/functionfs.h 
b/include/uapi/linux/usb/functionfs.h
index d6b0128..b8cb740 100644
--- a/include/uapi/linux/usb/functionfs.h
+++ b/include/uapi/linux/usb/functionfs.h
@@ -9,8 +9,9 @@


  enum {
-       FUNCTIONFS_DESCRIPTORS_MAGIC = 1,
-       FUNCTIONFS_STRINGS_MAGIC     = 2
+       FUNCTIONFS_DESCRIPTORS_MAGIC     = 1,
+       FUNCTIONFS_STRINGS_MAGIC         = 2,
+       FUNCTIONFS_SS_DESCRIPTORS_MAGIC  = 3
  };


@@ -60,6 +61,25 @@ struct usb_functionfs_descs_head {
   * |   2 | payload         |      | descriptor's payload     |
   */

+struct usb_functionfs_ss_descs_head {
+       __le32 magic;
+       __le32 length;
+       __le32 reserved;
+       __le32 ss_count;
+} __attribute__((packed));
+
+/*
+ * SS Descriptors format:
+ *
+ * | off | name      | type         | description 
     |
+ * 
|-----+-----------+--------------+--------------------------------------|
+ * |   0 | magic     | LE32         | FUNCTIONFS_SS_DESCRIPTORS_MAGIC 
     |
+ * |   4 | length    | LE32         | length of the whole data chunk 
     |
+ * |   8 | ss_count  | LE32         | number of super-speed descriptors 
    |
+ * |  12 | reserved field 
     |
+ * |  16 | ss_descrs | Descriptor[] | list of super-speed descriptors 
     |
+ */
+
  struct usb_functionfs_strings_head {
         __le32 magic;
         __le32 length;

  reply	other threads:[~2013-09-26  7:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-20 11:55 [PATCH v2 1/1] usb: gadget: f_fs: Add support for SuperSpeed Mode Manu Gautam
2013-09-24  9:30 ` Manu Gautam
2013-09-25 20:40   ` Felipe Balbi
2013-09-26  7:07     ` Manu Gautam [this message]
     [not found]       ` <5243DD3A.8080603-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2013-09-27 20:22         ` Paul Zimmerman
2013-09-30  9:01           ` Manu Gautam
     [not found]             ` <52493DFE.503-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2013-10-01 14:37               ` Felipe Balbi
2013-10-02  4:36                 ` Manu Gautam
2013-10-08  4:22                   ` Manu Gautam
2013-11-26 17:41                     ` Felipe Balbi
     [not found]                       ` <20131126174129.GR24310-HgARHv6XitL9zxVx7UNMDg@public.gmane.org>
2013-12-20 10:04                         ` Manu Gautam

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=5243DD3A.8080603@codeaurora.org \
    --to=mgautam@codeaurora.org \
    --cc=balbi@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jackp@codeaurora.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=pheatwol@codeaurora.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).