xref: /linux/drivers/misc/mei/hw-me.h (revision 81ec5502a0c87eaae424a6c733a9da2bd0b4d866)
19dc64d6aSTomas Winkler /*
29dc64d6aSTomas Winkler  *
366ef5ea9STomas Winkler  * Intel Management Engine Interface (Intel MEI) Linux driver
49dc64d6aSTomas Winkler  * Copyright (c) 2003-2012, Intel Corporation.
566ef5ea9STomas Winkler  *
69dc64d6aSTomas Winkler  * This program is free software; you can redistribute it and/or modify it
79dc64d6aSTomas Winkler  * under the terms and conditions of the GNU General Public License,
89dc64d6aSTomas Winkler  * version 2, as published by the Free Software Foundation.
966ef5ea9STomas Winkler  *
109dc64d6aSTomas Winkler  * This program is distributed in the hope it will be useful, but WITHOUT
119dc64d6aSTomas Winkler  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
129dc64d6aSTomas Winkler  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
139dc64d6aSTomas Winkler  * more details.
1466ef5ea9STomas Winkler  *
1566ef5ea9STomas Winkler  */
1666ef5ea9STomas Winkler 
1766ef5ea9STomas Winkler 
1866ef5ea9STomas Winkler 
199dc64d6aSTomas Winkler #ifndef _MEI_INTERFACE_H_
209dc64d6aSTomas Winkler #define _MEI_INTERFACE_H_
219dc64d6aSTomas Winkler 
229dc64d6aSTomas Winkler #include <linux/mei.h>
23*81ec5502SBjorn Helgaas #include <linux/irqreturn.h>
249dc64d6aSTomas Winkler #include "mei_dev.h"
2552c34561STomas Winkler #include "client.h"
2666ef5ea9STomas Winkler 
2752c34561STomas Winkler struct mei_me_hw {
2852c34561STomas Winkler 	void __iomem *mem_addr;
2952c34561STomas Winkler 	/*
3052c34561STomas Winkler 	 * hw states of host and fw(ME)
3152c34561STomas Winkler 	 */
3252c34561STomas Winkler 	u32 host_hw_state;
3352c34561STomas Winkler 	u32 me_hw_state;
3452c34561STomas Winkler };
3566ef5ea9STomas Winkler 
3652c34561STomas Winkler #define to_me_hw(dev) (struct mei_me_hw *)((dev)->hw)
3752c34561STomas Winkler 
3852c34561STomas Winkler struct mei_device *mei_me_dev_init(struct pci_dev *pdev);
3966ef5ea9STomas Winkler 
4006ecd645STomas Winkler irqreturn_t mei_me_irq_quick_handler(int irq, void *dev_id);
4106ecd645STomas Winkler irqreturn_t mei_me_irq_thread_handler(int irq, void *dev_id);
4206ecd645STomas Winkler 
439dc64d6aSTomas Winkler #endif /* _MEI_INTERFACE_H_ */
44