xref: /linux/block/blk-wbt.h (revision 0e685c3e7158d35626d6d76b9f859eae806d87fa)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef WB_THROTTLE_H
3 #define WB_THROTTLE_H
4 
5 #ifdef CONFIG_BLK_WBT
6 
7 int wbt_init(struct gendisk *disk);
8 void wbt_disable_default(struct gendisk *disk);
9 void wbt_enable_default(struct gendisk *disk);
10 
11 u64 wbt_get_min_lat(struct request_queue *q);
12 void wbt_set_min_lat(struct request_queue *q, u64 val);
13 bool wbt_disabled(struct request_queue *);
14 
15 void wbt_set_write_cache(struct request_queue *, bool);
16 
17 u64 wbt_default_latency_nsec(struct request_queue *);
18 
19 #else
20 
21 static inline int wbt_init(struct gendisk *disk)
22 {
23 	return -EINVAL;
24 }
25 static inline void wbt_disable_default(struct gendisk *disk)
26 {
27 }
28 static inline void wbt_enable_default(struct gendisk *disk)
29 {
30 }
31 static inline void wbt_set_write_cache(struct request_queue *q, bool wc)
32 {
33 }
34 static inline u64 wbt_get_min_lat(struct request_queue *q)
35 {
36 	return 0;
37 }
38 static inline void wbt_set_min_lat(struct request_queue *q, u64 val)
39 {
40 }
41 static inline u64 wbt_default_latency_nsec(struct request_queue *q)
42 {
43 	return 0;
44 }
45 static inline bool wbt_disabled(struct request_queue *q)
46 {
47 	return true;
48 }
49 
50 #endif /* CONFIG_BLK_WBT */
51 
52 #endif
53