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