fpga: dfl: afu: add interrupt support for port error reporting
authorXu Yilun <yilun.xu@intel.com>
Tue, 16 Jun 2020 04:08:45 +0000 (12:08 +0800)
committerMoritz Fischer <mdf@kernel.org>
Tue, 7 Jul 2020 04:34:46 +0000 (21:34 -0700)
commitfe6a3d6521227e49857d0d6caabbdae3bd4aef89
treee3749f73f22fb11adad1810859fbcf83f4820dbe
parent322b598be4d9b9090cda560c4caab78704615ab4
fpga: dfl: afu: add interrupt support for port error reporting

Error reporting interrupt is very useful to notify users that some
errors are detected by the hardware. Once users are notified, they
could query hardware logged error states, no need to continuously
poll on these states.

This patch adds interrupt support for port error reporting sub feature.
It follows the common DFL interrupt notification and handling mechanism,
implements two ioctl commands below for user to query number of irqs
supported, and set/unset interrupt triggers.

 Ioctls:
 * DFL_FPGA_PORT_ERR_GET_IRQ_NUM
   get the number of irqs, which is used to determine whether/how many
   interrupts error reporting feature supports.

 * DFL_FPGA_PORT_ERR_SET_IRQ
   set/unset given eventfds as error interrupt triggers.

Signed-off-by: Luwei Kang <luwei.kang@intel.com>
Signed-off-by: Wu Hao <hao.wu@intel.com>
Signed-off-by: Xu Yilun <yilun.xu@intel.com>
Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com>
Acked-by: Wu Hao <hao.wu@intel.com>
Signed-off-by: Moritz Fischer <mdf@kernel.org>
drivers/fpga/dfl-afu-error.c
drivers/fpga/dfl-afu-main.c
include/uapi/linux/fpga-dfl.h