Lines Matching refs:pgid
139 struct pgid *pgid = &cdev->private->dma_area->pgid[i];
141 pgid->inf.fc = fn;
143 cp->cda = (u32) (addr_t) pgid;
144 cp->count = sizeof(*pgid);
280 static int pgid_is_reset(struct pgid *p)
291 static int pgid_cmp(struct pgid *p1, struct pgid *p2)
294 sizeof(struct pgid) - 1);
300 static void pgid_analyze(struct ccw_device *cdev, struct pgid **p,
303 struct pgid *pgid = &cdev->private->dma_area->pgid[0];
304 struct pgid *first = NULL;
311 for (i = 0, lpm = 0x80; i < 8; i++, pgid++, lpm >>= 1) {
314 if (pgid->inf.ps.state2 == SNID_STATE2_RESVD_ELSE)
316 if (pgid_is_reset(pgid)) {
321 first = pgid;
324 if (pgid_cmp(pgid, first) != 0)
335 struct pgid *pgid;
345 pgid = &cdev->private->dma_area->pgid[i];
347 if (pgid->inf.ps.state1 != SNID_STATE1_GROUPED)
350 if (pgid->inf.ps.state1 != SNID_STATE1_UNGROUPED)
354 if (pgid->inf.ps.state3 != SNID_STATE3_MULTI_PATH)
357 if (pgid->inf.ps.state3 != SNID_STATE3_SINGLE_PATH)
366 static void pgid_fill(struct ccw_device *cdev, struct pgid *pgid)
371 memcpy(&cdev->private->dma_area->pgid[i], pgid,
372 sizeof(struct pgid));
382 struct pgid *pgid;
390 pgid_analyze(cdev, &pgid, &mismatch, &reserved, &reset);
401 pgid_fill(cdev, pgid);
444 cp->cda = (u32) (addr_t) &cdev->private->dma_area->pgid[i];
445 cp->count = sizeof(struct pgid);
520 memset(cdev->private->dma_area->pgid, 0,
521 sizeof(cdev->private->dma_area->pgid));