CVSROOT: /cvs Module name: src Changes by: chel...@cvs.openbsd.org 2024/02/24 08:21:39
Modified files: sys/dev/ic : qwx.c qwxvar.h Log message: qwx(4): qwx_dp_rx_tid_del_func: fix dp_reo_cache_flush_elem expiration logic Tweak a few things in qwx_dp_rx_tid_del_func() to make it behave correctly on OpenBSD: - struct dp_reo_cache_flush_elem: make ts a 64-bit count of nanoseconds Linux uses jiffies to timestamp dp_reo_cache_flush_elem. Although OpenBSD has a global jiffies variable, we shouldn't use it outside of drm(4). I would rather not use our global ticks variable, either. We can use getnsecuptime(9), a low-res 64-bit nanosecond timestamp, as a substitute. - qwx_dp_rx_tid_del_func: replace gettime(9) with getnsecuptime(9) - qwx_dp_rx_tid_del_func: convert DP_REO_DESC_FREE_TIMEOUT_MS to nanoseconds - qwx_dp_rx_tid_del_func: reverse timestamp comparison operator This comparison is backwards. Linux uses the time_after() macro to test whether a given entry has expired, so our ported code needs to test whether the current uptime is greater than or equal to a given entry's expiration time. Joint effort with stsp@. Tested by stsp@. ok stsp@