Lines Matching full:fib
162 struct zpci_fib fib = {}; in kvm_zpci_set_airq() local
165 fib.fmt0.isc = zdev->kzdev->fib.fmt0.isc; in kvm_zpci_set_airq()
166 fib.fmt0.sum = 1; /* enable summary notifications */ in kvm_zpci_set_airq()
167 fib.fmt0.noi = airq_iv_end(zdev->aibv); in kvm_zpci_set_airq()
168 fib.fmt0.aibv = virt_to_phys(zdev->aibv->vector); in kvm_zpci_set_airq()
169 fib.fmt0.aibvo = 0; in kvm_zpci_set_airq()
170 fib.fmt0.aisb = virt_to_phys(aift->sbv->vector + (zdev->aisb / 64) * 8); in kvm_zpci_set_airq()
171 fib.fmt0.aisbo = zdev->aisb & 63; in kvm_zpci_set_airq()
172 fib.gd = zdev->gisa; in kvm_zpci_set_airq()
174 return zpci_mod_fc(req, &fib, &status) ? -EIO : 0; in kvm_zpci_set_airq()
181 struct zpci_fib fib = {}; in kvm_zpci_clear_airq() local
184 fib.gd = zdev->gisa; in kvm_zpci_clear_airq()
186 cc = zpci_mod_fc(req, &fib, &status); in kvm_zpci_clear_airq()
223 static int kvm_s390_pci_aif_enable(struct zpci_dev *zdev, struct zpci_fib *fib, in kvm_s390_pci_aif_enable() argument
242 msi_vecs = min_t(unsigned int, fib->fmt0.noi, zdev->max_msi); in kvm_s390_pci_aif_enable()
245 gisc = kvm_s390_gisc_register(kvm, fib->fmt0.isc); in kvm_s390_pci_aif_enable()
251 hva = gfn_to_hva(kvm, gpa_to_gfn((gpa_t)fib->fmt0.aibv)); in kvm_s390_pci_aif_enable()
260 gaddr = page_to_phys(aibv_page) + (fib->fmt0.aibv & ~PAGE_MASK); in kvm_s390_pci_aif_enable()
261 fib->fmt0.aibv = gaddr; in kvm_s390_pci_aif_enable()
264 if (fib->fmt0.sum == 1) { in kvm_s390_pci_aif_enable()
266 hva = gfn_to_hva(kvm, gpa_to_gfn((gpa_t)fib->fmt0.aisb)); in kvm_s390_pci_aif_enable()
291 phys_to_virt(fib->fmt0.aibv)); in kvm_s390_pci_aif_enable()
303 gaite->gisc = fib->fmt0.isc; in kvm_s390_pci_aif_enable()
305 gaite->aisbo = fib->fmt0.aisbo; in kvm_s390_pci_aif_enable()
306 gaite->aisb = virt_to_phys(page_address(aisb_page) + (fib->fmt0.aisb & in kvm_s390_pci_aif_enable()
311 /* Update guest FIB for re-issue */ in kvm_s390_pci_aif_enable()
312 fib->fmt0.aisbo = zdev->aisb & 63; in kvm_s390_pci_aif_enable()
313 fib->fmt0.aisb = virt_to_phys(aift->sbv->vector + (zdev->aisb / 64) * 8); in kvm_s390_pci_aif_enable()
314 fib->fmt0.isc = gisc; in kvm_s390_pci_aif_enable()
316 /* Save some guest fib values in the host for later use */ in kvm_s390_pci_aif_enable()
317 zdev->kzdev->fib.fmt0.isc = fib->fmt0.isc; in kvm_s390_pci_aif_enable()
318 zdev->kzdev->fib.fmt0.aibv = fib->fmt0.aibv; in kvm_s390_pci_aif_enable()
328 if (fib->fmt0.sum == 1) in kvm_s390_pci_aif_enable()
358 if (zdev->kzdev->fib.fmt0.aibv == 0) in kvm_s390_pci_aif_disable()
367 vpage = phys_to_page(kzdev->fib.fmt0.aibv); in kvm_s390_pci_aif_disable()
384 kzdev->fib.fmt0.isc = 0; in kvm_s390_pci_aif_disable()
385 kzdev->fib.fmt0.aibv = 0; in kvm_s390_pci_aif_disable()
534 if (zdev->kzdev->fib.fmt0.aibv != 0) in kvm_s390_pci_unregister_kvm()
596 struct zpci_fib fib = {}; in kvm_s390_pci_zpci_reg_aen() local
599 fib.fmt0.aibv = args->u.reg_aen.ibv; in kvm_s390_pci_zpci_reg_aen()
600 fib.fmt0.isc = args->u.reg_aen.isc; in kvm_s390_pci_zpci_reg_aen()
601 fib.fmt0.noi = args->u.reg_aen.noi; in kvm_s390_pci_zpci_reg_aen()
603 fib.fmt0.aisb = args->u.reg_aen.sb; in kvm_s390_pci_zpci_reg_aen()
604 fib.fmt0.aisbo = args->u.reg_aen.sbo; in kvm_s390_pci_zpci_reg_aen()
605 fib.fmt0.sum = 1; in kvm_s390_pci_zpci_reg_aen()
607 fib.fmt0.aisb = 0; in kvm_s390_pci_zpci_reg_aen()
608 fib.fmt0.aisbo = 0; in kvm_s390_pci_zpci_reg_aen()
609 fib.fmt0.sum = 0; in kvm_s390_pci_zpci_reg_aen()
613 return kvm_s390_pci_aif_enable(zdev, &fib, hostflag); in kvm_s390_pci_zpci_reg_aen()