Esempio n. 1
0
int
main(int argc, char** argv)
{
  int i = 0;
  char msg[256];
  qm_publisher_t p;

#ifndef _WIN32
  struct timespec ts;
  ts.tv_sec = 1;
  ts.tv_nsec = 0;
#endif

  const char* iface = ""; // whatever iface zyre defaults to
  qm_init("test_c_pub", iface);
  p = qm_publisher_new("chatter", qm_wait);
  for (i = 0; i < 10; ++i) {
    sprintf(msg, "Hello World %d", i);
    qm_publish(p, msg);
#ifdef _WIN32
    Sleep(1000);
#else
    nanosleep(&ts, NULL);
#endif
  }
  qm_publisher_destroy(p);
  qm_shutdown("done");
  return 0;
}
Esempio n. 2
0
static int ks2_eth_start(struct udevice *dev)
{
	struct ks2_eth_priv *priv = dev_get_priv(dev);

#ifdef CONFIG_SOC_K2G
	keystone_rgmii_config(priv->phydev);
#else
	keystone_sgmii_config(priv->phydev, priv->slave_port - 1,
			      priv->sgmii_link_type);
#endif

	udelay(10000);

	/* On chip switch configuration */
	ethss_config(target_get_switch_ctl(), SWITCH_MAX_PKT_SIZE);

	qm_init();

	if (ksnav_init(priv->netcp_pktdma, &priv->net_rx_buffs)) {
		error("ksnav_init failed\n");
		goto err_knav_init;
	}

	/*
	 * Streaming switch configuration. If not present this
	 * statement is defined to void in target.h.
	 * If present this is usually defined to a series of register writes
	 */
	hw_config_streaming_switch();

	if (priv->has_mdio) {
		keystone2_mdio_reset(priv->mdio_bus);

		phy_startup(priv->phydev);
		if (priv->phydev->link == 0) {
			error("phy startup failed\n");
			goto err_phy_start;
		}
	}

	emac_gigabit_enable(dev);

	ethss_start();

	priv->emac_open = true;

	return 0;

err_phy_start:
	ksnav_close(priv->netcp_pktdma);
err_knav_init:
	qm_close();

	return -EFAULT;
}
Esempio n. 3
0
int
main(int argc, char** argv)
{
    char msg[256];
    qm_async_subscriber_t s;

    qm_init("test_sub");
    s = qm_async_subscriber_new("test", callback, NULL);
    qm_async_subscriber_spin(s); // doesn't return
    qm_async_subscriber_destroy(s);
    qm_shutdown("done");

    return 0;
}
Esempio n. 4
0
int
main(int argc, char** argv)
{
  char msg[256];
  qm_async_subscriber_t s;

  const char* iface = ""; // whatever iface zyre defaults to
  qm_init("test_c_sub", iface);
  s = qm_async_subscriber_new("chatter", callback, NULL);
  qm_async_subscriber_spin(s); // doesn't return
  qm_async_subscriber_destroy(s);
  qm_shutdown("done");

  return 0;
}
Esempio n. 5
0
/* Eth device open */
static int keystone2_eth_open(struct eth_device *dev, bd_t *bis)
{
	struct eth_priv_t *eth_priv = (struct eth_priv_t *)dev->priv;
	struct phy_device *phy_dev = eth_priv->phy_dev;

	debug("+ emac_open\n");

	net_rx_buffs.rx_flow	= eth_priv->rx_flow;

	sys_has_mdio =
		(eth_priv->sgmii_link_type == SGMII_LINK_MAC_PHY) ? 1 : 0;

	if (sys_has_mdio)
		keystone2_mdio_reset(mdio_bus);

#ifdef CONFIG_SOC_K2G
	keystone_rgmii_config(phy_dev);
#else
	keystone_sgmii_config(phy_dev, eth_priv->slave_port - 1,
			      eth_priv->sgmii_link_type);
#endif

	udelay(10000);

	/* On chip switch configuration */
	ethss_config(target_get_switch_ctl(), SWITCH_MAX_PKT_SIZE);

	/* TODO: add error handling code */
	if (qm_init()) {
		printf("ERROR: qm_init()\n");
		return -1;
	}
	if (ksnav_init(&netcp_pktdma, &net_rx_buffs)) {
		qm_close();
		printf("ERROR: netcp_init()\n");
		return -1;
	}

	/*
	 * Streaming switch configuration. If not present this
	 * statement is defined to void in target.h.
	 * If present this is usually defined to a series of register writes
	 */
	hw_config_streaming_switch();

	if (sys_has_mdio) {
		keystone2_mdio_reset(mdio_bus);

		phy_startup(phy_dev);
		if (phy_dev->link == 0) {
			ksnav_close(&netcp_pktdma);
			qm_close();
			return -1;
		}
	}

	emac_gigabit_enable(dev);

	ethss_start();

	debug("- emac_open\n");

	emac_open = 1;

	return 0;
}