idxd.h (5fee6567ec387088ec965ee60c63051bbe102cac) | idxd.h (034b3290ba257f1a3c8730f3fba72e11645e7b50) |
---|---|
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> --- 44 unchanged lines hidden (view full) --- 53 const char *name; 54 enum idxd_dev_type *type; 55 int (*probe)(struct idxd_dev *idxd_dev); 56 void (*remove)(struct idxd_dev *idxd_dev); 57 struct device_driver drv; 58}; 59 60extern struct idxd_device_driver dsa_drv; | 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> --- 44 unchanged lines hidden (view full) --- 53 const char *name; 54 enum idxd_dev_type *type; 55 int (*probe)(struct idxd_dev *idxd_dev); 56 void (*remove)(struct idxd_dev *idxd_dev); 57 struct device_driver drv; 58}; 59 60extern struct idxd_device_driver dsa_drv; |
61extern struct idxd_device_driver idxd_drv; |
|
61 62struct idxd_irq_entry { 63 struct idxd_device *idxd; 64 int id; 65 int vector; 66 struct llist_head pending_llist; 67 struct list_head work_list; 68 /* --- 427 unchanged lines hidden (view full) --- 496irqreturn_t idxd_wq_thread(int irq, void *data); 497void idxd_mask_error_interrupts(struct idxd_device *idxd); 498void idxd_unmask_error_interrupts(struct idxd_device *idxd); 499void idxd_mask_msix_vectors(struct idxd_device *idxd); 500void idxd_mask_msix_vector(struct idxd_device *idxd, int vec_id); 501void idxd_unmask_msix_vector(struct idxd_device *idxd, int vec_id); 502 503/* device control */ | 62 63struct idxd_irq_entry { 64 struct idxd_device *idxd; 65 int id; 66 int vector; 67 struct llist_head pending_llist; 68 struct list_head work_list; 69 /* --- 427 unchanged lines hidden (view full) --- 497irqreturn_t idxd_wq_thread(int irq, void *data); 498void idxd_mask_error_interrupts(struct idxd_device *idxd); 499void idxd_unmask_error_interrupts(struct idxd_device *idxd); 500void idxd_mask_msix_vectors(struct idxd_device *idxd); 501void idxd_mask_msix_vector(struct idxd_device *idxd, int vec_id); 502void idxd_unmask_msix_vector(struct idxd_device *idxd, int vec_id); 503 504/* device control */ |
505int idxd_register_idxd_drv(void); 506void idxd_unregister_idxd_drv(void); |
|
504int idxd_device_drv_probe(struct idxd_dev *idxd_dev); 505void idxd_device_drv_remove(struct idxd_dev *idxd_dev); 506int drv_enable_wq(struct idxd_wq *wq); 507void drv_disable_wq(struct idxd_wq *wq); 508int idxd_device_init_reset(struct idxd_device *idxd); 509int idxd_device_enable(struct idxd_device *idxd); 510int idxd_device_disable(struct idxd_device *idxd); 511void idxd_device_reset(struct idxd_device *idxd); --- 67 unchanged lines hidden --- | 507int idxd_device_drv_probe(struct idxd_dev *idxd_dev); 508void idxd_device_drv_remove(struct idxd_dev *idxd_dev); 509int drv_enable_wq(struct idxd_wq *wq); 510void drv_disable_wq(struct idxd_wq *wq); 511int idxd_device_init_reset(struct idxd_device *idxd); 512int idxd_device_enable(struct idxd_device *idxd); 513int idxd_device_disable(struct idxd_device *idxd); 514void idxd_device_reset(struct idxd_device *idxd); --- 67 unchanged lines hidden --- |