Lines Matching refs:fn

77 static void read_pasid(struct pci_dev *dev, struct ocxl_fn_config *fn)  in read_pasid()  argument
89 fn->max_pasid_log = -1; in read_pasid()
93 fn->max_pasid_log = EXTRACT_BITS(val, 8, 12); in read_pasid()
97 dev_dbg(&dev->dev, " Max PASID log = %d\n", fn->max_pasid_log); in read_pasid()
100 static int read_dvsec_tl(struct pci_dev *dev, struct ocxl_fn_config *fn) in read_dvsec_tl() argument
113 fn->dvsec_tl_pos = pos; in read_dvsec_tl()
117 static int read_dvsec_function(struct pci_dev *dev, struct ocxl_fn_config *fn) in read_dvsec_function() argument
127 fn->dvsec_function_pos = pos; in read_dvsec_function()
132 fn->max_afu_index = -1; in read_dvsec_function()
136 fn->max_afu_index = EXTRACT_BITS(val, 24, 29); in read_dvsec_function()
140 dev_dbg(&dev->dev, " Max AFU index = %d\n", fn->max_afu_index); in read_dvsec_function()
144 static int read_dvsec_afu_info(struct pci_dev *dev, struct ocxl_fn_config *fn) in read_dvsec_afu_info() argument
148 if (fn->max_afu_index < 0) { in read_dvsec_afu_info()
149 fn->dvsec_afu_info_pos = -1; in read_dvsec_afu_info()
158 fn->dvsec_afu_info_pos = pos; in read_dvsec_afu_info()
249 static int validate_function(struct pci_dev *dev, struct ocxl_fn_config *fn) in validate_function() argument
251 if (fn->max_pasid_log == -1 && fn->max_afu_index >= 0) { in validate_function()
257 if (fn->max_afu_index > OCXL_MAX_AFU_PER_FUNCTION) { in validate_function()
260 fn->max_afu_index, OCXL_MAX_AFU_PER_FUNCTION); in validate_function()
266 int ocxl_config_read_function(struct pci_dev *dev, struct ocxl_fn_config *fn) in ocxl_config_read_function() argument
270 read_pasid(dev, fn); in ocxl_config_read_function()
272 rc = read_dvsec_tl(dev, fn); in ocxl_config_read_function()
280 rc = read_dvsec_function(dev, fn); in ocxl_config_read_function()
287 rc = read_dvsec_afu_info(dev, fn); in ocxl_config_read_function()
301 rc = validate_function(dev, fn); in ocxl_config_read_function()
306 static int read_afu_info(struct pci_dev *dev, struct ocxl_fn_config *fn, in read_afu_info() argument
311 int pos = fn->dvsec_afu_info_pos; in read_afu_info()
344 static int read_template_version(struct pci_dev *dev, struct ocxl_fn_config *fn, in read_template_version() argument
351 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_VERSION, &val32); in read_template_version()
363 struct ocxl_fn_config *fn, int afu_idx) in ocxl_config_check_afu_index() argument
370 fn->dvsec_afu_info_pos + OCXL_DVSEC_AFU_INFO_AFU_IDX, in ocxl_config_check_afu_index()
373 rc = read_template_version(dev, fn, &len, &templ_version); in ocxl_config_check_afu_index()
404 static int read_afu_name(struct pci_dev *dev, struct ocxl_fn_config *fn, in read_afu_name() argument
412 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_NAME + i, &val); in read_afu_name()
422 static int read_afu_mmio(struct pci_dev *dev, struct ocxl_fn_config *fn, in read_afu_mmio() argument
431 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_MMIO_GLOBAL, &val); in read_afu_mmio()
437 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_MMIO_GLOBAL + 4, &val); in read_afu_mmio()
442 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_MMIO_GLOBAL_SZ, &val); in read_afu_mmio()
450 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_MMIO_PP, &val); in read_afu_mmio()
456 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_MMIO_PP + 4, &val); in read_afu_mmio()
461 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_MMIO_PP_SZ, &val); in read_afu_mmio()
547 struct ocxl_fn_config *fn, in read_afu_lpc_memory_info() argument
572 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_ALL_MEM_SZ, &val32); in read_afu_lpc_memory_info()
592 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_LPC_MEM_START, &val32); in read_afu_lpc_memory_info()
598 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_LPC_MEM_START + 4, &val32); in read_afu_lpc_memory_info()
604 rc = read_template_version(dev, fn, &templ_len, &templ_version); in read_afu_lpc_memory_info()
609 rc = read_afu_info(dev, fn, in read_afu_lpc_memory_info()
615 rc = read_afu_info(dev, fn, in read_afu_lpc_memory_info()
634 int ocxl_config_read_afu(struct pci_dev *dev, struct ocxl_fn_config *fn, in ocxl_config_read_afu() argument
647 fn->dvsec_afu_info_pos + OCXL_DVSEC_AFU_INFO_AFU_IDX, in ocxl_config_read_afu()
650 rc = read_afu_name(dev, fn, afu); in ocxl_config_read_afu()
654 rc = read_afu_info(dev, fn, OCXL_DVSEC_TEMPL_AFU_VERSION, &val32); in ocxl_config_read_afu()
663 rc = read_afu_mmio(dev, fn, afu); in ocxl_config_read_afu()
667 rc = read_afu_lpc_memory_info(dev, fn, afu); in ocxl_config_read_afu()