linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* i2c_designware doesn't recover from subdevice driver unload
@ 2015-11-19 15:56 Andy Lutomirski
  2015-11-19 16:57 ` Andy Lutomirski
  0 siblings, 1 reply; 5+ messages in thread
From: Andy Lutomirski @ 2015-11-19 15:56 UTC (permalink / raw)
  To: linux-pci@vger.kernel.org, Jingoo Han, Pratyush Anand

I unloaded and reloaded hid_multitouch (on a Skylake laptop where the
HID device is behind an integrated designware controller) and I got:

[39545.054684] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
[39545.061728] i2c_designware i2c_designware.1:
i2c_dw_handle_tx_abort: lost arbitration
[39545.061734] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
[39545.061944] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
[39545.062373] i2c_hid i2c-DLL0704:01: error in i2c_hid_init_report
size:6 / ret_size:4
[39545.062564] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
[39545.062636] input: DLL0704:01 06CB:76AE UNKNOWN as
/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL0704:01/0018:06CB:76AE.0005/input/input20
[39545.063212] hid-multitouch 0018:06CB:76AE.0005: input,hidraw1:
<UNKNOWN> HID v1.00 Mouse [DLL0704:01 06CB:76AE] on
[40178.534814] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
[40178.541848] i2c_designware i2c_designware.1:
i2c_dw_handle_tx_abort: lost arbitration
[40178.541853] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
[40179.542135] i2c_designware i2c_designware.1: controller timed out
[40179.542166] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
[40180.542909] i2c_designware i2c_designware.1: controller timed out
[40180.542942] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
[40181.543697] i2c_designware i2c_designware.1: controller timed out

after that, I just keep seeing "controller timed out" messages.

This is Linux 4.3.0.

--Andy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i2c_designware doesn't recover from subdevice driver unload
  2015-11-19 15:56 i2c_designware doesn't recover from subdevice driver unload Andy Lutomirski
@ 2015-11-19 16:57 ` Andy Lutomirski
  2015-11-19 20:39   ` Andy Lutomirski
  0 siblings, 1 reply; 5+ messages in thread
From: Andy Lutomirski @ 2015-11-19 16:57 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: linux-pci@vger.kernel.org, Jingoo Han, Pratyush Anand,
	Andy Shevchenko, Mika Westerberg, Heikki Krogerus, Jarkko Nikula

On Thu, Nov 19, 2015 at 7:56 AM, Andy Lutomirski <luto@kernel.org> wrote:
> I unloaded and reloaded hid_multitouch (on a Skylake laptop where the
> HID device is behind an integrated designware controller) and I got:
>
> [39545.054684] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
> [39545.061728] i2c_designware i2c_designware.1:
> i2c_dw_handle_tx_abort: lost arbitration
> [39545.061734] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
> [39545.061944] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
> [39545.062373] i2c_hid i2c-DLL0704:01: error in i2c_hid_init_report
> size:6 / ret_size:4
> [39545.062564] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
> [39545.062636] input: DLL0704:01 06CB:76AE UNKNOWN as
> /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL0704:01/0018:06CB:76AE.0005/input/input20
> [39545.063212] hid-multitouch 0018:06CB:76AE.0005: input,hidraw1:
> <UNKNOWN> HID v1.00 Mouse [DLL0704:01 06CB:76AE] on
> [40178.534814] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
> [40178.541848] i2c_designware i2c_designware.1:
> i2c_dw_handle_tx_abort: lost arbitration
> [40178.541853] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
> [40179.542135] i2c_designware i2c_designware.1: controller timed out
> [40179.542166] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
> [40180.542909] i2c_designware i2c_designware.1: controller timed out
> [40180.542942] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
> [40181.543697] i2c_designware i2c_designware.1: controller timed out
>
> after that, I just keep seeing "controller timed out" messages.
>
> This is Linux 4.3.0.

This just happened again (after a reboot) on its own without any
rmmod.  Reloading the i2c_designware drivers didn't help, so I'm
wondering if it's a bug lower in the stack instead.

Reloading intel-lpss-acpi after the failure says:

[  695.955911] idma64 idma64.0: Found Intel integrated DMA 64-bit
[  695.966755] idma64 idma64.1: Found Intel integrated DMA 64-bit
[  696.967468] i2c_designware i2c_designware.1: controller timed out
[  696.967550] i2c_hid i2c-DLL0704:01: hid_descr_cmd failed


This is a Dell XPS 13 9350.

--Andy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i2c_designware doesn't recover from subdevice driver unload
  2015-11-19 16:57 ` Andy Lutomirski
@ 2015-11-19 20:39   ` Andy Lutomirski
  2015-11-20  7:35     ` Jarkko Nikula
  0 siblings, 1 reply; 5+ messages in thread
From: Andy Lutomirski @ 2015-11-19 20:39 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: linux-pci@vger.kernel.org, Jingoo Han, Pratyush Anand,
	Andy Shevchenko, Mika Westerberg, Heikki Krogerus, Jarkko Nikula

On Thu, Nov 19, 2015 at 8:57 AM, Andy Lutomirski <luto@amacapital.net> wrote:
> On Thu, Nov 19, 2015 at 7:56 AM, Andy Lutomirski <luto@kernel.org> wrote:
>> I unloaded and reloaded hid_multitouch (on a Skylake laptop where the
>> HID device is behind an integrated designware controller) and I got:
>>
>> [39545.054684] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>> [39545.061728] i2c_designware i2c_designware.1:
>> i2c_dw_handle_tx_abort: lost arbitration
>> [39545.061734] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>> [39545.061944] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>> [39545.062373] i2c_hid i2c-DLL0704:01: error in i2c_hid_init_report
>> size:6 / ret_size:4
>> [39545.062564] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>> [39545.062636] input: DLL0704:01 06CB:76AE UNKNOWN as
>> /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL0704:01/0018:06CB:76AE.0005/input/input20
>> [39545.063212] hid-multitouch 0018:06CB:76AE.0005: input,hidraw1:
>> <UNKNOWN> HID v1.00 Mouse [DLL0704:01 06CB:76AE] on
>> [40178.534814] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>> [40178.541848] i2c_designware i2c_designware.1:
>> i2c_dw_handle_tx_abort: lost arbitration
>> [40178.541853] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>> [40179.542135] i2c_designware i2c_designware.1: controller timed out
>> [40179.542166] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>> [40180.542909] i2c_designware i2c_designware.1: controller timed out
>> [40180.542942] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>> [40181.543697] i2c_designware i2c_designware.1: controller timed out
>>
>> after that, I just keep seeing "controller timed out" messages.
>>
>> This is Linux 4.3.0.
>
> This just happened again (after a reboot) on its own without any
> rmmod.  Reloading the i2c_designware drivers didn't help, so I'm
> wondering if it's a bug lower in the stack instead.
>
> Reloading intel-lpss-acpi after the failure says:
>
> [  695.955911] idma64 idma64.0: Found Intel integrated DMA 64-bit
> [  695.966755] idma64 idma64.1: Found Intel integrated DMA 64-bit
> [  696.967468] i2c_designware i2c_designware.1: controller timed out
> [  696.967550] i2c_hid i2c-DLL0704:01: hid_descr_cmd failed
>
>
> This is a Dell XPS 13 9350.

I think the docs for all of this stuff are here:

https://download.01.org/future-platform-configuration-hub/skylake/register-definitions/332219-002.pdf

There's a reset register at offset 0x204 in I2C MMIO space.  Should
the driver be using it?

--Andy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i2c_designware doesn't recover from subdevice driver unload
  2015-11-19 20:39   ` Andy Lutomirski
@ 2015-11-20  7:35     ` Jarkko Nikula
  2015-12-04 16:33       ` Andy Lutomirski
  0 siblings, 1 reply; 5+ messages in thread
From: Jarkko Nikula @ 2015-11-20  7:35 UTC (permalink / raw)
  To: Andy Lutomirski, Andy Lutomirski
  Cc: linux-pci@vger.kernel.org, Jingoo Han, Pratyush Anand,
	Andy Shevchenko, Mika Westerberg, Heikki Krogerus

Hi

On 11/19/2015 10:39 PM, Andy Lutomirski wrote:
> On Thu, Nov 19, 2015 at 8:57 AM, Andy Lutomirski <luto@amacapital.net> wrote:
>> On Thu, Nov 19, 2015 at 7:56 AM, Andy Lutomirski <luto@kernel.org> wrote:
>>> I unloaded and reloaded hid_multitouch (on a Skylake laptop where the
>>> HID device is behind an integrated designware controller) and I got:
>>>
>>> [39545.054684] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>>> [39545.061728] i2c_designware i2c_designware.1:
>>> i2c_dw_handle_tx_abort: lost arbitration
>>> [39545.061734] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>>> [39545.061944] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>>> [39545.062373] i2c_hid i2c-DLL0704:01: error in i2c_hid_init_report
>>> size:6 / ret_size:4
>>> [39545.062564] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>>> [39545.062636] input: DLL0704:01 06CB:76AE UNKNOWN as
>>> /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL0704:01/0018:06CB:76AE.0005/input/input20
>>> [39545.063212] hid-multitouch 0018:06CB:76AE.0005: input,hidraw1:
>>> <UNKNOWN> HID v1.00 Mouse [DLL0704:01 06CB:76AE] on
>>> [40178.534814] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>>> [40178.541848] i2c_designware i2c_designware.1:
>>> i2c_dw_handle_tx_abort: lost arbitration
>>> [40178.541853] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>>> [40179.542135] i2c_designware i2c_designware.1: controller timed out
>>> [40179.542166] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>>> [40180.542909] i2c_designware i2c_designware.1: controller timed out
>>> [40180.542942] i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
>>> [40181.543697] i2c_designware i2c_designware.1: controller timed out
>>>
>>> after that, I just keep seeing "controller timed out" messages.
>>>
>>> This is Linux 4.3.0.
>>
>> This just happened again (after a reboot) on its own without any
>> rmmod.  Reloading the i2c_designware drivers didn't help, so I'm
>> wondering if it's a bug lower in the stack instead.
>>
I guess this is either related to touch panel or bus timings (we have 
seen both cases recently) as it works here on development machine with 
another panel.

Could you try does following commit from v4.4-rc1 help?

6d4f5440a3a2 ("HID: multitouch: Fetch feature reports on demand for Win8 
devices")

> I think the docs for all of this stuff are here:
>
> https://download.01.org/future-platform-configuration-hub/skylake/register-definitions/332219-002.pdf
>
Yes, this is the right document for Skylake.

> There's a reset register at offset 0x204 in I2C MMIO space.  Should
> the driver be using it?
>
We use it in probe and resume paths in drivers/mfd/intel-lpss.c which 
manages these LPSS host controller (UART/SPI/I2C) + integrated DMA 
engine compound devices.

-- 
Jarkko

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i2c_designware doesn't recover from subdevice driver unload
  2015-11-20  7:35     ` Jarkko Nikula
@ 2015-12-04 16:33       ` Andy Lutomirski
  0 siblings, 0 replies; 5+ messages in thread
From: Andy Lutomirski @ 2015-12-04 16:33 UTC (permalink / raw)
  To: Jarkko Nikula
  Cc: Andy Lutomirski, linux-pci@vger.kernel.org, Jingoo Han,
	Pratyush Anand, Andy Shevchenko, Mika Westerberg, Heikki Krogerus

On Thu, Nov 19, 2015 at 11:35 PM, Jarkko Nikula
<jarkko.nikula@linux.intel.com> wrote:
> Hi
>
>
> On 11/19/2015 10:39 PM, Andy Lutomirski wrote:
>>
>> On Thu, Nov 19, 2015 at 8:57 AM, Andy Lutomirski <luto@amacapital.net>
>> wrote:
>>>
>>> On Thu, Nov 19, 2015 at 7:56 AM, Andy Lutomirski <luto@kernel.org> wrote:
>>>>
>>>> I unloaded and reloaded hid_multitouch (on a Skylake laptop where the
>>>> HID device is behind an integrated designware controller) and I got:
>>>>
>>>> [39545.054684] i2c_hid i2c-DLL0704:01: failed to retrieve report from
>>>> device.
>>>> [39545.061728] i2c_designware i2c_designware.1:
>>>> i2c_dw_handle_tx_abort: lost arbitration
>>>> [39545.061734] i2c_hid i2c-DLL0704:01: failed to retrieve report from
>>>> device.
>>>> [39545.061944] i2c_hid i2c-DLL0704:01: failed to retrieve report from
>>>> device.
>>>> [39545.062373] i2c_hid i2c-DLL0704:01: error in i2c_hid_init_report
>>>> size:6 / ret_size:4
>>>> [39545.062564] i2c_hid i2c-DLL0704:01: failed to retrieve report from
>>>> device.
>>>> [39545.062636] input: DLL0704:01 06CB:76AE UNKNOWN as
>>>>
>>>> /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL0704:01/0018:06CB:76AE.0005/input/input20
>>>> [39545.063212] hid-multitouch 0018:06CB:76AE.0005: input,hidraw1:
>>>> <UNKNOWN> HID v1.00 Mouse [DLL0704:01 06CB:76AE] on
>>>> [40178.534814] i2c_hid i2c-DLL0704:01: failed to retrieve report from
>>>> device.
>>>> [40178.541848] i2c_designware i2c_designware.1:
>>>> i2c_dw_handle_tx_abort: lost arbitration
>>>> [40178.541853] i2c_hid i2c-DLL0704:01: failed to retrieve report from
>>>> device.
>>>> [40179.542135] i2c_designware i2c_designware.1: controller timed out
>>>> [40179.542166] i2c_hid i2c-DLL0704:01: failed to retrieve report from
>>>> device.
>>>> [40180.542909] i2c_designware i2c_designware.1: controller timed out
>>>> [40180.542942] i2c_hid i2c-DLL0704:01: failed to retrieve report from
>>>> device.
>>>> [40181.543697] i2c_designware i2c_designware.1: controller timed out
>>>>
>>>> after that, I just keep seeing "controller timed out" messages.
>>>>
>>>> This is Linux 4.3.0.
>>>
>>>
>>> This just happened again (after a reboot) on its own without any
>>> rmmod.  Reloading the i2c_designware drivers didn't help, so I'm
>>> wondering if it's a bug lower in the stack instead.
>>>
> I guess this is either related to touch panel or bus timings (we have seen
> both cases recently) as it works here on development machine with another
> panel.
>
> Could you try does following commit from v4.4-rc1 help?
>
> 6d4f5440a3a2 ("HID: multitouch: Fetch feature reports on demand for Win8
> devices")

I've been running that commit for a couple weeks and I haven't seen
the problem recur.  Thanks!

--Andy

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-12-04 16:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-19 15:56 i2c_designware doesn't recover from subdevice driver unload Andy Lutomirski
2015-11-19 16:57 ` Andy Lutomirski
2015-11-19 20:39   ` Andy Lutomirski
2015-11-20  7:35     ` Jarkko Nikula
2015-12-04 16:33       ` Andy Lutomirski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).