Lines Matching refs:pip

225 	int	(*vo_pi_init)(dev_info_t *vdip, mdi_pathinfo_t *pip, int flags);
228 int (*vo_pi_uninit)(dev_info_t *vdip, mdi_pathinfo_t *pip,
232 int (*vo_pi_state_change)(dev_info_t *vdip, mdi_pathinfo_t *pip,
766 #define MDI_PI_ERRSTAT(pip, x) { \
767 if (MDI_PI((pip))->pi_kstats != NULL) { \
769 pep = MDI_PI(pip)->pi_kstats->pi_kstat_errstats->ks_data; \
790 #define MDI_PI_LOCK(pip) mutex_enter(&MDI_PI(pip)->pi_mutex)
791 #define MDI_PI_TRYLOCK(pip) mutex_tryenter(&MDI_PI(pip)->pi_mutex)
792 #define MDI_PI_UNLOCK(pip) mutex_exit(&MDI_PI(pip)->pi_mutex)
794 #define MDI_PI_LOCKED(pip) MUTEX_HELD(&MDI_PI(pip)->pi_mutex)
797 #define MDI_PI_HOLD(pip) (++MDI_PI(pip)->pi_ref_cnt)
798 #define MDI_PI_RELE(pip) (--MDI_PI(pip)->pi_ref_cnt)
809 #define MDI_PI_STATE(pip) \
810 (MDI_PI((pip))->pi_state & MDI_PATHINFO_STATE_MASK)
811 #define MDI_PI_OLD_STATE(pip) \
812 (MDI_PI((pip))->pi_old_state & MDI_PATHINFO_STATE_MASK)
814 #define MDI_PI_EXT_STATE(pip) \
815 (MDI_PI((pip))->pi_state & MDI_PATHINFO_EXT_STATE_MASK)
816 #define MDI_PI_OLD_EXT_STATE(pip) \
817 (MDI_PI((pip))->pi_old_state & MDI_PATHINFO_EXT_STATE_MASK)
819 #define MDI_PI_SET_TRANSIENT(pip) {\
820 ASSERT(MDI_PI_LOCKED(pip)); \
821 MDI_PI(pip)->pi_state |= MDI_PATHINFO_STATE_TRANSIENT; }
822 #define MDI_PI_CLEAR_TRANSIENT(pip) {\
823 ASSERT(MDI_PI_LOCKED(pip)); \
824 MDI_PI(pip)->pi_state &= ~MDI_PATHINFO_STATE_TRANSIENT; }
825 #define MDI_PI_IS_TRANSIENT(pip) \
826 (MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_TRANSIENT)
828 #define MDI_PI_SET_USER_DISABLE(pip) {\
829 ASSERT(MDI_PI_LOCKED(pip)); \
830 MDI_PI(pip)->pi_state |= MDI_PATHINFO_STATE_USER_DISABLE; }
831 #define MDI_PI_SET_DRV_DISABLE(pip) {\
832 ASSERT(MDI_PI_LOCKED(pip)); \
833 MDI_PI(pip)->pi_state |= MDI_PATHINFO_STATE_DRV_DISABLE; }
834 #define MDI_PI_SET_DRV_DISABLE_TRANS(pip) {\
835 ASSERT(MDI_PI_LOCKED(pip)); \
836 MDI_PI(pip)->pi_state |= MDI_PATHINFO_STATE_DRV_DISABLE_TRANSIENT; }
838 #define MDI_PI_SET_USER_ENABLE(pip) {\
839 ASSERT(MDI_PI_LOCKED(pip)); \
840 MDI_PI(pip)->pi_state &= ~MDI_PATHINFO_STATE_USER_DISABLE; }
841 #define MDI_PI_SET_DRV_ENABLE(pip) {\
842 ASSERT(MDI_PI_LOCKED(pip)); \
843 MDI_PI(pip)->pi_state &= ~MDI_PATHINFO_STATE_DRV_DISABLE; }
844 #define MDI_PI_SET_DRV_ENABLE_TRANS(pip) {\
845 ASSERT(MDI_PI_LOCKED(pip)); \
846 MDI_PI(pip)->pi_state &= ~MDI_PATHINFO_STATE_DRV_DISABLE_TRANSIENT; }
848 #define MDI_PI_IS_USER_DISABLE(pip) \
849 (MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_USER_DISABLE)
850 #define MDI_PI_IS_DRV_DISABLE(pip) \
851 (MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_DRV_DISABLE)
852 #define MDI_PI_IS_DRV_DISABLE_TRANSIENT(pip) \
853 (MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_DRV_DISABLE_TRANSIENT)
855 #define MDI_PI_IS_DISABLE(pip) \
856 (MDI_PI_IS_USER_DISABLE(pip) || \
857 MDI_PI_IS_DRV_DISABLE(pip) || \
858 MDI_PI_IS_DRV_DISABLE_TRANSIENT(pip))
860 #define MDI_PI_IS_INIT(pip) \
861 ((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK) == \
864 #define MDI_PI_IS_INITING(pip) \
865 ((MDI_PI(pip)->pi_state & ~MDI_PATHINFO_EXT_STATE_MASK) == \
868 #define MDI_PI_SET_INIT(pip) {\
869 ASSERT(MDI_PI_LOCKED(pip)); \
870 MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_INIT; }
872 #define MDI_PI_SET_ONLINING(pip) {\
874 ASSERT(MDI_PI_LOCKED(pip)); \
875 ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
876 MDI_PI(pip)->pi_old_state = MDI_PI_STATE(pip); \
877 MDI_PI(pip)->pi_state = \
879 MDI_PI(pip)->pi_state |= ext_state; }
881 #define MDI_PI_IS_ONLINING(pip) \
882 ((MDI_PI(pip)->pi_state & ~MDI_PATHINFO_EXT_STATE_MASK) == \
885 #define MDI_PI_SET_ONLINE(pip) {\
887 ASSERT(MDI_PI_LOCKED(pip)); \
888 ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
889 MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_ONLINE; \
890 MDI_PI(pip)->pi_state |= ext_state; }
892 #define MDI_PI_IS_ONLINE(pip) \
893 ((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK) == \
896 #define MDI_PI_SET_OFFLINING(pip) {\
898 ASSERT(MDI_PI_LOCKED(pip)); \
899 ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
900 MDI_PI(pip)->pi_old_state = MDI_PI_STATE(pip); \
901 MDI_PI(pip)->pi_state = \
903 MDI_PI(pip)->pi_state |= ext_state; }
905 #define MDI_PI_IS_OFFLINING(pip) \
906 ((MDI_PI(pip)->pi_state & ~MDI_PATHINFO_EXT_STATE_MASK) == \
909 #define MDI_PI_SET_OFFLINE(pip) {\
911 ASSERT(MDI_PI_LOCKED(pip)); \
912 ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
913 MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_OFFLINE; \
914 MDI_PI(pip)->pi_state |= ext_state; }
916 #define MDI_PI_IS_OFFLINE(pip) \
917 ((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK) == \
920 #define MDI_PI_SET_STANDBYING(pip) {\
922 ASSERT(MDI_PI_LOCKED(pip)); \
923 ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
924 MDI_PI(pip)->pi_old_state = MDI_PI_STATE(pip); \
925 MDI_PI(pip)->pi_state = \
927 MDI_PI(pip)->pi_state |= ext_state; }
929 #define MDI_PI_SET_STANDBY(pip) {\
931 ASSERT(MDI_PI_LOCKED(pip)); \
932 ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
933 MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_STANDBY; \
934 MDI_PI(pip)->pi_state |= ext_state; }
936 #define MDI_PI_IS_STANDBY(pip) \
937 ((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK) == \
940 #define MDI_PI_SET_FAULTING(pip) {\
942 ASSERT(MDI_PI_LOCKED(pip)); \
943 ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
944 MDI_PI(pip)->pi_old_state = MDI_PI_STATE(pip); \
945 MDI_PI(pip)->pi_state = \
947 MDI_PI(pip)->pi_state |= ext_state; }
949 #define MDI_PI_SET_FAULT(pip) {\
951 ASSERT(MDI_PI_LOCKED(pip)); \
952 ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
953 MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_FAULT; \
954 MDI_PI(pip)->pi_state |= ext_state; }
956 #define MDI_PI_IS_FAULT(pip) \
957 ((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK) == \
960 #define MDI_PI_IS_SUSPENDED(pip) \
961 ((MDI_PI(pip))->pi_phci->ph_flags & MDI_PHCI_FLAGS_SUSPEND)
963 #define MDI_PI_FLAGS_SET_HIDDEN(pip) {\
964 ASSERT(MDI_PI_LOCKED(pip)); \
965 MDI_PI(pip)->pi_flags |= MDI_PATHINFO_FLAGS_HIDDEN; }
966 #define MDI_PI_FLAGS_CLR_HIDDEN(pip) {\
967 ASSERT(MDI_PI_LOCKED(pip)); \
968 MDI_PI(pip)->pi_flags &= ~MDI_PATHINFO_FLAGS_HIDDEN; }
969 #define MDI_PI_FLAGS_IS_HIDDEN(pip) \
970 ((MDI_PI(pip)->pi_flags & MDI_PATHINFO_FLAGS_HIDDEN) == \
973 #define MDI_PI_FLAGS_SET_DEVICE_REMOVED(pip) {\
974 ASSERT(MDI_PI_LOCKED(pip)); \
975 MDI_PI(pip)->pi_flags |= MDI_PATHINFO_FLAGS_DEVICE_REMOVED; }
976 #define MDI_PI_FLAGS_CLR_DEVICE_REMOVED(pip) {\
977 ASSERT(MDI_PI_LOCKED(pip)); \
978 MDI_PI(pip)->pi_flags &= ~MDI_PATHINFO_FLAGS_DEVICE_REMOVED; }
979 #define MDI_PI_FLAGS_IS_DEVICE_REMOVED(pip) \
980 ((MDI_PI(pip)->pi_flags & MDI_PATHINFO_FLAGS_DEVICE_REMOVED) == \
1151 * <none>: default, arg is pip
1153 * arg is pip
1154 * MDI_SELECT_STANDBY_PATH: select a STANDBY path, arg is pip
1228 int mdi_pi_kstat_create(mdi_pathinfo_t *pip, char *ks_name);
1252 int mdi_dc_return_dev_state(mdi_pathinfo_t *pip, struct devctl_iocdata *dcp);