ispvar.h (290779) | ispvar.h (290785) |
---|---|
1/* $FreeBSD: stable/10/sys/dev/isp/ispvar.h 290779 2015-11-13 19:32:17Z mav $ */ | 1/* $FreeBSD: stable/10/sys/dev/isp/ispvar.h 290785 2015-11-13 19:42:55Z mav $ */ |
2/*- 3 * Copyright (c) 1997-2009 by Matthew Jacob 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * --- 43 unchanged lines hidden (view full) --- 53#define ISP_CORE_VERSION_MAJOR 7 54#define ISP_CORE_VERSION_MINOR 0 55 56/* 57 * Vector for bus specific code to provide specific services. 58 */ 59typedef struct ispsoftc ispsoftc_t; 60struct ispmdvec { | 2/*- 3 * Copyright (c) 1997-2009 by Matthew Jacob 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * --- 43 unchanged lines hidden (view full) --- 53#define ISP_CORE_VERSION_MAJOR 7 54#define ISP_CORE_VERSION_MINOR 0 55 56/* 57 * Vector for bus specific code to provide specific services. 58 */ 59typedef struct ispsoftc ispsoftc_t; 60struct ispmdvec { |
61 int (*dv_rd_isr) (ispsoftc_t *, uint32_t *, uint16_t *, uint16_t *); | 61 int (*dv_rd_isr) (ispsoftc_t *, uint16_t *, uint16_t *, uint16_t *); |
62 uint32_t (*dv_rd_reg) (ispsoftc_t *, int); 63 void (*dv_wr_reg) (ispsoftc_t *, int, uint32_t); 64 int (*dv_mbxdma) (ispsoftc_t *); 65 int (*dv_dmaset) (ispsoftc_t *, XS_T *, void *); 66 void (*dv_dmaclr) (ispsoftc_t *, XS_T *, uint32_t); 67 void (*dv_reset0) (ispsoftc_t *); 68 void (*dv_reset1) (ispsoftc_t *); 69 void (*dv_dregs) (ispsoftc_t *, const char *); --- 11 unchanged lines hidden (view full) --- 81#endif 82#define ISP_MAX_TARGETS(isp) (IS_FC(isp)? MAX_FC_TARG : MAX_TARGETS) 83#define ISP_MAX_LUNS(isp) (isp)->isp_maxluns 84 85/* 86 * Macros to access ISP registers through bus specific layers- 87 * mostly wrappers to vector through the mdvec structure. 88 */ | 62 uint32_t (*dv_rd_reg) (ispsoftc_t *, int); 63 void (*dv_wr_reg) (ispsoftc_t *, int, uint32_t); 64 int (*dv_mbxdma) (ispsoftc_t *); 65 int (*dv_dmaset) (ispsoftc_t *, XS_T *, void *); 66 void (*dv_dmaclr) (ispsoftc_t *, XS_T *, uint32_t); 67 void (*dv_reset0) (ispsoftc_t *); 68 void (*dv_reset1) (ispsoftc_t *); 69 void (*dv_dregs) (ispsoftc_t *, const char *); --- 11 unchanged lines hidden (view full) --- 81#endif 82#define ISP_MAX_TARGETS(isp) (IS_FC(isp)? MAX_FC_TARG : MAX_TARGETS) 83#define ISP_MAX_LUNS(isp) (isp)->isp_maxluns 84 85/* 86 * Macros to access ISP registers through bus specific layers- 87 * mostly wrappers to vector through the mdvec structure. 88 */ |
89#define ISP_READ_ISR(isp, isrp, semap, mbox0p) \ 90 (*(isp)->isp_mdvec->dv_rd_isr)(isp, isrp, semap, mbox0p) | 89#define ISP_READ_ISR(isp, isrp, semap, info) \ 90 (*(isp)->isp_mdvec->dv_rd_isr)(isp, isrp, semap, info) |
91 92#define ISP_READ(isp, reg) \ 93 (*(isp)->isp_mdvec->dv_rd_reg)((isp), (reg)) 94 95#define ISP_WRITE(isp, reg, val) \ 96 (*(isp)->isp_mdvec->dv_wr_reg)((isp), (reg), (val)) 97 98#define ISP_MBOXDMASETUP(isp) \ --- 725 unchanged lines hidden (view full) --- 824 825/* 826 * Internal Interrupt Service Routine 827 * 828 * The outer layers do the spade work to get the appropriate status register, 829 * semaphore register and first mailbox register (if appropriate). This also 830 * means that most spurious/bogus interrupts not for us can be filtered first. 831 */ | 91 92#define ISP_READ(isp, reg) \ 93 (*(isp)->isp_mdvec->dv_rd_reg)((isp), (reg)) 94 95#define ISP_WRITE(isp, reg, val) \ 96 (*(isp)->isp_mdvec->dv_wr_reg)((isp), (reg), (val)) 97 98#define ISP_MBOXDMASETUP(isp) \ --- 725 unchanged lines hidden (view full) --- 824 825/* 826 * Internal Interrupt Service Routine 827 * 828 * The outer layers do the spade work to get the appropriate status register, 829 * semaphore register and first mailbox register (if appropriate). This also 830 * means that most spurious/bogus interrupts not for us can be filtered first. 831 */ |
832void isp_intr(ispsoftc_t *, uint32_t, uint16_t, uint16_t); | 832void isp_intr(ispsoftc_t *, uint16_t, uint16_t, uint16_t); |
833 834 835/* 836 * Command Entry Point- Platform Dependent layers call into this 837 */ 838int isp_start(XS_T *); 839 840/* these values are what isp_start returns */ --- 329 unchanged lines hidden --- | 833 834 835/* 836 * Command Entry Point- Platform Dependent layers call into this 837 */ 838int isp_start(XS_T *); 839 840/* these values are what isp_start returns */ --- 329 unchanged lines hidden --- |