summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorjason <jason.jin@freescale.com>2015-06-01 08:30:34 (GMT)
committerjason <jason.jin@freescale.com>2015-06-01 08:30:34 (GMT)
commit5217966a0624a33977766b5c5e91a0bc46d9cb36 (patch)
treee55aabe4f6e5284bd863349d8d540d427d495e94 /include
parent02d571e96d41e475ad809326a94a1b3beb3b104e (diff)
parent1b189c445fc54387c7a3bb94c61232d4f3846922 (diff)
downloadlinux-fsl-qoriq-5217966a0624a33977766b5c5e91a0bc46d9cb36.tar.xz
Merge branch 'qoriq-sdk' into LS1-SDK-Rev2.0
Diffstat (limited to 'include')
-rw-r--r--include/linux/fsl_qman.h90
-rw-r--r--include/linux/mtd/spi-nor.h2
-rw-r--r--include/uapi/linux/fmd/Peripherals/fm_ioctls.h2
3 files changed, 91 insertions, 3 deletions
diff --git a/include/linux/fsl_qman.h b/include/linux/fsl_qman.h
index 95fdd38..2909cc5 100644
--- a/include/linux/fsl_qman.h
+++ b/include/linux/fsl_qman.h
@@ -1245,8 +1245,8 @@ struct qm_mcr_ceetm_ccgr_query {
struct qm_cgr_wr_parm wr_parm_g;
struct qm_cgr_wr_parm wr_parm_y;
struct qm_cgr_wr_parm wr_parm_r;
- u8 cscn_targ_dcp;
- u16 dcp_lsn;
+ u16 cscn_targ_dcp;
+ u8 dcp_lsn;
u64 i_cnt:40;
u8 __reserved4[3];
u64 a_cnt:40;
@@ -2702,6 +2702,12 @@ int qman_ceetm_lni_enable_shaper(struct qm_ceetm_lni *lni, int coupled,
int qman_ceetm_lni_disable_shaper(struct qm_ceetm_lni *lni);
/**
+ * qman_ceetm_lni_is_shaper_enabled - Check LNI shaper status
+ * @lni: the give LNI
+ */
+int qman_ceetm_lni_is_shaper_enabled(struct qm_ceetm_lni *lni);
+
+/**
* qman_ceetm_lni_set_commit_rate
* qman_ceetm_lni_get_commit_rate
* qman_ceetm_lni_set_excess_rate
@@ -2730,6 +2736,33 @@ int qman_ceetm_lni_set_excess_rate(struct qm_ceetm_lni *lni,
int qman_ceetm_lni_get_excess_rate(struct qm_ceetm_lni *lni,
struct qm_ceetm_rate *token_rate,
u16 *token_limit);
+/**
+ * qman_ceetm_lni_set_commit_rate_bps
+ * qman_ceetm_lni_get_commit_rate_bps
+ * qman_ceetm_lni_set_excess_rate_bps
+ * qman_ceetm_lni_get_excess_rate_bps - Set/get the shaper CR/ER rate
+ * and token limit for the given LNI.
+ * @lni: the given LNI.
+ * @bps: the desired shaping rate in bps for "set" fuction, or the shaping rate
+ * of the LNI queried by "get" function.
+ * @token_limit: the desired token bucket limit for "set" function, or the token
+ * limit of the given LNI queried by "get" function.
+ *
+ * Returns zero for success. The "set" function returns -EINVAL if the given
+ * LNI is unshapped or -EIO if the configure shaper command returns error.
+ * The "get" function returns -EINVAL if the token rate or the token limit is
+ * not set or the query command returns error.
+ */
+int qman_ceetm_lni_set_commit_rate_bps(struct qm_ceetm_lni *lni,
+ u64 bps,
+ u16 token_limit);
+int qman_ceetm_lni_get_commit_rate_bps(struct qm_ceetm_lni *lni,
+ u64 *bps, u16 *token_limit);
+int qman_ceetm_lni_set_excess_rate_bps(struct qm_ceetm_lni *lni,
+ u64 bps,
+ u16 token_limit);
+int qman_ceetm_lni_get_excess_rate_bps(struct qm_ceetm_lni *lni,
+ u64 *bps, u16 *token_limit);
/**
* qman_ceetm_lni_set_tcfcc
@@ -2808,6 +2841,12 @@ int qman_ceetm_channel_enable_shaper(struct qm_ceetm_channel *channel,
int qman_ceetm_channel_disable_shaper(struct qm_ceetm_channel *channel);
/**
+ * qman_ceetm_channel_is_shaper_enabled - Check channel shaper status.
+ * @channel: the give channel.
+ */
+int qman_ceetm_channel_is_shaper_enabled(struct qm_ceetm_channel *channel);
+
+/**
* qman_ceetm_channel_set_commit_rate
* qman_ceetm_channel_get_commit_rate
* qman_ceetm_channel_set_excess_rate
@@ -2835,6 +2874,31 @@ int qman_ceetm_channel_set_excess_rate(struct qm_ceetm_channel *channel,
int qman_ceetm_channel_get_excess_rate(struct qm_ceetm_channel *channel,
struct qm_ceetm_rate *token_rate,
u16 *token_limit);
+/**
+ * qman_ceetm_channel_set_commit_rate_bps
+ * qman_ceetm_channel_get_commit_rate_bps
+ * qman_ceetm_channel_set_excess_rate_bps
+ * qman_ceetm_channel_get_excess_rate_bps - Set/get channel CR/ER shaper
+ * parameters.
+ * @channel: the given channel.
+ * @token_rate: the desired shaper rate in bps for "set" function, or the
+ * shaper rate in bps for "get" function.
+ * @token_limit: the desired token limit for "set" function, or the queried
+ * token limit for "get" function.
+ *
+ * Return zero for success. The "set" function returns -EINVAL if the channel
+ * is unshaped, or -EIO if the configure shapper command returns error. The
+ * "get" function returns -EINVAL if token rate of token limit is not set, or
+ * the query shaper command returns error.
+ */
+int qman_ceetm_channel_set_commit_rate_bps(struct qm_ceetm_channel *channel,
+ u64 bps, u16 token_limit);
+int qman_ceetm_channel_get_commit_rate_bps(struct qm_ceetm_channel *channel,
+ u64 *bps, u16 *token_limit);
+int qman_ceetm_channel_set_excess_rate_bps(struct qm_ceetm_channel *channel,
+ u64 bps, u16 token_limit);
+int qman_ceetm_channel_get_excess_rate_bps(struct qm_ceetm_channel *channel,
+ u64 *bps, u16 *token_limit);
/**
* qman_ceetm_channel_set_weight
@@ -3009,6 +3073,21 @@ int qman_ceetm_set_queue_weight(struct qm_ceetm_cq *cq,
int qman_ceetm_get_queue_weight(struct qm_ceetm_cq *cq,
struct qm_ceetm_weight_code *weight_code);
+/**
+ * qman_ceetm_set_queue_weight_in_ratio
+ * qman_ceetm_get_queue_weight_in_ratio - Configure/query the weight of a
+ * grouped class queue.
+ * @cq: the given class queue.
+ * @ratio: the weight in ratio. It should be the real ratio number multiplied
+ * by 100 to get rid of fraction.
+ *
+ * Returns zero for success, or -EIO if the configure weight command returns
+ * error for "set" function, or -EINVAL if the query command returns
+ * error for "get" function.
+ */
+int qman_ceetm_set_queue_weight_in_ratio(struct qm_ceetm_cq *cq, u32 ratio);
+int qman_ceetm_get_queue_weight_in_ratio(struct qm_ceetm_cq *cq, u32 *ratio);
+
/* Weights are encoded using a pseudo-exponential scheme. The weight codes 0,
* 32, 64, [...] correspond to weights of 1, 2, 4, [...]. The weights
* corresponding to intermediate weight codes are calculated using linear
@@ -3077,6 +3156,13 @@ int qman_ceetm_ratio2wbfs(u32 numerator,
int qman_ceetm_cq_get_dequeue_statistics(struct qm_ceetm_cq *cq, u32 flags,
u64 *frame_count, u64 *byte_count);
+/**
+ * qman_ceetm_drain_cq - drain the CQ till it is empty.
+ * @cq: the give CQ object.
+ * Return 0 for success or -EINVAL for unsuccessful command to empty CQ.
+ */
+int qman_ceetm_drain_cq(struct qm_ceetm_cq *cq);
+
/* ---------------------- */
/* CEETM :: logical FQIDs */
/* ---------------------- */
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
index bde191c..c3d6651 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -38,6 +38,8 @@
#define SPINOR_OP_RDID 0x9f /* Read JEDEC ID */
#define SPINOR_OP_RDCR 0x35 /* Read configuration register */
#define SPINOR_OP_RDFSR 0x70 /* Read flag status register */
+#define SPINOR_OP_RESET_EN 0x66 /* Reset enable */
+#define SPINOR_OP_RESET_MEM 0x99 /* Reset memory */
/* 4-byte address opcodes - used on Spansion and some Macronix flashes. */
#define SPINOR_OP_READ4 0x13 /* Read data bytes (low frequency) */
diff --git a/include/uapi/linux/fmd/Peripherals/fm_ioctls.h b/include/uapi/linux/fmd/Peripherals/fm_ioctls.h
index 54e65b7..e0c2dd3 100644
--- a/include/uapi/linux/fmd/Peripherals/fm_ioctls.h
+++ b/include/uapi/linux/fmd/Peripherals/fm_ioctls.h
@@ -328,7 +328,7 @@ typedef struct ioc_fm_vsp_prs_result_params_t {
#endif
typedef struct fm_ctrl_mon_t {
- uint8_t percent_cnt[1];
+ uint8_t percent_cnt[2];
} fm_ctrl_mon_t;
typedef struct ioc_fm_ctrl_mon_counters_params_t {