Author: arybchik
Date: Wed Mar 25 13:02:33 2015
New Revision: 280580
URL: https://svnweb.freebsd.org/changeset/base/280580

Log:
  MFC: 279175
  
  sfxge: using bus_space_*_stream_* API for better portability
  
  Host-bus byte order translation is not requred.
  
  Submitted by:   Artem V. Andreev <Artem.Andreev at oktetlabs.ru>
  Sponsored by:   Solarflare Communications, Inc.
  Approved by:    gnn (mentor)

Modified:
  stable/10/sys/dev/sfxge/common/efsys.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/sfxge/common/efsys.h
==============================================================================
--- stable/10/sys/dev/sfxge/common/efsys.h      Wed Mar 25 13:01:51 2015        
(r280579)
+++ stable/10/sys/dev/sfxge/common/efsys.h      Wed Mar 25 13:02:33 2015        
(r280580)
@@ -94,6 +94,15 @@ extern "C" {
 #define        ISP2(x)                 (((x) & ((x) - 1)) == 0)
 #endif
 
+#if defined(__x86_64__)
+#if !defined(bus_space_read_stream_8)
+#define        bus_space_read_stream_8(t, h, o)                                
\
+       bus_space_read_8((t), (h), (o))
+#define        bus_space_write_stream_8(t, h, o, v)                            
\
+       bus_space_write_8((t), (h), (o), (v))
+#endif
+#endif
+
 #define        ENOTACTIVE EINVAL
 
 /* Memory type to use on FreeBSD */
@@ -641,8 +650,9 @@ typedef struct efsys_bar_s {
                if (_lock)                                              \
                        SFXGE_BAR_LOCK(_esbp);                          \
                                                                        \
-               (_edp)->ed_u32[0] = bus_space_read_4((_esbp)->esb_tag,  \
-                   (_esbp)->esb_handle, (_offset));                    \
+               (_edp)->ed_u32[0] = bus_space_read_stream_4(            \
+                   (_esbp)->esb_tag, (_esbp)->esb_handle,              \
+                   (_offset));                                         \
                                                                        \
                EFSYS_PROBE2(bar_readd, unsigned int, (_offset),        \
                    uint32_t, (_edp)->ed_u32[0]);                       \
@@ -662,8 +672,9 @@ typedef struct efsys_bar_s {
                                                                        \
                SFXGE_BAR_LOCK(_esbp);                                  \
                                                                        \
-               (_eqp)->eq_u64[0] = bus_space_read_8((_esbp)->esb_tag,  \
-                   (_esbp)->esb_handle, (_offset));                    \
+               (_eqp)->eq_u64[0] = bus_space_read_stream_8(            \
+                   (_esbp)->esb_tag, (_esbp)->esb_handle,              \
+                   (_offset));                                         \
                                                                        \
                EFSYS_PROBE3(bar_readq, unsigned int, (_offset),        \
                    uint32_t, (_eqp)->eq_u32[1],                        \
@@ -683,10 +694,12 @@ typedef struct efsys_bar_s {
                if (_lock)                                              \
                        SFXGE_BAR_LOCK(_esbp);                          \
                                                                        \
-               (_eop)->eo_u64[0] = bus_space_read_8((_esbp)->esb_tag,  \
-                   (_esbp)->esb_handle, (_offset));                    \
-               (_eop)->eo_u64[1] = bus_space_read_8((_esbp)->esb_tag,  \
-                   (_esbp)->esb_handle, (_offset+8));                  \
+               (_eop)->eo_u64[0] = bus_space_read_stream_8(            \
+                   (_esbp)->esb_tag, (_esbp)->esb_handle,              \
+                   (_offset));                                         \
+               (_eop)->eo_u64[1] = bus_space_read_stream_8(            \
+                   (_esbp)->esb_tag, (_esbp)->esb_handle,              \
+                   (_offset) + 8);                                     \
                                                                        \
                EFSYS_PROBE5(bar_reado, unsigned int, (_offset),        \
                    uint32_t, (_eop)->eo_u32[3],                        \
@@ -709,10 +722,12 @@ typedef struct efsys_bar_s {
                                                                        \
                SFXGE_BAR_LOCK(_esbp);                                  \
                                                                        \
-               (_eqp)->eq_u32[0] = bus_space_read_4((_esbp)->esb_tag,  \
-                   (_esbp)->esb_handle, (_offset));                    \
-               (_eqp)->eq_u32[1] = bus_space_read_4((_esbp)->esb_tag,  \
-                   (_esbp)->esb_handle, (_offset+4));                  \
+               (_eqp)->eq_u32[0] = bus_space_read_stream_4(            \
+                   (_esbp)->esb_tag, (_esbp)->esb_handle,              \
+                   (_offset));                                         \
+               (_eqp)->eq_u32[1] = bus_space_read_stream_4(            \
+                   (_esbp)->esb_tag, (_esbp)->esb_handle,              \
+                   (_offset) + 4);                                     \
                                                                        \
                EFSYS_PROBE3(bar_readq, unsigned int, (_offset),        \
                    uint32_t, (_eqp)->eq_u32[1],                        \
@@ -732,14 +747,18 @@ typedef struct efsys_bar_s {
                if (_lock)                                              \
                        SFXGE_BAR_LOCK(_esbp);                          \
                                                                        \
-               (_eop)->eo_u32[0] = bus_space_read_4((_esbp)->esb_tag,  \
-                   (_esbp)->esb_handle, (_offset));                    \
-               (_eop)->eo_u32[1] = bus_space_read_4((_esbp)->esb_tag,  \
-                   (_esbp)->esb_handle, (_offset+4));                  \
-               (_eop)->eo_u32[2] = bus_space_read_4((_esbp)->esb_tag,  \
-                   (_esbp)->esb_handle, (_offset+8));                  \
-               (_eop)->eo_u32[3] = bus_space_read_4((_esbp)->esb_tag,  \
-                   (_esbp)->esb_handle, (_offset+12));                 \
+               (_eop)->eo_u32[0] = bus_space_read_stream_4(            \
+                   (_esbp)->esb_tag, (_esbp)->esb_handle,              \
+                   (_offset));                                         \
+               (_eop)->eo_u32[1] = bus_space_read_stream_4(            \
+                   (_esbp)->esb_tag, (_esbp)->esb_handle,              \
+                   (_offset) + 4);                                     \
+               (_eop)->eo_u32[2] = bus_space_read_stream_4(            \
+                   (_esbp)->esb_tag, (_esbp)->esb_handle,              \
+                   (_offset) + 8);                                     \
+               (_eop)->eo_u32[3] = bus_space_read_stream_4(            \
+                   (_esbp)->esb_tag, (_esbp)->esb_handle,              \
+                   (_offset) + 12);                                    \
                                                                        \
                EFSYS_PROBE5(bar_reado, unsigned int, (_offset),        \
                    uint32_t, (_eop)->eo_u32[3],                        \
@@ -767,7 +786,8 @@ typedef struct efsys_bar_s {
                EFSYS_PROBE2(bar_writed, unsigned int, (_offset),       \
                    uint32_t, (_edp)->ed_u32[0]);                       \
                                                                        \
-               bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\
+               bus_space_write_stream_4((_esbp)->esb_tag,              \
+                   (_esbp)->esb_handle,                                \
                    (_offset), (_edp)->ed_u32[0]);                      \
                                                                        \
                _NOTE(CONSTANTCONDITION)                                \
@@ -789,7 +809,8 @@ typedef struct efsys_bar_s {
                    uint32_t, (_eqp)->eq_u32[1],                        \
                    uint32_t, (_eqp)->eq_u32[0]);                       \
                                                                        \
-               bus_space_write_8((_esbp)->esb_tag, (_esbp)->esb_handle,\
+               bus_space_write_stream_8((_esbp)->esb_tag,              \
+                   (_esbp)->esb_handle,                                \
                    (_offset), (_eqp)->eq_u64[0]);                      \
                                                                        \
                SFXGE_BAR_UNLOCK(_esbp);                                \
@@ -808,10 +829,12 @@ typedef struct efsys_bar_s {
                    uint32_t, (_eqp)->eq_u32[1],                        \
                    uint32_t, (_eqp)->eq_u32[0]);                       \
                                                                        \
-               bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\
+               bus_space_write_stream_4((_esbp)->esb_tag,              \
+                   (_esbp)->esb_handle,                                \
                    (_offset), (_eqp)->eq_u32[0]);                      \
-               bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\
-                   (_offset+4), (_eqp)->eq_u32[1]);                    \
+               bus_space_write_stream_4((_esbp)->esb_tag,              \
+                   (_esbp)->esb_handle,                                \
+                   (_offset) + 4, (_eqp)->eq_u32[1]);                  \
                                                                        \
                SFXGE_BAR_UNLOCK(_esbp);                                \
        _NOTE(CONSTANTCONDITION)                                        \
@@ -835,10 +858,12 @@ typedef struct efsys_bar_s {
                    uint32_t, (_eop)->eo_u32[1],                        \
                    uint32_t, (_eop)->eo_u32[0]);                       \
                                                                        \
-               bus_space_write_8((_esbp)->esb_tag, (_esbp)->esb_handle,\
+               bus_space_write_stream_8((_esbp)->esb_tag,              \
+                   (_esbp)->esb_handle,                                \
                    (_offset), (_eop)->eo_u64[0]);                      \
-               bus_space_write_8((_esbp)->esb_tag, (_esbp)->esb_handle,\
-                   (_offset+8), (_eop)->eo_u64[1]);                    \
+               bus_space_write_stream_8((_esbp)->esb_tag,              \
+                   (_esbp)->esb_handle,                                \
+                   (_offset) + 8, (_eop)->eo_u64[1]);                  \
                                                                        \
                _NOTE(CONSTANTCONDITION)                                \
                if (_lock)                                              \
@@ -863,14 +888,18 @@ typedef struct efsys_bar_s {
                    uint32_t, (_eop)->eo_u32[1],                        \
                    uint32_t, (_eop)->eo_u32[0]);                       \
                                                                        \
-               bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\
+               bus_space_write_stream_4((_esbp)->esb_tag,              \
+                   (_esbp)->esb_handle,                                \
                    (_offset), (_eop)->eo_u32[0]);                      \
-               bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\
-                   (_offset+4), (_eop)->eo_u32[1]);                    \
-               bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\
-                   (_offset+8), (_eop)->eo_u32[2]);                    \
-               bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\
-                   (_offset+12), (_eop)->eo_u32[3]);                   \
+               bus_space_write_stream_4((_esbp)->esb_tag,              \
+                   (_esbp)->esb_handle,                                \
+                   (_offset) + 4, (_eop)->eo_u32[1]);                  \
+               bus_space_write_stream_4((_esbp)->esb_tag,              \
+                   (_esbp)->esb_handle,                                \
+                   (_offset) + 8, (_eop)->eo_u32[2]);                  \
+               bus_space_write_stream_4((_esbp)->esb_tag,              \
+                   (_esbp)->esb_handle,                                \
+                   (_offset) + 12, (_eop)->eo_u32[3]);                 \
                                                                        \
                _NOTE(CONSTANTCONDITION)                                \
                if (_lock)                                              \
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to