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 ---