public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: Wolfram Sang <wsa@the-dreams.de>
Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	linux-i2c@vger.kernel.org, linux-acpi@vger.kernel.org,
	youling 257 <youling257@gmail.com>
Subject: Re: [PATCH v2] i2c: acpi: Force bus speed to 400KHz if a Silead touchscreen is present
Date: Thu, 14 Nov 2019 21:52:57 +0100	[thread overview]
Message-ID: <c67a085b-8013-ef03-b5b2-431ea64ca97a@redhat.com> (raw)
In-Reply-To: <20191114204815.GC7213@kunai>

Hi,

On 14-11-2019 21:48, Wolfram Sang wrote:
> On Wed, Nov 13, 2019 at 07:29:38PM +0100, Hans de Goede wrote:
>> Many cheap devices use Silead touchscreen controllers. Testing has shown
>> repeatedly that these touchscreen controllers work fine at 400KHz, but for
>> unknown reasons do not work properly at 100KHz. This has been seen on
>> both ARM and x86 devices using totally different i2c controllers.
>>
>> On some devices the ACPI tables list another device at the same I2C-bus
>> as only being capable of 100KHz, testing has shown that these other
>> devices work fine at 400KHz (as can be expected of any recent I2C hw).
>>
>> This commit makes i2c_acpi_find_bus_speed() always return 400KHz if a
>> Silead touchscreen controller is present, fixing the touchscreen not
>> working on devices which ACPI tables' wrongly list another device on the
>> same bus as only being capable of 100KHz.
>>
>> Specifically this fixes the touchscreen on the Jumper EZpad 6 m4 not
>> working.
>>
>> Reported-and-tested-by: youling 257 <youling257@gmail.com>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> 
> Stable material, I'd say?

Yes adding this to stable would be good, thanks.

> 
>> +			dev_warn(dev, FW_BUG "DSDT wrongly sets I2C bus speed to %d, forcing it to %d\n",
>> +				 lookup.min_speed, lookup.force_speed);
> 
> I have not a strong opinion here. However, does the DSDT really wrongly
> set a bus speed when it is the touchscreen controller which cannot
> handle lower speeds and other devies are specified to run at 100kHz?

Well it is configuring the bus at a speed where not all devices
can work, where as there is another speed where all devices do work.
With that said I'm open to a different wording for the warning. Feel
free to modify this before you add it to your tree.

I do wonder what Windows does here, changing the bus speed when going
from one device to another makes no sense since the non addressed device
still needs to be able to handle the address part of the transaction,
so the whole ACPI model where a speed is assigned to an i2c_client rather
then to the bus is weird here, anyways...

Regards,

Hans


  reply	other threads:[~2019-11-14 20:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-13 18:29 [PATCH v2] i2c: acpi: Force bus speed to 400KHz if a Silead touchscreen is present Hans de Goede
2019-11-14  7:31 ` Jarkko Nikula
2019-11-14  7:37 ` Mika Westerberg
2019-11-14 20:48 ` Wolfram Sang
2019-11-14 20:52   ` Hans de Goede [this message]
2019-11-15 20:56     ` Wolfram Sang
2019-11-16 16:41       ` Hans de Goede

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=c67a085b-8013-ef03-b5b2-431ea64ca97a@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=wsa@the-dreams.de \
    --cc=youling257@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