Linux Kernel
3.7.1
|
#include <commands.h>
REPLY_ALIVE = 0x1 (response only, not a command)
uCode issues this "alive" notification once the runtime image is ready to receive commands from the driver. This is the second "alive" notification that the driver will receive after rebooting uCode; this "alive" is indicated by subtype field != 9.
See comments documenting "BSM" (bootstrap state machine).
This response includes two pointers to structures within the device's data SRAM (access via HBUS_TARG_MEM_* regs) that are useful for debugging:
1) log_event_table_ptr indicates base of the event log. This traces a 256-entry history of uCode execution within a circular buffer. Its header format is:
__le32 log_size; log capacity (in number of entries) __le32 type; (1) timestamp with each entry, (0) no timestamp __le32 wraps; # times uCode has wrapped to top of circular buffer __le32 write_index; next circular buffer entry that uCode would fill
The header is followed by the circular buffer of log entries. Entries with timestamps have the following format:
__le32 event_id; range 0 - 1500 __le32 timestamp; low 32 bits of TSF (of network, if associated) __le32 data; event_id-specific data value
Entries without timestamps contain only event_id and data.
2) error_event_table_ptr indicates base of the error log. This contains information about any uCode error that occurs. For agn, the format of the error log is defined by struct iwl_error_event_table.
The Linux driver can print both logs to the system log when a uCode error occurs.
Definition at line 425 of file commands.h.
u32 bcon_time |
Definition at line 436 of file commands.h.
u32 blink1 |
Definition at line 429 of file commands.h.
u32 blink2 |
Definition at line 430 of file commands.h.
u32 brd_ver |
Definition at line 444 of file commands.h.
u32 data1 |
Definition at line 433 of file commands.h.
u32 data2 |
Definition at line 434 of file commands.h.
u32 error_id |
Definition at line 427 of file commands.h.
u32 flow_handler |
Definition at line 469 of file commands.h.
u32 frame_ptr |
Definition at line 446 of file commands.h.
u32 gp1 |
Definition at line 439 of file commands.h.
u32 gp2 |
Definition at line 440 of file commands.h.
u32 gp3 |
Definition at line 441 of file commands.h.
u32 hcmd |
Definition at line 448 of file commands.h.
u32 hw_ver |
Definition at line 443 of file commands.h.
u32 ilink1 |
Definition at line 431 of file commands.h.
u32 ilink2 |
Definition at line 432 of file commands.h.
u32 isr0 |
Definition at line 449 of file commands.h.
u32 isr1 |
Definition at line 451 of file commands.h.
u32 isr2 |
Definition at line 453 of file commands.h.
u32 isr3 |
Definition at line 455 of file commands.h.
u32 isr4 |
Definition at line 457 of file commands.h.
u32 isr_pref |
Definition at line 459 of file commands.h.
u32 l2p_addr_match |
Definition at line 464 of file commands.h.
u32 l2p_control |
Definition at line 461 of file commands.h.
u32 l2p_duration |
Definition at line 462 of file commands.h.
u32 l2p_mhvalid |
Definition at line 463 of file commands.h.
Definition at line 435 of file commands.h.
u32 lmpm_pmg_sel |
Definition at line 465 of file commands.h.
u32 log_pc |
Definition at line 445 of file commands.h.
u32 pc |
Definition at line 428 of file commands.h.
u32 stack_ptr |
Definition at line 447 of file commands.h.
u32 tsf_hi |
Definition at line 438 of file commands.h.
u32 tsf_low |
Definition at line 437 of file commands.h.
u32 u_timestamp |
Definition at line 467 of file commands.h.
u32 ucode_ver |
Definition at line 442 of file commands.h.
u32 valid |
Definition at line 426 of file commands.h.
u32 wait_event |
Definition at line 460 of file commands.h.