2017-08-29 14:23:31 +08:00
|
|
|
/*
|
|
|
|
* Copyright 2016-17 IBM Corp.
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version
|
|
|
|
* 2 of the License, or (at your option) any later version.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _ASM_POWERPC_VAS_H
|
|
|
|
#define _ASM_POWERPC_VAS_H
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Min and max FIFO sizes are based on Version 1.05 Section 3.1.4.25
|
|
|
|
* (Local FIFO Size Register) of the VAS workbook.
|
|
|
|
*/
|
|
|
|
#define VAS_RX_FIFO_SIZE_MIN (1 << 10) /* 1KB */
|
|
|
|
#define VAS_RX_FIFO_SIZE_MAX (8 << 20) /* 8MB */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Threshold Control Mode: Have paste operation fail if the number of
|
|
|
|
* requests in receive FIFO exceeds a threshold.
|
|
|
|
*
|
|
|
|
* NOTE: No special error code yet if paste is rejected because of these
|
|
|
|
* limits. So users can't distinguish between this and other errors.
|
|
|
|
*/
|
|
|
|
#define VAS_THRESH_DISABLED 0
|
|
|
|
#define VAS_THRESH_FIFO_GT_HALF_FULL 1
|
|
|
|
#define VAS_THRESH_FIFO_GT_QTR_FULL 2
|
|
|
|
#define VAS_THRESH_FIFO_GT_EIGHTH_FULL 3
|
|
|
|
|
2017-08-29 14:23:32 +08:00
|
|
|
/*
|
|
|
|
* Get/Set bit fields
|
|
|
|
*/
|
|
|
|
#define GET_FIELD(m, v) (((v) & (m)) >> MASK_LSH(m))
|
|
|
|
#define MASK_LSH(m) (__builtin_ffsl(m) - 1)
|
|
|
|
#define SET_FIELD(m, v, val) \
|
|
|
|
(((v) & ~(m)) | ((((typeof(v))(val)) << MASK_LSH(m)) & (m)))
|
|
|
|
|
2017-08-29 14:23:31 +08:00
|
|
|
/*
|
|
|
|
* Co-processor Engine type.
|
|
|
|
*/
|
|
|
|
enum vas_cop_type {
|
|
|
|
VAS_COP_TYPE_FAULT,
|
|
|
|
VAS_COP_TYPE_842,
|
|
|
|
VAS_COP_TYPE_842_HIPRI,
|
|
|
|
VAS_COP_TYPE_GZIP,
|
|
|
|
VAS_COP_TYPE_GZIP_HIPRI,
|
|
|
|
VAS_COP_TYPE_FTW,
|
|
|
|
VAS_COP_TYPE_MAX,
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* __ASM_POWERPC_VAS_H */
|