qed: Remove OOM messages
[cascardo/linux.git] / drivers / net / ethernet / qlogic / qed / qed_init_ops.c
index 9866a20..d567ba9 100644 (file)
@@ -59,17 +59,14 @@ void qed_init_clear_rt_data(struct qed_hwfn *p_hwfn)
                p_hwfn->rt_data.b_valid[i] = false;
 }
 
-void qed_init_store_rt_reg(struct qed_hwfn *p_hwfn,
-                          u32 rt_offset,
-                          u32 val)
+void qed_init_store_rt_reg(struct qed_hwfn *p_hwfn, u32 rt_offset, u32 val)
 {
        p_hwfn->rt_data.init_val[rt_offset] = val;
        p_hwfn->rt_data.b_valid[rt_offset] = true;
 }
 
 void qed_init_store_rt_agg(struct qed_hwfn *p_hwfn,
-                          u32 rt_offset, u32 *p_val,
-                          size_t size)
+                          u32 rt_offset, u32 *p_val, size_t size)
 {
        size_t i;
 
@@ -81,10 +78,7 @@ void qed_init_store_rt_agg(struct qed_hwfn *p_hwfn,
 
 static int qed_init_rt(struct qed_hwfn *p_hwfn,
                       struct qed_ptt *p_ptt,
-                      u32 addr,
-                      u16 rt_offset,
-                      u16 size,
-                      bool b_must_dmae)
+                      u32 addr, u16 rt_offset, u16 size, bool b_must_dmae)
 {
        u32 *p_init_val = &p_hwfn->rt_data.init_val[rt_offset];
        bool *p_valid = &p_hwfn->rt_data.b_valid[rt_offset];
@@ -102,8 +96,7 @@ static int qed_init_rt(struct qed_hwfn       *p_hwfn,
                 * simply write the data instead of using dmae.
                 */
                if (!b_must_dmae) {
-                       qed_wr(p_hwfn, p_ptt, addr + (i << 2),
-                              p_init_val[i]);
+                       qed_wr(p_hwfn, p_ptt, addr + (i << 2), p_init_val[i]);
                        continue;
                }
 
@@ -115,7 +108,7 @@ static int qed_init_rt(struct qed_hwfn      *p_hwfn,
                rc = qed_dmae_host2grc(p_hwfn, p_ptt,
                                       (uintptr_t)(p_init_val + i),
                                       addr + (i << 2), segment, 0);
-               if (rc != 0)
+               if (rc)
                        return rc;
 
                /* Jump over the entire segment, including invalid entry */
@@ -182,9 +175,7 @@ static int qed_init_array_dmae(struct qed_hwfn *p_hwfn,
 
 static int qed_init_fill_dmae(struct qed_hwfn *p_hwfn,
                              struct qed_ptt *p_ptt,
-                             u32 addr,
-                             u32 fill,
-                             u32 fill_count)
+                             u32 addr, u32 fill, u32 fill_count)
 {
        static u32 zero_buffer[DMAE_MAX_RW_SIZE];
 
@@ -199,15 +190,12 @@ static int qed_init_fill_dmae(struct qed_hwfn *p_hwfn,
 
        return qed_dmae_host2grc(p_hwfn, p_ptt,
                                 (uintptr_t)(&zero_buffer[0]),
-                                addr, fill_count,
-                                QED_DMAE_FLAG_RW_REPL_SRC);
+                                addr, fill_count, QED_DMAE_FLAG_RW_REPL_SRC);
 }
 
 static void qed_init_fill(struct qed_hwfn *p_hwfn,
                          struct qed_ptt *p_ptt,
-                         u32 addr,
-                         u32 fill,
-                         u32 fill_count)
+                         u32 addr, u32 fill, u32 fill_count)
 {
        u32 i;
 
@@ -218,12 +206,12 @@ static void qed_init_fill(struct qed_hwfn *p_hwfn,
 static int qed_init_cmd_array(struct qed_hwfn *p_hwfn,
                              struct qed_ptt *p_ptt,
                              struct init_write_op *cmd,
-                             bool b_must_dmae,
-                             bool b_can_dmae)
+                             bool b_must_dmae, bool b_can_dmae)
 {
+       u32 dmae_array_offset = le32_to_cpu(cmd->args.array_offset);
        u32 data = le32_to_cpu(cmd->data);
        u32 addr = GET_FIELD(data, INIT_WRITE_OP_ADDRESS) << 2;
-       u32 dmae_array_offset = le32_to_cpu(cmd->args.array_offset);
+
        u32 offset, output_len, input_len, max_size;
        struct qed_dev *cdev = p_hwfn->cdev;
        union init_array_hdr *hdr;
@@ -233,8 +221,7 @@ static int qed_init_cmd_array(struct qed_hwfn *p_hwfn,
 
        array_data = cdev->fw_data->arr_data;
 
-       hdr = (union init_array_hdr *)(array_data +
-                                      dmae_array_offset);
+       hdr = (union init_array_hdr *)(array_data + dmae_array_offset);
        data = le32_to_cpu(hdr->raw.data);
        switch (GET_FIELD(data, INIT_ARRAY_RAW_HDR_TYPE)) {
        case INIT_ARR_ZIPPED:
@@ -290,13 +277,12 @@ static int qed_init_cmd_array(struct qed_hwfn *p_hwfn,
 /* init_ops write command */
 static int qed_init_cmd_wr(struct qed_hwfn *p_hwfn,
                           struct qed_ptt *p_ptt,
-                          struct init_write_op *cmd,
-                          bool b_can_dmae)
+                          struct init_write_op *p_cmd, bool b_can_dmae)
 {
-       u32 data = le32_to_cpu(cmd->data);
-       u32 addr = GET_FIELD(data, INIT_WRITE_OP_ADDRESS) << 2;
+       u32 data = le32_to_cpu(p_cmd->data);
        bool b_must_dmae = GET_FIELD(data, INIT_WRITE_OP_WIDE_BUS);
-       union init_write_args *arg = &cmd->args;
+       u32 addr = GET_FIELD(data, INIT_WRITE_OP_ADDRESS) << 2;
+       union init_write_args *arg = &p_cmd->args;
        int rc = 0;
 
        /* Sanitize */
@@ -309,20 +295,18 @@ static int qed_init_cmd_wr(struct qed_hwfn *p_hwfn,
 
        switch (GET_FIELD(data, INIT_WRITE_OP_SOURCE)) {
        case INIT_SRC_INLINE:
-               qed_wr(p_hwfn, p_ptt, addr,
-                      le32_to_cpu(arg->inline_val));
+               data = le32_to_cpu(p_cmd->args.inline_val);
+               qed_wr(p_hwfn, p_ptt, addr, data);
                break;
        case INIT_SRC_ZEROS:
-               if (b_must_dmae ||
-                   (b_can_dmae && (le32_to_cpu(arg->zeros_count) >= 64)))
-                       rc = qed_init_fill_dmae(p_hwfn, p_ptt, addr, 0,
-                                               le32_to_cpu(arg->zeros_count));
+               data = le32_to_cpu(p_cmd->args.zeros_count);
+               if (b_must_dmae || (b_can_dmae && (data >= 64)))
+                       rc = qed_init_fill_dmae(p_hwfn, p_ptt, addr, 0, data);
                else
-                       qed_init_fill(p_hwfn, p_ptt, addr, 0,
-                                     le32_to_cpu(arg->zeros_count));
+                       qed_init_fill(p_hwfn, p_ptt, addr, 0, data);
                break;
        case INIT_SRC_ARRAY:
-               rc = qed_init_cmd_array(p_hwfn, p_ptt, cmd,
+               rc = qed_init_cmd_array(p_hwfn, p_ptt, p_cmd,
                                        b_must_dmae, b_can_dmae);
                break;
        case INIT_SRC_RUNTIME:
@@ -353,8 +337,7 @@ static inline bool comp_or(u32 val, u32 expected_val)
 
 /* init_ops read/poll commands */
 static void qed_init_cmd_rd(struct qed_hwfn *p_hwfn,
-                           struct qed_ptt *p_ptt,
-                           struct init_read_op *cmd)
+                           struct qed_ptt *p_ptt, struct init_read_op *cmd)
 {
        bool (*comp_check)(u32 val, u32 expected_val);
        u32 delay = QED_INIT_POLL_PERIOD_US, val;
@@ -412,35 +395,33 @@ static void qed_init_cmd_cb(struct qed_hwfn *p_hwfn,
 }
 
 static u8 qed_init_cmd_mode_match(struct qed_hwfn *p_hwfn,
-                                 u16 *offset,
-                                 int modes)
+                                 u16 *p_offset, int modes)
 {
        struct qed_dev *cdev = p_hwfn->cdev;
        const u8 *modes_tree_buf;
        u8 arg1, arg2, tree_val;
 
        modes_tree_buf = cdev->fw_data->modes_tree_buf;
-       tree_val = modes_tree_buf[(*offset)++];
+       tree_val = modes_tree_buf[(*p_offset)++];
        switch (tree_val) {
        case INIT_MODE_OP_NOT:
-               return qed_init_cmd_mode_match(p_hwfn, offset, modes) ^ 1;
+               return qed_init_cmd_mode_match(p_hwfn, p_offset, modes) ^ 1;
        case INIT_MODE_OP_OR:
-               arg1    = qed_init_cmd_mode_match(p_hwfn, offset, modes);
-               arg2    = qed_init_cmd_mode_match(p_hwfn, offset, modes);
+               arg1 = qed_init_cmd_mode_match(p_hwfn, p_offset, modes);
+               arg2 = qed_init_cmd_mode_match(p_hwfn, p_offset, modes);
                return arg1 | arg2;
        case INIT_MODE_OP_AND:
-               arg1    = qed_init_cmd_mode_match(p_hwfn, offset, modes);
-               arg2    = qed_init_cmd_mode_match(p_hwfn, offset, modes);
+               arg1 = qed_init_cmd_mode_match(p_hwfn, p_offset, modes);
+               arg2 = qed_init_cmd_mode_match(p_hwfn, p_offset, modes);
                return arg1 & arg2;
        default:
                tree_val -= MAX_INIT_MODE_OPS;
-               return (modes & (1 << tree_val)) ? 1 : 0;
+               return (modes & BIT(tree_val)) ? 1 : 0;
        }
 }
 
 static u32 qed_init_cmd_mode(struct qed_hwfn *p_hwfn,
-                            struct init_if_mode_op *p_cmd,
-                            int modes)
+                            struct init_if_mode_op *p_cmd, int modes)
 {
        u16 offset = le16_to_cpu(p_cmd->modes_buf_offset);
 
@@ -453,8 +434,7 @@ static u32 qed_init_cmd_mode(struct qed_hwfn *p_hwfn,
 
 static u32 qed_init_cmd_phase(struct qed_hwfn *p_hwfn,
                              struct init_if_phase_op *p_cmd,
-                             u32 phase,
-                             u32 phase_id)
+                             u32 phase, u32 phase_id)
 {
        u32 data = le32_to_cpu(p_cmd->phase_data);
        u32 op_data = le32_to_cpu(p_cmd->op_data);
@@ -468,10 +448,7 @@ static u32 qed_init_cmd_phase(struct qed_hwfn *p_hwfn,
 }
 
 int qed_init_run(struct qed_hwfn *p_hwfn,
-                struct qed_ptt *p_ptt,
-                int phase,
-                int phase_id,
-                int modes)
+                struct qed_ptt *p_ptt, int phase, int phase_id, int modes)
 {
        struct qed_dev *cdev = p_hwfn->cdev;
        u32 cmd_num, num_init_ops;
@@ -483,10 +460,8 @@ int qed_init_run(struct qed_hwfn *p_hwfn,
        init_ops = cdev->fw_data->init_ops;
 
        p_hwfn->unzip_buf = kzalloc(MAX_ZIPPED_SIZE * 4, GFP_ATOMIC);
-       if (!p_hwfn->unzip_buf) {
-               DP_NOTICE(p_hwfn, "Failed to allocate unzip buffer\n");
+       if (!p_hwfn->unzip_buf)
                return -ENOMEM;
-       }
 
        for (cmd_num = 0; cmd_num < num_init_ops; cmd_num++) {
                union init_op *cmd = &init_ops[cmd_num];
@@ -557,7 +532,7 @@ int qed_init_fw_data(struct qed_dev *cdev, const u8 *data)
        /* First Dword contains metadata and should be skipped */
        buf_hdr = (struct bin_buffer_hdr *)(data + sizeof(u32));
 
-       offset = buf_hdr[BIN_BUF_FW_VER_INFO].offset;
+       offset = buf_hdr[BIN_BUF_INIT_FW_VER_INFO].offset;
        fw->fw_ver_info = (struct fw_ver_info *)(data + offset);
 
        offset = buf_hdr[BIN_BUF_INIT_CMD].offset;