diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2012-08-06 17:03:56 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-16 12:43:58 -0400 |
commit | b210d7506f416e7250eb52c314e5ed08928639dd (patch) | |
tree | bc5232d3b3b197305a817a65302ba6bad529a322 /drivers/misc/mei/init.c | |
parent | 6ddf3aea42ba20eadc8ff362926c947ac43c9401 (diff) |
mei: name space for mei device state
1. add MEI_DEV_ prefix for mei device state enums
2. rename mei_state to dev_state
3. add constant to string translation for debug purposes
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei/init.c')
-rw-r--r-- | drivers/misc/mei/init.c | 54 |
1 files changed, 37 insertions, 17 deletions
diff --git a/drivers/misc/mei/init.c b/drivers/misc/mei/init.c index 58b3bf47c8eb..cd6a7f1ff916 100644 --- a/drivers/misc/mei/init.c +++ b/drivers/misc/mei/init.c | |||
@@ -24,6 +24,25 @@ | |||
24 | #include "interface.h" | 24 | #include "interface.h" |
25 | #include <linux/mei.h> | 25 | #include <linux/mei.h> |
26 | 26 | ||
27 | const char *mei_dev_state_str(int state) | ||
28 | { | ||
29 | #define MEI_DEV_STATE(state) case MEI_DEV_##state: return #state | ||
30 | switch (state) { | ||
31 | MEI_DEV_STATE(INITIALIZING); | ||
32 | MEI_DEV_STATE(INIT_CLIENTS); | ||
33 | MEI_DEV_STATE(ENABLED); | ||
34 | MEI_DEV_STATE(RESETING); | ||
35 | MEI_DEV_STATE(DISABLED); | ||
36 | MEI_DEV_STATE(RECOVERING_FROM_RESET); | ||
37 | MEI_DEV_STATE(POWER_DOWN); | ||
38 | MEI_DEV_STATE(POWER_UP); | ||
39 | default: | ||
40 | return "unkown"; | ||
41 | } | ||
42 | #undef MEI_DEV_STATE | ||
43 | } | ||
44 | |||
45 | |||
27 | const uuid_le mei_amthi_guid = UUID_LE(0x12f80028, 0xb4b7, 0x4b2d, 0xac, | 46 | const uuid_le mei_amthi_guid = UUID_LE(0x12f80028, 0xb4b7, 0x4b2d, 0xac, |
28 | 0xa8, 0x46, 0xe0, 0xff, 0x65, | 47 | 0xa8, 0x46, 0xe0, 0xff, 0x65, |
29 | 0x81, 0x4c); | 48 | 0x81, 0x4c); |
@@ -123,7 +142,7 @@ struct mei_device *mei_device_init(struct pci_dev *pdev) | |||
123 | mutex_init(&dev->device_lock); | 142 | mutex_init(&dev->device_lock); |
124 | init_waitqueue_head(&dev->wait_recvd_msg); | 143 | init_waitqueue_head(&dev->wait_recvd_msg); |
125 | init_waitqueue_head(&dev->wait_stop_wd); | 144 | init_waitqueue_head(&dev->wait_stop_wd); |
126 | dev->mei_state = MEI_INITIALIZING; | 145 | dev->dev_state = MEI_DEV_INITIALIZING; |
127 | dev->iamthif_state = MEI_IAMTHIF_IDLE; | 146 | dev->iamthif_state = MEI_IAMTHIF_IDLE; |
128 | dev->wd_interface_reg = false; | 147 | dev->wd_interface_reg = false; |
129 | 148 | ||
@@ -182,7 +201,7 @@ int mei_hw_init(struct mei_device *dev) | |||
182 | } | 201 | } |
183 | 202 | ||
184 | if (err <= 0 && !dev->recvd_msg) { | 203 | if (err <= 0 && !dev->recvd_msg) { |
185 | dev->mei_state = MEI_DISABLED; | 204 | dev->dev_state = MEI_DEV_DISABLED; |
186 | dev_dbg(&dev->pdev->dev, | 205 | dev_dbg(&dev->pdev->dev, |
187 | "wait_event_interruptible_timeout failed" | 206 | "wait_event_interruptible_timeout failed" |
188 | "on wait for ME to turn on ME_RDY.\n"); | 207 | "on wait for ME to turn on ME_RDY.\n"); |
@@ -192,7 +211,7 @@ int mei_hw_init(struct mei_device *dev) | |||
192 | 211 | ||
193 | if (!(((dev->host_hw_state & H_RDY) == H_RDY) && | 212 | if (!(((dev->host_hw_state & H_RDY) == H_RDY) && |
194 | ((dev->me_hw_state & ME_RDY_HRA) == ME_RDY_HRA))) { | 213 | ((dev->me_hw_state & ME_RDY_HRA) == ME_RDY_HRA))) { |
195 | dev->mei_state = MEI_DISABLED; | 214 | dev->dev_state = MEI_DEV_DISABLED; |
196 | dev_dbg(&dev->pdev->dev, | 215 | dev_dbg(&dev->pdev->dev, |
197 | "host_hw_state = 0x%08x, me_hw_state = 0x%08x.\n", | 216 | "host_hw_state = 0x%08x, me_hw_state = 0x%08x.\n", |
198 | dev->host_hw_state, dev->me_hw_state); | 217 | dev->host_hw_state, dev->me_hw_state); |
@@ -258,15 +277,15 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled) | |||
258 | struct mei_cl_cb *cb_next = NULL; | 277 | struct mei_cl_cb *cb_next = NULL; |
259 | bool unexpected; | 278 | bool unexpected; |
260 | 279 | ||
261 | if (dev->mei_state == MEI_RECOVERING_FROM_RESET) { | 280 | if (dev->dev_state == MEI_DEV_RECOVERING_FROM_RESET) { |
262 | dev->need_reset = true; | 281 | dev->need_reset = true; |
263 | return; | 282 | return; |
264 | } | 283 | } |
265 | 284 | ||
266 | unexpected = (dev->mei_state != MEI_INITIALIZING && | 285 | unexpected = (dev->dev_state != MEI_DEV_INITIALIZING && |
267 | dev->mei_state != MEI_DISABLED && | 286 | dev->dev_state != MEI_DEV_DISABLED && |
268 | dev->mei_state != MEI_POWER_DOWN && | 287 | dev->dev_state != MEI_DEV_POWER_DOWN && |
269 | dev->mei_state != MEI_POWER_UP); | 288 | dev->dev_state != MEI_DEV_POWER_UP); |
270 | 289 | ||
271 | dev->host_hw_state = mei_hcsr_read(dev); | 290 | dev->host_hw_state = mei_hcsr_read(dev); |
272 | 291 | ||
@@ -285,10 +304,10 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled) | |||
285 | 304 | ||
286 | dev->need_reset = false; | 305 | dev->need_reset = false; |
287 | 306 | ||
288 | if (dev->mei_state != MEI_INITIALIZING) { | 307 | if (dev->dev_state != MEI_DEV_INITIALIZING) { |
289 | if (dev->mei_state != MEI_DISABLED && | 308 | if (dev->dev_state != MEI_DEV_DISABLED && |
290 | dev->mei_state != MEI_POWER_DOWN) | 309 | dev->dev_state != MEI_DEV_POWER_DOWN) |
291 | dev->mei_state = MEI_RESETING; | 310 | dev->dev_state = MEI_DEV_RESETING; |
292 | 311 | ||
293 | list_for_each_entry_safe(cl_pos, | 312 | list_for_each_entry_safe(cl_pos, |
294 | cl_next, &dev->file_list, link) { | 313 | cl_next, &dev->file_list, link) { |
@@ -322,7 +341,8 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled) | |||
322 | dev->host_hw_state, dev->me_hw_state); | 341 | dev->host_hw_state, dev->me_hw_state); |
323 | 342 | ||
324 | if (unexpected) | 343 | if (unexpected) |
325 | dev_warn(&dev->pdev->dev, "unexpected reset.\n"); | 344 | dev_warn(&dev->pdev->dev, "unexpected reset: dev_state = %s\n", |
345 | mei_dev_state_str(dev->dev_state)); | ||
326 | 346 | ||
327 | /* Wake up all readings so they can be interrupted */ | 347 | /* Wake up all readings so they can be interrupted */ |
328 | list_for_each_entry_safe(cl_pos, cl_next, &dev->file_list, link) { | 348 | list_for_each_entry_safe(cl_pos, cl_next, &dev->file_list, link) { |
@@ -371,7 +391,7 @@ void mei_host_start_message(struct mei_device *dev) | |||
371 | if (mei_write_message(dev, mei_hdr, (unsigned char *)host_start_req, | 391 | if (mei_write_message(dev, mei_hdr, (unsigned char *)host_start_req, |
372 | mei_hdr->length)) { | 392 | mei_hdr->length)) { |
373 | dev_dbg(&dev->pdev->dev, "write send version message to FW fail.\n"); | 393 | dev_dbg(&dev->pdev->dev, "write send version message to FW fail.\n"); |
374 | dev->mei_state = MEI_RESETING; | 394 | dev->dev_state = MEI_DEV_RESETING; |
375 | mei_reset(dev, 1); | 395 | mei_reset(dev, 1); |
376 | } | 396 | } |
377 | dev->init_clients_state = MEI_START_MESSAGE; | 397 | dev->init_clients_state = MEI_START_MESSAGE; |
@@ -403,7 +423,7 @@ void mei_host_enum_clients_message(struct mei_device *dev) | |||
403 | host_enum_req->hbm_cmd = HOST_ENUM_REQ_CMD; | 423 | host_enum_req->hbm_cmd = HOST_ENUM_REQ_CMD; |
404 | if (mei_write_message(dev, mei_hdr, (unsigned char *)host_enum_req, | 424 | if (mei_write_message(dev, mei_hdr, (unsigned char *)host_enum_req, |
405 | mei_hdr->length)) { | 425 | mei_hdr->length)) { |
406 | dev->mei_state = MEI_RESETING; | 426 | dev->dev_state = MEI_DEV_RESETING; |
407 | dev_dbg(&dev->pdev->dev, "write send enumeration request message to FW fail.\n"); | 427 | dev_dbg(&dev->pdev->dev, "write send enumeration request message to FW fail.\n"); |
408 | mei_reset(dev, 1); | 428 | mei_reset(dev, 1); |
409 | } | 429 | } |
@@ -444,7 +464,7 @@ void mei_allocate_me_clients_storage(struct mei_device *dev) | |||
444 | sizeof(struct mei_me_client), GFP_KERNEL); | 464 | sizeof(struct mei_me_client), GFP_KERNEL); |
445 | if (!clients) { | 465 | if (!clients) { |
446 | dev_dbg(&dev->pdev->dev, "memory allocation for ME clients failed.\n"); | 466 | dev_dbg(&dev->pdev->dev, "memory allocation for ME clients failed.\n"); |
447 | dev->mei_state = MEI_RESETING; | 467 | dev->dev_state = MEI_DEV_RESETING; |
448 | mei_reset(dev, 1); | 468 | mei_reset(dev, 1); |
449 | return ; | 469 | return ; |
450 | } | 470 | } |
@@ -490,7 +510,7 @@ int mei_host_client_properties(struct mei_device *dev) | |||
490 | if (mei_write_message(dev, mei_header, | 510 | if (mei_write_message(dev, mei_header, |
491 | (unsigned char *)host_cli_req, | 511 | (unsigned char *)host_cli_req, |
492 | mei_header->length)) { | 512 | mei_header->length)) { |
493 | dev->mei_state = MEI_RESETING; | 513 | dev->dev_state = MEI_DEV_RESETING; |
494 | dev_dbg(&dev->pdev->dev, "write send enumeration request message to FW fail.\n"); | 514 | dev_dbg(&dev->pdev->dev, "write send enumeration request message to FW fail.\n"); |
495 | mei_reset(dev, 1); | 515 | mei_reset(dev, 1); |
496 | return -EIO; | 516 | return -EIO; |