isp_library.c (291144) | isp_library.c (291188) |
---|---|
1/*- 2 * Copyright (c) 1997-2009 by Matthew Jacob 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * --- 21 unchanged lines hidden (view full) --- 30 */ 31#ifdef __NetBSD__ 32#include <sys/cdefs.h> 33__KERNEL_RCSID(0, "$NetBSD$"); 34#include <dev/ic/isp_netbsd.h> 35#endif 36#ifdef __FreeBSD__ 37#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1997-2009 by Matthew Jacob 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * --- 21 unchanged lines hidden (view full) --- 30 */ 31#ifdef __NetBSD__ 32#include <sys/cdefs.h> 33__KERNEL_RCSID(0, "$NetBSD$"); 34#include <dev/ic/isp_netbsd.h> 35#endif 36#ifdef __FreeBSD__ 37#include <sys/cdefs.h> |
38__FBSDID("$FreeBSD: head/sys/dev/isp/isp_library.c 291144 2015-11-21 21:01:00Z mav $"); | 38__FBSDID("$FreeBSD: head/sys/dev/isp/isp_library.c 291188 2015-11-23 10:06:19Z mav $"); |
39#include <dev/isp/isp_freebsd.h> 40#endif 41#ifdef __OpenBSD__ 42#include <dev/ic/isp_openbsd.h> 43#endif 44#ifdef __linux__ 45#include "isp_linux.h" 46#endif --- 726 unchanged lines hidden (view full) --- 773 } 774 ISP_DMAFREE(isp, hdp->cmd, hdp->handle); 775 ISP_MEMZERO(local, QENTRY_LEN); 776 if (IS_24XX(isp)) { 777 ct7_entry_t *ctio = (ct7_entry_t *) local; 778 ctio->ct_syshandle = hdp->handle; 779 ctio->ct_nphdl = CT_HBA_RESET; 780 ctio->ct_header.rqs_entry_type = RQSTYPE_CTIO7; | 39#include <dev/isp/isp_freebsd.h> 40#endif 41#ifdef __OpenBSD__ 42#include <dev/ic/isp_openbsd.h> 43#endif 44#ifdef __linux__ 45#include "isp_linux.h" 46#endif --- 726 unchanged lines hidden (view full) --- 773 } 774 ISP_DMAFREE(isp, hdp->cmd, hdp->handle); 775 ISP_MEMZERO(local, QENTRY_LEN); 776 if (IS_24XX(isp)) { 777 ct7_entry_t *ctio = (ct7_entry_t *) local; 778 ctio->ct_syshandle = hdp->handle; 779 ctio->ct_nphdl = CT_HBA_RESET; 780 ctio->ct_header.rqs_entry_type = RQSTYPE_CTIO7; |
781 } else if (IS_FC(isp)) { | 781 } else { |
782 ct2_entry_t *ctio = (ct2_entry_t *) local; 783 ctio->ct_syshandle = hdp->handle; 784 ctio->ct_status = CT_HBA_RESET; 785 ctio->ct_header.rqs_entry_type = RQSTYPE_CTIO2; | 782 ct2_entry_t *ctio = (ct2_entry_t *) local; 783 ctio->ct_syshandle = hdp->handle; 784 ctio->ct_status = CT_HBA_RESET; 785 ctio->ct_header.rqs_entry_type = RQSTYPE_CTIO2; |
786 } else { 787 ct_entry_t *ctio = (ct_entry_t *) local; 788 ctio->ct_syshandle = hdp->handle; 789 ctio->ct_status = CT_HBA_RESET & 0xff; 790 ctio->ct_header.rqs_entry_type = RQSTYPE_CTIO; | |
791 } 792 isp_async(isp, ISPASYNC_TARGET_ACTION, local); 793 } 794 for (tmp = 0; tmp < isp->isp_nchan; tmp++) { 795 ISP_MEMZERO(¬ify, sizeof (isp_notify_t)); 796 notify.nt_ncode = NT_HBA_RESET; 797 notify.nt_hba = isp; 798 notify.nt_wwn = INI_ANY; --- 1460 unchanged lines hidden (view full) --- 2259 /* 2260 * If we have data to transmit, figure out how many segments can fit into the first entry. 2261 */ 2262 if (ddir != ISP_NOXFR) { 2263 /* 2264 * First, figure out how many pieces of data to transfer and what kind and how many we can put into the first queue entry. 2265 */ 2266 switch (type) { | 786 } 787 isp_async(isp, ISPASYNC_TARGET_ACTION, local); 788 } 789 for (tmp = 0; tmp < isp->isp_nchan; tmp++) { 790 ISP_MEMZERO(¬ify, sizeof (isp_notify_t)); 791 notify.nt_ncode = NT_HBA_RESET; 792 notify.nt_hba = isp; 793 notify.nt_wwn = INI_ANY; --- 1460 unchanged lines hidden (view full) --- 2254 /* 2255 * If we have data to transmit, figure out how many segments can fit into the first entry. 2256 */ 2257 if (ddir != ISP_NOXFR) { 2258 /* 2259 * First, figure out how many pieces of data to transfer and what kind and how many we can put into the first queue entry. 2260 */ 2261 switch (type) { |
2267 case RQSTYPE_CTIO: 2268 dsp = ((ct_entry_t *)fqe)->ct_dataseg; 2269 seglim = ISP_RQDSEG; 2270 break; | |
2271 case RQSTYPE_CTIO2: 2272 dsp = ((ct2_entry_t *)fqe)->rsp.m0.u.ct_dataseg; 2273 seglim = ISP_RQDSEG_T2; 2274 break; 2275 case RQSTYPE_CTIO3: 2276 dsp64 = ((ct2_entry_t *)fqe)->rsp.m0.u.ct_dataseg64; 2277 seglim = ISP_RQDSEG_T3; 2278 break; --- 71 unchanged lines hidden (view full) --- 2350 2351 /* 2352 * Third, not patch up the first queue entry with the number of segments 2353 * we actually are going to be transmitting. At the same time, handle 2354 * any mode 2 requests. 2355 */ 2356 ((isphdr_t *)fqe)->rqs_entry_count = nqe; 2357 switch (type) { | 2262 case RQSTYPE_CTIO2: 2263 dsp = ((ct2_entry_t *)fqe)->rsp.m0.u.ct_dataseg; 2264 seglim = ISP_RQDSEG_T2; 2265 break; 2266 case RQSTYPE_CTIO3: 2267 dsp64 = ((ct2_entry_t *)fqe)->rsp.m0.u.ct_dataseg64; 2268 seglim = ISP_RQDSEG_T3; 2269 break; --- 71 unchanged lines hidden (view full) --- 2341 2342 /* 2343 * Third, not patch up the first queue entry with the number of segments 2344 * we actually are going to be transmitting. At the same time, handle 2345 * any mode 2 requests. 2346 */ 2347 ((isphdr_t *)fqe)->rqs_entry_count = nqe; 2348 switch (type) { |
2358 case RQSTYPE_CTIO: 2359 ((ct_entry_t *)fqe)->ct_seg_count = nsegs; 2360 isp_put_ctio(isp, fqe, qe0); 2361 break; | |
2362 case RQSTYPE_CTIO2: 2363 case RQSTYPE_CTIO3: 2364 if (((ct2_entry_t *)fqe)->ct_flags & CT2_FLAG_MODE2) { 2365 ((ct2_entry_t *)fqe)->ct_seg_count = 1; 2366 } else { 2367 ((ct2_entry_t *)fqe)->ct_seg_count = nsegs; 2368 } 2369 if (ISP_CAP_2KLOGIN(isp)) { --- 446 unchanged lines hidden (view full) --- 2816 return; 2817 } 2818 } 2819 isp_prt(isp, ISP_LOGWARN, "Chan %d unable to find entry to delete WWPN 0x%016jx PortID 0x%06x handle 0x%x", 2820 mp->nt_channel, mp->nt_wwn, mp->nt_sid, mp->nt_nphdl); 2821} 2822 2823void | 2349 case RQSTYPE_CTIO2: 2350 case RQSTYPE_CTIO3: 2351 if (((ct2_entry_t *)fqe)->ct_flags & CT2_FLAG_MODE2) { 2352 ((ct2_entry_t *)fqe)->ct_seg_count = 1; 2353 } else { 2354 ((ct2_entry_t *)fqe)->ct_seg_count = nsegs; 2355 } 2356 if (ISP_CAP_2KLOGIN(isp)) { --- 446 unchanged lines hidden (view full) --- 2803 return; 2804 } 2805 } 2806 isp_prt(isp, ISP_LOGWARN, "Chan %d unable to find entry to delete WWPN 0x%016jx PortID 0x%06x handle 0x%x", 2807 mp->nt_channel, mp->nt_wwn, mp->nt_sid, mp->nt_nphdl); 2808} 2809 2810void |
2824isp_put_atio(ispsoftc_t *isp, at_entry_t *src, at_entry_t *dst) 2825{ 2826 int i; 2827 isp_put_hdr(isp, &src->at_header, &dst->at_header); 2828 ISP_IOXPUT_16(isp, src->at_reserved, &dst->at_reserved); 2829 ISP_IOXPUT_16(isp, src->at_handle, &dst->at_handle); 2830 if (ISP_IS_SBUS(isp)) { 2831 ISP_IOXPUT_8(isp, src->at_lun, &dst->at_iid); 2832 ISP_IOXPUT_8(isp, src->at_iid, &dst->at_lun); 2833 ISP_IOXPUT_8(isp, src->at_cdblen, &dst->at_tgt); 2834 ISP_IOXPUT_8(isp, src->at_tgt, &dst->at_cdblen); 2835 ISP_IOXPUT_8(isp, src->at_status, &dst->at_scsi_status); 2836 ISP_IOXPUT_8(isp, src->at_scsi_status, &dst->at_status); 2837 ISP_IOXPUT_8(isp, src->at_tag_val, &dst->at_tag_type); 2838 ISP_IOXPUT_8(isp, src->at_tag_type, &dst->at_tag_val); 2839 } else { 2840 ISP_IOXPUT_8(isp, src->at_lun, &dst->at_lun); 2841 ISP_IOXPUT_8(isp, src->at_iid, &dst->at_iid); 2842 ISP_IOXPUT_8(isp, src->at_cdblen, &dst->at_cdblen); 2843 ISP_IOXPUT_8(isp, src->at_tgt, &dst->at_tgt); 2844 ISP_IOXPUT_8(isp, src->at_status, &dst->at_status); 2845 ISP_IOXPUT_8(isp, src->at_scsi_status, &dst->at_scsi_status); 2846 ISP_IOXPUT_8(isp, src->at_tag_val, &dst->at_tag_val); 2847 ISP_IOXPUT_8(isp, src->at_tag_type, &dst->at_tag_type); 2848 } 2849 ISP_IOXPUT_32(isp, src->at_flags, &dst->at_flags); 2850 for (i = 0; i < ATIO_CDBLEN; i++) { 2851 ISP_IOXPUT_8(isp, src->at_cdb[i], &dst->at_cdb[i]); 2852 } 2853 for (i = 0; i < QLTM_SENSELEN; i++) { 2854 ISP_IOXPUT_8(isp, src->at_sense[i], &dst->at_sense[i]); 2855 } 2856} 2857 2858void 2859isp_get_atio(ispsoftc_t *isp, at_entry_t *src, at_entry_t *dst) 2860{ 2861 int i; 2862 isp_get_hdr(isp, &src->at_header, &dst->at_header); 2863 ISP_IOXGET_16(isp, &src->at_reserved, dst->at_reserved); 2864 ISP_IOXGET_16(isp, &src->at_handle, dst->at_handle); 2865 if (ISP_IS_SBUS(isp)) { 2866 ISP_IOXGET_8(isp, &src->at_lun, dst->at_iid); 2867 ISP_IOXGET_8(isp, &src->at_iid, dst->at_lun); 2868 ISP_IOXGET_8(isp, &src->at_cdblen, dst->at_tgt); 2869 ISP_IOXGET_8(isp, &src->at_tgt, dst->at_cdblen); 2870 ISP_IOXGET_8(isp, &src->at_status, dst->at_scsi_status); 2871 ISP_IOXGET_8(isp, &src->at_scsi_status, dst->at_status); 2872 ISP_IOXGET_8(isp, &src->at_tag_val, dst->at_tag_type); 2873 ISP_IOXGET_8(isp, &src->at_tag_type, dst->at_tag_val); 2874 } else { 2875 ISP_IOXGET_8(isp, &src->at_lun, dst->at_lun); 2876 ISP_IOXGET_8(isp, &src->at_iid, dst->at_iid); 2877 ISP_IOXGET_8(isp, &src->at_cdblen, dst->at_cdblen); 2878 ISP_IOXGET_8(isp, &src->at_tgt, dst->at_tgt); 2879 ISP_IOXGET_8(isp, &src->at_status, dst->at_status); 2880 ISP_IOXGET_8(isp, &src->at_scsi_status, dst->at_scsi_status); 2881 ISP_IOXGET_8(isp, &src->at_tag_val, dst->at_tag_val); 2882 ISP_IOXGET_8(isp, &src->at_tag_type, dst->at_tag_type); 2883 } 2884 ISP_IOXGET_32(isp, &src->at_flags, dst->at_flags); 2885 for (i = 0; i < ATIO_CDBLEN; i++) { 2886 ISP_IOXGET_8(isp, &src->at_cdb[i], dst->at_cdb[i]); 2887 } 2888 for (i = 0; i < QLTM_SENSELEN; i++) { 2889 ISP_IOXGET_8(isp, &src->at_sense[i], dst->at_sense[i]); 2890 } 2891} 2892 2893void | |
2894isp_put_atio2(ispsoftc_t *isp, at2_entry_t *src, at2_entry_t *dst) 2895{ 2896 int i; 2897 isp_put_hdr(isp, &src->at_header, &dst->at_header); 2898 ISP_IOXPUT_32(isp, src->at_reserved, &dst->at_reserved); 2899 ISP_IOXPUT_8(isp, src->at_lun, &dst->at_lun); 2900 ISP_IOXPUT_8(isp, src->at_iid, &dst->at_iid); 2901 ISP_IOXPUT_16(isp, src->at_rxid, &dst->at_rxid); --- 109 unchanged lines hidden (view full) --- 3011 ISP_IOXGET_8(isp, &src->at_count, dst->at_count); 3012 ISP_IOXGET_16(isp, &src->at_ta_len, dst->at_ta_len); 3013 ISP_IOXGET_32(isp, &src->at_rxid, dst->at_rxid); 3014 isp_get_fc_hdr(isp, &src->at_hdr, &dst->at_hdr); 3015 isp_get_fcp_cmnd_iu(isp, &src->at_cmnd, &dst->at_cmnd); 3016} 3017 3018void | 2811isp_put_atio2(ispsoftc_t *isp, at2_entry_t *src, at2_entry_t *dst) 2812{ 2813 int i; 2814 isp_put_hdr(isp, &src->at_header, &dst->at_header); 2815 ISP_IOXPUT_32(isp, src->at_reserved, &dst->at_reserved); 2816 ISP_IOXPUT_8(isp, src->at_lun, &dst->at_lun); 2817 ISP_IOXPUT_8(isp, src->at_iid, &dst->at_iid); 2818 ISP_IOXPUT_16(isp, src->at_rxid, &dst->at_rxid); --- 109 unchanged lines hidden (view full) --- 2928 ISP_IOXGET_8(isp, &src->at_count, dst->at_count); 2929 ISP_IOXGET_16(isp, &src->at_ta_len, dst->at_ta_len); 2930 ISP_IOXGET_32(isp, &src->at_rxid, dst->at_rxid); 2931 isp_get_fc_hdr(isp, &src->at_hdr, &dst->at_hdr); 2932 isp_get_fcp_cmnd_iu(isp, &src->at_cmnd, &dst->at_cmnd); 2933} 2934 2935void |
3019isp_put_ctio(ispsoftc_t *isp, ct_entry_t *src, ct_entry_t *dst) 3020{ 3021 int i; 3022 isp_put_hdr(isp, &src->ct_header, &dst->ct_header); 3023 ISP_IOXPUT_16(isp, src->ct_syshandle, &dst->ct_syshandle); 3024 ISP_IOXPUT_16(isp, src->ct_fwhandle, &dst->ct_fwhandle); 3025 if (ISP_IS_SBUS(isp)) { 3026 ISP_IOXPUT_8(isp, src->ct_iid, &dst->ct_lun); 3027 ISP_IOXPUT_8(isp, src->ct_lun, &dst->ct_iid); 3028 ISP_IOXPUT_8(isp, src->ct_tgt, &dst->ct_reserved2); 3029 ISP_IOXPUT_8(isp, src->ct_reserved2, &dst->ct_tgt); 3030 ISP_IOXPUT_8(isp, src->ct_status, &dst->ct_scsi_status); 3031 ISP_IOXPUT_8(isp, src->ct_scsi_status, &dst->ct_status); 3032 ISP_IOXPUT_8(isp, src->ct_tag_type, &dst->ct_tag_val); 3033 ISP_IOXPUT_8(isp, src->ct_tag_val, &dst->ct_tag_type); 3034 } else { 3035 ISP_IOXPUT_8(isp, src->ct_iid, &dst->ct_iid); 3036 ISP_IOXPUT_8(isp, src->ct_lun, &dst->ct_lun); 3037 ISP_IOXPUT_8(isp, src->ct_tgt, &dst->ct_tgt); 3038 ISP_IOXPUT_8(isp, src->ct_reserved2, &dst->ct_reserved2); 3039 ISP_IOXPUT_8(isp, src->ct_scsi_status, 3040 &dst->ct_scsi_status); 3041 ISP_IOXPUT_8(isp, src->ct_status, &dst->ct_status); 3042 ISP_IOXPUT_8(isp, src->ct_tag_type, &dst->ct_tag_type); 3043 ISP_IOXPUT_8(isp, src->ct_tag_val, &dst->ct_tag_val); 3044 } 3045 ISP_IOXPUT_32(isp, src->ct_flags, &dst->ct_flags); 3046 ISP_IOXPUT_32(isp, src->ct_xfrlen, &dst->ct_xfrlen); 3047 ISP_IOXPUT_32(isp, src->ct_resid, &dst->ct_resid); 3048 ISP_IOXPUT_16(isp, src->ct_timeout, &dst->ct_timeout); 3049 ISP_IOXPUT_16(isp, src->ct_seg_count, &dst->ct_seg_count); 3050 for (i = 0; i < ISP_RQDSEG; i++) { 3051 ISP_IOXPUT_32(isp, src->ct_dataseg[i].ds_base, &dst->ct_dataseg[i].ds_base); 3052 ISP_IOXPUT_32(isp, src->ct_dataseg[i].ds_count, &dst->ct_dataseg[i].ds_count); 3053 } 3054} 3055 3056void 3057isp_get_ctio(ispsoftc_t *isp, ct_entry_t *src, ct_entry_t *dst) 3058{ 3059 int i; 3060 isp_get_hdr(isp, &src->ct_header, &dst->ct_header); 3061 ISP_IOXGET_16(isp, &src->ct_syshandle, dst->ct_syshandle); 3062 ISP_IOXGET_16(isp, &src->ct_fwhandle, dst->ct_fwhandle); 3063 if (ISP_IS_SBUS(isp)) { 3064 ISP_IOXGET_8(isp, &src->ct_lun, dst->ct_iid); 3065 ISP_IOXGET_8(isp, &src->ct_iid, dst->ct_lun); 3066 ISP_IOXGET_8(isp, &src->ct_reserved2, dst->ct_tgt); 3067 ISP_IOXGET_8(isp, &src->ct_tgt, dst->ct_reserved2); 3068 ISP_IOXGET_8(isp, &src->ct_status, dst->ct_scsi_status); 3069 ISP_IOXGET_8(isp, &src->ct_scsi_status, dst->ct_status); 3070 ISP_IOXGET_8(isp, &src->ct_tag_val, dst->ct_tag_type); 3071 ISP_IOXGET_8(isp, &src->ct_tag_type, dst->ct_tag_val); 3072 } else { 3073 ISP_IOXGET_8(isp, &src->ct_lun, dst->ct_lun); 3074 ISP_IOXGET_8(isp, &src->ct_iid, dst->ct_iid); 3075 ISP_IOXGET_8(isp, &src->ct_reserved2, dst->ct_reserved2); 3076 ISP_IOXGET_8(isp, &src->ct_tgt, dst->ct_tgt); 3077 ISP_IOXGET_8(isp, &src->ct_status, dst->ct_status); 3078 ISP_IOXGET_8(isp, &src->ct_scsi_status, dst->ct_scsi_status); 3079 ISP_IOXGET_8(isp, &src->ct_tag_val, dst->ct_tag_val); 3080 ISP_IOXGET_8(isp, &src->ct_tag_type, dst->ct_tag_type); 3081 } 3082 ISP_IOXGET_32(isp, &src->ct_flags, dst->ct_flags); 3083 ISP_IOXGET_32(isp, &src->ct_xfrlen, dst->ct_xfrlen); 3084 ISP_IOXGET_32(isp, &src->ct_resid, dst->ct_resid); 3085 ISP_IOXGET_16(isp, &src->ct_timeout, dst->ct_timeout); 3086 ISP_IOXGET_16(isp, &src->ct_seg_count, dst->ct_seg_count); 3087 for (i = 0; i < ISP_RQDSEG; i++) { 3088 ISP_IOXGET_32(isp, &src->ct_dataseg[i].ds_base, dst->ct_dataseg[i].ds_base); 3089 ISP_IOXGET_32(isp, &src->ct_dataseg[i].ds_count, dst->ct_dataseg[i].ds_count); 3090 } 3091} 3092 3093void | |
3094isp_put_ctio2(ispsoftc_t *isp, ct2_entry_t *src, ct2_entry_t *dst) 3095{ 3096 int i; 3097 isp_put_hdr(isp, &src->ct_header, &dst->ct_header); 3098 ISP_IOXPUT_32(isp, src->ct_syshandle, &dst->ct_syshandle); 3099 ISP_IOXPUT_8(isp, src->ct_lun, &dst->ct_lun); 3100 ISP_IOXPUT_8(isp, src->ct_iid, &dst->ct_iid); 3101 ISP_IOXPUT_16(isp, src->ct_rxid, &dst->ct_rxid); --- 401 unchanged lines hidden (view full) --- 3503 ISP_IOXGET_32(isp, &lesrc->le_flags, ledst->le_flags); 3504 ISP_IOXGET_16(isp, &lesrc->le_timeout, ledst->le_timeout); 3505 for (i = 0; i < 20; i++) { 3506 ISP_IOXGET_8(isp, &lesrc->le_reserved3[i], ledst->le_reserved3[i]); 3507 } 3508} 3509 3510void | 2936isp_put_ctio2(ispsoftc_t *isp, ct2_entry_t *src, ct2_entry_t *dst) 2937{ 2938 int i; 2939 isp_put_hdr(isp, &src->ct_header, &dst->ct_header); 2940 ISP_IOXPUT_32(isp, src->ct_syshandle, &dst->ct_syshandle); 2941 ISP_IOXPUT_8(isp, src->ct_lun, &dst->ct_lun); 2942 ISP_IOXPUT_8(isp, src->ct_iid, &dst->ct_iid); 2943 ISP_IOXPUT_16(isp, src->ct_rxid, &dst->ct_rxid); --- 401 unchanged lines hidden (view full) --- 3345 ISP_IOXGET_32(isp, &lesrc->le_flags, ledst->le_flags); 3346 ISP_IOXGET_16(isp, &lesrc->le_timeout, ledst->le_timeout); 3347 for (i = 0; i < 20; i++) { 3348 ISP_IOXGET_8(isp, &lesrc->le_reserved3[i], ledst->le_reserved3[i]); 3349 } 3350} 3351 3352void |
3511isp_put_notify(ispsoftc_t *isp, in_entry_t *src, in_entry_t *dst) 3512{ 3513 int i; 3514 isp_put_hdr(isp, &src->in_header, &dst->in_header); 3515 ISP_IOXPUT_32(isp, src->in_reserved, &dst->in_reserved); 3516 if (ISP_IS_SBUS(isp)) { 3517 ISP_IOXPUT_8(isp, src->in_lun, &dst->in_iid); 3518 ISP_IOXPUT_8(isp, src->in_iid, &dst->in_lun); 3519 ISP_IOXPUT_8(isp, src->in_reserved2, &dst->in_tgt); 3520 ISP_IOXPUT_8(isp, src->in_tgt, &dst->in_reserved2); 3521 ISP_IOXPUT_8(isp, src->in_status, &dst->in_rsvd2); 3522 ISP_IOXPUT_8(isp, src->in_rsvd2, &dst->in_status); 3523 ISP_IOXPUT_8(isp, src->in_tag_val, &dst->in_tag_type); 3524 ISP_IOXPUT_8(isp, src->in_tag_type, &dst->in_tag_val); 3525 } else { 3526 ISP_IOXPUT_8(isp, src->in_lun, &dst->in_lun); 3527 ISP_IOXPUT_8(isp, src->in_iid, &dst->in_iid); 3528 ISP_IOXPUT_8(isp, src->in_reserved2, &dst->in_reserved2); 3529 ISP_IOXPUT_8(isp, src->in_tgt, &dst->in_tgt); 3530 ISP_IOXPUT_8(isp, src->in_status, &dst->in_status); 3531 ISP_IOXPUT_8(isp, src->in_rsvd2, &dst->in_rsvd2); 3532 ISP_IOXPUT_8(isp, src->in_tag_val, &dst->in_tag_val); 3533 ISP_IOXPUT_8(isp, src->in_tag_type, &dst->in_tag_type); 3534 } 3535 ISP_IOXPUT_32(isp, src->in_flags, &dst->in_flags); 3536 ISP_IOXPUT_16(isp, src->in_seqid, &dst->in_seqid); 3537 for (i = 0; i < IN_MSGLEN; i++) { 3538 ISP_IOXPUT_8(isp, src->in_msg[i], &dst->in_msg[i]); 3539 } 3540 for (i = 0; i < IN_RSVDLEN; i++) { 3541 ISP_IOXPUT_8(isp, src->in_reserved3[i], &dst->in_reserved3[i]); 3542 } 3543 for (i = 0; i < QLTM_SENSELEN; i++) { 3544 ISP_IOXPUT_8(isp, src->in_sense[i], &dst->in_sense[i]); 3545 } 3546} 3547 3548void 3549isp_get_notify(ispsoftc_t *isp, in_entry_t *src, in_entry_t *dst) 3550{ 3551 int i; 3552 isp_get_hdr(isp, &src->in_header, &dst->in_header); 3553 ISP_IOXGET_32(isp, &src->in_reserved, dst->in_reserved); 3554 if (ISP_IS_SBUS(isp)) { 3555 ISP_IOXGET_8(isp, &src->in_lun, dst->in_iid); 3556 ISP_IOXGET_8(isp, &src->in_iid, dst->in_lun); 3557 ISP_IOXGET_8(isp, &src->in_reserved2, dst->in_tgt); 3558 ISP_IOXGET_8(isp, &src->in_tgt, dst->in_reserved2); 3559 ISP_IOXGET_8(isp, &src->in_status, dst->in_rsvd2); 3560 ISP_IOXGET_8(isp, &src->in_rsvd2, dst->in_status); 3561 ISP_IOXGET_8(isp, &src->in_tag_val, dst->in_tag_type); 3562 ISP_IOXGET_8(isp, &src->in_tag_type, dst->in_tag_val); 3563 } else { 3564 ISP_IOXGET_8(isp, &src->in_lun, dst->in_lun); 3565 ISP_IOXGET_8(isp, &src->in_iid, dst->in_iid); 3566 ISP_IOXGET_8(isp, &src->in_reserved2, dst->in_reserved2); 3567 ISP_IOXGET_8(isp, &src->in_tgt, dst->in_tgt); 3568 ISP_IOXGET_8(isp, &src->in_status, dst->in_status); 3569 ISP_IOXGET_8(isp, &src->in_rsvd2, dst->in_rsvd2); 3570 ISP_IOXGET_8(isp, &src->in_tag_val, dst->in_tag_val); 3571 ISP_IOXGET_8(isp, &src->in_tag_type, dst->in_tag_type); 3572 } 3573 ISP_IOXGET_32(isp, &src->in_flags, dst->in_flags); 3574 ISP_IOXGET_16(isp, &src->in_seqid, dst->in_seqid); 3575 for (i = 0; i < IN_MSGLEN; i++) { 3576 ISP_IOXGET_8(isp, &src->in_msg[i], dst->in_msg[i]); 3577 } 3578 for (i = 0; i < IN_RSVDLEN; i++) { 3579 ISP_IOXGET_8(isp, &src->in_reserved3[i], dst->in_reserved3[i]); 3580 } 3581 for (i = 0; i < QLTM_SENSELEN; i++) { 3582 ISP_IOXGET_8(isp, &src->in_sense[i], dst->in_sense[i]); 3583 } 3584} 3585 3586void | |
3587isp_put_notify_fc(ispsoftc_t *isp, in_fcentry_t *src, in_fcentry_t *dst) 3588{ 3589 isp_put_hdr(isp, &src->in_header, &dst->in_header); 3590 ISP_IOXPUT_32(isp, src->in_reserved, &dst->in_reserved); 3591 ISP_IOXPUT_8(isp, src->in_lun, &dst->in_lun); 3592 ISP_IOXPUT_8(isp, src->in_iid, &dst->in_iid); 3593 ISP_IOXPUT_16(isp, src->in_scclun, &dst->in_scclun); 3594 ISP_IOXPUT_32(isp, src->in_reserved2, &dst->in_reserved2); --- 110 unchanged lines hidden (view full) --- 3705 ISP_IOXGET_16(isp, &src->in_portid_lo, dst->in_portid_lo); 3706 ISP_IOXGET_8(isp, &src->in_portid_hi, dst->in_portid_hi); 3707 ISP_IOXGET_8(isp, &src->in_reserved7, dst->in_reserved7); 3708 ISP_IOXGET_16(isp, &src->in_reserved8, dst->in_reserved8); 3709 ISP_IOXGET_16(isp, &src->in_oxid, dst->in_oxid); 3710} 3711 3712void | 3353isp_put_notify_fc(ispsoftc_t *isp, in_fcentry_t *src, in_fcentry_t *dst) 3354{ 3355 isp_put_hdr(isp, &src->in_header, &dst->in_header); 3356 ISP_IOXPUT_32(isp, src->in_reserved, &dst->in_reserved); 3357 ISP_IOXPUT_8(isp, src->in_lun, &dst->in_lun); 3358 ISP_IOXPUT_8(isp, src->in_iid, &dst->in_iid); 3359 ISP_IOXPUT_16(isp, src->in_scclun, &dst->in_scclun); 3360 ISP_IOXPUT_32(isp, src->in_reserved2, &dst->in_reserved2); --- 110 unchanged lines hidden (view full) --- 3471 ISP_IOXGET_16(isp, &src->in_portid_lo, dst->in_portid_lo); 3472 ISP_IOXGET_8(isp, &src->in_portid_hi, dst->in_portid_hi); 3473 ISP_IOXGET_8(isp, &src->in_reserved7, dst->in_reserved7); 3474 ISP_IOXGET_16(isp, &src->in_reserved8, dst->in_reserved8); 3475 ISP_IOXGET_16(isp, &src->in_oxid, dst->in_oxid); 3476} 3477 3478void |
3713isp_put_notify_ack(ispsoftc_t *isp, na_entry_t *src, na_entry_t *dst) 3714{ 3715 int i; 3716 isp_put_hdr(isp, &src->na_header, &dst->na_header); 3717 ISP_IOXPUT_32(isp, src->na_reserved, &dst->na_reserved); 3718 if (ISP_IS_SBUS(isp)) { 3719 ISP_IOXPUT_8(isp, src->na_lun, &dst->na_iid); 3720 ISP_IOXPUT_8(isp, src->na_iid, &dst->na_lun); 3721 ISP_IOXPUT_8(isp, src->na_status, &dst->na_event); 3722 ISP_IOXPUT_8(isp, src->na_event, &dst->na_status); 3723 } else { 3724 ISP_IOXPUT_8(isp, src->na_lun, &dst->na_lun); 3725 ISP_IOXPUT_8(isp, src->na_iid, &dst->na_iid); 3726 ISP_IOXPUT_8(isp, src->na_status, &dst->na_status); 3727 ISP_IOXPUT_8(isp, src->na_event, &dst->na_event); 3728 } 3729 ISP_IOXPUT_32(isp, src->na_flags, &dst->na_flags); 3730 for (i = 0; i < NA_RSVDLEN; i++) { 3731 ISP_IOXPUT_16(isp, src->na_reserved3[i], &dst->na_reserved3[i]); 3732 } 3733} 3734 3735void 3736isp_get_notify_ack(ispsoftc_t *isp, na_entry_t *src, na_entry_t *dst) 3737{ 3738 int i; 3739 isp_get_hdr(isp, &src->na_header, &dst->na_header); 3740 ISP_IOXGET_32(isp, &src->na_reserved, dst->na_reserved); 3741 if (ISP_IS_SBUS(isp)) { 3742 ISP_IOXGET_8(isp, &src->na_lun, dst->na_iid); 3743 ISP_IOXGET_8(isp, &src->na_iid, dst->na_lun); 3744 ISP_IOXGET_8(isp, &src->na_status, dst->na_event); 3745 ISP_IOXGET_8(isp, &src->na_event, dst->na_status); 3746 } else { 3747 ISP_IOXGET_8(isp, &src->na_lun, dst->na_lun); 3748 ISP_IOXGET_8(isp, &src->na_iid, dst->na_iid); 3749 ISP_IOXGET_8(isp, &src->na_status, dst->na_status); 3750 ISP_IOXGET_8(isp, &src->na_event, dst->na_event); 3751 } 3752 ISP_IOXGET_32(isp, &src->na_flags, dst->na_flags); 3753 for (i = 0; i < NA_RSVDLEN; i++) { 3754 ISP_IOXGET_16(isp, &src->na_reserved3[i], dst->na_reserved3[i]); 3755 } 3756} 3757 3758void | |
3759isp_put_notify_ack_fc(ispsoftc_t *isp, na_fcentry_t *src, na_fcentry_t *dst) 3760{ 3761 int i; 3762 isp_put_hdr(isp, &src->na_header, &dst->na_header); 3763 ISP_IOXPUT_32(isp, src->na_reserved, &dst->na_reserved); 3764 ISP_IOXPUT_8(isp, src->na_reserved1, &dst->na_reserved1); 3765 ISP_IOXPUT_8(isp, src->na_iid, &dst->na_iid); 3766 ISP_IOXPUT_16(isp, src->na_response, &dst->na_response); --- 259 unchanged lines hidden --- | 3479isp_put_notify_ack_fc(ispsoftc_t *isp, na_fcentry_t *src, na_fcentry_t *dst) 3480{ 3481 int i; 3482 isp_put_hdr(isp, &src->na_header, &dst->na_header); 3483 ISP_IOXPUT_32(isp, src->na_reserved, &dst->na_reserved); 3484 ISP_IOXPUT_8(isp, src->na_reserved1, &dst->na_reserved1); 3485 ISP_IOXPUT_8(isp, src->na_iid, &dst->na_iid); 3486 ISP_IOXPUT_16(isp, src->na_response, &dst->na_response); --- 259 unchanged lines hidden --- |