Public bug reported: This adds an afu_driver_ops structure with deliver_event callback. An AFU driver such as cxlflash can fill this out and associate it with a context to enable passing custom AFU specific events to userspace.
This also adds a new kernel API function cxl_context_pending_events(), that the AFU driver can use to notify the cxl driver that new specific events are ready to be delivered, and wake up anyone waiting on the context wait queue. The current count of AFU driver specific events is stored in the field afu_driver_events of the context structure. The cxl driver will check the afu_driver_events count during poll, select, read, etc. calls to check if an AFU driver specific event is pending, and will call deliver_event() to deliver that event. This way, the cxl driver takes care of all the usual locking semantics around these calls and handles all the generic cxl events, so that the AFU driver only needs to worry about it's own events. This is a kernel feature for Ubuntu 16.10 ** Affects: linux (Ubuntu) Importance: Undecided Assignee: Taco Screen team (taco-screen-team) Status: New ** Tags: architecture-ppc64le bugnameltc-133692 severity-medium targetmilestone-inin1610 ** Tags added: architecture-ppc64le bugnameltc-133692 severity-medium targetmilestone-inin1610 ** Changed in: ubuntu Assignee: (unassigned) => Taco Screen team (taco-screen-team) ** Package changed: ubuntu => linux (Ubuntu) -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1592443 Title: [Ubuntu 16.10] CAPI flash (cxlflash) driver and CXL kernel services to support driver event notification Status in linux package in Ubuntu: New Bug description: This adds an afu_driver_ops structure with deliver_event callback. An AFU driver such as cxlflash can fill this out and associate it with a context to enable passing custom AFU specific events to userspace. This also adds a new kernel API function cxl_context_pending_events(), that the AFU driver can use to notify the cxl driver that new specific events are ready to be delivered, and wake up anyone waiting on the context wait queue. The current count of AFU driver specific events is stored in the field afu_driver_events of the context structure. The cxl driver will check the afu_driver_events count during poll, select, read, etc. calls to check if an AFU driver specific event is pending, and will call deliver_event() to deliver that event. This way, the cxl driver takes care of all the usual locking semantics around these calls and handles all the generic cxl events, so that the AFU driver only needs to worry about it's own events. This is a kernel feature for Ubuntu 16.10 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1592443/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp