linux/drivers/staging/rtl8723bs/core/rtw_debug.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2/******************************************************************************
   3 *
   4 * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
   5 *
   6 ******************************************************************************/
   7#define _RTW_DEBUG_C_
   8
   9#include <drv_types.h>
  10#include <rtw_debug.h>
  11#include <hal_btcoex.h>
  12
  13#include <rtw_version.h>
  14
  15static void dump_4_regs(struct adapter *adapter, int offset)
  16{
  17        u32 reg[4];
  18        int i;
  19
  20        for (i = 0; i < 4; i++)
  21                reg[i] = rtw_read32(adapter, offset + i);
  22
  23        netdev_dbg(adapter->pnetdev, "0x%03x 0x%08x 0x%08x 0x%08x 0x%08x\n",
  24                   i, reg[0], reg[1], reg[2], reg[3]);
  25}
  26
  27void mac_reg_dump(struct adapter *adapter)
  28{
  29        int i;
  30
  31        netdev_dbg(adapter->pnetdev, "======= MAC REG =======\n");
  32
  33        for (i = 0x0; i < 0x800; i += 4)
  34                dump_4_regs(adapter, i);
  35}
  36
  37void bb_reg_dump(struct adapter *adapter)
  38{
  39        int i;
  40
  41        netdev_dbg(adapter->pnetdev, "======= BB REG =======\n");
  42
  43        for (i = 0x800; i < 0x1000 ; i += 4)
  44                dump_4_regs(adapter, i);
  45}
  46
  47static void dump_4_rf_regs(struct adapter *adapter, int path, int offset)
  48{
  49        u8 reg[4];
  50        int i;
  51
  52        for (i = 0; i < 4; i++)
  53                reg[i] = rtw_hal_read_rfreg(adapter, path, offset + i,
  54                                            0xffffffff);
  55
  56        netdev_dbg(adapter->pnetdev, "0x%02x 0x%08x 0x%08x 0x%08x 0x%08x\n",
  57                   i, reg[0], reg[1], reg[2], reg[3]);
  58}
  59
  60void rf_reg_dump(struct adapter *adapter)
  61{
  62        int i, path;
  63        u8 rf_type = 0;
  64        u8 path_nums = 0;
  65
  66        rtw_hal_get_hwreg(adapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
  67        if ((RF_1T2R == rf_type) || (RF_1T1R == rf_type))
  68                path_nums = 1;
  69        else
  70                path_nums = 2;
  71
  72        netdev_dbg(adapter->pnetdev, "======= RF REG =======\n");
  73
  74        for (path = 0; path < path_nums; path++) {
  75                netdev_dbg(adapter->pnetdev, "RF_Path(%x)\n", path);
  76                for (i = 0; i < 0x100; i++)
  77                        dump_4_rf_regs(adapter, path, i);
  78        }
  79}
  80