Re: ci_hdrc_tegra hard locks kernel when set to dr_mode = "otg"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



30.09.2019 23:55, Dmitry Osipenko пишет:
> 30.09.2019 23:05, Peter Geis пишет:
>> Good Afternoon,
>>
>> I have prepped the patch for the tegra-udc driver to fail out in host
>> mode and load as a peripheral in otg mode.

Just to be clear, this part is good to me. Although, doesn't CI driver
operates by default in a peripheral mode when drm_mode=otg?

>> My reasoning for this is as follows:
>> host mode allows devices to enumerate, but data cannot transmit correctly
>> otg mode allows mode switching which is broken and was never supported
>> peripheral mode is the only function that behaves correctly
>>
>> My presumption is this is caused by the chipidea driver not handling
>> the tegra specific quirks.
>> Reading through how nice and clean the tegra-ehci driver is, I'm
>> wondering if it would be better to simply pull the requisite gadget
>> stuff into the ehci driver, vice trying to wedge into the chipidea
>> driver.
>>
>> What do y'all think?
> 
> Not possible. The ChipIdea driver supports multiple vendors, it is
> universal and should have all functionality needed by the host mode.
> There is no point in duplicating the effort.
> 
> Looking at host.c of CI driver I even see that it has references to the
> tegra-ehci driver. I may take a look at what it would take to replace
> tegra-ehci driver with the CI, then there will one less USB driver for
> the same hardware (IIRC, the fsl-usb2-udc also potentially could be
> squashed into the CI driver).
> 
>> On Mon, Sep 30, 2019 at 1:55 PM Dmitry Osipenko <digetx@xxxxxxxxx> wrote:
>>>
>>> 30.09.2019 20:46, Peter Geis пишет:
>>>> On Mon, Sep 30, 2019 at 1:42 PM Dmitry Osipenko <digetx@xxxxxxxxx> wrote:
>>>>>
>>>>> 30.09.2019 18:54, Peter Geis пишет:
>>>>>> Dmitry,
>>>>>>
>>>>>> As far as I can tell the cpuidle drivers work perfectly, but I don't
>>>>>> have full power management yet on either my T20 device nor my T30
>>>>>> device.
>>>>>> They aren't the cause of this though.
>>>>>>
>>>>>> I've been sticking to the mainline release code since 5.3 landed, as
>>>>>> something was merged into linux-next that breaks brcm4329/brcm4330
>>>>>> firmware loading.
>>>>>>
>>>>>> Jumping to linux-next to test your driver just revealed the behavior.
>>>>>>
>>>>>> On my T20 device I haven't encountered issues, but that operates
>>>>>> almost exclusively in gadget mode.
>>>>>> On my T30 device tegra-udc is misbehaving, especially on linux-next.
>>>>>>
>>>>>> By removing the hardcoded LL_DEBUG config and moving to a command line
>>>>>> earlycon statement, I seem to be making progress in capturing what's
>>>>>> going on.
>>>>>> With the following actions, I got a panic crash dump:
>>>>>> phy set to peripheral, boot with tegra-ehci in host mode, usb hub plugged in.
>>>>>> Booted successfully, hub enumerated, passed data through attached
>>>>>> ethernet device.
>>>>>> Unbind the tegra-ehci driver, bind the tegra-udc driver.
>>>>>> Hub enumerates, as well as attached ethernet device, but writes to the
>>>>>> device throw constant errors.
>>>>>
>>>>> Is the host mode working properly when booting with the tegra-udc as a
>>>>> primary driver?
>>>>
>>>> I actually got it working <once>.
>>>> It threw constant reset errors though.
>>>> Afterwards a soft reboot caused the kernel to crash with an irq-init error.
>>>> tegra-ehci is the only stable host driver.
>>>
>>> Okay, I guess the host mode requires some extra configuration (or some
>>> quirk) that is currently missing in the tegra-udc. You may try to
>>> compare what tegra-ehci and tegra-udc do differently and then figure out
>>> how make it to work, for now I don't have any better advises.
>>>
>>>>>> Unbind the tegra-udc driver, produces the following panic:
>>>>>
>>>>> Looks like it is a CI driver bug, perhaps timer's tear down isn't
>>>>> performed correctly. Maybe it is related to the errors you're seeing and
>>>>> something getting stuck with the offending timer being active during of
>>>>> the driver's unbinding..
>>>>>
>>>>> Probably Peter Chen could help with that.
>>>>>
>>>>> [snip]
>>>
> 




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux