Lines Matching defs:fifo
804 static void cpsw_fifo_shp_on(struct cpsw_priv *priv, int fifo, int on)
814 mask = (1 << --fifo) << shift;
820 static int cpsw_set_fifo_bw(struct cpsw_priv *priv, int fifo, int bw)
831 * and fifo bw no more then interface can allow
837 if (i >= fifo || !priv->fifo_bw[i])
844 if (!priv->fifo_bw[i] && i > fifo) {
850 if (i == fifo) {
869 priv->fifo_bw[fifo] = bw;
871 dev_warn(priv->dev, "set FIFO%d bw = %d\n", fifo,
880 static int cpsw_set_fifo_rlimit(struct cpsw_priv *priv, int fifo, int bw)
887 ret = cpsw_set_fifo_bw(priv, fifo, bw);
896 cpsw_fifo_shp_on(priv, fifo, bw);
915 val |= BIT(fifo + CPSW_FIFO_RATE_EN_SHIFT);
917 val &= ~BIT(fifo + CPSW_FIFO_RATE_EN_SHIFT);
921 cpsw_fifo_shp_on(priv, fifo, bw);
937 int tc, ret, fifo;
946 fifo = cpsw_tc_to_fifo(tc, ndev->num_tc);
947 if (!fifo) {
953 if (!qopt->enable && !priv->fifo_bw[fifo])
978 ret = cpsw_set_fifo_rlimit(priv, fifo, bw);
997 int fifo, num_tc, count, offset;
1018 fifo = cpsw_tc_to_fifo(tc, num_tc);
1019 tx_prio_map |= fifo << (4 * i);
1066 int fifo, bw;
1068 for (fifo = CPSW_FIFO_SHAPERS_NUM; fifo > 0; fifo--) {
1069 bw = priv->fifo_bw[fifo];
1073 cpsw_set_fifo_rlimit(priv, fifo, bw);
1081 int i, tc, fifo;
1089 fifo = CPSW_FIFO_SHAPERS_NUM - tc;
1090 tx_prio_map |= fifo << (4 * i);