Re: S3C2410 UDC interrupt handling

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

 



Vladimir Zapolskiy <vzapolskiy@xxxxxxxxx> writes:

> Hello Michael and Marek,

Hi,
>
> I've found that you're involved in Linux USB gadget development, and
> I've decided to write you a email asking about full speed S3C2410 UDC
> specifics, hope you could help me with some information.
>
> Right now in the UDC driver in the Linux kernel there is a bug related
> with MCU feedback irq notification after IN_PKT_RDY set for endpoints.
> There is no processing of EP interrupts, when EP_INT_REG == 0, and
> this leads to stopping in IN queue processing. Consequently host
> doesn't receive responses on its requiests in reasonable time etc.
>
> It is observed that the interrupt is honestly reported, but no bits
> are set in EP_INT_REG. For now in my development branch of the Linux
> kernel I process all interrupts under (EP_INT_REG == 0 &&
> USB_INT_REG == 0 && PWR_REG == 0) condition with EP0 handler, and it
> at least works well for g_file_storage gadget.

According to the 2410/2442 manuals I've looked at, getting an interrupt
and no bit set in EP_INT_REG and USB_INT_REG should indeed not
happen. Unfortunately, while on 2410 it's working as expected, it's not
the case on 244x. afaik a patch (iirc made by David Anders but maybe it
was made by someone else, you'll have to check) to handle this case has
been sent a long time ago but if you're still seeing the issue, it may
have been lost.

>
> I have a question, if such behaviour, namely no set bits in
> EP_INT_REG, present for bulk endpoints too. If it is so, how should
> the driver interpret the condition EP_INT_REG == 0 and select a proper
> EP for IN queue processing?

It should not happen too but who knows, maybe it's needed. The specs I
have at hand disagree but the reality may be telling us a different
story. At least, I'm not aware of any errata about that. Having a
feedback from Samsung about that would be nice (with docs/errata if
possible).

Arnaud
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux