Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2517271imu; Thu, 29 Nov 2018 06:18:05 -0800 (PST) X-Google-Smtp-Source: AFSGD/UQfEfyuSl7P6y8eCNdktTAErnY01fjTmDwkOIGKBGA7+uboXGp/lgOKJYvmiE4zPjXCQA+ X-Received: by 2002:a17:902:a98c:: with SMTP id bh12mr1660020plb.31.1543501085520; Thu, 29 Nov 2018 06:18:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543501085; cv=none; d=google.com; s=arc-20160816; b=MfrUCMXNgn5UCgEJGdA8vjd3SS0DZDm7cJ3ek2eYUwRIx4THbGWlPWZ24NJSH/Vy1l bVnFQzxDKbqWGDEPWvyPy+tMYdgJfvc1A2jsJXO15AEtAtXmjWqclWuY5Z0WcH1tuci5 x5tJNiX+XxJRZNF746CMRWTiZMaRvAIREczTEiwzhLGu27RCSeSORT9n6Yf0Q1FC+oYC wFrJzsJJcmm1Yfy2wKWY65CEHZ4HajDQ2N9u3oT8BFtyraTpgf3VLsZX+/3L7C8AXGyG pPMnh9yh68FuMwLj7Ajm/3oRQvK7uKpEHf7yf6PX/WqbUdgJ6orfATQhI/kv664Cnbs7 2Vkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=vvb/pYxyKFDHFHzHsqd3vo4//xsZ85rk/MDzq2Nc+m0=; b=v1RVAjyTFALg9qxiDYbpWA+M+FcRXPB1vKP8g7sceVU8F9hM8wl83aQaXfoFA4cFGg k1jd81EU3OZW1HZqG1UPTlcqv1K8NbtUgI3FtSzVl6iU83GazAXNkiCwbbM2wqeWMMDI e86crXt/oxX3MQolFuLtmSOJlEOznfFtQ097bNjK+sWOMq7I9CcFzgtf9Ut4S7xW/aoA 1jLBYCTVvNacdjaXrN6RwOSQ0LsLSw3V85+CsxKn3/xh3EV2SwAVyvcnFrgmcx6TaA+P ItMBiS16rFWB+9+j0bSoEbe8qbecKfKzDrqmkyZHm4B7PbdJpFxJaJ1ZNMc04nNedlty EhIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=UR02qC6G; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z188si1780353pgb.330.2018.11.29.06.17.50; Thu, 29 Nov 2018 06:18:05 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=UR02qC6G; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729543AbeK3BUr (ORCPT + 99 others); Thu, 29 Nov 2018 20:20:47 -0500 Received: from mail.kernel.org ([198.145.29.99]:41838 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728241AbeK3BUq (ORCPT ); Thu, 29 Nov 2018 20:20:46 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C8F29205C9; Thu, 29 Nov 2018 14:15:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543500916; bh=/NbPBgd7afOlMbupXuzufECm6/tEg0xP/+lr2ZMoZy0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UR02qC6G49KZnvJsaDItktaAR6T+dKZmyCfyRXTqREbIbpLzsWWy7Rggy/nKbtwB6 PGhsRXTOLHIdg3pTzs8KW+Okll5buRhubJiATeGydyLRaJ4yH/lXZHvBCiAKaBdazK ITPhjGlFFmqLvdEiPBniM3xTB/tXAi4msa55UJqE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Cameron Gutman , Dmitry Torokhov , Sasha Levin Subject: [PATCH 3.18 51/83] Input: xpad - fix Xbox One rumble stopping after 2.5 secs Date: Thu, 29 Nov 2018 15:12:09 +0100 Message-Id: <20181129140140.544205448@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181129140138.002176596@linuxfoundation.org> References: <20181129140138.002176596@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.18-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit ae3b4469dbcd3b842a9fd20940946e4d092d8731 ] Unlike previous Xbox pads, the Xbox One pad doesn't have "sticky" rumble packets. The duration is encoded into the command and expiration is handled by the pad firmware. ff-memless needs pseudo-sticky behavior for rumble effects to behave properly for long duration effects. We already specify the maximum rumble on duration in the command packets, but it's still only good for about 2.5 seconds of rumble. This is easily reproducible running fftest's sine vibration test. It turns out there's a repeat count encoded in the rumble command. We can abuse that to get the pseudo-sticky behavior needed for rumble to behave as expected for effects with long duration. By my math, this change should allow a single ff_effect to rumble for 10 minutes straight, which should be more than enough for most needs. Signed-off-by: Cameron Gutman Signed-off-by: Dmitry Torokhov Signed-off-by: Sasha Levin --- drivers/input/joystick/xpad.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index 48a88d7cb513..fa6c72657f96 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -1047,9 +1047,9 @@ static int xpad_play_effect(struct input_dev *dev, void *data, struct ff_effect packet->data[7] = 0x00; packet->data[8] = strong / 512; /* left actuator */ packet->data[9] = weak / 512; /* right actuator */ - packet->data[10] = 0xFF; - packet->data[11] = 0x00; - packet->data[12] = 0x00; + packet->data[10] = 0xFF; /* on period */ + packet->data[11] = 0x00; /* off period */ + packet->data[12] = 0xFF; /* repeat count */ packet->len = 13; packet->pending = true; break; -- 2.17.1