diff options
| author | Wim Van Sebroeck <wim@iguana.be> | 2007-05-11 19:03:13 +0000 | 
|---|---|---|
| committer | Wim Van Sebroeck <wim@iguana.be> | 2007-05-11 19:03:13 +0000 | 
| commit | 5c34202b8bf942da411b6599668a76b07449bbfd (patch) | |
| tree | 5719c361321eaddc8e4f1b0c8a7994f0e9a6fdd3 /arch/powerpc/kernel/irq.c | |
| parent | 0d4804b31f91cfbcff6d62af0bc09a893a1c8ae0 (diff) | |
| parent | 1f8a6b658a943b4f04a1fc7b3a420360202c86cd (diff) | |
Merge /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'arch/powerpc/kernel/irq.c')
| -rw-r--r-- | arch/powerpc/kernel/irq.c | 40 | 
1 files changed, 12 insertions, 28 deletions
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 6c83fe229e6..068377a2a8d 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c @@ -67,6 +67,7 @@  #ifdef CONFIG_PPC64  #include <asm/paca.h>  #include <asm/firmware.h> +#include <asm/lv1call.h>  #endif  int __irq_offset_value; @@ -162,7 +163,17 @@ void local_irq_restore(unsigned long en)  	local_paca->hard_enabled = en;  	if ((int)mfspr(SPRN_DEC) < 0)  		mtspr(SPRN_DEC, 1); -	hard_irq_enable(); + +	/* +	 * Force the delivery of pending soft-disabled interrupts on PS3. +	 * Any HV call will have this side effect. +	 */ +	if (firmware_has_feature(FW_FEATURE_PS3_LV1)) { +		u64 tmp; +		lv1_get_version_info(&tmp); +	} + +	__hard_irq_enable();  }  #endif /* CONFIG_PPC64 */ @@ -947,33 +958,6 @@ arch_initcall(irq_late_init);  #endif /* CONFIG_PPC_MERGE */ -#ifdef CONFIG_PCI_MSI -int pci_enable_msi(struct pci_dev * pdev) -{ -	if (ppc_md.enable_msi) -		return ppc_md.enable_msi(pdev); -	else -		return -1; -} -EXPORT_SYMBOL(pci_enable_msi); - -void pci_disable_msi(struct pci_dev * pdev) -{ -	if (ppc_md.disable_msi) -		ppc_md.disable_msi(pdev); -} -EXPORT_SYMBOL(pci_disable_msi); - -void pci_scan_msi_device(struct pci_dev *dev) {} -int pci_enable_msix(struct pci_dev* dev, struct msix_entry *entries, int nvec) {return -1;} -void pci_disable_msix(struct pci_dev *dev) {} -void msi_remove_pci_irq_vectors(struct pci_dev *dev) {} -void pci_no_msi(void) {} -EXPORT_SYMBOL(pci_enable_msix); -EXPORT_SYMBOL(pci_disable_msix); - -#endif -  #ifdef CONFIG_PPC64  static int __init setup_noirqdistrib(char *str)  {  | 
