Are we planning on removing direct?
I think so, it's redundant and the code almost always checks
direct||passthrough (which would be passthrough_delta > 0 with your scheme).
I'm ok dropping direct and rolling it into target_level, just so long as we add
helpers, e.g. IIUC they would be
static inline bool is_sp_direct(...)
{
return !sp->role.target_level;
}
static inline bool is_sp_direct_or_passthrough(...)
{
return sp->role.target_level != sp->role.level;
}
Hmm, it's not a raw level though.
Hence the plural. :)
LOL, I honestly thought that was a typo. Making it plural sounds like it's passing
through to multiple levels.