Deleted Added
full compact
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(&notify, 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(&notify, 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 ---