Home
last modified time | relevance | path

Searched refs:cxlsd (Results 1 – 7 of 7) sorted by relevance

/linux/drivers/cxl/core/
H A Dport.c151 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 Dhdm.c54 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 Dregion.c298 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 Dcdat.c330 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 Dcxl.c792 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 Dcxl.h391 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 Dcxlmem.h83 return to_cxl_port(cxlrd->cxlsd.cxld.dev.parent); in cxlrd_to_port()