freebsd-dev/sys/sparc64/pci
Marius Strobl 96459db58f As it turns out r227960 may still be insufficient with PREEMPTION
so try harder to get the CDMA sync interrupt delivered and also in
a more efficient way:
- wrap the whole process of sending and receiving the CDMA sync
  interrupt in a critical section so we don't get preempted,
- send the CDMA sync interrupt to the CPU that is actually waiting
  for it to happen so we don't take a detour via another CPU,
- instead of waiting for up to 15 seconds for the interrupt to
  trigger try the whole process for up to 15 times using a one
  second timeout (the code was also changed to just ignore belated
  interrupts of a previous tries should they appear).

According to testing done by Peter Jeremy with the debugging also
added as part of this commit the first two changes apparently are
sufficient to now properly get the CDMA sync interrupts delivered
at the first try though.
2012-01-28 22:42:33 +00:00
..
apb.c s,KOBJMETHOD_END,DEVMETHOD_END,g in order to fully hide the explicit mention 2011-11-22 21:55:40 +00:00
fire.c - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
firereg.h Add a driver for the `Fire' JBus to PCIe bridges found in at least 2009-12-27 16:55:44 +00:00
firevar.h Make sparc64 compatible with NEW_PCIB and enable it: 2011-10-02 23:22:38 +00:00
ofw_pci_if.m - Merge the *_SET macros from fire(4) which generally print out the 2011-03-26 16:49:12 +00:00
ofw_pci.h - Merge the *_SET macros from fire(4) which generally print out the 2011-03-26 16:49:12 +00:00
ofw_pcib_subr.c Make sparc64 compatible with NEW_PCIB and enable it: 2011-10-02 23:22:38 +00:00
ofw_pcib_subr.h On sparc64 machines with multiple host-PCI-bridges these bridges 2008-04-17 12:38:00 +00:00
ofw_pcib.c s,KOBJMETHOD_END,DEVMETHOD_END,g in order to fully hide the explicit mention 2011-11-22 21:55:40 +00:00
ofw_pcibus.c s,KOBJMETHOD_END,DEVMETHOD_END,g in order to fully hide the explicit mention 2011-11-22 21:55:40 +00:00
psycho.c - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
psychoreg.h Sync licenses and the corresponding RCS IDs with NetBSD, mainly switching 2011-03-12 14:33:32 +00:00
psychovar.h Make sparc64 compatible with NEW_PCIB and enable it: 2011-10-02 23:22:38 +00:00
sbbc.c - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
schizo.c As it turns out r227960 may still be insufficient with PREEMPTION 2012-01-28 22:42:33 +00:00
schizoreg.h - Merge the *_SET macros from fire(4) which generally print out the 2011-03-26 16:49:12 +00:00
schizovar.h As it turns out r227960 may still be insufficient with PREEMPTION 2012-01-28 22:42:33 +00:00