Merge tag '6.6-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6
[sfrench/cifs-2.6.git] / drivers / media / platform / qcom / venus / hfi_helper.h
index 0abbc50c586424d8bc381efb49fd03bdc8f83302..e4c05d62cfc7444401dd432eccf627c0b475dcd6 100644 (file)
@@ -1170,14 +1170,6 @@ struct hfi_buffer_display_hold_count_actual {
        u32 hold_count;
 };
 
-/* HFI 4XX reorder the fields, use these macros */
-#define HFI_BUFREQ_HOLD_COUNT(bufreq, ver)     \
-       ((ver) == HFI_VERSION_4XX ? 0 : (bufreq)->hold_count)
-#define HFI_BUFREQ_COUNT_MIN(bufreq, ver)      \
-       ((ver) == HFI_VERSION_4XX ? (bufreq)->hold_count : (bufreq)->count_min)
-#define HFI_BUFREQ_COUNT_MIN_HOST(bufreq, ver) \
-       ((ver) == HFI_VERSION_4XX ? (bufreq)->count_min : 0)
-
 struct hfi_buffer_requirements {
        u32 type;
        u32 size;
@@ -1189,6 +1181,59 @@ struct hfi_buffer_requirements {
        u32 alignment;
 };
 
+/* On HFI 4XX, some of the struct members have been swapped. */
+static inline u32 hfi_bufreq_get_hold_count(struct hfi_buffer_requirements *req,
+                                           u32 ver)
+{
+       if (ver == HFI_VERSION_4XX)
+               return 0;
+
+       return req->hold_count;
+};
+
+static inline u32 hfi_bufreq_get_count_min(struct hfi_buffer_requirements *req,
+                                          u32 ver)
+{
+       if (ver == HFI_VERSION_4XX)
+               return req->hold_count;
+
+       return req->count_min;
+};
+
+static inline u32 hfi_bufreq_get_count_min_host(struct hfi_buffer_requirements *req,
+                                               u32 ver)
+{
+       if (ver == HFI_VERSION_4XX)
+               return req->count_min;
+
+       return 0;
+};
+
+static inline void hfi_bufreq_set_hold_count(struct hfi_buffer_requirements *req,
+                                            u32 ver, u32 val)
+{
+       if (ver == HFI_VERSION_4XX)
+               return;
+
+       req->hold_count = val;
+};
+
+static inline void hfi_bufreq_set_count_min(struct hfi_buffer_requirements *req,
+                                           u32 ver, u32 val)
+{
+       if (ver == HFI_VERSION_4XX)
+               req->hold_count = val;
+
+       req->count_min = val;
+};
+
+static inline void hfi_bufreq_set_count_min_host(struct hfi_buffer_requirements *req,
+                                                u32 ver, u32 val)
+{
+       if (ver == HFI_VERSION_4XX)
+               req->count_min = val;
+};
+
 struct hfi_data_payload {
        u32 size;
        u8 data[1];