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

Commit 907293d7 authored by Stefan Richter's avatar Stefan Richter
Browse files

firewire: consistent usage of node_id



Definitions as per IEEE 1212 and IEEE 1394:

     Node ID: Concatenation of bus ID and local ID. 16 bits long.
      Bus ID: Identifies a particular bus within a group of buses
              interconnected by bus bridges.
    Local ID: Identifies a particular node on a bus.
      PHY ID: Local ID of IEEE 1394 nodes. 6 bits long.

Never ever use a variable called node_id for anything else than a node ID.

Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
parent 366f5f4f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -238,7 +238,7 @@ static ssize_t ioctl_send_request(struct client *client, void __user *arg)

	fw_send_request(device->card, &response->transaction,
			request.tcode,
			device->node->node_id | LOCAL_BUS,
			device->node->node_id,
			device->card->generation,
			device->node->max_speed,
			request.offset,
+2 −2
Original line number Diff line number Diff line
@@ -257,7 +257,7 @@ static int read_rom(struct fw_device *device, int index, u32 * data)

	offset = 0xfffff0000400ULL + index * 4;
	fw_send_request(device->card, &t, TCODE_READ_QUADLET_REQUEST,
			device->node_id | LOCAL_BUS,
			device->node_id,
			device->generation, SCODE_100,
			offset, NULL, 4, complete_transaction, &callback_data);

@@ -447,7 +447,7 @@ static void fw_device_init(struct work_struct *work)
			device->config_rom_retries++;
			schedule_delayed_work(&device->work, RETRY_DELAY);
		} else {
			fw_notify("giving up on config rom for node id %d\n",
			fw_notify("giving up on config rom for node id %x\n",
				  device->node_id);
			fw_device_release(&device->device);
		}
+12 −9
Original line number Diff line number Diff line
@@ -828,10 +828,10 @@ ohci_enable_phys_dma(struct fw_card *card, int node_id, int generation)
{
	struct fw_ohci *ohci = fw_ohci(card);
	unsigned long flags;
	int retval = 0;
	int n, retval = 0;

	/* FIXME: make sure this bitmask is cleared when we clear the
	 * busReset interrupt bit. */
	/* FIXME:  Make sure this bitmask is cleared when we clear the busReset
	 * interrupt bit.  Clear physReqResourceAllBuses on bus reset. */

	spin_lock_irqsave(&ohci->lock, flags);

@@ -840,12 +840,15 @@ ohci_enable_phys_dma(struct fw_card *card, int node_id, int generation)
		goto out;
	}

	if (node_id < 32) {
		reg_write(ohci, OHCI1394_PhyReqFilterLoSet, 1 << node_id);
	} else {
		reg_write(ohci, OHCI1394_PhyReqFilterHiSet,
			  1 << (node_id - 32));
	}
	/* NOTE, if the node ID contains a non-local bus ID, physical DMA is
	 * enabled for _all_ nodes on remote buses. */

	n = (node_id & 0xffc0) == LOCAL_BUS ? node_id & 0x3f : 63;
	if (n < 32)
		reg_write(ohci, OHCI1394_PhyReqFilterLoSet, 1 << n);
	else
		reg_write(ohci, OHCI1394_PhyReqFilterHiSet, 1 << (n - 32));

	flush_writes(ohci);
 out:
	spin_unlock_irqrestore(&ohci->lock, flags);
+4 −4
Original line number Diff line number Diff line
@@ -328,7 +328,7 @@ sbp2_send_orb(struct sbp2_orb *orb, struct fw_unit *unit,
	spin_unlock_irqrestore(&device->card->lock, flags);

	fw_send_request(device->card, &orb->t, TCODE_WRITE_BLOCK_REQUEST,
			node_id | LOCAL_BUS, generation,
			node_id, generation,
			device->node->max_speed, offset,
			&orb->pointer, sizeof orb->pointer,
			complete_transaction, orb);
@@ -485,7 +485,7 @@ static int sbp2_agent_reset(struct fw_unit *unit)
		return -ENOMEM;

	fw_send_request(device->card, t, TCODE_WRITE_QUADLET_REQUEST,
			sd->node_id | LOCAL_BUS, sd->generation, SCODE_400,
			sd->node_id, sd->generation, SCODE_400,
			sd->command_block_agent_address + SBP2_AGENT_RESET,
			&zero, sizeof zero, complete_agent_reset_write, t);

@@ -586,7 +586,7 @@ static int sbp2_probe(struct device *dev)

	sd->generation   = generation;
	sd->node_id      = node_id;
	sd->address_high = (LOCAL_BUS | local_node_id) << 16;
	sd->address_high = local_node_id << 16;

	/* Get command block agent offset and login id. */
	sd->command_block_agent_address =
@@ -663,7 +663,7 @@ static void sbp2_reconnect(struct work_struct *work)

	sd->generation   = generation;
	sd->node_id      = node_id;
	sd->address_high = (LOCAL_BUS | local_node_id) << 16;
	sd->address_high = local_node_id << 16;
}

static void sbp2_update(struct fw_unit *unit)
+1 −1
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ static struct fw_node *fw_node_create(u32 sid, int port_count, int color)
		return NULL;

	node->color = color;
	node->node_id = self_id_phy_id(sid);
	node->node_id = LOCAL_BUS | self_id_phy_id(sid);
	node->link_on = self_id_link_on(sid);
	node->phy_speed = self_id_phy_speed(sid);
	node->port_count = port_count;
Loading