|
@@ -115,6 +115,26 @@ struct iwl_dma_ptr {
|
|
size_t size;
|
|
size_t size;
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * iwl_queue_inc_wrap - increment queue index, wrap back to beginning
|
|
|
|
+ * @index -- current index
|
|
|
|
+ * @n_bd -- total number of entries in queue (must be power of 2)
|
|
|
|
+ */
|
|
|
|
+static inline int iwl_queue_inc_wrap(int index, int n_bd)
|
|
|
|
+{
|
|
|
|
+ return ++index & (n_bd - 1);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * iwl_queue_dec_wrap - decrement queue index, wrap back to end
|
|
|
|
+ * @index -- current index
|
|
|
|
+ * @n_bd -- total number of entries in queue (must be power of 2)
|
|
|
|
+ */
|
|
|
|
+static inline int iwl_queue_dec_wrap(int index, int n_bd)
|
|
|
|
+{
|
|
|
|
+ return --index & (n_bd - 1);
|
|
|
|
+}
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* This queue number is required for proper operation
|
|
* This queue number is required for proper operation
|
|
* because the ucode will stop/start the scheduler as
|
|
* because the ucode will stop/start the scheduler as
|