From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:48:55 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D4591519; Sun, 22 Feb 2015 18:48:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B4691609; Sun, 22 Feb 2015 18:48:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MImtkM093117; Sun, 22 Feb 2015 18:48:55 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MImtf7093116; Sun, 22 Feb 2015 18:48:55 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221848.t1MImtf7093116@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:48:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279175 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:48:55 -0000 Author: arybchik Date: Sun Feb 22 18:48:54 2015 New Revision: 279175 URL: https://svnweb.freebsd.org/changeset/base/279175 Log: sfxge: using bus_space_*_stream_* API for better portability Host-bus byte order translation is not requred. Submitted by: Artem V. Andreev Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efsys.h Modified: head/sys/dev/sfxge/common/efsys.h ============================================================================== --- head/sys/dev/sfxge/common/efsys.h Sun Feb 22 18:47:30 2015 (r279174) +++ head/sys/dev/sfxge/common/efsys.h Sun Feb 22 18:48:54 2015 (r279175) @@ -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) \