writel(mpt_entry.lkey, &fmr->mem.tavor.mpt->key); 
__raw_writel((__force u32) mpt_entry.lkey, &fmr->mem.tavor.mpt->key); 
int mthca_tavor_map_phys_fmr(struct ib_fmr *ibfmr, u64 *page_list,			     int list_len, u64 iova){	struct mthca_fmr *fmr = to_mfmr(ibfmr);	struct mthca_dev *dev = to_mdev(ibfmr->device);	struct mthca_mpt_entry mpt_entry;	u32 key;	int i, err;	err = mthca_check_fmr(fmr, page_list, list_len, iova);	if (err)		return err;	++fmr->maps;	key = tavor_key_to_hw_index(fmr->ibmr.lkey);	key += dev->limits.num_mpts;	fmr->ibmr.lkey = fmr->ibmr.rkey = tavor_hw_index_to_key(key);	writeb(MTHCA_MPT_STATUS_SW, fmr->mem.tavor.mpt);	for (i = 0; i < list_len; ++i) {		__be64 mtt_entry = cpu_to_be64(page_list[i] |					       MTHCA_MTT_FLAG_PRESENT);		mthca_write64_raw(mtt_entry, fmr->mem.tavor.mtts + i);	}	mpt_entry.lkey   = cpu_to_be32(key);	mpt_entry.length = cpu_to_be64(list_len * (1ull << fmr->attr.page_size));	mpt_entry.start  = cpu_to_be64(iova);	writel(mpt_entry.lkey, &fmr->mem.tavor.mpt->key);	memcpy_toio(&fmr->mem.tavor.mpt->start, &mpt_entry.start,		    offsetof(struct mthca_mpt_entry, window_count) -		    offsetof(struct mthca_mpt_entry, start));	writeb(MTHCA_MPT_STATUS_HW, fmr->mem.tavor.mpt);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/97f52eb438be7caebe026421545619d8a0c1398a/mthca_mr.c/clean/drivers/infiniband/hw/mthca/mthca_mr.c