Lines Matching +full:x +full:- +full:mask +full:-
1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
3 * Copyright (C) 2003-2014, 2018-2022, 2024 Intel Corporation
4 * Copyright (C) 2015-2016 Intel Deutschland GmbH
10 #include "iwl-drv.h"
11 #include "iwl-io.h"
12 #include "iwl-csr.h"
13 #include "iwl-debug.h"
14 #include "iwl-prph.h"
15 #include "iwl-fh.h"
19 trace_iwlwifi_dev_iowrite8(trans->dev, ofs, val);
26 trace_iwlwifi_dev_iowrite32(trans->dev, ofs, val);
33 trace_iwlwifi_dev_iowrite64(trans->dev, ofs, val);
43 trace_iwlwifi_dev_ioread32(trans->dev, ofs, val);
51 u32 bits, u32 mask, int timeout)
56 if ((iwl_read32(trans, addr) & mask) == (bits & mask))
62 return -ETIMEDOUT;
98 int iwl_poll_direct_bit(struct iwl_trans *trans, u32 addr, u32 mask,
104 if ((iwl_read_direct32(trans, addr) & mask) == mask)
110 return -ETIMEDOUT;
117 trace_iwlwifi_dev_ioread_prph32(trans->dev, ofs, val);
124 trace_iwlwifi_dev_iowrite_prph32(trans->dev, ofs, val);
131 trace_iwlwifi_dev_iowrite_prph64(trans->dev, ofs, val);
163 u32 bits, u32 mask, int timeout)
168 if ((iwl_read_prph(trans, addr) & mask) == (bits & mask))
174 return -ETIMEDOUT;
177 void iwl_set_bits_prph(struct iwl_trans *trans, u32 ofs, u32 mask)
182 mask);
189 u32 bits, u32 mask)
194 mask) | bits);
200 void iwl_clear_bits_prph(struct iwl_trans *trans, u32 ofs, u32 mask)
206 iwl_write_prph_no_grab(trans, ofs, (val & ~mask));
214 if (trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_9000)
217 else if (trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_AX210)
220 else if (trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_BZ)
231 #define IWL_CMD(x) case x: return #x
263 int num_q = trans->num_rx_queues;
284 * 0X%08x: 10 characters
293 return -ENOMEM;
295 pos += scnprintf(*buf + pos, bufsz - pos,
299 pos += scnprintf(*buf + pos, bufsz - pos,
300 "%40s: 0X%08x\n",
309 pos += scnprintf(*buf + pos, bufsz - pos,
310 "%34s(q %2d): 0X%08x\n",
321 IWL_ERR(trans, " %34s: 0X%08x\n",
330 IWL_ERR(trans, " %34s(q %d): 0X%08x\n",
371 if (trans->trans_cfg->mq_rx_supported)
381 return -ENOMEM;
383 pos += scnprintf(*buf + pos, bufsz - pos,
387 pos += scnprintf(*buf + pos, bufsz - pos,
388 " %34s: 0X%08x\n",
398 IWL_ERR(trans, " %34s: 0X%08x\n",
417 IWL_ERR(trans, "Host monitor block 0x%x vector 0x%x\n", block, vec);
420 IWL_ERR(trans, " value [iter %d]: 0x%08x\n",
426 switch (trans->trans_cfg->device_family) {
429 IWL_ERR(trans, "CSR_RESET = 0x%x\n",
448 const struct iwl_cfg_trans_params *cfg_trans = trans->trans_cfg;
452 if (cfg_trans->bisr_workaround) {
459 * D0U* --> D0A* (powered-up active) state.
461 if (cfg_trans->device_family >= IWL_DEVICE_FAMILY_BZ) {
472 if (cfg_trans->device_family == IWL_DEVICE_FAMILY_8000)
477 * device-internal resources is supported, e.g. iwl_write_prph()
487 if (cfg_trans->bisr_workaround) {
500 bool interrupts_enabled = test_bit(STATUS_INT_ENABLED, &trans->status);