Path: blob/main/sys/contrib/dev/iwlwifi/pcie/utils.h
48372 views
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause1/*2* Copyright (C) 2025 Intel Corporation3*/45#ifndef __iwl_pcie_utils_h__6#define __iwl_pcie_utils_h__78#include "iwl-io.h"910void iwl_trans_pcie_dump_regs(struct iwl_trans *trans, struct pci_dev *pdev);1112static inline void _iwl_trans_set_bits_mask(struct iwl_trans *trans,13u32 reg, u32 mask, u32 value)14{15u32 v;1617#ifdef CONFIG_IWLWIFI_DEBUG18WARN_ON_ONCE(value & ~mask);19#endif2021v = iwl_read32(trans, reg);22v &= ~mask;23v |= value;24iwl_write32(trans, reg, v);25}2627static inline void iwl_trans_clear_bit(struct iwl_trans *trans,28u32 reg, u32 mask)29{30_iwl_trans_set_bits_mask(trans, reg, mask, 0);31}3233static inline void iwl_trans_set_bit(struct iwl_trans *trans,34u32 reg, u32 mask)35{36_iwl_trans_set_bits_mask(trans, reg, mask, mask);37}3839#endif /* __iwl_pcie_utils_h__ */404142