Lines Matching refs:ntb

174 	int (*probe)(struct ntb_client *client, struct ntb_dev *ntb);
175 void (*remove)(struct ntb_client *client, struct ntb_dev *ntb);
261 int (*port_number)(struct ntb_dev *ntb);
262 int (*peer_port_count)(struct ntb_dev *ntb);
263 int (*peer_port_number)(struct ntb_dev *ntb, int pidx);
264 int (*peer_port_idx)(struct ntb_dev *ntb, int port);
266 u64 (*link_is_up)(struct ntb_dev *ntb,
268 int (*link_enable)(struct ntb_dev *ntb,
270 int (*link_disable)(struct ntb_dev *ntb);
272 int (*mw_count)(struct ntb_dev *ntb, int pidx);
273 int (*mw_get_align)(struct ntb_dev *ntb, int pidx, int widx,
277 int (*mw_set_trans)(struct ntb_dev *ntb, int pidx, int widx,
279 int (*mw_clear_trans)(struct ntb_dev *ntb, int pidx, int widx);
280 int (*peer_mw_count)(struct ntb_dev *ntb);
281 int (*peer_mw_get_addr)(struct ntb_dev *ntb, int widx,
283 int (*peer_mw_set_trans)(struct ntb_dev *ntb, int pidx, int widx,
285 int (*peer_mw_clear_trans)(struct ntb_dev *ntb, int pidx, int widx);
287 int (*db_is_unsafe)(struct ntb_dev *ntb);
288 u64 (*db_valid_mask)(struct ntb_dev *ntb);
289 int (*db_vector_count)(struct ntb_dev *ntb);
290 u64 (*db_vector_mask)(struct ntb_dev *ntb, int db_vector);
292 u64 (*db_read)(struct ntb_dev *ntb);
293 int (*db_set)(struct ntb_dev *ntb, u64 db_bits);
294 int (*db_clear)(struct ntb_dev *ntb, u64 db_bits);
296 u64 (*db_read_mask)(struct ntb_dev *ntb);
297 int (*db_set_mask)(struct ntb_dev *ntb, u64 db_bits);
298 int (*db_clear_mask)(struct ntb_dev *ntb, u64 db_bits);
300 int (*peer_db_addr)(struct ntb_dev *ntb,
303 u64 (*peer_db_read)(struct ntb_dev *ntb);
304 int (*peer_db_set)(struct ntb_dev *ntb, u64 db_bits);
305 int (*peer_db_clear)(struct ntb_dev *ntb, u64 db_bits);
307 u64 (*peer_db_read_mask)(struct ntb_dev *ntb);
308 int (*peer_db_set_mask)(struct ntb_dev *ntb, u64 db_bits);
309 int (*peer_db_clear_mask)(struct ntb_dev *ntb, u64 db_bits);
311 int (*spad_is_unsafe)(struct ntb_dev *ntb);
312 int (*spad_count)(struct ntb_dev *ntb);
314 u32 (*spad_read)(struct ntb_dev *ntb, int sidx);
315 int (*spad_write)(struct ntb_dev *ntb, int sidx, u32 val);
317 int (*peer_spad_addr)(struct ntb_dev *ntb, int pidx, int sidx,
319 u32 (*peer_spad_read)(struct ntb_dev *ntb, int pidx, int sidx);
320 int (*peer_spad_write)(struct ntb_dev *ntb, int pidx, int sidx,
323 int (*msg_count)(struct ntb_dev *ntb);
324 u64 (*msg_inbits)(struct ntb_dev *ntb);
325 u64 (*msg_outbits)(struct ntb_dev *ntb);
326 u64 (*msg_read_sts)(struct ntb_dev *ntb);
327 int (*msg_clear_sts)(struct ntb_dev *ntb, u64 sts_bits);
328 int (*msg_set_mask)(struct ntb_dev *ntb, u64 mask_bits);
329 int (*msg_clear_mask)(struct ntb_dev *ntb, u64 mask_bits);
330 u32 (*msg_read)(struct ntb_dev *ntb, int *pidx, int midx);
331 int (*peer_msg_write)(struct ntb_dev *ntb, int pidx, int midx, u32 msg);
478 int ntb_register_device(struct ntb_dev *ntb);
488 void ntb_unregister_device(struct ntb_dev *ntb);
502 int ntb_set_ctx(struct ntb_dev *ntb, void *ctx,
512 void ntb_clear_ctx(struct ntb_dev *ntb);
521 void ntb_link_event(struct ntb_dev *ntb);
536 void ntb_db_event(struct ntb_dev *ntb, int vector);
548 void ntb_msg_event(struct ntb_dev *ntb);
563 int ntb_default_port_number(struct ntb_dev *ntb);
576 int ntb_default_peer_port_count(struct ntb_dev *ntb);
591 int ntb_default_peer_port_number(struct ntb_dev *ntb, int pidx);
608 int ntb_default_peer_port_idx(struct ntb_dev *ntb, int port);
618 static inline int ntb_port_number(struct ntb_dev *ntb) in ntb_port_number() argument
620 if (!ntb->ops->port_number) in ntb_port_number()
621 return ntb_default_port_number(ntb); in ntb_port_number()
623 return ntb->ops->port_number(ntb); in ntb_port_number()
635 static inline int ntb_peer_port_count(struct ntb_dev *ntb) in ntb_peer_port_count() argument
637 if (!ntb->ops->peer_port_count) in ntb_peer_port_count()
638 return ntb_default_peer_port_count(ntb); in ntb_peer_port_count()
640 return ntb->ops->peer_port_count(ntb); in ntb_peer_port_count()
653 static inline int ntb_peer_port_number(struct ntb_dev *ntb, int pidx) in ntb_peer_port_number() argument
655 if (!ntb->ops->peer_port_number) in ntb_peer_port_number()
656 return ntb_default_peer_port_number(ntb, pidx); in ntb_peer_port_number()
658 return ntb->ops->peer_port_number(ntb, pidx); in ntb_peer_port_number()
675 static inline int ntb_logical_port_number(struct ntb_dev *ntb) in ntb_logical_port_number() argument
677 int lport = ntb_port_number(ntb); in ntb_logical_port_number()
683 for (pidx = 0; pidx < ntb_peer_port_count(ntb); pidx++) in ntb_logical_port_number()
684 if (lport <= ntb_peer_port_number(ntb, pidx)) in ntb_logical_port_number()
705 static inline int ntb_peer_logical_port_number(struct ntb_dev *ntb, int pidx) in ntb_peer_logical_port_number() argument
707 if (ntb_peer_port_number(ntb, pidx) < ntb_port_number(ntb)) in ntb_peer_logical_port_number()
723 static inline int ntb_peer_port_idx(struct ntb_dev *ntb, int port) in ntb_peer_port_idx() argument
725 if (!ntb->ops->peer_port_idx) in ntb_peer_port_idx()
726 return ntb_default_peer_port_idx(ntb, port); in ntb_peer_port_idx()
728 return ntb->ops->peer_port_idx(ntb, port); in ntb_peer_port_idx()
744 static inline u64 ntb_link_is_up(struct ntb_dev *ntb, in ntb_link_is_up() argument
747 return ntb->ops->link_is_up(ntb, speed, width); in ntb_link_is_up()
764 static inline int ntb_link_enable(struct ntb_dev *ntb, in ntb_link_enable() argument
768 return ntb->ops->link_enable(ntb, max_speed, max_width); in ntb_link_enable()
783 static inline int ntb_link_disable(struct ntb_dev *ntb) in ntb_link_disable() argument
785 return ntb->ops->link_disable(ntb); in ntb_link_disable()
802 static inline int ntb_mw_count(struct ntb_dev *ntb, int pidx) in ntb_mw_count() argument
804 return ntb->ops->mw_count(ntb, pidx); in ntb_mw_count()
823 static inline int ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int widx, in ntb_mw_get_align() argument
828 if (!(ntb_link_is_up(ntb, NULL, NULL) & BIT_ULL(pidx))) in ntb_mw_get_align()
831 return ntb->ops->mw_get_align(ntb, pidx, widx, addr_align, size_align, in ntb_mw_get_align()
854 static inline int ntb_mw_set_trans(struct ntb_dev *ntb, int pidx, int widx, in ntb_mw_set_trans() argument
857 if (!ntb->ops->mw_set_trans) in ntb_mw_set_trans()
860 return ntb->ops->mw_set_trans(ntb, pidx, widx, addr, size); in ntb_mw_set_trans()
875 static inline int ntb_mw_clear_trans(struct ntb_dev *ntb, int pidx, int widx) in ntb_mw_clear_trans() argument
877 if (!ntb->ops->mw_clear_trans) in ntb_mw_clear_trans()
878 return ntb_mw_set_trans(ntb, pidx, widx, 0, 0); in ntb_mw_clear_trans()
880 return ntb->ops->mw_clear_trans(ntb, pidx, widx); in ntb_mw_clear_trans()
894 static inline int ntb_peer_mw_count(struct ntb_dev *ntb) in ntb_peer_mw_count() argument
896 return ntb->ops->peer_mw_count(ntb); in ntb_peer_mw_count()
912 static inline int ntb_peer_mw_get_addr(struct ntb_dev *ntb, int widx, in ntb_peer_mw_get_addr() argument
915 return ntb->ops->peer_mw_get_addr(ntb, widx, base, size); in ntb_peer_mw_get_addr()
936 static inline int ntb_peer_mw_set_trans(struct ntb_dev *ntb, int pidx, int widx, in ntb_peer_mw_set_trans() argument
939 if (!ntb->ops->peer_mw_set_trans) in ntb_peer_mw_set_trans()
942 return ntb->ops->peer_mw_set_trans(ntb, pidx, widx, addr, size); in ntb_peer_mw_set_trans()
960 static inline int ntb_peer_mw_clear_trans(struct ntb_dev *ntb, int pidx, in ntb_peer_mw_clear_trans() argument
963 if (!ntb->ops->peer_mw_clear_trans) in ntb_peer_mw_clear_trans()
964 return ntb_peer_mw_set_trans(ntb, pidx, widx, 0, 0); in ntb_peer_mw_clear_trans()
966 return ntb->ops->peer_mw_clear_trans(ntb, pidx, widx); in ntb_peer_mw_clear_trans()
979 static inline int ntb_db_is_unsafe(struct ntb_dev *ntb) in ntb_db_is_unsafe() argument
981 if (!ntb->ops->db_is_unsafe) in ntb_db_is_unsafe()
984 return ntb->ops->db_is_unsafe(ntb); in ntb_db_is_unsafe()
995 static inline u64 ntb_db_valid_mask(struct ntb_dev *ntb) in ntb_db_valid_mask() argument
997 return ntb->ops->db_valid_mask(ntb); in ntb_db_valid_mask()
1008 static inline int ntb_db_vector_count(struct ntb_dev *ntb) in ntb_db_vector_count() argument
1010 if (!ntb->ops->db_vector_count) in ntb_db_vector_count()
1013 return ntb->ops->db_vector_count(ntb); in ntb_db_vector_count()
1025 static inline u64 ntb_db_vector_mask(struct ntb_dev *ntb, int vector) in ntb_db_vector_mask() argument
1027 if (!ntb->ops->db_vector_mask) in ntb_db_vector_mask()
1028 return ntb_db_valid_mask(ntb); in ntb_db_vector_mask()
1030 return ntb->ops->db_vector_mask(ntb, vector); in ntb_db_vector_mask()
1041 static inline u64 ntb_db_read(struct ntb_dev *ntb) in ntb_db_read() argument
1043 return ntb->ops->db_read(ntb); in ntb_db_read()
1058 static inline int ntb_db_set(struct ntb_dev *ntb, u64 db_bits) in ntb_db_set() argument
1060 if (!ntb->ops->db_set) in ntb_db_set()
1063 return ntb->ops->db_set(ntb, db_bits); in ntb_db_set()
1076 static inline int ntb_db_clear(struct ntb_dev *ntb, u64 db_bits) in ntb_db_clear() argument
1078 return ntb->ops->db_clear(ntb, db_bits); in ntb_db_clear()
1091 static inline u64 ntb_db_read_mask(struct ntb_dev *ntb) in ntb_db_read_mask() argument
1093 if (!ntb->ops->db_read_mask) in ntb_db_read_mask()
1096 return ntb->ops->db_read_mask(ntb); in ntb_db_read_mask()
1110 static inline int ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits) in ntb_db_set_mask() argument
1112 return ntb->ops->db_set_mask(ntb, db_bits); in ntb_db_set_mask()
1129 static inline int ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits) in ntb_db_clear_mask() argument
1131 return ntb->ops->db_clear_mask(ntb, db_bits); in ntb_db_clear_mask()
1152 static inline int ntb_peer_db_addr(struct ntb_dev *ntb, in ntb_peer_db_addr() argument
1157 if (!ntb->ops->peer_db_addr) in ntb_peer_db_addr()
1160 return ntb->ops->peer_db_addr(ntb, db_addr, db_size, db_data, db_bit); in ntb_peer_db_addr()
1173 static inline u64 ntb_peer_db_read(struct ntb_dev *ntb) in ntb_peer_db_read() argument
1175 if (!ntb->ops->peer_db_read) in ntb_peer_db_read()
1178 return ntb->ops->peer_db_read(ntb); in ntb_peer_db_read()
1191 static inline int ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits) in ntb_peer_db_set() argument
1193 return ntb->ops->peer_db_set(ntb, db_bits); in ntb_peer_db_set()
1208 static inline int ntb_peer_db_clear(struct ntb_dev *ntb, u64 db_bits) in ntb_peer_db_clear() argument
1210 if (!ntb->ops->db_clear) in ntb_peer_db_clear()
1213 return ntb->ops->peer_db_clear(ntb, db_bits); in ntb_peer_db_clear()
1226 static inline u64 ntb_peer_db_read_mask(struct ntb_dev *ntb) in ntb_peer_db_read_mask() argument
1228 if (!ntb->ops->db_read_mask) in ntb_peer_db_read_mask()
1231 return ntb->ops->peer_db_read_mask(ntb); in ntb_peer_db_read_mask()
1247 static inline int ntb_peer_db_set_mask(struct ntb_dev *ntb, u64 db_bits) in ntb_peer_db_set_mask() argument
1249 if (!ntb->ops->db_set_mask) in ntb_peer_db_set_mask()
1252 return ntb->ops->peer_db_set_mask(ntb, db_bits); in ntb_peer_db_set_mask()
1269 static inline int ntb_peer_db_clear_mask(struct ntb_dev *ntb, u64 db_bits) in ntb_peer_db_clear_mask() argument
1271 if (!ntb->ops->db_clear_mask) in ntb_peer_db_clear_mask()
1274 return ntb->ops->peer_db_clear_mask(ntb, db_bits); in ntb_peer_db_clear_mask()
1287 static inline int ntb_spad_is_unsafe(struct ntb_dev *ntb) in ntb_spad_is_unsafe() argument
1289 if (!ntb->ops->spad_is_unsafe) in ntb_spad_is_unsafe()
1292 return ntb->ops->spad_is_unsafe(ntb); in ntb_spad_is_unsafe()
1304 static inline int ntb_spad_count(struct ntb_dev *ntb) in ntb_spad_count() argument
1306 if (!ntb->ops->spad_count) in ntb_spad_count()
1309 return ntb->ops->spad_count(ntb); in ntb_spad_count()
1321 static inline u32 ntb_spad_read(struct ntb_dev *ntb, int sidx) in ntb_spad_read() argument
1323 if (!ntb->ops->spad_read) in ntb_spad_read()
1326 return ntb->ops->spad_read(ntb, sidx); in ntb_spad_read()
1339 static inline int ntb_spad_write(struct ntb_dev *ntb, int sidx, u32 val) in ntb_spad_write() argument
1341 if (!ntb->ops->spad_write) in ntb_spad_write()
1344 return ntb->ops->spad_write(ntb, sidx, val); in ntb_spad_write()
1359 static inline int ntb_peer_spad_addr(struct ntb_dev *ntb, int pidx, int sidx, in ntb_peer_spad_addr() argument
1362 if (!ntb->ops->peer_spad_addr) in ntb_peer_spad_addr()
1365 return ntb->ops->peer_spad_addr(ntb, pidx, sidx, spad_addr); in ntb_peer_spad_addr()
1378 static inline u32 ntb_peer_spad_read(struct ntb_dev *ntb, int pidx, int sidx) in ntb_peer_spad_read() argument
1380 if (!ntb->ops->peer_spad_read) in ntb_peer_spad_read()
1383 return ntb->ops->peer_spad_read(ntb, pidx, sidx); in ntb_peer_spad_read()
1397 static inline int ntb_peer_spad_write(struct ntb_dev *ntb, int pidx, int sidx, in ntb_peer_spad_write() argument
1400 if (!ntb->ops->peer_spad_write) in ntb_peer_spad_write()
1403 return ntb->ops->peer_spad_write(ntb, pidx, sidx, val); in ntb_peer_spad_write()
1414 static inline int ntb_msg_count(struct ntb_dev *ntb) in ntb_msg_count() argument
1416 if (!ntb->ops->msg_count) in ntb_msg_count()
1419 return ntb->ops->msg_count(ntb); in ntb_msg_count()
1431 static inline u64 ntb_msg_inbits(struct ntb_dev *ntb) in ntb_msg_inbits() argument
1433 if (!ntb->ops->msg_inbits) in ntb_msg_inbits()
1436 return ntb->ops->msg_inbits(ntb); in ntb_msg_inbits()
1448 static inline u64 ntb_msg_outbits(struct ntb_dev *ntb) in ntb_msg_outbits() argument
1450 if (!ntb->ops->msg_outbits) in ntb_msg_outbits()
1453 return ntb->ops->msg_outbits(ntb); in ntb_msg_outbits()
1466 static inline u64 ntb_msg_read_sts(struct ntb_dev *ntb) in ntb_msg_read_sts() argument
1468 if (!ntb->ops->msg_read_sts) in ntb_msg_read_sts()
1471 return ntb->ops->msg_read_sts(ntb); in ntb_msg_read_sts()
1483 static inline int ntb_msg_clear_sts(struct ntb_dev *ntb, u64 sts_bits) in ntb_msg_clear_sts() argument
1485 if (!ntb->ops->msg_clear_sts) in ntb_msg_clear_sts()
1488 return ntb->ops->msg_clear_sts(ntb, sts_bits); in ntb_msg_clear_sts()
1500 static inline int ntb_msg_set_mask(struct ntb_dev *ntb, u64 mask_bits) in ntb_msg_set_mask() argument
1502 if (!ntb->ops->msg_set_mask) in ntb_msg_set_mask()
1505 return ntb->ops->msg_set_mask(ntb, mask_bits); in ntb_msg_set_mask()
1517 static inline int ntb_msg_clear_mask(struct ntb_dev *ntb, u64 mask_bits) in ntb_msg_clear_mask() argument
1519 if (!ntb->ops->msg_clear_mask) in ntb_msg_clear_mask()
1522 return ntb->ops->msg_clear_mask(ntb, mask_bits); in ntb_msg_clear_mask()
1536 static inline u32 ntb_msg_read(struct ntb_dev *ntb, int *pidx, int midx) in ntb_msg_read() argument
1538 if (!ntb->ops->msg_read) in ntb_msg_read()
1541 return ntb->ops->msg_read(ntb, pidx, midx); in ntb_msg_read()
1557 static inline int ntb_peer_msg_write(struct ntb_dev *ntb, int pidx, int midx, in ntb_peer_msg_write() argument
1560 if (!ntb->ops->peer_msg_write) in ntb_peer_msg_write()
1563 return ntb->ops->peer_msg_write(ntb, pidx, midx, msg); in ntb_peer_msg_write()
1597 static inline int ntb_peer_resource_idx(struct ntb_dev *ntb, int pidx) in ntb_peer_resource_idx() argument
1601 if (pidx >= ntb_peer_port_count(ntb)) in ntb_peer_resource_idx()
1604 local_port = ntb_logical_port_number(ntb); in ntb_peer_resource_idx()
1605 peer_port = ntb_peer_logical_port_number(ntb, pidx); in ntb_peer_resource_idx()
1625 static inline int ntb_peer_highest_mw_idx(struct ntb_dev *ntb, int pidx) in ntb_peer_highest_mw_idx() argument
1629 ret = ntb_peer_resource_idx(ntb, pidx); in ntb_peer_highest_mw_idx()
1633 return ntb_mw_count(ntb, pidx) - ret - 1; in ntb_peer_highest_mw_idx()
1643 int ntb_msi_init(struct ntb_dev *ntb, void (*desc_changed)(void *ctx));
1644 int ntb_msi_setup_mws(struct ntb_dev *ntb);
1645 void ntb_msi_clear_mws(struct ntb_dev *ntb);
1646 int ntbm_msi_request_threaded_irq(struct ntb_dev *ntb, irq_handler_t handler,
1650 void ntbm_msi_free_irq(struct ntb_dev *ntb, unsigned int irq, void *dev_id);
1651 int ntb_msi_peer_trigger(struct ntb_dev *ntb, int peer,
1653 int ntb_msi_peer_addr(struct ntb_dev *ntb, int peer,
1659 static inline int ntb_msi_init(struct ntb_dev *ntb, in ntb_msi_init() argument
1664 static inline int ntb_msi_setup_mws(struct ntb_dev *ntb) in ntb_msi_setup_mws() argument
1668 static inline void ntb_msi_clear_mws(struct ntb_dev *ntb) {} in ntb_msi_clear_mws() argument
1669 static inline int ntbm_msi_request_threaded_irq(struct ntb_dev *ntb, in ntbm_msi_request_threaded_irq() argument
1677 static inline void ntbm_msi_free_irq(struct ntb_dev *ntb, unsigned int irq, in ntbm_msi_free_irq() argument
1679 static inline int ntb_msi_peer_trigger(struct ntb_dev *ntb, int peer, in ntb_msi_peer_trigger() argument
1684 static inline int ntb_msi_peer_addr(struct ntb_dev *ntb, int peer, in ntb_msi_peer_addr() argument
1694 static inline int ntbm_msi_request_irq(struct ntb_dev *ntb, in ntbm_msi_request_irq() argument
1699 return ntbm_msi_request_threaded_irq(ntb, handler, NULL, name, in ntbm_msi_request_irq()