tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git ath11k-qca6390-mhi head: dc3ad30e8022e5f833d4ae26935f03aff6d1f733 commit: 2836722907d15b06d3e3ce9339f9f3cb2ab5da4e [36/48] ath11k: enable second mac related ring setup config: arm-allyesconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 2836722907d15b06d3e3ce9339f9f3cb2ab5da4e # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag Reported-by: kbuild test robot <[email protected]> All warnings (new ones prefixed by >>): drivers/net/wireless/ath/ath11k/hal.c: In function 'ath11k_hal_srng_setup': >> drivers/net/wireless/ath/ath11k/hal.c:1041:83: warning: format '%llx' >> expects argument of type 'long long unsigned int', but argument 8 has type >> 'dma_addr_t {aka unsigned int}' [-Wformat=] ath11k_info(ab, "%s type:%d, ring_num:%d, ring_id:%d, lmac_ring:%d,msi_addr:0x%llx, msi_data:%d\n", ~~~^ %x drivers/net/wireless/ath/ath11k/hal.c:1043:7: srng->msi_addr, srng->msi_data); ~~~~~~~~~~~~~~ vim +1041 drivers/net/wireless/ath/ath11k/hal.c 949 950 int ath11k_hal_srng_setup(struct ath11k_base *ab, enum hal_ring_type type, 951 int ring_num, int mac_id, 952 struct hal_srng_params *params) 953 { 954 struct ath11k_hal *hal = &ab->hal; 955 struct hal_srng_config *srng_config = &hw_srng_config[type]; 956 struct hal_srng *srng; 957 int ring_id; 958 u32 lmac_idx; 959 int i; 960 u32 reg_base; 961 962 ring_id = ath11k_hal_srng_get_ring_id(ab, type, ring_num, mac_id); 963 if (ring_id < 0) 964 return ring_id; 965 966 srng = &hal->srng_list[ring_id]; 967 968 srng->ring_id = ring_id; 969 srng->ring_dir = srng_config->ring_dir; 970 srng->ring_base_paddr = params->ring_base_paddr; 971 srng->ring_base_vaddr = params->ring_base_vaddr; 972 srng->entry_size = srng_config->entry_size; 973 srng->num_entries = params->num_entries; 974 srng->ring_size = srng->entry_size * srng->num_entries; 975 srng->intr_batch_cntr_thres_entries = 976 params->intr_batch_cntr_thres_entries; 977 srng->intr_timer_thres_us = params->intr_timer_thres_us; 978 srng->flags = params->flags; 979 srng->msi_addr = params->msi_addr; 980 srng->msi_data = params->msi_data; 981 spin_lock_init(&srng->lock); 982 983 for (i = 0; i < HAL_SRNG_NUM_REG_GRP; i++) { 984 srng->hwreg_base[i] = srng_config->reg_start[i] + 985 (ring_num * srng_config->reg_size[i]); 986 } 987 988 memset(srng->ring_base_vaddr, 0, 989 (srng->entry_size * srng->num_entries) << 2); 990 991 /* TODO: Add comments on these swap configurations */ 992 if (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)) 993 srng->flags |= HAL_SRNG_FLAGS_MSI_SWAP | HAL_SRNG_FLAGS_DATA_TLV_SWAP | 994 HAL_SRNG_FLAGS_RING_PTR_SWAP; 995 996 reg_base = srng->hwreg_base[HAL_SRNG_REG_GRP_R2]; 997 998 if (srng->ring_dir == HAL_SRNG_DIR_SRC) { 999 srng->u.src_ring.hp = 0; 1000 srng->u.src_ring.cached_tp = 0; 1001 srng->u.src_ring.reap_hp = srng->ring_size - srng->entry_size; 1002 srng->u.src_ring.tp_addr = (void *)(hal->rdp.vaddr + ring_id); 1003 srng->u.src_ring.low_threshold = params->low_threshold * 1004 srng->entry_size; 1005 if (srng_config->lmac_ring) { 1006 lmac_idx = ring_id - HAL_SRNG_RING_ID_LMAC1_ID_START; 1007 srng->u.src_ring.hp_addr = (void *)(hal->wrp.vaddr + 1008 lmac_idx); 1009 srng->flags |= HAL_SRNG_FLAGS_LMAC_RING; 1010 } else { 1011 srng->u.src_ring.hp_addr = 1012 (u32 *)((unsigned long)ab->mem + reg_base); 1013 } 1014 } else { 1015 /* During initialization loop count in all the descriptors 1016 * will be set to zero, and HW will set it to 1 on completing 1017 * descriptor update in first loop, and increments it by 1 on 1018 * subsequent loops (loop count wraps around after reaching 1019 * 0xffff). The 'loop_cnt' in SW ring state is the expected 1020 * loop count in descriptors updated by HW (to be processed 1021 * by SW). 1022 */ 1023 srng->u.dst_ring.loop_cnt = 1; 1024 srng->u.dst_ring.tp = 0; 1025 srng->u.dst_ring.cached_hp = 0; 1026 srng->u.dst_ring.hp_addr = (void *)(hal->rdp.vaddr + ring_id); 1027 if (srng_config->lmac_ring) { 1028 /* For LMAC rings, tail pointer updates will be done 1029 * through FW by writing to a shared memory location 1030 */ 1031 lmac_idx = ring_id - HAL_SRNG_RING_ID_LMAC1_ID_START; 1032 srng->u.dst_ring.tp_addr = (void *)(hal->wrp.vaddr + 1033 lmac_idx); 1034 srng->flags |= HAL_SRNG_FLAGS_LMAC_RING; 1035 } else { 1036 srng->u.dst_ring.tp_addr = 1037 (u32 *)((unsigned long)ab->mem + reg_base + 1038 (HAL_REO1_RING_TP - HAL_REO1_RING_HP)); 1039 } 1040 } > 1041 ath11k_info(ab, "%s type:%d, ring_num:%d, ring_id:%d, > lmac_ring:%d,msi_addr:0x%llx, msi_data:%d\n", 1042 __func__, type, ring_num, srng->ring_id, srng_config->lmac_ring, 1043 srng->msi_addr, srng->msi_data); 1044 1045 if (srng_config->lmac_ring) 1046 return ring_id; 1047 1048 ath11k_hal_srng_hw_init(ab, srng); 1049 1050 if (type == HAL_CE_DST) { 1051 srng->u.dst_ring.max_buffer_length = params->max_buffer_len; 1052 ath11k_hal_ce_dst_setup(ab, srng, ring_num); 1053 } 1054 1055 return ring_id; 1056 } 1057 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/[email protected] Intel Corporation
.config.gz
Description: application/gzip
_______________________________________________ ath10k mailing list [email protected] http://lists.infradead.org/mailman/listinfo/ath10k
