Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions drivers/gpu/drm/arise/cbios/CBios.h
Original file line number Diff line number Diff line change
Expand Up @@ -1349,6 +1349,7 @@ typedef struct _CBIOS_CALLBACK_FUNCTIONS
CBIOS_VOID* pFnVsprintf;
CBIOS_VOID* pFnWriteRegisterU32;
CBIOS_VOID* pFnReadRegisterU32;
CBIOS_VOID* pFnVDbgPrint;
CBIOS_VOID* pFnDbgPrintToFile;
CBIOS_VOID* pFnVsnprintf;
//gpio
Expand Down
40 changes: 10 additions & 30 deletions drivers/gpu/drm/arise/cbios/Callback/CBiosCallbacks.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@
#include "CBiosCallbacks.h"
#include "../Device/CBiosChipShare.h"

CALLBACK_cbVsprintf cbVsprintf = CBIOS_NULL;
CALLBACK_cbVsnprintf cbVsnprintf = CBIOS_NULL;
CALLBACK_cbVDbgPrint cbVDbgPrint = CBIOS_NULL;

CBIOS_CALLBACK_FUNCTIONS FnCallback = {0};

Expand Down Expand Up @@ -60,13 +59,10 @@ CBIOS_STATUS cbSetCallBackFunctions(PCBIOS_CALLBACK_FUNCTIONS pFnCallBack)

pFnCallBack->pFnDbgPrintToFile = CBIOS_NULL;

cbVsprintf = pFnCallBack->pFnVsprintf;

cbVsnprintf = pFnCallBack->pFnVsnprintf;
cbVDbgPrint = pFnCallBack->pFnVDbgPrint;

//FnCallback = *pFnCallBack;
FnCallback.Size=pFnCallBack->Size;
FnCallback.pFnDbgPrint=pFnCallBack->pFnDbgPrint;
FnCallback.pFnDelayMicroSeconds=pFnCallBack->pFnDelayMicroSeconds;
FnCallback.pFnReadUchar=pFnCallBack->pFnReadUchar;
FnCallback.pFnReadUshort=pFnCallBack->pFnReadUshort;
Expand Down Expand Up @@ -114,20 +110,10 @@ CBIOS_STATUS cbSetCallBackFunctions(PCBIOS_CALLBACK_FUNCTIONS pFnCallBack)
FnCallback.pFnRegulatorGetVoltage=pFnCallBack->pFnRegulatorGetVoltage;
FnCallback.pFnRegulatorSetVoltage=pFnCallBack->pFnRegulatorSetVoltage;
FnCallback.pFnRegulatorPut=pFnCallBack->pFnRegulatorPut;
FnCallback.pFnVDbgPrint = pFnCallBack->pFnVDbgPrint;
return CBIOS_OK;
}

CBIOS_VOID cb_DbgPrint(CBIOS_U32 DebugPrintLevel, PCBIOS_UCHAR DebugMessage)
{
if (FnCallback.pFnDbgPrint != CBIOS_NULL)
{
((CALLBACK_cbDbgPrint)FnCallback.pFnDbgPrint)(DebugPrintLevel,DebugMessage);
}
else
{
return;
}
}

CBIOS_VOID cb_DelayMicroSeconds(CBIOS_U32 Microseconds)
{
Expand Down Expand Up @@ -299,8 +285,7 @@ CBIOS_S32 cb_strcmp(PCBIOS_UCHAR s1, const CBIOS_UCHAR* s2)
}
else
{
//old driver has no callback function, then use standard lib function
Ret = cbstrcmp(s1, s2);
Ret = cbStrCmp(s1, s2);
}

return Ret;
Expand All @@ -317,8 +302,7 @@ PCBIOS_CHAR cb_strcpy(PCBIOS_CHAR s1, PCBIOS_CHAR s2)
}
else
{
//old driver has no callback function, then use standard lib function
Ret = cbstrcpy(s1, s2);
Ret = cbStrCpy(s1, s2);
}

return Ret;
Expand All @@ -335,8 +319,7 @@ CBIOS_S32 cb_strncmp(PCBIOS_UCHAR s1, PCBIOS_UCHAR s2, CBIOS_U32 length)
}
else
{
//old driver has no callback function, then use standard lib function
Ret = cbstrncmp(s1, s2, length);
Ret = cbStrnCmp(s1, s2, length);
}

return Ret;
Expand All @@ -353,8 +336,7 @@ PCBIOS_VOID cb_memset(PCBIOS_VOID pBuf, CBIOS_S32 value, CBIOS_U32 length)
}
else
{
//old driver has no callback function, then use standard lib function
Ret = cbmemset(pBuf, value, length);
cbDebugPrint((MAKE_LEVEL(GENERIC, ERROR), "%s: callback func is not defined!\n", FUNCTION_NAME));
}

return Ret;
Expand All @@ -371,8 +353,7 @@ PCBIOS_VOID cb_memcpy(PCBIOS_VOID pBuf1, PCBIOS_VOID pBuf2, CBIOS_U32 length)
}
else
{
//old driver has no callback function, then use standard lib function
Ret = cbmemcpy(pBuf1, pBuf2, length);
cbDebugPrint((MAKE_LEVEL(GENERIC, ERROR), "%s: callback func is not defined!\n", FUNCTION_NAME));
}

return Ret;
Expand All @@ -389,8 +370,7 @@ CBIOS_S32 cb_memcmp(PCBIOS_VOID pBuf1, PCBIOS_VOID pBuf2, CBIOS_U32 length)
}
else
{
//old driver has no callback function, then use standard lib function
Ret = cbmemcmp(pBuf1, pBuf2, length);
cbDebugPrint((MAKE_LEVEL(GENERIC, ERROR), "%s: callback func is not defined!\n", FUNCTION_NAME));
}

return Ret;
Expand All @@ -409,7 +389,7 @@ CBIOS_U64 cb_do_div(CBIOS_U64 a, CBIOS_U64 b)
}
else
{
Ret = cbdo_div(a, b);
Ret = 0;
}

return Ret;
Expand Down
37 changes: 12 additions & 25 deletions drivers/gpu/drm/arise/cbios/Callback/CBiosCallbacks.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,21 +30,13 @@
#define CBIOS_DBG_PRINT 1

#if CBIOS_DBG_PRINT
#ifdef __LINUX__
#define cbDebugPrint1(DebugCtlFlag, DebugMessage, args...) \
do{ \
CBIOS_UCHAR* pDbgBuff = cbGetDebugBuffer(DebugCtlFlag); \
if(pDbgBuff != CBIOS_NULL && cbVsnprintf != CBIOS_NULL) \
{ \
CBIOS_U32 preLen = cbAddPrefix(DebugCtlFlag, pDbgBuff); \
cbVsnprintf(pDbgBuff + preLen, CBIOSDEBUGMESSAGEMAXBYTES-preLen-1, DebugMessage, ##args); \
cbPrintWithDbgFlag(DebugCtlFlag, pDbgBuff);\
} \
}while(0)
#define cbDebugPrint(arg) cbDebugPrint1 arg
#else
#define cbDebugPrint(arg) cbPrintMessage arg
#endif
#define cbDebugPrint(arg) \
do{ \
if(cbVDbgPrint != CBIOS_NULL) \
{ \
cbVDbgPrint arg; \
} \
}while(0)
#else /*else DBG*/
#define cbDebugPrint(arg)
#endif
Expand Down Expand Up @@ -85,21 +77,16 @@ typedef PCBIOS_VOID (*CALLBACK_cbMemSet)(PCBIOS_VOID pBuf, CBIOS_S32 value, CB
typedef PCBIOS_VOID (*CALLBACK_cbMemCpy)(PCBIOS_VOID pBuf1, PCBIOS_VOID pBuf2, CBIOS_U32 length);
typedef CBIOS_S32 (*CALLBACK_cbMemCmp)(PCBIOS_VOID pBuf1, PCBIOS_VOID pBuf2, CBIOS_U32 length);
typedef CBIOS_U64 (*CALLBACK_cbDoDiv)(CBIOS_U64 a, CBIOS_U64 b);
#ifdef __LINUX__
typedef CBIOS_S32 (*CALLBACK_cbVsprintf)(PCBIOS_UCHAR buf, PCBIOS_CHAR fmt, ...);
typedef CBIOS_S32 (*CALLBACK_cbVsnprintf)(PCBIOS_UCHAR buf, CBIOS_U32 size, PCBIOS_CHAR fmt, ...);
#else
typedef CBIOS_S32 (*CALLBACK_cbVsprintf)(PCBIOS_UCHAR buf, PCBIOS_CHAR fmt, va_list args);
typedef CBIOS_S32 (*CALLBACK_cbVsnprintf)(PCBIOS_UCHAR buf, CBIOS_U32 size, PCBIOS_CHAR fmt, va_list args);
#endif
typedef CBIOS_VOID (*CALLBACK_cbVDbgPrint)(CBIOS_BOOL bEnablePrint, CBIOS_U32 PrintLevel, PCBIOS_UCHAR PrefixStr, PCBIOS_UCHAR DbgMsg, ...);

extern CALLBACK_cbVDbgPrint cbVDbgPrint;


extern CALLBACK_cbVsprintf cbVsprintf;
extern CALLBACK_cbVsnprintf cbVsnprintf;

CBIOS_STATUS cbSetCallBackFunctions(PCBIOS_CALLBACK_FUNCTIONS pFnCallBack);

//******** Debug Print functions *******************************
CBIOS_VOID cb_DbgPrint(CBIOS_U32 DebugPrintLevel, PCBIOS_UCHAR DebugMessage);


//******** time delay functions ********************************
CBIOS_VOID cb_DelayMicroSeconds(CBIOS_U32 Microseconds);
Expand Down
Loading
Loading