hop               604 drivers/net/thunderbolt.c 				      net->rx_ring.ring->hop,
hop               606 drivers/net/thunderbolt.c 				      net->tx_ring.ring->hop);
hop                45 drivers/thunderbolt/nhi.c 	int bit = ring->hop;
hop                70 drivers/thunderbolt/nhi.c 			index = ring->hop;
hop                72 drivers/thunderbolt/nhi.c 			index = ring->hop + ring->nhi->hop_count;
hop               107 drivers/thunderbolt/nhi.c 					 RING_TYPE(ring), ring->hop,
hop               135 drivers/thunderbolt/nhi.c 	io += ring->hop * 16;
hop               143 drivers/thunderbolt/nhi.c 	io += ring->hop * 32;
hop               438 drivers/thunderbolt/nhi.c 	if (ring->hop < 0) {
hop               448 drivers/thunderbolt/nhi.c 					ring->hop = i;
hop               453 drivers/thunderbolt/nhi.c 					ring->hop = i;
hop               460 drivers/thunderbolt/nhi.c 	if (ring->hop < 0 || ring->hop >= nhi->hop_count) {
hop               461 drivers/thunderbolt/nhi.c 		dev_warn(&nhi->pdev->dev, "invalid hop: %d\n", ring->hop);
hop               465 drivers/thunderbolt/nhi.c 	if (ring->is_tx && nhi->tx_rings[ring->hop]) {
hop               467 drivers/thunderbolt/nhi.c 			 ring->hop);
hop               470 drivers/thunderbolt/nhi.c 	} else if (!ring->is_tx && nhi->rx_rings[ring->hop]) {
hop               472 drivers/thunderbolt/nhi.c 			 ring->hop);
hop               478 drivers/thunderbolt/nhi.c 		nhi->tx_rings[ring->hop] = ring;
hop               480 drivers/thunderbolt/nhi.c 		nhi->rx_rings[ring->hop] = ring;
hop               488 drivers/thunderbolt/nhi.c static struct tb_ring *tb_ring_alloc(struct tb_nhi *nhi, u32 hop, int size,
hop               497 drivers/thunderbolt/nhi.c 		transmit ? "TX" : "RX", hop, size);
hop               500 drivers/thunderbolt/nhi.c 	if (transmit && hop == RING_E2E_UNUSED_HOPID)
hop               513 drivers/thunderbolt/nhi.c 	ring->hop = hop;
hop               558 drivers/thunderbolt/nhi.c struct tb_ring *tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size,
hop               561 drivers/thunderbolt/nhi.c 	return tb_ring_alloc(nhi, hop, size, true, flags, 0, 0, NULL, NULL);
hop               578 drivers/thunderbolt/nhi.c struct tb_ring *tb_ring_alloc_rx(struct tb_nhi *nhi, int hop, int size,
hop               582 drivers/thunderbolt/nhi.c 	return tb_ring_alloc(nhi, hop, size, false, flags, sof_mask, eof_mask,
hop               606 drivers/thunderbolt/nhi.c 		RING_TYPE(ring), ring->hop);
hop               618 drivers/thunderbolt/nhi.c 		u32 hop;
hop               625 drivers/thunderbolt/nhi.c 		hop = RING_E2E_UNUSED_HOPID << REG_RX_OPTIONS_E2E_HOP_SHIFT;
hop               626 drivers/thunderbolt/nhi.c 		hop &= REG_RX_OPTIONS_E2E_HOP_MASK;
hop               627 drivers/thunderbolt/nhi.c 		flags |= hop | RING_FLAG_E2E_FLOW_CONTROL;
hop               668 drivers/thunderbolt/nhi.c 		RING_TYPE(ring), ring->hop);
hop               673 drivers/thunderbolt/nhi.c 			 RING_TYPE(ring), ring->hop);
hop               716 drivers/thunderbolt/nhi.c 		ring->nhi->tx_rings[ring->hop] = NULL;
hop               718 drivers/thunderbolt/nhi.c 		ring->nhi->rx_rings[ring->hop] = NULL;
hop               722 drivers/thunderbolt/nhi.c 			 RING_TYPE(ring), ring->hop);
hop               737 drivers/thunderbolt/nhi.c 		ring->hop);
hop               809 drivers/thunderbolt/nhi.c 	int hop = -1;
hop               825 drivers/thunderbolt/nhi.c 		if (++hop == nhi->hop_count) {
hop               826 drivers/thunderbolt/nhi.c 			hop = 0;
hop               834 drivers/thunderbolt/nhi.c 				 hop);
hop               838 drivers/thunderbolt/nhi.c 			ring = nhi->tx_rings[hop];
hop               840 drivers/thunderbolt/nhi.c 			ring = nhi->rx_rings[hop];
hop               845 drivers/thunderbolt/nhi.c 				 hop);
hop                16 drivers/thunderbolt/path.c static void tb_dump_hop(const struct tb_path_hop *hop, const struct tb_regs_hop *regs)
hop                18 drivers/thunderbolt/path.c 	const struct tb_port *port = hop->in_port;
hop                21 drivers/thunderbolt/path.c 		    hop->in_hop_index, regs->out_port, regs->next_hop);
hop                38 drivers/thunderbolt/path.c 	struct tb_regs_hop hop;
hop                48 drivers/thunderbolt/path.c 		ret = tb_port_read(port, &hop, TB_CFG_HOPS, 2 * hopid, 2);
hop                54 drivers/thunderbolt/path.c 		if (!hop.enable)
hop                57 drivers/thunderbolt/path.c 		out_port = &sw->ports[hop.out_port];
hop                58 drivers/thunderbolt/path.c 		hopid = hop.next_hop;
hop               105 drivers/thunderbolt/path.c 	struct tb_regs_hop hop;
hop               132 drivers/thunderbolt/path.c 		ret = tb_port_read(p, &hop, TB_CFG_HOPS, 2 * h, 2);
hop               139 drivers/thunderbolt/path.c 		if (!hop.enable)
hop               142 drivers/thunderbolt/path.c 		out_port = &sw->ports[hop.out_port];
hop               146 drivers/thunderbolt/path.c 		h = hop.next_hop;
hop               174 drivers/thunderbolt/path.c 		ret = tb_port_read(p, &hop, TB_CFG_HOPS, 2 * h, 2);
hop               183 drivers/thunderbolt/path.c 		out_port = &sw->ports[hop.out_port];
hop               184 drivers/thunderbolt/path.c 		next_hop = hop.next_hop;
hop               318 drivers/thunderbolt/path.c 		const struct tb_path_hop *hop = &path->hops[i];
hop               320 drivers/thunderbolt/path.c 		if (hop->in_port)
hop               321 drivers/thunderbolt/path.c 			tb_port_release_in_hopid(hop->in_port,
hop               322 drivers/thunderbolt/path.c 						 hop->in_hop_index);
hop               323 drivers/thunderbolt/path.c 		if (hop->out_port)
hop               324 drivers/thunderbolt/path.c 			tb_port_release_out_hopid(hop->out_port,
hop               325 drivers/thunderbolt/path.c 						  hop->next_hop_index);
hop               348 drivers/thunderbolt/path.c 	struct tb_regs_hop hop;
hop               353 drivers/thunderbolt/path.c 	ret = tb_port_read(port, &hop, TB_CFG_HOPS, 2 * hop_index, 2);
hop               358 drivers/thunderbolt/path.c 	if (!hop.enable)
hop               361 drivers/thunderbolt/path.c 	hop.enable = 0;
hop               363 drivers/thunderbolt/path.c 	ret = tb_port_write(port, &hop, TB_CFG_HOPS, 2 * hop_index, 2);
hop               370 drivers/thunderbolt/path.c 		ret = tb_port_read(port, &hop, TB_CFG_HOPS, 2 * hop_index, 2);
hop               374 drivers/thunderbolt/path.c 		if (!hop.pending) {
hop               377 drivers/thunderbolt/path.c 				hop.ingress_fc = 0;
hop               378 drivers/thunderbolt/path.c 				hop.egress_fc = 0;
hop               379 drivers/thunderbolt/path.c 				hop.ingress_shared_buffer = 0;
hop               380 drivers/thunderbolt/path.c 				hop.egress_shared_buffer = 0;
hop               382 drivers/thunderbolt/path.c 				return tb_port_write(port, &hop, TB_CFG_HOPS,
hop               473 drivers/thunderbolt/path.c 		struct tb_regs_hop hop = { 0 };
hop               480 drivers/thunderbolt/path.c 		hop.next_hop = path->hops[i].next_hop_index;
hop               481 drivers/thunderbolt/path.c 		hop.out_port = path->hops[i].out_port->port;
hop               482 drivers/thunderbolt/path.c 		hop.initial_credits = path->hops[i].initial_credits;
hop               483 drivers/thunderbolt/path.c 		hop.unknown1 = 0;
hop               484 drivers/thunderbolt/path.c 		hop.enable = 1;
hop               490 drivers/thunderbolt/path.c 		hop.weight = path->weight;
hop               491 drivers/thunderbolt/path.c 		hop.unknown2 = 0;
hop               492 drivers/thunderbolt/path.c 		hop.priority = path->priority;
hop               493 drivers/thunderbolt/path.c 		hop.drop_packages = path->drop_packages;
hop               494 drivers/thunderbolt/path.c 		hop.counter = path->hops[i].in_counter_index;
hop               495 drivers/thunderbolt/path.c 		hop.counter_enable = path->hops[i].in_counter_index != -1;
hop               496 drivers/thunderbolt/path.c 		hop.ingress_fc = path->ingress_fc_enable & in_mask;
hop               497 drivers/thunderbolt/path.c 		hop.egress_fc = path->egress_fc_enable & out_mask;
hop               498 drivers/thunderbolt/path.c 		hop.ingress_shared_buffer = path->ingress_shared_buffer
hop               500 drivers/thunderbolt/path.c 		hop.egress_shared_buffer = path->egress_shared_buffer
hop               502 drivers/thunderbolt/path.c 		hop.unknown3 = 0;
hop               505 drivers/thunderbolt/path.c 		tb_dump_hop(&path->hops[i], &hop);
hop               506 drivers/thunderbolt/path.c 		res = tb_port_write(path->hops[i].in_port, &hop, TB_CFG_HOPS,
hop               484 include/linux/thunderbolt.h 	int hop;
hop               554 include/linux/thunderbolt.h struct tb_ring *tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size,
hop               556 include/linux/thunderbolt.h struct tb_ring *tb_ring_alloc_rx(struct tb_nhi *nhi, int hop, int size,
hop                51 include/sound/seq_kernel.h 	int (*event_input)(struct snd_seq_event *ev, int direct, void *private_data, int atomic, int hop);
hop                63 include/sound/seq_kernel.h int snd_seq_kernel_client_dispatch(int client, struct snd_seq_event *ev, int atomic, int hop);
hop               784 net/ipv6/calipso.c static int calipso_opt_update(struct sock *sk, struct ipv6_opt_hdr *hop)
hop               788 net/ipv6/calipso.c 	txopts = ipv6_renew_options(sk, old, IPV6_HOPOPTS, hop);
hop               850 net/ipv6/calipso.c static int calipso_opt_find(struct ipv6_opt_hdr *hop, unsigned int *start,
hop               855 net/ipv6/calipso.c 	unsigned char *opt = (unsigned char *)hop;
hop               857 net/ipv6/calipso.c 	opt_len = ipv6_optlen(hop);
hop               858 net/ipv6/calipso.c 	offset = sizeof(*hop);
hop               861 net/ipv6/calipso.c 		tlv_len = calipso_tlv_len(hop, offset);
hop               886 net/ipv6/calipso.c 		*start = offset_s + calipso_tlv_len(hop, offset_s);
hop               888 net/ipv6/calipso.c 		*start = sizeof(*hop);
hop               890 net/ipv6/calipso.c 		*end = offset_e + calipso_tlv_len(hop, offset_e);
hop               912 net/ipv6/calipso.c calipso_opt_insert(struct ipv6_opt_hdr *hop,
hop               920 net/ipv6/calipso.c 	if (hop) {
hop               921 net/ipv6/calipso.c 		hop_len = ipv6_optlen(hop);
hop               922 net/ipv6/calipso.c 		ret_val = calipso_opt_find(hop, &start, &end);
hop               927 net/ipv6/calipso.c 		start = sizeof(*hop);
hop               936 net/ipv6/calipso.c 	if (start > sizeof(*hop))
hop               937 net/ipv6/calipso.c 		memcpy(new, hop, start);
hop               952 net/ipv6/calipso.c 		memcpy((char *)new + buf_len, (char *)hop + end, hop_len - end);
hop               975 net/ipv6/calipso.c static int calipso_opt_del(struct ipv6_opt_hdr *hop,
hop               981 net/ipv6/calipso.c 	ret_val = calipso_opt_find(hop, &start, &end);
hop               985 net/ipv6/calipso.c 	hop_len = ipv6_optlen(hop);
hop               986 net/ipv6/calipso.c 	if (start == sizeof(*hop) && end == hop_len) {
hop               997 net/ipv6/calipso.c 	memcpy(*new, hop, start);
hop              1002 net/ipv6/calipso.c 		memcpy((char *)*new + start + pad, (char *)hop + end,
hop              1079 net/ipv6/calipso.c 	struct ipv6_opt_hdr *hop;
hop              1087 net/ipv6/calipso.c 	hop = txopts->hopopt;
hop              1088 net/ipv6/calipso.c 	opt = (unsigned char *)hop;
hop              1089 net/ipv6/calipso.c 	opt_len = ipv6_optlen(hop);
hop              1090 net/ipv6/calipso.c 	offset = sizeof(*hop);
hop              1092 net/ipv6/calipso.c 		len = calipso_tlv_len(hop, offset);
hop              1304 net/ipv6/calipso.c 	struct ipv6_opt_hdr *hop;
hop              1311 net/ipv6/calipso.c 		hop = (struct ipv6_opt_hdr *)(ip6_hdr + 1);
hop              1312 net/ipv6/calipso.c 		ret_val = calipso_opt_find(hop, &start, &end);
hop              1348 net/ipv6/calipso.c 	hop = (struct ipv6_opt_hdr *)(ip6_hdr + 1);
hop              1356 net/ipv6/calipso.c 		hop->hdrlen += len_delta / 8;
hop              1358 net/ipv6/calipso.c 	memcpy((char *)hop + start, buf + (start & 3), new_end - start);
hop              1359 net/ipv6/calipso.c 	calipso_pad_write((unsigned char *)hop, new_end, pad);
hop               136 sound/core/seq/oss/seq_oss_device.h snd_seq_oss_dispatch(struct seq_oss_devinfo *dp, struct snd_seq_event *ev, int atomic, int hop)
hop               138 sound/core/seq/oss/seq_oss_device.h 	return snd_seq_kernel_client_dispatch(dp->cseq, ev, atomic, hop);
hop               423 sound/core/seq/oss/seq_oss_event.c 			int atomic, int hop)
hop                96 sound/core/seq/oss/seq_oss_event.h int snd_seq_oss_event_input(struct snd_seq_event *ev, int direct, void *private_data, int atomic, int hop);
hop                40 sound/core/seq/oss/seq_oss_init.c static int receive_announce(struct snd_seq_event *ev, int direct, void *private, int atomic, int hop);
hop               123 sound/core/seq/oss/seq_oss_init.c receive_announce(struct snd_seq_event *ev, int direct, void *private, int atomic, int hop)
hop                68 sound/core/seq/seq_clientmgr.c 			      int err, int atomic, int hop);
hop                71 sound/core/seq/seq_clientmgr.c 					int filter, int atomic, int hop);
hop               535 sound/core/seq/seq_clientmgr.c 			      int err, int atomic, int hop)
hop               557 sound/core/seq/seq_clientmgr.c 	result = snd_seq_deliver_single_event(NULL, &bounce_ev, 0, atomic, hop + 1);
hop               603 sound/core/seq/seq_clientmgr.c 					int filter, int atomic, int hop)
hop               640 sound/core/seq/seq_clientmgr.c 						atomic, hop);
hop               653 sound/core/seq/seq_clientmgr.c 		result = bounce_error_event(client, event, result, atomic, hop);
hop               664 sound/core/seq/seq_clientmgr.c 				  int atomic, int hop)
hop               683 sound/core/seq/seq_clientmgr.c 		down_read_nested(&grp->list_mutex, hop);
hop               694 sound/core/seq/seq_clientmgr.c 						   0, atomic, hop);
hop               721 sound/core/seq/seq_clientmgr.c 				int atomic, int hop)
hop               737 sound/core/seq/seq_clientmgr.c 						   atomic, hop);
hop               757 sound/core/seq/seq_clientmgr.c 			   struct snd_seq_event *event, int atomic, int hop)
hop               772 sound/core/seq/seq_clientmgr.c 			err = port_broadcast_event(client, event, atomic, hop);
hop               777 sound/core/seq/seq_clientmgr.c 							   atomic, hop);
hop               793 sound/core/seq/seq_clientmgr.c 			   int atomic, int hop)
hop               810 sound/core/seq/seq_clientmgr.c 				 int atomic, int hop)
hop               814 sound/core/seq/seq_clientmgr.c 	hop++;
hop               815 sound/core/seq/seq_clientmgr.c 	if (hop >= SNDRV_SEQ_MAX_HOPS) {
hop               828 sound/core/seq/seq_clientmgr.c 		result = deliver_to_subscribers(client, event, atomic, hop);
hop               832 sound/core/seq/seq_clientmgr.c 		result = broadcast_event(client, event, atomic, hop);
hop               834 sound/core/seq/seq_clientmgr.c 		result = multicast_event(client, event, atomic, hop);
hop               836 sound/core/seq/seq_clientmgr.c 		result = port_broadcast_event(client, event, atomic, hop);
hop               839 sound/core/seq/seq_clientmgr.c 		result = snd_seq_deliver_single_event(client, event, 0, atomic, hop);
hop               854 sound/core/seq/seq_clientmgr.c int snd_seq_dispatch_event(struct snd_seq_event_cell *cell, int atomic, int hop)
hop               878 sound/core/seq/seq_clientmgr.c 		result = snd_seq_deliver_event(client, &tmpev, atomic, hop);
hop               905 sound/core/seq/seq_clientmgr.c 		if (snd_seq_enqueue_event(cell, atomic, hop) < 0)
hop               913 sound/core/seq/seq_clientmgr.c 		result = snd_seq_deliver_event(client, &cell->event, atomic, hop);
hop               929 sound/core/seq/seq_clientmgr.c 					int atomic, int hop,
hop               958 sound/core/seq/seq_clientmgr.c 		return snd_seq_deliver_event(client, event, atomic, hop);
hop               974 sound/core/seq/seq_clientmgr.c 	if ((err = snd_seq_enqueue_event(cell, atomic, hop)) < 0) {
hop              2301 sound/core/seq/seq_clientmgr.c 				   int atomic, int hop)
hop              2323 sound/core/seq/seq_clientmgr.c 		result = snd_seq_deliver_event(cptr, ev, atomic, hop);
hop                79 sound/core/seq/seq_clientmgr.h int snd_seq_dispatch_event(struct snd_seq_event_cell *cell, int atomic, int hop);
hop                75 sound/core/seq/seq_dummy.c 	    int atomic, int hop)
hop                90 sound/core/seq/seq_dummy.c 	return snd_seq_kernel_client_dispatch(p->client, &tmpev, atomic, hop);
hop               115 sound/core/seq/seq_midi.c 			      void *private_data, int atomic, int hop)
hop                58 sound/core/seq/seq_ports.h 			   int atomic, int hop);
hop               237 sound/core/seq/seq_queue.c void snd_seq_check_queue(struct snd_seq_queue *q, int atomic, int hop)
hop               264 sound/core/seq/seq_queue.c 		snd_seq_dispatch_event(cell, atomic, hop);
hop               273 sound/core/seq/seq_queue.c 		snd_seq_dispatch_event(cell, atomic, hop);
hop               289 sound/core/seq/seq_queue.c int snd_seq_enqueue_event(struct snd_seq_event_cell *cell, int atomic, int hop)
hop               333 sound/core/seq/seq_queue.c 	snd_seq_check_queue(q, atomic, hop);
hop               641 sound/core/seq/seq_queue.c 				  int atomic, int hop)
hop               656 sound/core/seq/seq_queue.c 	snd_seq_kernel_client_dispatch(SNDRV_SEQ_CLIENT_SYSTEM, &sev, atomic, hop);
hop               665 sound/core/seq/seq_queue.c 					int atomic, int hop)
hop               672 sound/core/seq/seq_queue.c 			queue_broadcast_event(q, ev, atomic, hop);
hop               677 sound/core/seq/seq_queue.c 			queue_broadcast_event(q, ev, atomic, hop);
hop               682 sound/core/seq/seq_queue.c 		queue_broadcast_event(q, ev, atomic, hop);
hop               687 sound/core/seq/seq_queue.c 		queue_broadcast_event(q, ev, atomic, hop);
hop               692 sound/core/seq/seq_queue.c 			queue_broadcast_event(q, ev, atomic, hop);
hop               698 sound/core/seq/seq_queue.c 			queue_broadcast_event(q, ev, atomic, hop);
hop               705 sound/core/seq/seq_queue.c 			queue_broadcast_event(q, ev, atomic, hop);
hop               716 sound/core/seq/seq_queue.c int snd_seq_control_queue(struct snd_seq_event *ev, int atomic, int hop)
hop               732 sound/core/seq/seq_queue.c 	snd_seq_queue_process_event(q, ev, atomic, hop);
hop                69 sound/core/seq/seq_queue.h int snd_seq_enqueue_event(struct snd_seq_event_cell *cell, int atomic, int hop);
hop                84 sound/core/seq/seq_queue.h void snd_seq_check_queue(struct snd_seq_queue *q, int atomic, int hop);
hop                96 sound/core/seq/seq_queue.h int snd_seq_control_queue(struct snd_seq_event *ev, int atomic, int hop);
hop               101 sound/core/seq/seq_system.c static int event_input_timer(struct snd_seq_event * ev, int direct, void *private_data, int atomic, int hop)
hop               103 sound/core/seq/seq_system.c 	return snd_seq_control_queue(ev, atomic, hop);
hop               103 sound/core/seq/seq_virmidi.c 				   void *private_data, int atomic, int hop)
hop                29 sound/drivers/opl3/opl3_oss.c 				    void *private_data, int atomic, int hop)
hop               142 sound/drivers/opl3/opl3_seq.c 				      void *private_data, int atomic, int hop)
hop               112 sound/drivers/opl4/opl4_seq.c 				    void *private_data, int atomic, int hop)
hop                27 sound/synth/emux/emux_oss.c 				    void *private, int atomic, int hop);
hop                30 sound/synth/emux/emux_oss.c 			    int cmd, unsigned char *event, int atomic, int hop);
hop                32 sound/synth/emux/emux_oss.c 			    int cmd, unsigned char *event, int atomic, int hop);
hop                34 sound/synth/emux/emux_oss.c 		       int ch, int param, int val, int atomic, int hop);
hop               288 sound/synth/emux/emux_oss.c 			 int atomic, int hop)
hop               301 sound/synth/emux/emux_oss.c 		return snd_emux_event_input(ev, direct, private_data, atomic, hop);
hop               309 sound/synth/emux/emux_oss.c 		emuspec_control(emu, p, cmd, data, atomic, hop);
hop               311 sound/synth/emux/emux_oss.c 		gusspec_control(emu, p, cmd, data, atomic, hop);
hop               321 sound/synth/emux/emux_oss.c 		unsigned char *event, int atomic, int hop)
hop               361 sound/synth/emux/emux_oss.c 		fake_event(emu, port, voice, MIDI_CTL_ALL_NOTES_OFF, 0, atomic, hop);
hop               364 sound/synth/emux/emux_oss.c 		fake_event(emu, port, voice, MIDI_CTL_ALL_SOUNDS_OFF, 0, atomic, hop);
hop               416 sound/synth/emux/emux_oss.c 		unsigned char *event, int atomic, int hop)
hop               481 sound/synth/emux/emux_oss.c fake_event(struct snd_emux *emu, struct snd_emux_port *port, int ch, int param, int val, int atomic, int hop)
hop               489 sound/synth/emux/emux_oss.c 	snd_emux_event_input(&ev, 0, port, atomic, hop);
hop               240 sound/synth/emux/emux_seq.c 		     int atomic, int hop)
hop                25 sound/synth/emux/emux_voice.h 			 int atomic, int hop);
hop                15 tools/testing/radix-tree/main.c void __gang_check(unsigned long middle, long down, long up, int chunk, int hop)
hop                32 tools/testing/radix-tree/main.c 				chunk, hop);
hop               118 tools/testing/radix-tree/test.c 			int chunk, int hop)
hop               136 tools/testing/radix-tree/test.c 		into += hop;
hop                25 tools/testing/radix-tree/test.h 			int chunk, int hop);