Commit 9eb35914 authored by David S. Miller's avatar David S. Miller
Browse files
parents cf29576f 07f12b26
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1819,7 +1819,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)

	/* Update the icache */
	flush_icache_range((unsigned long)ctx.target,
			   (unsigned long)(ctx.target + ctx.idx * sizeof(u32)));
			   (unsigned long)&ctx.target[ctx.idx]);

	if (bpf_jit_enable > 1)
		/* Dump JIT code */
+6 −0
Original line number Diff line number Diff line
@@ -1163,6 +1163,12 @@ static struct platform_driver gswip_driver = {

module_platform_driver(gswip_driver);

MODULE_FIRMWARE("lantiq/xrx300_phy11g_a21.bin");
MODULE_FIRMWARE("lantiq/xrx300_phy22f_a21.bin");
MODULE_FIRMWARE("lantiq/xrx200_phy11g_a14.bin");
MODULE_FIRMWARE("lantiq/xrx200_phy11g_a22.bin");
MODULE_FIRMWARE("lantiq/xrx200_phy22f_a14.bin");
MODULE_FIRMWARE("lantiq/xrx200_phy22f_a22.bin");
MODULE_AUTHOR("Hauke Mehrtens <hauke@hauke-m.de>");
MODULE_DESCRIPTION("Lantiq / Intel GSWIP driver");
MODULE_LICENSE("GPL v2");
+12 −2
Original line number Diff line number Diff line
@@ -922,7 +922,7 @@ static uint64_t _mv88e6xxx_get_ethtool_stat(struct mv88e6xxx_chip *chip,
	default:
		return U64_MAX;
	}
	value = (((u64)high) << 16) | low;
	value = (((u64)high) << 32) | low;
	return value;
}

@@ -3118,7 +3118,7 @@ static const struct mv88e6xxx_ops mv88e6161_ops = {
	.port_disable_pri_override = mv88e6xxx_port_disable_pri_override,
	.port_link_state = mv88e6352_port_link_state,
	.port_get_cmode = mv88e6185_port_get_cmode,
	.stats_snapshot = mv88e6320_g1_stats_snapshot,
	.stats_snapshot = mv88e6xxx_g1_stats_snapshot,
	.stats_set_histogram = mv88e6095_g1_stats_set_histogram,
	.stats_get_sset_count = mv88e6095_stats_get_sset_count,
	.stats_get_strings = mv88e6095_stats_get_strings,
@@ -4620,6 +4620,14 @@ static int mv88e6xxx_smi_init(struct mv88e6xxx_chip *chip,
	return 0;
}

static void mv88e6xxx_ports_cmode_init(struct mv88e6xxx_chip *chip)
{
	int i;

	for (i = 0; i < mv88e6xxx_num_ports(chip); i++)
		chip->ports[i].cmode = MV88E6XXX_PORT_STS_CMODE_INVALID;
}

static enum dsa_tag_protocol mv88e6xxx_get_tag_protocol(struct dsa_switch *ds,
							int port)
{
@@ -4656,6 +4664,8 @@ static const char *mv88e6xxx_drv_probe(struct device *dsa_dev,
	if (err)
		goto free;

	mv88e6xxx_ports_cmode_init(chip);

	mutex_lock(&chip->reg_lock);
	err = mv88e6xxx_switch_reset(chip);
	mutex_unlock(&chip->reg_lock);
+6 −2
Original line number Diff line number Diff line
@@ -398,6 +398,10 @@ int mv88e6390x_port_set_cmode(struct mv88e6xxx_chip *chip, int port,
		cmode = 0;
	}

	/* cmode doesn't change, nothing to do for us */
	if (cmode == chip->ports[port].cmode)
		return 0;

	lane = mv88e6390x_serdes_get_lane(chip, port);
	if (lane < 0)
		return lane;
@@ -408,7 +412,7 @@ int mv88e6390x_port_set_cmode(struct mv88e6xxx_chip *chip, int port,
			return err;
	}

	err = mv88e6390_serdes_power(chip, port, false);
	err = mv88e6390x_serdes_power(chip, port, false);
	if (err)
		return err;

@@ -424,7 +428,7 @@ int mv88e6390x_port_set_cmode(struct mv88e6xxx_chip *chip, int port,
		if (err)
			return err;

		err = mv88e6390_serdes_power(chip, port, true);
		err = mv88e6390x_serdes_power(chip, port, true);
		if (err)
			return err;

+1 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@
#define MV88E6185_PORT_STS_CMODE_1000BASE_X	0x0005
#define MV88E6185_PORT_STS_CMODE_PHY		0x0006
#define MV88E6185_PORT_STS_CMODE_DISABLED	0x0007
#define MV88E6XXX_PORT_STS_CMODE_INVALID	0xff

/* Offset 0x01: MAC (or PCS or Physical) Control Register */
#define MV88E6XXX_PORT_MAC_CTL				0x01
Loading