Android: MMC/UFS IO Latency Histograms.
[firefly-linux-kernel-4.4.55.git] / include / linux / hyperv.h
index 8fdc17b84739bdeb31a618e388a9d2238c6490f6..ae6a711dcd1ddc446413621a0a63959469110ac2 100644 (file)
@@ -630,6 +630,11 @@ struct hv_input_signal_event_buffer {
        struct hv_input_signal_event event;
 };
 
+enum hv_signal_policy {
+       HV_SIGNAL_POLICY_DEFAULT = 0,
+       HV_SIGNAL_POLICY_EXPLICIT,
+};
+
 struct vmbus_channel {
        /* Unique channel id */
        int id;
@@ -757,8 +762,21 @@ struct vmbus_channel {
         * link up channels based on their CPU affinity.
         */
        struct list_head percpu_list;
+       /*
+        * Host signaling policy: The default policy will be
+        * based on the ring buffer state. We will also support
+        * a policy where the client driver can have explicit
+        * signaling control.
+        */
+       enum hv_signal_policy  signal_policy;
 };
 
+static inline void set_channel_signal_state(struct vmbus_channel *c,
+                                           enum hv_signal_policy policy)
+{
+       c->signal_policy = policy;
+}
+
 static inline void set_channel_read_state(struct vmbus_channel *c, bool state)
 {
        c->batched_reading = state;