Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6826400d authored by Chris Lew's avatar Chris Lew
Browse files

neuron: ch_haven: Store haven label for future use



Store the haven label so it can be used for other haven resources such
as attaching it to memparcels that are shared.

Change-Id: I90717bc7d158fb73ecb4442ede3c5d476f3d2045
Signed-off-by: default avatarChris Lew <clew@codeaurora.org>
parent 0fc1e597
Loading
Loading
Loading
Loading
+7 −6
Original line number Original line Diff line number Diff line
@@ -365,19 +365,20 @@ static int channel_hh_probe(struct neuron_channel *cdev)
		return -ENOMEM;
		return -ENOMEM;
	priv->dev = cdev;
	priv->dev = cdev;


	ret = channel_hh_map_memory(priv, dev);
	ret = of_property_read_u32(node, "haven-label", &priv->haven_label);
	if (ret) {
	if (ret) {
		dev_err(dev, "failed to map memory %d\n", ret);
		dev_err(dev, "failed to read label info %d\n", ret);
		return ret;
		return ret;
	}
	}


	/* Get outgoing haven doorbell information */
	ret = channel_hh_map_memory(priv, dev);
	ret = of_property_read_u32(node, "haven-label", &dbl_label);
	if (ret) {
	if (ret) {
		dev_err(dev, "failed to read label info %d\n", ret);
		dev_err(dev, "failed to map memory %d\n", ret);
		goto fail_tx_dbl;
		return ret;
	}
	}


	/* Get outgoing haven doorbell information */
	dbl_label = priv->haven_label;
	priv->tx_dbl = hh_dbl_tx_register(dbl_label);
	priv->tx_dbl = hh_dbl_tx_register(dbl_label);
	if (IS_ERR_OR_NULL(priv->tx_dbl)) {
	if (IS_ERR_OR_NULL(priv->tx_dbl)) {
		ret = PTR_ERR(priv->tx_dbl);
		ret = PTR_ERR(priv->tx_dbl);
+7 −6
Original line number Original line Diff line number Diff line
@@ -350,17 +350,18 @@ static int channel_hh_probe(struct neuron_channel *cdev)
		return -ENOMEM;
		return -ENOMEM;
	priv->dev = cdev;
	priv->dev = cdev;


	ret = of_property_read_u32(node, "haven-label", &priv->haven_label);
	if (ret) {
		dev_err(dev, "failed to read label info %d\n", ret);
		return ret;
	}

	ret = channel_hh_map_memory(priv, dev);
	ret = channel_hh_map_memory(priv, dev);
	if (ret)
	if (ret)
		return ret;
		return ret;


	/* Get outgoing haven doorbell information */
	/* Get outgoing haven doorbell information */
	ret = of_property_read_u32(node, "haven-label", &dbl_label);
	dbl_label = priv->haven_label;
	if (ret) {
		dev_err(dev, "failed to read label info %d\n", ret);
		goto fail_tx_dbl;
	}

	priv->tx_dbl = hh_dbl_tx_register(dbl_label);
	priv->tx_dbl = hh_dbl_tx_register(dbl_label);
	if (IS_ERR_OR_NULL(priv->tx_dbl)) {
	if (IS_ERR_OR_NULL(priv->tx_dbl)) {
		ret = PTR_ERR(priv->tx_dbl);
		ret = PTR_ERR(priv->tx_dbl);
+2 −0
Original line number Original line Diff line number Diff line
@@ -78,6 +78,8 @@ struct neuron_mq_data_priv {
	u32 interrupt_counter;
	u32 interrupt_counter;
	/* name of peer vm */
	/* name of peer vm */
	u32 peer_name;
	u32 peer_name;
	/* label to get haven resources like doorbell and shm */
	u32 haven_label;
	/* haven tx doorbell descriptor */
	/* haven tx doorbell descriptor */
	void *tx_dbl;
	void *tx_dbl;
	/* haven rx doorbell descriptor */
	/* haven rx doorbell descriptor */