Skip to content

Commit

Permalink
mei: add new hbm.h header to export hbm protocol
Browse files Browse the repository at this point in the history
hbm.h provides access host bus messaging functionality
for other MEI layers

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Tomas Winkler authored and Greg Kroah-Hartman committed Jan 9, 2013
1 parent 2025984 commit 0edb23f
Show file tree
Hide file tree
Showing 9 changed files with 47 additions and 15 deletions.
1 change: 1 addition & 0 deletions drivers/misc/mei/amthif.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include <linux/mei.h>

#include "mei_dev.h"
#include "hbm.h"
#include "interface.h"

const uuid_le mei_amthi_guid = UUID_LE(0x12f80028, 0xb4b7, 0x4b2d, 0xac,
Expand Down
1 change: 1 addition & 0 deletions drivers/misc/mei/hbm.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <linux/mei.h>

#include "mei_dev.h"
#include "hbm.h"
#include "interface.h"

/**
Expand Down
39 changes: 39 additions & 0 deletions drivers/misc/mei/hbm.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
*
* Intel Management Engine Interface (Intel MEI) Linux driver
* Copyright (c) 2003-2012, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
*/

#ifndef _MEI_HBM_H_
#define _MEI_HBM_H_

void mei_hbm_dispatch(struct mei_device *dev, struct mei_msg_hdr *hdr);

static inline void mei_hbm_hdr(struct mei_msg_hdr *hdr, size_t length)
{
hdr->host_addr = 0;
hdr->me_addr = 0;
hdr->length = length;
hdr->msg_complete = 1;
hdr->reserved = 0;
}

void mei_hbm_start_req(struct mei_device *dev);

int mei_hbm_cl_flow_control_req(struct mei_device *dev, struct mei_cl *cl);
int mei_hbm_cl_disconnect_req(struct mei_device *dev, struct mei_cl *cl);
int mei_hbm_cl_connect_req(struct mei_device *dev, struct mei_cl *cl);


#endif /* _MEI_HBM_H_ */

1 change: 1 addition & 0 deletions drivers/misc/mei/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <linux/mei.h>

#include "mei_dev.h"
#include "hbm.h"
#include "interface.h"

const char *mei_dev_state_str(int state)
Expand Down
7 changes: 2 additions & 5 deletions drivers/misc/mei/interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,9 @@ void mei_watchdog_unregister(struct mei_device *dev);
int mei_other_client_is_connecting(struct mei_device *dev, struct mei_cl *cl);
int mei_flow_ctrl_reduce(struct mei_device *dev, struct mei_cl *cl);

void mei_hbm_start_req(struct mei_device *dev);
void mei_host_client_init(struct work_struct *work);


int mei_hbm_cl_flow_control_req(struct mei_device *dev, struct mei_cl *cl);
int mei_hbm_cl_disconnect_req(struct mei_device *dev, struct mei_cl *cl);
int mei_hbm_cl_connect_req(struct mei_device *dev, struct mei_cl *cl);

void mei_host_client_init(struct work_struct *work);

#endif /* _MEI_INTERFACE_H_ */
1 change: 1 addition & 0 deletions drivers/misc/mei/interrupt.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <linux/mei.h>

#include "mei_dev.h"
#include "hbm.h"
#include "interface.h"


Expand Down
1 change: 1 addition & 0 deletions drivers/misc/mei/iorw.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
#include <linux/mei.h>

#include "mei_dev.h"
#include "hbm.h"
#include "interface.h"

/**
Expand Down
10 changes: 0 additions & 10 deletions drivers/misc/mei/mei_dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -445,16 +445,6 @@ void mei_enable_interrupts(struct mei_device *dev);
void mei_disable_interrupts(struct mei_device *dev);


void mei_hbm_dispatch(struct mei_device *dev, struct mei_msg_hdr *hdr);

static inline void mei_hbm_hdr(struct mei_msg_hdr *hdr, size_t length)
{
hdr->host_addr = 0;
hdr->me_addr = 0;
hdr->length = length;
hdr->msg_complete = 1;
hdr->reserved = 0;
}

#define MEI_HDR_FMT "hdr:host=%02d me=%02d len=%d comp=%1d"
#define MEI_HDR_PRM(hdr) \
Expand Down
1 change: 1 addition & 0 deletions drivers/misc/mei/wd.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <linux/mei.h>

#include "mei_dev.h"
#include "hbm.h"
#include "interface.h"

static const u8 mei_start_wd_params[] = { 0x02, 0x12, 0x13, 0x10 };
Expand Down

0 comments on commit 0edb23f

Please sign in to comment.