|
@@ -534,6 +534,19 @@ static inline bool dbg_perio(void) { return false; }
|
|
|
/* Packet size for any kind of endpoint descriptor */
|
|
|
#define dwc2_max_packet(wmaxpacketsize) ((wmaxpacketsize) & 0x07ff)
|
|
|
|
|
|
+/*
|
|
|
+ * Returns true if frame1 index is greater than frame2 index. The comparison
|
|
|
+ * is done modulo FRLISTEN_64_SIZE. This accounts for the rollover of the
|
|
|
+ * frame number when the max index frame number is reached.
|
|
|
+ */
|
|
|
+static inline bool dwc2_frame_idx_num_gt(u16 fr_idx1, u16 fr_idx2)
|
|
|
+{
|
|
|
+ u16 diff = fr_idx1 - fr_idx2;
|
|
|
+ u16 sign = diff & (FRLISTEN_64_SIZE >> 1);
|
|
|
+
|
|
|
+ return diff && !sign;
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* Returns true if frame1 is less than or equal to frame2. The comparison is
|
|
|
* done modulo HFNUM_MAX_FRNUM. This accounts for the rollover of the
|