idxd.h (aa8d18becc0c14aa3eb46d6d1b81450446e11b87) | idxd.h (979f6ded93ac5ca0fec2b4c5b7b668c8a2a65e1b) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* Copyright(c) 2019 Intel Corporation. All rights rsvd. */ 3#ifndef _IDXD_H_ 4#define _IDXD_H_ 5 6#include <linux/sbitmap.h> 7#include <linux/dmaengine.h> 8#include <linux/percpu-rwsem.h> --- 263 unchanged lines hidden (view full) --- 272 IDXD_FLAG_USER_PASID_ENABLED, 273}; 274 275struct idxd_dma_dev { 276 struct idxd_device *idxd; 277 struct dma_device dma; 278}; 279 | 1/* SPDX-License-Identifier: GPL-2.0 */ 2/* Copyright(c) 2019 Intel Corporation. All rights rsvd. */ 3#ifndef _IDXD_H_ 4#define _IDXD_H_ 5 6#include <linux/sbitmap.h> 7#include <linux/dmaengine.h> 8#include <linux/percpu-rwsem.h> --- 263 unchanged lines hidden (view full) --- 272 IDXD_FLAG_USER_PASID_ENABLED, 273}; 274 275struct idxd_dma_dev { 276 struct idxd_device *idxd; 277 struct dma_device dma; 278}; 279 |
280typedef int (*load_device_defaults_fn_t) (struct idxd_device *idxd); 281 |
|
280struct idxd_driver_data { 281 const char *name_prefix; 282 enum idxd_type type; 283 struct device_type *dev_type; 284 int compl_size; 285 int align; 286 int evl_cr_off; 287 int cr_status_off; 288 int cr_result_off; | 282struct idxd_driver_data { 283 const char *name_prefix; 284 enum idxd_type type; 285 struct device_type *dev_type; 286 int compl_size; 287 int align; 288 int evl_cr_off; 289 int cr_status_off; 290 int cr_result_off; |
291 load_device_defaults_fn_t load_device_defaults; |
|
289}; 290 291struct idxd_evl { 292 /* Lock to protect event log access. */ 293 spinlock_t lock; 294 void *log; 295 dma_addr_t dma; 296 /* Total size of event log = number of entries * entry size. */ --- 428 unchanged lines hidden (view full) --- 725 726int idxd_register_bus_type(void); 727void idxd_unregister_bus_type(void); 728int idxd_register_devices(struct idxd_device *idxd); 729void idxd_unregister_devices(struct idxd_device *idxd); 730void idxd_wqs_quiesce(struct idxd_device *idxd); 731bool idxd_queue_int_handle_resubmit(struct idxd_desc *desc); 732void multi_u64_to_bmap(unsigned long *bmap, u64 *val, int count); | 292}; 293 294struct idxd_evl { 295 /* Lock to protect event log access. */ 296 spinlock_t lock; 297 void *log; 298 dma_addr_t dma; 299 /* Total size of event log = number of entries * entry size. */ --- 428 unchanged lines hidden (view full) --- 728 729int idxd_register_bus_type(void); 730void idxd_unregister_bus_type(void); 731int idxd_register_devices(struct idxd_device *idxd); 732void idxd_unregister_devices(struct idxd_device *idxd); 733void idxd_wqs_quiesce(struct idxd_device *idxd); 734bool idxd_queue_int_handle_resubmit(struct idxd_desc *desc); 735void multi_u64_to_bmap(unsigned long *bmap, u64 *val, int count); |
736int idxd_load_iaa_device_defaults(struct idxd_device *idxd); |
|
733 734/* device interrupt control */ 735irqreturn_t idxd_misc_thread(int vec, void *data); 736irqreturn_t idxd_wq_thread(int irq, void *data); 737void idxd_mask_error_interrupts(struct idxd_device *idxd); 738void idxd_unmask_error_interrupts(struct idxd_device *idxd); 739 740/* device control */ --- 76 unchanged lines hidden --- | 737 738/* device interrupt control */ 739irqreturn_t idxd_misc_thread(int vec, void *data); 740irqreturn_t idxd_wq_thread(int irq, void *data); 741void idxd_mask_error_interrupts(struct idxd_device *idxd); 742void idxd_unmask_error_interrupts(struct idxd_device *idxd); 743 744/* device control */ --- 76 unchanged lines hidden --- |