From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25690 invoked by alias); 14 Jan 2012 22:40:02 -0000 Received: (qmail 25631 invoked by uid 22791); 14 Jan 2012 22:40:00 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 14 Jan 2012 22:39:46 +0000 Received: from localhost (hagrid.ecoscentric.com [127.0.0.1]) by mail.ecoscentric.com (Postfix) with ESMTP id CC9D82F78015 for ; Sat, 14 Jan 2012 22:39:45 +0000 (GMT) Received: from mail.ecoscentric.com ([127.0.0.1]) by localhost (hagrid.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qC4LQpq1ECYK; Sat, 14 Jan 2012 22:39:44 +0000 (GMT) From: bugzilla-daemon@bugs.ecos.sourceware.org To: ecos-patches@ecos.sourceware.org Subject: [Bug 1001453] CAN IO package: wider flags field, flag to report return to 'error active' mode X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: eCos X-Bugzilla-Component: Patches and contributions X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: bernard.fouche@kuantic.com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: low X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://bugs.ecos.sourceware.org/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Sat, 14 Jan 2012 22:40:00 -0000 Message-Id: <20120114223944.5FC902F78010@mail.ecoscentric.com> Mailing-List: contact ecos-patches-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-patches-owner@ecos.sourceware.org X-SW-Source: 2012-01/txt/msg00055.txt.bz2 Please do not reply to this email. Use the web interface provided at: http://bugs.ecos.sourceware.org/show_bug.cgi?id=3D1001453 --- Comment #3 from Bernard Fouch=C3=A9 2012-0= 1-14 22:39:39 GMT --- I also forgot to document the meaning of the added flag ;-) While thinking at other things I may have forgotten, I now see an issue with the bitfield 'support_flags' in cyg_can_hdi. Here is cyg_can_hdi: typedef struct cyg_can_hdi_st { cyg_uint8 support_flags; cyg_uint8 controller_type; } cyg_can_hdi; The issue is a lack of description of the low level driver filtering capabilities. The 'SW-Filt' flag has been replaced by 'autobaud' in the source code (my p= atch fixes the doc about this). Hence there is no more description of a hw driver filtering capabilities wh= ile these capabilities are essential in a real world CAN network. The 'software filtering' information was not very helpful to user code anyway, I suppose that's why it has been removed and the corresponding bit recycled. I suggest to use two reserved bits in 'support_flags': - a bit to describe identifier range filtering capability (0=3Dno range filtering, this keep compatibility with current code) - a bit to describe bitmask filtering capability (0=3Dno bitmask filtering)= . I think bitmask filtering is the most common and efficient way to filter CAN frames. (While LPC17XX has range filtering capabilities, the upcoming LPC18= XX has bitmask filtering instead) The side effect is a need for more config keys, to declare filtering information. The LPC2XXX driver provides identifier range filtering config keys (as a cdl option), but since the CAN IO package does not support range filtering (in terms of API convention), these supplementary config keys can be obtained by user code only by including explicitly the LPC2XXX specific header file. If these two new data bits in 'support_flags' are added, then the config ke= ys provided by the LPC2XXX driver can become the 'official' config keys for identifier range filtering. And of course there is also a need for config keys related to bitmask filtering. AFAIK, bitmask filtering is made by declaring an identifier value and a bitmask, so the config keys related to bitmask filtering would need 2= x 32 bits value for config data (like the LPC2XXX range filtering key) Since the CAN IO package relay to the hardware layer the config keys it does not handle itself, there would be no functional change in the package, like= the patch I proposed. If this is ok I'll provide an updated patch (using the diff option you mention), and combine these changes.=20 Or I can provide two patches, one to fix the patch I proposed, and then I o= pen a new bugzilla entry with a new patch related to 'support_flags'. --=20 Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=3Demail ------- You are receiving this mail because: ------- You are on the CC list for the bug.