Lines Matching defs:scale
1535 static unsigned int usb3_bw_to_mbps(u32 bw, u8 scale)
1539 uframes = bw * 512UL << scale;
1543 static u32 mbps_to_usb3_bw(unsigned int mbps, u8 scale)
1549 return DIV_ROUND_UP(uframes, 512UL << scale);
1556 u32 val, bw, scale;
1564 ret = tb_port_read(port, &scale, TB_CFG_PORT,
1569 scale &= ADP_USB3_CS_3_SCALE_MASK;
1572 *upstream_bw = usb3_bw_to_mbps(bw, scale);
1575 *downstream_bw = usb3_bw_to_mbps(bw, scale);
1610 u32 val, bw, scale;
1618 ret = tb_port_read(port, &scale, TB_CFG_PORT,
1623 scale &= ADP_USB3_CS_3_SCALE_MASK;
1626 *upstream_bw = usb3_bw_to_mbps(bw, scale);
1629 *downstream_bw = usb3_bw_to_mbps(bw, scale);
1638 u32 val, ubw, dbw, scale;
1641 /* Figure out suitable scale */
1642 scale = 0;
1644 while (scale < 64) {
1645 if (mbps_to_usb3_bw(max_bw, scale) < 4096)
1647 scale++;
1650 if (WARN_ON(scale >= 64))
1653 ret = tb_port_write(port, &scale, TB_CFG_PORT,
1658 ubw = mbps_to_usb3_bw(upstream_bw, scale);
1659 dbw = mbps_to_usb3_bw(downstream_bw, scale);
1661 tb_port_dbg(port, "scaled bandwidth %u/%u, scale %u\n", ubw, dbw, scale);