Browse Source

Merge remote-tracking branch 'lcpd/ti-linux-4.19.y' into plsdk-3008

# Conflicts:
#	drivers/net/ethernet/ti/icssg_prueth.c
#	drivers/net/ethernet/ti/prueth.c
Murali Karicheri 6 years ago
parent
commit
8cb906a893

+ 2 - 2
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi

@@ -1930,7 +1930,7 @@
 		ti,otap-del-sel-ddr50 = <0xc>;
 		ti,trm-icp = <0x8>;
 		dma-coherent;
-		sdhci-caps-mask = <0x2 0x0>;
+		no-1-8-v;
 
 	};
 
@@ -1952,7 +1952,7 @@
 		ti,otap-del-sel-ddr50 = <0xc>;
 		ti,trm-icp = <0x8>;
 		dma-coherent;
-		sdhci-caps-mask = <0x2 0x0>;
+		no-1-8-v;
 	};
 
 	main_r5fss0: r5fss@5c00000 {

+ 5 - 36
drivers/net/ethernet/ti/icssg_classifier.c

@@ -264,25 +264,10 @@ void icssg_class_disable(struct regmap *miig_rt, int slice)
 		regmap_write(miig_rt, offset, data);
 	}
 
-	/* FT1 uses 6 bytes of DA address */
-	offset = offs[slice].ft1_start_len;
-	regmap_write(miig_rt, offset, FT1_LEN(6));
-
-	/* FT1 type EQ */
+	/* FT1 Disabled */
 	for (n = 0; n < ICSSG_NUM_FT1_SLOTS; n++)
-		rx_class_ft1_cfg_set_type(miig_rt, slice, n, FT1_CFG_TYPE_EQ);
-
-	/* FT1[0] DA compare address 00-00-00-00-00-00 */
-	offset = FT1_N_REG(slice, 0, FT1_DA0);
-	regmap_write(miig_rt, offset, 0);
-	offset = FT1_N_REG(slice, 0, FT1_DA1);
-	regmap_write(miig_rt, offset, 0);
-
-	/* FT1[0] mask FE-FF-FF-FF-FF-FF */
-	offset = FT1_N_REG(slice, 0, FT1_DA0_MASK);
-	regmap_write(miig_rt, offset, 0);
-	offset = FT1_N_REG(slice, 0, FT1_DA1_MASK);
-	regmap_write(miig_rt, offset, 0);
+		rx_class_ft1_cfg_set_type(miig_rt, slice, n,
+					  FT1_CFG_TYPE_DISABLED);
 
 	/* clear CFG2 */
 	regmap_write(miig_rt, offs[slice].rx_class_cfg2, 0);
@@ -296,28 +281,12 @@ void icssg_class_default(struct regmap *miig_rt, int slice)
 	/* defaults */
 	icssg_class_disable(miig_rt, slice);
 
-	/* FT1 uses 6 bytes of DA address */
-	offset = offs[slice].ft1_start_len;
-	regmap_write(miig_rt, offset, FT1_LEN(6));
-
-	/* FT1 slots type to EQ */
+	/* FT1 Disabled */
 	for (n = 0; n < ICSSG_NUM_FT1_SLOTS; n++) {
 		rx_class_ft1_cfg_set_type(miig_rt, slice, n,
-					  FT1_CFG_TYPE_EQ);
+					  FT1_CFG_TYPE_DISABLED);
 	}
 
-	/* FT1[0] DA compare address 00-00-00-00-00-00 */
-	offset = FT1_N_REG(slice, 0, FT1_DA0);
-	regmap_write(miig_rt, offset, 0);
-	offset = FT1_N_REG(slice, 0, FT1_DA1);
-	regmap_write(miig_rt, offset, 0);
-
-	/* FT1[0] mask 00-00-00-00-00-00 */
-	offset = FT1_N_REG(slice, 0, FT1_DA0_MASK);
-	regmap_write(miig_rt, offset, 0);
-	offset = FT1_N_REG(slice, 0, FT1_DA1_MASK);
-	regmap_write(miig_rt, offset, 0);
-
 	/* Setup Classifier */
 	for (n = 0; n < 5; n++) {
 		/* match on Broadcast or MAC_PRU address */

+ 10 - 8
drivers/net/ethernet/ti/icssg_prueth.c

@@ -242,12 +242,12 @@ static int prueth_init_rx_chns(struct prueth_emac *emac,
 
 	if (!strncmp(name, "rxmgm", 5)) {
 		emac->rx_mgm_flow_id_base = k3_nav_udmax_rx_get_flow_id_base(rx_chn->rx_chn);
-		netdev_info(ndev, "mgm flow id base = %d\n",
-			    emac->rx_mgm_flow_id_base);
+		netdev_dbg(ndev, "mgm flow id base = %d\n",
+			   emac->rx_mgm_flow_id_base);
 	} else {
 		emac->rx_flow_id_base = k3_nav_udmax_rx_get_flow_id_base(rx_chn->rx_chn);
-		netdev_info(ndev, "flow id base = %d\n",
-			    emac->rx_flow_id_base);
+		netdev_dbg(ndev, "flow id base = %d\n",
+			   emac->rx_flow_id_base);
 	}
 
 	fdqring_id = K3_RINGACC_RING_ID_ANY;
@@ -1285,6 +1285,7 @@ static int emac_ndo_stop(struct net_device *ndev)
 	netif_stop_queue(ndev);
 
 	/* block packets from wire */
+	phy_stop(emac->phydev);
 	icssg_class_disable(prueth->miig_rt[emac->ingress_icssg],
 			    emac->ingress_slice);
 
@@ -1323,9 +1324,6 @@ static int emac_ndo_stop(struct net_device *ndev)
 	napi_disable(&emac->napi_tx);
 	napi_disable(&emac->napi_rx);
 
-	/* stop PHY */
-	phy_stop(emac->phydev);
-
 	/* stop PRUs */
 	prueth_emac_stop(emac, false);
 	if (prueth->dual_icssg)
@@ -1469,14 +1467,18 @@ static int emac_get_ts_config(struct net_device *ndev, struct ifreq *ifr)
 
 static int emac_ndo_ioctl(struct net_device *ndev, struct ifreq *ifr, int cmd)
 {
+	struct prueth_emac *emac = netdev_priv(ndev);
+
 	switch (cmd) {
 	case SIOCGHWTSTAMP:
 		return emac_get_ts_config(ndev, ifr);
 	case SIOCSHWTSTAMP:
 		return emac_set_ts_config(ndev, ifr);
 	default:
-		return -EOPNOTSUPP;
+		break;
 	}
+
+	return phy_mii_ioctl(emac->phydev, ifr, cmd);
 }
 
 static const struct net_device_ops emac_netdev_ops = {

+ 4 - 4
drivers/net/ethernet/ti/prueth.c

@@ -4248,7 +4248,7 @@ static int emac_hwtstamp_get(struct net_device *ndev, struct ifreq *ifr)
 	return copy_to_user(ifr->ifr_data, &cfg, sizeof(cfg)) ? -EFAULT : 0;
 }
 
-static int emac_ndo_ioctl(struct net_device *ndev, struct ifreq *req, int cmd)
+static int emac_ndo_ioctl(struct net_device *ndev, struct ifreq *ifr, int cmd)
 {
 	struct prueth_emac *emac = netdev_priv(ndev);
 
@@ -4260,15 +4260,15 @@ static int emac_ndo_ioctl(struct net_device *ndev, struct ifreq *req, int cmd)
 		if (!PRUETH_HAS_PTP(emac->prueth))
 			return -ENOTSUPP;
 
-		return emac_hwtstamp_set(ndev, req);
+		return emac_hwtstamp_set(ndev, ifr);
 	case SIOCGHWTSTAMP:
 		if (!PRUETH_HAS_PTP(emac->prueth))
 			return -ENOTSUPP;
 
-		return emac_hwtstamp_get(ndev, req);
+		return emac_hwtstamp_get(ndev, ifr);
 	}
 
-	return phy_mii_ioctl(emac->phydev, req, cmd);
+	return phy_mii_ioctl(emac->phydev, ifr, cmd);
 }
 
 static int emac_add_del_vid(struct prueth_emac *emac,