Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * mtu3_qmu.h - Queue Management Unit driver header
0004  *
0005  * Copyright (C) 2016 MediaTek Inc.
0006  *
0007  * Author: Chunfeng Yun <chunfeng.yun@mediatek.com>
0008  */
0009 
0010 #ifndef __MTK_QMU_H__
0011 #define __MTK_QMU_H__
0012 
0013 #define MAX_GPD_NUM     64
0014 #define QMU_GPD_SIZE        (sizeof(struct qmu_gpd))
0015 #define QMU_GPD_RING_SIZE   (MAX_GPD_NUM * QMU_GPD_SIZE)
0016 
0017 #define GPD_BUF_SIZE        65532
0018 #define GPD_BUF_SIZE_EL     1048572
0019 
0020 void mtu3_qmu_stop(struct mtu3_ep *mep);
0021 int mtu3_qmu_start(struct mtu3_ep *mep);
0022 void mtu3_qmu_resume(struct mtu3_ep *mep);
0023 void mtu3_qmu_flush(struct mtu3_ep *mep);
0024 
0025 void mtu3_insert_gpd(struct mtu3_ep *mep, struct mtu3_request *mreq);
0026 int mtu3_prepare_transfer(struct mtu3_ep *mep);
0027 
0028 int mtu3_gpd_ring_alloc(struct mtu3_ep *mep);
0029 void mtu3_gpd_ring_free(struct mtu3_ep *mep);
0030 
0031 irqreturn_t mtu3_qmu_isr(struct mtu3 *mtu);
0032 int mtu3_qmu_init(struct mtu3 *mtu);
0033 void mtu3_qmu_exit(struct mtu3 *mtu);
0034 
0035 #endif