Lines Matching refs:pslot
522 int ibmphp_hpc_readslot(struct slot *pslot, u8 cmd, u8 *pstatus) in ibmphp_hpc_readslot() argument
530 debug_polling("%s - Entry pslot[%p] cmd[%x] pstatus[%p]\n", __func__, pslot, cmd, pstatus); in ibmphp_hpc_readslot()
532 if ((pslot == NULL) in ibmphp_hpc_readslot()
540 busindex = ibmphp_get_bus_index(pslot->bus); in ibmphp_hpc_readslot()
548 index = pslot->ctlr_index; in ibmphp_hpc_readslot()
558 ctlr_ptr = pslot->ctrl; in ibmphp_hpc_readslot()
576 pslot->ctrl->status = status; in ibmphp_hpc_readslot()
577 pslot->status = ctrl_read(ctlr_ptr, wpg_bbar, index); in ibmphp_hpc_readslot()
581 pslot->ext_status = ctrl_read(ctlr_ptr, wpg_bbar, index + WPG_1ST_EXTSLOT_INDEX); in ibmphp_hpc_readslot()
601 pslot->busstatus = ctrl_read(ctlr_ptr, wpg_bbar, index); in ibmphp_hpc_readslot()
616 list_for_each_entry(pslot, &ibmphp_slot_head, in ibmphp_hpc_readslot()
618 index = pslot->ctlr_index; in ibmphp_hpc_readslot()
622 pslot->status = ctrl_read(ctlr_ptr, wpg_bbar, index); in ibmphp_hpc_readslot()
626 pslot->ext_status = in ibmphp_hpc_readslot()
660 int ibmphp_hpc_writeslot(struct slot *pslot, u8 cmd) in ibmphp_hpc_writeslot() argument
670 debug_polling("%s - Entry pslot[%p] cmd[%x]\n", __func__, pslot, cmd); in ibmphp_hpc_writeslot()
671 if (pslot == NULL) { in ibmphp_hpc_writeslot()
680 busindex = ibmphp_get_bus_index(pslot->bus); in ibmphp_hpc_writeslot()
688 index = pslot->ctlr_index; in ibmphp_hpc_writeslot()
698 ctlr_ptr = pslot->ctrl; in ibmphp_hpc_writeslot()
807 struct slot *pslot = NULL; in poll_hpc() local
825 list_for_each_entry(pslot, &ibmphp_slot_head, in poll_hpc()
829 if (pslot->ctrl->ctlr_relative_id == ctrl_count) { in poll_hpc()
831 if (READ_SLOT_LATCH(pslot->ctrl)) { in poll_hpc()
832 rc = ibmphp_hpc_readslot(pslot, in poll_hpc()
838 pslot->ctrl); in poll_hpc()
846 list_for_each_entry(pslot, &ibmphp_slot_head, in poll_hpc()
849 memcpy((void *) &myslot, (void *) pslot, in poll_hpc()
851 rc = ibmphp_hpc_readslot(pslot, READ_ALLSTAT, NULL); in poll_hpc()
852 if ((myslot.status != pslot->status) in poll_hpc()
853 || (myslot.ext_status != pslot->ext_status)) in poll_hpc()
854 process_changeinstatus(pslot, &myslot); in poll_hpc()
857 list_for_each_entry(pslot, &ibmphp_slot_head, in poll_hpc()
861 if (pslot->ctrl->ctlr_relative_id == ctrl_count) { in poll_hpc()
863 if (READ_SLOT_LATCH(pslot->ctrl)) in poll_hpc()
864 rc = ibmphp_hpc_readslot(pslot, in poll_hpc()
916 static int process_changeinstatus(struct slot *pslot, struct slot *poldslot) in process_changeinstatus() argument
923 debug("process_changeinstatus - Entry pslot[%p], poldslot[%p]\n", pslot, poldslot); in process_changeinstatus()
926 if ((pslot->status & 0x01) != (poldslot->status & 0x01)) in process_changeinstatus()
933 if ((pslot->status & 0x04) != (poldslot->status & 0x04)) in process_changeinstatus()
938 if (((pslot->status & 0x08) != (poldslot->status & 0x08)) in process_changeinstatus()
939 || ((pslot->status & 0x10) != (poldslot->status & 0x10))) in process_changeinstatus()
943 if ((pslot->status & 0x20) != (poldslot->status & 0x20)) in process_changeinstatus()
952 if ((pslot->status & 0x80) != (poldslot->status & 0x80)) { in process_changeinstatus()
955 if (pslot->status & 0x80) { in process_changeinstatus()
956 if (SLOT_PWRGD(pslot->status)) { in process_changeinstatus()
960 rc = ibmphp_hpc_readslot(pslot, READ_SLOTSTATUS, &status); in process_changeinstatus()
964 pslot->status &= ~HPC_SLOT_POWER; in process_changeinstatus()
975 if ((pslot->ext_status & 0x08) != (poldslot->ext_status & 0x08)) in process_changeinstatus()
980 pslot->flag = 0; in process_changeinstatus()
981 rc = ibmphp_do_disable_slot(pslot); in process_changeinstatus()
985 ibmphp_update_slot_info(pslot); in process_changeinstatus()
1004 struct slot myslot, *pslot; in process_changeinlatch() local
1015 pslot = ibmphp_get_slot_from_physical_num(i); in process_changeinlatch()
1016 if (pslot) { in process_changeinlatch()
1017 memcpy((void *) &myslot, (void *) pslot, sizeof(struct slot)); in process_changeinlatch()
1018 rc = ibmphp_hpc_readslot(pslot, READ_ALLSTAT, NULL); in process_changeinlatch()
1020 process_changeinstatus(pslot, &myslot); in process_changeinlatch()