10#include <xaiefal/rsc/xaiefal-rsc-base.hpp>
28 State.Initialized = 1;
45 if (
State.Running == 1) {
47 (uint32_t)
Loc.Col <<
"," << (uint32_t)
Loc.Row <<
")" <<
48 " resource is in use." << std::endl;
68 if (
State.Reserved == 0) {
70 (uint32_t)
Loc.Col <<
"," << (uint32_t)
Loc.Row <<
")" <<
71 " resource not reserved." << std::endl;
74 XAie_EventGetIdlePortEventBase(
AieHd->dev(),
Loc,
Mod, &Event);
75 Event =
static_cast<XAie_Events
>(
static_cast<XAie_Events
>(Event) +
vRscs[0].RscId * 4);
91 Event = (XAie_Events)((uint32_t)Event + 1);
106 Event = (XAie_Events)((uint32_t)Event + 2);
121 Event = (XAie_Events)((uint32_t)Event + 3);
126 XAie_StrmPortIntf PortIntf;
127 StrmSwPortType PortType;
139 vRscs.push_back(Rsc);
140 RC =
AieHd->rscMgr()->request(*
this);
143 " (" <<
static_cast<int>(
Loc.Col) <<
"," <<
144 static_cast<int>(
Loc.Row) <<
")" <<
" resource not available.\n";
154 RC =
AieHd->rscMgr()->free(*
this);
161 RC = XAie_EventSelectStrmPort(
dev(),
Loc,
vRscs[0].RscId,
162 PortIntf, PortType, PortNum);
165 (uint32_t)
Loc.Col <<
"," << (uint32_t)
Loc.Row <<
")" <<
166 " failed to start." << std::endl;
173 RC = XAie_EventSelectStrmPortReset(
dev(),
Loc,
vRscs[0].RscId);
176 (uint32_t)
Loc.Col <<
"," << (uint32_t)
Loc.Row <<
")" <<
177 " failed to stop." << std::endl;
static std::ostream & log(LogLevel Lvl=LogLevel::FAL_MAX)
Definition xaiefal-log.hpp:50
AI engine device class. It defines AI engine device operations.
Definition xaiefal-base.hpp:259
XAieRscType Type
Definition xaiefal-rsc-base.hpp:399
std::vector< XAieUserRsc > vRscs
Definition xaiefal-rsc-base.hpp:403
XAieRscState State
Definition xaiefal-rsc-base.hpp:398
XAie_DevInst * dev()
Definition xaiefal-rsc-base.hpp:373
uint32_t preferredId
Definition xaiefal-rsc-base.hpp:401
uint32_t reservedId
Definition xaiefal-rsc-base.hpp:402
std::shared_ptr< XAieDevHandle > AieHd
Definition xaiefal-rsc-base.hpp:400
XAieSingleTileRsc()=delete
XAie_LocType Loc
Definition xaiefal-rsc-base.hpp:594
XAie_ModuleType Mod
Definition xaiefal-rsc-base.hpp:595
XAieStreamPortSelect(std::shared_ptr< XAieDevHandle > DevHd, XAie_LocType Loc)
Definition xaiefal-ss.hpp:25
XAieStreamPortSelect()=delete
AieRC getSSRunningEvent(XAie_Events &Event) const
Definition xaiefal-ss.hpp:86
AieRC _stop()
Definition xaiefal-ss.hpp:170
AieRC _reserve()
Definition xaiefal-ss.hpp:130
AieRC setPortToSelect(XAie_StrmPortIntf PIntf, StrmSwPortType PType, uint32_t PNum)
Definition xaiefal-ss.hpp:41
AieRC getSSStalledEvent(XAie_Events &Event) const
Definition xaiefal-ss.hpp:101
AieRC _release()
Definition xaiefal-ss.hpp:151
XAieStreamPortSelect(XAieDev &Dev, XAie_LocType Loc)
Definition xaiefal-ss.hpp:30
AieRC _start()
Definition xaiefal-ss.hpp:158
AieRC getSSTlastEvent(XAie_Events &Event) const
Definition xaiefal-ss.hpp:116
AieRC getSSIdleEvent(XAie_Events &Event) const
Definition xaiefal-ss.hpp:65
Definition xaiefal-base.hpp:23
@ XAIE_SSEVENT
Definition xaiefal-rsc-group.hpp:32
@ FAL_ERROR
Definition xaiefal-log.hpp:14
@ FAL_WARN
Definition xaiefal-log.hpp:13
Data needed to make a resource request.
Definition xaiefal-rsc-base.hpp:27
uint32_t RscId
Definition xaiefal-rsc-base.hpp:41
XAieRscType RscType
Definition xaiefal-rsc-base.hpp:37
XAie_LocType Loc
Definition xaiefal-rsc-base.hpp:29
XAie_ModuleType Mod
Definition xaiefal-rsc-base.hpp:33