implement AtomBios CailRead/WriteFBData callbacks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41860 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -176,26 +176,24 @@ CailWriteMC(VOID *CAIL, ULONG Address, ULONG data)
|
|||||||
UINT32
|
UINT32
|
||||||
CailReadFBData(VOID* CAIL, UINT32 idx)
|
CailReadFBData(VOID* CAIL, UINT32 idx)
|
||||||
{
|
{
|
||||||
|
// TODO : This should work only in theory and needs tested
|
||||||
|
|
||||||
TRACE("AtomBios callback %s, idx (0x%X)\n", __func__, idx);
|
TRACE("AtomBios callback %s, idx (0x%X)\n", __func__, idx);
|
||||||
// TODO : CailReadFBData
|
|
||||||
|
|
||||||
UINT32 ret = 0;
|
UINT32 ret = 0;
|
||||||
/*
|
|
||||||
if (((atomBiosHandlePtr)CAIL)->fbBase) {
|
uint32_t fbLocation
|
||||||
CARD8 *FBBase = (CARD8*)
|
= gInfo->shared_info->frame_buffer_phys & 0xffffffff;
|
||||||
RHDPTRI((atomBiosHandlePtr)CAIL)->FbBase;
|
|
||||||
ret = *((CARD32*)(FBBase + (((atomBiosHandlePtr)CAIL)->fbBase)
|
// If we have a physical offset for our frame buffer, use it
|
||||||
+ idx));
|
if (fbLocation > 0)
|
||||||
TRACE(("%s(%x) = %x\n", __func__, idx, ret));
|
ret = read32(fbLocation + idx);
|
||||||
} else if (((atomBiosHandlePtr)CAIL)->scratchBase) {
|
else {
|
||||||
ret = *(CARD32*)((CARD8*)(((atomBiosHandlePtr)CAIL)->scratchBase)
|
TRACE("%s: ERROR: Frame Buffer offset not defined\n",
|
||||||
+ idx);
|
__func__);
|
||||||
TRACE(("%s(%x) = %x\n", __func__, idx, ret));
|
|
||||||
} else {
|
|
||||||
TRACE(("%s: no fbbase set\n", __func__));
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,19 +201,19 @@ CailReadFBData(VOID* CAIL, UINT32 idx)
|
|||||||
VOID
|
VOID
|
||||||
CailWriteFBData(VOID *CAIL, UINT32 idx, UINT32 data)
|
CailWriteFBData(VOID *CAIL, UINT32 idx, UINT32 data)
|
||||||
{
|
{
|
||||||
TRACE("AtomBios callback %s, idx (0x%X)\n", __func__, idx);
|
// TODO : This should work only in theory and needs tested
|
||||||
// TODO : CailReadFBData
|
|
||||||
|
|
||||||
/*
|
TRACE("AtomBios callback %s, idx (0x%X)\n", __func__, idx);
|
||||||
if (((atomBiosHandlePtr)CAIL)->fbBase) {
|
|
||||||
CARD8 *FBBase = (CARD8*)
|
uint32_t fbLocation
|
||||||
RHDPTRI((atomBiosHandlePtr)CAIL)->FbBase;
|
= gInfo->shared_info->frame_buffer_phys & 0xffffffff;
|
||||||
*((CARD32*)(FBBase + (((atomBiosHandlePtr)CAIL)->fbBase) + idx)) = data;
|
|
||||||
} else if (((atomBiosHandlePtr)CAIL)->scratchBase) {
|
// If we have a physical offset for our frame buffer, use it
|
||||||
*(CARD32*)((CARD8*)(((atomBiosHandlePtr)CAIL)->scratchBase) + idx) = data;
|
if (fbLocation > 0)
|
||||||
} else
|
write32(fbLocation + idx, data);
|
||||||
TRACE(("%s: no fbbase set\n", __func__));
|
else
|
||||||
*/
|
TRACE("%s: ERROR: Frame Buffer offset not defined\n",
|
||||||
|
__func__);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user