From: kernel test robot <lkp@intel.com>
To: greearb@candelatech.com, linux-wireless@vger.kernel.org
Cc: kbuild-all@lists.01.org, Ben Greear <greearb@candelatech.com>
Subject: Re: [PATCH 7/8] mt76: mt7915: add support for tx-overrides
Date: Fri, 19 Nov 2021 15:16:40 +0800 [thread overview]
Message-ID: <202111191516.6QAZ0itw-lkp@intel.com> (raw)
In-Reply-To: <20211118164549.3863-7-greearb@candelatech.com>
[-- Attachment #1: Type: text/plain, Size: 18053 bytes --]
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on kvalo-wireless-drivers-next/master]
[also build test ERROR on v5.16-rc1 next-20211118]
[cannot apply to kvalo-wireless-drivers/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/greearb-candelatech-com/mt76-mt7915-cache-sgi-in-wcid/20211119-005421
base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
config: microblaze-buildonly-randconfig-r005-20211119 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/c742cd1ffffaeff7ab79835466b08fd5616cdce3
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review greearb-candelatech-com/mt76-mt7915-cache-sgi-in-wcid/20211119-005421
git checkout c742cd1ffffaeff7ab79835466b08fd5616cdce3
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/net/wireless/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/net/wireless/mediatek/mt76/mt7915/mac.c: In function 'mt7915_mac_write_txwi_tm':
>> drivers/net/wireless/mediatek/mt76/mt7915/mac.c:778:37: error: 'struct mt76_phy' has no member named 'test'
778 | if (skb != phy->mt76->test.tx_skb)
| ^~
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:780:32: error: 'struct mt76_phy' has no member named 'test'
780 | td = &phy->mt76->test;
| ^~
In file included from include/linux/byteorder/little_endian.h:5,
from arch/microblaze/include/uapi/asm/byteorder.h:6,
from include/asm-generic/bitops/le.h:7,
from include/asm-generic/bitops.h:36,
from ./arch/microblaze/include/generated/asm/bitops.h:1,
from include/linux/bitops.h:33,
from include/linux/kernel.h:12,
from include/linux/skbuff.h:13,
from include/linux/if_ether.h:19,
from include/linux/etherdevice.h:20,
from drivers/net/wireless/mediatek/mt76/mt7915/mac.c:4:
>> drivers/net/wireless/mediatek/mt76/mt7915/mac.c:909:54: error: 'struct mt7915_phy' has no member named 'test'
909 | phy->test.spe_idx));
| ^~
include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__cpu_to_le32'
33 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
include/linux/compiler_types.h:310:9: note: in expansion of macro '__compiletime_assert'
310 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:322:9: note: in expansion of macro '_compiletime_assert'
322 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/bitfield.h:49:17: note: in expansion of macro 'BUILD_BUG_ON_MSG'
49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
| ^~~~~~~~~~~~~~~~
include/linux/bitfield.h:94:17: note: in expansion of macro '__BF_FIELD_CHECK'
94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
| ^~~~~~~~~~~~~~~~
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:908:40: note: in expansion of macro 'FIELD_PREP'
908 | txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX,
| ^~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt7915/mac.c:909:54: error: 'struct mt7915_phy' has no member named 'test'
909 | phy->test.spe_idx));
| ^~
include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__cpu_to_le32'
33 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
include/linux/compiler_types.h:310:9: note: in expansion of macro '__compiletime_assert'
310 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:322:9: note: in expansion of macro '_compiletime_assert'
322 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/bitfield.h:49:17: note: in expansion of macro 'BUILD_BUG_ON_MSG'
49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
| ^~~~~~~~~~~~~~~~
include/linux/bitfield.h:94:17: note: in expansion of macro '__BF_FIELD_CHECK'
94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
| ^~~~~~~~~~~~~~~~
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:908:40: note: in expansion of macro 'FIELD_PREP'
908 | txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX,
| ^~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt7915/mac.c:909:54: error: 'struct mt7915_phy' has no member named 'test'
909 | phy->test.spe_idx));
| ^~
include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__cpu_to_le32'
33 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:908:40: note: in expansion of macro 'FIELD_PREP'
908 | txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX,
| ^~~~~~~~~~
At top level:
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:760:1: warning: 'mt7915_mac_write_txwi_tm' defined but not used [-Wunused-function]
760 | mt7915_mac_write_txwi_tm(struct mt7915_phy *phy, struct mt76_wcid *wcid, __le32 *txwi,
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +778 drivers/net/wireless/mediatek/mt76/mt7915/mac.c
5d8a83f0994134 Shayne Chen 2020-10-22 758
aadf09537c575d Shayne Chen 2020-10-22 759 static void
c742cd1ffffaef Ben Greear 2021-11-18 760 mt7915_mac_write_txwi_tm(struct mt7915_phy *phy, struct mt76_wcid *wcid, __le32 *txwi,
c918c74d06457e Shayne Chen 2020-12-04 761 struct sk_buff *skb)
aadf09537c575d Shayne Chen 2020-10-22 762 {
c742cd1ffffaef Ben Greear 2021-11-18 763 struct mt76_testmode_data *td;
cc91747be98f2a Shayne Chen 2021-04-12 764 const struct ieee80211_rate *r;
c742cd1ffffaef Ben Greear 2021-11-18 765 struct mt7915_sta *msta;
c742cd1ffffaef Ben Greear 2021-11-18 766 u8 bw, mode, nss;
c742cd1ffffaef Ben Greear 2021-11-18 767 u8 rate_idx;
aadf09537c575d Shayne Chen 2020-10-22 768 u16 rateval = 0;
aadf09537c575d Shayne Chen 2020-10-22 769 u32 val;
cc91747be98f2a Shayne Chen 2021-04-12 770 bool cck = false;
cc91747be98f2a Shayne Chen 2021-04-12 771 int band;
aadf09537c575d Shayne Chen 2020-10-22 772
c742cd1ffffaef Ben Greear 2021-11-18 773 msta = container_of(wcid, struct mt7915_sta, wcid);
c742cd1ffffaef Ben Greear 2021-11-18 774
c742cd1ffffaef Ben Greear 2021-11-18 775 if (msta->test.txo_active) {
c742cd1ffffaef Ben Greear 2021-11-18 776 td = &msta->test;
c742cd1ffffaef Ben Greear 2021-11-18 777 } else {
c918c74d06457e Shayne Chen 2020-12-04 @778 if (skb != phy->mt76->test.tx_skb)
aadf09537c575d Shayne Chen 2020-10-22 779 return;
c742cd1ffffaef Ben Greear 2021-11-18 780 td = &phy->mt76->test;
c742cd1ffffaef Ben Greear 2021-11-18 781 }
c742cd1ffffaef Ben Greear 2021-11-18 782
c742cd1ffffaef Ben Greear 2021-11-18 783 nss = td->tx_rate_nss;
c742cd1ffffaef Ben Greear 2021-11-18 784 rate_idx = td->tx_rate_idx;
aadf09537c575d Shayne Chen 2020-10-22 785
aadf09537c575d Shayne Chen 2020-10-22 786 switch (td->tx_rate_mode) {
aadf09537c575d Shayne Chen 2020-10-22 787 case MT76_TM_TX_MODE_HT:
aadf09537c575d Shayne Chen 2020-10-22 788 nss = 1 + (rate_idx >> 3);
aadf09537c575d Shayne Chen 2020-10-22 789 mode = MT_PHY_TYPE_HT;
aadf09537c575d Shayne Chen 2020-10-22 790 break;
aadf09537c575d Shayne Chen 2020-10-22 791 case MT76_TM_TX_MODE_VHT:
aadf09537c575d Shayne Chen 2020-10-22 792 mode = MT_PHY_TYPE_VHT;
aadf09537c575d Shayne Chen 2020-10-22 793 break;
aadf09537c575d Shayne Chen 2020-10-22 794 case MT76_TM_TX_MODE_HE_SU:
aadf09537c575d Shayne Chen 2020-10-22 795 mode = MT_PHY_TYPE_HE_SU;
aadf09537c575d Shayne Chen 2020-10-22 796 break;
aadf09537c575d Shayne Chen 2020-10-22 797 case MT76_TM_TX_MODE_HE_EXT_SU:
aadf09537c575d Shayne Chen 2020-10-22 798 mode = MT_PHY_TYPE_HE_EXT_SU;
aadf09537c575d Shayne Chen 2020-10-22 799 break;
aadf09537c575d Shayne Chen 2020-10-22 800 case MT76_TM_TX_MODE_HE_TB:
aadf09537c575d Shayne Chen 2020-10-22 801 mode = MT_PHY_TYPE_HE_TB;
aadf09537c575d Shayne Chen 2020-10-22 802 break;
aadf09537c575d Shayne Chen 2020-10-22 803 case MT76_TM_TX_MODE_HE_MU:
aadf09537c575d Shayne Chen 2020-10-22 804 mode = MT_PHY_TYPE_HE_MU;
aadf09537c575d Shayne Chen 2020-10-22 805 break;
cc91747be98f2a Shayne Chen 2021-04-12 806 case MT76_TM_TX_MODE_CCK:
cc91747be98f2a Shayne Chen 2021-04-12 807 cck = true;
cc91747be98f2a Shayne Chen 2021-04-12 808 fallthrough;
aadf09537c575d Shayne Chen 2020-10-22 809 case MT76_TM_TX_MODE_OFDM:
cc91747be98f2a Shayne Chen 2021-04-12 810 band = phy->mt76->chandef.chan->band;
cc91747be98f2a Shayne Chen 2021-04-12 811 if (band == NL80211_BAND_2GHZ && !cck)
cc91747be98f2a Shayne Chen 2021-04-12 812 rate_idx += 4;
cc91747be98f2a Shayne Chen 2021-04-12 813
cc91747be98f2a Shayne Chen 2021-04-12 814 r = &phy->mt76->hw->wiphy->bands[band]->bitrates[rate_idx];
cc91747be98f2a Shayne Chen 2021-04-12 815 val = cck ? r->hw_value_short : r->hw_value;
cc91747be98f2a Shayne Chen 2021-04-12 816
cc91747be98f2a Shayne Chen 2021-04-12 817 mode = val >> 8;
cc91747be98f2a Shayne Chen 2021-04-12 818 rate_idx = val & 0xff;
cc91747be98f2a Shayne Chen 2021-04-12 819 break;
aadf09537c575d Shayne Chen 2020-10-22 820 default:
aadf09537c575d Shayne Chen 2020-10-22 821 mode = MT_PHY_TYPE_OFDM;
aadf09537c575d Shayne Chen 2020-10-22 822 break;
aadf09537c575d Shayne Chen 2020-10-22 823 }
aadf09537c575d Shayne Chen 2020-10-22 824
c742cd1ffffaef Ben Greear 2021-11-18 825 if (msta->test.txo_active) {
c742cd1ffffaef Ben Greear 2021-11-18 826 bw = td->txbw;
c742cd1ffffaef Ben Greear 2021-11-18 827 } else {
c918c74d06457e Shayne Chen 2020-12-04 828 switch (phy->mt76->chandef.width) {
aadf09537c575d Shayne Chen 2020-10-22 829 case NL80211_CHAN_WIDTH_40:
aadf09537c575d Shayne Chen 2020-10-22 830 bw = 1;
aadf09537c575d Shayne Chen 2020-10-22 831 break;
aadf09537c575d Shayne Chen 2020-10-22 832 case NL80211_CHAN_WIDTH_80:
aadf09537c575d Shayne Chen 2020-10-22 833 bw = 2;
aadf09537c575d Shayne Chen 2020-10-22 834 break;
aadf09537c575d Shayne Chen 2020-10-22 835 case NL80211_CHAN_WIDTH_80P80:
aadf09537c575d Shayne Chen 2020-10-22 836 case NL80211_CHAN_WIDTH_160:
aadf09537c575d Shayne Chen 2020-10-22 837 bw = 3;
aadf09537c575d Shayne Chen 2020-10-22 838 break;
aadf09537c575d Shayne Chen 2020-10-22 839 default:
aadf09537c575d Shayne Chen 2020-10-22 840 bw = 0;
aadf09537c575d Shayne Chen 2020-10-22 841 break;
aadf09537c575d Shayne Chen 2020-10-22 842 }
c742cd1ffffaef Ben Greear 2021-11-18 843 }
aadf09537c575d Shayne Chen 2020-10-22 844
aadf09537c575d Shayne Chen 2020-10-22 845 if (td->tx_rate_stbc && nss == 1) {
aadf09537c575d Shayne Chen 2020-10-22 846 nss++;
aadf09537c575d Shayne Chen 2020-10-22 847 rateval |= MT_TX_RATE_STBC;
aadf09537c575d Shayne Chen 2020-10-22 848 }
aadf09537c575d Shayne Chen 2020-10-22 849
aadf09537c575d Shayne Chen 2020-10-22 850 rateval |= FIELD_PREP(MT_TX_RATE_IDX, rate_idx) |
aadf09537c575d Shayne Chen 2020-10-22 851 FIELD_PREP(MT_TX_RATE_MODE, mode) |
aadf09537c575d Shayne Chen 2020-10-22 852 FIELD_PREP(MT_TX_RATE_NSS, nss - 1);
aadf09537c575d Shayne Chen 2020-10-22 853
c742cd1ffffaef Ben Greear 2021-11-18 854 /* TODO: Support per-skb txpower, p.15 of txpower doc, DW2 29:24. */
aadf09537c575d Shayne Chen 2020-10-22 855 txwi[2] |= cpu_to_le32(MT_TXD2_FIX_RATE);
aadf09537c575d Shayne Chen 2020-10-22 856
c742cd1ffffaef Ben Greear 2021-11-18 857 /* Looks like this sets tx attempt to exactly 1.
c742cd1ffffaef Ben Greear 2021-11-18 858 * TODO: Use td->tx_xmit_count, if in txo mode.
c742cd1ffffaef Ben Greear 2021-11-18 859 */
aadf09537c575d Shayne Chen 2020-10-22 860 le32p_replace_bits(&txwi[3], 1, MT_TXD3_REM_TX_COUNT);
aadf09537c575d Shayne Chen 2020-10-22 861 if (td->tx_rate_mode < MT76_TM_TX_MODE_HT)
aadf09537c575d Shayne Chen 2020-10-22 862 txwi[3] |= cpu_to_le32(MT_TXD3_BA_DISABLE);
aadf09537c575d Shayne Chen 2020-10-22 863
c742cd1ffffaef Ben Greear 2021-11-18 864 /* TODO: Take tx_dynbw into account in txo mode. */
aadf09537c575d Shayne Chen 2020-10-22 865 val = MT_TXD6_FIXED_BW |
aadf09537c575d Shayne Chen 2020-10-22 866 FIELD_PREP(MT_TXD6_BW, bw) |
aadf09537c575d Shayne Chen 2020-10-22 867 FIELD_PREP(MT_TXD6_TX_RATE, rateval) |
aadf09537c575d Shayne Chen 2020-10-22 868 FIELD_PREP(MT_TXD6_SGI, td->tx_rate_sgi);
aadf09537c575d Shayne Chen 2020-10-22 869
aadf09537c575d Shayne Chen 2020-10-22 870 /* for HE_SU/HE_EXT_SU PPDU
aadf09537c575d Shayne Chen 2020-10-22 871 * - 1x, 2x, 4x LTF + 0.8us GI
aadf09537c575d Shayne Chen 2020-10-22 872 * - 2x LTF + 1.6us GI, 4x LTF + 3.2us GI
aadf09537c575d Shayne Chen 2020-10-22 873 * for HE_MU PPDU
aadf09537c575d Shayne Chen 2020-10-22 874 * - 2x, 4x LTF + 0.8us GI
aadf09537c575d Shayne Chen 2020-10-22 875 * - 2x LTF + 1.6us GI, 4x LTF + 3.2us GI
aadf09537c575d Shayne Chen 2020-10-22 876 * for HE_TB PPDU
aadf09537c575d Shayne Chen 2020-10-22 877 * - 1x, 2x LTF + 1.6us GI
aadf09537c575d Shayne Chen 2020-10-22 878 * - 4x LTF + 3.2us GI
aadf09537c575d Shayne Chen 2020-10-22 879 */
aadf09537c575d Shayne Chen 2020-10-22 880 if (mode >= MT_PHY_TYPE_HE_SU)
aadf09537c575d Shayne Chen 2020-10-22 881 val |= FIELD_PREP(MT_TXD6_HELTF, td->tx_ltf);
aadf09537c575d Shayne Chen 2020-10-22 882
cc91747be98f2a Shayne Chen 2021-04-12 883 if (td->tx_rate_ldpc || (bw > 0 && mode >= MT_PHY_TYPE_HE_SU))
aadf09537c575d Shayne Chen 2020-10-22 884 val |= MT_TXD6_LDPC;
aadf09537c575d Shayne Chen 2020-10-22 885
cc91747be98f2a Shayne Chen 2021-04-12 886 txwi[3] &= ~cpu_to_le32(MT_TXD3_SN_VALID);
aadf09537c575d Shayne Chen 2020-10-22 887 txwi[6] |= cpu_to_le32(val);
c742cd1ffffaef Ben Greear 2021-11-18 888
c742cd1ffffaef Ben Greear 2021-11-18 889 if (msta->test.txo_active) {
c742cd1ffffaef Ben Greear 2021-11-18 890 /* see mt7915_tm_set_tx_frames */
c742cd1ffffaef Ben Greear 2021-11-18 891 static const u8 spe_idx_map[] = {0, 0, 1, 0, 3, 2, 4, 0,
c742cd1ffffaef Ben Greear 2021-11-18 892 9, 8, 6, 10, 16, 12, 18, 0};
c742cd1ffffaef Ben Greear 2021-11-18 893 u32 spe_idx;
c742cd1ffffaef Ben Greear 2021-11-18 894
c742cd1ffffaef Ben Greear 2021-11-18 895 if (td->tx_spe_idx) {
c742cd1ffffaef Ben Greear 2021-11-18 896 spe_idx = td->tx_spe_idx;
c742cd1ffffaef Ben Greear 2021-11-18 897 } else {
c742cd1ffffaef Ben Greear 2021-11-18 898 u8 tx_ant = td->tx_antenna_mask;
c742cd1ffffaef Ben Greear 2021-11-18 899
c742cd1ffffaef Ben Greear 2021-11-18 900 if (!tx_ant) {
c742cd1ffffaef Ben Greear 2021-11-18 901 /* use antenna mask that matches our nss */
c742cd1ffffaef Ben Greear 2021-11-18 902 tx_ant = GENMASK(nss - 1, 0);
c742cd1ffffaef Ben Greear 2021-11-18 903 }
c742cd1ffffaef Ben Greear 2021-11-18 904 spe_idx = spe_idx_map[tx_ant];
c742cd1ffffaef Ben Greear 2021-11-18 905 }
c742cd1ffffaef Ben Greear 2021-11-18 906 txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX, spe_idx));
c742cd1ffffaef Ben Greear 2021-11-18 907 } else {
aadf09537c575d Shayne Chen 2020-10-22 908 txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX,
78fc30a21cf117 Shayne Chen 2020-12-04 @909 phy->test.spe_idx));
c742cd1ffffaef Ben Greear 2021-11-18 910 }
aadf09537c575d Shayne Chen 2020-10-22 911 }
aadf09537c575d Shayne Chen 2020-10-22 912
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 34036 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 7/8] mt76: mt7915: add support for tx-overrides
Date: Fri, 19 Nov 2021 15:16:40 +0800 [thread overview]
Message-ID: <202111191516.6QAZ0itw-lkp@intel.com> (raw)
In-Reply-To: <20211118164549.3863-7-greearb@candelatech.com>
[-- Attachment #1: Type: text/plain, Size: 18328 bytes --]
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on kvalo-wireless-drivers-next/master]
[also build test ERROR on v5.16-rc1 next-20211118]
[cannot apply to kvalo-wireless-drivers/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/greearb-candelatech-com/mt76-mt7915-cache-sgi-in-wcid/20211119-005421
base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
config: microblaze-buildonly-randconfig-r005-20211119 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/c742cd1ffffaeff7ab79835466b08fd5616cdce3
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review greearb-candelatech-com/mt76-mt7915-cache-sgi-in-wcid/20211119-005421
git checkout c742cd1ffffaeff7ab79835466b08fd5616cdce3
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/net/wireless/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/net/wireless/mediatek/mt76/mt7915/mac.c: In function 'mt7915_mac_write_txwi_tm':
>> drivers/net/wireless/mediatek/mt76/mt7915/mac.c:778:37: error: 'struct mt76_phy' has no member named 'test'
778 | if (skb != phy->mt76->test.tx_skb)
| ^~
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:780:32: error: 'struct mt76_phy' has no member named 'test'
780 | td = &phy->mt76->test;
| ^~
In file included from include/linux/byteorder/little_endian.h:5,
from arch/microblaze/include/uapi/asm/byteorder.h:6,
from include/asm-generic/bitops/le.h:7,
from include/asm-generic/bitops.h:36,
from ./arch/microblaze/include/generated/asm/bitops.h:1,
from include/linux/bitops.h:33,
from include/linux/kernel.h:12,
from include/linux/skbuff.h:13,
from include/linux/if_ether.h:19,
from include/linux/etherdevice.h:20,
from drivers/net/wireless/mediatek/mt76/mt7915/mac.c:4:
>> drivers/net/wireless/mediatek/mt76/mt7915/mac.c:909:54: error: 'struct mt7915_phy' has no member named 'test'
909 | phy->test.spe_idx));
| ^~
include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__cpu_to_le32'
33 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
include/linux/compiler_types.h:310:9: note: in expansion of macro '__compiletime_assert'
310 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:322:9: note: in expansion of macro '_compiletime_assert'
322 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/bitfield.h:49:17: note: in expansion of macro 'BUILD_BUG_ON_MSG'
49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
| ^~~~~~~~~~~~~~~~
include/linux/bitfield.h:94:17: note: in expansion of macro '__BF_FIELD_CHECK'
94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
| ^~~~~~~~~~~~~~~~
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:908:40: note: in expansion of macro 'FIELD_PREP'
908 | txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX,
| ^~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt7915/mac.c:909:54: error: 'struct mt7915_phy' has no member named 'test'
909 | phy->test.spe_idx));
| ^~
include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__cpu_to_le32'
33 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
include/linux/compiler_types.h:310:9: note: in expansion of macro '__compiletime_assert'
310 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:322:9: note: in expansion of macro '_compiletime_assert'
322 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/bitfield.h:49:17: note: in expansion of macro 'BUILD_BUG_ON_MSG'
49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
| ^~~~~~~~~~~~~~~~
include/linux/bitfield.h:94:17: note: in expansion of macro '__BF_FIELD_CHECK'
94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
| ^~~~~~~~~~~~~~~~
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:908:40: note: in expansion of macro 'FIELD_PREP'
908 | txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX,
| ^~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt7915/mac.c:909:54: error: 'struct mt7915_phy' has no member named 'test'
909 | phy->test.spe_idx));
| ^~
include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__cpu_to_le32'
33 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:908:40: note: in expansion of macro 'FIELD_PREP'
908 | txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX,
| ^~~~~~~~~~
At top level:
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:760:1: warning: 'mt7915_mac_write_txwi_tm' defined but not used [-Wunused-function]
760 | mt7915_mac_write_txwi_tm(struct mt7915_phy *phy, struct mt76_wcid *wcid, __le32 *txwi,
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +778 drivers/net/wireless/mediatek/mt76/mt7915/mac.c
5d8a83f0994134 Shayne Chen 2020-10-22 758
aadf09537c575d Shayne Chen 2020-10-22 759 static void
c742cd1ffffaef Ben Greear 2021-11-18 760 mt7915_mac_write_txwi_tm(struct mt7915_phy *phy, struct mt76_wcid *wcid, __le32 *txwi,
c918c74d06457e Shayne Chen 2020-12-04 761 struct sk_buff *skb)
aadf09537c575d Shayne Chen 2020-10-22 762 {
c742cd1ffffaef Ben Greear 2021-11-18 763 struct mt76_testmode_data *td;
cc91747be98f2a Shayne Chen 2021-04-12 764 const struct ieee80211_rate *r;
c742cd1ffffaef Ben Greear 2021-11-18 765 struct mt7915_sta *msta;
c742cd1ffffaef Ben Greear 2021-11-18 766 u8 bw, mode, nss;
c742cd1ffffaef Ben Greear 2021-11-18 767 u8 rate_idx;
aadf09537c575d Shayne Chen 2020-10-22 768 u16 rateval = 0;
aadf09537c575d Shayne Chen 2020-10-22 769 u32 val;
cc91747be98f2a Shayne Chen 2021-04-12 770 bool cck = false;
cc91747be98f2a Shayne Chen 2021-04-12 771 int band;
aadf09537c575d Shayne Chen 2020-10-22 772
c742cd1ffffaef Ben Greear 2021-11-18 773 msta = container_of(wcid, struct mt7915_sta, wcid);
c742cd1ffffaef Ben Greear 2021-11-18 774
c742cd1ffffaef Ben Greear 2021-11-18 775 if (msta->test.txo_active) {
c742cd1ffffaef Ben Greear 2021-11-18 776 td = &msta->test;
c742cd1ffffaef Ben Greear 2021-11-18 777 } else {
c918c74d06457e Shayne Chen 2020-12-04 @778 if (skb != phy->mt76->test.tx_skb)
aadf09537c575d Shayne Chen 2020-10-22 779 return;
c742cd1ffffaef Ben Greear 2021-11-18 780 td = &phy->mt76->test;
c742cd1ffffaef Ben Greear 2021-11-18 781 }
c742cd1ffffaef Ben Greear 2021-11-18 782
c742cd1ffffaef Ben Greear 2021-11-18 783 nss = td->tx_rate_nss;
c742cd1ffffaef Ben Greear 2021-11-18 784 rate_idx = td->tx_rate_idx;
aadf09537c575d Shayne Chen 2020-10-22 785
aadf09537c575d Shayne Chen 2020-10-22 786 switch (td->tx_rate_mode) {
aadf09537c575d Shayne Chen 2020-10-22 787 case MT76_TM_TX_MODE_HT:
aadf09537c575d Shayne Chen 2020-10-22 788 nss = 1 + (rate_idx >> 3);
aadf09537c575d Shayne Chen 2020-10-22 789 mode = MT_PHY_TYPE_HT;
aadf09537c575d Shayne Chen 2020-10-22 790 break;
aadf09537c575d Shayne Chen 2020-10-22 791 case MT76_TM_TX_MODE_VHT:
aadf09537c575d Shayne Chen 2020-10-22 792 mode = MT_PHY_TYPE_VHT;
aadf09537c575d Shayne Chen 2020-10-22 793 break;
aadf09537c575d Shayne Chen 2020-10-22 794 case MT76_TM_TX_MODE_HE_SU:
aadf09537c575d Shayne Chen 2020-10-22 795 mode = MT_PHY_TYPE_HE_SU;
aadf09537c575d Shayne Chen 2020-10-22 796 break;
aadf09537c575d Shayne Chen 2020-10-22 797 case MT76_TM_TX_MODE_HE_EXT_SU:
aadf09537c575d Shayne Chen 2020-10-22 798 mode = MT_PHY_TYPE_HE_EXT_SU;
aadf09537c575d Shayne Chen 2020-10-22 799 break;
aadf09537c575d Shayne Chen 2020-10-22 800 case MT76_TM_TX_MODE_HE_TB:
aadf09537c575d Shayne Chen 2020-10-22 801 mode = MT_PHY_TYPE_HE_TB;
aadf09537c575d Shayne Chen 2020-10-22 802 break;
aadf09537c575d Shayne Chen 2020-10-22 803 case MT76_TM_TX_MODE_HE_MU:
aadf09537c575d Shayne Chen 2020-10-22 804 mode = MT_PHY_TYPE_HE_MU;
aadf09537c575d Shayne Chen 2020-10-22 805 break;
cc91747be98f2a Shayne Chen 2021-04-12 806 case MT76_TM_TX_MODE_CCK:
cc91747be98f2a Shayne Chen 2021-04-12 807 cck = true;
cc91747be98f2a Shayne Chen 2021-04-12 808 fallthrough;
aadf09537c575d Shayne Chen 2020-10-22 809 case MT76_TM_TX_MODE_OFDM:
cc91747be98f2a Shayne Chen 2021-04-12 810 band = phy->mt76->chandef.chan->band;
cc91747be98f2a Shayne Chen 2021-04-12 811 if (band == NL80211_BAND_2GHZ && !cck)
cc91747be98f2a Shayne Chen 2021-04-12 812 rate_idx += 4;
cc91747be98f2a Shayne Chen 2021-04-12 813
cc91747be98f2a Shayne Chen 2021-04-12 814 r = &phy->mt76->hw->wiphy->bands[band]->bitrates[rate_idx];
cc91747be98f2a Shayne Chen 2021-04-12 815 val = cck ? r->hw_value_short : r->hw_value;
cc91747be98f2a Shayne Chen 2021-04-12 816
cc91747be98f2a Shayne Chen 2021-04-12 817 mode = val >> 8;
cc91747be98f2a Shayne Chen 2021-04-12 818 rate_idx = val & 0xff;
cc91747be98f2a Shayne Chen 2021-04-12 819 break;
aadf09537c575d Shayne Chen 2020-10-22 820 default:
aadf09537c575d Shayne Chen 2020-10-22 821 mode = MT_PHY_TYPE_OFDM;
aadf09537c575d Shayne Chen 2020-10-22 822 break;
aadf09537c575d Shayne Chen 2020-10-22 823 }
aadf09537c575d Shayne Chen 2020-10-22 824
c742cd1ffffaef Ben Greear 2021-11-18 825 if (msta->test.txo_active) {
c742cd1ffffaef Ben Greear 2021-11-18 826 bw = td->txbw;
c742cd1ffffaef Ben Greear 2021-11-18 827 } else {
c918c74d06457e Shayne Chen 2020-12-04 828 switch (phy->mt76->chandef.width) {
aadf09537c575d Shayne Chen 2020-10-22 829 case NL80211_CHAN_WIDTH_40:
aadf09537c575d Shayne Chen 2020-10-22 830 bw = 1;
aadf09537c575d Shayne Chen 2020-10-22 831 break;
aadf09537c575d Shayne Chen 2020-10-22 832 case NL80211_CHAN_WIDTH_80:
aadf09537c575d Shayne Chen 2020-10-22 833 bw = 2;
aadf09537c575d Shayne Chen 2020-10-22 834 break;
aadf09537c575d Shayne Chen 2020-10-22 835 case NL80211_CHAN_WIDTH_80P80:
aadf09537c575d Shayne Chen 2020-10-22 836 case NL80211_CHAN_WIDTH_160:
aadf09537c575d Shayne Chen 2020-10-22 837 bw = 3;
aadf09537c575d Shayne Chen 2020-10-22 838 break;
aadf09537c575d Shayne Chen 2020-10-22 839 default:
aadf09537c575d Shayne Chen 2020-10-22 840 bw = 0;
aadf09537c575d Shayne Chen 2020-10-22 841 break;
aadf09537c575d Shayne Chen 2020-10-22 842 }
c742cd1ffffaef Ben Greear 2021-11-18 843 }
aadf09537c575d Shayne Chen 2020-10-22 844
aadf09537c575d Shayne Chen 2020-10-22 845 if (td->tx_rate_stbc && nss == 1) {
aadf09537c575d Shayne Chen 2020-10-22 846 nss++;
aadf09537c575d Shayne Chen 2020-10-22 847 rateval |= MT_TX_RATE_STBC;
aadf09537c575d Shayne Chen 2020-10-22 848 }
aadf09537c575d Shayne Chen 2020-10-22 849
aadf09537c575d Shayne Chen 2020-10-22 850 rateval |= FIELD_PREP(MT_TX_RATE_IDX, rate_idx) |
aadf09537c575d Shayne Chen 2020-10-22 851 FIELD_PREP(MT_TX_RATE_MODE, mode) |
aadf09537c575d Shayne Chen 2020-10-22 852 FIELD_PREP(MT_TX_RATE_NSS, nss - 1);
aadf09537c575d Shayne Chen 2020-10-22 853
c742cd1ffffaef Ben Greear 2021-11-18 854 /* TODO: Support per-skb txpower, p.15 of txpower doc, DW2 29:24. */
aadf09537c575d Shayne Chen 2020-10-22 855 txwi[2] |= cpu_to_le32(MT_TXD2_FIX_RATE);
aadf09537c575d Shayne Chen 2020-10-22 856
c742cd1ffffaef Ben Greear 2021-11-18 857 /* Looks like this sets tx attempt to exactly 1.
c742cd1ffffaef Ben Greear 2021-11-18 858 * TODO: Use td->tx_xmit_count, if in txo mode.
c742cd1ffffaef Ben Greear 2021-11-18 859 */
aadf09537c575d Shayne Chen 2020-10-22 860 le32p_replace_bits(&txwi[3], 1, MT_TXD3_REM_TX_COUNT);
aadf09537c575d Shayne Chen 2020-10-22 861 if (td->tx_rate_mode < MT76_TM_TX_MODE_HT)
aadf09537c575d Shayne Chen 2020-10-22 862 txwi[3] |= cpu_to_le32(MT_TXD3_BA_DISABLE);
aadf09537c575d Shayne Chen 2020-10-22 863
c742cd1ffffaef Ben Greear 2021-11-18 864 /* TODO: Take tx_dynbw into account in txo mode. */
aadf09537c575d Shayne Chen 2020-10-22 865 val = MT_TXD6_FIXED_BW |
aadf09537c575d Shayne Chen 2020-10-22 866 FIELD_PREP(MT_TXD6_BW, bw) |
aadf09537c575d Shayne Chen 2020-10-22 867 FIELD_PREP(MT_TXD6_TX_RATE, rateval) |
aadf09537c575d Shayne Chen 2020-10-22 868 FIELD_PREP(MT_TXD6_SGI, td->tx_rate_sgi);
aadf09537c575d Shayne Chen 2020-10-22 869
aadf09537c575d Shayne Chen 2020-10-22 870 /* for HE_SU/HE_EXT_SU PPDU
aadf09537c575d Shayne Chen 2020-10-22 871 * - 1x, 2x, 4x LTF + 0.8us GI
aadf09537c575d Shayne Chen 2020-10-22 872 * - 2x LTF + 1.6us GI, 4x LTF + 3.2us GI
aadf09537c575d Shayne Chen 2020-10-22 873 * for HE_MU PPDU
aadf09537c575d Shayne Chen 2020-10-22 874 * - 2x, 4x LTF + 0.8us GI
aadf09537c575d Shayne Chen 2020-10-22 875 * - 2x LTF + 1.6us GI, 4x LTF + 3.2us GI
aadf09537c575d Shayne Chen 2020-10-22 876 * for HE_TB PPDU
aadf09537c575d Shayne Chen 2020-10-22 877 * - 1x, 2x LTF + 1.6us GI
aadf09537c575d Shayne Chen 2020-10-22 878 * - 4x LTF + 3.2us GI
aadf09537c575d Shayne Chen 2020-10-22 879 */
aadf09537c575d Shayne Chen 2020-10-22 880 if (mode >= MT_PHY_TYPE_HE_SU)
aadf09537c575d Shayne Chen 2020-10-22 881 val |= FIELD_PREP(MT_TXD6_HELTF, td->tx_ltf);
aadf09537c575d Shayne Chen 2020-10-22 882
cc91747be98f2a Shayne Chen 2021-04-12 883 if (td->tx_rate_ldpc || (bw > 0 && mode >= MT_PHY_TYPE_HE_SU))
aadf09537c575d Shayne Chen 2020-10-22 884 val |= MT_TXD6_LDPC;
aadf09537c575d Shayne Chen 2020-10-22 885
cc91747be98f2a Shayne Chen 2021-04-12 886 txwi[3] &= ~cpu_to_le32(MT_TXD3_SN_VALID);
aadf09537c575d Shayne Chen 2020-10-22 887 txwi[6] |= cpu_to_le32(val);
c742cd1ffffaef Ben Greear 2021-11-18 888
c742cd1ffffaef Ben Greear 2021-11-18 889 if (msta->test.txo_active) {
c742cd1ffffaef Ben Greear 2021-11-18 890 /* see mt7915_tm_set_tx_frames */
c742cd1ffffaef Ben Greear 2021-11-18 891 static const u8 spe_idx_map[] = {0, 0, 1, 0, 3, 2, 4, 0,
c742cd1ffffaef Ben Greear 2021-11-18 892 9, 8, 6, 10, 16, 12, 18, 0};
c742cd1ffffaef Ben Greear 2021-11-18 893 u32 spe_idx;
c742cd1ffffaef Ben Greear 2021-11-18 894
c742cd1ffffaef Ben Greear 2021-11-18 895 if (td->tx_spe_idx) {
c742cd1ffffaef Ben Greear 2021-11-18 896 spe_idx = td->tx_spe_idx;
c742cd1ffffaef Ben Greear 2021-11-18 897 } else {
c742cd1ffffaef Ben Greear 2021-11-18 898 u8 tx_ant = td->tx_antenna_mask;
c742cd1ffffaef Ben Greear 2021-11-18 899
c742cd1ffffaef Ben Greear 2021-11-18 900 if (!tx_ant) {
c742cd1ffffaef Ben Greear 2021-11-18 901 /* use antenna mask that matches our nss */
c742cd1ffffaef Ben Greear 2021-11-18 902 tx_ant = GENMASK(nss - 1, 0);
c742cd1ffffaef Ben Greear 2021-11-18 903 }
c742cd1ffffaef Ben Greear 2021-11-18 904 spe_idx = spe_idx_map[tx_ant];
c742cd1ffffaef Ben Greear 2021-11-18 905 }
c742cd1ffffaef Ben Greear 2021-11-18 906 txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX, spe_idx));
c742cd1ffffaef Ben Greear 2021-11-18 907 } else {
aadf09537c575d Shayne Chen 2020-10-22 908 txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX,
78fc30a21cf117 Shayne Chen 2020-12-04 @909 phy->test.spe_idx));
c742cd1ffffaef Ben Greear 2021-11-18 910 }
aadf09537c575d Shayne Chen 2020-10-22 911 }
aadf09537c575d Shayne Chen 2020-10-22 912
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34036 bytes --]
next prev parent reply other threads:[~2021-11-19 7:17 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-18 16:45 [PATCH 1/8] mt76: mt7915: cache sgi in wcid greearb
2021-11-18 16:45 ` [PATCH 2/8] mt76: mt7915: allow processing TXS for 'NO_SKB' pkt-ids greearb
2021-11-18 16:45 ` [PATCH 3/8] mt76: mt7915: debugfs hook to enable TXS for NO_SKB pkt-ids greearb
2021-11-18 16:45 ` [PATCH 4/8] mt76: mt7915: add note about TXSFM 0x2 greearb
2021-11-18 17:02 ` Ryder Lee
2021-11-18 17:06 ` Ben Greear
2021-11-18 16:45 ` [PATCH 5/8] mt76: mt7915: txfree status to show txcount instead of latency greearb
2021-11-18 16:45 ` [PATCH 6/8] mt76: mt7915: report tx-retries greearb
2021-11-18 17:19 ` Ryder Lee
2021-11-18 17:26 ` Ben Greear
2021-11-18 16:45 ` [PATCH 7/8] mt76: mt7915: add support for tx-overrides greearb
2021-11-19 7:16 ` kernel test robot [this message]
2021-11-19 7:16 ` kernel test robot
2021-11-18 16:45 ` [PATCH 8/8] mt76: mt7915: fix SGI reporting when using tx-overrides greearb
2021-11-18 17:06 ` [PATCH 1/8] mt76: mt7915: cache sgi in wcid Ryder Lee
2021-11-18 17:10 ` Ben Greear
2021-11-18 17:20 ` Ryder Lee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202111191516.6QAZ0itw-lkp@intel.com \
--to=lkp@intel.com \
--cc=greearb@candelatech.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.