Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'phy-fixes-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy

Pull phy driver fixes from Vinod Koul:

- TI null pointer dereference

- missing erdes mux entry in lan966x driver

- Return of error code in renesas driver

- Serdes init sequence and register offsets for IPQ drivers

* tag 'phy-fixes-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:
phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
phy: lan966x: Add missing serdes mux entry
phy: renesas: rcar-gen3-usb2: Fix returning wrong error code
phy: qcom-qmp-usb: fix serdes init sequence for IPQ6018
phy: qcom-qmp-usb: fix register offsets for ipq8074/ipq6018

+32 -8
+2
drivers/phy/microchip/lan966x_serdes.c
··· 96 96 SERDES_MUX_SGMII(SERDES6G(1), 3, HSIO_HW_CFG_SD6G_1_CFG, 97 97 HSIO_HW_CFG_SD6G_1_CFG_SET(1)), 98 98 99 + SERDES_MUX_SGMII(SERDES6G(2), 4, 0, 0), 100 + 99 101 SERDES_MUX_RGMII(RGMII(0), 2, HSIO_HW_CFG_RGMII_0_CFG | 100 102 HSIO_HW_CFG_RGMII_ENA | 101 103 HSIO_HW_CFG_GMII_ENA,
+28 -2
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
··· 1556 1556 "vdda-phy", "vdda-pll", 1557 1557 }; 1558 1558 1559 + static const struct qmp_usb_offsets qmp_usb_offsets_ipq8074 = { 1560 + .serdes = 0, 1561 + .pcs = 0x800, 1562 + .pcs_misc = 0x600, 1563 + .tx = 0x200, 1564 + .rx = 0x400, 1565 + }; 1566 + 1559 1567 static const struct qmp_usb_offsets qmp_usb_offsets_ipq9574 = { 1560 1568 .serdes = 0, 1561 1569 .pcs = 0x800, ··· 1621 1613 .rx = 0x1000, 1622 1614 }; 1623 1615 1616 + static const struct qmp_phy_cfg ipq6018_usb3phy_cfg = { 1617 + .lanes = 1, 1618 + 1619 + .offsets = &qmp_usb_offsets_ipq8074, 1620 + 1621 + .serdes_tbl = ipq9574_usb3_serdes_tbl, 1622 + .serdes_tbl_num = ARRAY_SIZE(ipq9574_usb3_serdes_tbl), 1623 + .tx_tbl = msm8996_usb3_tx_tbl, 1624 + .tx_tbl_num = ARRAY_SIZE(msm8996_usb3_tx_tbl), 1625 + .rx_tbl = ipq8074_usb3_rx_tbl, 1626 + .rx_tbl_num = ARRAY_SIZE(ipq8074_usb3_rx_tbl), 1627 + .pcs_tbl = ipq8074_usb3_pcs_tbl, 1628 + .pcs_tbl_num = ARRAY_SIZE(ipq8074_usb3_pcs_tbl), 1629 + .vreg_list = qmp_phy_vreg_l, 1630 + .num_vregs = ARRAY_SIZE(qmp_phy_vreg_l), 1631 + .regs = qmp_v3_usb3phy_regs_layout, 1632 + }; 1633 + 1624 1634 static const struct qmp_phy_cfg ipq8074_usb3phy_cfg = { 1625 1635 .lanes = 1, 1626 1636 1627 - .offsets = &qmp_usb_offsets_v3, 1637 + .offsets = &qmp_usb_offsets_ipq8074, 1628 1638 1629 1639 .serdes_tbl = ipq8074_usb3_serdes_tbl, 1630 1640 .serdes_tbl_num = ARRAY_SIZE(ipq8074_usb3_serdes_tbl), ··· 2589 2563 static const struct of_device_id qmp_usb_of_match_table[] = { 2590 2564 { 2591 2565 .compatible = "qcom,ipq6018-qmp-usb3-phy", 2592 - .data = &ipq8074_usb3phy_cfg, 2566 + .data = &ipq6018_usb3phy_cfg, 2593 2567 }, { 2594 2568 .compatible = "qcom,ipq8074-qmp-usb3-phy", 2595 2569 .data = &ipq8074_usb3phy_cfg,
-4
drivers/phy/renesas/phy-rcar-gen3-usb2.c
··· 673 673 channel->irq = platform_get_irq_optional(pdev, 0); 674 674 channel->dr_mode = rcar_gen3_get_dr_mode(dev->of_node); 675 675 if (channel->dr_mode != USB_DR_MODE_UNKNOWN) { 676 - int ret; 677 - 678 676 channel->is_otg_channel = true; 679 677 channel->uses_otg_pins = !of_property_read_bool(dev->of_node, 680 678 "renesas,no-otg-pins"); ··· 736 738 ret = PTR_ERR(provider); 737 739 goto error; 738 740 } else if (channel->is_otg_channel) { 739 - int ret; 740 - 741 741 ret = device_create_file(dev, &dev_attr_role); 742 742 if (ret < 0) 743 743 goto error;
+2 -2
drivers/phy/ti/phy-omap-usb2.c
··· 117 117 { 118 118 struct omap_usb *phy = phy_to_omapusb(otg->usb_phy); 119 119 120 - if (!phy->comparator) 120 + if (!phy->comparator || !phy->comparator->set_vbus) 121 121 return -ENODEV; 122 122 123 123 return phy->comparator->set_vbus(phy->comparator, enabled); ··· 127 127 { 128 128 struct omap_usb *phy = phy_to_omapusb(otg->usb_phy); 129 129 130 - if (!phy->comparator) 130 + if (!phy->comparator || !phy->comparator->start_srp) 131 131 return -ENODEV; 132 132 133 133 return phy->comparator->start_srp(phy->comparator);