Deleted Added
full compact
efsys.h (278221) efsys.h (278250)
1/*-
2 * Copyright (c) 2010-2011 Solarflare Communications, Inc.
3 * All rights reserved.
4 *
5 * This software was developed in part by Philip Paeps under contract for
6 * Solarflare Communications, Inc.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 12 unchanged lines hidden (view full) ---

21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 *
1/*-
2 * Copyright (c) 2010-2011 Solarflare Communications, Inc.
3 * All rights reserved.
4 *
5 * This software was developed in part by Philip Paeps under contract for
6 * Solarflare Communications, Inc.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 12 unchanged lines hidden (view full) ---

21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 *
29 * $FreeBSD: head/sys/dev/sfxge/common/efsys.h 278221 2015-02-04 20:03:57Z arybchik $
29 * $FreeBSD: head/sys/dev/sfxge/common/efsys.h 278250 2015-02-05 11:39:15Z arybchik $
30 */
31
32#ifndef _SYS_EFSYS_H
33#define _SYS_EFSYS_H
34
35#ifdef __cplusplus
36extern "C" {
37#endif

--- 466 unchanged lines hidden (view full) ---

504 _NOTE(CONSTANTCONDITION) \
505 } while (B_FALSE)
506
507#define EFSYS_MEM_ADDR(_esmp) \
508 ((_esmp)->esm_addr)
509
510/* BAR */
511
30 */
31
32#ifndef _SYS_EFSYS_H
33#define _SYS_EFSYS_H
34
35#ifdef __cplusplus
36extern "C" {
37#endif

--- 466 unchanged lines hidden (view full) ---

504 _NOTE(CONSTANTCONDITION) \
505 } while (B_FALSE)
506
507#define EFSYS_MEM_ADDR(_esmp) \
508 ((_esmp)->esm_addr)
509
510/* BAR */
511
512#define SFXGE_LOCK_NAME_MAX 16
513
512typedef struct efsys_bar_s {
513 struct mtx esb_lock;
514typedef struct efsys_bar_s {
515 struct mtx esb_lock;
516 char esb_lock_name[SFXGE_LOCK_NAME_MAX];
514 bus_space_tag_t esb_tag;
515 bus_space_handle_t esb_handle;
516 int esb_rid;
517 struct resource *esb_res;
518} efsys_bar_t;
519
517 bus_space_tag_t esb_tag;
518 bus_space_handle_t esb_handle;
519 int esb_rid;
520 struct resource *esb_res;
521} efsys_bar_t;
522
520#define SFXGE_BAR_LOCK_INIT(_esbp, _name) \
521 mtx_init(&(_esbp)->esb_lock, (_name), NULL, MTX_DEF)
523#define SFXGE_BAR_LOCK_INIT(_esbp, _ifname) \
524 do { \
525 snprintf((_esbp)->esb_lock_name, \
526 sizeof((_esbp)->esb_lock_name), \
527 "%s:bar", (_ifname)); \
528 mtx_init(&(_esbp)->esb_lock, (_esbp)->esb_lock_name, \
529 NULL, MTX_DEF); \
530 _NOTE(CONSTANTCONDITION) \
531 } while (B_FALSE)
522#define SFXGE_BAR_LOCK_DESTROY(_esbp) \
523 mtx_destroy(&(_esbp)->esb_lock)
524#define SFXGE_BAR_LOCK(_esbp) \
525 mtx_lock(&(_esbp)->esb_lock)
526#define SFXGE_BAR_UNLOCK(_esbp) \
527 mtx_unlock(&(_esbp)->esb_lock)
528
529#define EFSYS_BAR_READD(_esbp, _offset, _edp, _lock) \

--- 186 unchanged lines hidden (view full) ---

716 (void) (_esip); \
717 (void) (_size); \
718 free((_p), M_SFXGE); \
719 _NOTE(CONSTANTCONDITION) \
720 } while (B_FALSE)
721
722/* LOCK */
723
532#define SFXGE_BAR_LOCK_DESTROY(_esbp) \
533 mtx_destroy(&(_esbp)->esb_lock)
534#define SFXGE_BAR_LOCK(_esbp) \
535 mtx_lock(&(_esbp)->esb_lock)
536#define SFXGE_BAR_UNLOCK(_esbp) \
537 mtx_unlock(&(_esbp)->esb_lock)
538
539#define EFSYS_BAR_READD(_esbp, _offset, _edp, _lock) \

--- 186 unchanged lines hidden (view full) ---

726 (void) (_esip); \
727 (void) (_size); \
728 free((_p), M_SFXGE); \
729 _NOTE(CONSTANTCONDITION) \
730 } while (B_FALSE)
731
732/* LOCK */
733
724typedef struct mtx efsys_lock_t;
734typedef struct efsys_lock_s {
735 struct mtx lock;
736 char lock_name[SFXGE_LOCK_NAME_MAX];
737} efsys_lock_t;
725
738
739#define SFXGE_EFSYS_LOCK_INIT(_eslp, _ifname, _label) \
740 do { \
741 efsys_lock_t *__eslp = (_eslp); \
742 \
743 snprintf((__eslp)->lock_name, \
744 sizeof((__eslp)->lock_name), \
745 "%s:%s", (_ifname), (_label)); \
746 mtx_init(&(__eslp)->lock, (__eslp)->lock_name, \
747 NULL, MTX_DEF); \
748 } while (B_FALSE)
749#define SFXGE_EFSYS_LOCK_DESTROY(_eslp) \
750 mtx_destroy(&(_eslp)->lock)
751#define SFXGE_EFSYS_LOCK(_eslp) \
752 mtx_lock(&(_eslp)->lock)
753#define SFXGE_EFSYS_UNLOCK(_eslp) \
754 mtx_unlock(&(_eslp)->lock)
755#define SFXGE_EFSYS_LOCK_ASSERT_OWNED(_eslp) \
756 mtx_assert(&(_eslp)->lock, MA_OWNED)
757
726#define EFSYS_LOCK_MAGIC 0x000010c4
727
728#define EFSYS_LOCK(_lockp, _state) \
729 do { \
758#define EFSYS_LOCK_MAGIC 0x000010c4
759
760#define EFSYS_LOCK(_lockp, _state) \
761 do { \
730 mtx_lock(_lockp); \
762 SFXGE_EFSYS_LOCK(_lockp); \
731 (_state) = EFSYS_LOCK_MAGIC; \
732 _NOTE(CONSTANTCONDITION) \
733 } while (B_FALSE)
734
735#define EFSYS_UNLOCK(_lockp, _state) \
736 do { \
737 if ((_state) != EFSYS_LOCK_MAGIC) \
738 KASSERT(B_FALSE, ("not locked")); \
763 (_state) = EFSYS_LOCK_MAGIC; \
764 _NOTE(CONSTANTCONDITION) \
765 } while (B_FALSE)
766
767#define EFSYS_UNLOCK(_lockp, _state) \
768 do { \
769 if ((_state) != EFSYS_LOCK_MAGIC) \
770 KASSERT(B_FALSE, ("not locked")); \
739 mtx_unlock(_lockp); \
771 SFXGE_EFSYS_UNLOCK(_lockp); \
740 _NOTE(CONSTANTCONDITION) \
741 } while (B_FALSE)
742
743/* PREEMPT */
744
745#define EFSYS_PREEMPT_DISABLE(_state) \
746 do { \
747 (_state) = (_state); \

--- 93 unchanged lines hidden ---
772 _NOTE(CONSTANTCONDITION) \
773 } while (B_FALSE)
774
775/* PREEMPT */
776
777#define EFSYS_PREEMPT_DISABLE(_state) \
778 do { \
779 (_state) = (_state); \

--- 93 unchanged lines hidden ---