Lines Matching refs:cxlhdm

71 static void parse_hdm_decoder_caps(struct cxl_hdm *cxlhdm)  in parse_hdm_decoder_caps()  argument
75 hdm_cap = readl(cxlhdm->regs.hdm_decoder + CXL_HDM_DECODER_CAP_OFFSET); in parse_hdm_decoder_caps()
76 cxlhdm->decoder_count = cxl_hdm_decoder_count(hdm_cap); in parse_hdm_decoder_caps()
77 cxlhdm->target_count = in parse_hdm_decoder_caps()
80 cxlhdm->interleave_mask |= GENMASK(11, 8); in parse_hdm_decoder_caps()
82 cxlhdm->interleave_mask |= GENMASK(14, 12); in parse_hdm_decoder_caps()
107 struct cxl_hdm *cxlhdm; in devm_cxl_setup_hdm() local
109 cxlhdm = devm_kzalloc(dev, sizeof(*cxlhdm), GFP_KERNEL); in devm_cxl_setup_hdm()
110 if (!cxlhdm) in devm_cxl_setup_hdm()
113 cxlhdm->port = port; in devm_cxl_setup_hdm()
124 cxlhdm->regs.hdm_decoder = hdm; in devm_cxl_setup_hdm()
126 parse_hdm_decoder_caps(cxlhdm); in devm_cxl_setup_hdm()
127 if (cxlhdm->decoder_count == 0) { in devm_cxl_setup_hdm()
132 dev_set_drvdata(dev, cxlhdm); in devm_cxl_setup_hdm()
134 return cxlhdm; in devm_cxl_setup_hdm()
570 struct cxl_hdm *cxlhdm = dev_get_drvdata(&port->dev); in cxl_decoder_commit() local
571 void __iomem *hdm = cxlhdm->regs.hdm_decoder; in cxl_decoder_commit()
645 struct cxl_hdm *cxlhdm = dev_get_drvdata(&port->dev); in cxl_decoder_reset() local
646 void __iomem *hdm = cxlhdm->regs.hdm_decoder; in cxl_decoder_reset()
788 int devm_cxl_enumerate_decoders(struct cxl_hdm *cxlhdm) in devm_cxl_enumerate_decoders() argument
790 void __iomem *hdm = cxlhdm->regs.hdm_decoder; in devm_cxl_enumerate_decoders()
791 struct cxl_port *port = cxlhdm->port; in devm_cxl_enumerate_decoders()
803 for (i = 0, committed = 0; i < cxlhdm->decoder_count; i++) { in devm_cxl_enumerate_decoders()
810 if (committed != cxlhdm->decoder_count) in devm_cxl_enumerate_decoders()
813 for (i = 0; i < cxlhdm->decoder_count; i++) { in devm_cxl_enumerate_decoders()
815 int rc, target_count = cxlhdm->target_count; in devm_cxl_enumerate_decoders()