Date: Tue, 3 Feb 2015 13:43:58 -0800 From: John-Mark Gurney <jmg@funkthat.com> To: John Baldwin <jhb@freebsd.org> Cc: Perforce Change Reviews <perforce@freebsd.org> Subject: Re: PERFORCE change 1205651 for review Message-ID: <20150203214358.GT27103@funkthat.com> In-Reply-To: <201502031537.02953.jhb@freebsd.org> References: <201502030012.t130Cnni073962@skunkworks.freebsd.org> <201502031537.02953.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote this message on Tue, Feb 03, 2015 at 15:37 -0500: > On Monday, February 02, 2015 7:12:49 pm John-Mark Gurney wrote: > > http://p4web.freebsd.org/@@1205651?ac=10 > > > > Change 1205651 by jmg@jmg_pciehp on 2015/02/03 00:12:18 > > > > Add inital work to make PCIe HotPlug work... This has been tested > > w/: > > <inserted ExpressCard> > > uart3: <MosChip MCS9922 PCIe to Peripheral Controller> port 0x3000-0x3007 > at device 0.0 on pci2 > > uart4: <MosChip MCS9922 PCIe to Peripheral Controller> port 0x3008-0x300f > at device 0.1 on pci2 > > <removed ExpressCard> > > uart3: detached > > uart4: detached > > <inserted ExpressCard> > > uart3: <MosChip MCS9922 PCIe to Peripheral Controller> port 0x3000-0x3007 > at device 0.0 on pci2 > > uart4: <MosChip MCS9922 PCIe to Peripheral Controller> port 0x3008-0x300f > at device 0.1 on pci2 > > > > This work is based upon gavin's project branch, but fixed > > to make some things work.. > > > > Right now there is a nasty bit as we don't have a way for a > > non-acpi driver to add a new PCI device, so the code hard codes > > the extra space necessary for ACPI... This will be fixed by > > adding necessary bus functions to tell ACPI to rescan the bus, > > etc... > > Note that Ryan already had to solve this problem for SRIOV, and I think his > solution will work fine. In particular, you can have a pci_if.m method that > the bus drivers implement that is something like 'pci_add_device()' to tell it > about the new device(s) it needs to rescan without forcing an entire bus > rescan (though a bus rescan might be useful for other reasons). Cool.. I'll take a look at this to see how to integrate this.. I wrote this code last year, around July, and brought up to HEAD and verified that it still worked... So, I know that there is lots of work to do... > > +/* Interesting values for PCIe Hotplug */ > > +struct pcicfg_hp { > > + struct task hp_inttask; > > + struct callout_handle hp_dllhndl; > > + int hp_cnt; /* Giant locked */ > > + uint32_t hp_slotcap; /* cache this */ > > +}; > > Do not use a callout_handle. timeout() is about to be removed from the tree > (there is only one consumer left). Use a struct callout instead. Yeh, I was just looking at that for another reason.. I'll update it shortly.. oh, btw, has it been anounced that timeout is being removed beyond -arch or -current? i.e. was it marked deprecated in 10? if so, isn't that distruptive to third party code that might be using it? The reason I ask is that there were some ciphers I was thinking of removing from OpenCrypto, but if we can remove features w/o a full branch release, then I'll remove the ciphers before 11... Thanks for the review! -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150203214358.GT27103>