1
0
mirror of https://github.com/aircrack-ng/rtl8812au.git synced 2024-11-13 01:22:14 +00:00

Merge pull request #199 from ThijsWithaar/v5.3.4

Fix floating point in VHT_HW_TX for both x86 and rpi
This commit is contained in:
Christian B 2018-09-06 20:08:24 +02:00 committed by GitHub
commit ee170b0cd6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 5 deletions

View File

@ -104,7 +104,7 @@ CONFIG_AP_WOWLAN = n
######### Notify SDIO Host Keep Power During Syspend ########## ######### Notify SDIO Host Keep Power During Syspend ##########
CONFIG_RTW_SDIO_PM_KEEP_POWER = y CONFIG_RTW_SDIO_PM_KEEP_POWER = y
###################### MP HW TX MODE FOR VHT ####################### ###################### MP HW TX MODE FOR VHT #######################
CONFIG_MP_VHT_HW_TX_MODE = n CONFIG_MP_VHT_HW_TX_MODE = y
###################### Platform Related ####################### ###################### Platform Related #######################
CONFIG_PLATFORM_I386_PC = y CONFIG_PLATFORM_I386_PC = y
CONFIG_PLATFORM_ANDROID_X86 = n CONFIG_PLATFORM_ANDROID_X86 = n
@ -1055,9 +1055,12 @@ EXTRA_CFLAGS += -DCONFIG_MP_VHT_HW_TX_MODE
ifeq ($(CONFIG_PLATFORM_I386_PC), y) ifeq ($(CONFIG_PLATFORM_I386_PC), y)
## For I386 X86 ToolChain use Hardware FLOATING ## For I386 X86 ToolChain use Hardware FLOATING
EXTRA_CFLAGS += -mhard-float EXTRA_CFLAGS += -mhard-float
EXTRA_CFLAGS += -DMARK_KERNEL_PFU
else else
## For ARM ToolChain use Hardware FLOATING ## For ARM ToolChain use Hardware FLOATING
EXTRA_CFLAGS += -mfloat-abi=hard # Raspbian kernel is with soft-float.
# 'softfp' allows FP instructions, but no FP on function call interfaces
EXTRA_CFLAGS += -mfloat-abi=softfp
endif endif
endif endif

View File

@ -14,6 +14,11 @@
*****************************************************************************/ *****************************************************************************/
#if defined(CONFIG_MP_INCLUDED) #if defined(CONFIG_MP_INCLUDED)
#ifdef MARK_KERNEL_PFU
#include <linux/kernel.h>
#include <asm/fpu/api.h>
#endif
#include <drv_types.h> #include <drv_types.h>
#include <rtw_mp.h> #include <rtw_mp.h>
#include <rtw_mp_ioctl.h> #include <rtw_mp_ioctl.h>
@ -1693,6 +1698,9 @@ int rtw_mp_tx(struct net_device *dev,
PMAC_Get_Pkt_Param(&pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo); PMAC_Get_Pkt_Param(&pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo);
#ifdef MARK_KERNEL_PFU
kernel_fpu_begin();
#endif
if (MPT_IS_CCK_RATE(pMptCtx->PMacTxInfo.TX_RATE)) if (MPT_IS_CCK_RATE(pMptCtx->PMacTxInfo.TX_RATE))
CCK_generator(&pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo); CCK_generator(&pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo);
@ -1701,6 +1709,9 @@ int rtw_mp_tx(struct net_device *dev,
/* 24 BIT*/ /* 24 BIT*/
L_SIG_generator(pMptCtx->PMacPktInfo.N_sym, &pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo); L_SIG_generator(pMptCtx->PMacPktInfo.N_sym, &pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo);
} }
#ifdef MARK_KERNEL_PFU
kernel_fpu_end();
#endif
/* 48BIT*/ /* 48BIT*/
if (MPT_IS_HT_RATE(pMptCtx->PMacTxInfo.TX_RATE)) if (MPT_IS_HT_RATE(pMptCtx->PMacTxInfo.TX_RATE))
HT_SIG_generator(&pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo); HT_SIG_generator(&pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo);