Lines Matching defs:addr

343 static int nfp_decode_basic(u64 addr, int *dest_island, int cpp_tgt,
363 *dest_island = (addr >> iid_lsb) & 0x3F;
375 if (addr & BIT_ULL(idx_lsb))
398 if (addr & BIT_ULL(idx_lsb))
399 *dest_island = isld1 | (int)((addr >> iid_lsb) & 1);
401 *dest_island = isld0 | (int)((addr >> iid_lsb) & 1);
420 if (addr & BIT_ULL(idx_lsb))
421 *dest_island = isld1 | (int)((addr >> iid_lsb) & 3);
423 *dest_island = isld0 | (int)((addr >> iid_lsb) & 3);
431 static int nfp_encode_basic_qdr(u64 addr, int dest_island, int cpp_tgt,
437 ret = nfp_decode_basic(addr, &v, cpp_tgt, mode, addr40, isld1, isld0);
453 static int nfp_encode_basic_search(u64 *addr, int dest_island, int *isld,
463 *addr &= ~GENMASK_ULL(idx_lsb, iid_lsb);
464 *addr |= ((u64)i << idx_lsb);
465 *addr |= ((u64)v << iid_lsb);
475 static int nfp_encode_basic(u64 *addr, int dest_island, int cpp_tgt,
496 return nfp_encode_basic_qdr(*addr, cpp_tgt, dest_island,
502 *addr &= ~v64;
503 *addr |= ((u64)dest_island << iid_lsb) & v64;
507 return nfp_encode_basic_qdr(*addr, cpp_tgt, dest_island,
513 *addr &= ~BIT_ULL(idx_lsb);
519 *addr |= BIT_ULL(idx_lsb);
525 /* iid<0> = addr<30> = channel<0>
526 * channel<1> = addr<31> = Index
533 return nfp_encode_basic_qdr(*addr, cpp_tgt, dest_island,
546 return nfp_encode_basic_search(addr, dest_island, isld,
550 /* iid<0> = addr<29> = data
551 * iid<1> = addr<30> = channel<0>
552 * channel<1> = addr<31> = Index
554 return nfp_encode_basic_qdr(*addr, cpp_tgt, dest_island,
563 return nfp_encode_basic_search(addr, dest_island, isld,
570 static int nfp_encode_mu(u64 *addr, int dest_island, int mode,
582 if (((*addr >> locality_lsb) & 3) == _NIC_NFP6000_MU_LOCALITY_DIRECT)
591 *addr &= ~v64;
592 *addr |= (((u64)dest_island) << iid_lsb) & v64;
598 *addr &= ~v64;
599 *addr |= (((u64)dest_island) << iid_lsb) & v64;
605 *addr &= ~BIT_ULL(idx_lsb);
610 *addr |= BIT_ULL(idx_lsb);
619 *addr &= ~v64;
620 *addr |= (((u64)dest_island) << iid_lsb) & v64;
634 return nfp_encode_basic_search(addr, dest_island, isld,
646 *addr |= ((u64)_NIC_NFP6000_MU_LOCALITY_DIRECT)
654 *addr &= ~v64;
655 *addr |= (((u64)dest_island) << iid_lsb) & v64;
665 return nfp_encode_basic_search(addr, dest_island, isld,
672 static int nfp_cppat_addr_encode(u64 *addr, int dest_island, int cpp_tgt,
683 return nfp_encode_basic(addr, dest_island, cpp_tgt, mode,
687 return nfp_encode_mu(addr, dest_island, mode,
693 *addr &= ~GENMASK_ULL(29, 24);
694 *addr |= ((u64)dest_island << 24) & GENMASK_ULL(29, 24);