Lines Matching defs:fifo
806 static void cpsw_fifo_shp_on(struct cpsw_priv *priv, int fifo, int on)
816 mask = (1 << --fifo) << shift;
822 static int cpsw_set_fifo_bw(struct cpsw_priv *priv, int fifo, int bw)
833 * and fifo bw no more then interface can allow
839 if (i >= fifo || !priv->fifo_bw[i])
846 if (!priv->fifo_bw[i] && i > fifo) {
852 if (i == fifo) {
871 priv->fifo_bw[fifo] = bw;
873 dev_warn(priv->dev, "set FIFO%d bw = %d\n", fifo,
882 static int cpsw_set_fifo_rlimit(struct cpsw_priv *priv, int fifo, int bw)
889 ret = cpsw_set_fifo_bw(priv, fifo, bw);
898 cpsw_fifo_shp_on(priv, fifo, bw);
917 val |= BIT(fifo + CPSW_FIFO_RATE_EN_SHIFT);
919 val &= ~BIT(fifo + CPSW_FIFO_RATE_EN_SHIFT);
923 cpsw_fifo_shp_on(priv, fifo, bw);
939 int tc, ret, fifo;
948 fifo = cpsw_tc_to_fifo(tc, ndev->num_tc);
949 if (!fifo) {
955 if (!qopt->enable && !priv->fifo_bw[fifo])
978 ret = cpsw_set_fifo_rlimit(priv, fifo, bw);
997 int fifo, num_tc, count, offset;
1016 fifo = cpsw_tc_to_fifo(tc, num_tc);
1017 tx_prio_map |= fifo << (4 * i);
1069 int fifo, bw;
1071 for (fifo = CPSW_FIFO_SHAPERS_NUM; fifo > 0; fifo--) {
1072 bw = priv->fifo_bw[fifo];
1076 cpsw_set_fifo_rlimit(priv, fifo, bw);
1084 int i, tc, fifo;
1092 fifo = CPSW_FIFO_SHAPERS_NUM - tc;
1093 tx_prio_map |= fifo << (4 * i);