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()
479 struct fw_rsc_vdev *rsc = ptr; in rproc_handle_vdev() local
487 rsc_size = struct_size(rsc, vring, rsc->num_of_vrings); in rproc_handle_vdev()
488 if (size_add(rsc_size, rsc->config_len) > avail) { in rproc_handle_vdev()
489 dev_err(dev, "vdev rsc is truncated\n"); in rproc_handle_vdev()
494 if (rsc->reserved[0] || rsc->reserved[1]) { in rproc_handle_vdev()
495 dev_err(dev, "vdev rsc has non zero reserved bytes\n"); in rproc_handle_vdev()
499 dev_dbg(dev, "vdev rsc: id %d, dfeatures 0x%x, cfg len %d, %d vrings\n", in rproc_handle_vdev()
500 rsc->id, rsc->dfeatures, rsc->config_len, rsc->num_of_vrings); in rproc_handle_vdev()
503 if (rsc->num_of_vrings > ARRAY_SIZE(rvdev->vring)) { in rproc_handle_vdev()
504 dev_err(dev, "too many vrings: %d\n", rsc->num_of_vrings); in rproc_handle_vdev()
508 rvdev_data.id = rsc->id; in rproc_handle_vdev()
511 rvdev_data.rsc = rsc; in rproc_handle_vdev()
539 * Currently, the 'da' member of @rsc should contain the device address
549 struct fw_rsc_trace *rsc = ptr; in rproc_handle_trace() local
554 if (sizeof(*rsc) > avail) { in rproc_handle_trace()
555 dev_err(dev, "trace rsc is truncated\n"); in rproc_handle_trace()
560 if (rsc->reserved) { in rproc_handle_trace()
561 dev_err(dev, "trace rsc has non zero reserved bytes\n"); in rproc_handle_trace()
570 trace->trace_mem.len = rsc->len; in rproc_handle_trace()
571 trace->trace_mem.da = rsc->da; in rproc_handle_trace()
587 name, rsc->da, rsc->len); in rproc_handle_trace()
623 struct fw_rsc_devmem *rsc = ptr; in rproc_handle_devmem() local
632 if (sizeof(*rsc) > avail) { in rproc_handle_devmem()
633 dev_err(dev, "devmem rsc is truncated\n"); in rproc_handle_devmem()
638 if (rsc->reserved) { in rproc_handle_devmem()
639 dev_err(dev, "devmem rsc has non zero reserved bytes\n"); in rproc_handle_devmem()
647 ret = iommu_map(rproc->domain, rsc->da, rsc->pa, rsc->len, rsc->flags, in rproc_handle_devmem()
661 mapping->da = rsc->da; in rproc_handle_devmem()
662 mapping->len = rsc->len; in rproc_handle_devmem()
666 rsc->pa, rsc->da, rsc->len); in rproc_handle_devmem()
827 struct fw_rsc_carveout *rsc = ptr; in rproc_handle_carveout() local
831 if (sizeof(*rsc) > avail) { in rproc_handle_carveout()
832 dev_err(dev, "carveout rsc is truncated\n"); in rproc_handle_carveout()
837 if (rsc->reserved) { in rproc_handle_carveout()
838 dev_err(dev, "carveout rsc has non zero reserved bytes\n"); in rproc_handle_carveout()
842 dev_dbg(dev, "carveout rsc: name: %s, da 0x%x, pa 0x%x, len 0x%x, flags 0x%x\n", in rproc_handle_carveout()
843 rsc->name, rsc->da, rsc->pa, rsc->len, rsc->flags); in rproc_handle_carveout()
846 * Check carveout rsc already part of a registered carveout, in rproc_handle_carveout()
849 carveout = rproc_find_carveout_by_name(rproc, rsc->name); in rproc_handle_carveout()
858 if (rproc_check_carveout_da(rproc, carveout, rsc->da, rsc->len)) in rproc_handle_carveout()
863 carveout->flags = rsc->flags; in rproc_handle_carveout()
869 carveout = rproc_mem_entry_init(dev, NULL, 0, rsc->len, rsc->da, in rproc_handle_carveout()
871 rproc_release_carveout, rsc->name); in rproc_handle_carveout()
877 carveout->flags = rsc->flags; in rproc_handle_carveout()
1034 void *rsc = (void *)hdr + sizeof(*hdr); in rproc_handle_resources() local
1038 dev_err(dev, "rsc table is truncated\n"); in rproc_handle_resources()
1042 dev_dbg(dev, "rsc: type %d\n", hdr->type); in rproc_handle_resources()
1046 ret = rproc_handle_rsc(rproc, hdr->type, rsc, in rproc_handle_resources()
1067 ret = handler(rproc, rsc, offset + sizeof(*hdr), avail); in rproc_handle_resources()
1157 struct fw_rsc_carveout *rsc; in rproc_alloc_registered_carveouts() local
1174 rsc = (void *)rproc->table_ptr + entry->rsc_offset; in rproc_alloc_registered_carveouts()
1204 rsc->pa = (u32)pa; in rproc_alloc_registered_carveouts()
1205 rsc->da = entry->da; in rproc_alloc_registered_carveouts()
1206 rsc->len = entry->len; in rproc_alloc_registered_carveouts()