Searched refs:cxlsd (Results 1 – 7 of 7) sorted by relevance
| /linux/drivers/cxl/core/ |
| H A D | port.c | 151 static ssize_t emit_target_list(struct cxl_switch_decoder *cxlsd, char *buf) in emit_target_list() argument 153 struct cxl_decoder *cxld = &cxlsd->cxld; in emit_target_list() 158 struct cxl_dport *dport = cxlsd->target[i]; in emit_target_list() 165 next = cxlsd->target[i + 1]; in emit_target_list() 179 struct cxl_switch_decoder *cxlsd = to_cxl_switch_decoder(dev); in target_list_show() local 184 rc = emit_target_list(cxlsd, buf); in target_list_show() 345 return (cxlrd->cxlsd.cxld.flags & flags) == flags; in can_create_pmem() 352 return (cxlrd->cxlsd.cxld.flags & flags) == flags; in can_create_ram() 441 struct cxl_switch_decoder *cxlsd = to_cxl_switch_decoder(dev); in cxl_switch_decoder_release() local 443 __cxl_decoder_release(&cxlsd->cxld); in cxl_switch_decoder_release() [all …]
|
| H A D | hdm.c | 54 struct cxl_switch_decoder *cxlsd; in devm_cxl_add_passthrough_decoder() local 64 cxlsd = cxl_switch_decoder_alloc(port, 1); in devm_cxl_add_passthrough_decoder() 65 if (IS_ERR(cxlsd)) in devm_cxl_add_passthrough_decoder() 66 return PTR_ERR(cxlsd); in devm_cxl_add_passthrough_decoder() 70 return add_hdm_decoder(port, &cxlsd->cxld); in devm_cxl_add_passthrough_decoder() 711 static void cxlsd_set_targets(struct cxl_switch_decoder *cxlsd, u64 *tgt) in cxlsd_set_targets() argument 713 struct cxl_dport **t = &cxlsd->target[0]; in cxlsd_set_targets() 714 int ways = cxlsd->cxld.interleave_ways; in cxlsd_set_targets() 778 struct cxl_switch_decoder *cxlsd = in setup_hw_decoder() local 784 cxlsd_set_targets(cxlsd, &targets); in setup_hw_decoder() [all …]
|
| H A D | region.c | 298 struct cxl_switch_decoder *cxlsd = NULL; in commit_decoder() local 304 cxlsd = to_cxl_switch_decoder(&cxld->dev); in commit_decoder() 306 if (dev_WARN_ONCE(&cxld->dev, !cxlsd || cxlsd->nr_targets > 1, in commit_decoder() 492 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; in set_interleave_ways() 566 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; in set_interleave_granularity() 1268 struct cxl_switch_decoder *cxlsd; in cxl_port_attach_region() local 1270 cxlsd = to_cxl_switch_decoder(&cxld->dev); in cxl_port_attach_region() 1271 if (cxl_rr->nr_targets > cxlsd->nr_targets) { in cxl_port_attach_region() 1277 cxlsd->nr_targets); in cxl_port_attach_region() 1450 struct cxl_switch_decoder *cxlsd; in cxl_port_setup_targets() local [all …]
|
| H A D | cdat.c | 330 struct cxl_switch_decoder *cxlsd; in match_cxlrd_hb() local 337 cxlsd = &cxlrd->cxlsd; in match_cxlrd_hb() 340 for (int i = 0; i < cxlsd->nr_targets; i++) { in match_cxlrd_hb() 341 if (cxlsd->target[i] && host_bridge == cxlsd->target[i]->dport_dev) in match_cxlrd_hb()
|
| /linux/tools/testing/cxl/test/ |
| H A D | cxl.c | 792 struct cxl_switch_decoder cxlsd; member 846 struct cxl_switch_decoder *cxlsd = in cxld_registry_restore() local 849 if (!(td->cxlsd.cxld.flags & CXL_DECODER_F_ENABLE)) in cxld_registry_restore() 852 dbg_cxld(port, "restore", &td->cxlsd.cxld); in cxld_registry_restore() 853 cxld_copy(cxld, &td->cxlsd.cxld); in cxld_registry_restore() 854 WARN_ON(cxlsd->nr_targets != td->cxlsd.nr_targets); in cxld_registry_restore() 857 for (int i = 0; i < cxlsd->nr_targets; i++) { in cxld_registry_restore() 858 cxlsd->target[i] = NULL; in cxld_registry_restore() 859 cxld->target_map[i] = td->cxlsd.cxld.target_map[i]; in cxld_registry_restore() 894 struct cxl_switch_decoder *cxlsd = in __cxld_registry_save() local [all …]
|
| /linux/drivers/cxl/ |
| H A D | cxl.h | 391 struct cxl_switch_decoder cxlsd; member 743 …_root_decoder, struct cxl_root_decoder *, if (!IS_ERR_OR_NULL(_T)) put_device(&_T->cxlsd.cxld.dev)) 788 return cxl_decoder_autoremove(host, &cxlrd->cxlsd.cxld); in cxl_root_decoder_autoremove()
|
| H A D | cxlmem.h | 83 return to_cxl_port(cxlrd->cxlsd.cxld.dev.parent); in cxlrd_to_port()
|