remarkable-linux/drivers/ntb
Serge Semin bc3e49adc2 NTB: Add Messaging NTB API
Some IDT NTB-capable PCIe-switches have message registers to communicate with
peer devices. This patch adds new NTB API callback methods, which can be used
to utilize these registers functionality:
 ntb_msg_count(); - get number of message registers
 ntb_msg_inbits(); - get bitfield of inbound message registers status
 ntb_msg_outbits(); - get bitfield of outbound message registers status
 ntb_msg_read_sts(); - read the inbound and outbound message registers status
 ntb_msg_clear_sts(); - clear status bits of message registers
 ntb_msg_set_mask(); - mask interrupts raised by status bits of message
registers.
 ntb_msg_clear_mask(); - clear interrupts mask bits of message registers
 ntb_msg_read(midx, *pidx); - read message register with specified index,
additionally getting peer port index which data received from
 ntb_msg_write(midx, pidx); - write data to the specified message register
sending it to the passed peer device connected over a pidx port
 ntb_msg_event(); - notify driver context of a new message event

Of course there is hardware which doesn't support Message registers, so
this API is made optional.

Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
2017-07-06 11:30:07 -04:00
..
hw NTB: Alter Scratchpads API to support multi-ports devices 2017-07-06 11:30:07 -04:00
test NTB: Alter Scratchpads API to support multi-ports devices 2017-07-06 11:30:07 -04:00
Kconfig NTB: Add ping pong test client 2015-07-04 14:07:42 -04:00
Makefile NTB: Add ping pong test client 2015-07-04 14:07:42 -04:00
ntb.c NTB: Add Messaging NTB API 2017-07-06 11:30:07 -04:00
ntb_transport.c NTB: Alter Scratchpads API to support multi-ports devices 2017-07-06 11:30:07 -04:00