From 413d06c543e77b9d0acf7e75819a62a068a5359e Mon Sep 17 00:00:00 2001 From: Evelyn Tsai Date: Fri, 14 Oct 2022 11:15:13 +0800 Subject: [PATCH 1129/1131] mt76: mt7915: support on off SW ACI through debugfs Signed-off-by: Evelyn Tsai Change-Id: I8a9c277c41d1ba76f9737d8af6f42e5e8f00ba64 --- mt76_connac_mcu.h | 1 + mt7915/mtk_debugfs.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h index 5cff1a4..98b0074 100644 --- a/mt76_connac_mcu.h +++ b/mt76_connac_mcu.h @@ -1201,6 +1201,7 @@ enum { MCU_EXT_CMD_RX_STAT_USER_CTRL = 0xb3, MCU_EXT_CMD_SET_CFG = 0xb7, MCU_EXT_CMD_EDCCA = 0xba, + MCU_EXT_CMD_SWLNA_ACI_CTRL = 0xc0, MCU_EXT_CMD_CSI_CTRL = 0xc2, MCU_EXT_CMD_IPI_HIST_SCAN = 0xc5, }; diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c index 7567666..19cc8cb 100644 --- a/mt7915/mtk_debugfs.c +++ b/mt7915/mtk_debugfs.c @@ -2963,6 +2963,25 @@ static int mt7915_show_eeprom_mode(struct seq_file *s, void *data) return 0; } +static int +mt7915_sw_aci_set(void *data, u64 val) +{ +#define SWLNA_ENABLE 6 + struct mt7915_dev *dev = data; + struct { + u32 subcmd; + u8 enable; + } req = { + .subcmd = SWLNA_ENABLE, + .enable = (u8) val, + }; + return mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD(SWLNA_ACI_CTRL), &req, sizeof(req), NULL); +} + + +DEFINE_DEBUGFS_ATTRIBUTE(fops_sw_aci, NULL, + mt7915_sw_aci_set, "%llx\n"); + int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir) { struct mt7915_dev *dev = phy->dev; @@ -3050,6 +3069,8 @@ int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir) debugfs_create_devm_seqfile(dev->mt76.dev, "eeprom_mode", dir, mt7915_show_eeprom_mode); + debugfs_create_file("sw_aci", 0600, dir, dev, + &fops_sw_aci); return 0; } #endif -- 2.36.1