libsel4utils: Update overview of the IRQ server

Since some of the functionality has changed, we update parts of the
overview documentation to reflect this.
diff --git a/libsel4utils/include/sel4utils/irq_server.h b/libsel4utils/include/sel4utils/irq_server.h
index d56a16f..d4a9480 100644
--- a/libsel4utils/include/sel4utils/irq_server.h
+++ b/libsel4utils/include/sel4utils/irq_server.h
@@ -11,41 +11,34 @@
  */
 
 /**
- * The IRQ server helps to manage the IRQs in a system. There are 3 API levels
- * in the design
- *   1. [irq server node]   The IRQ server node is a set of IRQs and their
- *                          associated handlers. It is a passive system, hence,
- *                          the application is responsible for waiting on the
- *                          appropriate notification endpoint for events.
- *                          The AEP binding feature of the seL4 kernel may be used
- *                          here to listen to both synchronous IPC and IRQ
- *                          notification events.
- *   2. [irq server thread] An IRQ server node is a standalone thread which waits
+ * The IRQ server helps to manage the IRQs in a system. There are 2 API levels
+ * in the design:
+ *   1. [irq server thread] An IRQ server node is a standalone thread which waits
  *                          for the arrival of any IRQ that is being managed by a
  *                          particular irq server node. When an IRQ is received,
  *                          the irq server thread will either forward the irq
  *                          information to a registered synchronous endpoint, or
  *                          call the appropriate handler function directly.
- *   3. [irq server]        A dynamic collection of server threads. When
+ *   2. [irq server]        A dynamic collection of server threads. When
  *                          registering an IRQ call back function, the irq server
  *                          will attempt to deligate the IRQ to an irq server node
  *                          that has not yet reached capacity. If no node can accept
- *                          the IRQ, a new irq server thread will be created to
- *                          support the additional demand.
+ *                          the IRQ, it will alert the user that a new irq server
+ *                          thread needs to be created to support the additional demand.
  *
  * ++ Special notes ++
  *
  * Performance
- *   The application can achieve greater performance by configuring the irq server,
- *   or irq server threads, to call the IRQ handler functions directly. In this
- *   case, the application must take care to ensure that all concurrency issues are
- *   addressed.
+ *   The application can achieve greater performance by configuring the irq
+ *   server, or irq server threads, to call the IRQ handler functions directly.
+ *   This is done by not providing an endpoint in the creation of an irq server
+ *   interface. The application must take care to ensure that all concurrency
+ *   issues are addressed.
  *
  * Resource availability
  *   The irq server API family accept resource allocators as arguments to some
- *   function calls. In a dynamic system design, these resource allocators
- *   must be kept available indefinitely, or until the system reaches a known
- *   steady state.
+ *   function calls. These resource allocators
+ *   must be kept available indefinitely.
  */
 
 #pragma once