• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asus-wl-520gu-7.0.1.45/src/linux/linux/drivers/ieee1394/

Lines Matching refs:host

27         packet->header[1] = (packet->host->node_id << 16) | (addr >> 32); \
34 packet->header[1] = (packet->host->node_id << 16) | (rcode << 12); \
152 * @host: host to be used for transmission
170 int get_tlabel(struct hpsb_host *host, nodeid_t nodeid, int wait)
177 down(&host->tlabel_count);
179 if (down_trylock(&host->tlabel_count)) return -1;
182 spin_lock_irqsave(&host->tlabel_lock, flags);
185 tlabel = host->tlabel_current;
186 if (tlabel < 32 && !(host->tlabel_pool[0] & 1 << tlabel)) {
187 host->tlabel_pool[0] |= 1 << tlabel;
189 } else if (!(host->tlabel_pool[1] & 1 << (tlabel - 32))) {
190 host->tlabel_pool[1] |= 1 << (tlabel - 32);
193 host->tlabel_current = (host->tlabel_current + 1) % 64;
196 spin_unlock_irqrestore(&host->tlabel_lock, flags);
203 * @host: host to be used for transmission
213 void free_tlabel(struct hpsb_host *host, nodeid_t nodeid, int tlabel)
217 spin_lock_irqsave(&host->tlabel_lock, flags);
220 host->tlabel_pool[0] &= ~(1 << tlabel);
222 host->tlabel_pool[1] &= ~(1 << (tlabel-32));
225 spin_unlock_irqrestore(&host->tlabel_lock, flags);
227 up(&host->tlabel_count);
301 int hpsb_read_trylocal(struct hpsb_host *host, nodeid_t node, u64 addr,
304 if (host->node_id != node) return -1;
305 return highlevel_read(host, node, buffer, addr, length);
308 struct hpsb_packet *hpsb_make_readqpacket(struct hpsb_host *host, nodeid_t node,
316 p->host = host;
317 p->tlabel = get_tlabel(host, node, 1);
324 struct hpsb_packet *hpsb_make_readbpacket(struct hpsb_host *host, nodeid_t node,
332 p->host = host;
333 p->tlabel = get_tlabel(host, node, 1);
340 struct hpsb_packet *hpsb_make_writeqpacket(struct hpsb_host *host,
349 p->host = host;
350 p->tlabel = get_tlabel(host, node, 1);
357 struct hpsb_packet *hpsb_make_writebpacket(struct hpsb_host *host,
370 p->host = host;
371 p->tlabel = get_tlabel(host, node, 1);
378 struct hpsb_packet *hpsb_make_lockpacket(struct hpsb_host *host, nodeid_t node,
386 p->host = host;
387 p->tlabel = get_tlabel(host, node, 1);
403 struct hpsb_packet *hpsb_make_phypacket(struct hpsb_host *host,
411 p->host = host;
418 int hpsb_read(struct hpsb_host *host, nodeid_t node, unsigned int generation,
428 if (host->node_id == node) {
429 switch(highlevel_read(host, node, buffer, addr, length)) {
441 packet = hpsb_make_readqpacket(host, node, addr);
443 packet = hpsb_make_readbpacket(host, node, addr, length);
469 free_tlabel(host, node, packet->tlabel);
475 struct hpsb_packet *hpsb_make_packet (struct hpsb_host *host, nodeid_t node,
484 packet = hpsb_make_writeqpacket(host, node, addr, *buffer);
486 packet = hpsb_make_writebpacket(host, node, addr, length);
499 int hpsb_write(struct hpsb_host *host, nodeid_t node, unsigned int generation,
508 if (host->node_id == node) {
509 switch(highlevel_write(host, node, node, buffer, addr, length)) {
520 packet = hpsb_make_packet (host, node, addr, buffer, length);
536 free_tlabel(host, node, packet->tlabel);
544 int hpsb_lock(struct hpsb_host *host, nodeid_t node, unsigned int generation,
550 if (host->node_id == node) {
551 switch(highlevel_lock(host, node, data, addr, *data, arg,
568 packet->host = host;
569 packet->tlabel = get_tlabel(host, node, 1);
605 free_tlabel(host, node, packet->tlabel);