mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Max Staudt <max@enpas.org>
To: Roderick Colenbrander <thunderbird2k@gmail.com>,
	Jiri Kosina <jikos@kernel.org>,
	Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: Roderick Colenbrander <roderick.colenbrander@sony.com>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1] hid-playstation: DS4: Update rumble and lightbar together
Date: Sun, 21 Jul 2024 23:33:47 +0900	[thread overview]
Message-ID: <5b42961b-8ca6-4245-b16c-d703255e5aea@enpas.org> (raw)
In-Reply-To: <CAEc3jaB7ijeXCUKOhpORx4Omf8edSmc1HKe9bk22V1mz=cLa+g@mail.gmail.com>

On 7/17/24 09:26, Roderick Colenbrander wrote:
>> If not, then maybe there is protocol documentation that could help 
>> test writers in creating more precise tests?
> 
> Unfortunately none of the documentation for our controllers is 
> public. Just read between the lines in the code, which we cover with 
> some clues here and there :)

I've seen the clues and they are certainly an improvement of
hid-playstation over hid-sony that I am grateful for :)

As for the documentation, I didn't mean that you should open it to the
wide public (although that would be fabulous!). Rather, I suggested
providing what's needed to the people writing the downstream tests that
we've been going on about for a while now.

The utility of tests is... rather limited, if they don't verify an
actual specification, but just a specific code's behaviour. After all,
these tests would fail even when talking to a real PlayStation 4.


>>> (The official Android tests are kind of kernel version agnostic 
>>> as they work across multiple kernel and Android versions.
>> 
>> Hm, sounds to me like the Android test framework is broken if it 
>> cannot be kernel-specific in such cases. What's required in order 
>> to improve this?
> 
> It is a bit of a long process we work on with Google. Some initial 
> fixing of some of the bugs will be for this year to make sure the 6.6
> tests pass properly. But any work to maybe handle multiple behaviors,
> that's quite tricky and would take quite a bit of time to be honest.

Sure, time is not the issue, as long as there is a clear light of
correct software at the end of the tunnel :)

Are these tests open source?

Can kernel patchers run the tests easily (without installing a full
Android SDK) and see which tests their patches would break?


> Considering how widely Android and all these devices are used, I'm 
> hesitant to make changes to not cause regressions. Even just a simple
> one can take forever to trickle down.

Apologies, I am still confused.

With v6.2, hid-playstation gained DS4 support. With v6.3, hid-sony lost
DS4 support.

DS4 support was removed from hid-sony just one minor release after it
was included in hid-playstation. I didn't see any hesitation there,
despite the wire protocol seeing significant changes compared to
hid-sony, which had been deployed for almost a decade.

Given how quickly the DS4 code was removed from hid-sony, why are fixes 
suddenly difficult, less than two years into the hid-playstation era, 
after around 8 years of DS4 support in hid-sony?


The change from hid-sony to hid-playstation caused a regression on a 
real-world device, on Android phones:

I have an 8BitDo controller that quirkily emulates a DS4, and which
worked fine with my old Android phone, with a kernel from the hid-sony
days. With v6.3, this controller broke, and this went into LTS v6.6.

Does this kind of regression, which has clearly spread across the 
Android ecosystem with v6.6, deserve to be fixed?


As a generalised question, how about controllers that work on Android 
phones with kernel v6.1 (hid-sony), but not with v6.6 (hid-playstation), 
because of protocol changes that don't affect first-party controllers. 
Do we accept upstream regressions on actual, physical devices for the 
sake of passing downstream tests?



Max

  reply	other threads:[~2024-07-21 14:41 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-16 16:30 Max Staudt
2024-06-17 23:01 ` Roderick Colenbrander
2024-06-20 19:26   ` Max Staudt
2024-07-08 16:07     ` Roderick Colenbrander
2024-07-10 15:35       ` Max Staudt
2024-07-17  0:26         ` Roderick Colenbrander
2024-07-21 14:33           ` Max Staudt [this message]
2024-07-22  3:40             ` Max Staudt
2024-07-22 16:49               ` Benjamin Tissoires
2024-07-22 19:30                 ` Max Staudt
2024-08-08 23:11                   ` Roderick Colenbrander
2024-08-11 13:22                     ` Max Staudt
2024-07-22 16:46             ` Benjamin Tissoires
2024-07-22 19:24               ` Max Staudt

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=5b42961b-8ca6-4245-b16c-d703255e5aea@enpas.org \
    --to=max@enpas.org \
    --cc=benjamin.tissoires@redhat.com \
    --cc=jikos@kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=roderick.colenbrander@sony.com \
    --cc=thunderbird2k@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®