linux-hardened/drivers/net/ethernet/mellanox/mlx5/core
Eli Cohen a6d51b6861 net/mlx5: Introduce blue flame register allocator
Here is an implementation of an allocator that allocates blue flame
registers. A blue flame register is used for generating send doorbells.
A blue flame register can be used to generate either a regular doorbell
or a blue flame doorbell where the data to be sent is written to the
device's I/O memory hence saving the need to read the data from memory.
For blue flame kind of doorbells to succeed, the blue flame register
need to be mapped as write combining. The user can specify what kind of
send doorbells she wishes to use. If she requested write combining
mapping but that failed, the allocator will fall back to non write
combining mapping and will indicate that to the user.
Subsequent patches in this series will make use of this allocator.

Signed-off-by: Eli Cohen <eli@mellanox.com>
Reviewed-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2017-01-08 11:21:26 +02:00
..
alloc.c net/mlx5e: use %pad format string for dma_addr_t 2016-12-08 21:30:54 -05:00
cmd.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-06 21:33:19 -05:00
cq.c net/mlx5: Unify and improve command interface 2016-08-17 17:45:58 +03:00
debugfs.c {net,IB}/mlx5: QP/XRCD commands via mlx5 ifc 2016-08-17 17:45:57 +03:00
dev.c {net,IB}/mlx5: Refactor page fault handling 2017-01-02 15:51:20 -05:00
en.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-06 21:33:19 -05:00
en_arfs.c net/mlx5: Support encap id when setting new steering entry 2016-11-09 13:41:56 -05:00
en_clock.c clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
en_common.c net/mlx5e: Add support for loopback selftest 2016-11-28 15:09:36 -05:00
en_dcbnl.c net/mlx5e: Add DCBX control interface 2016-11-28 15:09:35 -05:00
en_ethtool.c net/mlx5e: Create UMR MKey per RQ 2016-12-02 10:47:02 -05:00
en_fs.c net/mlx5: Support encap id when setting new steering entry 2016-11-09 13:41:56 -05:00
en_fs_ethtool.c net/mlx5: Support encap id when setting new steering entry 2016-11-09 13:41:56 -05:00
en_main.c IB/mlx5: Refactor UMR post send format 2017-01-02 15:51:20 -05:00
en_rep.c net/mlx5e: Support adding ingress tc rule when egress device flag is set 2016-12-02 13:28:38 -05:00
en_rx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-06 21:33:19 -05:00
en_rx_am.c net/mlx5e: Support adaptive RX coalescing 2016-06-27 04:10:41 -04:00
en_selftest.c net/mlx5e: skip loopback selftest with !CONFIG_INET 2016-12-02 11:55:57 -05:00
en_stats.h net/mlx5e: Support HW (offloaded) and SW counters for SRIOV switchdev mode 2016-11-24 16:01:14 -05:00
en_tc.c net/mlx5e: Offload TC matching on packets being IP fragments 2016-12-08 11:32:50 -05:00
en_tc.h net/mlx5e: Hardware offloaded flower filter statistics support 2016-05-16 13:43:51 -04:00
en_tx.c net/mlx5e: Change the SQ/RQ operational state to positive logic 2016-12-06 11:44:45 -05:00
en_txrx.c net/mlx5e: Change the SQ/RQ operational state to positive logic 2016-12-06 11:44:45 -05:00
eq.c mlx5: Fix naming convention with respect to UARs 2017-01-08 11:21:26 +02:00
eswitch.c net/mlx5: E-Switch, Add control for inline mode 2016-11-24 16:01:14 -05:00
eswitch.h net/mlx5e: Save the represntor netdevice as part of the representor 2016-12-02 13:28:37 -05:00
eswitch_offloads.c net/mlx5e: Save the represntor netdevice as part of the representor 2016-12-02 13:28:37 -05:00
fs_cmd.c net/mlx5: Support encap id when setting new steering entry 2016-11-09 13:41:56 -05:00
fs_cmd.h net/mlx5: Add creation flags when adding new flow table 2016-11-09 13:41:56 -05:00
fs_core.c net/mlx5: remove a duplicate condition 2016-11-25 20:28:28 -05:00
fs_core.h net/mlx5: Support encap id when setting new steering entry 2016-11-09 13:41:56 -05:00
fs_counters.c net/mlx5: use rb_entry() 2016-12-20 14:22:48 -05:00
fw.c net/mlx5: Unify and improve command interface 2016-08-17 17:45:58 +03:00
health.c net/mlx5: PCI error recovery health care simulation 2016-10-29 12:00:39 -04:00
Kconfig Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 19:56:15 -08:00
lag.c net/mlx5: Organize device list API in one place 2016-09-10 21:21:50 -07:00
mad.c net/mlx5: Unify and improve command interface 2016-08-17 17:45:58 +03:00
main.c mlx5: Fix naming convention with respect to UARs 2017-01-08 11:21:26 +02:00
Makefile net/mlx5e: Add support for ethtool self diagnostics test 2016-11-28 15:09:35 -05:00
mcg.c net/mlx5: Unify and improve command interface 2016-08-17 17:45:58 +03:00
mlx5_core.h {net,IB}/mlx5: Refactor page fault handling 2017-01-02 15:51:20 -05:00
mr.c net/mlx5: Unify and improve command interface 2016-08-17 17:45:58 +03:00
pagealloc.c net/mlx5: Avoid passing dma address 0 to firmware 2016-10-29 12:00:39 -04:00
pd.c net/mlx5: Unify and improve command interface 2016-08-17 17:45:58 +03:00
port.c net/mlx5: Add DCBX firmware commands support 2016-11-28 15:09:35 -05:00
qp.c {net,IB}/mlx5: Refactor page fault handling 2017-01-02 15:51:20 -05:00
rl.c net/mlx5: Introduce TSAR manipulation firmware commands 2016-10-30 15:43:12 +02:00
sriov.c net/mlx5: Align sriov/eswitch modules with the new load/unload flow. 2016-09-10 21:21:50 -07:00
srq.c net/mlx5: Unify and improve command interface 2016-08-17 17:45:58 +03:00
transobj.c net/mlx5: Unify and improve command interface 2016-08-17 17:45:58 +03:00
uar.c net/mlx5: Introduce blue flame register allocator 2017-01-08 11:21:26 +02:00
vport.c net/mlx5: Enable to query min inline for a specific vport 2016-11-24 16:01:14 -05:00
vxlan.c net/mlx5: Unify and improve command interface 2016-08-17 17:45:58 +03:00
vxlan.h mlx5: Fix merge errors. 2016-05-09 22:05:13 -04:00
wq.c net/mlx5e: Implement Fragmented Work Queue (WQ) 2016-12-02 10:47:01 -05:00
wq.h net/mlx5e: Implement Fragmented Work Queue (WQ) 2016-12-02 10:47:01 -05:00