[RAMEN9610-20413][9610] wlbt: SCSC Driver version 10.6.1.0
[GitHub/MotorolaMobilityLLC/kernel-slsi.git] / drivers / misc / samsung / scsc / mifqos.h
1 /****************************************************************************
2 *
3 * Copyright (c) 2014 - 2018 Samsung Electronics Co., Ltd. All rights reserved
4 *
5 ****************************************************************************/
6 #ifndef __MIFQOS_H
7 #define __MIFQOS_H
8
9 #include <linux/mutex.h>
10 #include <scsc/scsc_mx.h>
11
12 struct scsc_mif_abs;
13 struct mifqos;
14
15 int mifqos_init(struct mifqos *qos, struct scsc_mif_abs *mif);
16 int mifqos_add_request(struct mifqos *qos, enum scsc_service_id id, enum scsc_qos_config config);
17 int mifqos_update_request(struct mifqos *qos, enum scsc_service_id id, enum scsc_qos_config config);
18 int mifqos_remove_request(struct mifqos *qos, enum scsc_service_id id);
19 int mifqos_list(struct mifqos *qos);
20 int mifqos_deinit(struct mifqos *qos);
21
22 struct scsc_mifqos_request;
23
24 struct mifqos {
25 bool qos_in_use[SCSC_SERVICE_TOTAL];
26 struct mutex lock;
27 struct scsc_mif_abs *mif;
28 struct scsc_mifqos_request qos_req[SCSC_SERVICE_TOTAL];
29 };
30 #endif