From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Richter Subject: Re: [PATCH v2 1/1] staging: fwserial: Add TTY-over-Firewire serial driver Date: Wed, 28 Nov 2012 00:58:46 +0100 Message-ID: <20121128005846.0f1d4d5e@stein> References: <1350565015.23730.4.camel@thor> <55547e779e65e6865f18d537ef1a42191a4b7e46.1351817601.git.peter@hurleysoftware.com> <20121113003338.6aafd7c8@stein> <1352834072.16401.100.camel@thor> <20121114022522.633a44d4@stein> <1354041196.3284.121.camel@thor> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1354041196.3284.121.camel@thor> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devel-bounces@linuxdriverproject.org Sender: "devel" To: Peter Hurley Cc: devel@driverdev.osuosl.org, Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux1394-devel@lists.sourceforge.net, Alan Cox List-Id: linux-serial@vger.kernel.org T24gTm92IDI3IFBldGVyIEh1cmxleSB3cm90ZToKPiA+ID4gQ3VycmVudGx5LCBmaXJld2lyZS1u ZXQgc2V0cyBhbiBhcmJpdHJhcnkgYWRkcmVzcyBoYW5kbGVyIGxlbmd0aCBvZgo+ID4gPiA0MDk2 LiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIGxhcmdlc3QgQVIgcGFja2V0IHNpemUgdGhlIGN1cnJl bnQKPiA+ID4gZmlyZXdpcmUtb2hjaSBkcml2ZXIgaGFuZGxlcyBpcyA0MDk2ICh2YWx1ZSBvZiBN QVhfQVNZTkNfUEFZTE9BRCkgKwo+ID4gPiBoZWFkZXIvdHJhaWxlci4gTm90ZSB0aGF0IGZpcmV3 aXJlLW9oY2kgZG9lcyBub3QgbGltaXQgY2FyZC0+bWF4X3JlY2VpdmUKPiA+ID4gdG8gdGhpcyB2 YWx1ZS4KPiA+ID4gCj4gPiA+IFNvIGlmIHRoZSBvaGNpIGRyaXZlciBjaGFuZ2VzIHRvIGhhbmRs ZSA4SysgQVIgcGFja2V0cyBhbmQgdGhlIGhhcmR3YXJlCj4gPiA+IHN1cHBvcnRzIGl0LCB0aGVz ZSBhZGRyZXNzIGhhbmRsZXIgd2luZG93cyB3aWxsIGJlIHRvbyBzbWFsbC4gIAo+ID4gCj4gPiBX aGlsZSB0aGUgSUVFRSAxMzk0OjIwMDggbGluayBsYXllciBzcGVjaWZpY2F0aW9uIChzZWN0aW9u IDYpIHByb3ZpZGVzIGZvcgo+ID4gYXN5bmNocm9ub3VzIHBhY2tldCBwYXlsb2FkcyBvZiB1cCB0 byAxNjM4NCBieXRlcyAodGFibGUgNi00KSwgdGhlIElFRUUKPiA+IDEzOTQgYmV0YSBtb2RlIHBv cnQgc3BlY2lmaWNhdGlvbiAoc2VjdGlvbiAxMykgb25seSBhbGxvd3MgdXAgdG8gNDA5Ngo+ID4g Ynl0ZXMgKHRhYmxlIDE2LTE4KS4gIEFuZCBhbHBoYSBtb2RlIGlzIG9mIGNvdXJzZSBsaW1pdGVk IHRvIDIwNDggYnl0ZXMuCj4gPiAKPiA+IFNvLCBhc3luY2hyb25vdXMgcGFja2V0IHBheWxvYWRz IGdyZWF0ZXIgdGhhbiA0MDk2IGJ5dGVzIGFyZSBvdXQgb2Ygc2NvcGUKPiA+IG9mIHRoZSBjdXJy ZW50IHJldmlzaW9uIG9mIElFRUUgMTM5NC4gIAo+IAo+IFlvdSBzaG91bGQgbG9vayBhdCB0aGlz IDEzOTR0YS5vcmcgdmlkZW8KPiBodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eFZYTnZY SE5RVFkgb2YgREFQIFRlY2hub2xvZ2llcyBTMTYwMAo+IE9IQ0kgY29udHJvbGxlcnMgcnVubmlu ZyBTMTYwMCBjYW1lcmFzIHVzaW5nIGJldGEgY2FibGVzLgoKSSBkb24ndCBrbm93IHRoZSBkZXRh aWxzIG9mIHRoZWlyIGltcGxlbWVudGF0aW9uLCBidXQgSSBzdXBwb3NlIHRoZXkgY29uZm9ybQp3 aXRoIHRoZSAxMzk0IGJldGEgbW9kZSBwb3J0IHNwZWNpZmljYXRpb24uICBXaGljaCBpbiB0dXJu IG1lYW5zIHRoYXQgdGhlaXIKUzE2MDAgc29sdXRpb24gKGFuZCBieSBleHRyYXBvbGF0aW9uLCB0 aGVpciBTMzIwMCBwcm90b3R5cGVzKSBjb21wbHkgd2l0aCBhCm1heGltdW0gYXN5bmNocm9ub3Vz IHBhY2tldCBwYXlsb2FkIG9mIDQwOTYgYnl0ZXMuICBDaXRpbmcgSUVFRSAxMzk0LTIwMDg6Cgo+ Pj4KCVRhYmxlIDE2LTE44oCU4oCU4oCUTWF4aW11bSBwYXlsb2FkIHNpemUgZm9yIEJldGEgZGF0 YSBwYWNrZXRzCiBEYXRhIHJhdGUgfCBNYXhpbXVtIGFzeW5jaHJvbm91cyBwYXlsb2FkIHNpemUg fCBNYXhpbXVtIGlzb2Nocm9ub3VzIHBheWxvYWQKICAgICAgICAgICB8ICAgICAgICAgICAgICAo Ynl0ZXMpICAgICAgICAgICAgICB8ICAgICAgICAgICAoYnl0ZXMpCiAtLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KICAgIFMxMDAgICB8ICAgICAgICAgICAgICAgICA1MTIgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgIDEwMjQKICAgIFMyMDAgICB8ICAgICAgICAgICAgICAgIDEwMjQgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgIDIwNDgKICAgIFM0MDAgICB8ICAgICAgICAgICAgICAgIDIwNDggICAg ICAgICAgICAgICB8ICAgICAgICAgICAgIDQwOTYKICAgIFM4MDAgICB8ICAgICAgICAgICAgICAg IDQwOTYgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIDgxOTIKICAgIFMxNjAwICB8ICAgICAg ICAgICAgICAgIDQwOTYgICAgICAgICAgICAgICB8ICAgICAgICAgICAgMTYzODQKICAgIFMzMjAw ICB8ICAgICAgICAgICAgICAgIDQwOTYgICAgICAgICAgICAgICB8ICAgICAgICAgICAgMzI3NjgK PDw8CgooQWxwaGEgbW9kZSBwYXlsb2FkIGxpbWl0cyBhcmUgdGhlIHNhbWUgYXMgdGhlIFMxMDAu Li5TNDAwIHN1YnNldCBvZiBiZXRhIG1vZGUuCkluIElFRUUgMTM5NGItMjAwMiwgdGhlIHRhYmxl IG51bWJlciBpcyAxNi0zLikKCllvdSBjYW4gb2YgY291cnNlIGRlZmluZSByZWdpc3RlcnMgKG9y IGJldHRlciB0ZXJtZWQ6IGJ1ZmZlcnMpIHdoaWNoIGFyZSBsYXJnZXIKdGhhbiB3aGF0IGNhbiBi ZSBhdG9taWNhbGx5IHJlYWQgb3Igd3JpdHRlbiwgb3IgYXRvbWljYWxseSBjb21wYXJlZC1zd2Fw cGVkOwpJT1cgd2hpY2ggYXJlIGxhcmdlciB0aGFuIHdoYXQgY2FuIGJlIGFjY2Vzc2VkIGluIGEg c2luZ2xlIHRyYW5zYWN0aW9uLCBpZiBzdWNoCnJlZ2lzdGVycyBvciBidWZmZXJzIGFyZSB1c2Vm dWwuICBCdXQgaWYgeW91IHBhcnRpY3VsYXJseSBuZWVkIGEgcmVnaXN0ZXIgd2hpY2gKaXMganVz dCBsYXJnZSBlbm91Z2ggdG8gYWNjb21tb2RhdGUgdGhlIGxhcmdlc3QgcG9zc2libGUgaW5ib3Vu ZCBibG9jayB3cml0ZQp0cmFuc2FjdGlvbiB3aGljaCBjb21wbGllcyB3aXRoIElFRUUgMTM5NCwg YW5kIHlvdSBkb24ndCBrbm93IHRoZSBwZWVyJ3MKY2FwYWJpbGl0eSBhbmQgdGhlIHNwZWVkcyBv ZiBhbGwgaW50ZXJtZWRpYXJ5IGNhYmxlIGhvcHMsIHRoZW4KZndfY2FyZC5tYXhfcmVjZWl2ZSBp cyB0aGUgbnVtYmVyIHRoYXQgeW91IG5lZWQuICBPciB5b3UgaWdub3JlIHRoZSBjYXJkcyBhY3R1 YWwKY2FwYWJpbGl0eSBhbmQganVzdCBhbGxvY2F0ZSA0MDk2IGJ5dGVzLgoKT0hDSXMgdGhhdCB5 b3UgY2FuIGJ1eSBvZmZlciBmd19jYXJkLm1heF9yZWNlaXZlIG9mIDEwMjQsIG9yIDIwNDgsIG9y IDQwOTYgYnl0ZXMuCjEwMjQgYnl0ZXMgaXMgdGhlIGxpbWl0IG9mIG1hbnkgYnV0IG5vdCBhbGwg MTM5NGEgUzQwMCBDYXJkQnVzIGNhcmRzLgoKW0lzc3VlcyBvZiB0cmFuc2FjdGlvbiByZXRyaWVz IGFuZCBwb3NzaWJsZSBsb3NzIGF0IHNlc3Npb24gdGVybWluYXRpb24gdG8gYmUKbGVmdCB0byBh bm90aGVyIHJlcGx5IGF0IGFub3RoZXIgdGltZS5dCi0tIApTdGVmYW4gUmljaHRlcgotPT09PT0t PT09LS0gPS09PSA9PS09PQpodHRwOi8vYXJjZ3JhcGguZGUvc3IvCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRldmVsIG1haWxpbmcgbGlzdApkZXZlbEBs aW51eGRyaXZlcnByb2plY3Qub3JnCmh0dHA6Ly9kcml2ZXJkZXYubGludXhkcml2ZXJwcm9qZWN0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753286Ab2K0X7R (ORCPT ); Tue, 27 Nov 2012 18:59:17 -0500 Received: from einhorn.in-berlin.de ([192.109.42.8]:45831 "EHLO einhorn.in-berlin.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751345Ab2K0X7O convert rfc822-to-8bit (ORCPT ); Tue, 27 Nov 2012 18:59:14 -0500 X-Envelope-From: stefanr@s5r6.in-berlin.de Date: Wed, 28 Nov 2012 00:58:46 +0100 From: Stefan Richter To: Peter Hurley Cc: Greg Kroah-Hartman , Alan Cox , linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, linux1394-devel@lists.sourceforge.net, linux-serial@vger.kernel.org Subject: Re: [PATCH v2 1/1] staging: fwserial: Add TTY-over-Firewire serial driver Message-ID: <20121128005846.0f1d4d5e@stein> In-Reply-To: <1354041196.3284.121.camel@thor> References: <1350565015.23730.4.camel@thor> <55547e779e65e6865f18d537ef1a42191a4b7e46.1351817601.git.peter@hurleysoftware.com> <20121113003338.6aafd7c8@stein> <1352834072.16401.100.camel@thor> <20121114022522.633a44d4@stein> <1354041196.3284.121.camel@thor> X-Mailer: Claws Mail 3.8.1 (GTK+ 2.24.12; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Nov 27 Peter Hurley wrote: > > > Currently, firewire-net sets an arbitrary address handler length of > > > 4096. This works because the largest AR packet size the current > > > firewire-ohci driver handles is 4096 (value of MAX_ASYNC_PAYLOAD) + > > > header/trailer. Note that firewire-ohci does not limit card->max_receive > > > to this value. > > > > > > So if the ohci driver changes to handle 8K+ AR packets and the hardware > > > supports it, these address handler windows will be too small. > > > > While the IEEE 1394:2008 link layer specification (section 6) provides for > > asynchronous packet payloads of up to 16384 bytes (table 6-4), the IEEE > > 1394 beta mode port specification (section 13) only allows up to 4096 > > bytes (table 16-18). And alpha mode is of course limited to 2048 bytes. > > > > So, asynchronous packet payloads greater than 4096 bytes are out of scope > > of the current revision of IEEE 1394. > > You should look at this 1394ta.org video > http://www.youtube.com/watch?v=xVXNvXHNQTY of DAP Technologies S1600 > OHCI controllers running S1600 cameras using beta cables. I don't know the details of their implementation, but I suppose they conform with the 1394 beta mode port specification. Which in turn means that their S1600 solution (and by extrapolation, their S3200 prototypes) comply with a maximum asynchronous packet payload of 4096 bytes. Citing IEEE 1394-2008: >>> Table 16-18———Maximum payload size for Beta data packets Data rate | Maximum asynchronous payload size | Maximum isochronous payload | (bytes) | (bytes) ----------+-----------------------------------+---------------------------- S100 | 512 | 1024 S200 | 1024 | 2048 S400 | 2048 | 4096 S800 | 4096 | 8192 S1600 | 4096 | 16384 S3200 | 4096 | 32768 <<< (Alpha mode payload limits are the same as the S100...S400 subset of beta mode. In IEEE 1394b-2002, the table number is 16-3.) You can of course define registers (or better termed: buffers) which are larger than what can be atomically read or written, or atomically compared-swapped; IOW which are larger than what can be accessed in a single transaction, if such registers or buffers are useful. But if you particularly need a register which is just large enough to accommodate the largest possible inbound block write transaction which complies with IEEE 1394, and you don't know the peer's capability and the speeds of all intermediary cable hops, then fw_card.max_receive is the number that you need. Or you ignore the cards actual capability and just allocate 4096 bytes. OHCIs that you can buy offer fw_card.max_receive of 1024, or 2048, or 4096 bytes. 1024 bytes is the limit of many but not all 1394a S400 CardBus cards. [Issues of transaction retries and possible loss at session termination to be left to another reply at another time.] -- Stefan Richter -=====-===-- =-== ==-== http://arcgraph.de/sr/