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>