All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Kosina <jkosina@suse.cz>
To: "Gustavo F. Padovan" <padovan@profusion.mobi>
Cc: Alan Ott <alan@signal11.us>,
	Antonio Ospite <ospite@studenti.unina.it>,
	linux-input@vger.kernel.org, linux-bluetooth@vger.kernel.org,
	Marcel Holtmann <marcel@holtmann.org>,
	Bastien Nocera <hadess@hadess.net>, Jim Paris <jim@jtan.com>,
	"pascal@pabr.org" <pascal@pabr.org>
Subject: Re: [PATCH 2/2] bt hidp: send Output reports using SET_REPORT on the Control channel
Date: Tue, 22 Feb 2011 11:09:01 +0100 (CET)	[thread overview]
Message-ID: <alpine.LNX.2.00.1102221108520.2160@pobox.suse.cz> (raw)
In-Reply-To: <20110221210906.GI2965@joana>

On Mon, 21 Feb 2011, Gustavo F. Padovan wrote:

> > > > The current implementation of hidp_output_raw_report() relies only on
> > > > the Control channel even for Output reports, and the BT HID
> > > > specification [1] does not mention using the DATA message for Output
> > > > reports on the Control channel (see section 7.9.1 and also Figure 11:
> > > > SET_ Flow Chart), so let us just use SET_REPORT.
> > > > 
> > > > This also fixes sending Output reports to some devices (like Sony
> > > > Sixaxis) which are not able to handle DATA messages on the Control
> > > > channel.
> > > > 
> > > > Ideally hidp_output_raw_report() could be improved to use this scheme:
> > > >    Feature Report -- SET_REPORT on the Control channel
> > > >    Output Report  -- DATA on the Interrupt channel
> > > > for more efficiency, but as said above, right now only the Control
> > > > channel is used.
> > > > 
> > > > [1] http://www.bluetooth.com/Specification%20Documents/HID_SPEC_V10.pdf
> > > > 
> > > >   	case HID_OUTPUT_REPORT:
> > > > -		report_type = HIDP_TRANS_DATA | HIDP_DATA_RTYPE_OUPUT;
> > > > +		report_type = HIDP_TRANS_SET_REPORT | HIDP_DATA_RTYPE_OUPUT;
> > > >    
> > > 
> > > I think this is right. Section 7.4[.0] says that SET_ and GET_ requests return
> > > with HANDSHAKE. Section 7.4.9 says that DATA does _not_ return a HANDSHAKE. My
> > > patch to hidp_output_raw_report() relies on getting a HANDSHAKE back, so it
> > > wouldn't have worked with BT devices that take output reports. Since I don't
> > > have any that do, I couldn't test it. (And it was like that when I got here :)
> > > )
> > > 
> > > For the whole set:
> > > Acked-by: Alan Ott <alan@signal11.us>
> > 
> > Agreed.
> > 
> > As an author of the original code, I agree with the change. But as it is 
> > in net/bluetooth, I'd at least have Acked-by from some of the Bluetooth 
> > folks before I take it through my tree.
> > 
> > Marcel? Gustavo?
> 
> Acked-by: Gustavo F. Padovan <padovan@profusion.mobi>

Perfect, applied, thanks.

-- 
Jiri Kosina
SUSE Labs, Novell Inc.

WARNING: multiple messages have this Message-ID (diff)
From: Jiri Kosina <jkosina-AlSwsSmVLrQ@public.gmane.org>
To: "Gustavo F. Padovan" <padovan-Y3ZbgMPKUGA34EUeqzHoZw@public.gmane.org>
Cc: Alan Ott <alan-yzvJWuRpmD1zbRFIqnYvSA@public.gmane.org>,
	Antonio Ospite
	<ospite-aNJ+ML1ZbiP93QAQaVx+gl6hYfS7NtTn@public.gmane.org>,
	linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-bluetooth-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Marcel Holtmann <marcel-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org>,
	Bastien Nocera <hadess-0MeiytkfxGOsTnJN9+BGXg@public.gmane.org>,
	Jim Paris <jim-XrPbb/hENzg@public.gmane.org>,
	"pascal-dXI0m6hRz7k@public.gmane.org"
	<pascal-dXI0m6hRz7k@public.gmane.org>
Subject: Re: [PATCH 2/2] bt hidp: send Output reports using SET_REPORT on the Control channel
Date: Tue, 22 Feb 2011 11:09:01 +0100 (CET)	[thread overview]
Message-ID: <alpine.LNX.2.00.1102221108520.2160@pobox.suse.cz> (raw)
In-Reply-To: <20110221210906.GI2965@joana>

On Mon, 21 Feb 2011, Gustavo F. Padovan wrote:

> > > > The current implementation of hidp_output_raw_report() relies only on
> > > > the Control channel even for Output reports, and the BT HID
> > > > specification [1] does not mention using the DATA message for Output
> > > > reports on the Control channel (see section 7.9.1 and also Figure 11:
> > > > SET_ Flow Chart), so let us just use SET_REPORT.
> > > > 
> > > > This also fixes sending Output reports to some devices (like Sony
> > > > Sixaxis) which are not able to handle DATA messages on the Control
> > > > channel.
> > > > 
> > > > Ideally hidp_output_raw_report() could be improved to use this scheme:
> > > >    Feature Report -- SET_REPORT on the Control channel
> > > >    Output Report  -- DATA on the Interrupt channel
> > > > for more efficiency, but as said above, right now only the Control
> > > > channel is used.
> > > > 
> > > > [1] http://www.bluetooth.com/Specification%20Documents/HID_SPEC_V10.pdf
> > > > 
> > > >   	case HID_OUTPUT_REPORT:
> > > > -		report_type = HIDP_TRANS_DATA | HIDP_DATA_RTYPE_OUPUT;
> > > > +		report_type = HIDP_TRANS_SET_REPORT | HIDP_DATA_RTYPE_OUPUT;
> > > >    
> > > 
> > > I think this is right. Section 7.4[.0] says that SET_ and GET_ requests return
> > > with HANDSHAKE. Section 7.4.9 says that DATA does _not_ return a HANDSHAKE. My
> > > patch to hidp_output_raw_report() relies on getting a HANDSHAKE back, so it
> > > wouldn't have worked with BT devices that take output reports. Since I don't
> > > have any that do, I couldn't test it. (And it was like that when I got here :)
> > > )
> > > 
> > > For the whole set:
> > > Acked-by: Alan Ott <alan-yzvJWuRpmD1zbRFIqnYvSA@public.gmane.org>
> > 
> > Agreed.
> > 
> > As an author of the original code, I agree with the change. But as it is 
> > in net/bluetooth, I'd at least have Acked-by from some of the Bluetooth 
> > folks before I take it through my tree.
> > 
> > Marcel? Gustavo?
> 
> Acked-by: Gustavo F. Padovan <padovan-Y3ZbgMPKUGA34EUeqzHoZw@public.gmane.org>

Perfect, applied, thanks.

-- 
Jiri Kosina
SUSE Labs, Novell Inc.

  reply	other threads:[~2011-02-22 10:09 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-30 13:54 hidp_output_raw_report, HID_OUTPUT_REPORT and Sixaxis Antonio Ospite
2010-11-30 13:54 ` Antonio Ospite
2010-11-30 14:06 ` Antonio Ospite
2010-11-30 17:40 ` pascal
2010-12-01 21:06   ` Antonio Ospite
2010-12-01 22:40     ` pascal
2011-02-17 14:19   ` Antonio Ospite
2011-02-17 14:19     ` Antonio Ospite
2011-02-18  8:45     ` Jiri Kosina
2011-02-18  8:45       ` Jiri Kosina
2011-02-20 17:26       ` [PATCH 0/2] Fix sending Output reports to the Sony Sixaxis Antonio Ospite
2011-02-20 17:26         ` [PATCH 1/2] hid-sony.c: Fix sending Output reports to the Sixaxis Antonio Ospite
2011-02-21 12:49           ` Jiri Kosina
2011-02-20 17:26         ` [PATCH 2/2] bt hidp: send Output reports using SET_REPORT on the Control channel Antonio Ospite
2011-02-21  3:45           ` Alan Ott
2011-02-21  3:45             ` Alan Ott
2011-02-21 12:50             ` Jiri Kosina
2011-02-21 21:09               ` Gustavo F. Padovan
2011-02-22 10:09                 ` Jiri Kosina [this message]
2011-02-22 10:09                   ` Jiri Kosina

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=alpine.LNX.2.00.1102221108520.2160@pobox.suse.cz \
    --to=jkosina@suse.cz \
    --cc=alan@signal11.us \
    --cc=hadess@hadess.net \
    --cc=jim@jtan.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=marcel@holtmann.org \
    --cc=ospite@studenti.unina.it \
    --cc=padovan@profusion.mobi \
    --cc=pascal@pabr.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 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.