Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
ibmphp.h File Reference
#include <linux/pci_hotplug.h>

Go to the source code of this file.

Data Structures

struct  rio_table_hdr
 
struct  scal_detail
 
struct  rio_detail
 
struct  opt_rio
 
struct  opt_rio_lo
 
struct  ebda_hpc_list
 
struct  ebda_hpc_slot
 
struct  ebda_hpc_bus
 
struct  isa_ctlr_access
 
struct  pci_ctlr_access
 
struct  wpeg_i2c_ctlr_access
 
struct  ebda_rsrc_list
 
struct  ebda_pci_rsrc
 
struct  bus_info
 
struct  range_node
 
struct  bus_node
 
struct  resource_node
 
struct  res_needed
 
struct  pci_func
 
struct  slot
 
struct  controller
 

Macros

#define MY_NAME   "ibmphpd"
 
#define debug(fmt, arg...)   do { if (ibmphp_debug == 1) printk(KERN_DEBUG "%s: " fmt , MY_NAME , ## arg); } while (0)
 
#define debug_pci(fmt, arg...)   do { if (ibmphp_debug) printk(KERN_DEBUG "%s: " fmt , MY_NAME , ## arg); } while (0)
 
#define err(format, arg...)   printk(KERN_ERR "%s: " format , MY_NAME , ## arg)
 
#define info(format, arg...)   printk(KERN_INFO "%s: " format , MY_NAME , ## arg)
 
#define warn(format, arg...)   printk(KERN_WARNING "%s: " format , MY_NAME , ## arg)
 
#define EBDA_SLOT_133_MAX   0x20
 
#define EBDA_SLOT_100_MAX   0x10
 
#define EBDA_SLOT_66_MAX   0x02
 
#define EBDA_SLOT_PCIX_CAP   0x08
 
#define EBDA_RSRC_TYPE_MASK   0x03
 
#define EBDA_IO_RSRC_TYPE   0x00
 
#define EBDA_MEM_RSRC_TYPE   0x01
 
#define EBDA_PFM_RSRC_TYPE   0x03
 
#define EBDA_RES_RSRC_TYPE   0x02
 
#define EBDA_IO_RESTRI_MASK   0x0c
 
#define EBDA_NO_RESTRI   0x00
 
#define EBDA_AVO_VGA_ADDR   0x04
 
#define EBDA_AVO_VGA_ADDR_AND_ALIA   0x08
 
#define EBDA_AVO_ISA_ADDR   0x0c
 
#define EBDA_DEV_TYPE_MASK   0x10
 
#define EBDA_PCI_DEV   0x10
 
#define EBDA_NON_PCI_DEV   0x00
 
#define EBDA_PRI_DEF_MASK   0x20
 
#define EBDA_PRI_PCI_BUS_INFO   0x20
 
#define EBDA_NORM_DEV_RSRC_INFO   0x00
 
#define HPC_DEVICE_ID   0x0246
 
#define HPC_SUBSYSTEM_ID   0x0247
 
#define HPC_PCI_OFFSET   0x40
 
#define MEM   0
 
#define IO   1
 
#define PFMEM   2
 
#define RESTYPE   0x03
 
#define IOMASK   0x00 /* will need to take its complement */
 
#define MMASK   0x01
 
#define PFMASK   0x03
 
#define PCIDEVMASK   0x10 /* we should always have PCI devices */
 
#define PRIMARYBUSMASK   0x20
 
#define PCI_VENDOR_ID_NOTVALID   0xFFFF
 
#define PCI_HEADER_TYPE_MULTIDEVICE   0x80
 
#define PCI_HEADER_TYPE_MULTIBRIDGE   0x81
 
#define LATENCY   0x64
 
#define CACHE   64
 
#define DEVICEENABLE   0x015F /* CPQ has 0x0157 */
 
#define IOBRIDGE   0x1000 /* 4k */
 
#define MEMBRIDGE   0x100000 /* 1M */
 
#define SCSI_IRQ   0x09
 
#define LAN_IRQ   0x0A
 
#define OTHER_IRQ   0x0B
 
#define HPC_ERROR   0xFF
 
#define BUS_SPEED   0x30
 
#define BUS_MODE   0x40
 
#define BUS_MODE_PCIX   0x01
 
#define BUS_MODE_PCI   0x00
 
#define BUS_SPEED_2   0x20
 
#define BUS_SPEED_1   0x10
 
#define BUS_SPEED_33   0x00
 
#define BUS_SPEED_66   0x01
 
#define BUS_SPEED_100   0x02
 
#define BUS_SPEED_133   0x03
 
#define BUS_SPEED_66PCIX   0x04
 
#define BUS_SPEED_66UNKNOWN   0x05
 
#define BUS_STATUS_AVAILABLE   0x01
 
#define BUS_CONTROL_AVAILABLE   0x02
 
#define SLOT_LATCH_REGS_SUPPORTED   0x10
 
#define PRGM_MODEL_REV_LEVEL   0xF0
 
#define MAX_ADAPTER_NONE   0x09
 
#define HPC_CTLR_ENABLEIRQ   0x00
 
#define HPC_CTLR_DISABLEIRQ   0x01
 
#define HPC_SLOT_OFF   0x02
 
#define HPC_SLOT_ON   0x03
 
#define HPC_SLOT_ATTNOFF   0x04
 
#define HPC_SLOT_ATTNON   0x05
 
#define HPC_CTLR_CLEARIRQ   0x06
 
#define HPC_CTLR_RESET   0x07
 
#define HPC_CTLR_IRQSTEER   0x08
 
#define HPC_BUS_33CONVMODE   0x09
 
#define HPC_BUS_66CONVMODE   0x0A
 
#define HPC_BUS_66PCIXMODE   0x0B
 
#define HPC_BUS_100PCIXMODE   0x0C
 
#define HPC_BUS_133PCIXMODE   0x0D
 
#define HPC_ALLSLOT_OFF   0x11
 
#define HPC_ALLSLOT_ON   0x12
 
#define HPC_SLOT_BLINKLED   0x13
 
#define READ_SLOTSTATUS   0x01
 
#define READ_EXTSLOTSTATUS   0x02
 
#define READ_BUSSTATUS   0x03
 
#define READ_CTLRSTATUS   0x04
 
#define READ_ALLSTAT   0x05
 
#define READ_ALLSLOT   0x06
 
#define READ_SLOTLATCHLOWREG   0x07
 
#define READ_REVLEVEL   0x08
 
#define READ_HPCOPTIONS   0x09
 
#define HPC_SLOT_POWER   0x01
 
#define HPC_SLOT_CONNECT   0x02
 
#define HPC_SLOT_ATTN   0x04
 
#define HPC_SLOT_PRSNT2   0x08
 
#define HPC_SLOT_PRSNT1   0x10
 
#define HPC_SLOT_PWRGD   0x20
 
#define HPC_SLOT_BUS_SPEED   0x40
 
#define HPC_SLOT_LATCH   0x80
 
#define HPC_SLOT_POWER_OFF   0x00
 
#define HPC_SLOT_POWER_ON   0x01
 
#define HPC_SLOT_CONNECTED   0x00
 
#define HPC_SLOT_DISCONNECTED   0x01
 
#define HPC_SLOT_ATTN_OFF   0x00
 
#define HPC_SLOT_ATTN_ON   0x01
 
#define HPC_SLOT_ATTN_BLINK   0x02
 
#define HPC_SLOT_EMPTY   0x00
 
#define HPC_SLOT_PRSNT_7   0x01
 
#define HPC_SLOT_PRSNT_15   0x02
 
#define HPC_SLOT_PRSNT_25   0x03
 
#define HPC_SLOT_PWRGD_FAULT_NONE   0x00
 
#define HPC_SLOT_PWRGD_GOOD   0x01
 
#define HPC_SLOT_BUS_SPEED_OK   0x00
 
#define HPC_SLOT_BUS_SPEED_MISM   0x01
 
#define HPC_SLOT_LATCH_OPEN   0x01
 
#define HPC_SLOT_LATCH_CLOSED   0x00
 
#define HPC_SLOT_PCIX   0x01
 
#define HPC_SLOT_SPEED1   0x02
 
#define HPC_SLOT_SPEED2   0x04
 
#define HPC_SLOT_BLINK_ATTN   0x08
 
#define HPC_SLOT_RSRVD1   0x10
 
#define HPC_SLOT_RSRVD2   0x20
 
#define HPC_SLOT_BUS_MODE   0x40
 
#define HPC_SLOT_RSRVD3   0x80
 
#define HPC_SLOT_PCIX_NO   0x00
 
#define HPC_SLOT_PCIX_YES   0x01
 
#define HPC_SLOT_SPEED_33   0x00
 
#define HPC_SLOT_SPEED_66   0x01
 
#define HPC_SLOT_SPEED_133   0x02
 
#define HPC_SLOT_ATTN_BLINK_OFF   0x00
 
#define HPC_SLOT_ATTN_BLINK_ON   0x01
 
#define HPC_SLOT_BUS_MODE_OK   0x00
 
#define HPC_SLOT_BUS_MODE_MISM   0x01
 
#define HPC_CTLR_WORKING   0x01
 
#define HPC_CTLR_FINISHED   0x02
 
#define HPC_CTLR_RESULT0   0x04
 
#define HPC_CTLR_RESULT1   0x08
 
#define HPC_CTLR_RESULE2   0x10
 
#define HPC_CTLR_RESULT3   0x20
 
#define HPC_CTLR_IRQ_ROUTG   0x40
 
#define HPC_CTLR_IRQ_PENDG   0x80
 
#define HPC_CTLR_WORKING_NO   0x00
 
#define HPC_CTLR_WORKING_YES   0x01
 
#define HPC_CTLR_FINISHED_NO   0x00
 
#define HPC_CTLR_FINISHED_YES   0x01
 
#define HPC_CTLR_RESULT_SUCCESS   0x00
 
#define HPC_CTLR_RESULT_FAILED   0x01
 
#define HPC_CTLR_RESULT_RSVD   0x02
 
#define HPC_CTLR_RESULT_NORESP   0x03
 
#define SLOT_POWER(s)
 
#define SLOT_CONNECT(s)
 
#define SLOT_ATTN(s, es)
 
#define SLOT_PRESENT(s)
 
#define SLOT_PWRGD(s)
 
#define SLOT_BUS_SPEED(s)
 
#define SLOT_LATCH(s)
 
#define SLOT_PCIX(es)
 
#define SLOT_SPEED(es)
 
#define SLOT_BUS_MODE(es)
 
#define CURRENT_BUS_SPEED(s)
 
#define CURRENT_BUS_MODE(s)   ((u8) (s & BUS_MODE) ? BUS_MODE_PCIX : BUS_MODE_PCI)
 
#define READ_BUS_STATUS(s)   ((u8) (s->options & BUS_STATUS_AVAILABLE))
 
#define READ_BUS_MODE(s)   ((s->revision & PRGM_MODEL_REV_LEVEL) >= 0x20)
 
#define SET_BUS_STATUS(s)   ((u8) (s->options & BUS_CONTROL_AVAILABLE))
 
#define READ_SLOT_LATCH(s)   ((u8) (s->options & SLOT_LATCH_REGS_SUPPORTED))
 
#define CTLR_WORKING(c)
 
#define CTLR_FINISHED(c)
 
#define CTLR_RESULT(c)
 
#define NEEDTOCHECK_CMDSTATUS(c)
 
#define ENABLE   1
 
#define DISABLE   0
 
#define CARD_INFO   0x07
 
#define PCIX133   0x07
 
#define PCIX66   0x05
 
#define PCI66   0x04
 

Functions

void ibmphp_free_ebda_hpc_queue (void)
 
int ibmphp_access_ebda (void)
 
struct slotibmphp_get_slot_from_physical_num (u8)
 
int ibmphp_get_total_hp_slots (void)
 
void ibmphp_free_ibm_slot (struct slot *)
 
void ibmphp_free_bus_info_queue (void)
 
void ibmphp_free_ebda_pci_rsrc_queue (void)
 
struct bus_infoibmphp_find_same_bus_num (u32)
 
int ibmphp_get_bus_index (u8)
 
u16 ibmphp_get_total_controllers (void)
 
int ibmphp_register_pci (void)
 
int ibmphp_rsrc_init (void)
 
int ibmphp_add_resource (struct resource_node *)
 
int ibmphp_remove_resource (struct resource_node *)
 
int ibmphp_find_resource (struct bus_node *, u32, struct resource_node **, int)
 
int ibmphp_check_resource (struct resource_node *, u8)
 
int ibmphp_remove_bus (struct bus_node *, u8)
 
void ibmphp_free_resources (void)
 
int ibmphp_add_pfmem_from_mem (struct resource_node *)
 
struct bus_nodeibmphp_find_res_bus (u8)
 
void ibmphp_print_test (void)
 
void ibmphp_hpc_initvars (void)
 
int ibmphp_hpc_readslot (struct slot *, u8, u8 *)
 
int ibmphp_hpc_writeslot (struct slot *, u8)
 
void ibmphp_lock_operations (void)
 
void ibmphp_unlock_operations (void)
 
int ibmphp_hpc_start_poll_thread (void)
 
void ibmphp_hpc_stop_poll_thread (void)
 
int ibmphp_init_devno (struct slot **)
 
int ibmphp_do_disable_slot (struct slot *slot_cur)
 
int ibmphp_update_slot_info (struct slot *)
 
int ibmphp_configure_card (struct pci_func *, u8)
 
int ibmphp_unconfigure_card (struct slot **, int)
 

Variables

int ibmphp_debug
 
struct list_head ibmphp_ebda_pci_rsrc_head
 
struct list_head ibmphp_slot_head
 
struct pci_busibmphp_pci_bus
 
struct hotplug_slot_ops ibmphp_hotplug_slot_ops
 

Macro Definition Documentation

#define BUS_CONTROL_AVAILABLE   0x02

Definition at line 427 of file ibmphp.h.

#define BUS_MODE   0x40

Definition at line 415 of file ibmphp.h.

#define BUS_MODE_PCI   0x00

Definition at line 417 of file ibmphp.h.

#define BUS_MODE_PCIX   0x01

Definition at line 416 of file ibmphp.h.

#define BUS_SPEED   0x30

Definition at line 414 of file ibmphp.h.

#define BUS_SPEED_1   0x10

Definition at line 419 of file ibmphp.h.

#define BUS_SPEED_100   0x02

Definition at line 422 of file ibmphp.h.

#define BUS_SPEED_133   0x03

Definition at line 423 of file ibmphp.h.

#define BUS_SPEED_2   0x20

Definition at line 418 of file ibmphp.h.

#define BUS_SPEED_33   0x00

Definition at line 420 of file ibmphp.h.

#define BUS_SPEED_66   0x01

Definition at line 421 of file ibmphp.h.

#define BUS_SPEED_66PCIX   0x04

Definition at line 424 of file ibmphp.h.

#define BUS_SPEED_66UNKNOWN   0x05

Definition at line 425 of file ibmphp.h.

#define BUS_STATUS_AVAILABLE   0x01

Definition at line 426 of file ibmphp.h.

#define CACHE   64

Definition at line 309 of file ibmphp.h.

#define CARD_INFO   0x07

Definition at line 682 of file ibmphp.h.

#define CTLR_FINISHED (   c)
Value:

Definition at line 656 of file ibmphp.h.

#define CTLR_RESULT (   c)
#define CTLR_WORKING (   c)
Value:

Definition at line 654 of file ibmphp.h.

#define CURRENT_BUS_MODE (   s)    ((u8) (s & BUS_MODE) ? BUS_MODE_PCIX : BUS_MODE_PCI)

Definition at line 641 of file ibmphp.h.

#define CURRENT_BUS_SPEED (   s)
Value:

Definition at line 637 of file ibmphp.h.

#define debug (   fmt,
  arg... 
)    do { if (ibmphp_debug == 1) printk(KERN_DEBUG "%s: " fmt , MY_NAME , ## arg); } while (0)

Definition at line 42 of file ibmphp.h.

#define debug_pci (   fmt,
  arg... 
)    do { if (ibmphp_debug) printk(KERN_DEBUG "%s: " fmt , MY_NAME , ## arg); } while (0)

Definition at line 43 of file ibmphp.h.

#define DEVICEENABLE   0x015F /* CPQ has 0x0157 */

Definition at line 310 of file ibmphp.h.

#define DISABLE   0

Definition at line 680 of file ibmphp.h.

#define EBDA_AVO_ISA_ADDR   0x0c

Definition at line 80 of file ibmphp.h.

#define EBDA_AVO_VGA_ADDR   0x04

Definition at line 78 of file ibmphp.h.

#define EBDA_AVO_VGA_ADDR_AND_ALIA   0x08

Definition at line 79 of file ibmphp.h.

#define EBDA_DEV_TYPE_MASK   0x10

Definition at line 87 of file ibmphp.h.

#define EBDA_IO_RESTRI_MASK   0x0c

Definition at line 76 of file ibmphp.h.

#define EBDA_IO_RSRC_TYPE   0x00

Definition at line 66 of file ibmphp.h.

#define EBDA_MEM_RSRC_TYPE   0x01

Definition at line 67 of file ibmphp.h.

#define EBDA_NO_RESTRI   0x00

Definition at line 77 of file ibmphp.h.

#define EBDA_NON_PCI_DEV   0x00

Definition at line 89 of file ibmphp.h.

#define EBDA_NORM_DEV_RSRC_INFO   0x00

Definition at line 98 of file ibmphp.h.

#define EBDA_PCI_DEV   0x10

Definition at line 88 of file ibmphp.h.

#define EBDA_PFM_RSRC_TYPE   0x03

Definition at line 68 of file ibmphp.h.

#define EBDA_PRI_DEF_MASK   0x20

Definition at line 96 of file ibmphp.h.

#define EBDA_PRI_PCI_BUS_INFO   0x20

Definition at line 97 of file ibmphp.h.

#define EBDA_RES_RSRC_TYPE   0x02

Definition at line 69 of file ibmphp.h.

#define EBDA_RSRC_TYPE_MASK   0x03

Definition at line 65 of file ibmphp.h.

#define EBDA_SLOT_100_MAX   0x10

Definition at line 56 of file ibmphp.h.

#define EBDA_SLOT_133_MAX   0x20

Definition at line 55 of file ibmphp.h.

#define EBDA_SLOT_66_MAX   0x02

Definition at line 57 of file ibmphp.h.

#define EBDA_SLOT_PCIX_CAP   0x08

Definition at line 58 of file ibmphp.h.

#define ENABLE   1

Definition at line 679 of file ibmphp.h.

#define err (   format,
  arg... 
)    printk(KERN_ERR "%s: " format , MY_NAME , ## arg)

Definition at line 44 of file ibmphp.h.

#define HPC_ALLSLOT_OFF   0x11

Definition at line 453 of file ibmphp.h.

#define HPC_ALLSLOT_ON   0x12

Definition at line 454 of file ibmphp.h.

#define HPC_BUS_100PCIXMODE   0x0C

Definition at line 451 of file ibmphp.h.

#define HPC_BUS_133PCIXMODE   0x0D

Definition at line 452 of file ibmphp.h.

#define HPC_BUS_33CONVMODE   0x09

Definition at line 448 of file ibmphp.h.

#define HPC_BUS_66CONVMODE   0x0A

Definition at line 449 of file ibmphp.h.

#define HPC_BUS_66PCIXMODE   0x0B

Definition at line 450 of file ibmphp.h.

#define HPC_CTLR_CLEARIRQ   0x06

Definition at line 445 of file ibmphp.h.

#define HPC_CTLR_DISABLEIRQ   0x01

Definition at line 440 of file ibmphp.h.

#define HPC_CTLR_ENABLEIRQ   0x00

Definition at line 439 of file ibmphp.h.

#define HPC_CTLR_FINISHED   0x02

Definition at line 568 of file ibmphp.h.

#define HPC_CTLR_FINISHED_NO   0x00

Definition at line 585 of file ibmphp.h.

#define HPC_CTLR_FINISHED_YES   0x01

Definition at line 586 of file ibmphp.h.

#define HPC_CTLR_IRQ_PENDG   0x80

Definition at line 574 of file ibmphp.h.

#define HPC_CTLR_IRQ_ROUTG   0x40

Definition at line 573 of file ibmphp.h.

#define HPC_CTLR_IRQSTEER   0x08

Definition at line 447 of file ibmphp.h.

#define HPC_CTLR_RESET   0x07

Definition at line 446 of file ibmphp.h.

#define HPC_CTLR_RESULE2   0x10

Definition at line 571 of file ibmphp.h.

#define HPC_CTLR_RESULT0   0x04

Definition at line 569 of file ibmphp.h.

#define HPC_CTLR_RESULT1   0x08

Definition at line 570 of file ibmphp.h.

#define HPC_CTLR_RESULT3   0x20

Definition at line 572 of file ibmphp.h.

#define HPC_CTLR_RESULT_FAILED   0x01

Definition at line 592 of file ibmphp.h.

#define HPC_CTLR_RESULT_NORESP   0x03

Definition at line 594 of file ibmphp.h.

#define HPC_CTLR_RESULT_RSVD   0x02

Definition at line 593 of file ibmphp.h.

#define HPC_CTLR_RESULT_SUCCESS   0x00

Definition at line 591 of file ibmphp.h.

#define HPC_CTLR_WORKING   0x01

Definition at line 567 of file ibmphp.h.

#define HPC_CTLR_WORKING_NO   0x00

Definition at line 579 of file ibmphp.h.

#define HPC_CTLR_WORKING_YES   0x01

Definition at line 580 of file ibmphp.h.

#define HPC_DEVICE_ID   0x0246

Definition at line 217 of file ibmphp.h.

#define HPC_ERROR   0xFF

Definition at line 409 of file ibmphp.h.

#define HPC_PCI_OFFSET   0x40

Definition at line 219 of file ibmphp.h.

#define HPC_SLOT_ATTN   0x04

Definition at line 474 of file ibmphp.h.

#define HPC_SLOT_ATTN_BLINK   0x02

Definition at line 498 of file ibmphp.h.

#define HPC_SLOT_ATTN_BLINK_OFF   0x00

Definition at line 555 of file ibmphp.h.

#define HPC_SLOT_ATTN_BLINK_ON   0x01

Definition at line 556 of file ibmphp.h.

#define HPC_SLOT_ATTN_OFF   0x00

Definition at line 496 of file ibmphp.h.

#define HPC_SLOT_ATTN_ON   0x01

Definition at line 497 of file ibmphp.h.

#define HPC_SLOT_ATTNOFF   0x04

Definition at line 443 of file ibmphp.h.

#define HPC_SLOT_ATTNON   0x05

Definition at line 444 of file ibmphp.h.

#define HPC_SLOT_BLINK_ATTN   0x08

Definition at line 533 of file ibmphp.h.

#define HPC_SLOT_BLINKLED   0x13

Definition at line 455 of file ibmphp.h.

#define HPC_SLOT_BUS_MODE   0x40

Definition at line 536 of file ibmphp.h.

#define HPC_SLOT_BUS_MODE_MISM   0x01

Definition at line 562 of file ibmphp.h.

#define HPC_SLOT_BUS_MODE_OK   0x00

Definition at line 561 of file ibmphp.h.

#define HPC_SLOT_BUS_SPEED   0x40

Definition at line 478 of file ibmphp.h.

#define HPC_SLOT_BUS_SPEED_MISM   0x01

Definition at line 518 of file ibmphp.h.

#define HPC_SLOT_BUS_SPEED_OK   0x00

Definition at line 517 of file ibmphp.h.

#define HPC_SLOT_CONNECT   0x02

Definition at line 473 of file ibmphp.h.

#define HPC_SLOT_CONNECTED   0x00

Definition at line 490 of file ibmphp.h.

#define HPC_SLOT_DISCONNECTED   0x01

Definition at line 491 of file ibmphp.h.

#define HPC_SLOT_EMPTY   0x00

Definition at line 503 of file ibmphp.h.

#define HPC_SLOT_LATCH   0x80

Definition at line 479 of file ibmphp.h.

#define HPC_SLOT_LATCH_CLOSED   0x00

Definition at line 524 of file ibmphp.h.

#define HPC_SLOT_LATCH_OPEN   0x01

Definition at line 523 of file ibmphp.h.

#define HPC_SLOT_OFF   0x02

Definition at line 441 of file ibmphp.h.

#define HPC_SLOT_ON   0x03

Definition at line 442 of file ibmphp.h.

#define HPC_SLOT_PCIX   0x01

Definition at line 530 of file ibmphp.h.

#define HPC_SLOT_PCIX_NO   0x00

Definition at line 542 of file ibmphp.h.

#define HPC_SLOT_PCIX_YES   0x01

Definition at line 543 of file ibmphp.h.

#define HPC_SLOT_POWER   0x01

Definition at line 472 of file ibmphp.h.

#define HPC_SLOT_POWER_OFF   0x00

Definition at line 484 of file ibmphp.h.

#define HPC_SLOT_POWER_ON   0x01

Definition at line 485 of file ibmphp.h.

#define HPC_SLOT_PRSNT1   0x10

Definition at line 476 of file ibmphp.h.

#define HPC_SLOT_PRSNT2   0x08

Definition at line 475 of file ibmphp.h.

#define HPC_SLOT_PRSNT_15   0x02

Definition at line 505 of file ibmphp.h.

#define HPC_SLOT_PRSNT_25   0x03

Definition at line 506 of file ibmphp.h.

#define HPC_SLOT_PRSNT_7   0x01

Definition at line 504 of file ibmphp.h.

#define HPC_SLOT_PWRGD   0x20

Definition at line 477 of file ibmphp.h.

#define HPC_SLOT_PWRGD_FAULT_NONE   0x00

Definition at line 511 of file ibmphp.h.

#define HPC_SLOT_PWRGD_GOOD   0x01

Definition at line 512 of file ibmphp.h.

#define HPC_SLOT_RSRVD1   0x10

Definition at line 534 of file ibmphp.h.

#define HPC_SLOT_RSRVD2   0x20

Definition at line 535 of file ibmphp.h.

#define HPC_SLOT_RSRVD3   0x80

Definition at line 537 of file ibmphp.h.

#define HPC_SLOT_SPEED1   0x02

Definition at line 531 of file ibmphp.h.

#define HPC_SLOT_SPEED2   0x04

Definition at line 532 of file ibmphp.h.

#define HPC_SLOT_SPEED_133   0x02

Definition at line 550 of file ibmphp.h.

#define HPC_SLOT_SPEED_33   0x00

Definition at line 548 of file ibmphp.h.

#define HPC_SLOT_SPEED_66   0x01

Definition at line 549 of file ibmphp.h.

#define HPC_SUBSYSTEM_ID   0x0247

Definition at line 218 of file ibmphp.h.

#define info (   format,
  arg... 
)    printk(KERN_INFO "%s: " format , MY_NAME , ## arg)

Definition at line 45 of file ibmphp.h.

#define IO   1

Definition at line 292 of file ibmphp.h.

#define IOBRIDGE   0x1000 /* 4k */

Definition at line 312 of file ibmphp.h.

#define IOMASK   0x00 /* will need to take its complement */

Definition at line 297 of file ibmphp.h.

#define LAN_IRQ   0x0A

Definition at line 317 of file ibmphp.h.

#define LATENCY   0x64

Definition at line 308 of file ibmphp.h.

#define MAX_ADAPTER_NONE   0x09

Definition at line 431 of file ibmphp.h.

#define MEM   0

Definition at line 291 of file ibmphp.h.

#define MEMBRIDGE   0x100000 /* 1M */

Definition at line 313 of file ibmphp.h.

#define MMASK   0x01

Definition at line 298 of file ibmphp.h.

#define MY_NAME   "ibmphpd"

Definition at line 38 of file ibmphp.h.

#define NEEDTOCHECK_CMDSTATUS (   c)
Value:
((c == HPC_SLOT_OFF) || \
(c == HPC_SLOT_ON) || \
(c == HPC_CTLR_RESET) || \
(c == HPC_ALLSLOT_OFF) || \

Definition at line 665 of file ibmphp.h.

#define OTHER_IRQ   0x0B

Definition at line 318 of file ibmphp.h.

#define PCI66   0x04

Definition at line 685 of file ibmphp.h.

#define PCI_HEADER_TYPE_MULTIBRIDGE   0x81

Definition at line 306 of file ibmphp.h.

#define PCI_HEADER_TYPE_MULTIDEVICE   0x80

Definition at line 305 of file ibmphp.h.

#define PCI_VENDOR_ID_NOTVALID   0xFFFF

Definition at line 304 of file ibmphp.h.

#define PCIDEVMASK   0x10 /* we should always have PCI devices */

Definition at line 300 of file ibmphp.h.

#define PCIX133   0x07

Definition at line 683 of file ibmphp.h.

#define PCIX66   0x05

Definition at line 684 of file ibmphp.h.

#define PFMASK   0x03

Definition at line 299 of file ibmphp.h.

#define PFMEM   2

Definition at line 293 of file ibmphp.h.

#define PRGM_MODEL_REV_LEVEL   0xF0

Definition at line 430 of file ibmphp.h.

#define PRIMARYBUSMASK   0x20

Definition at line 301 of file ibmphp.h.

#define READ_ALLSLOT   0x06

Definition at line 465 of file ibmphp.h.

#define READ_ALLSTAT   0x05

Definition at line 464 of file ibmphp.h.

#define READ_BUS_MODE (   s)    ((s->revision & PRGM_MODEL_REV_LEVEL) >= 0x20)

Definition at line 645 of file ibmphp.h.

#define READ_BUS_STATUS (   s)    ((u8) (s->options & BUS_STATUS_AVAILABLE))

Definition at line 643 of file ibmphp.h.

#define READ_BUSSTATUS   0x03

Definition at line 462 of file ibmphp.h.

#define READ_CTLRSTATUS   0x04

Definition at line 463 of file ibmphp.h.

#define READ_EXTSLOTSTATUS   0x02

Definition at line 461 of file ibmphp.h.

#define READ_HPCOPTIONS   0x09

Definition at line 468 of file ibmphp.h.

#define READ_REVLEVEL   0x08

Definition at line 467 of file ibmphp.h.

#define READ_SLOT_LATCH (   s)    ((u8) (s->options & SLOT_LATCH_REGS_SUPPORTED))

Definition at line 649 of file ibmphp.h.

#define READ_SLOTLATCHLOWREG   0x07

Definition at line 466 of file ibmphp.h.

#define READ_SLOTSTATUS   0x01

Definition at line 460 of file ibmphp.h.

#define RESTYPE   0x03

Definition at line 296 of file ibmphp.h.

#define SCSI_IRQ   0x09

Definition at line 316 of file ibmphp.h.

#define SET_BUS_STATUS (   s)    ((u8) (s->options & BUS_CONTROL_AVAILABLE))

Definition at line 647 of file ibmphp.h.

#define SLOT_ATTN (   s,
  es 
)
Value:

Definition at line 606 of file ibmphp.h.

#define SLOT_BUS_MODE (   es)
Value:

Definition at line 631 of file ibmphp.h.

#define SLOT_BUS_SPEED (   s)
Value:

Definition at line 617 of file ibmphp.h.

#define SLOT_CONNECT (   s)
Value:

Definition at line 603 of file ibmphp.h.

#define SLOT_LATCH (   s)
Value:

Definition at line 620 of file ibmphp.h.

#define SLOT_LATCH_REGS_SUPPORTED   0x10

Definition at line 428 of file ibmphp.h.

#define SLOT_PCIX (   es)
Value:

Definition at line 623 of file ibmphp.h.

#define SLOT_POWER (   s)
Value:

Definition at line 600 of file ibmphp.h.

#define SLOT_PRESENT (   s)
Value:

Definition at line 610 of file ibmphp.h.

#define SLOT_PWRGD (   s)
Value:

Definition at line 614 of file ibmphp.h.

#define SLOT_SPEED (   es)
Value:

Definition at line 626 of file ibmphp.h.

#define warn (   format,
  arg... 
)    printk(KERN_WARNING "%s: " format , MY_NAME , ## arg)

Definition at line 46 of file ibmphp.h.

Function Documentation

int ibmphp_access_ebda ( void  )

Definition at line 246 of file ibmphp_ebda.c.

int ibmphp_add_pfmem_from_mem ( struct resource_node )

Definition at line 1724 of file ibmphp_res.c.

int ibmphp_add_resource ( struct resource_node )

Definition at line 594 of file ibmphp_res.c.

int ibmphp_check_resource ( struct resource_node ,
u8   
)

Definition at line 972 of file ibmphp_res.c.

int ibmphp_configure_card ( struct pci_func ,
u8   
)

Definition at line 81 of file ibmphp_pci.c.

int ibmphp_do_disable_slot ( struct slot slot_cur)

Definition at line 1190 of file ibmphp_core.c.

struct bus_node* ibmphp_find_res_bus ( u8  )
read

Definition at line 1749 of file ibmphp_res.c.

int ibmphp_find_resource ( struct bus_node ,
u32  ,
struct resource_node **  ,
int   
)

Definition at line 1488 of file ibmphp_res.c.

struct bus_info* ibmphp_find_same_bus_num ( u32  )
read

Definition at line 1094 of file ibmphp_ebda.c.

void ibmphp_free_bus_info_queue ( void  )

Definition at line 1119 of file ibmphp_ebda.c.

void ibmphp_free_ebda_hpc_queue ( void  )

Definition at line 1131 of file ibmphp_ebda.c.

void ibmphp_free_ebda_pci_rsrc_queue ( void  )

Definition at line 1150 of file ibmphp_ebda.c.

void ibmphp_free_ibm_slot ( struct slot )
void ibmphp_free_resources ( void  )

Definition at line 1559 of file ibmphp_res.c.

int ibmphp_get_bus_index ( u8  )

Definition at line 1108 of file ibmphp_ebda.c.

struct slot* ibmphp_get_slot_from_physical_num ( u8  )
read

Definition at line 1077 of file ibmphp_ebda.c.

u16 ibmphp_get_total_controllers ( void  )

Definition at line 1072 of file ibmphp_ebda.c.

int ibmphp_get_total_hp_slots ( void  )
void ibmphp_hpc_initvars ( void  )

Definition at line 131 of file ibmphp_hpc.c.

int ibmphp_hpc_readslot ( struct slot ,
u8  ,
u8  
)

Definition at line 536 of file ibmphp_hpc.c.

int ibmphp_hpc_start_poll_thread ( void  )

Definition at line 1053 of file ibmphp_hpc.c.

void ibmphp_hpc_stop_poll_thread ( void  )

Definition at line 1070 of file ibmphp_hpc.c.

int ibmphp_hpc_writeslot ( struct slot ,
u8   
)

Definition at line 675 of file ibmphp_hpc.c.

int ibmphp_init_devno ( struct slot **  )

Definition at line 135 of file ibmphp_core.c.

void ibmphp_lock_operations ( void  )

Definition at line 796 of file ibmphp_hpc.c.

void ibmphp_print_test ( void  )

Definition at line 1772 of file ibmphp_res.c.

int ibmphp_register_pci ( void  )

Definition at line 1182 of file ibmphp_ebda.c.

int ibmphp_remove_bus ( struct bus_node ,
u8   
)

Definition at line 1349 of file ibmphp_res.c.

int ibmphp_remove_resource ( struct resource_node )

Definition at line 776 of file ibmphp_res.c.

int ibmphp_rsrc_init ( void  )

Definition at line 199 of file ibmphp_res.c.

int ibmphp_unconfigure_card ( struct slot **  ,
int   
)

Definition at line 1567 of file ibmphp_pci.c.

void ibmphp_unlock_operations ( void  )

Definition at line 805 of file ibmphp_hpc.c.

int ibmphp_update_slot_info ( struct slot )

Definition at line 607 of file ibmphp_core.c.

Variable Documentation

int ibmphp_debug

Definition at line 50 of file ibmphp_core.c.

struct list_head ibmphp_ebda_pci_rsrc_head
struct hotplug_slot_ops ibmphp_hotplug_slot_ops

Definition at line 1272 of file ibmphp_core.c.

struct pci_bus* ibmphp_pci_bus

Definition at line 58 of file ibmphp_core.c.

struct list_head ibmphp_slot_head