Home
last modified time | relevance | path

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

/Linux-v6.6/drivers/cxl/core/
Dport.c132 static ssize_t emit_target_list(struct cxl_switch_decoder *cxlsd, char *buf) in emit_target_list() argument
134 struct cxl_decoder *cxld = &cxlsd->cxld; in emit_target_list()
139 struct cxl_dport *dport = cxlsd->target[i]; in emit_target_list()
146 next = cxlsd->target[i + 1]; in emit_target_list()
160 struct cxl_switch_decoder *cxlsd = to_cxl_switch_decoder(dev); in target_list_show() local
166 seq = read_seqbegin(&cxlsd->target_lock); in target_list_show()
167 rc = emit_target_list(cxlsd, buf); in target_list_show()
168 } while (read_seqretry(&cxlsd->target_lock, seq)); in target_list_show()
310 return (cxlrd->cxlsd.cxld.flags & flags) == flags; in can_create_pmem()
317 return (cxlrd->cxlsd.cxld.flags & flags) == flags; in can_create_ram()
[all …]
Dhdm.c51 struct cxl_switch_decoder *cxlsd; in devm_cxl_add_passthrough_decoder() local
56 cxlsd = cxl_switch_decoder_alloc(port, 1); in devm_cxl_add_passthrough_decoder()
57 if (IS_ERR(cxlsd)) in devm_cxl_add_passthrough_decoder()
58 return PTR_ERR(cxlsd); in devm_cxl_add_passthrough_decoder()
66 return add_hdm_decoder(port, &cxlsd->cxld, single_port_map); in devm_cxl_add_passthrough_decoder()
578 static int cxlsd_set_targets(struct cxl_switch_decoder *cxlsd, u64 *tgt) in cxlsd_set_targets() argument
580 struct cxl_dport **t = &cxlsd->target[0]; in cxlsd_set_targets()
581 int ways = cxlsd->cxld.interleave_ways; in cxlsd_set_targets()
583 if (dev_WARN_ONCE(&cxlsd->cxld.dev, in cxlsd_set_targets()
584 ways > 8 || ways > cxlsd->nr_targets, in cxlsd_set_targets()
[all …]
Dregion.c203 struct cxl_switch_decoder *cxlsd = NULL; in commit_decoder() local
209 cxlsd = to_cxl_switch_decoder(&cxld->dev); in commit_decoder()
211 if (dev_WARN_ONCE(&cxld->dev, !cxlsd || cxlsd->nr_targets > 1, in commit_decoder()
390 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; in interleave_ways_store()
458 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; in interleave_granularity_store()
1097 struct cxl_switch_decoder *cxlsd; in cxl_port_setup_targets() local
1112 cxlsd = to_cxl_switch_decoder(&cxld->dev); in cxl_port_setup_targets()
1125 if (ep->dport == cxlsd->target[i]) { in cxl_port_setup_targets()
1136 parent_ig = cxlrd->cxlsd.cxld.interleave_granularity; in cxl_port_setup_targets()
1137 parent_iw = cxlrd->cxlsd.cxld.interleave_ways; in cxl_port_setup_targets()
[all …]
/Linux-v6.6/drivers/cxl/
Dacpi.c48 struct cxl_switch_decoder *cxlsd = &cxlrd->cxlsd; in cxl_hb_xor() local
49 struct cxl_decoder *cxld = &cxlsd->cxld; in cxl_hb_xor()
56 cxld->interleave_ways != cxlsd->nr_targets, in cxl_hb_xor()
69 return cxlrd->cxlsd.target[n]; in cxl_hb_xor()
83 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; in cxl_parse_cxims()
259 cxld = &cxlrd->cxlsd.cxld; in cxl_parse_cfmws()
636 struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld; in pair_cxl_resource()
Dcxl.h443 struct cxl_switch_decoder cxlsd; member
Dcxlmem.h70 return to_cxl_port(cxlrd->cxlsd.cxld.dev.parent); in cxlrd_to_port()
/Linux-v6.6/tools/testing/cxl/test/
Dcxl.c738 struct cxl_switch_decoder *cxlsd; in mock_init_hdm_decoder() local
813 cxlsd = to_cxl_switch_decoder(dev); in mock_init_hdm_decoder()
817 cxlsd->target[1] = dport; in mock_init_hdm_decoder()
819 cxlsd->target[0] = dport; in mock_init_hdm_decoder()
821 cxlsd->target[0] = dport; in mock_init_hdm_decoder()
822 cxld = &cxlsd->cxld; in mock_init_hdm_decoder()
867 struct cxl_switch_decoder *cxlsd; in mock_cxl_enumerate_decoders() local
869 cxlsd = cxl_switch_decoder_alloc(port, target_count); in mock_cxl_enumerate_decoders()
870 if (IS_ERR(cxlsd)) { in mock_cxl_enumerate_decoders()
873 return PTR_ERR(cxlsd); in mock_cxl_enumerate_decoders()
[all …]