Lines Matching refs:map

31  * @map: Map object describing the register block information found
36 * Probe for component register information and return it in map object.
39 struct cxl_component_reg_map *map)
44 *map = (struct cxl_component_reg_map) { 0 };
86 rmap = &map->hdm_decoder;
93 rmap = &map->ras;
115 * @map: Map object describing the register block information found
117 * Probe for device register information and return it in map object.
120 struct cxl_device_reg_map *map)
125 *map = (struct cxl_device_reg_map){ 0 };
148 rmap = &map->status;
152 rmap = &map->mbox;
159 rmap = &map->memdev;
198 dev_err(dev, "Failed to map region %pr\n", res);
203 int cxl_map_component_regs(const struct cxl_register_map *map,
207 struct device *host = map->host;
212 { &map->component_map.hdm_decoder, &regs->hdm_decoder },
213 { &map->component_map.ras, &regs->ras },
226 addr = map->resource + mi->rmap->offset;
237 int cxl_map_device_regs(const struct cxl_register_map *map,
240 struct device *host = map->host;
241 resource_size_t phys_addr = map->resource;
246 { &map->device_map.status, &regs->status, },
247 { &map->device_map.mbox, &regs->mbox, },
248 { &map->device_map.memdev, &regs->memdev, },
272 struct cxl_register_map *map)
286 map->reg_type = reg_type;
287 map->resource = pci_resource_start(pdev, bar) + offset;
288 map->max_size = pci_resource_len(pdev, bar) - offset;
296 * @map: Enumeration output, clobbered on error
306 struct cxl_register_map *map, int index)
312 *map = (struct cxl_register_map) {
334 if (!cxl_decode_regblock(pdev, reg_lo, reg_hi, map))
337 if (map->reg_type == type) {
344 map->resource = CXL_RESOURCE_NONE;
353 * @map: Enumeration output, clobbered on error
361 struct cxl_register_map *map)
363 return cxl_find_regblock_instance(pdev, type, map, 0);
378 struct cxl_register_map map;
382 rc = cxl_find_regblock_instance(pdev, type, &map, count);
390 int cxl_map_pmu_regs(struct cxl_register_map *map, struct cxl_pmu_regs *regs)
392 struct device *dev = map->host;
395 phys_addr = map->resource;
404 static int cxl_map_regblock(struct cxl_register_map *map)
406 struct device *host = map->host;
408 map->base = ioremap(map->resource, map->max_size);
409 if (!map->base) {
410 dev_err(host, "failed to map registers\n");
414 dev_dbg(host, "Mapped CXL Memory Device resource %pa\n", &map->resource);
418 static void cxl_unmap_regblock(struct cxl_register_map *map)
420 iounmap(map->base);
421 map->base = NULL;
424 static int cxl_probe_regs(struct cxl_register_map *map)
428 struct device *host = map->host;
429 void __iomem *base = map->base;
431 switch (map->reg_type) {
433 comp_map = &map->component_map;
438 dev_map = &map->device_map;
458 int cxl_setup_regs(struct cxl_register_map *map)
462 rc = cxl_map_regblock(map);
466 rc = cxl_probe_regs(map);
467 cxl_unmap_regblock(map);
532 dev_err(dev, "Failed to map region %pr\n", addr);