Lines Matching full:rsc
331 struct fw_rsc_vdev *rsc; in rproc_alloc_vring() local
339 rsc = (void *)rproc->table_ptr + rvdev->rsc_offset; in rproc_alloc_vring()
345 if (rproc_check_carveout_da(rproc, mem, rsc->vring[i].da, size)) in rproc_alloc_vring()
350 size, rsc->vring[i].da, in rproc_alloc_vring()
382 rsc->vring[i].notifyid = notifyid; in rproc_alloc_vring()
387 rproc_parse_vring(struct rproc_vdev *rvdev, struct fw_rsc_vdev *rsc, int i) in rproc_parse_vring() argument
391 struct fw_rsc_vdev_vring *vring = &rsc->vring[i]; in rproc_parse_vring()
394 dev_dbg(dev, "vdev rsc: vring%d: da 0x%x, qsz %d, align %d\n", in rproc_parse_vring()
415 struct fw_rsc_vdev *rsc; in rproc_free_vring() local
431 rsc = (void *)rproc->table_ptr + rvring->rvdev->rsc_offset; in rproc_free_vring()
432 rsc->vring[idx].da = 0; in rproc_free_vring()
433 rsc->vring[idx].notifyid = -1; in rproc_free_vring()
518 struct fw_rsc_vdev *rsc = ptr; in rproc_handle_vdev() local
525 if (struct_size(rsc, vring, rsc->num_of_vrings) + rsc->config_len > in rproc_handle_vdev()
527 dev_err(dev, "vdev rsc is truncated\n"); in rproc_handle_vdev()
532 if (rsc->reserved[0] || rsc->reserved[1]) { in rproc_handle_vdev()
533 dev_err(dev, "vdev rsc has non zero reserved bytes\n"); in rproc_handle_vdev()
537 dev_dbg(dev, "vdev rsc: id %d, dfeatures 0x%x, cfg len %d, %d vrings\n", in rproc_handle_vdev()
538 rsc->id, rsc->dfeatures, rsc->config_len, rsc->num_of_vrings); in rproc_handle_vdev()
541 if (rsc->num_of_vrings > ARRAY_SIZE(rvdev->vring)) { in rproc_handle_vdev()
542 dev_err(dev, "too many vrings: %d\n", rsc->num_of_vrings); in rproc_handle_vdev()
552 rvdev->id = rsc->id; in rproc_handle_vdev()
583 for (i = 0; i < rsc->num_of_vrings; i++) { in rproc_handle_vdev()
584 ret = rproc_parse_vring(rvdev, rsc, i); in rproc_handle_vdev()
593 for (i = 0; i < rsc->num_of_vrings; i++) { in rproc_handle_vdev()
643 * Currently, the 'da' member of @rsc should contain the device address
653 struct fw_rsc_trace *rsc = ptr; in rproc_handle_trace() local
658 if (sizeof(*rsc) > avail) { in rproc_handle_trace()
659 dev_err(dev, "trace rsc is truncated\n"); in rproc_handle_trace()
664 if (rsc->reserved) { in rproc_handle_trace()
665 dev_err(dev, "trace rsc has non zero reserved bytes\n"); in rproc_handle_trace()
674 trace->trace_mem.len = rsc->len; in rproc_handle_trace()
675 trace->trace_mem.da = rsc->da; in rproc_handle_trace()
695 name, rsc->da, rsc->len); in rproc_handle_trace()
731 struct fw_rsc_devmem *rsc = ptr; in rproc_handle_devmem() local
740 if (sizeof(*rsc) > avail) { in rproc_handle_devmem()
741 dev_err(dev, "devmem rsc is truncated\n"); in rproc_handle_devmem()
746 if (rsc->reserved) { in rproc_handle_devmem()
747 dev_err(dev, "devmem rsc has non zero reserved bytes\n"); in rproc_handle_devmem()
755 ret = iommu_map(rproc->domain, rsc->da, rsc->pa, rsc->len, rsc->flags); in rproc_handle_devmem()
768 mapping->da = rsc->da; in rproc_handle_devmem()
769 mapping->len = rsc->len; in rproc_handle_devmem()
773 rsc->pa, rsc->da, rsc->len); in rproc_handle_devmem()
934 struct fw_rsc_carveout *rsc = ptr; in rproc_handle_carveout() local
938 if (sizeof(*rsc) > avail) { in rproc_handle_carveout()
939 dev_err(dev, "carveout rsc is truncated\n"); in rproc_handle_carveout()
944 if (rsc->reserved) { in rproc_handle_carveout()
945 dev_err(dev, "carveout rsc has non zero reserved bytes\n"); in rproc_handle_carveout()
949 dev_dbg(dev, "carveout rsc: name: %s, da 0x%x, pa 0x%x, len 0x%x, flags 0x%x\n", in rproc_handle_carveout()
950 rsc->name, rsc->da, rsc->pa, rsc->len, rsc->flags); in rproc_handle_carveout()
953 * Check carveout rsc already part of a registered carveout, in rproc_handle_carveout()
956 carveout = rproc_find_carveout_by_name(rproc, rsc->name); in rproc_handle_carveout()
965 if (rproc_check_carveout_da(rproc, carveout, rsc->da, rsc->len)) in rproc_handle_carveout()
970 carveout->flags = rsc->flags; in rproc_handle_carveout()
976 carveout = rproc_mem_entry_init(dev, NULL, 0, rsc->len, rsc->da, in rproc_handle_carveout()
978 rproc_release_carveout, rsc->name); in rproc_handle_carveout()
984 carveout->flags = rsc->flags; in rproc_handle_carveout()
1141 void *rsc = (void *)hdr + sizeof(*hdr); in rproc_handle_resources() local
1145 dev_err(dev, "rsc table is truncated\n"); in rproc_handle_resources()
1149 dev_dbg(dev, "rsc: type %d\n", hdr->type); in rproc_handle_resources()
1153 ret = rproc_handle_rsc(rproc, hdr->type, rsc, in rproc_handle_resources()
1174 ret = handler(rproc, rsc, offset + sizeof(*hdr), avail); in rproc_handle_resources()
1264 struct fw_rsc_carveout *rsc; in rproc_alloc_registered_carveouts() local
1281 rsc = (void *)rproc->table_ptr + entry->rsc_offset; in rproc_alloc_registered_carveouts()
1311 rsc->pa = (u32)pa; in rproc_alloc_registered_carveouts()
1312 rsc->da = entry->da; in rproc_alloc_registered_carveouts()
1313 rsc->len = entry->len; in rproc_alloc_registered_carveouts()