Commit 92db1555 authored by Tomas Winkler's avatar Tomas Winkler Committed by Greg Kroah-Hartman

mei: fix style warning: Missing a blank line after declarations

fix new style warning: Missing a blank line after declarations
Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 152de90d
...@@ -130,6 +130,7 @@ struct mei_cl_cb *mei_amthif_find_read_list_entry(struct mei_device *dev, ...@@ -130,6 +130,7 @@ struct mei_cl_cb *mei_amthif_find_read_list_entry(struct mei_device *dev,
struct file *file) struct file *file)
{ {
struct mei_cl_cb *cb; struct mei_cl_cb *cb;
list_for_each_entry(cb, &dev->amthif_rd_complete_list.list, list) list_for_each_entry(cb, &dev->amthif_rd_complete_list.list, list)
if (cb->file_object == file) if (cb->file_object == file)
return cb; return cb;
......
...@@ -1065,6 +1065,7 @@ void mei_cl_all_disconnect(struct mei_device *dev) ...@@ -1065,6 +1065,7 @@ void mei_cl_all_disconnect(struct mei_device *dev)
void mei_cl_all_wakeup(struct mei_device *dev) void mei_cl_all_wakeup(struct mei_device *dev)
{ {
struct mei_cl *cl; struct mei_cl *cl;
list_for_each_entry(cl, &dev->file_list, link) { list_for_each_entry(cl, &dev->file_list, link) {
if (waitqueue_active(&cl->rx_wait)) { if (waitqueue_active(&cl->rx_wait)) {
cl_dbg(dev, cl, "Waking up reading client!\n"); cl_dbg(dev, cl, "Waking up reading client!\n");
......
...@@ -179,6 +179,7 @@ void mei_dbgfs_deregister(struct mei_device *dev) ...@@ -179,6 +179,7 @@ void mei_dbgfs_deregister(struct mei_device *dev)
int mei_dbgfs_register(struct mei_device *dev, const char *name) int mei_dbgfs_register(struct mei_device *dev, const char *name)
{ {
struct dentry *dir, *f; struct dentry *dir, *f;
dir = debugfs_create_dir(name, NULL); dir = debugfs_create_dir(name, NULL);
if (!dir) if (!dir)
return -ENOMEM; return -ENOMEM;
......
...@@ -111,6 +111,7 @@ void mei_hbm_idle(struct mei_device *dev) ...@@ -111,6 +111,7 @@ void mei_hbm_idle(struct mei_device *dev)
static void mei_me_cl_remove_all(struct mei_device *dev) static void mei_me_cl_remove_all(struct mei_device *dev)
{ {
struct mei_me_client *me_cl, *next; struct mei_me_client *me_cl, *next;
list_for_each_entry_safe(me_cl, next, &dev->me_clients, list) { list_for_each_entry_safe(me_cl, next, &dev->me_clients, list) {
list_del(&me_cl->list); list_del(&me_cl->list);
kfree(me_cl); kfree(me_cl);
...@@ -449,6 +450,7 @@ static int mei_hbm_stop_req(struct mei_device *dev) ...@@ -449,6 +450,7 @@ static int mei_hbm_stop_req(struct mei_device *dev)
int mei_hbm_cl_flow_control_req(struct mei_device *dev, struct mei_cl *cl) int mei_hbm_cl_flow_control_req(struct mei_device *dev, struct mei_cl *cl)
{ {
const size_t len = sizeof(struct hbm_flow_control); const size_t len = sizeof(struct hbm_flow_control);
cl_dbg(dev, cl, "sending flow control\n"); cl_dbg(dev, cl, "sending flow control\n");
return mei_hbm_cl_write(dev, cl, MEI_FLOW_CONTROL_CMD, len); return mei_hbm_cl_write(dev, cl, MEI_FLOW_CONTROL_CMD, len);
} }
...@@ -520,6 +522,7 @@ static void mei_hbm_cl_flow_control_res(struct mei_device *dev, ...@@ -520,6 +522,7 @@ static void mei_hbm_cl_flow_control_res(struct mei_device *dev,
int mei_hbm_cl_disconnect_req(struct mei_device *dev, struct mei_cl *cl) int mei_hbm_cl_disconnect_req(struct mei_device *dev, struct mei_cl *cl)
{ {
const size_t len = sizeof(struct hbm_client_connect_request); const size_t len = sizeof(struct hbm_client_connect_request);
return mei_hbm_cl_write(dev, cl, CLIENT_DISCONNECT_REQ_CMD, len); return mei_hbm_cl_write(dev, cl, CLIENT_DISCONNECT_REQ_CMD, len);
} }
...@@ -534,6 +537,7 @@ int mei_hbm_cl_disconnect_req(struct mei_device *dev, struct mei_cl *cl) ...@@ -534,6 +537,7 @@ int mei_hbm_cl_disconnect_req(struct mei_device *dev, struct mei_cl *cl)
int mei_hbm_cl_disconnect_rsp(struct mei_device *dev, struct mei_cl *cl) int mei_hbm_cl_disconnect_rsp(struct mei_device *dev, struct mei_cl *cl)
{ {
const size_t len = sizeof(struct hbm_client_connect_response); const size_t len = sizeof(struct hbm_client_connect_response);
return mei_hbm_cl_write(dev, cl, CLIENT_DISCONNECT_RES_CMD, len); return mei_hbm_cl_write(dev, cl, CLIENT_DISCONNECT_RES_CMD, len);
} }
...@@ -569,6 +573,7 @@ static void mei_hbm_cl_disconnect_res(struct mei_cl *cl, ...@@ -569,6 +573,7 @@ static void mei_hbm_cl_disconnect_res(struct mei_cl *cl,
int mei_hbm_cl_connect_req(struct mei_device *dev, struct mei_cl *cl) int mei_hbm_cl_connect_req(struct mei_device *dev, struct mei_cl *cl)
{ {
const size_t len = sizeof(struct hbm_client_connect_request); const size_t len = sizeof(struct hbm_client_connect_request);
return mei_hbm_cl_write(dev, cl, CLIENT_CONNECT_REQ_CMD, len); return mei_hbm_cl_write(dev, cl, CLIENT_CONNECT_REQ_CMD, len);
} }
......
...@@ -127,6 +127,7 @@ static void mei_me_hw_config(struct mei_device *dev) ...@@ -127,6 +127,7 @@ static void mei_me_hw_config(struct mei_device *dev)
static inline enum mei_pg_state mei_me_pg_state(struct mei_device *dev) static inline enum mei_pg_state mei_me_pg_state(struct mei_device *dev)
{ {
struct mei_me_hw *hw = to_me_hw(dev); struct mei_me_hw *hw = to_me_hw(dev);
return hw->pg_state; return hw->pg_state;
} }
...@@ -139,6 +140,7 @@ static void mei_me_intr_clear(struct mei_device *dev) ...@@ -139,6 +140,7 @@ static void mei_me_intr_clear(struct mei_device *dev)
{ {
struct mei_me_hw *hw = to_me_hw(dev); struct mei_me_hw *hw = to_me_hw(dev);
u32 hcsr = mei_hcsr_read(hw); u32 hcsr = mei_hcsr_read(hw);
if ((hcsr & H_IS) == H_IS) if ((hcsr & H_IS) == H_IS)
mei_me_reg_write(hw, H_CSR, hcsr); mei_me_reg_write(hw, H_CSR, hcsr);
} }
...@@ -151,6 +153,7 @@ static void mei_me_intr_enable(struct mei_device *dev) ...@@ -151,6 +153,7 @@ static void mei_me_intr_enable(struct mei_device *dev)
{ {
struct mei_me_hw *hw = to_me_hw(dev); struct mei_me_hw *hw = to_me_hw(dev);
u32 hcsr = mei_hcsr_read(hw); u32 hcsr = mei_hcsr_read(hw);
hcsr |= H_IE; hcsr |= H_IE;
mei_hcsr_set(hw, hcsr); mei_hcsr_set(hw, hcsr);
} }
...@@ -164,6 +167,7 @@ static void mei_me_intr_disable(struct mei_device *dev) ...@@ -164,6 +167,7 @@ static void mei_me_intr_disable(struct mei_device *dev)
{ {
struct mei_me_hw *hw = to_me_hw(dev); struct mei_me_hw *hw = to_me_hw(dev);
u32 hcsr = mei_hcsr_read(hw); u32 hcsr = mei_hcsr_read(hw);
hcsr &= ~H_IE; hcsr &= ~H_IE;
mei_hcsr_set(hw, hcsr); mei_hcsr_set(hw, hcsr);
} }
...@@ -234,6 +238,7 @@ static int mei_me_hw_reset(struct mei_device *dev, bool intr_enable) ...@@ -234,6 +238,7 @@ static int mei_me_hw_reset(struct mei_device *dev, bool intr_enable)
static void mei_me_host_set_ready(struct mei_device *dev) static void mei_me_host_set_ready(struct mei_device *dev)
{ {
struct mei_me_hw *hw = to_me_hw(dev); struct mei_me_hw *hw = to_me_hw(dev);
hw->host_hw_state = mei_hcsr_read(hw); hw->host_hw_state = mei_hcsr_read(hw);
hw->host_hw_state |= H_IE | H_IG | H_RDY; hw->host_hw_state |= H_IE | H_IG | H_RDY;
mei_hcsr_set(hw, hw->host_hw_state); mei_hcsr_set(hw, hw->host_hw_state);
...@@ -247,6 +252,7 @@ static void mei_me_host_set_ready(struct mei_device *dev) ...@@ -247,6 +252,7 @@ static void mei_me_host_set_ready(struct mei_device *dev)
static bool mei_me_host_is_ready(struct mei_device *dev) static bool mei_me_host_is_ready(struct mei_device *dev)
{ {
struct mei_me_hw *hw = to_me_hw(dev); struct mei_me_hw *hw = to_me_hw(dev);
hw->host_hw_state = mei_hcsr_read(hw); hw->host_hw_state = mei_hcsr_read(hw);
return (hw->host_hw_state & H_RDY) == H_RDY; return (hw->host_hw_state & H_RDY) == H_RDY;
} }
...@@ -260,6 +266,7 @@ static bool mei_me_host_is_ready(struct mei_device *dev) ...@@ -260,6 +266,7 @@ static bool mei_me_host_is_ready(struct mei_device *dev)
static bool mei_me_hw_is_ready(struct mei_device *dev) static bool mei_me_hw_is_ready(struct mei_device *dev)
{ {
struct mei_me_hw *hw = to_me_hw(dev); struct mei_me_hw *hw = to_me_hw(dev);
hw->me_hw_state = mei_me_mecsr_read(hw); hw->me_hw_state = mei_me_mecsr_read(hw);
return (hw->me_hw_state & ME_RDY_HRA) == ME_RDY_HRA; return (hw->me_hw_state & ME_RDY_HRA) == ME_RDY_HRA;
} }
...@@ -283,6 +290,7 @@ static int mei_me_hw_ready_wait(struct mei_device *dev) ...@@ -283,6 +290,7 @@ static int mei_me_hw_ready_wait(struct mei_device *dev)
static int mei_me_hw_start(struct mei_device *dev) static int mei_me_hw_start(struct mei_device *dev)
{ {
int ret = mei_me_hw_ready_wait(dev); int ret = mei_me_hw_ready_wait(dev);
if (ret) if (ret)
return ret; return ret;
dev_dbg(&dev->pdev->dev, "hw is ready\n"); dev_dbg(&dev->pdev->dev, "hw is ready\n");
...@@ -390,6 +398,7 @@ static int mei_me_write_message(struct mei_device *dev, ...@@ -390,6 +398,7 @@ static int mei_me_write_message(struct mei_device *dev,
rem = length & 0x3; rem = length & 0x3;
if (rem > 0) { if (rem > 0) {
u32 reg = 0; u32 reg = 0;
memcpy(&reg, &buf[length - rem], rem); memcpy(&reg, &buf[length - rem], rem);
mei_me_reg_write(hw, H_CB_WW, reg); mei_me_reg_write(hw, H_CB_WW, reg);
} }
...@@ -448,6 +457,7 @@ static int mei_me_read_slots(struct mei_device *dev, unsigned char *buffer, ...@@ -448,6 +457,7 @@ static int mei_me_read_slots(struct mei_device *dev, unsigned char *buffer,
if (buffer_length > 0) { if (buffer_length > 0) {
u32 reg = mei_me_mecbrw_read(dev); u32 reg = mei_me_mecbrw_read(dev);
memcpy(reg_buf, &reg, buffer_length); memcpy(reg_buf, &reg, buffer_length);
} }
...@@ -465,6 +475,7 @@ static void mei_me_pg_enter(struct mei_device *dev) ...@@ -465,6 +475,7 @@ static void mei_me_pg_enter(struct mei_device *dev)
{ {
struct mei_me_hw *hw = to_me_hw(dev); struct mei_me_hw *hw = to_me_hw(dev);
u32 reg = mei_me_reg_read(hw, H_HPG_CSR); u32 reg = mei_me_reg_read(hw, H_HPG_CSR);
reg |= H_HPG_CSR_PGI; reg |= H_HPG_CSR_PGI;
mei_me_reg_write(hw, H_HPG_CSR, reg); mei_me_reg_write(hw, H_HPG_CSR, reg);
} }
...@@ -732,6 +743,7 @@ static const struct mei_hw_ops mei_me_hw_ops = { ...@@ -732,6 +743,7 @@ static const struct mei_hw_ops mei_me_hw_ops = {
static bool mei_me_fw_type_nm(struct pci_dev *pdev) static bool mei_me_fw_type_nm(struct pci_dev *pdev)
{ {
u32 reg; u32 reg;
pci_read_config_dword(pdev, PCI_CFG_HFS_2, &reg); pci_read_config_dword(pdev, PCI_CFG_HFS_2, &reg);
/* make sure that bit 9 (NM) is up and bit 10 (DM) is down */ /* make sure that bit 9 (NM) is up and bit 10 (DM) is down */
return (reg & 0x600) == 0x200; return (reg & 0x600) == 0x200;
......
...@@ -177,6 +177,7 @@ static u32 mei_txe_aliveness_req_get(struct mei_device *dev) ...@@ -177,6 +177,7 @@ static u32 mei_txe_aliveness_req_get(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
u32 reg; u32 reg;
reg = mei_txe_br_reg_read(hw, SICR_HOST_ALIVENESS_REQ_REG); reg = mei_txe_br_reg_read(hw, SICR_HOST_ALIVENESS_REQ_REG);
return reg & SICR_HOST_ALIVENESS_REQ_REQUESTED; return reg & SICR_HOST_ALIVENESS_REQ_REQUESTED;
} }
...@@ -192,6 +193,7 @@ static u32 mei_txe_aliveness_get(struct mei_device *dev) ...@@ -192,6 +193,7 @@ static u32 mei_txe_aliveness_get(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
u32 reg; u32 reg;
reg = mei_txe_br_reg_read(hw, HICR_HOST_ALIVENESS_RESP_REG); reg = mei_txe_br_reg_read(hw, HICR_HOST_ALIVENESS_RESP_REG);
return reg & HICR_HOST_ALIVENESS_RESP_ACK; return reg & HICR_HOST_ALIVENESS_RESP_ACK;
} }
...@@ -307,6 +309,7 @@ static bool mei_txe_pg_is_enabled(struct mei_device *dev) ...@@ -307,6 +309,7 @@ static bool mei_txe_pg_is_enabled(struct mei_device *dev)
static inline enum mei_pg_state mei_txe_pg_state(struct mei_device *dev) static inline enum mei_pg_state mei_txe_pg_state(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
return hw->aliveness ? MEI_PG_OFF : MEI_PG_ON; return hw->aliveness ? MEI_PG_OFF : MEI_PG_ON;
} }
...@@ -358,6 +361,7 @@ static bool mei_txe_is_input_ready(struct mei_device *dev) ...@@ -358,6 +361,7 @@ static bool mei_txe_is_input_ready(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
u32 status; u32 status;
status = mei_txe_sec_reg_read(hw, SEC_IPC_INPUT_STATUS_REG); status = mei_txe_sec_reg_read(hw, SEC_IPC_INPUT_STATUS_REG);
return !!(SEC_IPC_INPUT_STATUS_RDY & status); return !!(SEC_IPC_INPUT_STATUS_RDY & status);
} }
...@@ -370,6 +374,7 @@ static bool mei_txe_is_input_ready(struct mei_device *dev) ...@@ -370,6 +374,7 @@ static bool mei_txe_is_input_ready(struct mei_device *dev)
static inline void mei_txe_intr_clear(struct mei_device *dev) static inline void mei_txe_intr_clear(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
mei_txe_sec_reg_write_silent(hw, SEC_IPC_HOST_INT_STATUS_REG, mei_txe_sec_reg_write_silent(hw, SEC_IPC_HOST_INT_STATUS_REG,
SEC_IPC_HOST_INT_STATUS_PENDING); SEC_IPC_HOST_INT_STATUS_PENDING);
mei_txe_br_reg_write(hw, HISR_REG, HISR_INT_STS_MSK); mei_txe_br_reg_write(hw, HISR_REG, HISR_INT_STS_MSK);
...@@ -384,6 +389,7 @@ static inline void mei_txe_intr_clear(struct mei_device *dev) ...@@ -384,6 +389,7 @@ static inline void mei_txe_intr_clear(struct mei_device *dev)
static void mei_txe_intr_disable(struct mei_device *dev) static void mei_txe_intr_disable(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
mei_txe_br_reg_write(hw, HHIER_REG, 0); mei_txe_br_reg_write(hw, HHIER_REG, 0);
mei_txe_br_reg_write(hw, HIER_REG, 0); mei_txe_br_reg_write(hw, HIER_REG, 0);
} }
...@@ -395,6 +401,7 @@ static void mei_txe_intr_disable(struct mei_device *dev) ...@@ -395,6 +401,7 @@ static void mei_txe_intr_disable(struct mei_device *dev)
static void mei_txe_intr_enable(struct mei_device *dev) static void mei_txe_intr_enable(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
mei_txe_br_reg_write(hw, HHIER_REG, IPC_HHIER_MSK); mei_txe_br_reg_write(hw, HHIER_REG, IPC_HHIER_MSK);
mei_txe_br_reg_write(hw, HIER_REG, HIER_INT_EN_MSK); mei_txe_br_reg_write(hw, HIER_REG, HIER_INT_EN_MSK);
} }
...@@ -440,6 +447,7 @@ static void mei_txe_input_payload_write(struct mei_device *dev, ...@@ -440,6 +447,7 @@ static void mei_txe_input_payload_write(struct mei_device *dev,
unsigned long idx, u32 value) unsigned long idx, u32 value)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
mei_txe_sec_reg_write(hw, SEC_IPC_INPUT_PAYLOAD_REG + mei_txe_sec_reg_write(hw, SEC_IPC_INPUT_PAYLOAD_REG +
(idx * sizeof(u32)), value); (idx * sizeof(u32)), value);
} }
...@@ -457,6 +465,7 @@ static u32 mei_txe_out_data_read(const struct mei_device *dev, ...@@ -457,6 +465,7 @@ static u32 mei_txe_out_data_read(const struct mei_device *dev,
unsigned long idx) unsigned long idx)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
return mei_txe_br_reg_read(hw, return mei_txe_br_reg_read(hw,
BRIDGE_IPC_OUTPUT_PAYLOAD_REG + (idx * sizeof(u32))); BRIDGE_IPC_OUTPUT_PAYLOAD_REG + (idx * sizeof(u32)));
} }
...@@ -471,6 +480,7 @@ static u32 mei_txe_out_data_read(const struct mei_device *dev, ...@@ -471,6 +480,7 @@ static u32 mei_txe_out_data_read(const struct mei_device *dev,
static void mei_txe_readiness_set_host_rdy(struct mei_device *dev) static void mei_txe_readiness_set_host_rdy(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
mei_txe_br_reg_write(hw, mei_txe_br_reg_write(hw,
SICR_HOST_IPC_READINESS_REQ_REG, SICR_HOST_IPC_READINESS_REQ_REG,
SICR_HOST_IPC_READINESS_HOST_RDY); SICR_HOST_IPC_READINESS_HOST_RDY);
...@@ -484,6 +494,7 @@ static void mei_txe_readiness_set_host_rdy(struct mei_device *dev) ...@@ -484,6 +494,7 @@ static void mei_txe_readiness_set_host_rdy(struct mei_device *dev)
static void mei_txe_readiness_clear(struct mei_device *dev) static void mei_txe_readiness_clear(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
mei_txe_br_reg_write(hw, SICR_HOST_IPC_READINESS_REQ_REG, mei_txe_br_reg_write(hw, SICR_HOST_IPC_READINESS_REQ_REG,
SICR_HOST_IPC_READINESS_RDY_CLR); SICR_HOST_IPC_READINESS_RDY_CLR);
} }
...@@ -496,6 +507,7 @@ static void mei_txe_readiness_clear(struct mei_device *dev) ...@@ -496,6 +507,7 @@ static void mei_txe_readiness_clear(struct mei_device *dev)
static u32 mei_txe_readiness_get(struct mei_device *dev) static u32 mei_txe_readiness_get(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
return mei_txe_br_reg_read(hw, HICR_SEC_IPC_READINESS_REG); return mei_txe_br_reg_read(hw, HICR_SEC_IPC_READINESS_REG);
} }
...@@ -519,6 +531,7 @@ static inline bool mei_txe_readiness_is_sec_rdy(u32 readiness) ...@@ -519,6 +531,7 @@ static inline bool mei_txe_readiness_is_sec_rdy(u32 readiness)
static bool mei_txe_hw_is_ready(struct mei_device *dev) static bool mei_txe_hw_is_ready(struct mei_device *dev)
{ {
u32 readiness = mei_txe_readiness_get(dev); u32 readiness = mei_txe_readiness_get(dev);
return mei_txe_readiness_is_sec_rdy(readiness); return mei_txe_readiness_is_sec_rdy(readiness);
} }
...@@ -531,6 +544,7 @@ static inline bool mei_txe_host_is_ready(struct mei_device *dev) ...@@ -531,6 +544,7 @@ static inline bool mei_txe_host_is_ready(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
u32 reg = mei_txe_br_reg_read(hw, HICR_SEC_IPC_READINESS_REG); u32 reg = mei_txe_br_reg_read(hw, HICR_SEC_IPC_READINESS_REG);
return !!(reg & HICR_SEC_IPC_READINESS_HOST_RDY); return !!(reg & HICR_SEC_IPC_READINESS_HOST_RDY);
} }
...@@ -571,6 +585,7 @@ static void mei_txe_hw_config(struct mei_device *dev) ...@@ -571,6 +585,7 @@ static void mei_txe_hw_config(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
/* Doesn't change in runtime */ /* Doesn't change in runtime */
dev->hbuf_depth = PAYLOAD_SIZE / 4; dev->hbuf_depth = PAYLOAD_SIZE / 4;
...@@ -621,6 +636,7 @@ static int mei_txe_write(struct mei_device *dev, ...@@ -621,6 +636,7 @@ static int mei_txe_write(struct mei_device *dev,
if (!mei_txe_is_input_ready(dev)) { if (!mei_txe_is_input_ready(dev)) {
struct mei_fw_status fw_status; struct mei_fw_status fw_status;
mei_fw_status(dev, &fw_status); mei_fw_status(dev, &fw_status);
dev_err(&dev->pdev->dev, "Input is not ready " FW_STS_FMT "\n", dev_err(&dev->pdev->dev, "Input is not ready " FW_STS_FMT "\n",
FW_STS_PRM(fw_status)); FW_STS_PRM(fw_status));
...@@ -635,6 +651,7 @@ static int mei_txe_write(struct mei_device *dev, ...@@ -635,6 +651,7 @@ static int mei_txe_write(struct mei_device *dev,
rem = length & 0x3; rem = length & 0x3;
if (rem > 0) { if (rem > 0) {
u32 reg = 0; u32 reg = 0;
memcpy(&reg, &buf[length - rem], rem); memcpy(&reg, &buf[length - rem], rem);
mei_txe_input_payload_write(dev, i + 1, reg); mei_txe_input_payload_write(dev, i + 1, reg);
} }
...@@ -670,6 +687,7 @@ static size_t mei_txe_hbuf_max_len(const struct mei_device *dev) ...@@ -670,6 +687,7 @@ static size_t mei_txe_hbuf_max_len(const struct mei_device *dev)
static int mei_txe_hbuf_empty_slots(struct mei_device *dev) static int mei_txe_hbuf_empty_slots(struct mei_device *dev)
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
return hw->slots; return hw->slots;
} }
...@@ -712,26 +730,29 @@ static int mei_txe_read(struct mei_device *dev, ...@@ -712,26 +730,29 @@ static int mei_txe_read(struct mei_device *dev,
{ {
struct mei_txe_hw *hw = to_txe_hw(dev); struct mei_txe_hw *hw = to_txe_hw(dev);
u32 *reg_buf, reg;
u32 rem;
u32 i; u32 i;
u32 *reg_buf = (u32 *)buf;
u32 rem = len & 0x3;
if (WARN_ON(!buf || !len)) if (WARN_ON(!buf || !len))
return -EINVAL; return -EINVAL;
reg_buf = (u32 *)buf;
rem = len & 0x3;
dev_dbg(&dev->pdev->dev, dev_dbg(&dev->pdev->dev,
"buffer-length = %lu buf[0]0x%08X\n", "buffer-length = %lu buf[0]0x%08X\n",
len, mei_txe_out_data_read(dev, 0)); len, mei_txe_out_data_read(dev, 0));
for (i = 0; i < len / 4; i++) { for (i = 0; i < len / 4; i++) {
/* skip header: index starts from 1 */ /* skip header: index starts from 1 */
u32 reg = mei_txe_out_data_read(dev, i + 1); reg = mei_txe_out_data_read(dev, i + 1);
dev_dbg(&dev->pdev->dev, "buf[%d] = 0x%08X\n", i, reg); dev_dbg(&dev->pdev->dev, "buf[%d] = 0x%08X\n", i, reg);
*reg_buf++ = reg; *reg_buf++ = reg;
} }
if (rem) { if (rem) {
u32 reg = mei_txe_out_data_read(dev, i + 1); reg = mei_txe_out_data_read(dev, i + 1);
memcpy(reg_buf, &reg, rem); memcpy(reg_buf, &reg, rem);
} }
......
...@@ -88,6 +88,7 @@ int mei_reset(struct mei_device *dev) ...@@ -88,6 +88,7 @@ int mei_reset(struct mei_device *dev)
state != MEI_DEV_POWER_DOWN && state != MEI_DEV_POWER_DOWN &&
state != MEI_DEV_POWER_UP) { state != MEI_DEV_POWER_UP) {
struct mei_fw_status fw_status; struct mei_fw_status fw_status;
mei_fw_status(dev, &fw_status); mei_fw_status(dev, &fw_status);
dev_warn(&dev->pdev->dev, dev_warn(&dev->pdev->dev,
"unexpected reset: dev_state = %s " FW_STS_FMT "\n", "unexpected reset: dev_state = %s " FW_STS_FMT "\n",
...@@ -180,6 +181,7 @@ EXPORT_SYMBOL_GPL(mei_reset); ...@@ -180,6 +181,7 @@ EXPORT_SYMBOL_GPL(mei_reset);
int mei_start(struct mei_device *dev) int mei_start(struct mei_device *dev)
{ {
int ret; int ret;
mutex_lock(&dev->device_lock); mutex_lock(&dev->device_lock);
/* acknowledge interrupt and stop interrupts */ /* acknowledge interrupt and stop interrupts */
...@@ -344,15 +346,15 @@ EXPORT_SYMBOL_GPL(mei_write_is_idle); ...@@ -344,15 +346,15 @@ EXPORT_SYMBOL_GPL(mei_write_is_idle);
int mei_fw_status(struct mei_device *dev, struct mei_fw_status *fw_status) int mei_fw_status(struct mei_device *dev, struct mei_fw_status *fw_status)
{ {
int i;
const struct mei_fw_status *fw_src = &dev->cfg->fw_status; const struct mei_fw_status *fw_src = &dev->cfg->fw_status;
int ret;
int i;
if (!fw_status) if (!fw_status)
return -EINVAL; return -EINVAL;
fw_status->count = fw_src->count; fw_status->count = fw_src->count;
for (i = 0; i < fw_src->count && i < MEI_FW_STATUS_MAX; i++) { for (i = 0; i < fw_src->count && i < MEI_FW_STATUS_MAX; i++) {
int ret;
ret = pci_read_config_dword(dev->pdev, ret = pci_read_config_dword(dev->pdev,
fw_src->status[i], &fw_status->status[i]); fw_src->status[i], &fw_status->status[i]);
if (ret) if (ret)
......
...@@ -550,6 +550,7 @@ int mei_nfc_host_init(struct mei_device *dev) ...@@ -550,6 +550,7 @@ int mei_nfc_host_init(struct mei_device *dev)
void mei_nfc_host_exit(struct mei_device *dev) void mei_nfc_host_exit(struct mei_device *dev)
{ {
struct mei_nfc_dev *ndev = &nfc_dev; struct mei_nfc_dev *ndev = &nfc_dev;
cancel_work_sync(&ndev->init_work); cancel_work_sync(&ndev->init_work);
} }
......
...@@ -52,6 +52,7 @@ static inline void mei_txe_unset_pm_domain(struct mei_device *dev) {} ...@@ -52,6 +52,7 @@ static inline void mei_txe_unset_pm_domain(struct mei_device *dev) {}
static void mei_txe_pci_iounmap(struct pci_dev *pdev, struct mei_txe_hw *hw) static void mei_txe_pci_iounmap(struct pci_dev *pdev, struct mei_txe_hw *hw)
{ {
int i; int i;
for (i = SEC_BAR; i < NUM_OF_MEM_BARS; i++) { for (i = SEC_BAR; i < NUM_OF_MEM_BARS; i++) {
if (hw->mem_addr[i]) { if (hw->mem_addr[i]) {
pci_iounmap(pdev, hw->mem_addr[i]); pci_iounmap(pdev, hw->mem_addr[i]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment