Merge tag 'ntb-5.1' of git://github.com/jonmason/ntb
Pull NTB updates from Jon Mason: - fixes for switchtec debugability and mapping table entries - NTB transport improvements - a reworking of the peer_db_addr for better abstraction * tag 'ntb-5.1' of git://github.com/jonmason/ntb: NTB: add new parameter to peer_db_addr() db_bit and db_data NTB: ntb_transport: Ensure the destination buffer is mapped for TX DMA NTB: ntb_transport: Free MWs in ntb_transport_link_cleanup() ntb_hw_switchtec: Added support of >=4G memory windows ntb_hw_switchtec: NT req id mapping table register entry number should be 512 ntb_hw_switchtec: debug print 64bit aligned crosslink BAR Numbers
This commit is contained in:
@@ -296,7 +296,8 @@ struct ntb_dev_ops {
|
||||
int (*db_clear_mask)(struct ntb_dev *ntb, u64 db_bits);
|
||||
|
||||
int (*peer_db_addr)(struct ntb_dev *ntb,
|
||||
phys_addr_t *db_addr, resource_size_t *db_size);
|
||||
phys_addr_t *db_addr, resource_size_t *db_size,
|
||||
u64 *db_data, int db_bit);
|
||||
u64 (*peer_db_read)(struct ntb_dev *ntb);
|
||||
int (*peer_db_set)(struct ntb_dev *ntb, u64 db_bits);
|
||||
int (*peer_db_clear)(struct ntb_dev *ntb, u64 db_bits);
|
||||
@@ -1078,6 +1079,8 @@ static inline int ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits)
|
||||
* @ntb: NTB device context.
|
||||
* @db_addr: OUT - The address of the peer doorbell register.
|
||||
* @db_size: OUT - The number of bytes to write the peer doorbell register.
|
||||
* @db_data: OUT - The data of peer doorbell register
|
||||
* @db_bit: door bell bit number
|
||||
*
|
||||
* Return the address of the peer doorbell register. This may be used, for
|
||||
* example, by drivers that offload memory copy operations to a dma engine.
|
||||
@@ -1091,12 +1094,13 @@ static inline int ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits)
|
||||
*/
|
||||
static inline int ntb_peer_db_addr(struct ntb_dev *ntb,
|
||||
phys_addr_t *db_addr,
|
||||
resource_size_t *db_size)
|
||||
resource_size_t *db_size,
|
||||
u64 *db_data, int db_bit)
|
||||
{
|
||||
if (!ntb->ops->peer_db_addr)
|
||||
return -EINVAL;
|
||||
|
||||
return ntb->ops->peer_db_addr(ntb, db_addr, db_size);
|
||||
return ntb->ops->peer_db_addr(ntb, db_addr, db_size, db_data, db_bit);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -248,9 +248,13 @@ struct ntb_ctrl_regs {
|
||||
u32 win_size;
|
||||
u64 xlate_addr;
|
||||
} bar_entry[6];
|
||||
u32 reserved2[216];
|
||||
u32 req_id_table[256];
|
||||
u32 reserved3[512];
|
||||
struct {
|
||||
u32 win_size;
|
||||
u32 reserved[3];
|
||||
} bar_ext_entry[6];
|
||||
u32 reserved2[192];
|
||||
u32 req_id_table[512];
|
||||
u32 reserved3[256];
|
||||
u64 lut_entry[512];
|
||||
} __packed;
|
||||
|
||||
|
Reference in New Issue
Block a user