Lines Matching refs:pgid
140 struct pgid *pgid = &cdev->private->dma_area->pgid[i];
142 pgid->inf.fc = fn;
144 cp->cda = virt_to_dma32(pgid);
145 cp->count = sizeof(*pgid);
281 static int pgid_is_reset(struct pgid *p)
292 static int pgid_cmp(struct pgid *p1, struct pgid *p2)
295 sizeof(struct pgid) - 1);
301 static void pgid_analyze(struct ccw_device *cdev, struct pgid **p,
304 struct pgid *pgid = &cdev->private->dma_area->pgid[0];
305 struct pgid *first = NULL;
312 for (i = 0, lpm = 0x80; i < 8; i++, pgid++, lpm >>= 1) {
315 if (pgid->inf.ps.state2 == SNID_STATE2_RESVD_ELSE)
317 if (pgid_is_reset(pgid)) {
322 first = pgid;
325 if (pgid_cmp(pgid, first) != 0)
336 struct pgid *pgid;
346 pgid = &cdev->private->dma_area->pgid[i];
348 if (pgid->inf.ps.state1 != SNID_STATE1_GROUPED)
351 if (pgid->inf.ps.state1 != SNID_STATE1_UNGROUPED)
355 if (pgid->inf.ps.state3 != SNID_STATE3_MULTI_PATH)
358 if (pgid->inf.ps.state3 != SNID_STATE3_SINGLE_PATH)
367 static void pgid_fill(struct ccw_device *cdev, struct pgid *pgid)
372 memcpy(&cdev->private->dma_area->pgid[i], pgid,
373 sizeof(struct pgid));
383 struct pgid *pgid;
391 pgid_analyze(cdev, &pgid, &mismatch, &reserved, &reset);
402 pgid_fill(cdev, pgid);
445 cp->cda = virt_to_dma32(&cdev->private->dma_area->pgid[i]);
446 cp->count = sizeof(struct pgid);
521 memset(cdev->private->dma_area->pgid, 0,
522 sizeof(cdev->private->dma_area->pgid));