nouveau_util.c revision d7facf9dc50acff69de9688088caa78b3cf69ebb
1d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs/*
2d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * Copyright (C) 2010 Nouveau Project
3d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs *
4d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * All Rights Reserved.
5d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs *
6d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * Permission is hereby granted, free of charge, to any person obtaining
7d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * a copy of this software and associated documentation files (the
8d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * "Software"), to deal in the Software without restriction, including
9d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * without limitation the rights to use, copy, modify, merge, publish,
10d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * distribute, sublicense, and/or sell copies of the Software, and to
11d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * permit persons to whom the Software is furnished to do so, subject to
12d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * the following conditions:
13d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs *
14d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * The above copyright notice and this permission notice (including the
15d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * next paragraph) shall be included in all copies or substantial
16d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * portions of the Software.
17d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs *
18d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
22d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs *
26d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs */
27d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs
28d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs#include <linux/ratelimit.h>
29d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs
30d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggsstatic DEFINE_RATELIMIT_STATE(nouveau_ratelimit_state, 3 * HZ, 20);
31d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs
32d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggsint
33d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggsnouveau_ratelimit(void)
34d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs{
35d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs	return __ratelimit(&nouveau_ratelimit_state);
36d7facf9dc50acff69de9688088caa78b3cf69ebbBen Skeggs}
37