i386: mark floating point operations correctly.

From commit #1603b05c
This commit is contained in:
Thijs Withaar 2019-06-08 10:43:35 +02:00
parent 43f8cd2c73
commit 74cc8cdbc1
2 changed files with 14 additions and 0 deletions

View File

@ -1254,6 +1254,7 @@ EXTRA_CFLAGS += -DCONFIG_MP_VHT_HW_TX_MODE
ifeq ($(CONFIG_PLATFORM_I386_PC), y)
## For I386 X86 ToolChain use Hardware FLOATING
EXTRA_CFLAGS += -mhard-float
EXTRA_CFLAGS += -DMARK_KERNEL_PFU
else ifeq ($(CONFIG_PLATFORM_ARM_RPI), y)
## For Rpi3: use hardware floating, but not on the api
EXTRA_CFLAGS += -mfloat-abi=softfp

View File

@ -19,6 +19,10 @@
#include <rtw_mp_ioctl.h>
#include "../../hal/phydm/phydm_precomp.h"
ifdef MARK_KERNEL_PFU
#include <linux/kernel.h>
#include <asm/fpu/api.h>
#endif
#if defined(CONFIG_RTL8723B)
#include <rtw_bt_mp.h>
@ -1718,6 +1722,10 @@ int rtw_mp_tx(struct net_device *dev,
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))
CCK_generator(&pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo);
@ -1726,6 +1734,11 @@ int rtw_mp_tx(struct net_device *dev,
/* 24 BIT*/
L_SIG_generator(pMptCtx->PMacPktInfo.N_sym, &pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo);
}
#ifdef MARK_KERNEL_PFU
kernel_fpu_end();
#endif
/* 48BIT*/
if (MPT_IS_HT_RATE(pMptCtx->PMacTxInfo.TX_RATE))
HT_SIG_generator(&pMptCtx->PMacTxInfo, &pMptCtx->PMacPktInfo);