mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 14:13:01 -04:00
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Update defconfig. [SPARC64]: Add PCI MSI support on Niagara. [SPARC64] IRQ: Use irq_desc->chip_data instead of irq_desc->handler_data [SPARC64]: Add obppath sysfs attribute for SBUS and PCI devices. [PARTITION]: Add whole_disk attribute.
This commit is contained in:
commit
c827ba4cb4
17 changed files with 1054 additions and 50 deletions
|
|
@ -46,6 +46,10 @@ extern void irq_install_pre_handler(int virt_irq,
|
|||
#define irq_canonicalize(irq) (irq)
|
||||
extern unsigned int build_irq(int inofixup, unsigned long iclr, unsigned long imap);
|
||||
extern unsigned int sun4v_build_irq(u32 devhandle, unsigned int devino);
|
||||
extern unsigned int sun4v_build_msi(u32 devhandle, unsigned int *virt_irq_p,
|
||||
unsigned int msi_devino_start,
|
||||
unsigned int msi_devino_end);
|
||||
extern void sun4v_destroy_msi(unsigned int virt_irq);
|
||||
extern unsigned int sbus_build_irq(void *sbus, unsigned int ino);
|
||||
|
||||
static __inline__ void set_softint(unsigned long bits)
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include <linux/pci.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/msi.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/page.h>
|
||||
|
|
@ -177,6 +178,24 @@ struct pci_pbm_info {
|
|||
int is_66mhz_capable;
|
||||
int all_devs_66mhz;
|
||||
|
||||
#ifdef CONFIG_PCI_MSI
|
||||
/* MSI info. */
|
||||
u32 msiq_num;
|
||||
u32 msiq_ent_count;
|
||||
u32 msiq_first;
|
||||
u32 msiq_first_devino;
|
||||
u32 msi_num;
|
||||
u32 msi_first;
|
||||
u32 msi_data_mask;
|
||||
u32 msix_data_width;
|
||||
u64 msi32_start;
|
||||
u64 msi64_start;
|
||||
u32 msi32_len;
|
||||
u32 msi64_len;
|
||||
void *msi_queues;
|
||||
unsigned long *msi_bitmap;
|
||||
#endif /* !(CONFIG_PCI_MSI) */
|
||||
|
||||
/* This PBM's streaming buffer. */
|
||||
struct pci_strbuf stc;
|
||||
|
||||
|
|
@ -213,6 +232,12 @@ struct pci_controller_info {
|
|||
void (*base_address_update)(struct pci_dev *, int);
|
||||
void (*resource_adjust)(struct pci_dev *, struct resource *, struct resource *);
|
||||
|
||||
#ifdef CONFIG_PCI_MSI
|
||||
int (*setup_msi_irq)(unsigned int *virt_irq_p, struct pci_dev *pdev,
|
||||
struct msi_desc *entry);
|
||||
void (*teardown_msi_irq)(unsigned int virt_irq, struct pci_dev *pdev);
|
||||
#endif
|
||||
|
||||
/* Now things for the actual PCI bus probes. */
|
||||
struct pci_ops *pci_ops;
|
||||
unsigned int pci_first_busno;
|
||||
|
|
@ -231,6 +256,9 @@ struct pcidev_cookie {
|
|||
int num_prom_regs;
|
||||
struct linux_prom_pci_registers prom_assignments[PROMREG_MAX];
|
||||
int num_prom_assignments;
|
||||
#ifdef CONFIG_PCI_MSI
|
||||
unsigned int msi_num;
|
||||
#endif
|
||||
};
|
||||
|
||||
/* Currently these are the same across all PCI controllers
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ enum {
|
|||
LINUX_EXTENDED_PARTITION = 0x85,
|
||||
WIN98_EXTENDED_PARTITION = 0x0f,
|
||||
|
||||
SUN_WHOLE_DISK = DOS_EXTENDED_PARTITION,
|
||||
|
||||
LINUX_SWAP_PARTITION = 0x82,
|
||||
LINUX_DATA_PARTITION = 0x83,
|
||||
LINUX_LVM_PARTITION = 0x8e,
|
||||
|
|
@ -402,10 +404,14 @@ struct unixware_disklabel {
|
|||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define ADDPART_FLAG_NONE 0
|
||||
#define ADDPART_FLAG_RAID 1
|
||||
#define ADDPART_FLAG_WHOLEDISK 2
|
||||
|
||||
char *disk_name (struct gendisk *hd, int part, char *buf);
|
||||
|
||||
extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev);
|
||||
extern void add_partition(struct gendisk *, int, sector_t, sector_t);
|
||||
extern void add_partition(struct gendisk *, int, sector_t, sector_t, int);
|
||||
extern void delete_partition(struct gendisk *, int);
|
||||
|
||||
extern struct gendisk *alloc_disk_node(int minors, int node_id);
|
||||
|
|
|
|||
Loading…
Reference in a new issue