On Sun, 4 Aug 2013, David Herrmann wrote: > GEN10 and earlier devices seem to not support DRM_KAI if we run in basic > IR mode. Use DRM_KAIE instead. This might increases overhead slightly as > the extension port is read and streamed but we stream accelerometer data > constantly, too, so this is negligible. > > Note that our parsers are hardcoded on IR-formats, so we cannot actually > use 96-bit IR DRMs for basic IR data. We would have to adjust the parsers. > But as only GEN20 and newer support this, we simply avoid mixed DRMs. > > This fixes a bug where GEN10 devices didn't provide IR data if > accelerometer and IR are enabled simultaneously. As a workaround, you can > enable DRM_KAIE without this patch via (disables device power-management): > echo "37" >/sys/kernel/debug/hid/<dev>/drm > > Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> > Reported-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@xxxxxxxxx> Applied, thanks. > --- > drivers/hid/hid-wiimote-core.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/hid/hid-wiimote-core.c b/drivers/hid/hid-wiimote-core.c > index 0c06054..6602098 100644 > --- a/drivers/hid/hid-wiimote-core.c > +++ b/drivers/hid/hid-wiimote-core.c > @@ -212,10 +212,12 @@ static __u8 select_drm(struct wiimote_data *wdata) > > if (ir == WIIPROTO_FLAG_IR_BASIC) { > if (wdata->state.flags & WIIPROTO_FLAG_ACCEL) { > - if (ext) > - return WIIPROTO_REQ_DRM_KAIE; > - else > - return WIIPROTO_REQ_DRM_KAI; > + /* GEN10 and ealier devices bind IR formats to DRMs. > + * Hence, we cannot use DRM_KAI here as it might be > + * bound to IR_EXT. Use DRM_KAIE unconditionally so we > + * work with all devices and our parsers can use the > + * fixed formats, too. */ > + return WIIPROTO_REQ_DRM_KAIE; > } else { > return WIIPROTO_REQ_DRM_KIE; > } > -- > 1.8.3.4 > -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html