Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Aug 2016 08:31:06 -0700
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        Michal Meloun <mmel@FreeBSD.org>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@FreeBSD.org>, Svatopluk Kraus <skra@FreeBSD.org>, "freebsd-arch@freebsd.org" <freebsd-arch@FreeBSD.org>
Subject:   Re: INTRNG (Was: svn commit: r301453....)
Message-ID:  <d438c970-3bd1-e81a-e56d-3632fa85b921@freebsd.org>
In-Reply-To: <57A5F480.20309@FreeBSD.org>
References:  <201606051620.u55GKD5S066398@repo.freebsd.org> <CANCZdfpz=z3gc3pyb_Qssa3vGJSnPv_r6J-SWDPPpE9zPYB9=w@mail.gmail.com> <ab44ddb1-515b-94ac-6b12-673b7c53d658@freebsd.org> <57976867.6080705@FreeBSD.org> <f2edac8f-2859-cd98-754e-881e2b2d1e63@freebsd.org> <5798E104.5020104@FreeBSD.org> <a5d43044-1733-6cc7-2e99-e85b60b0fcf3@freebsd.org> <579A25BB.8070206@FreeBSD.org> <30790e40-58b4-3371-c0f0-b7545571f389@freebsd.org> <579AFFC5.1040005@FreeBSD.org> <eb603349-eb88-866d-7a26-9e026518fd39@freebsd.org> <579CD355.1050203@FreeBSD.org> <460fa0b3-ddb7-6247-2412-3d75a589d5e7@freebsd.org> <579CF7C8.1040302@FreeBSD.org> <24107713-6d50-c21d-ccf1-7dbdb36cc484@freebsd.org> <579E1BE2.7020500@FreeBSD.org> <7f053bb8-ab03-e46c-1c72-d757348e4e54@freebsd.org> <cefdfaab-a95f-2a92-89bd-3d0cef2a75ab@freebsd.org> <57A09F34.4050400@FreeBSD.org> <ad1e6337-468e-f35d-7454-444a561cb103@freebsd.org> <57A30B72.7070809@FreeBSD.org> <1946069a-d0f9-2c19-80a5-0b490682574b@freebsd.org> <57A5F480.20309@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help


On 08/06/16 07:30, Michal Meloun wrote:

[snip]
> I have prepared working patch (it's not full, but it works  on Tegra),
> https://github.com/strejda/tegra/commit/2cf72e248877fb917c4fc618bcb6e46b7c1058a4
> can you, please, take look on it?
>
> Also, please, take in account:
> - we have, currently, 20+  interrupt controllers converted to new INTRNG
> PIC API.
> - universal format of  interrupt resources is generic part of this API.
> - I'm not ready to commit any PIC API change together with above patch -
> i hope that this is understandable.

One other non-urgent question about PCI code:

There's a new function ofw_bus_msimap() that does not seem to implement 
any particular part of any real binding standard. There's a .txt file in 
the device-tree repo, but many (most?, all?) PCI bridges don't seem to 
implement MSI that way. This is out-of-scope for the immediate 
discussion, but it would be good to fix later. If there are indeed only 
a handful of bridges that do MSI that way, it should probably be moved 
into the PCI bridge drivers that do use it.

Similarly, dev/pci/pci_host_generic.c isn't actually generic and is 
instead a driver for some particular ARM bridges. It should be moved at 
some point under sys/arm. Most of the code in it also duplicates 
dev/ofw/ofwpci.c (but with some added bugs in handling the "ranges" 
property).

> also,
> "we must be able to add new interrupt type as simple as possible" rule
> is very important for me. Adding new table (with implementation), one
> bus method and one PIC method for each new type is not *simple*.
>
> In any case, can we concentrate to above patch first? I'm ready to
> finish it in next few hours, then put it to phabricator for real review.
>

Have you had a chance to finish this? Is there a way I can help? I think 
non-MSI PCI interrupts are currently broken on ARM and it would be great 
to get that fixed before 11.0.
-Nathan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d438c970-3bd1-e81a-e56d-3632fa85b921>