Page MenuHomeFreeBSD

Fix spurious interrupts' issue on Armada38x
Needs ReviewPublic

Authored by bsz_semihalf.com on Jan 22 2016, 10:44 AM.

Details

Reviewers
imp
ian
Summary

Armada38X was affected with bug, causing multiple spurious interrupts to occur.
Solution required modification of DTS file - UART device's interrupts should be
triggered with edge instead of level.

Obtained from: Semihalf
Sponsored by: Stormshield
Submitted by: Bartosz Szczepanek <bsz@semihalf.com>

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

bsz_semihalf.com retitled this revision from to Fix spurious interrupts' issue on Armada38x.
bsz_semihalf.com updated this object.
bsz_semihalf.com edited the test plan for this revision. (Show Details)
bsz_semihalf.com added reviewers: ian, imp.
bsz_semihalf.com set the repository for this revision to rS FreeBSD src repository - subversion.
bsz_semihalf.com added a project: ARM.
bsz_semihalf.com added a subscriber: zbb.

I have same problem with Tegra UART (it's also ns8250 based) , not yet identified. Are you sure that this is really bug in Armada38X chipset or we have bug in UART driver?

In D5032#106855, @meloun-miracle-cz wrote:

I have same problem with Tegra UART (it's also ns8250 based) , not yet identified. Are you sure that this is really bug in Armada38X chipset or we have bug in UART driver?

I'm not sure, but I found no other solution, even though I spent quite a lot of time investigating that. There are other platforms in tree (like rk3188) that use the same UART driver (with GIC, which sets default trigger to level) and don't seem to be affected, so I assume it is specific to A38X.

Does changing interrupt trigger makes any difference in your case?

I hope that r295557 fixes spurious interrupt issues on all ns8250 based UARTs. Can you test it also on Armada 38x?